changeset 5857:9a5a3741bac9

Merge
author mullan
date Wed, 01 Aug 2012 11:08:11 -0400
parents 21c590fdc8cb (current diff) 38263aa28324 (diff)
children 184da100cf45 b0bfa441d70f
files makefiles/LegacyMakefiles.gmk makefiles/OldImages.gmk makefiles/com/sun/crypto/provider/Makefile makefiles/common/Classes.gmk makefiles/common/Cscope.gmk makefiles/common/Defs-embedded.gmk makefiles/common/Defs-linux.gmk makefiles/common/Defs-macosx.gmk makefiles/common/Defs-solaris.gmk makefiles/common/Defs-windows.gmk makefiles/common/Defs.gmk makefiles/common/Demo.gmk makefiles/common/Library.gmk makefiles/common/Mapfile-vers.gmk makefiles/common/Modules.gmk makefiles/common/Program.gmk makefiles/common/Release-embedded.gmk makefiles/common/Release-macosx.gmk makefiles/common/Release.gmk makefiles/common/Rules.gmk makefiles/common/Subdirs.gmk makefiles/common/internal/Defs-corba.gmk makefiles/common/internal/Defs-jaxp.gmk makefiles/common/internal/Defs-jaxws.gmk makefiles/common/internal/Defs-langtools.gmk makefiles/common/internal/ImportComponents.gmk makefiles/common/internal/NativeCompileRules.gmk makefiles/common/internal/Resources.gmk makefiles/common/shared/Compiler-gcc.gmk makefiles/common/shared/Compiler-llvm.gmk makefiles/common/shared/Compiler-msvc.gmk makefiles/common/shared/Compiler-sun.gmk makefiles/common/shared/Defs-control.gmk makefiles/common/shared/Defs-java.gmk makefiles/common/shared/Defs-javadoc.gmk makefiles/common/shared/Defs-linux.gmk makefiles/common/shared/Defs-macosx.gmk makefiles/common/shared/Defs-solaris.gmk makefiles/common/shared/Defs-versions.gmk makefiles/common/shared/Defs-windows.gmk makefiles/common/shared/Defs.gmk makefiles/common/shared/Platform.gmk makefiles/common/shared/PrivateDefs.gmk-example makefiles/common/shared/Sanity-Settings.gmk makefiles/java/Makefile makefiles/java/invoke/Makefile makefiles/java/redist/Makefile makefiles/java/redist/sajdi/Makefile makefiles/javax/crypto/Defs-jce.gmk makefiles/javax/crypto/Makefile makefiles/javax/crypto/policy/limited/LIMITED makefiles/javax/crypto/policy/limited/default_local.policy makefiles/javax/crypto/policy/limited/exempt_local.policy makefiles/javax/crypto/policy/unlimited/UNLIMITED makefiles/javax/crypto/policy/unlimited/default_US_export.policy makefiles/javax/crypto/policy/unlimited/default_local.policy makefiles/mkdemo/Makefile makefiles/mkdemo/jni/Makefile makefiles/mkdemo/jni/Poller/Makefile makefiles/mkdemo/jvmti/Makefile makefiles/mkdemo/jvmti/README.txt makefiles/mkdemo/jvmti/hprof/Makefile makefiles/mkdemo/jvmti/mapfile-vers makefiles/mkdemo/management/README.txt makefiles/sun/jkernel/Makefile makefiles/sun/security/ec/Makefile makefiles/sun/security/pkcs11/FILES_c.gmk makefiles/sun/security/pkcs11/Makefile makefiles/sun/security/pkcs11/mapfile-vers src/share/classes/sun/nio/cs/SingleByteDecoder.java src/share/classes/sun/nio/cs/SingleByteEncoder.java src/share/classes/sun/nio/cs/ext/DoubleByteDecoder.java src/share/classes/sun/nio/cs/ext/JIS_X_0201.java src/share/classes/sun/nio/cs/ext/JIS_X_0208.java src/share/classes/sun/nio/cs/ext/JIS_X_0208_Decoder.java src/share/classes/sun/nio/cs/ext/JIS_X_0208_Encoder.java src/share/classes/sun/nio/cs/ext/JIS_X_0208_MS5022X_Decoder.java src/share/classes/sun/nio/cs/ext/JIS_X_0208_MS5022X_Encoder.java src/share/classes/sun/nio/cs/ext/JIS_X_0208_MS932_Decoder.java src/share/classes/sun/nio/cs/ext/JIS_X_0208_MS932_Encoder.java src/share/classes/sun/nio/cs/ext/JIS_X_0208_Solaris_Decoder.java src/share/classes/sun/nio/cs/ext/JIS_X_0208_Solaris_Encoder.java src/share/classes/sun/nio/cs/ext/JIS_X_0212.java src/share/classes/sun/nio/cs/ext/JIS_X_0212_Decoder.java src/share/classes/sun/nio/cs/ext/JIS_X_0212_Encoder.java src/share/classes/sun/nio/cs/ext/JIS_X_0212_MS5022X_Decoder.java src/share/classes/sun/nio/cs/ext/JIS_X_0212_MS5022X_Encoder.java src/share/classes/sun/nio/cs/ext/JIS_X_0212_Solaris_Decoder.java src/share/classes/sun/nio/cs/ext/JIS_X_0212_Solaris_Encoder.java src/share/classes/sun/nio/cs/ext/PCK.java src/share/classes/sun/nio/cs/ext/SJIS.java src/share/classes/sun/security/krb5/ServiceName.java test/sun/security/krb5/ServiceNameClone.java test/sun/security/mscapi/ShortRSAKey512.sh test/sun/security/mscapi/ShortRSAKey768.sh
diffstat 533 files changed, 83651 insertions(+), 46782 deletions(-) [+]
line wrap: on
line diff
--- a/.hgtags	Wed Aug 01 11:06:44 2012 -0400
+++ b/.hgtags	Wed Aug 01 11:08:11 2012 -0400
@@ -166,3 +166,8 @@
 cf5c1f6fbc5ba14163fe0ef8eb8601b33f951372 jdk8-b42
 b3246687c3695dff6f461bb407f9db88f7d072e7 jdk8-b43
 db471a7af03168e4441c245b1d9976f720a7cb77 jdk8-b44
+b92353a01aa049bc508fc56f0347d5934b7c4390 jdk8-b45
+8d2ed9d58453c8049715a72a6d26b6b66b37a94c jdk8-b46
+00b22b23269a57d0bb46c57753be2fe9a9d2c1a3 jdk8-b47
+3e4ab821f46166fcf63e8fe5c8046216003c941f jdk8-b48
+51707c3b75c0f521794d9ab425f4e5b2351c70c1 jdk8-b49
--- a/THIRD_PARTY_README	Wed Aug 01 11:06:44 2012 -0400
+++ b/THIRD_PARTY_README	Wed Aug 01 11:08:11 2012 -0400
@@ -3383,3 +3383,397 @@
 
 -------------------------------------------------------------------------------
 
+%% This notice is provided with respect to Mozilla Network Security
+Services (NSS), which is supplied with the JDK test suite in the OpenJDK
+source code repository. It is licensed under Mozilla Public License (MPL),
+version 2.0.
+
+The NSS libraries are supplied in executable form, built from unmodified
+NSS source code labeled with the "NSS_3.13.1_RTM" release tag.
+
+The NSS source code is available in the OpenJDK source code repository at:
+    jdk/test/sun/security/pkcs11/nss/src
+
+The NSS libraries are available in the OpenJDK source code repository at:
+    jdk/test/sun/security/pkcs11/nss/lib
+
+--- begin of LICENSE ---
+
+Mozilla Public License Version 2.0
+==================================
+
+1. Definitions
+--------------
+
+1.1. "Contributor"
+    means each individual or legal entity that creates, contributes to
+    the creation of, or owns Covered Software.
+
+1.2. "Contributor Version"
+    means the combination of the Contributions of others (if any) used
+    by a Contributor and that particular Contributor's Contribution.
+
+1.3. "Contribution"
+    means Covered Software of a particular Contributor.
+
+1.4. "Covered Software"
+    means Source Code Form to which the initial Contributor has attached
+    the notice in Exhibit A, the Executable Form of such Source Code
+    Form, and Modifications of such Source Code Form, in each case
+    including portions thereof.
+
+1.5. "Incompatible With Secondary Licenses"
+    means
+
+    (a) that the initial Contributor has attached the notice described
+        in Exhibit B to the Covered Software; or
+
+    (b) that the Covered Software was made available under the terms of
+        version 1.1 or earlier of the License, but not also under the
+        terms of a Secondary License.
+
+1.6. "Executable Form"
+    means any form of the work other than Source Code Form.
+
+1.7. "Larger Work"
+    means a work that combines Covered Software with other material, in 
+    a separate file or files, that is not Covered Software.
+
+1.8. "License"
+    means this document.
+
+1.9. "Licensable"
+    means having the right to grant, to the maximum extent possible,
+    whether at the time of the initial grant or subsequently, any and
+    all of the rights conveyed by this License.
+
+1.10. "Modifications"
+    means any of the following:
+
+    (a) any file in Source Code Form that results from an addition to,
+        deletion from, or modification of the contents of Covered
+        Software; or
+
+    (b) any new file in Source Code Form that contains any Covered
+        Software.
+
+1.11. "Patent Claims" of a Contributor
+    means any patent claim(s), including without limitation, method,
+    process, and apparatus claims, in any patent Licensable by such
+    Contributor that would be infringed, but for the grant of the
+    License, by the making, using, selling, offering for sale, having
+    made, import, or transfer of either its Contributions or its
+    Contributor Version.
+
+1.12. "Secondary License"
+    means either the GNU General Public License, Version 2.0, the GNU
+    Lesser General Public License, Version 2.1, the GNU Affero General
+    Public License, Version 3.0, or any later versions of those
+    licenses.
+
+1.13. "Source Code Form"
+    means the form of the work preferred for making modifications.
+
+1.14. "You" (or "Your")
+    means an individual or a legal entity exercising rights under this
+    License. For legal entities, "You" includes any entity that
+    controls, is controlled by, or is under common control with You. For
+    purposes of this definition, "control" means (a) the power, direct
+    or indirect, to cause the direction or management of such entity,
+    whether by contract or otherwise, or (b) ownership of more than
+    fifty percent (50%) of the outstanding shares or beneficial
+    ownership of such entity.
+
+2. License Grants and Conditions
+--------------------------------
+
+2.1. Grants
+
+Each Contributor hereby grants You a world-wide, royalty-free,
+non-exclusive license:
+
+(a) under intellectual property rights (other than patent or trademark)
+    Licensable by such Contributor to use, reproduce, make available,
+    modify, display, perform, distribute, and otherwise exploit its
+    Contributions, either on an unmodified basis, with Modifications, or
+    as part of a Larger Work; and
+
+(b) under Patent Claims of such Contributor to make, use, sell, offer
+    for sale, have made, import, and otherwise transfer either its
+    Contributions or its Contributor Version.
+
+2.2. Effective Date
+
+The licenses granted in Section 2.1 with respect to any Contribution
+become effective for each Contribution on the date the Contributor first
+distributes such Contribution.
+
+2.3. Limitations on Grant Scope
+
+The licenses granted in this Section 2 are the only rights granted under
+this License. No additional rights or licenses will be implied from the
+distribution or licensing of Covered Software under this License.
+Notwithstanding Section 2.1(b) above, no patent license is granted by a
+Contributor:
+
+(a) for any code that a Contributor has removed from Covered Software;
+    or
+
+(b) for infringements caused by: (i) Your and any other third party's
+    modifications of Covered Software, or (ii) the combination of its
+    Contributions with other software (except as part of its Contributor
+    Version); or
+
+(c) under Patent Claims infringed by Covered Software in the absence of
+    its Contributions.
+
+This License does not grant any rights in the trademarks, service marks,
+or logos of any Contributor (except as may be necessary to comply with
+the notice requirements in Section 3.4).
+
+2.4. Subsequent Licenses
+
+No Contributor makes additional grants as a result of Your choice to
+distribute the Covered Software under a subsequent version of this
+License (see Section 10.2) or under the terms of a Secondary License (if
+permitted under the terms of Section 3.3).
+
+2.5. Representation
+
+Each Contributor represents that the Contributor believes its
+Contributions are its original creation(s) or it has sufficient rights
+to grant the rights to its Contributions conveyed by this License.
+
+2.6. Fair Use
+
+This License is not intended to limit any rights You have under
+applicable copyright doctrines of fair use, fair dealing, or other
+equivalents.
+
+2.7. Conditions
+
+Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted
+in Section 2.1.
+
+3. Responsibilities
+-------------------
+
+3.1. Distribution of Source Form
+
+All distribution of Covered Software in Source Code Form, including any
+Modifications that You create or to which You contribute, must be under
+the terms of this License. You must inform recipients that the Source
+Code Form of the Covered Software is governed by the terms of this
+License, and how they can obtain a copy of this License. You may not
+attempt to alter or restrict the recipients' rights in the Source Code
+Form.
+
+3.2. Distribution of Executable Form
+
+If You distribute Covered Software in Executable Form then:
+
+(a) such Covered Software must also be made available in Source Code
+    Form, as described in Section 3.1, and You must inform recipients of
+    the Executable Form how they can obtain a copy of such Source Code
+    Form by reasonable means in a timely manner, at a charge no more
+    than the cost of distribution to the recipient; and
+
+(b) You may distribute such Executable Form under the terms of this
+    License, or sublicense it under different terms, provided that the
+    license for the Executable Form does not attempt to limit or alter
+    the recipients' rights in the Source Code Form under this License.
+
+3.3. Distribution of a Larger Work
+
+You may create and distribute a Larger Work under terms of Your choice,
+provided that You also comply with the requirements of this License for
+the Covered Software. If the Larger Work is a combination of Covered
+Software with a work governed by one or more Secondary Licenses, and the
+Covered Software is not Incompatible With Secondary Licenses, this
+License permits You to additionally distribute such Covered Software
+under the terms of such Secondary License(s), so that the recipient of
+the Larger Work may, at their option, further distribute the Covered
+Software under the terms of either this License or such Secondary
+License(s).
+
+3.4. Notices
+
+You may not remove or alter the substance of any license notices
+(including copyright notices, patent notices, disclaimers of warranty,
+or limitations of liability) contained within the Source Code Form of
+the Covered Software, except that You may alter any license notices to
+the extent required to remedy known factual inaccuracies.
+
+3.5. Application of Additional Terms
+
+You may choose to offer, and to charge a fee for, warranty, support,
+indemnity or liability obligations to one or more recipients of Covered
+Software. However, You may do so only on Your own behalf, and not on
+behalf of any Contributor. You must make it absolutely clear that any
+such warranty, support, indemnity, or liability obligation is offered by
+You alone, and You hereby agree to indemnify every Contributor for any
+liability incurred by such Contributor as a result of warranty, support,
+indemnity or liability terms You offer. You may include additional
+disclaimers of warranty and limitations of liability specific to any
+jurisdiction.
+
+4. Inability to Comply Due to Statute or Regulation
+---------------------------------------------------
+
+If it is impossible for You to comply with any of the terms of this
+License with respect to some or all of the Covered Software due to
+statute, judicial order, or regulation then You must: (a) comply with
+the terms of this License to the maximum extent possible; and (b)
+describe the limitations and the code they affect. Such description must
+be placed in a text file included with all distributions of the Covered
+Software under this License. Except to the extent prohibited by statute
+or regulation, such description must be sufficiently detailed for a
+recipient of ordinary skill to be able to understand it.
+
+5. Termination
+--------------
+
+5.1. The rights granted under this License will terminate automatically
+if You fail to comply with any of its terms. However, if You become
+compliant, then the rights granted under this License from a particular
+Contributor are reinstated (a) provisionally, unless and until such
+Contributor explicitly and finally terminates Your grants, and (b) on an
+ongoing basis, if such Contributor fails to notify You of the
+non-compliance by some reasonable means prior to 60 days after You have
+come back into compliance. Moreover, Your grants from a particular
+Contributor are reinstated on an ongoing basis if such Contributor
+notifies You of the non-compliance by some reasonable means, this is the
+first time You have received notice of non-compliance with this License
+from such Contributor, and You become compliant prior to 30 days after
+Your receipt of the notice.
+
+5.2. If You initiate litigation against any entity by asserting a patent
+infringement claim (excluding declaratory judgment actions,
+counter-claims, and cross-claims) alleging that a Contributor Version
+directly or indirectly infringes any patent, then the rights granted to
+You by any and all Contributors for the Covered Software under Section
+2.1 of this License shall terminate.
+
+5.3. In the event of termination under Sections 5.1 or 5.2 above, all
+end user license agreements (excluding distributors and resellers) which
+have been validly granted by You or Your distributors under this License
+prior to termination shall survive termination.
+
+************************************************************************
+*                                                                      *
+*  6. Disclaimer of Warranty                                           *
+*  -------------------------                                           *
+*                                                                      *
+*  Covered Software is provided under this License on an "as is"       *
+*  basis, without warranty of any kind, either expressed, implied, or  *
+*  statutory, including, without limitation, warranties that the       *
+*  Covered Software is free of defects, merchantable, fit for a        *
+*  particular purpose or non-infringing. The entire risk as to the     *
+*  quality and performance of the Covered Software is with You.        *
+*  Should any Covered Software prove defective in any respect, You     *
+*  (not any Contributor) assume the cost of any necessary servicing,   *
+*  repair, or correction. This disclaimer of warranty constitutes an   *
+*  essential part of this License. No use of any Covered Software is   *
+*  authorized under this License except under this disclaimer.         *
+*                                                                      *
+************************************************************************
+
+************************************************************************
+*                                                                      *
+*  7. Limitation of Liability                                          *
+*  --------------------------                                          *
+*                                                                      *
+*  Under no circumstances and under no legal theory, whether tort      *
+*  (including negligence), contract, or otherwise, shall any           *
+*  Contributor, or anyone who distributes Covered Software as          *
+*  permitted above, be liable to You for any direct, indirect,         *
+*  special, incidental, or consequential damages of any character      *
+*  including, without limitation, damages for lost profits, loss of    *
+*  goodwill, work stoppage, computer failure or malfunction, or any    *
+*  and all other commercial damages or losses, even if such party      *
+*  shall have been informed of the possibility of such damages. This   *
+*  limitation of liability shall not apply to liability for death or   *
+*  personal injury resulting from such party's negligence to the       *
+*  extent applicable law prohibits such limitation. Some               *
+*  jurisdictions do not allow the exclusion or limitation of           *
+*  incidental or consequential damages, so this exclusion and          *
+*  limitation may not apply to You.                                    *
+*                                                                      *
+************************************************************************
+
+8. Litigation
+-------------
+
+Any litigation relating to this License may be brought only in the
+courts of a jurisdiction where the defendant maintains its principal
+place of business and such litigation shall be governed by laws of that
+jurisdiction, without reference to its conflict-of-law provisions.
+Nothing in this Section shall prevent a party's ability to bring
+cross-claims or counter-claims.
+
+9. Miscellaneous
+----------------
+
+This License represents the complete agreement concerning the subject
+matter hereof. If any provision of this License is held to be
+unenforceable, such provision shall be reformed only to the extent
+necessary to make it enforceable. Any law or regulation which provides
+that the language of a contract shall be construed against the drafter
+shall not be used to construe this License against a Contributor.
+
+10. Versions of the License
+---------------------------
+
+10.1. New Versions
+
+Mozilla Foundation is the license steward. Except as provided in Section
+10.3, no one other than the license steward has the right to modify or
+publish new versions of this License. Each version will be given a
+distinguishing version number.
+
+10.2. Effect of New Versions
+
+You may distribute the Covered Software under the terms of the version
+of the License under which You originally received the Covered Software,
+or under the terms of any subsequent version published by the license
+steward.
+
+10.3. Modified Versions
+
+If you create software not governed by this License, and you want to
+create a new license for such software, you may create and use a
+modified version of this License if you rename the license and remove
+any references to the name of the license steward (except to note that
+such modified license differs from this License).
+
+10.4. Distributing Source Code Form that is Incompatible With Secondary
+Licenses
+
+If You choose to distribute Source Code Form that is Incompatible With
+Secondary Licenses under the terms of this version of the License, the
+notice described in Exhibit B of this License must be attached.
+
+Exhibit A - Source Code Form License Notice
+-------------------------------------------
+
+  This Source Code Form is subject to the terms of the Mozilla Public
+  License, v. 2.0. If a copy of the MPL was not distributed with this
+  file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+If it is not possible or desirable to put the notice in a particular
+file, then You may include the notice in a location (such as a LICENSE
+file in a relevant directory) where a recipient would be likely to look
+for such a notice.
+
+You may add additional accurate notices of copyright ownership.
+
+Exhibit B - "Incompatible With Secondary Licenses" Notice
+---------------------------------------------------------
+
+  This Source Code Form is "Incompatible With Secondary Licenses", as
+  defined by the Mozilla Public License, v. 2.0.
+
+--- end of LICENSE ---
+
+-------------------------------------------------------------------------------
+
--- a/make/java/nio/FILES_java.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ b/make/java/nio/FILES_java.gmk	Wed Aug 01 11:08:11 2012 -0400
@@ -221,8 +221,6 @@
 	sun/nio/cs/HistoricallyNamedCharset.java \
 	sun/nio/cs/ISO_8859_1.java \
 	sun/nio/cs/SingleByte.java \
-	sun/nio/cs/SingleByteDecoder.java \
-	sun/nio/cs/SingleByteEncoder.java \
 	sun/nio/cs/StreamEncoder.java \
 	sun/nio/cs/StreamDecoder.java \
 	sun/nio/cs/Surrogate.java \
--- a/make/java/nio/Makefile	Wed Aug 01 11:06:44 2012 -0400
+++ b/make/java/nio/Makefile	Wed Aug 01 11:08:11 2012 -0400
@@ -282,6 +282,9 @@
 	sun/nio/fs/BsdFileSystem.java \
 	sun/nio/fs/BsdFileSystemProvider.java \
 	sun/nio/fs/BsdNativeDispatcher.java \
+	sun/nio/fs/MacOSXFileSystemProvider.java \
+	sun/nio/fs/MacOSXFileSystem.java \
+	sun/nio/fs/MacOSXNativeDispatcher.java \
 	sun/nio/fs/PollingWatchService.java \
 	sun/nio/fs/UnixChannelFactory.java \
 	sun/nio/fs/UnixCopyFile.java \
@@ -311,6 +314,7 @@
 	\
 	GnomeFileTypeDetector.c \
 	BsdNativeDispatcher.c \
+	MacOSXNativeDispatcher.c \
 	UnixCopyFile.c \
 	UnixNativeDispatcher.c \
 	\
@@ -385,7 +389,7 @@
 OTHER_LDLIBS += -L$(LIBDIR)/$(LIBARCH) -ljava -lnet -lpthread $(LIBDL)
 endif
 ifeq ($(PLATFORM), macosx)
-OTHER_LDLIBS += -L$(LIBDIR) -ljava -lnet -pthread
+OTHER_LDLIBS += -L$(LIBDIR) -ljava -lnet -pthread -framework CoreFoundation
 endif
 ifeq ($(PLATFORM), solaris)
 OTHER_LDLIBS += $(JVMLIB) $(LIBSOCKET) -lposix4 $(LIBDL) -lsendfile \
--- a/make/java/sun_nio/FILES_java.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ b/make/java/sun_nio/FILES_java.gmk	Wed Aug 01 11:08:11 2012 -0400
@@ -34,8 +34,6 @@
     sun/nio/cs/HistoricallyNamedCharset.java \
     sun/nio/cs/Surrogate.java \
     sun/nio/cs/CharsetMapping.java \
-    sun/nio/cs/SingleByteEncoder.java \
-    sun/nio/cs/SingleByteDecoder.java \
     sun/nio/cs/UnicodeEncoder.java \
     sun/nio/cs/UnicodeDecoder.java \
     sun/nio/cs/ISO_8859_1.java \
--- a/make/sun/nio/cs/FILES_java.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ b/make/sun/nio/cs/FILES_java.gmk	Wed Aug 01 11:08:11 2012 -0400
@@ -127,7 +127,17 @@
 	sun/nio/cs/ext/MS949.java \
 	sun/nio/cs/ext/MS950.java \
 	sun/nio/cs/ext/GBK.java   \
-	sun/nio/cs/ext/Big5.java
+	sun/nio/cs/ext/Big5.java  \
+	sun/nio/cs/ext/SJIS.java  \
+	sun/nio/cs/ext/PCK.java  \
+	sun/nio/cs/ext/JIS_X_0201.java \
+	sun/nio/cs/ext/JIS_X_0208.java \
+	sun/nio/cs/ext/JIS_X_0208_MS5022X.java \
+	sun/nio/cs/ext/JIS_X_0208_MS932.java \
+	sun/nio/cs/ext/JIS_X_0208_Solaris.java \
+	sun/nio/cs/ext/JIS_X_0212.java \
+	sun/nio/cs/ext/JIS_X_0212_MS5022X.java \
+	sun/nio/cs/ext/JIS_X_0212_Solaris.java
 
 FILES_java = $(FILES_src) $(FILES_gen_extcs)
 
--- a/make/sun/security/Makefile	Wed Aug 01 11:06:44 2012 -0400
+++ b/make/sun/security/Makefile	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 1996, 2011, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1996, 2012, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -44,15 +44,8 @@
     JGSS_WRAPPER = jgss/wrapper
 endif
 
-# Build PKCS#11 on all platforms except 64-bit Windows.
-# We exclude windows-amd64 because we don't have any
-# 64-bit PKCS#11 implementations to test with on that platform.
+# Build PKCS#11 on all platforms
 PKCS11 = pkcs11
-ifeq ($(ARCH_DATA_MODEL), 64)
-  ifeq ($(PLATFORM), windows)
-    PKCS11 =
-  endif
-endif
 
 # Build Microsoft CryptoAPI provider only on Windows platform.
 MSCAPI =
--- a/make/tools/CharsetMapping/DoubleByte-X.java.template	Wed Aug 01 11:06:44 2012 -0400
+++ b/make/tools/CharsetMapping/DoubleByte-X.java.template	Wed Aug 01 11:08:11 2012 -0400
@@ -54,7 +54,7 @@
 
     public CharsetEncoder newEncoder() {
         initc2b();
-        return new DoubleByte.Encoder$ENCTYPE$(this, c2b, c2bIndex);
+        return new DoubleByte.Encoder$ENCTYPE$(this, $ENC_REPLACEMENT$ c2b, c2bIndex); 
     }
 
     $B2C$
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/tools/CharsetMapping/JIS_X_0201.c2b	Wed Aug 01 11:08:11 2012 -0400
@@ -0,0 +1,2 @@
+0x7e     0x203e
+0x5c     0x00a5
--- a/make/tools/CharsetMapping/JIS_X_0201.map	Wed Aug 01 11:06:44 2012 -0400
+++ b/make/tools/CharsetMapping/JIS_X_0201.map	Wed Aug 01 11:08:11 2012 -0400
@@ -1,257 +1,192 @@
-#Generated from JIS_X_0201.java
-0x00	U+0000
-0x01	U+0001
-0x02	U+0002
-0x03	U+0003
-0x04	U+0004
-0x05	U+0005
-0x06	U+0006
-0x07	U+0007
-0x08	U+0008
-0x09	U+0009
-0x0a	U+000a
-0x0b	U+000b
-0x0c	U+000c
-0x0d	U+000d
-0x0e	U+000e
-0x0f	U+000f
-0x10	U+0010
-0x11	U+0011
-0x12	U+0012
-0x13	U+0013
-0x14	U+0014
-0x15	U+0015
-0x16	U+0016
-0x17	U+0017
-0x18	U+0018
-0x19	U+0019
-0x1a	U+001a
-0x1b	U+001b
-0x1c	U+001c
-0x1d	U+001d
-0x1e	U+001e
-0x1f	U+001f
-0x20	U+0020
-0x21	U+0021
-0x22	U+0022
-0x23	U+0023
-0x24	U+0024
-0x25	U+0025
-0x26	U+0026
-0x27	U+0027
-0x28	U+0028
-0x29	U+0029
-0x2a	U+002a
-0x2b	U+002b
-0x2c	U+002c
-0x2d	U+002d
-0x2e	U+002e
-0x2f	U+002f
-0x30	U+0030
-0x31	U+0031
-0x32	U+0032
-0x33	U+0033
-0x34	U+0034
-0x35	U+0035
-0x36	U+0036
-0x37	U+0037
-0x38	U+0038
-0x39	U+0039
-0x3a	U+003a
-0x3b	U+003b
-0x3c	U+003c
-0x3d	U+003d
-0x3e	U+003e
-0x3f	U+003f
-0x40	U+0040
-0x41	U+0041
-0x42	U+0042
-0x43	U+0043
-0x44	U+0044
-0x45	U+0045
-0x46	U+0046
-0x47	U+0047
-0x48	U+0048
-0x49	U+0049
-0x4a	U+004a
-0x4b	U+004b
-0x4c	U+004c
-0x4d	U+004d
-0x4e	U+004e
-0x4f	U+004f
-0x50	U+0050
-0x51	U+0051
-0x52	U+0052
-0x53	U+0053
-0x54	U+0054
-0x55	U+0055
-0x56	U+0056
-0x57	U+0057
-0x58	U+0058
-0x59	U+0059
-0x5a	U+005a
-0x5b	U+005b
-0x5c	U+005c
-0x5d	U+005d
-0x5e	U+005e
-0x5f	U+005f
-0x60	U+0060
-0x61	U+0061
-0x62	U+0062
-0x63	U+0063
-0x64	U+0064
-0x65	U+0065
-0x66	U+0066
-0x67	U+0067
-0x68	U+0068
-0x69	U+0069
-0x6a	U+006a
-0x6b	U+006b
-0x6c	U+006c
-0x6d	U+006d
-0x6e	U+006e
-0x6f	U+006f
-0x70	U+0070
-0x71	U+0071
-0x72	U+0072
-0x73	U+0073
-0x74	U+0074
-0x75	U+0075
-0x76	U+0076
-0x77	U+0077
-0x78	U+0078
-0x79	U+0079
-0x7a	U+007a
-0x7b	U+007b
-0x7c	U+007c
-0x7d	U+007d
-0x7e	U+007e
-0x7f	U+007f
-0x80	U+fffd
-0x81	U+fffd
-0x82	U+fffd
-0x83	U+fffd
-0x84	U+fffd
-0x85	U+fffd
-0x86	U+fffd
-0x87	U+fffd
-0x88	U+fffd
-0x89	U+fffd
-0x8a	U+fffd
-0x8b	U+fffd
-0x8c	U+fffd
-0x8d	U+fffd
-0x8e	U+fffd
-0x8f	U+fffd
-0x90	U+fffd
-0x91	U+fffd
-0x92	U+fffd
-0x93	U+fffd
-0x94	U+fffd
-0x95	U+fffd
-0x96	U+fffd
-0x97	U+fffd
-0x98	U+fffd
-0x99	U+fffd
-0x9a	U+fffd
-0x9b	U+fffd
-0x9c	U+fffd
-0x9d	U+fffd
-0x9e	U+fffd
-0x9f	U+fffd
-0xa0	U+fffd
-0xa1	U+ff61
-0xa2	U+ff62
-0xa3	U+ff63
-0xa4	U+ff64
-0xa5	U+ff65
-0xa6	U+ff66
-0xa7	U+ff67
-0xa8	U+ff68
-0xa9	U+ff69
-0xaa	U+ff6a
-0xab	U+ff6b
-0xac	U+ff6c
-0xad	U+ff6d
-0xae	U+ff6e
-0xaf	U+ff6f
-0xb0	U+ff70
-0xb1	U+ff71
-0xb2	U+ff72
-0xb3	U+ff73
-0xb4	U+ff74
-0xb5	U+ff75
-0xb6	U+ff76
-0xb7	U+ff77
-0xb8	U+ff78
-0xb9	U+ff79
-0xba	U+ff7a
-0xbb	U+ff7b
-0xbc	U+ff7c
-0xbd	U+ff7d
-0xbe	U+ff7e
-0xbf	U+ff7f
-0xc0	U+ff80
-0xc1	U+ff81
-0xc2	U+ff82
-0xc3	U+ff83
-0xc4	U+ff84
-0xc5	U+ff85
-0xc6	U+ff86
-0xc7	U+ff87
-0xc8	U+ff88
-0xc9	U+ff89
-0xca	U+ff8a
-0xcb	U+ff8b
-0xcc	U+ff8c
-0xcd	U+ff8d
-0xce	U+ff8e
-0xcf	U+ff8f
-0xd0	U+ff90
-0xd1	U+ff91
-0xd2	U+ff92
-0xd3	U+ff93
-0xd4	U+ff94
-0xd5	U+ff95
-0xd6	U+ff96
-0xd7	U+ff97
-0xd8	U+ff98
-0xd9	U+ff99
-0xda	U+ff9a
-0xdb	U+ff9b
-0xdc	U+ff9c
-0xdd	U+ff9d
-0xde	U+ff9e
-0xdf	U+ff9f
-0xe0	U+fffd
-0xe1	U+fffd
-0xe2	U+fffd
-0xe3	U+fffd
-0xe4	U+fffd
-0xe5	U+fffd
-0xe6	U+fffd
-0xe7	U+fffd
-0xe8	U+fffd
-0xe9	U+fffd
-0xea	U+fffd
-0xeb	U+fffd
-0xec	U+fffd
-0xed	U+fffd
-0xee	U+fffd
-0xef	U+fffd
-0xf0	U+fffd
-0xf1	U+fffd
-0xf2	U+fffd
-0xf3	U+fffd
-0xf4	U+fffd
-0xf5	U+fffd
-0xf6	U+fffd
-0xf7	U+fffd
-0xf8	U+fffd
-0xf9	U+fffd
-0xfa	U+fffd
-0xfb	U+fffd
-0xfc	U+fffd
-0xfd	U+fffd
-0xfe	U+fffd
-0xff	U+fffd
+#  copy/pasted from JIS_X_0201.b2c + code points 0-0x1f and 0x7f
+0x00    0x0000
+0x01    0x0001
+0x02    0x0002
+0x03    0x0003
+0x04    0x0004
+0x05    0x0005
+0x06    0x0006
+0x07    0x0007
+0x08    0x0008
+0x09    0x0009
+0x0A    0x000A
+0x0B    0x000B
+0x0C    0x000C
+0x0D    0x000D
+0x0E    0x000E
+0x0F    0x000F
+0x10    0x0010
+0x11    0x0011
+0x12    0x0012
+0x13    0x0013
+0x14    0x0014
+0x15    0x0015
+0x16    0x0016
+0x17    0x0017
+0x18    0x0018
+0x19    0x0019
+0x1A    0x001A
+0x1B    0x001B
+0x1C    0x001C
+0x1D    0x001D
+0x1E    0x001E
+0x1F    0x001F
+0x20	0x0020	# SPACE
+0x21	0x0021	# EXCLAMATION MARK
+0x22	0x0022	# QUOTATION MARK
+0x23	0x0023	# NUMBER SIGN
+0x24	0x0024	# DOLLAR SIGN
+0x25	0x0025	# PERCENT SIGN
+0x26	0x0026	# AMPERSAND
+0x27	0x0027	# APOSTROPHE
+0x28	0x0028	# LEFT PARENTHESIS
+0x29	0x0029	# RIGHT PARENTHESIS
+0x2A	0x002A	# ASTERISK
+0x2B	0x002B	# PLUS SIGN
+0x2C	0x002C	# COMMA
+0x2D	0x002D	# HYPHEN-MINUS
+0x2E	0x002E	# FULL STOP
+0x2F	0x002F	# SOLIDUS
+0x30	0x0030	# DIGIT ZERO
+0x31	0x0031	# DIGIT ONE
+0x32	0x0032	# DIGIT TWO
+0x33	0x0033	# DIGIT THREE
+0x34	0x0034	# DIGIT FOUR
+0x35	0x0035	# DIGIT FIVE
+0x36	0x0036	# DIGIT SIX
+0x37	0x0037	# DIGIT SEVEN
+0x38	0x0038	# DIGIT EIGHT
+0x39	0x0039	# DIGIT NINE
+0x3A	0x003A	# COLON
+0x3B	0x003B	# SEMICOLON
+0x3C	0x003C	# LESS-THAN SIGN
+0x3D	0x003D	# EQUALS SIGN
+0x3E	0x003E	# GREATER-THAN SIGN
+0x3F	0x003F	# QUESTION MARK
+0x40	0x0040	# COMMERCIAL AT
+0x41	0x0041	# LATIN CAPITAL LETTER A
+0x42	0x0042	# LATIN CAPITAL LETTER B
+0x43	0x0043	# LATIN CAPITAL LETTER C
+0x44	0x0044	# LATIN CAPITAL LETTER D
+0x45	0x0045	# LATIN CAPITAL LETTER E
+0x46	0x0046	# LATIN CAPITAL LETTER F
+0x47	0x0047	# LATIN CAPITAL LETTER G
+0x48	0x0048	# LATIN CAPITAL LETTER H
+0x49	0x0049	# LATIN CAPITAL LETTER I
+0x4A	0x004A	# LATIN CAPITAL LETTER J
+0x4B	0x004B	# LATIN CAPITAL LETTER K
+0x4C	0x004C	# LATIN CAPITAL LETTER L
+0x4D	0x004D	# LATIN CAPITAL LETTER M
+0x4E	0x004E	# LATIN CAPITAL LETTER N
+0x4F	0x004F	# LATIN CAPITAL LETTER O
+0x50	0x0050	# LATIN CAPITAL LETTER P
+0x51	0x0051	# LATIN CAPITAL LETTER Q
+0x52	0x0052	# LATIN CAPITAL LETTER R
+0x53	0x0053	# LATIN CAPITAL LETTER S
+0x54	0x0054	# LATIN CAPITAL LETTER T
+0x55	0x0055	# LATIN CAPITAL LETTER U
+0x56	0x0056	# LATIN CAPITAL LETTER V
+0x57	0x0057	# LATIN CAPITAL LETTER W
+0x58	0x0058	# LATIN CAPITAL LETTER X
+0x59	0x0059	# LATIN CAPITAL LETTER Y
+0x5A	0x005A	# LATIN CAPITAL LETTER Z
+0x5B	0x005B	# LEFT SQUARE BRACKET
+0x5C	0x005C	# YEN SIGN
+0x5D	0x005D	# RIGHT SQUARE BRACKET
+0x5E	0x005E	# CIRCUMFLEX ACCENT
+0x5F	0x005F	# LOW LINE
+0x60	0x0060	# GRAVE ACCENT
+0x61	0x0061	# LATIN SMALL LETTER A
+0x62	0x0062	# LATIN SMALL LETTER B
+0x63	0x0063	# LATIN SMALL LETTER C
+0x64	0x0064	# LATIN SMALL LETTER D
+0x65	0x0065	# LATIN SMALL LETTER E
+0x66	0x0066	# LATIN SMALL LETTER F
+0x67	0x0067	# LATIN SMALL LETTER G
+0x68	0x0068	# LATIN SMALL LETTER H
+0x69	0x0069	# LATIN SMALL LETTER I
+0x6A	0x006A	# LATIN SMALL LETTER J
+0x6B	0x006B	# LATIN SMALL LETTER K
+0x6C	0x006C	# LATIN SMALL LETTER L
+0x6D	0x006D	# LATIN SMALL LETTER M
+0x6E	0x006E	# LATIN SMALL LETTER N
+0x6F	0x006F	# LATIN SMALL LETTER O
+0x70	0x0070	# LATIN SMALL LETTER P
+0x71	0x0071	# LATIN SMALL LETTER Q
+0x72	0x0072	# LATIN SMALL LETTER R
+0x73	0x0073	# LATIN SMALL LETTER S
+0x74	0x0074	# LATIN SMALL LETTER T
+0x75	0x0075	# LATIN SMALL LETTER U
+0x76	0x0076	# LATIN SMALL LETTER V
+0x77	0x0077	# LATIN SMALL LETTER W
+0x78	0x0078	# LATIN SMALL LETTER X
+0x79	0x0079	# LATIN SMALL LETTER Y
+0x7A	0x007A	# LATIN SMALL LETTER Z
+0x7B	0x007B	# LEFT CURLY BRACKET
+0x7C	0x007C	# VERTICAL LINE
+0x7D	0x007D	# RIGHT CURLY BRACKET
+0x7E	0x007E	# OVERLINE
+0x7F	0x007F
+0xA1	0xFF61	# HALFWIDTH IDEOGRAPHIC FULL STOP
+0xA2	0xFF62	# HALFWIDTH LEFT CORNER BRACKET
+0xA3	0xFF63	# HALFWIDTH RIGHT CORNER BRACKET
+0xA4	0xFF64	# HALFWIDTH IDEOGRAPHIC COMMA
+0xA5	0xFF65	# HALFWIDTH KATAKANA MIDDLE DOT
+0xA6	0xFF66	# HALFWIDTH KATAKANA LETTER WO
+0xA7	0xFF67	# HALFWIDTH KATAKANA LETTER SMALL A
+0xA8	0xFF68	# HALFWIDTH KATAKANA LETTER SMALL I
+0xA9	0xFF69	# HALFWIDTH KATAKANA LETTER SMALL U
+0xAA	0xFF6A	# HALFWIDTH KATAKANA LETTER SMALL E
+0xAB	0xFF6B	# HALFWIDTH KATAKANA LETTER SMALL O
+0xAC	0xFF6C	# HALFWIDTH KATAKANA LETTER SMALL YA
+0xAD	0xFF6D	# HALFWIDTH KATAKANA LETTER SMALL YU
+0xAE	0xFF6E	# HALFWIDTH KATAKANA LETTER SMALL YO
+0xAF	0xFF6F	# HALFWIDTH KATAKANA LETTER SMALL TU
+0xB0	0xFF70	# HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK
+0xB1	0xFF71	# HALFWIDTH KATAKANA LETTER A
+0xB2	0xFF72	# HALFWIDTH KATAKANA LETTER I
+0xB3	0xFF73	# HALFWIDTH KATAKANA LETTER U
+0xB4	0xFF74	# HALFWIDTH KATAKANA LETTER E
+0xB5	0xFF75	# HALFWIDTH KATAKANA LETTER O
+0xB6	0xFF76	# HALFWIDTH KATAKANA LETTER KA
+0xB7	0xFF77	# HALFWIDTH KATAKANA LETTER KI
+0xB8	0xFF78	# HALFWIDTH KATAKANA LETTER KU
+0xB9	0xFF79	# HALFWIDTH KATAKANA LETTER KE
+0xBA	0xFF7A	# HALFWIDTH KATAKANA LETTER KO
+0xBB	0xFF7B	# HALFWIDTH KATAKANA LETTER SA
+0xBC	0xFF7C	# HALFWIDTH KATAKANA LETTER SI
+0xBD	0xFF7D	# HALFWIDTH KATAKANA LETTER SU
+0xBE	0xFF7E	# HALFWIDTH KATAKANA LETTER SE
+0xBF	0xFF7F	# HALFWIDTH KATAKANA LETTER SO
+0xC0	0xFF80	# HALFWIDTH KATAKANA LETTER TA
+0xC1	0xFF81	# HALFWIDTH KATAKANA LETTER TI
+0xC2	0xFF82	# HALFWIDTH KATAKANA LETTER TU
+0xC3	0xFF83	# HALFWIDTH KATAKANA LETTER TE
+0xC4	0xFF84	# HALFWIDTH KATAKANA LETTER TO
+0xC5	0xFF85	# HALFWIDTH KATAKANA LETTER NA
+0xC6	0xFF86	# HALFWIDTH KATAKANA LETTER NI
+0xC7	0xFF87	# HALFWIDTH KATAKANA LETTER NU
+0xC8	0xFF88	# HALFWIDTH KATAKANA LETTER NE
+0xC9	0xFF89	# HALFWIDTH KATAKANA LETTER NO
+0xCA	0xFF8A	# HALFWIDTH KATAKANA LETTER HA
+0xCB	0xFF8B	# HALFWIDTH KATAKANA LETTER HI
+0xCC	0xFF8C	# HALFWIDTH KATAKANA LETTER HU
+0xCD	0xFF8D	# HALFWIDTH KATAKANA LETTER HE
+0xCE	0xFF8E	# HALFWIDTH KATAKANA LETTER HO
+0xCF	0xFF8F	# HALFWIDTH KATAKANA LETTER MA
+0xD0	0xFF90	# HALFWIDTH KATAKANA LETTER MI
+0xD1	0xFF91	# HALFWIDTH KATAKANA LETTER MU
+0xD2	0xFF92	# HALFWIDTH KATAKANA LETTER ME
+0xD3	0xFF93	# HALFWIDTH KATAKANA LETTER MO
+0xD4	0xFF94	# HALFWIDTH KATAKANA LETTER YA
+0xD5	0xFF95	# HALFWIDTH KATAKANA LETTER YU
+0xD6	0xFF96	# HALFWIDTH KATAKANA LETTER YO
+0xD7	0xFF97	# HALFWIDTH KATAKANA LETTER RA
+0xD8	0xFF98	# HALFWIDTH KATAKANA LETTER RI
+0xD9	0xFF99	# HALFWIDTH KATAKANA LETTER RU
+0xDA	0xFF9A	# HALFWIDTH KATAKANA LETTER RE
+0xDB	0xFF9B	# HALFWIDTH KATAKANA LETTER RO
+0xDC	0xFF9C	# HALFWIDTH KATAKANA LETTER WA
+0xDD	0xFF9D	# HALFWIDTH KATAKANA LETTER N
+0xDE	0xFF9E	# HALFWIDTH KATAKANA VOICED SOUND MARK
+0xDF	0xFF9F	# HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/tools/CharsetMapping/JIS_X_0208.map	Wed Aug 01 11:08:11 2012 -0400
@@ -0,0 +1,6879 @@
+0x2121    0x3000
+0x2122    0x3001
+0x2123    0x3002
+0x2124    0xff0c
+0x2125    0xff0e
+0x2126    0x30fb
+0x2127    0xff1a
+0x2128    0xff1b
+0x2129    0xff1f
+0x212a    0xff01
+0x212b    0x309b
+0x212c    0x309c
+0x212d    0x00b4
+0x212e    0xff40
+0x212f    0x00a8
+0x2130    0xff3e
+0x2131    0xffe3
+0x2132    0xff3f
+0x2133    0x30fd
+0x2134    0x30fe
+0x2135    0x309d
+0x2136    0x309e
+0x2137    0x3003
+0x2138    0x4edd
+0x2139    0x3005
+0x213a    0x3006
+0x213b    0x3007
+0x213c    0x30fc
+0x213d    0x2014
+0x213e    0x2010
+0x213f    0xff0f
+0x2140    0xff3c
+0x2141    0x301c
+0x2142    0x2016
+0x2143    0xff5c
+0x2144    0x2026
+0x2145    0x2025
+0x2146    0x2018
+0x2147    0x2019
+0x2148    0x201c
+0x2149    0x201d
+0x214a    0xff08
+0x214b    0xff09
+0x214c    0x3014
+0x214d    0x3015
+0x214e    0xff3b
+0x214f    0xff3d
+0x2150    0xff5b
+0x2151    0xff5d
+0x2152    0x3008
+0x2153    0x3009
+0x2154    0x300a
+0x2155    0x300b
+0x2156    0x300c
+0x2157    0x300d
+0x2158    0x300e
+0x2159    0x300f
+0x215a    0x3010
+0x215b    0x3011
+0x215c    0xff0b
+0x215d    0x2212
+0x215e    0x00b1
+0x215f    0x00d7
+0x2160    0x00f7
+0x2161    0xff1d
+0x2162    0x2260
+0x2163    0xff1c
+0x2164    0xff1e
+0x2165    0x2266
+0x2166    0x2267
+0x2167    0x221e
+0x2168    0x2234
+0x2169    0x2642
+0x216a    0x2640
+0x216b    0x00b0
+0x216c    0x2032
+0x216d    0x2033
+0x216e    0x2103
+0x216f    0xffe5
+0x2170    0xff04
+0x2171    0x00a2
+0x2172    0x00a3
+0x2173    0xff05
+0x2174    0xff03
+0x2175    0xff06
+0x2176    0xff0a
+0x2177    0xff20
+0x2178    0x00a7
+0x2179    0x2606
+0x217a    0x2605
+0x217b    0x25cb
+0x217c    0x25cf
+0x217d    0x25ce
+0x217e    0x25c7
+0x2221    0x25c6
+0x2222    0x25a1
+0x2223    0x25a0
+0x2224    0x25b3
+0x2225    0x25b2
+0x2226    0x25bd
+0x2227    0x25bc
+0x2228    0x203b
+0x2229    0x3012
+0x222a    0x2192
+0x222b    0x2190
+0x222c    0x2191
+0x222d    0x2193
+0x222e    0x3013
+0x223a    0x2208
+0x223b    0x220b
+0x223c    0x2286
+0x223d    0x2287
+0x223e    0x2282
+0x223f    0x2283
+0x2240    0x222a
+0x2241    0x2229
+0x224a    0x2227
+0x224b    0x2228
+0x224c    0x00ac
+0x224d    0x21d2
+0x224e    0x21d4
+0x224f    0x2200
+0x2250    0x2203
+0x225c    0x2220
+0x225d    0x22a5
+0x225e    0x2312
+0x225f    0x2202
+0x2260    0x2207
+0x2261    0x2261
+0x2262    0x2252
+0x2263    0x226a
+0x2264    0x226b
+0x2265    0x221a
+0x2266    0x223d
+0x2267    0x221d
+0x2268    0x2235
+0x2269    0x222b
+0x226a    0x222c
+0x2272    0x212b
+0x2273    0x2030
+0x2274    0x266f
+0x2275    0x266d
+0x2276    0x266a
+0x2277    0x2020
+0x2278    0x2021
+0x2279    0x00b6
+0x227e    0x25ef
+0x2330    0xff10
+0x2331    0xff11
+0x2332    0xff12
+0x2333    0xff13
+0x2334    0xff14
+0x2335    0xff15
+0x2336    0xff16
+0x2337    0xff17
+0x2338    0xff18
+0x2339    0xff19
+0x2341    0xff21
+0x2342    0xff22
+0x2343    0xff23
+0x2344    0xff24
+0x2345    0xff25
+0x2346    0xff26
+0x2347    0xff27
+0x2348    0xff28
+0x2349    0xff29
+0x234a    0xff2a
+0x234b    0xff2b
+0x234c    0xff2c
+0x234d    0xff2d
+0x234e    0xff2e
+0x234f    0xff2f
+0x2350    0xff30
+0x2351    0xff31
+0x2352    0xff32
+0x2353    0xff33
+0x2354    0xff34
+0x2355    0xff35
+0x2356    0xff36
+0x2357    0xff37
+0x2358    0xff38
+0x2359    0xff39
+0x235a    0xff3a
+0x2361    0xff41
+0x2362    0xff42
+0x2363    0xff43
+0x2364    0xff44
+0x2365    0xff45
+0x2366    0xff46
+0x2367    0xff47
+0x2368    0xff48
+0x2369    0xff49
+0x236a    0xff4a
+0x236b    0xff4b
+0x236c    0xff4c
+0x236d    0xff4d
+0x236e    0xff4e
+0x236f    0xff4f
+0x2370    0xff50
+0x2371    0xff51
+0x2372    0xff52
+0x2373    0xff53
+0x2374    0xff54
+0x2375    0xff55
+0x2376    0xff56
+0x2377    0xff57
+0x2378    0xff58
+0x2379    0xff59
+0x237a    0xff5a
+0x2421    0x3041
+0x2422    0x3042
+0x2423    0x3043
+0x2424    0x3044
+0x2425    0x3045
+0x2426    0x3046
+0x2427    0x3047
+0x2428    0x3048
+0x2429    0x3049
+0x242a    0x304a
+0x242b    0x304b
+0x242c    0x304c
+0x242d    0x304d
+0x242e    0x304e
+0x242f    0x304f
+0x2430    0x3050
+0x2431    0x3051
+0x2432    0x3052
+0x2433    0x3053
+0x2434    0x3054
+0x2435    0x3055
+0x2436    0x3056
+0x2437    0x3057
+0x2438    0x3058
+0x2439    0x3059
+0x243a    0x305a
+0x243b    0x305b
+0x243c    0x305c
+0x243d    0x305d
+0x243e    0x305e
+0x243f    0x305f
+0x2440    0x3060
+0x2441    0x3061
+0x2442    0x3062
+0x2443    0x3063
+0x2444    0x3064
+0x2445    0x3065
+0x2446    0x3066
+0x2447    0x3067
+0x2448    0x3068
+0x2449    0x3069
+0x244a    0x306a
+0x244b    0x306b
+0x244c    0x306c
+0x244d    0x306d
+0x244e    0x306e
+0x244f    0x306f
+0x2450    0x3070
+0x2451    0x3071
+0x2452    0x3072
+0x2453    0x3073
+0x2454    0x3074
+0x2455    0x3075
+0x2456    0x3076
+0x2457    0x3077
+0x2458    0x3078
+0x2459    0x3079
+0x245a    0x307a
+0x245b    0x307b
+0x245c    0x307c
+0x245d    0x307d
+0x245e    0x307e
+0x245f    0x307f
+0x2460    0x3080
+0x2461    0x3081
+0x2462    0x3082
+0x2463    0x3083
+0x2464    0x3084
+0x2465    0x3085
+0x2466    0x3086
+0x2467    0x3087
+0x2468    0x3088
+0x2469    0x3089
+0x246a    0x308a
+0x246b    0x308b
+0x246c    0x308c
+0x246d    0x308d
+0x246e    0x308e
+0x246f    0x308f
+0x2470    0x3090
+0x2471    0x3091
+0x2472    0x3092
+0x2473    0x3093
+0x2521    0x30a1
+0x2522    0x30a2
+0x2523    0x30a3
+0x2524    0x30a4
+0x2525    0x30a5
+0x2526    0x30a6
+0x2527    0x30a7
+0x2528    0x30a8
+0x2529    0x30a9
+0x252a    0x30aa
+0x252b    0x30ab
+0x252c    0x30ac
+0x252d    0x30ad
+0x252e    0x30ae
+0x252f    0x30af
+0x2530    0x30b0
+0x2531    0x30b1
+0x2532    0x30b2
+0x2533    0x30b3
+0x2534    0x30b4
+0x2535    0x30b5
+0x2536    0x30b6
+0x2537    0x30b7
+0x2538    0x30b8
+0x2539    0x30b9
+0x253a    0x30ba
+0x253b    0x30bb
+0x253c    0x30bc
+0x253d    0x30bd
+0x253e    0x30be
+0x253f    0x30bf
+0x2540    0x30c0
+0x2541    0x30c1
+0x2542    0x30c2
+0x2543    0x30c3
+0x2544    0x30c4
+0x2545    0x30c5
+0x2546    0x30c6
+0x2547    0x30c7
+0x2548    0x30c8
+0x2549    0x30c9
+0x254a    0x30ca
+0x254b    0x30cb
+0x254c    0x30cc
+0x254d    0x30cd
+0x254e    0x30ce
+0x254f    0x30cf
+0x2550    0x30d0
+0x2551    0x30d1
+0x2552    0x30d2
+0x2553    0x30d3
+0x2554    0x30d4
+0x2555    0x30d5
+0x2556    0x30d6
+0x2557    0x30d7
+0x2558    0x30d8
+0x2559    0x30d9
+0x255a    0x30da
+0x255b    0x30db
+0x255c    0x30dc
+0x255d    0x30dd
+0x255e    0x30de
+0x255f    0x30df
+0x2560    0x30e0
+0x2561    0x30e1
+0x2562    0x30e2
+0x2563    0x30e3
+0x2564    0x30e4
+0x2565    0x30e5
+0x2566    0x30e6
+0x2567    0x30e7
+0x2568    0x30e8
+0x2569    0x30e9
+0x256a    0x30ea
+0x256b    0x30eb
+0x256c    0x30ec
+0x256d    0x30ed
+0x256e    0x30ee
+0x256f    0x30ef
+0x2570    0x30f0
+0x2571    0x30f1
+0x2572    0x30f2
+0x2573    0x30f3
+0x2574    0x30f4
+0x2575    0x30f5
+0x2576    0x30f6
+0x2621    0x0391
+0x2622    0x0392
+0x2623    0x0393
+0x2624    0x0394
+0x2625    0x0395
+0x2626    0x0396
+0x2627    0x0397
+0x2628    0x0398
+0x2629    0x0399
+0x262a    0x039a
+0x262b    0x039b
+0x262c    0x039c
+0x262d    0x039d
+0x262e    0x039e
+0x262f    0x039f
+0x2630    0x03a0
+0x2631    0x03a1
+0x2632    0x03a3
+0x2633    0x03a4
+0x2634    0x03a5
+0x2635    0x03a6
+0x2636    0x03a7
+0x2637    0x03a8
+0x2638    0x03a9
+0x2641    0x03b1
+0x2642    0x03b2
+0x2643    0x03b3
+0x2644    0x03b4
+0x2645    0x03b5
+0x2646    0x03b6
+0x2647    0x03b7
+0x2648    0x03b8
+0x2649    0x03b9
+0x264a    0x03ba
+0x264b    0x03bb
+0x264c    0x03bc
+0x264d    0x03bd
+0x264e    0x03be
+0x264f    0x03bf
+0x2650    0x03c0
+0x2651    0x03c1
+0x2652    0x03c3
+0x2653    0x03c4
+0x2654    0x03c5
+0x2655    0x03c6
+0x2656    0x03c7
+0x2657    0x03c8
+0x2658    0x03c9
+0x2721    0x0410
+0x2722    0x0411
+0x2723    0x0412
+0x2724    0x0413
+0x2725    0x0414
+0x2726    0x0415
+0x2727    0x0401
+0x2728    0x0416
+0x2729    0x0417
+0x272a    0x0418
+0x272b    0x0419
+0x272c    0x041a
+0x272d    0x041b
+0x272e    0x041c
+0x272f    0x041d
+0x2730    0x041e
+0x2731    0x041f
+0x2732    0x0420
+0x2733    0x0421
+0x2734    0x0422
+0x2735    0x0423
+0x2736    0x0424
+0x2737    0x0425
+0x2738    0x0426
+0x2739    0x0427
+0x273a    0x0428
+0x273b    0x0429
+0x273c    0x042a
+0x273d    0x042b
+0x273e    0x042c
+0x273f    0x042d
+0x2740    0x042e
+0x2741    0x042f
+0x2751    0x0430
+0x2752    0x0431
+0x2753    0x0432
+0x2754    0x0433
+0x2755    0x0434
+0x2756    0x0435
+0x2757    0x0451
+0x2758    0x0436
+0x2759    0x0437
+0x275a    0x0438
+0x275b    0x0439
+0x275c    0x043a
+0x275d    0x043b
+0x275e    0x043c
+0x275f    0x043d
+0x2760    0x043e
+0x2761    0x043f
+0x2762    0x0440
+0x2763    0x0441
+0x2764    0x0442
+0x2765    0x0443
+0x2766    0x0444
+0x2767    0x0445
+0x2768    0x0446
+0x2769    0x0447
+0x276a    0x0448
+0x276b    0x0449
+0x276c    0x044a
+0x276d    0x044b
+0x276e    0x044c
+0x276f    0x044d
+0x2770    0x044e
+0x2771    0x044f
+0x2821    0x2500
+0x2822    0x2502
+0x2823    0x250c
+0x2824    0x2510
+0x2825    0x2518
+0x2826    0x2514
+0x2827    0x251c
+0x2828    0x252c
+0x2829    0x2524
+0x282a    0x2534
+0x282b    0x253c
+0x282c    0x2501
+0x282d    0x2503
+0x282e    0x250f
+0x282f    0x2513
+0x2830    0x251b
+0x2831    0x2517
+0x2832    0x2523
+0x2833    0x2533
+0x2834    0x252b
+0x2835    0x253b
+0x2836    0x254b
+0x2837    0x2520
+0x2838    0x252f
+0x2839    0x2528
+0x283a    0x2537
+0x283b    0x253f
+0x283c    0x251d
+0x283d    0x2530
+0x283e    0x2525
+0x283f    0x2538
+0x2840    0x2542
+0x3021    0x4e9c
+0x3022    0x5516
+0x3023    0x5a03
+0x3024    0x963f
+0x3025    0x54c0
+0x3026    0x611b
+0x3027    0x6328
+0x3028    0x59f6
+0x3029    0x9022
+0x302a    0x8475
+0x302b    0x831c
+0x302c    0x7a50
+0x302d    0x60aa
+0x302e    0x63e1
+0x302f    0x6e25
+0x3030    0x65ed
+0x3031    0x8466
+0x3032    0x82a6
+0x3033    0x9bf5
+0x3034    0x6893
+0x3035    0x5727
+0x3036    0x65a1
+0x3037    0x6271
+0x3038    0x5b9b
+0x3039    0x59d0
+0x303a    0x867b
+0x303b    0x98f4
+0x303c    0x7d62
+0x303d    0x7dbe
+0x303e    0x9b8e
+0x303f    0x6216
+0x3040    0x7c9f
+0x3041    0x88b7
+0x3042    0x5b89
+0x3043    0x5eb5
+0x3044    0x6309
+0x3045    0x6697
+0x3046    0x6848
+0x3047    0x95c7
+0x3048    0x978d
+0x3049    0x674f
+0x304a    0x4ee5
+0x304b    0x4f0a
+0x304c    0x4f4d
+0x304d    0x4f9d
+0x304e    0x5049
+0x304f    0x56f2
+0x3050    0x5937
+0x3051    0x59d4
+0x3052    0x5a01
+0x3053    0x5c09
+0x3054    0x60df
+0x3055    0x610f
+0x3056    0x6170
+0x3057    0x6613
+0x3058    0x6905
+0x3059    0x70ba
+0x305a    0x754f
+0x305b    0x7570
+0x305c    0x79fb
+0x305d    0x7dad
+0x305e    0x7def
+0x305f    0x80c3
+0x3060    0x840e
+0x3061    0x8863
+0x3062    0x8b02
+0x3063    0x9055
+0x3064    0x907a
+0x3065    0x533b
+0x3066    0x4e95
+0x3067    0x4ea5
+0x3068    0x57df
+0x3069    0x80b2
+0x306a    0x90c1
+0x306b    0x78ef
+0x306c    0x4e00
+0x306d    0x58f1
+0x306e    0x6ea2
+0x306f    0x9038
+0x3070    0x7a32
+0x3071    0x8328
+0x3072    0x828b
+0x3073    0x9c2f
+0x3074    0x5141
+0x3075    0x5370
+0x3076    0x54bd
+0x3077    0x54e1
+0x3078    0x56e0
+0x3079    0x59fb
+0x307a    0x5f15
+0x307b    0x98f2
+0x307c    0x6deb
+0x307d    0x80e4
+0x307e    0x852d
+0x3121    0x9662
+0x3122    0x9670
+0x3123    0x96a0
+0x3124    0x97fb
+0x3125    0x540b
+0x3126    0x53f3
+0x3127    0x5b87
+0x3128    0x70cf
+0x3129    0x7fbd
+0x312a    0x8fc2
+0x312b    0x96e8
+0x312c    0x536f
+0x312d    0x9d5c
+0x312e    0x7aba
+0x312f    0x4e11
+0x3130    0x7893
+0x3131    0x81fc
+0x3132    0x6e26
+0x3133    0x5618
+0x3134    0x5504
+0x3135    0x6b1d
+0x3136    0x851a
+0x3137    0x9c3b
+0x3138    0x59e5
+0x3139    0x53a9
+0x313a    0x6d66
+0x313b    0x74dc
+0x313c    0x958f
+0x313d    0x5642
+0x313e    0x4e91
+0x313f    0x904b
+0x3140    0x96f2
+0x3141    0x834f
+0x3142    0x990c
+0x3143    0x53e1
+0x3144    0x55b6
+0x3145    0x5b30
+0x3146    0x5f71
+0x3147    0x6620
+0x3148    0x66f3
+0x3149    0x6804
+0x314a    0x6c38
+0x314b    0x6cf3
+0x314c    0x6d29
+0x314d    0x745b
+0x314e    0x76c8
+0x314f    0x7a4e
+0x3150    0x9834
+0x3151    0x82f1
+0x3152    0x885b
+0x3153    0x8a60
+0x3154    0x92ed
+0x3155    0x6db2
+0x3156    0x75ab
+0x3157    0x76ca
+0x3158    0x99c5
+0x3159    0x60a6
+0x315a    0x8b01
+0x315b    0x8d8a
+0x315c    0x95b2
+0x315d    0x698e
+0x315e    0x53ad
+0x315f    0x5186
+0x3160    0x5712
+0x3161    0x5830
+0x3162    0x5944
+0x3163    0x5bb4
+0x3164    0x5ef6
+0x3165    0x6028
+0x3166    0x63a9
+0x3167    0x63f4
+0x3168    0x6cbf
+0x3169    0x6f14
+0x316a    0x708e
+0x316b    0x7114
+0x316c    0x7159
+0x316d    0x71d5
+0x316e    0x733f
+0x316f    0x7e01
+0x3170    0x8276
+0x3171    0x82d1
+0x3172    0x8597
+0x3173    0x9060
+0x3174    0x925b
+0x3175    0x9d1b
+0x3176    0x5869
+0x3177    0x65bc
+0x3178    0x6c5a
+0x3179    0x7525
+0x317a    0x51f9
+0x317b    0x592e
+0x317c    0x5965
+0x317d    0x5f80
+0x317e    0x5fdc
+0x3221    0x62bc
+0x3222    0x65fa
+0x3223    0x6a2a
+0x3224    0x6b27
+0x3225    0x6bb4
+0x3226    0x738b
+0x3227    0x7fc1
+0x3228    0x8956
+0x3229    0x9d2c
+0x322a    0x9d0e
+0x322b    0x9ec4
+0x322c    0x5ca1
+0x322d    0x6c96
+0x322e    0x837b
+0x322f    0x5104
+0x3230    0x5c4b
+0x3231    0x61b6
+0x3232    0x81c6
+0x3233    0x6876
+0x3234    0x7261
+0x3235    0x4e59
+0x3236    0x4ffa
+0x3237    0x5378
+0x3238    0x6069
+0x3239    0x6e29
+0x323a    0x7a4f
+0x323b    0x97f3
+0x323c    0x4e0b
+0x323d    0x5316
+0x323e    0x4eee
+0x323f    0x4f55
+0x3240    0x4f3d
+0x3241    0x4fa1
+0x3242    0x4f73
+0x3243    0x52a0
+0x3244    0x53ef
+0x3245    0x5609
+0x3246    0x590f
+0x3247    0x5ac1
+0x3248    0x5bb6
+0x3249    0x5be1
+0x324a    0x79d1
+0x324b    0x6687
+0x324c    0x679c
+0x324d    0x67b6
+0x324e    0x6b4c
+0x324f    0x6cb3
+0x3250    0x706b
+0x3251    0x73c2
+0x3252    0x798d
+0x3253    0x79be
+0x3254    0x7a3c
+0x3255    0x7b87
+0x3256    0x82b1
+0x3257    0x82db
+0x3258    0x8304
+0x3259    0x8377
+0x325a    0x83ef
+0x325b    0x83d3
+0x325c    0x8766
+0x325d    0x8ab2
+0x325e    0x5629
+0x325f    0x8ca8
+0x3260    0x8fe6
+0x3261    0x904e
+0x3262    0x971e
+0x3263    0x868a
+0x3264    0x4fc4
+0x3265    0x5ce8
+0x3266    0x6211
+0x3267    0x7259
+0x3268    0x753b
+0x3269    0x81e5
+0x326a    0x82bd
+0x326b    0x86fe
+0x326c    0x8cc0
+0x326d    0x96c5
+0x326e    0x9913
+0x326f    0x99d5
+0x3270    0x4ecb
+0x3271    0x4f1a
+0x3272    0x89e3
+0x3273    0x56de
+0x3274    0x584a
+0x3275    0x58ca
+0x3276    0x5efb
+0x3277    0x5feb
+0x3278    0x602a
+0x3279    0x6094
+0x327a    0x6062
+0x327b    0x61d0
+0x327c    0x6212
+0x327d    0x62d0
+0x327e    0x6539
+0x3321    0x9b41
+0x3322    0x6666
+0x3323    0x68b0
+0x3324    0x6d77
+0x3325    0x7070
+0x3326    0x754c
+0x3327    0x7686
+0x3328    0x7d75
+0x3329    0x82a5
+0x332a    0x87f9
+0x332b    0x958b
+0x332c    0x968e
+0x332d    0x8c9d
+0x332e    0x51f1
+0x332f    0x52be
+0x3330    0x5916
+0x3331    0x54b3
+0x3332    0x5bb3
+0x3333    0x5d16
+0x3334    0x6168
+0x3335    0x6982
+0x3336    0x6daf
+0x3337    0x788d
+0x3338    0x84cb
+0x3339    0x8857
+0x333a    0x8a72
+0x333b    0x93a7
+0x333c    0x9ab8
+0x333d    0x6d6c
+0x333e    0x99a8
+0x333f    0x86d9
+0x3340    0x57a3
+0x3341    0x67ff
+0x3342    0x86ce
+0x3343    0x920e
+0x3344    0x5283
+0x3345    0x5687
+0x3346    0x5404
+0x3347    0x5ed3
+0x3348    0x62e1
+0x3349    0x64b9
+0x334a    0x683c
+0x334b    0x6838
+0x334c    0x6bbb
+0x334d    0x7372
+0x334e    0x78ba
+0x334f    0x7a6b
+0x3350    0x899a
+0x3351    0x89d2
+0x3352    0x8d6b
+0x3353    0x8f03
+0x3354    0x90ed
+0x3355    0x95a3
+0x3356    0x9694
+0x3357    0x9769
+0x3358    0x5b66
+0x3359    0x5cb3
+0x335a    0x697d
+0x335b    0x984d
+0x335c    0x984e
+0x335d    0x639b
+0x335e    0x7b20
+0x335f    0x6a2b
+0x3360    0x6a7f
+0x3361    0x68b6
+0x3362    0x9c0d
+0x3363    0x6f5f
+0x3364    0x5272
+0x3365    0x559d
+0x3366    0x6070
+0x3367    0x62ec
+0x3368    0x6d3b
+0x3369    0x6e07
+0x336a    0x6ed1
+0x336b    0x845b
+0x336c    0x8910
+0x336d    0x8f44
+0x336e    0x4e14
+0x336f    0x9c39
+0x3370    0x53f6
+0x3371    0x691b
+0x3372    0x6a3a
+0x3373    0x9784
+0x3374    0x682a
+0x3375    0x515c
+0x3376    0x7ac3
+0x3377    0x84b2
+0x3378    0x91dc
+0x3379    0x938c
+0x337a    0x565b
+0x337b    0x9d28
+0x337c    0x6822
+0x337d    0x8305
+0x337e    0x8431
+0x3421    0x7ca5
+0x3422    0x5208
+0x3423    0x82c5
+0x3424    0x74e6
+0x3425    0x4e7e
+0x3426    0x4f83
+0x3427    0x51a0
+0x3428    0x5bd2
+0x3429    0x520a
+0x342a    0x52d8
+0x342b    0x52e7
+0x342c    0x5dfb
+0x342d    0x559a
+0x342e    0x582a
+0x342f    0x59e6
+0x3430    0x5b8c
+0x3431    0x5b98
+0x3432    0x5bdb
+0x3433    0x5e72
+0x3434    0x5e79
+0x3435    0x60a3
+0x3436    0x611f
+0x3437    0x6163
+0x3438    0x61be
+0x3439    0x63db
+0x343a    0x6562
+0x343b    0x67d1
+0x343c    0x6853
+0x343d    0x68fa
+0x343e    0x6b3e
+0x343f    0x6b53
+0x3440    0x6c57
+0x3441    0x6f22
+0x3442    0x6f97
+0x3443    0x6f45
+0x3444    0x74b0
+0x3445    0x7518
+0x3446    0x76e3
+0x3447    0x770b
+0x3448    0x7aff
+0x3449    0x7ba1
+0x344a    0x7c21
+0x344b    0x7de9
+0x344c    0x7f36
+0x344d    0x7ff0
+0x344e    0x809d
+0x344f    0x8266
+0x3450    0x839e
+0x3451    0x89b3
+0x3452    0x8acc
+0x3453    0x8cab
+0x3454    0x9084
+0x3455    0x9451
+0x3456    0x9593
+0x3457    0x9591
+0x3458    0x95a2
+0x3459    0x9665
+0x345a    0x97d3
+0x345b    0x9928
+0x345c    0x8218
+0x345d    0x4e38
+0x345e    0x542b
+0x345f    0x5cb8
+0x3460    0x5dcc
+0x3461    0x73a9
+0x3462    0x764c
+0x3463    0x773c
+0x3464    0x5ca9
+0x3465    0x7feb
+0x3466    0x8d0b
+0x3467    0x96c1
+0x3468    0x9811
+0x3469    0x9854
+0x346a    0x9858
+0x346b    0x4f01
+0x346c    0x4f0e
+0x346d    0x5371
+0x346e    0x559c
+0x346f    0x5668
+0x3470    0x57fa
+0x3471    0x5947
+0x3472    0x5b09
+0x3473    0x5bc4
+0x3474    0x5c90
+0x3475    0x5e0c
+0x3476    0x5e7e
+0x3477    0x5fcc
+0x3478    0x63ee
+0x3479    0x673a
+0x347a    0x65d7
+0x347b    0x65e2
+0x347c    0x671f
+0x347d    0x68cb
+0x347e    0x68c4
+0x3521    0x6a5f
+0x3522    0x5e30
+0x3523    0x6bc5
+0x3524    0x6c17
+0x3525    0x6c7d
+0x3526    0x757f
+0x3527    0x7948
+0x3528    0x5b63
+0x3529    0x7a00
+0x352a    0x7d00
+0x352b    0x5fbd
+0x352c    0x898f
+0x352d    0x8a18
+0x352e    0x8cb4
+0x352f    0x8d77
+0x3530    0x8ecc
+0x3531    0x8f1d
+0x3532    0x98e2
+0x3533    0x9a0e
+0x3534    0x9b3c
+0x3535    0x4e80
+0x3536    0x507d
+0x3537    0x5100
+0x3538    0x5993
+0x3539    0x5b9c
+0x353a    0x622f
+0x353b    0x6280
+0x353c    0x64ec
+0x353d    0x6b3a
+0x353e    0x72a0
+0x353f    0x7591
+0x3540    0x7947
+0x3541    0x7fa9
+0x3542    0x87fb
+0x3543    0x8abc
+0x3544    0x8b70
+0x3545    0x63ac
+0x3546    0x83ca
+0x3547    0x97a0
+0x3548    0x5409
+0x3549    0x5403
+0x354a    0x55ab
+0x354b    0x6854
+0x354c    0x6a58
+0x354d    0x8a70
+0x354e    0x7827
+0x354f    0x6775
+0x3550    0x9ecd
+0x3551    0x5374
+0x3552    0x5ba2
+0x3553    0x811a
+0x3554    0x8650
+0x3555    0x9006
+0x3556    0x4e18
+0x3557    0x4e45
+0x3558    0x4ec7
+0x3559    0x4f11
+0x355a    0x53ca
+0x355b    0x5438
+0x355c    0x5bae
+0x355d    0x5f13
+0x355e    0x6025
+0x355f    0x6551
+0x3560    0x673d
+0x3561    0x6c42
+0x3562    0x6c72
+0x3563    0x6ce3
+0x3564    0x7078
+0x3565    0x7403
+0x3566    0x7a76
+0x3567    0x7aae
+0x3568    0x7b08
+0x3569    0x7d1a
+0x356a    0x7cfe
+0x356b    0x7d66
+0x356c    0x65e7
+0x356d    0x725b
+0x356e    0x53bb
+0x356f    0x5c45
+0x3570    0x5de8
+0x3571    0x62d2
+0x3572    0x62e0
+0x3573    0x6319
+0x3574    0x6e20
+0x3575    0x865a
+0x3576    0x8a31
+0x3577    0x8ddd
+0x3578    0x92f8
+0x3579    0x6f01
+0x357a    0x79a6
+0x357b    0x9b5a
+0x357c    0x4ea8
+0x357d    0x4eab
+0x357e    0x4eac
+0x3621    0x4f9b
+0x3622    0x4fa0
+0x3623    0x50d1
+0x3624    0x5147
+0x3625    0x7af6
+0x3626    0x5171
+0x3627    0x51f6
+0x3628    0x5354
+0x3629    0x5321
+0x362a    0x537f
+0x362b    0x53eb
+0x362c    0x55ac
+0x362d    0x5883
+0x362e    0x5ce1
+0x362f    0x5f37
+0x3630    0x5f4a
+0x3631    0x602f
+0x3632    0x6050
+0x3633    0x606d
+0x3634    0x631f
+0x3635    0x6559
+0x3636    0x6a4b
+0x3637    0x6cc1
+0x3638    0x72c2
+0x3639    0x72ed
+0x363a    0x77ef
+0x363b    0x80f8
+0x363c    0x8105
+0x363d    0x8208
+0x363e    0x854e
+0x363f    0x90f7
+0x3640    0x93e1
+0x3641    0x97ff
+0x3642    0x9957
+0x3643    0x9a5a
+0x3644    0x4ef0
+0x3645    0x51dd
+0x3646    0x5c2d
+0x3647    0x6681
+0x3648    0x696d
+0x3649    0x5c40
+0x364a    0x66f2
+0x364b    0x6975
+0x364c    0x7389
+0x364d    0x6850
+0x364e    0x7c81
+0x364f    0x50c5
+0x3650    0x52e4
+0x3651    0x5747
+0x3652    0x5dfe
+0x3653    0x9326
+0x3654    0x65a4
+0x3655    0x6b23
+0x3656    0x6b3d
+0x3657    0x7434
+0x3658    0x7981
+0x3659    0x79bd
+0x365a    0x7b4b
+0x365b    0x7dca
+0x365c    0x82b9
+0x365d    0x83cc
+0x365e    0x887f
+0x365f    0x895f
+0x3660    0x8b39
+0x3661    0x8fd1
+0x3662    0x91d1
+0x3663    0x541f
+0x3664    0x9280
+0x3665    0x4e5d
+0x3666    0x5036
+0x3667    0x53e5
+0x3668    0x533a
+0x3669    0x72d7
+0x366a    0x7396
+0x366b    0x77e9
+0x366c    0x82e6
+0x366d    0x8eaf
+0x366e    0x99c6
+0x366f    0x99c8
+0x3670    0x99d2
+0x3671    0x5177
+0x3672    0x611a
+0x3673    0x865e
+0x3674    0x55b0
+0x3675    0x7a7a
+0x3676    0x5076
+0x3677    0x5bd3
+0x3678    0x9047
+0x3679    0x9685
+0x367a    0x4e32
+0x367b    0x6adb
+0x367c    0x91e7
+0x367d    0x5c51
+0x367e    0x5c48
+0x3721    0x6398
+0x3722    0x7a9f
+0x3723    0x6c93
+0x3724    0x9774
+0x3725    0x8f61
+0x3726    0x7aaa
+0x3727    0x718a
+0x3728    0x9688
+0x3729    0x7c82
+0x372a    0x6817
+0x372b    0x7e70
+0x372c    0x6851
+0x372d    0x936c
+0x372e    0x52f2
+0x372f    0x541b
+0x3730    0x85ab
+0x3731    0x8a13
+0x3732    0x7fa4
+0x3733    0x8ecd
+0x3734    0x90e1
+0x3735    0x5366
+0x3736    0x8888
+0x3737    0x7941
+0x3738    0x4fc2
+0x3739    0x50be
+0x373a    0x5211
+0x373b    0x5144
+0x373c    0x5553
+0x373d    0x572d
+0x373e    0x73ea
+0x373f    0x578b
+0x3740    0x5951
+0x3741    0x5f62
+0x3742    0x5f84
+0x3743    0x6075
+0x3744    0x6176
+0x3745    0x6167
+0x3746    0x61a9
+0x3747    0x63b2
+0x3748    0x643a
+0x3749    0x656c
+0x374a    0x666f
+0x374b    0x6842
+0x374c    0x6e13
+0x374d    0x7566
+0x374e    0x7a3d
+0x374f    0x7cfb
+0x3750    0x7d4c
+0x3751    0x7d99
+0x3752    0x7e4b
+0x3753    0x7f6b
+0x3754    0x830e
+0x3755    0x834a
+0x3756    0x86cd
+0x3757    0x8a08
+0x3758    0x8a63
+0x3759    0x8b66
+0x375a    0x8efd
+0x375b    0x981a
+0x375c    0x9d8f
+0x375d    0x82b8
+0x375e    0x8fce
+0x375f    0x9be8
+0x3760    0x5287
+0x3761    0x621f
+0x3762    0x6483
+0x3763    0x6fc0
+0x3764    0x9699
+0x3765    0x6841
+0x3766    0x5091
+0x3767    0x6b20
+0x3768    0x6c7a
+0x3769    0x6f54
+0x376a    0x7a74
+0x376b    0x7d50
+0x376c    0x8840
+0x376d    0x8a23
+0x376e    0x6708
+0x376f    0x4ef6
+0x3770    0x5039
+0x3771    0x5026
+0x3772    0x5065
+0x3773    0x517c
+0x3774    0x5238
+0x3775    0x5263
+0x3776    0x55a7
+0x3777    0x570f
+0x3778    0x5805
+0x3779    0x5acc
+0x377a    0x5efa
+0x377b    0x61b2
+0x377c    0x61f8
+0x377d    0x62f3
+0x377e    0x6372
+0x3821    0x691c
+0x3822    0x6a29
+0x3823    0x727d
+0x3824    0x72ac
+0x3825    0x732e
+0x3826    0x7814
+0x3827    0x786f
+0x3828    0x7d79
+0x3829    0x770c
+0x382a    0x80a9
+0x382b    0x898b
+0x382c    0x8b19
+0x382d    0x8ce2
+0x382e    0x8ed2
+0x382f    0x9063
+0x3830    0x9375
+0x3831    0x967a
+0x3832    0x9855
+0x3833    0x9a13
+0x3834    0x9e78
+0x3835    0x5143
+0x3836    0x539f
+0x3837    0x53b3
+0x3838    0x5e7b
+0x3839    0x5f26
+0x383a    0x6e1b
+0x383b    0x6e90
+0x383c    0x7384
+0x383d    0x73fe
+0x383e    0x7d43
+0x383f    0x8237
+0x3840    0x8a00
+0x3841    0x8afa
+0x3842    0x9650
+0x3843    0x4e4e
+0x3844    0x500b
+0x3845    0x53e4
+0x3846    0x547c
+0x3847    0x56fa
+0x3848    0x59d1
+0x3849    0x5b64
+0x384a    0x5df1
+0x384b    0x5eab
+0x384c    0x5f27
+0x384d    0x6238
+0x384e    0x6545
+0x384f    0x67af
+0x3850    0x6e56
+0x3851    0x72d0
+0x3852    0x7cca
+0x3853    0x88b4
+0x3854    0x80a1
+0x3855    0x80e1
+0x3856    0x83f0
+0x3857    0x864e
+0x3858    0x8a87
+0x3859    0x8de8
+0x385a    0x9237
+0x385b    0x96c7
+0x385c    0x9867
+0x385d    0x9f13
+0x385e    0x4e94
+0x385f    0x4e92
+0x3860    0x4f0d
+0x3861    0x5348
+0x3862    0x5449
+0x3863    0x543e
+0x3864    0x5a2f
+0x3865    0x5f8c
+0x3866    0x5fa1
+0x3867    0x609f
+0x3868    0x68a7
+0x3869    0x6a8e
+0x386a    0x745a
+0x386b    0x7881
+0x386c    0x8a9e
+0x386d    0x8aa4
+0x386e    0x8b77
+0x386f    0x9190
+0x3870    0x4e5e
+0x3871    0x9bc9
+0x3872    0x4ea4
+0x3873    0x4f7c
+0x3874    0x4faf
+0x3875    0x5019
+0x3876    0x5016
+0x3877    0x5149
+0x3878    0x516c
+0x3879    0x529f
+0x387a    0x52b9
+0x387b    0x52fe
+0x387c    0x539a
+0x387d    0x53e3
+0x387e    0x5411
+0x3921    0x540e
+0x3922    0x5589
+0x3923    0x5751
+0x3924    0x57a2
+0x3925    0x597d
+0x3926    0x5b54
+0x3927    0x5b5d
+0x3928    0x5b8f
+0x3929    0x5de5
+0x392a    0x5de7
+0x392b    0x5df7
+0x392c    0x5e78
+0x392d    0x5e83
+0x392e    0x5e9a
+0x392f    0x5eb7
+0x3930    0x5f18
+0x3931    0x6052
+0x3932    0x614c
+0x3933    0x6297
+0x3934    0x62d8
+0x3935    0x63a7
+0x3936    0x653b
+0x3937    0x6602
+0x3938    0x6643
+0x3939    0x66f4
+0x393a    0x676d
+0x393b    0x6821
+0x393c    0x6897
+0x393d    0x69cb
+0x393e    0x6c5f
+0x393f    0x6d2a
+0x3940    0x6d69
+0x3941    0x6e2f
+0x3942    0x6e9d
+0x3943    0x7532
+0x3944    0x7687
+0x3945    0x786c
+0x3946    0x7a3f
+0x3947    0x7ce0
+0x3948    0x7d05
+0x3949    0x7d18
+0x394a    0x7d5e
+0x394b    0x7db1
+0x394c    0x8015
+0x394d    0x8003
+0x394e    0x80af
+0x394f    0x80b1
+0x3950    0x8154
+0x3951    0x818f
+0x3952    0x822a
+0x3953    0x8352
+0x3954    0x884c
+0x3955    0x8861
+0x3956    0x8b1b
+0x3957    0x8ca2
+0x3958    0x8cfc
+0x3959    0x90ca
+0x395a    0x9175
+0x395b    0x9271
+0x395c    0x783f
+0x395d    0x92fc
+0x395e    0x95a4
+0x395f    0x964d
+0x3960    0x9805
+0x3961    0x9999
+0x3962    0x9ad8
+0x3963    0x9d3b
+0x3964    0x525b
+0x3965    0x52ab
+0x3966    0x53f7
+0x3967    0x5408
+0x3968    0x58d5
+0x3969    0x62f7
+0x396a    0x6fe0
+0x396b    0x8c6a
+0x396c    0x8f5f
+0x396d    0x9eb9
+0x396e    0x514b
+0x396f    0x523b
+0x3970    0x544a
+0x3971    0x56fd
+0x3972    0x7a40
+0x3973    0x9177
+0x3974    0x9d60
+0x3975    0x9ed2
+0x3976    0x7344
+0x3977    0x6f09
+0x3978    0x8170
+0x3979    0x7511
+0x397a    0x5ffd
+0x397b    0x60da
+0x397c    0x9aa8
+0x397d    0x72db
+0x397e    0x8fbc
+0x3a21    0x6b64
+0x3a22    0x9803
+0x3a23    0x4eca
+0x3a24    0x56f0
+0x3a25    0x5764
+0x3a26    0x58be
+0x3a27    0x5a5a
+0x3a28    0x6068
+0x3a29    0x61c7
+0x3a2a    0x660f
+0x3a2b    0x6606
+0x3a2c    0x6839
+0x3a2d    0x68b1
+0x3a2e    0x6df7
+0x3a2f    0x75d5
+0x3a30    0x7d3a
+0x3a31    0x826e
+0x3a32    0x9b42
+0x3a33    0x4e9b
+0x3a34    0x4f50
+0x3a35    0x53c9
+0x3a36    0x5506
+0x3a37    0x5d6f
+0x3a38    0x5de6
+0x3a39    0x5dee
+0x3a3a    0x67fb
+0x3a3b    0x6c99
+0x3a3c    0x7473
+0x3a3d    0x7802
+0x3a3e    0x8a50
+0x3a3f    0x9396
+0x3a40    0x88df
+0x3a41    0x5750
+0x3a42    0x5ea7
+0x3a43    0x632b
+0x3a44    0x50b5
+0x3a45    0x50ac
+0x3a46    0x518d
+0x3a47    0x6700
+0x3a48    0x54c9
+0x3a49    0x585e
+0x3a4a    0x59bb
+0x3a4b    0x5bb0
+0x3a4c    0x5f69
+0x3a4d    0x624d
+0x3a4e    0x63a1
+0x3a4f    0x683d
+0x3a50    0x6b73
+0x3a51    0x6e08
+0x3a52    0x707d
+0x3a53    0x91c7
+0x3a54    0x7280
+0x3a55    0x7815
+0x3a56    0x7826
+0x3a57    0x796d
+0x3a58    0x658e
+0x3a59    0x7d30
+0x3a5a    0x83dc
+0x3a5b    0x88c1
+0x3a5c    0x8f09
+0x3a5d    0x969b
+0x3a5e    0x5264
+0x3a5f    0x5728
+0x3a60    0x6750
+0x3a61    0x7f6a
+0x3a62    0x8ca1
+0x3a63    0x51b4
+0x3a64    0x5742
+0x3a65    0x962a
+0x3a66    0x583a
+0x3a67    0x698a
+0x3a68    0x80b4
+0x3a69    0x54b2
+0x3a6a    0x5d0e
+0x3a6b    0x57fc
+0x3a6c    0x7895
+0x3a6d    0x9dfa
+0x3a6e    0x4f5c
+0x3a6f    0x524a
+0x3a70    0x548b
+0x3a71    0x643e
+0x3a72    0x6628
+0x3a73    0x6714
+0x3a74    0x67f5
+0x3a75    0x7a84
+0x3a76    0x7b56
+0x3a77    0x7d22
+0x3a78    0x932f
+0x3a79    0x685c
+0x3a7a    0x9bad
+0x3a7b    0x7b39
+0x3a7c    0x5319
+0x3a7d    0x518a
+0x3a7e    0x5237
+0x3b21    0x5bdf
+0x3b22    0x62f6
+0x3b23    0x64ae
+0x3b24    0x64e6
+0x3b25    0x672d
+0x3b26    0x6bba
+0x3b27    0x85a9
+0x3b28    0x96d1
+0x3b29    0x7690
+0x3b2a    0x9bd6
+0x3b2b    0x634c
+0x3b2c    0x9306
+0x3b2d    0x9bab
+0x3b2e    0x76bf
+0x3b2f    0x6652
+0x3b30    0x4e09
+0x3b31    0x5098
+0x3b32    0x53c2
+0x3b33    0x5c71
+0x3b34    0x60e8
+0x3b35    0x6492
+0x3b36    0x6563
+0x3b37    0x685f
+0x3b38    0x71e6
+0x3b39    0x73ca
+0x3b3a    0x7523
+0x3b3b    0x7b97
+0x3b3c    0x7e82
+0x3b3d    0x8695
+0x3b3e    0x8b83
+0x3b3f    0x8cdb
+0x3b40    0x9178
+0x3b41    0x9910
+0x3b42    0x65ac
+0x3b43    0x66ab
+0x3b44    0x6b8b
+0x3b45    0x4ed5
+0x3b46    0x4ed4
+0x3b47    0x4f3a
+0x3b48    0x4f7f
+0x3b49    0x523a
+0x3b4a    0x53f8
+0x3b4b    0x53f2
+0x3b4c    0x55e3
+0x3b4d    0x56db
+0x3b4e    0x58eb
+0x3b4f    0x59cb
+0x3b50    0x59c9
+0x3b51    0x59ff
+0x3b52    0x5b50
+0x3b53    0x5c4d
+0x3b54    0x5e02
+0x3b55    0x5e2b
+0x3b56    0x5fd7
+0x3b57    0x601d
+0x3b58    0x6307
+0x3b59    0x652f
+0x3b5a    0x5b5c
+0x3b5b    0x65af
+0x3b5c    0x65bd
+0x3b5d    0x65e8
+0x3b5e    0x679d
+0x3b5f    0x6b62
+0x3b60    0x6b7b
+0x3b61    0x6c0f
+0x3b62    0x7345
+0x3b63    0x7949
+0x3b64    0x79c1
+0x3b65    0x7cf8
+0x3b66    0x7d19
+0x3b67    0x7d2b
+0x3b68    0x80a2
+0x3b69    0x8102
+0x3b6a    0x81f3
+0x3b6b    0x8996
+0x3b6c    0x8a5e
+0x3b6d    0x8a69
+0x3b6e    0x8a66
+0x3b6f    0x8a8c
+0x3b70    0x8aee
+0x3b71    0x8cc7
+0x3b72    0x8cdc
+0x3b73    0x96cc
+0x3b74    0x98fc
+0x3b75    0x6b6f
+0x3b76    0x4e8b
+0x3b77    0x4f3c
+0x3b78    0x4f8d
+0x3b79    0x5150
+0x3b7a    0x5b57
+0x3b7b    0x5bfa
+0x3b7c    0x6148
+0x3b7d    0x6301
+0x3b7e    0x6642
+0x3c21    0x6b21
+0x3c22    0x6ecb
+0x3c23    0x6cbb
+0x3c24    0x723e
+0x3c25    0x74bd
+0x3c26    0x75d4
+0x3c27    0x78c1
+0x3c28    0x793a
+0x3c29    0x800c
+0x3c2a    0x8033
+0x3c2b    0x81ea
+0x3c2c    0x8494
+0x3c2d    0x8f9e
+0x3c2e    0x6c50
+0x3c2f    0x9e7f
+0x3c30    0x5f0f
+0x3c31    0x8b58
+0x3c32    0x9d2b
+0x3c33    0x7afa
+0x3c34    0x8ef8
+0x3c35    0x5b8d
+0x3c36    0x96eb
+0x3c37    0x4e03
+0x3c38    0x53f1
+0x3c39    0x57f7
+0x3c3a    0x5931
+0x3c3b    0x5ac9
+0x3c3c    0x5ba4
+0x3c3d    0x6089
+0x3c3e    0x6e7f
+0x3c3f    0x6f06
+0x3c40    0x75be
+0x3c41    0x8cea
+0x3c42    0x5b9f
+0x3c43    0x8500
+0x3c44    0x7be0
+0x3c45    0x5072
+0x3c46    0x67f4
+0x3c47    0x829d
+0x3c48    0x5c61
+0x3c49    0x854a
+0x3c4a    0x7e1e
+0x3c4b    0x820e
+0x3c4c    0x5199
+0x3c4d    0x5c04
+0x3c4e    0x6368
+0x3c4f    0x8d66
+0x3c50    0x659c
+0x3c51    0x716e
+0x3c52    0x793e
+0x3c53    0x7d17
+0x3c54    0x8005
+0x3c55    0x8b1d
+0x3c56    0x8eca
+0x3c57    0x906e
+0x3c58    0x86c7
+0x3c59    0x90aa
+0x3c5a    0x501f
+0x3c5b    0x52fa
+0x3c5c    0x5c3a
+0x3c5d    0x6753
+0x3c5e    0x707c
+0x3c5f    0x7235
+0x3c60    0x914c
+0x3c61    0x91c8
+0x3c62    0x932b
+0x3c63    0x82e5
+0x3c64    0x5bc2
+0x3c65    0x5f31
+0x3c66    0x60f9
+0x3c67    0x4e3b
+0x3c68    0x53d6
+0x3c69    0x5b88
+0x3c6a    0x624b
+0x3c6b    0x6731
+0x3c6c    0x6b8a
+0x3c6d    0x72e9
+0x3c6e    0x73e0
+0x3c6f    0x7a2e
+0x3c70    0x816b
+0x3c71    0x8da3
+0x3c72    0x9152
+0x3c73    0x9996
+0x3c74    0x5112
+0x3c75    0x53d7
+0x3c76    0x546a
+0x3c77    0x5bff
+0x3c78    0x6388
+0x3c79    0x6a39
+0x3c7a    0x7dac
+0x3c7b    0x9700
+0x3c7c    0x56da
+0x3c7d    0x53ce
+0x3c7e    0x5468
+0x3d21    0x5b97
+0x3d22    0x5c31
+0x3d23    0x5dde
+0x3d24    0x4fee
+0x3d25    0x6101
+0x3d26    0x62fe
+0x3d27    0x6d32
+0x3d28    0x79c0
+0x3d29    0x79cb
+0x3d2a    0x7d42
+0x3d2b    0x7e4d
+0x3d2c    0x7fd2
+0x3d2d    0x81ed
+0x3d2e    0x821f
+0x3d2f    0x8490
+0x3d30    0x8846
+0x3d31    0x8972
+0x3d32    0x8b90
+0x3d33    0x8e74
+0x3d34    0x8f2f
+0x3d35    0x9031
+0x3d36    0x914b
+0x3d37    0x916c
+0x3d38    0x96c6
+0x3d39    0x919c
+0x3d3a    0x4ec0
+0x3d3b    0x4f4f
+0x3d3c    0x5145
+0x3d3d    0x5341
+0x3d3e    0x5f93
+0x3d3f    0x620e
+0x3d40    0x67d4
+0x3d41    0x6c41
+0x3d42    0x6e0b
+0x3d43    0x7363
+0x3d44    0x7e26
+0x3d45    0x91cd
+0x3d46    0x9283
+0x3d47    0x53d4
+0x3d48    0x5919
+0x3d49    0x5bbf
+0x3d4a    0x6dd1
+0x3d4b    0x795d
+0x3d4c    0x7e2e
+0x3d4d    0x7c9b
+0x3d4e    0x587e
+0x3d4f    0x719f
+0x3d50    0x51fa
+0x3d51    0x8853
+0x3d52    0x8ff0
+0x3d53    0x4fca
+0x3d54    0x5cfb
+0x3d55    0x6625
+0x3d56    0x77ac
+0x3d57    0x7ae3
+0x3d58    0x821c
+0x3d59    0x99ff
+0x3d5a    0x51c6
+0x3d5b    0x5faa
+0x3d5c    0x65ec
+0x3d5d    0x696f
+0x3d5e    0x6b89
+0x3d5f    0x6df3
+0x3d60    0x6e96
+0x3d61    0x6f64
+0x3d62    0x76fe
+0x3d63    0x7d14
+0x3d64    0x5de1
+0x3d65    0x9075
+0x3d66    0x9187
+0x3d67    0x9806
+0x3d68    0x51e6
+0x3d69    0x521d
+0x3d6a    0x6240
+0x3d6b    0x6691
+0x3d6c    0x66d9
+0x3d6d    0x6e1a
+0x3d6e    0x5eb6
+0x3d6f    0x7dd2
+0x3d70    0x7f72
+0x3d71    0x66f8
+0x3d72    0x85af
+0x3d73    0x85f7
+0x3d74    0x8af8
+0x3d75    0x52a9
+0x3d76    0x53d9
+0x3d77    0x5973
+0x3d78    0x5e8f
+0x3d79    0x5f90
+0x3d7a    0x6055
+0x3d7b    0x92e4
+0x3d7c    0x9664
+0x3d7d    0x50b7
+0x3d7e    0x511f
+0x3e21    0x52dd
+0x3e22    0x5320
+0x3e23    0x5347
+0x3e24    0x53ec
+0x3e25    0x54e8
+0x3e26    0x5546
+0x3e27    0x5531
+0x3e28    0x5617
+0x3e29    0x5968
+0x3e2a    0x59be
+0x3e2b    0x5a3c
+0x3e2c    0x5bb5
+0x3e2d    0x5c06
+0x3e2e    0x5c0f
+0x3e2f    0x5c11
+0x3e30    0x5c1a
+0x3e31    0x5e84
+0x3e32    0x5e8a
+0x3e33    0x5ee0
+0x3e34    0x5f70
+0x3e35    0x627f
+0x3e36    0x6284
+0x3e37    0x62db
+0x3e38    0x638c
+0x3e39    0x6377
+0x3e3a    0x6607
+0x3e3b    0x660c
+0x3e3c    0x662d
+0x3e3d    0x6676
+0x3e3e    0x677e
+0x3e3f    0x68a2
+0x3e40    0x6a1f
+0x3e41    0x6a35
+0x3e42    0x6cbc
+0x3e43    0x6d88
+0x3e44    0x6e09
+0x3e45    0x6e58
+0x3e46    0x713c
+0x3e47    0x7126
+0x3e48    0x7167
+0x3e49    0x75c7
+0x3e4a    0x7701
+0x3e4b    0x785d
+0x3e4c    0x7901
+0x3e4d    0x7965
+0x3e4e    0x79f0
+0x3e4f    0x7ae0
+0x3e50    0x7b11
+0x3e51    0x7ca7
+0x3e52    0x7d39
+0x3e53    0x8096
+0x3e54    0x83d6
+0x3e55    0x848b
+0x3e56    0x8549
+0x3e57    0x885d
+0x3e58    0x88f3
+0x3e59    0x8a1f
+0x3e5a    0x8a3c
+0x3e5b    0x8a54
+0x3e5c    0x8a73
+0x3e5d    0x8c61
+0x3e5e    0x8cde
+0x3e5f    0x91a4
+0x3e60    0x9266
+0x3e61    0x937e
+0x3e62    0x9418
+0x3e63    0x969c
+0x3e64    0x9798
+0x3e65    0x4e0a
+0x3e66    0x4e08
+0x3e67    0x4e1e
+0x3e68    0x4e57
+0x3e69    0x5197
+0x3e6a    0x5270
+0x3e6b    0x57ce
+0x3e6c    0x5834
+0x3e6d    0x58cc
+0x3e6e    0x5b22
+0x3e6f    0x5e38
+0x3e70    0x60c5
+0x3e71    0x64fe
+0x3e72    0x6761
+0x3e73    0x6756
+0x3e74    0x6d44
+0x3e75    0x72b6
+0x3e76    0x7573
+0x3e77    0x7a63
+0x3e78    0x84b8
+0x3e79    0x8b72
+0x3e7a    0x91b8
+0x3e7b    0x9320
+0x3e7c    0x5631
+0x3e7d    0x57f4
+0x3e7e    0x98fe
+0x3f21    0x62ed
+0x3f22    0x690d
+0x3f23    0x6b96
+0x3f24    0x71ed
+0x3f25    0x7e54
+0x3f26    0x8077
+0x3f27    0x8272
+0x3f28    0x89e6
+0x3f29    0x98df
+0x3f2a    0x8755
+0x3f2b    0x8fb1
+0x3f2c    0x5c3b
+0x3f2d    0x4f38
+0x3f2e    0x4fe1
+0x3f2f    0x4fb5
+0x3f30    0x5507
+0x3f31    0x5a20
+0x3f32    0x5bdd
+0x3f33    0x5be9
+0x3f34    0x5fc3
+0x3f35    0x614e
+0x3f36    0x632f
+0x3f37    0x65b0
+0x3f38    0x664b
+0x3f39    0x68ee
+0x3f3a    0x699b
+0x3f3b    0x6d78
+0x3f3c    0x6df1
+0x3f3d    0x7533
+0x3f3e    0x75b9
+0x3f3f    0x771f
+0x3f40    0x795e
+0x3f41    0x79e6
+0x3f42    0x7d33
+0x3f43    0x81e3
+0x3f44    0x82af
+0x3f45    0x85aa
+0x3f46    0x89aa
+0x3f47    0x8a3a
+0x3f48    0x8eab
+0x3f49    0x8f9b
+0x3f4a    0x9032
+0x3f4b    0x91dd
+0x3f4c    0x9707
+0x3f4d    0x4eba
+0x3f4e    0x4ec1
+0x3f4f    0x5203
+0x3f50    0x5875
+0x3f51    0x58ec
+0x3f52    0x5c0b
+0x3f53    0x751a
+0x3f54    0x5c3d
+0x3f55    0x814e
+0x3f56    0x8a0a
+0x3f57    0x8fc5
+0x3f58    0x9663
+0x3f59    0x976d
+0x3f5a    0x7b25
+0x3f5b    0x8acf
+0x3f5c    0x9808
+0x3f5d    0x9162
+0x3f5e    0x56f3
+0x3f5f    0x53a8
+0x3f60    0x9017
+0x3f61    0x5439
+0x3f62    0x5782
+0x3f63    0x5e25
+0x3f64    0x63a8
+0x3f65    0x6c34
+0x3f66    0x708a
+0x3f67    0x7761
+0x3f68    0x7c8b
+0x3f69    0x7fe0
+0x3f6a    0x8870
+0x3f6b    0x9042
+0x3f6c    0x9154
+0x3f6d    0x9310
+0x3f6e    0x9318
+0x3f6f    0x968f
+0x3f70    0x745e
+0x3f71    0x9ac4
+0x3f72    0x5d07
+0x3f73    0x5d69
+0x3f74    0x6570
+0x3f75    0x67a2
+0x3f76    0x8da8
+0x3f77    0x96db
+0x3f78    0x636e
+0x3f79    0x6749
+0x3f7a    0x6919
+0x3f7b    0x83c5
+0x3f7c    0x9817
+0x3f7d    0x96c0
+0x3f7e    0x88fe
+0x4021    0x6f84
+0x4022    0x647a
+0x4023    0x5bf8
+0x4024    0x4e16
+0x4025    0x702c
+0x4026    0x755d
+0x4027    0x662f
+0x4028    0x51c4
+0x4029    0x5236
+0x402a    0x52e2
+0x402b    0x59d3
+0x402c    0x5f81
+0x402d    0x6027
+0x402e    0x6210
+0x402f    0x653f
+0x4030    0x6574
+0x4031    0x661f
+0x4032    0x6674
+0x4033    0x68f2
+0x4034    0x6816
+0x4035    0x6b63
+0x4036    0x6e05
+0x4037    0x7272
+0x4038    0x751f
+0x4039    0x76db
+0x403a    0x7cbe
+0x403b    0x8056
+0x403c    0x58f0
+0x403d    0x88fd
+0x403e    0x897f
+0x403f    0x8aa0
+0x4040    0x8a93
+0x4041    0x8acb
+0x4042    0x901d
+0x4043    0x9192
+0x4044    0x9752
+0x4045    0x9759
+0x4046    0x6589
+0x4047    0x7a0e
+0x4048    0x8106
+0x4049    0x96bb
+0x404a    0x5e2d
+0x404b    0x60dc
+0x404c    0x621a
+0x404d    0x65a5
+0x404e    0x6614
+0x404f    0x6790
+0x4050    0x77f3
+0x4051    0x7a4d
+0x4052    0x7c4d
+0x4053    0x7e3e
+0x4054    0x810a
+0x4055    0x8cac
+0x4056    0x8d64
+0x4057    0x8de1
+0x4058    0x8e5f
+0x4059    0x78a9
+0x405a    0x5207
+0x405b    0x62d9
+0x405c    0x63a5
+0x405d    0x6442
+0x405e    0x6298
+0x405f    0x8a2d
+0x4060    0x7a83
+0x4061    0x7bc0
+0x4062    0x8aac
+0x4063    0x96ea
+0x4064    0x7d76
+0x4065    0x820c
+0x4066    0x8749
+0x4067    0x4ed9
+0x4068    0x5148
+0x4069    0x5343
+0x406a    0x5360
+0x406b    0x5ba3
+0x406c    0x5c02
+0x406d    0x5c16
+0x406e    0x5ddd
+0x406f    0x6226
+0x4070    0x6247
+0x4071    0x64b0
+0x4072    0x6813
+0x4073    0x6834
+0x4074    0x6cc9
+0x4075    0x6d45
+0x4076    0x6d17
+0x4077    0x67d3
+0x4078    0x6f5c
+0x4079    0x714e
+0x407a    0x717d
+0x407b    0x65cb
+0x407c    0x7a7f
+0x407d    0x7bad
+0x407e    0x7dda
+0x4121    0x7e4a
+0x4122    0x7fa8
+0x4123    0x817a
+0x4124    0x821b
+0x4125    0x8239
+0x4126    0x85a6
+0x4127    0x8a6e
+0x4128    0x8cce
+0x4129    0x8df5
+0x412a    0x9078
+0x412b    0x9077
+0x412c    0x92ad
+0x412d    0x9291
+0x412e    0x9583
+0x412f    0x9bae
+0x4130    0x524d
+0x4131    0x5584
+0x4132    0x6f38
+0x4133    0x7136
+0x4134    0x5168
+0x4135    0x7985
+0x4136    0x7e55
+0x4137    0x81b3
+0x4138    0x7cce
+0x4139    0x564c
+0x413a    0x5851
+0x413b    0x5ca8
+0x413c    0x63aa
+0x413d    0x66fe
+0x413e    0x66fd
+0x413f    0x695a
+0x4140    0x72d9
+0x4141    0x758f
+0x4142    0x758e
+0x4143    0x790e
+0x4144    0x7956
+0x4145    0x79df
+0x4146    0x7c97
+0x4147    0x7d20
+0x4148    0x7d44
+0x4149    0x8607
+0x414a    0x8a34
+0x414b    0x963b
+0x414c    0x9061
+0x414d    0x9f20
+0x414e    0x50e7
+0x414f    0x5275
+0x4150    0x53cc
+0x4151    0x53e2
+0x4152    0x5009
+0x4153    0x55aa
+0x4154    0x58ee
+0x4155    0x594f
+0x4156    0x723d
+0x4157    0x5b8b
+0x4158    0x5c64
+0x4159    0x531d
+0x415a    0x60e3
+0x415b    0x60f3
+0x415c    0x635c
+0x415d    0x6383
+0x415e    0x633f
+0x415f    0x63bb
+0x4160    0x64cd
+0x4161    0x65e9
+0x4162    0x66f9
+0x4163    0x5de3
+0x4164    0x69cd
+0x4165    0x69fd
+0x4166    0x6f15
+0x4167    0x71e5
+0x4168    0x4e89
+0x4169    0x75e9
+0x416a    0x76f8
+0x416b    0x7a93
+0x416c    0x7cdf
+0x416d    0x7dcf
+0x416e    0x7d9c
+0x416f    0x8061
+0x4170    0x8349
+0x4171    0x8358
+0x4172    0x846c
+0x4173    0x84bc
+0x4174    0x85fb
+0x4175    0x88c5
+0x4176    0x8d70
+0x4177    0x9001
+0x4178    0x906d
+0x4179    0x9397
+0x417a    0x971c
+0x417b    0x9a12
+0x417c    0x50cf
+0x417d    0x5897
+0x417e    0x618e
+0x4221    0x81d3
+0x4222    0x8535
+0x4223    0x8d08
+0x4224    0x9020
+0x4225    0x4fc3
+0x4226    0x5074
+0x4227    0x5247
+0x4228    0x5373
+0x4229    0x606f
+0x422a    0x6349
+0x422b    0x675f
+0x422c    0x6e2c
+0x422d    0x8db3
+0x422e    0x901f
+0x422f    0x4fd7
+0x4230    0x5c5e
+0x4231    0x8cca
+0x4232    0x65cf
+0x4233    0x7d9a
+0x4234    0x5352
+0x4235    0x8896
+0x4236    0x5176
+0x4237    0x63c3
+0x4238    0x5b58
+0x4239    0x5b6b
+0x423a    0x5c0a
+0x423b    0x640d
+0x423c    0x6751
+0x423d    0x905c
+0x423e    0x4ed6
+0x423f    0x591a
+0x4240    0x592a
+0x4241    0x6c70
+0x4242    0x8a51
+0x4243    0x553e
+0x4244    0x5815
+0x4245    0x59a5
+0x4246    0x60f0
+0x4247    0x6253
+0x4248    0x67c1
+0x4249    0x8235
+0x424a    0x6955
+0x424b    0x9640
+0x424c    0x99c4
+0x424d    0x9a28
+0x424e    0x4f53
+0x424f    0x5806
+0x4250    0x5bfe
+0x4251    0x8010
+0x4252    0x5cb1
+0x4253    0x5e2f
+0x4254    0x5f85
+0x4255    0x6020
+0x4256    0x614b
+0x4257    0x6234
+0x4258    0x66ff
+0x4259    0x6cf0
+0x425a    0x6ede
+0x425b    0x80ce
+0x425c    0x817f
+0x425d    0x82d4
+0x425e    0x888b
+0x425f    0x8cb8
+0x4260    0x9000
+0x4261    0x902e
+0x4262    0x968a
+0x4263    0x9edb
+0x4264    0x9bdb
+0x4265    0x4ee3
+0x4266    0x53f0
+0x4267    0x5927
+0x4268    0x7b2c
+0x4269    0x918d
+0x426a    0x984c
+0x426b    0x9df9
+0x426c    0x6edd
+0x426d    0x7027
+0x426e    0x5353
+0x426f    0x5544
+0x4270    0x5b85
+0x4271    0x6258
+0x4272    0x629e
+0x4273    0x62d3
+0x4274    0x6ca2
+0x4275    0x6fef
+0x4276    0x7422
+0x4277    0x8a17
+0x4278    0x9438
+0x4279    0x6fc1
+0x427a    0x8afe
+0x427b    0x8338
+0x427c    0x51e7
+0x427d    0x86f8
+0x427e    0x53ea
+0x4321    0x53e9
+0x4322    0x4f46
+0x4323    0x9054
+0x4324    0x8fb0
+0x4325    0x596a
+0x4326    0x8131
+0x4327    0x5dfd
+0x4328    0x7aea
+0x4329    0x8fbf
+0x432a    0x68da
+0x432b    0x8c37
+0x432c    0x72f8
+0x432d    0x9c48
+0x432e    0x6a3d
+0x432f    0x8ab0
+0x4330    0x4e39
+0x4331    0x5358
+0x4332    0x5606
+0x4333    0x5766
+0x4334    0x62c5
+0x4335    0x63a2
+0x4336    0x65e6
+0x4337    0x6b4e
+0x4338    0x6de1
+0x4339    0x6e5b
+0x433a    0x70ad
+0x433b    0x77ed
+0x433c    0x7aef
+0x433d    0x7baa
+0x433e    0x7dbb
+0x433f    0x803d
+0x4340    0x80c6
+0x4341    0x86cb
+0x4342    0x8a95
+0x4343    0x935b
+0x4344    0x56e3
+0x4345    0x58c7
+0x4346    0x5f3e
+0x4347    0x65ad
+0x4348    0x6696
+0x4349    0x6a80
+0x434a    0x6bb5
+0x434b    0x7537
+0x434c    0x8ac7
+0x434d    0x5024
+0x434e    0x77e5
+0x434f    0x5730
+0x4350    0x5f1b
+0x4351    0x6065
+0x4352    0x667a
+0x4353    0x6c60
+0x4354    0x75f4
+0x4355    0x7a1a
+0x4356    0x7f6e
+0x4357    0x81f4
+0x4358    0x8718
+0x4359    0x9045
+0x435a    0x99b3
+0x435b    0x7bc9
+0x435c    0x755c
+0x435d    0x7af9
+0x435e    0x7b51
+0x435f    0x84c4
+0x4360    0x9010
+0x4361    0x79e9
+0x4362    0x7a92
+0x4363    0x8336
+0x4364    0x5ae1
+0x4365    0x7740
+0x4366    0x4e2d
+0x4367    0x4ef2
+0x4368    0x5b99
+0x4369    0x5fe0
+0x436a    0x62bd
+0x436b    0x663c
+0x436c    0x67f1
+0x436d    0x6ce8
+0x436e    0x866b
+0x436f    0x8877
+0x4370    0x8a3b
+0x4371    0x914e
+0x4372    0x92f3
+0x4373    0x99d0
+0x4374    0x6a17
+0x4375    0x7026
+0x4376    0x732a
+0x4377    0x82e7
+0x4378    0x8457
+0x4379    0x8caf
+0x437a    0x4e01
+0x437b    0x5146
+0x437c    0x51cb
+0x437d    0x558b
+0x437e    0x5bf5
+0x4421    0x5e16
+0x4422    0x5e33
+0x4423    0x5e81
+0x4424    0x5f14
+0x4425    0x5f35
+0x4426    0x5f6b
+0x4427    0x5fb4
+0x4428    0x61f2
+0x4429    0x6311
+0x442a    0x66a2
+0x442b    0x671d
+0x442c    0x6f6e
+0x442d    0x7252
+0x442e    0x753a
+0x442f    0x773a
+0x4430    0x8074
+0x4431    0x8139
+0x4432    0x8178
+0x4433    0x8776
+0x4434    0x8abf
+0x4435    0x8adc
+0x4436    0x8d85
+0x4437    0x8df3
+0x4438    0x929a
+0x4439    0x9577
+0x443a    0x9802
+0x443b    0x9ce5
+0x443c    0x52c5
+0x443d    0x6357
+0x443e    0x76f4
+0x443f    0x6715
+0x4440    0x6c88
+0x4441    0x73cd
+0x4442    0x8cc3
+0x4443    0x93ae
+0x4444    0x9673
+0x4445    0x6d25
+0x4446    0x589c
+0x4447    0x690e
+0x4448    0x69cc
+0x4449    0x8ffd
+0x444a    0x939a
+0x444b    0x75db
+0x444c    0x901a
+0x444d    0x585a
+0x444e    0x6802
+0x444f    0x63b4
+0x4450    0x69fb
+0x4451    0x4f43
+0x4452    0x6f2c
+0x4453    0x67d8
+0x4454    0x8fbb
+0x4455    0x8526
+0x4456    0x7db4
+0x4457    0x9354
+0x4458    0x693f
+0x4459    0x6f70
+0x445a    0x576a
+0x445b    0x58f7
+0x445c    0x5b2c
+0x445d    0x7d2c
+0x445e    0x722a
+0x445f    0x540a
+0x4460    0x91e3
+0x4461    0x9db4
+0x4462    0x4ead
+0x4463    0x4f4e
+0x4464    0x505c
+0x4465    0x5075
+0x4466    0x5243
+0x4467    0x8c9e
+0x4468    0x5448
+0x4469    0x5824
+0x446a    0x5b9a
+0x446b    0x5e1d
+0x446c    0x5e95
+0x446d    0x5ead
+0x446e    0x5ef7
+0x446f    0x5f1f
+0x4470    0x608c
+0x4471    0x62b5
+0x4472    0x633a
+0x4473    0x63d0
+0x4474    0x68af
+0x4475    0x6c40
+0x4476    0x7887
+0x4477    0x798e
+0x4478    0x7a0b
+0x4479    0x7de0
+0x447a    0x8247
+0x447b    0x8a02
+0x447c    0x8ae6
+0x447d    0x8e44
+0x447e    0x9013
+0x4521    0x90b8
+0x4522    0x912d
+0x4523    0x91d8
+0x4524    0x9f0e
+0x4525    0x6ce5
+0x4526    0x6458
+0x4527    0x64e2
+0x4528    0x6575
+0x4529    0x6ef4
+0x452a    0x7684
+0x452b    0x7b1b
+0x452c    0x9069
+0x452d    0x93d1
+0x452e    0x6eba
+0x452f    0x54f2
+0x4530    0x5fb9
+0x4531    0x64a4
+0x4532    0x8f4d
+0x4533    0x8fed
+0x4534    0x9244
+0x4535    0x5178
+0x4536    0x586b
+0x4537    0x5929
+0x4538    0x5c55
+0x4539    0x5e97
+0x453a    0x6dfb
+0x453b    0x7e8f
+0x453c    0x751c
+0x453d    0x8cbc
+0x453e    0x8ee2
+0x453f    0x985b
+0x4540    0x70b9
+0x4541    0x4f1d
+0x4542    0x6bbf
+0x4543    0x6fb1
+0x4544    0x7530
+0x4545    0x96fb
+0x4546    0x514e
+0x4547    0x5410
+0x4548    0x5835
+0x4549    0x5857
+0x454a    0x59ac
+0x454b    0x5c60
+0x454c    0x5f92
+0x454d    0x6597
+0x454e    0x675c
+0x454f    0x6e21
+0x4550    0x767b
+0x4551    0x83df
+0x4552    0x8ced
+0x4553    0x9014
+0x4554    0x90fd
+0x4555    0x934d
+0x4556    0x7825
+0x4557    0x783a
+0x4558    0x52aa
+0x4559    0x5ea6
+0x455a    0x571f
+0x455b    0x5974
+0x455c    0x6012
+0x455d    0x5012
+0x455e    0x515a
+0x455f    0x51ac
+0x4560    0x51cd
+0x4561    0x5200
+0x4562    0x5510
+0x4563    0x5854
+0x4564    0x5858
+0x4565    0x5957
+0x4566    0x5b95
+0x4567    0x5cf6
+0x4568    0x5d8b
+0x4569    0x60bc
+0x456a    0x6295
+0x456b    0x642d
+0x456c    0x6771
+0x456d    0x6843
+0x456e    0x68bc
+0x456f    0x68df
+0x4570    0x76d7
+0x4571    0x6dd8
+0x4572    0x6e6f
+0x4573    0x6d9b
+0x4574    0x706f
+0x4575    0x71c8
+0x4576    0x5f53
+0x4577    0x75d8
+0x4578    0x7977
+0x4579    0x7b49
+0x457a    0x7b54
+0x457b    0x7b52
+0x457c    0x7cd6
+0x457d    0x7d71
+0x457e    0x5230
+0x4621    0x8463
+0x4622    0x8569
+0x4623    0x85e4
+0x4624    0x8a0e
+0x4625    0x8b04
+0x4626    0x8c46
+0x4627    0x8e0f
+0x4628    0x9003
+0x4629    0x900f
+0x462a    0x9419
+0x462b    0x9676
+0x462c    0x982d
+0x462d    0x9a30
+0x462e    0x95d8
+0x462f    0x50cd
+0x4630    0x52d5
+0x4631    0x540c
+0x4632    0x5802
+0x4633    0x5c0e
+0x4634    0x61a7
+0x4635    0x649e
+0x4636    0x6d1e
+0x4637    0x77b3
+0x4638    0x7ae5
+0x4639    0x80f4
+0x463a    0x8404
+0x463b    0x9053
+0x463c    0x9285
+0x463d    0x5ce0
+0x463e    0x9d07
+0x463f    0x533f
+0x4640    0x5f97
+0x4641    0x5fb3
+0x4642    0x6d9c
+0x4643    0x7279
+0x4644    0x7763
+0x4645    0x79bf
+0x4646    0x7be4
+0x4647    0x6bd2
+0x4648    0x72ec
+0x4649    0x8aad
+0x464a    0x6803
+0x464b    0x6a61
+0x464c    0x51f8
+0x464d    0x7a81
+0x464e    0x6934
+0x464f    0x5c4a
+0x4650    0x9cf6
+0x4651    0x82eb
+0x4652    0x5bc5
+0x4653    0x9149
+0x4654    0x701e
+0x4655    0x5678
+0x4656    0x5c6f
+0x4657    0x60c7
+0x4658    0x6566
+0x4659    0x6c8c
+0x465a    0x8c5a
+0x465b    0x9041
+0x465c    0x9813
+0x465d    0x5451
+0x465e    0x66c7
+0x465f    0x920d
+0x4660    0x5948
+0x4661    0x90a3
+0x4662    0x5185
+0x4663    0x4e4d
+0x4664    0x51ea
+0x4665    0x8599
+0x4666    0x8b0e
+0x4667    0x7058
+0x4668    0x637a
+0x4669    0x934b
+0x466a    0x6962
+0x466b    0x99b4
+0x466c    0x7e04
+0x466d    0x7577
+0x466e    0x5357
+0x466f    0x6960
+0x4670    0x8edf
+0x4671    0x96e3
+0x4672    0x6c5d
+0x4673    0x4e8c
+0x4674    0x5c3c
+0x4675    0x5f10
+0x4676    0x8fe9
+0x4677    0x5302
+0x4678    0x8cd1
+0x4679    0x8089
+0x467a    0x8679
+0x467b    0x5eff
+0x467c    0x65e5
+0x467d    0x4e73
+0x467e    0x5165
+0x4721    0x5982
+0x4722    0x5c3f
+0x4723    0x97ee
+0x4724    0x4efb
+0x4725    0x598a
+0x4726    0x5fcd
+0x4727    0x8a8d
+0x4728    0x6fe1
+0x4729    0x79b0
+0x472a    0x7962
+0x472b    0x5be7
+0x472c    0x8471
+0x472d    0x732b
+0x472e    0x71b1
+0x472f    0x5e74
+0x4730    0x5ff5
+0x4731    0x637b
+0x4732    0x649a
+0x4733    0x71c3
+0x4734    0x7c98
+0x4735    0x4e43
+0x4736    0x5efc
+0x4737    0x4e4b
+0x4738    0x57dc
+0x4739    0x56a2
+0x473a    0x60a9
+0x473b    0x6fc3
+0x473c    0x7d0d
+0x473d    0x80fd
+0x473e    0x8133
+0x473f    0x81bf
+0x4740    0x8fb2
+0x4741    0x8997
+0x4742    0x86a4
+0x4743    0x5df4
+0x4744    0x628a
+0x4745    0x64ad
+0x4746    0x8987
+0x4747    0x6777
+0x4748    0x6ce2
+0x4749    0x6d3e
+0x474a    0x7436
+0x474b    0x7834
+0x474c    0x5a46
+0x474d    0x7f75
+0x474e    0x82ad
+0x474f    0x99ac
+0x4750    0x4ff3
+0x4751    0x5ec3
+0x4752    0x62dd
+0x4753    0x6392
+0x4754    0x6557
+0x4755    0x676f
+0x4756    0x76c3
+0x4757    0x724c
+0x4758    0x80cc
+0x4759    0x80ba
+0x475a    0x8f29
+0x475b    0x914d
+0x475c    0x500d
+0x475d    0x57f9
+0x475e    0x5a92
+0x475f    0x6885
+0x4760    0x6973
+0x4761    0x7164
+0x4762    0x72fd
+0x4763    0x8cb7
+0x4764    0x58f2
+0x4765    0x8ce0
+0x4766    0x966a
+0x4767    0x9019
+0x4768    0x877f
+0x4769    0x79e4
+0x476a    0x77e7
+0x476b    0x8429
+0x476c    0x4f2f
+0x476d    0x5265
+0x476e    0x535a
+0x476f    0x62cd
+0x4770    0x67cf
+0x4771    0x6cca
+0x4772    0x767d
+0x4773    0x7b94
+0x4774    0x7c95
+0x4775    0x8236
+0x4776    0x8584
+0x4777    0x8feb
+0x4778    0x66dd
+0x4779    0x6f20
+0x477a    0x7206
+0x477b    0x7e1b
+0x477c    0x83ab
+0x477d    0x99c1
+0x477e    0x9ea6
+0x4821    0x51fd
+0x4822    0x7bb1
+0x4823    0x7872
+0x4824    0x7bb8
+0x4825    0x8087
+0x4826    0x7b48
+0x4827    0x6ae8
+0x4828    0x5e61
+0x4829    0x808c
+0x482a    0x7551
+0x482b    0x7560
+0x482c    0x516b
+0x482d    0x9262
+0x482e    0x6e8c
+0x482f    0x767a
+0x4830    0x9197
+0x4831    0x9aea
+0x4832    0x4f10
+0x4833    0x7f70
+0x4834    0x629c
+0x4835    0x7b4f
+0x4836    0x95a5
+0x4837    0x9ce9
+0x4838    0x567a
+0x4839    0x5859
+0x483a    0x86e4
+0x483b    0x96bc
+0x483c    0x4f34
+0x483d    0x5224
+0x483e    0x534a
+0x483f    0x53cd
+0x4840    0x53db
+0x4841    0x5e06
+0x4842    0x642c
+0x4843    0x6591
+0x4844    0x677f
+0x4845    0x6c3e
+0x4846    0x6c4e
+0x4847    0x7248
+0x4848    0x72af
+0x4849    0x73ed
+0x484a    0x7554
+0x484b    0x7e41
+0x484c    0x822c
+0x484d    0x85e9
+0x484e    0x8ca9
+0x484f    0x7bc4
+0x4850    0x91c6
+0x4851    0x7169
+0x4852    0x9812
+0x4853    0x98ef
+0x4854    0x633d
+0x4855    0x6669
+0x4856    0x756a
+0x4857    0x76e4
+0x4858    0x78d0
+0x4859    0x8543
+0x485a    0x86ee
+0x485b    0x532a
+0x485c    0x5351
+0x485d    0x5426
+0x485e    0x5983
+0x485f    0x5e87
+0x4860    0x5f7c
+0x4861    0x60b2
+0x4862    0x6249
+0x4863    0x6279
+0x4864    0x62ab
+0x4865    0x6590
+0x4866    0x6bd4
+0x4867    0x6ccc
+0x4868    0x75b2
+0x4869    0x76ae
+0x486a    0x7891
+0x486b    0x79d8
+0x486c    0x7dcb
+0x486d    0x7f77
+0x486e    0x80a5
+0x486f    0x88ab
+0x4870    0x8ab9
+0x4871    0x8cbb
+0x4872    0x907f
+0x4873    0x975e
+0x4874    0x98db
+0x4875    0x6a0b
+0x4876    0x7c38
+0x4877    0x5099
+0x4878    0x5c3e
+0x4879    0x5fae
+0x487a    0x6787
+0x487b    0x6bd8
+0x487c    0x7435
+0x487d    0x7709
+0x487e    0x7f8e
+0x4921    0x9f3b
+0x4922    0x67ca
+0x4923    0x7a17
+0x4924    0x5339
+0x4925    0x758b
+0x4926    0x9aed
+0x4927    0x5f66
+0x4928    0x819d
+0x4929    0x83f1
+0x492a    0x8098
+0x492b    0x5f3c
+0x492c    0x5fc5
+0x492d    0x7562
+0x492e    0x7b46
+0x492f    0x903c
+0x4930    0x6867
+0x4931    0x59eb
+0x4932    0x5a9b
+0x4933    0x7d10
+0x4934    0x767e
+0x4935    0x8b2c
+0x4936    0x4ff5
+0x4937    0x5f6a
+0x4938    0x6a19
+0x4939    0x6c37
+0x493a    0x6f02
+0x493b    0x74e2
+0x493c    0x7968
+0x493d    0x8868
+0x493e    0x8a55
+0x493f    0x8c79
+0x4940    0x5edf
+0x4941    0x63cf
+0x4942    0x75c5
+0x4943    0x79d2
+0x4944    0x82d7
+0x4945    0x9328
+0x4946    0x92f2
+0x4947    0x849c
+0x4948    0x86ed
+0x4949    0x9c2d
+0x494a    0x54c1
+0x494b    0x5f6c
+0x494c    0x658c
+0x494d    0x6d5c
+0x494e    0x7015
+0x494f    0x8ca7
+0x4950    0x8cd3
+0x4951    0x983b
+0x4952    0x654f
+0x4953    0x74f6
+0x4954    0x4e0d
+0x4955    0x4ed8
+0x4956    0x57e0
+0x4957    0x592b
+0x4958    0x5a66
+0x4959    0x5bcc
+0x495a    0x51a8
+0x495b    0x5e03
+0x495c    0x5e9c
+0x495d    0x6016
+0x495e    0x6276
+0x495f    0x6577
+0x4960    0x65a7
+0x4961    0x666e
+0x4962    0x6d6e
+0x4963    0x7236
+0x4964    0x7b26
+0x4965    0x8150
+0x4966    0x819a
+0x4967    0x8299
+0x4968    0x8b5c
+0x4969    0x8ca0
+0x496a    0x8ce6
+0x496b    0x8d74
+0x496c    0x961c
+0x496d    0x9644
+0x496e    0x4fae
+0x496f    0x64ab
+0x4970    0x6b66
+0x4971    0x821e
+0x4972    0x8461
+0x4973    0x856a
+0x4974    0x90e8
+0x4975    0x5c01
+0x4976    0x6953
+0x4977    0x98a8
+0x4978    0x847a
+0x4979    0x8557
+0x497a    0x4f0f
+0x497b    0x526f
+0x497c    0x5fa9
+0x497d    0x5e45
+0x497e    0x670d
+0x4a21    0x798f
+0x4a22    0x8179
+0x4a23    0x8907
+0x4a24    0x8986
+0x4a25    0x6df5
+0x4a26    0x5f17
+0x4a27    0x6255
+0x4a28    0x6cb8
+0x4a29    0x4ecf
+0x4a2a    0x7269
+0x4a2b    0x9b92
+0x4a2c    0x5206
+0x4a2d    0x543b
+0x4a2e    0x5674
+0x4a2f    0x58b3
+0x4a30    0x61a4
+0x4a31    0x626e
+0x4a32    0x711a
+0x4a33    0x596e
+0x4a34    0x7c89
+0x4a35    0x7cde
+0x4a36    0x7d1b
+0x4a37    0x96f0
+0x4a38    0x6587
+0x4a39    0x805e
+0x4a3a    0x4e19
+0x4a3b    0x4f75
+0x4a3c    0x5175
+0x4a3d    0x5840
+0x4a3e    0x5e63
+0x4a3f    0x5e73
+0x4a40    0x5f0a
+0x4a41    0x67c4
+0x4a42    0x4e26
+0x4a43    0x853d
+0x4a44    0x9589
+0x4a45    0x965b
+0x4a46    0x7c73
+0x4a47    0x9801
+0x4a48    0x50fb
+0x4a49    0x58c1
+0x4a4a    0x7656
+0x4a4b    0x78a7
+0x4a4c    0x5225
+0x4a4d    0x77a5
+0x4a4e    0x8511
+0x4a4f    0x7b86
+0x4a50    0x504f
+0x4a51    0x5909
+0x4a52    0x7247
+0x4a53    0x7bc7
+0x4a54    0x7de8
+0x4a55    0x8fba
+0x4a56    0x8fd4
+0x4a57    0x904d
+0x4a58    0x4fbf
+0x4a59    0x52c9
+0x4a5a    0x5a29
+0x4a5b    0x5f01
+0x4a5c    0x97ad
+0x4a5d    0x4fdd
+0x4a5e    0x8217
+0x4a5f    0x92ea
+0x4a60    0x5703
+0x4a61    0x6355
+0x4a62    0x6b69
+0x4a63    0x752b
+0x4a64    0x88dc
+0x4a65    0x8f14
+0x4a66    0x7a42
+0x4a67    0x52df
+0x4a68    0x5893
+0x4a69    0x6155
+0x4a6a    0x620a
+0x4a6b    0x66ae
+0x4a6c    0x6bcd
+0x4a6d    0x7c3f
+0x4a6e    0x83e9
+0x4a6f    0x5023
+0x4a70    0x4ff8
+0x4a71    0x5305
+0x4a72    0x5446
+0x4a73    0x5831
+0x4a74    0x5949
+0x4a75    0x5b9d
+0x4a76    0x5cf0
+0x4a77    0x5cef
+0x4a78    0x5d29
+0x4a79    0x5e96
+0x4a7a    0x62b1
+0x4a7b    0x6367
+0x4a7c    0x653e
+0x4a7d    0x65b9
+0x4a7e    0x670b
+0x4b21    0x6cd5
+0x4b22    0x6ce1
+0x4b23    0x70f9
+0x4b24    0x7832
+0x4b25    0x7e2b
+0x4b26    0x80de
+0x4b27    0x82b3
+0x4b28    0x840c
+0x4b29    0x84ec
+0x4b2a    0x8702
+0x4b2b    0x8912
+0x4b2c    0x8a2a
+0x4b2d    0x8c4a
+0x4b2e    0x90a6
+0x4b2f    0x92d2
+0x4b30    0x98fd
+0x4b31    0x9cf3
+0x4b32    0x9d6c
+0x4b33    0x4e4f
+0x4b34    0x4ea1
+0x4b35    0x508d
+0x4b36    0x5256
+0x4b37    0x574a
+0x4b38    0x59a8
+0x4b39    0x5e3d
+0x4b3a    0x5fd8
+0x4b3b    0x5fd9
+0x4b3c    0x623f
+0x4b3d    0x66b4
+0x4b3e    0x671b
+0x4b3f    0x67d0
+0x4b40    0x68d2
+0x4b41    0x5192
+0x4b42    0x7d21
+0x4b43    0x80aa
+0x4b44    0x81a8
+0x4b45    0x8b00
+0x4b46    0x8c8c
+0x4b47    0x8cbf
+0x4b48    0x927e
+0x4b49    0x9632
+0x4b4a    0x5420
+0x4b4b    0x982c
+0x4b4c    0x5317
+0x4b4d    0x50d5
+0x4b4e    0x535c
+0x4b4f    0x58a8
+0x4b50    0x64b2
+0x4b51    0x6734
+0x4b52    0x7267
+0x4b53    0x7766
+0x4b54    0x7a46
+0x4b55    0x91e6
+0x4b56    0x52c3
+0x4b57    0x6ca1
+0x4b58    0x6b86
+0x4b59    0x5800
+0x4b5a    0x5e4c
+0x4b5b    0x5954
+0x4b5c    0x672c
+0x4b5d    0x7ffb
+0x4b5e    0x51e1
+0x4b5f    0x76c6
+0x4b60    0x6469
+0x4b61    0x78e8
+0x4b62    0x9b54
+0x4b63    0x9ebb
+0x4b64    0x57cb
+0x4b65    0x59b9
+0x4b66    0x6627
+0x4b67    0x679a
+0x4b68    0x6bce
+0x4b69    0x54e9
+0x4b6a    0x69d9
+0x4b6b    0x5e55
+0x4b6c    0x819c
+0x4b6d    0x6795
+0x4b6e    0x9baa
+0x4b6f    0x67fe
+0x4b70    0x9c52
+0x4b71    0x685d
+0x4b72    0x4ea6
+0x4b73    0x4fe3
+0x4b74    0x53c8
+0x4b75    0x62b9
+0x4b76    0x672b
+0x4b77    0x6cab
+0x4b78    0x8fc4
+0x4b79    0x4fad
+0x4b7a    0x7e6d
+0x4b7b    0x9ebf
+0x4b7c    0x4e07
+0x4b7d    0x6162
+0x4b7e    0x6e80
+0x4c21    0x6f2b
+0x4c22    0x8513
+0x4c23    0x5473
+0x4c24    0x672a
+0x4c25    0x9b45
+0x4c26    0x5df3
+0x4c27    0x7b95
+0x4c28    0x5cac
+0x4c29    0x5bc6
+0x4c2a    0x871c
+0x4c2b    0x6e4a
+0x4c2c    0x84d1
+0x4c2d    0x7a14
+0x4c2e    0x8108
+0x4c2f    0x5999
+0x4c30    0x7c8d
+0x4c31    0x6c11
+0x4c32    0x7720
+0x4c33    0x52d9
+0x4c34    0x5922
+0x4c35    0x7121
+0x4c36    0x725f
+0x4c37    0x77db
+0x4c38    0x9727
+0x4c39    0x9d61
+0x4c3a    0x690b
+0x4c3b    0x5a7f
+0x4c3c    0x5a18
+0x4c3d    0x51a5
+0x4c3e    0x540d
+0x4c3f    0x547d
+0x4c40    0x660e
+0x4c41    0x76df
+0x4c42    0x8ff7
+0x4c43    0x9298
+0x4c44    0x9cf4
+0x4c45    0x59ea
+0x4c46    0x725d
+0x4c47    0x6ec5
+0x4c48    0x514d
+0x4c49    0x68c9
+0x4c4a    0x7dbf
+0x4c4b    0x7dec
+0x4c4c    0x9762
+0x4c4d    0x9eba
+0x4c4e    0x6478
+0x4c4f    0x6a21
+0x4c50    0x8302
+0x4c51    0x5984
+0x4c52    0x5b5f
+0x4c53    0x6bdb
+0x4c54    0x731b
+0x4c55    0x76f2
+0x4c56    0x7db2
+0x4c57    0x8017
+0x4c58    0x8499
+0x4c59    0x5132
+0x4c5a    0x6728
+0x4c5b    0x9ed9
+0x4c5c    0x76ee
+0x4c5d    0x6762
+0x4c5e    0x52ff
+0x4c5f    0x9905
+0x4c60    0x5c24
+0x4c61    0x623b
+0x4c62    0x7c7e
+0x4c63    0x8cb0
+0x4c64    0x554f
+0x4c65    0x60b6
+0x4c66    0x7d0b
+0x4c67    0x9580
+0x4c68    0x5301
+0x4c69    0x4e5f
+0x4c6a    0x51b6
+0x4c6b    0x591c
+0x4c6c    0x723a
+0x4c6d    0x8036
+0x4c6e    0x91ce
+0x4c6f    0x5f25
+0x4c70    0x77e2
+0x4c71    0x5384
+0x4c72    0x5f79
+0x4c73    0x7d04
+0x4c74    0x85ac
+0x4c75    0x8a33
+0x4c76    0x8e8d
+0x4c77    0x9756
+0x4c78    0x67f3
+0x4c79    0x85ae
+0x4c7a    0x9453
+0x4c7b    0x6109
+0x4c7c    0x6108
+0x4c7d    0x6cb9
+0x4c7e    0x7652
+0x4d21    0x8aed
+0x4d22    0x8f38
+0x4d23    0x552f
+0x4d24    0x4f51
+0x4d25    0x512a
+0x4d26    0x52c7
+0x4d27    0x53cb
+0x4d28    0x5ba5
+0x4d29    0x5e7d
+0x4d2a    0x60a0
+0x4d2b    0x6182
+0x4d2c    0x63d6
+0x4d2d    0x6709
+0x4d2e    0x67da
+0x4d2f    0x6e67
+0x4d30    0x6d8c
+0x4d31    0x7336
+0x4d32    0x7337
+0x4d33    0x7531
+0x4d34    0x7950
+0x4d35    0x88d5
+0x4d36    0x8a98
+0x4d37    0x904a
+0x4d38    0x9091
+0x4d39    0x90f5
+0x4d3a    0x96c4
+0x4d3b    0x878d
+0x4d3c    0x5915
+0x4d3d    0x4e88
+0x4d3e    0x4f59
+0x4d3f    0x4e0e
+0x4d40    0x8a89
+0x4d41    0x8f3f
+0x4d42    0x9810
+0x4d43    0x50ad
+0x4d44    0x5e7c
+0x4d45    0x5996
+0x4d46    0x5bb9
+0x4d47    0x5eb8
+0x4d48    0x63da
+0x4d49    0x63fa
+0x4d4a    0x64c1
+0x4d4b    0x66dc
+0x4d4c    0x694a
+0x4d4d    0x69d8
+0x4d4e    0x6d0b
+0x4d4f    0x6eb6
+0x4d50    0x7194
+0x4d51    0x7528
+0x4d52    0x7aaf
+0x4d53    0x7f8a
+0x4d54    0x8000
+0x4d55    0x8449
+0x4d56    0x84c9
+0x4d57    0x8981
+0x4d58    0x8b21
+0x4d59    0x8e0a
+0x4d5a    0x9065
+0x4d5b    0x967d
+0x4d5c    0x990a
+0x4d5d    0x617e
+0x4d5e    0x6291
+0x4d5f    0x6b32
+0x4d60    0x6c83
+0x4d61    0x6d74
+0x4d62    0x7fcc
+0x4d63    0x7ffc
+0x4d64    0x6dc0
+0x4d65    0x7f85
+0x4d66    0x87ba
+0x4d67    0x88f8
+0x4d68    0x6765
+0x4d69    0x83b1
+0x4d6a    0x983c
+0x4d6b    0x96f7
+0x4d6c    0x6d1b
+0x4d6d    0x7d61
+0x4d6e    0x843d
+0x4d6f    0x916a
+0x4d70    0x4e71
+0x4d71    0x5375
+0x4d72    0x5d50
+0x4d73    0x6b04
+0x4d74    0x6feb
+0x4d75    0x85cd
+0x4d76    0x862d
+0x4d77    0x89a7
+0x4d78    0x5229
+0x4d79    0x540f
+0x4d7a    0x5c65
+0x4d7b    0x674e
+0x4d7c    0x68a8
+0x4d7d    0x7406
+0x4d7e    0x7483
+0x4e21    0x75e2
+0x4e22    0x88cf
+0x4e23    0x88e1
+0x4e24    0x91cc
+0x4e25    0x96e2
+0x4e26    0x9678
+0x4e27    0x5f8b
+0x4e28    0x7387
+0x4e29    0x7acb
+0x4e2a    0x844e
+0x4e2b    0x63a0
+0x4e2c    0x7565
+0x4e2d    0x5289
+0x4e2e    0x6d41
+0x4e2f    0x6e9c
+0x4e30    0x7409
+0x4e31    0x7559
+0x4e32    0x786b
+0x4e33    0x7c92
+0x4e34    0x9686
+0x4e35    0x7adc
+0x4e36    0x9f8d
+0x4e37    0x4fb6
+0x4e38    0x616e
+0x4e39    0x65c5
+0x4e3a    0x865c
+0x4e3b    0x4e86
+0x4e3c    0x4eae
+0x4e3d    0x50da
+0x4e3e    0x4e21
+0x4e3f    0x51cc
+0x4e40    0x5bee
+0x4e41    0x6599
+0x4e42    0x6881
+0x4e43    0x6dbc
+0x4e44    0x731f
+0x4e45    0x7642
+0x4e46    0x77ad
+0x4e47    0x7a1c
+0x4e48    0x7ce7
+0x4e49    0x826f
+0x4e4a    0x8ad2
+0x4e4b    0x907c
+0x4e4c    0x91cf
+0x4e4d    0x9675
+0x4e4e    0x9818
+0x4e4f    0x529b
+0x4e50    0x7dd1
+0x4e51    0x502b
+0x4e52    0x5398
+0x4e53    0x6797
+0x4e54    0x6dcb
+0x4e55    0x71d0
+0x4e56    0x7433
+0x4e57    0x81e8
+0x4e58    0x8f2a
+0x4e59    0x96a3
+0x4e5a    0x9c57
+0x4e5b    0x9e9f
+0x4e5c    0x7460
+0x4e5d    0x5841
+0x4e5e    0x6d99
+0x4e5f    0x7d2f
+0x4e60    0x985e
+0x4e61    0x4ee4
+0x4e62    0x4f36
+0x4e63    0x4f8b
+0x4e64    0x51b7
+0x4e65    0x52b1
+0x4e66    0x5dba
+0x4e67    0x601c
+0x4e68    0x73b2
+0x4e69    0x793c
+0x4e6a    0x82d3
+0x4e6b    0x9234
+0x4e6c    0x96b7
+0x4e6d    0x96f6
+0x4e6e    0x970a
+0x4e6f    0x9e97
+0x4e70    0x9f62
+0x4e71    0x66a6
+0x4e72    0x6b74
+0x4e73    0x5217
+0x4e74    0x52a3
+0x4e75    0x70c8
+0x4e76    0x88c2
+0x4e77    0x5ec9
+0x4e78    0x604b
+0x4e79    0x6190
+0x4e7a    0x6f23
+0x4e7b    0x7149
+0x4e7c    0x7c3e
+0x4e7d    0x7df4
+0x4e7e    0x806f
+0x4f21    0x84ee
+0x4f22    0x9023
+0x4f23    0x932c
+0x4f24    0x5442
+0x4f25    0x9b6f
+0x4f26    0x6ad3
+0x4f27    0x7089
+0x4f28    0x8cc2
+0x4f29    0x8def
+0x4f2a    0x9732
+0x4f2b    0x52b4
+0x4f2c    0x5a41
+0x4f2d    0x5eca
+0x4f2e    0x5f04
+0x4f2f    0x6717
+0x4f30    0x697c
+0x4f31    0x6994
+0x4f32    0x6d6a
+0x4f33    0x6f0f
+0x4f34    0x7262
+0x4f35    0x72fc
+0x4f36    0x7bed
+0x4f37    0x8001
+0x4f38    0x807e
+0x4f39    0x874b
+0x4f3a    0x90ce
+0x4f3b    0x516d
+0x4f3c    0x9e93
+0x4f3d    0x7984
+0x4f3e    0x808b
+0x4f3f    0x9332
+0x4f40    0x8ad6
+0x4f41    0x502d
+0x4f42    0x548c
+0x4f43    0x8a71
+0x4f44    0x6b6a
+0x4f45    0x8cc4
+0x4f46    0x8107
+0x4f47    0x60d1
+0x4f48    0x67a0
+0x4f49    0x9df2
+0x4f4a    0x4e99
+0x4f4b    0x4e98
+0x4f4c    0x9c10
+0x4f4d    0x8a6b
+0x4f4e    0x85c1
+0x4f4f    0x8568
+0x4f50    0x6900
+0x4f51    0x6e7e
+0x4f52    0x7897
+0x4f53    0x8155
+0x5021    0x5f0c
+0x5022    0x4e10
+0x5023    0x4e15
+0x5024    0x4e2a
+0x5025    0x4e31
+0x5026    0x4e36
+0x5027    0x4e3c
+0x5028    0x4e3f
+0x5029    0x4e42
+0x502a    0x4e56
+0x502b    0x4e58
+0x502c    0x4e82
+0x502d    0x4e85
+0x502e    0x8c6b
+0x502f    0x4e8a
+0x5030    0x8212
+0x5031    0x5f0d
+0x5032    0x4e8e
+0x5033    0x4e9e
+0x5034    0x4e9f
+0x5035    0x4ea0
+0x5036    0x4ea2
+0x5037    0x4eb0
+0x5038    0x4eb3
+0x5039    0x4eb6
+0x503a    0x4ece
+0x503b    0x4ecd
+0x503c    0x4ec4
+0x503d    0x4ec6
+0x503e    0x4ec2
+0x503f    0x4ed7
+0x5040    0x4ede
+0x5041    0x4eed
+0x5042    0x4edf
+0x5043    0x4ef7
+0x5044    0x4f09
+0x5045    0x4f5a
+0x5046    0x4f30
+0x5047    0x4f5b
+0x5048    0x4f5d
+0x5049    0x4f57
+0x504a    0x4f47
+0x504b    0x4f76
+0x504c    0x4f88
+0x504d    0x4f8f
+0x504e    0x4f98
+0x504f    0x4f7b
+0x5050    0x4f69
+0x5051    0x4f70
+0x5052    0x4f91
+0x5053    0x4f6f
+0x5054    0x4f86
+0x5055    0x4f96
+0x5056    0x5118
+0x5057    0x4fd4
+0x5058    0x4fdf
+0x5059    0x4fce
+0x505a    0x4fd8
+0x505b    0x4fdb
+0x505c    0x4fd1
+0x505d    0x4fda
+0x505e    0x4fd0
+0x505f    0x4fe4
+0x5060    0x4fe5
+0x5061    0x501a
+0x5062    0x5028
+0x5063    0x5014
+0x5064    0x502a
+0x5065    0x5025
+0x5066    0x5005
+0x5067    0x4f1c
+0x5068    0x4ff6
+0x5069    0x5021
+0x506a    0x5029
+0x506b    0x502c
+0x506c    0x4ffe
+0x506d    0x4fef
+0x506e    0x5011
+0x506f    0x5006
+0x5070    0x5043
+0x5071    0x5047
+0x5072    0x6703
+0x5073    0x5055
+0x5074    0x5050
+0x5075    0x5048
+0x5076    0x505a
+0x5077    0x5056
+0x5078    0x506c
+0x5079    0x5078
+0x507a    0x5080
+0x507b    0x509a
+0x507c    0x5085
+0x507d    0x50b4
+0x507e    0x50b2
+0x5121    0x50c9
+0x5122    0x50ca
+0x5123    0x50b3
+0x5124    0x50c2
+0x5125    0x50d6
+0x5126    0x50de
+0x5127    0x50e5
+0x5128    0x50ed
+0x5129    0x50e3
+0x512a    0x50ee
+0x512b    0x50f9
+0x512c    0x50f5
+0x512d    0x5109
+0x512e    0x5101
+0x512f    0x5102
+0x5130    0x5116
+0x5131    0x5115
+0x5132    0x5114
+0x5133    0x511a
+0x5134    0x5121
+0x5135    0x513a
+0x5136    0x5137
+0x5137    0x513c
+0x5138    0x513b
+0x5139    0x513f
+0x513a    0x5140
+0x513b    0x5152
+0x513c    0x514c
+0x513d    0x5154
+0x513e    0x5162
+0x513f    0x7af8
+0x5140    0x5169
+0x5141    0x516a
+0x5142    0x516e
+0x5143    0x5180
+0x5144    0x5182
+0x5145    0x56d8
+0x5146    0x518c
+0x5147    0x5189
+0x5148    0x518f
+0x5149    0x5191
+0x514a    0x5193
+0x514b    0x5195
+0x514c    0x5196
+0x514d    0x51a4
+0x514e    0x51a6
+0x514f    0x51a2
+0x5150    0x51a9
+0x5151    0x51aa
+0x5152    0x51ab
+0x5153    0x51b3
+0x5154    0x51b1
+0x5155    0x51b2
+0x5156    0x51b0
+0x5157    0x51b5
+0x5158    0x51bd
+0x5159    0x51c5
+0x515a    0x51c9
+0x515b    0x51db
+0x515c    0x51e0
+0x515d    0x8655
+0x515e    0x51e9
+0x515f    0x51ed
+0x5160    0x51f0
+0x5161    0x51f5
+0x5162    0x51fe
+0x5163    0x5204
+0x5164    0x520b
+0x5165    0x5214
+0x5166    0x520e
+0x5167    0x5227
+0x5168    0x522a
+0x5169    0x522e
+0x516a    0x5233
+0x516b    0x5239
+0x516c    0x524f
+0x516d    0x5244
+0x516e    0x524b
+0x516f    0x524c
+0x5170    0x525e
+0x5171    0x5254
+0x5172    0x526a
+0x5173    0x5274
+0x5174    0x5269
+0x5175    0x5273
+0x5176    0x527f
+0x5177    0x527d
+0x5178    0x528d
+0x5179    0x5294
+0x517a    0x5292
+0x517b    0x5271
+0x517c    0x5288
+0x517d    0x5291
+0x517e    0x8fa8
+0x5221    0x8fa7
+0x5222    0x52ac
+0x5223    0x52ad
+0x5224    0x52bc
+0x5225    0x52b5
+0x5226    0x52c1
+0x5227    0x52cd
+0x5228    0x52d7
+0x5229    0x52de
+0x522a    0x52e3
+0x522b    0x52e6
+0x522c    0x98ed
+0x522d    0x52e0
+0x522e    0x52f3
+0x522f    0x52f5
+0x5230    0x52f8
+0x5231    0x52f9
+0x5232    0x5306
+0x5233    0x5308
+0x5234    0x7538
+0x5235    0x530d
+0x5236    0x5310
+0x5237    0x530f
+0x5238    0x5315
+0x5239    0x531a
+0x523a    0x5323
+0x523b    0x532f
+0x523c    0x5331
+0x523d    0x5333
+0x523e    0x5338
+0x523f    0x5340
+0x5240    0x5346
+0x5241    0x5345
+0x5242    0x4e17
+0x5243    0x5349
+0x5244    0x534d
+0x5245    0x51d6
+0x5246    0x535e
+0x5247    0x5369
+0x5248    0x536e
+0x5249    0x5918
+0x524a    0x537b
+0x524b    0x5377
+0x524c    0x5382
+0x524d    0x5396
+0x524e    0x53a0
+0x524f    0x53a6
+0x5250    0x53a5
+0x5251    0x53ae
+0x5252    0x53b0
+0x5253    0x53b6
+0x5254    0x53c3
+0x5255    0x7c12
+0x5256    0x96d9
+0x5257    0x53df
+0x5258    0x66fc
+0x5259    0x71ee
+0x525a    0x53ee
+0x525b    0x53e8
+0x525c    0x53ed
+0x525d    0x53fa
+0x525e    0x5401
+0x525f    0x543d
+0x5260    0x5440
+0x5261    0x542c
+0x5262    0x542d
+0x5263    0x543c
+0x5264    0x542e
+0x5265    0x5436
+0x5266    0x5429
+0x5267    0x541d
+0x5268    0x544e
+0x5269    0x548f
+0x526a    0x5475
+0x526b    0x548e
+0x526c    0x545f
+0x526d    0x5471
+0x526e    0x5477
+0x526f    0x5470
+0x5270    0x5492
+0x5271    0x547b
+0x5272    0x5480
+0x5273    0x5476
+0x5274    0x5484
+0x5275    0x5490
+0x5276    0x5486
+0x5277    0x54c7
+0x5278    0x54a2
+0x5279    0x54b8
+0x527a    0x54a5
+0x527b    0x54ac
+0x527c    0x54c4
+0x527d    0x54c8
+0x527e    0x54a8
+0x5321    0x54ab
+0x5322    0x54c2
+0x5323    0x54a4
+0x5324    0x54be
+0x5325    0x54bc
+0x5326    0x54d8
+0x5327    0x54e5
+0x5328    0x54e6
+0x5329    0x550f
+0x532a    0x5514
+0x532b    0x54fd
+0x532c    0x54ee
+0x532d    0x54ed
+0x532e    0x54fa
+0x532f    0x54e2
+0x5330    0x5539
+0x5331    0x5540
+0x5332    0x5563
+0x5333    0x554c
+0x5334    0x552e
+0x5335    0x555c
+0x5336    0x5545
+0x5337    0x5556
+0x5338    0x5557
+0x5339    0x5538
+0x533a    0x5533
+0x533b    0x555d
+0x533c    0x5599
+0x533d    0x5580
+0x533e    0x54af
+0x533f    0x558a
+0x5340    0x559f
+0x5341    0x557b
+0x5342    0x557e
+0x5343    0x5598
+0x5344    0x559e
+0x5345    0x55ae
+0x5346    0x557c
+0x5347    0x5583
+0x5348    0x55a9
+0x5349    0x5587
+0x534a    0x55a8
+0x534b    0x55da
+0x534c    0x55c5
+0x534d    0x55df
+0x534e    0x55c4
+0x534f    0x55dc
+0x5350    0x55e4
+0x5351    0x55d4
+0x5352    0x5614
+0x5353    0x55f7
+0x5354    0x5616
+0x5355    0x55fe
+0x5356    0x55fd
+0x5357    0x561b
+0x5358    0x55f9
+0x5359    0x564e
+0x535a    0x5650
+0x535b    0x71df
+0x535c    0x5634
+0x535d    0x5636
+0x535e    0x5632
+0x535f    0x5638
+0x5360    0x566b
+0x5361    0x5664
+0x5362    0x562f
+0x5363    0x566c
+0x5364    0x566a
+0x5365    0x5686
+0x5366    0x5680
+0x5367    0x568a
+0x5368    0x56a0
+0x5369    0x5694
+0x536a    0x568f
+0x536b    0x56a5
+0x536c    0x56ae
+0x536d    0x56b6
+0x536e    0x56b4
+0x536f    0x56c2
+0x5370    0x56bc
+0x5371    0x56c1
+0x5372    0x56c3
+0x5373    0x56c0
+0x5374    0x56c8
+0x5375    0x56ce
+0x5376    0x56d1
+0x5377    0x56d3
+0x5378    0x56d7
+0x5379    0x56ee
+0x537a    0x56f9
+0x537b    0x5700
+0x537c    0x56ff
+0x537d    0x5704
+0x537e    0x5709
+0x5421    0x5708
+0x5422    0x570b
+0x5423    0x570d
+0x5424    0x5713
+0x5425    0x5718
+0x5426    0x5716
+0x5427    0x55c7
+0x5428    0x571c
+0x5429    0x5726
+0x542a    0x5737
+0x542b    0x5738
+0x542c    0x574e
+0x542d    0x573b
+0x542e    0x5740
+0x542f    0x574f
+0x5430    0x5769
+0x5431    0x57c0
+0x5432    0x5788
+0x5433    0x5761
+0x5434    0x577f
+0x5435    0x5789
+0x5436    0x5793
+0x5437    0x57a0
+0x5438    0x57b3
+0x5439    0x57a4
+0x543a    0x57aa
+0x543b    0x57b0
+0x543c    0x57c3
+0x543d    0x57c6
+0x543e    0x57d4
+0x543f    0x57d2
+0x5440    0x57d3
+0x5441    0x580a
+0x5442    0x57d6
+0x5443    0x57e3
+0x5444    0x580b
+0x5445    0x5819
+0x5446    0x581d
+0x5447    0x5872
+0x5448    0x5821
+0x5449    0x5862
+0x544a    0x584b
+0x544b    0x5870
+0x544c    0x6bc0
+0x544d    0x5852
+0x544e    0x583d
+0x544f    0x5879
+0x5450    0x5885
+0x5451    0x58b9
+0x5452    0x589f
+0x5453    0x58ab
+0x5454    0x58ba
+0x5455    0x58de
+0x5456    0x58bb
+0x5457    0x58b8
+0x5458    0x58ae
+0x5459    0x58c5
+0x545a    0x58d3
+0x545b    0x58d1
+0x545c    0x58d7
+0x545d    0x58d9
+0x545e    0x58d8
+0x545f    0x58e5
+0x5460    0x58dc
+0x5461    0x58e4
+0x5462    0x58df
+0x5463    0x58ef
+0x5464    0x58fa
+0x5465    0x58f9
+0x5466    0x58fb
+0x5467    0x58fc
+0x5468    0x58fd
+0x5469    0x5902
+0x546a    0x590a
+0x546b    0x5910
+0x546c    0x591b
+0x546d    0x68a6
+0x546e    0x5925
+0x546f    0x592c
+0x5470    0x592d
+0x5471    0x5932
+0x5472    0x5938
+0x5473    0x593e
+0x5474    0x7ad2
+0x5475    0x5955
+0x5476    0x5950
+0x5477    0x594e
+0x5478    0x595a
+0x5479    0x5958
+0x547a    0x5962
+0x547b    0x5960
+0x547c    0x5967
+0x547d    0x596c
+0x547e    0x5969
+0x5521    0x5978
+0x5522    0x5981
+0x5523    0x599d
+0x5524    0x4f5e
+0x5525    0x4fab
+0x5526    0x59a3
+0x5527    0x59b2
+0x5528    0x59c6
+0x5529    0x59e8
+0x552a    0x59dc
+0x552b    0x598d
+0x552c    0x59d9
+0x552d    0x59da
+0x552e    0x5a25
+0x552f    0x5a1f
+0x5530    0x5a11
+0x5531    0x5a1c
+0x5532    0x5a09
+0x5533    0x5a1a
+0x5534    0x5a40
+0x5535    0x5a6c
+0x5536    0x5a49
+0x5537    0x5a35
+0x5538    0x5a36
+0x5539    0x5a62
+0x553a    0x5a6a
+0x553b    0x5a9a
+0x553c    0x5abc
+0x553d    0x5abe
+0x553e    0x5acb
+0x553f    0x5ac2
+0x5540    0x5abd
+0x5541    0x5ae3
+0x5542    0x5ad7
+0x5543    0x5ae6
+0x5544    0x5ae9
+0x5545    0x5ad6
+0x5546    0x5afa
+0x5547    0x5afb
+0x5548    0x5b0c
+0x5549    0x5b0b
+0x554a    0x5b16
+0x554b    0x5b32
+0x554c    0x5ad0
+0x554d    0x5b2a
+0x554e    0x5b36
+0x554f    0x5b3e
+0x5550    0x5b43
+0x5551    0x5b45
+0x5552    0x5b40
+0x5553    0x5b51
+0x5554    0x5b55
+0x5555    0x5b5a
+0x5556    0x5b5b
+0x5557    0x5b65
+0x5558    0x5b69
+0x5559    0x5b70
+0x555a    0x5b73
+0x555b    0x5b75
+0x555c    0x5b78
+0x555d    0x6588
+0x555e    0x5b7a
+0x555f    0x5b80
+0x5560    0x5b83
+0x5561    0x5ba6
+0x5562    0x5bb8
+0x5563    0x5bc3
+0x5564    0x5bc7
+0x5565    0x5bc9
+0x5566    0x5bd4
+0x5567    0x5bd0
+0x5568    0x5be4
+0x5569    0x5be6
+0x556a    0x5be2
+0x556b    0x5bde
+0x556c    0x5be5
+0x556d    0x5beb
+0x556e    0x5bf0
+0x556f    0x5bf6
+0x5570    0x5bf3
+0x5571    0x5c05
+0x5572    0x5c07
+0x5573    0x5c08
+0x5574    0x5c0d
+0x5575    0x5c13
+0x5576    0x5c20
+0x5577    0x5c22
+0x5578    0x5c28
+0x5579    0x5c38
+0x557a    0x5c39
+0x557b    0x5c41
+0x557c    0x5c46
+0x557d    0x5c4e
+0x557e    0x5c53
+0x5621    0x5c50
+0x5622    0x5c4f
+0x5623    0x5b71
+0x5624    0x5c6c
+0x5625    0x5c6e
+0x5626    0x4e62
+0x5627    0x5c76
+0x5628    0x5c79
+0x5629    0x5c8c
+0x562a    0x5c91
+0x562b    0x5c94
+0x562c    0x599b
+0x562d    0x5cab
+0x562e    0x5cbb
+0x562f    0x5cb6
+0x5630    0x5cbc
+0x5631    0x5cb7
+0x5632    0x5cc5
+0x5633    0x5cbe
+0x5634    0x5cc7
+0x5635    0x5cd9
+0x5636    0x5ce9
+0x5637    0x5cfd
+0x5638    0x5cfa
+0x5639    0x5ced
+0x563a    0x5d8c
+0x563b    0x5cea
+0x563c    0x5d0b
+0x563d    0x5d15
+0x563e    0x5d17
+0x563f    0x5d5c
+0x5640    0x5d1f
+0x5641    0x5d1b
+0x5642    0x5d11
+0x5643    0x5d14
+0x5644    0x5d22
+0x5645    0x5d1a
+0x5646    0x5d19
+0x5647    0x5d18
+0x5648    0x5d4c
+0x5649    0x5d52
+0x564a    0x5d4e
+0x564b    0x5d4b
+0x564c    0x5d6c
+0x564d    0x5d73
+0x564e    0x5d76
+0x564f    0x5d87
+0x5650    0x5d84
+0x5651    0x5d82
+0x5652    0x5da2
+0x5653    0x5d9d
+0x5654    0x5dac
+0x5655    0x5dae
+0x5656    0x5dbd
+0x5657    0x5d90
+0x5658    0x5db7
+0x5659    0x5dbc
+0x565a    0x5dc9
+0x565b    0x5dcd
+0x565c    0x5dd3
+0x565d    0x5dd2
+0x565e    0x5dd6
+0x565f    0x5ddb
+0x5660    0x5deb
+0x5661    0x5df2
+0x5662    0x5df5
+0x5663    0x5e0b
+0x5664    0x5e1a
+0x5665    0x5e19
+0x5666    0x5e11
+0x5667    0x5e1b
+0x5668    0x5e36
+0x5669    0x5e37
+0x566a    0x5e44
+0x566b    0x5e43
+0x566c    0x5e40
+0x566d    0x5e4e
+0x566e    0x5e57
+0x566f    0x5e54
+0x5670    0x5e5f
+0x5671    0x5e62
+0x5672    0x5e64
+0x5673    0x5e47
+0x5674    0x5e75
+0x5675    0x5e76
+0x5676    0x5e7a
+0x5677    0x9ebc
+0x5678    0x5e7f
+0x5679    0x5ea0
+0x567a    0x5ec1
+0x567b    0x5ec2
+0x567c    0x5ec8
+0x567d    0x5ed0
+0x567e    0x5ecf
+0x5721    0x5ed6
+0x5722    0x5ee3
+0x5723    0x5edd
+0x5724    0x5eda
+0x5725    0x5edb
+0x5726    0x5ee2
+0x5727    0x5ee1
+0x5728    0x5ee8
+0x5729    0x5ee9
+0x572a    0x5eec
+0x572b    0x5ef1
+0x572c    0x5ef3
+0x572d    0x5ef0
+0x572e    0x5ef4
+0x572f    0x5ef8
+0x5730    0x5efe
+0x5731    0x5f03
+0x5732    0x5f09
+0x5733    0x5f5d
+0x5734    0x5f5c
+0x5735    0x5f0b
+0x5736    0x5f11
+0x5737    0x5f16
+0x5738    0x5f29
+0x5739    0x5f2d
+0x573a    0x5f38
+0x573b    0x5f41
+0x573c    0x5f48
+0x573d    0x5f4c
+0x573e    0x5f4e
+0x573f    0x5f2f
+0x5740    0x5f51
+0x5741    0x5f56
+0x5742    0x5f57
+0x5743    0x5f59
+0x5744    0x5f61
+0x5745    0x5f6d
+0x5746    0x5f73
+0x5747    0x5f77
+0x5748    0x5f83
+0x5749    0x5f82
+0x574a    0x5f7f
+0x574b    0x5f8a
+0x574c    0x5f88
+0x574d    0x5f91
+0x574e    0x5f87
+0x574f    0x5f9e
+0x5750    0x5f99
+0x5751    0x5f98
+0x5752    0x5fa0
+0x5753    0x5fa8
+0x5754    0x5fad
+0x5755    0x5fbc
+0x5756    0x5fd6
+0x5757    0x5ffb
+0x5758    0x5fe4
+0x5759    0x5ff8
+0x575a    0x5ff1
+0x575b    0x5fdd
+0x575c    0x60b3
+0x575d    0x5fff
+0x575e    0x6021
+0x575f    0x6060
+0x5760    0x6019
+0x5761    0x6010
+0x5762    0x6029
+0x5763    0x600e
+0x5764    0x6031
+0x5765    0x601b
+0x5766    0x6015
+0x5767    0x602b
+0x5768    0x6026
+0x5769    0x600f
+0x576a    0x603a
+0x576b    0x605a
+0x576c    0x6041
+0x576d    0x606a
+0x576e    0x6077
+0x576f    0x605f
+0x5770    0x604a
+0x5771    0x6046
+0x5772    0x604d
+0x5773    0x6063
+0x5774    0x6043
+0x5775    0x6064
+0x5776    0x6042
+0x5777    0x606c
+0x5778    0x606b
+0x5779    0x6059
+0x577a    0x6081
+0x577b    0x608d
+0x577c    0x60e7
+0x577d    0x6083
+0x577e    0x609a
+0x5821    0x6084
+0x5822    0x609b
+0x5823    0x6096
+0x5824    0x6097
+0x5825    0x6092
+0x5826    0x60a7
+0x5827    0x608b
+0x5828    0x60e1
+0x5829    0x60b8
+0x582a    0x60e0
+0x582b    0x60d3
+0x582c    0x60b4
+0x582d    0x5ff0
+0x582e    0x60bd
+0x582f    0x60c6
+0x5830    0x60b5
+0x5831    0x60d8
+0x5832    0x614d
+0x5833    0x6115
+0x5834    0x6106
+0x5835    0x60f6
+0x5836    0x60f7
+0x5837    0x6100
+0x5838    0x60f4
+0x5839    0x60fa
+0x583a    0x6103
+0x583b    0x6121
+0x583c    0x60fb
+0x583d    0x60f1
+0x583e    0x610d
+0x583f    0x610e
+0x5840    0x6147
+0x5841    0x613e
+0x5842    0x6128
+0x5843    0x6127
+0x5844    0x614a
+0x5845    0x613f
+0x5846    0x613c
+0x5847    0x612c
+0x5848    0x6134
+0x5849    0x613d
+0x584a    0x6142
+0x584b    0x6144
+0x584c    0x6173
+0x584d    0x6177
+0x584e    0x6158
+0x584f    0x6159
+0x5850    0x615a
+0x5851    0x616b
+0x5852    0x6174
+0x5853    0x616f
+0x5854    0x6165
+0x5855    0x6171
+0x5856    0x615f
+0x5857    0x615d
+0x5858    0x6153
+0x5859    0x6175
+0x585a    0x6199
+0x585b    0x6196
+0x585c    0x6187
+0x585d    0x61ac
+0x585e    0x6194
+0x585f    0x619a
+0x5860    0x618a
+0x5861    0x6191
+0x5862    0x61ab
+0x5863    0x61ae
+0x5864    0x61cc
+0x5865    0x61ca
+0x5866    0x61c9
+0x5867    0x61f7
+0x5868    0x61c8
+0x5869    0x61c3
+0x586a    0x61c6
+0x586b    0x61ba
+0x586c    0x61cb
+0x586d    0x7f79
+0x586e    0x61cd
+0x586f    0x61e6
+0x5870    0x61e3
+0x5871    0x61f6
+0x5872    0x61fa
+0x5873    0x61f4
+0x5874    0x61ff
+0x5875    0x61fd
+0x5876    0x61fc
+0x5877    0x61fe
+0x5878    0x6200
+0x5879    0x6208
+0x587a    0x6209
+0x587b    0x620d
+0x587c    0x620c
+0x587d    0x6214
+0x587e    0x621b
+0x5921    0x621e
+0x5922    0x6221
+0x5923    0x622a
+0x5924    0x622e
+0x5925    0x6230
+0x5926    0x6232
+0x5927    0x6233
+0x5928    0x6241
+0x5929    0x624e
+0x592a    0x625e
+0x592b    0x6263
+0x592c    0x625b
+0x592d    0x6260
+0x592e    0x6268
+0x592f    0x627c
+0x5930    0x6282
+0x5931    0x6289
+0x5932    0x627e
+0x5933    0x6292
+0x5934    0x6293
+0x5935    0x6296
+0x5936    0x62d4
+0x5937    0x6283
+0x5938    0x6294
+0x5939    0x62d7
+0x593a    0x62d1
+0x593b    0x62bb
+0x593c    0x62cf
+0x593d    0x62ff
+0x593e    0x62c6
+0x593f    0x64d4
+0x5940    0x62c8
+0x5941    0x62dc
+0x5942    0x62cc
+0x5943    0x62ca
+0x5944    0x62c2
+0x5945    0x62c7
+0x5946    0x629b
+0x5947    0x62c9
+0x5948    0x630c
+0x5949    0x62ee
+0x594a    0x62f1
+0x594b    0x6327
+0x594c    0x6302
+0x594d    0x6308
+0x594e    0x62ef
+0x594f    0x62f5
+0x5950    0x6350
+0x5951    0x633e
+0x5952    0x634d
+0x5953    0x641c
+0x5954    0x634f
+0x5955    0x6396
+0x5956    0x638e
+0x5957    0x6380
+0x5958    0x63ab
+0x5959    0x6376
+0x595a    0x63a3
+0x595b    0x638f
+0x595c    0x6389
+0x595d    0x639f
+0x595e    0x63b5
+0x595f    0x636b
+0x5960    0x6369
+0x5961    0x63be
+0x5962    0x63e9
+0x5963    0x63c0
+0x5964    0x63c6
+0x5965    0x63e3
+0x5966    0x63c9
+0x5967    0x63d2
+0x5968    0x63f6
+0x5969    0x63c4
+0x596a    0x6416
+0x596b    0x6434
+0x596c    0x6406
+0x596d    0x6413
+0x596e    0x6426
+0x596f    0x6436
+0x5970    0x651d
+0x5971    0x6417
+0x5972    0x6428
+0x5973    0x640f
+0x5974    0x6467
+0x5975    0x646f
+0x5976    0x6476
+0x5977    0x644e
+0x5978    0x652a
+0x5979    0x6495
+0x597a    0x6493
+0x597b    0x64a5
+0x597c    0x64a9
+0x597d    0x6488
+0x597e    0x64bc
+0x5a21    0x64da
+0x5a22    0x64d2
+0x5a23    0x64c5
+0x5a24    0x64c7
+0x5a25    0x64bb
+0x5a26    0x64d8
+0x5a27    0x64c2
+0x5a28    0x64f1
+0x5a29    0x64e7
+0x5a2a    0x8209
+0x5a2b    0x64e0
+0x5a2c    0x64e1
+0x5a2d    0x62ac
+0x5a2e    0x64e3
+0x5a2f    0x64ef
+0x5a30    0x652c
+0x5a31    0x64f6
+0x5a32    0x64f4
+0x5a33    0x64f2
+0x5a34    0x64fa
+0x5a35    0x6500
+0x5a36    0x64fd
+0x5a37    0x6518
+0x5a38    0x651c
+0x5a39    0x6505
+0x5a3a    0x6524
+0x5a3b    0x6523
+0x5a3c    0x652b
+0x5a3d    0x6534
+0x5a3e    0x6535
+0x5a3f    0x6537
+0x5a40    0x6536
+0x5a41    0x6538
+0x5a42    0x754b
+0x5a43    0x6548
+0x5a44    0x6556
+0x5a45    0x6555
+0x5a46    0x654d
+0x5a47    0x6558
+0x5a48    0x655e
+0x5a49    0x655d
+0x5a4a    0x6572
+0x5a4b    0x6578
+0x5a4c    0x6582
+0x5a4d    0x6583
+0x5a4e    0x8b8a
+0x5a4f    0x659b
+0x5a50    0x659f
+0x5a51    0x65ab
+0x5a52    0x65b7
+0x5a53    0x65c3
+0x5a54    0x65c6
+0x5a55    0x65c1
+0x5a56    0x65c4
+0x5a57    0x65cc
+0x5a58    0x65d2
+0x5a59    0x65db
+0x5a5a    0x65d9
+0x5a5b    0x65e0
+0x5a5c    0x65e1
+0x5a5d    0x65f1
+0x5a5e    0x6772
+0x5a5f    0x660a
+0x5a60    0x6603
+0x5a61    0x65fb
+0x5a62    0x6773
+0x5a63    0x6635
+0x5a64    0x6636
+0x5a65    0x6634
+0x5a66    0x661c
+0x5a67    0x664f
+0x5a68    0x6644
+0x5a69    0x6649
+0x5a6a    0x6641
+0x5a6b    0x665e
+0x5a6c    0x665d
+0x5a6d    0x6664
+0x5a6e    0x6667
+0x5a6f    0x6668
+0x5a70    0x665f
+0x5a71    0x6662
+0x5a72    0x6670
+0x5a73    0x6683
+0x5a74    0x6688
+0x5a75    0x668e
+0x5a76    0x6689
+0x5a77    0x6684
+0x5a78    0x6698
+0x5a79    0x669d
+0x5a7a    0x66c1
+0x5a7b    0x66b9
+0x5a7c    0x66c9
+0x5a7d    0x66be
+0x5a7e    0x66bc
+0x5b21    0x66c4
+0x5b22    0x66b8
+0x5b23    0x66d6
+0x5b24    0x66da
+0x5b25    0x66e0
+0x5b26    0x663f
+0x5b27    0x66e6
+0x5b28    0x66e9
+0x5b29    0x66f0
+0x5b2a    0x66f5
+0x5b2b    0x66f7
+0x5b2c    0x670f
+0x5b2d    0x6716
+0x5b2e    0x671e
+0x5b2f    0x6726
+0x5b30    0x6727
+0x5b31    0x9738
+0x5b32    0x672e
+0x5b33    0x673f
+0x5b34    0x6736
+0x5b35    0x6741
+0x5b36    0x6738
+0x5b37    0x6737
+0x5b38    0x6746
+0x5b39    0x675e
+0x5b3a    0x6760
+0x5b3b    0x6759
+0x5b3c    0x6763
+0x5b3d    0x6764
+0x5b3e    0x6789
+0x5b3f    0x6770
+0x5b40    0x67a9
+0x5b41    0x677c
+0x5b42    0x676a
+0x5b43    0x678c
+0x5b44    0x678b
+0x5b45    0x67a6
+0x5b46    0x67a1
+0x5b47    0x6785
+0x5b48    0x67b7
+0x5b49    0x67ef
+0x5b4a    0x67b4
+0x5b4b    0x67ec
+0x5b4c    0x67b3
+0x5b4d    0x67e9
+0x5b4e    0x67b8
+0x5b4f    0x67e4
+0x5b50    0x67de
+0x5b51    0x67dd
+0x5b52    0x67e2
+0x5b53    0x67ee
+0x5b54    0x67b9
+0x5b55    0x67ce
+0x5b56    0x67c6
+0x5b57    0x67e7
+0x5b58    0x6a9c
+0x5b59    0x681e
+0x5b5a    0x6846
+0x5b5b    0x6829
+0x5b5c    0x6840
+0x5b5d    0x684d
+0x5b5e    0x6832
+0x5b5f    0x684e
+0x5b60    0x68b3
+0x5b61    0x682b
+0x5b62    0x6859
+0x5b63    0x6863
+0x5b64    0x6877
+0x5b65    0x687f
+0x5b66    0x689f
+0x5b67    0x688f
+0x5b68    0x68ad
+0x5b69    0x6894
+0x5b6a    0x689d
+0x5b6b    0x689b
+0x5b6c    0x6883
+0x5b6d    0x6aae
+0x5b6e    0x68b9
+0x5b6f    0x6874
+0x5b70    0x68b5
+0x5b71    0x68a0
+0x5b72    0x68ba
+0x5b73    0x690f
+0x5b74    0x688d
+0x5b75    0x687e
+0x5b76    0x6901
+0x5b77    0x68ca
+0x5b78    0x6908
+0x5b79    0x68d8
+0x5b7a    0x6922
+0x5b7b    0x6926
+0x5b7c    0x68e1
+0x5b7d    0x690c
+0x5b7e    0x68cd
+0x5c21    0x68d4
+0x5c22    0x68e7
+0x5c23    0x68d5
+0x5c24    0x6936
+0x5c25    0x6912
+0x5c26    0x6904
+0x5c27    0x68d7
+0x5c28    0x68e3
+0x5c29    0x6925
+0x5c2a    0x68f9
+0x5c2b    0x68e0
+0x5c2c    0x68ef
+0x5c2d    0x6928
+0x5c2e    0x692a
+0x5c2f    0x691a
+0x5c30    0x6923
+0x5c31    0x6921
+0x5c32    0x68c6
+0x5c33    0x6979
+0x5c34    0x6977
+0x5c35    0x695c
+0x5c36    0x6978
+0x5c37    0x696b
+0x5c38    0x6954
+0x5c39    0x697e
+0x5c3a    0x696e
+0x5c3b    0x6939
+0x5c3c    0x6974
+0x5c3d    0x693d
+0x5c3e    0x6959
+0x5c3f    0x6930
+0x5c40    0x6961
+0x5c41    0x695e
+0x5c42    0x695d
+0x5c43    0x6981
+0x5c44    0x696a
+0x5c45    0x69b2
+0x5c46    0x69ae
+0x5c47    0x69d0
+0x5c48    0x69bf
+0x5c49    0x69c1
+0x5c4a    0x69d3
+0x5c4b    0x69be
+0x5c4c    0x69ce
+0x5c4d    0x5be8
+0x5c4e    0x69ca
+0x5c4f    0x69dd
+0x5c50    0x69bb
+0x5c51    0x69c3
+0x5c52    0x69a7
+0x5c53    0x6a2e
+0x5c54    0x6991
+0x5c55    0x69a0
+0x5c56    0x699c
+0x5c57    0x6995
+0x5c58    0x69b4
+0x5c59    0x69de
+0x5c5a    0x69e8
+0x5c5b    0x6a02
+0x5c5c    0x6a1b
+0x5c5d    0x69ff
+0x5c5e    0x6b0a
+0x5c5f    0x69f9
+0x5c60    0x69f2
+0x5c61    0x69e7
+0x5c62    0x6a05
+0x5c63    0x69b1
+0x5c64    0x6a1e
+0x5c65    0x69ed
+0x5c66    0x6a14
+0x5c67    0x69eb
+0x5c68    0x6a0a
+0x5c69    0x6a12
+0x5c6a    0x6ac1
+0x5c6b    0x6a23
+0x5c6c    0x6a13
+0x5c6d    0x6a44
+0x5c6e    0x6a0c
+0x5c6f    0x6a72
+0x5c70    0x6a36
+0x5c71    0x6a78
+0x5c72    0x6a47
+0x5c73    0x6a62
+0x5c74    0x6a59
+0x5c75    0x6a66
+0x5c76    0x6a48
+0x5c77    0x6a38
+0x5c78    0x6a22
+0x5c79    0x6a90
+0x5c7a    0x6a8d
+0x5c7b    0x6aa0
+0x5c7c    0x6a84
+0x5c7d    0x6aa2
+0x5c7e    0x6aa3
+0x5d21    0x6a97
+0x5d22    0x8617
+0x5d23    0x6abb
+0x5d24    0x6ac3
+0x5d25    0x6ac2
+0x5d26    0x6ab8
+0x5d27    0x6ab3
+0x5d28    0x6aac
+0x5d29    0x6ade
+0x5d2a    0x6ad1
+0x5d2b    0x6adf
+0x5d2c    0x6aaa
+0x5d2d    0x6ada
+0x5d2e    0x6aea
+0x5d2f    0x6afb
+0x5d30    0x6b05
+0x5d31    0x8616
+0x5d32    0x6afa
+0x5d33    0x6b12
+0x5d34    0x6b16
+0x5d35    0x9b31
+0x5d36    0x6b1f
+0x5d37    0x6b38
+0x5d38    0x6b37
+0x5d39    0x76dc
+0x5d3a    0x6b39
+0x5d3b    0x98ee
+0x5d3c    0x6b47
+0x5d3d    0x6b43
+0x5d3e    0x6b49
+0x5d3f    0x6b50
+0x5d40    0x6b59
+0x5d41    0x6b54
+0x5d42    0x6b5b
+0x5d43    0x6b5f
+0x5d44    0x6b61
+0x5d45    0x6b78
+0x5d46    0x6b79
+0x5d47    0x6b7f
+0x5d48    0x6b80
+0x5d49    0x6b84
+0x5d4a    0x6b83
+0x5d4b    0x6b8d
+0x5d4c    0x6b98
+0x5d4d    0x6b95
+0x5d4e    0x6b9e
+0x5d4f    0x6ba4
+0x5d50    0x6baa
+0x5d51    0x6bab
+0x5d52    0x6baf
+0x5d53    0x6bb2
+0x5d54    0x6bb1
+0x5d55    0x6bb3
+0x5d56    0x6bb7
+0x5d57    0x6bbc
+0x5d58    0x6bc6
+0x5d59    0x6bcb
+0x5d5a    0x6bd3
+0x5d5b    0x6bdf
+0x5d5c    0x6bec
+0x5d5d    0x6beb
+0x5d5e    0x6bf3
+0x5d5f    0x6bef
+0x5d60    0x9ebe
+0x5d61    0x6c08
+0x5d62    0x6c13
+0x5d63    0x6c14
+0x5d64    0x6c1b
+0x5d65    0x6c24
+0x5d66    0x6c23
+0x5d67    0x6c5e
+0x5d68    0x6c55
+0x5d69    0x6c62
+0x5d6a    0x6c6a
+0x5d6b    0x6c82
+0x5d6c    0x6c8d
+0x5d6d    0x6c9a
+0x5d6e    0x6c81
+0x5d6f    0x6c9b
+0x5d70    0x6c7e
+0x5d71    0x6c68
+0x5d72    0x6c73
+0x5d73    0x6c92
+0x5d74    0x6c90
+0x5d75    0x6cc4
+0x5d76    0x6cf1
+0x5d77    0x6cd3
+0x5d78    0x6cbd
+0x5d79    0x6cd7
+0x5d7a    0x6cc5
+0x5d7b    0x6cdd
+0x5d7c    0x6cae
+0x5d7d    0x6cb1
+0x5d7e    0x6cbe
+0x5e21    0x6cba
+0x5e22    0x6cdb
+0x5e23    0x6cef
+0x5e24    0x6cd9
+0x5e25    0x6cea
+0x5e26    0x6d1f
+0x5e27    0x884d
+0x5e28    0x6d36
+0x5e29    0x6d2b
+0x5e2a    0x6d3d
+0x5e2b    0x6d38
+0x5e2c    0x6d19
+0x5e2d    0x6d35
+0x5e2e    0x6d33
+0x5e2f    0x6d12
+0x5e30    0x6d0c
+0x5e31    0x6d63
+0x5e32    0x6d93
+0x5e33    0x6d64
+0x5e34    0x6d5a
+0x5e35    0x6d79
+0x5e36    0x6d59
+0x5e37    0x6d8e
+0x5e38    0x6d95
+0x5e39    0x6fe4
+0x5e3a    0x6d85
+0x5e3b    0x6df9
+0x5e3c    0x6e15
+0x5e3d    0x6e0a
+0x5e3e    0x6db5
+0x5e3f    0x6dc7
+0x5e40    0x6de6
+0x5e41    0x6db8
+0x5e42    0x6dc6
+0x5e43    0x6dec
+0x5e44    0x6dde
+0x5e45    0x6dcc
+0x5e46    0x6de8
+0x5e47    0x6dd2
+0x5e48    0x6dc5
+0x5e49    0x6dfa
+0x5e4a    0x6dd9
+0x5e4b    0x6de4
+0x5e4c    0x6dd5
+0x5e4d    0x6dea
+0x5e4e    0x6dee
+0x5e4f    0x6e2d
+0x5e50    0x6e6e
+0x5e51    0x6e2e
+0x5e52    0x6e19
+0x5e53    0x6e72
+0x5e54    0x6e5f
+0x5e55    0x6e3e
+0x5e56    0x6e23
+0x5e57    0x6e6b
+0x5e58    0x6e2b
+0x5e59    0x6e76
+0x5e5a    0x6e4d
+0x5e5b    0x6e1f
+0x5e5c    0x6e43
+0x5e5d    0x6e3a
+0x5e5e    0x6e4e
+0x5e5f    0x6e24
+0x5e60    0x6eff
+0x5e61    0x6e1d
+0x5e62    0x6e38
+0x5e63    0x6e82
+0x5e64    0x6eaa
+0x5e65    0x6e98
+0x5e66    0x6ec9
+0x5e67    0x6eb7
+0x5e68    0x6ed3
+0x5e69    0x6ebd
+0x5e6a    0x6eaf
+0x5e6b    0x6ec4
+0x5e6c    0x6eb2
+0x5e6d    0x6ed4
+0x5e6e    0x6ed5
+0x5e6f    0x6e8f
+0x5e70    0x6ea5
+0x5e71    0x6ec2
+0x5e72    0x6e9f
+0x5e73    0x6f41
+0x5e74    0x6f11
+0x5e75    0x704c
+0x5e76    0x6eec
+0x5e77    0x6ef8
+0x5e78    0x6efe
+0x5e79    0x6f3f
+0x5e7a    0x6ef2
+0x5e7b    0x6f31
+0x5e7c    0x6eef
+0x5e7d    0x6f32
+0x5e7e    0x6ecc
+0x5f21    0x6f3e
+0x5f22    0x6f13
+0x5f23    0x6ef7
+0x5f24    0x6f86
+0x5f25    0x6f7a
+0x5f26    0x6f78
+0x5f27    0x6f81
+0x5f28    0x6f80
+0x5f29    0x6f6f
+0x5f2a    0x6f5b
+0x5f2b    0x6ff3
+0x5f2c    0x6f6d
+0x5f2d    0x6f82
+0x5f2e    0x6f7c
+0x5f2f    0x6f58
+0x5f30    0x6f8e
+0x5f31    0x6f91
+0x5f32    0x6fc2
+0x5f33    0x6f66
+0x5f34    0x6fb3
+0x5f35    0x6fa3
+0x5f36    0x6fa1
+0x5f37    0x6fa4
+0x5f38    0x6fb9
+0x5f39    0x6fc6
+0x5f3a    0x6faa
+0x5f3b    0x6fdf
+0x5f3c    0x6fd5
+0x5f3d    0x6fec
+0x5f3e    0x6fd4
+0x5f3f    0x6fd8
+0x5f40    0x6ff1
+0x5f41    0x6fee
+0x5f42    0x6fdb
+0x5f43    0x7009
+0x5f44    0x700b
+0x5f45    0x6ffa
+0x5f46    0x7011
+0x5f47    0x7001
+0x5f48    0x700f
+0x5f49    0x6ffe
+0x5f4a    0x701b
+0x5f4b    0x701a
+0x5f4c    0x6f74
+0x5f4d    0x701d
+0x5f4e    0x7018
+0x5f4f    0x701f
+0x5f50    0x7030
+0x5f51    0x703e
+0x5f52    0x7032
+0x5f53    0x7051
+0x5f54    0x7063
+0x5f55    0x7099
+0x5f56    0x7092
+0x5f57    0x70af
+0x5f58    0x70f1
+0x5f59    0x70ac
+0x5f5a    0x70b8
+0x5f5b    0x70b3
+0x5f5c    0x70ae
+0x5f5d    0x70df
+0x5f5e    0x70cb
+0x5f5f    0x70dd
+0x5f60    0x70d9
+0x5f61    0x7109
+0x5f62    0x70fd
+0x5f63    0x711c
+0x5f64    0x7119
+0x5f65    0x7165
+0x5f66    0x7155
+0x5f67    0x7188
+0x5f68    0x7166
+0x5f69    0x7162
+0x5f6a    0x714c
+0x5f6b    0x7156
+0x5f6c    0x716c
+0x5f6d    0x718f
+0x5f6e    0x71fb
+0x5f6f    0x7184
+0x5f70    0x7195
+0x5f71    0x71a8
+0x5f72    0x71ac
+0x5f73    0x71d7
+0x5f74    0x71b9
+0x5f75    0x71be
+0x5f76    0x71d2
+0x5f77    0x71c9
+0x5f78    0x71d4
+0x5f79    0x71ce
+0x5f7a    0x71e0
+0x5f7b    0x71ec
+0x5f7c    0x71e7
+0x5f7d    0x71f5
+0x5f7e    0x71fc
+0x6021    0x71f9
+0x6022    0x71ff
+0x6023    0x720d
+0x6024    0x7210
+0x6025    0x721b
+0x6026    0x7228
+0x6027    0x722d
+0x6028    0x722c
+0x6029    0x7230
+0x602a    0x7232
+0x602b    0x723b
+0x602c    0x723c
+0x602d    0x723f
+0x602e    0x7240
+0x602f    0x7246
+0x6030    0x724b
+0x6031    0x7258
+0x6032    0x7274
+0x6033    0x727e
+0x6034    0x7282
+0x6035    0x7281
+0x6036    0x7287
+0x6037    0x7292
+0x6038    0x7296
+0x6039    0x72a2
+0x603a    0x72a7
+0x603b    0x72b9
+0x603c    0x72b2
+0x603d    0x72c3
+0x603e    0x72c6
+0x603f    0x72c4
+0x6040    0x72ce
+0x6041    0x72d2
+0x6042    0x72e2
+0x6043    0x72e0
+0x6044    0x72e1
+0x6045    0x72f9
+0x6046    0x72f7
+0x6047    0x500f
+0x6048    0x7317
+0x6049    0x730a
+0x604a    0x731c
+0x604b    0x7316
+0x604c    0x731d
+0x604d    0x7334
+0x604e    0x732f
+0x604f    0x7329
+0x6050    0x7325
+0x6051    0x733e
+0x6052    0x734e
+0x6053    0x734f
+0x6054    0x9ed8
+0x6055    0x7357
+0x6056    0x736a
+0x6057    0x7368
+0x6058    0x7370
+0x6059    0x7378
+0x605a    0x7375
+0x605b    0x737b
+0x605c    0x737a
+0x605d    0x73c8
+0x605e    0x73b3
+0x605f    0x73ce
+0x6060    0x73bb
+0x6061    0x73c0
+0x6062    0x73e5
+0x6063    0x73ee
+0x6064    0x73de
+0x6065    0x74a2
+0x6066    0x7405
+0x6067    0x746f
+0x6068    0x7425
+0x6069    0x73f8
+0x606a    0x7432
+0x606b    0x743a
+0x606c    0x7455
+0x606d    0x743f
+0x606e    0x745f
+0x606f    0x7459
+0x6070    0x7441
+0x6071    0x745c
+0x6072    0x7469
+0x6073    0x7470
+0x6074    0x7463
+0x6075    0x746a
+0x6076    0x7476
+0x6077    0x747e
+0x6078    0x748b
+0x6079    0x749e
+0x607a    0x74a7
+0x607b    0x74ca
+0x607c    0x74cf
+0x607d    0x74d4
+0x607e    0x73f1
+0x6121    0x74e0
+0x6122    0x74e3
+0x6123    0x74e7
+0x6124    0x74e9
+0x6125    0x74ee
+0x6126    0x74f2
+0x6127    0x74f0
+0x6128    0x74f1
+0x6129    0x74f8
+0x612a    0x74f7
+0x612b    0x7504
+0x612c    0x7503
+0x612d    0x7505
+0x612e    0x750c
+0x612f    0x750e
+0x6130    0x750d
+0x6131    0x7515
+0x6132    0x7513
+0x6133    0x751e
+0x6134    0x7526
+0x6135    0x752c
+0x6136    0x753c
+0x6137    0x7544
+0x6138    0x754d
+0x6139    0x754a
+0x613a    0x7549
+0x613b    0x755b
+0x613c    0x7546
+0x613d    0x755a
+0x613e    0x7569
+0x613f    0x7564
+0x6140    0x7567
+0x6141    0x756b
+0x6142    0x756d
+0x6143    0x7578
+0x6144    0x7576
+0x6145    0x7586
+0x6146    0x7587
+0x6147    0x7574
+0x6148    0x758a
+0x6149    0x7589
+0x614a    0x7582
+0x614b    0x7594
+0x614c    0x759a
+0x614d    0x759d
+0x614e    0x75a5
+0x614f    0x75a3
+0x6150    0x75c2
+0x6151    0x75b3
+0x6152    0x75c3
+0x6153    0x75b5
+0x6154    0x75bd
+0x6155    0x75b8
+0x6156    0x75bc
+0x6157    0x75b1
+0x6158    0x75cd
+0x6159    0x75ca
+0x615a    0x75d2
+0x615b    0x75d9
+0x615c    0x75e3
+0x615d    0x75de
+0x615e    0x75fe
+0x615f    0x75ff
+0x6160    0x75fc
+0x6161    0x7601
+0x6162    0x75f0
+0x6163    0x75fa
+0x6164    0x75f2
+0x6165    0x75f3
+0x6166    0x760b
+0x6167    0x760d
+0x6168    0x7609
+0x6169    0x761f
+0x616a    0x7627
+0x616b    0x7620
+0x616c    0x7621
+0x616d    0x7622
+0x616e    0x7624
+0x616f    0x7634
+0x6170    0x7630
+0x6171    0x763b
+0x6172    0x7647
+0x6173    0x7648
+0x6174    0x7646
+0x6175    0x765c
+0x6176    0x7658
+0x6177    0x7661
+0x6178    0x7662
+0x6179    0x7668
+0x617a    0x7669
+0x617b    0x766a
+0x617c    0x7667
+0x617d    0x766c
+0x617e    0x7670
+0x6221    0x7672
+0x6222    0x7676
+0x6223    0x7678
+0x6224    0x767c
+0x6225    0x7680
+0x6226    0x7683
+0x6227    0x7688
+0x6228    0x768b
+0x6229    0x768e
+0x622a    0x7696
+0x622b    0x7693
+0x622c    0x7699
+0x622d    0x769a
+0x622e    0x76b0
+0x622f    0x76b4
+0x6230    0x76b8
+0x6231    0x76b9
+0x6232    0x76ba
+0x6233    0x76c2
+0x6234    0x76cd
+0x6235    0x76d6
+0x6236    0x76d2
+0x6237    0x76de
+0x6238    0x76e1
+0x6239    0x76e5
+0x623a    0x76e7
+0x623b    0x76ea
+0x623c    0x862f
+0x623d    0x76fb
+0x623e    0x7708
+0x623f    0x7707
+0x6240    0x7704
+0x6241    0x7729
+0x6242    0x7724
+0x6243    0x771e
+0x6244    0x7725
+0x6245    0x7726
+0x6246    0x771b
+0x6247    0x7737
+0x6248    0x7738
+0x6249    0x7747
+0x624a    0x775a
+0x624b    0x7768
+0x624c    0x776b
+0x624d    0x775b
+0x624e    0x7765
+0x624f    0x777f
+0x6250    0x777e
+0x6251    0x7779
+0x6252    0x778e
+0x6253    0x778b
+0x6254    0x7791
+0x6255    0x77a0
+0x6256    0x779e
+0x6257    0x77b0
+0x6258    0x77b6
+0x6259    0x77b9
+0x625a    0x77bf
+0x625b    0x77bc
+0x625c    0x77bd
+0x625d    0x77bb
+0x625e    0x77c7
+0x625f    0x77cd
+0x6260    0x77d7
+0x6261    0x77da
+0x6262    0x77dc
+0x6263    0x77e3
+0x6264    0x77ee
+0x6265    0x77fc
+0x6266    0x780c
+0x6267    0x7812
+0x6268    0x7926
+0x6269    0x7820
+0x626a    0x792a
+0x626b    0x7845
+0x626c    0x788e
+0x626d    0x7874
+0x626e    0x7886
+0x626f    0x787c
+0x6270    0x789a
+0x6271    0x788c
+0x6272    0x78a3
+0x6273    0x78b5
+0x6274    0x78aa
+0x6275    0x78af
+0x6276    0x78d1
+0x6277    0x78c6
+0x6278    0x78cb
+0x6279    0x78d4
+0x627a    0x78be
+0x627b    0x78bc
+0x627c    0x78c5
+0x627d    0x78ca
+0x627e    0x78ec
+0x6321    0x78e7
+0x6322    0x78da
+0x6323    0x78fd
+0x6324    0x78f4
+0x6325    0x7907
+0x6326    0x7912
+0x6327    0x7911
+0x6328    0x7919
+0x6329    0x792c
+0x632a    0x792b
+0x632b    0x7940
+0x632c    0x7960
+0x632d    0x7957
+0x632e    0x795f
+0x632f    0x795a
+0x6330    0x7955
+0x6331    0x7953
+0x6332    0x797a
+0x6333    0x797f
+0x6334    0x798a
+0x6335    0x799d
+0x6336    0x79a7
+0x6337    0x9f4b
+0x6338    0x79aa
+0x6339    0x79ae
+0x633a    0x79b3
+0x633b    0x79b9
+0x633c    0x79ba
+0x633d    0x79c9
+0x633e    0x79d5
+0x633f    0x79e7
+0x6340    0x79ec
+0x6341    0x79e1
+0x6342    0x79e3
+0x6343    0x7a08
+0x6344    0x7a0d
+0x6345    0x7a18
+0x6346    0x7a19
+0x6347    0x7a20
+0x6348    0x7a1f
+0x6349    0x7980
+0x634a    0x7a31
+0x634b    0x7a3b
+0x634c    0x7a3e
+0x634d    0x7a37
+0x634e    0x7a43
+0x634f    0x7a57
+0x6350    0x7a49
+0x6351    0x7a61
+0x6352    0x7a62
+0x6353    0x7a69
+0x6354    0x9f9d
+0x6355    0x7a70
+0x6356    0x7a79
+0x6357    0x7a7d
+0x6358    0x7a88
+0x6359    0x7a97
+0x635a    0x7a95
+0x635b    0x7a98
+0x635c    0x7a96
+0x635d    0x7aa9
+0x635e    0x7ac8
+0x635f    0x7ab0
+0x6360    0x7ab6
+0x6361    0x7ac5
+0x6362    0x7ac4
+0x6363    0x7abf
+0x6364    0x9083
+0x6365    0x7ac7
+0x6366    0x7aca
+0x6367    0x7acd
+0x6368    0x7acf
+0x6369    0x7ad5
+0x636a    0x7ad3
+0x636b    0x7ad9
+0x636c    0x7ada
+0x636d    0x7add
+0x636e    0x7ae1
+0x636f    0x7ae2
+0x6370    0x7ae6
+0x6371    0x7aed
+0x6372    0x7af0
+0x6373    0x7b02
+0x6374    0x7b0f
+0x6375    0x7b0a
+0x6376    0x7b06
+0x6377    0x7b33
+0x6378    0x7b18
+0x6379    0x7b19
+0x637a    0x7b1e
+0x637b    0x7b35
+0x637c    0x7b28
+0x637d    0x7b36
+0x637e    0x7b50
+0x6421    0x7b7a
+0x6422    0x7b04
+0x6423    0x7b4d
+0x6424    0x7b0b
+0x6425    0x7b4c
+0x6426    0x7b45
+0x6427    0x7b75
+0x6428    0x7b65
+0x6429    0x7b74
+0x642a    0x7b67
+0x642b    0x7b70
+0x642c    0x7b71
+0x642d    0x7b6c
+0x642e    0x7b6e
+0x642f    0x7b9d
+0x6430    0x7b98
+0x6431    0x7b9f
+0x6432    0x7b8d
+0x6433    0x7b9c
+0x6434    0x7b9a
+0x6435    0x7b8b
+0x6436    0x7b92
+0x6437    0x7b8f
+0x6438    0x7b5d
+0x6439    0x7b99
+0x643a    0x7bcb
+0x643b    0x7bc1
+0x643c    0x7bcc
+0x643d    0x7bcf
+0x643e    0x7bb4
+0x643f    0x7bc6
+0x6440    0x7bdd
+0x6441    0x7be9
+0x6442    0x7c11
+0x6443    0x7c14
+0x6444    0x7be6
+0x6445    0x7be5
+0x6446    0x7c60
+0x6447    0x7c00
+0x6448    0x7c07
+0x6449    0x7c13
+0x644a    0x7bf3
+0x644b    0x7bf7
+0x644c    0x7c17
+0x644d    0x7c0d
+0x644e    0x7bf6
+0x644f    0x7c23
+0x6450    0x7c27
+0x6451    0x7c2a
+0x6452    0x7c1f
+0x6453    0x7c37
+0x6454    0x7c2b
+0x6455    0x7c3d
+0x6456    0x7c4c
+0x6457    0x7c43
+0x6458    0x7c54
+0x6459    0x7c4f
+0x645a    0x7c40
+0x645b    0x7c50
+0x645c    0x7c58
+0x645d    0x7c5f
+0x645e    0x7c64
+0x645f    0x7c56
+0x6460    0x7c65
+0x6461    0x7c6c
+0x6462    0x7c75
+0x6463    0x7c83
+0x6464    0x7c90
+0x6465    0x7ca4
+0x6466    0x7cad
+0x6467    0x7ca2
+0x6468    0x7cab
+0x6469    0x7ca1
+0x646a    0x7ca8
+0x646b    0x7cb3
+0x646c    0x7cb2
+0x646d    0x7cb1
+0x646e    0x7cae
+0x646f    0x7cb9
+0x6470    0x7cbd
+0x6471    0x7cc0
+0x6472    0x7cc5
+0x6473    0x7cc2
+0x6474    0x7cd8
+0x6475    0x7cd2
+0x6476    0x7cdc
+0x6477    0x7ce2
+0x6478    0x9b3b
+0x6479    0x7cef
+0x647a    0x7cf2
+0x647b    0x7cf4
+0x647c    0x7cf6
+0x647d    0x7cfa
+0x647e    0x7d06
+0x6521    0x7d02
+0x6522    0x7d1c
+0x6523    0x7d15
+0x6524    0x7d0a
+0x6525    0x7d45
+0x6526    0x7d4b
+0x6527    0x7d2e
+0x6528    0x7d32
+0x6529    0x7d3f
+0x652a    0x7d35
+0x652b    0x7d46
+0x652c    0x7d73
+0x652d    0x7d56
+0x652e    0x7d4e
+0x652f    0x7d72
+0x6530    0x7d68
+0x6531    0x7d6e
+0x6532    0x7d4f
+0x6533    0x7d63
+0x6534    0x7d93
+0x6535    0x7d89
+0x6536    0x7d5b
+0x6537    0x7d8f
+0x6538    0x7d7d
+0x6539    0x7d9b
+0x653a    0x7dba
+0x653b    0x7dae
+0x653c    0x7da3
+0x653d    0x7db5
+0x653e    0x7dc7
+0x653f    0x7dbd
+0x6540    0x7dab
+0x6541    0x7e3d
+0x6542    0x7da2
+0x6543    0x7daf
+0x6544    0x7ddc
+0x6545    0x7db8
+0x6546    0x7d9f
+0x6547    0x7db0
+0x6548    0x7dd8
+0x6549    0x7ddd
+0x654a    0x7de4
+0x654b    0x7dde
+0x654c    0x7dfb
+0x654d    0x7df2
+0x654e    0x7de1
+0x654f    0x7e05
+0x6550    0x7e0a
+0x6551    0x7e23
+0x6552    0x7e21
+0x6553    0x7e12
+0x6554    0x7e31
+0x6555    0x7e1f
+0x6556    0x7e09
+0x6557    0x7e0b
+0x6558    0x7e22
+0x6559    0x7e46
+0x655a    0x7e66
+0x655b    0x7e3b
+0x655c    0x7e35
+0x655d    0x7e39
+0x655e    0x7e43
+0x655f    0x7e37
+0x6560    0x7e32
+0x6561    0x7e3a
+0x6562    0x7e67
+0x6563    0x7e5d
+0x6564    0x7e56
+0x6565    0x7e5e
+0x6566    0x7e59
+0x6567    0x7e5a
+0x6568    0x7e79
+0x6569    0x7e6a
+0x656a    0x7e69
+0x656b    0x7e7c
+0x656c    0x7e7b
+0x656d    0x7e83
+0x656e    0x7dd5
+0x656f    0x7e7d
+0x6570    0x8fae
+0x6571    0x7e7f
+0x6572    0x7e88
+0x6573    0x7e89
+0x6574    0x7e8c
+0x6575    0x7e92
+0x6576    0x7e90
+0x6577    0x7e93
+0x6578    0x7e94
+0x6579    0x7e96
+0x657a    0x7e8e
+0x657b    0x7e9b
+0x657c    0x7e9c
+0x657d    0x7f38
+0x657e    0x7f3a
+0x6621    0x7f45
+0x6622    0x7f4c
+0x6623    0x7f4d
+0x6624    0x7f4e
+0x6625    0x7f50
+0x6626    0x7f51
+0x6627    0x7f55
+0x6628    0x7f54
+0x6629    0x7f58
+0x662a    0x7f5f
+0x662b    0x7f60
+0x662c    0x7f68
+0x662d    0x7f69
+0x662e    0x7f67
+0x662f    0x7f78
+0x6630    0x7f82
+0x6631    0x7f86
+0x6632    0x7f83
+0x6633    0x7f88
+0x6634    0x7f87
+0x6635    0x7f8c
+0x6636    0x7f94
+0x6637    0x7f9e
+0x6638    0x7f9d
+0x6639    0x7f9a
+0x663a    0x7fa3
+0x663b    0x7faf
+0x663c    0x7fb2
+0x663d    0x7fb9
+0x663e    0x7fae
+0x663f    0x7fb6
+0x6640    0x7fb8
+0x6641    0x8b71
+0x6642    0x7fc5
+0x6643    0x7fc6
+0x6644    0x7fca
+0x6645    0x7fd5
+0x6646    0x7fd4
+0x6647    0x7fe1
+0x6648    0x7fe6
+0x6649    0x7fe9
+0x664a    0x7ff3
+0x664b    0x7ff9
+0x664c    0x98dc
+0x664d    0x8006
+0x664e    0x8004
+0x664f    0x800b
+0x6650    0x8012
+0x6651    0x8018
+0x6652    0x8019
+0x6653    0x801c
+0x6654    0x8021
+0x6655    0x8028
+0x6656    0x803f
+0x6657    0x803b
+0x6658    0x804a
+0x6659    0x8046
+0x665a    0x8052
+0x665b    0x8058
+0x665c    0x805a
+0x665d    0x805f
+0x665e    0x8062
+0x665f    0x8068
+0x6660    0x8073
+0x6661    0x8072
+0x6662    0x8070
+0x6663    0x8076
+0x6664    0x8079
+0x6665    0x807d
+0x6666    0x807f
+0x6667    0x8084
+0x6668    0x8086
+0x6669    0x8085
+0x666a    0x809b
+0x666b    0x8093
+0x666c    0x809a
+0x666d    0x80ad
+0x666e    0x5190
+0x666f    0x80ac
+0x6670    0x80db
+0x6671    0x80e5
+0x6672    0x80d9
+0x6673    0x80dd
+0x6674    0x80c4
+0x6675    0x80da
+0x6676    0x80d6
+0x6677    0x8109
+0x6678    0x80ef
+0x6679    0x80f1
+0x667a    0x811b
+0x667b    0x8129
+0x667c    0x8123
+0x667d    0x812f
+0x667e    0x814b
+0x6721    0x968b
+0x6722    0x8146
+0x6723    0x813e
+0x6724    0x8153
+0x6725    0x8151
+0x6726    0x80fc
+0x6727    0x8171
+0x6728    0x816e
+0x6729    0x8165
+0x672a    0x8166
+0x672b    0x8174
+0x672c    0x8183
+0x672d    0x8188
+0x672e    0x818a
+0x672f    0x8180
+0x6730    0x8182
+0x6731    0x81a0
+0x6732    0x8195
+0x6733    0x81a4
+0x6734    0x81a3
+0x6735    0x815f
+0x6736    0x8193
+0x6737    0x81a9
+0x6738    0x81b0
+0x6739    0x81b5
+0x673a    0x81be
+0x673b    0x81b8
+0x673c    0x81bd
+0x673d    0x81c0
+0x673e    0x81c2
+0x673f    0x81ba
+0x6740    0x81c9
+0x6741    0x81cd
+0x6742    0x81d1
+0x6743    0x81d9
+0x6744    0x81d8
+0x6745    0x81c8
+0x6746    0x81da
+0x6747    0x81df
+0x6748    0x81e0
+0x6749    0x81e7
+0x674a    0x81fa
+0x674b    0x81fb
+0x674c    0x81fe
+0x674d    0x8201
+0x674e    0x8202
+0x674f    0x8205
+0x6750    0x8207
+0x6751    0x820a
+0x6752    0x820d
+0x6753    0x8210
+0x6754    0x8216
+0x6755    0x8229
+0x6756    0x822b
+0x6757    0x8238
+0x6758    0x8233
+0x6759    0x8240
+0x675a    0x8259
+0x675b    0x8258
+0x675c    0x825d
+0x675d    0x825a
+0x675e    0x825f
+0x675f    0x8264
+0x6760    0x8262
+0x6761    0x8268
+0x6762    0x826a
+0x6763    0x826b
+0x6764    0x822e
+0x6765    0x8271
+0x6766    0x8277
+0x6767    0x8278
+0x6768    0x827e
+0x6769    0x828d
+0x676a    0x8292
+0x676b    0x82ab
+0x676c    0x829f
+0x676d    0x82bb
+0x676e    0x82ac
+0x676f    0x82e1
+0x6770    0x82e3
+0x6771    0x82df
+0x6772    0x82d2
+0x6773    0x82f4
+0x6774    0x82f3
+0x6775    0x82fa
+0x6776    0x8393
+0x6777    0x8303
+0x6778    0x82fb
+0x6779    0x82f9
+0x677a    0x82de
+0x677b    0x8306
+0x677c    0x82dc
+0x677d    0x8309
+0x677e    0x82d9
+0x6821    0x8335
+0x6822    0x8334
+0x6823    0x8316
+0x6824    0x8332
+0x6825    0x8331
+0x6826    0x8340
+0x6827    0x8339
+0x6828    0x8350
+0x6829    0x8345
+0x682a    0x832f
+0x682b    0x832b
+0x682c    0x8317
+0x682d    0x8318
+0x682e    0x8385
+0x682f    0x839a
+0x6830    0x83aa
+0x6831    0x839f
+0x6832    0x83a2
+0x6833    0x8396
+0x6834    0x8323
+0x6835    0x838e
+0x6836    0x8387
+0x6837    0x838a
+0x6838    0x837c
+0x6839    0x83b5
+0x683a    0x8373
+0x683b    0x8375
+0x683c    0x83a0
+0x683d    0x8389
+0x683e    0x83a8
+0x683f    0x83f4
+0x6840    0x8413
+0x6841    0x83eb
+0x6842    0x83ce
+0x6843    0x83fd
+0x6844    0x8403
+0x6845    0x83d8
+0x6846    0x840b
+0x6847    0x83c1
+0x6848    0x83f7
+0x6849    0x8407
+0x684a    0x83e0
+0x684b    0x83f2
+0x684c    0x840d
+0x684d    0x8422
+0x684e    0x8420
+0x684f    0x83bd
+0x6850    0x8438
+0x6851    0x8506
+0x6852    0x83fb
+0x6853    0x846d
+0x6854    0x842a
+0x6855    0x843c
+0x6856    0x855a
+0x6857    0x8484
+0x6858    0x8477
+0x6859    0x846b
+0x685a    0x84ad
+0x685b    0x846e
+0x685c    0x8482
+0x685d    0x8469
+0x685e    0x8446
+0x685f    0x842c
+0x6860    0x846f
+0x6861    0x8479
+0x6862    0x8435
+0x6863    0x84ca
+0x6864    0x8462
+0x6865    0x84b9
+0x6866    0x84bf
+0x6867    0x849f
+0x6868    0x84d9
+0x6869    0x84cd
+0x686a    0x84bb
+0x686b    0x84da
+0x686c    0x84d0
+0x686d    0x84c1
+0x686e    0x84c6
+0x686f    0x84d6
+0x6870    0x84a1
+0x6871    0x8521
+0x6872    0x84ff
+0x6873    0x84f4
+0x6874    0x8517
+0x6875    0x8518
+0x6876    0x852c
+0x6877    0x851f
+0x6878    0x8515
+0x6879    0x8514
+0x687a    0x84fc
+0x687b    0x8540
+0x687c    0x8563
+0x687d    0x8558
+0x687e    0x8548
+0x6921    0x8541
+0x6922    0x8602
+0x6923    0x854b
+0x6924    0x8555
+0x6925    0x8580
+0x6926    0x85a4
+0x6927    0x8588
+0x6928    0x8591
+0x6929    0x858a
+0x692a    0x85a8
+0x692b    0x856d
+0x692c    0x8594
+0x692d    0x859b
+0x692e    0x85ea
+0x692f    0x8587
+0x6930    0x859c
+0x6931    0x8577
+0x6932    0x857e
+0x6933    0x8590
+0x6934    0x85c9
+0x6935    0x85ba
+0x6936    0x85cf
+0x6937    0x85b9
+0x6938    0x85d0
+0x6939    0x85d5
+0x693a    0x85dd
+0x693b    0x85e5
+0x693c    0x85dc
+0x693d    0x85f9
+0x693e    0x860a
+0x693f    0x8613
+0x6940    0x860b
+0x6941    0x85fe
+0x6942    0x85fa
+0x6943    0x8606
+0x6944    0x8622
+0x6945    0x861a
+0x6946    0x8630
+0x6947    0x863f
+0x6948    0x864d
+0x6949    0x4e55
+0x694a    0x8654
+0x694b    0x865f
+0x694c    0x8667
+0x694d    0x8671
+0x694e    0x8693
+0x694f    0x86a3
+0x6950    0x86a9
+0x6951    0x86aa
+0x6952    0x868b
+0x6953    0x868c
+0x6954    0x86b6
+0x6955    0x86af
+0x6956    0x86c4
+0x6957    0x86c6
+0x6958    0x86b0
+0x6959    0x86c9
+0x695a    0x8823
+0x695b    0x86ab
+0x695c    0x86d4
+0x695d    0x86de
+0x695e    0x86e9
+0x695f    0x86ec
+0x6960    0x86df
+0x6961    0x86db
+0x6962    0x86ef
+0x6963    0x8712
+0x6964    0x8706
+0x6965    0x8708
+0x6966    0x8700
+0x6967    0x8703
+0x6968    0x86fb
+0x6969    0x8711
+0x696a    0x8709
+0x696b    0x870d
+0x696c    0x86f9
+0x696d    0x870a
+0x696e    0x8734
+0x696f    0x873f
+0x6970    0x8737
+0x6971    0x873b
+0x6972    0x8725
+0x6973    0x8729
+0x6974    0x871a
+0x6975    0x8760
+0x6976    0x875f
+0x6977    0x8778
+0x6978    0x874c
+0x6979    0x874e
+0x697a    0x8774
+0x697b    0x8757
+0x697c    0x8768
+0x697d    0x876e
+0x697e    0x8759
+0x6a21    0x8753
+0x6a22    0x8763
+0x6a23    0x876a
+0x6a24    0x8805
+0x6a25    0x87a2
+0x6a26    0x879f
+0x6a27    0x8782
+0x6a28    0x87af
+0x6a29    0x87cb
+0x6a2a    0x87bd
+0x6a2b    0x87c0
+0x6a2c    0x87d0
+0x6a2d    0x96d6
+0x6a2e    0x87ab
+0x6a2f    0x87c4
+0x6a30    0x87b3
+0x6a31    0x87c7
+0x6a32    0x87c6
+0x6a33    0x87bb
+0x6a34    0x87ef
+0x6a35    0x87f2
+0x6a36    0x87e0
+0x6a37    0x880f
+0x6a38    0x880d
+0x6a39    0x87fe
+0x6a3a    0x87f6
+0x6a3b    0x87f7
+0x6a3c    0x880e
+0x6a3d    0x87d2
+0x6a3e    0x8811
+0x6a3f    0x8816
+0x6a40    0x8815
+0x6a41    0x8822
+0x6a42    0x8821
+0x6a43    0x8831
+0x6a44    0x8836
+0x6a45    0x8839
+0x6a46    0x8827
+0x6a47    0x883b
+0x6a48    0x8844
+0x6a49    0x8842
+0x6a4a    0x8852
+0x6a4b    0x8859
+0x6a4c    0x885e
+0x6a4d    0x8862
+0x6a4e    0x886b
+0x6a4f    0x8881
+0x6a50    0x887e
+0x6a51    0x889e
+0x6a52    0x8875
+0x6a53    0x887d
+0x6a54    0x88b5
+0x6a55    0x8872
+0x6a56    0x8882
+0x6a57    0x8897
+0x6a58    0x8892
+0x6a59    0x88ae
+0x6a5a    0x8899
+0x6a5b    0x88a2
+0x6a5c    0x888d
+0x6a5d    0x88a4
+0x6a5e    0x88b0
+0x6a5f    0x88bf
+0x6a60    0x88b1
+0x6a61    0x88c3
+0x6a62    0x88c4
+0x6a63    0x88d4
+0x6a64    0x88d8
+0x6a65    0x88d9
+0x6a66    0x88dd
+0x6a67    0x88f9
+0x6a68    0x8902
+0x6a69    0x88fc
+0x6a6a    0x88f4
+0x6a6b    0x88e8
+0x6a6c    0x88f2
+0x6a6d    0x8904
+0x6a6e    0x890c
+0x6a6f    0x890a
+0x6a70    0x8913
+0x6a71    0x8943
+0x6a72    0x891e
+0x6a73    0x8925
+0x6a74    0x892a
+0x6a75    0x892b
+0x6a76    0x8941
+0x6a77    0x8944
+0x6a78    0x893b
+0x6a79    0x8936
+0x6a7a    0x8938
+0x6a7b    0x894c
+0x6a7c    0x891d
+0x6a7d    0x8960
+0x6a7e    0x895e
+0x6b21    0x8966
+0x6b22    0x8964
+0x6b23    0x896d
+0x6b24    0x896a
+0x6b25    0x896f
+0x6b26    0x8974
+0x6b27    0x8977
+0x6b28    0x897e
+0x6b29    0x8983
+0x6b2a    0x8988
+0x6b2b    0x898a
+0x6b2c    0x8993
+0x6b2d    0x8998
+0x6b2e    0x89a1
+0x6b2f    0x89a9
+0x6b30    0x89a6
+0x6b31    0x89ac
+0x6b32    0x89af
+0x6b33    0x89b2
+0x6b34    0x89ba
+0x6b35    0x89bd
+0x6b36    0x89bf
+0x6b37    0x89c0
+0x6b38    0x89da
+0x6b39    0x89dc
+0x6b3a    0x89dd
+0x6b3b    0x89e7
+0x6b3c    0x89f4
+0x6b3d    0x89f8
+0x6b3e    0x8a03
+0x6b3f    0x8a16
+0x6b40    0x8a10
+0x6b41    0x8a0c
+0x6b42    0x8a1b
+0x6b43    0x8a1d
+0x6b44    0x8a25
+0x6b45    0x8a36
+0x6b46    0x8a41
+0x6b47    0x8a5b
+0x6b48    0x8a52
+0x6b49    0x8a46
+0x6b4a    0x8a48
+0x6b4b    0x8a7c
+0x6b4c    0x8a6d
+0x6b4d    0x8a6c
+0x6b4e    0x8a62
+0x6b4f    0x8a85
+0x6b50    0x8a82
+0x6b51    0x8a84
+0x6b52    0x8aa8
+0x6b53    0x8aa1
+0x6b54    0x8a91
+0x6b55    0x8aa5
+0x6b56    0x8aa6
+0x6b57    0x8a9a
+0x6b58    0x8aa3
+0x6b59    0x8ac4
+0x6b5a    0x8acd
+0x6b5b    0x8ac2
+0x6b5c    0x8ada
+0x6b5d    0x8aeb
+0x6b5e    0x8af3
+0x6b5f    0x8ae7
+0x6b60    0x8ae4
+0x6b61    0x8af1
+0x6b62    0x8b14
+0x6b63    0x8ae0
+0x6b64    0x8ae2
+0x6b65    0x8af7
+0x6b66    0x8ade
+0x6b67    0x8adb
+0x6b68    0x8b0c
+0x6b69    0x8b07
+0x6b6a    0x8b1a
+0x6b6b    0x8ae1
+0x6b6c    0x8b16
+0x6b6d    0x8b10
+0x6b6e    0x8b17
+0x6b6f    0x8b20
+0x6b70    0x8b33
+0x6b71    0x97ab
+0x6b72    0x8b26
+0x6b73    0x8b2b
+0x6b74    0x8b3e
+0x6b75    0x8b28
+0x6b76    0x8b41
+0x6b77    0x8b4c
+0x6b78    0x8b4f
+0x6b79    0x8b4e
+0x6b7a    0x8b49
+0x6b7b    0x8b56
+0x6b7c    0x8b5b
+0x6b7d    0x8b5a
+0x6b7e    0x8b6b
+0x6c21    0x8b5f
+0x6c22    0x8b6c
+0x6c23    0x8b6f
+0x6c24    0x8b74
+0x6c25    0x8b7d
+0x6c26    0x8b80
+0x6c27    0x8b8c
+0x6c28    0x8b8e
+0x6c29    0x8b92
+0x6c2a    0x8b93
+0x6c2b    0x8b96
+0x6c2c    0x8b99
+0x6c2d    0x8b9a
+0x6c2e    0x8c3a
+0x6c2f    0x8c41
+0x6c30    0x8c3f
+0x6c31    0x8c48
+0x6c32    0x8c4c
+0x6c33    0x8c4e
+0x6c34    0x8c50
+0x6c35    0x8c55
+0x6c36    0x8c62
+0x6c37    0x8c6c
+0x6c38    0x8c78
+0x6c39    0x8c7a
+0x6c3a    0x8c82
+0x6c3b    0x8c89
+0x6c3c    0x8c85
+0x6c3d    0x8c8a
+0x6c3e    0x8c8d
+0x6c3f    0x8c8e
+0x6c40    0x8c94
+0x6c41    0x8c7c
+0x6c42    0x8c98
+0x6c43    0x621d
+0x6c44    0x8cad
+0x6c45    0x8caa
+0x6c46    0x8cbd
+0x6c47    0x8cb2
+0x6c48    0x8cb3
+0x6c49    0x8cae
+0x6c4a    0x8cb6
+0x6c4b    0x8cc8
+0x6c4c    0x8cc1
+0x6c4d    0x8ce4
+0x6c4e    0x8ce3
+0x6c4f    0x8cda
+0x6c50    0x8cfd
+0x6c51    0x8cfa
+0x6c52    0x8cfb
+0x6c53    0x8d04
+0x6c54    0x8d05
+0x6c55    0x8d0a
+0x6c56    0x8d07
+0x6c57    0x8d0f
+0x6c58    0x8d0d
+0x6c59    0x8d10
+0x6c5a    0x9f4e
+0x6c5b    0x8d13
+0x6c5c    0x8ccd
+0x6c5d    0x8d14
+0x6c5e    0x8d16
+0x6c5f    0x8d67
+0x6c60    0x8d6d
+0x6c61    0x8d71
+0x6c62    0x8d73
+0x6c63    0x8d81
+0x6c64    0x8d99
+0x6c65    0x8dc2
+0x6c66    0x8dbe
+0x6c67    0x8dba
+0x6c68    0x8dcf
+0x6c69    0x8dda
+0x6c6a    0x8dd6
+0x6c6b    0x8dcc
+0x6c6c    0x8ddb
+0x6c6d    0x8dcb
+0x6c6e    0x8dea
+0x6c6f    0x8deb
+0x6c70    0x8ddf
+0x6c71    0x8de3
+0x6c72    0x8dfc
+0x6c73    0x8e08
+0x6c74    0x8e09
+0x6c75    0x8dff
+0x6c76    0x8e1d
+0x6c77    0x8e1e
+0x6c78    0x8e10
+0x6c79    0x8e1f
+0x6c7a    0x8e42
+0x6c7b    0x8e35
+0x6c7c    0x8e30
+0x6c7d    0x8e34
+0x6c7e    0x8e4a
+0x6d21    0x8e47
+0x6d22    0x8e49
+0x6d23    0x8e4c
+0x6d24    0x8e50
+0x6d25    0x8e48
+0x6d26    0x8e59
+0x6d27    0x8e64
+0x6d28    0x8e60
+0x6d29    0x8e2a
+0x6d2a    0x8e63
+0x6d2b    0x8e55
+0x6d2c    0x8e76
+0x6d2d    0x8e72
+0x6d2e    0x8e7c
+0x6d2f    0x8e81
+0x6d30    0x8e87
+0x6d31    0x8e85
+0x6d32    0x8e84
+0x6d33    0x8e8b
+0x6d34    0x8e8a
+0x6d35    0x8e93
+0x6d36    0x8e91
+0x6d37    0x8e94
+0x6d38    0x8e99
+0x6d39    0x8eaa
+0x6d3a    0x8ea1
+0x6d3b    0x8eac
+0x6d3c    0x8eb0
+0x6d3d    0x8ec6
+0x6d3e    0x8eb1
+0x6d3f    0x8ebe
+0x6d40    0x8ec5
+0x6d41    0x8ec8
+0x6d42    0x8ecb
+0x6d43    0x8edb
+0x6d44    0x8ee3
+0x6d45    0x8efc
+0x6d46    0x8efb
+0x6d47    0x8eeb
+0x6d48    0x8efe
+0x6d49    0x8f0a
+0x6d4a    0x8f05
+0x6d4b    0x8f15
+0x6d4c    0x8f12
+0x6d4d    0x8f19
+0x6d4e    0x8f13
+0x6d4f    0x8f1c
+0x6d50    0x8f1f
+0x6d51    0x8f1b
+0x6d52    0x8f0c
+0x6d53    0x8f26
+0x6d54    0x8f33
+0x6d55    0x8f3b
+0x6d56    0x8f39
+0x6d57    0x8f45
+0x6d58    0x8f42
+0x6d59    0x8f3e
+0x6d5a    0x8f4c
+0x6d5b    0x8f49
+0x6d5c    0x8f46
+0x6d5d    0x8f4e
+0x6d5e    0x8f57
+0x6d5f    0x8f5c
+0x6d60    0x8f62
+0x6d61    0x8f63
+0x6d62    0x8f64
+0x6d63    0x8f9c
+0x6d64    0x8f9f
+0x6d65    0x8fa3
+0x6d66    0x8fad
+0x6d67    0x8faf
+0x6d68    0x8fb7
+0x6d69    0x8fda
+0x6d6a    0x8fe5
+0x6d6b    0x8fe2
+0x6d6c    0x8fea
+0x6d6d    0x8fef
+0x6d6e    0x9087
+0x6d6f    0x8ff4
+0x6d70    0x9005
+0x6d71    0x8ff9
+0x6d72    0x8ffa
+0x6d73    0x9011
+0x6d74    0x9015
+0x6d75    0x9021
+0x6d76    0x900d
+0x6d77    0x901e
+0x6d78    0x9016
+0x6d79    0x900b
+0x6d7a    0x9027
+0x6d7b    0x9036
+0x6d7c    0x9035
+0x6d7d    0x9039
+0x6d7e    0x8ff8
+0x6e21    0x904f
+0x6e22    0x9050
+0x6e23    0x9051
+0x6e24    0x9052
+0x6e25    0x900e
+0x6e26    0x9049
+0x6e27    0x903e
+0x6e28    0x9056
+0x6e29    0x9058
+0x6e2a    0x905e
+0x6e2b    0x9068
+0x6e2c    0x906f
+0x6e2d    0x9076
+0x6e2e    0x96a8
+0x6e2f    0x9072
+0x6e30    0x9082
+0x6e31    0x907d
+0x6e32    0x9081
+0x6e33    0x9080
+0x6e34    0x908a
+0x6e35    0x9089
+0x6e36    0x908f
+0x6e37    0x90a8
+0x6e38    0x90af
+0x6e39    0x90b1
+0x6e3a    0x90b5
+0x6e3b    0x90e2
+0x6e3c    0x90e4
+0x6e3d    0x6248
+0x6e3e    0x90db
+0x6e3f    0x9102
+0x6e40    0x9112
+0x6e41    0x9119
+0x6e42    0x9132
+0x6e43    0x9130
+0x6e44    0x914a
+0x6e45    0x9156
+0x6e46    0x9158
+0x6e47    0x9163
+0x6e48    0x9165
+0x6e49    0x9169
+0x6e4a    0x9173
+0x6e4b    0x9172
+0x6e4c    0x918b
+0x6e4d    0x9189
+0x6e4e    0x9182
+0x6e4f    0x91a2
+0x6e50    0x91ab
+0x6e51    0x91af
+0x6e52    0x91aa
+0x6e53    0x91b5
+0x6e54    0x91b4
+0x6e55    0x91ba
+0x6e56    0x91c0
+0x6e57    0x91c1
+0x6e58    0x91c9
+0x6e59    0x91cb
+0x6e5a    0x91d0
+0x6e5b    0x91d6
+0x6e5c    0x91df
+0x6e5d    0x91e1
+0x6e5e    0x91db
+0x6e5f    0x91fc
+0x6e60    0x91f5
+0x6e61    0x91f6
+0x6e62    0x921e
+0x6e63    0x91ff
+0x6e64    0x9214
+0x6e65    0x922c
+0x6e66    0x9215
+0x6e67    0x9211
+0x6e68    0x925e
+0x6e69    0x9257
+0x6e6a    0x9245
+0x6e6b    0x9249
+0x6e6c    0x9264
+0x6e6d    0x9248
+0x6e6e    0x9295
+0x6e6f    0x923f
+0x6e70    0x924b
+0x6e71    0x9250
+0x6e72    0x929c
+0x6e73    0x9296
+0x6e74    0x9293
+0x6e75    0x929b
+0x6e76    0x925a
+0x6e77    0x92cf
+0x6e78    0x92b9
+0x6e79    0x92b7
+0x6e7a    0x92e9
+0x6e7b    0x930f
+0x6e7c    0x92fa
+0x6e7d    0x9344
+0x6e7e    0x932e
+0x6f21    0x9319
+0x6f22    0x9322
+0x6f23    0x931a
+0x6f24    0x9323
+0x6f25    0x933a
+0x6f26    0x9335
+0x6f27    0x933b
+0x6f28    0x935c
+0x6f29    0x9360
+0x6f2a    0x937c
+0x6f2b    0x936e
+0x6f2c    0x9356
+0x6f2d    0x93b0
+0x6f2e    0x93ac
+0x6f2f    0x93ad
+0x6f30    0x9394
+0x6f31    0x93b9
+0x6f32    0x93d6
+0x6f33    0x93d7
+0x6f34    0x93e8
+0x6f35    0x93e5
+0x6f36    0x93d8
+0x6f37    0x93c3
+0x6f38    0x93dd
+0x6f39    0x93d0
+0x6f3a    0x93c8
+0x6f3b    0x93e4
+0x6f3c    0x941a
+0x6f3d    0x9414
+0x6f3e    0x9413
+0x6f3f    0x9403
+0x6f40    0x9407
+0x6f41    0x9410
+0x6f42    0x9436
+0x6f43    0x942b
+0x6f44    0x9435
+0x6f45    0x9421
+0x6f46    0x943a
+0x6f47    0x9441
+0x6f48    0x9452
+0x6f49    0x9444
+0x6f4a    0x945b
+0x6f4b    0x9460
+0x6f4c    0x9462
+0x6f4d    0x945e
+0x6f4e    0x946a
+0x6f4f    0x9229
+0x6f50    0x9470
+0x6f51    0x9475
+0x6f52    0x9477
+0x6f53    0x947d
+0x6f54    0x945a
+0x6f55    0x947c
+0x6f56    0x947e
+0x6f57    0x9481
+0x6f58    0x947f
+0x6f59    0x9582
+0x6f5a    0x9587
+0x6f5b    0x958a
+0x6f5c    0x9594
+0x6f5d    0x9596
+0x6f5e    0x9598
+0x6f5f    0x9599
+0x6f60    0x95a0
+0x6f61    0x95a8
+0x6f62    0x95a7
+0x6f63    0x95ad
+0x6f64    0x95bc
+0x6f65    0x95bb
+0x6f66    0x95b9
+0x6f67    0x95be
+0x6f68    0x95ca
+0x6f69    0x6ff6
+0x6f6a    0x95c3
+0x6f6b    0x95cd
+0x6f6c    0x95cc
+0x6f6d    0x95d5
+0x6f6e    0x95d4
+0x6f6f    0x95d6
+0x6f70    0x95dc
+0x6f71    0x95e1
+0x6f72    0x95e5
+0x6f73    0x95e2
+0x6f74    0x9621
+0x6f75    0x9628
+0x6f76    0x962e
+0x6f77    0x962f
+0x6f78    0x9642
+0x6f79    0x964c
+0x6f7a    0x964f
+0x6f7b    0x964b
+0x6f7c    0x9677
+0x6f7d    0x965c
+0x6f7e    0x965e
+0x7021    0x965d
+0x7022    0x965f
+0x7023    0x9666
+0x7024    0x9672
+0x7025    0x966c
+0x7026    0x968d
+0x7027    0x9698
+0x7028    0x9695
+0x7029    0x9697
+0x702a    0x96aa
+0x702b    0x96a7
+0x702c    0x96b1
+0x702d    0x96b2
+0x702e    0x96b0
+0x702f    0x96b4
+0x7030    0x96b6
+0x7031    0x96b8
+0x7032    0x96b9
+0x7033    0x96ce
+0x7034    0x96cb
+0x7035    0x96c9
+0x7036    0x96cd
+0x7037    0x894d
+0x7038    0x96dc
+0x7039    0x970d
+0x703a    0x96d5
+0x703b    0x96f9
+0x703c    0x9704
+0x703d    0x9706
+0x703e    0x9708
+0x703f    0x9713
+0x7040    0x970e
+0x7041    0x9711
+0x7042    0x970f
+0x7043    0x9716
+0x7044    0x9719
+0x7045    0x9724
+0x7046    0x972a
+0x7047    0x9730
+0x7048    0x9739
+0x7049    0x973d
+0x704a    0x973e
+0x704b    0x9744
+0x704c    0x9746
+0x704d    0x9748
+0x704e    0x9742
+0x704f    0x9749
+0x7050    0x975c
+0x7051    0x9760
+0x7052    0x9764
+0x7053    0x9766
+0x7054    0x9768
+0x7055    0x52d2
+0x7056    0x976b
+0x7057    0x9771
+0x7058    0x9779
+0x7059    0x9785
+0x705a    0x977c
+0x705b    0x9781
+0x705c    0x977a
+0x705d    0x9786
+0x705e    0x978b
+0x705f    0x978f
+0x7060    0x9790
+0x7061    0x979c
+0x7062    0x97a8
+0x7063    0x97a6
+0x7064    0x97a3
+0x7065    0x97b3
+0x7066    0x97b4
+0x7067    0x97c3
+0x7068    0x97c6
+0x7069    0x97c8
+0x706a    0x97cb
+0x706b    0x97dc
+0x706c    0x97ed
+0x706d    0x9f4f
+0x706e    0x97f2
+0x706f    0x7adf
+0x7070    0x97f6
+0x7071    0x97f5
+0x7072    0x980f
+0x7073    0x980c
+0x7074    0x9838
+0x7075    0x9824
+0x7076    0x9821
+0x7077    0x9837
+0x7078    0x983d
+0x7079    0x9846
+0x707a    0x984f
+0x707b    0x984b
+0x707c    0x986b
+0x707d    0x986f
+0x707e    0x9870
+0x7121    0x9871
+0x7122    0x9874
+0x7123    0x9873
+0x7124    0x98aa
+0x7125    0x98af
+0x7126    0x98b1
+0x7127    0x98b6
+0x7128    0x98c4
+0x7129    0x98c3
+0x712a    0x98c6
+0x712b    0x98e9
+0x712c    0x98eb
+0x712d    0x9903
+0x712e    0x9909
+0x712f    0x9912
+0x7130    0x9914
+0x7131    0x9918
+0x7132    0x9921
+0x7133    0x991d
+0x7134    0x991e
+0x7135    0x9924
+0x7136    0x9920
+0x7137    0x992c
+0x7138    0x992e
+0x7139    0x993d
+0x713a    0x993e
+0x713b    0x9942
+0x713c    0x9949
+0x713d    0x9945
+0x713e    0x9950
+0x713f    0x994b
+0x7140    0x9951
+0x7141    0x9952
+0x7142    0x994c
+0x7143    0x9955
+0x7144    0x9997
+0x7145    0x9998
+0x7146    0x99a5
+0x7147    0x99ad
+0x7148    0x99ae
+0x7149    0x99bc
+0x714a    0x99df
+0x714b    0x99db
+0x714c    0x99dd
+0x714d    0x99d8
+0x714e    0x99d1
+0x714f    0x99ed
+0x7150    0x99ee
+0x7151    0x99f1
+0x7152    0x99f2
+0x7153    0x99fb
+0x7154    0x99f8
+0x7155    0x9a01
+0x7156    0x9a0f
+0x7157    0x9a05
+0x7158    0x99e2
+0x7159    0x9a19
+0x715a    0x9a2b
+0x715b    0x9a37
+0x715c    0x9a45
+0x715d    0x9a42
+0x715e    0x9a40
+0x715f    0x9a43
+0x7160    0x9a3e
+0x7161    0x9a55
+0x7162    0x9a4d
+0x7163    0x9a5b
+0x7164    0x9a57
+0x7165    0x9a5f
+0x7166    0x9a62
+0x7167    0x9a65
+0x7168    0x9a64
+0x7169    0x9a69
+0x716a    0x9a6b
+0x716b    0x9a6a
+0x716c    0x9aad
+0x716d    0x9ab0
+0x716e    0x9abc
+0x716f    0x9ac0
+0x7170    0x9acf
+0x7171    0x9ad1
+0x7172    0x9ad3
+0x7173    0x9ad4
+0x7174    0x9ade
+0x7175    0x9adf
+0x7176    0x9ae2
+0x7177    0x9ae3
+0x7178    0x9ae6
+0x7179    0x9aef
+0x717a    0x9aeb
+0x717b    0x9aee
+0x717c    0x9af4
+0x717d    0x9af1
+0x717e    0x9af7
+0x7221    0x9afb
+0x7222    0x9b06
+0x7223    0x9b18
+0x7224    0x9b1a
+0x7225    0x9b1f
+0x7226    0x9b22
+0x7227    0x9b23
+0x7228    0x9b25
+0x7229    0x9b27
+0x722a    0x9b28
+0x722b    0x9b29
+0x722c    0x9b2a
+0x722d    0x9b2e
+0x722e    0x9b2f
+0x722f    0x9b32
+0x7230    0x9b44
+0x7231    0x9b43
+0x7232    0x9b4f
+0x7233    0x9b4d
+0x7234    0x9b4e
+0x7235    0x9b51
+0x7236    0x9b58
+0x7237    0x9b74
+0x7238    0x9b93
+0x7239    0x9b83
+0x723a    0x9b91
+0x723b    0x9b96
+0x723c    0x9b97
+0x723d    0x9b9f
+0x723e    0x9ba0
+0x723f    0x9ba8
+0x7240    0x9bb4
+0x7241    0x9bc0
+0x7242    0x9bca
+0x7243    0x9bb9
+0x7244    0x9bc6
+0x7245    0x9bcf
+0x7246    0x9bd1
+0x7247    0x9bd2
+0x7248    0x9be3
+0x7249    0x9be2
+0x724a    0x9be4
+0x724b    0x9bd4
+0x724c    0x9be1
+0x724d    0x9c3a
+0x724e    0x9bf2
+0x724f    0x9bf1
+0x7250    0x9bf0
+0x7251    0x9c15
+0x7252    0x9c14
+0x7253    0x9c09
+0x7254    0x9c13
+0x7255    0x9c0c
+0x7256    0x9c06
+0x7257    0x9c08
+0x7258    0x9c12
+0x7259    0x9c0a
+0x725a    0x9c04
+0x725b    0x9c2e
+0x725c    0x9c1b
+0x725d    0x9c25
+0x725e    0x9c24
+0x725f    0x9c21
+0x7260    0x9c30
+0x7261    0x9c47
+0x7262    0x9c32
+0x7263    0x9c46
+0x7264    0x9c3e
+0x7265    0x9c5a
+0x7266    0x9c60
+0x7267    0x9c67
+0x7268    0x9c76
+0x7269    0x9c78
+0x726a    0x9ce7
+0x726b    0x9cec
+0x726c    0x9cf0
+0x726d    0x9d09
+0x726e    0x9d08
+0x726f    0x9ceb
+0x7270    0x9d03
+0x7271    0x9d06
+0x7272    0x9d2a
+0x7273    0x9d26
+0x7274    0x9daf
+0x7275    0x9d23
+0x7276    0x9d1f
+0x7277    0x9d44
+0x7278    0x9d15
+0x7279    0x9d12
+0x727a    0x9d41
+0x727b    0x9d3f
+0x727c    0x9d3e
+0x727d    0x9d46
+0x727e    0x9d48
+0x7321    0x9d5d
+0x7322    0x9d5e
+0x7323    0x9d64
+0x7324    0x9d51
+0x7325    0x9d50
+0x7326    0x9d59
+0x7327    0x9d72
+0x7328    0x9d89
+0x7329    0x9d87
+0x732a    0x9dab
+0x732b    0x9d6f
+0x732c    0x9d7a
+0x732d    0x9d9a
+0x732e    0x9da4
+0x732f    0x9da9
+0x7330    0x9db2
+0x7331    0x9dc4
+0x7332    0x9dc1
+0x7333    0x9dbb
+0x7334    0x9db8
+0x7335    0x9dba
+0x7336    0x9dc6
+0x7337    0x9dcf
+0x7338    0x9dc2
+0x7339    0x9dd9
+0x733a    0x9dd3
+0x733b    0x9df8
+0x733c    0x9de6
+0x733d    0x9ded
+0x733e    0x9def
+0x733f    0x9dfd
+0x7340    0x9e1a
+0x7341    0x9e1b
+0x7342    0x9e1e
+0x7343    0x9e75
+0x7344    0x9e79
+0x7345    0x9e7d
+0x7346    0x9e81
+0x7347    0x9e88
+0x7348    0x9e8b
+0x7349    0x9e8c
+0x734a    0x9e92
+0x734b    0x9e95
+0x734c    0x9e91
+0x734d    0x9e9d
+0x734e    0x9ea5
+0x734f    0x9ea9
+0x7350    0x9eb8
+0x7351    0x9eaa
+0x7352    0x9ead
+0x7353    0x9761
+0x7354    0x9ecc
+0x7355    0x9ece
+0x7356    0x9ecf
+0x7357    0x9ed0
+0x7358    0x9ed4
+0x7359    0x9edc
+0x735a    0x9ede
+0x735b    0x9edd
+0x735c    0x9ee0
+0x735d    0x9ee5
+0x735e    0x9ee8
+0x735f    0x9eef
+0x7360    0x9ef4
+0x7361    0x9ef6
+0x7362    0x9ef7
+0x7363    0x9ef9
+0x7364    0x9efb
+0x7365    0x9efc
+0x7366    0x9efd
+0x7367    0x9f07
+0x7368    0x9f08
+0x7369    0x76b7
+0x736a    0x9f15
+0x736b    0x9f21
+0x736c    0x9f2c
+0x736d    0x9f3e
+0x736e    0x9f4a
+0x736f    0x9f52
+0x7370    0x9f54
+0x7371    0x9f63
+0x7372    0x9f5f
+0x7373    0x9f60
+0x7374    0x9f61
+0x7375    0x9f66
+0x7376    0x9f67
+0x7377    0x9f6c
+0x7378    0x9f6a
+0x7379    0x9f77
+0x737a    0x9f72
+0x737b    0x9f76
+0x737c    0x9f95
+0x737d    0x9f9c
+0x737e    0x9fa0
+0x7421    0x582f
+0x7422    0x69c7
+0x7423    0x9059
+0x7424    0x7464
+0x7425    0x51dc
+0x7426    0x7199
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/tools/CharsetMapping/JIS_X_0208_MS5022X.c2b	Wed Aug 01 11:08:11 2012 -0400
@@ -0,0 +1,73 @@
+#
+#    The diff of JIS_X_0208_MS5022X_Decoder and
+#    JIS_X_0208_MS5022X_Encoder
+#
+0x215d    0xff0d
+0x2142    0x2225
+0x2123    0xff61
+0x2156    0xff62
+0x2157    0xff63
+0x2122    0xff64
+0x2126    0xff65
+0x2572    0xff66
+0x2521    0xff67
+0x2523    0xff68
+0x2525    0xff69
+0x2527    0xff6a
+0x2529    0xff6b
+0x2563    0xff6c
+0x2565    0xff6d
+0x2567    0xff6e
+0x2543    0xff6f
+0x213c    0xff70
+0x2522    0xff71
+0x2524    0xff72
+0x2526    0xff73
+0x2528    0xff74
+0x252a    0xff75
+0x252b    0xff76
+0x252d    0xff77
+0x252f    0xff78
+0x2531    0xff79
+0x2533    0xff7a
+0x2535    0xff7b
+0x2537    0xff7c
+0x2539    0xff7d
+0x253b    0xff7e
+0x253d    0xff7f
+0x253f    0xff80
+0x2541    0xff81
+0x2544    0xff82
+0x2546    0xff83
+0x2548    0xff84
+0x254a    0xff85
+0x254b    0xff86
+0x254c    0xff87
+0x254d    0xff88
+0x254e    0xff89
+0x254f    0xff8a
+0x2552    0xff8b
+0x2555    0xff8c
+0x2558    0xff8d
+0x255b    0xff8e
+0x255e    0xff8f
+0x255f    0xff90
+0x2560    0xff91
+0x2561    0xff92
+0x2562    0xff93
+0x2564    0xff94
+0x2566    0xff95
+0x2568    0xff96
+0x2569    0xff97
+0x256a    0xff98
+0x256b    0xff99
+0x256c    0xff9a
+0x256d    0xff9b
+0x256f    0xff9c
+0x2573    0xff9d
+0x212b    0xff9e
+0x212c    0xff9f
+0x2171    0xffe0
+0x2172    0xffe1
+0x224c    0xffe2
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/tools/CharsetMapping/JIS_X_0208_MS5022X.map	Wed Aug 01 11:08:11 2012 -0400
@@ -0,0 +1,7893 @@
+0x2121    0x3000
+0x2122    0x3001
+0x2123    0x3002
+0x2124    0xff0c
+0x2125    0xff0e
+0x2126    0x30fb
+0x2127    0xff1a
+0x2128    0xff1b
+0x2129    0xff1f
+0x212a    0xff01
+0x212b    0x309b
+0x212c    0x309c
+0x212d    0x00b4
+0x212e    0xff40
+0x212f    0x00a8
+0x2130    0xff3e
+0x2131    0xffe3
+0x2132    0xff3f
+0x2133    0x30fd
+0x2134    0x30fe
+0x2135    0x309d
+0x2136    0x309e
+0x2137    0x3003
+0x2138    0x4edd
+0x2139    0x3005
+0x213a    0x3006
+0x213b    0x3007
+0x213c    0x30fc
+0x213d    0x2015
+0x213e    0x2010
+0x213f    0xff0f
+0x2140    0xff3c
+0x2141    0x301c
+0x2142    0x2016
+0x2143    0xff5c
+0x2144    0x2026
+0x2145    0x2025
+0x2146    0x2018
+0x2147    0x2019
+0x2148    0x201c
+0x2149    0x201d
+0x214a    0xff08
+0x214b    0xff09
+0x214c    0x3014
+0x214d    0x3015
+0x214e    0xff3b
+0x214f    0xff3d
+0x2150    0xff5b
+0x2151    0xff5d
+0x2152    0x3008
+0x2153    0x3009
+0x2154    0x300a
+0x2155    0x300b
+0x2156    0x300c
+0x2157    0x300d
+0x2158    0x300e
+0x2159    0x300f
+0x215a    0x3010
+0x215b    0x3011
+0x215c    0xff0b
+0x215d    0x2212
+0x215e    0x00b1
+0x215f    0x00d7
+0x2160    0x00f7
+0x2161    0xff1d
+0x2162    0x2260
+0x2163    0xff1c
+0x2164    0xff1e
+0x2165    0x2266
+0x2166    0x2267
+0x2167    0x221e
+0x2168    0x2234
+0x2169    0x2642
+0x216a    0x2640
+0x216b    0x00b0
+0x216c    0x2032
+0x216d    0x2033
+0x216e    0x2103
+0x216f    0xffe5
+0x2170    0xff04
+0x2171    0x00a2
+0x2172    0x00a3
+0x2173    0xff05
+0x2174    0xff03
+0x2175    0xff06
+0x2176    0xff0a
+0x2177    0xff20
+0x2178    0x00a7
+0x2179    0x2606
+0x217a    0x2605
+0x217b    0x25cb
+0x217c    0x25cf
+0x217d    0x25ce
+0x217e    0x25c7
+0x2221    0x25c6
+0x2222    0x25a1
+0x2223    0x25a0
+0x2224    0x25b3
+0x2225    0x25b2
+0x2226    0x25bd
+0x2227    0x25bc
+0x2228    0x203b
+0x2229    0x3012
+0x222a    0x2192
+0x222b    0x2190
+0x222c    0x2191
+0x222d    0x2193
+0x222e    0x3013
+0x223a    0x2208
+0x223b    0x220b
+0x223c    0x2286
+0x223d    0x2287
+0x223e    0x2282
+0x223f    0x2283
+0x2240    0x222a
+0x2241    0x2229
+0x224a    0x2227
+0x224b    0x2228
+0x224c    0x00ac
+0x224d    0x21d2
+0x224e    0x21d4
+0x224f    0x2200
+0x2250    0x2203
+0x225c    0x2220
+0x225d    0x22a5
+0x225e    0x2312
+0x225f    0x2202
+0x2260    0x2207
+0x2261    0x2261
+0x2262    0x2252
+0x2263    0x226a
+0x2264    0x226b
+0x2265    0x221a
+0x2266    0x223d
+0x2267    0x221d
+0x2268    0x2235
+0x2269    0x222b
+0x226a    0x222c
+0x2272    0x212b
+0x2273    0x2030
+0x2274    0x266f
+0x2275    0x266d
+0x2276    0x266a
+0x2277    0x2020
+0x2278    0x2021
+0x2279    0x00b6
+0x227e    0x25ef
+0x2330    0xff10
+0x2331    0xff11
+0x2332    0xff12
+0x2333    0xff13
+0x2334    0xff14
+0x2335    0xff15
+0x2336    0xff16
+0x2337    0xff17
+0x2338    0xff18
+0x2339    0xff19
+0x2341    0xff21
+0x2342    0xff22
+0x2343    0xff23
+0x2344    0xff24
+0x2345    0xff25
+0x2346    0xff26
+0x2347    0xff27
+0x2348    0xff28
+0x2349    0xff29
+0x234a    0xff2a
+0x234b    0xff2b
+0x234c    0xff2c
+0x234d    0xff2d
+0x234e    0xff2e
+0x234f    0xff2f
+0x2350    0xff30
+0x2351    0xff31
+0x2352    0xff32
+0x2353    0xff33
+0x2354    0xff34
+0x2355    0xff35
+0x2356    0xff36
+0x2357    0xff37
+0x2358    0xff38
+0x2359    0xff39
+0x235a    0xff3a
+0x2361    0xff41
+0x2362    0xff42
+0x2363    0xff43
+0x2364    0xff44
+0x2365    0xff45
+0x2366    0xff46
+0x2367    0xff47
+0x2368    0xff48
+0x2369    0xff49
+0x236a    0xff4a
+0x236b    0xff4b
+0x236c    0xff4c
+0x236d    0xff4d
+0x236e    0xff4e
+0x236f    0xff4f
+0x2370    0xff50
+0x2371    0xff51
+0x2372    0xff52
+0x2373    0xff53
+0x2374    0xff54
+0x2375    0xff55
+0x2376    0xff56
+0x2377    0xff57
+0x2378    0xff58
+0x2379    0xff59
+0x237a    0xff5a
+0x2421    0x3041
+0x2422    0x3042
+0x2423    0x3043
+0x2424    0x3044
+0x2425    0x3045
+0x2426    0x3046
+0x2427    0x3047
+0x2428    0x3048
+0x2429    0x3049
+0x242a    0x304a
+0x242b    0x304b
+0x242c    0x304c
+0x242d    0x304d
+0x242e    0x304e
+0x242f    0x304f
+0x2430    0x3050
+0x2431    0x3051
+0x2432    0x3052
+0x2433    0x3053
+0x2434    0x3054
+0x2435    0x3055
+0x2436    0x3056
+0x2437    0x3057
+0x2438    0x3058
+0x2439    0x3059
+0x243a    0x305a
+0x243b    0x305b
+0x243c    0x305c
+0x243d    0x305d
+0x243e    0x305e
+0x243f    0x305f
+0x2440    0x3060
+0x2441    0x3061
+0x2442    0x3062
+0x2443    0x3063
+0x2444    0x3064
+0x2445    0x3065
+0x2446    0x3066
+0x2447    0x3067
+0x2448    0x3068
+0x2449    0x3069
+0x244a    0x306a
+0x244b    0x306b
+0x244c    0x306c
+0x244d    0x306d
+0x244e    0x306e
+0x244f    0x306f
+0x2450    0x3070
+0x2451    0x3071
+0x2452    0x3072
+0x2453    0x3073
+0x2454    0x3074
+0x2455    0x3075
+0x2456    0x3076
+0x2457    0x3077
+0x2458    0x3078
+0x2459    0x3079
+0x245a    0x307a
+0x245b    0x307b
+0x245c    0x307c
+0x245d    0x307d
+0x245e    0x307e
+0x245f    0x307f
+0x2460    0x3080
+0x2461    0x3081
+0x2462    0x3082
+0x2463    0x3083
+0x2464    0x3084
+0x2465    0x3085
+0x2466    0x3086
+0x2467    0x3087
+0x2468    0x3088
+0x2469    0x3089
+0x246a    0x308a
+0x246b    0x308b
+0x246c    0x308c
+0x246d    0x308d
+0x246e    0x308e
+0x246f    0x308f
+0x2470    0x3090
+0x2471    0x3091
+0x2472    0x3092
+0x2473    0x3093
+0x2521    0x30a1
+0x2522    0x30a2
+0x2523    0x30a3
+0x2524    0x30a4
+0x2525    0x30a5
+0x2526    0x30a6
+0x2527    0x30a7
+0x2528    0x30a8
+0x2529    0x30a9
+0x252a    0x30aa
+0x252b    0x30ab
+0x252c    0x30ac
+0x252d    0x30ad
+0x252e    0x30ae
+0x252f    0x30af
+0x2530    0x30b0
+0x2531    0x30b1
+0x2532    0x30b2
+0x2533    0x30b3
+0x2534    0x30b4
+0x2535    0x30b5
+0x2536    0x30b6
+0x2537    0x30b7
+0x2538    0x30b8
+0x2539    0x30b9
+0x253a    0x30ba
+0x253b    0x30bb
+0x253c    0x30bc
+0x253d    0x30bd
+0x253e    0x30be
+0x253f    0x30bf
+0x2540    0x30c0
+0x2541    0x30c1
+0x2542    0x30c2
+0x2543    0x30c3
+0x2544    0x30c4
+0x2545    0x30c5
+0x2546    0x30c6
+0x2547    0x30c7
+0x2548    0x30c8
+0x2549    0x30c9
+0x254a    0x30ca
+0x254b    0x30cb
+0x254c    0x30cc
+0x254d    0x30cd
+0x254e    0x30ce
+0x254f    0x30cf
+0x2550    0x30d0
+0x2551    0x30d1
+0x2552    0x30d2
+0x2553    0x30d3
+0x2554    0x30d4
+0x2555    0x30d5
+0x2556    0x30d6
+0x2557    0x30d7
+0x2558    0x30d8
+0x2559    0x30d9
+0x255a    0x30da
+0x255b    0x30db
+0x255c    0x30dc
+0x255d    0x30dd
+0x255e    0x30de
+0x255f    0x30df
+0x2560    0x30e0
+0x2561    0x30e1
+0x2562    0x30e2
+0x2563    0x30e3
+0x2564    0x30e4
+0x2565    0x30e5
+0x2566    0x30e6
+0x2567    0x30e7
+0x2568    0x30e8
+0x2569    0x30e9
+0x256a    0x30ea
+0x256b    0x30eb
+0x256c    0x30ec
+0x256d    0x30ed
+0x256e    0x30ee
+0x256f    0x30ef
+0x2570    0x30f0
+0x2571    0x30f1
+0x2572    0x30f2
+0x2573    0x30f3
+0x2574    0x30f4
+0x2575    0x30f5
+0x2576    0x30f6
+0x2621    0x0391
+0x2622    0x0392
+0x2623    0x0393
+0x2624    0x0394
+0x2625    0x0395
+0x2626    0x0396
+0x2627    0x0397
+0x2628    0x0398
+0x2629    0x0399
+0x262a    0x039a
+0x262b    0x039b
+0x262c    0x039c
+0x262d    0x039d
+0x262e    0x039e
+0x262f    0x039f
+0x2630    0x03a0
+0x2631    0x03a1
+0x2632    0x03a3
+0x2633    0x03a4
+0x2634    0x03a5
+0x2635    0x03a6
+0x2636    0x03a7
+0x2637    0x03a8
+0x2638    0x03a9
+0x2641    0x03b1
+0x2642    0x03b2
+0x2643    0x03b3
+0x2644    0x03b4
+0x2645    0x03b5
+0x2646    0x03b6
+0x2647    0x03b7
+0x2648    0x03b8
+0x2649    0x03b9
+0x264a    0x03ba
+0x264b    0x03bb
+0x264c    0x03bc
+0x264d    0x03bd
+0x264e    0x03be
+0x264f    0x03bf
+0x2650    0x03c0
+0x2651    0x03c1
+0x2652    0x03c3
+0x2653    0x03c4
+0x2654    0x03c5
+0x2655    0x03c6
+0x2656    0x03c7
+0x2657    0x03c8
+0x2658    0x03c9
+0x2721    0x0410
+0x2722    0x0411
+0x2723    0x0412
+0x2724    0x0413
+0x2725    0x0414
+0x2726    0x0415
+0x2727    0x0401
+0x2728    0x0416
+0x2729    0x0417
+0x272a    0x0418
+0x272b    0x0419
+0x272c    0x041a
+0x272d    0x041b
+0x272e    0x041c
+0x272f    0x041d
+0x2730    0x041e
+0x2731    0x041f
+0x2732    0x0420
+0x2733    0x0421
+0x2734    0x0422
+0x2735    0x0423
+0x2736    0x0424
+0x2737    0x0425
+0x2738    0x0426
+0x2739    0x0427
+0x273a    0x0428
+0x273b    0x0429
+0x273c    0x042a
+0x273d    0x042b
+0x273e    0x042c
+0x273f    0x042d
+0x2740    0x042e
+0x2741    0x042f
+0x2751    0x0430
+0x2752    0x0431
+0x2753    0x0432
+0x2754    0x0433
+0x2755    0x0434
+0x2756    0x0435
+0x2757    0x0451
+0x2758    0x0436
+0x2759    0x0437
+0x275a    0x0438
+0x275b    0x0439
+0x275c    0x043a
+0x275d    0x043b
+0x275e    0x043c
+0x275f    0x043d
+0x2760    0x043e
+0x2761    0x043f
+0x2762    0x0440
+0x2763    0x0441
+0x2764    0x0442
+0x2765    0x0443
+0x2766    0x0444
+0x2767    0x0445
+0x2768    0x0446
+0x2769    0x0447
+0x276a    0x0448
+0x276b    0x0449
+0x276c    0x044a
+0x276d    0x044b
+0x276e    0x044c
+0x276f    0x044d
+0x2770    0x044e
+0x2771    0x044f
+0x2821    0x2500
+0x2822    0x2502
+0x2823    0x250c
+0x2824    0x2510
+0x2825    0x2518
+0x2826    0x2514
+0x2827    0x251c
+0x2828    0x252c
+0x2829    0x2524
+0x282a    0x2534
+0x282b    0x253c
+0x282c    0x2501
+0x282d    0x2503
+0x282e    0x250f
+0x282f    0x2513
+0x2830    0x251b
+0x2831    0x2517
+0x2832    0x2523
+0x2833    0x2533
+0x2834    0x252b
+0x2835    0x253b
+0x2836    0x254b
+0x2837    0x2520
+0x2838    0x252f
+0x2839    0x2528
+0x283a    0x2537
+0x283b    0x253f
+0x283c    0x251d
+0x283d    0x2530
+0x283e    0x2525
+0x283f    0x2538
+0x2840    0x2542
+0x2d21    0x2460
+0x2d22    0x2461
+0x2d23    0x2462
+0x2d24    0x2463
+0x2d25    0x2464
+0x2d26    0x2465
+0x2d27    0x2466
+0x2d28    0x2467
+0x2d29    0x2468
+0x2d2a    0x2469
+0x2d2b    0x246a
+0x2d2c    0x246b
+0x2d2d    0x246c
+0x2d2e    0x246d
+0x2d2f    0x246e
+0x2d30    0x246f
+0x2d31    0x2470
+0x2d32    0x2471
+0x2d33    0x2472
+0x2d34    0x2473
+0x2d35    0x2160
+0x2d36    0x2161
+0x2d37    0x2162
+0x2d38    0x2163
+0x2d39    0x2164
+0x2d3a    0x2165
+0x2d3b    0x2166
+0x2d3c    0x2167
+0x2d3d    0x2168
+0x2d3e    0x2169
+0x2d40    0x3349
+0x2d41    0x3314
+0x2d42    0x3322
+0x2d43    0x334d
+0x2d44    0x3318
+0x2d45    0x3327
+0x2d46    0x3303
+0x2d47    0x3336
+0x2d48    0x3351
+0x2d49    0x3357
+0x2d4a    0x330d
+0x2d4b    0x3326
+0x2d4c    0x3323
+0x2d4d    0x332b
+0x2d4e    0x334a
+0x2d4f    0x333b
+0x2d50    0x339c
+0x2d51    0x339d
+0x2d52    0x339e
+0x2d53    0x338e
+0x2d54    0x338f
+0x2d55    0x33c4
+0x2d56    0x33a1
+0x2d5f    0x337b
+0x2d60    0x301e
+0x2d61    0x301f
+0x2d62    0x2116
+0x2d63    0x33cd
+0x2d64    0x2121
+0x2d65    0x32a4
+0x2d66    0x32a5
+0x2d67    0x32a6
+0x2d68    0x32a7
+0x2d69    0x32a8
+0x2d6a    0x3231
+0x2d6b    0x3232
+0x2d6c    0x3239
+0x2d6d    0x337e
+0x2d6e    0x337d
+0x2d6f    0x337c
+0x2d73    0x222e
+0x2d74    0x2211
+0x2d78    0x221f
+0x2d79    0x22bf
+0x3021    0x4e9c
+0x3022    0x5516
+0x3023    0x5a03
+0x3024    0x963f
+0x3025    0x54c0
+0x3026    0x611b
+0x3027    0x6328
+0x3028    0x59f6
+0x3029    0x9022
+0x302a    0x8475
+0x302b    0x831c
+0x302c    0x7a50
+0x302d    0x60aa
+0x302e    0x63e1
+0x302f    0x6e25
+0x3030    0x65ed
+0x3031    0x8466
+0x3032    0x82a6
+0x3033    0x9bf5
+0x3034    0x6893
+0x3035    0x5727
+0x3036    0x65a1
+0x3037    0x6271
+0x3038    0x5b9b
+0x3039    0x59d0
+0x303a    0x867b
+0x303b    0x98f4
+0x303c    0x7d62
+0x303d    0x7dbe
+0x303e    0x9b8e
+0x303f    0x6216
+0x3040    0x7c9f
+0x3041    0x88b7
+0x3042    0x5b89
+0x3043    0x5eb5
+0x3044    0x6309
+0x3045    0x6697
+0x3046    0x6848
+0x3047    0x95c7
+0x3048    0x978d
+0x3049    0x674f
+0x304a    0x4ee5
+0x304b    0x4f0a
+0x304c    0x4f4d
+0x304d    0x4f9d
+0x304e    0x5049
+0x304f    0x56f2
+0x3050    0x5937
+0x3051    0x59d4
+0x3052    0x5a01
+0x3053    0x5c09
+0x3054    0x60df
+0x3055    0x610f
+0x3056    0x6170
+0x3057    0x6613
+0x3058    0x6905
+0x3059    0x70ba
+0x305a    0x754f
+0x305b    0x7570
+0x305c    0x79fb
+0x305d    0x7dad
+0x305e    0x7def
+0x305f    0x80c3
+0x3060    0x840e
+0x3061    0x8863
+0x3062    0x8b02
+0x3063    0x9055
+0x3064    0x907a
+0x3065    0x533b
+0x3066    0x4e95
+0x3067    0x4ea5
+0x3068    0x57df
+0x3069    0x80b2
+0x306a    0x90c1
+0x306b    0x78ef
+0x306c    0x4e00
+0x306d    0x58f1
+0x306e    0x6ea2
+0x306f    0x9038
+0x3070    0x7a32
+0x3071    0x8328
+0x3072    0x828b
+0x3073    0x9c2f
+0x3074    0x5141
+0x3075    0x5370
+0x3076    0x54bd
+0x3077    0x54e1
+0x3078    0x56e0
+0x3079    0x59fb
+0x307a    0x5f15
+0x307b    0x98f2
+0x307c    0x6deb
+0x307d    0x80e4
+0x307e    0x852d
+0x3121    0x9662
+0x3122    0x9670
+0x3123    0x96a0
+0x3124    0x97fb
+0x3125    0x540b
+0x3126    0x53f3
+0x3127    0x5b87
+0x3128    0x70cf
+0x3129    0x7fbd
+0x312a    0x8fc2
+0x312b    0x96e8
+0x312c    0x536f
+0x312d    0x9d5c
+0x312e    0x7aba
+0x312f    0x4e11
+0x3130    0x7893
+0x3131    0x81fc
+0x3132    0x6e26
+0x3133    0x5618
+0x3134    0x5504
+0x3135    0x6b1d
+0x3136    0x851a
+0x3137    0x9c3b
+0x3138    0x59e5
+0x3139    0x53a9
+0x313a    0x6d66
+0x313b    0x74dc
+0x313c    0x958f
+0x313d    0x5642
+0x313e    0x4e91
+0x313f    0x904b
+0x3140    0x96f2
+0x3141    0x834f
+0x3142    0x990c
+0x3143    0x53e1
+0x3144    0x55b6
+0x3145    0x5b30
+0x3146    0x5f71
+0x3147    0x6620
+0x3148    0x66f3
+0x3149    0x6804
+0x314a    0x6c38
+0x314b    0x6cf3
+0x314c    0x6d29
+0x314d    0x745b
+0x314e    0x76c8
+0x314f    0x7a4e
+0x3150    0x9834
+0x3151    0x82f1
+0x3152    0x885b
+0x3153    0x8a60
+0x3154    0x92ed
+0x3155    0x6db2
+0x3156    0x75ab
+0x3157    0x76ca
+0x3158    0x99c5
+0x3159    0x60a6
+0x315a    0x8b01
+0x315b    0x8d8a
+0x315c    0x95b2
+0x315d    0x698e
+0x315e    0x53ad
+0x315f    0x5186
+0x3160    0x5712
+0x3161    0x5830
+0x3162    0x5944
+0x3163    0x5bb4
+0x3164    0x5ef6
+0x3165    0x6028
+0x3166    0x63a9
+0x3167    0x63f4
+0x3168    0x6cbf
+0x3169    0x6f14
+0x316a    0x708e
+0x316b    0x7114
+0x316c    0x7159
+0x316d    0x71d5
+0x316e    0x733f
+0x316f    0x7e01
+0x3170    0x8276
+0x3171    0x82d1
+0x3172    0x8597
+0x3173    0x9060
+0x3174    0x925b
+0x3175    0x9d1b
+0x3176    0x5869
+0x3177    0x65bc
+0x3178    0x6c5a
+0x3179    0x7525
+0x317a    0x51f9
+0x317b    0x592e
+0x317c    0x5965
+0x317d    0x5f80
+0x317e    0x5fdc
+0x3221    0x62bc
+0x3222    0x65fa
+0x3223    0x6a2a
+0x3224    0x6b27
+0x3225    0x6bb4
+0x3226    0x738b
+0x3227    0x7fc1
+0x3228    0x8956
+0x3229    0x9d2c
+0x322a    0x9d0e
+0x322b    0x9ec4
+0x322c    0x5ca1
+0x322d    0x6c96
+0x322e    0x837b
+0x322f    0x5104
+0x3230    0x5c4b
+0x3231    0x61b6
+0x3232    0x81c6
+0x3233    0x6876
+0x3234    0x7261
+0x3235    0x4e59
+0x3236    0x4ffa
+0x3237    0x5378
+0x3238    0x6069
+0x3239    0x6e29
+0x323a    0x7a4f
+0x323b    0x97f3
+0x323c    0x4e0b
+0x323d    0x5316
+0x323e    0x4eee
+0x323f    0x4f55
+0x3240    0x4f3d
+0x3241    0x4fa1
+0x3242    0x4f73
+0x3243    0x52a0
+0x3244    0x53ef
+0x3245    0x5609
+0x3246    0x590f
+0x3247    0x5ac1
+0x3248    0x5bb6
+0x3249    0x5be1
+0x324a    0x79d1
+0x324b    0x6687
+0x324c    0x679c
+0x324d    0x67b6
+0x324e    0x6b4c
+0x324f    0x6cb3
+0x3250    0x706b
+0x3251    0x73c2
+0x3252    0x798d
+0x3253    0x79be
+0x3254    0x7a3c
+0x3255    0x7b87
+0x3256    0x82b1
+0x3257    0x82db
+0x3258    0x8304
+0x3259    0x8377
+0x325a    0x83ef
+0x325b    0x83d3
+0x325c    0x8766
+0x325d    0x8ab2
+0x325e    0x5629
+0x325f    0x8ca8
+0x3260    0x8fe6
+0x3261    0x904e
+0x3262    0x971e
+0x3263    0x868a
+0x3264    0x4fc4
+0x3265    0x5ce8
+0x3266    0x6211
+0x3267    0x7259
+0x3268    0x753b
+0x3269    0x81e5
+0x326a    0x82bd
+0x326b    0x86fe
+0x326c    0x8cc0
+0x326d    0x96c5
+0x326e    0x9913
+0x326f    0x99d5
+0x3270    0x4ecb
+0x3271    0x4f1a
+0x3272    0x89e3
+0x3273    0x56de
+0x3274    0x584a
+0x3275    0x58ca
+0x3276    0x5efb
+0x3277    0x5feb
+0x3278    0x602a
+0x3279    0x6094
+0x327a    0x6062
+0x327b    0x61d0
+0x327c    0x6212
+0x327d    0x62d0
+0x327e    0x6539
+0x3321    0x9b41
+0x3322    0x6666
+0x3323    0x68b0
+0x3324    0x6d77
+0x3325    0x7070
+0x3326    0x754c
+0x3327    0x7686
+0x3328    0x7d75
+0x3329    0x82a5
+0x332a    0x87f9
+0x332b    0x958b
+0x332c    0x968e
+0x332d    0x8c9d
+0x332e    0x51f1
+0x332f    0x52be
+0x3330    0x5916
+0x3331    0x54b3
+0x3332    0x5bb3
+0x3333    0x5d16
+0x3334    0x6168
+0x3335    0x6982
+0x3336    0x6daf
+0x3337    0x788d
+0x3338    0x84cb
+0x3339    0x8857
+0x333a    0x8a72
+0x333b    0x93a7
+0x333c    0x9ab8
+0x333d    0x6d6c
+0x333e    0x99a8
+0x333f    0x86d9
+0x3340    0x57a3
+0x3341    0x67ff
+0x3342    0x86ce
+0x3343    0x920e
+0x3344    0x5283
+0x3345    0x5687
+0x3346    0x5404
+0x3347    0x5ed3
+0x3348    0x62e1
+0x3349    0x64b9
+0x334a    0x683c
+0x334b    0x6838
+0x334c    0x6bbb
+0x334d    0x7372
+0x334e    0x78ba
+0x334f    0x7a6b
+0x3350    0x899a
+0x3351    0x89d2
+0x3352    0x8d6b
+0x3353    0x8f03
+0x3354    0x90ed
+0x3355    0x95a3
+0x3356    0x9694
+0x3357    0x9769
+0x3358    0x5b66
+0x3359    0x5cb3
+0x335a    0x697d
+0x335b    0x984d
+0x335c    0x984e
+0x335d    0x639b
+0x335e    0x7b20
+0x335f    0x6a2b
+0x3360    0x6a7f
+0x3361    0x68b6
+0x3362    0x9c0d
+0x3363    0x6f5f
+0x3364    0x5272
+0x3365    0x559d
+0x3366    0x6070
+0x3367    0x62ec
+0x3368    0x6d3b
+0x3369    0x6e07
+0x336a    0x6ed1
+0x336b    0x845b
+0x336c    0x8910
+0x336d    0x8f44
+0x336e    0x4e14
+0x336f    0x9c39
+0x3370    0x53f6
+0x3371    0x691b
+0x3372    0x6a3a
+0x3373    0x9784
+0x3374    0x682a
+0x3375    0x515c
+0x3376    0x7ac3
+0x3377    0x84b2
+0x3378    0x91dc
+0x3379    0x938c
+0x337a    0x565b
+0x337b    0x9d28
+0x337c    0x6822
+0x337d    0x8305
+0x337e    0x8431
+0x3421    0x7ca5
+0x3422    0x5208
+0x3423    0x82c5
+0x3424    0x74e6
+0x3425    0x4e7e
+0x3426    0x4f83
+0x3427    0x51a0
+0x3428    0x5bd2
+0x3429    0x520a
+0x342a    0x52d8
+0x342b    0x52e7
+0x342c    0x5dfb
+0x342d    0x559a
+0x342e    0x582a
+0x342f    0x59e6
+0x3430    0x5b8c
+0x3431    0x5b98
+0x3432    0x5bdb
+0x3433    0x5e72
+0x3434    0x5e79
+0x3435    0x60a3
+0x3436    0x611f
+0x3437    0x6163
+0x3438    0x61be
+0x3439    0x63db
+0x343a    0x6562
+0x343b    0x67d1
+0x343c    0x6853
+0x343d    0x68fa
+0x343e    0x6b3e
+0x343f    0x6b53
+0x3440    0x6c57
+0x3441    0x6f22
+0x3442    0x6f97
+0x3443    0x6f45
+0x3444    0x74b0
+0x3445    0x7518
+0x3446    0x76e3
+0x3447    0x770b
+0x3448    0x7aff
+0x3449    0x7ba1
+0x344a    0x7c21
+0x344b    0x7de9
+0x344c    0x7f36
+0x344d    0x7ff0
+0x344e    0x809d
+0x344f    0x8266
+0x3450    0x839e
+0x3451    0x89b3
+0x3452    0x8acc
+0x3453    0x8cab
+0x3454    0x9084
+0x3455    0x9451
+0x3456    0x9593
+0x3457    0x9591
+0x3458    0x95a2
+0x3459    0x9665
+0x345a    0x97d3
+0x345b    0x9928
+0x345c    0x8218
+0x345d    0x4e38
+0x345e    0x542b
+0x345f    0x5cb8
+0x3460    0x5dcc
+0x3461    0x73a9
+0x3462    0x764c
+0x3463    0x773c
+0x3464    0x5ca9
+0x3465    0x7feb
+0x3466    0x8d0b
+0x3467    0x96c1
+0x3468    0x9811
+0x3469    0x9854
+0x346a    0x9858
+0x346b    0x4f01
+0x346c    0x4f0e
+0x346d    0x5371
+0x346e    0x559c
+0x346f    0x5668
+0x3470    0x57fa
+0x3471    0x5947
+0x3472    0x5b09
+0x3473    0x5bc4
+0x3474    0x5c90
+0x3475    0x5e0c
+0x3476    0x5e7e
+0x3477    0x5fcc
+0x3478    0x63ee
+0x3479    0x673a
+0x347a    0x65d7
+0x347b    0x65e2
+0x347c    0x671f
+0x347d    0x68cb
+0x347e    0x68c4
+0x3521    0x6a5f
+0x3522    0x5e30
+0x3523    0x6bc5
+0x3524    0x6c17
+0x3525    0x6c7d
+0x3526    0x757f
+0x3527    0x7948
+0x3528    0x5b63
+0x3529    0x7a00
+0x352a    0x7d00
+0x352b    0x5fbd
+0x352c    0x898f
+0x352d    0x8a18
+0x352e    0x8cb4
+0x352f    0x8d77
+0x3530    0x8ecc
+0x3531    0x8f1d
+0x3532    0x98e2
+0x3533    0x9a0e
+0x3534    0x9b3c
+0x3535    0x4e80
+0x3536    0x507d
+0x3537    0x5100
+0x3538    0x5993
+0x3539    0x5b9c
+0x353a    0x622f
+0x353b    0x6280
+0x353c    0x64ec
+0x353d    0x6b3a
+0x353e    0x72a0
+0x353f    0x7591
+0x3540    0x7947
+0x3541    0x7fa9
+0x3542    0x87fb
+0x3543    0x8abc
+0x3544    0x8b70
+0x3545    0x63ac
+0x3546    0x83ca
+0x3547    0x97a0
+0x3548    0x5409
+0x3549    0x5403
+0x354a    0x55ab
+0x354b    0x6854
+0x354c    0x6a58
+0x354d    0x8a70
+0x354e    0x7827
+0x354f    0x6775
+0x3550    0x9ecd
+0x3551    0x5374
+0x3552    0x5ba2
+0x3553    0x811a
+0x3554    0x8650
+0x3555    0x9006
+0x3556    0x4e18
+0x3557    0x4e45
+0x3558    0x4ec7
+0x3559    0x4f11
+0x355a    0x53ca
+0x355b    0x5438
+0x355c    0x5bae
+0x355d    0x5f13
+0x355e    0x6025
+0x355f    0x6551
+0x3560    0x673d
+0x3561    0x6c42
+0x3562    0x6c72
+0x3563    0x6ce3
+0x3564    0x7078
+0x3565    0x7403
+0x3566    0x7a76
+0x3567    0x7aae
+0x3568    0x7b08
+0x3569    0x7d1a
+0x356a    0x7cfe
+0x356b    0x7d66
+0x356c    0x65e7
+0x356d    0x725b
+0x356e    0x53bb
+0x356f    0x5c45
+0x3570    0x5de8
+0x3571    0x62d2
+0x3572    0x62e0
+0x3573    0x6319
+0x3574    0x6e20
+0x3575    0x865a
+0x3576    0x8a31
+0x3577    0x8ddd
+0x3578    0x92f8
+0x3579    0x6f01
+0x357a    0x79a6
+0x357b    0x9b5a
+0x357c    0x4ea8
+0x357d    0x4eab
+0x357e    0x4eac
+0x3621    0x4f9b
+0x3622    0x4fa0
+0x3623    0x50d1
+0x3624    0x5147
+0x3625    0x7af6
+0x3626    0x5171
+0x3627    0x51f6
+0x3628    0x5354
+0x3629    0x5321
+0x362a    0x537f
+0x362b    0x53eb
+0x362c    0x55ac
+0x362d    0x5883
+0x362e    0x5ce1
+0x362f    0x5f37
+0x3630    0x5f4a
+0x3631    0x602f
+0x3632    0x6050
+0x3633    0x606d
+0x3634    0x631f
+0x3635    0x6559
+0x3636    0x6a4b
+0x3637    0x6cc1
+0x3638    0x72c2
+0x3639    0x72ed
+0x363a    0x77ef
+0x363b    0x80f8
+0x363c    0x8105
+0x363d    0x8208
+0x363e    0x854e
+0x363f    0x90f7
+0x3640    0x93e1
+0x3641    0x97ff
+0x3642    0x9957
+0x3643    0x9a5a
+0x3644    0x4ef0
+0x3645    0x51dd
+0x3646    0x5c2d
+0x3647    0x6681
+0x3648    0x696d
+0x3649    0x5c40
+0x364a    0x66f2
+0x364b    0x6975
+0x364c    0x7389
+0x364d    0x6850
+0x364e    0x7c81
+0x364f    0x50c5
+0x3650    0x52e4
+0x3651    0x5747
+0x3652    0x5dfe
+0x3653    0x9326
+0x3654    0x65a4
+0x3655    0x6b23
+0x3656    0x6b3d
+0x3657    0x7434
+0x3658    0x7981
+0x3659    0x79bd
+0x365a    0x7b4b
+0x365b    0x7dca
+0x365c    0x82b9
+0x365d    0x83cc
+0x365e    0x887f
+0x365f    0x895f
+0x3660    0x8b39
+0x3661    0x8fd1
+0x3662    0x91d1
+0x3663    0x541f
+0x3664    0x9280
+0x3665    0x4e5d
+0x3666    0x5036
+0x3667    0x53e5
+0x3668    0x533a
+0x3669    0x72d7
+0x366a    0x7396
+0x366b    0x77e9
+0x366c    0x82e6
+0x366d    0x8eaf
+0x366e    0x99c6
+0x366f    0x99c8
+0x3670    0x99d2
+0x3671    0x5177
+0x3672    0x611a
+0x3673    0x865e
+0x3674    0x55b0
+0x3675    0x7a7a
+0x3676    0x5076
+0x3677    0x5bd3
+0x3678    0x9047
+0x3679    0x9685
+0x367a    0x4e32
+0x367b    0x6adb
+0x367c    0x91e7
+0x367d    0x5c51
+0x367e    0x5c48
+0x3721    0x6398
+0x3722    0x7a9f
+0x3723    0x6c93
+0x3724    0x9774
+0x3725    0x8f61
+0x3726    0x7aaa
+0x3727    0x718a
+0x3728    0x9688
+0x3729    0x7c82
+0x372a    0x6817
+0x372b    0x7e70
+0x372c    0x6851
+0x372d    0x936c
+0x372e    0x52f2
+0x372f    0x541b
+0x3730    0x85ab
+0x3731    0x8a13
+0x3732    0x7fa4
+0x3733    0x8ecd
+0x3734    0x90e1
+0x3735    0x5366
+0x3736    0x8888
+0x3737    0x7941
+0x3738    0x4fc2
+0x3739    0x50be
+0x373a    0x5211
+0x373b    0x5144
+0x373c    0x5553
+0x373d    0x572d
+0x373e    0x73ea
+0x373f    0x578b
+0x3740    0x5951
+0x3741    0x5f62
+0x3742    0x5f84
+0x3743    0x6075
+0x3744    0x6176
+0x3745    0x6167
+0x3746    0x61a9
+0x3747    0x63b2
+0x3748    0x643a
+0x3749    0x656c
+0x374a    0x666f
+0x374b    0x6842
+0x374c    0x6e13
+0x374d    0x7566
+0x374e    0x7a3d
+0x374f    0x7cfb
+0x3750    0x7d4c
+0x3751    0x7d99
+0x3752    0x7e4b
+0x3753    0x7f6b
+0x3754    0x830e
+0x3755    0x834a
+0x3756    0x86cd
+0x3757    0x8a08
+0x3758    0x8a63
+0x3759    0x8b66
+0x375a    0x8efd
+0x375b    0x981a
+0x375c    0x9d8f
+0x375d    0x82b8
+0x375e    0x8fce
+0x375f    0x9be8
+0x3760    0x5287
+0x3761    0x621f
+0x3762    0x6483
+0x3763    0x6fc0
+0x3764    0x9699
+0x3765    0x6841
+0x3766    0x5091
+0x3767    0x6b20
+0x3768    0x6c7a
+0x3769    0x6f54
+0x376a    0x7a74
+0x376b    0x7d50
+0x376c    0x8840
+0x376d    0x8a23
+0x376e    0x6708
+0x376f    0x4ef6
+0x3770    0x5039
+0x3771    0x5026
+0x3772    0x5065
+0x3773    0x517c
+0x3774    0x5238
+0x3775    0x5263
+0x3776    0x55a7
+0x3777    0x570f
+0x3778    0x5805
+0x3779    0x5acc
+0x377a    0x5efa
+0x377b    0x61b2
+0x377c    0x61f8
+0x377d    0x62f3
+0x377e    0x6372
+0x3821    0x691c
+0x3822    0x6a29
+0x3823    0x727d
+0x3824    0x72ac
+0x3825    0x732e
+0x3826    0x7814
+0x3827    0x786f
+0x3828    0x7d79
+0x3829    0x770c
+0x382a    0x80a9
+0x382b    0x898b
+0x382c    0x8b19
+0x382d    0x8ce2
+0x382e    0x8ed2
+0x382f    0x9063
+0x3830    0x9375
+0x3831    0x967a
+0x3832    0x9855
+0x3833    0x9a13
+0x3834    0x9e78
+0x3835    0x5143
+0x3836    0x539f
+0x3837    0x53b3
+0x3838    0x5e7b
+0x3839    0x5f26
+0x383a    0x6e1b
+0x383b    0x6e90
+0x383c    0x7384
+0x383d    0x73fe
+0x383e    0x7d43
+0x383f    0x8237
+0x3840    0x8a00
+0x3841    0x8afa
+0x3842    0x9650
+0x3843    0x4e4e
+0x3844    0x500b
+0x3845    0x53e4
+0x3846    0x547c
+0x3847    0x56fa
+0x3848    0x59d1
+0x3849    0x5b64
+0x384a    0x5df1
+0x384b    0x5eab
+0x384c    0x5f27
+0x384d    0x6238
+0x384e    0x6545
+0x384f    0x67af
+0x3850    0x6e56
+0x3851    0x72d0
+0x3852    0x7cca
+0x3853    0x88b4
+0x3854    0x80a1
+0x3855    0x80e1
+0x3856    0x83f0
+0x3857    0x864e
+0x3858    0x8a87
+0x3859    0x8de8
+0x385a    0x9237
+0x385b    0x96c7
+0x385c    0x9867
+0x385d    0x9f13
+0x385e    0x4e94
+0x385f    0x4e92
+0x3860    0x4f0d
+0x3861    0x5348
+0x3862    0x5449
+0x3863    0x543e
+0x3864    0x5a2f
+0x3865    0x5f8c
+0x3866    0x5fa1
+0x3867    0x609f
+0x3868    0x68a7
+0x3869    0x6a8e
+0x386a    0x745a
+0x386b    0x7881
+0x386c    0x8a9e
+0x386d    0x8aa4
+0x386e    0x8b77
+0x386f    0x9190
+0x3870    0x4e5e
+0x3871    0x9bc9
+0x3872    0x4ea4
+0x3873    0x4f7c
+0x3874    0x4faf
+0x3875    0x5019
+0x3876    0x5016
+0x3877    0x5149
+0x3878    0x516c
+0x3879    0x529f
+0x387a    0x52b9
+0x387b    0x52fe
+0x387c    0x539a
+0x387d    0x53e3
+0x387e    0x5411
+0x3921    0x540e
+0x3922    0x5589
+0x3923    0x5751
+0x3924    0x57a2
+0x3925    0x597d
+0x3926    0x5b54
+0x3927    0x5b5d
+0x3928    0x5b8f
+0x3929    0x5de5
+0x392a    0x5de7
+0x392b    0x5df7
+0x392c    0x5e78
+0x392d    0x5e83
+0x392e    0x5e9a
+0x392f    0x5eb7
+0x3930    0x5f18
+0x3931    0x6052
+0x3932    0x614c
+0x3933    0x6297
+0x3934    0x62d8
+0x3935    0x63a7
+0x3936    0x653b
+0x3937    0x6602
+0x3938    0x6643
+0x3939    0x66f4
+0x393a    0x676d
+0x393b    0x6821
+0x393c    0x6897
+0x393d    0x69cb
+0x393e    0x6c5f
+0x393f    0x6d2a
+0x3940    0x6d69
+0x3941    0x6e2f
+0x3942    0x6e9d
+0x3943    0x7532
+0x3944    0x7687
+0x3945    0x786c
+0x3946    0x7a3f
+0x3947    0x7ce0
+0x3948    0x7d05
+0x3949    0x7d18
+0x394a    0x7d5e
+0x394b    0x7db1
+0x394c    0x8015
+0x394d    0x8003
+0x394e    0x80af
+0x394f    0x80b1
+0x3950    0x8154
+0x3951    0x818f
+0x3952    0x822a
+0x3953    0x8352
+0x3954    0x884c
+0x3955    0x8861
+0x3956    0x8b1b
+0x3957    0x8ca2
+0x3958    0x8cfc
+0x3959    0x90ca
+0x395a    0x9175
+0x395b    0x9271
+0x395c    0x783f
+0x395d    0x92fc
+0x395e    0x95a4
+0x395f    0x964d
+0x3960    0x9805
+0x3961    0x9999
+0x3962    0x9ad8
+0x3963    0x9d3b
+0x3964    0x525b
+0x3965    0x52ab
+0x3966    0x53f7
+0x3967    0x5408
+0x3968    0x58d5
+0x3969    0x62f7
+0x396a    0x6fe0
+0x396b    0x8c6a
+0x396c    0x8f5f
+0x396d    0x9eb9
+0x396e    0x514b
+0x396f    0x523b
+0x3970    0x544a
+0x3971    0x56fd
+0x3972    0x7a40
+0x3973    0x9177
+0x3974    0x9d60
+0x3975    0x9ed2
+0x3976    0x7344
+0x3977    0x6f09
+0x3978    0x8170
+0x3979    0x7511
+0x397a    0x5ffd
+0x397b    0x60da
+0x397c    0x9aa8
+0x397d    0x72db
+0x397e    0x8fbc
+0x3a21    0x6b64
+0x3a22    0x9803
+0x3a23    0x4eca
+0x3a24    0x56f0
+0x3a25    0x5764
+0x3a26    0x58be
+0x3a27    0x5a5a
+0x3a28    0x6068
+0x3a29    0x61c7
+0x3a2a    0x660f
+0x3a2b    0x6606
+0x3a2c    0x6839
+0x3a2d    0x68b1
+0x3a2e    0x6df7
+0x3a2f    0x75d5
+0x3a30    0x7d3a
+0x3a31    0x826e
+0x3a32    0x9b42
+0x3a33    0x4e9b
+0x3a34    0x4f50
+0x3a35    0x53c9
+0x3a36    0x5506
+0x3a37    0x5d6f
+0x3a38    0x5de6
+0x3a39    0x5dee
+0x3a3a    0x67fb
+0x3a3b    0x6c99
+0x3a3c    0x7473
+0x3a3d    0x7802
+0x3a3e    0x8a50
+0x3a3f    0x9396
+0x3a40    0x88df
+0x3a41    0x5750
+0x3a42    0x5ea7
+0x3a43    0x632b
+0x3a44    0x50b5
+0x3a45    0x50ac
+0x3a46    0x518d
+0x3a47    0x6700
+0x3a48    0x54c9
+0x3a49    0x585e
+0x3a4a    0x59bb
+0x3a4b    0x5bb0
+0x3a4c    0x5f69
+0x3a4d    0x624d
+0x3a4e    0x63a1
+0x3a4f    0x683d
+0x3a50    0x6b73
+0x3a51    0x6e08
+0x3a52    0x707d
+0x3a53    0x91c7
+0x3a54    0x7280
+0x3a55    0x7815
+0x3a56    0x7826
+0x3a57    0x796d
+0x3a58    0x658e
+0x3a59    0x7d30
+0x3a5a    0x83dc
+0x3a5b    0x88c1
+0x3a5c    0x8f09
+0x3a5d    0x969b
+0x3a5e    0x5264
+0x3a5f    0x5728
+0x3a60    0x6750
+0x3a61    0x7f6a
+0x3a62    0x8ca1
+0x3a63    0x51b4
+0x3a64    0x5742
+0x3a65    0x962a
+0x3a66    0x583a
+0x3a67    0x698a
+0x3a68    0x80b4
+0x3a69    0x54b2
+0x3a6a    0x5d0e
+0x3a6b    0x57fc
+0x3a6c    0x7895
+0x3a6d    0x9dfa
+0x3a6e    0x4f5c
+0x3a6f    0x524a
+0x3a70    0x548b
+0x3a71    0x643e
+0x3a72    0x6628
+0x3a73    0x6714
+0x3a74    0x67f5
+0x3a75    0x7a84
+0x3a76    0x7b56
+0x3a77    0x7d22
+0x3a78    0x932f
+0x3a79    0x685c
+0x3a7a    0x9bad
+0x3a7b    0x7b39
+0x3a7c    0x5319
+0x3a7d    0x518a
+0x3a7e    0x5237
+0x3b21    0x5bdf
+0x3b22    0x62f6
+0x3b23    0x64ae
+0x3b24    0x64e6
+0x3b25    0x672d
+0x3b26    0x6bba
+0x3b27    0x85a9
+0x3b28    0x96d1
+0x3b29    0x7690
+0x3b2a    0x9bd6
+0x3b2b    0x634c
+0x3b2c    0x9306
+0x3b2d    0x9bab
+0x3b2e    0x76bf
+0x3b2f    0x6652
+0x3b30    0x4e09
+0x3b31    0x5098
+0x3b32    0x53c2
+0x3b33    0x5c71
+0x3b34    0x60e8
+0x3b35    0x6492
+0x3b36    0x6563
+0x3b37    0x685f
+0x3b38    0x71e6
+0x3b39    0x73ca
+0x3b3a    0x7523
+0x3b3b    0x7b97
+0x3b3c    0x7e82
+0x3b3d    0x8695
+0x3b3e    0x8b83
+0x3b3f    0x8cdb
+0x3b40    0x9178
+0x3b41    0x9910
+0x3b42    0x65ac
+0x3b43    0x66ab
+0x3b44    0x6b8b
+0x3b45    0x4ed5
+0x3b46    0x4ed4
+0x3b47    0x4f3a
+0x3b48    0x4f7f
+0x3b49    0x523a
+0x3b4a    0x53f8
+0x3b4b    0x53f2
+0x3b4c    0x55e3
+0x3b4d    0x56db
+0x3b4e    0x58eb
+0x3b4f    0x59cb
+0x3b50    0x59c9
+0x3b51    0x59ff
+0x3b52    0x5b50
+0x3b53    0x5c4d
+0x3b54    0x5e02
+0x3b55    0x5e2b
+0x3b56    0x5fd7
+0x3b57    0x601d
+0x3b58    0x6307
+0x3b59    0x652f
+0x3b5a    0x5b5c
+0x3b5b    0x65af
+0x3b5c    0x65bd
+0x3b5d    0x65e8
+0x3b5e    0x679d
+0x3b5f    0x6b62
+0x3b60    0x6b7b
+0x3b61    0x6c0f
+0x3b62    0x7345
+0x3b63    0x7949
+0x3b64    0x79c1
+0x3b65    0x7cf8
+0x3b66    0x7d19
+0x3b67    0x7d2b
+0x3b68    0x80a2
+0x3b69    0x8102
+0x3b6a    0x81f3
+0x3b6b    0x8996
+0x3b6c    0x8a5e
+0x3b6d    0x8a69
+0x3b6e    0x8a66
+0x3b6f    0x8a8c
+0x3b70    0x8aee
+0x3b71    0x8cc7
+0x3b72    0x8cdc
+0x3b73    0x96cc
+0x3b74    0x98fc
+0x3b75    0x6b6f
+0x3b76    0x4e8b
+0x3b77    0x4f3c
+0x3b78    0x4f8d
+0x3b79    0x5150
+0x3b7a    0x5b57
+0x3b7b    0x5bfa
+0x3b7c    0x6148
+0x3b7d    0x6301
+0x3b7e    0x6642
+0x3c21    0x6b21
+0x3c22    0x6ecb
+0x3c23    0x6cbb
+0x3c24    0x723e
+0x3c25    0x74bd
+0x3c26    0x75d4
+0x3c27    0x78c1
+0x3c28    0x793a
+0x3c29    0x800c
+0x3c2a    0x8033
+0x3c2b    0x81ea
+0x3c2c    0x8494
+0x3c2d    0x8f9e
+0x3c2e    0x6c50
+0x3c2f    0x9e7f
+0x3c30    0x5f0f
+0x3c31    0x8b58
+0x3c32    0x9d2b
+0x3c33    0x7afa
+0x3c34    0x8ef8
+0x3c35    0x5b8d
+0x3c36    0x96eb
+0x3c37    0x4e03
+0x3c38    0x53f1
+0x3c39    0x57f7
+0x3c3a    0x5931
+0x3c3b    0x5ac9
+0x3c3c    0x5ba4
+0x3c3d    0x6089
+0x3c3e    0x6e7f
+0x3c3f    0x6f06
+0x3c40    0x75be
+0x3c41    0x8cea
+0x3c42    0x5b9f
+0x3c43    0x8500
+0x3c44    0x7be0
+0x3c45    0x5072
+0x3c46    0x67f4
+0x3c47    0x829d
+0x3c48    0x5c61
+0x3c49    0x854a
+0x3c4a    0x7e1e
+0x3c4b    0x820e
+0x3c4c    0x5199
+0x3c4d    0x5c04
+0x3c4e    0x6368
+0x3c4f    0x8d66
+0x3c50    0x659c
+0x3c51    0x716e
+0x3c52    0x793e
+0x3c53    0x7d17
+0x3c54    0x8005
+0x3c55    0x8b1d
+0x3c56    0x8eca
+0x3c57    0x906e
+0x3c58    0x86c7
+0x3c59    0x90aa
+0x3c5a    0x501f
+0x3c5b    0x52fa
+0x3c5c    0x5c3a
+0x3c5d    0x6753
+0x3c5e    0x707c
+0x3c5f    0x7235
+0x3c60    0x914c
+0x3c61    0x91c8
+0x3c62    0x932b
+0x3c63    0x82e5
+0x3c64    0x5bc2
+0x3c65    0x5f31
+0x3c66    0x60f9
+0x3c67    0x4e3b
+0x3c68    0x53d6
+0x3c69    0x5b88
+0x3c6a    0x624b
+0x3c6b    0x6731
+0x3c6c    0x6b8a
+0x3c6d    0x72e9
+0x3c6e    0x73e0
+0x3c6f    0x7a2e
+0x3c70    0x816b
+0x3c71    0x8da3
+0x3c72    0x9152
+0x3c73    0x9996
+0x3c74    0x5112
+0x3c75    0x53d7
+0x3c76    0x546a
+0x3c77    0x5bff
+0x3c78    0x6388
+0x3c79    0x6a39
+0x3c7a    0x7dac
+0x3c7b    0x9700
+0x3c7c    0x56da
+0x3c7d    0x53ce
+0x3c7e    0x5468
+0x3d21    0x5b97
+0x3d22    0x5c31
+0x3d23    0x5dde
+0x3d24    0x4fee
+0x3d25    0x6101
+0x3d26    0x62fe
+0x3d27    0x6d32
+0x3d28    0x79c0
+0x3d29    0x79cb
+0x3d2a    0x7d42
+0x3d2b    0x7e4d
+0x3d2c    0x7fd2
+0x3d2d    0x81ed
+0x3d2e    0x821f
+0x3d2f    0x8490
+0x3d30    0x8846
+0x3d31    0x8972
+0x3d32    0x8b90
+0x3d33    0x8e74
+0x3d34    0x8f2f
+0x3d35    0x9031
+0x3d36    0x914b
+0x3d37    0x916c
+0x3d38    0x96c6
+0x3d39    0x919c
+0x3d3a    0x4ec0
+0x3d3b    0x4f4f
+0x3d3c    0x5145
+0x3d3d    0x5341
+0x3d3e    0x5f93
+0x3d3f    0x620e
+0x3d40    0x67d4
+0x3d41    0x6c41
+0x3d42    0x6e0b
+0x3d43    0x7363
+0x3d44    0x7e26
+0x3d45    0x91cd
+0x3d46    0x9283
+0x3d47    0x53d4
+0x3d48    0x5919
+0x3d49    0x5bbf
+0x3d4a    0x6dd1
+0x3d4b    0x795d
+0x3d4c    0x7e2e
+0x3d4d    0x7c9b
+0x3d4e    0x587e
+0x3d4f    0x719f
+0x3d50    0x51fa
+0x3d51    0x8853
+0x3d52    0x8ff0
+0x3d53    0x4fca
+0x3d54    0x5cfb
+0x3d55    0x6625
+0x3d56    0x77ac
+0x3d57    0x7ae3
+0x3d58    0x821c
+0x3d59    0x99ff
+0x3d5a    0x51c6
+0x3d5b    0x5faa
+0x3d5c    0x65ec
+0x3d5d    0x696f
+0x3d5e    0x6b89
+0x3d5f    0x6df3
+0x3d60    0x6e96
+0x3d61    0x6f64
+0x3d62    0x76fe
+0x3d63    0x7d14
+0x3d64    0x5de1
+0x3d65    0x9075
+0x3d66    0x9187
+0x3d67    0x9806
+0x3d68    0x51e6
+0x3d69    0x521d
+0x3d6a    0x6240
+0x3d6b    0x6691
+0x3d6c    0x66d9
+0x3d6d    0x6e1a
+0x3d6e    0x5eb6
+0x3d6f    0x7dd2
+0x3d70    0x7f72
+0x3d71    0x66f8
+0x3d72    0x85af
+0x3d73    0x85f7
+0x3d74    0x8af8
+0x3d75    0x52a9
+0x3d76    0x53d9
+0x3d77    0x5973
+0x3d78    0x5e8f
+0x3d79    0x5f90
+0x3d7a    0x6055
+0x3d7b    0x92e4
+0x3d7c    0x9664
+0x3d7d    0x50b7
+0x3d7e    0x511f
+0x3e21    0x52dd
+0x3e22    0x5320
+0x3e23    0x5347
+0x3e24    0x53ec
+0x3e25    0x54e8
+0x3e26    0x5546
+0x3e27    0x5531
+0x3e28    0x5617
+0x3e29    0x5968
+0x3e2a    0x59be
+0x3e2b    0x5a3c
+0x3e2c    0x5bb5
+0x3e2d    0x5c06
+0x3e2e    0x5c0f
+0x3e2f    0x5c11
+0x3e30    0x5c1a
+0x3e31    0x5e84
+0x3e32    0x5e8a
+0x3e33    0x5ee0
+0x3e34    0x5f70
+0x3e35    0x627f
+0x3e36    0x6284
+0x3e37    0x62db
+0x3e38    0x638c
+0x3e39    0x6377
+0x3e3a    0x6607
+0x3e3b    0x660c
+0x3e3c    0x662d
+0x3e3d    0x6676
+0x3e3e    0x677e
+0x3e3f    0x68a2
+0x3e40    0x6a1f
+0x3e41    0x6a35
+0x3e42    0x6cbc
+0x3e43    0x6d88
+0x3e44    0x6e09
+0x3e45    0x6e58
+0x3e46    0x713c
+0x3e47    0x7126
+0x3e48    0x7167
+0x3e49    0x75c7
+0x3e4a    0x7701
+0x3e4b    0x785d
+0x3e4c    0x7901
+0x3e4d    0x7965
+0x3e4e    0x79f0
+0x3e4f    0x7ae0
+0x3e50    0x7b11
+0x3e51    0x7ca7
+0x3e52    0x7d39
+0x3e53    0x8096
+0x3e54    0x83d6
+0x3e55    0x848b
+0x3e56    0x8549
+0x3e57    0x885d
+0x3e58    0x88f3
+0x3e59    0x8a1f
+0x3e5a    0x8a3c
+0x3e5b    0x8a54
+0x3e5c    0x8a73
+0x3e5d    0x8c61
+0x3e5e    0x8cde
+0x3e5f    0x91a4
+0x3e60    0x9266
+0x3e61    0x937e
+0x3e62    0x9418
+0x3e63    0x969c
+0x3e64    0x9798
+0x3e65    0x4e0a
+0x3e66    0x4e08
+0x3e67    0x4e1e
+0x3e68    0x4e57
+0x3e69    0x5197
+0x3e6a    0x5270
+0x3e6b    0x57ce
+0x3e6c    0x5834
+0x3e6d    0x58cc
+0x3e6e    0x5b22
+0x3e6f    0x5e38
+0x3e70    0x60c5
+0x3e71    0x64fe
+0x3e72    0x6761
+0x3e73    0x6756
+0x3e74    0x6d44
+0x3e75    0x72b6
+0x3e76    0x7573
+0x3e77    0x7a63
+0x3e78    0x84b8
+0x3e79    0x8b72
+0x3e7a    0x91b8
+0x3e7b    0x9320
+0x3e7c    0x5631
+0x3e7d    0x57f4
+0x3e7e    0x98fe
+0x3f21    0x62ed
+0x3f22    0x690d
+0x3f23    0x6b96
+0x3f24    0x71ed
+0x3f25    0x7e54
+0x3f26    0x8077
+0x3f27    0x8272
+0x3f28    0x89e6
+0x3f29    0x98df
+0x3f2a    0x8755
+0x3f2b    0x8fb1
+0x3f2c    0x5c3b
+0x3f2d    0x4f38
+0x3f2e    0x4fe1
+0x3f2f    0x4fb5
+0x3f30    0x5507
+0x3f31    0x5a20
+0x3f32    0x5bdd
+0x3f33    0x5be9
+0x3f34    0x5fc3
+0x3f35    0x614e
+0x3f36    0x632f
+0x3f37    0x65b0
+0x3f38    0x664b
+0x3f39    0x68ee
+0x3f3a    0x699b
+0x3f3b    0x6d78
+0x3f3c    0x6df1
+0x3f3d    0x7533
+0x3f3e    0x75b9
+0x3f3f    0x771f
+0x3f40    0x795e
+0x3f41    0x79e6
+0x3f42    0x7d33
+0x3f43    0x81e3
+0x3f44    0x82af
+0x3f45    0x85aa
+0x3f46    0x89aa
+0x3f47    0x8a3a
+0x3f48    0x8eab
+0x3f49    0x8f9b
+0x3f4a    0x9032
+0x3f4b    0x91dd
+0x3f4c    0x9707
+0x3f4d    0x4eba
+0x3f4e    0x4ec1
+0x3f4f    0x5203
+0x3f50    0x5875
+0x3f51    0x58ec
+0x3f52    0x5c0b
+0x3f53    0x751a
+0x3f54    0x5c3d
+0x3f55    0x814e
+0x3f56    0x8a0a
+0x3f57    0x8fc5
+0x3f58    0x9663
+0x3f59    0x976d
+0x3f5a    0x7b25
+0x3f5b    0x8acf
+0x3f5c    0x9808
+0x3f5d    0x9162
+0x3f5e    0x56f3
+0x3f5f    0x53a8
+0x3f60    0x9017
+0x3f61    0x5439
+0x3f62    0x5782
+0x3f63    0x5e25
+0x3f64    0x63a8
+0x3f65    0x6c34
+0x3f66    0x708a
+0x3f67    0x7761
+0x3f68    0x7c8b
+0x3f69    0x7fe0
+0x3f6a    0x8870
+0x3f6b    0x9042
+0x3f6c    0x9154
+0x3f6d    0x9310
+0x3f6e    0x9318
+0x3f6f    0x968f
+0x3f70    0x745e
+0x3f71    0x9ac4
+0x3f72    0x5d07
+0x3f73    0x5d69
+0x3f74    0x6570
+0x3f75    0x67a2
+0x3f76    0x8da8
+0x3f77    0x96db
+0x3f78    0x636e
+0x3f79    0x6749
+0x3f7a    0x6919
+0x3f7b    0x83c5
+0x3f7c    0x9817
+0x3f7d    0x96c0
+0x3f7e    0x88fe
+0x4021    0x6f84
+0x4022    0x647a
+0x4023    0x5bf8
+0x4024    0x4e16
+0x4025    0x702c
+0x4026    0x755d
+0x4027    0x662f
+0x4028    0x51c4
+0x4029    0x5236
+0x402a    0x52e2
+0x402b    0x59d3
+0x402c    0x5f81
+0x402d    0x6027
+0x402e    0x6210
+0x402f    0x653f
+0x4030    0x6574
+0x4031    0x661f
+0x4032    0x6674
+0x4033    0x68f2
+0x4034    0x6816
+0x4035    0x6b63
+0x4036    0x6e05
+0x4037    0x7272
+0x4038    0x751f
+0x4039    0x76db
+0x403a    0x7cbe
+0x403b    0x8056
+0x403c    0x58f0
+0x403d    0x88fd
+0x403e    0x897f
+0x403f    0x8aa0
+0x4040    0x8a93
+0x4041    0x8acb
+0x4042    0x901d
+0x4043    0x9192
+0x4044    0x9752
+0x4045    0x9759
+0x4046    0x6589
+0x4047    0x7a0e
+0x4048    0x8106
+0x4049    0x96bb
+0x404a    0x5e2d
+0x404b    0x60dc
+0x404c    0x621a
+0x404d    0x65a5
+0x404e    0x6614
+0x404f    0x6790
+0x4050    0x77f3
+0x4051    0x7a4d
+0x4052    0x7c4d
+0x4053    0x7e3e
+0x4054    0x810a
+0x4055    0x8cac
+0x4056    0x8d64
+0x4057    0x8de1
+0x4058    0x8e5f
+0x4059    0x78a9
+0x405a    0x5207
+0x405b    0x62d9
+0x405c    0x63a5
+0x405d    0x6442
+0x405e    0x6298
+0x405f    0x8a2d
+0x4060    0x7a83
+0x4061    0x7bc0
+0x4062    0x8aac
+0x4063    0x96ea
+0x4064    0x7d76
+0x4065    0x820c
+0x4066    0x8749
+0x4067    0x4ed9
+0x4068    0x5148
+0x4069    0x5343
+0x406a    0x5360
+0x406b    0x5ba3
+0x406c    0x5c02
+0x406d    0x5c16
+0x406e    0x5ddd
+0x406f    0x6226
+0x4070    0x6247
+0x4071    0x64b0
+0x4072    0x6813
+0x4073    0x6834
+0x4074    0x6cc9
+0x4075    0x6d45
+0x4076    0x6d17
+0x4077    0x67d3
+0x4078    0x6f5c
+0x4079    0x714e
+0x407a    0x717d
+0x407b    0x65cb
+0x407c    0x7a7f
+0x407d    0x7bad
+0x407e    0x7dda
+0x4121    0x7e4a
+0x4122    0x7fa8
+0x4123    0x817a
+0x4124    0x821b
+0x4125    0x8239
+0x4126    0x85a6
+0x4127    0x8a6e
+0x4128    0x8cce
+0x4129    0x8df5
+0x412a    0x9078
+0x412b    0x9077
+0x412c    0x92ad
+0x412d    0x9291
+0x412e    0x9583
+0x412f    0x9bae
+0x4130    0x524d
+0x4131    0x5584
+0x4132    0x6f38
+0x4133    0x7136
+0x4134    0x5168
+0x4135    0x7985
+0x4136    0x7e55
+0x4137    0x81b3
+0x4138    0x7cce
+0x4139    0x564c
+0x413a    0x5851
+0x413b    0x5ca8
+0x413c    0x63aa
+0x413d    0x66fe
+0x413e    0x66fd
+0x413f    0x695a
+0x4140    0x72d9
+0x4141    0x758f
+0x4142    0x758e
+0x4143    0x790e
+0x4144    0x7956
+0x4145    0x79df
+0x4146    0x7c97
+0x4147    0x7d20
+0x4148    0x7d44
+0x4149    0x8607
+0x414a    0x8a34
+0x414b    0x963b
+0x414c    0x9061
+0x414d    0x9f20
+0x414e    0x50e7
+0x414f    0x5275
+0x4150    0x53cc
+0x4151    0x53e2
+0x4152    0x5009
+0x4153    0x55aa
+0x4154    0x58ee
+0x4155    0x594f
+0x4156    0x723d
+0x4157    0x5b8b
+0x4158    0x5c64
+0x4159    0x531d
+0x415a    0x60e3
+0x415b    0x60f3
+0x415c    0x635c
+0x415d    0x6383
+0x415e    0x633f
+0x415f    0x63bb
+0x4160    0x64cd
+0x4161    0x65e9
+0x4162    0x66f9
+0x4163    0x5de3
+0x4164    0x69cd
+0x4165    0x69fd
+0x4166    0x6f15
+0x4167    0x71e5
+0x4168    0x4e89
+0x4169    0x75e9
+0x416a    0x76f8
+0x416b    0x7a93
+0x416c    0x7cdf
+0x416d    0x7dcf
+0x416e    0x7d9c
+0x416f    0x8061
+0x4170    0x8349
+0x4171    0x8358
+0x4172    0x846c
+0x4173    0x84bc
+0x4174    0x85fb
+0x4175    0x88c5
+0x4176    0x8d70
+0x4177    0x9001
+0x4178    0x906d
+0x4179    0x9397
+0x417a    0x971c
+0x417b    0x9a12
+0x417c    0x50cf
+0x417d    0x5897
+0x417e    0x618e
+0x4221    0x81d3
+0x4222    0x8535
+0x4223    0x8d08
+0x4224    0x9020
+0x4225    0x4fc3
+0x4226    0x5074
+0x4227    0x5247
+0x4228    0x5373
+0x4229    0x606f
+0x422a    0x6349
+0x422b    0x675f
+0x422c    0x6e2c
+0x422d    0x8db3
+0x422e    0x901f
+0x422f    0x4fd7
+0x4230    0x5c5e
+0x4231    0x8cca
+0x4232    0x65cf
+0x4233    0x7d9a
+0x4234    0x5352
+0x4235    0x8896
+0x4236    0x5176
+0x4237    0x63c3
+0x4238    0x5b58
+0x4239    0x5b6b
+0x423a    0x5c0a
+0x423b    0x640d
+0x423c    0x6751
+0x423d    0x905c
+0x423e    0x4ed6
+0x423f    0x591a
+0x4240    0x592a
+0x4241    0x6c70
+0x4242    0x8a51
+0x4243    0x553e
+0x4244    0x5815
+0x4245    0x59a5
+0x4246    0x60f0
+0x4247    0x6253
+0x4248    0x67c1
+0x4249    0x8235
+0x424a    0x6955
+0x424b    0x9640
+0x424c    0x99c4
+0x424d    0x9a28
+0x424e    0x4f53
+0x424f    0x5806
+0x4250    0x5bfe
+0x4251    0x8010
+0x4252    0x5cb1
+0x4253    0x5e2f
+0x4254    0x5f85
+0x4255    0x6020
+0x4256    0x614b
+0x4257    0x6234
+0x4258    0x66ff
+0x4259    0x6cf0
+0x425a    0x6ede
+0x425b    0x80ce
+0x425c    0x817f
+0x425d    0x82d4
+0x425e    0x888b
+0x425f    0x8cb8
+0x4260    0x9000
+0x4261    0x902e
+0x4262    0x968a
+0x4263    0x9edb
+0x4264    0x9bdb
+0x4265    0x4ee3
+0x4266    0x53f0
+0x4267    0x5927
+0x4268    0x7b2c
+0x4269    0x918d
+0x426a    0x984c
+0x426b    0x9df9
+0x426c    0x6edd
+0x426d    0x7027
+0x426e    0x5353
+0x426f    0x5544
+0x4270    0x5b85
+0x4271    0x6258
+0x4272    0x629e
+0x4273    0x62d3
+0x4274    0x6ca2
+0x4275    0x6fef
+0x4276    0x7422
+0x4277    0x8a17
+0x4278    0x9438
+0x4279    0x6fc1
+0x427a    0x8afe
+0x427b    0x8338
+0x427c    0x51e7
+0x427d    0x86f8
+0x427e    0x53ea
+0x4321    0x53e9
+0x4322    0x4f46
+0x4323    0x9054
+0x4324    0x8fb0
+0x4325    0x596a
+0x4326    0x8131
+0x4327    0x5dfd
+0x4328    0x7aea
+0x4329    0x8fbf
+0x432a    0x68da
+0x432b    0x8c37
+0x432c    0x72f8
+0x432d    0x9c48
+0x432e    0x6a3d
+0x432f    0x8ab0
+0x4330    0x4e39
+0x4331    0x5358
+0x4332    0x5606
+0x4333    0x5766
+0x4334    0x62c5
+0x4335    0x63a2
+0x4336    0x65e6
+0x4337    0x6b4e
+0x4338    0x6de1
+0x4339    0x6e5b
+0x433a    0x70ad
+0x433b    0x77ed
+0x433c    0x7aef
+0x433d    0x7baa
+0x433e    0x7dbb
+0x433f    0x803d
+0x4340    0x80c6
+0x4341    0x86cb
+0x4342    0x8a95
+0x4343    0x935b
+0x4344    0x56e3
+0x4345    0x58c7
+0x4346    0x5f3e
+0x4347    0x65ad
+0x4348    0x6696
+0x4349    0x6a80
+0x434a    0x6bb5
+0x434b    0x7537
+0x434c    0x8ac7
+0x434d    0x5024
+0x434e    0x77e5
+0x434f    0x5730
+0x4350    0x5f1b
+0x4351    0x6065
+0x4352    0x667a
+0x4353    0x6c60
+0x4354    0x75f4
+0x4355    0x7a1a
+0x4356    0x7f6e
+0x4357    0x81f4
+0x4358    0x8718
+0x4359    0x9045
+0x435a    0x99b3
+0x435b    0x7bc9
+0x435c    0x755c
+0x435d    0x7af9
+0x435e    0x7b51
+0x435f    0x84c4
+0x4360    0x9010
+0x4361    0x79e9
+0x4362    0x7a92
+0x4363    0x8336
+0x4364    0x5ae1
+0x4365    0x7740
+0x4366    0x4e2d
+0x4367    0x4ef2
+0x4368    0x5b99
+0x4369    0x5fe0
+0x436a    0x62bd
+0x436b    0x663c
+0x436c    0x67f1
+0x436d    0x6ce8
+0x436e    0x866b
+0x436f    0x8877
+0x4370    0x8a3b
+0x4371    0x914e
+0x4372    0x92f3
+0x4373    0x99d0
+0x4374    0x6a17
+0x4375    0x7026
+0x4376    0x732a
+0x4377    0x82e7
+0x4378    0x8457
+0x4379    0x8caf
+0x437a    0x4e01
+0x437b    0x5146
+0x437c    0x51cb
+0x437d    0x558b
+0x437e    0x5bf5
+0x4421    0x5e16
+0x4422    0x5e33
+0x4423    0x5e81
+0x4424    0x5f14
+0x4425    0x5f35
+0x4426    0x5f6b
+0x4427    0x5fb4
+0x4428    0x61f2
+0x4429    0x6311
+0x442a    0x66a2
+0x442b    0x671d
+0x442c    0x6f6e
+0x442d    0x7252
+0x442e    0x753a
+0x442f    0x773a
+0x4430    0x8074
+0x4431    0x8139
+0x4432    0x8178
+0x4433    0x8776
+0x4434    0x8abf
+0x4435    0x8adc
+0x4436    0x8d85
+0x4437    0x8df3
+0x4438    0x929a
+0x4439    0x9577
+0x443a    0x9802
+0x443b    0x9ce5
+0x443c    0x52c5
+0x443d    0x6357
+0x443e    0x76f4
+0x443f    0x6715
+0x4440    0x6c88
+0x4441    0x73cd
+0x4442    0x8cc3
+0x4443    0x93ae
+0x4444    0x9673
+0x4445    0x6d25
+0x4446    0x589c
+0x4447    0x690e
+0x4448    0x69cc
+0x4449    0x8ffd
+0x444a    0x939a
+0x444b    0x75db
+0x444c    0x901a
+0x444d    0x585a
+0x444e    0x6802
+0x444f    0x63b4
+0x4450    0x69fb
+0x4451    0x4f43
+0x4452    0x6f2c
+0x4453    0x67d8
+0x4454    0x8fbb
+0x4455    0x8526
+0x4456    0x7db4
+0x4457    0x9354
+0x4458    0x693f
+0x4459    0x6f70
+0x445a    0x576a
+0x445b    0x58f7
+0x445c    0x5b2c
+0x445d    0x7d2c
+0x445e    0x722a
+0x445f    0x540a
+0x4460    0x91e3
+0x4461    0x9db4
+0x4462    0x4ead
+0x4463    0x4f4e
+0x4464    0x505c
+0x4465    0x5075
+0x4466    0x5243
+0x4467    0x8c9e
+0x4468    0x5448
+0x4469    0x5824
+0x446a    0x5b9a
+0x446b    0x5e1d
+0x446c    0x5e95
+0x446d    0x5ead
+0x446e    0x5ef7
+0x446f    0x5f1f
+0x4470    0x608c
+0x4471    0x62b5
+0x4472    0x633a
+0x4473    0x63d0
+0x4474    0x68af
+0x4475    0x6c40
+0x4476    0x7887
+0x4477    0x798e
+0x4478    0x7a0b
+0x4479    0x7de0
+0x447a    0x8247
+0x447b    0x8a02
+0x447c    0x8ae6
+0x447d    0x8e44
+0x447e    0x9013
+0x4521    0x90b8
+0x4522    0x912d
+0x4523    0x91d8
+0x4524    0x9f0e
+0x4525    0x6ce5
+0x4526    0x6458
+0x4527    0x64e2
+0x4528    0x6575
+0x4529    0x6ef4
+0x452a    0x7684
+0x452b    0x7b1b
+0x452c    0x9069
+0x452d    0x93d1
+0x452e    0x6eba
+0x452f    0x54f2
+0x4530    0x5fb9
+0x4531    0x64a4
+0x4532    0x8f4d
+0x4533    0x8fed
+0x4534    0x9244
+0x4535    0x5178
+0x4536    0x586b
+0x4537    0x5929
+0x4538    0x5c55
+0x4539    0x5e97
+0x453a    0x6dfb
+0x453b    0x7e8f
+0x453c    0x751c
+0x453d    0x8cbc
+0x453e    0x8ee2
+0x453f    0x985b
+0x4540    0x70b9
+0x4541    0x4f1d
+0x4542    0x6bbf
+0x4543    0x6fb1
+0x4544    0x7530
+0x4545    0x96fb
+0x4546    0x514e
+0x4547    0x5410
+0x4548    0x5835
+0x4549    0x5857
+0x454a    0x59ac
+0x454b    0x5c60
+0x454c    0x5f92
+0x454d    0x6597
+0x454e    0x675c
+0x454f    0x6e21
+0x4550    0x767b
+0x4551    0x83df
+0x4552    0x8ced
+0x4553    0x9014
+0x4554    0x90fd
+0x4555    0x934d
+0x4556    0x7825
+0x4557    0x783a
+0x4558    0x52aa
+0x4559    0x5ea6
+0x455a    0x571f
+0x455b    0x5974
+0x455c    0x6012
+0x455d    0x5012
+0x455e    0x515a
+0x455f    0x51ac
+0x4560    0x51cd
+0x4561    0x5200
+0x4562    0x5510
+0x4563    0x5854
+0x4564    0x5858
+0x4565    0x5957
+0x4566    0x5b95
+0x4567    0x5cf6
+0x4568    0x5d8b
+0x4569    0x60bc
+0x456a    0x6295
+0x456b    0x642d
+0x456c    0x6771
+0x456d    0x6843
+0x456e    0x68bc
+0x456f    0x68df
+0x4570    0x76d7
+0x4571    0x6dd8
+0x4572    0x6e6f
+0x4573    0x6d9b
+0x4574    0x706f
+0x4575    0x71c8
+0x4576    0x5f53
+0x4577    0x75d8
+0x4578    0x7977
+0x4579    0x7b49
+0x457a    0x7b54
+0x457b    0x7b52
+0x457c    0x7cd6
+0x457d    0x7d71
+0x457e    0x5230
+0x4621    0x8463
+0x4622    0x8569
+0x4623    0x85e4
+0x4624    0x8a0e
+0x4625    0x8b04
+0x4626    0x8c46
+0x4627    0x8e0f
+0x4628    0x9003
+0x4629    0x900f
+0x462a    0x9419
+0x462b    0x9676
+0x462c    0x982d
+0x462d    0x9a30
+0x462e    0x95d8
+0x462f    0x50cd
+0x4630    0x52d5
+0x4631    0x540c
+0x4632    0x5802
+0x4633    0x5c0e
+0x4634    0x61a7
+0x4635    0x649e
+0x4636    0x6d1e
+0x4637    0x77b3
+0x4638    0x7ae5
+0x4639    0x80f4
+0x463a    0x8404
+0x463b    0x9053
+0x463c    0x9285
+0x463d    0x5ce0
+0x463e    0x9d07
+0x463f    0x533f
+0x4640    0x5f97
+0x4641    0x5fb3
+0x4642    0x6d9c
+0x4643    0x7279
+0x4644    0x7763
+0x4645    0x79bf
+0x4646    0x7be4
+0x4647    0x6bd2
+0x4648    0x72ec
+0x4649    0x8aad
+0x464a    0x6803
+0x464b    0x6a61
+0x464c    0x51f8
+0x464d    0x7a81
+0x464e    0x6934
+0x464f    0x5c4a
+0x4650    0x9cf6
+0x4651    0x82eb
+0x4652    0x5bc5
+0x4653    0x9149
+0x4654    0x701e
+0x4655    0x5678
+0x4656    0x5c6f
+0x4657    0x60c7
+0x4658    0x6566
+0x4659    0x6c8c
+0x465a    0x8c5a
+0x465b    0x9041
+0x465c    0x9813
+0x465d    0x5451
+0x465e    0x66c7
+0x465f    0x920d
+0x4660    0x5948
+0x4661    0x90a3
+0x4662    0x5185
+0x4663    0x4e4d
+0x4664    0x51ea
+0x4665    0x8599
+0x4666    0x8b0e
+0x4667    0x7058
+0x4668    0x637a
+0x4669    0x934b
+0x466a    0x6962
+0x466b    0x99b4
+0x466c    0x7e04
+0x466d    0x7577
+0x466e    0x5357
+0x466f    0x6960
+0x4670    0x8edf
+0x4671    0x96e3
+0x4672    0x6c5d
+0x4673    0x4e8c
+0x4674    0x5c3c
+0x4675    0x5f10
+0x4676    0x8fe9
+0x4677    0x5302
+0x4678    0x8cd1
+0x4679    0x8089
+0x467a    0x8679
+0x467b    0x5eff
+0x467c    0x65e5
+0x467d    0x4e73
+0x467e    0x5165
+0x4721    0x5982
+0x4722    0x5c3f
+0x4723    0x97ee
+0x4724    0x4efb
+0x4725    0x598a
+0x4726    0x5fcd
+0x4727    0x8a8d
+0x4728    0x6fe1
+0x4729    0x79b0
+0x472a    0x7962
+0x472b    0x5be7
+0x472c    0x8471
+0x472d    0x732b
+0x472e    0x71b1
+0x472f    0x5e74
+0x4730    0x5ff5
+0x4731    0x637b
+0x4732    0x649a
+0x4733    0x71c3
+0x4734    0x7c98
+0x4735    0x4e43
+0x4736    0x5efc
+0x4737    0x4e4b
+0x4738    0x57dc
+0x4739    0x56a2
+0x473a    0x60a9
+0x473b    0x6fc3
+0x473c    0x7d0d
+0x473d    0x80fd
+0x473e    0x8133
+0x473f    0x81bf
+0x4740    0x8fb2
+0x4741    0x8997
+0x4742    0x86a4
+0x4743    0x5df4
+0x4744    0x628a
+0x4745    0x64ad
+0x4746    0x8987
+0x4747    0x6777
+0x4748    0x6ce2
+0x4749    0x6d3e
+0x474a    0x7436
+0x474b    0x7834
+0x474c    0x5a46
+0x474d    0x7f75
+0x474e    0x82ad
+0x474f    0x99ac
+0x4750    0x4ff3
+0x4751    0x5ec3
+0x4752    0x62dd
+0x4753    0x6392
+0x4754    0x6557
+0x4755    0x676f
+0x4756    0x76c3
+0x4757    0x724c
+0x4758    0x80cc
+0x4759    0x80ba
+0x475a    0x8f29
+0x475b    0x914d
+0x475c    0x500d
+0x475d    0x57f9
+0x475e    0x5a92
+0x475f    0x6885
+0x4760    0x6973
+0x4761    0x7164
+0x4762    0x72fd
+0x4763    0x8cb7
+0x4764    0x58f2
+0x4765    0x8ce0
+0x4766    0x966a
+0x4767    0x9019
+0x4768    0x877f
+0x4769    0x79e4
+0x476a    0x77e7
+0x476b    0x8429
+0x476c    0x4f2f
+0x476d    0x5265
+0x476e    0x535a
+0x476f    0x62cd
+0x4770    0x67cf
+0x4771    0x6cca
+0x4772    0x767d
+0x4773    0x7b94
+0x4774    0x7c95
+0x4775    0x8236
+0x4776    0x8584
+0x4777    0x8feb
+0x4778    0x66dd
+0x4779    0x6f20
+0x477a    0x7206
+0x477b    0x7e1b
+0x477c    0x83ab
+0x477d    0x99c1
+0x477e    0x9ea6
+0x4821    0x51fd
+0x4822    0x7bb1
+0x4823    0x7872
+0x4824    0x7bb8
+0x4825    0x8087
+0x4826    0x7b48
+0x4827    0x6ae8
+0x4828    0x5e61
+0x4829    0x808c
+0x482a    0x7551
+0x482b    0x7560
+0x482c    0x516b
+0x482d    0x9262
+0x482e    0x6e8c
+0x482f    0x767a
+0x4830    0x9197
+0x4831    0x9aea
+0x4832    0x4f10
+0x4833    0x7f70
+0x4834    0x629c
+0x4835    0x7b4f
+0x4836    0x95a5
+0x4837    0x9ce9
+0x4838    0x567a
+0x4839    0x5859
+0x483a    0x86e4
+0x483b    0x96bc
+0x483c    0x4f34
+0x483d    0x5224
+0x483e    0x534a
+0x483f    0x53cd
+0x4840    0x53db
+0x4841    0x5e06
+0x4842    0x642c
+0x4843    0x6591
+0x4844    0x677f
+0x4845    0x6c3e
+0x4846    0x6c4e
+0x4847    0x7248
+0x4848    0x72af
+0x4849    0x73ed
+0x484a    0x7554
+0x484b    0x7e41
+0x484c    0x822c
+0x484d    0x85e9
+0x484e    0x8ca9
+0x484f    0x7bc4
+0x4850    0x91c6
+0x4851    0x7169
+0x4852    0x9812
+0x4853    0x98ef
+0x4854    0x633d
+0x4855    0x6669
+0x4856    0x756a
+0x4857    0x76e4
+0x4858    0x78d0
+0x4859    0x8543
+0x485a    0x86ee
+0x485b    0x532a
+0x485c    0x5351
+0x485d    0x5426
+0x485e    0x5983
+0x485f    0x5e87
+0x4860    0x5f7c
+0x4861    0x60b2
+0x4862    0x6249
+0x4863    0x6279
+0x4864    0x62ab
+0x4865    0x6590
+0x4866    0x6bd4
+0x4867    0x6ccc
+0x4868    0x75b2
+0x4869    0x76ae
+0x486a    0x7891
+0x486b    0x79d8
+0x486c    0x7dcb
+0x486d    0x7f77
+0x486e    0x80a5
+0x486f    0x88ab
+0x4870    0x8ab9
+0x4871    0x8cbb
+0x4872    0x907f
+0x4873    0x975e
+0x4874    0x98db
+0x4875    0x6a0b
+0x4876    0x7c38
+0x4877    0x5099
+0x4878    0x5c3e
+0x4879    0x5fae
+0x487a    0x6787
+0x487b    0x6bd8
+0x487c    0x7435
+0x487d    0x7709
+0x487e    0x7f8e
+0x4921    0x9f3b
+0x4922    0x67ca
+0x4923    0x7a17
+0x4924    0x5339
+0x4925    0x758b
+0x4926    0x9aed
+0x4927    0x5f66
+0x4928    0x819d
+0x4929    0x83f1
+0x492a    0x8098
+0x492b    0x5f3c
+0x492c    0x5fc5
+0x492d    0x7562
+0x492e    0x7b46
+0x492f    0x903c
+0x4930    0x6867
+0x4931    0x59eb
+0x4932    0x5a9b
+0x4933    0x7d10
+0x4934    0x767e
+0x4935    0x8b2c
+0x4936    0x4ff5
+0x4937    0x5f6a
+0x4938    0x6a19
+0x4939    0x6c37
+0x493a    0x6f02
+0x493b    0x74e2
+0x493c    0x7968
+0x493d    0x8868
+0x493e    0x8a55
+0x493f    0x8c79
+0x4940    0x5edf
+0x4941    0x63cf
+0x4942    0x75c5
+0x4943    0x79d2
+0x4944    0x82d7
+0x4945    0x9328
+0x4946    0x92f2
+0x4947    0x849c
+0x4948    0x86ed
+0x4949    0x9c2d
+0x494a    0x54c1
+0x494b    0x5f6c
+0x494c    0x658c
+0x494d    0x6d5c
+0x494e    0x7015
+0x494f    0x8ca7
+0x4950    0x8cd3
+0x4951    0x983b
+0x4952    0x654f
+0x4953    0x74f6
+0x4954    0x4e0d
+0x4955    0x4ed8
+0x4956    0x57e0
+0x4957    0x592b
+0x4958    0x5a66
+0x4959    0x5bcc
+0x495a    0x51a8
+0x495b    0x5e03
+0x495c    0x5e9c
+0x495d    0x6016
+0x495e    0x6276
+0x495f    0x6577
+0x4960    0x65a7
+0x4961    0x666e
+0x4962    0x6d6e
+0x4963    0x7236
+0x4964    0x7b26
+0x4965    0x8150
+0x4966    0x819a
+0x4967    0x8299
+0x4968    0x8b5c
+0x4969    0x8ca0
+0x496a    0x8ce6
+0x496b    0x8d74
+0x496c    0x961c
+0x496d    0x9644
+0x496e    0x4fae
+0x496f    0x64ab
+0x4970    0x6b66
+0x4971    0x821e
+0x4972    0x8461
+0x4973    0x856a
+0x4974    0x90e8
+0x4975    0x5c01
+0x4976    0x6953
+0x4977    0x98a8
+0x4978    0x847a
+0x4979    0x8557
+0x497a    0x4f0f
+0x497b    0x526f
+0x497c    0x5fa9
+0x497d    0x5e45
+0x497e    0x670d
+0x4a21    0x798f
+0x4a22    0x8179
+0x4a23    0x8907
+0x4a24    0x8986
+0x4a25    0x6df5
+0x4a26    0x5f17
+0x4a27    0x6255
+0x4a28    0x6cb8
+0x4a29    0x4ecf
+0x4a2a    0x7269
+0x4a2b    0x9b92
+0x4a2c    0x5206
+0x4a2d    0x543b
+0x4a2e    0x5674
+0x4a2f    0x58b3
+0x4a30    0x61a4
+0x4a31    0x626e
+0x4a32    0x711a
+0x4a33    0x596e
+0x4a34    0x7c89
+0x4a35    0x7cde
+0x4a36    0x7d1b
+0x4a37    0x96f0
+0x4a38    0x6587
+0x4a39    0x805e
+0x4a3a    0x4e19
+0x4a3b    0x4f75
+0x4a3c    0x5175
+0x4a3d    0x5840
+0x4a3e    0x5e63
+0x4a3f    0x5e73
+0x4a40    0x5f0a
+0x4a41    0x67c4
+0x4a42    0x4e26
+0x4a43    0x853d
+0x4a44    0x9589
+0x4a45    0x965b
+0x4a46    0x7c73
+0x4a47    0x9801
+0x4a48    0x50fb
+0x4a49    0x58c1
+0x4a4a    0x7656
+0x4a4b    0x78a7
+0x4a4c    0x5225
+0x4a4d    0x77a5
+0x4a4e    0x8511
+0x4a4f    0x7b86
+0x4a50    0x504f
+0x4a51    0x5909
+0x4a52    0x7247
+0x4a53    0x7bc7
+0x4a54    0x7de8
+0x4a55    0x8fba
+0x4a56    0x8fd4
+0x4a57    0x904d
+0x4a58    0x4fbf
+0x4a59    0x52c9
+0x4a5a    0x5a29
+0x4a5b    0x5f01
+0x4a5c    0x97ad
+0x4a5d    0x4fdd
+0x4a5e    0x8217
+0x4a5f    0x92ea
+0x4a60    0x5703
+0x4a61    0x6355
+0x4a62    0x6b69
+0x4a63    0x752b
+0x4a64    0x88dc
+0x4a65    0x8f14
+0x4a66    0x7a42
+0x4a67    0x52df
+0x4a68    0x5893
+0x4a69    0x6155
+0x4a6a    0x620a
+0x4a6b    0x66ae
+0x4a6c    0x6bcd
+0x4a6d    0x7c3f
+0x4a6e    0x83e9
+0x4a6f    0x5023
+0x4a70    0x4ff8
+0x4a71    0x5305
+0x4a72    0x5446
+0x4a73    0x5831
+0x4a74    0x5949
+0x4a75    0x5b9d
+0x4a76    0x5cf0
+0x4a77    0x5cef
+0x4a78    0x5d29
+0x4a79    0x5e96
+0x4a7a    0x62b1
+0x4a7b    0x6367
+0x4a7c    0x653e
+0x4a7d    0x65b9
+0x4a7e    0x670b
+0x4b21    0x6cd5
+0x4b22    0x6ce1
+0x4b23    0x70f9
+0x4b24    0x7832
+0x4b25    0x7e2b
+0x4b26    0x80de
+0x4b27    0x82b3
+0x4b28    0x840c
+0x4b29    0x84ec
+0x4b2a    0x8702
+0x4b2b    0x8912
+0x4b2c    0x8a2a
+0x4b2d    0x8c4a
+0x4b2e    0x90a6
+0x4b2f    0x92d2
+0x4b30    0x98fd
+0x4b31    0x9cf3
+0x4b32    0x9d6c
+0x4b33    0x4e4f
+0x4b34    0x4ea1
+0x4b35    0x508d
+0x4b36    0x5256
+0x4b37    0x574a
+0x4b38    0x59a8
+0x4b39    0x5e3d
+0x4b3a    0x5fd8
+0x4b3b    0x5fd9
+0x4b3c    0x623f
+0x4b3d    0x66b4
+0x4b3e    0x671b
+0x4b3f    0x67d0
+0x4b40    0x68d2
+0x4b41    0x5192
+0x4b42    0x7d21
+0x4b43    0x80aa
+0x4b44    0x81a8
+0x4b45    0x8b00
+0x4b46    0x8c8c
+0x4b47    0x8cbf
+0x4b48    0x927e
+0x4b49    0x9632
+0x4b4a    0x5420
+0x4b4b    0x982c
+0x4b4c    0x5317
+0x4b4d    0x50d5
+0x4b4e    0x535c
+0x4b4f    0x58a8
+0x4b50    0x64b2
+0x4b51    0x6734
+0x4b52    0x7267
+0x4b53    0x7766
+0x4b54    0x7a46
+0x4b55    0x91e6
+0x4b56    0x52c3
+0x4b57    0x6ca1
+0x4b58    0x6b86
+0x4b59    0x5800
+0x4b5a    0x5e4c
+0x4b5b    0x5954
+0x4b5c    0x672c
+0x4b5d    0x7ffb
+0x4b5e    0x51e1
+0x4b5f    0x76c6
+0x4b60    0x6469
+0x4b61    0x78e8
+0x4b62    0x9b54
+0x4b63    0x9ebb
+0x4b64    0x57cb
+0x4b65    0x59b9
+0x4b66    0x6627
+0x4b67    0x679a
+0x4b68    0x6bce
+0x4b69    0x54e9
+0x4b6a    0x69d9
+0x4b6b    0x5e55
+0x4b6c    0x819c
+0x4b6d    0x6795
+0x4b6e    0x9baa
+0x4b6f    0x67fe
+0x4b70    0x9c52
+0x4b71    0x685d
+0x4b72    0x4ea6
+0x4b73    0x4fe3
+0x4b74    0x53c8
+0x4b75    0x62b9
+0x4b76    0x672b
+0x4b77    0x6cab
+0x4b78    0x8fc4
+0x4b79    0x4fad
+0x4b7a    0x7e6d
+0x4b7b    0x9ebf
+0x4b7c    0x4e07
+0x4b7d    0x6162
+0x4b7e    0x6e80
+0x4c21    0x6f2b
+0x4c22    0x8513
+0x4c23    0x5473
+0x4c24    0x672a
+0x4c25    0x9b45
+0x4c26    0x5df3
+0x4c27    0x7b95
+0x4c28    0x5cac
+0x4c29    0x5bc6
+0x4c2a    0x871c
+0x4c2b    0x6e4a
+0x4c2c    0x84d1
+0x4c2d    0x7a14
+0x4c2e    0x8108
+0x4c2f    0x5999
+0x4c30    0x7c8d
+0x4c31    0x6c11
+0x4c32    0x7720
+0x4c33    0x52d9
+0x4c34    0x5922
+0x4c35    0x7121
+0x4c36    0x725f
+0x4c37    0x77db
+0x4c38    0x9727
+0x4c39    0x9d61
+0x4c3a    0x690b
+0x4c3b    0x5a7f
+0x4c3c    0x5a18
+0x4c3d    0x51a5
+0x4c3e    0x540d
+0x4c3f    0x547d
+0x4c40    0x660e
+0x4c41    0x76df
+0x4c42    0x8ff7
+0x4c43    0x9298
+0x4c44    0x9cf4
+0x4c45    0x59ea
+0x4c46    0x725d
+0x4c47    0x6ec5
+0x4c48    0x514d
+0x4c49    0x68c9
+0x4c4a    0x7dbf
+0x4c4b    0x7dec
+0x4c4c    0x9762
+0x4c4d    0x9eba
+0x4c4e    0x6478
+0x4c4f    0x6a21
+0x4c50    0x8302
+0x4c51    0x5984
+0x4c52    0x5b5f
+0x4c53    0x6bdb
+0x4c54    0x731b
+0x4c55    0x76f2
+0x4c56    0x7db2
+0x4c57    0x8017
+0x4c58    0x8499
+0x4c59    0x5132
+0x4c5a    0x6728
+0x4c5b    0x9ed9
+0x4c5c    0x76ee
+0x4c5d    0x6762
+0x4c5e    0x52ff
+0x4c5f    0x9905
+0x4c60    0x5c24
+0x4c61    0x623b
+0x4c62    0x7c7e
+0x4c63    0x8cb0
+0x4c64    0x554f
+0x4c65    0x60b6
+0x4c66    0x7d0b
+0x4c67    0x9580
+0x4c68    0x5301
+0x4c69    0x4e5f
+0x4c6a    0x51b6
+0x4c6b    0x591c
+0x4c6c    0x723a
+0x4c6d    0x8036
+0x4c6e    0x91ce
+0x4c6f    0x5f25
+0x4c70    0x77e2
+0x4c71    0x5384
+0x4c72    0x5f79
+0x4c73    0x7d04
+0x4c74    0x85ac
+0x4c75    0x8a33
+0x4c76    0x8e8d
+0x4c77    0x9756
+0x4c78    0x67f3
+0x4c79    0x85ae
+0x4c7a    0x9453
+0x4c7b    0x6109
+0x4c7c    0x6108
+0x4c7d    0x6cb9
+0x4c7e    0x7652
+0x4d21    0x8aed
+0x4d22    0x8f38
+0x4d23    0x552f
+0x4d24    0x4f51
+0x4d25    0x512a
+0x4d26    0x52c7
+0x4d27    0x53cb
+0x4d28    0x5ba5
+0x4d29    0x5e7d
+0x4d2a    0x60a0
+0x4d2b    0x6182
+0x4d2c    0x63d6
+0x4d2d    0x6709
+0x4d2e    0x67da
+0x4d2f    0x6e67
+0x4d30    0x6d8c
+0x4d31    0x7336
+0x4d32    0x7337
+0x4d33    0x7531
+0x4d34    0x7950
+0x4d35    0x88d5
+0x4d36    0x8a98
+0x4d37    0x904a
+0x4d38    0x9091
+0x4d39    0x90f5
+0x4d3a    0x96c4
+0x4d3b    0x878d
+0x4d3c    0x5915
+0x4d3d    0x4e88
+0x4d3e    0x4f59
+0x4d3f    0x4e0e
+0x4d40    0x8a89
+0x4d41    0x8f3f
+0x4d42    0x9810
+0x4d43    0x50ad
+0x4d44    0x5e7c
+0x4d45    0x5996
+0x4d46    0x5bb9
+0x4d47    0x5eb8
+0x4d48    0x63da
+0x4d49    0x63fa
+0x4d4a    0x64c1
+0x4d4b    0x66dc
+0x4d4c    0x694a
+0x4d4d    0x69d8
+0x4d4e    0x6d0b
+0x4d4f    0x6eb6
+0x4d50    0x7194
+0x4d51    0x7528
+0x4d52    0x7aaf
+0x4d53    0x7f8a
+0x4d54    0x8000
+0x4d55    0x8449
+0x4d56    0x84c9
+0x4d57    0x8981
+0x4d58    0x8b21
+0x4d59    0x8e0a
+0x4d5a    0x9065
+0x4d5b    0x967d
+0x4d5c    0x990a
+0x4d5d    0x617e
+0x4d5e    0x6291
+0x4d5f    0x6b32
+0x4d60    0x6c83
+0x4d61    0x6d74
+0x4d62    0x7fcc
+0x4d63    0x7ffc
+0x4d64    0x6dc0
+0x4d65    0x7f85
+0x4d66    0x87ba
+0x4d67    0x88f8
+0x4d68    0x6765
+0x4d69    0x83b1
+0x4d6a    0x983c
+0x4d6b    0x96f7
+0x4d6c    0x6d1b
+0x4d6d    0x7d61
+0x4d6e    0x843d
+0x4d6f    0x916a
+0x4d70    0x4e71
+0x4d71    0x5375
+0x4d72    0x5d50
+0x4d73    0x6b04
+0x4d74    0x6feb
+0x4d75    0x85cd
+0x4d76    0x862d
+0x4d77    0x89a7
+0x4d78    0x5229
+0x4d79    0x540f
+0x4d7a    0x5c65
+0x4d7b    0x674e
+0x4d7c    0x68a8
+0x4d7d    0x7406
+0x4d7e    0x7483
+0x4e21    0x75e2
+0x4e22    0x88cf
+0x4e23    0x88e1
+0x4e24    0x91cc
+0x4e25    0x96e2
+0x4e26    0x9678
+0x4e27    0x5f8b
+0x4e28    0x7387
+0x4e29    0x7acb
+0x4e2a    0x844e
+0x4e2b    0x63a0
+0x4e2c    0x7565
+0x4e2d    0x5289
+0x4e2e    0x6d41
+0x4e2f    0x6e9c
+0x4e30    0x7409
+0x4e31    0x7559
+0x4e32    0x786b
+0x4e33    0x7c92
+0x4e34    0x9686
+0x4e35    0x7adc
+0x4e36    0x9f8d
+0x4e37    0x4fb6
+0x4e38    0x616e
+0x4e39    0x65c5
+0x4e3a    0x865c
+0x4e3b    0x4e86
+0x4e3c    0x4eae
+0x4e3d    0x50da
+0x4e3e    0x4e21
+0x4e3f    0x51cc
+0x4e40    0x5bee
+0x4e41    0x6599
+0x4e42    0x6881
+0x4e43    0x6dbc
+0x4e44    0x731f
+0x4e45    0x7642
+0x4e46    0x77ad
+0x4e47    0x7a1c
+0x4e48    0x7ce7
+0x4e49    0x826f
+0x4e4a    0x8ad2
+0x4e4b    0x907c
+0x4e4c    0x91cf
+0x4e4d    0x9675
+0x4e4e    0x9818
+0x4e4f    0x529b
+0x4e50    0x7dd1
+0x4e51    0x502b
+0x4e52    0x5398
+0x4e53    0x6797
+0x4e54    0x6dcb
+0x4e55    0x71d0
+0x4e56    0x7433
+0x4e57    0x81e8
+0x4e58    0x8f2a
+0x4e59    0x96a3
+0x4e5a    0x9c57
+0x4e5b    0x9e9f
+0x4e5c    0x7460
+0x4e5d    0x5841
+0x4e5e    0x6d99
+0x4e5f    0x7d2f
+0x4e60    0x985e
+0x4e61    0x4ee4
+0x4e62    0x4f36
+0x4e63    0x4f8b
+0x4e64    0x51b7
+0x4e65    0x52b1
+0x4e66    0x5dba
+0x4e67    0x601c
+0x4e68    0x73b2
+0x4e69    0x793c
+0x4e6a    0x82d3
+0x4e6b    0x9234
+0x4e6c    0x96b7
+0x4e6d    0x96f6
+0x4e6e    0x970a
+0x4e6f    0x9e97
+0x4e70    0x9f62
+0x4e71    0x66a6
+0x4e72    0x6b74
+0x4e73    0x5217
+0x4e74    0x52a3
+0x4e75    0x70c8
+0x4e76    0x88c2
+0x4e77    0x5ec9
+0x4e78    0x604b
+0x4e79    0x6190
+0x4e7a    0x6f23
+0x4e7b    0x7149
+0x4e7c    0x7c3e
+0x4e7d    0x7df4
+0x4e7e    0x806f
+0x4f21    0x84ee
+0x4f22    0x9023
+0x4f23    0x932c
+0x4f24    0x5442
+0x4f25    0x9b6f
+0x4f26    0x6ad3
+0x4f27    0x7089
+0x4f28    0x8cc2
+0x4f29    0x8def
+0x4f2a    0x9732
+0x4f2b    0x52b4
+0x4f2c    0x5a41
+0x4f2d    0x5eca
+0x4f2e    0x5f04
+0x4f2f    0x6717
+0x4f30    0x697c
+0x4f31    0x6994
+0x4f32    0x6d6a
+0x4f33    0x6f0f
+0x4f34    0x7262
+0x4f35    0x72fc
+0x4f36    0x7bed
+0x4f37    0x8001
+0x4f38    0x807e
+0x4f39    0x874b
+0x4f3a    0x90ce
+0x4f3b    0x516d
+0x4f3c    0x9e93
+0x4f3d    0x7984
+0x4f3e    0x808b
+0x4f3f    0x9332
+0x4f40    0x8ad6
+0x4f41    0x502d
+0x4f42    0x548c
+0x4f43    0x8a71
+0x4f44    0x6b6a
+0x4f45    0x8cc4
+0x4f46    0x8107
+0x4f47    0x60d1
+0x4f48    0x67a0
+0x4f49    0x9df2
+0x4f4a    0x4e99
+0x4f4b    0x4e98
+0x4f4c    0x9c10
+0x4f4d    0x8a6b
+0x4f4e    0x85c1
+0x4f4f    0x8568
+0x4f50    0x6900
+0x4f51    0x6e7e
+0x4f52    0x7897
+0x4f53    0x8155
+0x5021    0x5f0c
+0x5022    0x4e10
+0x5023    0x4e15
+0x5024    0x4e2a
+0x5025    0x4e31
+0x5026    0x4e36
+0x5027    0x4e3c
+0x5028    0x4e3f
+0x5029    0x4e42
+0x502a    0x4e56
+0x502b    0x4e58
+0x502c    0x4e82
+0x502d    0x4e85
+0x502e    0x8c6b
+0x502f    0x4e8a
+0x5030    0x8212
+0x5031    0x5f0d
+0x5032    0x4e8e
+0x5033    0x4e9e
+0x5034    0x4e9f
+0x5035    0x4ea0
+0x5036    0x4ea2
+0x5037    0x4eb0
+0x5038    0x4eb3
+0x5039    0x4eb6
+0x503a    0x4ece
+0x503b    0x4ecd
+0x503c    0x4ec4
+0x503d    0x4ec6
+0x503e    0x4ec2
+0x503f    0x4ed7
+0x5040    0x4ede
+0x5041    0x4eed
+0x5042    0x4edf
+0x5043    0x4ef7
+0x5044    0x4f09
+0x5045    0x4f5a
+0x5046    0x4f30
+0x5047    0x4f5b
+0x5048    0x4f5d
+0x5049    0x4f57
+0x504a    0x4f47
+0x504b    0x4f76
+0x504c    0x4f88
+0x504d    0x4f8f
+0x504e    0x4f98
+0x504f    0x4f7b
+0x5050    0x4f69
+0x5051    0x4f70
+0x5052    0x4f91
+0x5053    0x4f6f
+0x5054    0x4f86
+0x5055    0x4f96
+0x5056    0x5118
+0x5057    0x4fd4
+0x5058    0x4fdf
+0x5059    0x4fce
+0x505a    0x4fd8
+0x505b    0x4fdb
+0x505c    0x4fd1
+0x505d    0x4fda
+0x505e    0x4fd0
+0x505f    0x4fe4
+0x5060    0x4fe5
+0x5061    0x501a
+0x5062    0x5028
+0x5063    0x5014
+0x5064    0x502a
+0x5065    0x5025
+0x5066    0x5005
+0x5067    0x4f1c
+0x5068    0x4ff6
+0x5069    0x5021
+0x506a    0x5029
+0x506b    0x502c
+0x506c    0x4ffe
+0x506d    0x4fef
+0x506e    0x5011
+0x506f    0x5006
+0x5070    0x5043
+0x5071    0x5047
+0x5072    0x6703
+0x5073    0x5055
+0x5074    0x5050
+0x5075    0x5048
+0x5076    0x505a
+0x5077    0x5056
+0x5078    0x506c
+0x5079    0x5078
+0x507a    0x5080
+0x507b    0x509a
+0x507c    0x5085
+0x507d    0x50b4
+0x507e    0x50b2
+0x5121    0x50c9
+0x5122    0x50ca
+0x5123    0x50b3
+0x5124    0x50c2
+0x5125    0x50d6
+0x5126    0x50de
+0x5127    0x50e5
+0x5128    0x50ed
+0x5129    0x50e3
+0x512a    0x50ee
+0x512b    0x50f9
+0x512c    0x50f5
+0x512d    0x5109
+0x512e    0x5101
+0x512f    0x5102
+0x5130    0x5116
+0x5131    0x5115
+0x5132    0x5114
+0x5133    0x511a
+0x5134    0x5121
+0x5135    0x513a
+0x5136    0x5137
+0x5137    0x513c
+0x5138    0x513b
+0x5139    0x513f
+0x513a    0x5140
+0x513b    0x5152
+0x513c    0x514c
+0x513d    0x5154
+0x513e    0x5162
+0x513f    0x7af8
+0x5140    0x5169
+0x5141    0x516a
+0x5142    0x516e
+0x5143    0x5180
+0x5144    0x5182
+0x5145    0x56d8
+0x5146    0x518c
+0x5147    0x5189
+0x5148    0x518f
+0x5149    0x5191
+0x514a    0x5193
+0x514b    0x5195
+0x514c    0x5196
+0x514d    0x51a4
+0x514e    0x51a6
+0x514f    0x51a2
+0x5150    0x51a9
+0x5151    0x51aa
+0x5152    0x51ab
+0x5153    0x51b3
+0x5154    0x51b1
+0x5155    0x51b2
+0x5156    0x51b0
+0x5157    0x51b5
+0x5158    0x51bd
+0x5159    0x51c5
+0x515a    0x51c9
+0x515b    0x51db
+0x515c    0x51e0
+0x515d    0x8655
+0x515e    0x51e9
+0x515f    0x51ed
+0x5160    0x51f0
+0x5161    0x51f5
+0x5162    0x51fe
+0x5163    0x5204
+0x5164    0x520b
+0x5165    0x5214
+0x5166    0x520e
+0x5167    0x5227
+0x5168    0x522a
+0x5169    0x522e
+0x516a    0x5233
+0x516b    0x5239
+0x516c    0x524f
+0x516d    0x5244
+0x516e    0x524b
+0x516f    0x524c
+0x5170    0x525e
+0x5171    0x5254
+0x5172    0x526a
+0x5173    0x5274
+0x5174    0x5269
+0x5175    0x5273
+0x5176    0x527f
+0x5177    0x527d
+0x5178    0x528d
+0x5179    0x5294
+0x517a    0x5292
+0x517b    0x5271
+0x517c    0x5288
+0x517d    0x5291
+0x517e    0x8fa8
+0x5221    0x8fa7
+0x5222    0x52ac
+0x5223    0x52ad
+0x5224    0x52bc
+0x5225    0x52b5
+0x5226    0x52c1
+0x5227    0x52cd
+0x5228    0x52d7
+0x5229    0x52de
+0x522a    0x52e3
+0x522b    0x52e6
+0x522c    0x98ed
+0x522d    0x52e0
+0x522e    0x52f3
+0x522f    0x52f5
+0x5230    0x52f8
+0x5231    0x52f9
+0x5232    0x5306
+0x5233    0x5308
+0x5234    0x7538
+0x5235    0x530d
+0x5236    0x5310
+0x5237    0x530f
+0x5238    0x5315
+0x5239    0x531a
+0x523a    0x5323
+0x523b    0x532f
+0x523c    0x5331
+0x523d    0x5333
+0x523e    0x5338
+0x523f    0x5340
+0x5240    0x5346
+0x5241    0x5345
+0x5242    0x4e17
+0x5243    0x5349
+0x5244    0x534d
+0x5245    0x51d6
+0x5246    0x535e
+0x5247    0x5369
+0x5248    0x536e
+0x5249    0x5918
+0x524a    0x537b
+0x524b    0x5377
+0x524c    0x5382
+0x524d    0x5396
+0x524e    0x53a0
+0x524f    0x53a6
+0x5250    0x53a5
+0x5251    0x53ae
+0x5252    0x53b0
+0x5253    0x53b6
+0x5254    0x53c3
+0x5255    0x7c12
+0x5256    0x96d9
+0x5257    0x53df
+0x5258    0x66fc
+0x5259    0x71ee
+0x525a    0x53ee
+0x525b    0x53e8
+0x525c    0x53ed
+0x525d    0x53fa
+0x525e    0x5401
+0x525f    0x543d
+0x5260    0x5440
+0x5261    0x542c
+0x5262    0x542d
+0x5263    0x543c
+0x5264    0x542e
+0x5265    0x5436
+0x5266    0x5429
+0x5267    0x541d
+0x5268    0x544e
+0x5269    0x548f
+0x526a    0x5475
+0x526b    0x548e
+0x526c    0x545f
+0x526d    0x5471
+0x526e    0x5477
+0x526f    0x5470
+0x5270    0x5492
+0x5271    0x547b
+0x5272    0x5480
+0x5273    0x5476
+0x5274    0x5484
+0x5275    0x5490
+0x5276    0x5486
+0x5277    0x54c7
+0x5278    0x54a2
+0x5279    0x54b8
+0x527a    0x54a5
+0x527b    0x54ac
+0x527c    0x54c4
+0x527d    0x54c8
+0x527e    0x54a8
+0x5321    0x54ab
+0x5322    0x54c2
+0x5323    0x54a4
+0x5324    0x54be
+0x5325    0x54bc
+0x5326    0x54d8
+0x5327    0x54e5
+0x5328    0x54e6
+0x5329    0x550f
+0x532a    0x5514
+0x532b    0x54fd
+0x532c    0x54ee
+0x532d    0x54ed
+0x532e    0x54fa
+0x532f    0x54e2
+0x5330    0x5539
+0x5331    0x5540
+0x5332    0x5563
+0x5333    0x554c
+0x5334    0x552e
+0x5335    0x555c
+0x5336    0x5545
+0x5337    0x5556
+0x5338    0x5557
+0x5339    0x5538
+0x533a    0x5533
+0x533b    0x555d
+0x533c    0x5599
+0x533d    0x5580
+0x533e    0x54af
+0x533f    0x558a
+0x5340    0x559f
+0x5341    0x557b
+0x5342    0x557e
+0x5343    0x5598
+0x5344    0x559e
+0x5345    0x55ae
+0x5346    0x557c
+0x5347    0x5583
+0x5348    0x55a9
+0x5349    0x5587
+0x534a    0x55a8
+0x534b    0x55da
+0x534c    0x55c5
+0x534d    0x55df
+0x534e    0x55c4
+0x534f    0x55dc
+0x5350    0x55e4
+0x5351    0x55d4
+0x5352    0x5614
+0x5353    0x55f7
+0x5354    0x5616
+0x5355    0x55fe
+0x5356    0x55fd
+0x5357    0x561b
+0x5358    0x55f9
+0x5359    0x564e
+0x535a    0x5650
+0x535b    0x71df
+0x535c    0x5634
+0x535d    0x5636
+0x535e    0x5632
+0x535f    0x5638
+0x5360    0x566b
+0x5361    0x5664
+0x5362    0x562f
+0x5363    0x566c
+0x5364    0x566a
+0x5365    0x5686
+0x5366    0x5680
+0x5367    0x568a
+0x5368    0x56a0
+0x5369    0x5694
+0x536a    0x568f
+0x536b    0x56a5
+0x536c    0x56ae
+0x536d    0x56b6
+0x536e    0x56b4
+0x536f    0x56c2
+0x5370    0x56bc
+0x5371    0x56c1
+0x5372    0x56c3
+0x5373    0x56c0
+0x5374    0x56c8
+0x5375    0x56ce
+0x5376    0x56d1
+0x5377    0x56d3
+0x5378    0x56d7
+0x5379    0x56ee
+0x537a    0x56f9
+0x537b    0x5700
+0x537c    0x56ff
+0x537d    0x5704
+0x537e    0x5709
+0x5421    0x5708
+0x5422    0x570b
+0x5423    0x570d
+0x5424    0x5713
+0x5425    0x5718
+0x5426    0x5716
+0x5427    0x55c7
+0x5428    0x571c
+0x5429    0x5726
+0x542a    0x5737
+0x542b    0x5738
+0x542c    0x574e
+0x542d    0x573b
+0x542e    0x5740
+0x542f    0x574f
+0x5430    0x5769
+0x5431    0x57c0
+0x5432    0x5788
+0x5433    0x5761
+0x5434    0x577f
+0x5435    0x5789
+0x5436    0x5793
+0x5437    0x57a0
+0x5438    0x57b3
+0x5439    0x57a4
+0x543a    0x57aa
+0x543b    0x57b0
+0x543c    0x57c3
+0x543d    0x57c6
+0x543e    0x57d4
+0x543f    0x57d2
+0x5440    0x57d3
+0x5441    0x580a
+0x5442    0x57d6
+0x5443    0x57e3
+0x5444    0x580b
+0x5445    0x5819
+0x5446    0x581d
+0x5447    0x5872
+0x5448    0x5821
+0x5449    0x5862
+0x544a    0x584b
+0x544b    0x5870
+0x544c    0x6bc0
+0x544d    0x5852
+0x544e    0x583d
+0x544f    0x5879
+0x5450    0x5885
+0x5451    0x58b9
+0x5452    0x589f
+0x5453    0x58ab
+0x5454    0x58ba
+0x5455    0x58de
+0x5456    0x58bb
+0x5457    0x58b8
+0x5458    0x58ae
+0x5459    0x58c5
+0x545a    0x58d3
+0x545b    0x58d1
+0x545c    0x58d7
+0x545d    0x58d9
+0x545e    0x58d8
+0x545f    0x58e5
+0x5460    0x58dc
+0x5461    0x58e4
+0x5462    0x58df
+0x5463    0x58ef
+0x5464    0x58fa
+0x5465    0x58f9
+0x5466    0x58fb
+0x5467    0x58fc
+0x5468    0x58fd
+0x5469    0x5902
+0x546a    0x590a
+0x546b    0x5910
+0x546c    0x591b
+0x546d    0x68a6
+0x546e    0x5925
+0x546f    0x592c
+0x5470    0x592d
+0x5471    0x5932
+0x5472    0x5938
+0x5473    0x593e
+0x5474    0x7ad2
+0x5475    0x5955
+0x5476    0x5950
+0x5477    0x594e
+0x5478    0x595a
+0x5479    0x5958
+0x547a    0x5962
+0x547b    0x5960
+0x547c    0x5967
+0x547d    0x596c
+0x547e    0x5969
+0x5521    0x5978
+0x5522    0x5981
+0x5523    0x599d
+0x5524    0x4f5e
+0x5525    0x4fab
+0x5526    0x59a3
+0x5527    0x59b2
+0x5528    0x59c6
+0x5529    0x59e8
+0x552a    0x59dc
+0x552b    0x598d
+0x552c    0x59d9
+0x552d    0x59da
+0x552e    0x5a25
+0x552f    0x5a1f
+0x5530    0x5a11
+0x5531    0x5a1c
+0x5532    0x5a09
+0x5533    0x5a1a
+0x5534    0x5a40
+0x5535    0x5a6c
+0x5536    0x5a49
+0x5537    0x5a35
+0x5538    0x5a36
+0x5539    0x5a62
+0x553a    0x5a6a
+0x553b    0x5a9a
+0x553c    0x5abc
+0x553d    0x5abe
+0x553e    0x5acb
+0x553f    0x5ac2
+0x5540    0x5abd
+0x5541    0x5ae3
+0x5542    0x5ad7
+0x5543    0x5ae6
+0x5544    0x5ae9
+0x5545    0x5ad6
+0x5546    0x5afa
+0x5547    0x5afb
+0x5548    0x5b0c
+0x5549    0x5b0b
+0x554a    0x5b16
+0x554b    0x5b32
+0x554c    0x5ad0
+0x554d    0x5b2a
+0x554e    0x5b36
+0x554f    0x5b3e
+0x5550    0x5b43
+0x5551    0x5b45
+0x5552    0x5b40
+0x5553    0x5b51
+0x5554    0x5b55
+0x5555    0x5b5a
+0x5556    0x5b5b
+0x5557    0x5b65
+0x5558    0x5b69
+0x5559    0x5b70
+0x555a    0x5b73
+0x555b    0x5b75
+0x555c    0x5b78
+0x555d    0x6588
+0x555e    0x5b7a
+0x555f    0x5b80
+0x5560    0x5b83
+0x5561    0x5ba6
+0x5562    0x5bb8
+0x5563    0x5bc3
+0x5564    0x5bc7
+0x5565    0x5bc9
+0x5566    0x5bd4
+0x5567    0x5bd0
+0x5568    0x5be4
+0x5569    0x5be6
+0x556a    0x5be2
+0x556b    0x5bde
+0x556c    0x5be5
+0x556d    0x5beb
+0x556e    0x5bf0
+0x556f    0x5bf6
+0x5570    0x5bf3
+0x5571    0x5c05
+0x5572    0x5c07
+0x5573    0x5c08
+0x5574    0x5c0d
+0x5575    0x5c13
+0x5576    0x5c20
+0x5577    0x5c22
+0x5578    0x5c28
+0x5579    0x5c38
+0x557a    0x5c39
+0x557b    0x5c41
+0x557c    0x5c46
+0x557d    0x5c4e
+0x557e    0x5c53
+0x5621    0x5c50
+0x5622    0x5c4f
+0x5623    0x5b71
+0x5624    0x5c6c
+0x5625    0x5c6e
+0x5626    0x4e62
+0x5627    0x5c76
+0x5628    0x5c79
+0x5629    0x5c8c
+0x562a    0x5c91
+0x562b    0x5c94
+0x562c    0x599b
+0x562d    0x5cab
+0x562e    0x5cbb
+0x562f    0x5cb6
+0x5630    0x5cbc
+0x5631    0x5cb7
+0x5632    0x5cc5
+0x5633    0x5cbe
+0x5634    0x5cc7
+0x5635    0x5cd9
+0x5636    0x5ce9
+0x5637    0x5cfd
+0x5638    0x5cfa
+0x5639    0x5ced
+0x563a    0x5d8c
+0x563b    0x5cea
+0x563c    0x5d0b
+0x563d    0x5d15
+0x563e    0x5d17
+0x563f    0x5d5c
+0x5640    0x5d1f
+0x5641    0x5d1b
+0x5642    0x5d11
+0x5643    0x5d14
+0x5644    0x5d22
+0x5645    0x5d1a
+0x5646    0x5d19
+0x5647    0x5d18
+0x5648    0x5d4c
+0x5649    0x5d52
+0x564a    0x5d4e
+0x564b    0x5d4b
+0x564c    0x5d6c
+0x564d    0x5d73
+0x564e    0x5d76
+0x564f    0x5d87
+0x5650    0x5d84
+0x5651    0x5d82
+0x5652    0x5da2
+0x5653    0x5d9d
+0x5654    0x5dac
+0x5655    0x5dae
+0x5656    0x5dbd
+0x5657    0x5d90
+0x5658    0x5db7
+0x5659    0x5dbc
+0x565a    0x5dc9
+0x565b    0x5dcd
+0x565c    0x5dd3
+0x565d    0x5dd2
+0x565e    0x5dd6
+0x565f    0x5ddb
+0x5660    0x5deb
+0x5661    0x5df2
+0x5662    0x5df5
+0x5663    0x5e0b
+0x5664    0x5e1a
+0x5665    0x5e19
+0x5666    0x5e11
+0x5667    0x5e1b
+0x5668    0x5e36
+0x5669    0x5e37
+0x566a    0x5e44
+0x566b    0x5e43
+0x566c    0x5e40
+0x566d    0x5e4e
+0x566e    0x5e57
+0x566f    0x5e54
+0x5670    0x5e5f
+0x5671    0x5e62
+0x5672    0x5e64
+0x5673    0x5e47
+0x5674    0x5e75
+0x5675    0x5e76
+0x5676    0x5e7a
+0x5677    0x9ebc
+0x5678    0x5e7f
+0x5679    0x5ea0
+0x567a    0x5ec1
+0x567b    0x5ec2
+0x567c    0x5ec8
+0x567d    0x5ed0
+0x567e    0x5ecf
+0x5721    0x5ed6
+0x5722    0x5ee3
+0x5723    0x5edd
+0x5724    0x5eda
+0x5725    0x5edb
+0x5726    0x5ee2
+0x5727    0x5ee1
+0x5728    0x5ee8
+0x5729    0x5ee9
+0x572a    0x5eec
+0x572b    0x5ef1
+0x572c    0x5ef3
+0x572d    0x5ef0
+0x572e    0x5ef4
+0x572f    0x5ef8
+0x5730    0x5efe
+0x5731    0x5f03
+0x5732    0x5f09
+0x5733    0x5f5d
+0x5734    0x5f5c
+0x5735    0x5f0b
+0x5736    0x5f11
+0x5737    0x5f16
+0x5738    0x5f29
+0x5739    0x5f2d
+0x573a    0x5f38
+0x573b    0x5f41
+0x573c    0x5f48
+0x573d    0x5f4c
+0x573e    0x5f4e
+0x573f    0x5f2f
+0x5740    0x5f51
+0x5741    0x5f56
+0x5742    0x5f57
+0x5743    0x5f59
+0x5744    0x5f61
+0x5745    0x5f6d
+0x5746    0x5f73
+0x5747    0x5f77
+0x5748    0x5f83
+0x5749    0x5f82
+0x574a    0x5f7f
+0x574b    0x5f8a
+0x574c    0x5f88
+0x574d    0x5f91
+0x574e    0x5f87
+0x574f    0x5f9e
+0x5750    0x5f99
+0x5751    0x5f98
+0x5752    0x5fa0
+0x5753    0x5fa8
+0x5754    0x5fad
+0x5755    0x5fbc
+0x5756    0x5fd6
+0x5757    0x5ffb
+0x5758    0x5fe4
+0x5759    0x5ff8
+0x575a    0x5ff1
+0x575b    0x5fdd
+0x575c    0x60b3
+0x575d    0x5fff
+0x575e    0x6021
+0x575f    0x6060
+0x5760    0x6019
+0x5761    0x6010
+0x5762    0x6029
+0x5763    0x600e
+0x5764    0x6031
+0x5765    0x601b
+0x5766    0x6015
+0x5767    0x602b
+0x5768    0x6026
+0x5769    0x600f
+0x576a    0x603a
+0x576b    0x605a
+0x576c    0x6041
+0x576d    0x606a
+0x576e    0x6077
+0x576f    0x605f
+0x5770    0x604a
+0x5771    0x6046
+0x5772    0x604d
+0x5773    0x6063
+0x5774    0x6043
+0x5775    0x6064
+0x5776    0x6042
+0x5777    0x606c
+0x5778    0x606b
+0x5779    0x6059
+0x577a    0x6081
+0x577b    0x608d
+0x577c    0x60e7
+0x577d    0x6083
+0x577e    0x609a
+0x5821    0x6084
+0x5822    0x609b
+0x5823    0x6096
+0x5824    0x6097
+0x5825    0x6092
+0x5826    0x60a7
+0x5827    0x608b
+0x5828    0x60e1
+0x5829    0x60b8
+0x582a    0x60e0
+0x582b    0x60d3
+0x582c    0x60b4
+0x582d    0x5ff0
+0x582e    0x60bd
+0x582f    0x60c6
+0x5830    0x60b5
+0x5831    0x60d8
+0x5832    0x614d
+0x5833    0x6115
+0x5834    0x6106
+0x5835    0x60f6
+0x5836    0x60f7
+0x5837    0x6100
+0x5838    0x60f4
+0x5839    0x60fa
+0x583a    0x6103
+0x583b    0x6121
+0x583c    0x60fb
+0x583d    0x60f1
+0x583e    0x610d
+0x583f    0x610e
+0x5840    0x6147
+0x5841    0x613e
+0x5842    0x6128
+0x5843    0x6127
+0x5844    0x614a
+0x5845    0x613f
+0x5846    0x613c
+0x5847    0x612c
+0x5848    0x6134
+0x5849    0x613d
+0x584a    0x6142
+0x584b    0x6144
+0x584c    0x6173
+0x584d    0x6177
+0x584e    0x6158
+0x584f    0x6159
+0x5850    0x615a
+0x5851    0x616b
+0x5852    0x6174
+0x5853    0x616f
+0x5854    0x6165
+0x5855    0x6171
+0x5856    0x615f
+0x5857    0x615d
+0x5858    0x6153
+0x5859    0x6175
+0x585a    0x6199
+0x585b    0x6196
+0x585c    0x6187
+0x585d    0x61ac
+0x585e    0x6194
+0x585f    0x619a
+0x5860    0x618a
+0x5861    0x6191
+0x5862    0x61ab
+0x5863    0x61ae
+0x5864    0x61cc
+0x5865    0x61ca
+0x5866    0x61c9
+0x5867    0x61f7
+0x5868    0x61c8
+0x5869    0x61c3
+0x586a    0x61c6
+0x586b    0x61ba
+0x586c    0x61cb
+0x586d    0x7f79
+0x586e    0x61cd
+0x586f    0x61e6
+0x5870    0x61e3
+0x5871    0x61f6
+0x5872    0x61fa
+0x5873    0x61f4
+0x5874    0x61ff
+0x5875    0x61fd
+0x5876    0x61fc
+0x5877    0x61fe
+0x5878    0x6200
+0x5879    0x6208
+0x587a    0x6209
+0x587b    0x620d
+0x587c    0x620c
+0x587d    0x6214
+0x587e    0x621b
+0x5921    0x621e
+0x5922    0x6221
+0x5923    0x622a
+0x5924    0x622e
+0x5925    0x6230
+0x5926    0x6232
+0x5927    0x6233
+0x5928    0x6241
+0x5929    0x624e
+0x592a    0x625e
+0x592b    0x6263
+0x592c    0x625b
+0x592d    0x6260
+0x592e    0x6268
+0x592f    0x627c
+0x5930    0x6282
+0x5931    0x6289
+0x5932    0x627e
+0x5933    0x6292
+0x5934    0x6293
+0x5935    0x6296
+0x5936    0x62d4
+0x5937    0x6283
+0x5938    0x6294
+0x5939    0x62d7
+0x593a    0x62d1
+0x593b    0x62bb
+0x593c    0x62cf
+0x593d    0x62ff
+0x593e    0x62c6
+0x593f    0x64d4
+0x5940    0x62c8
+0x5941    0x62dc
+0x5942    0x62cc
+0x5943    0x62ca
+0x5944    0x62c2
+0x5945    0x62c7
+0x5946    0x629b
+0x5947    0x62c9
+0x5948    0x630c
+0x5949    0x62ee
+0x594a    0x62f1
+0x594b    0x6327
+0x594c    0x6302
+0x594d    0x6308
+0x594e    0x62ef
+0x594f    0x62f5
+0x5950    0x6350
+0x5951    0x633e
+0x5952    0x634d
+0x5953    0x641c
+0x5954    0x634f
+0x5955    0x6396
+0x5956    0x638e
+0x5957    0x6380
+0x5958    0x63ab
+0x5959    0x6376
+0x595a    0x63a3
+0x595b    0x638f
+0x595c    0x6389
+0x595d    0x639f
+0x595e    0x63b5
+0x595f    0x636b
+0x5960    0x6369
+0x5961    0x63be
+0x5962    0x63e9
+0x5963    0x63c0
+0x5964    0x63c6
+0x5965    0x63e3
+0x5966    0x63c9
+0x5967    0x63d2
+0x5968    0x63f6
+0x5969    0x63c4
+0x596a    0x6416
+0x596b    0x6434
+0x596c    0x6406
+0x596d    0x6413
+0x596e    0x6426
+0x596f    0x6436
+0x5970    0x651d
+0x5971    0x6417
+0x5972    0x6428
+0x5973    0x640f
+0x5974    0x6467
+0x5975    0x646f
+0x5976    0x6476
+0x5977    0x644e
+0x5978    0x652a
+0x5979    0x6495
+0x597a    0x6493
+0x597b    0x64a5
+0x597c    0x64a9
+0x597d    0x6488
+0x597e    0x64bc
+0x5a21    0x64da
+0x5a22    0x64d2
+0x5a23    0x64c5
+0x5a24    0x64c7
+0x5a25    0x64bb
+0x5a26    0x64d8
+0x5a27    0x64c2
+0x5a28    0x64f1
+0x5a29    0x64e7
+0x5a2a    0x8209
+0x5a2b    0x64e0
+0x5a2c    0x64e1
+0x5a2d    0x62ac
+0x5a2e    0x64e3
+0x5a2f    0x64ef
+0x5a30    0x652c
+0x5a31    0x64f6
+0x5a32    0x64f4
+0x5a33    0x64f2
+0x5a34    0x64fa
+0x5a35    0x6500
+0x5a36    0x64fd
+0x5a37    0x6518
+0x5a38    0x651c
+0x5a39    0x6505
+0x5a3a    0x6524
+0x5a3b    0x6523
+0x5a3c    0x652b
+0x5a3d    0x6534
+0x5a3e    0x6535
+0x5a3f    0x6537
+0x5a40    0x6536
+0x5a41    0x6538
+0x5a42    0x754b
+0x5a43    0x6548
+0x5a44    0x6556
+0x5a45    0x6555
+0x5a46    0x654d
+0x5a47    0x6558
+0x5a48    0x655e
+0x5a49    0x655d
+0x5a4a    0x6572
+0x5a4b    0x6578
+0x5a4c    0x6582
+0x5a4d    0x6583
+0x5a4e    0x8b8a
+0x5a4f    0x659b
+0x5a50    0x659f
+0x5a51    0x65ab
+0x5a52    0x65b7
+0x5a53    0x65c3
+0x5a54    0x65c6
+0x5a55    0x65c1
+0x5a56    0x65c4
+0x5a57    0x65cc
+0x5a58    0x65d2
+0x5a59    0x65db
+0x5a5a    0x65d9
+0x5a5b    0x65e0
+0x5a5c    0x65e1
+0x5a5d    0x65f1
+0x5a5e    0x6772
+0x5a5f    0x660a
+0x5a60    0x6603
+0x5a61    0x65fb
+0x5a62    0x6773
+0x5a63    0x6635
+0x5a64    0x6636
+0x5a65    0x6634
+0x5a66    0x661c
+0x5a67    0x664f
+0x5a68    0x6644
+0x5a69    0x6649
+0x5a6a    0x6641
+0x5a6b    0x665e
+0x5a6c    0x665d
+0x5a6d    0x6664
+0x5a6e    0x6667
+0x5a6f    0x6668
+0x5a70    0x665f
+0x5a71    0x6662
+0x5a72    0x6670
+0x5a73    0x6683
+0x5a74    0x6688
+0x5a75    0x668e
+0x5a76    0x6689
+0x5a77    0x6684
+0x5a78    0x6698
+0x5a79    0x669d
+0x5a7a    0x66c1
+0x5a7b    0x66b9
+0x5a7c    0x66c9
+0x5a7d    0x66be
+0x5a7e    0x66bc
+0x5b21    0x66c4
+0x5b22    0x66b8
+0x5b23    0x66d6
+0x5b24    0x66da
+0x5b25    0x66e0
+0x5b26    0x663f
+0x5b27    0x66e6
+0x5b28    0x66e9
+0x5b29    0x66f0
+0x5b2a    0x66f5
+0x5b2b    0x66f7
+0x5b2c    0x670f
+0x5b2d    0x6716
+0x5b2e    0x671e
+0x5b2f    0x6726
+0x5b30    0x6727
+0x5b31    0x9738
+0x5b32    0x672e
+0x5b33    0x673f
+0x5b34    0x6736
+0x5b35    0x6741
+0x5b36    0x6738
+0x5b37    0x6737
+0x5b38    0x6746
+0x5b39    0x675e
+0x5b3a    0x6760
+0x5b3b    0x6759
+0x5b3c    0x6763
+0x5b3d    0x6764
+0x5b3e    0x6789
+0x5b3f    0x6770
+0x5b40    0x67a9
+0x5b41    0x677c
+0x5b42    0x676a
+0x5b43    0x678c
+0x5b44    0x678b
+0x5b45    0x67a6
+0x5b46    0x67a1
+0x5b47    0x6785
+0x5b48    0x67b7
+0x5b49    0x67ef
+0x5b4a    0x67b4
+0x5b4b    0x67ec
+0x5b4c    0x67b3
+0x5b4d    0x67e9
+0x5b4e    0x67b8
+0x5b4f    0x67e4
+0x5b50    0x67de
+0x5b51    0x67dd
+0x5b52    0x67e2
+0x5b53    0x67ee
+0x5b54    0x67b9
+0x5b55    0x67ce
+0x5b56    0x67c6
+0x5b57    0x67e7
+0x5b58    0x6a9c
+0x5b59    0x681e
+0x5b5a    0x6846
+0x5b5b    0x6829
+0x5b5c    0x6840
+0x5b5d    0x684d
+0x5b5e    0x6832
+0x5b5f    0x684e
+0x5b60    0x68b3
+0x5b61    0x682b
+0x5b62    0x6859
+0x5b63    0x6863
+0x5b64    0x6877
+0x5b65    0x687f
+0x5b66    0x689f
+0x5b67    0x688f
+0x5b68    0x68ad
+0x5b69    0x6894
+0x5b6a    0x689d
+0x5b6b    0x689b
+0x5b6c    0x6883
+0x5b6d    0x6aae
+0x5b6e    0x68b9
+0x5b6f    0x6874
+0x5b70    0x68b5
+0x5b71    0x68a0
+0x5b72    0x68ba
+0x5b73    0x690f
+0x5b74    0x688d
+0x5b75    0x687e
+0x5b76    0x6901
+0x5b77    0x68ca
+0x5b78    0x6908
+0x5b79    0x68d8
+0x5b7a    0x6922
+0x5b7b    0x6926
+0x5b7c    0x68e1
+0x5b7d    0x690c
+0x5b7e    0x68cd
+0x5c21    0x68d4
+0x5c22    0x68e7
+0x5c23    0x68d5
+0x5c24    0x6936
+0x5c25    0x6912
+0x5c26    0x6904
+0x5c27    0x68d7
+0x5c28    0x68e3
+0x5c29    0x6925
+0x5c2a    0x68f9
+0x5c2b    0x68e0
+0x5c2c    0x68ef
+0x5c2d    0x6928
+0x5c2e    0x692a
+0x5c2f    0x691a
+0x5c30    0x6923
+0x5c31    0x6921
+0x5c32    0x68c6
+0x5c33    0x6979
+0x5c34    0x6977
+0x5c35    0x695c
+0x5c36    0x6978
+0x5c37    0x696b
+0x5c38    0x6954
+0x5c39    0x697e
+0x5c3a    0x696e
+0x5c3b    0x6939
+0x5c3c    0x6974
+0x5c3d    0x693d
+0x5c3e    0x6959
+0x5c3f    0x6930
+0x5c40    0x6961
+0x5c41    0x695e
+0x5c42    0x695d
+0x5c43    0x6981
+0x5c44    0x696a
+0x5c45    0x69b2
+0x5c46    0x69ae
+0x5c47    0x69d0
+0x5c48    0x69bf
+0x5c49    0x69c1
+0x5c4a    0x69d3
+0x5c4b    0x69be
+0x5c4c    0x69ce
+0x5c4d    0x5be8
+0x5c4e    0x69ca
+0x5c4f    0x69dd
+0x5c50    0x69bb
+0x5c51    0x69c3
+0x5c52    0x69a7
+0x5c53    0x6a2e
+0x5c54    0x6991
+0x5c55    0x69a0
+0x5c56    0x699c
+0x5c57    0x6995
+0x5c58    0x69b4
+0x5c59    0x69de
+0x5c5a    0x69e8
+0x5c5b    0x6a02
+0x5c5c    0x6a1b
+0x5c5d    0x69ff
+0x5c5e    0x6b0a
+0x5c5f    0x69f9
+0x5c60    0x69f2
+0x5c61    0x69e7
+0x5c62    0x6a05
+0x5c63    0x69b1
+0x5c64    0x6a1e
+0x5c65    0x69ed
+0x5c66    0x6a14
+0x5c67    0x69eb
+0x5c68    0x6a0a
+0x5c69    0x6a12
+0x5c6a    0x6ac1
+0x5c6b    0x6a23
+0x5c6c    0x6a13
+0x5c6d    0x6a44
+0x5c6e    0x6a0c
+0x5c6f    0x6a72
+0x5c70    0x6a36
+0x5c71    0x6a78
+0x5c72    0x6a47
+0x5c73    0x6a62
+0x5c74    0x6a59
+0x5c75    0x6a66
+0x5c76    0x6a48
+0x5c77    0x6a38
+0x5c78    0x6a22
+0x5c79    0x6a90
+0x5c7a    0x6a8d
+0x5c7b    0x6aa0
+0x5c7c    0x6a84
+0x5c7d    0x6aa2
+0x5c7e    0x6aa3
+0x5d21    0x6a97
+0x5d22    0x8617
+0x5d23    0x6abb
+0x5d24    0x6ac3
+0x5d25    0x6ac2
+0x5d26    0x6ab8
+0x5d27    0x6ab3
+0x5d28    0x6aac
+0x5d29    0x6ade
+0x5d2a    0x6ad1
+0x5d2b    0x6adf
+0x5d2c    0x6aaa
+0x5d2d    0x6ada
+0x5d2e    0x6aea
+0x5d2f    0x6afb
+0x5d30    0x6b05
+0x5d31    0x8616
+0x5d32    0x6afa
+0x5d33    0x6b12
+0x5d34    0x6b16
+0x5d35    0x9b31
+0x5d36    0x6b1f
+0x5d37    0x6b38
+0x5d38    0x6b37
+0x5d39    0x76dc
+0x5d3a    0x6b39
+0x5d3b    0x98ee
+0x5d3c    0x6b47
+0x5d3d    0x6b43
+0x5d3e    0x6b49
+0x5d3f    0x6b50
+0x5d40    0x6b59
+0x5d41    0x6b54
+0x5d42    0x6b5b
+0x5d43    0x6b5f
+0x5d44    0x6b61
+0x5d45    0x6b78
+0x5d46    0x6b79
+0x5d47    0x6b7f
+0x5d48    0x6b80
+0x5d49    0x6b84
+0x5d4a    0x6b83
+0x5d4b    0x6b8d
+0x5d4c    0x6b98
+0x5d4d    0x6b95
+0x5d4e    0x6b9e
+0x5d4f    0x6ba4
+0x5d50    0x6baa
+0x5d51    0x6bab
+0x5d52    0x6baf
+0x5d53    0x6bb2
+0x5d54    0x6bb1
+0x5d55    0x6bb3
+0x5d56    0x6bb7
+0x5d57    0x6bbc
+0x5d58    0x6bc6
+0x5d59    0x6bcb
+0x5d5a    0x6bd3
+0x5d5b    0x6bdf
+0x5d5c    0x6bec
+0x5d5d    0x6beb
+0x5d5e    0x6bf3
+0x5d5f    0x6bef
+0x5d60    0x9ebe
+0x5d61    0x6c08
+0x5d62    0x6c13
+0x5d63    0x6c14
+0x5d64    0x6c1b
+0x5d65    0x6c24
+0x5d66    0x6c23
+0x5d67    0x6c5e
+0x5d68    0x6c55
+0x5d69    0x6c62
+0x5d6a    0x6c6a
+0x5d6b    0x6c82
+0x5d6c    0x6c8d
+0x5d6d    0x6c9a
+0x5d6e    0x6c81
+0x5d6f    0x6c9b
+0x5d70    0x6c7e
+0x5d71    0x6c68
+0x5d72    0x6c73
+0x5d73    0x6c92
+0x5d74    0x6c90
+0x5d75    0x6cc4
+0x5d76    0x6cf1
+0x5d77    0x6cd3
+0x5d78    0x6cbd
+0x5d79    0x6cd7
+0x5d7a    0x6cc5
+0x5d7b    0x6cdd
+0x5d7c    0x6cae
+0x5d7d    0x6cb1
+0x5d7e    0x6cbe
+0x5e21    0x6cba
+0x5e22    0x6cdb
+0x5e23    0x6cef
+0x5e24    0x6cd9
+0x5e25    0x6cea
+0x5e26    0x6d1f
+0x5e27    0x884d
+0x5e28    0x6d36
+0x5e29    0x6d2b
+0x5e2a    0x6d3d
+0x5e2b    0x6d38
+0x5e2c    0x6d19
+0x5e2d    0x6d35
+0x5e2e    0x6d33
+0x5e2f    0x6d12
+0x5e30    0x6d0c
+0x5e31    0x6d63
+0x5e32    0x6d93
+0x5e33    0x6d64
+0x5e34    0x6d5a
+0x5e35    0x6d79
+0x5e36    0x6d59
+0x5e37    0x6d8e
+0x5e38    0x6d95
+0x5e39    0x6fe4
+0x5e3a    0x6d85
+0x5e3b    0x6df9
+0x5e3c    0x6e15
+0x5e3d    0x6e0a
+0x5e3e    0x6db5
+0x5e3f    0x6dc7
+0x5e40    0x6de6
+0x5e41    0x6db8
+0x5e42    0x6dc6
+0x5e43    0x6dec
+0x5e44    0x6dde
+0x5e45    0x6dcc
+0x5e46    0x6de8
+0x5e47    0x6dd2
+0x5e48    0x6dc5
+0x5e49    0x6dfa
+0x5e4a    0x6dd9
+0x5e4b    0x6de4
+0x5e4c    0x6dd5
+0x5e4d    0x6dea
+0x5e4e    0x6dee
+0x5e4f    0x6e2d
+0x5e50    0x6e6e
+0x5e51    0x6e2e
+0x5e52    0x6e19
+0x5e53    0x6e72
+0x5e54    0x6e5f
+0x5e55    0x6e3e
+0x5e56    0x6e23
+0x5e57    0x6e6b
+0x5e58    0x6e2b
+0x5e59    0x6e76
+0x5e5a    0x6e4d
+0x5e5b    0x6e1f
+0x5e5c    0x6e43
+0x5e5d    0x6e3a
+0x5e5e    0x6e4e
+0x5e5f    0x6e24
+0x5e60    0x6eff
+0x5e61    0x6e1d
+0x5e62    0x6e38
+0x5e63    0x6e82
+0x5e64    0x6eaa
+0x5e65    0x6e98
+0x5e66    0x6ec9
+0x5e67    0x6eb7
+0x5e68    0x6ed3
+0x5e69    0x6ebd
+0x5e6a    0x6eaf
+0x5e6b    0x6ec4
+0x5e6c    0x6eb2
+0x5e6d    0x6ed4
+0x5e6e    0x6ed5
+0x5e6f    0x6e8f
+0x5e70    0x6ea5
+0x5e71    0x6ec2
+0x5e72    0x6e9f
+0x5e73    0x6f41
+0x5e74    0x6f11
+0x5e75    0x704c
+0x5e76    0x6eec
+0x5e77    0x6ef8
+0x5e78    0x6efe
+0x5e79    0x6f3f
+0x5e7a    0x6ef2
+0x5e7b    0x6f31
+0x5e7c    0x6eef
+0x5e7d    0x6f32
+0x5e7e    0x6ecc
+0x5f21    0x6f3e
+0x5f22    0x6f13
+0x5f23    0x6ef7
+0x5f24    0x6f86
+0x5f25    0x6f7a
+0x5f26    0x6f78
+0x5f27    0x6f81
+0x5f28    0x6f80
+0x5f29    0x6f6f
+0x5f2a    0x6f5b
+0x5f2b    0x6ff3
+0x5f2c    0x6f6d
+0x5f2d    0x6f82
+0x5f2e    0x6f7c
+0x5f2f    0x6f58
+0x5f30    0x6f8e
+0x5f31    0x6f91
+0x5f32    0x6fc2
+0x5f33    0x6f66
+0x5f34    0x6fb3
+0x5f35    0x6fa3
+0x5f36    0x6fa1
+0x5f37    0x6fa4
+0x5f38    0x6fb9
+0x5f39    0x6fc6
+0x5f3a    0x6faa
+0x5f3b    0x6fdf
+0x5f3c    0x6fd5
+0x5f3d    0x6fec
+0x5f3e    0x6fd4
+0x5f3f    0x6fd8
+0x5f40    0x6ff1
+0x5f41    0x6fee
+0x5f42    0x6fdb
+0x5f43    0x7009
+0x5f44    0x700b
+0x5f45    0x6ffa
+0x5f46    0x7011
+0x5f47    0x7001
+0x5f48    0x700f
+0x5f49    0x6ffe
+0x5f4a    0x701b
+0x5f4b    0x701a
+0x5f4c    0x6f74
+0x5f4d    0x701d
+0x5f4e    0x7018
+0x5f4f    0x701f
+0x5f50    0x7030
+0x5f51    0x703e
+0x5f52    0x7032
+0x5f53    0x7051
+0x5f54    0x7063
+0x5f55    0x7099
+0x5f56    0x7092
+0x5f57    0x70af
+0x5f58    0x70f1
+0x5f59    0x70ac
+0x5f5a    0x70b8
+0x5f5b    0x70b3
+0x5f5c    0x70ae
+0x5f5d    0x70df
+0x5f5e    0x70cb
+0x5f5f    0x70dd
+0x5f60    0x70d9
+0x5f61    0x7109
+0x5f62    0x70fd
+0x5f63    0x711c
+0x5f64    0x7119
+0x5f65    0x7165
+0x5f66    0x7155
+0x5f67    0x7188
+0x5f68    0x7166
+0x5f69    0x7162
+0x5f6a    0x714c
+0x5f6b    0x7156
+0x5f6c    0x716c
+0x5f6d    0x718f
+0x5f6e    0x71fb
+0x5f6f    0x7184
+0x5f70    0x7195
+0x5f71    0x71a8
+0x5f72    0x71ac
+0x5f73    0x71d7
+0x5f74    0x71b9
+0x5f75    0x71be
+0x5f76    0x71d2
+0x5f77    0x71c9
+0x5f78    0x71d4
+0x5f79    0x71ce
+0x5f7a    0x71e0
+0x5f7b    0x71ec
+0x5f7c    0x71e7
+0x5f7d    0x71f5
+0x5f7e    0x71fc
+0x6021    0x71f9
+0x6022    0x71ff
+0x6023    0x720d
+0x6024    0x7210
+0x6025    0x721b
+0x6026    0x7228
+0x6027    0x722d
+0x6028    0x722c
+0x6029    0x7230
+0x602a    0x7232
+0x602b    0x723b
+0x602c    0x723c
+0x602d    0x723f
+0x602e    0x7240
+0x602f    0x7246
+0x6030    0x724b
+0x6031    0x7258
+0x6032    0x7274
+0x6033    0x727e
+0x6034    0x7282
+0x6035    0x7281
+0x6036    0x7287
+0x6037    0x7292
+0x6038    0x7296
+0x6039    0x72a2
+0x603a    0x72a7
+0x603b    0x72b9
+0x603c    0x72b2
+0x603d    0x72c3
+0x603e    0x72c6
+0x603f    0x72c4
+0x6040    0x72ce
+0x6041    0x72d2
+0x6042    0x72e2
+0x6043    0x72e0
+0x6044    0x72e1
+0x6045    0x72f9
+0x6046    0x72f7
+0x6047    0x500f
+0x6048    0x7317
+0x6049    0x730a
+0x604a    0x731c
+0x604b    0x7316
+0x604c    0x731d
+0x604d    0x7334
+0x604e    0x732f
+0x604f    0x7329
+0x6050    0x7325
+0x6051    0x733e
+0x6052    0x734e
+0x6053    0x734f
+0x6054    0x9ed8
+0x6055    0x7357
+0x6056    0x736a
+0x6057    0x7368
+0x6058    0x7370
+0x6059    0x7378
+0x605a    0x7375
+0x605b    0x737b
+0x605c    0x737a
+0x605d    0x73c8
+0x605e    0x73b3
+0x605f    0x73ce
+0x6060    0x73bb
+0x6061    0x73c0
+0x6062    0x73e5
+0x6063    0x73ee
+0x6064    0x73de
+0x6065    0x74a2
+0x6066    0x7405
+0x6067    0x746f
+0x6068    0x7425
+0x6069    0x73f8
+0x606a    0x7432
+0x606b    0x743a
+0x606c    0x7455
+0x606d    0x743f
+0x606e    0x745f
+0x606f    0x7459
+0x6070    0x7441
+0x6071    0x745c
+0x6072    0x7469
+0x6073    0x7470
+0x6074    0x7463
+0x6075    0x746a
+0x6076    0x7476
+0x6077    0x747e
+0x6078    0x748b
+0x6079    0x749e
+0x607a    0x74a7
+0x607b    0x74ca
+0x607c    0x74cf
+0x607d    0x74d4
+0x607e    0x73f1
+0x6121    0x74e0
+0x6122    0x74e3
+0x6123    0x74e7
+0x6124    0x74e9
+0x6125    0x74ee
+0x6126    0x74f2
+0x6127    0x74f0
+0x6128    0x74f1
+0x6129    0x74f8
+0x612a    0x74f7
+0x612b    0x7504
+0x612c    0x7503
+0x612d    0x7505
+0x612e    0x750c
+0x612f    0x750e
+0x6130    0x750d
+0x6131    0x7515
+0x6132    0x7513
+0x6133    0x751e
+0x6134    0x7526
+0x6135    0x752c
+0x6136    0x753c
+0x6137    0x7544
+0x6138    0x754d
+0x6139    0x754a
+0x613a    0x7549
+0x613b    0x755b
+0x613c    0x7546
+0x613d    0x755a
+0x613e    0x7569
+0x613f    0x7564
+0x6140    0x7567
+0x6141    0x756b
+0x6142    0x756d
+0x6143    0x7578
+0x6144    0x7576
+0x6145    0x7586
+0x6146    0x7587
+0x6147    0x7574
+0x6148    0x758a
+0x6149    0x7589
+0x614a    0x7582
+0x614b    0x7594
+0x614c    0x759a
+0x614d    0x759d
+0x614e    0x75a5
+0x614f    0x75a3
+0x6150    0x75c2
+0x6151    0x75b3
+0x6152    0x75c3
+0x6153    0x75b5
+0x6154    0x75bd
+0x6155    0x75b8
+0x6156    0x75bc
+0x6157    0x75b1
+0x6158    0x75cd
+0x6159    0x75ca
+0x615a    0x75d2
+0x615b    0x75d9
+0x615c    0x75e3
+0x615d    0x75de
+0x615e    0x75fe
+0x615f    0x75ff
+0x6160    0x75fc
+0x6161    0x7601
+0x6162    0x75f0
+0x6163    0x75fa
+0x6164    0x75f2
+0x6165    0x75f3
+0x6166    0x760b
+0x6167    0x760d
+0x6168    0x7609
+0x6169    0x761f
+0x616a    0x7627
+0x616b    0x7620
+0x616c    0x7621
+0x616d    0x7622
+0x616e    0x7624
+0x616f    0x7634
+0x6170    0x7630
+0x6171    0x763b
+0x6172    0x7647
+0x6173    0x7648
+0x6174    0x7646
+0x6175    0x765c
+0x6176    0x7658
+0x6177    0x7661
+0x6178    0x7662
+0x6179    0x7668
+0x617a    0x7669
+0x617b    0x766a
+0x617c    0x7667
+0x617d    0x766c
+0x617e    0x7670
+0x6221    0x7672
+0x6222    0x7676
+0x6223    0x7678
+0x6224    0x767c
+0x6225    0x7680
+0x6226    0x7683
+0x6227    0x7688
+0x6228    0x768b
+0x6229    0x768e
+0x622a    0x7696
+0x622b    0x7693
+0x622c    0x7699
+0x622d    0x769a
+0x622e    0x76b0
+0x622f    0x76b4
+0x6230    0x76b8
+0x6231    0x76b9
+0x6232    0x76ba
+0x6233    0x76c2
+0x6234    0x76cd
+0x6235    0x76d6
+0x6236    0x76d2
+0x6237    0x76de
+0x6238    0x76e1
+0x6239    0x76e5
+0x623a    0x76e7
+0x623b    0x76ea
+0x623c    0x862f
+0x623d    0x76fb
+0x623e    0x7708
+0x623f    0x7707
+0x6240    0x7704
+0x6241    0x7729
+0x6242    0x7724
+0x6243    0x771e
+0x6244    0x7725
+0x6245    0x7726
+0x6246    0x771b
+0x6247    0x7737
+0x6248    0x7738
+0x6249    0x7747
+0x624a    0x775a
+0x624b    0x7768
+0x624c    0x776b
+0x624d    0x775b
+0x624e    0x7765
+0x624f    0x777f
+0x6250    0x777e
+0x6251    0x7779
+0x6252    0x778e
+0x6253    0x778b
+0x6254    0x7791
+0x6255    0x77a0
+0x6256    0x779e
+0x6257    0x77b0
+0x6258    0x77b6
+0x6259    0x77b9
+0x625a    0x77bf
+0x625b    0x77bc
+0x625c    0x77bd
+0x625d    0x77bb
+0x625e    0x77c7
+0x625f    0x77cd
+0x6260    0x77d7
+0x6261    0x77da
+0x6262    0x77dc
+0x6263    0x77e3
+0x6264    0x77ee
+0x6265    0x77fc
+0x6266    0x780c
+0x6267    0x7812
+0x6268    0x7926
+0x6269    0x7820
+0x626a    0x792a
+0x626b    0x7845
+0x626c    0x788e
+0x626d    0x7874
+0x626e    0x7886
+0x626f    0x787c
+0x6270    0x789a
+0x6271    0x788c
+0x6272    0x78a3
+0x6273    0x78b5
+0x6274    0x78aa
+0x6275    0x78af
+0x6276    0x78d1
+0x6277    0x78c6
+0x6278    0x78cb
+0x6279    0x78d4
+0x627a    0x78be
+0x627b    0x78bc
+0x627c    0x78c5
+0x627d    0x78ca
+0x627e    0x78ec
+0x6321    0x78e7
+0x6322    0x78da
+0x6323    0x78fd
+0x6324    0x78f4
+0x6325    0x7907
+0x6326    0x7912
+0x6327    0x7911
+0x6328    0x7919
+0x6329    0x792c
+0x632a    0x792b
+0x632b    0x7940
+0x632c    0x7960
+0x632d    0x7957
+0x632e    0x795f
+0x632f    0x795a
+0x6330    0x7955
+0x6331    0x7953
+0x6332    0x797a
+0x6333    0x797f
+0x6334    0x798a
+0x6335    0x799d
+0x6336    0x79a7
+0x6337    0x9f4b
+0x6338    0x79aa
+0x6339    0x79ae
+0x633a    0x79b3
+0x633b    0x79b9
+0x633c    0x79ba
+0x633d    0x79c9
+0x633e    0x79d5
+0x633f    0x79e7
+0x6340    0x79ec
+0x6341    0x79e1
+0x6342    0x79e3
+0x6343    0x7a08
+0x6344    0x7a0d
+0x6345    0x7a18
+0x6346    0x7a19
+0x6347    0x7a20
+0x6348    0x7a1f
+0x6349    0x7980
+0x634a    0x7a31
+0x634b    0x7a3b
+0x634c    0x7a3e
+0x634d    0x7a37
+0x634e    0x7a43
+0x634f    0x7a57
+0x6350    0x7a49
+0x6351    0x7a61
+0x6352    0x7a62
+0x6353    0x7a69
+0x6354    0x9f9d
+0x6355    0x7a70
+0x6356    0x7a79
+0x6357    0x7a7d
+0x6358    0x7a88
+0x6359    0x7a97
+0x635a    0x7a95
+0x635b    0x7a98
+0x635c    0x7a96
+0x635d    0x7aa9
+0x635e    0x7ac8
+0x635f    0x7ab0
+0x6360    0x7ab6
+0x6361    0x7ac5
+0x6362    0x7ac4
+0x6363    0x7abf
+0x6364    0x9083
+0x6365    0x7ac7
+0x6366    0x7aca
+0x6367    0x7acd
+0x6368    0x7acf
+0x6369    0x7ad5
+0x636a    0x7ad3
+0x636b    0x7ad9
+0x636c    0x7ada
+0x636d    0x7add
+0x636e    0x7ae1
+0x636f    0x7ae2
+0x6370    0x7ae6
+0x6371    0x7aed
+0x6372    0x7af0
+0x6373    0x7b02
+0x6374    0x7b0f
+0x6375    0x7b0a
+0x6376    0x7b06
+0x6377    0x7b33
+0x6378    0x7b18
+0x6379    0x7b19
+0x637a    0x7b1e
+0x637b    0x7b35
+0x637c    0x7b28
+0x637d    0x7b36
+0x637e    0x7b50
+0x6421    0x7b7a
+0x6422    0x7b04
+0x6423    0x7b4d
+0x6424    0x7b0b
+0x6425    0x7b4c
+0x6426    0x7b45
+0x6427    0x7b75
+0x6428    0x7b65
+0x6429    0x7b74
+0x642a    0x7b67
+0x642b    0x7b70
+0x642c    0x7b71
+0x642d    0x7b6c
+0x642e    0x7b6e
+0x642f    0x7b9d
+0x6430    0x7b98
+0x6431    0x7b9f
+0x6432    0x7b8d
+0x6433    0x7b9c
+0x6434    0x7b9a
+0x6435    0x7b8b
+0x6436    0x7b92
+0x6437    0x7b8f
+0x6438    0x7b5d
+0x6439    0x7b99
+0x643a    0x7bcb
+0x643b    0x7bc1
+0x643c    0x7bcc
+0x643d    0x7bcf
+0x643e    0x7bb4
+0x643f    0x7bc6
+0x6440    0x7bdd
+0x6441    0x7be9
+0x6442    0x7c11
+0x6443    0x7c14
+0x6444    0x7be6
+0x6445    0x7be5
+0x6446    0x7c60
+0x6447    0x7c00
+0x6448    0x7c07
+0x6449    0x7c13
+0x644a    0x7bf3
+0x644b    0x7bf7
+0x644c    0x7c17
+0x644d    0x7c0d
+0x644e    0x7bf6
+0x644f    0x7c23
+0x6450    0x7c27
+0x6451    0x7c2a
+0x6452    0x7c1f
+0x6453    0x7c37
+0x6454    0x7c2b
+0x6455    0x7c3d
+0x6456    0x7c4c
+0x6457    0x7c43
+0x6458    0x7c54
+0x6459    0x7c4f
+0x645a    0x7c40
+0x645b    0x7c50
+0x645c    0x7c58
+0x645d    0x7c5f
+0x645e    0x7c64
+0x645f    0x7c56
+0x6460    0x7c65
+0x6461    0x7c6c
+0x6462    0x7c75
+0x6463    0x7c83
+0x6464    0x7c90
+0x6465    0x7ca4
+0x6466    0x7cad
+0x6467    0x7ca2
+0x6468    0x7cab
+0x6469    0x7ca1
+0x646a    0x7ca8
+0x646b    0x7cb3
+0x646c    0x7cb2
+0x646d    0x7cb1
+0x646e    0x7cae
+0x646f    0x7cb9
+0x6470    0x7cbd
+0x6471    0x7cc0
+0x6472    0x7cc5
+0x6473    0x7cc2
+0x6474    0x7cd8
+0x6475    0x7cd2
+0x6476    0x7cdc
+0x6477    0x7ce2
+0x6478    0x9b3b
+0x6479    0x7cef
+0x647a    0x7cf2
+0x647b    0x7cf4
+0x647c    0x7cf6
+0x647d    0x7cfa
+0x647e    0x7d06
+0x6521    0x7d02
+0x6522    0x7d1c
+0x6523    0x7d15
+0x6524    0x7d0a
+0x6525    0x7d45
+0x6526    0x7d4b
+0x6527    0x7d2e
+0x6528    0x7d32
+0x6529    0x7d3f
+0x652a    0x7d35
+0x652b    0x7d46
+0x652c    0x7d73
+0x652d    0x7d56
+0x652e    0x7d4e
+0x652f    0x7d72
+0x6530    0x7d68
+0x6531    0x7d6e
+0x6532    0x7d4f
+0x6533    0x7d63
+0x6534    0x7d93
+0x6535    0x7d89
+0x6536    0x7d5b
+0x6537    0x7d8f
+0x6538    0x7d7d
+0x6539    0x7d9b
+0x653a    0x7dba
+0x653b    0x7dae
+0x653c    0x7da3
+0x653d    0x7db5
+0x653e    0x7dc7
+0x653f    0x7dbd
+0x6540    0x7dab
+0x6541    0x7e3d
+0x6542    0x7da2
+0x6543    0x7daf
+0x6544    0x7ddc
+0x6545    0x7db8
+0x6546    0x7d9f
+0x6547    0x7db0
+0x6548    0x7dd8
+0x6549    0x7ddd
+0x654a    0x7de4
+0x654b    0x7dde
+0x654c    0x7dfb
+0x654d    0x7df2
+0x654e    0x7de1
+0x654f    0x7e05
+0x6550    0x7e0a
+0x6551    0x7e23
+0x6552    0x7e21
+0x6553    0x7e12
+0x6554    0x7e31
+0x6555    0x7e1f
+0x6556    0x7e09
+0x6557    0x7e0b
+0x6558    0x7e22
+0x6559    0x7e46
+0x655a    0x7e66
+0x655b    0x7e3b
+0x655c    0x7e35
+0x655d    0x7e39
+0x655e    0x7e43
+0x655f    0x7e37
+0x6560    0x7e32
+0x6561    0x7e3a
+0x6562    0x7e67
+0x6563    0x7e5d
+0x6564    0x7e56
+0x6565    0x7e5e
+0x6566    0x7e59
+0x6567    0x7e5a
+0x6568    0x7e79
+0x6569    0x7e6a
+0x656a    0x7e69
+0x656b    0x7e7c
+0x656c    0x7e7b
+0x656d    0x7e83
+0x656e    0x7dd5
+0x656f    0x7e7d
+0x6570    0x8fae
+0x6571    0x7e7f
+0x6572    0x7e88
+0x6573    0x7e89
+0x6574    0x7e8c
+0x6575    0x7e92
+0x6576    0x7e90
+0x6577    0x7e93
+0x6578    0x7e94
+0x6579    0x7e96
+0x657a    0x7e8e
+0x657b    0x7e9b
+0x657c    0x7e9c
+0x657d    0x7f38
+0x657e    0x7f3a
+0x6621    0x7f45
+0x6622    0x7f4c
+0x6623    0x7f4d
+0x6624    0x7f4e
+0x6625    0x7f50
+0x6626    0x7f51
+0x6627    0x7f55
+0x6628    0x7f54
+0x6629    0x7f58
+0x662a    0x7f5f
+0x662b    0x7f60
+0x662c    0x7f68
+0x662d    0x7f69
+0x662e    0x7f67
+0x662f    0x7f78
+0x6630    0x7f82
+0x6631    0x7f86
+0x6632    0x7f83
+0x6633    0x7f88
+0x6634    0x7f87
+0x6635    0x7f8c
+0x6636    0x7f94
+0x6637    0x7f9e
+0x6638    0x7f9d
+0x6639    0x7f9a
+0x663a    0x7fa3
+0x663b    0x7faf
+0x663c    0x7fb2
+0x663d    0x7fb9
+0x663e    0x7fae
+0x663f    0x7fb6
+0x6640    0x7fb8
+0x6641    0x8b71
+0x6642    0x7fc5
+0x6643    0x7fc6
+0x6644    0x7fca
+0x6645    0x7fd5
+0x6646    0x7fd4
+0x6647    0x7fe1
+0x6648    0x7fe6
+0x6649    0x7fe9
+0x664a    0x7ff3
+0x664b    0x7ff9
+0x664c    0x98dc
+0x664d    0x8006
+0x664e    0x8004
+0x664f    0x800b
+0x6650    0x8012
+0x6651    0x8018
+0x6652    0x8019
+0x6653    0x801c
+0x6654    0x8021
+0x6655    0x8028
+0x6656    0x803f
+0x6657    0x803b
+0x6658    0x804a
+0x6659    0x8046
+0x665a    0x8052
+0x665b    0x8058
+0x665c    0x805a
+0x665d    0x805f
+0x665e    0x8062
+0x665f    0x8068
+0x6660    0x8073
+0x6661    0x8072
+0x6662    0x8070
+0x6663    0x8076
+0x6664    0x8079
+0x6665    0x807d
+0x6666    0x807f
+0x6667    0x8084
+0x6668    0x8086
+0x6669    0x8085
+0x666a    0x809b
+0x666b    0x8093
+0x666c    0x809a
+0x666d    0x80ad
+0x666e    0x5190
+0x666f    0x80ac
+0x6670    0x80db
+0x6671    0x80e5
+0x6672    0x80d9
+0x6673    0x80dd
+0x6674    0x80c4
+0x6675    0x80da
+0x6676    0x80d6
+0x6677    0x8109
+0x6678    0x80ef
+0x6679    0x80f1
+0x667a    0x811b
+0x667b    0x8129
+0x667c    0x8123
+0x667d    0x812f
+0x667e    0x814b
+0x6721    0x968b
+0x6722    0x8146
+0x6723    0x813e
+0x6724    0x8153
+0x6725    0x8151
+0x6726    0x80fc
+0x6727    0x8171
+0x6728    0x816e
+0x6729    0x8165
+0x672a    0x8166
+0x672b    0x8174
+0x672c    0x8183
+0x672d    0x8188
+0x672e    0x818a
+0x672f    0x8180
+0x6730    0x8182
+0x6731    0x81a0
+0x6732    0x8195
+0x6733    0x81a4
+0x6734    0x81a3
+0x6735    0x815f
+0x6736    0x8193
+0x6737    0x81a9
+0x6738    0x81b0
+0x6739    0x81b5
+0x673a    0x81be
+0x673b    0x81b8
+0x673c    0x81bd
+0x673d    0x81c0
+0x673e    0x81c2
+0x673f    0x81ba
+0x6740    0x81c9
+0x6741    0x81cd
+0x6742    0x81d1
+0x6743    0x81d9
+0x6744    0x81d8
+0x6745    0x81c8
+0x6746    0x81da
+0x6747    0x81df
+0x6748    0x81e0
+0x6749    0x81e7
+0x674a    0x81fa
+0x674b    0x81fb
+0x674c    0x81fe
+0x674d    0x8201
+0x674e    0x8202
+0x674f    0x8205
+0x6750    0x8207
+0x6751    0x820a
+0x6752    0x820d
+0x6753    0x8210
+0x6754    0x8216
+0x6755    0x8229
+0x6756    0x822b
+0x6757    0x8238
+0x6758    0x8233
+0x6759    0x8240
+0x675a    0x8259
+0x675b    0x8258
+0x675c    0x825d
+0x675d    0x825a
+0x675e    0x825f
+0x675f    0x8264
+0x6760    0x8262
+0x6761    0x8268
+0x6762    0x826a
+0x6763    0x826b
+0x6764    0x822e
+0x6765    0x8271
+0x6766    0x8277
+0x6767    0x8278
+0x6768    0x827e
+0x6769    0x828d
+0x676a    0x8292
+0x676b    0x82ab
+0x676c    0x829f
+0x676d    0x82bb
+0x676e    0x82ac
+0x676f    0x82e1
+0x6770    0x82e3
+0x6771    0x82df
+0x6772    0x82d2
+0x6773    0x82f4
+0x6774    0x82f3
+0x6775    0x82fa
+0x6776    0x8393
+0x6777    0x8303
+0x6778    0x82fb
+0x6779    0x82f9
+0x677a    0x82de
+0x677b    0x8306
+0x677c    0x82dc
+0x677d    0x8309
+0x677e    0x82d9
+0x6821    0x8335
+0x6822    0x8334
+0x6823    0x8316
+0x6824    0x8332
+0x6825    0x8331
+0x6826    0x8340
+0x6827    0x8339
+0x6828    0x8350
+0x6829    0x8345
+0x682a    0x832f
+0x682b    0x832b
+0x682c    0x8317
+0x682d    0x8318
+0x682e    0x8385
+0x682f    0x839a
+0x6830    0x83aa
+0x6831    0x839f
+0x6832    0x83a2
+0x6833    0x8396
+0x6834    0x8323
+0x6835    0x838e
+0x6836    0x8387
+0x6837    0x838a
+0x6838    0x837c
+0x6839    0x83b5
+0x683a    0x8373
+0x683b    0x8375
+0x683c    0x83a0
+0x683d    0x8389
+0x683e    0x83a8
+0x683f    0x83f4
+0x6840    0x8413
+0x6841    0x83eb
+0x6842    0x83ce
+0x6843    0x83fd
+0x6844    0x8403
+0x6845    0x83d8
+0x6846    0x840b
+0x6847    0x83c1
+0x6848    0x83f7
+0x6849    0x8407
+0x684a    0x83e0
+0x684b    0x83f2
+0x684c    0x840d
+0x684d    0x8422
+0x684e    0x8420
+0x684f    0x83bd
+0x6850    0x8438
+0x6851    0x8506
+0x6852    0x83fb
+0x6853    0x846d
+0x6854    0x842a
+0x6855    0x843c
+0x6856    0x855a
+0x6857    0x8484
+0x6858    0x8477
+0x6859    0x846b
+0x685a    0x84ad
+0x685b    0x846e
+0x685c    0x8482
+0x685d    0x8469
+0x685e    0x8446
+0x685f    0x842c
+0x6860    0x846f
+0x6861    0x8479
+0x6862    0x8435
+0x6863    0x84ca
+0x6864    0x8462
+0x6865    0x84b9
+0x6866    0x84bf
+0x6867    0x849f
+0x6868    0x84d9
+0x6869    0x84cd
+0x686a    0x84bb
+0x686b    0x84da
+0x686c    0x84d0
+0x686d    0x84c1
+0x686e    0x84c6
+0x686f    0x84d6
+0x6870    0x84a1
+0x6871    0x8521
+0x6872    0x84ff
+0x6873    0x84f4
+0x6874    0x8517
+0x6875    0x8518
+0x6876    0x852c
+0x6877    0x851f
+0x6878    0x8515
+0x6879    0x8514
+0x687a    0x84fc
+0x687b    0x8540
+0x687c    0x8563
+0x687d    0x8558
+0x687e    0x8548
+0x6921    0x8541
+0x6922    0x8602
+0x6923    0x854b
+0x6924    0x8555
+0x6925    0x8580
+0x6926    0x85a4
+0x6927    0x8588
+0x6928    0x8591
+0x6929    0x858a
+0x692a    0x85a8
+0x692b    0x856d
+0x692c    0x8594
+0x692d    0x859b
+0x692e    0x85ea
+0x692f    0x8587
+0x6930    0x859c
+0x6931    0x8577
+0x6932    0x857e
+0x6933    0x8590
+0x6934    0x85c9
+0x6935    0x85ba
+0x6936    0x85cf
+0x6937    0x85b9
+0x6938    0x85d0
+0x6939    0x85d5
+0x693a    0x85dd
+0x693b    0x85e5
+0x693c    0x85dc
+0x693d    0x85f9
+0x693e    0x860a
+0x693f    0x8613
+0x6940    0x860b
+0x6941    0x85fe
+0x6942    0x85fa
+0x6943    0x8606
+0x6944    0x8622
+0x6945    0x861a
+0x6946    0x8630
+0x6947    0x863f
+0x6948    0x864d
+0x6949    0x4e55
+0x694a    0x8654
+0x694b    0x865f
+0x694c    0x8667
+0x694d    0x8671
+0x694e    0x8693
+0x694f    0x86a3
+0x6950    0x86a9
+0x6951    0x86aa
+0x6952    0x868b
+0x6953    0x868c
+0x6954    0x86b6
+0x6955    0x86af
+0x6956    0x86c4
+0x6957    0x86c6
+0x6958    0x86b0
+0x6959    0x86c9
+0x695a    0x8823
+0x695b    0x86ab
+0x695c    0x86d4
+0x695d    0x86de
+0x695e    0x86e9
+0x695f    0x86ec
+0x6960    0x86df
+0x6961    0x86db
+0x6962    0x86ef
+0x6963    0x8712
+0x6964    0x8706
+0x6965    0x8708
+0x6966    0x8700
+0x6967    0x8703
+0x6968    0x86fb
+0x6969    0x8711
+0x696a    0x8709
+0x696b    0x870d
+0x696c    0x86f9
+0x696d    0x870a
+0x696e    0x8734
+0x696f    0x873f
+0x6970    0x8737
+0x6971    0x873b
+0x6972    0x8725
+0x6973    0x8729
+0x6974    0x871a
+0x6975    0x8760
+0x6976    0x875f
+0x6977    0x8778
+0x6978    0x874c
+0x6979    0x874e
+0x697a    0x8774
+0x697b    0x8757
+0x697c    0x8768
+0x697d    0x876e
+0x697e    0x8759
+0x6a21    0x8753
+0x6a22    0x8763
+0x6a23    0x876a
+0x6a24    0x8805
+0x6a25    0x87a2
+0x6a26    0x879f
+0x6a27    0x8782
+0x6a28    0x87af
+0x6a29    0x87cb
+0x6a2a    0x87bd
+0x6a2b    0x87c0
+0x6a2c    0x87d0
+0x6a2d    0x96d6
+0x6a2e    0x87ab
+0x6a2f    0x87c4
+0x6a30    0x87b3
+0x6a31    0x87c7
+0x6a32    0x87c6
+0x6a33    0x87bb
+0x6a34    0x87ef
+0x6a35    0x87f2
+0x6a36    0x87e0
+0x6a37    0x880f
+0x6a38    0x880d
+0x6a39    0x87fe
+0x6a3a    0x87f6
+0x6a3b    0x87f7
+0x6a3c    0x880e
+0x6a3d    0x87d2
+0x6a3e    0x8811
+0x6a3f    0x8816
+0x6a40    0x8815
+0x6a41    0x8822
+0x6a42    0x8821
+0x6a43    0x8831
+0x6a44    0x8836
+0x6a45    0x8839
+0x6a46    0x8827
+0x6a47    0x883b
+0x6a48    0x8844
+0x6a49    0x8842
+0x6a4a    0x8852
+0x6a4b    0x8859
+0x6a4c    0x885e
+0x6a4d    0x8862
+0x6a4e    0x886b
+0x6a4f    0x8881
+0x6a50    0x887e
+0x6a51    0x889e
+0x6a52    0x8875
+0x6a53    0x887d
+0x6a54    0x88b5
+0x6a55    0x8872
+0x6a56    0x8882
+0x6a57    0x8897
+0x6a58    0x8892
+0x6a59    0x88ae
+0x6a5a    0x8899
+0x6a5b    0x88a2
+0x6a5c    0x888d
+0x6a5d    0x88a4
+0x6a5e    0x88b0
+0x6a5f    0x88bf
+0x6a60    0x88b1
+0x6a61    0x88c3
+0x6a62    0x88c4
+0x6a63    0x88d4
+0x6a64    0x88d8
+0x6a65    0x88d9
+0x6a66    0x88dd
+0x6a67    0x88f9
+0x6a68    0x8902
+0x6a69    0x88fc
+0x6a6a    0x88f4
+0x6a6b    0x88e8
+0x6a6c    0x88f2
+0x6a6d    0x8904
+0x6a6e    0x890c
+0x6a6f    0x890a
+0x6a70    0x8913
+0x6a71    0x8943
+0x6a72    0x891e
+0x6a73    0x8925
+0x6a74    0x892a
+0x6a75    0x892b
+0x6a76    0x8941
+0x6a77    0x8944
+0x6a78    0x893b
+0x6a79    0x8936
+0x6a7a    0x8938
+0x6a7b    0x894c
+0x6a7c    0x891d
+0x6a7d    0x8960
+0x6a7e    0x895e
+0x6b21    0x8966
+0x6b22    0x8964
+0x6b23    0x896d
+0x6b24    0x896a
+0x6b25    0x896f
+0x6b26    0x8974
+0x6b27    0x8977
+0x6b28    0x897e
+0x6b29    0x8983
+0x6b2a    0x8988
+0x6b2b    0x898a
+0x6b2c    0x8993
+0x6b2d    0x8998
+0x6b2e    0x89a1
+0x6b2f    0x89a9
+0x6b30    0x89a6
+0x6b31    0x89ac
+0x6b32    0x89af
+0x6b33    0x89b2
+0x6b34    0x89ba
+0x6b35    0x89bd
+0x6b36    0x89bf
+0x6b37    0x89c0
+0x6b38    0x89da
+0x6b39    0x89dc
+0x6b3a    0x89dd
+0x6b3b    0x89e7
+0x6b3c    0x89f4
+0x6b3d    0x89f8
+0x6b3e    0x8a03
+0x6b3f    0x8a16
+0x6b40    0x8a10
+0x6b41    0x8a0c
+0x6b42    0x8a1b
+0x6b43    0x8a1d
+0x6b44    0x8a25
+0x6b45    0x8a36
+0x6b46    0x8a41
+0x6b47    0x8a5b
+0x6b48    0x8a52
+0x6b49    0x8a46
+0x6b4a    0x8a48
+0x6b4b    0x8a7c
+0x6b4c    0x8a6d
+0x6b4d    0x8a6c
+0x6b4e    0x8a62
+0x6b4f    0x8a85
+0x6b50    0x8a82
+0x6b51    0x8a84
+0x6b52    0x8aa8
+0x6b53    0x8aa1
+0x6b54    0x8a91
+0x6b55    0x8aa5
+0x6b56    0x8aa6
+0x6b57    0x8a9a
+0x6b58    0x8aa3
+0x6b59    0x8ac4
+0x6b5a    0x8acd
+0x6b5b    0x8ac2
+0x6b5c    0x8ada
+0x6b5d    0x8aeb
+0x6b5e    0x8af3
+0x6b5f    0x8ae7
+0x6b60    0x8ae4
+0x6b61    0x8af1
+0x6b62    0x8b14
+0x6b63    0x8ae0
+0x6b64    0x8ae2
+0x6b65    0x8af7
+0x6b66    0x8ade
+0x6b67    0x8adb
+0x6b68    0x8b0c
+0x6b69    0x8b07
+0x6b6a    0x8b1a
+0x6b6b    0x8ae1
+0x6b6c    0x8b16
+0x6b6d    0x8b10
+0x6b6e    0x8b17
+0x6b6f    0x8b20
+0x6b70    0x8b33
+0x6b71    0x97ab
+0x6b72    0x8b26
+0x6b73    0x8b2b
+0x6b74    0x8b3e
+0x6b75    0x8b28
+0x6b76    0x8b41
+0x6b77    0x8b4c
+0x6b78    0x8b4f
+0x6b79    0x8b4e
+0x6b7a    0x8b49
+0x6b7b    0x8b56
+0x6b7c    0x8b5b
+0x6b7d    0x8b5a
+0x6b7e    0x8b6b
+0x6c21    0x8b5f
+0x6c22    0x8b6c
+0x6c23    0x8b6f
+0x6c24    0x8b74
+0x6c25    0x8b7d
+0x6c26    0x8b80
+0x6c27    0x8b8c
+0x6c28    0x8b8e
+0x6c29    0x8b92
+0x6c2a    0x8b93
+0x6c2b    0x8b96
+0x6c2c    0x8b99
+0x6c2d    0x8b9a
+0x6c2e    0x8c3a
+0x6c2f    0x8c41
+0x6c30    0x8c3f
+0x6c31    0x8c48
+0x6c32    0x8c4c
+0x6c33    0x8c4e
+0x6c34    0x8c50
+0x6c35    0x8c55
+0x6c36    0x8c62
+0x6c37    0x8c6c
+0x6c38    0x8c78
+0x6c39    0x8c7a
+0x6c3a    0x8c82
+0x6c3b    0x8c89
+0x6c3c    0x8c85
+0x6c3d    0x8c8a
+0x6c3e    0x8c8d
+0x6c3f    0x8c8e
+0x6c40    0x8c94
+0x6c41    0x8c7c
+0x6c42    0x8c98
+0x6c43    0x621d
+0x6c44    0x8cad
+0x6c45    0x8caa
+0x6c46    0x8cbd
+0x6c47    0x8cb2
+0x6c48    0x8cb3
+0x6c49    0x8cae
+0x6c4a    0x8cb6
+0x6c4b    0x8cc8
+0x6c4c    0x8cc1
+0x6c4d    0x8ce4
+0x6c4e    0x8ce3
+0x6c4f    0x8cda
+0x6c50    0x8cfd
+0x6c51    0x8cfa
+0x6c52    0x8cfb
+0x6c53    0x8d04
+0x6c54    0x8d05
+0x6c55    0x8d0a
+0x6c56    0x8d07
+0x6c57    0x8d0f
+0x6c58    0x8d0d
+0x6c59    0x8d10
+0x6c5a    0x9f4e
+0x6c5b    0x8d13
+0x6c5c    0x8ccd
+0x6c5d    0x8d14
+0x6c5e    0x8d16
+0x6c5f    0x8d67
+0x6c60    0x8d6d
+0x6c61    0x8d71
+0x6c62    0x8d73
+0x6c63    0x8d81
+0x6c64    0x8d99
+0x6c65    0x8dc2
+0x6c66    0x8dbe
+0x6c67    0x8dba
+0x6c68    0x8dcf
+0x6c69    0x8dda
+0x6c6a    0x8dd6
+0x6c6b    0x8dcc
+0x6c6c    0x8ddb
+0x6c6d    0x8dcb
+0x6c6e    0x8dea
+0x6c6f    0x8deb
+0x6c70    0x8ddf
+0x6c71    0x8de3
+0x6c72    0x8dfc
+0x6c73    0x8e08
+0x6c74    0x8e09
+0x6c75    0x8dff
+0x6c76    0x8e1d
+0x6c77    0x8e1e
+0x6c78    0x8e10
+0x6c79    0x8e1f
+0x6c7a    0x8e42
+0x6c7b    0x8e35
+0x6c7c    0x8e30
+0x6c7d    0x8e34
+0x6c7e    0x8e4a
+0x6d21    0x8e47
+0x6d22    0x8e49
+0x6d23    0x8e4c
+0x6d24    0x8e50
+0x6d25    0x8e48
+0x6d26    0x8e59
+0x6d27    0x8e64
+0x6d28    0x8e60
+0x6d29    0x8e2a
+0x6d2a    0x8e63
+0x6d2b    0x8e55
+0x6d2c    0x8e76
+0x6d2d    0x8e72
+0x6d2e    0x8e7c
+0x6d2f    0x8e81
+0x6d30    0x8e87
+0x6d31    0x8e85
+0x6d32    0x8e84
+0x6d33    0x8e8b
+0x6d34    0x8e8a
+0x6d35    0x8e93
+0x6d36    0x8e91
+0x6d37    0x8e94
+0x6d38    0x8e99
+0x6d39    0x8eaa
+0x6d3a    0x8ea1
+0x6d3b    0x8eac
+0x6d3c    0x8eb0
+0x6d3d    0x8ec6
+0x6d3e    0x8eb1
+0x6d3f    0x8ebe
+0x6d40    0x8ec5
+0x6d41    0x8ec8
+0x6d42    0x8ecb
+0x6d43    0x8edb
+0x6d44    0x8ee3
+0x6d45    0x8efc
+0x6d46    0x8efb
+0x6d47    0x8eeb
+0x6d48    0x8efe
+0x6d49    0x8f0a
+0x6d4a    0x8f05
+0x6d4b    0x8f15
+0x6d4c    0x8f12
+0x6d4d    0x8f19
+0x6d4e    0x8f13
+0x6d4f    0x8f1c
+0x6d50    0x8f1f
+0x6d51    0x8f1b
+0x6d52    0x8f0c
+0x6d53    0x8f26
+0x6d54    0x8f33
+0x6d55    0x8f3b
+0x6d56    0x8f39
+0x6d57    0x8f45
+0x6d58    0x8f42
+0x6d59    0x8f3e
+0x6d5a    0x8f4c
+0x6d5b    0x8f49
+0x6d5c    0x8f46
+0x6d5d    0x8f4e
+0x6d5e    0x8f57
+0x6d5f    0x8f5c
+0x6d60    0x8f62
+0x6d61    0x8f63
+0x6d62    0x8f64
+0x6d63    0x8f9c
+0x6d64    0x8f9f
+0x6d65    0x8fa3
+0x6d66    0x8fad
+0x6d67    0x8faf
+0x6d68    0x8fb7
+0x6d69    0x8fda
+0x6d6a    0x8fe5
+0x6d6b    0x8fe2
+0x6d6c    0x8fea
+0x6d6d    0x8fef
+0x6d6e    0x9087
+0x6d6f    0x8ff4
+0x6d70    0x9005
+0x6d71    0x8ff9
+0x6d72    0x8ffa
+0x6d73    0x9011
+0x6d74    0x9015
+0x6d75    0x9021
+0x6d76    0x900d
+0x6d77    0x901e
+0x6d78    0x9016
+0x6d79    0x900b
+0x6d7a    0x9027
+0x6d7b    0x9036
+0x6d7c    0x9035
+0x6d7d    0x9039
+0x6d7e    0x8ff8
+0x6e21    0x904f
+0x6e22    0x9050
+0x6e23    0x9051
+0x6e24    0x9052
+0x6e25    0x900e
+0x6e26    0x9049
+0x6e27    0x903e
+0x6e28    0x9056
+0x6e29    0x9058
+0x6e2a    0x905e
+0x6e2b    0x9068
+0x6e2c    0x906f
+0x6e2d    0x9076
+0x6e2e    0x96a8
+0x6e2f    0x9072
+0x6e30    0x9082
+0x6e31    0x907d
+0x6e32    0x9081
+0x6e33    0x9080
+0x6e34    0x908a
+0x6e35    0x9089
+0x6e36    0x908f
+0x6e37    0x90a8
+0x6e38    0x90af
+0x6e39    0x90b1
+0x6e3a    0x90b5
+0x6e3b    0x90e2
+0x6e3c    0x90e4
+0x6e3d    0x6248
+0x6e3e    0x90db
+0x6e3f    0x9102
+0x6e40    0x9112
+0x6e41    0x9119
+0x6e42    0x9132
+0x6e43    0x9130
+0x6e44    0x914a
+0x6e45    0x9156
+0x6e46    0x9158
+0x6e47    0x9163
+0x6e48    0x9165
+0x6e49    0x9169
+0x6e4a    0x9173
+0x6e4b    0x9172
+0x6e4c    0x918b
+0x6e4d    0x9189
+0x6e4e    0x9182
+0x6e4f    0x91a2
+0x6e50    0x91ab
+0x6e51    0x91af
+0x6e52    0x91aa
+0x6e53    0x91b5
+0x6e54    0x91b4
+0x6e55    0x91ba
+0x6e56    0x91c0
+0x6e57    0x91c1
+0x6e58    0x91c9
+0x6e59    0x91cb
+0x6e5a    0x91d0
+0x6e5b    0x91d6
+0x6e5c    0x91df
+0x6e5d    0x91e1
+0x6e5e    0x91db
+0x6e5f    0x91fc
+0x6e60    0x91f5
+0x6e61    0x91f6
+0x6e62    0x921e
+0x6e63    0x91ff
+0x6e64    0x9214
+0x6e65    0x922c
+0x6e66    0x9215
+0x6e67    0x9211
+0x6e68    0x925e
+0x6e69    0x9257
+0x6e6a    0x9245
+0x6e6b    0x9249
+0x6e6c    0x9264
+0x6e6d    0x9248
+0x6e6e    0x9295
+0x6e6f    0x923f
+0x6e70    0x924b
+0x6e71    0x9250
+0x6e72    0x929c
+0x6e73    0x9296
+0x6e74    0x9293
+0x6e75    0x929b
+0x6e76    0x925a
+0x6e77    0x92cf
+0x6e78    0x92b9
+0x6e79    0x92b7
+0x6e7a    0x92e9
+0x6e7b    0x930f
+0x6e7c    0x92fa
+0x6e7d    0x9344
+0x6e7e    0x932e
+0x6f21    0x9319
+0x6f22    0x9322
+0x6f23    0x931a
+0x6f24    0x9323
+0x6f25    0x933a
+0x6f26    0x9335
+0x6f27    0x933b
+0x6f28    0x935c
+0x6f29    0x9360
+0x6f2a    0x937c
+0x6f2b    0x936e
+0x6f2c    0x9356
+0x6f2d    0x93b0
+0x6f2e    0x93ac
+0x6f2f    0x93ad
+0x6f30    0x9394
+0x6f31    0x93b9
+0x6f32    0x93d6
+0x6f33    0x93d7
+0x6f34    0x93e8
+0x6f35    0x93e5
+0x6f36    0x93d8
+0x6f37    0x93c3
+0x6f38    0x93dd
+0x6f39    0x93d0
+0x6f3a    0x93c8
+0x6f3b    0x93e4
+0x6f3c    0x941a
+0x6f3d    0x9414
+0x6f3e    0x9413
+0x6f3f    0x9403
+0x6f40    0x9407
+0x6f41    0x9410
+0x6f42    0x9436
+0x6f43    0x942b
+0x6f44    0x9435
+0x6f45    0x9421
+0x6f46    0x943a
+0x6f47    0x9441
+0x6f48    0x9452
+0x6f49    0x9444
+0x6f4a    0x945b
+0x6f4b    0x9460
+0x6f4c    0x9462
+0x6f4d    0x945e
+0x6f4e    0x946a
+0x6f4f    0x9229
+0x6f50    0x9470
+0x6f51    0x9475
+0x6f52    0x9477
+0x6f53    0x947d
+0x6f54    0x945a
+0x6f55    0x947c
+0x6f56    0x947e
+0x6f57    0x9481
+0x6f58    0x947f
+0x6f59    0x9582
+0x6f5a    0x9587
+0x6f5b    0x958a
+0x6f5c    0x9594
+0x6f5d    0x9596
+0x6f5e    0x9598
+0x6f5f    0x9599
+0x6f60    0x95a0
+0x6f61    0x95a8
+0x6f62    0x95a7
+0x6f63    0x95ad
+0x6f64    0x95bc
+0x6f65    0x95bb
+0x6f66    0x95b9
+0x6f67    0x95be
+0x6f68    0x95ca
+0x6f69    0x6ff6
+0x6f6a    0x95c3
+0x6f6b    0x95cd
+0x6f6c    0x95cc
+0x6f6d    0x95d5
+0x6f6e    0x95d4
+0x6f6f    0x95d6
+0x6f70    0x95dc
+0x6f71    0x95e1
+0x6f72    0x95e5
+0x6f73    0x95e2
+0x6f74    0x9621
+0x6f75    0x9628
+0x6f76    0x962e
+0x6f77    0x962f
+0x6f78    0x9642
+0x6f79    0x964c
+0x6f7a    0x964f
+0x6f7b    0x964b
+0x6f7c    0x9677
+0x6f7d    0x965c
+0x6f7e    0x965e
+0x7021    0x965d
+0x7022    0x965f
+0x7023    0x9666
+0x7024    0x9672
+0x7025    0x966c
+0x7026    0x968d
+0x7027    0x9698
+0x7028    0x9695
+0x7029    0x9697
+0x702a    0x96aa
+0x702b    0x96a7
+0x702c    0x96b1
+0x702d    0x96b2
+0x702e    0x96b0
+0x702f    0x96b4
+0x7030    0x96b6
+0x7031    0x96b8
+0x7032    0x96b9
+0x7033    0x96ce
+0x7034    0x96cb
+0x7035    0x96c9
+0x7036    0x96cd
+0x7037    0x894d
+0x7038    0x96dc
+0x7039    0x970d
+0x703a    0x96d5
+0x703b    0x96f9
+0x703c    0x9704
+0x703d    0x9706
+0x703e    0x9708
+0x703f    0x9713
+0x7040    0x970e
+0x7041    0x9711
+0x7042    0x970f
+0x7043    0x9716
+0x7044    0x9719
+0x7045    0x9724
+0x7046    0x972a
+0x7047    0x9730
+0x7048    0x9739
+0x7049    0x973d
+0x704a    0x973e
+0x704b    0x9744
+0x704c    0x9746
+0x704d    0x9748
+0x704e    0x9742
+0x704f    0x9749
+0x7050    0x975c
+0x7051    0x9760
+0x7052    0x9764
+0x7053    0x9766
+0x7054    0x9768
+0x7055    0x52d2
+0x7056    0x976b
+0x7057    0x9771
+0x7058    0x9779
+0x7059    0x9785
+0x705a    0x977c
+0x705b    0x9781
+0x705c    0x977a
+0x705d    0x9786
+0x705e    0x978b
+0x705f    0x978f
+0x7060    0x9790
+0x7061    0x979c
+0x7062    0x97a8
+0x7063    0x97a6
+0x7064    0x97a3
+0x7065    0x97b3
+0x7066    0x97b4
+0x7067    0x97c3
+0x7068    0x97c6
+0x7069    0x97c8
+0x706a    0x97cb
+0x706b    0x97dc
+0x706c    0x97ed
+0x706d    0x9f4f
+0x706e    0x97f2
+0x706f    0x7adf
+0x7070    0x97f6
+0x7071    0x97f5
+0x7072    0x980f
+0x7073    0x980c
+0x7074    0x9838
+0x7075    0x9824
+0x7076    0x9821
+0x7077    0x9837
+0x7078    0x983d
+0x7079    0x9846
+0x707a    0x984f
+0x707b    0x984b
+0x707c    0x986b
+0x707d    0x986f
+0x707e    0x9870
+0x7121    0x9871
+0x7122    0x9874
+0x7123    0x9873
+0x7124    0x98aa
+0x7125    0x98af
+0x7126    0x98b1
+0x7127    0x98b6
+0x7128    0x98c4
+0x7129    0x98c3
+0x712a    0x98c6
+0x712b    0x98e9
+0x712c    0x98eb
+0x712d    0x9903
+0x712e    0x9909
+0x712f    0x9912
+0x7130    0x9914
+0x7131    0x9918
+0x7132    0x9921
+0x7133    0x991d
+0x7134    0x991e
+0x7135    0x9924
+0x7136    0x9920
+0x7137    0x992c
+0x7138    0x992e
+0x7139    0x993d
+0x713a    0x993e
+0x713b    0x9942
+0x713c    0x9949
+0x713d    0x9945
+0x713e    0x9950
+0x713f    0x994b
+0x7140    0x9951
+0x7141    0x9952
+0x7142    0x994c
+0x7143    0x9955
+0x7144    0x9997
+0x7145    0x9998
+0x7146    0x99a5
+0x7147    0x99ad
+0x7148    0x99ae
+0x7149    0x99bc
+0x714a    0x99df
+0x714b    0x99db
+0x714c    0x99dd
+0x714d    0x99d8
+0x714e    0x99d1
+0x714f    0x99ed
+0x7150    0x99ee
+0x7151    0x99f1
+0x7152    0x99f2
+0x7153    0x99fb
+0x7154    0x99f8
+0x7155    0x9a01
+0x7156    0x9a0f
+0x7157    0x9a05
+0x7158    0x99e2
+0x7159    0x9a19
+0x715a    0x9a2b
+0x715b    0x9a37
+0x715c    0x9a45
+0x715d    0x9a42
+0x715e    0x9a40
+0x715f    0x9a43
+0x7160    0x9a3e
+0x7161    0x9a55
+0x7162    0x9a4d
+0x7163    0x9a5b
+0x7164    0x9a57
+0x7165    0x9a5f
+0x7166    0x9a62
+0x7167    0x9a65
+0x7168    0x9a64
+0x7169    0x9a69
+0x716a    0x9a6b
+0x716b    0x9a6a
+0x716c    0x9aad
+0x716d    0x9ab0
+0x716e    0x9abc
+0x716f    0x9ac0
+0x7170    0x9acf
+0x7171    0x9ad1
+0x7172    0x9ad3
+0x7173    0x9ad4
+0x7174    0x9ade
+0x7175    0x9adf
+0x7176    0x9ae2
+0x7177    0x9ae3
+0x7178    0x9ae6
+0x7179    0x9aef
+0x717a    0x9aeb
+0x717b    0x9aee
+0x717c    0x9af4
+0x717d    0x9af1
+0x717e    0x9af7
+0x7221    0x9afb
+0x7222    0x9b06
+0x7223    0x9b18
+0x7224    0x9b1a
+0x7225    0x9b1f
+0x7226    0x9b22
+0x7227    0x9b23
+0x7228    0x9b25
+0x7229    0x9b27
+0x722a    0x9b28
+0x722b    0x9b29
+0x722c    0x9b2a
+0x722d    0x9b2e
+0x722e    0x9b2f
+0x722f    0x9b32
+0x7230    0x9b44
+0x7231    0x9b43
+0x7232    0x9b4f
+0x7233    0x9b4d
+0x7234    0x9b4e
+0x7235    0x9b51
+0x7236    0x9b58
+0x7237    0x9b74
+0x7238    0x9b93
+0x7239    0x9b83
+0x723a    0x9b91
+0x723b    0x9b96
+0x723c    0x9b97
+0x723d    0x9b9f
+0x723e    0x9ba0
+0x723f    0x9ba8
+0x7240    0x9bb4
+0x7241    0x9bc0
+0x7242    0x9bca
+0x7243    0x9bb9
+0x7244    0x9bc6
+0x7245    0x9bcf
+0x7246    0x9bd1
+0x7247    0x9bd2
+0x7248    0x9be3
+0x7249    0x9be2
+0x724a    0x9be4
+0x724b    0x9bd4
+0x724c    0x9be1
+0x724d    0x9c3a
+0x724e    0x9bf2
+0x724f    0x9bf1
+0x7250    0x9bf0
+0x7251    0x9c15
+0x7252    0x9c14
+0x7253    0x9c09
+0x7254    0x9c13
+0x7255    0x9c0c
+0x7256    0x9c06
+0x7257    0x9c08
+0x7258    0x9c12
+0x7259    0x9c0a
+0x725a    0x9c04
+0x725b    0x9c2e
+0x725c    0x9c1b
+0x725d    0x9c25
+0x725e    0x9c24
+0x725f    0x9c21
+0x7260    0x9c30
+0x7261    0x9c47
+0x7262    0x9c32
+0x7263    0x9c46
+0x7264    0x9c3e
+0x7265    0x9c5a
+0x7266    0x9c60
+0x7267    0x9c67
+0x7268    0x9c76
+0x7269    0x9c78
+0x726a    0x9ce7
+0x726b    0x9cec
+0x726c    0x9cf0
+0x726d    0x9d09
+0x726e    0x9d08
+0x726f    0x9ceb
+0x7270    0x9d03
+0x7271    0x9d06
+0x7272    0x9d2a
+0x7273    0x9d26
+0x7274    0x9daf
+0x7275    0x9d23
+0x7276    0x9d1f
+0x7277    0x9d44
+0x7278    0x9d15
+0x7279    0x9d12
+0x727a    0x9d41
+0x727b    0x9d3f
+0x727c    0x9d3e
+0x727d    0x9d46
+0x727e    0x9d48
+0x7321    0x9d5d
+0x7322    0x9d5e
+0x7323    0x9d64
+0x7324    0x9d51
+0x7325    0x9d50
+0x7326    0x9d59
+0x7327    0x9d72
+0x7328    0x9d89
+0x7329    0x9d87
+0x732a    0x9dab
+0x732b    0x9d6f
+0x732c    0x9d7a
+0x732d    0x9d9a
+0x732e    0x9da4
+0x732f    0x9da9
+0x7330    0x9db2
+0x7331    0x9dc4
+0x7332    0x9dc1
+0x7333    0x9dbb
+0x7334    0x9db8
+0x7335    0x9dba
+0x7336    0x9dc6
+0x7337    0x9dcf
+0x7338    0x9dc2
+0x7339    0x9dd9
+0x733a    0x9dd3
+0x733b    0x9df8
+0x733c    0x9de6
+0x733d    0x9ded
+0x733e    0x9def
+0x733f    0x9dfd
+0x7340    0x9e1a
+0x7341    0x9e1b
+0x7342    0x9e1e
+0x7343    0x9e75
+0x7344    0x9e79
+0x7345    0x9e7d
+0x7346    0x9e81
+0x7347    0x9e88
+0x7348    0x9e8b
+0x7349    0x9e8c
+0x734a    0x9e92
+0x734b    0x9e95
+0x734c    0x9e91
+0x734d    0x9e9d
+0x734e    0x9ea5
+0x734f    0x9ea9
+0x7350    0x9eb8
+0x7351    0x9eaa
+0x7352    0x9ead
+0x7353    0x9761
+0x7354    0x9ecc
+0x7355    0x9ece
+0x7356    0x9ecf
+0x7357    0x9ed0
+0x7358    0x9ed4
+0x7359    0x9edc
+0x735a    0x9ede
+0x735b    0x9edd
+0x735c    0x9ee0
+0x735d    0x9ee5
+0x735e    0x9ee8
+0x735f    0x9eef
+0x7360    0x9ef4
+0x7361    0x9ef6
+0x7362    0x9ef7
+0x7363    0x9ef9
+0x7364    0x9efb
+0x7365    0x9efc
+0x7366    0x9efd
+0x7367    0x9f07
+0x7368    0x9f08
+0x7369    0x76b7
+0x736a    0x9f15
+0x736b    0x9f21
+0x736c    0x9f2c
+0x736d    0x9f3e
+0x736e    0x9f4a
+0x736f    0x9f52
+0x7370    0x9f54
+0x7371    0x9f63
+0x7372    0x9f5f
+0x7373    0x9f60
+0x7374    0x9f61
+0x7375    0x9f66
+0x7376    0x9f67
+0x7377    0x9f6c
+0x7378    0x9f6a
+0x7379    0x9f77
+0x737a    0x9f72
+0x737b    0x9f76
+0x737c    0x9f95
+0x737d    0x9f9c
+0x737e    0x9fa0
+0x7421    0x582f
+0x7422    0x69c7
+0x7423    0x9059
+0x7424    0x7464
+0x7425    0x51dc
+0x7426    0x7199
+0x7521    0xe000
+0x7522    0xe001
+0x7523    0xe002
+0x7524    0xe003
+0x7525    0xe004
+0x7526    0xe005
+0x7527    0xe006
+0x7528    0xe007
+0x7529    0xe008
+0x752a    0xe009
+0x752b    0xe00a
+0x752c    0xe00b
+0x752d    0xe00c
+0x752e    0xe00d
+0x752f    0xe00e
+0x7530    0xe00f
+0x7531    0xe010
+0x7532    0xe011
+0x7533    0xe012
+0x7534    0xe013
+0x7535    0xe014
+0x7536    0xe015
+0x7537    0xe016
+0x7538    0xe017
+0x7539    0xe018
+0x753a    0xe019
+0x753b    0xe01a
+0x753c    0xe01b
+0x753d    0xe01c
+0x753e    0xe01d
+0x753f    0xe01e
+0x7540    0xe01f
+0x7541    0xe020
+0x7542    0xe021
+0x7543    0xe022
+0x7544    0xe023
+0x7545    0xe024
+0x7546    0xe025
+0x7547    0xe026
+0x7548    0xe027
+0x7549    0xe028
+0x754a    0xe029
+0x754b    0xe02a
+0x754c    0xe02b
+0x754d    0xe02c
+0x754e    0xe02d
+0x754f    0xe02e
+0x7550    0xe02f
+0x7551    0xe030
+0x7552    0xe031
+0x7553    0xe032
+0x7554    0xe033
+0x7555    0xe034
+0x7556    0xe035
+0x7557    0xe036
+0x7558    0xe037
+0x7559    0xe038
+0x755a    0xe039
+0x755b    0xe03a
+0x755c    0xe03b
+0x755d    0xe03c
+0x755e    0xe03d
+0x755f    0xe03e
+0x7560    0xe03f
+0x7561    0xe040
+0x7562    0xe041
+0x7563    0xe042
+0x7564    0xe043
+0x7565    0xe044
+0x7566    0xe045
+0x7567    0xe046
+0x7568    0xe047
+0x7569    0xe048
+0x756a    0xe049
+0x756b    0xe04a
+0x756c    0xe04b
+0x756d    0xe04c
+0x756e    0xe04d
+0x756f    0xe04e
+0x7570    0xe04f
+0x7571    0xe050
+0x7572    0xe051
+0x7573    0xe052
+0x7574    0xe053
+0x7575    0xe054
+0x7576    0xe055
+0x7577    0xe056
+0x7578    0xe057
+0x7579    0xe058
+0x757a    0xe059
+0x757b    0xe05a
+0x757c    0xe05b
+0x757d    0xe05c
+0x757e    0xe05d
+0x7621    0xe05e
+0x7622    0xe05f
+0x7623    0xe060
+0x7624    0xe061
+0x7625    0xe062
+0x7626    0xe063
+0x7627    0xe064
+0x7628    0xe065
+0x7629    0xe066
+0x762a    0xe067
+0x762b    0xe068
+0x762c    0xe069
+0x762d    0xe06a
+0x762e    0xe06b
+0x762f    0xe06c
+0x7630    0xe06d
+0x7631    0xe06e
+0x7632    0xe06f
+0x7633    0xe070
+0x7634    0xe071
+0x7635    0xe072
+0x7636    0xe073
+0x7637    0xe074
+0x7638    0xe075
+0x7639    0xe076
+0x763a    0xe077
+0x763b    0xe078
+0x763c    0xe079
+0x763d    0xe07a
+0x763e    0xe07b
+0x763f    0xe07c
+0x7640    0xe07d
+0x7641    0xe07e
+0x7642    0xe07f
+0x7643    0xe080
+0x7644    0xe081
+0x7645    0xe082
+0x7646    0xe083
+0x7647    0xe084
+0x7648    0xe085
+0x7649    0xe086
+0x764a    0xe087
+0x764b    0xe088
+0x764c    0xe089
+0x764d    0xe08a
+0x764e    0xe08b
+0x764f    0xe08c
+0x7650    0xe08d
+0x7651    0xe08e
+0x7652    0xe08f
+0x7653    0xe090
+0x7654    0xe091
+0x7655    0xe092
+0x7656    0xe093
+0x7657    0xe094
+0x7658    0xe095
+0x7659    0xe096
+0x765a    0xe097
+0x765b    0xe098
+0x765c    0xe099
+0x765d    0xe09a
+0x765e    0xe09b
+0x765f    0xe09c
+0x7660    0xe09d
+0x7661    0xe09e
+0x7662    0xe09f
+0x7663    0xe0a0
+0x7664    0xe0a1
+0x7665    0xe0a2
+0x7666    0xe0a3
+0x7667    0xe0a4
+0x7668    0xe0a5
+0x7669    0xe0a6
+0x766a    0xe0a7
+0x766b    0xe0a8
+0x766c    0xe0a9
+0x766d    0xe0aa
+0x766e    0xe0ab
+0x766f    0xe0ac
+0x7670    0xe0ad
+0x7671    0xe0ae
+0x7672    0xe0af
+0x7673    0xe0b0
+0x7674    0xe0b1
+0x7675    0xe0b2
+0x7676    0xe0b3
+0x7677    0xe0b4
+0x7678    0xe0b5
+0x7679    0xe0b6
+0x767a    0xe0b7
+0x767b    0xe0b8
+0x767c    0xe0b9
+0x767d    0xe0ba
+0x767e    0xe0bb
+0x7721    0xe0bc
+0x7722    0xe0bd
+0x7723    0xe0be
+0x7724    0xe0bf
+0x7725    0xe0c0
+0x7726    0xe0c1
+0x7727    0xe0c2
+0x7728    0xe0c3
+0x7729    0xe0c4
+0x772a    0xe0c5
+0x772b    0xe0c6
+0x772c    0xe0c7
+0x772d    0xe0c8
+0x772e    0xe0c9
+0x772f    0xe0ca
+0x7730    0xe0cb
+0x7731    0xe0cc
+0x7732    0xe0cd
+0x7733    0xe0ce
+0x7734    0xe0cf
+0x7735    0xe0d0
+0x7736    0xe0d1
+0x7737    0xe0d2
+0x7738    0xe0d3
+0x7739    0xe0d4
+0x773a    0xe0d5
+0x773b    0xe0d6
+0x773c    0xe0d7
+0x773d    0xe0d8
+0x773e    0xe0d9
+0x773f    0xe0da
+0x7740    0xe0db
+0x7741    0xe0dc
+0x7742    0xe0dd
+0x7743    0xe0de
+0x7744    0xe0df
+0x7745    0xe0e0
+0x7746    0xe0e1
+0x7747    0xe0e2
+0x7748    0xe0e3
+0x7749    0xe0e4
+0x774a    0xe0e5
+0x774b    0xe0e6
+0x774c    0xe0e7
+0x774d    0xe0e8
+0x774e    0xe0e9
+0x774f    0xe0ea
+0x7750    0xe0eb
+0x7751    0xe0ec
+0x7752    0xe0ed
+0x7753    0xe0ee
+0x7754    0xe0ef
+0x7755    0xe0f0
+0x7756    0xe0f1
+0x7757    0xe0f2
+0x7758    0xe0f3
+0x7759    0xe0f4
+0x775a    0xe0f5
+0x775b    0xe0f6
+0x775c    0xe0f7
+0x775d    0xe0f8
+0x775e    0xe0f9
+0x775f    0xe0fa
+0x7760    0xe0fb
+0x7761    0xe0fc
+0x7762    0xe0fd
+0x7763    0xe0fe
+0x7764    0xe0ff
+0x7765    0xe100
+0x7766    0xe101
+0x7767    0xe102
+0x7768    0xe103
+0x7769    0xe104
+0x776a    0xe105
+0x776b    0xe106
+0x776c    0xe107
+0x776d    0xe108
+0x776e    0xe109
+0x776f    0xe10a
+0x7770    0xe10b
+0x7771    0xe10c
+0x7772    0xe10d
+0x7773    0xe10e
+0x7774    0xe10f
+0x7775    0xe110
+0x7776    0xe111
+0x7777    0xe112
+0x7778    0xe113
+0x7779    0xe114
+0x777a    0xe115
+0x777b    0xe116
+0x777c    0xe117
+0x777d    0xe118
+0x777e    0xe119
+0x7821    0xe11a
+0x7822    0xe11b
+0x7823    0xe11c
+0x7824    0xe11d
+0x7825    0xe11e
+0x7826    0xe11f
+0x7827    0xe120
+0x7828    0xe121
+0x7829    0xe122
+0x782a    0xe123
+0x782b    0xe124
+0x782c    0xe125
+0x782d    0xe126
+0x782e    0xe127
+0x782f    0xe128
+0x7830    0xe129
+0x7831    0xe12a
+0x7832    0xe12b
+0x7833    0xe12c
+0x7834    0xe12d
+0x7835    0xe12e
+0x7836    0xe12f
+0x7837    0xe130
+0x7838    0xe131
+0x7839    0xe132
+0x783a    0xe133
+0x783b    0xe134
+0x783c    0xe135
+0x783d    0xe136
+0x783e    0xe137
+0x783f    0xe138
+0x7840    0xe139
+0x7841    0xe13a
+0x7842    0xe13b
+0x7843    0xe13c
+0x7844    0xe13d
+0x7845    0xe13e
+0x7846    0xe13f
+0x7847    0xe140
+0x7848    0xe141
+0x7849    0xe142
+0x784a    0xe143
+0x784b    0xe144
+0x784c    0xe145
+0x784d    0xe146
+0x784e    0xe147
+0x784f    0xe148
+0x7850    0xe149
+0x7851    0xe14a
+0x7852    0xe14b
+0x7853    0xe14c
+0x7854    0xe14d
+0x7855    0xe14e
+0x7856    0xe14f
+0x7857    0xe150
+0x7858    0xe151
+0x7859    0xe152
+0x785a    0xe153
+0x785b    0xe154
+0x785c    0xe155
+0x785d    0xe156
+0x785e    0xe157
+0x785f    0xe158
+0x7860    0xe159
+0x7861    0xe15a
+0x7862    0xe15b
+0x7863    0xe15c
+0x7864    0xe15d
+0x7865    0xe15e
+0x7866    0xe15f
+0x7867    0xe160
+0x7868    0xe161
+0x7869    0xe162
+0x786a    0xe163
+0x786b    0xe164
+0x786c    0xe165
+0x786d    0xe166
+0x786e    0xe167
+0x786f    0xe168
+0x7870    0xe169
+0x7871    0xe16a
+0x7872    0xe16b
+0x7873    0xe16c
+0x7874    0xe16d
+0x7875    0xe16e
+0x7876    0xe16f
+0x7877    0xe170
+0x7878    0xe171
+0x7879    0xe172
+0x787a    0xe173
+0x787b    0xe174
+0x787c    0xe175
+0x787d    0xe176
+0x787e    0xe177
+0x7921    0xe178
+0x7922    0xe179
+0x7923    0xe17a
+0x7924    0xe17b
+0x7925    0xe17c
+0x7926    0xe17d
+0x7927    0xe17e
+0x7928    0xe17f
+0x7929    0xe180
+0x792a    0xe181
+0x792b    0xe182
+0x792c    0xe183
+0x792d    0xe184
+0x792e    0xe185
+0x792f    0xe186
+0x7930    0xe187
+0x7931    0xe188
+0x7932    0xe189
+0x7933    0xe18a
+0x7934    0xe18b
+0x7935    0xe18c
+0x7936    0xe18d
+0x7937    0xe18e
+0x7938    0xe18f
+0x7939    0xe190
+0x793a    0xe191
+0x793b    0xe192
+0x793c    0xe193
+0x793d    0xe194
+0x793e    0xe195
+0x793f    0xe196
+0x7940    0xe197
+0x7941    0xe198
+0x7942    0xe199
+0x7943    0xe19a
+0x7944    0xe19b
+0x7945    0xe19c
+0x7946    0xe19d
+0x7947    0xe19e
+0x7948    0xe19f
+0x7949    0xe1a0
+0x794a    0xe1a1
+0x794b    0xe1a2
+0x794c    0xe1a3
+0x794d    0xe1a4
+0x794e    0xe1a5
+0x794f    0xe1a6
+0x7950    0xe1a7
+0x7951    0xe1a8
+0x7952    0xe1a9
+0x7953    0xe1aa
+0x7954    0xe1ab
+0x7955    0xe1ac
+0x7956    0xe1ad
+0x7957    0xe1ae
+0x7958    0xe1af
+0x7959    0xe1b0
+0x795a    0xe1b1
+0x795b    0xe1b2
+0x795c    0xe1b3
+0x795d    0xe1b4
+0x795e    0xe1b5
+0x795f    0xe1b6
+0x7960    0xe1b7
+0x7961    0xe1b8
+0x7962    0xe1b9
+0x7963    0xe1ba
+0x7964    0xe1bb
+0x7965    0xe1bc
+0x7966    0xe1bd
+0x7967    0xe1be
+0x7968    0xe1bf
+0x7969    0xe1c0
+0x796a    0xe1c1
+0x796b    0xe1c2
+0x796c    0xe1c3
+0x796d    0xe1c4
+0x796e    0xe1c5
+0x796f    0xe1c6
+0x7970    0xe1c7
+0x7971    0xe1c8
+0x7972    0xe1c9
+0x7973    0xe1ca
+0x7974    0xe1cb
+0x7975    0xe1cc
+0x7976    0xe1cd
+0x7977    0xe1ce
+0x7978    0xe1cf
+0x7979    0xe1d0
+0x797a    0xe1d1
+0x797b    0xe1d2
+0x797c    0xe1d3
+0x797d    0xe1d4
+0x797e    0xe1d5
+0x7a21    0xe1d6
+0x7a22    0xe1d7
+0x7a23    0xe1d8
+0x7a24    0xe1d9
+0x7a25    0xe1da
+0x7a26    0xe1db
+0x7a27    0xe1dc
+0x7a28    0xe1dd
+0x7a29    0xe1de
+0x7a2a    0xe1df
+0x7a2b    0xe1e0
+0x7a2c    0xe1e1
+0x7a2d    0xe1e2
+0x7a2e    0xe1e3
+0x7a2f    0xe1e4
+0x7a30    0xe1e5
+0x7a31    0xe1e6
+0x7a32    0xe1e7
+0x7a33    0xe1e8
+0x7a34    0xe1e9
+0x7a35    0xe1ea
+0x7a36    0xe1eb
+0x7a37    0xe1ec
+0x7a38    0xe1ed
+0x7a39    0xe1ee
+0x7a3a    0xe1ef
+0x7a3b    0xe1f0
+0x7a3c    0xe1f1
+0x7a3d    0xe1f2
+0x7a3e    0xe1f3
+0x7a3f    0xe1f4
+0x7a40    0xe1f5
+0x7a41    0xe1f6
+0x7a42    0xe1f7
+0x7a43    0xe1f8
+0x7a44    0xe1f9
+0x7a45    0xe1fa
+0x7a46    0xe1fb
+0x7a47    0xe1fc
+0x7a48    0xe1fd
+0x7a49    0xe1fe
+0x7a4a    0xe1ff
+0x7a4b    0xe200
+0x7a4c    0xe201
+0x7a4d    0xe202
+0x7a4e    0xe203
+0x7a4f    0xe204
+0x7a50    0xe205
+0x7a51    0xe206
+0x7a52    0xe207
+0x7a53    0xe208
+0x7a54    0xe209
+0x7a55    0xe20a
+0x7a56    0xe20b
+0x7a57    0xe20c
+0x7a58    0xe20d
+0x7a59    0xe20e
+0x7a5a    0xe20f
+0x7a5b    0xe210
+0x7a5c    0xe211
+0x7a5d    0xe212
+0x7a5e    0xe213
+0x7a5f    0xe214
+0x7a60    0xe215
+0x7a61    0xe216
+0x7a62    0xe217
+0x7a63    0xe218
+0x7a64    0xe219
+0x7a65    0xe21a
+0x7a66    0xe21b
+0x7a67    0xe21c
+0x7a68    0xe21d
+0x7a69    0xe21e
+0x7a6a    0xe21f
+0x7a6b    0xe220
+0x7a6c    0xe221
+0x7a6d    0xe222
+0x7a6e    0xe223
+0x7a6f    0xe224
+0x7a70    0xe225
+0x7a71    0xe226
+0x7a72    0xe227
+0x7a73    0xe228
+0x7a74    0xe229
+0x7a75    0xe22a
+0x7a76    0xe22b
+0x7a77    0xe22c
+0x7a78    0xe22d
+0x7a79    0xe22e
+0x7a7a    0xe22f
+0x7a7b    0xe230
+0x7a7c    0xe231
+0x7a7d    0xe232
+0x7a7e    0xe233
+0x7b21    0xe234
+0x7b22    0xe235
+0x7b23    0xe236
+0x7b24    0xe237
+0x7b25    0xe238
+0x7b26    0xe239
+0x7b27    0xe23a
+0x7b28    0xe23b
+0x7b29    0xe23c
+0x7b2a    0xe23d
+0x7b2b    0xe23e
+0x7b2c    0xe23f
+0x7b2d    0xe240
+0x7b2e    0xe241
+0x7b2f    0xe242
+0x7b30    0xe243
+0x7b31    0xe244
+0x7b32    0xe245
+0x7b33    0xe246
+0x7b34    0xe247
+0x7b35    0xe248
+0x7b36    0xe249
+0x7b37    0xe24a
+0x7b38    0xe24b
+0x7b39    0xe24c
+0x7b3a    0xe24d
+0x7b3b    0xe24e
+0x7b3c    0xe24f
+0x7b3d    0xe250
+0x7b3e    0xe251
+0x7b3f    0xe252
+0x7b40    0xe253
+0x7b41    0xe254
+0x7b42    0xe255
+0x7b43    0xe256
+0x7b44    0xe257
+0x7b45    0xe258
+0x7b46    0xe259
+0x7b47    0xe25a
+0x7b48    0xe25b
+0x7b49    0xe25c
+0x7b4a    0xe25d
+0x7b4b    0xe25e
+0x7b4c    0xe25f
+0x7b4d    0xe260
+0x7b4e    0xe261
+0x7b4f    0xe262
+0x7b50    0xe263
+0x7b51    0xe264
+0x7b52    0xe265
+0x7b53    0xe266
+0x7b54    0xe267
+0x7b55    0xe268
+0x7b56    0xe269
+0x7b57    0xe26a
+0x7b58    0xe26b
+0x7b59    0xe26c
+0x7b5a    0xe26d
+0x7b5b    0xe26e
+0x7b5c    0xe26f
+0x7b5d    0xe270
+0x7b5e    0xe271
+0x7b5f    0xe272
+0x7b60    0xe273
+0x7b61    0xe274
+0x7b62    0xe275
+0x7b63    0xe276
+0x7b64    0xe277
+0x7b65    0xe278
+0x7b66    0xe279
+0x7b67    0xe27a
+0x7b68    0xe27b
+0x7b69    0xe27c
+0x7b6a    0xe27d
+0x7b6b    0xe27e
+0x7b6c    0xe27f
+0x7b6d    0xe280
+0x7b6e    0xe281
+0x7b6f    0xe282
+0x7b70    0xe283
+0x7b71    0xe284
+0x7b72    0xe285
+0x7b73    0xe286
+0x7b74    0xe287
+0x7b75    0xe288
+0x7b76    0xe289
+0x7b77    0xe28a
+0x7b78    0xe28b
+0x7b79    0xe28c
+0x7b7a    0xe28d
+0x7b7b    0xe28e
+0x7b7c    0xe28f
+0x7b7d    0xe290
+0x7b7e    0xe291
+0x7c21    0xe292
+0x7c22    0xe293
+0x7c23    0xe294
+0x7c24    0xe295
+0x7c25    0xe296
+0x7c26    0xe297
+0x7c27    0xe298
+0x7c28    0xe299
+0x7c29    0xe29a
+0x7c2a    0xe29b
+0x7c2b    0xe29c
+0x7c2c    0xe29d
+0x7c2d    0xe29e
+0x7c2e    0xe29f
+0x7c2f    0xe2a0
+0x7c30    0xe2a1
+0x7c31    0xe2a2
+0x7c32    0xe2a3
+0x7c33    0xe2a4
+0x7c34    0xe2a5
+0x7c35    0xe2a6
+0x7c36    0xe2a7
+0x7c37    0xe2a8
+0x7c38    0xe2a9
+0x7c39    0xe2aa
+0x7c3a    0xe2ab
+0x7c3b    0xe2ac
+0x7c3c    0xe2ad
+0x7c3d    0xe2ae
+0x7c3e    0xe2af
+0x7c3f    0xe2b0
+0x7c40    0xe2b1
+0x7c41    0xe2b2
+0x7c42    0xe2b3
+0x7c43    0xe2b4
+0x7c44    0xe2b5
+0x7c45    0xe2b6
+0x7c46    0xe2b7
+0x7c47    0xe2b8
+0x7c48    0xe2b9
+0x7c49    0xe2ba
+0x7c4a    0xe2bb
+0x7c4b    0xe2bc
+0x7c4c    0xe2bd
+0x7c4d    0xe2be
+0x7c4e    0xe2bf
+0x7c4f    0xe2c0
+0x7c50    0xe2c1
+0x7c51    0xe2c2
+0x7c52    0xe2c3
+0x7c53    0xe2c4
+0x7c54    0xe2c5
+0x7c55    0xe2c6
+0x7c56    0xe2c7
+0x7c57    0xe2c8
+0x7c58    0xe2c9
+0x7c59    0xe2ca
+0x7c5a    0xe2cb
+0x7c5b    0xe2cc
+0x7c5c    0xe2cd
+0x7c5d    0xe2ce
+0x7c5e    0xe2cf
+0x7c5f    0xe2d0
+0x7c60    0xe2d1
+0x7c61    0xe2d2
+0x7c62    0xe2d3
+0x7c63    0xe2d4
+0x7c64    0xe2d5
+0x7c65    0xe2d6
+0x7c66    0xe2d7
+0x7c67    0xe2d8
+0x7c68    0xe2d9
+0x7c69    0xe2da
+0x7c6a    0xe2db
+0x7c6b    0xe2dc
+0x7c6c    0xe2dd
+0x7c6d    0xe2de
+0x7c6e    0xe2df
+0x7c6f    0xe2e0
+0x7c70    0xe2e1
+0x7c71    0xe2e2
+0x7c72    0xe2e3
+0x7c73    0xe2e4
+0x7c74    0xe2e5
+0x7c75    0xe2e6
+0x7c76    0xe2e7
+0x7c77    0xe2e8
+0x7c78    0xe2e9
+0x7c79    0xe2ea
+0x7c7a    0xe2eb
+0x7c7b    0xe2ec
+0x7c7c    0xe2ed
+0x7c7d    0xe2ee
+0x7c7e    0xe2ef
+0x7d21    0xe2f0
+0x7d22    0xe2f1
+0x7d23    0xe2f2
+0x7d24    0xe2f3
+0x7d25    0xe2f4
+0x7d26    0xe2f5
+0x7d27    0xe2f6
+0x7d28    0xe2f7
+0x7d29    0xe2f8
+0x7d2a    0xe2f9
+0x7d2b    0xe2fa
+0x7d2c    0xe2fb
+0x7d2d    0xe2fc
+0x7d2e    0xe2fd
+0x7d2f    0xe2fe
+0x7d30    0xe2ff
+0x7d31    0xe300
+0x7d32    0xe301
+0x7d33    0xe302
+0x7d34    0xe303
+0x7d35    0xe304
+0x7d36    0xe305
+0x7d37    0xe306
+0x7d38    0xe307
+0x7d39    0xe308
+0x7d3a    0xe309
+0x7d3b    0xe30a
+0x7d3c    0xe30b
+0x7d3d    0xe30c
+0x7d3e    0xe30d
+0x7d3f    0xe30e
+0x7d40    0xe30f
+0x7d41    0xe310
+0x7d42    0xe311
+0x7d43    0xe312
+0x7d44    0xe313
+0x7d45    0xe314
+0x7d46    0xe315
+0x7d47    0xe316
+0x7d48    0xe317
+0x7d49    0xe318
+0x7d4a    0xe319
+0x7d4b    0xe31a
+0x7d4c    0xe31b
+0x7d4d    0xe31c
+0x7d4e    0xe31d
+0x7d4f    0xe31e
+0x7d50    0xe31f
+0x7d51    0xe320
+0x7d52    0xe321
+0x7d53    0xe322
+0x7d54    0xe323
+0x7d55    0xe324
+0x7d56    0xe325
+0x7d57    0xe326
+0x7d58    0xe327
+0x7d59    0xe328
+0x7d5a    0xe329
+0x7d5b    0xe32a
+0x7d5c    0xe32b
+0x7d5d    0xe32c
+0x7d5e    0xe32d
+0x7d5f    0xe32e
+0x7d60    0xe32f
+0x7d61    0xe330
+0x7d62    0xe331
+0x7d63    0xe332
+0x7d64    0xe333
+0x7d65    0xe334
+0x7d66    0xe335
+0x7d67    0xe336
+0x7d68    0xe337
+0x7d69    0xe338
+0x7d6a    0xe339
+0x7d6b    0xe33a
+0x7d6c    0xe33b
+0x7d6d    0xe33c
+0x7d6e    0xe33d
+0x7d6f    0xe33e
+0x7d70    0xe33f
+0x7d71    0xe340
+0x7d72    0xe341
+0x7d73    0xe342
+0x7d74    0xe343
+0x7d75    0xe344
+0x7d76    0xe345
+0x7d77    0xe346
+0x7d78    0xe347
+0x7d79    0xe348
+0x7d7a    0xe349
+0x7d7b    0xe34a
+0x7d7c    0xe34b
+0x7d7d    0xe34c
+0x7d7e    0xe34d
+0x7e21    0xe34e
+0x7e22    0xe34f
+0x7e23    0xe350
+0x7e24    0xe351
+0x7e25    0xe352
+0x7e26    0xe353
+0x7e27    0xe354
+0x7e28    0xe355
+0x7e29    0xe356
+0x7e2a    0xe357
+0x7e2b    0xe358
+0x7e2c    0xe359
+0x7e2d    0xe35a
+0x7e2e    0xe35b
+0x7e2f    0xe35c
+0x7e30    0xe35d
+0x7e31    0xe35e
+0x7e32    0xe35f
+0x7e33    0xe360
+0x7e34    0xe361
+0x7e35    0xe362
+0x7e36    0xe363
+0x7e37    0xe364
+0x7e38    0xe365
+0x7e39    0xe366
+0x7e3a    0xe367
+0x7e3b    0xe368
+0x7e3c    0xe369
+0x7e3d    0xe36a
+0x7e3e    0xe36b
+0x7e3f    0xe36c
+0x7e40    0xe36d
+0x7e41    0xe36e
+0x7e42    0xe36f
+0x7e43    0xe370
+0x7e44    0xe371
+0x7e45    0xe372
+0x7e46    0xe373
+0x7e47    0xe374
+0x7e48    0xe375
+0x7e49    0xe376
+0x7e4a    0xe377
+0x7e4b    0xe378
+0x7e4c    0xe379
+0x7e4d    0xe37a
+0x7e4e    0xe37b
+0x7e4f    0xe37c
+0x7e50    0xe37d
+0x7e51    0xe37e
+0x7e52    0xe37f
+0x7e53    0xe380
+0x7e54    0xe381
+0x7e55    0xe382
+0x7e56    0xe383
+0x7e57    0xe384
+0x7e58    0xe385
+0x7e59    0xe386
+0x7e5a    0xe387
+0x7e5b    0xe388
+0x7e5c    0xe389
+0x7e5d    0xe38a
+0x7e5e    0xe38b
+0x7e5f    0xe38c
+0x7e60    0xe38d
+0x7e61    0xe38e
+0x7e62    0xe38f
+0x7e63    0xe390
+0x7e64    0xe391
+0x7e65    0xe392
+0x7e66    0xe393
+0x7e67    0xe394
+0x7e68    0xe395
+0x7e69    0xe396
+0x7e6a    0xe397
+0x7e6b    0xe398
+0x7e6c    0xe399
+0x7e6d    0xe39a
+0x7e6e    0xe39b
+0x7e6f    0xe39c
+0x7e70    0xe39d
+0x7e71    0xe39e
+0x7e72    0xe39f
+0x7e73    0xe3a0
+0x7e74    0xe3a1
+0x7e75    0xe3a2
+0x7e76    0xe3a3
+0x7e77    0xe3a4
+0x7e78    0xe3a5
+0x7e79    0xe3a6
+0x7e7a    0xe3a7
+0x7e7b    0xe3a8
+0x7e7c    0xe3a9
+0x7e7d    0xe3aa
+0x7e7e    0xe3ab
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/tools/CharsetMapping/JIS_X_0208_MS932.map	Wed Aug 01 11:08:11 2012 -0400
@@ -0,0 +1,7364 @@
+#
+#  mapping is based on JIS_X_0208_MS932_De/Encoder
+#
+#  moved following entries to .nr
+#
+#   0x224c    0xffe2
+#   0x225d    0x22a5
+#   0x2265    0x221a
+#   0x2269    0x222b
+#   0x2d70    0x2252
+#   0x2d71    0x2261
+#   0x2d77    0x2220
+#   0x2d7a    0x2235
+#   0x2d7b    0x2229
+#   0x2d7c    0x222a
+#
+#  and following to c2b
+#
+#   0x2124    0x00b8
+#   0x2126    0x00b7
+#   0x2131    0x00af
+#   0x2263    0x00ab
+#   0x2264    0x00bb
+#   0x2574    0x3094
+#   0x264c    0x00b5
+#
+#
+#
+0x2121    0x3000
+0x2122    0x3001
+0x2123    0x3002
+0x2124    0xff0c
+0x2125    0xff0e
+0x2126    0x30fb
+0x2127    0xff1a
+0x2128    0xff1b
+0x2129    0xff1f
+0x212a    0xff01
+0x212b    0x309b
+0x212c    0x309c
+0x212d    0x00b4
+0x212e    0xff40
+0x212f    0x00a8
+0x2130    0xff3e
+0x2131    0xffe3
+0x2132    0xff3f
+0x2133    0x30fd
+0x2134    0x30fe
+0x2135    0x309d
+0x2136    0x309e
+0x2137    0x3003
+0x2138    0x4edd
+0x2139    0x3005
+0x213a    0x3006
+0x213b    0x3007
+0x213c    0x30fc
+0x213d    0x2015
+0x213e    0x2010
+0x213f    0xff0f
+0x2140    0xff3c
+0x2141    0xff5e
+0x2142    0x2225
+0x2143    0xff5c
+0x2144    0x2026
+0x2145    0x2025
+0x2146    0x2018
+0x2147    0x2019
+0x2148    0x201c
+0x2149    0x201d
+0x214a    0xff08
+0x214b    0xff09
+0x214c    0x3014
+0x214d    0x3015
+0x214e    0xff3b
+0x214f    0xff3d
+0x2150    0xff5b
+0x2151    0xff5d
+0x2152    0x3008
+0x2153    0x3009
+0x2154    0x300a
+0x2155    0x300b
+0x2156    0x300c
+0x2157    0x300d
+0x2158    0x300e
+0x2159    0x300f
+0x215a    0x3010
+0x215b    0x3011
+0x215c    0xff0b
+0x215d    0xff0d
+0x215e    0x00b1
+0x215f    0x00d7
+0x2160    0x00f7
+0x2161    0xff1d
+0x2162    0x2260
+0x2163    0xff1c
+0x2164    0xff1e
+0x2165    0x2266
+0x2166    0x2267
+0x2167    0x221e
+0x2168    0x2234
+0x2169    0x2642
+0x216a    0x2640
+0x216b    0x00b0
+0x216c    0x2032
+0x216d    0x2033
+0x216e    0x2103
+0x216f    0xffe5
+0x2170    0xff04
+0x2171    0xffe0
+0x2172    0xffe1
+0x2173    0xff05
+0x2174    0xff03
+0x2175    0xff06
+0x2176    0xff0a
+0x2177    0xff20
+0x2178    0x00a7
+0x2179    0x2606
+0x217a    0x2605
+0x217b    0x25cb
+0x217c    0x25cf
+0x217d    0x25ce
+0x217e    0x25c7
+0x2221    0x25c6
+0x2222    0x25a1
+0x2223    0x25a0
+0x2224    0x25b3
+0x2225    0x25b2
+0x2226    0x25bd
+0x2227    0x25bc
+0x2228    0x203b
+0x2229    0x3012
+0x222a    0x2192
+0x222b    0x2190
+0x222c    0x2191
+0x222d    0x2193
+0x222e    0x3013
+0x223a    0x2208
+0x223b    0x220b
+0x223c    0x2286
+0x223d    0x2287
+0x223e    0x2282
+0x223f    0x2283
+0x2240    0x222a
+0x2241    0x2229
+0x224a    0x2227
+0x224b    0x2228
+#0x224c    0xffe2
+0x224d    0x21d2
+0x224e    0x21d4
+0x224f    0x2200
+0x2250    0x2203
+0x225c    0x2220
+#0x225d    0x22a5
+0x225e    0x2312
+0x225f    0x2202
+0x2260    0x2207
+0x2261    0x2261
+0x2262    0x2252
+0x2263    0x226a
+0x2264    0x226b
+#0x2265    0x221a
+0x2266    0x223d
+0x2267    0x221d
+0x2268    0x2235
+#0x2269    0x222b
+0x226a    0x222c
+0x2272    0x212b
+0x2273    0x2030
+0x2274    0x266f
+0x2275    0x266d
+0x2276    0x266a
+0x2277    0x2020
+0x2278    0x2021
+0x2279    0x00b6
+0x227e    0x25ef
+0x2330    0xff10
+0x2331    0xff11
+0x2332    0xff12
+0x2333    0xff13
+0x2334    0xff14
+0x2335    0xff15
+0x2336    0xff16
+0x2337    0xff17
+0x2338    0xff18
+0x2339    0xff19
+0x2341    0xff21
+0x2342    0xff22
+0x2343    0xff23
+0x2344    0xff24
+0x2345    0xff25
+0x2346    0xff26
+0x2347    0xff27
+0x2348    0xff28
+0x2349    0xff29
+0x234a    0xff2a
+0x234b    0xff2b
+0x234c    0xff2c
+0x234d    0xff2d
+0x234e    0xff2e
+0x234f    0xff2f
+0x2350    0xff30
+0x2351    0xff31
+0x2352    0xff32
+0x2353    0xff33
+0x2354    0xff34
+0x2355    0xff35
+0x2356    0xff36
+0x2357    0xff37
+0x2358    0xff38
+0x2359    0xff39
+0x235a    0xff3a
+0x2361    0xff41
+0x2362    0xff42
+0x2363    0xff43
+0x2364    0xff44
+0x2365    0xff45
+0x2366    0xff46
+0x2367    0xff47
+0x2368    0xff48
+0x2369    0xff49
+0x236a    0xff4a
+0x236b    0xff4b
+0x236c    0xff4c
+0x236d    0xff4d
+0x236e    0xff4e
+0x236f    0xff4f
+0x2370    0xff50
+0x2371    0xff51
+0x2372    0xff52
+0x2373    0xff53
+0x2374    0xff54
+0x2375    0xff55
+0x2376    0xff56
+0x2377    0xff57
+0x2378    0xff58
+0x2379    0xff59
+0x237a    0xff5a
+0x2421    0x3041
+0x2422    0x3042
+0x2423    0x3043
+0x2424    0x3044
+0x2425    0x3045
+0x2426    0x3046
+0x2427    0x3047
+0x2428    0x3048
+0x2429    0x3049
+0x242a    0x304a
+0x242b    0x304b
+0x242c    0x304c
+0x242d    0x304d
+0x242e    0x304e
+0x242f    0x304f
+0x2430    0x3050
+0x2431    0x3051
+0x2432    0x3052
+0x2433    0x3053
+0x2434    0x3054
+0x2435    0x3055
+0x2436    0x3056
+0x2437    0x3057
+0x2438    0x3058
+0x2439    0x3059
+0x243a    0x305a
+0x243b    0x305b
+0x243c    0x305c
+0x243d    0x305d
+0x243e    0x305e
+0x243f    0x305f
+0x2440    0x3060
+0x2441    0x3061
+0x2442    0x3062
+0x2443    0x3063
+0x2444    0x3064
+0x2445    0x3065
+0x2446    0x3066
+0x2447    0x3067
+0x2448    0x3068
+0x2449    0x3069
+0x244a    0x306a
+0x244b    0x306b
+0x244c    0x306c
+0x244d    0x306d
+0x244e    0x306e
+0x244f    0x306f
+0x2450    0x3070
+0x2451    0x3071
+0x2452    0x3072
+0x2453    0x3073
+0x2454    0x3074
+0x2455    0x3075
+0x2456    0x3076
+0x2457    0x3077
+0x2458    0x3078
+0x2459    0x3079
+0x245a    0x307a
+0x245b    0x307b
+0x245c    0x307c
+0x245d    0x307d
+0x245e    0x307e
+0x245f    0x307f
+0x2460    0x3080
+0x2461    0x3081
+0x2462    0x3082
+0x2463    0x3083
+0x2464    0x3084
+0x2465    0x3085
+0x2466    0x3086
+0x2467    0x3087
+0x2468    0x3088
+0x2469    0x3089
+0x246a    0x308a
+0x246b    0x308b
+0x246c    0x308c
+0x246d    0x308d
+0x246e    0x308e
+0x246f    0x308f
+0x2470    0x3090
+0x2471    0x3091
+0x2472    0x3092
+0x2473    0x3093
+0x2521    0x30a1
+0x2522    0x30a2
+0x2523    0x30a3
+0x2524    0x30a4
+0x2525    0x30a5
+0x2526    0x30a6
+0x2527    0x30a7
+0x2528    0x30a8
+0x2529    0x30a9
+0x252a    0x30aa
+0x252b    0x30ab
+0x252c    0x30ac
+0x252d    0x30ad
+0x252e    0x30ae
+0x252f    0x30af
+0x2530    0x30b0
+0x2531    0x30b1
+0x2532    0x30b2
+0x2533    0x30b3
+0x2534    0x30b4
+0x2535    0x30b5
+0x2536    0x30b6
+0x2537    0x30b7
+0x2538    0x30b8
+0x2539    0x30b9
+0x253a    0x30ba
+0x253b    0x30bb
+0x253c    0x30bc
+0x253d    0x30bd
+0x253e    0x30be
+0x253f    0x30bf
+0x2540    0x30c0
+0x2541    0x30c1
+0x2542    0x30c2
+0x2543    0x30c3
+0x2544    0x30c4
+0x2545    0x30c5
+0x2546    0x30c6
+0x2547    0x30c7
+0x2548    0x30c8
+0x2549    0x30c9
+0x254a    0x30ca
+0x254b    0x30cb
+0x254c    0x30cc
+0x254d    0x30cd
+0x254e    0x30ce
+0x254f    0x30cf
+0x2550    0x30d0
+0x2551    0x30d1
+0x2552    0x30d2
+0x2553    0x30d3
+0x2554    0x30d4
+0x2555    0x30d5
+0x2556    0x30d6
+0x2557    0x30d7
+0x2558    0x30d8
+0x2559    0x30d9
+0x255a    0x30da
+0x255b    0x30db
+0x255c    0x30dc
+0x255d    0x30dd
+0x255e    0x30de
+0x255f    0x30df
+0x2560    0x30e0
+0x2561    0x30e1
+0x2562    0x30e2
+0x2563    0x30e3
+0x2564    0x30e4
+0x2565    0x30e5
+0x2566    0x30e6
+0x2567    0x30e7
+0x2568    0x30e8
+0x2569    0x30e9
+0x256a    0x30ea
+0x256b    0x30eb
+0x256c    0x30ec
+0x256d    0x30ed
+0x256e    0x30ee
+0x256f    0x30ef
+0x2570    0x30f0
+0x2571    0x30f1
+0x2572    0x30f2
+0x2573    0x30f3
+0x2574    0x30f4
+0x2575    0x30f5
+0x2576    0x30f6
+0x2621    0x0391
+0x2622    0x0392
+0x2623    0x0393
+0x2624    0x0394
+0x2625    0x0395
+0x2626    0x0396
+0x2627    0x0397
+0x2628    0x0398
+0x2629    0x0399
+0x262a    0x039a
+0x262b    0x039b
+0x262c    0x039c
+0x262d    0x039d
+0x262e    0x039e
+0x262f    0x039f
+0x2630    0x03a0
+0x2631    0x03a1
+0x2632    0x03a3
+0x2633    0x03a4
+0x2634    0x03a5
+0x2635    0x03a6
+0x2636    0x03a7
+0x2637    0x03a8
+0x2638    0x03a9
+0x2641    0x03b1
+0x2642    0x03b2
+0x2643    0x03b3
+0x2644    0x03b4
+0x2645    0x03b5
+0x2646    0x03b6
+0x2647    0x03b7
+0x2648    0x03b8
+0x2649    0x03b9
+0x264a    0x03ba
+0x264b    0x03bb
+0x264c    0x03bc
+0x264d    0x03bd
+0x264e    0x03be
+0x264f    0x03bf
+0x2650    0x03c0
+0x2651    0x03c1
+0x2652    0x03c3
+0x2653    0x03c4
+0x2654    0x03c5
+0x2655    0x03c6
+0x2656    0x03c7
+0x2657    0x03c8
+0x2658    0x03c9
+0x2721    0x0410
+0x2722    0x0411
+0x2723    0x0412
+0x2724    0x0413
+0x2725    0x0414
+0x2726    0x0415
+0x2727    0x0401
+0x2728    0x0416
+0x2729    0x0417
+0x272a    0x0418
+0x272b    0x0419
+0x272c    0x041a
+0x272d    0x041b
+0x272e    0x041c
+0x272f    0x041d
+0x2730    0x041e
+0x2731    0x041f
+0x2732    0x0420
+0x2733    0x0421
+0x2734    0x0422
+0x2735    0x0423
+0x2736    0x0424
+0x2737    0x0425
+0x2738    0x0426
+0x2739    0x0427
+0x273a    0x0428
+0x273b    0x0429
+0x273c    0x042a
+0x273d    0x042b
+0x273e    0x042c
+0x273f    0x042d
+0x2740    0x042e
+0x2741    0x042f
+0x2751    0x0430
+0x2752    0x0431
+0x2753    0x0432
+0x2754    0x0433
+0x2755    0x0434
+0x2756    0x0435
+0x2757    0x0451
+0x2758    0x0436
+0x2759    0x0437
+0x275a    0x0438
+0x275b    0x0439
+0x275c    0x043a
+0x275d    0x043b
+0x275e    0x043c
+0x275f    0x043d
+0x2760    0x043e
+0x2761    0x043f
+0x2762    0x0440
+0x2763    0x0441
+0x2764    0x0442
+0x2765    0x0443
+0x2766    0x0444
+0x2767    0x0445
+0x2768    0x0446
+0x2769    0x0447
+0x276a    0x0448
+0x276b    0x0449
+0x276c    0x044a
+0x276d    0x044b
+0x276e    0x044c
+0x276f    0x044d
+0x2770    0x044e
+0x2771    0x044f
+0x2821    0x2500
+0x2822    0x2502
+0x2823    0x250c
+0x2824    0x2510
+0x2825    0x2518
+0x2826    0x2514
+0x2827    0x251c
+0x2828    0x252c
+0x2829    0x2524
+0x282a    0x2534
+0x282b    0x253c
+0x282c    0x2501
+0x282d    0x2503
+0x282e    0x250f
+0x282f    0x2513
+0x2830    0x251b
+0x2831    0x2517
+0x2832    0x2523
+0x2833    0x2533
+0x2834    0x252b
+0x2835    0x253b
+0x2836    0x254b
+0x2837    0x2520
+0x2838    0x252f
+0x2839    0x2528
+0x283a    0x2537
+0x283b    0x253f
+0x283c    0x251d
+0x283d    0x2530
+0x283e    0x2525
+0x283f    0x2538
+0x2840    0x2542
+0x2d21    0x2460
+0x2d22    0x2461
+0x2d23    0x2462
+0x2d24    0x2463
+0x2d25    0x2464
+0x2d26    0x2465
+0x2d27    0x2466
+0x2d28    0x2467
+0x2d29    0x2468
+0x2d2a    0x2469
+0x2d2b    0x246a
+0x2d2c    0x246b
+0x2d2d    0x246c
+0x2d2e    0x246d
+0x2d2f    0x246e
+0x2d30    0x246f
+0x2d31    0x2470
+0x2d32    0x2471
+0x2d33    0x2472
+0x2d34    0x2473
+0x2d35    0x2160
+0x2d36    0x2161
+0x2d37    0x2162
+0x2d38    0x2163
+0x2d39    0x2164
+0x2d3a    0x2165
+0x2d3b    0x2166
+0x2d3c    0x2167
+0x2d3d    0x2168
+0x2d3e    0x2169
+0x2d40    0x3349
+0x2d41    0x3314
+0x2d42    0x3322
+0x2d43    0x334d
+0x2d44    0x3318
+0x2d45    0x3327
+0x2d46    0x3303
+0x2d47    0x3336
+0x2d48    0x3351
+0x2d49    0x3357
+0x2d4a    0x330d
+0x2d4b    0x3326
+0x2d4c    0x3323
+0x2d4d    0x332b
+0x2d4e    0x334a
+0x2d4f    0x333b
+0x2d50    0x339c
+0x2d51    0x339d
+0x2d52    0x339e
+0x2d53    0x338e
+0x2d54    0x338f
+0x2d55    0x33c4
+0x2d56    0x33a1
+0x2d5f    0x337b
+0x2d60    0x301d
+0x2d61    0x301f
+0x2d62    0x2116
+0x2d63    0x33cd
+0x2d64    0x2121
+0x2d65    0x32a4
+0x2d66    0x32a5
+0x2d67    0x32a6
+0x2d68    0x32a7
+0x2d69    0x32a8
+0x2d6a    0x3231
+0x2d6b    0x3232
+0x2d6c    0x3239
+0x2d6d    0x337e
+0x2d6e    0x337d
+0x2d6f    0x337c
+#0x2d70    0x2252
+#0x2d71    0x2261
+0x2d72    0x222b
+0x2d73    0x222e
+0x2d74    0x2211
+0x2d75    0x221a
+0x2d76    0x22a5
+#0x2d77    0x2220
+0x2d78    0x221f
+0x2d79    0x22bf
+#0x2d7a    0x2235
+#0x2d7b    0x2229
+#0x2d7c    0x222a
+0x3021    0x4e9c
+0x3022    0x5516
+0x3023    0x5a03
+0x3024    0x963f
+0x3025    0x54c0
+0x3026    0x611b
+0x3027    0x6328
+0x3028    0x59f6
+0x3029    0x9022
+0x302a    0x8475
+0x302b    0x831c
+0x302c    0x7a50
+0x302d    0x60aa
+0x302e    0x63e1
+0x302f    0x6e25
+0x3030    0x65ed
+0x3031    0x8466
+0x3032    0x82a6
+0x3033    0x9bf5
+0x3034    0x6893
+0x3035    0x5727
+0x3036    0x65a1
+0x3037    0x6271
+0x3038    0x5b9b
+0x3039    0x59d0
+0x303a    0x867b
+0x303b    0x98f4
+0x303c    0x7d62
+0x303d    0x7dbe
+0x303e    0x9b8e
+0x303f    0x6216
+0x3040    0x7c9f
+0x3041    0x88b7
+0x3042    0x5b89
+0x3043    0x5eb5
+0x3044    0x6309
+0x3045    0x6697
+0x3046    0x6848
+0x3047    0x95c7
+0x3048    0x978d
+0x3049    0x674f
+0x304a    0x4ee5
+0x304b    0x4f0a
+0x304c    0x4f4d
+0x304d    0x4f9d
+0x304e    0x5049
+0x304f    0x56f2
+0x3050    0x5937
+0x3051    0x59d4
+0x3052    0x5a01
+0x3053    0x5c09
+0x3054    0x60df
+0x3055    0x610f
+0x3056    0x6170
+0x3057    0x6613
+0x3058    0x6905
+0x3059    0x70ba
+0x305a    0x754f
+0x305b    0x7570
+0x305c    0x79fb
+0x305d    0x7dad
+0x305e    0x7def
+0x305f    0x80c3
+0x3060    0x840e
+0x3061    0x8863
+0x3062    0x8b02
+0x3063    0x9055
+0x3064    0x907a
+0x3065    0x533b
+0x3066    0x4e95
+0x3067    0x4ea5
+0x3068    0x57df
+0x3069    0x80b2
+0x306a    0x90c1
+0x306b    0x78ef
+0x306c    0x4e00
+0x306d    0x58f1
+0x306e    0x6ea2
+0x306f    0x9038
+0x3070    0x7a32
+0x3071    0x8328
+0x3072    0x828b
+0x3073    0x9c2f
+0x3074    0x5141
+0x3075    0x5370
+0x3076    0x54bd
+0x3077    0x54e1
+0x3078    0x56e0
+0x3079    0x59fb
+0x307a    0x5f15
+0x307b    0x98f2
+0x307c    0x6deb
+0x307d    0x80e4
+0x307e    0x852d
+0x3121    0x9662
+0x3122    0x9670
+0x3123    0x96a0
+0x3124    0x97fb
+0x3125    0x540b
+0x3126    0x53f3
+0x3127    0x5b87
+0x3128    0x70cf
+0x3129    0x7fbd
+0x312a    0x8fc2
+0x312b    0x96e8
+0x312c    0x536f
+0x312d    0x9d5c
+0x312e    0x7aba
+0x312f    0x4e11
+0x3130    0x7893
+0x3131    0x81fc
+0x3132    0x6e26
+0x3133    0x5618
+0x3134    0x5504
+0x3135    0x6b1d
+0x3136    0x851a
+0x3137    0x9c3b
+0x3138    0x59e5
+0x3139    0x53a9
+0x313a    0x6d66
+0x313b    0x74dc
+0x313c    0x958f
+0x313d    0x5642
+0x313e    0x4e91
+0x313f    0x904b
+0x3140    0x96f2
+0x3141    0x834f
+0x3142    0x990c
+0x3143    0x53e1
+0x3144    0x55b6
+0x3145    0x5b30
+0x3146    0x5f71
+0x3147    0x6620
+0x3148    0x66f3
+0x3149    0x6804
+0x314a    0x6c38
+0x314b    0x6cf3
+0x314c    0x6d29
+0x314d    0x745b
+0x314e    0x76c8
+0x314f    0x7a4e
+0x3150    0x9834
+0x3151    0x82f1
+0x3152    0x885b
+0x3153    0x8a60
+0x3154    0x92ed
+0x3155    0x6db2
+0x3156    0x75ab
+0x3157    0x76ca
+0x3158    0x99c5
+0x3159    0x60a6
+0x315a    0x8b01
+0x315b    0x8d8a
+0x315c    0x95b2
+0x315d    0x698e
+0x315e    0x53ad
+0x315f    0x5186
+0x3160    0x5712
+0x3161    0x5830
+0x3162    0x5944
+0x3163    0x5bb4
+0x3164    0x5ef6
+0x3165    0x6028
+0x3166    0x63a9
+0x3167    0x63f4
+0x3168    0x6cbf
+0x3169    0x6f14
+0x316a    0x708e
+0x316b    0x7114
+0x316c    0x7159
+0x316d    0x71d5
+0x316e    0x733f
+0x316f    0x7e01
+0x3170    0x8276
+0x3171    0x82d1
+0x3172    0x8597
+0x3173    0x9060
+0x3174    0x925b
+0x3175    0x9d1b
+0x3176    0x5869
+0x3177    0x65bc
+0x3178    0x6c5a
+0x3179    0x7525
+0x317a    0x51f9
+0x317b    0x592e
+0x317c    0x5965
+0x317d    0x5f80
+0x317e    0x5fdc
+0x3221    0x62bc
+0x3222    0x65fa
+0x3223    0x6a2a
+0x3224    0x6b27
+0x3225    0x6bb4
+0x3226    0x738b
+0x3227    0x7fc1
+0x3228    0x8956
+0x3229    0x9d2c
+0x322a    0x9d0e
+0x322b    0x9ec4
+0x322c    0x5ca1
+0x322d    0x6c96
+0x322e    0x837b
+0x322f    0x5104
+0x3230    0x5c4b
+0x3231    0x61b6
+0x3232    0x81c6
+0x3233    0x6876
+0x3234    0x7261
+0x3235    0x4e59
+0x3236    0x4ffa
+0x3237    0x5378
+0x3238    0x6069
+0x3239    0x6e29
+0x323a    0x7a4f
+0x323b    0x97f3
+0x323c    0x4e0b
+0x323d    0x5316
+0x323e    0x4eee
+0x323f    0x4f55
+0x3240    0x4f3d
+0x3241    0x4fa1
+0x3242    0x4f73
+0x3243    0x52a0
+0x3244    0x53ef
+0x3245    0x5609
+0x3246    0x590f
+0x3247    0x5ac1
+0x3248    0x5bb6
+0x3249    0x5be1
+0x324a    0x79d1
+0x324b    0x6687
+0x324c    0x679c
+0x324d    0x67b6
+0x324e    0x6b4c
+0x324f    0x6cb3
+0x3250    0x706b
+0x3251    0x73c2
+0x3252    0x798d
+0x3253    0x79be
+0x3254    0x7a3c
+0x3255    0x7b87
+0x3256    0x82b1
+0x3257    0x82db
+0x3258    0x8304
+0x3259    0x8377
+0x325a    0x83ef
+0x325b    0x83d3
+0x325c    0x8766
+0x325d    0x8ab2
+0x325e    0x5629
+0x325f    0x8ca8
+0x3260    0x8fe6
+0x3261    0x904e
+0x3262    0x971e
+0x3263    0x868a
+0x3264    0x4fc4
+0x3265    0x5ce8
+0x3266    0x6211
+0x3267    0x7259
+0x3268    0x753b
+0x3269    0x81e5
+0x326a    0x82bd
+0x326b    0x86fe
+0x326c    0x8cc0
+0x326d    0x96c5
+0x326e    0x9913
+0x326f    0x99d5
+0x3270    0x4ecb
+0x3271    0x4f1a
+0x3272    0x89e3
+0x3273    0x56de
+0x3274    0x584a
+0x3275    0x58ca
+0x3276    0x5efb
+0x3277    0x5feb
+0x3278    0x602a
+0x3279    0x6094
+0x327a    0x6062
+0x327b    0x61d0
+0x327c    0x6212
+0x327d    0x62d0
+0x327e    0x6539
+0x3321    0x9b41
+0x3322    0x6666
+0x3323    0x68b0
+0x3324    0x6d77
+0x3325    0x7070
+0x3326    0x754c
+0x3327    0x7686
+0x3328    0x7d75
+0x3329    0x82a5
+0x332a    0x87f9
+0x332b    0x958b
+0x332c    0x968e
+0x332d    0x8c9d
+0x332e    0x51f1
+0x332f    0x52be
+0x3330    0x5916
+0x3331    0x54b3
+0x3332    0x5bb3
+0x3333    0x5d16
+0x3334    0x6168
+0x3335    0x6982
+0x3336    0x6daf
+0x3337    0x788d
+0x3338    0x84cb
+0x3339    0x8857
+0x333a    0x8a72
+0x333b    0x93a7
+0x333c    0x9ab8
+0x333d    0x6d6c
+0x333e    0x99a8
+0x333f    0x86d9
+0x3340    0x57a3
+0x3341    0x67ff
+0x3342    0x86ce
+0x3343    0x920e
+0x3344    0x5283
+0x3345    0x5687
+0x3346    0x5404
+0x3347    0x5ed3
+0x3348    0x62e1
+0x3349    0x64b9
+0x334a    0x683c
+0x334b    0x6838
+0x334c    0x6bbb
+0x334d    0x7372
+0x334e    0x78ba
+0x334f    0x7a6b
+0x3350    0x899a
+0x3351    0x89d2
+0x3352    0x8d6b
+0x3353    0x8f03
+0x3354    0x90ed
+0x3355    0x95a3
+0x3356    0x9694
+0x3357    0x9769
+0x3358    0x5b66
+0x3359    0x5cb3
+0x335a    0x697d
+0x335b    0x984d
+0x335c    0x984e
+0x335d    0x639b
+0x335e    0x7b20
+0x335f    0x6a2b
+0x3360    0x6a7f
+0x3361    0x68b6
+0x3362    0x9c0d
+0x3363    0x6f5f
+0x3364    0x5272
+0x3365    0x559d
+0x3366    0x6070
+0x3367    0x62ec
+0x3368    0x6d3b
+0x3369    0x6e07
+0x336a    0x6ed1
+0x336b    0x845b
+0x336c    0x8910
+0x336d    0x8f44
+0x336e    0x4e14
+0x336f    0x9c39
+0x3370    0x53f6
+0x3371    0x691b
+0x3372    0x6a3a
+0x3373    0x9784
+0x3374    0x682a
+0x3375    0x515c
+0x3376    0x7ac3
+0x3377    0x84b2
+0x3378    0x91dc
+0x3379    0x938c
+0x337a    0x565b
+0x337b    0x9d28
+0x337c    0x6822
+0x337d    0x8305
+0x337e    0x8431
+0x3421    0x7ca5
+0x3422    0x5208
+0x3423    0x82c5
+0x3424    0x74e6
+0x3425    0x4e7e
+0x3426    0x4f83
+0x3427    0x51a0
+0x3428    0x5bd2
+0x3429    0x520a
+0x342a    0x52d8
+0x342b    0x52e7
+0x342c    0x5dfb
+0x342d    0x559a
+0x342e    0x582a
+0x342f    0x59e6
+0x3430    0x5b8c
+0x3431    0x5b98
+0x3432    0x5bdb
+0x3433    0x5e72
+0x3434    0x5e79
+0x3435    0x60a3
+0x3436    0x611f
+0x3437    0x6163
+0x3438    0x61be
+0x3439    0x63db
+0x343a    0x6562
+0x343b    0x67d1
+0x343c    0x6853
+0x343d    0x68fa
+0x343e    0x6b3e
+0x343f    0x6b53
+0x3440    0x6c57
+0x3441    0x6f22
+0x3442    0x6f97
+0x3443    0x6f45
+0x3444    0x74b0
+0x3445    0x7518
+0x3446    0x76e3
+0x3447    0x770b
+0x3448    0x7aff
+0x3449    0x7ba1
+0x344a    0x7c21
+0x344b    0x7de9
+0x344c    0x7f36
+0x344d    0x7ff0
+0x344e    0x809d
+0x344f    0x8266
+0x3450    0x839e
+0x3451    0x89b3
+0x3452    0x8acc
+0x3453    0x8cab
+0x3454    0x9084
+0x3455    0x9451
+0x3456    0x9593
+0x3457    0x9591
+0x3458    0x95a2
+0x3459    0x9665
+0x345a    0x97d3
+0x345b    0x9928
+0x345c    0x8218
+0x345d    0x4e38
+0x345e    0x542b
+0x345f    0x5cb8
+0x3460    0x5dcc
+0x3461    0x73a9
+0x3462    0x764c
+0x3463    0x773c
+0x3464    0x5ca9
+0x3465    0x7feb
+0x3466    0x8d0b
+0x3467    0x96c1
+0x3468    0x9811
+0x3469    0x9854
+0x346a    0x9858
+0x346b    0x4f01
+0x346c    0x4f0e
+0x346d    0x5371
+0x346e    0x559c
+0x346f    0x5668
+0x3470    0x57fa
+0x3471    0x5947
+0x3472    0x5b09
+0x3473    0x5bc4
+0x3474    0x5c90
+0x3475    0x5e0c
+0x3476    0x5e7e
+0x3477    0x5fcc
+0x3478    0x63ee
+0x3479    0x673a
+0x347a    0x65d7
+0x347b    0x65e2
+0x347c    0x671f
+0x347d    0x68cb
+0x347e    0x68c4
+0x3521    0x6a5f
+0x3522    0x5e30
+0x3523    0x6bc5
+0x3524    0x6c17
+0x3525    0x6c7d
+0x3526    0x757f
+0x3527    0x7948
+0x3528    0x5b63
+0x3529    0x7a00
+0x352a    0x7d00
+0x352b    0x5fbd
+0x352c    0x898f
+0x352d    0x8a18
+0x352e    0x8cb4
+0x352f    0x8d77
+0x3530    0x8ecc
+0x3531    0x8f1d
+0x3532    0x98e2
+0x3533    0x9a0e
+0x3534    0x9b3c
+0x3535    0x4e80
+0x3536    0x507d
+0x3537    0x5100
+0x3538    0x5993
+0x3539    0x5b9c
+0x353a    0x622f
+0x353b    0x6280
+0x353c    0x64ec
+0x353d    0x6b3a
+0x353e    0x72a0
+0x353f    0x7591
+0x3540    0x7947
+0x3541    0x7fa9
+0x3542    0x87fb
+0x3543    0x8abc
+0x3544    0x8b70
+0x3545    0x63ac
+0x3546    0x83ca
+0x3547    0x97a0
+0x3548    0x5409
+0x3549    0x5403
+0x354a    0x55ab
+0x354b    0x6854
+0x354c    0x6a58
+0x354d    0x8a70
+0x354e    0x7827
+0x354f    0x6775
+0x3550    0x9ecd
+0x3551    0x5374
+0x3552    0x5ba2
+0x3553    0x811a
+0x3554    0x8650
+0x3555    0x9006
+0x3556    0x4e18
+0x3557    0x4e45
+0x3558    0x4ec7
+0x3559    0x4f11
+0x355a    0x53ca
+0x355b    0x5438
+0x355c    0x5bae
+0x355d    0x5f13
+0x355e    0x6025
+0x355f    0x6551
+0x3560    0x673d
+0x3561    0x6c42
+0x3562    0x6c72
+0x3563    0x6ce3
+0x3564    0x7078
+0x3565    0x7403
+0x3566    0x7a76
+0x3567    0x7aae
+0x3568    0x7b08
+0x3569    0x7d1a
+0x356a    0x7cfe
+0x356b    0x7d66
+0x356c    0x65e7
+0x356d    0x725b
+0x356e    0x53bb
+0x356f    0x5c45
+0x3570    0x5de8
+0x3571    0x62d2
+0x3572    0x62e0
+0x3573    0x6319
+0x3574    0x6e20
+0x3575    0x865a
+0x3576    0x8a31
+0x3577    0x8ddd
+0x3578    0x92f8
+0x3579    0x6f01
+0x357a    0x79a6
+0x357b    0x9b5a
+0x357c    0x4ea8
+0x357d    0x4eab
+0x357e    0x4eac
+0x3621    0x4f9b
+0x3622    0x4fa0
+0x3623    0x50d1
+0x3624    0x5147
+0x3625    0x7af6
+0x3626    0x5171
+0x3627    0x51f6
+0x3628    0x5354
+0x3629    0x5321
+0x362a    0x537f
+0x362b    0x53eb
+0x362c    0x55ac
+0x362d    0x5883
+0x362e    0x5ce1
+0x362f    0x5f37
+0x3630    0x5f4a
+0x3631    0x602f
+0x3632    0x6050
+0x3633    0x606d
+0x3634    0x631f
+0x3635    0x6559
+0x3636    0x6a4b
+0x3637    0x6cc1
+0x3638    0x72c2
+0x3639    0x72ed
+0x363a    0x77ef
+0x363b    0x80f8
+0x363c    0x8105
+0x363d    0x8208
+0x363e    0x854e
+0x363f    0x90f7
+0x3640    0x93e1
+0x3641    0x97ff
+0x3642    0x9957
+0x3643    0x9a5a
+0x3644    0x4ef0
+0x3645    0x51dd
+0x3646    0x5c2d
+0x3647    0x6681
+0x3648    0x696d
+0x3649    0x5c40
+0x364a    0x66f2
+0x364b    0x6975
+0x364c    0x7389
+0x364d    0x6850
+0x364e    0x7c81
+0x364f    0x50c5
+0x3650    0x52e4
+0x3651    0x5747
+0x3652    0x5dfe
+0x3653    0x9326
+0x3654    0x65a4
+0x3655    0x6b23
+0x3656    0x6b3d
+0x3657    0x7434
+0x3658    0x7981
+0x3659    0x79bd
+0x365a    0x7b4b
+0x365b    0x7dca
+0x365c    0x82b9
+0x365d    0x83cc
+0x365e    0x887f
+0x365f    0x895f
+0x3660    0x8b39
+0x3661    0x8fd1
+0x3662    0x91d1
+0x3663    0x541f
+0x3664    0x9280
+0x3665    0x4e5d
+0x3666    0x5036
+0x3667    0x53e5
+0x3668    0x533a
+0x3669    0x72d7
+0x366a    0x7396
+0x366b    0x77e9
+0x366c    0x82e6
+0x366d    0x8eaf
+0x366e    0x99c6
+0x366f    0x99c8
+0x3670    0x99d2
+0x3671    0x5177
+0x3672    0x611a
+0x3673    0x865e
+0x3674    0x55b0
+0x3675    0x7a7a
+0x3676    0x5076
+0x3677    0x5bd3
+0x3678    0x9047
+0x3679    0x9685
+0x367a    0x4e32
+0x367b    0x6adb
+0x367c    0x91e7
+0x367d    0x5c51
+0x367e    0x5c48
+0x3721    0x6398
+0x3722    0x7a9f
+0x3723    0x6c93
+0x3724    0x9774
+0x3725    0x8f61
+0x3726    0x7aaa
+0x3727    0x718a
+0x3728    0x9688
+0x3729    0x7c82
+0x372a    0x6817
+0x372b    0x7e70
+0x372c    0x6851
+0x372d    0x936c
+0x372e    0x52f2
+0x372f    0x541b
+0x3730    0x85ab
+0x3731    0x8a13
+0x3732    0x7fa4
+0x3733    0x8ecd
+0x3734    0x90e1
+0x3735    0x5366
+0x3736    0x8888
+0x3737    0x7941
+0x3738    0x4fc2
+0x3739    0x50be
+0x373a    0x5211
+0x373b    0x5144
+0x373c    0x5553
+0x373d    0x572d
+0x373e    0x73ea
+0x373f    0x578b
+0x3740    0x5951
+0x3741    0x5f62
+0x3742    0x5f84
+0x3743    0x6075
+0x3744    0x6176
+0x3745    0x6167
+0x3746    0x61a9
+0x3747    0x63b2
+0x3748    0x643a
+0x3749    0x656c
+0x374a    0x666f
+0x374b    0x6842
+0x374c    0x6e13
+0x374d    0x7566
+0x374e    0x7a3d
+0x374f    0x7cfb
+0x3750    0x7d4c
+0x3751    0x7d99
+0x3752    0x7e4b
+0x3753    0x7f6b
+0x3754    0x830e
+0x3755    0x834a
+0x3756    0x86cd
+0x3757    0x8a08
+0x3758    0x8a63
+0x3759    0x8b66
+0x375a    0x8efd
+0x375b    0x981a
+0x375c    0x9d8f
+0x375d    0x82b8
+0x375e    0x8fce
+0x375f    0x9be8
+0x3760    0x5287
+0x3761    0x621f
+0x3762    0x6483
+0x3763    0x6fc0
+0x3764    0x9699
+0x3765    0x6841
+0x3766    0x5091
+0x3767    0x6b20
+0x3768    0x6c7a
+0x3769    0x6f54
+0x376a    0x7a74
+0x376b    0x7d50
+0x376c    0x8840
+0x376d    0x8a23
+0x376e    0x6708
+0x376f    0x4ef6
+0x3770    0x5039
+0x3771    0x5026
+0x3772    0x5065
+0x3773    0x517c
+0x3774    0x5238
+0x3775    0x5263
+0x3776    0x55a7
+0x3777    0x570f
+0x3778    0x5805
+0x3779    0x5acc
+0x377a    0x5efa
+0x377b    0x61b2
+0x377c    0x61f8
+0x377d    0x62f3
+0x377e    0x6372
+0x3821    0x691c
+0x3822    0x6a29
+0x3823    0x727d
+0x3824    0x72ac
+0x3825    0x732e
+0x3826    0x7814
+0x3827    0x786f
+0x3828    0x7d79
+0x3829    0x770c
+0x382a    0x80a9
+0x382b    0x898b
+0x382c    0x8b19
+0x382d    0x8ce2
+0x382e    0x8ed2
+0x382f    0x9063
+0x3830    0x9375
+0x3831    0x967a
+0x3832    0x9855
+0x3833    0x9a13
+0x3834    0x9e78
+0x3835    0x5143
+0x3836    0x539f
+0x3837    0x53b3
+0x3838    0x5e7b
+0x3839    0x5f26
+0x383a    0x6e1b
+0x383b    0x6e90
+0x383c    0x7384
+0x383d    0x73fe
+0x383e    0x7d43
+0x383f    0x8237
+0x3840    0x8a00
+0x3841    0x8afa
+0x3842    0x9650
+0x3843    0x4e4e
+0x3844    0x500b
+0x3845    0x53e4
+0x3846    0x547c
+0x3847    0x56fa
+0x3848    0x59d1
+0x3849    0x5b64
+0x384a    0x5df1
+0x384b    0x5eab
+0x384c    0x5f27
+0x384d    0x6238
+0x384e    0x6545
+0x384f    0x67af
+0x3850    0x6e56
+0x3851    0x72d0
+0x3852    0x7cca
+0x3853    0x88b4
+0x3854    0x80a1
+0x3855    0x80e1
+0x3856    0x83f0
+0x3857    0x864e
+0x3858    0x8a87
+0x3859    0x8de8
+0x385a    0x9237
+0x385b    0x96c7
+0x385c    0x9867
+0x385d    0x9f13
+0x385e    0x4e94
+0x385f    0x4e92
+0x3860    0x4f0d
+0x3861    0x5348
+0x3862    0x5449
+0x3863    0x543e
+0x3864    0x5a2f
+0x3865    0x5f8c
+0x3866    0x5fa1
+0x3867    0x609f
+0x3868    0x68a7
+0x3869    0x6a8e
+0x386a    0x745a
+0x386b    0x7881
+0x386c    0x8a9e
+0x386d    0x8aa4
+0x386e    0x8b77
+0x386f    0x9190
+0x3870    0x4e5e
+0x3871    0x9bc9
+0x3872    0x4ea4
+0x3873    0x4f7c
+0x3874    0x4faf
+0x3875    0x5019
+0x3876    0x5016
+0x3877    0x5149
+0x3878    0x516c
+0x3879    0x529f
+0x387a    0x52b9
+0x387b    0x52fe
+0x387c    0x539a
+0x387d    0x53e3
+0x387e    0x5411
+0x3921    0x540e
+0x3922    0x5589
+0x3923    0x5751
+0x3924    0x57a2
+0x3925    0x597d
+0x3926    0x5b54
+0x3927    0x5b5d
+0x3928    0x5b8f
+0x3929    0x5de5
+0x392a    0x5de7
+0x392b    0x5df7
+0x392c    0x5e78
+0x392d    0x5e83
+0x392e    0x5e9a
+0x392f    0x5eb7
+0x3930    0x5f18
+0x3931    0x6052
+0x3932    0x614c
+0x3933    0x6297
+0x3934    0x62d8
+0x3935    0x63a7
+0x3936    0x653b
+0x3937    0x6602
+0x3938    0x6643
+0x3939    0x66f4
+0x393a    0x676d
+0x393b    0x6821
+0x393c    0x6897
+0x393d    0x69cb
+0x393e    0x6c5f
+0x393f    0x6d2a
+0x3940    0x6d69
+0x3941    0x6e2f
+0x3942    0x6e9d
+0x3943    0x7532
+0x3944    0x7687
+0x3945    0x786c
+0x3946    0x7a3f
+0x3947    0x7ce0
+0x3948    0x7d05
+0x3949    0x7d18
+0x394a    0x7d5e
+0x394b    0x7db1
+0x394c    0x8015
+0x394d    0x8003
+0x394e    0x80af
+0x394f    0x80b1
+0x3950    0x8154
+0x3951    0x818f
+0x3952    0x822a
+0x3953    0x8352
+0x3954    0x884c
+0x3955    0x8861
+0x3956    0x8b1b
+0x3957    0x8ca2
+0x3958    0x8cfc
+0x3959    0x90ca
+0x395a    0x9175
+0x395b    0x9271
+0x395c    0x783f
+0x395d    0x92fc
+0x395e    0x95a4
+0x395f    0x964d
+0x3960    0x9805
+0x3961    0x9999
+0x3962    0x9ad8
+0x3963    0x9d3b
+0x3964    0x525b
+0x3965    0x52ab
+0x3966    0x53f7
+0x3967    0x5408
+0x3968    0x58d5
+0x3969    0x62f7
+0x396a    0x6fe0
+0x396b    0x8c6a
+0x396c    0x8f5f
+0x396d    0x9eb9
+0x396e    0x514b
+0x396f    0x523b
+0x3970    0x544a
+0x3971    0x56fd
+0x3972    0x7a40
+0x3973    0x9177
+0x3974    0x9d60
+0x3975    0x9ed2
+0x3976    0x7344
+0x3977    0x6f09
+0x3978    0x8170
+0x3979    0x7511
+0x397a    0x5ffd
+0x397b    0x60da
+0x397c    0x9aa8
+0x397d    0x72db
+0x397e    0x8fbc
+0x3a21    0x6b64
+0x3a22    0x9803
+0x3a23    0x4eca
+0x3a24    0x56f0
+0x3a25    0x5764
+0x3a26    0x58be
+0x3a27    0x5a5a
+0x3a28    0x6068
+0x3a29    0x61c7
+0x3a2a    0x660f
+0x3a2b    0x6606
+0x3a2c    0x6839
+0x3a2d    0x68b1
+0x3a2e    0x6df7
+0x3a2f    0x75d5
+0x3a30    0x7d3a
+0x3a31    0x826e
+0x3a32    0x9b42
+0x3a33    0x4e9b
+0x3a34    0x4f50
+0x3a35    0x53c9
+0x3a36    0x5506
+0x3a37    0x5d6f
+0x3a38    0x5de6
+0x3a39    0x5dee
+0x3a3a    0x67fb
+0x3a3b    0x6c99
+0x3a3c    0x7473
+0x3a3d    0x7802
+0x3a3e    0x8a50
+0x3a3f    0x9396
+0x3a40    0x88df
+0x3a41    0x5750
+0x3a42    0x5ea7
+0x3a43    0x632b
+0x3a44    0x50b5
+0x3a45    0x50ac
+0x3a46    0x518d
+0x3a47    0x6700
+0x3a48    0x54c9
+0x3a49    0x585e
+0x3a4a    0x59bb
+0x3a4b    0x5bb0
+0x3a4c    0x5f69
+0x3a4d    0x624d
+0x3a4e    0x63a1
+0x3a4f    0x683d
+0x3a50    0x6b73
+0x3a51    0x6e08
+0x3a52    0x707d
+0x3a53    0x91c7
+0x3a54    0x7280
+0x3a55    0x7815
+0x3a56    0x7826
+0x3a57    0x796d
+0x3a58    0x658e
+0x3a59    0x7d30
+0x3a5a    0x83dc
+0x3a5b    0x88c1
+0x3a5c    0x8f09
+0x3a5d    0x969b
+0x3a5e    0x5264
+0x3a5f    0x5728
+0x3a60    0x6750
+0x3a61    0x7f6a
+0x3a62    0x8ca1
+0x3a63    0x51b4
+0x3a64    0x5742
+0x3a65    0x962a
+0x3a66    0x583a
+0x3a67    0x698a
+0x3a68    0x80b4
+0x3a69    0x54b2
+0x3a6a    0x5d0e
+0x3a6b    0x57fc
+0x3a6c    0x7895
+0x3a6d    0x9dfa
+0x3a6e    0x4f5c
+0x3a6f    0x524a
+0x3a70    0x548b
+0x3a71    0x643e
+0x3a72    0x6628
+0x3a73    0x6714
+0x3a74    0x67f5
+0x3a75    0x7a84
+0x3a76    0x7b56
+0x3a77    0x7d22
+0x3a78    0x932f
+0x3a79    0x685c
+0x3a7a    0x9bad
+0x3a7b    0x7b39
+0x3a7c    0x5319
+0x3a7d    0x518a
+0x3a7e    0x5237
+0x3b21    0x5bdf
+0x3b22    0x62f6
+0x3b23    0x64ae
+0x3b24    0x64e6
+0x3b25    0x672d
+0x3b26    0x6bba
+0x3b27    0x85a9
+0x3b28    0x96d1
+0x3b29    0x7690
+0x3b2a    0x9bd6
+0x3b2b    0x634c
+0x3b2c    0x9306
+0x3b2d    0x9bab
+0x3b2e    0x76bf
+0x3b2f    0x6652
+0x3b30    0x4e09
+0x3b31    0x5098
+0x3b32    0x53c2
+0x3b33    0x5c71
+0x3b34    0x60e8
+0x3b35    0x6492
+0x3b36    0x6563
+0x3b37    0x685f
+0x3b38    0x71e6
+0x3b39    0x73ca
+0x3b3a    0x7523
+0x3b3b    0x7b97
+0x3b3c    0x7e82
+0x3b3d    0x8695
+0x3b3e    0x8b83
+0x3b3f    0x8cdb
+0x3b40    0x9178
+0x3b41    0x9910
+0x3b42    0x65ac
+0x3b43    0x66ab
+0x3b44    0x6b8b
+0x3b45    0x4ed5
+0x3b46    0x4ed4
+0x3b47    0x4f3a
+0x3b48    0x4f7f
+0x3b49    0x523a
+0x3b4a    0x53f8
+0x3b4b    0x53f2
+0x3b4c    0x55e3
+0x3b4d    0x56db
+0x3b4e    0x58eb
+0x3b4f    0x59cb
+0x3b50    0x59c9
+0x3b51    0x59ff
+0x3b52    0x5b50
+0x3b53    0x5c4d
+0x3b54    0x5e02
+0x3b55    0x5e2b
+0x3b56    0x5fd7
+0x3b57    0x601d
+0x3b58    0x6307
+0x3b59    0x652f
+0x3b5a    0x5b5c
+0x3b5b    0x65af
+0x3b5c    0x65bd
+0x3b5d    0x65e8
+0x3b5e    0x679d
+0x3b5f    0x6b62
+0x3b60    0x6b7b
+0x3b61    0x6c0f
+0x3b62    0x7345
+0x3b63    0x7949
+0x3b64    0x79c1
+0x3b65    0x7cf8
+0x3b66    0x7d19
+0x3b67    0x7d2b
+0x3b68    0x80a2
+0x3b69    0x8102
+0x3b6a    0x81f3
+0x3b6b    0x8996
+0x3b6c    0x8a5e
+0x3b6d    0x8a69
+0x3b6e    0x8a66
+0x3b6f    0x8a8c
+0x3b70    0x8aee
+0x3b71    0x8cc7
+0x3b72    0x8cdc
+0x3b73    0x96cc
+0x3b74    0x98fc
+0x3b75    0x6b6f
+0x3b76    0x4e8b
+0x3b77    0x4f3c
+0x3b78    0x4f8d
+0x3b79    0x5150
+0x3b7a    0x5b57
+0x3b7b    0x5bfa
+0x3b7c    0x6148
+0x3b7d    0x6301
+0x3b7e    0x6642
+0x3c21    0x6b21
+0x3c22    0x6ecb
+0x3c23    0x6cbb
+0x3c24    0x723e
+0x3c25    0x74bd
+0x3c26    0x75d4
+0x3c27    0x78c1
+0x3c28    0x793a
+0x3c29    0x800c
+0x3c2a    0x8033
+0x3c2b    0x81ea
+0x3c2c    0x8494
+0x3c2d    0x8f9e
+0x3c2e    0x6c50
+0x3c2f    0x9e7f
+0x3c30    0x5f0f
+0x3c31    0x8b58
+0x3c32    0x9d2b
+0x3c33    0x7afa
+0x3c34    0x8ef8
+0x3c35    0x5b8d
+0x3c36    0x96eb
+0x3c37    0x4e03
+0x3c38    0x53f1
+0x3c39    0x57f7
+0x3c3a    0x5931
+0x3c3b    0x5ac9
+0x3c3c    0x5ba4
+0x3c3d    0x6089
+0x3c3e    0x6e7f
+0x3c3f    0x6f06
+0x3c40    0x75be
+0x3c41    0x8cea
+0x3c42    0x5b9f
+0x3c43    0x8500
+0x3c44    0x7be0
+0x3c45    0x5072
+0x3c46    0x67f4
+0x3c47    0x829d
+0x3c48    0x5c61
+0x3c49    0x854a
+0x3c4a    0x7e1e
+0x3c4b    0x820e
+0x3c4c    0x5199
+0x3c4d    0x5c04
+0x3c4e    0x6368
+0x3c4f    0x8d66
+0x3c50    0x659c
+0x3c51    0x716e
+0x3c52    0x793e
+0x3c53    0x7d17
+0x3c54    0x8005
+0x3c55    0x8b1d
+0x3c56    0x8eca
+0x3c57    0x906e
+0x3c58    0x86c7
+0x3c59    0x90aa
+0x3c5a    0x501f
+0x3c5b    0x52fa
+0x3c5c    0x5c3a
+0x3c5d    0x6753
+0x3c5e    0x707c
+0x3c5f    0x7235
+0x3c60    0x914c
+0x3c61    0x91c8
+0x3c62    0x932b
+0x3c63    0x82e5
+0x3c64    0x5bc2
+0x3c65    0x5f31
+0x3c66    0x60f9
+0x3c67    0x4e3b
+0x3c68    0x53d6
+0x3c69    0x5b88
+0x3c6a    0x624b
+0x3c6b    0x6731
+0x3c6c    0x6b8a
+0x3c6d    0x72e9
+0x3c6e    0x73e0
+0x3c6f    0x7a2e
+0x3c70    0x816b
+0x3c71    0x8da3
+0x3c72    0x9152
+0x3c73    0x9996
+0x3c74    0x5112
+0x3c75    0x53d7
+0x3c76    0x546a
+0x3c77    0x5bff
+0x3c78    0x6388
+0x3c79    0x6a39
+0x3c7a    0x7dac
+0x3c7b    0x9700
+0x3c7c    0x56da
+0x3c7d    0x53ce
+0x3c7e    0x5468
+0x3d21    0x5b97
+0x3d22    0x5c31
+0x3d23    0x5dde
+0x3d24    0x4fee
+0x3d25    0x6101
+0x3d26    0x62fe
+0x3d27    0x6d32
+0x3d28    0x79c0
+0x3d29    0x79cb
+0x3d2a    0x7d42
+0x3d2b    0x7e4d
+0x3d2c    0x7fd2
+0x3d2d    0x81ed
+0x3d2e    0x821f
+0x3d2f    0x8490
+0x3d30    0x8846
+0x3d31    0x8972
+0x3d32    0x8b90
+0x3d33    0x8e74
+0x3d34    0x8f2f
+0x3d35    0x9031
+0x3d36    0x914b
+0x3d37    0x916c
+0x3d38    0x96c6
+0x3d39    0x919c
+0x3d3a    0x4ec0
+0x3d3b    0x4f4f
+0x3d3c    0x5145
+0x3d3d    0x5341
+0x3d3e    0x5f93
+0x3d3f    0x620e
+0x3d40    0x67d4
+0x3d41    0x6c41
+0x3d42    0x6e0b
+0x3d43    0x7363
+0x3d44    0x7e26
+0x3d45    0x91cd
+0x3d46    0x9283
+0x3d47    0x53d4
+0x3d48    0x5919
+0x3d49    0x5bbf
+0x3d4a    0x6dd1
+0x3d4b    0x795d
+0x3d4c    0x7e2e
+0x3d4d    0x7c9b
+0x3d4e    0x587e
+0x3d4f    0x719f
+0x3d50    0x51fa
+0x3d51    0x8853
+0x3d52    0x8ff0
+0x3d53    0x4fca
+0x3d54    0x5cfb
+0x3d55    0x6625
+0x3d56    0x77ac
+0x3d57    0x7ae3
+0x3d58    0x821c
+0x3d59    0x99ff
+0x3d5a    0x51c6
+0x3d5b    0x5faa
+0x3d5c    0x65ec
+0x3d5d    0x696f
+0x3d5e    0x6b89
+0x3d5f    0x6df3
+0x3d60    0x6e96
+0x3d61    0x6f64
+0x3d62    0x76fe
+0x3d63    0x7d14
+0x3d64    0x5de1
+0x3d65    0x9075
+0x3d66    0x9187
+0x3d67    0x9806
+0x3d68    0x51e6
+0x3d69    0x521d
+0x3d6a    0x6240
+0x3d6b    0x6691
+0x3d6c    0x66d9
+0x3d6d    0x6e1a
+0x3d6e    0x5eb6
+0x3d6f    0x7dd2
+0x3d70    0x7f72
+0x3d71    0x66f8
+0x3d72    0x85af
+0x3d73    0x85f7
+0x3d74    0x8af8
+0x3d75    0x52a9
+0x3d76    0x53d9
+0x3d77    0x5973
+0x3d78    0x5e8f
+0x3d79    0x5f90
+0x3d7a    0x6055
+0x3d7b    0x92e4
+0x3d7c    0x9664
+0x3d7d    0x50b7
+0x3d7e    0x511f
+0x3e21    0x52dd
+0x3e22    0x5320
+0x3e23    0x5347
+0x3e24    0x53ec
+0x3e25    0x54e8
+0x3e26    0x5546
+0x3e27    0x5531
+0x3e28    0x5617
+0x3e29    0x5968
+0x3e2a    0x59be
+0x3e2b    0x5a3c
+0x3e2c    0x5bb5
+0x3e2d    0x5c06
+0x3e2e    0x5c0f
+0x3e2f    0x5c11
+0x3e30    0x5c1a
+0x3e31    0x5e84
+0x3e32    0x5e8a
+0x3e33    0x5ee0
+0x3e34    0x5f70
+0x3e35    0x627f
+0x3e36    0x6284
+0x3e37    0x62db
+0x3e38    0x638c
+0x3e39    0x6377
+0x3e3a    0x6607
+0x3e3b    0x660c
+0x3e3c    0x662d
+0x3e3d    0x6676
+0x3e3e    0x677e
+0x3e3f    0x68a2
+0x3e40    0x6a1f
+0x3e41    0x6a35
+0x3e42    0x6cbc
+0x3e43    0x6d88
+0x3e44    0x6e09
+0x3e45    0x6e58
+0x3e46    0x713c
+0x3e47    0x7126
+0x3e48    0x7167
+0x3e49    0x75c7
+0x3e4a    0x7701
+0x3e4b    0x785d
+0x3e4c    0x7901
+0x3e4d    0x7965
+0x3e4e    0x79f0
+0x3e4f    0x7ae0
+0x3e50    0x7b11
+0x3e51    0x7ca7
+0x3e52    0x7d39
+0x3e53    0x8096
+0x3e54    0x83d6
+0x3e55    0x848b
+0x3e56    0x8549
+0x3e57    0x885d
+0x3e58    0x88f3
+0x3e59    0x8a1f
+0x3e5a    0x8a3c
+0x3e5b    0x8a54
+0x3e5c    0x8a73
+0x3e5d    0x8c61
+0x3e5e    0x8cde
+0x3e5f    0x91a4
+0x3e60    0x9266
+0x3e61    0x937e
+0x3e62    0x9418
+0x3e63    0x969c
+0x3e64    0x9798
+0x3e65    0x4e0a
+0x3e66    0x4e08
+0x3e67    0x4e1e
+0x3e68    0x4e57
+0x3e69    0x5197
+0x3e6a    0x5270
+0x3e6b    0x57ce
+0x3e6c    0x5834
+0x3e6d    0x58cc
+0x3e6e    0x5b22
+0x3e6f    0x5e38
+0x3e70    0x60c5
+0x3e71    0x64fe
+0x3e72    0x6761
+0x3e73    0x6756
+0x3e74    0x6d44
+0x3e75    0x72b6
+0x3e76    0x7573
+0x3e77    0x7a63
+0x3e78    0x84b8
+0x3e79    0x8b72
+0x3e7a    0x91b8
+0x3e7b    0x9320
+0x3e7c    0x5631
+0x3e7d    0x57f4
+0x3e7e    0x98fe
+0x3f21    0x62ed
+0x3f22    0x690d
+0x3f23    0x6b96
+0x3f24    0x71ed
+0x3f25    0x7e54
+0x3f26    0x8077
+0x3f27    0x8272
+0x3f28    0x89e6
+0x3f29    0x98df
+0x3f2a    0x8755
+0x3f2b    0x8fb1
+0x3f2c    0x5c3b
+0x3f2d    0x4f38
+0x3f2e    0x4fe1
+0x3f2f    0x4fb5
+0x3f30    0x5507
+0x3f31    0x5a20
+0x3f32    0x5bdd
+0x3f33    0x5be9
+0x3f34    0x5fc3
+0x3f35    0x614e
+0x3f36    0x632f
+0x3f37    0x65b0
+0x3f38    0x664b
+0x3f39    0x68ee
+0x3f3a    0x699b
+0x3f3b    0x6d78
+0x3f3c    0x6df1
+0x3f3d    0x7533
+0x3f3e    0x75b9
+0x3f3f    0x771f
+0x3f40    0x795e
+0x3f41    0x79e6
+0x3f42    0x7d33
+0x3f43    0x81e3
+0x3f44    0x82af
+0x3f45    0x85aa
+0x3f46    0x89aa
+0x3f47    0x8a3a
+0x3f48    0x8eab
+0x3f49    0x8f9b
+0x3f4a    0x9032
+0x3f4b    0x91dd
+0x3f4c    0x9707
+0x3f4d    0x4eba
+0x3f4e    0x4ec1
+0x3f4f    0x5203
+0x3f50    0x5875
+0x3f51    0x58ec
+0x3f52    0x5c0b
+0x3f53    0x751a
+0x3f54    0x5c3d
+0x3f55    0x814e
+0x3f56    0x8a0a
+0x3f57    0x8fc5
+0x3f58    0x9663
+0x3f59    0x976d
+0x3f5a    0x7b25
+0x3f5b    0x8acf
+0x3f5c    0x9808
+0x3f5d    0x9162
+0x3f5e    0x56f3
+0x3f5f    0x53a8
+0x3f60    0x9017
+0x3f61    0x5439
+0x3f62    0x5782
+0x3f63    0x5e25
+0x3f64    0x63a8
+0x3f65    0x6c34
+0x3f66    0x708a
+0x3f67    0x7761
+0x3f68    0x7c8b
+0x3f69    0x7fe0
+0x3f6a    0x8870
+0x3f6b    0x9042
+0x3f6c    0x9154
+0x3f6d    0x9310
+0x3f6e    0x9318
+0x3f6f    0x968f
+0x3f70    0x745e
+0x3f71    0x9ac4
+0x3f72    0x5d07
+0x3f73    0x5d69
+0x3f74    0x6570
+0x3f75    0x67a2
+0x3f76    0x8da8
+0x3f77    0x96db
+0x3f78    0x636e
+0x3f79    0x6749
+0x3f7a    0x6919
+0x3f7b    0x83c5
+0x3f7c    0x9817
+0x3f7d    0x96c0
+0x3f7e    0x88fe
+0x4021    0x6f84
+0x4022    0x647a
+0x4023    0x5bf8
+0x4024    0x4e16
+0x4025    0x702c
+0x4026    0x755d
+0x4027    0x662f
+0x4028    0x51c4
+0x4029    0x5236
+0x402a    0x52e2
+0x402b    0x59d3
+0x402c    0x5f81
+0x402d    0x6027
+0x402e    0x6210
+0x402f    0x653f
+0x4030    0x6574
+0x4031    0x661f
+0x4032    0x6674
+0x4033    0x68f2
+0x4034    0x6816
+0x4035    0x6b63
+0x4036    0x6e05
+0x4037    0x7272
+0x4038    0x751f
+0x4039    0x76db
+0x403a    0x7cbe
+0x403b    0x8056
+0x403c    0x58f0
+0x403d    0x88fd
+0x403e    0x897f
+0x403f    0x8aa0
+0x4040    0x8a93
+0x4041    0x8acb
+0x4042    0x901d
+0x4043    0x9192
+0x4044    0x9752
+0x4045    0x9759
+0x4046    0x6589
+0x4047    0x7a0e
+0x4048    0x8106
+0x4049    0x96bb
+0x404a    0x5e2d
+0x404b    0x60dc
+0x404c    0x621a
+0x404d    0x65a5
+0x404e    0x6614
+0x404f    0x6790
+0x4050    0x77f3
+0x4051    0x7a4d
+0x4052    0x7c4d
+0x4053    0x7e3e
+0x4054    0x810a
+0x4055    0x8cac
+0x4056    0x8d64
+0x4057    0x8de1
+0x4058    0x8e5f
+0x4059    0x78a9
+0x405a    0x5207
+0x405b    0x62d9
+0x405c    0x63a5
+0x405d    0x6442
+0x405e    0x6298
+0x405f    0x8a2d
+0x4060    0x7a83
+0x4061    0x7bc0
+0x4062    0x8aac
+0x4063    0x96ea
+0x4064    0x7d76
+0x4065    0x820c
+0x4066    0x8749
+0x4067    0x4ed9
+0x4068    0x5148
+0x4069    0x5343
+0x406a    0x5360
+0x406b    0x5ba3
+0x406c    0x5c02
+0x406d    0x5c16
+0x406e    0x5ddd
+0x406f    0x6226
+0x4070    0x6247
+0x4071    0x64b0
+0x4072    0x6813
+0x4073    0x6834
+0x4074    0x6cc9
+0x4075    0x6d45
+0x4076    0x6d17
+0x4077    0x67d3
+0x4078    0x6f5c
+0x4079    0x714e
+0x407a    0x717d
+0x407b    0x65cb
+0x407c    0x7a7f
+0x407d    0x7bad
+0x407e    0x7dda
+0x4121    0x7e4a
+0x4122    0x7fa8
+0x4123    0x817a
+0x4124    0x821b
+0x4125    0x8239
+0x4126    0x85a6
+0x4127    0x8a6e
+0x4128    0x8cce
+0x4129    0x8df5
+0x412a    0x9078
+0x412b    0x9077
+0x412c    0x92ad
+0x412d    0x9291
+0x412e    0x9583
+0x412f    0x9bae
+0x4130    0x524d
+0x4131    0x5584
+0x4132    0x6f38
+0x4133    0x7136
+0x4134    0x5168
+0x4135    0x7985
+0x4136    0x7e55
+0x4137    0x81b3
+0x4138    0x7cce
+0x4139    0x564c
+0x413a    0x5851
+0x413b    0x5ca8
+0x413c    0x63aa
+0x413d    0x66fe
+0x413e    0x66fd
+0x413f    0x695a
+0x4140    0x72d9
+0x4141    0x758f
+0x4142    0x758e
+0x4143    0x790e
+0x4144    0x7956
+0x4145    0x79df
+0x4146    0x7c97
+0x4147    0x7d20
+0x4148    0x7d44
+0x4149    0x8607
+0x414a    0x8a34
+0x414b    0x963b
+0x414c    0x9061
+0x414d    0x9f20
+0x414e    0x50e7
+0x414f    0x5275
+0x4150    0x53cc
+0x4151    0x53e2
+0x4152    0x5009
+0x4153    0x55aa
+0x4154    0x58ee
+0x4155    0x594f
+0x4156    0x723d
+0x4157    0x5b8b
+0x4158    0x5c64
+0x4159    0x531d
+0x415a    0x60e3
+0x415b    0x60f3
+0x415c    0x635c
+0x415d    0x6383
+0x415e    0x633f
+0x415f    0x63bb
+0x4160    0x64cd
+0x4161    0x65e9
+0x4162    0x66f9
+0x4163    0x5de3
+0x4164    0x69cd
+0x4165    0x69fd
+0x4166    0x6f15
+0x4167    0x71e5
+0x4168    0x4e89
+0x4169    0x75e9
+0x416a    0x76f8
+0x416b    0x7a93
+0x416c    0x7cdf
+0x416d    0x7dcf
+0x416e    0x7d9c
+0x416f    0x8061
+0x4170    0x8349
+0x4171    0x8358
+0x4172    0x846c
+0x4173    0x84bc
+0x4174    0x85fb
+0x4175    0x88c5
+0x4176    0x8d70
+0x4177    0x9001
+0x4178    0x906d
+0x4179    0x9397
+0x417a    0x971c
+0x417b    0x9a12
+0x417c    0x50cf
+0x417d    0x5897
+0x417e    0x618e
+0x4221    0x81d3
+0x4222    0x8535
+0x4223    0x8d08
+0x4224    0x9020
+0x4225    0x4fc3
+0x4226    0x5074
+0x4227    0x5247
+0x4228    0x5373
+0x4229    0x606f
+0x422a    0x6349
+0x422b    0x675f
+0x422c    0x6e2c
+0x422d    0x8db3
+0x422e    0x901f
+0x422f    0x4fd7
+0x4230    0x5c5e
+0x4231    0x8cca
+0x4232    0x65cf
+0x4233    0x7d9a
+0x4234    0x5352
+0x4235    0x8896
+0x4236    0x5176
+0x4237    0x63c3
+0x4238    0x5b58
+0x4239    0x5b6b
+0x423a    0x5c0a
+0x423b    0x640d
+0x423c    0x6751
+0x423d    0x905c
+0x423e    0x4ed6
+0x423f    0x591a
+0x4240    0x592a
+0x4241    0x6c70
+0x4242    0x8a51
+0x4243    0x553e
+0x4244    0x5815
+0x4245    0x59a5
+0x4246    0x60f0
+0x4247    0x6253
+0x4248    0x67c1
+0x4249    0x8235
+0x424a    0x6955
+0x424b    0x9640
+0x424c    0x99c4
+0x424d    0x9a28
+0x424e    0x4f53
+0x424f    0x5806
+0x4250    0x5bfe
+0x4251    0x8010
+0x4252    0x5cb1
+0x4253    0x5e2f
+0x4254    0x5f85
+0x4255    0x6020
+0x4256    0x614b
+0x4257    0x6234
+0x4258    0x66ff
+0x4259    0x6cf0
+0x425a    0x6ede
+0x425b    0x80ce
+0x425c    0x817f
+0x425d    0x82d4
+0x425e    0x888b
+0x425f    0x8cb8
+0x4260    0x9000
+0x4261    0x902e
+0x4262    0x968a
+0x4263    0x9edb
+0x4264    0x9bdb
+0x4265    0x4ee3
+0x4266    0x53f0
+0x4267    0x5927
+0x4268    0x7b2c
+0x4269    0x918d
+0x426a    0x984c
+0x426b    0x9df9
+0x426c    0x6edd
+0x426d    0x7027
+0x426e    0x5353
+0x426f    0x5544
+0x4270    0x5b85
+0x4271    0x6258
+0x4272    0x629e
+0x4273    0x62d3
+0x4274    0x6ca2
+0x4275    0x6fef
+0x4276    0x7422
+0x4277    0x8a17
+0x4278    0x9438
+0x4279    0x6fc1
+0x427a    0x8afe
+0x427b    0x8338
+0x427c    0x51e7
+0x427d    0x86f8
+0x427e    0x53ea
+0x4321    0x53e9
+0x4322    0x4f46
+0x4323    0x9054
+0x4324    0x8fb0
+0x4325    0x596a
+0x4326    0x8131
+0x4327    0x5dfd
+0x4328    0x7aea
+0x4329    0x8fbf
+0x432a    0x68da
+0x432b    0x8c37
+0x432c    0x72f8
+0x432d    0x9c48
+0x432e    0x6a3d
+0x432f    0x8ab0
+0x4330    0x4e39
+0x4331    0x5358
+0x4332    0x5606
+0x4333    0x5766
+0x4334    0x62c5
+0x4335    0x63a2
+0x4336    0x65e6
+0x4337    0x6b4e
+0x4338    0x6de1
+0x4339    0x6e5b
+0x433a    0x70ad
+0x433b    0x77ed
+0x433c    0x7aef
+0x433d    0x7baa
+0x433e    0x7dbb
+0x433f    0x803d
+0x4340    0x80c6
+0x4341    0x86cb
+0x4342    0x8a95
+0x4343    0x935b
+0x4344    0x56e3
+0x4345    0x58c7
+0x4346    0x5f3e
+0x4347    0x65ad
+0x4348    0x6696
+0x4349    0x6a80
+0x434a    0x6bb5
+0x434b    0x7537
+0x434c    0x8ac7
+0x434d    0x5024
+0x434e    0x77e5
+0x434f    0x5730
+0x4350    0x5f1b
+0x4351    0x6065
+0x4352    0x667a
+0x4353    0x6c60
+0x4354    0x75f4
+0x4355    0x7a1a
+0x4356    0x7f6e
+0x4357    0x81f4
+0x4358    0x8718
+0x4359    0x9045
+0x435a    0x99b3
+0x435b    0x7bc9
+0x435c    0x755c
+0x435d    0x7af9
+0x435e    0x7b51
+0x435f    0x84c4
+0x4360    0x9010
+0x4361    0x79e9
+0x4362    0x7a92
+0x4363    0x8336
+0x4364    0x5ae1
+0x4365    0x7740
+0x4366    0x4e2d
+0x4367    0x4ef2
+0x4368    0x5b99
+0x4369    0x5fe0
+0x436a    0x62bd
+0x436b    0x663c
+0x436c    0x67f1
+0x436d    0x6ce8
+0x436e    0x866b
+0x436f    0x8877
+0x4370    0x8a3b
+0x4371    0x914e
+0x4372    0x92f3
+0x4373    0x99d0
+0x4374    0x6a17
+0x4375    0x7026
+0x4376    0x732a
+0x4377    0x82e7
+0x4378    0x8457
+0x4379    0x8caf
+0x437a    0x4e01
+0x437b    0x5146
+0x437c    0x51cb
+0x437d    0x558b
+0x437e    0x5bf5
+0x4421    0x5e16
+0x4422    0x5e33
+0x4423    0x5e81
+0x4424    0x5f14
+0x4425    0x5f35
+0x4426    0x5f6b
+0x4427    0x5fb4
+0x4428    0x61f2
+0x4429    0x6311
+0x442a    0x66a2
+0x442b    0x671d
+0x442c    0x6f6e
+0x442d    0x7252
+0x442e    0x753a
+0x442f    0x773a
+0x4430    0x8074
+0x4431    0x8139
+0x4432    0x8178
+0x4433    0x8776
+0x4434    0x8abf
+0x4435    0x8adc
+0x4436    0x8d85
+0x4437    0x8df3
+0x4438    0x929a
+0x4439    0x9577
+0x443a    0x9802
+0x443b    0x9ce5
+0x443c    0x52c5
+0x443d    0x6357
+0x443e    0x76f4
+0x443f    0x6715
+0x4440    0x6c88
+0x4441    0x73cd
+0x4442    0x8cc3
+0x4443    0x93ae
+0x4444    0x9673
+0x4445    0x6d25
+0x4446    0x589c
+0x4447    0x690e
+0x4448    0x69cc
+0x4449    0x8ffd
+0x444a    0x939a
+0x444b    0x75db
+0x444c    0x901a
+0x444d    0x585a
+0x444e    0x6802
+0x444f    0x63b4
+0x4450    0x69fb
+0x4451    0x4f43
+0x4452    0x6f2c
+0x4453    0x67d8
+0x4454    0x8fbb
+0x4455    0x8526
+0x4456    0x7db4
+0x4457    0x9354
+0x4458    0x693f
+0x4459    0x6f70
+0x445a    0x576a
+0x445b    0x58f7
+0x445c    0x5b2c
+0x445d    0x7d2c
+0x445e    0x722a
+0x445f    0x540a
+0x4460    0x91e3
+0x4461    0x9db4
+0x4462    0x4ead
+0x4463    0x4f4e
+0x4464    0x505c
+0x4465    0x5075
+0x4466    0x5243
+0x4467    0x8c9e
+0x4468    0x5448
+0x4469    0x5824
+0x446a    0x5b9a
+0x446b    0x5e1d
+0x446c    0x5e95
+0x446d    0x5ead
+0x446e    0x5ef7
+0x446f    0x5f1f
+0x4470    0x608c
+0x4471    0x62b5
+0x4472    0x633a
+0x4473    0x63d0
+0x4474    0x68af
+0x4475    0x6c40
+0x4476    0x7887
+0x4477    0x798e
+0x4478    0x7a0b
+0x4479    0x7de0
+0x447a    0x8247
+0x447b    0x8a02
+0x447c    0x8ae6
+0x447d    0x8e44
+0x447e    0x9013
+0x4521    0x90b8
+0x4522    0x912d
+0x4523    0x91d8
+0x4524    0x9f0e
+0x4525    0x6ce5
+0x4526    0x6458
+0x4527    0x64e2
+0x4528    0x6575
+0x4529    0x6ef4
+0x452a    0x7684
+0x452b    0x7b1b
+0x452c    0x9069
+0x452d    0x93d1
+0x452e    0x6eba
+0x452f    0x54f2
+0x4530    0x5fb9
+0x4531    0x64a4
+0x4532    0x8f4d
+0x4533    0x8fed
+0x4534    0x9244
+0x4535    0x5178
+0x4536    0x586b
+0x4537    0x5929
+0x4538    0x5c55
+0x4539    0x5e97
+0x453a    0x6dfb
+0x453b    0x7e8f
+0x453c    0x751c
+0x453d    0x8cbc
+0x453e    0x8ee2
+0x453f    0x985b
+0x4540    0x70b9
+0x4541    0x4f1d
+0x4542    0x6bbf
+0x4543    0x6fb1
+0x4544    0x7530
+0x4545    0x96fb
+0x4546    0x514e
+0x4547    0x5410
+0x4548    0x5835
+0x4549    0x5857
+0x454a    0x59ac
+0x454b    0x5c60
+0x454c    0x5f92
+0x454d    0x6597
+0x454e    0x675c
+0x454f    0x6e21
+0x4550    0x767b
+0x4551    0x83df
+0x4552    0x8ced
+0x4553    0x9014
+0x4554    0x90fd
+0x4555    0x934d
+0x4556    0x7825
+0x4557    0x783a
+0x4558    0x52aa
+0x4559    0x5ea6
+0x455a    0x571f
+0x455b    0x5974
+0x455c    0x6012
+0x455d    0x5012
+0x455e    0x515a
+0x455f    0x51ac
+0x4560    0x51cd
+0x4561    0x5200
+0x4562    0x5510
+0x4563    0x5854
+0x4564    0x5858
+0x4565    0x5957
+0x4566    0x5b95
+0x4567    0x5cf6
+0x4568    0x5d8b
+0x4569    0x60bc
+0x456a    0x6295
+0x456b    0x642d
+0x456c    0x6771
+0x456d    0x6843
+0x456e    0x68bc
+0x456f    0x68df
+0x4570    0x76d7
+0x4571    0x6dd8
+0x4572    0x6e6f
+0x4573    0x6d9b
+0x4574    0x706f
+0x4575    0x71c8
+0x4576    0x5f53
+0x4577    0x75d8
+0x4578    0x7977
+0x4579    0x7b49
+0x457a    0x7b54
+0x457b    0x7b52
+0x457c    0x7cd6
+0x457d    0x7d71
+0x457e    0x5230
+0x4621    0x8463
+0x4622    0x8569
+0x4623    0x85e4
+0x4624    0x8a0e
+0x4625    0x8b04
+0x4626    0x8c46
+0x4627    0x8e0f
+0x4628    0x9003
+0x4629    0x900f
+0x462a    0x9419
+0x462b    0x9676
+0x462c    0x982d
+0x462d    0x9a30
+0x462e    0x95d8
+0x462f    0x50cd
+0x4630    0x52d5
+0x4631    0x540c
+0x4632    0x5802
+0x4633    0x5c0e
+0x4634    0x61a7
+0x4635    0x649e
+0x4636    0x6d1e
+0x4637    0x77b3
+0x4638    0x7ae5
+0x4639    0x80f4
+0x463a    0x8404
+0x463b    0x9053
+0x463c    0x9285
+0x463d    0x5ce0
+0x463e    0x9d07
+0x463f    0x533f
+0x4640    0x5f97
+0x4641    0x5fb3
+0x4642    0x6d9c
+0x4643    0x7279
+0x4644    0x7763
+0x4645    0x79bf
+0x4646    0x7be4
+0x4647    0x6bd2
+0x4648    0x72ec
+0x4649    0x8aad
+0x464a    0x6803
+0x464b    0x6a61
+0x464c    0x51f8
+0x464d    0x7a81
+0x464e    0x6934
+0x464f    0x5c4a
+0x4650    0x9cf6
+0x4651    0x82eb
+0x4652    0x5bc5
+0x4653    0x9149
+0x4654    0x701e
+0x4655    0x5678
+0x4656    0x5c6f
+0x4657    0x60c7
+0x4658    0x6566
+0x4659    0x6c8c
+0x465a    0x8c5a
+0x465b    0x9041
+0x465c    0x9813
+0x465d    0x5451
+0x465e    0x66c7
+0x465f    0x920d
+0x4660    0x5948
+0x4661    0x90a3
+0x4662    0x5185
+0x4663    0x4e4d
+0x4664    0x51ea
+0x4665    0x8599
+0x4666    0x8b0e
+0x4667    0x7058
+0x4668    0x637a
+0x4669    0x934b
+0x466a    0x6962
+0x466b    0x99b4
+0x466c    0x7e04
+0x466d    0x7577
+0x466e    0x5357
+0x466f    0x6960
+0x4670    0x8edf
+0x4671    0x96e3
+0x4672    0x6c5d
+0x4673    0x4e8c
+0x4674    0x5c3c
+0x4675    0x5f10
+0x4676    0x8fe9
+0x4677    0x5302
+0x4678    0x8cd1
+0x4679    0x8089
+0x467a    0x8679
+0x467b    0x5eff
+0x467c    0x65e5
+0x467d    0x4e73
+0x467e    0x5165
+0x4721    0x5982
+0x4722    0x5c3f
+0x4723    0x97ee
+0x4724    0x4efb
+0x4725    0x598a
+0x4726    0x5fcd
+0x4727    0x8a8d
+0x4728    0x6fe1
+0x4729    0x79b0
+0x472a    0x7962
+0x472b    0x5be7
+0x472c    0x8471
+0x472d    0x732b
+0x472e    0x71b1
+0x472f    0x5e74
+0x4730    0x5ff5
+0x4731    0x637b
+0x4732    0x649a
+0x4733    0x71c3
+0x4734    0x7c98
+0x4735    0x4e43
+0x4736    0x5efc
+0x4737    0x4e4b
+0x4738    0x57dc
+0x4739    0x56a2
+0x473a    0x60a9
+0x473b    0x6fc3
+0x473c    0x7d0d
+0x473d    0x80fd
+0x473e    0x8133
+0x473f    0x81bf
+0x4740    0x8fb2
+0x4741    0x8997
+0x4742    0x86a4
+0x4743    0x5df4
+0x4744    0x628a
+0x4745    0x64ad
+0x4746    0x8987
+0x4747    0x6777
+0x4748    0x6ce2
+0x4749    0x6d3e
+0x474a    0x7436
+0x474b    0x7834
+0x474c    0x5a46
+0x474d    0x7f75
+0x474e    0x82ad
+0x474f    0x99ac
+0x4750    0x4ff3
+0x4751    0x5ec3
+0x4752    0x62dd
+0x4753    0x6392
+0x4754    0x6557
+0x4755    0x676f
+0x4756    0x76c3
+0x4757    0x724c
+0x4758    0x80cc
+0x4759    0x80ba
+0x475a    0x8f29
+0x475b    0x914d
+0x475c    0x500d
+0x475d    0x57f9
+0x475e    0x5a92
+0x475f    0x6885
+0x4760    0x6973
+0x4761    0x7164
+0x4762    0x72fd
+0x4763    0x8cb7
+0x4764    0x58f2
+0x4765    0x8ce0
+0x4766    0x966a
+0x4767    0x9019
+0x4768    0x877f
+0x4769    0x79e4
+0x476a    0x77e7
+0x476b    0x8429
+0x476c    0x4f2f
+0x476d    0x5265
+0x476e    0x535a
+0x476f    0x62cd
+0x4770    0x67cf
+0x4771    0x6cca
+0x4772    0x767d
+0x4773    0x7b94
+0x4774    0x7c95
+0x4775    0x8236
+0x4776    0x8584
+0x4777    0x8feb
+0x4778    0x66dd
+0x4779    0x6f20
+0x477a    0x7206
+0x477b    0x7e1b
+0x477c    0x83ab
+0x477d    0x99c1
+0x477e    0x9ea6
+0x4821    0x51fd
+0x4822    0x7bb1
+0x4823    0x7872
+0x4824    0x7bb8
+0x4825    0x8087
+0x4826    0x7b48
+0x4827    0x6ae8
+0x4828    0x5e61
+0x4829    0x808c
+0x482a    0x7551
+0x482b    0x7560
+0x482c    0x516b
+0x482d    0x9262
+0x482e    0x6e8c
+0x482f    0x767a
+0x4830    0x9197
+0x4831    0x9aea
+0x4832    0x4f10
+0x4833    0x7f70
+0x4834    0x629c
+0x4835    0x7b4f
+0x4836    0x95a5
+0x4837    0x9ce9
+0x4838    0x567a
+0x4839    0x5859
+0x483a    0x86e4
+0x483b    0x96bc
+0x483c    0x4f34
+0x483d    0x5224
+0x483e    0x534a
+0x483f    0x53cd
+0x4840    0x53db
+0x4841    0x5e06
+0x4842    0x642c
+0x4843    0x6591
+0x4844    0x677f
+0x4845    0x6c3e
+0x4846    0x6c4e
+0x4847    0x7248
+0x4848    0x72af
+0x4849    0x73ed
+0x484a    0x7554
+0x484b    0x7e41
+0x484c    0x822c
+0x484d    0x85e9
+0x484e    0x8ca9
+0x484f    0x7bc4
+0x4850    0x91c6
+0x4851    0x7169
+0x4852    0x9812
+0x4853    0x98ef
+0x4854    0x633d
+0x4855    0x6669
+0x4856    0x756a
+0x4857    0x76e4
+0x4858    0x78d0
+0x4859    0x8543
+0x485a    0x86ee
+0x485b    0x532a
+0x485c    0x5351
+0x485d    0x5426
+0x485e    0x5983
+0x485f    0x5e87
+0x4860    0x5f7c
+0x4861    0x60b2
+0x4862    0x6249
+0x4863    0x6279
+0x4864    0x62ab
+0x4865    0x6590
+0x4866    0x6bd4
+0x4867    0x6ccc
+0x4868    0x75b2
+0x4869    0x76ae
+0x486a    0x7891
+0x486b    0x79d8
+0x486c    0x7dcb
+0x486d    0x7f77
+0x486e    0x80a5
+0x486f    0x88ab
+0x4870    0x8ab9
+0x4871    0x8cbb
+0x4872    0x907f
+0x4873    0x975e
+0x4874    0x98db
+0x4875    0x6a0b
+0x4876    0x7c38
+0x4877    0x5099
+0x4878    0x5c3e
+0x4879    0x5fae
+0x487a    0x6787
+0x487b    0x6bd8
+0x487c    0x7435
+0x487d    0x7709
+0x487e    0x7f8e
+0x4921    0x9f3b
+0x4922    0x67ca
+0x4923    0x7a17
+0x4924    0x5339
+0x4925    0x758b
+0x4926    0x9aed
+0x4927    0x5f66
+0x4928    0x819d
+0x4929    0x83f1
+0x492a    0x8098
+0x492b    0x5f3c
+0x492c    0x5fc5
+0x492d    0x7562
+0x492e    0x7b46
+0x492f    0x903c
+0x4930    0x6867
+0x4931    0x59eb
+0x4932    0x5a9b
+0x4933    0x7d10
+0x4934    0x767e
+0x4935    0x8b2c
+0x4936    0x4ff5
+0x4937    0x5f6a
+0x4938    0x6a19
+0x4939    0x6c37
+0x493a    0x6f02
+0x493b    0x74e2
+0x493c    0x7968
+0x493d    0x8868
+0x493e    0x8a55
+0x493f    0x8c79
+0x4940    0x5edf
+0x4941    0x63cf
+0x4942    0x75c5
+0x4943    0x79d2
+0x4944    0x82d7
+0x4945    0x9328
+0x4946    0x92f2
+0x4947    0x849c
+0x4948    0x86ed
+0x4949    0x9c2d
+0x494a    0x54c1
+0x494b    0x5f6c
+0x494c    0x658c
+0x494d    0x6d5c
+0x494e    0x7015
+0x494f    0x8ca7
+0x4950    0x8cd3
+0x4951    0x983b
+0x4952    0x654f
+0x4953    0x74f6
+0x4954    0x4e0d
+0x4955    0x4ed8
+0x4956    0x57e0
+0x4957    0x592b
+0x4958    0x5a66
+0x4959    0x5bcc
+0x495a    0x51a8
+0x495b    0x5e03
+0x495c    0x5e9c
+0x495d    0x6016
+0x495e    0x6276
+0x495f    0x6577
+0x4960    0x65a7
+0x4961    0x666e
+0x4962    0x6d6e
+0x4963    0x7236
+0x4964    0x7b26
+0x4965    0x8150
+0x4966    0x819a
+0x4967    0x8299
+0x4968    0x8b5c
+0x4969    0x8ca0
+0x496a    0x8ce6
+0x496b    0x8d74
+0x496c    0x961c
+0x496d    0x9644
+0x496e    0x4fae
+0x496f    0x64ab
+0x4970    0x6b66
+0x4971    0x821e
+0x4972    0x8461
+0x4973    0x856a
+0x4974    0x90e8
+0x4975    0x5c01
+0x4976    0x6953
+0x4977    0x98a8
+0x4978    0x847a
+0x4979    0x8557
+0x497a    0x4f0f
+0x497b    0x526f
+0x497c    0x5fa9
+0x497d    0x5e45
+0x497e    0x670d
+0x4a21    0x798f
+0x4a22    0x8179
+0x4a23    0x8907
+0x4a24    0x8986
+0x4a25    0x6df5
+0x4a26    0x5f17
+0x4a27    0x6255
+0x4a28    0x6cb8
+0x4a29    0x4ecf
+0x4a2a    0x7269
+0x4a2b    0x9b92
+0x4a2c    0x5206
+0x4a2d    0x543b
+0x4a2e    0x5674
+0x4a2f    0x58b3
+0x4a30    0x61a4
+0x4a31    0x626e
+0x4a32    0x711a
+0x4a33    0x596e
+0x4a34    0x7c89
+0x4a35    0x7cde
+0x4a36    0x7d1b
+0x4a37    0x96f0
+0x4a38    0x6587
+0x4a39    0x805e
+0x4a3a    0x4e19
+0x4a3b    0x4f75
+0x4a3c    0x5175
+0x4a3d    0x5840
+0x4a3e    0x5e63
+0x4a3f    0x5e73
+0x4a40    0x5f0a
+0x4a41    0x67c4
+0x4a42    0x4e26
+0x4a43    0x853d
+0x4a44    0x9589
+0x4a45    0x965b
+0x4a46    0x7c73
+0x4a47    0x9801
+0x4a48    0x50fb
+0x4a49    0x58c1
+0x4a4a    0x7656
+0x4a4b    0x78a7
+0x4a4c    0x5225
+0x4a4d    0x77a5
+0x4a4e    0x8511
+0x4a4f    0x7b86
+0x4a50    0x504f
+0x4a51    0x5909
+0x4a52    0x7247
+0x4a53    0x7bc7
+0x4a54    0x7de8
+0x4a55    0x8fba
+0x4a56    0x8fd4
+0x4a57    0x904d
+0x4a58    0x4fbf
+0x4a59    0x52c9
+0x4a5a    0x5a29
+0x4a5b    0x5f01
+0x4a5c    0x97ad
+0x4a5d    0x4fdd
+0x4a5e    0x8217
+0x4a5f    0x92ea
+0x4a60    0x5703
+0x4a61    0x6355
+0x4a62    0x6b69
+0x4a63    0x752b
+0x4a64    0x88dc
+0x4a65    0x8f14
+0x4a66    0x7a42
+0x4a67    0x52df
+0x4a68    0x5893
+0x4a69    0x6155
+0x4a6a    0x620a
+0x4a6b    0x66ae
+0x4a6c    0x6bcd
+0x4a6d    0x7c3f
+0x4a6e    0x83e9
+0x4a6f    0x5023
+0x4a70    0x4ff8
+0x4a71    0x5305
+0x4a72    0x5446
+0x4a73    0x5831
+0x4a74    0x5949
+0x4a75    0x5b9d
+0x4a76    0x5cf0
+0x4a77    0x5cef
+0x4a78    0x5d29
+0x4a79    0x5e96
+0x4a7a    0x62b1
+0x4a7b    0x6367
+0x4a7c    0x653e
+0x4a7d    0x65b9
+0x4a7e    0x670b
+0x4b21    0x6cd5
+0x4b22    0x6ce1
+0x4b23    0x70f9
+0x4b24    0x7832
+0x4b25    0x7e2b
+0x4b26    0x80de
+0x4b27    0x82b3
+0x4b28    0x840c
+0x4b29    0x84ec
+0x4b2a    0x8702
+0x4b2b    0x8912
+0x4b2c    0x8a2a
+0x4b2d    0x8c4a
+0x4b2e    0x90a6
+0x4b2f    0x92d2
+0x4b30    0x98fd
+0x4b31    0x9cf3
+0x4b32    0x9d6c
+0x4b33    0x4e4f
+0x4b34    0x4ea1
+0x4b35    0x508d
+0x4b36    0x5256
+0x4b37    0x574a
+0x4b38    0x59a8
+0x4b39    0x5e3d
+0x4b3a    0x5fd8
+0x4b3b    0x5fd9
+0x4b3c    0x623f
+0x4b3d    0x66b4
+0x4b3e    0x671b
+0x4b3f    0x67d0
+0x4b40    0x68d2
+0x4b41    0x5192
+0x4b42    0x7d21
+0x4b43    0x80aa
+0x4b44    0x81a8
+0x4b45    0x8b00
+0x4b46    0x8c8c
+0x4b47    0x8cbf
+0x4b48    0x927e
+0x4b49    0x9632
+0x4b4a    0x5420
+0x4b4b    0x982c
+0x4b4c    0x5317
+0x4b4d    0x50d5
+0x4b4e    0x535c
+0x4b4f    0x58a8
+0x4b50    0x64b2
+0x4b51    0x6734
+0x4b52    0x7267
+0x4b53    0x7766
+0x4b54    0x7a46
+0x4b55    0x91e6
+0x4b56    0x52c3
+0x4b57    0x6ca1
+0x4b58    0x6b86
+0x4b59    0x5800
+0x4b5a    0x5e4c
+0x4b5b    0x5954
+0x4b5c    0x672c
+0x4b5d    0x7ffb
+0x4b5e    0x51e1
+0x4b5f    0x76c6
+0x4b60    0x6469
+0x4b61    0x78e8
+0x4b62    0x9b54
+0x4b63    0x9ebb
+0x4b64    0x57cb
+0x4b65    0x59b9
+0x4b66    0x6627
+0x4b67    0x679a
+0x4b68    0x6bce
+0x4b69    0x54e9
+0x4b6a    0x69d9
+0x4b6b    0x5e55
+0x4b6c    0x819c
+0x4b6d    0x6795
+0x4b6e    0x9baa
+0x4b6f    0x67fe
+0x4b70    0x9c52
+0x4b71    0x685d
+0x4b72    0x4ea6
+0x4b73    0x4fe3
+0x4b74    0x53c8
+0x4b75    0x62b9
+0x4b76    0x672b
+0x4b77    0x6cab
+0x4b78    0x8fc4
+0x4b79    0x4fad
+0x4b7a    0x7e6d
+0x4b7b    0x9ebf
+0x4b7c    0x4e07
+0x4b7d    0x6162
+0x4b7e    0x6e80
+0x4c21    0x6f2b
+0x4c22    0x8513
+0x4c23    0x5473
+0x4c24    0x672a
+0x4c25    0x9b45
+0x4c26    0x5df3
+0x4c27    0x7b95
+0x4c28    0x5cac
+0x4c29    0x5bc6
+0x4c2a    0x871c
+0x4c2b    0x6e4a
+0x4c2c    0x84d1
+0x4c2d    0x7a14
+0x4c2e    0x8108
+0x4c2f    0x5999
+0x4c30    0x7c8d
+0x4c31    0x6c11
+0x4c32    0x7720
+0x4c33    0x52d9
+0x4c34    0x5922
+0x4c35    0x7121
+0x4c36    0x725f
+0x4c37    0x77db
+0x4c38    0x9727
+0x4c39    0x9d61
+0x4c3a    0x690b
+0x4c3b    0x5a7f
+0x4c3c    0x5a18
+0x4c3d    0x51a5
+0x4c3e    0x540d
+0x4c3f    0x547d
+0x4c40    0x660e
+0x4c41    0x76df
+0x4c42    0x8ff7
+0x4c43    0x9298
+0x4c44    0x9cf4
+0x4c45    0x59ea
+0x4c46    0x725d
+0x4c47    0x6ec5
+0x4c48    0x514d
+0x4c49    0x68c9
+0x4c4a    0x7dbf
+0x4c4b    0x7dec
+0x4c4c    0x9762
+0x4c4d    0x9eba
+0x4c4e    0x6478
+0x4c4f    0x6a21
+0x4c50    0x8302
+0x4c51    0x5984
+0x4c52    0x5b5f
+0x4c53    0x6bdb
+0x4c54    0x731b
+0x4c55    0x76f2
+0x4c56    0x7db2
+0x4c57    0x8017
+0x4c58    0x8499
+0x4c59    0x5132
+0x4c5a    0x6728
+0x4c5b    0x9ed9
+0x4c5c    0x76ee
+0x4c5d    0x6762
+0x4c5e    0x52ff
+0x4c5f    0x9905
+0x4c60    0x5c24
+0x4c61    0x623b
+0x4c62    0x7c7e
+0x4c63    0x8cb0
+0x4c64    0x554f
+0x4c65    0x60b6
+0x4c66    0x7d0b
+0x4c67    0x9580
+0x4c68    0x5301
+0x4c69    0x4e5f
+0x4c6a    0x51b6
+0x4c6b    0x591c
+0x4c6c    0x723a
+0x4c6d    0x8036
+0x4c6e    0x91ce
+0x4c6f    0x5f25
+0x4c70    0x77e2
+0x4c71    0x5384
+0x4c72    0x5f79
+0x4c73    0x7d04
+0x4c74    0x85ac
+0x4c75    0x8a33
+0x4c76    0x8e8d
+0x4c77    0x9756
+0x4c78    0x67f3
+0x4c79    0x85ae
+0x4c7a    0x9453
+0x4c7b    0x6109
+0x4c7c    0x6108
+0x4c7d    0x6cb9
+0x4c7e    0x7652
+0x4d21    0x8aed
+0x4d22    0x8f38
+0x4d23    0x552f
+0x4d24    0x4f51
+0x4d25    0x512a
+0x4d26    0x52c7
+0x4d27    0x53cb
+0x4d28    0x5ba5
+0x4d29    0x5e7d
+0x4d2a    0x60a0
+0x4d2b    0x6182
+0x4d2c    0x63d6
+0x4d2d    0x6709
+0x4d2e    0x67da
+0x4d2f    0x6e67
+0x4d30    0x6d8c
+0x4d31    0x7336
+0x4d32    0x7337
+0x4d33    0x7531
+0x4d34    0x7950
+0x4d35    0x88d5
+0x4d36    0x8a98
+0x4d37    0x904a
+0x4d38    0x9091
+0x4d39    0x90f5
+0x4d3a    0x96c4
+0x4d3b    0x878d
+0x4d3c    0x5915
+0x4d3d    0x4e88
+0x4d3e    0x4f59
+0x4d3f    0x4e0e
+0x4d40    0x8a89
+0x4d41    0x8f3f
+0x4d42    0x9810
+0x4d43    0x50ad
+0x4d44    0x5e7c
+0x4d45    0x5996
+0x4d46    0x5bb9
+0x4d47    0x5eb8
+0x4d48    0x63da
+0x4d49    0x63fa
+0x4d4a    0x64c1
+0x4d4b    0x66dc
+0x4d4c    0x694a
+0x4d4d    0x69d8
+0x4d4e    0x6d0b
+0x4d4f    0x6eb6
+0x4d50    0x7194
+0x4d51    0x7528
+0x4d52    0x7aaf
+0x4d53    0x7f8a
+0x4d54    0x8000
+0x4d55    0x8449
+0x4d56    0x84c9
+0x4d57    0x8981
+0x4d58    0x8b21
+0x4d59    0x8e0a
+0x4d5a    0x9065
+0x4d5b    0x967d
+0x4d5c    0x990a
+0x4d5d    0x617e
+0x4d5e    0x6291
+0x4d5f    0x6b32
+0x4d60    0x6c83
+0x4d61    0x6d74
+0x4d62    0x7fcc
+0x4d63    0x7ffc
+0x4d64    0x6dc0
+0x4d65    0x7f85
+0x4d66    0x87ba
+0x4d67    0x88f8
+0x4d68    0x6765
+0x4d69    0x83b1
+0x4d6a    0x983c
+0x4d6b    0x96f7
+0x4d6c    0x6d1b
+0x4d6d    0x7d61
+0x4d6e    0x843d
+0x4d6f    0x916a
+0x4d70    0x4e71
+0x4d71    0x5375
+0x4d72    0x5d50
+0x4d73    0x6b04
+0x4d74    0x6feb
+0x4d75    0x85cd
+0x4d76    0x862d
+0x4d77    0x89a7
+0x4d78    0x5229
+0x4d79    0x540f
+0x4d7a    0x5c65
+0x4d7b    0x674e
+0x4d7c    0x68a8
+0x4d7d    0x7406
+0x4d7e    0x7483
+0x4e21    0x75e2
+0x4e22    0x88cf
+0x4e23    0x88e1
+0x4e24    0x91cc
+0x4e25    0x96e2
+0x4e26    0x9678
+0x4e27    0x5f8b
+0x4e28    0x7387
+0x4e29    0x7acb
+0x4e2a    0x844e
+0x4e2b    0x63a0
+0x4e2c    0x7565
+0x4e2d    0x5289
+0x4e2e    0x6d41
+0x4e2f    0x6e9c
+0x4e30    0x7409
+0x4e31    0x7559
+0x4e32    0x786b
+0x4e33    0x7c92
+0x4e34    0x9686
+0x4e35    0x7adc
+0x4e36    0x9f8d
+0x4e37    0x4fb6
+0x4e38    0x616e
+0x4e39    0x65c5
+0x4e3a    0x865c
+0x4e3b    0x4e86
+0x4e3c    0x4eae
+0x4e3d    0x50da
+0x4e3e    0x4e21
+0x4e3f    0x51cc
+0x4e40    0x5bee
+0x4e41    0x6599
+0x4e42    0x6881
+0x4e43    0x6dbc
+0x4e44    0x731f
+0x4e45    0x7642
+0x4e46    0x77ad
+0x4e47    0x7a1c
+0x4e48    0x7ce7
+0x4e49    0x826f
+0x4e4a    0x8ad2
+0x4e4b    0x907c
+0x4e4c    0x91cf
+0x4e4d    0x9675
+0x4e4e    0x9818
+0x4e4f    0x529b
+0x4e50    0x7dd1
+0x4e51    0x502b
+0x4e52    0x5398
+0x4e53    0x6797
+0x4e54    0x6dcb
+0x4e55    0x71d0
+0x4e56    0x7433
+0x4e57    0x81e8
+0x4e58    0x8f2a
+0x4e59    0x96a3
+0x4e5a    0x9c57
+0x4e5b    0x9e9f
+0x4e5c    0x7460
+0x4e5d    0x5841
+0x4e5e    0x6d99
+0x4e5f    0x7d2f
+0x4e60    0x985e
+0x4e61    0x4ee4
+0x4e62    0x4f36
+0x4e63    0x4f8b
+0x4e64    0x51b7
+0x4e65    0x52b1
+0x4e66    0x5dba
+0x4e67    0x601c
+0x4e68    0x73b2
+0x4e69    0x793c
+0x4e6a    0x82d3
+0x4e6b    0x9234
+0x4e6c    0x96b7
+0x4e6d    0x96f6
+0x4e6e    0x970a
+0x4e6f    0x9e97
+0x4e70    0x9f62
+0x4e71    0x66a6
+0x4e72    0x6b74
+0x4e73    0x5217
+0x4e74    0x52a3
+0x4e75    0x70c8
+0x4e76    0x88c2
+0x4e77    0x5ec9
+0x4e78    0x604b
+0x4e79    0x6190
+0x4e7a    0x6f23
+0x4e7b    0x7149
+0x4e7c    0x7c3e
+0x4e7d    0x7df4
+0x4e7e    0x806f
+0x4f21    0x84ee
+0x4f22    0x9023
+0x4f23    0x932c
+0x4f24    0x5442
+0x4f25    0x9b6f
+0x4f26    0x6ad3
+0x4f27    0x7089
+0x4f28    0x8cc2
+0x4f29    0x8def
+0x4f2a    0x9732
+0x4f2b    0x52b4
+0x4f2c    0x5a41
+0x4f2d    0x5eca
+0x4f2e    0x5f04
+0x4f2f    0x6717
+0x4f30    0x697c
+0x4f31    0x6994
+0x4f32    0x6d6a
+0x4f33    0x6f0f
+0x4f34    0x7262
+0x4f35    0x72fc
+0x4f36    0x7bed
+0x4f37    0x8001
+0x4f38    0x807e
+0x4f39    0x874b
+0x4f3a    0x90ce
+0x4f3b    0x516d
+0x4f3c    0x9e93
+0x4f3d    0x7984
+0x4f3e    0x808b
+0x4f3f    0x9332
+0x4f40    0x8ad6
+0x4f41    0x502d
+0x4f42    0x548c
+0x4f43    0x8a71
+0x4f44    0x6b6a
+0x4f45    0x8cc4
+0x4f46    0x8107
+0x4f47    0x60d1
+0x4f48    0x67a0
+0x4f49    0x9df2
+0x4f4a    0x4e99
+0x4f4b    0x4e98
+0x4f4c    0x9c10
+0x4f4d    0x8a6b
+0x4f4e    0x85c1
+0x4f4f    0x8568
+0x4f50    0x6900
+0x4f51    0x6e7e
+0x4f52    0x7897
+0x4f53    0x8155
+0x5021    0x5f0c
+0x5022    0x4e10
+0x5023    0x4e15
+0x5024    0x4e2a
+0x5025    0x4e31
+0x5026    0x4e36
+0x5027    0x4e3c
+0x5028    0x4e3f
+0x5029    0x4e42
+0x502a    0x4e56
+0x502b    0x4e58
+0x502c    0x4e82
+0x502d    0x4e85
+0x502e    0x8c6b
+0x502f    0x4e8a
+0x5030    0x8212
+0x5031    0x5f0d
+0x5032    0x4e8e
+0x5033    0x4e9e
+0x5034    0x4e9f
+0x5035    0x4ea0
+0x5036    0x4ea2
+0x5037    0x4eb0
+0x5038    0x4eb3
+0x5039    0x4eb6
+0x503a    0x4ece
+0x503b    0x4ecd
+0x503c    0x4ec4
+0x503d    0x4ec6
+0x503e    0x4ec2
+0x503f    0x4ed7
+0x5040    0x4ede
+0x5041    0x4eed
+0x5042    0x4edf
+0x5043    0x4ef7
+0x5044    0x4f09
+0x5045    0x4f5a
+0x5046    0x4f30
+0x5047    0x4f5b
+0x5048    0x4f5d
+0x5049    0x4f57
+0x504a    0x4f47
+0x504b    0x4f76
+0x504c    0x4f88
+0x504d    0x4f8f
+0x504e    0x4f98
+0x504f    0x4f7b
+0x5050    0x4f69
+0x5051    0x4f70
+0x5052    0x4f91
+0x5053    0x4f6f
+0x5054    0x4f86
+0x5055    0x4f96
+0x5056    0x5118
+0x5057    0x4fd4
+0x5058    0x4fdf
+0x5059    0x4fce
+0x505a    0x4fd8
+0x505b    0x4fdb
+0x505c    0x4fd1
+0x505d    0x4fda
+0x505e    0x4fd0
+0x505f    0x4fe4
+0x5060    0x4fe5
+0x5061    0x501a
+0x5062    0x5028
+0x5063    0x5014
+0x5064    0x502a
+0x5065    0x5025
+0x5066    0x5005
+0x5067    0x4f1c
+0x5068    0x4ff6
+0x5069    0x5021
+0x506a    0x5029
+0x506b    0x502c
+0x506c    0x4ffe
+0x506d    0x4fef
+0x506e    0x5011
+0x506f    0x5006
+0x5070    0x5043
+0x5071    0x5047
+0x5072    0x6703
+0x5073    0x5055
+0x5074    0x5050
+0x5075    0x5048
+0x5076    0x505a
+0x5077    0x5056
+0x5078    0x506c
+0x5079    0x5078
+0x507a    0x5080
+0x507b    0x509a
+0x507c    0x5085
+0x507d    0x50b4
+0x507e    0x50b2
+0x5121    0x50c9
+0x5122    0x50ca
+0x5123    0x50b3
+0x5124    0x50c2
+0x5125    0x50d6
+0x5126    0x50de
+0x5127    0x50e5
+0x5128    0x50ed
+0x5129    0x50e3
+0x512a    0x50ee
+0x512b    0x50f9
+0x512c    0x50f5
+0x512d    0x5109
+0x512e    0x5101
+0x512f    0x5102
+0x5130    0x5116
+0x5131    0x5115
+0x5132    0x5114
+0x5133    0x511a
+0x5134    0x5121
+0x5135    0x513a
+0x5136    0x5137
+0x5137    0x513c
+0x5138    0x513b
+0x5139    0x513f
+0x513a    0x5140
+0x513b    0x5152
+0x513c    0x514c
+0x513d    0x5154
+0x513e    0x5162
+0x513f    0x7af8
+0x5140    0x5169
+0x5141    0x516a
+0x5142    0x516e
+0x5143    0x5180
+0x5144    0x5182
+0x5145    0x56d8
+0x5146    0x518c
+0x5147    0x5189
+0x5148    0x518f
+0x5149    0x5191
+0x514a    0x5193
+0x514b    0x5195
+0x514c    0x5196
+0x514d    0x51a4
+0x514e    0x51a6
+0x514f    0x51a2
+0x5150    0x51a9
+0x5151    0x51aa
+0x5152    0x51ab
+0x5153    0x51b3
+0x5154    0x51b1
+0x5155    0x51b2
+0x5156    0x51b0
+0x5157    0x51b5
+0x5158    0x51bd
+0x5159    0x51c5
+0x515a    0x51c9
+0x515b    0x51db
+0x515c    0x51e0
+0x515d    0x8655
+0x515e    0x51e9
+0x515f    0x51ed
+0x5160    0x51f0
+0x5161    0x51f5
+0x5162    0x51fe
+0x5163    0x5204
+0x5164    0x520b
+0x5165    0x5214
+0x5166    0x520e
+0x5167    0x5227
+0x5168    0x522a
+0x5169    0x522e
+0x516a    0x5233
+0x516b    0x5239
+0x516c    0x524f
+0x516d    0x5244
+0x516e    0x524b
+0x516f    0x524c
+0x5170    0x525e
+0x5171    0x5254
+0x5172    0x526a
+0x5173    0x5274
+0x5174    0x5269
+0x5175    0x5273
+0x5176    0x527f
+0x5177    0x527d
+0x5178    0x528d
+0x5179    0x5294
+0x517a    0x5292
+0x517b    0x5271
+0x517c    0x5288
+0x517d    0x5291
+0x517e    0x8fa8
+0x5221    0x8fa7
+0x5222    0x52ac
+0x5223    0x52ad
+0x5224    0x52bc
+0x5225    0x52b5
+0x5226    0x52c1
+0x5227    0x52cd
+0x5228    0x52d7
+0x5229    0x52de
+0x522a    0x52e3
+0x522b    0x52e6
+0x522c    0x98ed
+0x522d    0x52e0
+0x522e    0x52f3
+0x522f    0x52f5
+0x5230    0x52f8
+0x5231    0x52f9
+0x5232    0x5306
+0x5233    0x5308
+0x5234    0x7538
+0x5235    0x530d
+0x5236    0x5310
+0x5237    0x530f
+0x5238    0x5315
+0x5239    0x531a
+0x523a    0x5323
+0x523b    0x532f
+0x523c    0x5331
+0x523d    0x5333
+0x523e    0x5338
+0x523f    0x5340
+0x5240    0x5346
+0x5241    0x5345
+0x5242    0x4e17
+0x5243    0x5349
+0x5244    0x534d
+0x5245    0x51d6
+0x5246    0x535e
+0x5247    0x5369
+0x5248    0x536e
+0x5249    0x5918
+0x524a    0x537b
+0x524b    0x5377
+0x524c    0x5382
+0x524d    0x5396
+0x524e    0x53a0
+0x524f    0x53a6
+0x5250    0x53a5
+0x5251    0x53ae
+0x5252    0x53b0
+0x5253    0x53b6
+0x5254    0x53c3
+0x5255    0x7c12
+0x5256    0x96d9
+0x5257    0x53df
+0x5258    0x66fc
+0x5259    0x71ee
+0x525a    0x53ee
+0x525b    0x53e8
+0x525c    0x53ed
+0x525d    0x53fa
+0x525e    0x5401
+0x525f    0x543d
+0x5260    0x5440
+0x5261    0x542c
+0x5262    0x542d
+0x5263    0x543c
+0x5264    0x542e
+0x5265    0x5436
+0x5266    0x5429
+0x5267    0x541d
+0x5268    0x544e
+0x5269    0x548f
+0x526a    0x5475
+0x526b    0x548e
+0x526c    0x545f
+0x526d    0x5471
+0x526e    0x5477
+0x526f    0x5470
+0x5270    0x5492
+0x5271    0x547b
+0x5272    0x5480
+0x5273    0x5476
+0x5274    0x5484
+0x5275    0x5490
+0x5276    0x5486
+0x5277    0x54c7
+0x5278    0x54a2
+0x5279    0x54b8
+0x527a    0x54a5
+0x527b    0x54ac
+0x527c    0x54c4
+0x527d    0x54c8
+0x527e    0x54a8
+0x5321    0x54ab
+0x5322    0x54c2
+0x5323    0x54a4
+0x5324    0x54be
+0x5325    0x54bc
+0x5326    0x54d8
+0x5327    0x54e5
+0x5328    0x54e6
+0x5329    0x550f
+0x532a    0x5514
+0x532b    0x54fd
+0x532c    0x54ee
+0x532d    0x54ed
+0x532e    0x54fa
+0x532f    0x54e2
+0x5330    0x5539
+0x5331    0x5540
+0x5332    0x5563
+0x5333    0x554c
+0x5334    0x552e
+0x5335    0x555c
+0x5336    0x5545
+0x5337    0x5556
+0x5338    0x5557
+0x5339    0x5538
+0x533a    0x5533
+0x533b    0x555d
+0x533c    0x5599
+0x533d    0x5580
+0x533e    0x54af
+0x533f    0x558a
+0x5340    0x559f
+0x5341    0x557b
+0x5342    0x557e
+0x5343    0x5598
+0x5344    0x559e
+0x5345    0x55ae
+0x5346    0x557c
+0x5347    0x5583
+0x5348    0x55a9
+0x5349    0x5587
+0x534a    0x55a8
+0x534b    0x55da
+0x534c    0x55c5
+0x534d    0x55df
+0x534e    0x55c4
+0x534f    0x55dc
+0x5350    0x55e4
+0x5351    0x55d4
+0x5352    0x5614
+0x5353    0x55f7
+0x5354    0x5616
+0x5355    0x55fe
+0x5356    0x55fd
+0x5357    0x561b
+0x5358    0x55f9
+0x5359    0x564e
+0x535a    0x5650
+0x535b    0x71df
+0x535c    0x5634
+0x535d    0x5636
+0x535e    0x5632
+0x535f    0x5638
+0x5360    0x566b
+0x5361    0x5664
+0x5362    0x562f
+0x5363    0x566c
+0x5364    0x566a
+0x5365    0x5686
+0x5366    0x5680
+0x5367    0x568a
+0x5368    0x56a0
+0x5369    0x5694
+0x536a    0x568f
+0x536b    0x56a5
+0x536c    0x56ae
+0x536d    0x56b6
+0x536e    0x56b4
+0x536f    0x56c2
+0x5370    0x56bc
+0x5371    0x56c1
+0x5372    0x56c3
+0x5373    0x56c0
+0x5374    0x56c8
+0x5375    0x56ce
+0x5376    0x56d1
+0x5377    0x56d3
+0x5378    0x56d7
+0x5379    0x56ee
+0x537a    0x56f9
+0x537b    0x5700
+0x537c    0x56ff
+0x537d    0x5704
+0x537e    0x5709
+0x5421    0x5708
+0x5422    0x570b
+0x5423    0x570d
+0x5424    0x5713
+0x5425    0x5718
+0x5426    0x5716
+0x5427    0x55c7
+0x5428    0x571c
+0x5429    0x5726
+0x542a    0x5737
+0x542b    0x5738
+0x542c    0x574e
+0x542d    0x573b
+0x542e    0x5740
+0x542f    0x574f
+0x5430    0x5769
+0x5431    0x57c0
+0x5432    0x5788
+0x5433    0x5761
+0x5434    0x577f
+0x5435    0x5789
+0x5436    0x5793
+0x5437    0x57a0
+0x5438    0x57b3
+0x5439    0x57a4
+0x543a    0x57aa
+0x543b    0x57b0
+0x543c    0x57c3
+0x543d    0x57c6
+0x543e    0x57d4
+0x543f    0x57d2
+0x5440    0x57d3
+0x5441    0x580a
+0x5442    0x57d6
+0x5443    0x57e3
+0x5444    0x580b
+0x5445    0x5819
+0x5446    0x581d
+0x5447    0x5872
+0x5448    0x5821
+0x5449    0x5862
+0x544a    0x584b
+0x544b    0x5870
+0x544c    0x6bc0
+0x544d    0x5852
+0x544e    0x583d
+0x544f    0x5879
+0x5450    0x5885
+0x5451    0x58b9
+0x5452    0x589f
+0x5453    0x58ab
+0x5454    0x58ba
+0x5455    0x58de
+0x5456    0x58bb
+0x5457    0x58b8
+0x5458    0x58ae
+0x5459    0x58c5
+0x545a    0x58d3
+0x545b    0x58d1
+0x545c    0x58d7
+0x545d    0x58d9
+0x545e    0x58d8
+0x545f    0x58e5
+0x5460    0x58dc
+0x5461    0x58e4
+0x5462    0x58df
+0x5463    0x58ef
+0x5464    0x58fa
+0x5465    0x58f9
+0x5466    0x58fb
+0x5467    0x58fc
+0x5468    0x58fd
+0x5469    0x5902
+0x546a    0x590a
+0x546b    0x5910
+0x546c    0x591b
+0x546d    0x68a6
+0x546e    0x5925
+0x546f    0x592c
+0x5470    0x592d
+0x5471    0x5932
+0x5472    0x5938
+0x5473    0x593e
+0x5474    0x7ad2
+0x5475    0x5955
+0x5476    0x5950
+0x5477    0x594e
+0x5478    0x595a
+0x5479    0x5958
+0x547a    0x5962
+0x547b    0x5960
+0x547c    0x5967
+0x547d    0x596c
+0x547e    0x5969
+0x5521    0x5978
+0x5522    0x5981
+0x5523    0x599d
+0x5524    0x4f5e
+0x5525    0x4fab
+0x5526    0x59a3
+0x5527    0x59b2
+0x5528    0x59c6
+0x5529    0x59e8
+0x552a    0x59dc
+0x552b    0x598d
+0x552c    0x59d9
+0x552d    0x59da
+0x552e    0x5a25
+0x552f    0x5a1f
+0x5530    0x5a11
+0x5531    0x5a1c
+0x5532    0x5a09
+0x5533    0x5a1a
+0x5534    0x5a40
+0x5535    0x5a6c
+0x5536    0x5a49
+0x5537    0x5a35
+0x5538    0x5a36
+0x5539    0x5a62
+0x553a    0x5a6a
+0x553b    0x5a9a
+0x553c    0x5abc
+0x553d    0x5abe
+0x553e    0x5acb
+0x553f    0x5ac2
+0x5540    0x5abd
+0x5541    0x5ae3
+0x5542    0x5ad7
+0x5543    0x5ae6
+0x5544    0x5ae9
+0x5545    0x5ad6
+0x5546    0x5afa
+0x5547    0x5afb
+0x5548    0x5b0c
+0x5549    0x5b0b
+0x554a    0x5b16
+0x554b    0x5b32
+0x554c    0x5ad0
+0x554d    0x5b2a
+0x554e    0x5b36
+0x554f    0x5b3e
+0x5550    0x5b43
+0x5551    0x5b45
+0x5552    0x5b40
+0x5553    0x5b51
+0x5554    0x5b55
+0x5555    0x5b5a
+0x5556    0x5b5b
+0x5557    0x5b65
+0x5558    0x5b69
+0x5559    0x5b70
+0x555a    0x5b73
+0x555b    0x5b75
+0x555c    0x5b78
+0x555d    0x6588
+0x555e    0x5b7a
+0x555f    0x5b80
+0x5560    0x5b83
+0x5561    0x5ba6
+0x5562    0x5bb8
+0x5563    0x5bc3
+0x5564    0x5bc7
+0x5565    0x5bc9
+0x5566    0x5bd4
+0x5567    0x5bd0
+0x5568    0x5be4
+0x5569    0x5be6
+0x556a    0x5be2
+0x556b    0x5bde
+0x556c    0x5be5
+0x556d    0x5beb
+0x556e    0x5bf0
+0x556f    0x5bf6
+0x5570    0x5bf3
+0x5571    0x5c05
+0x5572    0x5c07
+0x5573    0x5c08
+0x5574    0x5c0d
+0x5575    0x5c13
+0x5576    0x5c20
+0x5577    0x5c22
+0x5578    0x5c28
+0x5579    0x5c38
+0x557a    0x5c39
+0x557b    0x5c41
+0x557c    0x5c46
+0x557d    0x5c4e
+0x557e    0x5c53
+0x5621    0x5c50
+0x5622    0x5c4f
+0x5623    0x5b71
+0x5624    0x5c6c
+0x5625    0x5c6e
+0x5626    0x4e62
+0x5627    0x5c76
+0x5628    0x5c79
+0x5629    0x5c8c
+0x562a    0x5c91
+0x562b    0x5c94
+0x562c    0x599b
+0x562d    0x5cab
+0x562e    0x5cbb
+0x562f    0x5cb6
+0x5630    0x5cbc
+0x5631    0x5cb7
+0x5632    0x5cc5
+0x5633    0x5cbe
+0x5634    0x5cc7
+0x5635    0x5cd9
+0x5636    0x5ce9
+0x5637    0x5cfd
+0x5638    0x5cfa
+0x5639    0x5ced
+0x563a    0x5d8c
+0x563b    0x5cea
+0x563c    0x5d0b
+0x563d    0x5d15
+0x563e    0x5d17
+0x563f    0x5d5c
+0x5640    0x5d1f
+0x5641    0x5d1b
+0x5642    0x5d11
+0x5643    0x5d14
+0x5644    0x5d22
+0x5645    0x5d1a
+0x5646    0x5d19
+0x5647    0x5d18
+0x5648    0x5d4c
+0x5649    0x5d52
+0x564a    0x5d4e
+0x564b    0x5d4b
+0x564c    0x5d6c
+0x564d    0x5d73
+0x564e    0x5d76
+0x564f    0x5d87
+0x5650    0x5d84
+0x5651    0x5d82
+0x5652    0x5da2
+0x5653    0x5d9d
+0x5654    0x5dac
+0x5655    0x5dae
+0x5656    0x5dbd
+0x5657    0x5d90
+0x5658    0x5db7
+0x5659    0x5dbc
+0x565a    0x5dc9
+0x565b    0x5dcd
+0x565c    0x5dd3
+0x565d    0x5dd2
+0x565e    0x5dd6
+0x565f    0x5ddb
+0x5660    0x5deb
+0x5661    0x5df2
+0x5662    0x5df5
+0x5663    0x5e0b
+0x5664    0x5e1a
+0x5665    0x5e19
+0x5666    0x5e11
+0x5667    0x5e1b
+0x5668    0x5e36
+0x5669    0x5e37
+0x566a    0x5e44
+0x566b    0x5e43
+0x566c    0x5e40
+0x566d    0x5e4e
+0x566e    0x5e57
+0x566f    0x5e54
+0x5670    0x5e5f
+0x5671    0x5e62
+0x5672    0x5e64
+0x5673    0x5e47
+0x5674    0x5e75
+0x5675    0x5e76
+0x5676    0x5e7a
+0x5677    0x9ebc
+0x5678    0x5e7f
+0x5679    0x5ea0
+0x567a    0x5ec1
+0x567b    0x5ec2
+0x567c    0x5ec8
+0x567d    0x5ed0
+0x567e    0x5ecf
+0x5721    0x5ed6
+0x5722    0x5ee3
+0x5723    0x5edd
+0x5724    0x5eda
+0x5725    0x5edb
+0x5726    0x5ee2
+0x5727    0x5ee1
+0x5728    0x5ee8
+0x5729    0x5ee9
+0x572a    0x5eec
+0x572b    0x5ef1
+0x572c    0x5ef3
+0x572d    0x5ef0
+0x572e    0x5ef4
+0x572f    0x5ef8
+0x5730    0x5efe
+0x5731    0x5f03
+0x5732    0x5f09
+0x5733    0x5f5d
+0x5734    0x5f5c
+0x5735    0x5f0b
+0x5736    0x5f11
+0x5737    0x5f16
+0x5738    0x5f29
+0x5739    0x5f2d
+0x573a    0x5f38
+0x573b    0x5f41
+0x573c    0x5f48
+0x573d    0x5f4c
+0x573e    0x5f4e
+0x573f    0x5f2f
+0x5740    0x5f51
+0x5741    0x5f56
+0x5742    0x5f57
+0x5743    0x5f59
+0x5744    0x5f61
+0x5745    0x5f6d
+0x5746    0x5f73
+0x5747    0x5f77
+0x5748    0x5f83
+0x5749    0x5f82
+0x574a    0x5f7f
+0x574b    0x5f8a
+0x574c    0x5f88
+0x574d    0x5f91
+0x574e    0x5f87
+0x574f    0x5f9e
+0x5750    0x5f99
+0x5751    0x5f98
+0x5752    0x5fa0
+0x5753    0x5fa8
+0x5754    0x5fad
+0x5755    0x5fbc
+0x5756    0x5fd6
+0x5757    0x5ffb
+0x5758    0x5fe4
+0x5759    0x5ff8
+0x575a    0x5ff1
+0x575b    0x5fdd
+0x575c    0x60b3
+0x575d    0x5fff
+0x575e    0x6021
+0x575f    0x6060
+0x5760    0x6019
+0x5761    0x6010
+0x5762    0x6029
+0x5763    0x600e
+0x5764    0x6031
+0x5765    0x601b
+0x5766    0x6015
+0x5767    0x602b
+0x5768    0x6026
+0x5769    0x600f
+0x576a    0x603a
+0x576b    0x605a
+0x576c    0x6041
+0x576d    0x606a
+0x576e    0x6077
+0x576f    0x605f
+0x5770    0x604a
+0x5771    0x6046
+0x5772    0x604d
+0x5773    0x6063
+0x5774    0x6043
+0x5775    0x6064
+0x5776    0x6042
+0x5777    0x606c
+0x5778    0x606b
+0x5779    0x6059
+0x577a    0x6081
+0x577b    0x608d
+0x577c    0x60e7
+0x577d    0x6083
+0x577e    0x609a
+0x5821    0x6084
+0x5822    0x609b
+0x5823    0x6096
+0x5824    0x6097
+0x5825    0x6092
+0x5826    0x60a7
+0x5827    0x608b
+0x5828    0x60e1
+0x5829    0x60b8
+0x582a    0x60e0
+0x582b    0x60d3
+0x582c    0x60b4
+0x582d    0x5ff0
+0x582e    0x60bd
+0x582f    0x60c6
+0x5830    0x60b5
+0x5831    0x60d8
+0x5832    0x614d
+0x5833    0x6115
+0x5834    0x6106
+0x5835    0x60f6
+0x5836    0x60f7
+0x5837    0x6100
+0x5838    0x60f4
+0x5839    0x60fa
+0x583a    0x6103
+0x583b    0x6121
+0x583c    0x60fb
+0x583d    0x60f1
+0x583e    0x610d
+0x583f    0x610e
+0x5840    0x6147
+0x5841    0x613e
+0x5842    0x6128
+0x5843    0x6127
+0x5844    0x614a
+0x5845    0x613f
+0x5846    0x613c
+0x5847    0x612c
+0x5848    0x6134
+0x5849    0x613d
+0x584a    0x6142
+0x584b    0x6144
+0x584c    0x6173
+0x584d    0x6177
+0x584e    0x6158
+0x584f    0x6159
+0x5850    0x615a
+0x5851    0x616b
+0x5852    0x6174
+0x5853    0x616f
+0x5854    0x6165
+0x5855    0x6171
+0x5856    0x615f
+0x5857    0x615d
+0x5858    0x6153
+0x5859    0x6175
+0x585a    0x6199
+0x585b    0x6196
+0x585c    0x6187
+0x585d    0x61ac
+0x585e    0x6194
+0x585f    0x619a
+0x5860    0x618a
+0x5861    0x6191
+0x5862    0x61ab
+0x5863    0x61ae
+0x5864    0x61cc
+0x5865    0x61ca
+0x5866    0x61c9
+0x5867    0x61f7
+0x5868    0x61c8
+0x5869    0x61c3
+0x586a    0x61c6
+0x586b    0x61ba
+0x586c    0x61cb
+0x586d    0x7f79
+0x586e    0x61cd
+0x586f    0x61e6
+0x5870    0x61e3
+0x5871    0x61f6
+0x5872    0x61fa
+0x5873    0x61f4
+0x5874    0x61ff
+0x5875    0x61fd
+0x5876    0x61fc
+0x5877    0x61fe
+0x5878    0x6200
+0x5879    0x6208
+0x587a    0x6209
+0x587b    0x620d
+0x587c    0x620c
+0x587d    0x6214
+0x587e    0x621b
+0x5921    0x621e
+0x5922    0x6221
+0x5923    0x622a
+0x5924    0x622e
+0x5925    0x6230
+0x5926    0x6232
+0x5927    0x6233
+0x5928    0x6241
+0x5929    0x624e
+0x592a    0x625e
+0x592b    0x6263
+0x592c    0x625b
+0x592d    0x6260
+0x592e    0x6268
+0x592f    0x627c
+0x5930    0x6282
+0x5931    0x6289
+0x5932    0x627e
+0x5933    0x6292
+0x5934    0x6293
+0x5935    0x6296
+0x5936    0x62d4
+0x5937    0x6283
+0x5938    0x6294
+0x5939    0x62d7
+0x593a    0x62d1
+0x593b    0x62bb
+0x593c    0x62cf
+0x593d    0x62ff
+0x593e    0x62c6
+0x593f    0x64d4
+0x5940    0x62c8
+0x5941    0x62dc
+0x5942    0x62cc
+0x5943    0x62ca
+0x5944    0x62c2
+0x5945    0x62c7
+0x5946    0x629b
+0x5947    0x62c9
+0x5948    0x630c
+0x5949    0x62ee
+0x594a    0x62f1
+0x594b    0x6327
+0x594c    0x6302
+0x594d    0x6308
+0x594e    0x62ef
+0x594f    0x62f5
+0x5950    0x6350
+0x5951    0x633e
+0x5952    0x634d
+0x5953    0x641c
+0x5954    0x634f
+0x5955    0x6396
+0x5956    0x638e
+0x5957    0x6380
+0x5958    0x63ab
+0x5959    0x6376
+0x595a    0x63a3
+0x595b    0x638f
+0x595c    0x6389
+0x595d    0x639f
+0x595e    0x63b5
+0x595f    0x636b
+0x5960    0x6369
+0x5961    0x63be
+0x5962    0x63e9
+0x5963    0x63c0
+0x5964    0x63c6
+0x5965    0x63e3
+0x5966    0x63c9
+0x5967    0x63d2
+0x5968    0x63f6
+0x5969    0x63c4
+0x596a    0x6416
+0x596b    0x6434
+0x596c    0x6406
+0x596d    0x6413
+0x596e    0x6426
+0x596f    0x6436
+0x5970    0x651d
+0x5971    0x6417
+0x5972    0x6428
+0x5973    0x640f
+0x5974    0x6467
+0x5975    0x646f
+0x5976    0x6476
+0x5977    0x644e
+0x5978    0x652a
+0x5979    0x6495
+0x597a    0x6493
+0x597b    0x64a5
+0x597c    0x64a9
+0x597d    0x6488
+0x597e    0x64bc
+0x5a21    0x64da
+0x5a22    0x64d2
+0x5a23    0x64c5
+0x5a24    0x64c7
+0x5a25    0x64bb
+0x5a26    0x64d8
+0x5a27    0x64c2
+0x5a28    0x64f1
+0x5a29    0x64e7
+0x5a2a    0x8209
+0x5a2b    0x64e0
+0x5a2c    0x64e1
+0x5a2d    0x62ac
+0x5a2e    0x64e3
+0x5a2f    0x64ef
+0x5a30    0x652c
+0x5a31    0x64f6
+0x5a32    0x64f4
+0x5a33    0x64f2
+0x5a34    0x64fa
+0x5a35    0x6500
+0x5a36    0x64fd
+0x5a37    0x6518
+0x5a38    0x651c
+0x5a39    0x6505
+0x5a3a    0x6524
+0x5a3b    0x6523
+0x5a3c    0x652b
+0x5a3d    0x6534
+0x5a3e    0x6535
+0x5a3f    0x6537
+0x5a40    0x6536
+0x5a41    0x6538
+0x5a42    0x754b
+0x5a43    0x6548
+0x5a44    0x6556
+0x5a45    0x6555
+0x5a46    0x654d
+0x5a47    0x6558
+0x5a48    0x655e
+0x5a49    0x655d
+0x5a4a    0x6572
+0x5a4b    0x6578
+0x5a4c    0x6582
+0x5a4d    0x6583
+0x5a4e    0x8b8a
+0x5a4f    0x659b
+0x5a50    0x659f
+0x5a51    0x65ab
+0x5a52    0x65b7
+0x5a53    0x65c3
+0x5a54    0x65c6
+0x5a55    0x65c1
+0x5a56    0x65c4
+0x5a57    0x65cc
+0x5a58    0x65d2
+0x5a59    0x65db
+0x5a5a    0x65d9
+0x5a5b    0x65e0
+0x5a5c    0x65e1
+0x5a5d    0x65f1
+0x5a5e    0x6772
+0x5a5f    0x660a
+0x5a60    0x6603
+0x5a61    0x65fb
+0x5a62    0x6773
+0x5a63    0x6635
+0x5a64    0x6636
+0x5a65    0x6634
+0x5a66    0x661c
+0x5a67    0x664f
+0x5a68    0x6644
+0x5a69    0x6649
+0x5a6a    0x6641
+0x5a6b    0x665e
+0x5a6c    0x665d
+0x5a6d    0x6664
+0x5a6e    0x6667
+0x5a6f    0x6668
+0x5a70    0x665f
+0x5a71    0x6662
+0x5a72    0x6670
+0x5a73    0x6683
+0x5a74    0x6688
+0x5a75    0x668e
+0x5a76    0x6689
+0x5a77    0x6684
+0x5a78    0x6698
+0x5a79    0x669d
+0x5a7a    0x66c1
+0x5a7b    0x66b9
+0x5a7c    0x66c9
+0x5a7d    0x66be
+0x5a7e    0x66bc
+0x5b21    0x66c4
+0x5b22    0x66b8
+0x5b23    0x66d6
+0x5b24    0x66da
+0x5b25    0x66e0
+0x5b26    0x663f
+0x5b27    0x66e6
+0x5b28    0x66e9
+0x5b29    0x66f0
+0x5b2a    0x66f5
+0x5b2b    0x66f7
+0x5b2c    0x670f
+0x5b2d    0x6716
+0x5b2e    0x671e
+0x5b2f    0x6726
+0x5b30    0x6727
+0x5b31    0x9738
+0x5b32    0x672e
+0x5b33    0x673f
+0x5b34    0x6736
+0x5b35    0x6741
+0x5b36    0x6738
+0x5b37    0x6737
+0x5b38    0x6746
+0x5b39    0x675e
+0x5b3a    0x6760
+0x5b3b    0x6759
+0x5b3c    0x6763
+0x5b3d    0x6764
+0x5b3e    0x6789
+0x5b3f    0x6770
+0x5b40    0x67a9
+0x5b41    0x677c
+0x5b42    0x676a
+0x5b43    0x678c
+0x5b44    0x678b
+0x5b45    0x67a6
+0x5b46    0x67a1
+0x5b47    0x6785
+0x5b48    0x67b7
+0x5b49    0x67ef
+0x5b4a    0x67b4
+0x5b4b    0x67ec
+0x5b4c    0x67b3
+0x5b4d    0x67e9
+0x5b4e    0x67b8
+0x5b4f    0x67e4
+0x5b50    0x67de
+0x5b51    0x67dd
+0x5b52    0x67e2
+0x5b53    0x67ee
+0x5b54    0x67b9
+0x5b55    0x67ce
+0x5b56    0x67c6
+0x5b57    0x67e7
+0x5b58    0x6a9c
+0x5b59    0x681e
+0x5b5a    0x6846
+0x5b5b    0x6829
+0x5b5c    0x6840
+0x5b5d    0x684d
+0x5b5e    0x6832
+0x5b5f    0x684e
+0x5b60    0x68b3
+0x5b61    0x682b
+0x5b62    0x6859
+0x5b63    0x6863
+0x5b64    0x6877
+0x5b65    0x687f
+0x5b66    0x689f
+0x5b67    0x688f
+0x5b68    0x68ad
+0x5b69    0x6894
+0x5b6a    0x689d
+0x5b6b    0x689b
+0x5b6c    0x6883
+0x5b6d    0x6aae
+0x5b6e    0x68b9
+0x5b6f    0x6874
+0x5b70    0x68b5
+0x5b71    0x68a0
+0x5b72    0x68ba
+0x5b73    0x690f
+0x5b74    0x688d
+0x5b75    0x687e
+0x5b76    0x6901
+0x5b77    0x68ca
+0x5b78    0x6908
+0x5b79    0x68d8
+0x5b7a    0x6922
+0x5b7b    0x6926
+0x5b7c    0x68e1
+0x5b7d    0x690c
+0x5b7e    0x68cd
+0x5c21    0x68d4
+0x5c22    0x68e7
+0x5c23    0x68d5
+0x5c24    0x6936
+0x5c25    0x6912
+0x5c26    0x6904
+0x5c27    0x68d7
+0x5c28    0x68e3
+0x5c29    0x6925
+0x5c2a    0x68f9
+0x5c2b    0x68e0
+0x5c2c    0x68ef
+0x5c2d    0x6928
+0x5c2e    0x692a
+0x5c2f    0x691a
+0x5c30    0x6923
+0x5c31    0x6921
+0x5c32    0x68c6
+0x5c33    0x6979
+0x5c34    0x6977
+0x5c35    0x695c
+0x5c36    0x6978
+0x5c37    0x696b
+0x5c38    0x6954
+0x5c39    0x697e
+0x5c3a    0x696e
+0x5c3b    0x6939
+0x5c3c    0x6974
+0x5c3d    0x693d
+0x5c3e    0x6959
+0x5c3f    0x6930
+0x5c40    0x6961
+0x5c41    0x695e
+0x5c42    0x695d
+0x5c43    0x6981
+0x5c44    0x696a
+0x5c45    0x69b2
+0x5c46    0x69ae
+0x5c47    0x69d0
+0x5c48    0x69bf
+0x5c49    0x69c1
+0x5c4a    0x69d3
+0x5c4b    0x69be
+0x5c4c    0x69ce
+0x5c4d    0x5be8
+0x5c4e    0x69ca
+0x5c4f    0x69dd
+0x5c50    0x69bb
+0x5c51    0x69c3
+0x5c52    0x69a7
+0x5c53    0x6a2e
+0x5c54    0x6991
+0x5c55    0x69a0
+0x5c56    0x699c
+0x5c57    0x6995
+0x5c58    0x69b4
+0x5c59    0x69de
+0x5c5a    0x69e8
+0x5c5b    0x6a02
+0x5c5c    0x6a1b
+0x5c5d    0x69ff
+0x5c5e    0x6b0a
+0x5c5f    0x69f9
+0x5c60    0x69f2
+0x5c61    0x69e7
+0x5c62    0x6a05
+0x5c63    0x69b1
+0x5c64    0x6a1e
+0x5c65    0x69ed
+0x5c66    0x6a14
+0x5c67    0x69eb
+0x5c68    0x6a0a
+0x5c69    0x6a12
+0x5c6a    0x6ac1
+0x5c6b    0x6a23
+0x5c6c    0x6a13
+0x5c6d    0x6a44
+0x5c6e    0x6a0c
+0x5c6f    0x6a72
+0x5c70    0x6a36
+0x5c71    0x6a78
+0x5c72    0x6a47
+0x5c73    0x6a62
+0x5c74    0x6a59
+0x5c75    0x6a66
+0x5c76    0x6a48
+0x5c77    0x6a38
+0x5c78    0x6a22
+0x5c79    0x6a90
+0x5c7a    0x6a8d
+0x5c7b    0x6aa0
+0x5c7c    0x6a84
+0x5c7d    0x6aa2
+0x5c7e    0x6aa3
+0x5d21    0x6a97
+0x5d22    0x8617
+0x5d23    0x6abb
+0x5d24    0x6ac3
+0x5d25    0x6ac2
+0x5d26    0x6ab8
+0x5d27    0x6ab3
+0x5d28    0x6aac
+0x5d29    0x6ade
+0x5d2a    0x6ad1
+0x5d2b    0x6adf
+0x5d2c    0x6aaa
+0x5d2d    0x6ada
+0x5d2e    0x6aea
+0x5d2f    0x6afb
+0x5d30    0x6b05
+0x5d31    0x8616
+0x5d32    0x6afa
+0x5d33    0x6b12
+0x5d34    0x6b16
+0x5d35    0x9b31
+0x5d36    0x6b1f
+0x5d37    0x6b38
+0x5d38    0x6b37
+0x5d39    0x76dc
+0x5d3a    0x6b39
+0x5d3b    0x98ee
+0x5d3c    0x6b47
+0x5d3d    0x6b43
+0x5d3e    0x6b49
+0x5d3f    0x6b50
+0x5d40    0x6b59
+0x5d41    0x6b54
+0x5d42    0x6b5b
+0x5d43    0x6b5f
+0x5d44    0x6b61
+0x5d45    0x6b78
+0x5d46    0x6b79
+0x5d47    0x6b7f
+0x5d48    0x6b80
+0x5d49    0x6b84
+0x5d4a    0x6b83
+0x5d4b    0x6b8d
+0x5d4c    0x6b98
+0x5d4d    0x6b95
+0x5d4e    0x6b9e
+0x5d4f    0x6ba4
+0x5d50    0x6baa
+0x5d51    0x6bab
+0x5d52    0x6baf
+0x5d53    0x6bb2
+0x5d54    0x6bb1
+0x5d55    0x6bb3
+0x5d56    0x6bb7
+0x5d57    0x6bbc
+0x5d58    0x6bc6
+0x5d59    0x6bcb
+0x5d5a    0x6bd3
+0x5d5b    0x6bdf
+0x5d5c    0x6bec
+0x5d5d    0x6beb
+0x5d5e    0x6bf3
+0x5d5f    0x6bef
+0x5d60    0x9ebe
+0x5d61    0x6c08
+0x5d62    0x6c13
+0x5d63    0x6c14
+0x5d64    0x6c1b
+0x5d65    0x6c24
+0x5d66    0x6c23
+0x5d67    0x6c5e
+0x5d68    0x6c55
+0x5d69    0x6c62
+0x5d6a    0x6c6a
+0x5d6b    0x6c82
+0x5d6c    0x6c8d
+0x5d6d    0x6c9a
+0x5d6e    0x6c81
+0x5d6f    0x6c9b
+0x5d70    0x6c7e
+0x5d71    0x6c68
+0x5d72    0x6c73
+0x5d73    0x6c92
+0x5d74    0x6c90
+0x5d75    0x6cc4
+0x5d76    0x6cf1
+0x5d77    0x6cd3
+0x5d78    0x6cbd
+0x5d79    0x6cd7
+0x5d7a    0x6cc5
+0x5d7b    0x6cdd
+0x5d7c    0x6cae
+0x5d7d    0x6cb1
+0x5d7e    0x6cbe
+0x5e21    0x6cba
+0x5e22    0x6cdb
+0x5e23    0x6cef
+0x5e24    0x6cd9
+0x5e25    0x6cea
+0x5e26    0x6d1f
+0x5e27    0x884d
+0x5e28    0x6d36
+0x5e29    0x6d2b
+0x5e2a    0x6d3d
+0x5e2b    0x6d38
+0x5e2c    0x6d19
+0x5e2d    0x6d35
+0x5e2e    0x6d33
+0x5e2f    0x6d12
+0x5e30    0x6d0c
+0x5e31    0x6d63
+0x5e32    0x6d93
+0x5e33    0x6d64
+0x5e34    0x6d5a
+0x5e35    0x6d79
+0x5e36    0x6d59
+0x5e37    0x6d8e
+0x5e38    0x6d95
+0x5e39    0x6fe4
+0x5e3a    0x6d85
+0x5e3b    0x6df9
+0x5e3c    0x6e15
+0x5e3d    0x6e0a
+0x5e3e    0x6db5
+0x5e3f    0x6dc7
+0x5e40    0x6de6
+0x5e41    0x6db8
+0x5e42    0x6dc6
+0x5e43    0x6dec
+0x5e44    0x6dde
+0x5e45    0x6dcc
+0x5e46    0x6de8
+0x5e47    0x6dd2
+0x5e48    0x6dc5
+0x5e49    0x6dfa
+0x5e4a    0x6dd9
+0x5e4b    0x6de4
+0x5e4c    0x6dd5
+0x5e4d    0x6dea
+0x5e4e    0x6dee
+0x5e4f    0x6e2d
+0x5e50    0x6e6e
+0x5e51    0x6e2e
+0x5e52    0x6e19
+0x5e53    0x6e72
+0x5e54    0x6e5f
+0x5e55    0x6e3e
+0x5e56    0x6e23
+0x5e57    0x6e6b
+0x5e58    0x6e2b
+0x5e59    0x6e76
+0x5e5a    0x6e4d
+0x5e5b    0x6e1f
+0x5e5c    0x6e43
+0x5e5d    0x6e3a
+0x5e5e    0x6e4e
+0x5e5f    0x6e24
+0x5e60    0x6eff
+0x5e61    0x6e1d
+0x5e62    0x6e38
+0x5e63    0x6e82
+0x5e64    0x6eaa
+0x5e65    0x6e98
+0x5e66    0x6ec9
+0x5e67    0x6eb7
+0x5e68    0x6ed3
+0x5e69    0x6ebd
+0x5e6a    0x6eaf
+0x5e6b    0x6ec4
+0x5e6c    0x6eb2
+0x5e6d    0x6ed4
+0x5e6e    0x6ed5
+0x5e6f    0x6e8f
+0x5e70    0x6ea5
+0x5e71    0x6ec2
+0x5e72    0x6e9f
+0x5e73    0x6f41
+0x5e74    0x6f11
+0x5e75    0x704c
+0x5e76    0x6eec
+0x5e77    0x6ef8
+0x5e78    0x6efe
+0x5e79    0x6f3f
+0x5e7a    0x6ef2
+0x5e7b    0x6f31
+0x5e7c    0x6eef
+0x5e7d    0x6f32
+0x5e7e    0x6ecc
+0x5f21    0x6f3e
+0x5f22    0x6f13
+0x5f23    0x6ef7
+0x5f24    0x6f86
+0x5f25    0x6f7a
+0x5f26    0x6f78
+0x5f27    0x6f81
+0x5f28    0x6f80
+0x5f29    0x6f6f
+0x5f2a    0x6f5b
+0x5f2b    0x6ff3
+0x5f2c    0x6f6d
+0x5f2d    0x6f82
+0x5f2e    0x6f7c
+0x5f2f    0x6f58
+0x5f30    0x6f8e
+0x5f31    0x6f91
+0x5f32    0x6fc2
+0x5f33    0x6f66
+0x5f34    0x6fb3
+0x5f35    0x6fa3
+0x5f36    0x6fa1
+0x5f37    0x6fa4
+0x5f38    0x6fb9
+0x5f39    0x6fc6
+0x5f3a    0x6faa
+0x5f3b    0x6fdf
+0x5f3c    0x6fd5
+0x5f3d    0x6fec
+0x5f3e    0x6fd4
+0x5f3f    0x6fd8
+0x5f40    0x6ff1
+0x5f41    0x6fee
+0x5f42    0x6fdb
+0x5f43    0x7009
+0x5f44    0x700b
+0x5f45    0x6ffa
+0x5f46    0x7011
+0x5f47    0x7001
+0x5f48    0x700f
+0x5f49    0x6ffe
+0x5f4a    0x701b
+0x5f4b    0x701a
+0x5f4c    0x6f74
+0x5f4d    0x701d
+0x5f4e    0x7018
+0x5f4f    0x701f
+0x5f50    0x7030
+0x5f51    0x703e
+0x5f52    0x7032
+0x5f53    0x7051
+0x5f54    0x7063
+0x5f55    0x7099
+0x5f56    0x7092
+0x5f57    0x70af
+0x5f58    0x70f1
+0x5f59    0x70ac
+0x5f5a    0x70b8
+0x5f5b    0x70b3
+0x5f5c    0x70ae
+0x5f5d    0x70df
+0x5f5e    0x70cb
+0x5f5f    0x70dd
+0x5f60    0x70d9
+0x5f61    0x7109
+0x5f62    0x70fd
+0x5f63    0x711c
+0x5f64    0x7119
+0x5f65    0x7165
+0x5f66    0x7155
+0x5f67    0x7188
+0x5f68    0x7166
+0x5f69    0x7162
+0x5f6a    0x714c
+0x5f6b    0x7156
+0x5f6c    0x716c
+0x5f6d    0x718f
+0x5f6e    0x71fb
+0x5f6f    0x7184
+0x5f70    0x7195
+0x5f71    0x71a8
+0x5f72    0x71ac
+0x5f73    0x71d7
+0x5f74    0x71b9
+0x5f75    0x71be
+0x5f76    0x71d2
+0x5f77    0x71c9
+0x5f78    0x71d4
+0x5f79    0x71ce
+0x5f7a    0x71e0
+0x5f7b    0x71ec
+0x5f7c    0x71e7
+0x5f7d    0x71f5
+0x5f7e    0x71fc
+0x6021    0x71f9
+0x6022    0x71ff
+0x6023    0x720d
+0x6024    0x7210
+0x6025    0x721b
+0x6026    0x7228
+0x6027    0x722d
+0x6028    0x722c
+0x6029    0x7230
+0x602a    0x7232
+0x602b    0x723b
+0x602c    0x723c
+0x602d    0x723f
+0x602e    0x7240
+0x602f    0x7246
+0x6030    0x724b
+0x6031    0x7258
+0x6032    0x7274
+0x6033    0x727e
+0x6034    0x7282
+0x6035    0x7281
+0x6036    0x7287
+0x6037    0x7292
+0x6038    0x7296
+0x6039    0x72a2
+0x603a    0x72a7
+0x603b    0x72b9
+0x603c    0x72b2
+0x603d    0x72c3
+0x603e    0x72c6
+0x603f    0x72c4
+0x6040    0x72ce
+0x6041    0x72d2
+0x6042    0x72e2
+0x6043    0x72e0
+0x6044    0x72e1
+0x6045    0x72f9
+0x6046    0x72f7
+0x6047    0x500f
+0x6048    0x7317
+0x6049    0x730a
+0x604a    0x731c
+0x604b    0x7316
+0x604c    0x731d
+0x604d    0x7334
+0x604e    0x732f
+0x604f    0x7329
+0x6050    0x7325
+0x6051    0x733e
+0x6052    0x734e
+0x6053    0x734f
+0x6054    0x9ed8
+0x6055    0x7357
+0x6056    0x736a
+0x6057    0x7368
+0x6058    0x7370
+0x6059    0x7378
+0x605a    0x7375
+0x605b    0x737b
+0x605c    0x737a
+0x605d    0x73c8
+0x605e    0x73b3
+0x605f    0x73ce
+0x6060    0x73bb
+0x6061    0x73c0
+0x6062    0x73e5
+0x6063    0x73ee
+0x6064    0x73de
+0x6065    0x74a2
+0x6066    0x7405
+0x6067    0x746f
+0x6068    0x7425
+0x6069    0x73f8
+0x606a    0x7432
+0x606b    0x743a
+0x606c    0x7455
+0x606d    0x743f
+0x606e    0x745f
+0x606f    0x7459
+0x6070    0x7441
+0x6071    0x745c
+0x6072    0x7469
+0x6073    0x7470
+0x6074    0x7463
+0x6075    0x746a
+0x6076    0x7476
+0x6077    0x747e
+0x6078    0x748b
+0x6079    0x749e
+0x607a    0x74a7
+0x607b    0x74ca
+0x607c    0x74cf
+0x607d    0x74d4
+0x607e    0x73f1
+0x6121    0x74e0
+0x6122    0x74e3
+0x6123    0x74e7
+0x6124    0x74e9
+0x6125    0x74ee
+0x6126    0x74f2
+0x6127    0x74f0
+0x6128    0x74f1
+0x6129    0x74f8
+0x612a    0x74f7
+0x612b    0x7504
+0x612c    0x7503
+0x612d    0x7505
+0x612e    0x750c
+0x612f    0x750e
+0x6130    0x750d
+0x6131    0x7515
+0x6132    0x7513
+0x6133    0x751e
+0x6134    0x7526
+0x6135    0x752c
+0x6136    0x753c
+0x6137    0x7544
+0x6138    0x754d
+0x6139    0x754a
+0x613a    0x7549
+0x613b    0x755b
+0x613c    0x7546
+0x613d    0x755a
+0x613e    0x7569
+0x613f    0x7564
+0x6140    0x7567
+0x6141    0x756b
+0x6142    0x756d
+0x6143    0x7578
+0x6144    0x7576
+0x6145    0x7586
+0x6146    0x7587
+0x6147    0x7574
+0x6148    0x758a
+0x6149    0x7589
+0x614a    0x7582
+0x614b    0x7594
+0x614c    0x759a
+0x614d    0x759d
+0x614e    0x75a5
+0x614f    0x75a3
+0x6150    0x75c2
+0x6151    0x75b3
+0x6152    0x75c3
+0x6153    0x75b5
+0x6154    0x75bd
+0x6155    0x75b8
+0x6156    0x75bc
+0x6157    0x75b1
+0x6158    0x75cd
+0x6159    0x75ca
+0x615a    0x75d2
+0x615b    0x75d9
+0x615c    0x75e3
+0x615d    0x75de
+0x615e    0x75fe
+0x615f    0x75ff
+0x6160    0x75fc
+0x6161    0x7601
+0x6162    0x75f0
+0x6163    0x75fa
+0x6164    0x75f2
+0x6165    0x75f3
+0x6166    0x760b
+0x6167    0x760d
+0x6168    0x7609
+0x6169    0x761f
+0x616a    0x7627
+0x616b    0x7620
+0x616c    0x7621
+0x616d    0x7622
+0x616e    0x7624
+0x616f    0x7634
+0x6170    0x7630
+0x6171    0x763b
+0x6172    0x7647
+0x6173    0x7648
+0x6174    0x7646
+0x6175    0x765c
+0x6176    0x7658
+0x6177    0x7661
+0x6178    0x7662
+0x6179    0x7668
+0x617a    0x7669
+0x617b    0x766a
+0x617c    0x7667
+0x617d    0x766c
+0x617e    0x7670
+0x6221    0x7672
+0x6222    0x7676
+0x6223    0x7678
+0x6224    0x767c
+0x6225    0x7680
+0x6226    0x7683
+0x6227    0x7688
+0x6228    0x768b
+0x6229    0x768e
+0x622a    0x7696
+0x622b    0x7693
+0x622c    0x7699
+0x622d    0x769a
+0x622e    0x76b0
+0x622f    0x76b4
+0x6230    0x76b8
+0x6231    0x76b9
+0x6232    0x76ba
+0x6233    0x76c2
+0x6234    0x76cd
+0x6235    0x76d6
+0x6236    0x76d2
+0x6237    0x76de
+0x6238    0x76e1
+0x6239    0x76e5
+0x623a    0x76e7
+0x623b    0x76ea
+0x623c    0x862f
+0x623d    0x76fb
+0x623e    0x7708
+0x623f    0x7707
+0x6240    0x7704
+0x6241    0x7729
+0x6242    0x7724
+0x6243    0x771e
+0x6244    0x7725
+0x6245    0x7726
+0x6246    0x771b
+0x6247    0x7737
+0x6248    0x7738
+0x6249    0x7747
+0x624a    0x775a
+0x624b    0x7768
+0x624c    0x776b
+0x624d    0x775b
+0x624e    0x7765
+0x624f    0x777f
+0x6250    0x777e
+0x6251    0x7779
+0x6252    0x778e
+0x6253    0x778b
+0x6254    0x7791
+0x6255    0x77a0
+0x6256    0x779e
+0x6257    0x77b0
+0x6258    0x77b6
+0x6259    0x77b9
+0x625a    0x77bf
+0x625b    0x77bc
+0x625c    0x77bd
+0x625d    0x77bb
+0x625e    0x77c7
+0x625f    0x77cd
+0x6260    0x77d7
+0x6261    0x77da
+0x6262    0x77dc
+0x6263    0x77e3
+0x6264    0x77ee
+0x6265    0x77fc
+0x6266    0x780c
+0x6267    0x7812
+0x6268    0x7926
+0x6269    0x7820
+0x626a    0x792a
+0x626b    0x7845
+0x626c    0x788e
+0x626d    0x7874
+0x626e    0x7886
+0x626f    0x787c
+0x6270    0x789a
+0x6271    0x788c
+0x6272    0x78a3
+0x6273    0x78b5
+0x6274    0x78aa
+0x6275    0x78af
+0x6276    0x78d1
+0x6277    0x78c6
+0x6278    0x78cb
+0x6279    0x78d4
+0x627a    0x78be
+0x627b    0x78bc
+0x627c    0x78c5
+0x627d    0x78ca
+0x627e    0x78ec
+0x6321    0x78e7
+0x6322    0x78da
+0x6323    0x78fd
+0x6324    0x78f4
+0x6325    0x7907
+0x6326    0x7912
+0x6327    0x7911
+0x6328    0x7919
+0x6329    0x792c
+0x632a    0x792b
+0x632b    0x7940
+0x632c    0x7960
+0x632d    0x7957
+0x632e    0x795f
+0x632f    0x795a
+0x6330    0x7955
+0x6331    0x7953
+0x6332    0x797a
+0x6333    0x797f
+0x6334    0x798a
+0x6335    0x799d
+0x6336    0x79a7
+0x6337    0x9f4b
+0x6338    0x79aa
+0x6339    0x79ae
+0x633a    0x79b3
+0x633b    0x79b9
+0x633c    0x79ba
+0x633d    0x79c9
+0x633e    0x79d5
+0x633f    0x79e7
+0x6340    0x79ec
+0x6341    0x79e1
+0x6342    0x79e3
+0x6343    0x7a08
+0x6344    0x7a0d
+0x6345    0x7a18
+0x6346    0x7a19
+0x6347    0x7a20
+0x6348    0x7a1f
+0x6349    0x7980
+0x634a    0x7a31
+0x634b    0x7a3b
+0x634c    0x7a3e
+0x634d    0x7a37
+0x634e    0x7a43
+0x634f    0x7a57
+0x6350    0x7a49
+0x6351    0x7a61
+0x6352    0x7a62
+0x6353    0x7a69
+0x6354    0x9f9d
+0x6355    0x7a70
+0x6356    0x7a79
+0x6357    0x7a7d
+0x6358    0x7a88
+0x6359    0x7a97
+0x635a    0x7a95
+0x635b    0x7a98
+0x635c    0x7a96
+0x635d    0x7aa9
+0x635e    0x7ac8
+0x635f    0x7ab0
+0x6360    0x7ab6
+0x6361    0x7ac5
+0x6362    0x7ac4
+0x6363    0x7abf
+0x6364    0x9083
+0x6365    0x7ac7
+0x6366    0x7aca
+0x6367    0x7acd
+0x6368    0x7acf
+0x6369    0x7ad5
+0x636a    0x7ad3
+0x636b    0x7ad9
+0x636c    0x7ada
+0x636d    0x7add
+0x636e    0x7ae1
+0x636f    0x7ae2
+0x6370    0x7ae6
+0x6371    0x7aed
+0x6372    0x7af0
+0x6373    0x7b02
+0x6374    0x7b0f
+0x6375    0x7b0a
+0x6376    0x7b06
+0x6377    0x7b33
+0x6378    0x7b18
+0x6379    0x7b19
+0x637a    0x7b1e
+0x637b    0x7b35
+0x637c    0x7b28
+0x637d    0x7b36
+0x637e    0x7b50
+0x6421    0x7b7a
+0x6422    0x7b04
+0x6423    0x7b4d
+0x6424    0x7b0b
+0x6425    0x7b4c
+0x6426    0x7b45
+0x6427    0x7b75
+0x6428    0x7b65
+0x6429    0x7b74
+0x642a    0x7b67
+0x642b    0x7b70
+0x642c    0x7b71
+0x642d    0x7b6c
+0x642e    0x7b6e
+0x642f    0x7b9d
+0x6430    0x7b98
+0x6431    0x7b9f
+0x6432    0x7b8d
+0x6433    0x7b9c
+0x6434    0x7b9a
+0x6435    0x7b8b
+0x6436    0x7b92
+0x6437    0x7b8f
+0x6438    0x7b5d
+0x6439    0x7b99
+0x643a    0x7bcb
+0x643b    0x7bc1
+0x643c    0x7bcc
+0x643d    0x7bcf
+0x643e    0x7bb4
+0x643f    0x7bc6
+0x6440    0x7bdd
+0x6441    0x7be9
+0x6442    0x7c11
+0x6443    0x7c14
+0x6444    0x7be6
+0x6445    0x7be5
+0x6446    0x7c60
+0x6447    0x7c00
+0x6448    0x7c07
+0x6449    0x7c13
+0x644a    0x7bf3
+0x644b    0x7bf7
+0x644c    0x7c17
+0x644d    0x7c0d
+0x644e    0x7bf6
+0x644f    0x7c23
+0x6450    0x7c27
+0x6451    0x7c2a
+0x6452    0x7c1f
+0x6453    0x7c37
+0x6454    0x7c2b
+0x6455    0x7c3d
+0x6456    0x7c4c
+0x6457    0x7c43
+0x6458    0x7c54
+0x6459    0x7c4f
+0x645a    0x7c40
+0x645b    0x7c50
+0x645c    0x7c58
+0x645d    0x7c5f
+0x645e    0x7c64
+0x645f    0x7c56
+0x6460    0x7c65
+0x6461    0x7c6c
+0x6462    0x7c75
+0x6463    0x7c83
+0x6464    0x7c90
+0x6465    0x7ca4
+0x6466    0x7cad
+0x6467    0x7ca2
+0x6468    0x7cab
+0x6469    0x7ca1
+0x646a    0x7ca8
+0x646b    0x7cb3
+0x646c    0x7cb2
+0x646d    0x7cb1
+0x646e    0x7cae
+0x646f    0x7cb9
+0x6470    0x7cbd
+0x6471    0x7cc0
+0x6472    0x7cc5
+0x6473    0x7cc2
+0x6474    0x7cd8
+0x6475    0x7cd2
+0x6476    0x7cdc
+0x6477    0x7ce2
+0x6478    0x9b3b
+0x6479    0x7cef
+0x647a    0x7cf2
+0x647b    0x7cf4
+0x647c    0x7cf6
+0x647d    0x7cfa
+0x647e    0x7d06
+0x6521    0x7d02
+0x6522    0x7d1c
+0x6523    0x7d15
+0x6524    0x7d0a
+0x6525    0x7d45
+0x6526    0x7d4b
+0x6527    0x7d2e
+0x6528    0x7d32
+0x6529    0x7d3f
+0x652a    0x7d35
+0x652b    0x7d46
+0x652c    0x7d73
+0x652d    0x7d56
+0x652e    0x7d4e
+0x652f    0x7d72
+0x6530    0x7d68
+0x6531    0x7d6e
+0x6532    0x7d4f
+0x6533    0x7d63
+0x6534    0x7d93
+0x6535    0x7d89
+0x6536    0x7d5b
+0x6537    0x7d8f
+0x6538    0x7d7d
+0x6539    0x7d9b
+0x653a    0x7dba
+0x653b    0x7dae
+0x653c    0x7da3
+0x653d    0x7db5
+0x653e    0x7dc7
+0x653f    0x7dbd
+0x6540    0x7dab
+0x6541    0x7e3d
+0x6542    0x7da2
+0x6543    0x7daf
+0x6544    0x7ddc
+0x6545    0x7db8
+0x6546    0x7d9f
+0x6547    0x7db0
+0x6548    0x7dd8
+0x6549    0x7ddd
+0x654a    0x7de4
+0x654b    0x7dde
+0x654c    0x7dfb
+0x654d    0x7df2
+0x654e    0x7de1
+0x654f    0x7e05
+0x6550    0x7e0a
+0x6551    0x7e23
+0x6552    0x7e21
+0x6553    0x7e12
+0x6554    0x7e31
+0x6555    0x7e1f
+0x6556    0x7e09
+0x6557    0x7e0b
+0x6558    0x7e22
+0x6559    0x7e46
+0x655a    0x7e66
+0x655b    0x7e3b
+0x655c    0x7e35
+0x655d    0x7e39
+0x655e    0x7e43
+0x655f    0x7e37
+0x6560    0x7e32
+0x6561    0x7e3a
+0x6562    0x7e67
+0x6563    0x7e5d
+0x6564    0x7e56
+0x6565    0x7e5e
+0x6566    0x7e59
+0x6567    0x7e5a
+0x6568    0x7e79
+0x6569    0x7e6a
+0x656a    0x7e69
+0x656b    0x7e7c
+0x656c    0x7e7b
+0x656d    0x7e83
+0x656e    0x7dd5
+0x656f    0x7e7d
+0x6570    0x8fae
+0x6571    0x7e7f
+0x6572    0x7e88
+0x6573    0x7e89
+0x6574    0x7e8c
+0x6575    0x7e92
+0x6576    0x7e90
+0x6577    0x7e93
+0x6578    0x7e94
+0x6579    0x7e96
+0x657a    0x7e8e
+0x657b    0x7e9b
+0x657c    0x7e9c
+0x657d    0x7f38
+0x657e    0x7f3a
+0x6621    0x7f45
+0x6622    0x7f4c
+0x6623    0x7f4d
+0x6624    0x7f4e
+0x6625    0x7f50
+0x6626    0x7f51
+0x6627    0x7f55
+0x6628    0x7f54
+0x6629    0x7f58
+0x662a    0x7f5f
+0x662b    0x7f60
+0x662c    0x7f68
+0x662d    0x7f69
+0x662e    0x7f67
+0x662f    0x7f78
+0x6630    0x7f82
+0x6631    0x7f86
+0x6632    0x7f83
+0x6633    0x7f88
+0x6634    0x7f87
+0x6635    0x7f8c
+0x6636    0x7f94
+0x6637    0x7f9e
+0x6638    0x7f9d
+0x6639    0x7f9a
+0x663a    0x7fa3
+0x663b    0x7faf
+0x663c    0x7fb2
+0x663d    0x7fb9
+0x663e    0x7fae
+0x663f    0x7fb6
+0x6640    0x7fb8
+0x6641    0x8b71
+0x6642    0x7fc5
+0x6643    0x7fc6
+0x6644    0x7fca
+0x6645    0x7fd5
+0x6646    0x7fd4
+0x6647    0x7fe1
+0x6648    0x7fe6
+0x6649    0x7fe9
+0x664a    0x7ff3
+0x664b    0x7ff9
+0x664c    0x98dc
+0x664d    0x8006
+0x664e    0x8004
+0x664f    0x800b
+0x6650    0x8012
+0x6651    0x8018
+0x6652    0x8019
+0x6653    0x801c
+0x6654    0x8021
+0x6655    0x8028
+0x6656    0x803f
+0x6657    0x803b
+0x6658    0x804a
+0x6659    0x8046
+0x665a    0x8052
+0x665b    0x8058
+0x665c    0x805a
+0x665d    0x805f
+0x665e    0x8062
+0x665f    0x8068
+0x6660    0x8073
+0x6661    0x8072
+0x6662    0x8070
+0x6663    0x8076
+0x6664    0x8079
+0x6665    0x807d
+0x6666    0x807f
+0x6667    0x8084
+0x6668    0x8086
+0x6669    0x8085
+0x666a    0x809b
+0x666b    0x8093
+0x666c    0x809a
+0x666d    0x80ad
+0x666e    0x5190
+0x666f    0x80ac
+0x6670    0x80db
+0x6671    0x80e5
+0x6672    0x80d9
+0x6673    0x80dd
+0x6674    0x80c4
+0x6675    0x80da
+0x6676    0x80d6
+0x6677    0x8109
+0x6678    0x80ef
+0x6679    0x80f1
+0x667a    0x811b
+0x667b    0x8129
+0x667c    0x8123
+0x667d    0x812f
+0x667e    0x814b
+0x6721    0x968b
+0x6722    0x8146
+0x6723    0x813e
+0x6724    0x8153
+0x6725    0x8151
+0x6726    0x80fc
+0x6727    0x8171
+0x6728    0x816e
+0x6729    0x8165
+0x672a    0x8166
+0x672b    0x8174
+0x672c    0x8183
+0x672d    0x8188
+0x672e    0x818a
+0x672f    0x8180
+0x6730    0x8182
+0x6731    0x81a0
+0x6732    0x8195
+0x6733    0x81a4
+0x6734    0x81a3
+0x6735    0x815f
+0x6736    0x8193
+0x6737    0x81a9
+0x6738    0x81b0
+0x6739    0x81b5
+0x673a    0x81be
+0x673b    0x81b8
+0x673c    0x81bd
+0x673d    0x81c0
+0x673e    0x81c2
+0x673f    0x81ba
+0x6740    0x81c9
+0x6741    0x81cd
+0x6742    0x81d1
+0x6743    0x81d9
+0x6744    0x81d8
+0x6745    0x81c8
+0x6746    0x81da
+0x6747    0x81df
+0x6748    0x81e0
+0x6749    0x81e7
+0x674a    0x81fa
+0x674b    0x81fb
+0x674c    0x81fe
+0x674d    0x8201
+0x674e    0x8202
+0x674f    0x8205
+0x6750    0x8207
+0x6751    0x820a
+0x6752    0x820d
+0x6753    0x8210
+0x6754    0x8216
+0x6755    0x8229
+0x6756    0x822b
+0x6757    0x8238
+0x6758    0x8233
+0x6759    0x8240
+0x675a    0x8259
+0x675b    0x8258
+0x675c    0x825d
+0x675d    0x825a
+0x675e    0x825f
+0x675f    0x8264
+0x6760    0x8262
+0x6761    0x8268
+0x6762    0x826a
+0x6763    0x826b
+0x6764    0x822e
+0x6765    0x8271
+0x6766    0x8277
+0x6767    0x8278
+0x6768    0x827e
+0x6769    0x828d
+0x676a    0x8292
+0x676b    0x82ab
+0x676c    0x829f
+0x676d    0x82bb
+0x676e    0x82ac
+0x676f    0x82e1
+0x6770    0x82e3
+0x6771    0x82df
+0x6772    0x82d2
+0x6773    0x82f4
+0x6774    0x82f3
+0x6775    0x82fa
+0x6776    0x8393
+0x6777    0x8303
+0x6778    0x82fb
+0x6779    0x82f9
+0x677a    0x82de
+0x677b    0x8306
+0x677c    0x82dc
+0x677d    0x8309
+0x677e    0x82d9
+0x6821    0x8335
+0x6822    0x8334
+0x6823    0x8316
+0x6824    0x8332
+0x6825    0x8331
+0x6826    0x8340
+0x6827    0x8339
+0x6828    0x8350
+0x6829    0x8345
+0x682a    0x832f
+0x682b    0x832b
+0x682c    0x8317
+0x682d    0x8318
+0x682e    0x8385
+0x682f    0x839a
+0x6830    0x83aa
+0x6831    0x839f
+0x6832    0x83a2
+0x6833    0x8396
+0x6834    0x8323
+0x6835    0x838e
+0x6836    0x8387
+0x6837    0x838a
+0x6838    0x837c
+0x6839    0x83b5
+0x683a    0x8373
+0x683b    0x8375
+0x683c    0x83a0
+0x683d    0x8389
+0x683e    0x83a8
+0x683f    0x83f4
+0x6840    0x8413
+0x6841    0x83eb
+0x6842    0x83ce
+0x6843    0x83fd
+0x6844    0x8403
+0x6845    0x83d8
+0x6846    0x840b
+0x6847    0x83c1
+0x6848    0x83f7
+0x6849    0x8407
+0x684a    0x83e0
+0x684b    0x83f2
+0x684c    0x840d
+0x684d    0x8422
+0x684e    0x8420
+0x684f    0x83bd
+0x6850    0x8438
+0x6851    0x8506
+0x6852    0x83fb
+0x6853    0x846d
+0x6854    0x842a
+0x6855    0x843c
+0x6856    0x855a
+0x6857    0x8484
+0x6858    0x8477
+0x6859    0x846b
+0x685a    0x84ad
+0x685b    0x846e
+0x685c    0x8482
+0x685d    0x8469
+0x685e    0x8446
+0x685f    0x842c
+0x6860    0x846f
+0x6861    0x8479
+0x6862    0x8435
+0x6863    0x84ca
+0x6864    0x8462
+0x6865    0x84b9
+0x6866    0x84bf
+0x6867    0x849f
+0x6868    0x84d9
+0x6869    0x84cd
+0x686a    0x84bb
+0x686b    0x84da
+0x686c    0x84d0
+0x686d    0x84c1
+0x686e    0x84c6
+0x686f    0x84d6
+0x6870    0x84a1
+0x6871    0x8521
+0x6872    0x84ff
+0x6873    0x84f4
+0x6874    0x8517
+0x6875    0x8518
+0x6876    0x852c
+0x6877    0x851f
+0x6878    0x8515
+0x6879    0x8514
+0x687a    0x84fc
+0x687b    0x8540
+0x687c    0x8563
+0x687d    0x8558
+0x687e    0x8548
+0x6921    0x8541
+0x6922    0x8602
+0x6923    0x854b
+0x6924    0x8555
+0x6925    0x8580
+0x6926    0x85a4
+0x6927    0x8588
+0x6928    0x8591
+0x6929    0x858a
+0x692a    0x85a8
+0x692b    0x856d
+0x692c    0x8594
+0x692d    0x859b
+0x692e    0x85ea
+0x692f    0x8587
+0x6930    0x859c
+0x6931    0x8577
+0x6932    0x857e
+0x6933    0x8590
+0x6934    0x85c9
+0x6935    0x85ba
+0x6936    0x85cf
+0x6937    0x85b9
+0x6938    0x85d0
+0x6939    0x85d5
+0x693a    0x85dd
+0x693b    0x85e5
+0x693c    0x85dc
+0x693d    0x85f9
+0x693e    0x860a
+0x693f    0x8613
+0x6940    0x860b
+0x6941    0x85fe
+0x6942    0x85fa
+0x6943    0x8606
+0x6944    0x8622
+0x6945    0x861a
+0x6946    0x8630
+0x6947    0x863f
+0x6948    0x864d
+0x6949    0x4e55
+0x694a    0x8654
+0x694b    0x865f
+0x694c    0x8667
+0x694d    0x8671
+0x694e    0x8693
+0x694f    0x86a3
+0x6950    0x86a9
+0x6951    0x86aa
+0x6952    0x868b
+0x6953    0x868c
+0x6954    0x86b6
+0x6955    0x86af
+0x6956    0x86c4
+0x6957    0x86c6
+0x6958    0x86b0
+0x6959    0x86c9
+0x695a    0x8823
+0x695b    0x86ab
+0x695c    0x86d4
+0x695d    0x86de
+0x695e    0x86e9
+0x695f    0x86ec
+0x6960    0x86df
+0x6961    0x86db
+0x6962    0x86ef
+0x6963    0x8712
+0x6964    0x8706
+0x6965    0x8708
+0x6966    0x8700
+0x6967    0x8703
+0x6968    0x86fb
+0x6969    0x8711
+0x696a    0x8709
+0x696b    0x870d
+0x696c    0x86f9
+0x696d    0x870a
+0x696e    0x8734
+0x696f    0x873f
+0x6970    0x8737
+0x6971    0x873b
+0x6972    0x8725
+0x6973    0x8729
+0x6974    0x871a
+0x6975    0x8760
+0x6976    0x875f
+0x6977    0x8778
+0x6978    0x874c
+0x6979    0x874e
+0x697a    0x8774
+0x697b    0x8757
+0x697c    0x8768
+0x697d    0x876e
+0x697e    0x8759
+0x6a21    0x8753
+0x6a22    0x8763
+0x6a23    0x876a
+0x6a24    0x8805
+0x6a25    0x87a2
+0x6a26    0x879f
+0x6a27    0x8782
+0x6a28    0x87af
+0x6a29    0x87cb
+0x6a2a    0x87bd
+0x6a2b    0x87c0
+0x6a2c    0x87d0
+0x6a2d    0x96d6
+0x6a2e    0x87ab
+0x6a2f    0x87c4
+0x6a30    0x87b3
+0x6a31    0x87c7
+0x6a32    0x87c6
+0x6a33    0x87bb
+0x6a34    0x87ef
+0x6a35    0x87f2
+0x6a36    0x87e0
+0x6a37    0x880f
+0x6a38    0x880d
+0x6a39    0x87fe
+0x6a3a    0x87f6
+0x6a3b    0x87f7
+0x6a3c    0x880e
+0x6a3d    0x87d2
+0x6a3e    0x8811
+0x6a3f    0x8816
+0x6a40    0x8815
+0x6a41    0x8822
+0x6a42    0x8821
+0x6a43    0x8831
+0x6a44    0x8836
+0x6a45    0x8839
+0x6a46    0x8827
+0x6a47    0x883b
+0x6a48    0x8844
+0x6a49    0x8842
+0x6a4a    0x8852
+0x6a4b    0x8859
+0x6a4c    0x885e
+0x6a4d    0x8862
+0x6a4e    0x886b
+0x6a4f    0x8881
+0x6a50    0x887e
+0x6a51    0x889e
+0x6a52    0x8875
+0x6a53    0x887d
+0x6a54    0x88b5
+0x6a55    0x8872
+0x6a56    0x8882
+0x6a57    0x8897
+0x6a58    0x8892
+0x6a59    0x88ae
+0x6a5a    0x8899
+0x6a5b    0x88a2
+0x6a5c    0x888d
+0x6a5d    0x88a4
+0x6a5e    0x88b0
+0x6a5f    0x88bf
+0x6a60    0x88b1
+0x6a61    0x88c3
+0x6a62    0x88c4
+0x6a63    0x88d4
+0x6a64    0x88d8
+0x6a65    0x88d9
+0x6a66    0x88dd
+0x6a67    0x88f9
+0x6a68    0x8902
+0x6a69    0x88fc
+0x6a6a    0x88f4
+0x6a6b    0x88e8
+0x6a6c    0x88f2
+0x6a6d    0x8904
+0x6a6e    0x890c
+0x6a6f    0x890a
+0x6a70    0x8913
+0x6a71    0x8943
+0x6a72    0x891e
+0x6a73    0x8925
+0x6a74    0x892a
+0x6a75    0x892b
+0x6a76    0x8941
+0x6a77    0x8944
+0x6a78    0x893b
+0x6a79    0x8936
+0x6a7a    0x8938
+0x6a7b    0x894c
+0x6a7c    0x891d
+0x6a7d    0x8960
+0x6a7e    0x895e
+0x6b21    0x8966
+0x6b22    0x8964
+0x6b23    0x896d
+0x6b24    0x896a
+0x6b25    0x896f
+0x6b26    0x8974
+0x6b27    0x8977
+0x6b28    0x897e
+0x6b29    0x8983
+0x6b2a    0x8988
+0x6b2b    0x898a
+0x6b2c    0x8993
+0x6b2d    0x8998
+0x6b2e    0x89a1
+0x6b2f    0x89a9
+0x6b30    0x89a6
+0x6b31    0x89ac
+0x6b32    0x89af
+0x6b33    0x89b2
+0x6b34    0x89ba
+0x6b35    0x89bd
+0x6b36    0x89bf
+0x6b37    0x89c0
+0x6b38    0x89da
+0x6b39    0x89dc
+0x6b3a    0x89dd
+0x6b3b    0x89e7
+0x6b3c    0x89f4
+0x6b3d    0x89f8
+0x6b3e    0x8a03
+0x6b3f    0x8a16
+0x6b40    0x8a10
+0x6b41    0x8a0c
+0x6b42    0x8a1b
+0x6b43    0x8a1d
+0x6b44    0x8a25
+0x6b45    0x8a36
+0x6b46    0x8a41
+0x6b47    0x8a5b
+0x6b48    0x8a52
+0x6b49    0x8a46
+0x6b4a    0x8a48
+0x6b4b    0x8a7c
+0x6b4c    0x8a6d
+0x6b4d    0x8a6c
+0x6b4e    0x8a62
+0x6b4f    0x8a85
+0x6b50    0x8a82
+0x6b51    0x8a84
+0x6b52    0x8aa8
+0x6b53    0x8aa1
+0x6b54    0x8a91
+0x6b55    0x8aa5
+0x6b56    0x8aa6
+0x6b57    0x8a9a
+0x6b58    0x8aa3
+0x6b59    0x8ac4
+0x6b5a    0x8acd
+0x6b5b    0x8ac2
+0x6b5c    0x8ada
+0x6b5d    0x8aeb
+0x6b5e    0x8af3
+0x6b5f    0x8ae7
+0x6b60    0x8ae4
+0x6b61    0x8af1
+0x6b62    0x8b14
+0x6b63    0x8ae0
+0x6b64    0x8ae2
+0x6b65    0x8af7
+0x6b66    0x8ade
+0x6b67    0x8adb
+0x6b68    0x8b0c
+0x6b69    0x8b07
+0x6b6a    0x8b1a
+0x6b6b    0x8ae1
+0x6b6c    0x8b16
+0x6b6d    0x8b10
+0x6b6e    0x8b17
+0x6b6f    0x8b20
+0x6b70    0x8b33
+0x6b71    0x97ab
+0x6b72    0x8b26
+0x6b73    0x8b2b
+0x6b74    0x8b3e
+0x6b75    0x8b28
+0x6b76    0x8b41
+0x6b77    0x8b4c
+0x6b78    0x8b4f
+0x6b79    0x8b4e
+0x6b7a    0x8b49
+0x6b7b    0x8b56
+0x6b7c    0x8b5b
+0x6b7d    0x8b5a
+0x6b7e    0x8b6b
+0x6c21    0x8b5f
+0x6c22    0x8b6c
+0x6c23    0x8b6f
+0x6c24    0x8b74
+0x6c25    0x8b7d
+0x6c26    0x8b80
+0x6c27    0x8b8c
+0x6c28    0x8b8e
+0x6c29    0x8b92
+0x6c2a    0x8b93
+0x6c2b    0x8b96
+0x6c2c    0x8b99
+0x6c2d    0x8b9a
+0x6c2e    0x8c3a
+0x6c2f    0x8c41
+0x6c30    0x8c3f
+0x6c31    0x8c48
+0x6c32    0x8c4c
+0x6c33    0x8c4e
+0x6c34    0x8c50
+0x6c35    0x8c55
+0x6c36    0x8c62
+0x6c37    0x8c6c
+0x6c38    0x8c78
+0x6c39    0x8c7a
+0x6c3a    0x8c82
+0x6c3b    0x8c89
+0x6c3c    0x8c85
+0x6c3d    0x8c8a
+0x6c3e    0x8c8d
+0x6c3f    0x8c8e
+0x6c40    0x8c94
+0x6c41    0x8c7c
+0x6c42    0x8c98
+0x6c43    0x621d
+0x6c44    0x8cad
+0x6c45    0x8caa
+0x6c46    0x8cbd
+0x6c47    0x8cb2
+0x6c48    0x8cb3
+0x6c49    0x8cae
+0x6c4a    0x8cb6
+0x6c4b    0x8cc8
+0x6c4c    0x8cc1
+0x6c4d    0x8ce4
+0x6c4e    0x8ce3
+0x6c4f    0x8cda
+0x6c50    0x8cfd
+0x6c51    0x8cfa
+0x6c52    0x8cfb
+0x6c53    0x8d04
+0x6c54    0x8d05
+0x6c55    0x8d0a
+0x6c56    0x8d07
+0x6c57    0x8d0f
+0x6c58    0x8d0d
+0x6c59    0x8d10
+0x6c5a    0x9f4e
+0x6c5b    0x8d13
+0x6c5c    0x8ccd
+0x6c5d    0x8d14
+0x6c5e    0x8d16
+0x6c5f    0x8d67
+0x6c60    0x8d6d
+0x6c61    0x8d71
+0x6c62    0x8d73
+0x6c63    0x8d81
+0x6c64    0x8d99
+0x6c65    0x8dc2
+0x6c66    0x8dbe
+0x6c67    0x8dba
+0x6c68    0x8dcf
+0x6c69    0x8dda
+0x6c6a    0x8dd6
+0x6c6b    0x8dcc
+0x6c6c    0x8ddb
+0x6c6d    0x8dcb
+0x6c6e    0x8dea
+0x6c6f    0x8deb
+0x6c70    0x8ddf
+0x6c71    0x8de3
+0x6c72    0x8dfc
+0x6c73    0x8e08
+0x6c74    0x8e09
+0x6c75    0x8dff
+0x6c76    0x8e1d
+0x6c77    0x8e1e
+0x6c78    0x8e10
+0x6c79    0x8e1f
+0x6c7a    0x8e42
+0x6c7b    0x8e35
+0x6c7c    0x8e30
+0x6c7d    0x8e34
+0x6c7e    0x8e4a
+0x6d21    0x8e47
+0x6d22    0x8e49
+0x6d23    0x8e4c
+0x6d24    0x8e50
+0x6d25    0x8e48
+0x6d26    0x8e59
+0x6d27    0x8e64
+0x6d28    0x8e60
+0x6d29    0x8e2a
+0x6d2a    0x8e63
+0x6d2b    0x8e55
+0x6d2c    0x8e76
+0x6d2d    0x8e72
+0x6d2e    0x8e7c
+0x6d2f    0x8e81
+0x6d30    0x8e87
+0x6d31    0x8e85
+0x6d32    0x8e84
+0x6d33    0x8e8b
+0x6d34    0x8e8a
+0x6d35    0x8e93
+0x6d36    0x8e91
+0x6d37    0x8e94
+0x6d38    0x8e99
+0x6d39    0x8eaa
+0x6d3a    0x8ea1
+0x6d3b    0x8eac
+0x6d3c    0x8eb0
+0x6d3d    0x8ec6
+0x6d3e    0x8eb1
+0x6d3f    0x8ebe
+0x6d40    0x8ec5
+0x6d41    0x8ec8
+0x6d42    0x8ecb
+0x6d43    0x8edb
+0x6d44    0x8ee3
+0x6d45    0x8efc
+0x6d46    0x8efb
+0x6d47    0x8eeb
+0x6d48    0x8efe
+0x6d49    0x8f0a
+0x6d4a    0x8f05
+0x6d4b    0x8f15
+0x6d4c    0x8f12
+0x6d4d    0x8f19
+0x6d4e    0x8f13
+0x6d4f    0x8f1c
+0x6d50    0x8f1f
+0x6d51    0x8f1b
+0x6d52    0x8f0c
+0x6d53    0x8f26
+0x6d54    0x8f33
+0x6d55    0x8f3b
+0x6d56    0x8f39
+0x6d57    0x8f45
+0x6d58    0x8f42
+0x6d59    0x8f3e
+0x6d5a    0x8f4c
+0x6d5b    0x8f49
+0x6d5c    0x8f46
+0x6d5d    0x8f4e
+0x6d5e    0x8f57
+0x6d5f    0x8f5c
+0x6d60    0x8f62
+0x6d61    0x8f63
+0x6d62    0x8f64
+0x6d63    0x8f9c
+0x6d64    0x8f9f
+0x6d65    0x8fa3
+0x6d66    0x8fad
+0x6d67    0x8faf
+0x6d68    0x8fb7
+0x6d69    0x8fda
+0x6d6a    0x8fe5
+0x6d6b    0x8fe2
+0x6d6c    0x8fea
+0x6d6d    0x8fef
+0x6d6e    0x9087
+0x6d6f    0x8ff4
+0x6d70    0x9005
+0x6d71    0x8ff9
+0x6d72    0x8ffa
+0x6d73    0x9011
+0x6d74    0x9015
+0x6d75    0x9021
+0x6d76    0x900d
+0x6d77    0x901e
+0x6d78    0x9016
+0x6d79    0x900b
+0x6d7a    0x9027
+0x6d7b    0x9036
+0x6d7c    0x9035
+0x6d7d    0x9039
+0x6d7e    0x8ff8
+0x6e21    0x904f
+0x6e22    0x9050
+0x6e23    0x9051
+0x6e24    0x9052
+0x6e25    0x900e
+0x6e26    0x9049
+0x6e27    0x903e
+0x6e28    0x9056
+0x6e29    0x9058
+0x6e2a    0x905e
+0x6e2b    0x9068
+0x6e2c    0x906f
+0x6e2d    0x9076
+0x6e2e    0x96a8
+0x6e2f    0x9072
+0x6e30    0x9082
+0x6e31    0x907d
+0x6e32    0x9081
+0x6e33    0x9080
+0x6e34    0x908a
+0x6e35    0x9089
+0x6e36    0x908f
+0x6e37    0x90a8
+0x6e38    0x90af
+0x6e39    0x90b1
+0x6e3a    0x90b5
+0x6e3b    0x90e2
+0x6e3c    0x90e4
+0x6e3d    0x6248
+0x6e3e    0x90db
+0x6e3f    0x9102
+0x6e40    0x9112
+0x6e41    0x9119
+0x6e42    0x9132
+0x6e43    0x9130
+0x6e44    0x914a
+0x6e45    0x9156
+0x6e46    0x9158
+0x6e47    0x9163
+0x6e48    0x9165
+0x6e49    0x9169
+0x6e4a    0x9173
+0x6e4b    0x9172
+0x6e4c    0x918b
+0x6e4d    0x9189
+0x6e4e    0x9182
+0x6e4f    0x91a2
+0x6e50    0x91ab
+0x6e51    0x91af
+0x6e52    0x91aa
+0x6e53    0x91b5
+0x6e54    0x91b4
+0x6e55    0x91ba
+0x6e56    0x91c0
+0x6e57    0x91c1
+0x6e58    0x91c9
+0x6e59    0x91cb
+0x6e5a    0x91d0
+0x6e5b    0x91d6
+0x6e5c    0x91df
+0x6e5d    0x91e1
+0x6e5e    0x91db
+0x6e5f    0x91fc
+0x6e60    0x91f5
+0x6e61    0x91f6
+0x6e62    0x921e
+0x6e63    0x91ff
+0x6e64    0x9214
+0x6e65    0x922c
+0x6e66    0x9215
+0x6e67    0x9211
+0x6e68    0x925e
+0x6e69    0x9257
+0x6e6a    0x9245
+0x6e6b    0x9249
+0x6e6c    0x9264
+0x6e6d    0x9248
+0x6e6e    0x9295
+0x6e6f    0x923f
+0x6e70    0x924b
+0x6e71    0x9250
+0x6e72    0x929c
+0x6e73    0x9296
+0x6e74    0x9293
+0x6e75    0x929b
+0x6e76    0x925a
+0x6e77    0x92cf
+0x6e78    0x92b9
+0x6e79    0x92b7
+0x6e7a    0x92e9
+0x6e7b    0x930f
+0x6e7c    0x92fa
+0x6e7d    0x9344
+0x6e7e    0x932e
+0x6f21    0x9319
+0x6f22    0x9322
+0x6f23    0x931a
+0x6f24    0x9323
+0x6f25    0x933a
+0x6f26    0x9335
+0x6f27    0x933b
+0x6f28    0x935c
+0x6f29    0x9360
+0x6f2a    0x937c
+0x6f2b    0x936e
+0x6f2c    0x9356
+0x6f2d    0x93b0
+0x6f2e    0x93ac
+0x6f2f    0x93ad
+0x6f30    0x9394
+0x6f31    0x93b9
+0x6f32    0x93d6
+0x6f33    0x93d7
+0x6f34    0x93e8
+0x6f35    0x93e5
+0x6f36    0x93d8
+0x6f37    0x93c3
+0x6f38    0x93dd
+0x6f39    0x93d0
+0x6f3a    0x93c8
+0x6f3b    0x93e4
+0x6f3c    0x941a
+0x6f3d    0x9414
+0x6f3e    0x9413
+0x6f3f    0x9403
+0x6f40    0x9407
+0x6f41    0x9410
+0x6f42    0x9436
+0x6f43    0x942b
+0x6f44    0x9435
+0x6f45    0x9421
+0x6f46    0x943a
+0x6f47    0x9441
+0x6f48    0x9452
+0x6f49    0x9444
+0x6f4a    0x945b
+0x6f4b    0x9460
+0x6f4c    0x9462
+0x6f4d    0x945e
+0x6f4e    0x946a
+0x6f4f    0x9229
+0x6f50    0x9470
+0x6f51    0x9475
+0x6f52    0x9477
+0x6f53    0x947d
+0x6f54    0x945a
+0x6f55    0x947c
+0x6f56    0x947e
+0x6f57    0x9481
+0x6f58    0x947f
+0x6f59    0x9582
+0x6f5a    0x9587
+0x6f5b    0x958a
+0x6f5c    0x9594
+0x6f5d    0x9596
+0x6f5e    0x9598
+0x6f5f    0x9599
+0x6f60    0x95a0
+0x6f61    0x95a8
+0x6f62    0x95a7
+0x6f63    0x95ad
+0x6f64    0x95bc
+0x6f65    0x95bb
+0x6f66    0x95b9
+0x6f67    0x95be
+0x6f68    0x95ca
+0x6f69    0x6ff6
+0x6f6a    0x95c3
+0x6f6b    0x95cd
+0x6f6c    0x95cc
+0x6f6d    0x95d5
+0x6f6e    0x95d4
+0x6f6f    0x95d6
+0x6f70    0x95dc
+0x6f71    0x95e1
+0x6f72    0x95e5
+0x6f73    0x95e2
+0x6f74    0x9621
+0x6f75    0x9628
+0x6f76    0x962e
+0x6f77    0x962f
+0x6f78    0x9642
+0x6f79    0x964c
+0x6f7a    0x964f
+0x6f7b    0x964b
+0x6f7c    0x9677
+0x6f7d    0x965c
+0x6f7e    0x965e
+0x7021    0x965d
+0x7022    0x965f
+0x7023    0x9666
+0x7024    0x9672
+0x7025    0x966c
+0x7026    0x968d
+0x7027    0x9698
+0x7028    0x9695
+0x7029    0x9697
+0x702a    0x96aa
+0x702b    0x96a7
+0x702c    0x96b1
+0x702d    0x96b2
+0x702e    0x96b0
+0x702f    0x96b4
+0x7030    0x96b6
+0x7031    0x96b8
+0x7032    0x96b9
+0x7033    0x96ce
+0x7034    0x96cb
+0x7035    0x96c9
+0x7036    0x96cd
+0x7037    0x894d
+0x7038    0x96dc
+0x7039    0x970d
+0x703a    0x96d5
+0x703b    0x96f9
+0x703c    0x9704
+0x703d    0x9706
+0x703e    0x9708
+0x703f    0x9713
+0x7040    0x970e
+0x7041    0x9711
+0x7042    0x970f
+0x7043    0x9716
+0x7044    0x9719
+0x7045    0x9724
+0x7046    0x972a
+0x7047    0x9730
+0x7048    0x9739
+0x7049    0x973d
+0x704a    0x973e
+0x704b    0x9744
+0x704c    0x9746
+0x704d    0x9748
+0x704e    0x9742
+0x704f    0x9749
+0x7050    0x975c
+0x7051    0x9760
+0x7052    0x9764
+0x7053    0x9766
+0x7054    0x9768
+0x7055    0x52d2
+0x7056    0x976b
+0x7057    0x9771
+0x7058    0x9779
+0x7059    0x9785
+0x705a    0x977c
+0x705b    0x9781
+0x705c    0x977a
+0x705d    0x9786
+0x705e    0x978b
+0x705f    0x978f
+0x7060    0x9790
+0x7061    0x979c
+0x7062    0x97a8
+0x7063    0x97a6
+0x7064    0x97a3
+0x7065    0x97b3
+0x7066    0x97b4
+0x7067    0x97c3
+0x7068    0x97c6
+0x7069    0x97c8
+0x706a    0x97cb
+0x706b    0x97dc
+0x706c    0x97ed
+0x706d    0x9f4f
+0x706e    0x97f2
+0x706f    0x7adf
+0x7070    0x97f6
+0x7071    0x97f5
+0x7072    0x980f
+0x7073    0x980c
+0x7074    0x9838
+0x7075    0x9824
+0x7076    0x9821
+0x7077    0x9837
+0x7078    0x983d
+0x7079    0x9846
+0x707a    0x984f
+0x707b    0x984b
+0x707c    0x986b
+0x707d    0x986f
+0x707e    0x9870
+0x7121    0x9871
+0x7122    0x9874
+0x7123    0x9873
+0x7124    0x98aa
+0x7125    0x98af
+0x7126    0x98b1
+0x7127    0x98b6
+0x7128    0x98c4
+0x7129    0x98c3
+0x712a    0x98c6
+0x712b    0x98e9
+0x712c    0x98eb
+0x712d    0x9903
+0x712e    0x9909
+0x712f    0x9912
+0x7130    0x9914
+0x7131    0x9918
+0x7132    0x9921
+0x7133    0x991d
+0x7134    0x991e
+0x7135    0x9924
+0x7136    0x9920
+0x7137    0x992c
+0x7138    0x992e
+0x7139    0x993d
+0x713a    0x993e
+0x713b    0x9942
+0x713c    0x9949
+0x713d    0x9945
+0x713e    0x9950
+0x713f    0x994b
+0x7140    0x9951
+0x7141    0x9952
+0x7142    0x994c
+0x7143    0x9955
+0x7144    0x9997
+0x7145    0x9998
+0x7146    0x99a5
+0x7147    0x99ad
+0x7148    0x99ae
+0x7149    0x99bc
+0x714a    0x99df
+0x714b    0x99db
+0x714c    0x99dd
+0x714d    0x99d8
+0x714e    0x99d1
+0x714f    0x99ed
+0x7150    0x99ee
+0x7151    0x99f1
+0x7152    0x99f2
+0x7153    0x99fb
+0x7154    0x99f8
+0x7155    0x9a01
+0x7156    0x9a0f
+0x7157    0x9a05
+0x7158    0x99e2
+0x7159    0x9a19
+0x715a    0x9a2b
+0x715b    0x9a37
+0x715c    0x9a45
+0x715d    0x9a42
+0x715e    0x9a40
+0x715f    0x9a43
+0x7160    0x9a3e
+0x7161    0x9a55
+0x7162    0x9a4d
+0x7163    0x9a5b
+0x7164    0x9a57
+0x7165    0x9a5f
+0x7166    0x9a62
+0x7167    0x9a65
+0x7168    0x9a64
+0x7169    0x9a69
+0x716a    0x9a6b
+0x716b    0x9a6a
+0x716c    0x9aad
+0x716d    0x9ab0
+0x716e    0x9abc
+0x716f    0x9ac0
+0x7170    0x9acf
+0x7171    0x9ad1
+0x7172    0x9ad3
+0x7173    0x9ad4
+0x7174    0x9ade
+0x7175    0x9adf
+0x7176    0x9ae2
+0x7177    0x9ae3
+0x7178    0x9ae6
+0x7179    0x9aef
+0x717a    0x9aeb
+0x717b    0x9aee
+0x717c    0x9af4
+0x717d    0x9af1
+0x717e    0x9af7
+0x7221    0x9afb
+0x7222    0x9b06
+0x7223    0x9b18
+0x7224    0x9b1a
+0x7225    0x9b1f
+0x7226    0x9b22
+0x7227    0x9b23
+0x7228    0x9b25
+0x7229    0x9b27
+0x722a    0x9b28
+0x722b    0x9b29
+0x722c    0x9b2a
+0x722d    0x9b2e
+0x722e    0x9b2f
+0x722f    0x9b32
+0x7230    0x9b44
+0x7231    0x9b43
+0x7232    0x9b4f
+0x7233    0x9b4d
+0x7234    0x9b4e
+0x7235    0x9b51
+0x7236    0x9b58
+0x7237    0x9b74
+0x7238    0x9b93
+0x7239    0x9b83
+0x723a    0x9b91
+0x723b    0x9b96
+0x723c    0x9b97
+0x723d    0x9b9f
+0x723e    0x9ba0
+0x723f    0x9ba8
+0x7240    0x9bb4
+0x7241    0x9bc0
+0x7242    0x9bca
+0x7243    0x9bb9
+0x7244    0x9bc6
+0x7245    0x9bcf
+0x7246    0x9bd1
+0x7247    0x9bd2
+0x7248    0x9be3
+0x7249    0x9be2
+0x724a    0x9be4
+0x724b    0x9bd4
+0x724c    0x9be1
+0x724d    0x9c3a
+0x724e    0x9bf2
+0x724f    0x9bf1
+0x7250    0x9bf0
+0x7251    0x9c15
+0x7252    0x9c14
+0x7253    0x9c09
+0x7254    0x9c13
+0x7255    0x9c0c
+0x7256    0x9c06
+0x7257    0x9c08
+0x7258    0x9c12
+0x7259    0x9c0a
+0x725a    0x9c04
+0x725b    0x9c2e
+0x725c    0x9c1b
+0x725d    0x9c25
+0x725e    0x9c24
+0x725f    0x9c21
+0x7260    0x9c30
+0x7261    0x9c47
+0x7262    0x9c32
+0x7263    0x9c46
+0x7264    0x9c3e
+0x7265    0x9c5a
+0x7266    0x9c60
+0x7267    0x9c67
+0x7268    0x9c76
+0x7269    0x9c78
+0x726a    0x9ce7
+0x726b    0x9cec
+0x726c    0x9cf0
+0x726d    0x9d09
+0x726e    0x9d08
+0x726f    0x9ceb
+0x7270    0x9d03
+0x7271    0x9d06
+0x7272    0x9d2a
+0x7273    0x9d26
+0x7274    0x9daf
+0x7275    0x9d23
+0x7276    0x9d1f
+0x7277    0x9d44
+0x7278    0x9d15
+0x7279    0x9d12
+0x727a    0x9d41
+0x727b    0x9d3f
+0x727c    0x9d3e
+0x727d    0x9d46
+0x727e    0x9d48
+0x7321    0x9d5d
+0x7322    0x9d5e
+0x7323    0x9d64
+0x7324    0x9d51
+0x7325    0x9d50
+0x7326    0x9d59
+0x7327    0x9d72
+0x7328    0x9d89
+0x7329    0x9d87
+0x732a    0x9dab
+0x732b    0x9d6f
+0x732c    0x9d7a
+0x732d    0x9d9a
+0x732e    0x9da4
+0x732f    0x9da9
+0x7330    0x9db2
+0x7331    0x9dc4
+0x7332    0x9dc1
+0x7333    0x9dbb
+0x7334    0x9db8
+0x7335    0x9dba
+0x7336    0x9dc6
+0x7337    0x9dcf
+0x7338    0x9dc2
+0x7339    0x9dd9
+0x733a    0x9dd3
+0x733b    0x9df8
+0x733c    0x9de6
+0x733d    0x9ded
+0x733e    0x9def
+0x733f    0x9dfd
+0x7340    0x9e1a
+0x7341    0x9e1b
+0x7342    0x9e1e
+0x7343    0x9e75
+0x7344    0x9e79
+0x7345    0x9e7d
+0x7346    0x9e81
+0x7347    0x9e88
+0x7348    0x9e8b
+0x7349    0x9e8c
+0x734a    0x9e92
+0x734b    0x9e95
+0x734c    0x9e91
+0x734d    0x9e9d
+0x734e    0x9ea5
+0x734f    0x9ea9
+0x7350    0x9eb8
+0x7351    0x9eaa
+0x7352    0x9ead
+0x7353    0x9761
+0x7354    0x9ecc
+0x7355    0x9ece
+0x7356    0x9ecf
+0x7357    0x9ed0
+0x7358    0x9ed4
+0x7359    0x9edc
+0x735a    0x9ede
+0x735b    0x9edd
+0x735c    0x9ee0
+0x735d    0x9ee5
+0x735e    0x9ee8
+0x735f    0x9eef
+0x7360    0x9ef4
+0x7361    0x9ef6
+0x7362    0x9ef7
+0x7363    0x9ef9
+0x7364    0x9efb
+0x7365    0x9efc
+0x7366    0x9efd
+0x7367    0x9f07
+0x7368    0x9f08
+0x7369    0x76b7
+0x736a    0x9f15
+0x736b    0x9f21
+0x736c    0x9f2c
+0x736d    0x9f3e
+0x736e    0x9f4a
+0x736f    0x9f52
+0x7370    0x9f54
+0x7371    0x9f63
+0x7372    0x9f5f
+0x7373    0x9f60
+0x7374    0x9f61
+0x7375    0x9f66
+0x7376    0x9f67
+0x7377    0x9f6c
+0x7378    0x9f6a
+0x7379    0x9f77
+0x737a    0x9f72
+0x737b    0x9f76
+0x737c    0x9f95
+0x737d    0x9f9c
+0x737e    0x9fa0
+0x7421    0x582f
+0x7422    0x69c7
+0x7423    0x9059
+0x7424    0x7464
+0x7425    0x51dc
+0x7426    0x7199
+0x7921    0x7e8a
+0x7922    0x891c
+0x7923    0x9348
+0x7924    0x9288
+0x7925    0x84dc
+0x7926    0x4fc9
+0x7927    0x70bb
+0x7928    0x6631
+0x7929    0x68c8
+0x792a    0x92f9
+0x792b    0x66fb
+0x792c    0x5f45
+0x792d    0x4e28
+0x792e    0x4ee1
+0x792f    0x4efc
+0x7930    0x4f00
+0x7931    0x4f03
+0x7932    0x4f39
+0x7933    0x4f56
+0x7934    0x4f92
+0x7935    0x4f8a
+0x7936    0x4f9a
+0x7937    0x4f94
+0x7938    0x4fcd
+0x7939    0x5040
+0x793a    0x5022
+0x793b    0x4fff
+0x793c    0x501e
+0x793d    0x5046
+0x793e    0x5070
+0x793f    0x5042
+0x7940    0x5094
+0x7941    0x50f4
+0x7942    0x50d8
+0x7943    0x514a
+0x7944    0x5164
+0x7945    0x519d
+0x7946    0x51be
+0x7947    0x51ec
+0x7948    0x5215
+0x7949    0x529c
+0x794a    0x52a6
+0x794b    0x52c0
+0x794c    0x52db
+0x794d    0x5300
+0x794e    0x5307
+0x794f    0x5324
+0x7950    0x5372
+0x7951    0x5393
+0x7952    0x53b2
+0x7953    0x53dd
+0x7954    0xfa0e
+0x7955    0x549c
+0x7956    0x548a
+0x7957    0x54a9
+0x7958    0x54ff
+0x7959    0x5586
+0x795a    0x5759
+0x795b    0x5765
+0x795c    0x57ac
+0x795d    0x57c8
+0x795e    0x57c7
+0x795f    0xfa0f
+0x7960    0xfa10
+0x7961    0x589e
+0x7962    0x58b2
+0x7963    0x590b
+0x7964    0x5953
+0x7965    0x595b
+0x7966    0x595d
+0x7967    0x5963
+0x7968    0x59a4
+0x7969    0x59ba
+0x796a    0x5b56
+0x796b    0x5bc0
+0x796c    0x752f
+0x796d    0x5bd8
+0x796e    0x5bec
+0x796f    0x5c1e
+0x7970    0x5ca6
+0x7971    0x5cba
+0x7972    0x5cf5
+0x7973    0x5d27
+0x7974    0x5d53
+0x7975    0xfa11
+0x7976    0x5d42
+0x7977    0x5d6d
+0x7978    0x5db8
+0x7979    0x5db9
+0x797a    0x5dd0
+0x797b    0x5f21
+0x797c    0x5f34
+0x797d    0x5f67
+0x797e    0x5fb7
+0x7a21    0x5fde
+0x7a22    0x605d
+0x7a23    0x6085
+0x7a24    0x608a
+0x7a25    0x60de
+0x7a26    0x60d5
+0x7a27    0x6120
+0x7a28    0x60f2
+0x7a29    0x6111
+0x7a2a    0x6137
+0x7a2b    0x6130
+0x7a2c    0x6198
+0x7a2d    0x6213
+0x7a2e    0x62a6
+0x7a2f    0x63f5
+0x7a30    0x6460
+0x7a31    0x649d
+0x7a32    0x64ce
+0x7a33    0x654e
+0x7a34    0x6600
+0x7a35    0x6615
+0x7a36    0x663b
+0x7a37    0x6609
+0x7a38    0x662e
+0x7a39    0x661e
+0x7a3a    0x6624
+0x7a3b    0x6665
+0x7a3c    0x6657
+0x7a3d    0x6659
+0x7a3e    0xfa12
+0x7a3f    0x6673
+0x7a40    0x6699
+0x7a41    0x66a0
+0x7a42    0x66b2
+0x7a43    0x66bf
+0x7a44    0x66fa
+0x7a45    0x670e
+0x7a46    0xf929
+0x7a47    0x6766
+0x7a48    0x67bb
+0x7a49    0x6852
+0x7a4a    0x67c0
+0x7a4b    0x6801
+0x7a4c    0x6844
+0x7a4d    0x68cf
+0x7a4e    0xfa13
+0x7a4f    0x6968
+0x7a50    0xfa14
+0x7a51    0x6998
+0x7a52    0x69e2
+0x7a53    0x6a30
+0x7a54    0x6a6b
+0x7a55    0x6a46
+0x7a56    0x6a73
+0x7a57    0x6a7e
+0x7a58    0x6ae2
+0x7a59    0x6ae4
+0x7a5a    0x6bd6
+0x7a5b    0x6c3f
+0x7a5c    0x6c5c
+0x7a5d    0x6c86
+0x7a5e    0x6c6f
+0x7a5f    0x6cda
+0x7a60    0x6d04
+0x7a61    0x6d87
+0x7a62    0x6d6f
+0x7a63    0x6d96
+0x7a64    0x6dac
+0x7a65    0x6dcf
+0x7a66    0x6df8
+0x7a67    0x6df2
+0x7a68    0x6dfc
+0x7a69    0x6e39
+0x7a6a    0x6e5c
+0x7a6b    0x6e27
+0x7a6c    0x6e3c
+0x7a6d    0x6ebf
+0x7a6e    0x6f88
+0x7a6f    0x6fb5
+0x7a70    0x6ff5
+0x7a71    0x7005
+0x7a72    0x7007
+0x7a73    0x7028
+0x7a74    0x7085
+0x7a75    0x70ab
+0x7a76    0x710f
+0x7a77    0x7104
+0x7a78    0x715c
+0x7a79    0x7146
+0x7a7a    0x7147
+0x7a7b    0xfa15
+0x7a7c    0x71c1
+0x7a7d    0x71fe
+0x7a7e    0x72b1
+0x7b21    0x72be
+0x7b22    0x7324
+0x7b23    0xfa16
+0x7b24    0x7377
+0x7b25    0x73bd
+0x7b26    0x73c9
+0x7b27    0x73d6
+0x7b28    0x73e3
+0x7b29    0x73d2
+0x7b2a    0x7407
+0x7b2b    0x73f5
+0x7b2c    0x7426
+0x7b2d    0x742a
+0x7b2e    0x7429
+0x7b2f    0x742e
+0x7b30    0x7462
+0x7b31    0x7489
+0x7b32    0x749f
+0x7b33    0x7501
+0x7b34    0x756f
+0x7b35    0x7682
+0x7b36    0x769c
+0x7b37    0x769e
+0x7b38    0x769b
+0x7b39    0x76a6
+0x7b3a    0xfa17
+0x7b3b    0x7746
+0x7b3c    0x52af
+0x7b3d    0x7821
+0x7b3e    0x784e
+0x7b3f    0x7864
+0x7b40    0x787a
+0x7b41    0x7930
+0x7b42    0xfa18
+0x7b43    0xfa19
+0x7b44    0xfa1a
+0x7b45    0x7994
+0x7b46    0xfa1b
+0x7b47    0x799b
+0x7b48    0x7ad1
+0x7b49    0x7ae7
+0x7b4a    0xfa1c
+0x7b4b    0x7aeb
+0x7b4c    0x7b9e
+0x7b4d    0xfa1d
+0x7b4e    0x7d48
+0x7b4f    0x7d5c
+0x7b50    0x7db7
+0x7b51    0x7da0
+0x7b52    0x7dd6
+0x7b53    0x7e52
+0x7b54    0x7f47
+0x7b55    0x7fa1
+0x7b56    0xfa1e
+0x7b57    0x8301
+0x7b58    0x8362
+0x7b59    0x837f
+0x7b5a    0x83c7
+0x7b5b    0x83f6
+0x7b5c    0x8448
+0x7b5d    0x84b4
+0x7b5e    0x8553
+0x7b5f    0x8559
+0x7b60    0x856b
+0x7b61    0xfa1f
+0x7b62    0x85b0
+0x7b63    0xfa20
+0x7b64    0xfa21
+0x7b65    0x8807
+0x7b66    0x88f5
+0x7b67    0x8a12
+0x7b68    0x8a37
+0x7b69    0x8a79
+0x7b6a    0x8aa7
+0x7b6b    0x8abe
+0x7b6c    0x8adf
+0x7b6d    0xfa22
+0x7b6e    0x8af6
+0x7b6f    0x8b53
+0x7b70    0x8b7f
+0x7b71    0x8cf0
+0x7b72    0x8cf4
+0x7b73    0x8d12
+0x7b74    0x8d76
+0x7b75    0xfa23
+0x7b76    0x8ecf
+0x7b77    0xfa24
+0x7b78    0xfa25
+0x7b79    0x9067
+0x7b7a    0x90de
+0x7b7b    0xfa26
+0x7b7c    0x9115
+0x7b7d    0x9127
+0x7b7e    0x91da
+0x7c21    0x91d7
+0x7c22    0x91de
+0x7c23    0x91ed
+0x7c24    0x91ee
+0x7c25    0x91e4
+0x7c26    0x91e5
+0x7c27    0x9206
+0x7c28    0x9210
+0x7c29    0x920a
+0x7c2a    0x923a
+0x7c2b    0x9240
+0x7c2c    0x923c
+0x7c2d    0x924e
+0x7c2e    0x9259
+0x7c2f    0x9251
+0x7c30    0x9239
+0x7c31    0x9267
+0x7c32    0x92a7
+0x7c33    0x9277
+0x7c34    0x9278
+0x7c35    0x92e7
+0x7c36    0x92d7
+0x7c37    0x92d9
+0x7c38    0x92d0
+0x7c39    0xfa27
+0x7c3a    0x92d5
+0x7c3b    0x92e0
+0x7c3c    0x92d3
+0x7c3d    0x9325
+0x7c3e    0x9321
+0x7c3f    0x92fb
+0x7c40    0xfa28
+0x7c41    0x931e
+0x7c42    0x92ff
+0x7c43    0x931d
+0x7c44    0x9302
+0x7c45    0x9370
+0x7c46    0x9357
+0x7c47    0x93a4
+0x7c48    0x93c6
+0x7c49    0x93de
+0x7c4a    0x93f8
+0x7c4b    0x9431
+0x7c4c    0x9445
+0x7c4d    0x9448
+0x7c4e    0x9592
+0x7c4f    0xf9dc
+0x7c50    0xfa29
+0x7c51    0x969d
+0x7c52    0x96af
+0x7c53    0x9733
+0x7c54    0x973b
+0x7c55    0x9743
+0x7c56    0x974d
+0x7c57    0x974f
+0x7c58    0x9751
+0x7c59    0x9755
+0x7c5a    0x9857
+0x7c5b    0x9865
+0x7c5c    0xfa2a
+0x7c5d    0xfa2b
+0x7c5e    0x9927
+0x7c5f    0xfa2c
+0x7c60    0x999e
+0x7c61    0x9a4e
+0x7c62    0x9ad9
+0x7c63    0x9adc
+0x7c64    0x9b75
+0x7c65    0x9b72
+0x7c66    0x9b8f
+0x7c67    0x9bb1
+0x7c68    0x9bbb
+0x7c69    0x9c00
+0x7c6a    0x9d70
+0x7c6b    0x9d6b
+0x7c6c    0xfa2d
+0x7c6d    0x9e19
+0x7c6e    0x9ed1
+0x7c71    0x2170
+0x7c72    0x2171
+0x7c73    0x2172
+0x7c74    0x2173
+0x7c75    0x2174
+0x7c76    0x2175
+0x7c77    0x2176
+0x7c78    0x2177
+0x7c79    0x2178
+0x7c7a    0x2179
+0x7c7b    0xffe2
+0x7c7c    0xffe4
+0x7c7d    0xff07
+0x7c7e    0xff02
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/tools/CharsetMapping/JIS_X_0208_MS932.nr	Wed Aug 01 11:08:11 2012 -0400
@@ -0,0 +1,10 @@
+0x224c    0xffe2
+0x225d    0x22a5
+0x2265    0x221a
+0x2269    0x222b
+0x2d70    0x2252
+0x2d71    0x2261
+0x2d77    0x2220
+0x2d7a    0x2235
+0x2d7b    0x2229
+0x2d7c    0x222a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/tools/CharsetMapping/JIS_X_0208_Solaris.map	Wed Aug 01 11:08:11 2012 -0400
@@ -0,0 +1,851 @@
+#
+# Generated from JIS_X_0208_De/Encoder
+# 
+# added 0x2129 entry, which is the "replacement" for 0208
+0x2129    0xff1f
+#
+0x2d21    0x2460
+0x2d22    0x2461
+0x2d23    0x2462
+0x2d24    0x2463
+0x2d25    0x2464
+0x2d26    0x2465
+0x2d27    0x2466
+0x2d28    0x2467
+0x2d29    0x2468
+0x2d2a    0x2469
+0x2d2b    0x246a
+0x2d2c    0x246b
+0x2d2d    0x246c
+0x2d2e    0x246d
+0x2d2f    0x246e
+0x2d30    0x246f
+0x2d31    0x2470
+0x2d32    0x2471
+0x2d33    0x2472
+0x2d34    0x2473
+0x2d35    0x2160
+0x2d36    0x2161
+0x2d37    0x2162
+0x2d38    0x2163
+0x2d39    0x2164
+0x2d3a    0x2165
+0x2d3b    0x2166
+0x2d3c    0x2167
+0x2d3d    0x2168
+0x2d3e    0x2169
+0x2d40    0x3349
+0x2d41    0x3314
+0x2d42    0x3322
+0x2d43    0x334d
+0x2d44    0x3318
+0x2d45    0x3327
+0x2d46    0x3303
+0x2d47    0x3336
+0x2d48    0x3351
+0x2d49    0x3357
+0x2d4a    0x330d
+0x2d4b    0x3326
+0x2d4c    0x3323
+0x2d4d    0x332b
+0x2d4e    0x334a
+0x2d4f    0x333b
+0x2d50    0x339c
+0x2d51    0x339d
+0x2d52    0x339e
+0x2d53    0x338e
+0x2d54    0x338f
+0x2d55    0x33c4
+0x2d56    0x33a1
+0x2d5f    0x337b
+0x2d60    0x301d
+0x2d61    0x301f
+0x2d62    0x2116
+0x2d63    0x33cd
+0x2d64    0x2121
+0x2d65    0x32a4
+0x2d66    0x32a5
+0x2d67    0x32a6
+0x2d68    0x32a7
+0x2d69    0x32a8
+0x2d6a    0x3231
+0x2d6b    0x3232
+0x2d6c    0x3239
+0x2d6d    0x337e
+0x2d6e    0x337d
+0x2d6f    0x337c
+0x2d70    0x2252
+0x2d71    0x2261
+0x2d72    0x222b
+0x2d73    0x222e
+0x2d74    0x2211
+0x2d75    0x221a
+0x2d76    0x22a5
+0x2d77    0x2220
+0x2d78    0x221f
+0x2d79    0x22bf
+0x2d7a    0x2235
+0x2d7b    0x2229
+0x2d7c    0x222a
+0x7921    0x7e8a
+0x7922    0x891c
+0x7923    0x9348
+0x7924    0x9288
+0x7925    0x84dc
+0x7926    0x4fc9
+0x7927    0x70bb
+0x7928    0x6631
+0x7929    0x68c8
+0x792a    0x92f9
+0x792b    0x66fb
+0x792c    0x5f45
+0x792d    0x4e28
+0x792e    0x4ee1
+0x792f    0x4efc
+0x7930    0x4f00
+0x7931    0x4f03
+0x7932    0x4f39
+0x7933    0x4f56
+0x7934    0x4f92
+0x7935    0x4f8a
+0x7936    0x4f9a
+0x7937    0x4f94
+0x7938    0x4fcd
+0x7939    0x5040
+0x793a    0x5022
+0x793b    0x4fff
+0x793c    0x501e
+0x793d    0x5046
+0x793e    0x5070
+0x793f    0x5042
+0x7940    0x5094
+0x7941    0x50f4
+0x7942    0x50d8
+0x7943    0x514a
+0x7944    0x5164
+0x7945    0x519d
+0x7946    0x51be
+0x7947    0x51ec
+0x7948    0x5215
+0x7949    0x529c
+0x794a    0x52a6
+0x794b    0x52c0
+0x794c    0x52db
+0x794d    0x5300
+0x794e    0x5307
+0x794f    0x5324
+0x7950    0x5372
+0x7951    0x5393
+0x7952    0x53b2
+0x7953    0x53dd
+0x7954    0xfa0e
+0x7955    0x549c
+0x7956    0x548a
+0x7957    0x54a9
+0x7958    0x54ff
+0x7959    0x5586
+0x795a    0x5759
+0x795b    0x5765
+0x795c    0x57ac
+0x795d    0x57c8
+0x795e    0x57c7
+0x795f    0xfa0f
+0x7960    0xfa10
+0x7961    0x589e
+0x7962    0x58b2
+0x7963    0x590b
+0x7964    0x5953
+0x7965    0x595b
+0x7966    0x595d
+0x7967    0x5963
+0x7968    0x59a4
+0x7969    0x59ba
+0x796a    0x5b56
+0x796b    0x5bc0
+0x796c    0x752f
+0x796d    0x5bd8
+0x796e    0x5bec
+0x796f    0x5c1e
+0x7970    0x5ca6
+0x7971    0x5cba
+0x7972    0x5cf5
+0x7973    0x5d27
+0x7974    0x5d53
+0x7975    0xfa11
+0x7976    0x5d42
+0x7977    0x5d6d
+0x7978    0x5db8
+0x7979    0x5db9
+0x797a    0x5dd0
+0x797b    0x5f21
+0x797c    0x5f34
+0x797d    0x5f67
+0x797e    0x5fb7
+0x7a21    0x5fde
+0x7a22    0x605d
+0x7a23    0x6085
+0x7a24    0x608a
+0x7a25    0x60de
+0x7a26    0x60d5
+0x7a27    0x6120
+0x7a28    0x60f2
+0x7a29    0x6111
+0x7a2a    0x6137
+0x7a2b    0x6130
+0x7a2c    0x6198
+0x7a2d    0x6213
+0x7a2e    0x62a6
+0x7a2f    0x63f5
+0x7a30    0x6460
+0x7a31    0x649d
+0x7a32    0x64ce
+0x7a33    0x654e
+0x7a34    0x6600
+0x7a35    0x6615
+0x7a36    0x663b
+0x7a37    0x6609
+0x7a38    0x662e
+0x7a39    0x661e
+0x7a3a    0x6624
+0x7a3b    0x6665
+0x7a3c    0x6657
+0x7a3d    0x6659
+0x7a3e    0xfa12
+0x7a3f    0x6673
+0x7a40    0x6699
+0x7a41    0x66a0
+0x7a42    0x66b2
+0x7a43    0x66bf
+0x7a44    0x66fa
+0x7a45    0x670e
+0x7a46    0xf929
+0x7a47    0x6766
+0x7a48    0x67bb
+0x7a49    0x6852
+0x7a4a    0x67c0
+0x7a4b    0x6801
+0x7a4c    0x6844
+0x7a4d    0x68cf
+0x7a4e    0xfa13
+0x7a4f    0x6968
+0x7a50    0xfa14
+0x7a51    0x6998
+0x7a52    0x69e2
+0x7a53    0x6a30
+0x7a54    0x6a6b
+0x7a55    0x6a46
+0x7a56    0x6a73
+0x7a57    0x6a7e
+0x7a58    0x6ae2
+0x7a59    0x6ae4
+0x7a5a    0x6bd6
+0x7a5b    0x6c3f
+0x7a5c    0x6c5c
+0x7a5d    0x6c86
+0x7a5e    0x6c6f
+0x7a5f    0x6cda
+0x7a60    0x6d04
+0x7a61    0x6d87
+0x7a62    0x6d6f
+0x7a63    0x6d96
+0x7a64    0x6dac
+0x7a65    0x6dcf
+0x7a66    0x6df8
+0x7a67    0x6df2
+0x7a68    0x6dfc
+0x7a69    0x6e39
+0x7a6a    0x6e5c
+0x7a6b    0x6e27
+0x7a6c    0x6e3c
+0x7a6d    0x6ebf
+0x7a6e    0x6f88
+0x7a6f    0x6fb5
+0x7a70    0x6ff5
+0x7a71    0x7005
+0x7a72    0x7007
+0x7a73    0x7028
+0x7a74    0x7085
+0x7a75    0x70ab
+0x7a76    0x710f
+0x7a77    0x7104
+0x7a78    0x715c
+0x7a79    0x7146
+0x7a7a    0x7147
+0x7a7b    0xfa15
+0x7a7c    0x71c1
+0x7a7d    0x71fe
+0x7a7e    0x72b1
+0x7b21    0x72be
+0x7b22    0x7324
+0x7b23    0xfa16
+0x7b24    0x7377
+0x7b25    0x73bd
+0x7b26    0x73c9
+0x7b27    0x73d6
+0x7b28    0x73e3
+0x7b29    0x73d2
+0x7b2a    0x7407
+0x7b2b    0x73f5
+0x7b2c    0x7426
+0x7b2d    0x742a
+0x7b2e    0x7429
+0x7b2f    0x742e
+0x7b30    0x7462
+0x7b31    0x7489
+0x7b32    0x749f
+0x7b33    0x7501
+0x7b34    0x756f
+0x7b35    0x7682
+0x7b36    0x769c
+0x7b37    0x769e
+0x7b38    0x769b
+0x7b39    0x76a6
+0x7b3a    0xfa17
+0x7b3b    0x7746
+0x7b3c    0x52af
+0x7b3d    0x7821
+0x7b3e    0x784e
+0x7b3f    0x7864
+0x7b40    0x787a
+0x7b41    0x7930
+0x7b42    0xfa18
+0x7b43    0xfa19
+0x7b44    0xfa1a
+0x7b45    0x7994
+0x7b46    0xfa1b
+0x7b47    0x799b
+0x7b48    0x7ad1
+0x7b49    0x7ae7
+0x7b4a    0xfa1c
+0x7b4b    0x7aeb
+0x7b4c    0x7b9e
+0x7b4d    0xfa1d
+0x7b4e    0x7d48
+0x7b4f    0x7d5c
+0x7b50    0x7db7
+0x7b51    0x7da0
+0x7b52    0x7dd6
+0x7b53    0x7e52
+0x7b54    0x7f47
+0x7b55    0x7fa1
+0x7b56    0xfa1e
+0x7b57    0x8301
+0x7b58    0x8362
+0x7b59    0x837f
+0x7b5a    0x83c7
+0x7b5b    0x83f6
+0x7b5c    0x8448
+0x7b5d    0x84b4
+0x7b5e    0x8553
+0x7b5f    0x8559
+0x7b60    0x856b
+0x7b61    0xfa1f
+0x7b62    0x85b0
+0x7b63    0xfa20
+0x7b64    0xfa21
+0x7b65    0x8807
+0x7b66    0x88f5
+0x7b67    0x8a12
+0x7b68    0x8a37
+0x7b69    0x8a79
+0x7b6a    0x8aa7
+0x7b6b    0x8abe
+0x7b6c    0x8adf
+0x7b6d    0xfa22
+0x7b6e    0x8af6
+0x7b6f    0x8b53
+0x7b70    0x8b7f
+0x7b71    0x8cf0
+0x7b72    0x8cf4
+0x7b73    0x8d12
+0x7b74    0x8d76
+0x7b75    0xfa23
+0x7b76    0x8ecf
+0x7b77    0xfa24
+0x7b78    0xfa25
+0x7b79    0x9067
+0x7b7a    0x90de
+0x7b7b    0xfa26
+0x7b7c    0x9115
+0x7b7d    0x9127
+0x7b7e    0x91da
+0x7c21    0x91d7
+0x7c22    0x91de
+0x7c23    0x91ed
+0x7c24    0x91ee
+0x7c25    0x91e4
+0x7c26    0x91e5
+0x7c27    0x9206
+0x7c28    0x9210
+0x7c29    0x920a
+0x7c2a    0x923a
+0x7c2b    0x9240
+0x7c2c    0x923c
+0x7c2d    0x924e
+0x7c2e    0x9259
+0x7c2f    0x9251
+0x7c30    0x9239
+0x7c31    0x9267
+0x7c32    0x92a7
+0x7c33    0x9277
+0x7c34    0x9278
+0x7c35    0x92e7
+0x7c36    0x92d7
+0x7c37    0x92d9
+0x7c38    0x92d0
+0x7c39    0xfa27
+0x7c3a    0x92d5
+0x7c3b    0x92e0
+0x7c3c    0x92d3
+0x7c3d    0x9325
+0x7c3e    0x9321
+0x7c3f    0x92fb
+0x7c40    0xfa28
+0x7c41    0x931e
+0x7c42    0x92ff
+0x7c43    0x931d
+0x7c44    0x9302
+0x7c45    0x9370
+0x7c46    0x9357
+0x7c47    0x93a4
+0x7c48    0x93c6
+0x7c49    0x93de
+0x7c4a    0x93f8
+0x7c4b    0x9431
+0x7c4c    0x9445
+0x7c4d    0x9448
+0x7c4e    0x9592
+0x7c4f    0xf9dc
+0x7c50    0xfa29
+0x7c51    0x969d
+0x7c52    0x96af
+0x7c53    0x9733
+0x7c54    0x973b
+0x7c55    0x9743
+0x7c56    0x974d
+0x7c57    0x974f
+0x7c58    0x9751
+0x7c59    0x9755
+0x7c5a    0x9857
+0x7c5b    0x9865
+0x7c5c    0xfa2a
+0x7c5d    0xfa2b
+0x7c5e    0x9927
+0x7c5f    0xfa2c
+0x7c60    0x999e
+0x7c61    0x9a4e
+0x7c62    0x9ad9
+0x7c63    0x9adc
+0x7c64    0x9b75
+0x7c65    0x9b72
+0x7c66    0x9b8f
+0x7c67    0x9bb1
+0x7c68    0x9bbb
+0x7c69    0x9c00
+0x7c6a    0x9d70
+0x7c6b    0x9d6b
+0x7c6c    0xfa2d
+0x7c6d    0x9e19
+0x7c6e    0x9ed1
+0x7c71    0x2170
+0x7c72    0x2171
+0x7c73    0x2172
+0x7c74    0x2173
+0x7c75    0x2174
+0x7c76    0x2175
+0x7c77    0x2176
+0x7c78    0x2177
+0x7c79    0x2178
+0x7c7a    0x2179
+0x7c7b    0x3052
+0x7c7c    0x00a6
+0x7c7d    0xff07
+0x7c7e    0xff02
+0x9321    0x2170
+0x9322    0x2171
+0x9323    0x2172
+0x9324    0x2173
+0x9325    0x2174
+0x9326    0x2175
+0x9327    0x2176
+0x9328    0x2177
+0x9329    0x2178
+0x932a    0x2179
+0x932b    0x2160
+0x932c    0x2161
+0x932d    0x2162
+0x932e    0x2163
+0x932f    0x2164
+0x9330    0x2165
+0x9331    0x2166
+0x9332    0x2167
+0x9333    0x2168
+0x9334    0x2169
+0x9335    0x3052
+0x9336    0x00a6
+0x9337    0xff07
+0x9338    0xff02
+0x9339    0x3231
+0x933a    0x2116
+0x933b    0x2121
+0x933c    0x306e
+0x933d    0x7e8a
+0x933e    0x891c
+0x933f    0x9348
+0x9340    0x9288
+0x9341    0x84dc
+0x9342    0x4fc9
+0x9343    0x70bb
+0x9344    0x6631
+0x9345    0x68c8
+0x9346    0x92f9
+0x9347    0x66fb
+0x9348    0x5f45
+0x9349    0x4e28
+0x934a    0x4ee1
+0x934b    0x4efc
+0x934c    0x4f00
+0x934d    0x4f03
+0x934e    0x4f39
+0x934f    0x4f56
+0x9350    0x4f92
+0x9351    0x4f8a
+0x9352    0x4f9a
+0x9353    0x4f94
+0x9354    0x4fcd
+0x9355    0x5040
+0x9356    0x5022
+0x9357    0x4fff
+0x9358    0x501e
+0x9359    0x5046
+0x935a    0x5070
+0x935b    0x5042
+0x935c    0x5094
+0x935d    0x50f4
+0x935e    0x50d8
+0x935f    0x514a
+0x9360    0x5164
+0x9361    0x519d
+0x9362    0x51be
+0x9363    0x51ec
+0x9364    0x5215
+0x9365    0x529c
+0x9366    0x52a6
+0x9367    0x52c0
+0x9368    0x52db
+0x9369    0x5300
+0x936a    0x5307
+0x936b    0x5324
+0x936c    0x5372
+0x936d    0x5393
+0x936e    0x53b2
+0x936f    0x53dd
+0x9370    0xfa0e
+0x9371    0x549c
+0x9372    0x548a
+0x9373    0x54a9
+0x9374    0x54ff
+0x9375    0x5586
+0x9376    0x5759
+0x9377    0x5765
+0x9378    0x57ac
+0x9379    0x57c8
+0x937a    0x57c7
+0x937b    0xfa0f
+0x937c    0xfa10
+0x937d    0x589e
+0x937e    0x58b2
+0x9421    0x590b
+0x9422    0x5953
+0x9423    0x595b
+0x9424    0x595d
+0x9425    0x5963
+0x9426    0x59a4
+0x9427    0x59ba
+0x9428    0x5b56
+0x9429    0x5bc0
+0x942a    0x752f
+0x942b    0x5bd8
+0x942c    0x5bec
+0x942d    0x5c1e
+0x942e    0x5ca6
+0x942f    0x5cba
+0x9430    0x5cf5
+0x9431    0x5d27
+0x9432    0x5d53
+0x9433    0xfa11
+0x9434    0x5d42
+0x9435    0x5d6d
+0x9436    0x5db8
+0x9437    0x5db9
+0x9438    0x5dd0
+0x9439    0x5f21
+0x943a    0x5f34
+0x943b    0x5f67
+0x943c    0x5fb7
+0x943d    0x5fde
+0x943e    0x605d
+0x943f    0x6085
+0x9440    0x608a
+0x9441    0x60de
+0x9442    0x60d5
+0x9443    0x6120
+0x9444    0x60f2
+0x9445    0x6111
+0x9446    0x6137
+0x9447    0x6130
+0x9448    0x6198
+0x9449    0x6213
+0x944a    0x62a6
+0x944b    0x63f5
+0x944c    0x6460
+0x944d    0x649d
+0x944e    0x64ce
+0x944f    0x654e
+0x9450    0x6600
+0x9451    0x6615
+0x9452    0x663b
+0x9453    0x6609
+0x9454    0x662e
+0x9455    0x661e
+0x9456    0x6624
+0x9457    0x6665
+0x9458    0x6657
+0x9459    0x6659
+0x945a    0xfa12
+0x945b    0x6673
+0x945c    0x6699
+0x945d    0x66a0
+0x945e    0x66b2
+0x945f    0x66bf
+0x9460    0x66fa
+0x9461    0x670e
+0x9462    0xf929
+0x9463    0x6766
+0x9464    0x67bb
+0x9465    0x6852
+0x9466    0x67c0
+0x9467    0x6801
+0x9468    0x6844
+0x9469    0x68cf
+0x946a    0xfa13
+0x946b    0x6968
+0x946c    0xfa14
+0x946d    0x6998
+0x946e    0x69e2
+0x946f    0x6a30
+0x9470    0x6a6b
+0x9471    0x6a46
+0x9472    0x6a73
+0x9473    0x6a7e
+0x9474    0x6ae2
+0x9475    0x6ae4
+0x9476    0x6bd6
+0x9477    0x6c3f
+0x9478    0x6c5c
+0x9479    0x6c86
+0x947a    0x6c6f
+0x947b    0x6cda
+0x947c    0x6d04
+0x947d    0x6d87
+0x947e    0x6d6f
+0x9521    0x6d96
+0x9522    0x6dac
+0x9523    0x6dcf
+0x9524    0x6df8
+0x9525    0x6df2
+0x9526    0x6dfc
+0x9527    0x6e39
+0x9528    0x6e5c
+0x9529    0x6e27
+0x952a    0x6e3c
+0x952b    0x6ebf
+0x952c    0x6f88
+0x952d    0x6fb5
+0x952e    0x6ff5
+0x952f    0x7005
+0x9530    0x7007
+0x9531    0x7028
+0x9532    0x7085
+0x9533    0x70ab
+0x9534    0x710f
+0x9535    0x7104
+0x9536    0x715c
+0x9537    0x7146
+0x9538    0x7147
+0x9539    0xfa15
+0x953a    0x71c1
+0x953b    0x71fe
+0x953c    0x72b1
+0x953d    0x72be
+0x953e    0x7324
+0x953f    0xfa16
+0x9540    0x7377
+0x9541    0x73bd
+0x9542    0x73c9
+0x9543    0x73d6
+0x9544    0x73e3
+0x9545    0x73d2
+0x9546    0x7407
+0x9547    0x73f5
+0x9548    0x7426
+0x9549    0x742a
+0x954a    0x7429
+0x954b    0x742e
+0x954c    0x7462
+0x954d    0x7489
+0x954e    0x749f
+0x954f    0x7501
+0x9550    0x756f
+0x9551    0x7682
+0x9552    0x769c
+0x9553    0x769e
+0x9554    0x769b
+0x9555    0x76a6
+0x9556    0xfa17
+0x9557    0x7746
+0x9558    0x52af
+0x9559    0x7821
+0x955a    0x784e
+0x955b    0x7864
+0x955c    0x787a
+0x955d    0x7930
+0x955e    0xfa18
+0x955f    0xfa19
+0x9560    0xfa1a
+0x9561    0x7994
+0x9562    0xfa1b
+0x9563    0x799b
+0x9564    0x7ad1
+0x9565    0x7ae7
+0x9566    0xfa1c
+0x9567    0x7aeb
+0x9568    0x7b9e
+0x9569    0xfa1d
+0x956a    0x7d48
+0x956b    0x7d5c
+0x956c    0x7db7
+0x956d    0x7da0
+0x956e    0x7dd6
+0x956f    0x7e52
+0x9570    0x7f47
+0x9571    0x7fa1
+0x9572    0xfa1e
+0x9573    0x8301
+0x9574    0x8362
+0x9575    0x837f
+0x9576    0x83c7
+0x9577    0x83f6
+0x9578    0x8448
+0x9579    0x84b4
+0x957a    0x8553
+0x957b    0x8559
+0x957c    0x856b
+0x957d    0xfa1f
+0x957e    0x85b0
+0x9621    0xfa20
+0x9622    0xfa21
+0x9623    0x8807
+0x9624    0x88f5
+0x9625    0x8a12
+0x9626    0x8a37
+0x9627    0x8a79
+0x9628    0x8aa7
+0x9629    0x8abe
+0x962a    0x8adf
+0x962b    0xfa22
+0x962c    0x8af6
+0x962d    0x8b53
+0x962e    0x8b7f
+0x962f    0x8cf0
+0x9630    0x8cf4
+0x9631    0x8d12
+0x9632    0x8d76
+0x9633    0xfa23
+0x9634    0x8ecf
+0x9635    0xfa24
+0x9636    0xfa25
+0x9637    0x9067
+0x9638    0x90de
+0x9639    0xfa26
+0x963a    0x9115
+0x963b    0x9127
+0x963c    0x91da
+0x963d    0x91d7
+0x963e    0x91de
+0x963f    0x91ed
+0x9640    0x91ee
+0x9641    0x91e4
+0x9642    0x91e5
+0x9643    0x9206
+0x9644    0x9210
+0x9645    0x920a
+0x9646    0x923a
+0x9647    0x9240
+0x9648    0x923c
+0x9649    0x924e
+0x964a    0x9259
+0x964b    0x9251
+0x964c    0x9239
+0x964d    0x9267
+0x964e    0x92a7
+0x964f    0x9277
+0x9650    0x9278
+0x9651    0x92e7
+0x9652    0x92d7
+0x9653    0x92d9
+0x9654    0x92d0
+0x9655    0xfa27
+0x9656    0x92d5
+0x9657    0x92e0
+0x9658    0x92d3
+0x9659    0x9325
+0x965a    0x9321
+0x965b    0x92fb
+0x965c    0xfa28
+0x965d    0x931e
+0x965e    0x92ff
+0x965f    0x931d
+0x9660    0x9302
+0x9661    0x9370
+0x9662    0x9357
+0x9663    0x93a4
+0x9664    0x93c6
+0x9665    0x93de
+0x9666    0x93f8
+0x9667    0x9431
+0x9668    0x9445
+0x9669    0x9448
+0x966a    0x9592
+0x966b    0xf9dc
+0x966c    0xfa29
+0x966d    0x969d
+0x966e    0x96af
+0x966f    0x9733
+0x9670    0x973b
+0x9671    0x9743
+0x9672    0x974d
+0x9673    0x974f
+0x9674    0x9751
+0x9675    0x9755
+0x9676    0x9857
+0x9677    0x9865
+0x9678    0xfa2a
+0x9679    0xfa2b
+0x967a    0x9927
+0x967b    0xfa2c
+0x967c    0x999e
+0x967d    0x9a4e
+0x967e    0x9ad9
+0x9721    0x9adc
+0x9722    0x9b75
+0x9723    0x9b72
+0x9724    0x9b8f
+0x9725    0x9bb1
+0x9726    0x9bbb
+0x9727    0x9c00
+0x9728    0x9d70
+0x9729    0x9d6b
+0x972a    0xfa2d
+0x972b    0x9e19
+0x972c    0x9ed1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/tools/CharsetMapping/JIS_X_0208_Solaris.nr	Wed Aug 01 11:08:11 2012 -0400
@@ -0,0 +1,387 @@
+0x7921    0x7e8a
+0x7922    0x891c
+0x7923    0x9348
+0x7924    0x9288
+0x7925    0x84dc
+0x7926    0x4fc9
+0x7927    0x70bb
+0x7928    0x6631
+0x7929    0x68c8
+0x792a    0x92f9
+0x792b    0x66fb
+0x792c    0x5f45
+0x792d    0x4e28
+0x792e    0x4ee1
+0x792f    0x4efc
+0x7930    0x4f00
+0x7931    0x4f03
+0x7932    0x4f39
+0x7933    0x4f56
+0x7934    0x4f92
+0x7935    0x4f8a
+0x7936    0x4f9a
+0x7937    0x4f94
+0x7938    0x4fcd
+0x7939    0x5040
+0x793a    0x5022
+0x793b    0x4fff
+0x793c    0x501e
+0x793d    0x5046
+0x793e    0x5070
+0x793f    0x5042
+0x7940    0x5094
+0x7941    0x50f4
+0x7942    0x50d8
+0x7943    0x514a
+0x7944    0x5164
+0x7945    0x519d
+0x7946    0x51be
+0x7947    0x51ec
+0x7948    0x5215
+0x7949    0x529c
+0x794a    0x52a6
+0x794b    0x52c0
+0x794c    0x52db
+0x794d    0x5300
+0x794e    0x5307
+0x794f    0x5324
+0x7950    0x5372
+0x7951    0x5393
+0x7952    0x53b2
+0x7953    0x53dd
+0x7954    0xfa0e
+0x7955    0x549c
+0x7956    0x548a
+0x7957    0x54a9
+0x7958    0x54ff
+0x7959    0x5586
+0x795a    0x5759
+0x795b    0x5765
+0x795c    0x57ac
+0x795d    0x57c8
+0x795e    0x57c7
+0x795f    0xfa0f
+0x7960    0xfa10
+0x7961    0x589e
+0x7962    0x58b2
+0x7963    0x590b
+0x7964    0x5953
+0x7965    0x595b
+0x7966    0x595d
+0x7967    0x5963
+0x7968    0x59a4
+0x7969    0x59ba
+0x796a    0x5b56
+0x796b    0x5bc0
+0x796c    0x752f
+0x796d    0x5bd8
+0x796e    0x5bec
+0x796f    0x5c1e
+0x7970    0x5ca6
+0x7971    0x5cba
+0x7972    0x5cf5
+0x7973    0x5d27
+0x7974    0x5d53
+0x7975    0xfa11
+0x7976    0x5d42
+0x7977    0x5d6d
+0x7978    0x5db8
+0x7979    0x5db9
+0x797a    0x5dd0
+0x797b    0x5f21
+0x797c    0x5f34
+0x797d    0x5f67
+0x797e    0x5fb7
+0x7a21    0x5fde
+0x7a22    0x605d
+0x7a23    0x6085
+0x7a24    0x608a
+0x7a25    0x60de
+0x7a26    0x60d5
+0x7a27    0x6120
+0x7a28    0x60f2
+0x7a29    0x6111
+0x7a2a    0x6137
+0x7a2b    0x6130
+0x7a2c    0x6198
+0x7a2d    0x6213
+0x7a2e    0x62a6
+0x7a2f    0x63f5
+0x7a30    0x6460
+0x7a31    0x649d
+0x7a32    0x64ce
+0x7a33    0x654e
+0x7a34    0x6600
+0x7a35    0x6615
+0x7a36    0x663b
+0x7a37    0x6609
+0x7a38    0x662e
+0x7a39    0x661e
+0x7a3a    0x6624
+0x7a3b    0x6665
+0x7a3c    0x6657
+0x7a3d    0x6659
+0x7a3e    0xfa12
+0x7a3f    0x6673
+0x7a40    0x6699
+0x7a41    0x66a0
+0x7a42    0x66b2
+0x7a43    0x66bf
+0x7a44    0x66fa
+0x7a45    0x670e
+0x7a46    0xf929
+0x7a47    0x6766
+0x7a48    0x67bb
+0x7a49    0x6852
+0x7a4a    0x67c0
+0x7a4b    0x6801
+0x7a4c    0x6844
+0x7a4d    0x68cf
+0x7a4e    0xfa13
+0x7a4f    0x6968
+0x7a50    0xfa14
+0x7a51    0x6998
+0x7a52    0x69e2
+0x7a53    0x6a30
+0x7a54    0x6a6b
+0x7a55    0x6a46
+0x7a56    0x6a73
+0x7a57    0x6a7e
+0x7a58    0x6ae2
+0x7a59    0x6ae4
+0x7a5a    0x6bd6
+0x7a5b    0x6c3f
+0x7a5c    0x6c5c
+0x7a5d    0x6c86
+0x7a5e    0x6c6f
+0x7a5f    0x6cda
+0x7a60    0x6d04
+0x7a61    0x6d87
+0x7a62    0x6d6f
+0x7a63    0x6d96
+0x7a64    0x6dac
+0x7a65    0x6dcf
+0x7a66    0x6df8
+0x7a67    0x6df2
+0x7a68    0x6dfc
+0x7a69    0x6e39
+0x7a6a    0x6e5c
+0x7a6b    0x6e27
+0x7a6c    0x6e3c
+0x7a6d    0x6ebf
+0x7a6e    0x6f88
+0x7a6f    0x6fb5
+0x7a70    0x6ff5
+0x7a71    0x7005
+0x7a72    0x7007
+0x7a73    0x7028
+0x7a74    0x7085
+0x7a75    0x70ab
+0x7a76    0x710f
+0x7a77    0x7104
+0x7a78    0x715c
+0x7a79    0x7146
+0x7a7a    0x7147
+0x7a7b    0xfa15
+0x7a7c    0x71c1
+0x7a7d    0x71fe
+0x7a7e    0x72b1
+0x7b21    0x72be
+0x7b22    0x7324
+0x7b23    0xfa16
+0x7b24    0x7377
+0x7b25    0x73bd
+0x7b26    0x73c9
+0x7b27    0x73d6
+0x7b28    0x73e3
+0x7b29    0x73d2
+0x7b2a    0x7407
+0x7b2b    0x73f5
+0x7b2c    0x7426
+0x7b2d    0x742a
+0x7b2e    0x7429
+0x7b2f    0x742e
+0x7b30    0x7462
+0x7b31    0x7489
+0x7b32    0x749f
+0x7b33    0x7501
+0x7b34    0x756f
+0x7b35    0x7682
+0x7b36    0x769c
+0x7b37    0x769e
+0x7b38    0x769b
+0x7b39    0x76a6
+0x7b3a    0xfa17
+0x7b3b    0x7746
+0x7b3c    0x52af
+0x7b3d    0x7821
+0x7b3e    0x784e
+0x7b3f    0x7864
+0x7b40    0x787a
+0x7b41    0x7930
+0x7b42    0xfa18
+0x7b43    0xfa19
+0x7b44    0xfa1a
+0x7b45    0x7994
+0x7b46    0xfa1b
+0x7b47    0x799b
+0x7b48    0x7ad1
+0x7b49    0x7ae7
+0x7b4a    0xfa1c
+0x7b4b    0x7aeb
+0x7b4c    0x7b9e
+0x7b4d    0xfa1d
+0x7b4e    0x7d48
+0x7b4f    0x7d5c
+0x7b50    0x7db7
+0x7b51    0x7da0
+0x7b52    0x7dd6
+0x7b53    0x7e52
+0x7b54    0x7f47
+0x7b55    0x7fa1
+0x7b56    0xfa1e
+0x7b57    0x8301
+0x7b58    0x8362
+0x7b59    0x837f
+0x7b5a    0x83c7
+0x7b5b    0x83f6
+0x7b5c    0x8448
+0x7b5d    0x84b4
+0x7b5e    0x8553
+0x7b5f    0x8559
+0x7b60    0x856b
+0x7b61    0xfa1f
+0x7b62    0x85b0
+0x7b63    0xfa20
+0x7b64    0xfa21
+0x7b65    0x8807
+0x7b66    0x88f5
+0x7b67    0x8a12
+0x7b68    0x8a37
+0x7b69    0x8a79
+0x7b6a    0x8aa7
+0x7b6b    0x8abe
+0x7b6c    0x8adf
+0x7b6d    0xfa22
+0x7b6e    0x8af6
+0x7b6f    0x8b53
+0x7b70    0x8b7f
+0x7b71    0x8cf0
+0x7b72    0x8cf4
+0x7b73    0x8d12
+0x7b74    0x8d76
+0x7b75    0xfa23
+0x7b76    0x8ecf
+0x7b77    0xfa24
+0x7b78    0xfa25
+0x7b79    0x9067
+0x7b7a    0x90de
+0x7b7b    0xfa26
+0x7b7c    0x9115
+0x7b7d    0x9127
+0x7b7e    0x91da
+0x7c21    0x91d7
+0x7c22    0x91de
+0x7c23    0x91ed
+0x7c24    0x91ee
+0x7c25    0x91e4
+0x7c26    0x91e5
+0x7c27    0x9206
+0x7c28    0x9210
+0x7c29    0x920a
+0x7c2a    0x923a
+0x7c2b    0x9240
+0x7c2c    0x923c
+0x7c2d    0x924e
+0x7c2e    0x9259
+0x7c2f    0x9251
+0x7c30    0x9239
+0x7c31    0x9267
+0x7c32    0x92a7
+0x7c33    0x9277
+0x7c34    0x9278
+0x7c35    0x92e7
+0x7c36    0x92d7
+0x7c37    0x92d9
+0x7c38    0x92d0
+0x7c39    0xfa27
+0x7c3a    0x92d5
+0x7c3b    0x92e0
+0x7c3c    0x92d3
+0x7c3d    0x9325
+0x7c3e    0x9321
+0x7c3f    0x92fb
+0x7c40    0xfa28
+0x7c41    0x931e
+0x7c42    0x92ff
+0x7c43    0x931d
+0x7c44    0x9302
+0x7c45    0x9370
+0x7c46    0x9357
+0x7c47    0x93a4
+0x7c48    0x93c6
+0x7c49    0x93de
+0x7c4a    0x93f8
+0x7c4b    0x9431
+0x7c4c    0x9445
+0x7c4d    0x9448
+0x7c4e    0x9592
+0x7c4f    0xf9dc
+0x7c50    0xfa29
+0x7c51    0x969d
+0x7c52    0x96af
+0x7c53    0x9733
+0x7c54    0x973b
+0x7c55    0x9743
+0x7c56    0x974d
+0x7c57    0x974f
+0x7c58    0x9751
+0x7c59    0x9755
+0x7c5a    0x9857
+0x7c5b    0x9865
+0x7c5c    0xfa2a
+0x7c5d    0xfa2b
+0x7c5e    0x9927
+0x7c5f    0xfa2c
+0x7c60    0x999e
+0x7c61    0x9a4e
+0x7c62    0x9ad9
+0x7c63    0x9adc
+0x7c64    0x9b75
+0x7c65    0x9b72
+0x7c66    0x9b8f
+0x7c67    0x9bb1
+0x7c68    0x9bbb
+0x7c69    0x9c00
+0x7c6a    0x9d70
+0x7c6b    0x9d6b
+0x7c6c    0xfa2d
+0x7c6d    0x9e19
+0x7c6e    0x9ed1
+0x7c71    0x2170
+0x7c72    0x2171
+0x7c73    0x2172
+0x7c74    0x2173
+0x7c75    0x2174
+0x7c76    0x2175
+0x7c77    0x2176
+0x7c78    0x2177
+0x7c79    0x2178
+0x7c7a    0x2179
+0x7c7b    0x3052
+0x7c7c    0x00a6
+0x7c7d    0xff07
+0x7c7e    0xff02
+0x932b    0x2160
+0x932c    0x2161
+0x932d    0x2162
+0x932e    0x2163
+0x932f    0x2164
+0x9330    0x2165
+0x9331    0x2166
+0x9332    0x2167
+0x9333    0x2168
+0x9334    0x2169
+0x9339    0x3231
+0x933a    0x2116
+0x933b    0x2121
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/tools/CharsetMapping/JIS_X_0212.map	Wed Aug 01 11:08:11 2012 -0400
@@ -0,0 +1,6067 @@
+0x222f    0x02d8
+0x2230    0x02c7
+0x2231    0x00b8
+0x2232    0x02d9
+0x2233    0x02dd
+0x2234    0x00af
+0x2235    0x02db
+0x2236    0x02da
+0x2237    0xff5e
+0x2238    0x0384
+0x2239    0x0385
+0x2242    0x00a1
+0x2243    0x00a6
+0x2244    0x00bf
+0x226b    0x00ba
+0x226c    0x00aa
+0x226d    0x00a9
+0x226e    0x00ae
+0x226f    0x2122
+0x2270    0x00a4
+0x2271    0x2116
+0x2661    0x0386
+0x2662    0x0388
+0x2663    0x0389
+0x2664    0x038a
+0x2665    0x03aa
+0x2667    0x038c
+0x2669    0x038e
+0x266a    0x03ab
+0x266c    0x038f
+0x2671    0x03ac
+0x2672    0x03ad
+0x2673    0x03ae
+0x2674    0x03af
+0x2675    0x03ca
+0x2676    0x0390
+0x2677    0x03cc
+0x2678    0x03c2
+0x2679    0x03cd
+0x267a    0x03cb
+0x267b    0x03b0
+0x267c    0x03ce
+0x2742    0x0402
+0x2743    0x0403
+0x2744    0x0404
+0x2745    0x0405
+0x2746    0x0406
+0x2747    0x0407
+0x2748    0x0408
+0x2749    0x0409
+0x274a    0x040a
+0x274b    0x040b
+0x274c    0x040c
+0x274d    0x040e
+0x274e    0x040f
+0x2772    0x0452
+0x2773    0x0453
+0x2774    0x0454
+0x2775    0x0455
+0x2776    0x0456
+0x2777    0x0457
+0x2778    0x0458
+0x2779    0x0459
+0x277a    0x045a
+0x277b    0x045b
+0x277c    0x045c
+0x277d    0x045e
+0x277e    0x045f
+0x2921    0x00c6
+0x2922    0x0110
+0x2924    0x0126
+0x2926    0x0132
+0x2928    0x0141
+0x2929    0x013f
+0x292b    0x014a
+0x292c    0x00d8
+0x292d    0x0152
+0x292f    0x0166
+0x2930    0x00de
+0x2941    0x00e6
+0x2942    0x0111
+0x2943    0x00f0
+0x2944    0x0127
+0x2945    0x0131
+0x2946    0x0133
+0x2947    0x0138
+0x2948    0x0142
+0x2949    0x0140
+0x294a    0x0149
+0x294b    0x014b
+0x294c    0x00f8
+0x294d    0x0153
+0x294e    0x00df
+0x294f    0x0167
+0x2950    0x00fe
+0x2a21    0x00c1
+0x2a22    0x00c0
+0x2a23    0x00c4
+0x2a24    0x00c2
+0x2a25    0x0102
+0x2a26    0x01cd
+0x2a27    0x0100
+0x2a28    0x0104
+0x2a29    0x00c5
+0x2a2a    0x00c3
+0x2a2b    0x0106
+0x2a2c    0x0108
+0x2a2d    0x010c
+0x2a2e    0x00c7
+0x2a2f    0x010a
+0x2a30    0x010e
+0x2a31    0x00c9
+0x2a32    0x00c8
+0x2a33    0x00cb
+0x2a34    0x00ca
+0x2a35    0x011a
+0x2a36    0x0116
+0x2a37    0x0112
+0x2a38    0x0118
+0x2a3a    0x011c
+0x2a3b    0x011e
+0x2a3c    0x0122
+0x2a3d    0x0120
+0x2a3e    0x0124
+0x2a3f    0x00cd
+0x2a40    0x00cc
+0x2a41    0x00cf
+0x2a42    0x00ce
+0x2a43    0x01cf
+0x2a44    0x0130
+0x2a45    0x012a
+0x2a46    0x012e
+0x2a47    0x0128
+0x2a48    0x0134
+0x2a49    0x0136
+0x2a4a    0x0139
+0x2a4b    0x013d
+0x2a4c    0x013b
+0x2a4d    0x0143
+0x2a4e    0x0147
+0x2a4f    0x0145
+0x2a50    0x00d1
+0x2a51    0x00d3
+0x2a52    0x00d2
+0x2a53    0x00d6
+0x2a54    0x00d4
+0x2a55    0x01d1
+0x2a56    0x0150
+0x2a57    0x014c
+0x2a58    0x00d5
+0x2a59    0x0154
+0x2a5a    0x0158
+0x2a5b    0x0156
+0x2a5c    0x015a
+0x2a5d    0x015c
+0x2a5e    0x0160
+0x2a5f    0x015e
+0x2a60    0x0164
+0x2a61    0x0162
+0x2a62    0x00da
+0x2a63    0x00d9
+0x2a64    0x00dc
+0x2a65    0x00db
+0x2a66    0x016c
+0x2a67    0x01d3
+0x2a68    0x0170
+0x2a69    0x016a
+0x2a6a    0x0172
+0x2a6b    0x016e
+0x2a6c    0x0168
+0x2a6d    0x01d7
+0x2a6e    0x01db
+0x2a6f    0x01d9
+0x2a70    0x01d5
+0x2a71    0x0174
+0x2a72    0x00dd
+0x2a73    0x0178
+0x2a74    0x0176
+0x2a75    0x0179
+0x2a76    0x017d
+0x2a77    0x017b
+0x2b21    0x00e1
+0x2b22    0x00e0
+0x2b23    0x00e4
+0x2b24    0x00e2
+0x2b25    0x0103
+0x2b26    0x01ce
+0x2b27    0x0101
+0x2b28    0x0105
+0x2b29    0x00e5
+0x2b2a    0x00e3
+0x2b2b    0x0107
+0x2b2c    0x0109
+0x2b2d    0x010d
+0x2b2e    0x00e7
+0x2b2f    0x010b
+0x2b30    0x010f
+0x2b31    0x00e9
+0x2b32    0x00e8
+0x2b33    0x00eb
+0x2b34    0x00ea
+0x2b35    0x011b
+0x2b36    0x0117
+0x2b37    0x0113
+0x2b38    0x0119
+0x2b39    0x01f5
+0x2b3a    0x011d
+0x2b3b    0x011f
+0x2b3d    0x0121
+0x2b3e    0x0125
+0x2b3f    0x00ed
+0x2b40    0x00ec
+0x2b41    0x00ef
+0x2b42    0x00ee
+0x2b43    0x01d0
+0x2b45    0x012b
+0x2b46    0x012f
+0x2b47    0x0129
+0x2b48    0x0135
+0x2b49    0x0137
+0x2b4a    0x013a
+0x2b4b    0x013e
+0x2b4c    0x013c
+0x2b4d    0x0144
+0x2b4e    0x0148
+0x2b4f    0x0146
+0x2b50    0x00f1
+0x2b51    0x00f3
+0x2b52    0x00f2
+0x2b53    0x00f6
+0x2b54    0x00f4
+0x2b55    0x01d2
+0x2b56    0x0151
+0x2b57    0x014d
+0x2b58    0x00f5
+0x2b59    0x0155
+0x2b5a    0x0159
+0x2b5b    0x0157
+0x2b5c    0x015b
+0x2b5d    0x015d
+0x2b5e    0x0161
+0x2b5f    0x015f
+0x2b60    0x0165
+0x2b61    0x0163
+0x2b62    0x00fa
+0x2b63    0x00f9
+0x2b64    0x00fc
+0x2b65    0x00fb
+0x2b66    0x016d
+0x2b67    0x01d4
+0x2b68    0x0171
+0x2b69    0x016b
+0x2b6a    0x0173
+0x2b6b    0x016f
+0x2b6c    0x0169
+0x2b6d    0x01d8
+0x2b6e    0x01dc
+0x2b6f    0x01da
+0x2b70    0x01d6
+0x2b71    0x0175
+0x2b72    0x00fd
+0x2b73    0x00ff
+0x2b74    0x0177
+0x2b75    0x017a
+0x2b76    0x017e
+0x2b77    0x017c
+0x3021    0x4e02
+0x3022    0x4e04
+0x3023    0x4e05
+0x3024    0x4e0c
+0x3025    0x4e12
+0x3026    0x4e1f
+0x3027    0x4e23
+0x3028    0x4e24
+0x3029    0x4e28
+0x302a    0x4e2b
+0x302b    0x4e2e
+0x302c    0x4e2f
+0x302d    0x4e30
+0x302e    0x4e35
+0x302f    0x4e40
+0x3030    0x4e41
+0x3031    0x4e44
+0x3032    0x4e47
+0x3033    0x4e51
+0x3034    0x4e5a
+0x3035    0x4e5c
+0x3036    0x4e63
+0x3037    0x4e68
+0x3038    0x4e69
+0x3039    0x4e74
+0x303a    0x4e75
+0x303b    0x4e79
+0x303c    0x4e7f
+0x303d    0x4e8d
+0x303e    0x4e96
+0x303f    0x4e97
+0x3040    0x4e9d
+0x3041    0x4eaf
+0x3042    0x4eb9
+0x3043    0x4ec3
+0x3044    0x4ed0
+0x3045    0x4eda
+0x3046    0x4edb
+0x3047    0x4ee0
+0x3048    0x4ee1
+0x3049    0x4ee2
+0x304a    0x4ee8
+0x304b    0x4eef
+0x304c    0x4ef1
+0x304d    0x4ef3
+0x304e    0x4ef5
+0x304f    0x4efd
+0x3050    0x4efe
+0x3051    0x4eff
+0x3052    0x4f00
+0x3053    0x4f02
+0x3054    0x4f03
+0x3055    0x4f08
+0x3056    0x4f0b
+0x3057    0x4f0c
+0x3058    0x4f12
+0x3059    0x4f15
+0x305a    0x4f16
+0x305b    0x4f17
+0x305c    0x4f19
+0x305d    0x4f2e
+0x305e    0x4f31
+0x305f    0x4f60
+0x3060    0x4f33
+0x3061    0x4f35
+0x3062    0x4f37
+0x3063    0x4f39
+0x3064    0x4f3b
+0x3065    0x4f3e
+0x3066    0x4f40
+0x3067    0x4f42
+0x3068    0x4f48
+0x3069    0x4f49
+0x306a    0x4f4b
+0x306b    0x4f4c
+0x306c    0x4f52
+0x306d    0x4f54
+0x306e    0x4f56
+0x306f    0x4f58
+0x3070    0x4f5f
+0x3071    0x4f63
+0x3072    0x4f6a
+0x3073    0x4f6c
+0x3074    0x4f6e
+0x3075    0x4f71
+0x3076    0x4f77
+0x3077    0x4f78
+0x3078    0x4f79
+0x3079    0x4f7a
+0x307a    0x4f7d
+0x307b    0x4f7e
+0x307c    0x4f81
+0x307d    0x4f82
+0x307e    0x4f84
+0x3121    0x4f85
+0x3122    0x4f89
+0x3123    0x4f8a
+0x3124    0x4f8c
+0x3125    0x4f8e
+0x3126    0x4f90
+0x3127    0x4f92
+0x3128    0x4f93
+0x3129    0x4f94
+0x312a    0x4f97
+0x312b    0x4f99
+0x312c    0x4f9a
+0x312d    0x4f9e
+0x312e    0x4f9f
+0x312f    0x4fb2
+0x3130    0x4fb7
+0x3131    0x4fb9
+0x3132    0x4fbb
+0x3133    0x4fbc
+0x3134    0x4fbd
+0x3135    0x4fbe
+0x3136    0x4fc0
+0x3137    0x4fc1
+0x3138    0x4fc5
+0x3139    0x4fc6
+0x313a    0x4fc8
+0x313b    0x4fc9
+0x313c    0x4fcb
+0x313d    0x4fcc
+0x313e    0x4fcd
+0x313f    0x4fcf
+0x3140    0x4fd2
+0x3141    0x4fdc
+0x3142    0x4fe0
+0x3143    0x4fe2
+0x3144    0x4ff0
+0x3145    0x4ff2
+0x3146    0x4ffc
+0x3147    0x4ffd
+0x3148    0x4fff
+0x3149    0x5000
+0x314a    0x5001
+0x314b    0x5004
+0x314c    0x5007
+0x314d    0x500a
+0x314e    0x500c
+0x314f    0x500e
+0x3150    0x5010
+0x3151    0x5013
+0x3152    0x5017
+0x3153    0x5018
+0x3154    0x501b
+0x3155    0x501c
+0x3156    0x501d
+0x3157    0x501e
+0x3158    0x5022
+0x3159    0x5027
+0x315a    0x502e
+0x315b    0x5030
+0x315c    0x5032
+0x315d    0x5033
+0x315e    0x5035
+0x315f    0x5040
+0x3160    0x5041
+0x3161    0x5042
+0x3162    0x5045
+0x3163    0x5046
+0x3164    0x504a
+0x3165    0x504c
+0x3166    0x504e
+0x3167    0x5051
+0x3168    0x5052
+0x3169    0x5053
+0x316a    0x5057
+0x316b    0x5059
+0x316c    0x505f
+0x316d    0x5060
+0x316e    0x5062
+0x316f    0x5063
+0x3170    0x5066
+0x3171    0x5067
+0x3172    0x506a
+0x3173    0x506d
+0x3174    0x5070
+0x3175    0x5071
+0x3176    0x503b
+0x3177    0x5081
+0x3178    0x5083
+0x3179    0x5084
+0x317a    0x5086
+0x317b    0x508a
+0x317c    0x508e
+0x317d    0x508f
+0x317e    0x5090
+0x3221    0x5092
+0x3222    0x5093
+0x3223    0x5094
+0x3224    0x5096
+0x3225    0x509b
+0x3226    0x509c
+0x3227    0x509e
+0x3228    0x509f
+0x3229    0x50a0
+0x322a    0x50a1
+0x322b    0x50a2
+0x322c    0x50aa
+0x322d    0x50af
+0x322e    0x50b0
+0x322f    0x50b9
+0x3230    0x50ba
+0x3231    0x50bd
+0x3232    0x50c0
+0x3233    0x50c3
+0x3234    0x50c4
+0x3235    0x50c7
+0x3236    0x50cc
+0x3237    0x50ce
+0x3238    0x50d0
+0x3239    0x50d3
+0x323a    0x50d4
+0x323b    0x50d8
+0x323c    0x50dc
+0x323d    0x50dd
+0x323e    0x50df
+0x323f    0x50e2
+0x3240    0x50e4
+0x3241    0x50e6
+0x3242    0x50e8
+0x3243    0x50e9
+0x3244    0x50ef
+0x3245    0x50f1
+0x3246    0x50f6
+0x3247    0x50fa
+0x3248    0x50fe
+0x3249    0x5103
+0x324a    0x5106
+0x324b    0x5107
+0x324c    0x5108
+0x324d    0x510b
+0x324e    0x510c
+0x324f    0x510d
+0x3250    0x510e
+0x3251    0x50f2
+0x3252    0x5110
+0x3253    0x5117
+0x3254    0x5119
+0x3255    0x511b
+0x3256    0x511c
+0x3257    0x511d
+0x3258    0x511e
+0x3259    0x5123
+0x325a    0x5127
+0x325b    0x5128
+0x325c    0x512c
+0x325d    0x512d
+0x325e    0x512f
+0x325f    0x5131
+0x3260    0x5133
+0x3261    0x5134
+0x3262    0x5135
+0x3263    0x5138
+0x3264    0x5139
+0x3265    0x5142
+0x3266    0x514a
+0x3267    0x514f
+0x3268    0x5153
+0x3269    0x5155
+0x326a    0x5157
+0x326b    0x5158
+0x326c    0x515f
+0x326d    0x5164
+0x326e    0x5166
+0x326f    0x517e
+0x3270    0x5183
+0x3271    0x5184
+0x3272    0x518b
+0x3273    0x518e
+0x3274    0x5198
+0x3275    0x519d
+0x3276    0x51a1
+0x3277    0x51a3
+0x3278    0x51ad
+0x3279    0x51b8
+0x327a    0x51ba
+0x327b    0x51bc
+0x327c    0x51be
+0x327d    0x51bf
+0x327e    0x51c2
+0x3321    0x51c8
+0x3322    0x51cf
+0x3323    0x51d1
+0x3324    0x51d2
+0x3325    0x51d3
+0x3326    0x51d5
+0x3327    0x51d8
+0x3328    0x51de
+0x3329    0x51e2
+0x332a    0x51e5
+0x332b    0x51ee
+0x332c    0x51f2
+0x332d    0x51f3
+0x332e    0x51f4
+0x332f    0x51f7
+0x3330    0x5201
+0x3331    0x5202
+0x3332    0x5205
+0x3333    0x5212
+0x3334    0x5213
+0x3335    0x5215
+0x3336    0x5216
+0x3337    0x5218
+0x3338    0x5222
+0x3339    0x5228
+0x333a    0x5231
+0x333b    0x5232
+0x333c    0x5235
+0x333d    0x523c
+0x333e    0x5245
+0x333f    0x5249
+0x3340    0x5255
+0x3341    0x5257
+0x3342    0x5258
+0x3343    0x525a
+0x3344    0x525c
+0x3345    0x525f
+0x3346    0x5260
+0x3347    0x5261
+0x3348    0x5266
+0x3349    0x526e
+0x334a    0x5277
+0x334b    0x5278
+0x334c    0x5279
+0x334d    0x5280
+0x334e    0x5282
+0x334f    0x5285
+0x3350    0x528a
+0x3351    0x528c
+0x3352    0x5293
+0x3353    0x5295
+0x3354    0x5296
+0x3355    0x5297
+0x3356    0x5298
+0x3357    0x529a
+0x3358    0x529c
+0x3359    0x52a4
+0x335a    0x52a5
+0x335b    0x52a6
+0x335c    0x52a7
+0x335d    0x52af
+0x335e    0x52b0
+0x335f    0x52b6
+0x3360    0x52b7
+0x3361    0x52b8
+0x3362    0x52ba
+0x3363    0x52bb
+0x3364    0x52bd
+0x3365    0x52c0
+0x3366    0x52c4
+0x3367    0x52c6
+0x3368    0x52c8
+0x3369    0x52cc
+0x336a    0x52cf
+0x336b    0x52d1
+0x336c    0x52d4
+0x336d    0x52d6
+0x336e    0x52db
+0x336f    0x52dc
+0x3370    0x52e1
+0x3371    0x52e5
+0x3372    0x52e8
+0x3373    0x52e9
+0x3374    0x52ea
+0x3375    0x52ec
+0x3376    0x52f0
+0x3377    0x52f1
+0x3378    0x52f4
+0x3379    0x52f6
+0x337a    0x52f7
+0x337b    0x5300
+0x337c    0x5303
+0x337d    0x530a
+0x337e    0x530b
+0x3421    0x530c
+0x3422    0x5311
+0x3423    0x5313
+0x3424    0x5318
+0x3425    0x531b
+0x3426    0x531c
+0x3427    0x531e
+0x3428    0x531f
+0x3429    0x5325
+0x342a    0x5327
+0x342b    0x5328
+0x342c    0x5329
+0x342d    0x532b
+0x342e    0x532c
+0x342f    0x532d
+0x3430    0x5330
+0x3431    0x5332
+0x3432    0x5335
+0x3433    0x533c
+0x3434    0x533d
+0x3435    0x533e
+0x3436    0x5342
+0x3437    0x534c
+0x3438    0x534b
+0x3439    0x5359
+0x343a    0x535b
+0x343b    0x5361
+0x343c    0x5363
+0x343d    0x5365
+0x343e    0x536c
+0x343f    0x536d
+0x3440    0x5372
+0x3441    0x5379
+0x3442    0x537e
+0x3443    0x5383
+0x3444    0x5387
+0x3445    0x5388
+0x3446    0x538e
+0x3447    0x5393
+0x3448    0x5394
+0x3449    0x5399
+0x344a    0x539d
+0x344b    0x53a1
+0x344c    0x53a4
+0x344d    0x53aa
+0x344e    0x53ab
+0x344f    0x53af
+0x3450    0x53b2
+0x3451    0x53b4
+0x3452    0x53b5
+0x3453    0x53b7
+0x3454    0x53b8
+0x3455    0x53ba
+0x3456    0x53bd
+0x3457    0x53c0
+0x3458    0x53c5
+0x3459    0x53cf
+0x345a    0x53d2
+0x345b    0x53d3
+0x345c    0x53d5
+0x345d    0x53da
+0x345e    0x53dd
+0x345f    0x53de
+0x3460    0x53e0
+0x3461    0x53e6
+0x3462    0x53e7
+0x3463    0x53f5
+0x3464    0x5402
+0x3465    0x5413
+0x3466    0x541a
+0x3467    0x5421
+0x3468    0x5427
+0x3469    0x5428
+0x346a    0x542a
+0x346b    0x542f
+0x346c    0x5431
+0x346d    0x5434
+0x346e    0x5435
+0x346f    0x5443
+0x3470    0x5444
+0x3471    0x5447
+0x3472    0x544d
+0x3473    0x544f
+0x3474    0x545e
+0x3475    0x5462
+0x3476    0x5464
+0x3477    0x5466
+0x3478    0x5467
+0x3479    0x5469
+0x347a    0x546b
+0x347b    0x546d
+0x347c    0x546e
+0x347d    0x5474
+0x347e    0x547f
+0x3521    0x5481
+0x3522    0x5483
+0x3523    0x5485
+0x3524    0x5488
+0x3525    0x5489
+0x3526    0x548d
+0x3527    0x5491
+0x3528    0x5495
+0x3529    0x5496
+0x352a    0x549c
+0x352b    0x549f
+0x352c    0x54a1
+0x352d    0x54a6
+0x352e    0x54a7
+0x352f    0x54a9
+0x3530    0x54aa
+0x3531    0x54ad
+0x3532    0x54ae
+0x3533    0x54b1
+0x3534    0x54b7
+0x3535    0x54b9
+0x3536    0x54ba
+0x3537    0x54bb
+0x3538    0x54bf
+0x3539    0x54c6
+0x353a    0x54ca
+0x353b    0x54cd
+0x353c    0x54ce
+0x353d    0x54e0
+0x353e    0x54ea
+0x353f    0x54ec
+0x3540    0x54ef
+0x3541    0x54f6
+0x3542    0x54fc
+0x3543    0x54fe
+0x3544    0x54ff
+0x3545    0x5500
+0x3546    0x5501
+0x3547    0x5505
+0x3548    0x5508
+0x3549    0x5509
+0x354a    0x550c
+0x354b    0x550d
+0x354c    0x550e
+0x354d    0x5515
+0x354e    0x552a
+0x354f    0x552b
+0x3550    0x5532
+0x3551    0x5535
+0x3552    0x5536
+0x3553    0x553b
+0x3554    0x553c
+0x3555    0x553d
+0x3556    0x5541
+0x3557    0x5547
+0x3558    0x5549
+0x3559    0x554a
+0x355a    0x554d
+0x355b    0x5550
+0x355c    0x5551
+0x355d    0x5558
+0x355e    0x555a
+0x355f    0x555b
+0x3560    0x555e
+0x3561    0x5560
+0x3562    0x5561
+0x3563    0x5564
+0x3564    0x5566
+0x3565    0x557f
+0x3566    0x5581
+0x3567    0x5582
+0x3568    0x5586
+0x3569    0x5588
+0x356a    0x558e
+0x356b    0x558f
+0x356c    0x5591
+0x356d    0x5592
+0x356e    0x5593
+0x356f    0x5594
+0x3570    0x5597
+0x3571    0x55a3
+0x3572    0x55a4
+0x3573    0x55ad
+0x3574    0x55b2
+0x3575    0x55bf
+0x3576    0x55c1
+0x3577    0x55c3
+0x3578    0x55c6
+0x3579    0x55c9
+0x357a    0x55cb
+0x357b    0x55cc
+0x357c    0x55ce
+0x357d    0x55d1
+0x357e    0x55d2
+0x3621    0x55d3
+0x3622    0x55d7
+0x3623    0x55d8
+0x3624    0x55db
+0x3625    0x55de
+0x3626    0x55e2
+0x3627    0x55e9
+0x3628    0x55f6
+0x3629    0x55ff
+0x362a    0x5605
+0x362b    0x5608
+0x362c    0x560a
+0x362d    0x560d
+0x362e    0x560e
+0x362f    0x560f
+0x3630    0x5610
+0x3631    0x5611
+0x3632    0x5612
+0x3633    0x5619
+0x3634    0x562c
+0x3635    0x5630
+0x3636    0x5633
+0x3637    0x5635
+0x3638    0x5637
+0x3639    0x5639
+0x363a    0x563b
+0x363b    0x563c
+0x363c    0x563d
+0x363d    0x563f
+0x363e    0x5640
+0x363f    0x5641
+0x3640    0x5643
+0x3641    0x5644
+0x3642    0x5646
+0x3643    0x5649
+0x3644    0x564b
+0x3645    0x564d
+0x3646    0x564f
+0x3647    0x5654
+0x3648    0x565e
+0x3649    0x5660
+0x364a    0x5661
+0x364b    0x5662
+0x364c    0x5663
+0x364d    0x5666
+0x364e    0x5669
+0x364f    0x566d
+0x3650    0x566f
+0x3651    0x5671
+0x3652    0x5672
+0x3653    0x5675
+0x3654    0x5684
+0x3655    0x5685
+0x3656    0x5688
+0x3657    0x568b
+0x3658    0x568c
+0x3659    0x5695
+0x365a    0x5699
+0x365b    0x569a
+0x365c    0x569d
+0x365d    0x569e
+0x365e    0x569f
+0x365f    0x56a6
+0x3660    0x56a7
+0x3661    0x56a8
+0x3662    0x56a9
+0x3663    0x56ab
+0x3664    0x56ac
+0x3665    0x56ad
+0x3666    0x56b1
+0x3667    0x56b3
+0x3668    0x56b7
+0x3669    0x56be
+0x366a    0x56c5
+0x366b    0x56c9
+0x366c    0x56ca
+0x366d    0x56cb
+0x366e    0x56cf
+0x366f    0x56d0
+0x3670    0x56cc
+0x3671    0x56cd
+0x3672    0x56d9
+0x3673    0x56dc
+0x3674    0x56dd
+0x3675    0x56df
+0x3676    0x56e1
+0x3677    0x56e4
+0x3678    0x56e5
+0x3679    0x56e6
+0x367a    0x56e7
+0x367b    0x56e8
+0x367c    0x56f1
+0x367d    0x56eb
+0x367e    0x56ed
+0x3721    0x56f6
+0x3722    0x56f7
+0x3723    0x5701
+0x3724    0x5702
+0x3725    0x5707
+0x3726    0x570a
+0x3727    0x570c
+0x3728    0x5711
+0x3729    0x5715
+0x372a    0x571a
+0x372b    0x571b
+0x372c    0x571d
+0x372d    0x5720
+0x372e    0x5722
+0x372f    0x5723
+0x3730    0x5724
+0x3731    0x5725
+0x3732    0x5729
+0x3733    0x572a
+0x3734    0x572c
+0x3735    0x572e
+0x3736    0x572f
+0x3737    0x5733
+0x3738    0x5734
+0x3739    0x573d
+0x373a    0x573e
+0x373b    0x573f
+0x373c    0x5745
+0x373d    0x5746
+0x373e    0x574c
+0x373f    0x574d
+0x3740    0x5752
+0x3741    0x5762
+0x3742    0x5765
+0x3743    0x5767
+0x3744    0x5768
+0x3745    0x576b
+0x3746    0x576d
+0x3747    0x576e
+0x3748    0x576f
+0x3749    0x5770
+0x374a    0x5771
+0x374b    0x5773
+0x374c    0x5774
+0x374d    0x5775
+0x374e    0x5777
+0x374f    0x5779
+0x3750    0x577a
+0x3751    0x577b
+0x3752    0x577c
+0x3753    0x577e
+0x3754    0x5781
+0x3755    0x5783
+0x3756    0x578c
+0x3757    0x5794
+0x3758    0x5797
+0x3759    0x5799
+0x375a    0x579a
+0x375b    0x579c
+0x375c    0x579d
+0x375d    0x579e
+0x375e    0x579f
+0x375f    0x57a1
+0x3760    0x5795
+0x3761    0x57a7
+0x3762    0x57a8
+0x3763    0x57a9
+0x3764    0x57ac
+0x3765    0x57b8
+0x3766    0x57bd
+0x3767    0x57c7
+0x3768    0x57c8
+0x3769    0x57cc
+0x376a    0x57cf
+0x376b    0x57d5
+0x376c    0x57dd
+0x376d    0x57de
+0x376e    0x57e4
+0x376f    0x57e6
+0x3770    0x57e7
+0x3771    0x57e9
+0x3772    0x57ed
+0x3773    0x57f0
+0x3774    0x57f5
+0x3775    0x57f6
+0x3776    0x57f8
+0x3777    0x57fd
+0x3778    0x57fe
+0x3779    0x57ff
+0x377a    0x5803
+0x377b    0x5804
+0x377c    0x5808
+0x377d    0x5809
+0x377e    0x57e1
+0x3821    0x580c
+0x3822    0x580d
+0x3823    0x581b
+0x3824    0x581e
+0x3825    0x581f
+0x3826    0x5820
+0x3827    0x5826
+0x3828    0x5827
+0x3829    0x582d
+0x382a    0x5832
+0x382b    0x5839
+0x382c    0x583f
+0x382d    0x5849
+0x382e    0x584c
+0x382f    0x584d
+0x3830    0x584f
+0x3831    0x5850
+0x3832    0x5855
+0x3833    0x585f
+0x3834    0x5861
+0x3835    0x5864
+0x3836    0x5867
+0x3837    0x5868
+0x3838    0x5878
+0x3839    0x587c
+0x383a    0x587f
+0x383b    0x5880
+0x383c    0x5881
+0x383d    0x5887
+0x383e    0x5888
+0x383f    0x5889
+0x3840    0x588a
+0x3841    0x588c
+0x3842    0x588d
+0x3843    0x588f
+0x3844    0x5890
+0x3845    0x5894
+0x3846    0x5896
+0x3847    0x589d
+0x3848    0x58a0
+0x3849    0x58a1
+0x384a    0x58a2
+0x384b    0x58a6
+0x384c    0x58a9
+0x384d    0x58b1
+0x384e    0x58b2
+0x384f    0x58c4
+0x3850    0x58bc
+0x3851    0x58c2
+0x3852    0x58c8
+0x3853    0x58cd
+0x3854    0x58ce
+0x3855    0x58d0
+0x3856    0x58d2
+0x3857    0x58d4
+0x3858    0x58d6
+0x3859    0x58da
+0x385a    0x58dd
+0x385b    0x58e1
+0x385c    0x58e2
+0x385d    0x58e9
+0x385e    0x58f3
+0x385f    0x5905
+0x3860    0x5906
+0x3861    0x590b
+0x3862    0x590c
+0x3863    0x5912
+0x3864    0x5913
+0x3865    0x5914
+0x3866    0x8641
+0x3867    0x591d
+0x3868    0x5921
+0x3869    0x5923
+0x386a    0x5924
+0x386b    0x5928
+0x386c    0x592f
+0x386d    0x5930
+0x386e    0x5933
+0x386f    0x5935
+0x3870    0x5936
+0x3871    0x593f
+0x3872    0x5943
+0x3873    0x5946
+0x3874    0x5952
+0x3875    0x5953
+0x3876    0x5959
+0x3877    0x595b
+0x3878    0x595d
+0x3879    0x595e
+0x387a    0x595f
+0x387b    0x5961
+0x387c    0x5963
+0x387d    0x596b
+0x387e    0x596d
+0x3921    0x596f
+0x3922    0x5972
+0x3923    0x5975
+0x3924    0x5976
+0x3925    0x5979
+0x3926    0x597b
+0x3927    0x597c
+0x3928    0x598b
+0x3929    0x598c
+0x392a    0x598e
+0x392b    0x5992
+0x392c    0x5995
+0x392d    0x5997
+0x392e    0x599f
+0x392f    0x59a4
+0x3930    0x59a7
+0x3931    0x59ad
+0x3932    0x59ae
+0x3933    0x59af
+0x3934    0x59b0
+0x3935    0x59b3
+0x3936    0x59b7
+0x3937    0x59ba
+0x3938    0x59bc
+0x3939    0x59c1
+0x393a    0x59c3
+0x393b    0x59c4
+0x393c    0x59c8
+0x393d    0x59ca
+0x393e    0x59cd
+0x393f    0x59d2
+0x3940    0x59dd
+0x3941    0x59de
+0x3942    0x59df
+0x3943    0x59e3
+0x3944    0x59e4
+0x3945    0x59e7
+0x3946    0x59ee
+0x3947    0x59ef
+0x3948    0x59f1
+0x3949    0x59f2
+0x394a    0x59f4
+0x394b    0x59f7
+0x394c    0x5a00
+0x394d    0x5a04
+0x394e    0x5a0c
+0x394f    0x5a0d
+0x3950    0x5a0e
+0x3951    0x5a12
+0x3952    0x5a13
+0x3953    0x5a1e
+0x3954    0x5a23
+0x3955    0x5a24
+0x3956    0x5a27
+0x3957    0x5a28
+0x3958    0x5a2a
+0x3959    0x5a2d
+0x395a    0x5a30
+0x395b    0x5a44
+0x395c    0x5a45
+0x395d    0x5a47
+0x395e    0x5a48
+0x395f    0x5a4c
+0x3960    0x5a50
+0x3961    0x5a55
+0x3962    0x5a5e
+0x3963    0x5a63
+0x3964    0x5a65
+0x3965    0x5a67
+0x3966    0x5a6d
+0x3967    0x5a77
+0x3968    0x5a7a
+0x3969    0x5a7b
+0x396a    0x5a7e
+0x396b    0x5a8b
+0x396c    0x5a90
+0x396d    0x5a93
+0x396e    0x5a96
+0x396f    0x5a99
+0x3970    0x5a9c
+0x3971    0x5a9e
+0x3972    0x5a9f
+0x3973    0x5aa0
+0x3974    0x5aa2
+0x3975    0x5aa7
+0x3976    0x5aac
+0x3977    0x5ab1
+0x3978    0x5ab2
+0x3979    0x5ab3
+0x397a    0x5ab5
+0x397b    0x5ab8
+0x397c    0x5aba
+0x397d    0x5abb
+0x397e    0x5abf
+0x3a21    0x5ac4
+0x3a22    0x5ac6
+0x3a23    0x5ac8
+0x3a24    0x5acf
+0x3a25    0x5ada
+0x3a26    0x5adc
+0x3a27    0x5ae0
+0x3a28    0x5ae5
+0x3a29    0x5aea
+0x3a2a    0x5aee
+0x3a2b    0x5af5
+0x3a2c    0x5af6
+0x3a2d    0x5afd
+0x3a2e    0x5b00
+0x3a2f    0x5b01
+0x3a30    0x5b08
+0x3a31    0x5b17
+0x3a32    0x5b34
+0x3a33    0x5b19
+0x3a34    0x5b1b
+0x3a35    0x5b1d
+0x3a36    0x5b21
+0x3a37    0x5b25
+0x3a38    0x5b2d
+0x3a39    0x5b38
+0x3a3a    0x5b41
+0x3a3b    0x5b4b
+0x3a3c    0x5b4c
+0x3a3d    0x5b52
+0x3a3e    0x5b56
+0x3a3f    0x5b5e
+0x3a40    0x5b68
+0x3a41    0x5b6e
+0x3a42    0x5b6f
+0x3a43    0x5b7c
+0x3a44    0x5b7d
+0x3a45    0x5b7e
+0x3a46    0x5b7f
+0x3a47    0x5b81
+0x3a48    0x5b84
+0x3a49    0x5b86
+0x3a4a    0x5b8a
+0x3a4b    0x5b8e
+0x3a4c    0x5b90
+0x3a4d    0x5b91
+0x3a4e    0x5b93
+0x3a4f    0x5b94
+0x3a50    0x5b96
+0x3a51    0x5ba8
+0x3a52    0x5ba9
+0x3a53    0x5bac
+0x3a54    0x5bad
+0x3a55    0x5baf
+0x3a56    0x5bb1
+0x3a57    0x5bb2
+0x3a58    0x5bb7
+0x3a59    0x5bba
+0x3a5a    0x5bbc
+0x3a5b    0x5bc0
+0x3a5c    0x5bc1
+0x3a5d    0x5bcd
+0x3a5e    0x5bcf
+0x3a5f    0x5bd6
+0x3a60    0x5bd7
+0x3a61    0x5bd8
+0x3a62    0x5bd9
+0x3a63    0x5bda
+0x3a64    0x5be0
+0x3a65    0x5bef
+0x3a66    0x5bf1
+0x3a67    0x5bf4
+0x3a68    0x5bfd
+0x3a69    0x5c0c
+0x3a6a    0x5c17
+0x3a6b    0x5c1e
+0x3a6c    0x5c1f
+0x3a6d    0x5c23
+0x3a6e    0x5c26
+0x3a6f    0x5c29
+0x3a70    0x5c2b
+0x3a71    0x5c2c
+0x3a72    0x5c2e
+0x3a73    0x5c30
+0x3a74    0x5c32
+0x3a75    0x5c35
+0x3a76    0x5c36
+0x3a77    0x5c59
+0x3a78    0x5c5a
+0x3a79    0x5c5c
+0x3a7a    0x5c62
+0x3a7b    0x5c63
+0x3a7c    0x5c67
+0x3a7d    0x5c68
+0x3a7e    0x5c69
+0x3b21    0x5c6d
+0x3b22    0x5c70
+0x3b23    0x5c74
+0x3b24    0x5c75
+0x3b25    0x5c7a
+0x3b26    0x5c7b
+0x3b27    0x5c7c
+0x3b28    0x5c7d
+0x3b29    0x5c87
+0x3b2a    0x5c88
+0x3b2b    0x5c8a
+0x3b2c    0x5c8f
+0x3b2d    0x5c92
+0x3b2e    0x5c9d
+0x3b2f    0x5c9f
+0x3b30    0x5ca0
+0x3b31    0x5ca2
+0x3b32    0x5ca3
+0x3b33    0x5ca6
+0x3b34    0x5caa
+0x3b35    0x5cb2
+0x3b36    0x5cb4
+0x3b37    0x5cb5
+0x3b38    0x5cba
+0x3b39    0x5cc9
+0x3b3a    0x5ccb
+0x3b3b    0x5cd2
+0x3b3c    0x5cdd
+0x3b3d    0x5cd7
+0x3b3e    0x5cee
+0x3b3f    0x5cf1
+0x3b40    0x5cf2
+0x3b41    0x5cf4
+0x3b42    0x5d01
+0x3b43    0x5d06
+0x3b44    0x5d0d
+0x3b45    0x5d12
+0x3b46    0x5d2b
+0x3b47    0x5d23
+0x3b48    0x5d24
+0x3b49    0x5d26
+0x3b4a    0x5d27
+0x3b4b    0x5d31
+0x3b4c    0x5d34
+0x3b4d    0x5d39
+0x3b4e    0x5d3d
+0x3b4f    0x5d3f
+0x3b50    0x5d42
+0x3b51    0x5d43
+0x3b52    0x5d46
+0x3b53    0x5d48
+0x3b54    0x5d55
+0x3b55    0x5d51
+0x3b56    0x5d59
+0x3b57    0x5d4a
+0x3b58    0x5d5f
+0x3b59    0x5d60
+0x3b5a    0x5d61
+0x3b5b    0x5d62
+0x3b5c    0x5d64
+0x3b5d    0x5d6a
+0x3b5e    0x5d6d
+0x3b5f    0x5d70
+0x3b60    0x5d79
+0x3b61    0x5d7a
+0x3b62    0x5d7e
+0x3b63    0x5d7f
+0x3b64    0x5d81
+0x3b65    0x5d83
+0x3b66    0x5d88
+0x3b67    0x5d8a
+0x3b68    0x5d92
+0x3b69    0x5d93
+0x3b6a    0x5d94
+0x3b6b    0x5d95
+0x3b6c    0x5d99
+0x3b6d    0x5d9b
+0x3b6e    0x5d9f
+0x3b6f    0x5da0
+0x3b70    0x5da7
+0x3b71    0x5dab
+0x3b72    0x5db0
+0x3b73    0x5db4
+0x3b74    0x5db8
+0x3b75    0x5db9
+0x3b76    0x5dc3
+0x3b77    0x5dc7
+0x3b78    0x5dcb
+0x3b79    0x5dd0
+0x3b7a    0x5dce
+0x3b7b    0x5dd8
+0x3b7c    0x5dd9
+0x3b7d    0x5de0
+0x3b7e    0x5de4
+0x3c21    0x5de9
+0x3c22    0x5df8
+0x3c23    0x5df9
+0x3c24    0x5e00
+0x3c25    0x5e07
+0x3c26    0x5e0d
+0x3c27    0x5e12
+0x3c28    0x5e14
+0x3c29    0x5e15
+0x3c2a    0x5e18
+0x3c2b    0x5e1f
+0x3c2c    0x5e20
+0x3c2d    0x5e2e
+0x3c2e    0x5e28
+0x3c2f    0x5e32
+0x3c30    0x5e35
+0x3c31    0x5e3e
+0x3c32    0x5e4b
+0x3c33    0x5e50
+0x3c34    0x5e49
+0x3c35    0x5e51
+0x3c36    0x5e56
+0x3c37    0x5e58
+0x3c38    0x5e5b
+0x3c39    0x5e5c
+0x3c3a    0x5e5e
+0x3c3b    0x5e68
+0x3c3c    0x5e6a
+0x3c3d    0x5e6b
+0x3c3e    0x5e6c
+0x3c3f    0x5e6d
+0x3c40    0x5e6e
+0x3c41    0x5e70
+0x3c42    0x5e80
+0x3c43    0x5e8b
+0x3c44    0x5e8e
+0x3c45    0x5ea2
+0x3c46    0x5ea4
+0x3c47    0x5ea5
+0x3c48    0x5ea8
+0x3c49    0x5eaa
+0x3c4a    0x5eac
+0x3c4b    0x5eb1
+0x3c4c    0x5eb3
+0x3c4d    0x5ebd
+0x3c4e    0x5ebe
+0x3c4f    0x5ebf
+0x3c50    0x5ec6
+0x3c51    0x5ecc
+0x3c52    0x5ecb
+0x3c53    0x5ece
+0x3c54    0x5ed1
+0x3c55    0x5ed2
+0x3c56    0x5ed4
+0x3c57    0x5ed5
+0x3c58    0x5edc
+0x3c59    0x5ede
+0x3c5a    0x5ee5
+0x3c5b    0x5eeb
+0x3c5c    0x5f02
+0x3c5d    0x5f06
+0x3c5e    0x5f07
+0x3c5f    0x5f08
+0x3c60    0x5f0e
+0x3c61    0x5f19
+0x3c62    0x5f1c
+0x3c63    0x5f1d
+0x3c64    0x5f21
+0x3c65    0x5f22
+0x3c66    0x5f23
+0x3c67    0x5f24
+0x3c68    0x5f28
+0x3c69    0x5f2b
+0x3c6a    0x5f2c
+0x3c6b    0x5f2e
+0x3c6c    0x5f30
+0x3c6d    0x5f34
+0x3c6e    0x5f36
+0x3c6f    0x5f3b
+0x3c70    0x5f3d
+0x3c71    0x5f3f
+0x3c72    0x5f40
+0x3c73    0x5f44
+0x3c74    0x5f45
+0x3c75    0x5f47
+0x3c76    0x5f4d
+0x3c77    0x5f50
+0x3c78    0x5f54
+0x3c79    0x5f58
+0x3c7a    0x5f5b
+0x3c7b    0x5f60
+0x3c7c    0x5f63
+0x3c7d    0x5f64
+0x3c7e    0x5f67
+0x3d21    0x5f6f
+0x3d22    0x5f72
+0x3d23    0x5f74
+0x3d24    0x5f75
+0x3d25    0x5f78
+0x3d26    0x5f7a
+0x3d27    0x5f7d
+0x3d28    0x5f7e
+0x3d29    0x5f89
+0x3d2a    0x5f8d
+0x3d2b    0x5f8f
+0x3d2c    0x5f96
+0x3d2d    0x5f9c
+0x3d2e    0x5f9d
+0x3d2f    0x5fa2
+0x3d30    0x5fa7
+0x3d31    0x5fab
+0x3d32    0x5fa4
+0x3d33    0x5fac
+0x3d34    0x5faf
+0x3d35    0x5fb0
+0x3d36    0x5fb1
+0x3d37    0x5fb8
+0x3d38    0x5fc4
+0x3d39    0x5fc7
+0x3d3a    0x5fc8
+0x3d3b    0x5fc9
+0x3d3c    0x5fcb
+0x3d3d    0x5fd0
+0x3d3e    0x5fd1
+0x3d3f    0x5fd2
+0x3d40    0x5fd3
+0x3d41    0x5fd4
+0x3d42    0x5fde
+0x3d43    0x5fe1
+0x3d44    0x5fe2
+0x3d45    0x5fe8
+0x3d46    0x5fe9
+0x3d47    0x5fea
+0x3d48    0x5fec
+0x3d49    0x5fed
+0x3d4a    0x5fee
+0x3d4b    0x5fef
+0x3d4c    0x5ff2
+0x3d4d    0x5ff3
+0x3d4e    0x5ff6
+0x3d4f    0x5ffa
+0x3d50    0x5ffc
+0x3d51    0x6007
+0x3d52    0x600a
+0x3d53    0x600d
+0x3d54    0x6013
+0x3d55    0x6014
+0x3d56    0x6017
+0x3d57    0x6018
+0x3d58    0x601a
+0x3d59    0x601f
+0x3d5a    0x6024
+0x3d5b    0x602d
+0x3d5c    0x6033
+0x3d5d    0x6035
+0x3d5e    0x6040
+0x3d5f    0x6047
+0x3d60    0x6048
+0x3d61    0x6049
+0x3d62    0x604c
+0x3d63    0x6051
+0x3d64    0x6054
+0x3d65    0x6056
+0x3d66    0x6057
+0x3d67    0x605d
+0x3d68    0x6061
+0x3d69    0x6067
+0x3d6a    0x6071
+0x3d6b    0x607e
+0x3d6c    0x607f
+0x3d6d    0x6082
+0x3d6e    0x6086
+0x3d6f    0x6088
+0x3d70    0x608a
+0x3d71    0x608e
+0x3d72    0x6091
+0x3d73    0x6093
+0x3d74    0x6095
+0x3d75    0x6098
+0x3d76    0x609d
+0x3d77    0x609e
+0x3d78    0x60a2
+0x3d79    0x60a4
+0x3d7a    0x60a5
+0x3d7b    0x60a8
+0x3d7c    0x60b0
+0x3d7d    0x60b1
+0x3d7e    0x60b7
+0x3e21    0x60bb
+0x3e22    0x60be
+0x3e23    0x60c2
+0x3e24    0x60c4
+0x3e25    0x60c8
+0x3e26    0x60c9
+0x3e27    0x60ca
+0x3e28    0x60cb
+0x3e29    0x60ce
+0x3e2a    0x60cf
+0x3e2b    0x60d4
+0x3e2c    0x60d5
+0x3e2d    0x60d9
+0x3e2e    0x60db
+0x3e2f    0x60dd
+0x3e30    0x60de
+0x3e31    0x60e2
+0x3e32    0x60e5
+0x3e33    0x60f2
+0x3e34    0x60f5
+0x3e35    0x60f8
+0x3e36    0x60fc
+0x3e37    0x60fd
+0x3e38    0x6102
+0x3e39    0x6107
+0x3e3a    0x610a
+0x3e3b    0x610c
+0x3e3c    0x6110
+0x3e3d    0x6111
+0x3e3e    0x6112
+0x3e3f    0x6113
+0x3e40    0x6114
+0x3e41    0x6116
+0x3e42    0x6117
+0x3e43    0x6119
+0x3e44    0x611c
+0x3e45    0x611e
+0x3e46    0x6122
+0x3e47    0x612a
+0x3e48    0x612b
+0x3e49    0x6130
+0x3e4a    0x6131
+0x3e4b    0x6135
+0x3e4c    0x6136
+0x3e4d    0x6137
+0x3e4e    0x6139
+0x3e4f    0x6141
+0x3e50    0x6145
+0x3e51    0x6146
+0x3e52    0x6149
+0x3e53    0x615e
+0x3e54    0x6160
+0x3e55    0x616c
+0x3e56    0x6172
+0x3e57    0x6178
+0x3e58    0x617b
+0x3e59    0x617c
+0x3e5a    0x617f
+0x3e5b    0x6180
+0x3e5c    0x6181
+0x3e5d    0x6183
+0x3e5e    0x6184
+0x3e5f    0x618b
+0x3e60    0x618d
+0x3e61    0x6192
+0x3e62    0x6193
+0x3e63    0x6197
+0x3e64    0x6198
+0x3e65    0x619c
+0x3e66    0x619d
+0x3e67    0x619f
+0x3e68    0x61a0
+0x3e69    0x61a5
+0x3e6a    0x61a8
+0x3e6b    0x61aa
+0x3e6c    0x61ad
+0x3e6d    0x61b8
+0x3e6e    0x61b9
+0x3e6f    0x61bc
+0x3e70    0x61c0
+0x3e71    0x61c1
+0x3e72    0x61c2
+0x3e73    0x61ce
+0x3e74    0x61cf
+0x3e75    0x61d5
+0x3e76    0x61dc
+0x3e77    0x61dd
+0x3e78    0x61de
+0x3e79    0x61df
+0x3e7a    0x61e1
+0x3e7b    0x61e2
+0x3e7c    0x61e7
+0x3e7d    0x61e9
+0x3e7e    0x61e5
+0x3f21    0x61ec
+0x3f22    0x61ed
+0x3f23    0x61ef
+0x3f24    0x6201
+0x3f25    0x6203
+0x3f26    0x6204
+0x3f27    0x6207
+0x3f28    0x6213
+0x3f29    0x6215
+0x3f2a    0x621c
+0x3f2b    0x6220
+0x3f2c    0x6222
+0x3f2d    0x6223
+0x3f2e    0x6227
+0x3f2f    0x6229
+0x3f30    0x622b
+0x3f31    0x6239
+0x3f32    0x623d
+0x3f33    0x6242
+0x3f34    0x6243
+0x3f35    0x6244
+0x3f36    0x6246
+0x3f37    0x624c
+0x3f38    0x6250
+0x3f39    0x6251
+0x3f3a    0x6252
+0x3f3b    0x6254
+0x3f3c    0x6256
+0x3f3d    0x625a
+0x3f3e    0x625c
+0x3f3f    0x6264
+0x3f40    0x626d
+0x3f41    0x626f
+0x3f42    0x6273
+0x3f43    0x627a
+0x3f44    0x627d
+0x3f45    0x628d
+0x3f46    0x628e
+0x3f47    0x628f
+0x3f48    0x6290
+0x3f49    0x62a6
+0x3f4a    0x62a8
+0x3f4b    0x62b3
+0x3f4c    0x62b6
+0x3f4d    0x62b7
+0x3f4e    0x62ba
+0x3f4f    0x62be
+0x3f50    0x62bf
+0x3f51    0x62c4
+0x3f52    0x62ce
+0x3f53    0x62d5
+0x3f54    0x62d6
+0x3f55    0x62da
+0x3f56    0x62ea
+0x3f57    0x62f2
+0x3f58    0x62f4
+0x3f59    0x62fc
+0x3f5a    0x62fd
+0x3f5b    0x6303
+0x3f5c    0x6304
+0x3f5d    0x630a
+0x3f5e    0x630b
+0x3f5f    0x630d
+0x3f60    0x6310
+0x3f61    0x6313
+0x3f62    0x6316
+0x3f63    0x6318
+0x3f64    0x6329
+0x3f65    0x632a
+0x3f66    0x632d
+0x3f67    0x6335
+0x3f68    0x6336
+0x3f69    0x6339
+0x3f6a    0x633c
+0x3f6b    0x6341
+0x3f6c    0x6342
+0x3f6d    0x6343
+0x3f6e    0x6344
+0x3f6f    0x6346
+0x3f70    0x634a
+0x3f71    0x634b
+0x3f72    0x634e
+0x3f73    0x6352
+0x3f74    0x6353
+0x3f75    0x6354
+0x3f76    0x6358
+0x3f77    0x635b
+0x3f78    0x6365
+0x3f79    0x6366
+0x3f7a    0x636c
+0x3f7b    0x636d
+0x3f7c    0x6371
+0x3f7d    0x6374
+0x3f7e    0x6375
+0x4021    0x6378
+0x4022    0x637c
+0x4023    0x637d
+0x4024    0x637f
+0x4025    0x6382
+0x4026    0x6384
+0x4027    0x6387
+0x4028    0x638a
+0x4029    0x6390
+0x402a    0x6394
+0x402b    0x6395
+0x402c    0x6399
+0x402d    0x639a
+0x402e    0x639e
+0x402f    0x63a4
+0x4030    0x63a6
+0x4031    0x63ad
+0x4032    0x63ae
+0x4033    0x63af
+0x4034    0x63bd
+0x4035    0x63c1
+0x4036    0x63c5
+0x4037    0x63c8
+0x4038    0x63ce
+0x4039    0x63d1
+0x403a    0x63d3
+0x403b    0x63d4
+0x403c    0x63d5
+0x403d    0x63dc
+0x403e    0x63e0
+0x403f    0x63e5
+0x4040    0x63ea
+0x4041    0x63ec
+0x4042    0x63f2
+0x4043    0x63f3
+0x4044    0x63f5
+0x4045    0x63f8
+0x4046    0x63f9
+0x4047    0x6409
+0x4048    0x640a
+0x4049    0x6410
+0x404a    0x6412
+0x404b    0x6414
+0x404c    0x6418
+0x404d    0x641e
+0x404e    0x6420
+0x404f    0x6422
+0x4050    0x6424
+0x4051    0x6425
+0x4052    0x6429
+0x4053    0x642a
+0x4054    0x642f
+0x4055    0x6430
+0x4056    0x6435
+0x4057    0x643d
+0x4058    0x643f
+0x4059    0x644b
+0x405a    0x644f
+0x405b    0x6451
+0x405c    0x6452
+0x405d    0x6453
+0x405e    0x6454
+0x405f    0x645a
+0x4060    0x645b
+0x4061    0x645c
+0x4062    0x645d
+0x4063    0x645f
+0x4064    0x6460
+0x4065    0x6461
+0x4066    0x6463
+0x4067    0x646d
+0x4068    0x6473
+0x4069    0x6474
+0x406a    0x647b
+0x406b    0x647d
+0x406c    0x6485
+0x406d    0x6487
+0x406e    0x648f
+0x406f    0x6490
+0x4070    0x6491
+0x4071    0x6498
+0x4072    0x6499
+0x4073    0x649b
+0x4074    0x649d
+0x4075    0x649f
+0x4076    0x64a1
+0x4077    0x64a3
+0x4078    0x64a6
+0x4079    0x64a8
+0x407a    0x64ac
+0x407b    0x64b3
+0x407c    0x64bd
+0x407d    0x64be
+0x407e    0x64bf
+0x4121    0x64c4
+0x4122    0x64c9
+0x4123    0x64ca
+0x4124    0x64cb
+0x4125    0x64cc
+0x4126    0x64ce
+0x4127    0x64d0
+0x4128    0x64d1
+0x4129    0x64d5
+0x412a    0x64d7
+0x412b    0x64e4
+0x412c    0x64e5
+0x412d    0x64e9
+0x412e    0x64ea
+0x412f    0x64ed
+0x4130    0x64f0
+0x4131    0x64f5
+0x4132    0x64f7
+0x4133    0x64fb
+0x4134    0x64ff
+0x4135    0x6501
+0x4136    0x6504
+0x4137    0x6508
+0x4138    0x6509
+0x4139    0x650a
+0x413a    0x650f
+0x413b    0x6513
+0x413c    0x6514
+0x413d    0x6516
+0x413e    0x6519
+0x413f    0x651b
+0x4140    0x651e
+0x4141    0x651f
+0x4142    0x6522
+0x4143    0x6526
+0x4144    0x6529
+0x4145    0x652e
+0x4146    0x6531
+0x4147    0x653a
+0x4148    0x653c
+0x4149    0x653d
+0x414a    0x6543
+0x414b    0x6547
+0x414c    0x6549
+0x414d    0x6550
+0x414e    0x6552
+0x414f    0x6554
+0x4150    0x655f
+0x4151    0x6560
+0x4152    0x6567
+0x4153    0x656b
+0x4154    0x657a
+0x4155    0x657d
+0x4156    0x6581
+0x4157    0x6585
+0x4158    0x658a
+0x4159    0x6592
+0x415a    0x6595
+0x415b    0x6598
+0x415c    0x659d
+0x415d    0x65a0
+0x415e    0x65a3
+0x415f    0x65a6
+0x4160    0x65ae
+0x4161    0x65b2
+0x4162    0x65b3
+0x4163    0x65b4
+0x4164    0x65bf
+0x4165    0x65c2
+0x4166    0x65c8
+0x4167    0x65c9
+0x4168    0x65ce
+0x4169    0x65d0
+0x416a    0x65d4
+0x416b    0x65d6
+0x416c    0x65d8
+0x416d    0x65df
+0x416e    0x65f0
+0x416f    0x65f2
+0x4170    0x65f4
+0x4171    0x65f5
+0x4172    0x65f9
+0x4173    0x65fe
+0x4174    0x65ff
+0x4175    0x6600
+0x4176    0x6604
+0x4177    0x6608
+0x4178    0x6609
+0x4179    0x660d
+0x417a    0x6611
+0x417b    0x6612
+0x417c    0x6615
+0x417d    0x6616
+0x417e    0x661d
+0x4221    0x661e
+0x4222    0x6621
+0x4223    0x6622
+0x4224    0x6623
+0x4225    0x6624
+0x4226    0x6626
+0x4227    0x6629
+0x4228    0x662a
+0x4229    0x662b
+0x422a    0x662c
+0x422b    0x662e
+0x422c    0x6630
+0x422d    0x6631
+0x422e    0x6633
+0x422f    0x6639
+0x4230    0x6637
+0x4231    0x6640
+0x4232    0x6645
+0x4233    0x6646
+0x4234    0x664a
+0x4235    0x664c
+0x4236    0x6651
+0x4237    0x664e
+0x4238    0x6657
+0x4239    0x6658
+0x423a    0x6659
+0x423b    0x665b
+0x423c    0x665c
+0x423d    0x6660
+0x423e    0x6661
+0x423f    0x66fb
+0x4240    0x666a
+0x4241    0x666b
+0x4242    0x666c
+0x4243    0x667e
+0x4244    0x6673
+0x4245    0x6675
+0x4246    0x667f
+0x4247    0x6677
+0x4248    0x6678
+0x4249    0x6679
+0x424a    0x667b
+0x424b    0x6680
+0x424c    0x667c
+0x424d    0x668b
+0x424e    0x668c
+0x424f    0x668d
+0x4250    0x6690
+0x4251    0x6692
+0x4252    0x6699
+0x4253    0x669a
+0x4254    0x669b
+0x4255    0x669c
+0x4256    0x669f
+0x4257    0x66a0
+0x4258    0x66a4
+0x4259    0x66ad
+0x425a    0x66b1
+0x425b    0x66b2
+0x425c    0x66b5
+0x425d    0x66bb
+0x425e    0x66bf
+0x425f    0x66c0
+0x4260    0x66c2
+0x4261    0x66c3
+0x4262    0x66c8
+0x4263    0x66cc
+0x4264    0x66ce
+0x4265    0x66cf
+0x4266    0x66d4
+0x4267    0x66db
+0x4268    0x66df
+0x4269    0x66e8
+0x426a    0x66eb
+0x426b    0x66ec
+0x426c    0x66ee
+0x426d    0x66fa
+0x426e    0x6705
+0x426f    0x6707
+0x4270    0x670e
+0x4271    0x6713
+0x4272    0x6719
+0x4273    0x671c
+0x4274    0x6720
+0x4275    0x6722
+0x4276    0x6733
+0x4277    0x673e
+0x4278    0x6745
+0x4279    0x6747
+0x427a    0x6748
+0x427b    0x674c
+0x427c    0x6754
+0x427d    0x6755
+0x427e    0x675d
+0x4321    0x6766
+0x4322    0x676c
+0x4323    0x676e
+0x4324    0x6774
+0x4325    0x6776
+0x4326    0x677b
+0x4327    0x6781
+0x4328    0x6784
+0x4329    0x678e
+0x432a    0x678f
+0x432b    0x6791
+0x432c    0x6793
+0x432d    0x6796
+0x432e    0x6798
+0x432f    0x6799
+0x4330    0x679b
+0x4331    0x67b0
+0x4332    0x67b1
+0x4333    0x67b2
+0x4334    0x67b5
+0x4335    0x67bb
+0x4336    0x67bc
+0x4337    0x67bd
+0x4338    0x67f9
+0x4339    0x67c0
+0x433a    0x67c2
+0x433b    0x67c3
+0x433c    0x67c5
+0x433d    0x67c8
+0x433e    0x67c9
+0x433f    0x67d2
+0x4340    0x67d7
+0x4341    0x67d9
+0x4342    0x67dc
+0x4343    0x67e1
+0x4344    0x67e6
+0x4345    0x67f0
+0x4346    0x67f2
+0x4347    0x67f6
+0x4348    0x67f7
+0x4349    0x6852
+0x434a    0x6814
+0x434b    0x6819
+0x434c    0x681d
+0x434d    0x681f
+0x434e    0x6828
+0x434f    0x6827
+0x4350    0x682c
+0x4351    0x682d
+0x4352    0x682f
+0x4353    0x6830
+0x4354    0x6831
+0x4355    0x6833
+0x4356    0x683b
+0x4357    0x683f
+0x4358    0x6844
+0x4359    0x6845
+0x435a    0x684a
+0x435b    0x684c
+0x435c    0x6855
+0x435d    0x6857
+0x435e    0x6858
+0x435f    0x685b
+0x4360    0x686b
+0x4361    0x686e
+0x4362    0x686f
+0x4363    0x6870
+0x4364    0x6871
+0x4365    0x6872
+0x4366    0x6875
+0x4367    0x6879
+0x4368    0x687a
+0x4369    0x687b
+0x436a    0x687c
+0x436b    0x6882
+0x436c    0x6884
+0x436d    0x6886
+0x436e    0x6888
+0x436f    0x6896
+0x4370    0x6898
+0x4371    0x689a
+0x4372    0x689c
+0x4373    0x68a1
+0x4374    0x68a3
+0x4375    0x68a5
+0x4376    0x68a9
+0x4377    0x68aa
+0x4378    0x68ae
+0x4379    0x68b2
+0x437a    0x68bb
+0x437b    0x68c5
+0x437c    0x68c8
+0x437d    0x68cc
+0x437e    0x68cf
+0x4421    0x68d0
+0x4422    0x68d1
+0x4423    0x68d3
+0x4424    0x68d6
+0x4425    0x68d9
+0x4426    0x68dc
+0x4427    0x68dd
+0x4428    0x68e5
+0x4429    0x68e8
+0x442a    0x68ea
+0x442b    0x68eb
+0x442c    0x68ec
+0x442d    0x68ed
+0x442e    0x68f0
+0x442f    0x68f1
+0x4430    0x68f5
+0x4431    0x68f6
+0x4432    0x68fb
+0x4433    0x68fc
+0x4434    0x68fd
+0x4435    0x6906
+0x4436    0x6909
+0x4437    0x690a
+0x4438    0x6910
+0x4439    0x6911
+0x443a    0x6913
+0x443b    0x6916
+0x443c    0x6917
+0x443d    0x6931
+0x443e    0x6933
+0x443f    0x6935
+0x4440    0x6938
+0x4441    0x693b
+0x4442    0x6942
+0x4443    0x6945
+0x4444    0x6949
+0x4445    0x694e
+0x4446    0x6957
+0x4447    0x695b
+0x4448    0x6963
+0x4449    0x6964
+0x444a    0x6965
+0x444b    0x6966
+0x444c    0x6968
+0x444d    0x6969
+0x444e    0x696c
+0x444f    0x6970
+0x4450    0x6971
+0x4451    0x6972
+0x4452    0x697a
+0x4453    0x697b
+0x4454    0x697f
+0x4455    0x6980
+0x4456    0x698d
+0x4457    0x6992
+0x4458    0x6996
+0x4459    0x6998
+0x445a    0x69a1
+0x445b    0x69a5
+0x445c    0x69a6
+0x445d    0x69a8
+0x445e    0x69ab
+0x445f    0x69ad
+0x4460    0x69af
+0x4461    0x69b7
+0x4462    0x69b8
+0x4463    0x69ba
+0x4464    0x69bc
+0x4465    0x69c5
+0x4466    0x69c8
+0x4467    0x69d1
+0x4468    0x69d6
+0x4469    0x69d7
+0x446a    0x69e2
+0x446b    0x69e5
+0x446c    0x69ee
+0x446d    0x69ef
+0x446e    0x69f1
+0x446f    0x69f3
+0x4470    0x69f5
+0x4471    0x69fe
+0x4472    0x6a00
+0x4473    0x6a01
+0x4474    0x6a03
+0x4475    0x6a0f
+0x4476    0x6a11
+0x4477    0x6a15
+0x4478    0x6a1a
+0x4479    0x6a1d
+0x447a    0x6a20
+0x447b    0x6a24
+0x447c    0x6a28
+0x447d    0x6a30
+0x447e    0x6a32
+0x4521    0x6a34
+0x4522    0x6a37
+0x4523    0x6a3b
+0x4524    0x6a3e
+0x4525    0x6a3f
+0x4526    0x6a45
+0x4527    0x6a46
+0x4528    0x6a49
+0x4529    0x6a4a
+0x452a    0x6a4e
+0x452b    0x6a50
+0x452c    0x6a51
+0x452d    0x6a52
+0x452e    0x6a55
+0x452f    0x6a56
+0x4530    0x6a5b
+0x4531    0x6a64
+0x4532    0x6a67
+0x4533    0x6a6a
+0x4534    0x6a71
+0x4535    0x6a73
+0x4536    0x6a7e
+0x4537    0x6a81
+0x4538    0x6a83
+0x4539    0x6a86
+0x453a    0x6a87
+0x453b    0x6a89
+0x453c    0x6a8b
+0x453d    0x6a91
+0x453e    0x6a9b
+0x453f    0x6a9d
+0x4540    0x6a9e
+0x4541    0x6a9f
+0x4542    0x6aa5
+0x4543    0x6aab
+0x4544    0x6aaf
+0x4545    0x6ab0
+0x4546    0x6ab1
+0x4547    0x6ab4
+0x4548    0x6abd
+0x4549    0x6abe
+0x454a    0x6abf
+0x454b    0x6ac6
+0x454c    0x6ac9
+0x454d    0x6ac8
+0x454e    0x6acc
+0x454f    0x6ad0
+0x4550    0x6ad4
+0x4551    0x6ad5
+0x4552    0x6ad6
+0x4553    0x6adc
+0x4554    0x6add
+0x4555    0x6ae4
+0x4556    0x6ae7
+0x4557    0x6aec
+0x4558    0x6af0
+0x4559    0x6af1
+0x455a    0x6af2
+0x455b    0x6afc
+0x455c    0x6afd
+0x455d    0x6b02
+0x455e    0x6b03
+0x455f    0x6b06
+0x4560    0x6b07
+0x4561    0x6b09
+0x4562    0x6b0f
+0x4563    0x6b10
+0x4564    0x6b11
+0x4565    0x6b17
+0x4566    0x6b1b
+0x4567    0x6b1e
+0x4568    0x6b24
+0x4569    0x6b28
+0x456a    0x6b2b
+0x456b    0x6b2c
+0x456c    0x6b2f
+0x456d    0x6b35
+0x456e    0x6b36
+0x456f    0x6b3b
+0x4570    0x6b3f
+0x4571    0x6b46
+0x4572    0x6b4a
+0x4573    0x6b4d
+0x4574    0x6b52
+0x4575    0x6b56
+0x4576    0x6b58
+0x4577    0x6b5d
+0x4578    0x6b60
+0x4579    0x6b67
+0x457a    0x6b6b
+0x457b    0x6b6e
+0x457c    0x6b70
+0x457d    0x6b75
+0x457e    0x6b7d
+0x4621    0x6b7e
+0x4622    0x6b82
+0x4623    0x6b85
+0x4624    0x6b97
+0x4625    0x6b9b
+0x4626    0x6b9f
+0x4627    0x6ba0
+0x4628    0x6ba2
+0x4629    0x6ba3
+0x462a    0x6ba8
+0x462b    0x6ba9
+0x462c    0x6bac
+0x462d    0x6bad
+0x462e    0x6bae
+0x462f    0x6bb0
+0x4630    0x6bb8
+0x4631    0x6bb9
+0x4632    0x6bbd
+0x4633    0x6bbe
+0x4634    0x6bc3
+0x4635    0x6bc4
+0x4636    0x6bc9
+0x4637    0x6bcc
+0x4638    0x6bd6
+0x4639    0x6bda
+0x463a    0x6be1
+0x463b    0x6be3
+0x463c    0x6be6
+0x463d    0x6be7
+0x463e    0x6bee
+0x463f    0x6bf1
+0x4640    0x6bf7
+0x4641    0x6bf9
+0x4642    0x6bff
+0x4643    0x6c02
+0x4644    0x6c04
+0x4645    0x6c05
+0x4646    0x6c09
+0x4647    0x6c0d
+0x4648    0x6c0e
+0x4649    0x6c10
+0x464a    0x6c12
+0x464b    0x6c19
+0x464c    0x6c1f
+0x464d    0x6c26
+0x464e    0x6c27
+0x464f    0x6c28
+0x4650    0x6c2c
+0x4651    0x6c2e
+0x4652    0x6c33
+0x4653    0x6c35
+0x4654    0x6c36
+0x4655    0x6c3a
+0x4656    0x6c3b
+0x4657    0x6c3f
+0x4658    0x6c4a
+0x4659    0x6c4b
+0x465a    0x6c4d
+0x465b    0x6c4f
+0x465c    0x6c52
+0x465d    0x6c54
+0x465e    0x6c59
+0x465f    0x6c5b
+0x4660    0x6c5c
+0x4661    0x6c6b
+0x4662    0x6c6d
+0x4663    0x6c6f
+0x4664    0x6c74
+0x4665    0x6c76
+0x4666    0x6c78
+0x4667    0x6c79
+0x4668    0x6c7b
+0x4669    0x6c85
+0x466a    0x6c86
+0x466b    0x6c87
+0x466c    0x6c89
+0x466d    0x6c94
+0x466e    0x6c95
+0x466f    0x6c97
+0x4670    0x6c98
+0x4671    0x6c9c
+0x4672    0x6c9f
+0x4673    0x6cb0
+0x4674    0x6cb2
+0x4675    0x6cb4
+0x4676    0x6cc2
+0x4677    0x6cc6
+0x4678    0x6ccd
+0x4679    0x6ccf
+0x467a    0x6cd0
+0x467b    0x6cd1
+0x467c    0x6cd2
+0x467d    0x6cd4
+0x467e    0x6cd6
+0x4721    0x6cda
+0x4722    0x6cdc
+0x4723    0x6ce0
+0x4724    0x6ce7
+0x4725    0x6ce9
+0x4726    0x6ceb
+0x4727    0x6cec
+0x4728    0x6cee
+0x4729    0x6cf2
+0x472a    0x6cf4
+0x472b    0x6d04
+0x472c    0x6d07
+0x472d    0x6d0a
+0x472e    0x6d0e
+0x472f    0x6d0f
+0x4730    0x6d11
+0x4731    0x6d13
+0x4732    0x6d1a
+0x4733    0x6d26
+0x4734    0x6d27
+0x4735    0x6d28
+0x4736    0x6c67
+0x4737    0x6d2e
+0x4738    0x6d2f
+0x4739    0x6d31
+0x473a    0x6d39
+0x473b    0x6d3c
+0x473c    0x6d3f
+0x473d    0x6d57
+0x473e    0x6d5e
+0x473f    0x6d5f
+0x4740    0x6d61
+0x4741    0x6d65
+0x4742    0x6d67
+0x4743    0x6d6f
+0x4744    0x6d70
+0x4745    0x6d7c
+0x4746    0x6d82
+0x4747    0x6d87
+0x4748    0x6d91
+0x4749    0x6d92
+0x474a    0x6d94
+0x474b    0x6d96
+0x474c    0x6d97
+0x474d    0x6d98
+0x474e    0x6daa
+0x474f    0x6dac
+0x4750    0x6db4
+0x4751    0x6db7
+0x4752    0x6db9
+0x4753    0x6dbd
+0x4754    0x6dbf
+0x4755    0x6dc4
+0x4756    0x6dc8
+0x4757    0x6dca
+0x4758    0x6dce
+0x4759    0x6dcf
+0x475a    0x6dd6
+0x475b    0x6ddb
+0x475c    0x6ddd
+0x475d    0x6ddf
+0x475e    0x6de0
+0x475f    0x6de2
+0x4760    0x6de5
+0x4761    0x6de9
+0x4762    0x6def
+0x4763    0x6df0
+0x4764    0x6df4
+0x4765    0x6df6
+0x4766    0x6dfc
+0x4767    0x6e00
+0x4768    0x6e04
+0x4769    0x6e1e
+0x476a    0x6e22
+0x476b    0x6e27
+0x476c    0x6e32
+0x476d    0x6e36
+0x476e    0x6e39
+0x476f    0x6e3b
+0x4770    0x6e3c
+0x4771    0x6e44
+0x4772    0x6e45
+0x4773    0x6e48
+0x4774    0x6e49
+0x4775    0x6e4b
+0x4776    0x6e4f
+0x4777    0x6e51
+0x4778    0x6e52
+0x4779    0x6e53
+0x477a    0x6e54
+0x477b    0x6e57
+0x477c    0x6e5c
+0x477d    0x6e5d
+0x477e    0x6e5e
+0x4821    0x6e62
+0x4822    0x6e63
+0x4823    0x6e68
+0x4824    0x6e73
+0x4825    0x6e7b
+0x4826    0x6e7d
+0x4827    0x6e8d
+0x4828    0x6e93
+0x4829    0x6e99
+0x482a    0x6ea0
+0x482b    0x6ea7
+0x482c    0x6ead
+0x482d    0x6eae
+0x482e    0x6eb1
+0x482f    0x6eb3
+0x4830    0x6ebb
+0x4831    0x6ebf
+0x4832    0x6ec0
+0x4833    0x6ec1
+0x4834    0x6ec3
+0x4835    0x6ec7
+0x4836    0x6ec8
+0x4837    0x6eca
+0x4838    0x6ecd
+0x4839    0x6ece
+0x483a    0x6ecf
+0x483b    0x6eeb
+0x483c    0x6eed
+0x483d    0x6eee
+0x483e    0x6ef9
+0x483f    0x6efb
+0x4840    0x6efd
+0x4841    0x6f04
+0x4842    0x6f08
+0x4843    0x6f0a
+0x4844    0x6f0c
+0x4845    0x6f0d
+0x4846    0x6f16
+0x4847    0x6f18
+0x4848    0x6f1a
+0x4849    0x6f1b
+0x484a    0x6f26
+0x484b    0x6f29
+0x484c    0x6f2a
+0x484d    0x6f2f
+0x484e    0x6f30
+0x484f    0x6f33
+0x4850    0x6f36
+0x4851    0x6f3b
+0x4852    0x6f3c
+0x4853    0x6f2d
+0x4854    0x6f4f
+0x4855    0x6f51
+0x4856    0x6f52
+0x4857    0x6f53
+0x4858    0x6f57
+0x4859    0x6f59
+0x485a    0x6f5a
+0x485b    0x6f5d
+0x485c    0x6f5e
+0x485d    0x6f61
+0x485e    0x6f62
+0x485f    0x6f68
+0x4860    0x6f6c
+0x4861    0x6f7d
+0x4862    0x6f7e
+0x4863    0x6f83
+0x4864    0x6f87
+0x4865    0x6f88
+0x4866    0x6f8b
+0x4867    0x6f8c
+0x4868    0x6f8d
+0x4869    0x6f90
+0x486a    0x6f92
+0x486b    0x6f93
+0x486c    0x6f94
+0x486d    0x6f96
+0x486e    0x6f9a
+0x486f    0x6f9f
+0x4870    0x6fa0
+0x4871    0x6fa5
+0x4872    0x6fa6
+0x4873    0x6fa7
+0x4874    0x6fa8
+0x4875    0x6fae
+0x4876    0x6faf
+0x4877    0x6fb0
+0x4878    0x6fb5
+0x4879    0x6fb6
+0x487a    0x6fbc
+0x487b    0x6fc5
+0x487c    0x6fc7
+0x487d    0x6fc8
+0x487e    0x6fca
+0x4921    0x6fda
+0x4922    0x6fde
+0x4923    0x6fe8
+0x4924    0x6fe9
+0x4925    0x6ff0
+0x4926    0x6ff5
+0x4927    0x6ff9
+0x4928    0x6ffc
+0x4929    0x6ffd
+0x492a    0x7000
+0x492b    0x7005
+0x492c    0x7006
+0x492d    0x7007
+0x492e    0x700d
+0x492f    0x7017
+0x4930    0x7020
+0x4931    0x7023
+0x4932    0x702f
+0x4933    0x7034
+0x4934    0x7037
+0x4935    0x7039
+0x4936    0x703c
+0x4937    0x7043
+0x4938    0x7044
+0x4939    0x7048
+0x493a    0x7049
+0x493b    0x704a
+0x493c    0x704b
+0x493d    0x7054
+0x493e    0x7055
+0x493f    0x705d
+0x4940    0x705e
+0x4941    0x704e
+0x4942    0x7064
+0x4943    0x7065
+0x4944    0x706c
+0x4945    0x706e
+0x4946    0x7075
+0x4947    0x7076
+0x4948    0x707e
+0x4949    0x7081
+0x494a    0x7085
+0x494b    0x7086
+0x494c    0x7094
+0x494d    0x7095
+0x494e    0x7096
+0x494f    0x7097
+0x4950    0x7098
+0x4951    0x709b
+0x4952    0x70a4
+0x4953    0x70ab
+0x4954    0x70b0
+0x4955    0x70b1
+0x4956    0x70b4
+0x4957    0x70b7
+0x4958    0x70ca
+0x4959    0x70d1
+0x495a    0x70d3
+0x495b    0x70d4
+0x495c    0x70d5
+0x495d    0x70d6
+0x495e    0x70d8
+0x495f    0x70dc
+0x4960    0x70e4
+0x4961    0x70fa
+0x4962    0x7103
+0x4963    0x7104
+0x4964    0x7105
+0x4965    0x7106
+0x4966    0x7107
+0x4967    0x710b
+0x4968    0x710c
+0x4969    0x710f
+0x496a    0x711e
+0x496b    0x7120
+0x496c    0x712b
+0x496d    0x712d
+0x496e    0x712f
+0x496f    0x7130
+0x4970    0x7131
+0x4971    0x7138
+0x4972    0x7141
+0x4973    0x7145
+0x4974    0x7146
+0x4975    0x7147
+0x4976    0x714a
+0x4977    0x714b
+0x4978    0x7150
+0x4979    0x7152
+0x497a    0x7157
+0x497b    0x715a
+0x497c    0x715c
+0x497d    0x715e
+0x497e    0x7160
+0x4a21    0x7168
+0x4a22    0x7179
+0x4a23    0x7180
+0x4a24    0x7185
+0x4a25    0x7187
+0x4a26    0x718c
+0x4a27    0x7192
+0x4a28    0x719a
+0x4a29    0x719b
+0x4a2a    0x71a0
+0x4a2b    0x71a2
+0x4a2c    0x71af
+0x4a2d    0x71b0
+0x4a2e    0x71b2
+0x4a2f    0x71b3
+0x4a30    0x71ba
+0x4a31    0x71bf
+0x4a32    0x71c0
+0x4a33    0x71c1
+0x4a34    0x71c4
+0x4a35    0x71cb
+0x4a36    0x71cc
+0x4a37    0x71d3
+0x4a38    0x71d6
+0x4a39    0x71d9
+0x4a3a    0x71da
+0x4a3b    0x71dc
+0x4a3c    0x71f8
+0x4a3d    0x71fe
+0x4a3e    0x7200
+0x4a3f    0x7207
+0x4a40    0x7208
+0x4a41    0x7209
+0x4a42    0x7213
+0x4a43    0x7217
+0x4a44    0x721a
+0x4a45    0x721d
+0x4a46    0x721f
+0x4a47    0x7224
+0x4a48    0x722b
+0x4a49    0x722f
+0x4a4a    0x7234
+0x4a4b    0x7238
+0x4a4c    0x7239
+0x4a4d    0x7241
+0x4a4e    0x7242
+0x4a4f    0x7243
+0x4a50    0x7245
+0x4a51    0x724e
+0x4a52    0x724f
+0x4a53    0x7250
+0x4a54    0x7253
+0x4a55    0x7255
+0x4a56    0x7256
+0x4a57    0x725a
+0x4a58    0x725c
+0x4a59    0x725e
+0x4a5a    0x7260
+0x4a5b    0x7263
+0x4a5c    0x7268
+0x4a5d    0x726b
+0x4a5e    0x726e
+0x4a5f    0x726f
+0x4a60    0x7271
+0x4a61    0x7277
+0x4a62    0x7278
+0x4a63    0x727b
+0x4a64    0x727c
+0x4a65    0x727f
+0x4a66    0x7284
+0x4a67    0x7289
+0x4a68    0x728d
+0x4a69    0x728e
+0x4a6a    0x7293
+0x4a6b    0x729b
+0x4a6c    0x72a8
+0x4a6d    0x72ad
+0x4a6e    0x72ae
+0x4a6f    0x72b1
+0x4a70    0x72b4
+0x4a71    0x72be
+0x4a72    0x72c1
+0x4a73    0x72c7
+0x4a74    0x72c9
+0x4a75    0x72cc
+0x4a76    0x72d5
+0x4a77    0x72d6
+0x4a78    0x72d8
+0x4a79    0x72df
+0x4a7a    0x72e5
+0x4a7b    0x72f3
+0x4a7c    0x72f4
+0x4a7d    0x72fa
+0x4a7e    0x72fb
+0x4b21    0x72fe
+0x4b22    0x7302
+0x4b23    0x7304
+0x4b24    0x7305
+0x4b25    0x7307
+0x4b26    0x730b
+0x4b27    0x730d
+0x4b28    0x7312
+0x4b29    0x7313
+0x4b2a    0x7318
+0x4b2b    0x7319
+0x4b2c    0x731e
+0x4b2d    0x7322
+0x4b2e    0x7324
+0x4b2f    0x7327
+0x4b30    0x7328
+0x4b31    0x732c
+0x4b32    0x7331
+0x4b33    0x7332
+0x4b34    0x7335
+0x4b35    0x733a
+0x4b36    0x733b
+0x4b37    0x733d
+0x4b38    0x7343
+0x4b39    0x734d
+0x4b3a    0x7350
+0x4b3b    0x7352
+0x4b3c    0x7356
+0x4b3d    0x7358
+0x4b3e    0x735d
+0x4b3f    0x735e
+0x4b40    0x735f
+0x4b41    0x7360
+0x4b42    0x7366
+0x4b43    0x7367
+0x4b44    0x7369
+0x4b45    0x736b
+0x4b46    0x736c
+0x4b47    0x736e
+0x4b48    0x736f
+0x4b49    0x7371
+0x4b4a    0x7377
+0x4b4b    0x7379
+0x4b4c    0x737c
+0x4b4d    0x7380
+0x4b4e    0x7381
+0x4b4f    0x7383
+0x4b50    0x7385
+0x4b51    0x7386
+0x4b52    0x738e
+0x4b53    0x7390
+0x4b54    0x7393
+0x4b55    0x7395
+0x4b56    0x7397
+0x4b57    0x7398
+0x4b58    0x739c
+0x4b59    0x739e
+0x4b5a    0x739f
+0x4b5b    0x73a0
+0x4b5c    0x73a2
+0x4b5d    0x73a5
+0x4b5e    0x73a6
+0x4b5f    0x73aa
+0x4b60    0x73ab
+0x4b61    0x73ad
+0x4b62    0x73b5
+0x4b63    0x73b7
+0x4b64    0x73b9
+0x4b65    0x73bc
+0x4b66    0x73bd
+0x4b67    0x73bf
+0x4b68    0x73c5
+0x4b69    0x73c6
+0x4b6a    0x73c9
+0x4b6b    0x73cb
+0x4b6c    0x73cc
+0x4b6d    0x73cf
+0x4b6e    0x73d2
+0x4b6f    0x73d3
+0x4b70    0x73d6
+0x4b71    0x73d9
+0x4b72    0x73dd
+0x4b73    0x73e1
+0x4b74    0x73e3
+0x4b75    0x73e6
+0x4b76    0x73e7
+0x4b77    0x73e9
+0x4b78    0x73f4
+0x4b79    0x73f5
+0x4b7a    0x73f7
+0x4b7b    0x73f9
+0x4b7c    0x73fa
+0x4b7d    0x73fb
+0x4b7e    0x73fd
+0x4c21    0x73ff
+0x4c22    0x7400
+0x4c23    0x7401
+0x4c24    0x7404
+0x4c25    0x7407
+0x4c26    0x740a
+0x4c27    0x7411
+0x4c28    0x741a
+0x4c29    0x741b
+0x4c2a    0x7424
+0x4c2b    0x7426
+0x4c2c    0x7428
+0x4c2d    0x7429
+0x4c2e    0x742a
+0x4c2f    0x742b
+0x4c30    0x742c
+0x4c31    0x742d
+0x4c32    0x742e
+0x4c33    0x742f
+0x4c34    0x7430
+0x4c35    0x7431
+0x4c36    0x7439
+0x4c37    0x7440
+0x4c38    0x7443
+0x4c39    0x7444
+0x4c3a    0x7446
+0x4c3b    0x7447
+0x4c3c    0x744b
+0x4c3d    0x744d
+0x4c3e    0x7451
+0x4c3f    0x7452
+0x4c40    0x7457
+0x4c41    0x745d
+0x4c42    0x7462
+0x4c43    0x7466
+0x4c44    0x7467
+0x4c45    0x7468
+0x4c46    0x746b
+0x4c47    0x746d
+0x4c48    0x746e
+0x4c49    0x7471
+0x4c4a    0x7472
+0x4c4b    0x7480
+0x4c4c    0x7481
+0x4c4d    0x7485
+0x4c4e    0x7486
+0x4c4f    0x7487
+0x4c50    0x7489
+0x4c51    0x748f
+0x4c52    0x7490
+0x4c53    0x7491
+0x4c54    0x7492
+0x4c55    0x7498
+0x4c56    0x7499
+0x4c57    0x749a
+0x4c58    0x749c
+0x4c59    0x749f
+0x4c5a    0x74a0
+0x4c5b    0x74a1
+0x4c5c    0x74a3
+0x4c5d    0x74a6
+0x4c5e    0x74a8
+0x4c5f    0x74a9
+0x4c60    0x74aa
+0x4c61    0x74ab
+0x4c62    0x74ae
+0x4c63    0x74af
+0x4c64    0x74b1
+0x4c65    0x74b2
+0x4c66    0x74b5
+0x4c67    0x74b9
+0x4c68    0x74bb
+0x4c69    0x74bf
+0x4c6a    0x74c8
+0x4c6b    0x74c9
+0x4c6c    0x74cc
+0x4c6d    0x74d0
+0x4c6e    0x74d3
+0x4c6f    0x74d8
+0x4c70    0x74da
+0x4c71    0x74db
+0x4c72    0x74de
+0x4c73    0x74df
+0x4c74    0x74e4
+0x4c75    0x74e8
+0x4c76    0x74ea
+0x4c77    0x74eb
+0x4c78    0x74ef
+0x4c79    0x74f4
+0x4c7a    0x74fa
+0x4c7b    0x74fb
+0x4c7c    0x74fc
+0x4c7d    0x74ff
+0x4c7e    0x7506
+0x4d21    0x7512
+0x4d22    0x7516
+0x4d23    0x7517
+0x4d24    0x7520
+0x4d25    0x7521
+0x4d26    0x7524
+0x4d27    0x7527
+0x4d28    0x7529
+0x4d29    0x752a
+0x4d2a    0x752f
+0x4d2b    0x7536
+0x4d2c    0x7539
+0x4d2d    0x753d
+0x4d2e    0x753e
+0x4d2f    0x753f
+0x4d30    0x7540
+0x4d31    0x7543
+0x4d32    0x7547
+0x4d33    0x7548
+0x4d34    0x754e
+0x4d35    0x7550
+0x4d36    0x7552
+0x4d37    0x7557
+0x4d38    0x755e
+0x4d39    0x755f
+0x4d3a    0x7561
+0x4d3b    0x756f
+0x4d3c    0x7571
+0x4d3d    0x7579
+0x4d3e    0x757a
+0x4d3f    0x757b
+0x4d40    0x757c
+0x4d41    0x757d
+0x4d42    0x757e
+0x4d43    0x7581
+0x4d44    0x7585
+0x4d45    0x7590
+0x4d46    0x7592
+0x4d47    0x7593
+0x4d48    0x7595
+0x4d49    0x7599
+0x4d4a    0x759c
+0x4d4b    0x75a2
+0x4d4c    0x75a4
+0x4d4d    0x75b4
+0x4d4e    0x75ba
+0x4d4f    0x75bf
+0x4d50    0x75c0
+0x4d51    0x75c1
+0x4d52    0x75c4
+0x4d53    0x75c6
+0x4d54    0x75cc
+0x4d55    0x75ce
+0x4d56    0x75cf
+0x4d57    0x75d7
+0x4d58    0x75dc
+0x4d59    0x75df
+0x4d5a    0x75e0
+0x4d5b    0x75e1
+0x4d5c    0x75e4
+0x4d5d    0x75e7
+0x4d5e    0x75ec
+0x4d5f    0x75ee
+0x4d60    0x75ef
+0x4d61    0x75f1
+0x4d62    0x75f9
+0x4d63    0x7600
+0x4d64    0x7602
+0x4d65    0x7603
+0x4d66    0x7604
+0x4d67    0x7607
+0x4d68    0x7608
+0x4d69    0x760a
+0x4d6a    0x760c
+0x4d6b    0x760f
+0x4d6c    0x7612
+0x4d6d    0x7613
+0x4d6e    0x7615
+0x4d6f    0x7616
+0x4d70    0x7619
+0x4d71    0x761b
+0x4d72    0x761c
+0x4d73    0x761d
+0x4d74    0x761e
+0x4d75    0x7623
+0x4d76    0x7625
+0x4d77    0x7626
+0x4d78    0x7629
+0x4d79    0x762d
+0x4d7a    0x7632
+0x4d7b    0x7633
+0x4d7c    0x7635
+0x4d7d    0x7638
+0x4d7e    0x7639
+0x4e21    0x763a
+0x4e22    0x763c
+0x4e23    0x764a
+0x4e24    0x7640
+0x4e25    0x7641
+0x4e26    0x7643
+0x4e27    0x7644
+0x4e28    0x7645
+0x4e29    0x7649
+0x4e2a    0x764b
+0x4e2b    0x7655
+0x4e2c    0x7659
+0x4e2d    0x765f
+0x4e2e    0x7664
+0x4e2f    0x7665
+0x4e30    0x766d
+0x4e31    0x766e
+0x4e32    0x766f
+0x4e33    0x7671
+0x4e34    0x7674
+0x4e35    0x7681
+0x4e36    0x7685
+0x4e37    0x768c
+0x4e38    0x768d
+0x4e39    0x7695
+0x4e3a    0x769b
+0x4e3b    0x769c
+0x4e3c    0x769d
+0x4e3d    0x769f
+0x4e3e    0x76a0
+0x4e3f    0x76a2
+0x4e40    0x76a3
+0x4e41    0x76a4
+0x4e42    0x76a5
+0x4e43    0x76a6
+0x4e44    0x76a7
+0x4e45    0x76a8
+0x4e46    0x76aa
+0x4e47    0x76ad
+0x4e48    0x76bd
+0x4e49    0x76c1
+0x4e4a    0x76c5
+0x4e4b    0x76c9
+0x4e4c    0x76cb
+0x4e4d    0x76cc
+0x4e4e    0x76ce
+0x4e4f    0x76d4
+0x4e50    0x76d9
+0x4e51    0x76e0
+0x4e52    0x76e6
+0x4e53    0x76e8
+0x4e54    0x76ec
+0x4e55    0x76f0
+0x4e56    0x76f1
+0x4e57    0x76f6
+0x4e58    0x76f9
+0x4e59    0x76fc
+0x4e5a    0x7700
+0x4e5b    0x7706
+0x4e5c    0x770a
+0x4e5d    0x770e
+0x4e5e    0x7712
+0x4e5f    0x7714
+0x4e60    0x7715
+0x4e61    0x7717
+0x4e62    0x7719
+0x4e63    0x771a
+0x4e64    0x771c
+0x4e65    0x7722
+0x4e66    0x7728
+0x4e67    0x772d
+0x4e68    0x772e
+0x4e69    0x772f
+0x4e6a    0x7734
+0x4e6b    0x7735
+0x4e6c    0x7736
+0x4e6d    0x7739
+0x4e6e    0x773d
+0x4e6f    0x773e
+0x4e70    0x7742
+0x4e71    0x7745
+0x4e72    0x7746
+0x4e73    0x774a
+0x4e74    0x774d
+0x4e75    0x774e
+0x4e76    0x774f
+0x4e77    0x7752
+0x4e78    0x7756
+0x4e79    0x7757
+0x4e7a    0x775c
+0x4e7b    0x775e
+0x4e7c    0x775f
+0x4e7d    0x7760
+0x4e7e    0x7762
+0x4f21    0x7764
+0x4f22    0x7767
+0x4f23    0x776a
+0x4f24    0x776c
+0x4f25    0x7770
+0x4f26    0x7772
+0x4f27    0x7773
+0x4f28    0x7774
+0x4f29    0x777a
+0x4f2a    0x777d
+0x4f2b    0x7780
+0x4f2c    0x7784
+0x4f2d    0x778c
+0x4f2e    0x778d
+0x4f2f    0x7794
+0x4f30    0x7795
+0x4f31    0x7796
+0x4f32    0x779a
+0x4f33    0x779f
+0x4f34    0x77a2
+0x4f35    0x77a7
+0x4f36    0x77aa
+0x4f37    0x77ae
+0x4f38    0x77af
+0x4f39    0x77b1
+0x4f3a    0x77b5
+0x4f3b    0x77be
+0x4f3c    0x77c3
+0x4f3d    0x77c9
+0x4f3e    0x77d1
+0x4f3f    0x77d2
+0x4f40    0x77d5
+0x4f41    0x77d9
+0x4f42    0x77de
+0x4f43    0x77df
+0x4f44    0x77e0
+0x4f45    0x77e4
+0x4f46    0x77e6
+0x4f47    0x77ea
+0x4f48    0x77ec
+0x4f49    0x77f0
+0x4f4a    0x77f1
+0x4f4b    0x77f4
+0x4f4c    0x77f8
+0x4f4d    0x77fb
+0x4f4e    0x7805
+0x4f4f    0x7806
+0x4f50    0x7809
+0x4f51    0x780d
+0x4f52    0x780e
+0x4f53    0x7811
+0x4f54    0x781d
+0x4f55    0x7821
+0x4f56    0x7822
+0x4f57    0x7823
+0x4f58    0x782d
+0x4f59    0x782e
+0x4f5a    0x7830
+0x4f5b    0x7835
+0x4f5c    0x7837
+0x4f5d    0x7843
+0x4f5e    0x7844
+0x4f5f    0x7847
+0x4f60    0x7848
+0x4f61    0x784c
+0x4f62    0x784e
+0x4f63    0x7852
+0x4f64    0x785c
+0x4f65    0x785e
+0x4f66    0x7860
+0x4f67    0x7861
+0x4f68    0x7863
+0x4f69    0x7864
+0x4f6a    0x7868
+0x4f6b    0x786a
+0x4f6c    0x786e
+0x4f6d    0x787a
+0x4f6e    0x787e
+0x4f6f    0x788a
+0x4f70    0x788f
+0x4f71    0x7894
+0x4f72    0x7898
+0x4f73    0x78a1
+0x4f74    0x789d
+0x4f75    0x789e
+0x4f76    0x789f
+0x4f77    0x78a4
+0x4f78    0x78a8
+0x4f79    0x78ac
+0x4f7a    0x78ad
+0x4f7b    0x78b0
+0x4f7c    0x78b1
+0x4f7d    0x78b2
+0x4f7e    0x78b3
+0x5021    0x78bb
+0x5022    0x78bd
+0x5023    0x78bf
+0x5024    0x78c7
+0x5025    0x78c8
+0x5026    0x78c9
+0x5027    0x78cc
+0x5028    0x78ce
+0x5029    0x78d2
+0x502a    0x78d3
+0x502b    0x78d5
+0x502c    0x78d6
+0x502d    0x78e4
+0x502e    0x78db
+0x502f    0x78df
+0x5030    0x78e0
+0x5031    0x78e1
+0x5032    0x78e6
+0x5033    0x78ea
+0x5034    0x78f2
+0x5035    0x78f3
+0x5036    0x7900
+0x5037    0x78f6
+0x5038    0x78f7
+0x5039    0x78fa
+0x503a    0x78fb
+0x503b    0x78ff
+0x503c    0x7906
+0x503d    0x790c
+0x503e    0x7910
+0x503f    0x791a
+0x5040    0x791c
+0x5041    0x791e
+0x5042    0x791f
+0x5043    0x7920
+0x5044    0x7925
+0x5045    0x7927
+0x5046    0x7929
+0x5047    0x792d
+0x5048    0x7931
+0x5049    0x7934
+0x504a    0x7935
+0x504b    0x793b
+0x504c    0x793d
+0x504d    0x793f
+0x504e    0x7944
+0x504f    0x7945
+0x5050    0x7946
+0x5051    0x794a
+0x5052    0x794b
+0x5053    0x794f
+0x5054    0x7951
+0x5055    0x7954
+0x5056    0x7958
+0x5057    0x795b
+0x5058    0x795c
+0x5059    0x7967
+0x505a    0x7969
+0x505b    0x796b
+0x505c    0x7972
+0x505d    0x7979
+0x505e    0x797b
+0x505f    0x797c
+0x5060    0x797e
+0x5061    0x798b
+0x5062    0x798c
+0x5063    0x7991
+0x5064    0x7993
+0x5065    0x7994
+0x5066    0x7995
+0x5067    0x7996
+0x5068    0x7998
+0x5069    0x799b
+0x506a    0x799c
+0x506b    0x79a1
+0x506c    0x79a8
+0x506d    0x79a9
+0x506e    0x79ab
+0x506f    0x79af
+0x5070    0x79b1
+0x5071    0x79b4
+0x5072    0x79b8
+0x5073    0x79bb
+0x5074    0x79c2
+0x5075    0x79c4
+0x5076    0x79c7
+0x5077    0x79c8
+0x5078    0x79ca
+0x5079    0x79cf
+0x507a    0x79d4
+0x507b    0x79d6
+0x507c    0x79da
+0x507d    0x79dd
+0x507e    0x79de
+0x5121    0x79e0
+0x5122    0x79e2
+0x5123    0x79e5
+0x5124    0x79ea
+0x5125    0x79eb
+0x5126    0x79ed
+0x5127    0x79f1
+0x5128    0x79f8
+0x5129    0x79fc
+0x512a    0x7a02
+0x512b    0x7a03
+0x512c    0x7a07
+0x512d    0x7a09
+0x512e    0x7a0a
+0x512f    0x7a0c
+0x5130    0x7a11
+0x5131    0x7a15
+0x5132    0x7a1b
+0x5133    0x7a1e
+0x5134    0x7a21
+0x5135    0x7a27
+0x5136    0x7a2b
+0x5137    0x7a2d
+0x5138    0x7a2f
+0x5139    0x7a30
+0x513a    0x7a34
+0x513b    0x7a35
+0x513c    0x7a38
+0x513d    0x7a39
+0x513e    0x7a3a
+0x513f    0x7a44
+0x5140    0x7a45
+0x5141    0x7a47
+0x5142    0x7a48
+0x5143    0x7a4c
+0x5144    0x7a55
+0x5145    0x7a56
+0x5146    0x7a59
+0x5147    0x7a5c
+0x5148    0x7a5d
+0x5149    0x7a5f
+0x514a    0x7a60
+0x514b    0x7a65
+0x514c    0x7a67
+0x514d    0x7a6a
+0x514e    0x7a6d
+0x514f    0x7a75
+0x5150    0x7a78
+0x5151    0x7a7e
+0x5152    0x7a80
+0x5153    0x7a82
+0x5154    0x7a85
+0x5155    0x7a86
+0x5156    0x7a8a
+0x5157    0x7a8b
+0x5158    0x7a90
+0x5159    0x7a91
+0x515a    0x7a94
+0x515b    0x7a9e
+0x515c    0x7aa0
+0x515d    0x7aa3
+0x515e    0x7aac
+0x515f    0x7ab3
+0x5160    0x7ab5
+0x5161    0x7ab9
+0x5162    0x7abb
+0x5163    0x7abc
+0x5164    0x7ac6
+0x5165    0x7ac9
+0x5166    0x7acc
+0x5167    0x7ace
+0x5168    0x7ad1
+0x5169    0x7adb
+0x516a    0x7ae8
+0x516b    0x7ae9
+0x516c    0x7aeb
+0x516d    0x7aec
+0x516e    0x7af1
+0x516f    0x7af4
+0x5170    0x7afb
+0x5171    0x7afd
+0x5172    0x7afe
+0x5173    0x7b07
+0x5174    0x7b14
+0x5175    0x7b1f
+0x5176    0x7b23
+0x5177    0x7b27
+0x5178    0x7b29
+0x5179    0x7b2a
+0x517a    0x7b2b
+0x517b    0x7b2d
+0x517c    0x7b2e
+0x517d    0x7b2f
+0x517e    0x7b30
+0x5221    0x7b31
+0x5222    0x7b34
+0x5223    0x7b3d
+0x5224    0x7b3f
+0x5225    0x7b40
+0x5226    0x7b41
+0x5227    0x7b47
+0x5228    0x7b4e
+0x5229    0x7b55
+0x522a    0x7b60
+0x522b    0x7b64
+0x522c    0x7b66
+0x522d    0x7b69
+0x522e    0x7b6a
+0x522f    0x7b6d
+0x5230    0x7b6f
+0x5231    0x7b72
+0x5232    0x7b73
+0x5233    0x7b77
+0x5234    0x7b84
+0x5235    0x7b89
+0x5236    0x7b8e
+0x5237    0x7b90
+0x5238    0x7b91
+0x5239    0x7b96
+0x523a    0x7b9b
+0x523b    0x7b9e
+0x523c    0x7ba0
+0x523d    0x7ba5
+0x523e    0x7bac
+0x523f    0x7baf
+0x5240    0x7bb0
+0x5241    0x7bb2
+0x5242    0x7bb5
+0x5243    0x7bb6
+0x5244    0x7bba
+0x5245    0x7bbb
+0x5246    0x7bbc
+0x5247    0x7bbd
+0x5248    0x7bc2
+0x5249    0x7bc5
+0x524a    0x7bc8
+0x524b    0x7bca
+0x524c    0x7bd4
+0x524d    0x7bd6
+0x524e    0x7bd7
+0x524f    0x7bd9
+0x5250    0x7bda
+0x5251    0x7bdb
+0x5252    0x7be8
+0x5253    0x7bea
+0x5254    0x7bf2
+0x5255    0x7bf4
+0x5256    0x7bf5
+0x5257    0x7bf8
+0x5258    0x7bf9
+0x5259    0x7bfa
+0x525a    0x7bfc
+0x525b    0x7bfe
+0x525c    0x7c01
+0x525d    0x7c02
+0x525e    0x7c03
+0x525f    0x7c04
+0x5260    0x7c06
+0x5261    0x7c09
+0x5262    0x7c0b
+0x5263    0x7c0c
+0x5264    0x7c0e
+0x5265    0x7c0f
+0x5266    0x7c19
+0x5267    0x7c1b
+0x5268    0x7c20
+0x5269    0x7c25
+0x526a    0x7c26
+0x526b    0x7c28
+0x526c    0x7c2c
+0x526d    0x7c31
+0x526e    0x7c33
+0x526f    0x7c34
+0x5270    0x7c36
+0x5271    0x7c39
+0x5272    0x7c3a
+0x5273    0x7c46
+0x5274    0x7c4a
+0x5275    0x7c55
+0x5276    0x7c51
+0x5277    0x7c52
+0x5278    0x7c53
+0x5279    0x7c59
+0x527a    0x7c5a
+0x527b    0x7c5b
+0x527c    0x7c5c
+0x527d    0x7c5d
+0x527e    0x7c5e
+0x5321    0x7c61
+0x5322    0x7c63
+0x5323    0x7c67
+0x5324    0x7c69
+0x5325    0x7c6d
+0x5326    0x7c6e
+0x5327    0x7c70
+0x5328    0x7c72
+0x5329    0x7c79
+0x532a    0x7c7c
+0x532b    0x7c7d
+0x532c    0x7c86
+0x532d    0x7c87
+0x532e    0x7c8f
+0x532f    0x7c94
+0x5330    0x7c9e
+0x5331    0x7ca0
+0x5332    0x7ca6
+0x5333    0x7cb0
+0x5334    0x7cb6
+0x5335    0x7cb7
+0x5336    0x7cba
+0x5337    0x7cbb
+0x5338    0x7cbc
+0x5339    0x7cbf
+0x533a    0x7cc4
+0x533b    0x7cc7
+0x533c    0x7cc8
+0x533d    0x7cc9
+0x533e    0x7ccd
+0x533f    0x7ccf
+0x5340    0x7cd3
+0x5341    0x7cd4
+0x5342    0x7cd5
+0x5343    0x7cd7
+0x5344    0x7cd9
+0x5345    0x7cda
+0x5346    0x7cdd
+0x5347    0x7ce6
+0x5348    0x7ce9
+0x5349    0x7ceb
+0x534a    0x7cf5
+0x534b    0x7d03
+0x534c    0x7d07
+0x534d    0x7d08
+0x534e    0x7d09
+0x534f    0x7d0f
+0x5350    0x7d11
+0x5351    0x7d12
+0x5352    0x7d13
+0x5353    0x7d16
+0x5354    0x7d1d
+0x5355    0x7d1e
+0x5356    0x7d23
+0x5357    0x7d26
+0x5358    0x7d2a
+0x5359    0x7d2d
+0x535a    0x7d31
+0x535b    0x7d3c
+0x535c    0x7d3d
+0x535d    0x7d3e
+0x535e    0x7d40
+0x535f    0x7d41
+0x5360    0x7d47
+0x5361    0x7d48
+0x5362    0x7d4d
+0x5363    0x7d51
+0x5364    0x7d53
+0x5365    0x7d57
+0x5366    0x7d59
+0x5367    0x7d5a
+0x5368    0x7d5c
+0x5369    0x7d5d
+0x536a    0x7d65
+0x536b    0x7d67
+0x536c    0x7d6a
+0x536d    0x7d70
+0x536e    0x7d78
+0x536f    0x7d7a
+0x5370    0x7d7b
+0x5371    0x7d7f
+0x5372    0x7d81
+0x5373    0x7d82
+0x5374    0x7d83
+0x5375    0x7d85
+0x5376    0x7d86
+0x5377    0x7d88
+0x5378    0x7d8b
+0x5379    0x7d8c
+0x537a    0x7d8d
+0x537b    0x7d91
+0x537c    0x7d96
+0x537d    0x7d97
+0x537e    0x7d9d
+0x5421    0x7d9e
+0x5422    0x7da6
+0x5423    0x7da7
+0x5424    0x7daa
+0x5425    0x7db3
+0x5426    0x7db6
+0x5427    0x7db7
+0x5428    0x7db9
+0x5429    0x7dc2
+0x542a    0x7dc3
+0x542b    0x7dc4
+0x542c    0x7dc5
+0x542d    0x7dc6
+0x542e    0x7dcc
+0x542f    0x7dcd
+0x5430    0x7dce
+0x5431    0x7dd7
+0x5432    0x7dd9
+0x5433    0x7e00
+0x5434    0x7de2
+0x5435    0x7de5
+0x5436    0x7de6
+0x5437    0x7dea
+0x5438    0x7deb
+0x5439    0x7ded
+0x543a    0x7df1
+0x543b    0x7df5
+0x543c    0x7df6
+0x543d    0x7df9
+0x543e    0x7dfa
+0x543f    0x7e08
+0x5440    0x7e10
+0x5441    0x7e11
+0x5442    0x7e15
+0x5443    0x7e17
+0x5444    0x7e1c
+0x5445    0x7e1d
+0x5446    0x7e20
+0x5447    0x7e27
+0x5448    0x7e28
+0x5449    0x7e2c
+0x544a    0x7e2d
+0x544b    0x7e2f
+0x544c    0x7e33
+0x544d    0x7e36
+0x544e    0x7e3f
+0x544f    0x7e44
+0x5450    0x7e45
+0x5451    0x7e47
+0x5452    0x7e4e
+0x5453    0x7e50
+0x5454    0x7e52
+0x5455    0x7e58
+0x5456    0x7e5f
+0x5457    0x7e61
+0x5458    0x7e62
+0x5459    0x7e65
+0x545a    0x7e6b
+0x545b    0x7e6e
+0x545c    0x7e6f
+0x545d    0x7e73
+0x545e    0x7e78
+0x545f    0x7e7e
+0x5460    0x7e81
+0x5461    0x7e86
+0x5462    0x7e87
+0x5463    0x7e8a
+0x5464    0x7e8d
+0x5465    0x7e91
+0x5466    0x7e95
+0x5467    0x7e98
+0x5468    0x7e9a
+0x5469    0x7e9d
+0x546a    0x7e9e
+0x546b    0x7f3c
+0x546c    0x7f3b
+0x546d    0x7f3d
+0x546e    0x7f3e
+0x546f    0x7f3f
+0x5470    0x7f43
+0x5471    0x7f44
+0x5472    0x7f47
+0x5473    0x7f4f
+0x5474    0x7f52
+0x5475    0x7f53
+0x5476    0x7f5b
+0x5477    0x7f5c
+0x5478    0x7f5d
+0x5479    0x7f61
+0x547a    0x7f63
+0x547b    0x7f64
+0x547c    0x7f65
+0x547d    0x7f66
+0x547e    0x7f6d
+0x5521    0x7f71
+0x5522    0x7f7d
+0x5523    0x7f7e
+0x5524    0x7f7f
+0x5525    0x7f80
+0x5526    0x7f8b
+0x5527    0x7f8d
+0x5528    0x7f8f
+0x5529    0x7f90
+0x552a    0x7f91
+0x552b    0x7f96
+0x552c    0x7f97
+0x552d    0x7f9c
+0x552e    0x7fa1
+0x552f    0x7fa2
+0x5530    0x7fa6
+0x5531    0x7faa
+0x5532    0x7fad
+0x5533    0x7fb4
+0x5534    0x7fbc
+0x5535    0x7fbf
+0x5536    0x7fc0
+0x5537    0x7fc3
+0x5538    0x7fc8
+0x5539    0x7fce
+0x553a    0x7fcf
+0x553b    0x7fdb
+0x553c    0x7fdf
+0x553d    0x7fe3
+0x553e    0x7fe5
+0x553f    0x7fe8
+0x5540    0x7fec
+0x5541    0x7fee
+0x5542    0x7fef
+0x5543    0x7ff2
+0x5544    0x7ffa
+0x5545    0x7ffd
+0x5546    0x7ffe
+0x5547    0x7fff
+0x5548    0x8007
+0x5549    0x8008
+0x554a    0x800a
+0x554b    0x800d
+0x554c    0x800e
+0x554d    0x800f
+0x554e    0x8011
+0x554f    0x8013
+0x5550    0x8014
+0x5551    0x8016
+0x5552    0x801d
+0x5553    0x801e
+0x5554    0x801f
+0x5555    0x8020
+0x5556    0x8024
+0x5557    0x8026
+0x5558    0x802c
+0x5559    0x802e
+0x555a    0x8030
+0x555b    0x8034
+0x555c    0x8035
+0x555d    0x8037
+0x555e    0x8039
+0x555f    0x803a
+0x5560    0x803c
+0x5561    0x803e
+0x5562    0x8040
+0x5563    0x8044
+0x5564    0x8060
+0x5565    0x8064
+0x5566    0x8066
+0x5567    0x806d
+0x5568    0x8071
+0x5569    0x8075
+0x556a    0x8081
+0x556b    0x8088
+0x556c    0x808e
+0x556d    0x809c
+0x556e    0x809e
+0x556f    0x80a6
+0x5570    0x80a7
+0x5571    0x80ab
+0x5572    0x80b8
+0x5573    0x80b9
+0x5574    0x80c8
+0x5575    0x80cd
+0x5576    0x80cf
+0x5577    0x80d2
+0x5578    0x80d4
+0x5579    0x80d5
+0x557a    0x80d7
+0x557b    0x80d8
+0x557c    0x80e0
+0x557d    0x80ed
+0x557e    0x80ee
+0x5621    0x80f0
+0x5622    0x80f2
+0x5623    0x80f3
+0x5624    0x80f6
+0x5625    0x80f9
+0x5626    0x80fa
+0x5627    0x80fe
+0x5628    0x8103
+0x5629    0x810b
+0x562a    0x8116
+0x562b    0x8117
+0x562c    0x8118
+0x562d    0x811c
+0x562e    0x811e
+0x562f    0x8120
+0x5630    0x8124
+0x5631    0x8127
+0x5632    0x812c
+0x5633    0x8130
+0x5634    0x8135
+0x5635    0x813a
+0x5636    0x813c
+0x5637    0x8145
+0x5638    0x8147
+0x5639    0x814a
+0x563a    0x814c
+0x563b    0x8152
+0x563c    0x8157
+0x563d    0x8160
+0x563e    0x8161
+0x563f    0x8167
+0x5640    0x8168
+0x5641    0x8169
+0x5642    0x816d
+0x5643    0x816f
+0x5644    0x8177
+0x5645    0x8181
+0x5646    0x8190
+0x5647    0x8184
+0x5648    0x8185
+0x5649    0x8186
+0x564a    0x818b
+0x564b    0x818e
+0x564c    0x8196
+0x564d    0x8198
+0x564e    0x819b
+0x564f    0x819e
+0x5650    0x81a2
+0x5651    0x81ae
+0x5652    0x81b2
+0x5653    0x81b4
+0x5654    0x81bb
+0x5655    0x81cb
+0x5656    0x81c3
+0x5657    0x81c5
+0x5658    0x81ca
+0x5659    0x81ce
+0x565a    0x81cf
+0x565b    0x81d5
+0x565c    0x81d7
+0x565d    0x81db
+0x565e    0x81dd
+0x565f    0x81de
+0x5660    0x81e1
+0x5661    0x81e4
+0x5662    0x81eb
+0x5663    0x81ec
+0x5664    0x81f0
+0x5665    0x81f1
+0x5666    0x81f2
+0x5667    0x81f5
+0x5668    0x81f6
+0x5669    0x81f8
+0x566a    0x81f9
+0x566b    0x81fd
+0x566c    0x81ff
+0x566d    0x8200
+0x566e    0x8203
+0x566f    0x820f
+0x5670    0x8213
+0x5671    0x8214
+0x5672    0x8219
+0x5673    0x821a
+0x5674    0x821d
+0x5675    0x8221
+0x5676    0x8222
+0x5677    0x8228
+0x5678    0x8232
+0x5679    0x8234
+0x567a    0x823a
+0x567b    0x8243
+0x567c    0x8244
+0x567d    0x8245
+0x567e    0x8246
+0x5721    0x824b
+0x5722    0x824e
+0x5723    0x824f
+0x5724    0x8251
+0x5725    0x8256
+0x5726    0x825c
+0x5727    0x8260
+0x5728    0x8263
+0x5729    0x8267
+0x572a    0x826d
+0x572b    0x8274
+0x572c    0x827b
+0x572d    0x827d
+0x572e    0x827f
+0x572f    0x8280
+0x5730    0x8281
+0x5731    0x8283
+0x5732    0x8284
+0x5733    0x8287
+0x5734    0x8289
+0x5735    0x828a
+0x5736    0x828e
+0x5737    0x8291
+0x5738    0x8294
+0x5739    0x8296
+0x573a    0x8298
+0x573b    0x829a
+0x573c    0x829b
+0x573d    0x82a0
+0x573e    0x82a1
+0x573f    0x82a3
+0x5740    0x82a4
+0x5741    0x82a7
+0x5742    0x82a8
+0x5743    0x82a9
+0x5744    0x82aa
+0x5745    0x82ae
+0x5746    0x82b0
+0x5747    0x82b2
+0x5748    0x82b4
+0x5749    0x82b7
+0x574a    0x82ba
+0x574b    0x82bc
+0x574c    0x82be
+0x574d    0x82bf
+0x574e    0x82c6
+0x574f    0x82d0
+0x5750    0x82d5
+0x5751    0x82da
+0x5752    0x82e0
+0x5753    0x82e2
+0x5754    0x82e4
+0x5755    0x82e8
+0x5756    0x82ea
+0x5757    0x82ed
+0x5758    0x82ef
+0x5759    0x82f6
+0x575a    0x82f7
+0x575b    0x82fd
+0x575c    0x82fe
+0x575d    0x8300
+0x575e    0x8301
+0x575f    0x8307
+0x5760    0x8308
+0x5761    0x830a
+0x5762    0x830b
+0x5763    0x8354
+0x5764    0x831b
+0x5765    0x831d
+0x5766    0x831e
+0x5767    0x831f
+0x5768    0x8321
+0x5769    0x8322
+0x576a    0x832c
+0x576b    0x832d
+0x576c    0x832e
+0x576d    0x8330
+0x576e    0x8333
+0x576f    0x8337
+0x5770    0x833a
+0x5771    0x833c
+0x5772    0x833d
+0x5773    0x8342
+0x5774    0x8343
+0x5775    0x8344
+0x5776    0x8347
+0x5777    0x834d
+0x5778    0x834e
+0x5779    0x8351
+0x577a    0x8355
+0x577b    0x8356
+0x577c    0x8357
+0x577d    0x8370
+0x577e    0x8378
+0x5821    0x837d
+0x5822    0x837f
+0x5823    0x8380
+0x5824    0x8382
+0x5825    0x8384
+0x5826    0x8386
+0x5827    0x838d
+0x5828    0x8392
+0x5829    0x8394
+0x582a    0x8395
+0x582b    0x8398
+0x582c    0x8399
+0x582d    0x839b
+0x582e    0x839c
+0x582f    0x839d
+0x5830    0x83a6
+0x5831    0x83a7
+0x5832    0x83a9
+0x5833    0x83ac
+0x5834    0x83be
+0x5835    0x83bf
+0x5836    0x83c0
+0x5837    0x83c7
+0x5838    0x83c9
+0x5839    0x83cf
+0x583a    0x83d0
+0x583b    0x83d1
+0x583c    0x83d4
+0x583d    0x83dd
+0x583e    0x8353
+0x583f    0x83e8
+0x5840    0x83ea
+0x5841    0x83f6
+0x5842    0x83f8
+0x5843    0x83f9
+0x5844    0x83fc
+0x5845    0x8401
+0x5846    0x8406
+0x5847    0x840a
+0x5848    0x840f
+0x5849    0x8411
+0x584a    0x8415
+0x584b    0x8419
+0x584c    0x83ad
+0x584d    0x842f
+0x584e    0x8439
+0x584f    0x8445
+0x5850    0x8447
+0x5851    0x8448
+0x5852    0x844a
+0x5853    0x844d
+0x5854    0x844f
+0x5855    0x8451
+0x5856    0x8452
+0x5857    0x8456
+0x5858    0x8458
+0x5859    0x8459
+0x585a    0x845a
+0x585b    0x845c
+0x585c    0x8460
+0x585d    0x8464
+0x585e    0x8465
+0x585f    0x8467
+0x5860    0x846a
+0x5861    0x8470
+0x5862    0x8473
+0x5863    0x8474
+0x5864    0x8476
+0x5865    0x8478
+0x5866    0x847c
+0x5867    0x847d
+0x5868    0x8481
+0x5869    0x8485
+0x586a    0x8492
+0x586b    0x8493
+0x586c    0x8495
+0x586d    0x849e
+0x586e    0x84a6
+0x586f    0x84a8
+0x5870    0x84a9
+0x5871    0x84aa
+0x5872    0x84af
+0x5873    0x84b1
+0x5874    0x84b4
+0x5875    0x84ba
+0x5876    0x84bd
+0x5877    0x84be
+0x5878    0x84c0
+0x5879    0x84c2
+0x587a    0x84c7
+0x587b    0x84c8
+0x587c    0x84cc
+0x587d    0x84cf
+0x587e    0x84d3
+0x5921    0x84dc
+0x5922    0x84e7
+0x5923    0x84ea
+0x5924    0x84ef
+0x5925    0x84f0
+0x5926    0x84f1
+0x5927    0x84f2
+0x5928    0x84f7
+0x5929    0x8532
+0x592a    0x84fa
+0x592b    0x84fb
+0x592c    0x84fd
+0x592d    0x8502
+0x592e    0x8503
+0x592f    0x8507
+0x5930    0x850c
+0x5931    0x850e
+0x5932    0x8510
+0x5933    0x851c
+0x5934    0x851e
+0x5935    0x8522
+0x5936    0x8523
+0x5937    0x8524
+0x5938    0x8525
+0x5939    0x8527
+0x593a    0x852a
+0x593b    0x852b
+0x593c    0x852f
+0x593d    0x8533
+0x593e    0x8534
+0x593f    0x8536
+0x5940    0x853f
+0x5941    0x8546
+0x5942    0x854f
+0x5943    0x8550
+0x5944    0x8551
+0x5945    0x8552
+0x5946    0x8553
+0x5947    0x8556
+0x5948    0x8559
+0x5949    0x855c
+0x594a    0x855d
+0x594b    0x855e
+0x594c    0x855f
+0x594d    0x8560
+0x594e    0x8561
+0x594f    0x8562
+0x5950    0x8564
+0x5951    0x856b
+0x5952    0x856f
+0x5953    0x8579
+0x5954    0x857a
+0x5955    0x857b
+0x5956    0x857d
+0x5957    0x857f
+0x5958    0x8581
+0x5959    0x8585
+0x595a    0x8586
+0x595b    0x8589
+0x595c    0x858b
+0x595d    0x858c
+0x595e    0x858f
+0x595f    0x8593
+0x5960    0x8598
+0x5961    0x859d
+0x5962    0x859f
+0x5963    0x85a0
+0x5964    0x85a2
+0x5965    0x85a5
+0x5966    0x85a7
+0x5967    0x85b4
+0x5968    0x85b6
+0x5969    0x85b7
+0x596a    0x85b8
+0x596b    0x85bc
+0x596c    0x85bd
+0x596d    0x85be
+0x596e    0x85bf
+0x596f    0x85c2
+0x5970    0x85c7
+0x5971    0x85ca
+0x5972    0x85cb
+0x5973    0x85ce
+0x5974    0x85ad
+0x5975    0x85d8
+0x5976    0x85da
+0x5977    0x85df
+0x5978    0x85e0
+0x5979    0x85e6
+0x597a    0x85e8
+0x597b    0x85ed
+0x597c    0x85f3
+0x597d    0x85f6
+0x597e    0x85fc
+0x5a21    0x85ff
+0x5a22    0x8600
+0x5a23    0x8604
+0x5a24    0x8605
+0x5a25    0x860d
+0x5a26    0x860e
+0x5a27    0x8610
+0x5a28    0x8611
+0x5a29    0x8612
+0x5a2a    0x8618
+0x5a2b    0x8619
+0x5a2c    0x861b
+0x5a2d    0x861e
+0x5a2e    0x8621
+0x5a2f    0x8627
+0x5a30    0x8629
+0x5a31    0x8636
+0x5a32    0x8638
+0x5a33    0x863a
+0x5a34    0x863c
+0x5a35    0x863d
+0x5a36    0x8640
+0x5a37    0x8642
+0x5a38    0x8646
+0x5a39    0x8652
+0x5a3a    0x8653
+0x5a3b    0x8656
+0x5a3c    0x8657
+0x5a3d    0x8658
+0x5a3e    0x8659
+0x5a3f    0x865d
+0x5a40    0x8660
+0x5a41    0x8661
+0x5a42    0x8662
+0x5a43    0x8663
+0x5a44    0x8664
+0x5a45    0x8669
+0x5a46    0x866c
+0x5a47    0x866f
+0x5a48    0x8675
+0x5a49    0x8676
+0x5a4a    0x8677
+0x5a4b    0x867a
+0x5a4c    0x868d
+0x5a4d    0x8691
+0x5a4e    0x8696
+0x5a4f    0x8698
+0x5a50    0x869a
+0x5a51    0x869c
+0x5a52    0x86a1
+0x5a53    0x86a6
+0x5a54    0x86a7
+0x5a55    0x86a8
+0x5a56    0x86ad
+0x5a57    0x86b1
+0x5a58    0x86b3
+0x5a59    0x86b4
+0x5a5a    0x86b5
+0x5a5b    0x86b7
+0x5a5c    0x86b8
+0x5a5d    0x86b9
+0x5a5e    0x86bf
+0x5a5f    0x86c0
+0x5a60    0x86c1
+0x5a61    0x86c3
+0x5a62    0x86c5
+0x5a63    0x86d1
+0x5a64    0x86d2
+0x5a65    0x86d5
+0x5a66    0x86d7
+0x5a67    0x86da
+0x5a68    0x86dc
+0x5a69    0x86e0
+0x5a6a    0x86e3
+0x5a6b    0x86e5
+0x5a6c    0x86e7
+0x5a6d    0x8688
+0x5a6e    0x86fa
+0x5a6f    0x86fc
+0x5a70    0x86fd
+0x5a71    0x8704
+0x5a72    0x8705
+0x5a73    0x8707
+0x5a74    0x870b
+0x5a75    0x870e
+0x5a76    0x870f
+0x5a77    0x8710
+0x5a78    0x8713
+0x5a79    0x8714
+0x5a7a    0x8719
+0x5a7b    0x871e
+0x5a7c    0x871f
+0x5a7d    0x8721
+0x5a7e    0x8723
+0x5b21    0x8728
+0x5b22    0x872e
+0x5b23    0x872f
+0x5b24    0x8731
+0x5b25    0x8732
+0x5b26    0x8739
+0x5b27    0x873a
+0x5b28    0x873c
+0x5b29    0x873d
+0x5b2a    0x873e
+0x5b2b    0x8740
+0x5b2c    0x8743
+0x5b2d    0x8745
+0x5b2e    0x874d
+0x5b2f    0x8758
+0x5b30    0x875d
+0x5b31    0x8761
+0x5b32    0x8764
+0x5b33    0x8765
+0x5b34    0x876f
+0x5b35    0x8771
+0x5b36    0x8772
+0x5b37    0x877b
+0x5b38    0x8783
+0x5b39    0x8784
+0x5b3a    0x8785
+0x5b3b    0x8786
+0x5b3c    0x8787
+0x5b3d    0x8788
+0x5b3e    0x8789
+0x5b3f    0x878b
+0x5b40    0x878c
+0x5b41    0x8790
+0x5b42    0x8793
+0x5b43    0x8795
+0x5b44    0x8797
+0x5b45    0x8798
+0x5b46    0x8799
+0x5b47    0x879e
+0x5b48    0x87a0
+0x5b49    0x87a3
+0x5b4a    0x87a7
+0x5b4b    0x87ac
+0x5b4c    0x87ad
+0x5b4d    0x87ae
+0x5b4e    0x87b1
+0x5b4f    0x87b5
+0x5b50    0x87be
+0x5b51    0x87bf
+0x5b52    0x87c1
+0x5b53    0x87c8
+0x5b54    0x87c9
+0x5b55    0x87ca
+0x5b56    0x87ce
+0x5b57    0x87d5
+0x5b58    0x87d6
+0x5b59    0x87d9
+0x5b5a    0x87da
+0x5b5b    0x87dc
+0x5b5c    0x87df
+0x5b5d    0x87e2
+0x5b5e    0x87e3
+0x5b5f    0x87e4
+0x5b60    0x87ea
+0x5b61    0x87eb
+0x5b62    0x87ed
+0x5b63    0x87f1
+0x5b64    0x87f3
+0x5b65    0x87f8
+0x5b66    0x87fa
+0x5b67    0x87ff
+0x5b68    0x8801
+0x5b69    0x8803
+0x5b6a    0x8806
+0x5b6b    0x8809
+0x5b6c    0x880a
+0x5b6d    0x880b
+0x5b6e    0x8810
+0x5b6f    0x8819
+0x5b70    0x8812
+0x5b71    0x8813
+0x5b72    0x8814
+0x5b73    0x8818
+0x5b74    0x881a
+0x5b75    0x881b
+0x5b76    0x881c
+0x5b77    0x881e
+0x5b78    0x881f
+0x5b79    0x8828
+0x5b7a    0x882d
+0x5b7b    0x882e
+0x5b7c    0x8830
+0x5b7d    0x8832
+0x5b7e    0x8835
+0x5c21    0x883a
+0x5c22    0x883c
+0x5c23    0x8841
+0x5c24    0x8843
+0x5c25    0x8845
+0x5c26    0x8848
+0x5c27    0x8849
+0x5c28    0x884a
+0x5c29    0x884b
+0x5c2a    0x884e
+0x5c2b    0x8851
+0x5c2c    0x8855
+0x5c2d    0x8856
+0x5c2e    0x8858
+0x5c2f    0x885a
+0x5c30    0x885c
+0x5c31    0x885f
+0x5c32    0x8860
+0x5c33    0x8864
+0x5c34    0x8869
+0x5c35    0x8871
+0x5c36    0x8879
+0x5c37    0x887b
+0x5c38    0x8880
+0x5c39    0x8898
+0x5c3a    0x889a
+0x5c3b    0x889b
+0x5c3c    0x889c
+0x5c3d    0x889f
+0x5c3e    0x88a0
+0x5c3f    0x88a8
+0x5c40    0x88aa
+0x5c41    0x88ba
+0x5c42    0x88bd
+0x5c43    0x88be
+0x5c44    0x88c0
+0x5c45    0x88ca
+0x5c46    0x88cb
+0x5c47    0x88cc
+0x5c48    0x88cd
+0x5c49    0x88ce
+0x5c4a    0x88d1
+0x5c4b    0x88d2
+0x5c4c    0x88d3
+0x5c4d    0x88db
+0x5c4e    0x88de
+0x5c4f    0x88e7
+0x5c50    0x88ef
+0x5c51    0x88f0
+0x5c52    0x88f1
+0x5c53    0x88f5
+0x5c54    0x88f7
+0x5c55    0x8901
+0x5c56    0x8906
+0x5c57    0x890d
+0x5c58    0x890e
+0x5c59    0x890f
+0x5c5a    0x8915
+0x5c5b    0x8916
+0x5c5c    0x8918
+0x5c5d    0x8919
+0x5c5e    0x891a
+0x5c5f    0x891c
+0x5c60    0x8920
+0x5c61    0x8926
+0x5c62    0x8927
+0x5c63    0x8928
+0x5c64    0x8930
+0x5c65    0x8931
+0x5c66    0x8932
+0x5c67    0x8935
+0x5c68    0x8939
+0x5c69    0x893a
+0x5c6a    0x893e
+0x5c6b    0x8940
+0x5c6c    0x8942
+0x5c6d    0x8945
+0x5c6e    0x8946
+0x5c6f    0x8949
+0x5c70    0x894f
+0x5c71    0x8952
+0x5c72    0x8957
+0x5c73    0x895a
+0x5c74    0x895b
+0x5c75    0x895c
+0x5c76    0x8961
+0x5c77    0x8962
+0x5c78    0x8963
+0x5c79    0x896b
+0x5c7a    0x896e
+0x5c7b    0x8970
+0x5c7c    0x8973
+0x5c7d    0x8975
+0x5c7e    0x897a
+0x5d21    0x897b
+0x5d22    0x897c
+0x5d23    0x897d
+0x5d24    0x8989
+0x5d25    0x898d
+0x5d26    0x8990
+0x5d27    0x8994
+0x5d28    0x8995
+0x5d29    0x899b
+0x5d2a    0x899c
+0x5d2b    0x899f
+0x5d2c    0x89a0
+0x5d2d    0x89a5
+0x5d2e    0x89b0
+0x5d2f    0x89b4
+0x5d30    0x89b5
+0x5d31    0x89b6
+0x5d32    0x89b7
+0x5d33    0x89bc
+0x5d34    0x89d4
+0x5d35    0x89d5
+0x5d36    0x89d6
+0x5d37    0x89d7
+0x5d38    0x89d8
+0x5d39    0x89e5
+0x5d3a    0x89e9
+0x5d3b    0x89eb
+0x5d3c    0x89ed
+0x5d3d    0x89f1
+0x5d3e    0x89f3
+0x5d3f    0x89f6
+0x5d40    0x89f9
+0x5d41    0x89fd
+0x5d42    0x89ff
+0x5d43    0x8a04
+0x5d44    0x8a05
+0x5d45    0x8a07
+0x5d46    0x8a0f
+0x5d47    0x8a11
+0x5d48    0x8a12
+0x5d49    0x8a14
+0x5d4a    0x8a15
+0x5d4b    0x8a1e
+0x5d4c    0x8a20
+0x5d4d    0x8a22
+0x5d4e    0x8a24
+0x5d4f    0x8a26
+0x5d50    0x8a2b
+0x5d51    0x8a2c
+0x5d52    0x8a2f
+0x5d53    0x8a35
+0x5d54    0x8a37
+0x5d55    0x8a3d
+0x5d56    0x8a3e
+0x5d57    0x8a40
+0x5d58    0x8a43
+0x5d59    0x8a45
+0x5d5a    0x8a47
+0x5d5b    0x8a49
+0x5d5c    0x8a4d
+0x5d5d    0x8a4e
+0x5d5e    0x8a53
+0x5d5f    0x8a56
+0x5d60    0x8a57
+0x5d61    0x8a58
+0x5d62    0x8a5c
+0x5d63    0x8a5d
+0x5d64    0x8a61
+0x5d65    0x8a65
+0x5d66    0x8a67
+0x5d67    0x8a75
+0x5d68    0x8a76
+0x5d69    0x8a77
+0x5d6a    0x8a79
+0x5d6b    0x8a7a
+0x5d6c    0x8a7b
+0x5d6d    0x8a7e
+0x5d6e    0x8a7f
+0x5d6f    0x8a80
+0x5d70    0x8a83
+0x5d71    0x8a86
+0x5d72    0x8a8b
+0x5d73    0x8a8f
+0x5d74    0x8a90
+0x5d75    0x8a92
+0x5d76    0x8a96
+0x5d77    0x8a97
+0x5d78    0x8a99
+0x5d79    0x8a9f
+0x5d7a    0x8aa7
+0x5d7b    0x8aa9
+0x5d7c    0x8aae
+0x5d7d    0x8aaf
+0x5d7e    0x8ab3
+0x5e21    0x8ab6
+0x5e22    0x8ab7
+0x5e23    0x8abb
+0x5e24    0x8abe
+0x5e25    0x8ac3
+0x5e26    0x8ac6
+0x5e27    0x8ac8
+0x5e28    0x8ac9
+0x5e29    0x8aca
+0x5e2a    0x8ad1
+0x5e2b    0x8ad3
+0x5e2c    0x8ad4
+0x5e2d    0x8ad5
+0x5e2e    0x8ad7
+0x5e2f    0x8add
+0x5e30    0x8adf
+0x5e31    0x8aec
+0x5e32    0x8af0
+0x5e33    0x8af4
+0x5e34    0x8af5
+0x5e35    0x8af6
+0x5e36    0x8afc
+0x5e37    0x8aff
+0x5e38    0x8b05
+0x5e39    0x8b06
+0x5e3a    0x8b0b
+0x5e3b    0x8b11
+0x5e3c    0x8b1c
+0x5e3d    0x8b1e
+0x5e3e    0x8b1f
+0x5e3f    0x8b0a
+0x5e40    0x8b2d
+0x5e41    0x8b30
+0x5e42    0x8b37
+0x5e43    0x8b3c
+0x5e44    0x8b42
+0x5e45    0x8b43
+0x5e46    0x8b44
+0x5e47    0x8b45
+0x5e48    0x8b46
+0x5e49    0x8b48
+0x5e4a    0x8b52
+0x5e4b    0x8b53
+0x5e4c    0x8b54
+0x5e4d    0x8b59
+0x5e4e    0x8b4d
+0x5e4f    0x8b5e
+0x5e50    0x8b63
+0x5e51    0x8b6d
+0x5e52    0x8b76
+0x5e53    0x8b78
+0x5e54    0x8b79
+0x5e55    0x8b7c
+0x5e56    0x8b7e
+0x5e57    0x8b81
+0x5e58    0x8b84
+0x5e59    0x8b85
+0x5e5a    0x8b8b
+0x5e5b    0x8b8d
+0x5e5c    0x8b8f
+0x5e5d    0x8b94
+0x5e5e    0x8b95
+0x5e5f    0x8b9c
+0x5e60    0x8b9e
+0x5e61    0x8b9f
+0x5e62    0x8c38
+0x5e63    0x8c39
+0x5e64    0x8c3d
+0x5e65    0x8c3e
+0x5e66    0x8c45
+0x5e67    0x8c47
+0x5e68    0x8c49
+0x5e69    0x8c4b
+0x5e6a    0x8c4f
+0x5e6b    0x8c51
+0x5e6c    0x8c53
+0x5e6d    0x8c54
+0x5e6e    0x8c57
+0x5e6f    0x8c58
+0x5e70    0x8c5b
+0x5e71    0x8c5d
+0x5e72    0x8c59
+0x5e73    0x8c63
+0x5e74    0x8c64
+0x5e75    0x8c66
+0x5e76    0x8c68
+0x5e77    0x8c69
+0x5e78    0x8c6d
+0x5e79    0x8c73
+0x5e7a    0x8c75
+0x5e7b    0x8c76
+0x5e7c    0x8c7b
+0x5e7d    0x8c7e
+0x5e7e    0x8c86
+0x5f21    0x8c87
+0x5f22    0x8c8b
+0x5f23    0x8c90
+0x5f24    0x8c92
+0x5f25    0x8c93
+0x5f26    0x8c99
+0x5f27    0x8c9b
+0x5f28    0x8c9c
+0x5f29    0x8ca4
+0x5f2a    0x8cb9
+0x5f2b    0x8cba
+0x5f2c    0x8cc5
+0x5f2d    0x8cc6
+0x5f2e    0x8cc9
+0x5f2f    0x8ccb
+0x5f30    0x8ccf
+0x5f31    0x8cd6
+0x5f32    0x8cd5
+0x5f33    0x8cd9
+0x5f34    0x8cdd
+0x5f35    0x8ce1
+0x5f36    0x8ce8
+0x5f37    0x8cec
+0x5f38    0x8cef
+0x5f39    0x8cf0
+0x5f3a    0x8cf2
+0x5f3b    0x8cf5
+0x5f3c    0x8cf7
+0x5f3d    0x8cf8
+0x5f3e    0x8cfe
+0x5f3f    0x8cff
+0x5f40    0x8d01
+0x5f41    0x8d03
+0x5f42    0x8d09
+0x5f43    0x8d12
+0x5f44    0x8d17
+0x5f45    0x8d1b
+0x5f46    0x8d65
+0x5f47    0x8d69
+0x5f48    0x8d6c
+0x5f49    0x8d6e
+0x5f4a    0x8d7f
+0x5f4b    0x8d82
+0x5f4c    0x8d84
+0x5f4d    0x8d88
+0x5f4e    0x8d8d
+0x5f4f    0x8d90
+0x5f50    0x8d91
+0x5f51    0x8d95
+0x5f52    0x8d9e
+0x5f53    0x8d9f
+0x5f54    0x8da0
+0x5f55    0x8da6
+0x5f56    0x8dab
+0x5f57    0x8dac
+0x5f58    0x8daf
+0x5f59    0x8db2
+0x5f5a    0x8db5
+0x5f5b    0x8db7
+0x5f5c    0x8db9
+0x5f5d    0x8dbb
+0x5f5e    0x8dc0
+0x5f5f    0x8dc5
+0x5f60    0x8dc6
+0x5f61    0x8dc7
+0x5f62    0x8dc8
+0x5f63    0x8dca
+0x5f64    0x8dce
+0x5f65    0x8dd1
+0x5f66    0x8dd4
+0x5f67    0x8dd5
+0x5f68    0x8dd7
+0x5f69    0x8dd9
+0x5f6a    0x8de4
+0x5f6b    0x8de5
+0x5f6c    0x8de7
+0x5f6d    0x8dec
+0x5f6e    0x8df0
+0x5f6f    0x8dbc
+0x5f70    0x8df1
+0x5f71    0x8df2
+0x5f72    0x8df4
+0x5f73    0x8dfd
+0x5f74    0x8e01
+0x5f75    0x8e04
+0x5f76    0x8e05
+0x5f77    0x8e06
+0x5f78    0x8e0b
+0x5f79    0x8e11
+0x5f7a    0x8e14
+0x5f7b    0x8e16
+0x5f7c    0x8e20
+0x5f7d    0x8e21
+0x5f7e    0x8e22
+0x6021    0x8e23
+0x6022    0x8e26
+0x6023    0x8e27
+0x6024    0x8e31
+0x6025    0x8e33
+0x6026    0x8e36
+0x6027    0x8e37
+0x6028    0x8e38
+0x6029    0x8e39
+0x602a    0x8e3d
+0x602b    0x8e40
+0x602c    0x8e41
+0x602d    0x8e4b
+0x602e    0x8e4d
+0x602f    0x8e4e
+0x6030    0x8e4f
+0x6031    0x8e54
+0x6032    0x8e5b
+0x6033    0x8e5c
+0x6034    0x8e5d
+0x6035    0x8e5e
+0x6036    0x8e61
+0x6037    0x8e62
+0x6038    0x8e69
+0x6039    0x8e6c
+0x603a    0x8e6d
+0x603b    0x8e6f
+0x603c    0x8e70
+0x603d    0x8e71
+0x603e    0x8e79
+0x603f    0x8e7a
+0x6040    0x8e7b
+0x6041    0x8e82
+0x6042    0x8e83
+0x6043    0x8e89
+0x6044    0x8e90
+0x6045    0x8e92
+0x6046    0x8e95
+0x6047    0x8e9a
+0x6048    0x8e9b
+0x6049    0x8e9d
+0x604a    0x8e9e
+0x604b    0x8ea2
+0x604c    0x8ea7
+0x604d    0x8ea9
+0x604e    0x8ead
+0x604f    0x8eae
+0x6050    0x8eb3
+0x6051    0x8eb5
+0x6052    0x8eba
+0x6053    0x8ebb
+0x6054    0x8ec0
+0x6055    0x8ec1
+0x6056    0x8ec3
+0x6057    0x8ec4
+0x6058    0x8ec7
+0x6059    0x8ecf
+0x605a    0x8ed1
+0x605b    0x8ed4
+0x605c    0x8edc
+0x605d    0x8ee8
+0x605e    0x8eee
+0x605f    0x8ef0
+0x6060    0x8ef1
+0x6061    0x8ef7
+0x6062    0x8ef9
+0x6063    0x8efa
+0x6064    0x8eed
+0x6065    0x8f00
+0x6066    0x8f02
+0x6067    0x8f07
+0x6068    0x8f08
+0x6069    0x8f0f
+0x606a    0x8f10
+0x606b    0x8f16
+0x606c    0x8f17
+0x606d    0x8f18
+0x606e    0x8f1e
+0x606f    0x8f20
+0x6070    0x8f21
+0x6071    0x8f23
+0x6072    0x8f25
+0x6073    0x8f27
+0x6074    0x8f28
+0x6075    0x8f2c
+0x6076    0x8f2d
+0x6077    0x8f2e
+0x6078    0x8f34
+0x6079    0x8f35
+0x607a    0x8f36
+0x607b    0x8f37
+0x607c    0x8f3a
+0x607d    0x8f40
+0x607e    0x8f41
+0x6121    0x8f43
+0x6122    0x8f47
+0x6123    0x8f4f
+0x6124    0x8f51
+0x6125    0x8f52
+0x6126    0x8f53
+0x6127    0x8f54
+0x6128    0x8f55
+0x6129    0x8f58
+0x612a    0x8f5d
+0x612b    0x8f5e
+0x612c    0x8f65
+0x612d    0x8f9d
+0x612e    0x8fa0
+0x612f    0x8fa1
+0x6130    0x8fa4
+0x6131    0x8fa5
+0x6132    0x8fa6
+0x6133    0x8fb5
+0x6134    0x8fb6
+0x6135    0x8fb8
+0x6136    0x8fbe
+0x6137    0x8fc0
+0x6138    0x8fc1
+0x6139    0x8fc6
+0x613a    0x8fca
+0x613b    0x8fcb
+0x613c    0x8fcd
+0x613d    0x8fd0
+0x613e    0x8fd2
+0x613f    0x8fd3
+0x6140    0x8fd5
+0x6141    0x8fe0
+0x6142    0x8fe3
+0x6143    0x8fe4
+0x6144    0x8fe8
+0x6145    0x8fee
+0x6146    0x8ff1
+0x6147    0x8ff5
+0x6148    0x8ff6
+0x6149    0x8ffb
+0x614a    0x8ffe
+0x614b    0x9002
+0x614c    0x9004
+0x614d    0x9008
+0x614e    0x900c
+0x614f    0x9018
+0x6150    0x901b
+0x6151    0x9028
+0x6152    0x9029
+0x6153    0x902f
+0x6154    0x902a
+0x6155    0x902c
+0x6156    0x902d
+0x6157    0x9033
+0x6158    0x9034
+0x6159    0x9037
+0x615a    0x903f
+0x615b    0x9043
+0x615c    0x9044
+0x615d    0x904c
+0x615e    0x905b
+0x615f    0x905d
+0x6160    0x9062
+0x6161    0x9066
+0x6162    0x9067
+0x6163    0x906c
+0x6164    0x9070
+0x6165    0x9074
+0x6166    0x9079
+0x6167    0x9085
+0x6168    0x9088
+0x6169    0x908b
+0x616a    0x908c
+0x616b    0x908e
+0x616c    0x9090
+0x616d    0x9095
+0x616e    0x9097
+0x616f    0x9098
+0x6170    0x9099
+0x6171    0x909b
+0x6172    0x90a0
+0x6173    0x90a1
+0x6174    0x90a2
+0x6175    0x90a5
+0x6176    0x90b0
+0x6177    0x90b2
+0x6178    0x90b3
+0x6179    0x90b4
+0x617a    0x90b6
+0x617b    0x90bd
+0x617c    0x90cc
+0x617d    0x90be
+0x617e    0x90c3
+0x6221    0x90c4
+0x6222    0x90c5
+0x6223    0x90c7
+0x6224    0x90c8
+0x6225    0x90d5
+0x6226    0x90d7
+0x6227    0x90d8
+0x6228    0x90d9
+0x6229    0x90dc
+0x622a    0x90dd
+0x622b    0x90df
+0x622c    0x90e5
+0x622d    0x90d2
+0x622e    0x90f6
+0x622f    0x90eb
+0x6230    0x90ef
+0x6231    0x90f0
+0x6232    0x90f4
+0x6233    0x90fe
+0x6234    0x90ff
+0x6235    0x9100
+0x6236    0x9104
+0x6237    0x9105
+0x6238    0x9106
+0x6239    0x9108
+0x623a    0x910d
+0x623b    0x9110
+0x623c    0x9114
+0x623d    0x9116
+0x623e    0x9117
+0x623f    0x9118
+0x6240    0x911a
+0x6241    0x911c
+0x6242    0x911e
+0x6243    0x9120
+0x6244    0x9125
+0x6245    0x9122
+0x6246    0x9123
+0x6247    0x9127
+0x6248    0x9129
+0x6249    0x912e
+0x624a    0x912f
+0x624b    0x9131
+0x624c    0x9134
+0x624d    0x9136
+0x624e    0x9137
+0x624f    0x9139
+0x6250    0x913a
+0x6251    0x913c
+0x6252    0x913d
+0x6253    0x9143
+0x6254    0x9147
+0x6255    0x9148
+0x6256    0x914f
+0x6257    0x9153
+0x6258    0x9157
+0x6259    0x9159
+0x625a    0x915a
+0x625b    0x915b
+0x625c    0x9161
+0x625d    0x9164
+0x625e    0x9167
+0x625f    0x916d
+0x6260    0x9174
+0x6261    0x9179
+0x6262    0x917a
+0x6263    0x917b
+0x6264    0x9181
+0x6265    0x9183
+0x6266    0x9185
+0x6267    0x9186
+0x6268    0x918a
+0x6269    0x918e
+0x626a    0x9191
+0x626b    0x9193
+0x626c    0x9194
+0x626d    0x9195
+0x626e    0x9198
+0x626f    0x919e
+0x6270    0x91a1
+0x6271    0x91a6
+0x6272    0x91a8
+0x6273    0x91ac
+0x6274    0x91ad
+0x6275    0x91ae
+0x6276    0x91b0
+0x6277    0x91b1
+0x6278    0x91b2
+0x6279    0x91b3
+0x627a    0x91b6
+0x627b    0x91bb
+0x627c    0x91bc
+0x627d    0x91bd
+0x627e    0x91bf
+0x6321    0x91c2
+0x6322    0x91c3
+0x6323    0x91c5
+0x6324    0x91d3
+0x6325    0x91d4
+0x6326    0x91d7
+0x6327    0x91d9
+0x6328    0x91da
+0x6329    0x91de
+0x632a    0x91e4
+0x632b    0x91e5
+0x632c    0x91e9
+0x632d    0x91ea
+0x632e    0x91ec
+0x632f    0x91ed
+0x6330    0x91ee
+0x6331    0x91ef
+0x6332    0x91f0
+0x6333    0x91f1
+0x6334    0x91f7
+0x6335    0x91f9
+0x6336    0x91fb
+0x6337    0x91fd
+0x6338    0x9200
+0x6339    0x9201
+0x633a    0x9204
+0x633b    0x9205
+0x633c    0x9206
+0x633d    0x9207
+0x633e    0x9209
+0x633f    0x920a
+0x6340    0x920c
+0x6341    0x9210
+0x6342    0x9212
+0x6343    0x9213
+0x6344    0x9216
+0x6345    0x9218
+0x6346    0x921c
+0x6347    0x921d
+0x6348    0x9223
+0x6349    0x9224
+0x634a    0x9225
+0x634b    0x9226
+0x634c    0x9228
+0x634d    0x922e
+0x634e    0x922f
+0x634f    0x9230
+0x6350    0x9233
+0x6351    0x9235
+0x6352    0x9236
+0x6353    0x9238
+0x6354    0x9239
+0x6355    0x923a
+0x6356    0x923c
+0x6357    0x923e
+0x6358    0x9240
+0x6359    0x9242
+0x635a    0x9243
+0x635b    0x9246
+0x635c    0x9247
+0x635d    0x924a
+0x635e    0x924d
+0x635f    0x924e
+0x6360    0x924f
+0x6361    0x9251
+0x6362    0x9258
+0x6363    0x9259
+0x6364    0x925c
+0x6365    0x925d
+0x6366    0x9260
+0x6367    0x9261
+0x6368    0x9265
+0x6369    0x9267
+0x636a    0x9268
+0x636b    0x9269
+0x636c    0x926e
+0x636d    0x926f
+0x636e    0x9270
+0x636f    0x9275
+0x6370    0x9276
+0x6371    0x9277
+0x6372    0x9278
+0x6373    0x9279
+0x6374    0x927b
+0x6375    0x927c
+0x6376    0x927d
+0x6377    0x927f
+0x6378    0x9288
+0x6379    0x9289
+0x637a    0x928a
+0x637b    0x928d
+0x637c    0x928e
+0x637d    0x9292
+0x637e    0x9297
+0x6421    0x9299
+0x6422    0x929f
+0x6423    0x92a0
+0x6424    0x92a4
+0x6425    0x92a5
+0x6426    0x92a7
+0x6427    0x92a8
+0x6428    0x92ab
+0x6429    0x92af
+0x642a    0x92b2
+0x642b    0x92b6
+0x642c    0x92b8
+0x642d    0x92ba
+0x642e    0x92bb
+0x642f    0x92bc
+0x6430    0x92bd
+0x6431    0x92bf
+0x6432    0x92c0
+0x6433    0x92c1
+0x6434    0x92c2
+0x6435    0x92c3
+0x6436    0x92c5
+0x6437    0x92c6
+0x6438    0x92c7
+0x6439    0x92c8
+0x643a    0x92cb
+0x643b    0x92cc
+0x643c    0x92cd
+0x643d    0x92ce
+0x643e    0x92d0
+0x643f    0x92d3
+0x6440    0x92d5
+0x6441    0x92d7
+0x6442    0x92d8
+0x6443    0x92d9
+0x6444    0x92dc
+0x6445    0x92dd
+0x6446    0x92df
+0x6447    0x92e0
+0x6448    0x92e1
+0x6449    0x92e3
+0x644a    0x92e5
+0x644b    0x92e7
+0x644c    0x92e8
+0x644d    0x92ec
+0x644e    0x92ee
+0x644f    0x92f0
+0x6450    0x92f9
+0x6451    0x92fb
+0x6452    0x92ff
+0x6453    0x9300
+0x6454    0x9302
+0x6455    0x9308
+0x6456    0x930d
+0x6457    0x9311
+0x6458    0x9314
+0x6459    0x9315
+0x645a    0x931c
+0x645b    0x931d
+0x645c    0x931e
+0x645d    0x931f
+0x645e    0x9321
+0x645f    0x9324
+0x6460    0x9325
+0x6461    0x9327
+0x6462    0x9329
+0x6463    0x932a
+0x6464    0x9333
+0x6465    0x9334
+0x6466    0x9336
+0x6467    0x9337
+0x6468    0x9347
+0x6469    0x9348
+0x646a    0x9349
+0x646b    0x9350
+0x646c    0x9351
+0x646d    0x9352
+0x646e    0x9355
+0x646f    0x9357
+0x6470    0x9358
+0x6471    0x935a
+0x6472    0x935e
+0x6473    0x9364
+0x6474    0x9365
+0x6475    0x9367
+0x6476    0x9369
+0x6477    0x936a
+0x6478    0x936d
+0x6479    0x936f
+0x647a    0x9370
+0x647b    0x9371
+0x647c    0x9373
+0x647d    0x9374
+0x647e    0x9376
+0x6521    0x937a
+0x6522    0x937d
+0x6523    0x937f
+0x6524    0x9380
+0x6525    0x9381
+0x6526    0x9382
+0x6527    0x9388
+0x6528    0x938a
+0x6529    0x938b
+0x652a    0x938d
+0x652b    0x938f
+0x652c    0x9392
+0x652d    0x9395
+0x652e    0x9398
+0x652f    0x939b
+0x6530    0x939e
+0x6531    0x93a1
+0x6532    0x93a3
+0x6533    0x93a4
+0x6534    0x93a6
+0x6535    0x93a8
+0x6536    0x93ab
+0x6537    0x93b4
+0x6538    0x93b5
+0x6539    0x93b6
+0x653a    0x93ba
+0x653b    0x93a9
+0x653c    0x93c1
+0x653d    0x93c4
+0x653e    0x93c5
+0x653f    0x93c6
+0x6540    0x93c7
+0x6541    0x93c9
+0x6542    0x93ca
+0x6543    0x93cb
+0x6544    0x93cc
+0x6545    0x93cd
+0x6546    0x93d3
+0x6547    0x93d9
+0x6548    0x93dc
+0x6549    0x93de
+0x654a    0x93df
+0x654b    0x93e2
+0x654c    0x93e6
+0x654d    0x93e7
+0x654e    0x93f9
+0x654f    0x93f7
+0x6550    0x93f8
+0x6551    0x93fa
+0x6552    0x93fb
+0x6553    0x93fd
+0x6554    0x9401
+0x6555    0x9402
+0x6556    0x9404
+0x6557    0x9408
+0x6558    0x9409
+0x6559    0x940d
+0x655a    0x940e
+0x655b    0x940f
+0x655c    0x9415
+0x655d    0x9416
+0x655e    0x9417
+0x655f    0x941f
+0x6560    0x942e
+0x6561    0x942f
+0x6562    0x9431
+0x6563    0x9432
+0x6564    0x9433
+0x6565    0x9434
+0x6566    0x943b
+0x6567    0x943f
+0x6568    0x943d
+0x6569    0x9443
+0x656a    0x9445
+0x656b    0x9448
+0x656c    0x944a
+0x656d    0x944c
+0x656e    0x9455
+0x656f    0x9459
+0x6570    0x945c
+0x6571    0x945f
+0x6572    0x9461
+0x6573    0x9463
+0x6574    0x9468
+0x6575    0x946b
+0x6576    0x946d
+0x6577    0x946e
+0x6578    0x946f
+0x6579    0x9471
+0x657a    0x9472
+0x657b    0x9484
+0x657c    0x9483
+0x657d    0x9578
+0x657e    0x9579
+0x6621    0x957e
+0x6622    0x9584
+0x6623    0x9588
+0x6624    0x958c
+0x6625    0x958d
+0x6626    0x958e
+0x6627    0x959d
+0x6628    0x959e
+0x6629    0x959f
+0x662a    0x95a1
+0x662b    0x95a6
+0x662c    0x95a9
+0x662d    0x95ab
+0x662e    0x95ac
+0x662f    0x95b4
+0x6630    0x95b6
+0x6631    0x95ba
+0x6632    0x95bd
+0x6633    0x95bf
+0x6634    0x95c6
+0x6635    0x95c8
+0x6636    0x95c9
+0x6637    0x95cb
+0x6638    0x95d0
+0x6639    0x95d1
+0x663a    0x95d2
+0x663b    0x95d3
+0x663c    0x95d9
+0x663d    0x95da
+0x663e    0x95dd
+0x663f    0x95de
+0x6640    0x95df
+0x6641    0x95e0
+0x6642    0x95e4
+0x6643    0x95e6
+0x6644    0x961d
+0x6645    0x961e
+0x6646    0x9622
+0x6647    0x9624
+0x6648    0x9625
+0x6649    0x9626
+0x664a    0x962c
+0x664b    0x9631
+0x664c    0x9633
+0x664d    0x9637
+0x664e    0x9638
+0x664f    0x9639
+0x6650    0x963a
+0x6651    0x963c
+0x6652    0x963d
+0x6653    0x9641
+0x6654    0x9652
+0x6655    0x9654
+0x6656    0x9656
+0x6657    0x9657
+0x6658    0x9658
+0x6659    0x9661
+0x665a    0x966e
+0x665b    0x9674
+0x665c    0x967b
+0x665d    0x967c
+0x665e    0x967e
+0x665f    0x967f
+0x6660    0x9681
+0x6661    0x9682
+0x6662    0x9683
+0x6663    0x9684
+0x6664    0x9689
+0x6665    0x9691
+0x6666    0x9696
+0x6667    0x969a
+0x6668    0x969d
+0x6669    0x969f
+0x666a    0x96a4
+0x666b    0x96a5
+0x666c    0x96a6
+0x666d    0x96a9
+0x666e    0x96ae
+0x666f    0x96af
+0x6670    0x96b3
+0x6671    0x96ba
+0x6672    0x96ca
+0x6673    0x96d2
+0x6674    0x5db2
+0x6675    0x96d8
+0x6676    0x96da
+0x6677    0x96dd
+0x6678    0x96de
+0x6679    0x96df
+0x667a    0x96e9
+0x667b    0x96ef
+0x667c    0x96f1
+0x667d    0x96fa
+0x667e    0x9702
+0x6721    0x9703
+0x6722    0x9705
+0x6723    0x9709
+0x6724    0x971a
+0x6725    0x971b
+0x6726    0x971d
+0x6727    0x9721
+0x6728    0x9722
+0x6729    0x9723
+0x672a    0x9728
+0x672b    0x9731
+0x672c    0x9733
+0x672d    0x9741
+0x672e    0x9743
+0x672f    0x974a
+0x6730    0x974e
+0x6731    0x974f
+0x6732    0x9755
+0x6733    0x9757
+0x6734    0x9758
+0x6735    0x975a
+0x6736    0x975b
+0x6737    0x9763
+0x6738    0x9767
+0x6739    0x976a
+0x673a    0x976e
+0x673b    0x9773
+0x673c    0x9776
+0x673d    0x9777
+0x673e    0x9778
+0x673f    0x977b
+0x6740    0x977d
+0x6741    0x977f
+0x6742    0x9780
+0x6743    0x9789
+0x6744    0x9795
+0x6745    0x9796
+0x6746    0x9797
+0x6747    0x9799
+0x6748    0x979a
+0x6749    0x979e
+0x674a    0x979f
+0x674b    0x97a2
+0x674c    0x97ac
+0x674d    0x97ae
+0x674e    0x97b1
+0x674f    0x97b2
+0x6750    0x97b5
+0x6751    0x97b6
+0x6752    0x97b8
+0x6753    0x97b9
+0x6754    0x97ba
+0x6755    0x97bc
+0x6756    0x97be
+0x6757    0x97bf
+0x6758    0x97c1
+0x6759    0x97c4
+0x675a    0x97c5
+0x675b    0x97c7
+0x675c    0x97c9
+0x675d    0x97ca
+0x675e    0x97cc
+0x675f    0x97cd
+0x6760    0x97ce
+0x6761    0x97d0
+0x6762    0x97d1
+0x6763    0x97d4
+0x6764    0x97d7
+0x6765    0x97d8
+0x6766    0x97d9
+0x6767    0x97dd
+0x6768    0x97de
+0x6769    0x97e0
+0x676a    0x97db
+0x676b    0x97e1
+0x676c    0x97e4
+0x676d    0x97ef
+0x676e    0x97f1
+0x676f    0x97f4
+0x6770    0x97f7
+0x6771    0x97f8
+0x6772    0x97fa
+0x6773    0x9807
+0x6774    0x980a
+0x6775    0x9819
+0x6776    0x980d
+0x6777    0x980e
+0x6778    0x9814
+0x6779    0x9816
+0x677a    0x981c
+0x677b    0x981e
+0x677c    0x9820
+0x677d    0x9823
+0x677e    0x9826
+0x6821    0x982b
+0x6822    0x982e
+0x6823    0x982f
+0x6824    0x9830
+0x6825    0x9832
+0x6826    0x9833
+0x6827    0x9835
+0x6828    0x9825
+0x6829    0x983e
+0x682a    0x9844
+0x682b    0x9847
+0x682c    0x984a
+0x682d    0x9851
+0x682e    0x9852
+0x682f    0x9853
+0x6830    0x9856
+0x6831    0x9857
+0x6832    0x9859
+0x6833    0x985a
+0x6834    0x9862
+0x6835    0x9863
+0x6836    0x9865
+0x6837    0x9866
+0x6838    0x986a
+0x6839    0x986c
+0x683a    0x98ab
+0x683b    0x98ad
+0x683c    0x98ae
+0x683d    0x98b0
+0x683e    0x98b4
+0x683f    0x98b7
+0x6840    0x98b8
+0x6841    0x98ba
+0x6842    0x98bb
+0x6843    0x98bf
+0x6844    0x98c2
+0x6845    0x98c5
+0x6846    0x98c8
+0x6847    0x98cc
+0x6848    0x98e1
+0x6849    0x98e3
+0x684a    0x98e5
+0x684b    0x98e6
+0x684c    0x98e7
+0x684d    0x98ea
+0x684e    0x98f3
+0x684f    0x98f6
+0x6850    0x9902
+0x6851    0x9907
+0x6852    0x9908
+0x6853    0x9911
+0x6854    0x9915
+0x6855    0x9916
+0x6856    0x9917
+0x6857    0x991a
+0x6858    0x991b
+0x6859    0x991c
+0x685a    0x991f
+0x685b    0x9922
+0x685c    0x9926
+0x685d    0x9927
+0x685e    0x992b
+0x685f    0x9931
+0x6860    0x9932
+0x6861    0x9933
+0x6862    0x9934
+0x6863    0x9935
+0x6864    0x9939
+0x6865    0x993a
+0x6866    0x993b
+0x6867    0x993c
+0x6868    0x9940
+0x6869    0x9941
+0x686a    0x9946
+0x686b    0x9947
+0x686c    0x9948
+0x686d    0x994d
+0x686e    0x994e
+0x686f    0x9954
+0x6870    0x9958
+0x6871    0x9959
+0x6872    0x995b
+0x6873    0x995c
+0x6874    0x995e
+0x6875    0x995f
+0x6876    0x9960
+0x6877    0x999b
+0x6878    0x999d
+0x6879    0x999f
+0x687a    0x99a6
+0x687b    0x99b0
+0x687c    0x99b1
+0x687d    0x99b2
+0x687e    0x99b5
+0x6921    0x99b9
+0x6922    0x99ba
+0x6923    0x99bd
+0x6924    0x99bf
+0x6925    0x99c3
+0x6926    0x99c9
+0x6927    0x99d3
+0x6928    0x99d4
+0x6929    0x99d9
+0x692a    0x99da
+0x692b    0x99dc
+0x692c    0x99de
+0x692d    0x99e7
+0x692e    0x99ea
+0x692f    0x99eb
+0x6930    0x99ec
+0x6931    0x99f0
+0x6932    0x99f4
+0x6933    0x99f5
+0x6934    0x99f9
+0x6935    0x99fd
+0x6936    0x99fe
+0x6937    0x9a02
+0x6938    0x9a03
+0x6939    0x9a04
+0x693a    0x9a0b
+0x693b    0x9a0c
+0x693c    0x9a10
+0x693d    0x9a11
+0x693e    0x9a16
+0x693f    0x9a1e
+0x6940    0x9a20
+0x6941    0x9a22
+0x6942    0x9a23
+0x6943    0x9a24
+0x6944    0x9a27
+0x6945    0x9a2d
+0x6946    0x9a2e
+0x6947    0x9a33
+0x6948    0x9a35
+0x6949    0x9a36
+0x694a    0x9a38
+0x694b    0x9a47
+0x694c    0x9a41
+0x694d    0x9a44
+0x694e    0x9a4a
+0x694f    0x9a4b
+0x6950    0x9a4c
+0x6951    0x9a4e
+0x6952    0x9a51
+0x6953    0x9a54
+0x6954    0x9a56
+0x6955    0x9a5d
+0x6956    0x9aaa
+0x6957    0x9aac
+0x6958    0x9aae
+0x6959    0x9aaf
+0x695a    0x9ab2
+0x695b    0x9ab4
+0x695c    0x9ab5
+0x695d    0x9ab6
+0x695e    0x9ab9
+0x695f    0x9abb
+0x6960    0x9abe
+0x6961    0x9abf
+0x6962    0x9ac1
+0x6963    0x9ac3
+0x6964    0x9ac6
+0x6965    0x9ac8
+0x6966    0x9ace
+0x6967    0x9ad0
+0x6968    0x9ad2
+0x6969    0x9ad5
+0x696a    0x9ad6
+0x696b    0x9ad7
+0x696c    0x9adb
+0x696d    0x9adc
+0x696e    0x9ae0
+0x696f    0x9ae4
+0x6970    0x9ae5
+0x6971    0x9ae7
+0x6972    0x9ae9
+0x6973    0x9aec
+0x6974    0x9af2
+0x6975    0x9af3
+0x6976    0x9af5
+0x6977    0x9af9
+0x6978    0x9afa
+0x6979    0x9afd
+0x697a    0x9aff
+0x697b    0x9b00
+0x697c    0x9b01
+0x697d    0x9b02
+0x697e    0x9b03
+0x6a21    0x9b04
+0x6a22    0x9b05
+0x6a23    0x9b08
+0x6a24    0x9b09
+0x6a25    0x9b0b
+0x6a26    0x9b0c
+0x6a27    0x9b0d
+0x6a28    0x9b0e
+0x6a29    0x9b10
+0x6a2a    0x9b12
+0x6a2b    0x9b16
+0x6a2c    0x9b19
+0x6a2d    0x9b1b
+0x6a2e    0x9b1c
+0x6a2f    0x9b20
+0x6a30    0x9b26
+0x6a31    0x9b2b
+0x6a32    0x9b2d
+0x6a33    0x9b33
+0x6a34    0x9b34
+0x6a35    0x9b35
+0x6a36    0x9b37
+0x6a37    0x9b39
+0x6a38    0x9b3a
+0x6a39    0x9b3d
+0x6a3a    0x9b48
+0x6a3b    0x9b4b
+0x6a3c    0x9b4c
+0x6a3d    0x9b55
+0x6a3e    0x9b56
+0x6a3f    0x9b57
+0x6a40    0x9b5b
+0x6a41    0x9b5e
+0x6a42    0x9b61
+0x6a43    0x9b63
+0x6a44    0x9b65
+0x6a45    0x9b66
+0x6a46    0x9b68
+0x6a47    0x9b6a
+0x6a48    0x9b6b
+0x6a49    0x9b6c
+0x6a4a    0x9b6d
+0x6a4b    0x9b6e
+0x6a4c    0x9b73
+0x6a4d    0x9b75
+0x6a4e    0x9b77
+0x6a4f    0x9b78
+0x6a50    0x9b79
+0x6a51    0x9b7f
+0x6a52    0x9b80
+0x6a53    0x9b84
+0x6a54    0x9b85
+0x6a55    0x9b86
+0x6a56    0x9b87
+0x6a57    0x9b89
+0x6a58    0x9b8a
+0x6a59    0x9b8b
+0x6a5a    0x9b8d
+0x6a5b    0x9b8f
+0x6a5c    0x9b90
+0x6a5d    0x9b94
+0x6a5e    0x9b9a
+0x6a5f    0x9b9d
+0x6a60    0x9b9e
+0x6a61    0x9ba6
+0x6a62    0x9ba7
+0x6a63    0x9ba9
+0x6a64    0x9bac
+0x6a65    0x9bb0
+0x6a66    0x9bb1
+0x6a67    0x9bb2
+0x6a68    0x9bb7
+0x6a69    0x9bb8
+0x6a6a    0x9bbb
+0x6a6b    0x9bbc
+0x6a6c    0x9bbe
+0x6a6d    0x9bbf
+0x6a6e    0x9bc1
+0x6a6f    0x9bc7
+0x6a70    0x9bc8
+0x6a71    0x9bce
+0x6a72    0x9bd0
+0x6a73    0x9bd7
+0x6a74    0x9bd8
+0x6a75    0x9bdd
+0x6a76    0x9bdf
+0x6a77    0x9be5
+0x6a78    0x9be7
+0x6a79    0x9bea
+0x6a7a    0x9beb
+0x6a7b    0x9bef
+0x6a7c    0x9bf3
+0x6a7d    0x9bf7
+0x6a7e    0x9bf8
+0x6b21    0x9bf9
+0x6b22    0x9bfa
+0x6b23    0x9bfd
+0x6b24    0x9bff
+0x6b25    0x9c00
+0x6b26    0x9c02
+0x6b27    0x9c0b
+0x6b28    0x9c0f
+0x6b29    0x9c11
+0x6b2a    0x9c16
+0x6b2b    0x9c18
+0x6b2c    0x9c19
+0x6b2d    0x9c1a
+0x6b2e    0x9c1c
+0x6b2f    0x9c1e
+0x6b30    0x9c22
+0x6b31    0x9c23
+0x6b32    0x9c26
+0x6b33    0x9c27
+0x6b34    0x9c28
+0x6b35    0x9c29
+0x6b36    0x9c2a
+0x6b37    0x9c31
+0x6b38    0x9c35
+0x6b39    0x9c36
+0x6b3a    0x9c37
+0x6b3b    0x9c3d
+0x6b3c    0x9c41
+0x6b3d    0x9c43
+0x6b3e    0x9c44
+0x6b3f    0x9c45
+0x6b40    0x9c49
+0x6b41    0x9c4a
+0x6b42    0x9c4e
+0x6b43    0x9c4f
+0x6b44    0x9c50
+0x6b45    0x9c53
+0x6b46    0x9c54
+0x6b47    0x9c56
+0x6b48    0x9c58
+0x6b49    0x9c5b
+0x6b4a    0x9c5d
+0x6b4b    0x9c5e
+0x6b4c    0x9c5f
+0x6b4d    0x9c63
+0x6b4e    0x9c69
+0x6b4f    0x9c6a
+0x6b50    0x9c5c
+0x6b51    0x9c6b
+0x6b52    0x9c68
+0x6b53    0x9c6e
+0x6b54    0x9c70
+0x6b55    0x9c72
+0x6b56    0x9c75
+0x6b57    0x9c77
+0x6b58    0x9c7b
+0x6b59    0x9ce6
+0x6b5a    0x9cf2
+0x6b5b    0x9cf7
+0x6b5c    0x9cf9
+0x6b5d    0x9d0b
+0x6b5e    0x9d02
+0x6b5f    0x9d11
+0x6b60    0x9d17
+0x6b61    0x9d18
+0x6b62    0x9d1c
+0x6b63    0x9d1d
+0x6b64    0x9d1e
+0x6b65    0x9d2f
+0x6b66    0x9d30
+0x6b67    0x9d32
+0x6b68    0x9d33
+0x6b69    0x9d34
+0x6b6a    0x9d3a
+0x6b6b    0x9d3c
+0x6b6c    0x9d45
+0x6b6d    0x9d3d
+0x6b6e    0x9d42
+0x6b6f    0x9d43
+0x6b70    0x9d47
+0x6b71    0x9d4a
+0x6b72    0x9d53
+0x6b73    0x9d54
+0x6b74    0x9d5f
+0x6b75    0x9d63
+0x6b76    0x9d62
+0x6b77    0x9d65
+0x6b78    0x9d69
+0x6b79    0x9d6a
+0x6b7a    0x9d6b
+0x6b7b    0x9d70
+0x6b7c    0x9d76
+0x6b7d    0x9d77
+0x6b7e    0x9d7b
+0x6c21    0x9d7c
+0x6c22    0x9d7e
+0x6c23    0x9d83
+0x6c24    0x9d84
+0x6c25    0x9d86
+0x6c26    0x9d8a
+0x6c27    0x9d8d
+0x6c28    0x9d8e
+0x6c29    0x9d92
+0x6c2a    0x9d93
+0x6c2b    0x9d95
+0x6c2c    0x9d96
+0x6c2d    0x9d97
+0x6c2e    0x9d98
+0x6c2f    0x9da1
+0x6c30    0x9daa
+0x6c31    0x9dac
+0x6c32    0x9dae
+0x6c33    0x9db1
+0x6c34    0x9db5
+0x6c35    0x9db9
+0x6c36    0x9dbc
+0x6c37    0x9dbf
+0x6c38    0x9dc3
+0x6c39    0x9dc7
+0x6c3a    0x9dc9
+0x6c3b    0x9dca
+0x6c3c    0x9dd4
+0x6c3d    0x9dd5
+0x6c3e    0x9dd6
+0x6c3f    0x9dd7
+0x6c40    0x9dda
+0x6c41    0x9dde
+0x6c42    0x9ddf
+0x6c43    0x9de0
+0x6c44    0x9de5
+0x6c45    0x9de7
+0x6c46    0x9de9
+0x6c47    0x9deb
+0x6c48    0x9dee
+0x6c49    0x9df0
+0x6c4a    0x9df3
+0x6c4b    0x9df4
+0x6c4c    0x9dfe
+0x6c4d    0x9e0a
+0x6c4e    0x9e02
+0x6c4f    0x9e07
+0x6c50    0x9e0e
+0x6c51    0x9e10
+0x6c52    0x9e11
+0x6c53    0x9e12
+0x6c54    0x9e15
+0x6c55    0x9e16
+0x6c56    0x9e19
+0x6c57    0x9e1c
+0x6c58    0x9e1d
+0x6c59    0x9e7a
+0x6c5a    0x9e7b
+0x6c5b    0x9e7c
+0x6c5c    0x9e80
+0x6c5d    0x9e82
+0x6c5e    0x9e83
+0x6c5f    0x9e84
+0x6c60    0x9e85
+0x6c61    0x9e87
+0x6c62    0x9e8e
+0x6c63    0x9e8f
+0x6c64    0x9e96
+0x6c65    0x9e98
+0x6c66    0x9e9b
+0x6c67    0x9e9e
+0x6c68    0x9ea4
+0x6c69    0x9ea8
+0x6c6a    0x9eac
+0x6c6b    0x9eae
+0x6c6c    0x9eaf
+0x6c6d    0x9eb0
+0x6c6e    0x9eb3
+0x6c6f    0x9eb4
+0x6c70    0x9eb5
+0x6c71    0x9ec6
+0x6c72    0x9ec8
+0x6c73    0x9ecb
+0x6c74    0x9ed5
+0x6c75    0x9edf
+0x6c76    0x9ee4
+0x6c77    0x9ee7
+0x6c78    0x9eec
+0x6c79    0x9eed
+0x6c7a    0x9eee
+0x6c7b    0x9ef0
+0x6c7c    0x9ef1
+0x6c7d    0x9ef2
+0x6c7e    0x9ef5
+0x6d21    0x9ef8
+0x6d22    0x9eff
+0x6d23    0x9f02
+0x6d24    0x9f03
+0x6d25    0x9f09
+0x6d26    0x9f0f
+0x6d27    0x9f10
+0x6d28    0x9f11
+0x6d29    0x9f12
+0x6d2a    0x9f14
+0x6d2b    0x9f16
+0x6d2c    0x9f17
+0x6d2d    0x9f19
+0x6d2e    0x9f1a
+0x6d2f    0x9f1b
+0x6d30    0x9f1f
+0x6d31    0x9f22
+0x6d32    0x9f26
+0x6d33    0x9f2a
+0x6d34    0x9f2b
+0x6d35    0x9f2f
+0x6d36    0x9f31
+0x6d37    0x9f32
+0x6d38    0x9f34
+0x6d39    0x9f37
+0x6d3a    0x9f39
+0x6d3b    0x9f3a
+0x6d3c    0x9f3c
+0x6d3d    0x9f3d
+0x6d3e    0x9f3f
+0x6d3f    0x9f41
+0x6d40    0x9f43
+0x6d41    0x9f44
+0x6d42    0x9f45
+0x6d43    0x9f46
+0x6d44    0x9f47
+0x6d45    0x9f53
+0x6d46    0x9f55
+0x6d47    0x9f56
+0x6d48    0x9f57
+0x6d49    0x9f58
+0x6d4a    0x9f5a
+0x6d4b    0x9f5d
+0x6d4c    0x9f5e
+0x6d4d    0x9f68
+0x6d4e    0x9f69
+0x6d4f    0x9f6d
+0x6d50    0x9f6e
+0x6d51    0x9f6f
+0x6d52    0x9f70
+0x6d53    0x9f71
+0x6d54    0x9f73
+0x6d55    0x9f75
+0x6d56    0x9f7a
+0x6d57    0x9f7d
+0x6d58    0x9f8f
+0x6d59    0x9f90
+0x6d5a    0x9f91
+0x6d5b    0x9f92
+0x6d5c    0x9f94
+0x6d5d    0x9f96
+0x6d5e    0x9f97
+0x6d5f    0x9f9e
+0x6d60    0x9fa1
+0x6d61    0x9fa2
+0x6d62    0x9fa3
+0x6d63    0x9fa5
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/tools/CharsetMapping/JIS_X_0212_MS5022X.map	Wed Aug 01 11:08:11 2012 -0400
@@ -0,0 +1,7105 @@
+#
+#
+# Entries after 0x6d63 only exist in c2b mappting table
+# generated from JIS_X_0212_MS5022X_Encoder. Added here
+# to make them round-trip
+#
+0x222f    0x02d8
+0x2230    0x02c7
+0x2231    0x00b8
+0x2232    0x02d9
+0x2233    0x02dd
+0x2234    0x00af
+0x2235    0x02db
+0x2236    0x02da
+0x2237    0xff5e
+0x2238    0x0384
+0x2239    0x0385
+0x2242    0x00a1
+0x2243    0x00a6
+0x2244    0x00bf
+0x226b    0x00ba
+0x226c    0x00aa
+0x226d    0x00a9
+0x226e    0x00ae
+0x226f    0x2122
+0x2270    0x00a4
+0x2271    0x2116
+0x2661    0x0386
+0x2662    0x0388
+0x2663    0x0389
+0x2664    0x038a
+0x2665    0x03aa
+0x2667    0x038c
+0x2669    0x038e
+0x266a    0x03ab
+0x266c    0x038f
+0x2671    0x03ac
+0x2672    0x03ad
+0x2673    0x03ae
+0x2674    0x03af
+0x2675    0x03ca
+0x2676    0x0390
+0x2677    0x03cc
+0x2678    0x03c2
+0x2679    0x03cd
+0x267a    0x03cb
+0x267b    0x03b0
+0x267c    0x03ce
+0x2742    0x0402
+0x2743    0x0403
+0x2744    0x0404
+0x2745    0x0405
+0x2746    0x0406
+0x2747    0x0407
+0x2748    0x0408
+0x2749    0x0409
+0x274a    0x040a
+0x274b    0x040b
+0x274c    0x040c
+0x274d    0x040e
+0x274e    0x040f
+0x2772    0x0452
+0x2773    0x0453
+0x2774    0x0454
+0x2775    0x0455
+0x2776    0x0456
+0x2777    0x0457
+0x2778    0x0458
+0x2779    0x0459
+0x277a    0x045a
+0x277b    0x045b
+0x277c    0x045c
+0x277d    0x045e
+0x277e    0x045f
+0x2921    0x00c6
+0x2922    0x0110
+0x2924    0x0126
+0x2926    0x0132
+0x2928    0x0141
+0x2929    0x013f
+0x292b    0x014a
+0x292c    0x00d8
+0x292d    0x0152
+0x292f    0x0166
+0x2930    0x00de
+0x2941    0x00e6
+0x2942    0x0111
+0x2943    0x00f0
+0x2944    0x0127
+0x2945    0x0131
+0x2946    0x0133
+0x2947    0x0138
+0x2948    0x0142
+0x2949    0x0140
+0x294a    0x0149
+0x294b    0x014b
+0x294c    0x00f8
+0x294d    0x0153
+0x294e    0x00df
+0x294f    0x0167
+0x2950    0x00fe
+0x2a21    0x00c1
+0x2a22    0x00c0
+0x2a23    0x00c4
+0x2a24    0x00c2
+0x2a25    0x0102
+0x2a26    0x01cd
+0x2a27    0x0100
+0x2a28    0x0104
+0x2a29    0x00c5
+0x2a2a    0x00c3
+0x2a2b    0x0106
+0x2a2c    0x0108
+0x2a2d    0x010c
+0x2a2e    0x00c7
+0x2a2f    0x010a
+0x2a30    0x010e
+0x2a31    0x00c9
+0x2a32    0x00c8
+0x2a33    0x00cb
+0x2a34    0x00ca
+0x2a35    0x011a
+0x2a36    0x0116
+0x2a37    0x0112
+0x2a38    0x0118
+0x2a3a    0x011c
+0x2a3b    0x011e
+0x2a3c    0x0122
+0x2a3d    0x0120
+0x2a3e    0x0124
+0x2a3f    0x00cd
+0x2a40    0x00cc
+0x2a41    0x00cf
+0x2a42    0x00ce
+0x2a43    0x01cf
+0x2a44    0x0130
+0x2a45    0x012a
+0x2a46    0x012e
+0x2a47    0x0128
+0x2a48    0x0134
+0x2a49    0x0136
+0x2a4a    0x0139
+0x2a4b    0x013d
+0x2a4c    0x013b
+0x2a4d    0x0143
+0x2a4e    0x0147
+0x2a4f    0x0145
+0x2a50    0x00d1
+0x2a51    0x00d3
+0x2a52    0x00d2
+0x2a53    0x00d6
+0x2a54    0x00d4
+0x2a55    0x01d1
+0x2a56    0x0150
+0x2a57    0x014c
+0x2a58    0x00d5
+0x2a59    0x0154
+0x2a5a    0x0158
+0x2a5b    0x0156
+0x2a5c    0x015a
+0x2a5d    0x015c
+0x2a5e    0x0160
+0x2a5f    0x015e
+0x2a60    0x0164
+0x2a61    0x0162
+0x2a62    0x00da
+0x2a63    0x00d9
+0x2a64    0x00dc
+0x2a65    0x00db
+0x2a66    0x016c
+0x2a67    0x01d3
+0x2a68    0x0170
+0x2a69    0x016a
+0x2a6a    0x0172
+0x2a6b    0x016e
+0x2a6c    0x0168
+0x2a6d    0x01d7
+0x2a6e    0x01db
+0x2a6f    0x01d9
+0x2a70    0x01d5
+0x2a71    0x0174
+0x2a72    0x00dd
+0x2a73    0x0178
+0x2a74    0x0176
+0x2a75    0x0179
+0x2a76    0x017d
+0x2a77    0x017b
+0x2b21    0x00e1
+0x2b22    0x00e0
+0x2b23    0x00e4
+0x2b24    0x00e2
+0x2b25    0x0103
+0x2b26    0x01ce
+0x2b27    0x0101
+0x2b28    0x0105
+0x2b29    0x00e5
+0x2b2a    0x00e3
+0x2b2b    0x0107
+0x2b2c    0x0109
+0x2b2d    0x010d
+0x2b2e    0x00e7
+0x2b2f    0x010b
+0x2b30    0x010f
+0x2b31    0x00e9
+0x2b32    0x00e8
+0x2b33    0x00eb
+0x2b34    0x00ea
+0x2b35    0x011b
+0x2b36    0x0117
+0x2b37    0x0113
+0x2b38    0x0119
+0x2b39    0x01f5
+0x2b3a    0x011d
+0x2b3b    0x011f
+0x2b3d    0x0121
+0x2b3e    0x0125
+0x2b3f    0x00ed
+0x2b40    0x00ec
+0x2b41    0x00ef
+0x2b42    0x00ee
+0x2b43    0x01d0
+0x2b45    0x012b
+0x2b46    0x012f
+0x2b47    0x0129
+0x2b48    0x0135
+0x2b49    0x0137
+0x2b4a    0x013a
+0x2b4b    0x013e
+0x2b4c    0x013c
+0x2b4d    0x0144
+0x2b4e    0x0148
+0x2b4f    0x0146
+0x2b50    0x00f1
+0x2b51    0x00f3
+0x2b52    0x00f2
+0x2b53    0x00f6
+0x2b54    0x00f4
+0x2b55    0x01d2
+0x2b56    0x0151
+0x2b57    0x014d
+0x2b58    0x00f5
+0x2b59    0x0155
+0x2b5a    0x0159
+0x2b5b    0x0157
+0x2b5c    0x015b
+0x2b5d    0x015d
+0x2b5e    0x0161
+0x2b5f    0x015f
+0x2b60    0x0165
+0x2b61    0x0163
+0x2b62    0x00fa
+0x2b63    0x00f9
+0x2b64    0x00fc
+0x2b65    0x00fb
+0x2b66    0x016d
+0x2b67    0x01d4
+0x2b68    0x0171
+0x2b69    0x016b
+0x2b6a    0x0173
+0x2b6b    0x016f
+0x2b6c    0x0169
+0x2b6d    0x01d8
+0x2b6e    0x01dc
+0x2b6f    0x01da
+0x2b70    0x01d6
+0x2b71    0x0175
+0x2b72    0x00fd
+0x2b73    0x00ff
+0x2b74    0x0177
+0x2b75    0x017a
+0x2b76    0x017e
+0x2b77    0x017c
+0x3021    0x4e02
+0x3022    0x4e04
+0x3023    0x4e05
+0x3024    0x4e0c
+0x3025    0x4e12
+0x3026    0x4e1f
+0x3027    0x4e23
+0x3028    0x4e24
+0x3029    0x4e28
+0x302a    0x4e2b
+0x302b    0x4e2e
+0x302c    0x4e2f
+0x302d    0x4e30
+0x302e    0x4e35
+0x302f    0x4e40
+0x3030    0x4e41
+0x3031    0x4e44
+0x3032    0x4e47
+0x3033    0x4e51
+0x3034    0x4e5a
+0x3035    0x4e5c
+0x3036    0x4e63
+0x3037    0x4e68
+0x3038    0x4e69
+0x3039    0x4e74
+0x303a    0x4e75
+0x303b    0x4e79
+0x303c    0x4e7f
+0x303d    0x4e8d
+0x303e    0x4e96
+0x303f    0x4e97
+0x3040    0x4e9d
+0x3041    0x4eaf
+0x3042    0x4eb9
+0x3043    0x4ec3
+0x3044    0x4ed0
+0x3045    0x4eda
+0x3046    0x4edb
+0x3047    0x4ee0
+0x3048    0x4ee1
+0x3049    0x4ee2
+0x304a    0x4ee8
+0x304b    0x4eef
+0x304c    0x4ef1
+0x304d    0x4ef3
+0x304e    0x4ef5
+0x304f    0x4efd
+0x3050    0x4efe
+0x3051    0x4eff
+0x3052    0x4f00
+0x3053    0x4f02
+0x3054    0x4f03
+0x3055    0x4f08
+0x3056    0x4f0b
+0x3057    0x4f0c
+0x3058    0x4f12
+0x3059    0x4f15
+0x305a    0x4f16
+0x305b    0x4f17
+0x305c    0x4f19
+0x305d    0x4f2e
+0x305e    0x4f31
+0x305f    0x4f60
+0x3060    0x4f33
+0x3061    0x4f35
+0x3062    0x4f37
+0x3063    0x4f39
+0x3064    0x4f3b
+0x3065    0x4f3e
+0x3066    0x4f40
+0x3067    0x4f42
+0x3068    0x4f48
+0x3069    0x4f49
+0x306a    0x4f4b
+0x306b    0x4f4c
+0x306c    0x4f52
+0x306d    0x4f54
+0x306e    0x4f56
+0x306f    0x4f58
+0x3070    0x4f5f
+0x3071    0x4f63
+0x3072    0x4f6a
+0x3073    0x4f6c
+0x3074    0x4f6e
+0x3075    0x4f71
+0x3076    0x4f77
+0x3077    0x4f78
+0x3078    0x4f79
+0x3079    0x4f7a
+0x307a    0x4f7d
+0x307b    0x4f7e
+0x307c    0x4f81
+0x307d    0x4f82
+0x307e    0x4f84
+0x3121    0x4f85
+0x3122    0x4f89
+0x3123    0x4f8a
+0x3124    0x4f8c
+0x3125    0x4f8e
+0x3126    0x4f90
+0x3127    0x4f92
+0x3128    0x4f93
+0x3129    0x4f94
+0x312a    0x4f97
+0x312b    0x4f99
+0x312c    0x4f9a
+0x312d    0x4f9e
+0x312e    0x4f9f
+0x312f    0x4fb2
+0x3130    0x4fb7
+0x3131    0x4fb9
+0x3132    0x4fbb
+0x3133    0x4fbc
+0x3134    0x4fbd
+0x3135    0x4fbe
+0x3136    0x4fc0
+0x3137    0x4fc1
+0x3138    0x4fc5
+0x3139    0x4fc6
+0x313a    0x4fc8
+0x313b    0x4fc9
+0x313c    0x4fcb
+0x313d    0x4fcc
+0x313e    0x4fcd
+0x313f    0x4fcf
+0x3140    0x4fd2
+0x3141    0x4fdc
+0x3142    0x4fe0
+0x3143    0x4fe2
+0x3144    0x4ff0
+0x3145    0x4ff2
+0x3146    0x4ffc
+0x3147    0x4ffd
+0x3148    0x4fff
+0x3149    0x5000
+0x314a    0x5001
+0x314b    0x5004
+0x314c    0x5007
+0x314d    0x500a
+0x314e    0x500c
+0x314f    0x500e
+0x3150    0x5010
+0x3151    0x5013
+0x3152    0x5017
+0x3153    0x5018
+0x3154    0x501b
+0x3155    0x501c
+0x3156    0x501d
+0x3157    0x501e
+0x3158    0x5022
+0x3159    0x5027
+0x315a    0x502e
+0x315b    0x5030
+0x315c    0x5032
+0x315d    0x5033
+0x315e    0x5035
+0x315f    0x5040
+0x3160    0x5041
+0x3161    0x5042
+0x3162    0x5045
+0x3163    0x5046
+0x3164    0x504a
+0x3165    0x504c
+0x3166    0x504e
+0x3167    0x5051
+0x3168    0x5052
+0x3169    0x5053
+0x316a    0x5057
+0x316b    0x5059
+0x316c    0x505f
+0x316d    0x5060
+0x316e    0x5062
+0x316f    0x5063
+0x3170    0x5066
+0x3171    0x5067
+0x3172    0x506a
+0x3173    0x506d
+0x3174    0x5070
+0x3175    0x5071
+0x3176    0x503b
+0x3177    0x5081
+0x3178    0x5083
+0x3179    0x5084
+0x317a    0x5086
+0x317b    0x508a
+0x317c    0x508e
+0x317d    0x508f
+0x317e    0x5090
+0x3221    0x5092
+0x3222    0x5093
+0x3223    0x5094
+0x3224    0x5096
+0x3225    0x509b
+0x3226    0x509c
+0x3227    0x509e
+0x3228    0x509f
+0x3229    0x50a0
+0x322a    0x50a1
+0x322b    0x50a2
+0x322c    0x50aa
+0x322d    0x50af
+0x322e    0x50b0
+0x322f    0x50b9
+0x3230    0x50ba
+0x3231    0x50bd
+0x3232    0x50c0
+0x3233    0x50c3
+0x3234    0x50c4
+0x3235    0x50c7
+0x3236    0x50cc
+0x3237    0x50ce
+0x3238    0x50d0
+0x3239    0x50d3
+0x323a    0x50d4
+0x323b    0x50d8
+0x323c    0x50dc
+0x323d    0x50dd
+0x323e    0x50df
+0x323f    0x50e2
+0x3240    0x50e4
+0x3241    0x50e6
+0x3242    0x50e8
+0x3243    0x50e9
+0x3244    0x50ef
+0x3245    0x50f1
+0x3246    0x50f6
+0x3247    0x50fa
+0x3248    0x50fe
+0x3249    0x5103
+0x324a    0x5106
+0x324b    0x5107
+0x324c    0x5108
+0x324d    0x510b
+0x324e    0x510c
+0x324f    0x510d
+0x3250    0x510e
+0x3251    0x50f2
+0x3252    0x5110
+0x3253    0x5117
+0x3254    0x5119
+0x3255    0x511b
+0x3256    0x511c
+0x3257    0x511d
+0x3258    0x511e
+0x3259    0x5123
+0x325a    0x5127
+0x325b    0x5128
+0x325c    0x512c
+0x325d    0x512d
+0x325e    0x512f
+0x325f    0x5131
+0x3260    0x5133
+0x3261    0x5134
+0x3262    0x5135
+0x3263    0x5138
+0x3264    0x5139
+0x3265    0x5142
+0x3266    0x514a
+0x3267    0x514f
+0x3268    0x5153
+0x3269    0x5155
+0x326a    0x5157
+0x326b    0x5158
+0x326c    0x515f
+0x326d    0x5164
+0x326e    0x5166
+0x326f    0x517e
+0x3270    0x5183
+0x3271    0x5184
+0x3272    0x518b
+0x3273    0x518e
+0x3274    0x5198
+0x3275    0x519d
+0x3276    0x51a1
+0x3277    0x51a3
+0x3278    0x51ad
+0x3279    0x51b8
+0x327a    0x51ba
+0x327b    0x51bc
+0x327c    0x51be
+0x327d    0x51bf
+0x327e    0x51c2
+0x3321    0x51c8
+0x3322    0x51cf
+0x3323    0x51d1
+0x3324    0x51d2
+0x3325    0x51d3
+0x3326    0x51d5
+0x3327    0x51d8
+0x3328    0x51de
+0x3329    0x51e2
+0x332a    0x51e5
+0x332b    0x51ee
+0x332c    0x51f2
+0x332d    0x51f3
+0x332e    0x51f4
+0x332f    0x51f7
+0x3330    0x5201
+0x3331    0x5202
+0x3332    0x5205
+0x3333    0x5212
+0x3334    0x5213
+0x3335    0x5215
+0x3336    0x5216
+0x3337    0x5218
+0x3338    0x5222
+0x3339    0x5228
+0x333a    0x5231
+0x333b    0x5232
+0x333c    0x5235
+0x333d    0x523c
+0x333e    0x5245
+0x333f    0x5249
+0x3340    0x5255
+0x3341    0x5257
+0x3342    0x5258
+0x3343    0x525a
+0x3344    0x525c
+0x3345    0x525f
+0x3346    0x5260
+0x3347    0x5261
+0x3348    0x5266
+0x3349    0x526e
+0x334a    0x5277
+0x334b    0x5278
+0x334c    0x5279
+0x334d    0x5280
+0x334e    0x5282
+0x334f    0x5285
+0x3350    0x528a
+0x3351    0x528c
+0x3352    0x5293
+0x3353    0x5295
+0x3354    0x5296
+0x3355    0x5297
+0x3356    0x5298
+0x3357    0x529a
+0x3358    0x529c
+0x3359    0x52a4
+0x335a    0x52a5
+0x335b    0x52a6
+0x335c    0x52a7
+0x335d    0x52af
+0x335e    0x52b0
+0x335f    0x52b6
+0x3360    0x52b7
+0x3361    0x52b8
+0x3362    0x52ba
+0x3363    0x52bb
+0x3364    0x52bd
+0x3365    0x52c0
+0x3366    0x52c4
+0x3367    0x52c6
+0x3368    0x52c8
+0x3369    0x52cc
+0x336a    0x52cf
+0x336b    0x52d1
+0x336c    0x52d4
+0x336d    0x52d6
+0x336e    0x52db
+0x336f    0x52dc
+0x3370    0x52e1
+0x3371    0x52e5
+0x3372    0x52e8
+0x3373    0x52e9
+0x3374    0x52ea
+0x3375    0x52ec
+0x3376    0x52f0
+0x3377    0x52f1
+0x3378    0x52f4
+0x3379    0x52f6
+0x337a    0x52f7
+0x337b    0x5300
+0x337c    0x5303
+0x337d    0x530a
+0x337e    0x530b
+0x3421    0x530c
+0x3422    0x5311
+0x3423    0x5313
+0x3424    0x5318
+0x3425    0x531b
+0x3426    0x531c
+0x3427    0x531e
+0x3428    0x531f
+0x3429    0x5325
+0x342a    0x5327
+0x342b    0x5328
+0x342c    0x5329
+0x342d    0x532b
+0x342e    0x532c
+0x342f    0x532d
+0x3430    0x5330
+0x3431    0x5332
+0x3432    0x5335
+0x3433    0x533c
+0x3434    0x533d
+0x3435    0x533e
+0x3436    0x5342
+0x3437    0x534c
+0x3438    0x534b
+0x3439    0x5359
+0x343a    0x535b
+0x343b    0x5361
+0x343c    0x5363
+0x343d    0x5365
+0x343e    0x536c
+0x343f    0x536d
+0x3440    0x5372
+0x3441    0x5379
+0x3442    0x537e
+0x3443    0x5383
+0x3444    0x5387
+0x3445    0x5388
+0x3446    0x538e
+0x3447    0x5393
+0x3448    0x5394
+0x3449    0x5399
+0x344a    0x539d
+0x344b    0x53a1
+0x344c    0x53a4
+0x344d    0x53aa
+0x344e    0x53ab
+0x344f    0x53af
+0x3450    0x53b2
+0x3451    0x53b4
+0x3452    0x53b5
+0x3453    0x53b7
+0x3454    0x53b8
+0x3455    0x53ba
+0x3456    0x53bd
+0x3457    0x53c0
+0x3458    0x53c5
+0x3459    0x53cf
+0x345a    0x53d2
+0x345b    0x53d3
+0x345c    0x53d5
+0x345d    0x53da
+0x345e    0x53dd
+0x345f    0x53de
+0x3460    0x53e0
+0x3461    0x53e6
+0x3462    0x53e7
+0x3463    0x53f5
+0x3464    0x5402
+0x3465    0x5413
+0x3466    0x541a
+0x3467    0x5421
+0x3468    0x5427
+0x3469    0x5428
+0x346a    0x542a
+0x346b    0x542f
+0x346c    0x5431
+0x346d    0x5434
+0x346e    0x5435
+0x346f    0x5443
+0x3470    0x5444
+0x3471    0x5447
+0x3472    0x544d
+0x3473    0x544f
+0x3474    0x545e
+0x3475    0x5462
+0x3476    0x5464
+0x3477    0x5466
+0x3478    0x5467
+0x3479    0x5469
+0x347a    0x546b
+0x347b    0x546d
+0x347c    0x546e
+0x347d    0x5474
+0x347e    0x547f
+0x3521    0x5481
+0x3522    0x5483
+0x3523    0x5485
+0x3524    0x5488
+0x3525    0x5489
+0x3526    0x548d
+0x3527    0x5491
+0x3528    0x5495
+0x3529    0x5496
+0x352a    0x549c
+0x352b    0x549f
+0x352c    0x54a1
+0x352d    0x54a6
+0x352e    0x54a7
+0x352f    0x54a9
+0x3530    0x54aa
+0x3531    0x54ad
+0x3532    0x54ae
+0x3533    0x54b1
+0x3534    0x54b7
+0x3535    0x54b9
+0x3536    0x54ba
+0x3537    0x54bb
+0x3538    0x54bf
+0x3539    0x54c6
+0x353a    0x54ca
+0x353b    0x54cd
+0x353c    0x54ce
+0x353d    0x54e0
+0x353e    0x54ea
+0x353f    0x54ec
+0x3540    0x54ef
+0x3541    0x54f6
+0x3542    0x54fc
+0x3543    0x54fe
+0x3544    0x54ff
+0x3545    0x5500
+0x3546    0x5501
+0x3547    0x5505
+0x3548    0x5508
+0x3549    0x5509
+0x354a    0x550c
+0x354b    0x550d
+0x354c    0x550e
+0x354d    0x5515
+0x354e    0x552a
+0x354f    0x552b
+0x3550    0x5532
+0x3551    0x5535
+0x3552    0x5536
+0x3553    0x553b
+0x3554    0x553c
+0x3555    0x553d
+0x3556    0x5541
+0x3557    0x5547
+0x3558    0x5549
+0x3559    0x554a
+0x355a    0x554d
+0x355b    0x5550
+0x355c    0x5551
+0x355d    0x5558
+0x355e    0x555a
+0x355f    0x555b
+0x3560    0x555e
+0x3561    0x5560
+0x3562    0x5561
+0x3563    0x5564
+0x3564    0x5566
+0x3565    0x557f
+0x3566    0x5581
+0x3567    0x5582
+0x3568    0x5586
+0x3569    0x5588
+0x356a    0x558e
+0x356b    0x558f
+0x356c    0x5591
+0x356d    0x5592
+0x356e    0x5593
+0x356f    0x5594
+0x3570    0x5597
+0x3571    0x55a3
+0x3572    0x55a4
+0x3573    0x55ad
+0x3574    0x55b2
+0x3575    0x55bf
+0x3576    0x55c1
+0x3577    0x55c3
+0x3578    0x55c6
+0x3579    0x55c9
+0x357a    0x55cb
+0x357b    0x55cc
+0x357c    0x55ce
+0x357d    0x55d1
+0x357e    0x55d2
+0x3621    0x55d3
+0x3622    0x55d7
+0x3623    0x55d8
+0x3624    0x55db
+0x3625    0x55de
+0x3626    0x55e2
+0x3627    0x55e9
+0x3628    0x55f6
+0x3629    0x55ff
+0x362a    0x5605
+0x362b    0x5608
+0x362c    0x560a
+0x362d    0x560d
+0x362e    0x560e
+0x362f    0x560f
+0x3630    0x5610
+0x3631    0x5611
+0x3632    0x5612
+0x3633    0x5619
+0x3634    0x562c
+0x3635    0x5630
+0x3636    0x5633
+0x3637    0x5635
+0x3638    0x5637
+0x3639    0x5639
+0x363a    0x563b
+0x363b    0x563c
+0x363c    0x563d
+0x363d    0x563f
+0x363e    0x5640
+0x363f    0x5641
+0x3640    0x5643
+0x3641    0x5644
+0x3642    0x5646
+0x3643    0x5649
+0x3644    0x564b
+0x3645    0x564d
+0x3646    0x564f
+0x3647    0x5654
+0x3648    0x565e
+0x3649    0x5660
+0x364a    0x5661
+0x364b    0x5662
+0x364c    0x5663
+0x364d    0x5666
+0x364e    0x5669
+0x364f    0x566d
+0x3650    0x566f
+0x3651    0x5671
+0x3652    0x5672
+0x3653    0x5675
+0x3654    0x5684
+0x3655    0x5685
+0x3656    0x5688
+0x3657    0x568b
+0x3658    0x568c
+0x3659    0x5695
+0x365a    0x5699
+0x365b    0x569a
+0x365c    0x569d
+0x365d    0x569e
+0x365e    0x569f
+0x365f    0x56a6
+0x3660    0x56a7
+0x3661    0x56a8
+0x3662    0x56a9
+0x3663    0x56ab
+0x3664    0x56ac
+0x3665    0x56ad
+0x3666    0x56b1
+0x3667    0x56b3
+0x3668    0x56b7
+0x3669    0x56be
+0x366a    0x56c5
+0x366b    0x56c9
+0x366c    0x56ca
+0x366d    0x56cb
+0x366e    0x56cf
+0x366f    0x56d0
+0x3670    0x56cc
+0x3671    0x56cd
+0x3672    0x56d9
+0x3673    0x56dc
+0x3674    0x56dd
+0x3675    0x56df
+0x3676    0x56e1
+0x3677    0x56e4
+0x3678    0x56e5
+0x3679    0x56e6
+0x367a    0x56e7
+0x367b    0x56e8
+0x367c    0x56f1
+0x367d    0x56eb
+0x367e    0x56ed
+0x3721    0x56f6
+0x3722    0x56f7
+0x3723    0x5701
+0x3724    0x5702
+0x3725    0x5707
+0x3726    0x570a
+0x3727    0x570c
+0x3728    0x5711
+0x3729    0x5715
+0x372a    0x571a
+0x372b    0x571b
+0x372c    0x571d
+0x372d    0x5720
+0x372e    0x5722
+0x372f    0x5723
+0x3730    0x5724
+0x3731    0x5725
+0x3732    0x5729
+0x3733    0x572a
+0x3734    0x572c
+0x3735    0x572e
+0x3736    0x572f
+0x3737    0x5733
+0x3738    0x5734
+0x3739    0x573d
+0x373a    0x573e
+0x373b    0x573f
+0x373c    0x5745
+0x373d    0x5746
+0x373e    0x574c
+0x373f    0x574d
+0x3740    0x5752
+0x3741    0x5762
+0x3742    0x5765
+0x3743    0x5767
+0x3744    0x5768
+0x3745    0x576b
+0x3746    0x576d
+0x3747    0x576e
+0x3748    0x576f
+0x3749    0x5770
+0x374a    0x5771
+0x374b    0x5773
+0x374c    0x5774
+0x374d    0x5775
+0x374e    0x5777
+0x374f    0x5779
+0x3750    0x577a
+0x3751    0x577b
+0x3752    0x577c
+0x3753    0x577e
+0x3754    0x5781
+0x3755    0x5783
+0x3756    0x578c
+0x3757    0x5794
+0x3758    0x5797
+0x3759    0x5799
+0x375a    0x579a
+0x375b    0x579c
+0x375c    0x579d
+0x375d    0x579e
+0x375e    0x579f
+0x375f    0x57a1
+0x3760    0x5795
+0x3761    0x57a7
+0x3762    0x57a8
+0x3763    0x57a9
+0x3764    0x57ac
+0x3765    0x57b8
+0x3766    0x57bd
+0x3767    0x57c7
+0x3768    0x57c8
+0x3769    0x57cc
+0x376a    0x57cf
+0x376b    0x57d5
+0x376c    0x57dd
+0x376d    0x57de
+0x376e    0x57e4
+0x376f    0x57e6
+0x3770    0x57e7
+0x3771    0x57e9
+0x3772    0x57ed
+0x3773    0x57f0
+0x3774    0x57f5
+0x3775    0x57f6
+0x3776    0x57f8
+0x3777    0x57fd
+0x3778    0x57fe
+0x3779    0x57ff
+0x377a    0x5803
+0x377b    0x5804
+0x377c    0x5808
+0x377d    0x5809
+0x377e    0x57e1
+0x3821    0x580c
+0x3822    0x580d
+0x3823    0x581b
+0x3824    0x581e
+0x3825    0x581f
+0x3826    0x5820
+0x3827    0x5826
+0x3828    0x5827
+0x3829    0x582d
+0x382a    0x5832
+0x382b    0x5839
+0x382c    0x583f
+0x382d    0x5849
+0x382e    0x584c
+0x382f    0x584d
+0x3830    0x584f
+0x3831    0x5850
+0x3832    0x5855
+0x3833    0x585f
+0x3834    0x5861
+0x3835    0x5864
+0x3836    0x5867
+0x3837    0x5868
+0x3838    0x5878
+0x3839    0x587c
+0x383a    0x587f
+0x383b    0x5880
+0x383c    0x5881
+0x383d    0x5887
+0x383e    0x5888
+0x383f    0x5889
+0x3840    0x588a
+0x3841    0x588c
+0x3842    0x588d
+0x3843    0x588f
+0x3844    0x5890
+0x3845    0x5894
+0x3846    0x5896
+0x3847    0x589d
+0x3848    0x58a0
+0x3849    0x58a1
+0x384a    0x58a2
+0x384b    0x58a6
+0x384c    0x58a9
+0x384d    0x58b1
+0x384e    0x58b2
+0x384f    0x58c4
+0x3850    0x58bc
+0x3851    0x58c2
+0x3852    0x58c8
+0x3853    0x58cd
+0x3854    0x58ce
+0x3855    0x58d0
+0x3856    0x58d2
+0x3857    0x58d4
+0x3858    0x58d6
+0x3859    0x58da
+0x385a    0x58dd
+0x385b    0x58e1
+0x385c    0x58e2
+0x385d    0x58e9
+0x385e    0x58f3
+0x385f    0x5905
+0x3860    0x5906
+0x3861    0x590b
+0x3862    0x590c
+0x3863    0x5912
+0x3864    0x5913
+0x3865    0x5914
+0x3866    0x8641
+0x3867    0x591d
+0x3868    0x5921
+0x3869    0x5923
+0x386a    0x5924
+0x386b    0x5928
+0x386c    0x592f
+0x386d    0x5930
+0x386e    0x5933
+0x386f    0x5935
+0x3870    0x5936
+0x3871    0x593f
+0x3872    0x5943
+0x3873    0x5946
+0x3874    0x5952
+0x3875    0x5953
+0x3876    0x5959
+0x3877    0x595b
+0x3878    0x595d
+0x3879    0x595e
+0x387a    0x595f
+0x387b    0x5961
+0x387c    0x5963
+0x387d    0x596b
+0x387e    0x596d
+0x3921    0x596f
+0x3922    0x5972
+0x3923    0x5975
+0x3924    0x5976
+0x3925    0x5979
+0x3926    0x597b
+0x3927    0x597c
+0x3928    0x598b
+0x3929    0x598c
+0x392a    0x598e
+0x392b    0x5992
+0x392c    0x5995
+0x392d    0x5997
+0x392e    0x599f
+0x392f    0x59a4
+0x3930    0x59a7
+0x3931    0x59ad
+0x3932    0x59ae
+0x3933    0x59af
+0x3934    0x59b0
+0x3935    0x59b3
+0x3936    0x59b7
+0x3937    0x59ba
+0x3938    0x59bc
+0x3939    0x59c1
+0x393a    0x59c3
+0x393b    0x59c4
+0x393c    0x59c8
+0x393d    0x59ca
+0x393e    0x59cd
+0x393f    0x59d2
+0x3940    0x59dd
+0x3941    0x59de
+0x3942    0x59df
+0x3943    0x59e3
+0x3944    0x59e4
+0x3945    0x59e7
+0x3946    0x59ee
+0x3947    0x59ef
+0x3948    0x59f1
+0x3949    0x59f2
+0x394a    0x59f4
+0x394b    0x59f7
+0x394c    0x5a00
+0x394d    0x5a04
+0x394e    0x5a0c
+0x394f    0x5a0d
+0x3950    0x5a0e
+0x3951    0x5a12
+0x3952    0x5a13
+0x3953    0x5a1e
+0x3954    0x5a23
+0x3955    0x5a24
+0x3956    0x5a27
+0x3957    0x5a28
+0x3958    0x5a2a
+0x3959    0x5a2d
+0x395a    0x5a30
+0x395b    0x5a44
+0x395c    0x5a45
+0x395d    0x5a47
+0x395e    0x5a48
+0x395f    0x5a4c
+0x3960    0x5a50
+0x3961    0x5a55
+0x3962    0x5a5e
+0x3963    0x5a63
+0x3964    0x5a65
+0x3965    0x5a67
+0x3966    0x5a6d
+0x3967    0x5a77
+0x3968    0x5a7a
+0x3969    0x5a7b
+0x396a    0x5a7e
+0x396b    0x5a8b
+0x396c    0x5a90
+0x396d    0x5a93
+0x396e    0x5a96
+0x396f    0x5a99
+0x3970    0x5a9c
+0x3971    0x5a9e
+0x3972    0x5a9f
+0x3973    0x5aa0
+0x3974    0x5aa2
+0x3975    0x5aa7
+0x3976    0x5aac
+0x3977    0x5ab1
+0x3978    0x5ab2
+0x3979    0x5ab3
+0x397a    0x5ab5
+0x397b    0x5ab8
+0x397c    0x5aba
+0x397d    0x5abb
+0x397e    0x5abf
+0x3a21    0x5ac4
+0x3a22    0x5ac6
+0x3a23    0x5ac8
+0x3a24    0x5acf
+0x3a25    0x5ada
+0x3a26    0x5adc
+0x3a27    0x5ae0
+0x3a28    0x5ae5
+0x3a29    0x5aea
+0x3a2a    0x5aee
+0x3a2b    0x5af5
+0x3a2c    0x5af6
+0x3a2d    0x5afd
+0x3a2e    0x5b00
+0x3a2f    0x5b01
+0x3a30    0x5b08
+0x3a31    0x5b17
+0x3a32    0x5b34
+0x3a33    0x5b19
+0x3a34    0x5b1b
+0x3a35    0x5b1d
+0x3a36    0x5b21
+0x3a37    0x5b25
+0x3a38    0x5b2d
+0x3a39    0x5b38
+0x3a3a    0x5b41
+0x3a3b    0x5b4b
+0x3a3c    0x5b4c
+0x3a3d    0x5b52
+0x3a3e    0x5b56
+0x3a3f    0x5b5e
+0x3a40    0x5b68
+0x3a41    0x5b6e
+0x3a42    0x5b6f
+0x3a43    0x5b7c
+0x3a44    0x5b7d
+0x3a45    0x5b7e
+0x3a46    0x5b7f
+0x3a47    0x5b81
+0x3a48    0x5b84
+0x3a49    0x5b86
+0x3a4a    0x5b8a
+0x3a4b    0x5b8e
+0x3a4c    0x5b90
+0x3a4d    0x5b91
+0x3a4e    0x5b93
+0x3a4f    0x5b94
+0x3a50    0x5b96
+0x3a51    0x5ba8
+0x3a52    0x5ba9
+0x3a53    0x5bac
+0x3a54    0x5bad
+0x3a55    0x5baf
+0x3a56    0x5bb1
+0x3a57    0x5bb2
+0x3a58    0x5bb7
+0x3a59    0x5bba
+0x3a5a    0x5bbc
+0x3a5b    0x5bc0
+0x3a5c    0x5bc1
+0x3a5d    0x5bcd
+0x3a5e    0x5bcf
+0x3a5f    0x5bd6
+0x3a60    0x5bd7
+0x3a61    0x5bd8
+0x3a62    0x5bd9
+0x3a63    0x5bda
+0x3a64    0x5be0
+0x3a65    0x5bef
+0x3a66    0x5bf1
+0x3a67    0x5bf4
+0x3a68    0x5bfd
+0x3a69    0x5c0c
+0x3a6a    0x5c17
+0x3a6b    0x5c1e
+0x3a6c    0x5c1f
+0x3a6d    0x5c23
+0x3a6e    0x5c26
+0x3a6f    0x5c29
+0x3a70    0x5c2b
+0x3a71    0x5c2c
+0x3a72    0x5c2e
+0x3a73    0x5c30
+0x3a74    0x5c32
+0x3a75    0x5c35
+0x3a76    0x5c36
+0x3a77    0x5c59
+0x3a78    0x5c5a
+0x3a79    0x5c5c
+0x3a7a    0x5c62
+0x3a7b    0x5c63
+0x3a7c    0x5c67
+0x3a7d    0x5c68
+0x3a7e    0x5c69
+0x3b21    0x5c6d
+0x3b22    0x5c70
+0x3b23    0x5c74
+0x3b24    0x5c75
+0x3b25    0x5c7a
+0x3b26    0x5c7b
+0x3b27    0x5c7c
+0x3b28    0x5c7d
+0x3b29    0x5c87
+0x3b2a    0x5c88
+0x3b2b    0x5c8a
+0x3b2c    0x5c8f
+0x3b2d    0x5c92
+0x3b2e    0x5c9d
+0x3b2f    0x5c9f
+0x3b30    0x5ca0
+0x3b31    0x5ca2
+0x3b32    0x5ca3
+0x3b33    0x5ca6
+0x3b34    0x5caa
+0x3b35    0x5cb2
+0x3b36    0x5cb4
+0x3b37    0x5cb5
+0x3b38    0x5cba
+0x3b39    0x5cc9
+0x3b3a    0x5ccb
+0x3b3b    0x5cd2
+0x3b3c    0x5cdd
+0x3b3d    0x5cd7
+0x3b3e    0x5cee
+0x3b3f    0x5cf1
+0x3b40    0x5cf2
+0x3b41    0x5cf4
+0x3b42    0x5d01
+0x3b43    0x5d06
+0x3b44    0x5d0d
+0x3b45    0x5d12
+0x3b46    0x5d2b
+0x3b47    0x5d23
+0x3b48    0x5d24
+0x3b49    0x5d26
+0x3b4a    0x5d27
+0x3b4b    0x5d31
+0x3b4c    0x5d34
+0x3b4d    0x5d39
+0x3b4e    0x5d3d
+0x3b4f    0x5d3f
+0x3b50    0x5d42
+0x3b51    0x5d43
+0x3b52    0x5d46
+0x3b53    0x5d48
+0x3b54    0x5d55
+0x3b55    0x5d51
+0x3b56    0x5d59
+0x3b57    0x5d4a
+0x3b58    0x5d5f
+0x3b59    0x5d60
+0x3b5a    0x5d61
+0x3b5b    0x5d62
+0x3b5c    0x5d64
+0x3b5d    0x5d6a
+0x3b5e    0x5d6d
+0x3b5f    0x5d70
+0x3b60    0x5d79
+0x3b61    0x5d7a
+0x3b62    0x5d7e
+0x3b63    0x5d7f
+0x3b64    0x5d81
+0x3b65    0x5d83
+0x3b66    0x5d88
+0x3b67    0x5d8a
+0x3b68    0x5d92
+0x3b69    0x5d93
+0x3b6a    0x5d94
+0x3b6b    0x5d95
+0x3b6c    0x5d99
+0x3b6d    0x5d9b
+0x3b6e    0x5d9f
+0x3b6f    0x5da0
+0x3b70    0x5da7
+0x3b71    0x5dab
+0x3b72    0x5db0
+0x3b73    0x5db4
+0x3b74    0x5db8
+0x3b75    0x5db9
+0x3b76    0x5dc3
+0x3b77    0x5dc7
+0x3b78    0x5dcb
+0x3b79    0x5dd0
+0x3b7a    0x5dce
+0x3b7b    0x5dd8
+0x3b7c    0x5dd9
+0x3b7d    0x5de0
+0x3b7e    0x5de4
+0x3c21    0x5de9
+0x3c22    0x5df8
+0x3c23    0x5df9
+0x3c24    0x5e00
+0x3c25    0x5e07
+0x3c26    0x5e0d
+0x3c27    0x5e12
+0x3c28    0x5e14
+0x3c29    0x5e15
+0x3c2a    0x5e18
+0x3c2b    0x5e1f
+0x3c2c    0x5e20
+0x3c2d    0x5e2e
+0x3c2e    0x5e28
+0x3c2f    0x5e32
+0x3c30    0x5e35
+0x3c31    0x5e3e
+0x3c32    0x5e4b
+0x3c33    0x5e50
+0x3c34    0x5e49
+0x3c35    0x5e51
+0x3c36    0x5e56
+0x3c37    0x5e58
+0x3c38    0x5e5b
+0x3c39    0x5e5c
+0x3c3a    0x5e5e
+0x3c3b    0x5e68
+0x3c3c    0x5e6a
+0x3c3d    0x5e6b
+0x3c3e    0x5e6c
+0x3c3f    0x5e6d
+0x3c40    0x5e6e
+0x3c41    0x5e70
+0x3c42    0x5e80
+0x3c43    0x5e8b
+0x3c44    0x5e8e
+0x3c45    0x5ea2
+0x3c46    0x5ea4
+0x3c47    0x5ea5
+0x3c48    0x5ea8
+0x3c49    0x5eaa
+0x3c4a    0x5eac
+0x3c4b    0x5eb1
+0x3c4c    0x5eb3
+0x3c4d    0x5ebd
+0x3c4e    0x5ebe
+0x3c4f    0x5ebf
+0x3c50    0x5ec6
+0x3c51    0x5ecc
+0x3c52    0x5ecb
+0x3c53    0x5ece
+0x3c54    0x5ed1
+0x3c55    0x5ed2
+0x3c56    0x5ed4
+0x3c57    0x5ed5
+0x3c58    0x5edc
+0x3c59    0x5ede
+0x3c5a    0x5ee5
+0x3c5b    0x5eeb
+0x3c5c    0x5f02
+0x3c5d    0x5f06
+0x3c5e    0x5f07
+0x3c5f    0x5f08
+0x3c60    0x5f0e
+0x3c61    0x5f19
+0x3c62    0x5f1c
+0x3c63    0x5f1d
+0x3c64    0x5f21
+0x3c65    0x5f22
+0x3c66    0x5f23
+0x3c67    0x5f24
+0x3c68    0x5f28
+0x3c69    0x5f2b
+0x3c6a    0x5f2c
+0x3c6b    0x5f2e
+0x3c6c    0x5f30
+0x3c6d    0x5f34
+0x3c6e    0x5f36
+0x3c6f    0x5f3b
+0x3c70    0x5f3d
+0x3c71    0x5f3f
+0x3c72    0x5f40
+0x3c73    0x5f44
+0x3c74    0x5f45
+0x3c75    0x5f47
+0x3c76    0x5f4d
+0x3c77    0x5f50
+0x3c78    0x5f54
+0x3c79    0x5f58
+0x3c7a    0x5f5b
+0x3c7b    0x5f60
+0x3c7c    0x5f63
+0x3c7d    0x5f64
+0x3c7e    0x5f67
+0x3d21    0x5f6f
+0x3d22    0x5f72
+0x3d23    0x5f74
+0x3d24    0x5f75
+0x3d25    0x5f78
+0x3d26    0x5f7a
+0x3d27    0x5f7d
+0x3d28    0x5f7e
+0x3d29    0x5f89
+0x3d2a    0x5f8d
+0x3d2b    0x5f8f
+0x3d2c    0x5f96
+0x3d2d    0x5f9c
+0x3d2e    0x5f9d
+0x3d2f    0x5fa2
+0x3d30    0x5fa7
+0x3d31    0x5fab
+0x3d32    0x5fa4
+0x3d33    0x5fac
+0x3d34    0x5faf
+0x3d35    0x5fb0
+0x3d36    0x5fb1
+0x3d37    0x5fb8
+0x3d38    0x5fc4
+0x3d39    0x5fc7
+0x3d3a    0x5fc8
+0x3d3b    0x5fc9
+0x3d3c    0x5fcb
+0x3d3d    0x5fd0
+0x3d3e    0x5fd1
+0x3d3f    0x5fd2
+0x3d40    0x5fd3
+0x3d41    0x5fd4
+0x3d42    0x5fde
+0x3d43    0x5fe1
+0x3d44    0x5fe2
+0x3d45    0x5fe8
+0x3d46    0x5fe9
+0x3d47    0x5fea
+0x3d48    0x5fec
+0x3d49    0x5fed
+0x3d4a    0x5fee
+0x3d4b    0x5fef
+0x3d4c    0x5ff2
+0x3d4d    0x5ff3
+0x3d4e    0x5ff6
+0x3d4f    0x5ffa
+0x3d50    0x5ffc
+0x3d51    0x6007
+0x3d52    0x600a
+0x3d53    0x600d
+0x3d54    0x6013
+0x3d55    0x6014
+0x3d56    0x6017
+0x3d57    0x6018
+0x3d58    0x601a
+0x3d59    0x601f
+0x3d5a    0x6024
+0x3d5b    0x602d
+0x3d5c    0x6033
+0x3d5d    0x6035
+0x3d5e    0x6040
+0x3d5f    0x6047
+0x3d60    0x6048
+0x3d61    0x6049
+0x3d62    0x604c
+0x3d63    0x6051
+0x3d64    0x6054
+0x3d65    0x6056
+0x3d66    0x6057
+0x3d67    0x605d
+0x3d68    0x6061
+0x3d69    0x6067
+0x3d6a    0x6071
+0x3d6b    0x607e
+0x3d6c    0x607f
+0x3d6d    0x6082
+0x3d6e    0x6086
+0x3d6f    0x6088
+0x3d70    0x608a
+0x3d71    0x608e
+0x3d72    0x6091
+0x3d73    0x6093
+0x3d74    0x6095
+0x3d75    0x6098
+0x3d76    0x609d
+0x3d77    0x609e
+0x3d78    0x60a2
+0x3d79    0x60a4
+0x3d7a    0x60a5
+0x3d7b    0x60a8
+0x3d7c    0x60b0
+0x3d7d    0x60b1
+0x3d7e    0x60b7
+0x3e21    0x60bb
+0x3e22    0x60be
+0x3e23    0x60c2
+0x3e24    0x60c4
+0x3e25    0x60c8
+0x3e26    0x60c9
+0x3e27    0x60ca
+0x3e28    0x60cb
+0x3e29    0x60ce
+0x3e2a    0x60cf
+0x3e2b    0x60d4
+0x3e2c    0x60d5
+0x3e2d    0x60d9
+0x3e2e    0x60db
+0x3e2f    0x60dd
+0x3e30    0x60de
+0x3e31    0x60e2
+0x3e32    0x60e5
+0x3e33    0x60f2
+0x3e34    0x60f5
+0x3e35    0x60f8
+0x3e36    0x60fc
+0x3e37    0x60fd
+0x3e38    0x6102
+0x3e39    0x6107
+0x3e3a    0x610a
+0x3e3b    0x610c
+0x3e3c    0x6110
+0x3e3d    0x6111
+0x3e3e    0x6112
+0x3e3f    0x6113
+0x3e40    0x6114
+0x3e41    0x6116
+0x3e42    0x6117
+0x3e43    0x6119
+0x3e44    0x611c
+0x3e45    0x611e
+0x3e46    0x6122
+0x3e47    0x612a
+0x3e48    0x612b
+0x3e49    0x6130
+0x3e4a    0x6131
+0x3e4b    0x6135
+0x3e4c    0x6136
+0x3e4d    0x6137
+0x3e4e    0x6139
+0x3e4f    0x6141
+0x3e50    0x6145
+0x3e51    0x6146
+0x3e52    0x6149
+0x3e53    0x615e
+0x3e54    0x6160
+0x3e55    0x616c
+0x3e56    0x6172
+0x3e57    0x6178
+0x3e58    0x617b
+0x3e59    0x617c
+0x3e5a    0x617f
+0x3e5b    0x6180
+0x3e5c    0x6181
+0x3e5d    0x6183
+0x3e5e    0x6184
+0x3e5f    0x618b
+0x3e60    0x618d
+0x3e61    0x6192
+0x3e62    0x6193
+0x3e63    0x6197
+0x3e64    0x6198
+0x3e65    0x619c
+0x3e66    0x619d
+0x3e67    0x619f
+0x3e68    0x61a0
+0x3e69    0x61a5
+0x3e6a    0x61a8
+0x3e6b    0x61aa
+0x3e6c    0x61ad
+0x3e6d    0x61b8
+0x3e6e    0x61b9
+0x3e6f    0x61bc
+0x3e70    0x61c0
+0x3e71    0x61c1
+0x3e72    0x61c2
+0x3e73    0x61ce
+0x3e74    0x61cf
+0x3e75    0x61d5
+0x3e76    0x61dc
+0x3e77    0x61dd
+0x3e78    0x61de
+0x3e79    0x61df
+0x3e7a    0x61e1
+0x3e7b    0x61e2
+0x3e7c    0x61e7
+0x3e7d    0x61e9
+0x3e7e    0x61e5
+0x3f21    0x61ec
+0x3f22    0x61ed
+0x3f23    0x61ef
+0x3f24    0x6201
+0x3f25    0x6203
+0x3f26    0x6204
+0x3f27    0x6207
+0x3f28    0x6213
+0x3f29    0x6215
+0x3f2a    0x621c
+0x3f2b    0x6220
+0x3f2c    0x6222
+0x3f2d    0x6223
+0x3f2e    0x6227
+0x3f2f    0x6229
+0x3f30    0x622b
+0x3f31    0x6239
+0x3f32    0x623d
+0x3f33    0x6242
+0x3f34    0x6243
+0x3f35    0x6244
+0x3f36    0x6246
+0x3f37    0x624c
+0x3f38    0x6250
+0x3f39    0x6251
+0x3f3a    0x6252
+0x3f3b    0x6254
+0x3f3c    0x6256
+0x3f3d    0x625a
+0x3f3e    0x625c
+0x3f3f    0x6264
+0x3f40    0x626d
+0x3f41    0x626f
+0x3f42    0x6273
+0x3f43    0x627a
+0x3f44    0x627d
+0x3f45    0x628d
+0x3f46    0x628e
+0x3f47    0x628f
+0x3f48    0x6290
+0x3f49    0x62a6
+0x3f4a    0x62a8
+0x3f4b    0x62b3
+0x3f4c    0x62b6
+0x3f4d    0x62b7
+0x3f4e    0x62ba
+0x3f4f    0x62be
+0x3f50    0x62bf
+0x3f51    0x62c4
+0x3f52    0x62ce
+0x3f53    0x62d5
+0x3f54    0x62d6
+0x3f55    0x62da
+0x3f56    0x62ea
+0x3f57    0x62f2
+0x3f58    0x62f4
+0x3f59    0x62fc
+0x3f5a    0x62fd
+0x3f5b    0x6303
+0x3f5c    0x6304
+0x3f5d    0x630a
+0x3f5e    0x630b
+0x3f5f    0x630d
+0x3f60    0x6310
+0x3f61    0x6313
+0x3f62    0x6316
+0x3f63    0x6318
+0x3f64    0x6329
+0x3f65    0x632a
+0x3f66    0x632d
+0x3f67    0x6335
+0x3f68    0x6336
+0x3f69    0x6339
+0x3f6a    0x633c
+0x3f6b    0x6341
+0x3f6c    0x6342
+0x3f6d    0x6343
+0x3f6e    0x6344
+0x3f6f    0x6346
+0x3f70    0x634a
+0x3f71    0x634b
+0x3f72    0x634e
+0x3f73    0x6352
+0x3f74    0x6353
+0x3f75    0x6354
+0x3f76    0x6358
+0x3f77    0x635b
+0x3f78    0x6365
+0x3f79    0x6366
+0x3f7a    0x636c
+0x3f7b    0x636d
+0x3f7c    0x6371
+0x3f7d    0x6374
+0x3f7e    0x6375
+0x4021    0x6378
+0x4022    0x637c
+0x4023    0x637d
+0x4024    0x637f
+0x4025    0x6382
+0x4026    0x6384
+0x4027    0x6387
+0x4028    0x638a
+0x4029    0x6390
+0x402a    0x6394
+0x402b    0x6395
+0x402c    0x6399
+0x402d    0x639a
+0x402e    0x639e
+0x402f    0x63a4
+0x4030    0x63a6
+0x4031    0x63ad
+0x4032    0x63ae
+0x4033    0x63af
+0x4034    0x63bd
+0x4035    0x63c1
+0x4036    0x63c5
+0x4037    0x63c8
+0x4038    0x63ce
+0x4039    0x63d1
+0x403a    0x63d3
+0x403b    0x63d4
+0x403c    0x63d5
+0x403d    0x63dc
+0x403e    0x63e0
+0x403f    0x63e5
+0x4040    0x63ea
+0x4041    0x63ec
+0x4042    0x63f2
+0x4043    0x63f3
+0x4044    0x63f5
+0x4045    0x63f8
+0x4046    0x63f9
+0x4047    0x6409
+0x4048    0x640a
+0x4049    0x6410
+0x404a    0x6412
+0x404b    0x6414
+0x404c    0x6418
+0x404d    0x641e
+0x404e    0x6420
+0x404f    0x6422
+0x4050    0x6424
+0x4051    0x6425
+0x4052    0x6429
+0x4053    0x642a
+0x4054    0x642f
+0x4055    0x6430
+0x4056    0x6435
+0x4057    0x643d
+0x4058    0x643f
+0x4059    0x644b
+0x405a    0x644f
+0x405b    0x6451
+0x405c    0x6452
+0x405d    0x6453
+0x405e    0x6454
+0x405f    0x645a
+0x4060    0x645b
+0x4061    0x645c
+0x4062    0x645d
+0x4063    0x645f
+0x4064    0x6460
+0x4065    0x6461
+0x4066    0x6463
+0x4067    0x646d
+0x4068    0x6473
+0x4069    0x6474
+0x406a    0x647b
+0x406b    0x647d
+0x406c    0x6485
+0x406d    0x6487
+0x406e    0x648f
+0x406f    0x6490
+0x4070    0x6491
+0x4071    0x6498
+0x4072    0x6499
+0x4073    0x649b
+0x4074    0x649d
+0x4075    0x649f
+0x4076    0x64a1
+0x4077    0x64a3
+0x4078    0x64a6
+0x4079    0x64a8
+0x407a    0x64ac
+0x407b    0x64b3
+0x407c    0x64bd
+0x407d    0x64be
+0x407e    0x64bf
+0x4121    0x64c4
+0x4122    0x64c9
+0x4123    0x64ca
+0x4124    0x64cb
+0x4125    0x64cc
+0x4126    0x64ce
+0x4127    0x64d0
+0x4128    0x64d1
+0x4129    0x64d5
+0x412a    0x64d7
+0x412b    0x64e4
+0x412c    0x64e5
+0x412d    0x64e9
+0x412e    0x64ea
+0x412f    0x64ed
+0x4130    0x64f0
+0x4131    0x64f5
+0x4132    0x64f7
+0x4133    0x64fb
+0x4134    0x64ff
+0x4135    0x6501
+0x4136    0x6504
+0x4137    0x6508
+0x4138    0x6509
+0x4139    0x650a
+0x413a    0x650f
+0x413b    0x6513
+0x413c    0x6514
+0x413d    0x6516
+0x413e    0x6519
+0x413f    0x651b
+0x4140    0x651e
+0x4141    0x651f
+0x4142    0x6522
+0x4143    0x6526
+0x4144    0x6529
+0x4145    0x652e
+0x4146    0x6531
+0x4147    0x653a
+0x4148    0x653c
+0x4149    0x653d
+0x414a    0x6543
+0x414b    0x6547
+0x414c    0x6549
+0x414d    0x6550
+0x414e    0x6552
+0x414f    0x6554
+0x4150    0x655f
+0x4151    0x6560
+0x4152    0x6567
+0x4153    0x656b
+0x4154    0x657a
+0x4155    0x657d
+0x4156    0x6581
+0x4157    0x6585
+0x4158    0x658a
+0x4159    0x6592
+0x415a    0x6595
+0x415b    0x6598
+0x415c    0x659d
+0x415d    0x65a0
+0x415e    0x65a3
+0x415f    0x65a6
+0x4160    0x65ae
+0x4161    0x65b2
+0x4162    0x65b3
+0x4163    0x65b4
+0x4164    0x65bf
+0x4165    0x65c2
+0x4166    0x65c8
+0x4167    0x65c9
+0x4168    0x65ce
+0x4169    0x65d0
+0x416a    0x65d4
+0x416b    0x65d6
+0x416c    0x65d8
+0x416d    0x65df
+0x416e    0x65f0
+0x416f    0x65f2
+0x4170    0x65f4
+0x4171    0x65f5
+0x4172    0x65f9
+0x4173    0x65fe
+0x4174    0x65ff
+0x4175    0x6600
+0x4176    0x6604
+0x4177    0x6608
+0x4178    0x6609
+0x4179    0x660d
+0x417a    0x6611
+0x417b    0x6612
+0x417c    0x6615
+0x417d    0x6616
+0x417e    0x661d
+0x4221    0x661e
+0x4222    0x6621
+0x4223    0x6622
+0x4224    0x6623
+0x4225    0x6624
+0x4226    0x6626
+0x4227    0x6629
+0x4228    0x662a
+0x4229    0x662b
+0x422a    0x662c
+0x422b    0x662e
+0x422c    0x6630
+0x422d    0x6631
+0x422e    0x6633
+0x422f    0x6639
+0x4230    0x6637
+0x4231    0x6640
+0x4232    0x6645
+0x4233    0x6646
+0x4234    0x664a
+0x4235    0x664c
+0x4236    0x6651
+0x4237    0x664e
+0x4238    0x6657
+0x4239    0x6658
+0x423a    0x6659
+0x423b    0x665b
+0x423c    0x665c
+0x423d    0x6660
+0x423e    0x6661
+0x423f    0x66fb
+0x4240    0x666a
+0x4241    0x666b
+0x4242    0x666c
+0x4243    0x667e
+0x4244    0x6673
+0x4245    0x6675
+0x4246    0x667f
+0x4247    0x6677
+0x4248    0x6678
+0x4249    0x6679
+0x424a    0x667b
+0x424b    0x6680
+0x424c    0x667c
+0x424d    0x668b
+0x424e    0x668c
+0x424f    0x668d
+0x4250    0x6690
+0x4251    0x6692
+0x4252    0x6699
+0x4253    0x669a
+0x4254    0x669b
+0x4255    0x669c
+0x4256    0x669f
+0x4257    0x66a0
+0x4258    0x66a4
+0x4259    0x66ad
+0x425a    0x66b1
+0x425b    0x66b2
+0x425c    0x66b5
+0x425d    0x66bb
+0x425e    0x66bf
+0x425f    0x66c0
+0x4260    0x66c2
+0x4261    0x66c3
+0x4262    0x66c8
+0x4263    0x66cc
+0x4264    0x66ce
+0x4265    0x66cf
+0x4266    0x66d4
+0x4267    0x66db
+0x4268    0x66df
+0x4269    0x66e8
+0x426a    0x66eb
+0x426b    0x66ec
+0x426c    0x66ee
+0x426d    0x66fa
+0x426e    0x6705
+0x426f    0x6707
+0x4270    0x670e
+0x4271    0x6713
+0x4272    0x6719
+0x4273    0x671c
+0x4274    0x6720
+0x4275    0x6722
+0x4276    0x6733
+0x4277    0x673e
+0x4278    0x6745
+0x4279    0x6747
+0x427a    0x6748
+0x427b    0x674c
+0x427c    0x6754
+0x427d    0x6755
+0x427e    0x675d
+0x4321    0x6766
+0x4322    0x676c
+0x4323    0x676e
+0x4324    0x6774
+0x4325    0x6776
+0x4326    0x677b
+0x4327    0x6781
+0x4328    0x6784
+0x4329    0x678e
+0x432a    0x678f
+0x432b    0x6791
+0x432c    0x6793
+0x432d    0x6796
+0x432e    0x6798
+0x432f    0x6799
+0x4330    0x679b
+0x4331    0x67b0
+0x4332    0x67b1
+0x4333    0x67b2
+0x4334    0x67b5
+0x4335    0x67bb
+0x4336    0x67bc
+0x4337    0x67bd
+0x4338    0x67f9
+0x4339    0x67c0
+0x433a    0x67c2
+0x433b    0x67c3
+0x433c    0x67c5
+0x433d    0x67c8
+0x433e    0x67c9
+0x433f    0x67d2
+0x4340    0x67d7
+0x4341    0x67d9
+0x4342    0x67dc
+0x4343    0x67e1
+0x4344    0x67e6
+0x4345    0x67f0
+0x4346    0x67f2
+0x4347    0x67f6
+0x4348    0x67f7
+0x4349    0x6852
+0x434a    0x6814
+0x434b    0x6819
+0x434c    0x681d
+0x434d    0x681f
+0x434e    0x6828
+0x434f    0x6827
+0x4350    0x682c
+0x4351    0x682d
+0x4352    0x682f
+0x4353    0x6830
+0x4354    0x6831
+0x4355    0x6833
+0x4356    0x683b
+0x4357    0x683f
+0x4358    0x6844
+0x4359    0x6845
+0x435a    0x684a
+0x435b    0x684c
+0x435c    0x6855
+0x435d    0x6857
+0x435e    0x6858
+0x435f    0x685b
+0x4360    0x686b
+0x4361    0x686e
+0x4362    0x686f
+0x4363    0x6870
+0x4364    0x6871
+0x4365    0x6872
+0x4366    0x6875
+0x4367    0x6879
+0x4368    0x687a
+0x4369    0x687b
+0x436a    0x687c
+0x436b    0x6882
+0x436c    0x6884
+0x436d    0x6886
+0x436e    0x6888
+0x436f    0x6896
+0x4370    0x6898
+0x4371    0x689a
+0x4372    0x689c
+0x4373    0x68a1
+0x4374    0x68a3
+0x4375    0x68a5
+0x4376    0x68a9
+0x4377    0x68aa
+0x4378    0x68ae
+0x4379    0x68b2
+0x437a    0x68bb
+0x437b    0x68c5
+0x437c    0x68c8
+0x437d    0x68cc
+0x437e    0x68cf
+0x4421    0x68d0
+0x4422    0x68d1
+0x4423    0x68d3
+0x4424    0x68d6
+0x4425    0x68d9
+0x4426    0x68dc
+0x4427    0x68dd
+0x4428    0x68e5
+0x4429    0x68e8
+0x442a    0x68ea
+0x442b    0x68eb
+0x442c    0x68ec
+0x442d    0x68ed
+0x442e    0x68f0
+0x442f    0x68f1
+0x4430    0x68f5
+0x4431    0x68f6
+0x4432    0x68fb
+0x4433    0x68fc
+0x4434    0x68fd
+0x4435    0x6906
+0x4436    0x6909
+0x4437    0x690a
+0x4438    0x6910
+0x4439    0x6911
+0x443a    0x6913
+0x443b    0x6916
+0x443c    0x6917
+0x443d    0x6931
+0x443e    0x6933
+0x443f    0x6935
+0x4440    0x6938
+0x4441    0x693b
+0x4442    0x6942
+0x4443    0x6945
+0x4444    0x6949
+0x4445    0x694e
+0x4446    0x6957
+0x4447    0x695b
+0x4448    0x6963
+0x4449    0x6964
+0x444a    0x6965
+0x444b    0x6966
+0x444c    0x6968
+0x444d    0x6969
+0x444e    0x696c
+0x444f    0x6970
+0x4450    0x6971
+0x4451    0x6972
+0x4452    0x697a
+0x4453    0x697b
+0x4454    0x697f
+0x4455    0x6980
+0x4456    0x698d
+0x4457    0x6992
+0x4458    0x6996
+0x4459    0x6998
+0x445a    0x69a1
+0x445b    0x69a5
+0x445c    0x69a6
+0x445d    0x69a8
+0x445e    0x69ab
+0x445f    0x69ad
+0x4460    0x69af
+0x4461    0x69b7
+0x4462    0x69b8
+0x4463    0x69ba
+0x4464    0x69bc
+0x4465    0x69c5
+0x4466    0x69c8
+0x4467    0x69d1
+0x4468    0x69d6
+0x4469    0x69d7
+0x446a    0x69e2
+0x446b    0x69e5
+0x446c    0x69ee
+0x446d    0x69ef
+0x446e    0x69f1
+0x446f    0x69f3
+0x4470    0x69f5
+0x4471    0x69fe
+0x4472    0x6a00
+0x4473    0x6a01
+0x4474    0x6a03
+0x4475    0x6a0f
+0x4476    0x6a11
+0x4477    0x6a15
+0x4478    0x6a1a
+0x4479    0x6a1d
+0x447a    0x6a20
+0x447b    0x6a24
+0x447c    0x6a28
+0x447d    0x6a30
+0x447e    0x6a32
+0x4521    0x6a34
+0x4522    0x6a37
+0x4523    0x6a3b
+0x4524    0x6a3e
+0x4525    0x6a3f
+0x4526    0x6a45
+0x4527    0x6a46
+0x4528    0x6a49
+0x4529    0x6a4a
+0x452a    0x6a4e
+0x452b    0x6a50
+0x452c    0x6a51
+0x452d    0x6a52
+0x452e    0x6a55
+0x452f    0x6a56
+0x4530    0x6a5b
+0x4531    0x6a64
+0x4532    0x6a67
+0x4533    0x6a6a
+0x4534    0x6a71
+0x4535    0x6a73
+0x4536    0x6a7e
+0x4537    0x6a81
+0x4538    0x6a83
+0x4539    0x6a86
+0x453a    0x6a87
+0x453b    0x6a89
+0x453c    0x6a8b
+0x453d    0x6a91
+0x453e    0x6a9b
+0x453f    0x6a9d
+0x4540    0x6a9e
+0x4541    0x6a9f
+0x4542    0x6aa5
+0x4543    0x6aab
+0x4544    0x6aaf
+0x4545    0x6ab0
+0x4546    0x6ab1
+0x4547    0x6ab4
+0x4548    0x6abd
+0x4549    0x6abe
+0x454a    0x6abf
+0x454b    0x6ac6
+0x454c    0x6ac9
+0x454d    0x6ac8
+0x454e    0x6acc
+0x454f    0x6ad0
+0x4550    0x6ad4
+0x4551    0x6ad5
+0x4552    0x6ad6
+0x4553    0x6adc
+0x4554    0x6add
+0x4555    0x6ae4
+0x4556    0x6ae7
+0x4557    0x6aec
+0x4558    0x6af0
+0x4559    0x6af1
+0x455a    0x6af2
+0x455b    0x6afc
+0x455c    0x6afd
+0x455d    0x6b02
+0x455e    0x6b03
+0x455f    0x6b06
+0x4560    0x6b07
+0x4561    0x6b09
+0x4562    0x6b0f
+0x4563    0x6b10
+0x4564    0x6b11
+0x4565    0x6b17
+0x4566    0x6b1b
+0x4567    0x6b1e
+0x4568    0x6b24
+0x4569    0x6b28
+0x456a    0x6b2b
+0x456b    0x6b2c
+0x456c    0x6b2f
+0x456d    0x6b35
+0x456e    0x6b36
+0x456f    0x6b3b
+0x4570    0x6b3f
+0x4571    0x6b46
+0x4572    0x6b4a
+0x4573    0x6b4d
+0x4574    0x6b52
+0x4575    0x6b56
+0x4576    0x6b58
+0x4577    0x6b5d
+0x4578    0x6b60
+0x4579    0x6b67
+0x457a    0x6b6b
+0x457b    0x6b6e
+0x457c    0x6b70
+0x457d    0x6b75
+0x457e    0x6b7d
+0x4621    0x6b7e
+0x4622    0x6b82
+0x4623    0x6b85
+0x4624    0x6b97
+0x4625    0x6b9b
+0x4626    0x6b9f
+0x4627    0x6ba0
+0x4628    0x6ba2
+0x4629    0x6ba3
+0x462a    0x6ba8
+0x462b    0x6ba9
+0x462c    0x6bac
+0x462d    0x6bad
+0x462e    0x6bae
+0x462f    0x6bb0
+0x4630    0x6bb8
+0x4631    0x6bb9
+0x4632    0x6bbd
+0x4633    0x6bbe
+0x4634    0x6bc3
+0x4635    0x6bc4
+0x4636    0x6bc9
+0x4637    0x6bcc
+0x4638    0x6bd6
+0x4639    0x6bda
+0x463a    0x6be1
+0x463b    0x6be3
+0x463c    0x6be6
+0x463d    0x6be7
+0x463e    0x6bee
+0x463f    0x6bf1
+0x4640    0x6bf7
+0x4641    0x6bf9
+0x4642    0x6bff
+0x4643    0x6c02
+0x4644    0x6c04
+0x4645    0x6c05
+0x4646    0x6c09
+0x4647    0x6c0d
+0x4648    0x6c0e
+0x4649    0x6c10
+0x464a    0x6c12
+0x464b    0x6c19
+0x464c    0x6c1f
+0x464d    0x6c26
+0x464e    0x6c27
+0x464f    0x6c28
+0x4650    0x6c2c
+0x4651    0x6c2e
+0x4652    0x6c33
+0x4653    0x6c35
+0x4654    0x6c36
+0x4655    0x6c3a
+0x4656    0x6c3b
+0x4657    0x6c3f
+0x4658    0x6c4a
+0x4659    0x6c4b
+0x465a    0x6c4d
+0x465b    0x6c4f
+0x465c    0x6c52
+0x465d    0x6c54
+0x465e    0x6c59
+0x465f    0x6c5b
+0x4660    0x6c5c
+0x4661    0x6c6b
+0x4662    0x6c6d
+0x4663    0x6c6f
+0x4664    0x6c74
+0x4665    0x6c76
+0x4666    0x6c78
+0x4667    0x6c79
+0x4668    0x6c7b
+0x4669    0x6c85
+0x466a    0x6c86
+0x466b    0x6c87
+0x466c    0x6c89
+0x466d    0x6c94
+0x466e    0x6c95
+0x466f    0x6c97
+0x4670    0x6c98
+0x4671    0x6c9c
+0x4672    0x6c9f
+0x4673    0x6cb0
+0x4674    0x6cb2
+0x4675    0x6cb4
+0x4676    0x6cc2
+0x4677    0x6cc6
+0x4678    0x6ccd
+0x4679    0x6ccf
+0x467a    0x6cd0
+0x467b    0x6cd1
+0x467c    0x6cd2
+0x467d    0x6cd4
+0x467e    0x6cd6
+0x4721    0x6cda
+0x4722    0x6cdc
+0x4723    0x6ce0
+0x4724    0x6ce7
+0x4725    0x6ce9
+0x4726    0x6ceb
+0x4727    0x6cec
+0x4728    0x6cee
+0x4729    0x6cf2
+0x472a    0x6cf4
+0x472b    0x6d04
+0x472c    0x6d07
+0x472d    0x6d0a
+0x472e    0x6d0e
+0x472f    0x6d0f
+0x4730    0x6d11
+0x4731    0x6d13
+0x4732    0x6d1a
+0x4733    0x6d26
+0x4734    0x6d27
+0x4735    0x6d28
+0x4736    0x6c67
+0x4737    0x6d2e
+0x4738    0x6d2f
+0x4739    0x6d31
+0x473a    0x6d39
+0x473b    0x6d3c
+0x473c    0x6d3f
+0x473d    0x6d57
+0x473e    0x6d5e
+0x473f    0x6d5f
+0x4740    0x6d61
+0x4741    0x6d65
+0x4742    0x6d67
+0x4743    0x6d6f
+0x4744    0x6d70
+0x4745    0x6d7c
+0x4746    0x6d82
+0x4747    0x6d87
+0x4748    0x6d91
+0x4749    0x6d92
+0x474a    0x6d94
+0x474b    0x6d96
+0x474c    0x6d97
+0x474d    0x6d98
+0x474e    0x6daa
+0x474f    0x6dac
+0x4750    0x6db4
+0x4751    0x6db7
+0x4752    0x6db9
+0x4753    0x6dbd
+0x4754    0x6dbf
+0x4755    0x6dc4
+0x4756    0x6dc8
+0x4757    0x6dca
+0x4758    0x6dce
+0x4759    0x6dcf
+0x475a    0x6dd6
+0x475b    0x6ddb
+0x475c    0x6ddd
+0x475d    0x6ddf
+0x475e    0x6de0
+0x475f    0x6de2
+0x4760    0x6de5
+0x4761    0x6de9
+0x4762    0x6def
+0x4763    0x6df0
+0x4764    0x6df4
+0x4765    0x6df6
+0x4766    0x6dfc
+0x4767    0x6e00
+0x4768    0x6e04
+0x4769    0x6e1e
+0x476a    0x6e22
+0x476b    0x6e27
+0x476c    0x6e32
+0x476d    0x6e36
+0x476e    0x6e39
+0x476f    0x6e3b
+0x4770    0x6e3c
+0x4771    0x6e44
+0x4772    0x6e45
+0x4773    0x6e48
+0x4774    0x6e49
+0x4775    0x6e4b
+0x4776    0x6e4f
+0x4777    0x6e51
+0x4778    0x6e52
+0x4779    0x6e53
+0x477a    0x6e54
+0x477b    0x6e57
+0x477c    0x6e5c
+0x477d    0x6e5d
+0x477e    0x6e5e
+0x4821    0x6e62
+0x4822    0x6e63
+0x4823    0x6e68
+0x4824    0x6e73
+0x4825    0x6e7b
+0x4826    0x6e7d
+0x4827    0x6e8d
+0x4828    0x6e93
+0x4829    0x6e99
+0x482a    0x6ea0
+0x482b    0x6ea7
+0x482c    0x6ead
+0x482d    0x6eae
+0x482e    0x6eb1
+0x482f    0x6eb3
+0x4830    0x6ebb
+0x4831    0x6ebf
+0x4832    0x6ec0
+0x4833    0x6ec1
+0x4834    0x6ec3
+0x4835    0x6ec7
+0x4836    0x6ec8
+0x4837    0x6eca
+0x4838    0x6ecd
+0x4839    0x6ece
+0x483a    0x6ecf
+0x483b    0x6eeb
+0x483c    0x6eed
+0x483d    0x6eee
+0x483e    0x6ef9
+0x483f    0x6efb
+0x4840    0x6efd
+0x4841    0x6f04
+0x4842    0x6f08
+0x4843    0x6f0a
+0x4844    0x6f0c
+0x4845    0x6f0d
+0x4846    0x6f16
+0x4847    0x6f18
+0x4848    0x6f1a
+0x4849    0x6f1b
+0x484a    0x6f26
+0x484b    0x6f29
+0x484c    0x6f2a
+0x484d    0x6f2f
+0x484e    0x6f30
+0x484f    0x6f33
+0x4850    0x6f36
+0x4851    0x6f3b
+0x4852    0x6f3c
+0x4853    0x6f2d
+0x4854    0x6f4f
+0x4855    0x6f51
+0x4856    0x6f52
+0x4857    0x6f53
+0x4858    0x6f57
+0x4859    0x6f59
+0x485a    0x6f5a
+0x485b    0x6f5d
+0x485c    0x6f5e
+0x485d    0x6f61
+0x485e    0x6f62
+0x485f    0x6f68
+0x4860    0x6f6c
+0x4861    0x6f7d
+0x4862    0x6f7e
+0x4863    0x6f83
+0x4864    0x6f87
+0x4865    0x6f88
+0x4866    0x6f8b
+0x4867    0x6f8c
+0x4868    0x6f8d
+0x4869    0x6f90
+0x486a    0x6f92
+0x486b    0x6f93
+0x486c    0x6f94
+0x486d    0x6f96
+0x486e    0x6f9a
+0x486f    0x6f9f
+0x4870    0x6fa0
+0x4871    0x6fa5
+0x4872    0x6fa6
+0x4873    0x6fa7
+0x4874    0x6fa8
+0x4875    0x6fae
+0x4876    0x6faf
+0x4877    0x6fb0
+0x4878    0x6fb5
+0x4879    0x6fb6
+0x487a    0x6fbc
+0x487b    0x6fc5
+0x487c    0x6fc7
+0x487d    0x6fc8
+0x487e    0x6fca
+0x4921    0x6fda
+0x4922    0x6fde
+0x4923    0x6fe8
+0x4924    0x6fe9
+0x4925    0x6ff0
+0x4926    0x6ff5
+0x4927    0x6ff9
+0x4928    0x6ffc
+0x4929    0x6ffd
+0x492a    0x7000
+0x492b    0x7005
+0x492c    0x7006
+0x492d    0x7007
+0x492e    0x700d
+0x492f    0x7017
+0x4930    0x7020
+0x4931    0x7023
+0x4932    0x702f
+0x4933    0x7034
+0x4934    0x7037
+0x4935    0x7039
+0x4936    0x703c
+0x4937    0x7043
+0x4938    0x7044
+0x4939    0x7048
+0x493a    0x7049
+0x493b    0x704a
+0x493c    0x704b
+0x493d    0x7054
+0x493e    0x7055
+0x493f    0x705d
+0x4940    0x705e
+0x4941    0x704e
+0x4942    0x7064
+0x4943    0x7065
+0x4944    0x706c
+0x4945    0x706e
+0x4946    0x7075
+0x4947    0x7076
+0x4948    0x707e
+0x4949    0x7081
+0x494a    0x7085
+0x494b    0x7086
+0x494c    0x7094
+0x494d    0x7095
+0x494e    0x7096
+0x494f    0x7097
+0x4950    0x7098
+0x4951    0x709b
+0x4952    0x70a4
+0x4953    0x70ab
+0x4954    0x70b0
+0x4955    0x70b1
+0x4956    0x70b4
+0x4957    0x70b7
+0x4958    0x70ca
+0x4959    0x70d1
+0x495a    0x70d3
+0x495b    0x70d4
+0x495c    0x70d5
+0x495d    0x70d6
+0x495e    0x70d8
+0x495f    0x70dc
+0x4960    0x70e4
+0x4961    0x70fa
+0x4962    0x7103
+0x4963    0x7104
+0x4964    0x7105
+0x4965    0x7106
+0x4966    0x7107
+0x4967    0x710b
+0x4968    0x710c
+0x4969    0x710f
+0x496a    0x711e
+0x496b    0x7120
+0x496c    0x712b
+0x496d    0x712d
+0x496e    0x712f
+0x496f    0x7130
+0x4970    0x7131
+0x4971    0x7138
+0x4972    0x7141
+0x4973    0x7145
+0x4974    0x7146
+0x4975    0x7147
+0x4976    0x714a
+0x4977    0x714b
+0x4978    0x7150
+0x4979    0x7152
+0x497a    0x7157
+0x497b    0x715a
+0x497c    0x715c
+0x497d    0x715e
+0x497e    0x7160
+0x4a21    0x7168
+0x4a22    0x7179
+0x4a23    0x7180
+0x4a24    0x7185
+0x4a25    0x7187
+0x4a26    0x718c
+0x4a27    0x7192
+0x4a28    0x719a
+0x4a29    0x719b
+0x4a2a    0x71a0
+0x4a2b    0x71a2
+0x4a2c    0x71af
+0x4a2d    0x71b0
+0x4a2e    0x71b2
+0x4a2f    0x71b3
+0x4a30    0x71ba
+0x4a31    0x71bf
+0x4a32    0x71c0
+0x4a33    0x71c1
+0x4a34    0x71c4
+0x4a35    0x71cb
+0x4a36    0x71cc
+0x4a37    0x71d3
+0x4a38    0x71d6
+0x4a39    0x71d9
+0x4a3a    0x71da
+0x4a3b    0x71dc
+0x4a3c    0x71f8
+0x4a3d    0x71fe
+0x4a3e    0x7200
+0x4a3f    0x7207
+0x4a40    0x7208
+0x4a41    0x7209
+0x4a42    0x7213
+0x4a43    0x7217
+0x4a44    0x721a
+0x4a45    0x721d
+0x4a46    0x721f
+0x4a47    0x7224
+0x4a48    0x722b
+0x4a49    0x722f
+0x4a4a    0x7234
+0x4a4b    0x7238
+0x4a4c    0x7239
+0x4a4d    0x7241
+0x4a4e    0x7242
+0x4a4f    0x7243
+0x4a50    0x7245
+0x4a51    0x724e
+0x4a52    0x724f
+0x4a53    0x7250
+0x4a54    0x7253
+0x4a55    0x7255
+0x4a56    0x7256
+0x4a57    0x725a
+0x4a58    0x725c
+0x4a59    0x725e
+0x4a5a    0x7260
+0x4a5b    0x7263
+0x4a5c    0x7268
+0x4a5d    0x726b
+0x4a5e    0x726e
+0x4a5f    0x726f
+0x4a60    0x7271
+0x4a61    0x7277
+0x4a62    0x7278
+0x4a63    0x727b
+0x4a64    0x727c
+0x4a65    0x727f
+0x4a66    0x7284
+0x4a67    0x7289
+0x4a68    0x728d
+0x4a69    0x728e
+0x4a6a    0x7293
+0x4a6b    0x729b
+0x4a6c    0x72a8
+0x4a6d    0x72ad
+0x4a6e    0x72ae
+0x4a6f    0x72b1
+0x4a70    0x72b4
+0x4a71    0x72be
+0x4a72    0x72c1
+0x4a73    0x72c7
+0x4a74    0x72c9
+0x4a75    0x72cc
+0x4a76    0x72d5
+0x4a77    0x72d6
+0x4a78    0x72d8
+0x4a79    0x72df
+0x4a7a    0x72e5
+0x4a7b    0x72f3
+0x4a7c    0x72f4
+0x4a7d    0x72fa
+0x4a7e    0x72fb
+0x4b21    0x72fe
+0x4b22    0x7302
+0x4b23    0x7304
+0x4b24    0x7305
+0x4b25    0x7307
+0x4b26    0x730b
+0x4b27    0x730d
+0x4b28    0x7312
+0x4b29    0x7313
+0x4b2a    0x7318
+0x4b2b    0x7319
+0x4b2c    0x731e
+0x4b2d    0x7322
+0x4b2e    0x7324
+0x4b2f    0x7327
+0x4b30    0x7328
+0x4b31    0x732c
+0x4b32    0x7331
+0x4b33    0x7332
+0x4b34    0x7335
+0x4b35    0x733a
+0x4b36    0x733b
+0x4b37    0x733d
+0x4b38    0x7343
+0x4b39    0x734d
+0x4b3a    0x7350
+0x4b3b    0x7352
+0x4b3c    0x7356
+0x4b3d    0x7358
+0x4b3e    0x735d
+0x4b3f    0x735e
+0x4b40    0x735f
+0x4b41    0x7360
+0x4b42    0x7366
+0x4b43    0x7367
+0x4b44    0x7369
+0x4b45    0x736b
+0x4b46    0x736c
+0x4b47    0x736e
+0x4b48    0x736f
+0x4b49    0x7371
+0x4b4a    0x7377
+0x4b4b    0x7379
+0x4b4c    0x737c
+0x4b4d    0x7380
+0x4b4e    0x7381
+0x4b4f    0x7383
+0x4b50    0x7385
+0x4b51    0x7386
+0x4b52    0x738e
+0x4b53    0x7390
+0x4b54    0x7393
+0x4b55    0x7395
+0x4b56    0x7397
+0x4b57    0x7398
+0x4b58    0x739c
+0x4b59    0x739e
+0x4b5a    0x739f
+0x4b5b    0x73a0
+0x4b5c    0x73a2
+0x4b5d    0x73a5
+0x4b5e    0x73a6
+0x4b5f    0x73aa
+0x4b60    0x73ab
+0x4b61    0x73ad
+0x4b62    0x73b5
+0x4b63    0x73b7
+0x4b64    0x73b9
+0x4b65    0x73bc
+0x4b66    0x73bd
+0x4b67    0x73bf
+0x4b68    0x73c5
+0x4b69    0x73c6
+0x4b6a    0x73c9
+0x4b6b    0x73cb
+0x4b6c    0x73cc
+0x4b6d    0x73cf
+0x4b6e    0x73d2
+0x4b6f    0x73d3
+0x4b70    0x73d6
+0x4b71    0x73d9
+0x4b72    0x73dd
+0x4b73    0x73e1
+0x4b74    0x73e3
+0x4b75    0x73e6
+0x4b76    0x73e7
+0x4b77    0x73e9
+0x4b78    0x73f4
+0x4b79    0x73f5
+0x4b7a    0x73f7
+0x4b7b    0x73f9
+0x4b7c    0x73fa
+0x4b7d    0x73fb
+0x4b7e    0x73fd
+0x4c21    0x73ff
+0x4c22    0x7400
+0x4c23    0x7401
+0x4c24    0x7404
+0x4c25    0x7407
+0x4c26    0x740a
+0x4c27    0x7411
+0x4c28    0x741a
+0x4c29    0x741b
+0x4c2a    0x7424
+0x4c2b    0x7426
+0x4c2c    0x7428
+0x4c2d    0x7429
+0x4c2e    0x742a
+0x4c2f    0x742b
+0x4c30    0x742c
+0x4c31    0x742d
+0x4c32    0x742e
+0x4c33    0x742f
+0x4c34    0x7430
+0x4c35    0x7431
+0x4c36    0x7439
+0x4c37    0x7440
+0x4c38    0x7443
+0x4c39    0x7444
+0x4c3a    0x7446
+0x4c3b    0x7447
+0x4c3c    0x744b
+0x4c3d    0x744d
+0x4c3e    0x7451
+0x4c3f    0x7452
+0x4c40    0x7457
+0x4c41    0x745d
+0x4c42    0x7462
+0x4c43    0x7466
+0x4c44    0x7467
+0x4c45    0x7468
+0x4c46    0x746b
+0x4c47    0x746d
+0x4c48    0x746e
+0x4c49    0x7471
+0x4c4a    0x7472
+0x4c4b    0x7480
+0x4c4c    0x7481
+0x4c4d    0x7485
+0x4c4e    0x7486
+0x4c4f    0x7487
+0x4c50    0x7489
+0x4c51    0x748f
+0x4c52    0x7490
+0x4c53    0x7491
+0x4c54    0x7492
+0x4c55    0x7498
+0x4c56    0x7499
+0x4c57    0x749a
+0x4c58    0x749c
+0x4c59    0x749f
+0x4c5a    0x74a0
+0x4c5b    0x74a1
+0x4c5c    0x74a3
+0x4c5d    0x74a6
+0x4c5e    0x74a8
+0x4c5f    0x74a9
+0x4c60    0x74aa
+0x4c61    0x74ab
+0x4c62    0x74ae
+0x4c63    0x74af
+0x4c64    0x74b1
+0x4c65    0x74b2
+0x4c66    0x74b5
+0x4c67    0x74b9
+0x4c68    0x74bb
+0x4c69    0x74bf
+0x4c6a    0x74c8
+0x4c6b    0x74c9
+0x4c6c    0x74cc
+0x4c6d    0x74d0
+0x4c6e    0x74d3
+0x4c6f    0x74d8
+0x4c70    0x74da
+0x4c71    0x74db
+0x4c72    0x74de
+0x4c73    0x74df
+0x4c74    0x74e4
+0x4c75    0x74e8
+0x4c76    0x74ea
+0x4c77    0x74eb
+0x4c78    0x74ef
+0x4c79    0x74f4
+0x4c7a    0x74fa
+0x4c7b    0x74fb
+0x4c7c    0x74fc
+0x4c7d    0x74ff
+0x4c7e    0x7506
+0x4d21    0x7512
+0x4d22    0x7516
+0x4d23    0x7517
+0x4d24    0x7520
+0x4d25    0x7521
+0x4d26    0x7524
+0x4d27    0x7527
+0x4d28    0x7529
+0x4d29    0x752a
+0x4d2a    0x752f
+0x4d2b    0x7536
+0x4d2c    0x7539
+0x4d2d    0x753d
+0x4d2e    0x753e
+0x4d2f    0x753f
+0x4d30    0x7540
+0x4d31    0x7543
+0x4d32    0x7547
+0x4d33    0x7548
+0x4d34    0x754e
+0x4d35    0x7550
+0x4d36    0x7552
+0x4d37    0x7557
+0x4d38    0x755e
+0x4d39    0x755f
+0x4d3a    0x7561
+0x4d3b    0x756f
+0x4d3c    0x7571
+0x4d3d    0x7579
+0x4d3e    0x757a
+0x4d3f    0x757b
+0x4d40    0x757c
+0x4d41    0x757d
+0x4d42    0x757e
+0x4d43    0x7581
+0x4d44    0x7585
+0x4d45    0x7590
+0x4d46    0x7592
+0x4d47    0x7593
+0x4d48    0x7595
+0x4d49    0x7599
+0x4d4a    0x759c
+0x4d4b    0x75a2
+0x4d4c    0x75a4
+0x4d4d    0x75b4
+0x4d4e    0x75ba
+0x4d4f    0x75bf
+0x4d50    0x75c0
+0x4d51    0x75c1
+0x4d52    0x75c4
+0x4d53    0x75c6
+0x4d54    0x75cc
+0x4d55    0x75ce
+0x4d56    0x75cf
+0x4d57    0x75d7
+0x4d58    0x75dc
+0x4d59    0x75df
+0x4d5a    0x75e0
+0x4d5b    0x75e1
+0x4d5c    0x75e4
+0x4d5d    0x75e7
+0x4d5e    0x75ec
+0x4d5f    0x75ee
+0x4d60    0x75ef
+0x4d61    0x75f1
+0x4d62    0x75f9
+0x4d63    0x7600
+0x4d64    0x7602
+0x4d65    0x7603
+0x4d66    0x7604
+0x4d67    0x7607
+0x4d68    0x7608
+0x4d69    0x760a
+0x4d6a    0x760c
+0x4d6b    0x760f
+0x4d6c    0x7612
+0x4d6d    0x7613
+0x4d6e    0x7615
+0x4d6f    0x7616
+0x4d70    0x7619
+0x4d71    0x761b
+0x4d72    0x761c
+0x4d73    0x761d
+0x4d74    0x761e
+0x4d75    0x7623
+0x4d76    0x7625
+0x4d77    0x7626
+0x4d78    0x7629
+0x4d79    0x762d
+0x4d7a    0x7632
+0x4d7b    0x7633
+0x4d7c    0x7635
+0x4d7d    0x7638
+0x4d7e    0x7639
+0x4e21    0x763a
+0x4e22    0x763c
+0x4e23    0x764a
+0x4e24    0x7640
+0x4e25    0x7641
+0x4e26    0x7643
+0x4e27    0x7644
+0x4e28    0x7645
+0x4e29    0x7649
+0x4e2a    0x764b
+0x4e2b    0x7655
+0x4e2c    0x7659
+0x4e2d    0x765f
+0x4e2e    0x7664
+0x4e2f    0x7665
+0x4e30    0x766d
+0x4e31    0x766e
+0x4e32    0x766f
+0x4e33    0x7671
+0x4e34    0x7674
+0x4e35    0x7681
+0x4e36    0x7685
+0x4e37    0x768c
+0x4e38    0x768d
+0x4e39    0x7695
+0x4e3a    0x769b
+0x4e3b    0x769c
+0x4e3c    0x769d
+0x4e3d    0x769f
+0x4e3e    0x76a0
+0x4e3f    0x76a2
+0x4e40    0x76a3
+0x4e41    0x76a4
+0x4e42    0x76a5
+0x4e43    0x76a6
+0x4e44    0x76a7
+0x4e45    0x76a8
+0x4e46    0x76aa
+0x4e47    0x76ad
+0x4e48    0x76bd
+0x4e49    0x76c1
+0x4e4a    0x76c5
+0x4e4b    0x76c9
+0x4e4c    0x76cb
+0x4e4d    0x76cc
+0x4e4e    0x76ce
+0x4e4f    0x76d4
+0x4e50    0x76d9
+0x4e51    0x76e0
+0x4e52    0x76e6
+0x4e53    0x76e8
+0x4e54    0x76ec
+0x4e55    0x76f0
+0x4e56    0x76f1
+0x4e57    0x76f6
+0x4e58    0x76f9
+0x4e59    0x76fc
+0x4e5a    0x7700
+0x4e5b    0x7706
+0x4e5c    0x770a
+0x4e5d    0x770e
+0x4e5e    0x7712
+0x4e5f    0x7714
+0x4e60    0x7715
+0x4e61    0x7717
+0x4e62    0x7719
+0x4e63    0x771a
+0x4e64    0x771c
+0x4e65    0x7722
+0x4e66    0x7728
+0x4e67    0x772d
+0x4e68    0x772e
+0x4e69    0x772f
+0x4e6a    0x7734
+0x4e6b    0x7735
+0x4e6c    0x7736
+0x4e6d    0x7739
+0x4e6e    0x773d
+0x4e6f    0x773e
+0x4e70    0x7742
+0x4e71    0x7745
+0x4e72    0x7746
+0x4e73    0x774a
+0x4e74    0x774d
+0x4e75    0x774e
+0x4e76    0x774f
+0x4e77    0x7752
+0x4e78    0x7756
+0x4e79    0x7757
+0x4e7a    0x775c
+0x4e7b    0x775e
+0x4e7c    0x775f
+0x4e7d    0x7760
+0x4e7e    0x7762
+0x4f21    0x7764
+0x4f22    0x7767
+0x4f23    0x776a
+0x4f24    0x776c
+0x4f25    0x7770
+0x4f26    0x7772
+0x4f27    0x7773
+0x4f28    0x7774
+0x4f29    0x777a
+0x4f2a    0x777d
+0x4f2b    0x7780
+0x4f2c    0x7784
+0x4f2d    0x778c
+0x4f2e    0x778d
+0x4f2f    0x7794
+0x4f30    0x7795
+0x4f31    0x7796
+0x4f32    0x779a
+0x4f33    0x779f
+0x4f34    0x77a2
+0x4f35    0x77a7
+0x4f36    0x77aa
+0x4f37    0x77ae
+0x4f38    0x77af
+0x4f39    0x77b1
+0x4f3a    0x77b5
+0x4f3b    0x77be
+0x4f3c    0x77c3
+0x4f3d    0x77c9
+0x4f3e    0x77d1
+0x4f3f    0x77d2
+0x4f40    0x77d5
+0x4f41    0x77d9
+0x4f42    0x77de
+0x4f43    0x77df
+0x4f44    0x77e0
+0x4f45    0x77e4
+0x4f46    0x77e6
+0x4f47    0x77ea
+0x4f48    0x77ec
+0x4f49    0x77f0
+0x4f4a    0x77f1
+0x4f4b    0x77f4
+0x4f4c    0x77f8
+0x4f4d    0x77fb
+0x4f4e    0x7805
+0x4f4f    0x7806
+0x4f50    0x7809
+0x4f51    0x780d
+0x4f52    0x780e
+0x4f53    0x7811
+0x4f54    0x781d
+0x4f55    0x7821
+0x4f56    0x7822
+0x4f57    0x7823
+0x4f58    0x782d
+0x4f59    0x782e
+0x4f5a    0x7830
+0x4f5b    0x7835
+0x4f5c    0x7837
+0x4f5d    0x7843
+0x4f5e    0x7844
+0x4f5f    0x7847
+0x4f60    0x7848
+0x4f61    0x784c
+0x4f62    0x784e
+0x4f63    0x7852
+0x4f64    0x785c
+0x4f65    0x785e
+0x4f66    0x7860
+0x4f67    0x7861
+0x4f68    0x7863
+0x4f69    0x7864
+0x4f6a    0x7868
+0x4f6b    0x786a
+0x4f6c    0x786e
+0x4f6d    0x787a
+0x4f6e    0x787e
+0x4f6f    0x788a
+0x4f70    0x788f
+0x4f71    0x7894
+0x4f72    0x7898
+0x4f73    0x78a1
+0x4f74    0x789d
+0x4f75    0x789e
+0x4f76    0x789f
+0x4f77    0x78a4
+0x4f78    0x78a8
+0x4f79    0x78ac
+0x4f7a    0x78ad
+0x4f7b    0x78b0
+0x4f7c    0x78b1
+0x4f7d    0x78b2
+0x4f7e    0x78b3
+0x5021    0x78bb
+0x5022    0x78bd
+0x5023    0x78bf
+0x5024    0x78c7
+0x5025    0x78c8
+0x5026    0x78c9
+0x5027    0x78cc
+0x5028    0x78ce
+0x5029    0x78d2
+0x502a    0x78d3
+0x502b    0x78d5
+0x502c    0x78d6
+0x502d    0x78e4
+0x502e    0x78db
+0x502f    0x78df
+0x5030    0x78e0
+0x5031    0x78e1
+0x5032    0x78e6
+0x5033    0x78ea
+0x5034    0x78f2
+0x5035    0x78f3
+0x5036    0x7900
+0x5037    0x78f6
+0x5038    0x78f7
+0x5039    0x78fa
+0x503a    0x78fb
+0x503b    0x78ff
+0x503c    0x7906
+0x503d    0x790c
+0x503e    0x7910
+0x503f    0x791a
+0x5040    0x791c
+0x5041    0x791e
+0x5042    0x791f
+0x5043    0x7920
+0x5044    0x7925
+0x5045    0x7927
+0x5046    0x7929
+0x5047    0x792d
+0x5048    0x7931
+0x5049    0x7934
+0x504a    0x7935
+0x504b    0x793b
+0x504c    0x793d
+0x504d    0x793f
+0x504e    0x7944
+0x504f    0x7945
+0x5050    0x7946
+0x5051    0x794a
+0x5052    0x794b
+0x5053    0x794f
+0x5054    0x7951
+0x5055    0x7954
+0x5056    0x7958
+0x5057    0x795b
+0x5058    0x795c
+0x5059    0x7967
+0x505a    0x7969
+0x505b    0x796b
+0x505c    0x7972
+0x505d    0x7979
+0x505e    0x797b
+0x505f    0x797c
+0x5060    0x797e
+0x5061    0x798b
+0x5062    0x798c
+0x5063    0x7991
+0x5064    0x7993
+0x5065    0x7994
+0x5066    0x7995
+0x5067    0x7996
+0x5068    0x7998
+0x5069    0x799b
+0x506a    0x799c
+0x506b    0x79a1
+0x506c    0x79a8
+0x506d    0x79a9
+0x506e    0x79ab
+0x506f    0x79af
+0x5070    0x79b1
+0x5071    0x79b4
+0x5072    0x79b8
+0x5073    0x79bb
+0x5074    0x79c2
+0x5075    0x79c4
+0x5076    0x79c7
+0x5077    0x79c8
+0x5078    0x79ca
+0x5079    0x79cf
+0x507a    0x79d4
+0x507b    0x79d6
+0x507c    0x79da
+0x507d    0x79dd
+0x507e    0x79de
+0x5121    0x79e0
+0x5122    0x79e2
+0x5123    0x79e5
+0x5124    0x79ea
+0x5125    0x79eb
+0x5126    0x79ed
+0x5127    0x79f1
+0x5128    0x79f8
+0x5129    0x79fc
+0x512a    0x7a02
+0x512b    0x7a03
+0x512c    0x7a07
+0x512d    0x7a09
+0x512e    0x7a0a
+0x512f    0x7a0c
+0x5130    0x7a11
+0x5131    0x7a15
+0x5132    0x7a1b
+0x5133    0x7a1e
+0x5134    0x7a21
+0x5135    0x7a27
+0x5136    0x7a2b
+0x5137    0x7a2d
+0x5138    0x7a2f
+0x5139    0x7a30
+0x513a    0x7a34
+0x513b    0x7a35
+0x513c    0x7a38
+0x513d    0x7a39
+0x513e    0x7a3a
+0x513f    0x7a44
+0x5140    0x7a45
+0x5141    0x7a47
+0x5142    0x7a48
+0x5143    0x7a4c
+0x5144    0x7a55
+0x5145    0x7a56
+0x5146    0x7a59
+0x5147    0x7a5c
+0x5148    0x7a5d
+0x5149    0x7a5f
+0x514a    0x7a60
+0x514b    0x7a65
+0x514c    0x7a67
+0x514d    0x7a6a
+0x514e    0x7a6d
+0x514f    0x7a75
+0x5150    0x7a78
+0x5151    0x7a7e
+0x5152    0x7a80
+0x5153    0x7a82
+0x5154    0x7a85
+0x5155    0x7a86
+0x5156    0x7a8a
+0x5157    0x7a8b
+0x5158    0x7a90
+0x5159    0x7a91
+0x515a    0x7a94
+0x515b    0x7a9e
+0x515c    0x7aa0
+0x515d    0x7aa3
+0x515e    0x7aac
+0x515f    0x7ab3
+0x5160    0x7ab5
+0x5161    0x7ab9
+0x5162    0x7abb
+0x5163    0x7abc
+0x5164    0x7ac6
+0x5165    0x7ac9
+0x5166    0x7acc
+0x5167    0x7ace
+0x5168    0x7ad1
+0x5169    0x7adb
+0x516a    0x7ae8
+0x516b    0x7ae9
+0x516c    0x7aeb
+0x516d    0x7aec
+0x516e    0x7af1
+0x516f    0x7af4
+0x5170    0x7afb
+0x5171    0x7afd
+0x5172    0x7afe
+0x5173    0x7b07
+0x5174    0x7b14
+0x5175    0x7b1f
+0x5176    0x7b23
+0x5177    0x7b27
+0x5178    0x7b29
+0x5179    0x7b2a
+0x517a    0x7b2b
+0x517b    0x7b2d
+0x517c    0x7b2e
+0x517d    0x7b2f
+0x517e    0x7b30
+0x5221    0x7b31
+0x5222    0x7b34
+0x5223    0x7b3d
+0x5224    0x7b3f
+0x5225    0x7b40
+0x5226    0x7b41
+0x5227    0x7b47
+0x5228    0x7b4e
+0x5229    0x7b55
+0x522a    0x7b60
+0x522b    0x7b64
+0x522c    0x7b66
+0x522d    0x7b69
+0x522e    0x7b6a
+0x522f    0x7b6d
+0x5230    0x7b6f
+0x5231    0x7b72
+0x5232    0x7b73
+0x5233    0x7b77
+0x5234    0x7b84
+0x5235    0x7b89
+0x5236    0x7b8e
+0x5237    0x7b90
+0x5238    0x7b91
+0x5239    0x7b96
+0x523a    0x7b9b
+0x523b    0x7b9e
+0x523c    0x7ba0
+0x523d    0x7ba5
+0x523e    0x7bac
+0x523f    0x7baf
+0x5240    0x7bb0
+0x5241    0x7bb2
+0x5242    0x7bb5
+0x5243    0x7bb6
+0x5244    0x7bba
+0x5245    0x7bbb
+0x5246    0x7bbc
+0x5247    0x7bbd
+0x5248    0x7bc2
+0x5249    0x7bc5
+0x524a    0x7bc8
+0x524b    0x7bca
+0x524c    0x7bd4
+0x524d    0x7bd6
+0x524e    0x7bd7
+0x524f    0x7bd9
+0x5250    0x7bda
+0x5251    0x7bdb
+0x5252    0x7be8
+0x5253    0x7bea
+0x5254    0x7bf2
+0x5255    0x7bf4
+0x5256    0x7bf5
+0x5257    0x7bf8
+0x5258    0x7bf9
+0x5259    0x7bfa
+0x525a    0x7bfc
+0x525b    0x7bfe
+0x525c    0x7c01
+0x525d    0x7c02
+0x525e    0x7c03
+0x525f    0x7c04
+0x5260    0x7c06
+0x5261    0x7c09
+0x5262    0x7c0b
+0x5263    0x7c0c
+0x5264    0x7c0e
+0x5265    0x7c0f
+0x5266    0x7c19
+0x5267    0x7c1b
+0x5268    0x7c20
+0x5269    0x7c25
+0x526a    0x7c26
+0x526b    0x7c28
+0x526c    0x7c2c
+0x526d    0x7c31
+0x526e    0x7c33
+0x526f    0x7c34
+0x5270    0x7c36
+0x5271    0x7c39
+0x5272    0x7c3a
+0x5273    0x7c46
+0x5274    0x7c4a
+0x5275    0x7c55
+0x5276    0x7c51
+0x5277    0x7c52
+0x5278    0x7c53
+0x5279    0x7c59
+0x527a    0x7c5a
+0x527b    0x7c5b
+0x527c    0x7c5c
+0x527d    0x7c5d
+0x527e    0x7c5e
+0x5321    0x7c61
+0x5322    0x7c63
+0x5323    0x7c67
+0x5324    0x7c69
+0x5325    0x7c6d
+0x5326    0x7c6e
+0x5327    0x7c70
+0x5328    0x7c72
+0x5329    0x7c79
+0x532a    0x7c7c
+0x532b    0x7c7d
+0x532c    0x7c86
+0x532d    0x7c87
+0x532e    0x7c8f
+0x532f    0x7c94
+0x5330    0x7c9e
+0x5331    0x7ca0
+0x5332    0x7ca6
+0x5333    0x7cb0
+0x5334    0x7cb6
+0x5335    0x7cb7
+0x5336    0x7cba
+0x5337    0x7cbb
+0x5338    0x7cbc
+0x5339    0x7cbf
+0x533a    0x7cc4
+0x533b    0x7cc7
+0x533c    0x7cc8
+0x533d    0x7cc9
+0x533e    0x7ccd
+0x533f    0x7ccf
+0x5340    0x7cd3
+0x5341    0x7cd4
+0x5342    0x7cd5
+0x5343    0x7cd7
+0x5344    0x7cd9
+0x5345    0x7cda
+0x5346    0x7cdd
+0x5347    0x7ce6
+0x5348    0x7ce9
+0x5349    0x7ceb
+0x534a    0x7cf5
+0x534b    0x7d03
+0x534c    0x7d07
+0x534d    0x7d08
+0x534e    0x7d09
+0x534f    0x7d0f
+0x5350    0x7d11
+0x5351    0x7d12
+0x5352    0x7d13
+0x5353    0x7d16
+0x5354    0x7d1d
+0x5355    0x7d1e
+0x5356    0x7d23
+0x5357    0x7d26
+0x5358    0x7d2a
+0x5359    0x7d2d
+0x535a    0x7d31
+0x535b    0x7d3c
+0x535c    0x7d3d
+0x535d    0x7d3e
+0x535e    0x7d40
+0x535f    0x7d41
+0x5360    0x7d47
+0x5361    0x7d48
+0x5362    0x7d4d
+0x5363    0x7d51
+0x5364    0x7d53
+0x5365    0x7d57
+0x5366    0x7d59
+0x5367    0x7d5a
+0x5368    0x7d5c
+0x5369    0x7d5d
+0x536a    0x7d65
+0x536b    0x7d67
+0x536c    0x7d6a
+0x536d    0x7d70
+0x536e    0x7d78
+0x536f    0x7d7a
+0x5370    0x7d7b
+0x5371    0x7d7f
+0x5372    0x7d81
+0x5373    0x7d82
+0x5374    0x7d83
+0x5375    0x7d85
+0x5376    0x7d86
+0x5377    0x7d88
+0x5378    0x7d8b
+0x5379    0x7d8c
+0x537a    0x7d8d
+0x537b    0x7d91
+0x537c    0x7d96
+0x537d    0x7d97
+0x537e    0x7d9d
+0x5421    0x7d9e
+0x5422    0x7da6
+0x5423    0x7da7
+0x5424    0x7daa
+0x5425    0x7db3
+0x5426    0x7db6
+0x5427    0x7db7
+0x5428    0x7db9
+0x5429    0x7dc2
+0x542a    0x7dc3
+0x542b    0x7dc4
+0x542c    0x7dc5
+0x542d    0x7dc6
+0x542e    0x7dcc
+0x542f    0x7dcd
+0x5430    0x7dce
+0x5431    0x7dd7
+0x5432    0x7dd9
+0x5433    0x7e00
+0x5434    0x7de2
+0x5435    0x7de5
+0x5436    0x7de6
+0x5437    0x7dea
+0x5438    0x7deb
+0x5439    0x7ded
+0x543a    0x7df1
+0x543b    0x7df5
+0x543c    0x7df6
+0x543d    0x7df9
+0x543e    0x7dfa
+0x543f    0x7e08
+0x5440    0x7e10
+0x5441    0x7e11
+0x5442    0x7e15
+0x5443    0x7e17
+0x5444    0x7e1c
+0x5445    0x7e1d
+0x5446    0x7e20
+0x5447    0x7e27
+0x5448    0x7e28
+0x5449    0x7e2c
+0x544a    0x7e2d
+0x544b    0x7e2f
+0x544c    0x7e33
+0x544d    0x7e36
+0x544e    0x7e3f
+0x544f    0x7e44
+0x5450    0x7e45
+0x5451    0x7e47
+0x5452    0x7e4e
+0x5453    0x7e50
+0x5454    0x7e52
+0x5455    0x7e58
+0x5456    0x7e5f
+0x5457    0x7e61
+0x5458    0x7e62
+0x5459    0x7e65
+0x545a    0x7e6b
+0x545b    0x7e6e
+0x545c    0x7e6f
+0x545d    0x7e73
+0x545e    0x7e78
+0x545f    0x7e7e
+0x5460    0x7e81
+0x5461    0x7e86
+0x5462    0x7e87
+0x5463    0x7e8a
+0x5464    0x7e8d
+0x5465    0x7e91
+0x5466    0x7e95
+0x5467    0x7e98
+0x5468    0x7e9a
+0x5469    0x7e9d
+0x546a    0x7e9e
+0x546b    0x7f3c
+0x546c    0x7f3b
+0x546d    0x7f3d
+0x546e    0x7f3e
+0x546f    0x7f3f
+0x5470    0x7f43
+0x5471    0x7f44
+0x5472    0x7f47
+0x5473    0x7f4f
+0x5474    0x7f52
+0x5475    0x7f53
+0x5476    0x7f5b
+0x5477    0x7f5c
+0x5478    0x7f5d
+0x5479    0x7f61
+0x547a    0x7f63
+0x547b    0x7f64
+0x547c    0x7f65
+0x547d    0x7f66
+0x547e    0x7f6d
+0x5521    0x7f71
+0x5522    0x7f7d
+0x5523    0x7f7e
+0x5524    0x7f7f
+0x5525    0x7f80
+0x5526    0x7f8b
+0x5527    0x7f8d
+0x5528    0x7f8f
+0x5529    0x7f90
+0x552a    0x7f91
+0x552b    0x7f96
+0x552c    0x7f97
+0x552d    0x7f9c
+0x552e    0x7fa1
+0x552f    0x7fa2
+0x5530    0x7fa6
+0x5531    0x7faa
+0x5532    0x7fad
+0x5533    0x7fb4
+0x5534    0x7fbc
+0x5535    0x7fbf
+0x5536    0x7fc0
+0x5537    0x7fc3
+0x5538    0x7fc8
+0x5539    0x7fce
+0x553a    0x7fcf
+0x553b    0x7fdb
+0x553c    0x7fdf
+0x553d    0x7fe3
+0x553e    0x7fe5
+0x553f    0x7fe8
+0x5540    0x7fec
+0x5541    0x7fee
+0x5542    0x7fef
+0x5543    0x7ff2
+0x5544    0x7ffa
+0x5545    0x7ffd
+0x5546    0x7ffe
+0x5547    0x7fff
+0x5548    0x8007
+0x5549    0x8008
+0x554a    0x800a
+0x554b    0x800d
+0x554c    0x800e
+0x554d    0x800f
+0x554e    0x8011
+0x554f    0x8013
+0x5550    0x8014
+0x5551    0x8016
+0x5552    0x801d
+0x5553    0x801e
+0x5554    0x801f
+0x5555    0x8020
+0x5556    0x8024
+0x5557    0x8026
+0x5558    0x802c
+0x5559    0x802e
+0x555a    0x8030
+0x555b    0x8034
+0x555c    0x8035
+0x555d    0x8037
+0x555e    0x8039
+0x555f    0x803a
+0x5560    0x803c
+0x5561    0x803e
+0x5562    0x8040
+0x5563    0x8044
+0x5564    0x8060
+0x5565    0x8064
+0x5566    0x8066
+0x5567    0x806d
+0x5568    0x8071
+0x5569    0x8075
+0x556a    0x8081
+0x556b    0x8088
+0x556c    0x808e
+0x556d    0x809c
+0x556e    0x809e
+0x556f    0x80a6
+0x5570    0x80a7
+0x5571    0x80ab
+0x5572    0x80b8
+0x5573    0x80b9
+0x5574    0x80c8
+0x5575    0x80cd
+0x5576    0x80cf
+0x5577    0x80d2
+0x5578    0x80d4
+0x5579    0x80d5
+0x557a    0x80d7
+0x557b    0x80d8
+0x557c    0x80e0
+0x557d    0x80ed
+0x557e    0x80ee
+0x5621    0x80f0
+0x5622    0x80f2
+0x5623    0x80f3
+0x5624    0x80f6
+0x5625    0x80f9
+0x5626    0x80fa
+0x5627    0x80fe
+0x5628    0x8103
+0x5629    0x810b
+0x562a    0x8116
+0x562b    0x8117
+0x562c    0x8118
+0x562d    0x811c
+0x562e    0x811e
+0x562f    0x8120
+0x5630    0x8124
+0x5631    0x8127
+0x5632    0x812c
+0x5633    0x8130
+0x5634    0x8135
+0x5635    0x813a
+0x5636    0x813c
+0x5637    0x8145
+0x5638    0x8147
+0x5639    0x814a
+0x563a    0x814c
+0x563b    0x8152
+0x563c    0x8157
+0x563d    0x8160
+0x563e    0x8161
+0x563f    0x8167
+0x5640    0x8168
+0x5641    0x8169
+0x5642    0x816d
+0x5643    0x816f
+0x5644    0x8177
+0x5645    0x8181
+0x5646    0x8190
+0x5647    0x8184
+0x5648    0x8185
+0x5649    0x8186
+0x564a    0x818b
+0x564b    0x818e
+0x564c    0x8196
+0x564d    0x8198
+0x564e    0x819b
+0x564f    0x819e
+0x5650    0x81a2
+0x5651    0x81ae
+0x5652    0x81b2
+0x5653    0x81b4
+0x5654    0x81bb
+0x5655    0x81cb
+0x5656    0x81c3
+0x5657    0x81c5
+0x5658    0x81ca
+0x5659    0x81ce
+0x565a    0x81cf
+0x565b    0x81d5
+0x565c    0x81d7
+0x565d    0x81db
+0x565e    0x81dd
+0x565f    0x81de
+0x5660    0x81e1
+0x5661    0x81e4
+0x5662    0x81eb
+0x5663    0x81ec
+0x5664    0x81f0
+0x5665    0x81f1
+0x5666    0x81f2
+0x5667    0x81f5
+0x5668    0x81f6
+0x5669    0x81f8
+0x566a    0x81f9
+0x566b    0x81fd
+0x566c    0x81ff
+0x566d    0x8200
+0x566e    0x8203
+0x566f    0x820f
+0x5670    0x8213
+0x5671    0x8214
+0x5672    0x8219
+0x5673    0x821a
+0x5674    0x821d
+0x5675    0x8221
+0x5676    0x8222
+0x5677    0x8228
+0x5678    0x8232
+0x5679    0x8234
+0x567a    0x823a
+0x567b    0x8243
+0x567c    0x8244
+0x567d    0x8245
+0x567e    0x8246
+0x5721    0x824b
+0x5722    0x824e
+0x5723    0x824f
+0x5724    0x8251
+0x5725    0x8256
+0x5726    0x825c
+0x5727    0x8260
+0x5728    0x8263
+0x5729    0x8267
+0x572a    0x826d
+0x572b    0x8274
+0x572c    0x827b
+0x572d    0x827d
+0x572e    0x827f
+0x572f    0x8280
+0x5730    0x8281
+0x5731    0x8283
+0x5732    0x8284
+0x5733    0x8287
+0x5734    0x8289
+0x5735    0x828a
+0x5736    0x828e
+0x5737    0x8291
+0x5738    0x8294
+0x5739    0x8296
+0x573a    0x8298
+0x573b    0x829a
+0x573c    0x829b
+0x573d    0x82a0
+0x573e    0x82a1
+0x573f    0x82a3
+0x5740    0x82a4
+0x5741    0x82a7
+0x5742    0x82a8
+0x5743    0x82a9
+0x5744    0x82aa
+0x5745    0x82ae
+0x5746    0x82b0
+0x5747    0x82b2
+0x5748    0x82b4
+0x5749    0x82b7
+0x574a    0x82ba
+0x574b    0x82bc
+0x574c    0x82be
+0x574d    0x82bf
+0x574e    0x82c6
+0x574f    0x82d0
+0x5750    0x82d5
+0x5751    0x82da
+0x5752    0x82e0
+0x5753    0x82e2
+0x5754    0x82e4
+0x5755    0x82e8
+0x5756    0x82ea
+0x5757    0x82ed
+0x5758    0x82ef
+0x5759    0x82f6
+0x575a    0x82f7
+0x575b    0x82fd
+0x575c    0x82fe
+0x575d    0x8300
+0x575e    0x8301
+0x575f    0x8307
+0x5760    0x8308
+0x5761    0x830a
+0x5762    0x830b
+0x5763    0x8354
+0x5764    0x831b
+0x5765    0x831d
+0x5766    0x831e
+0x5767    0x831f
+0x5768    0x8321
+0x5769    0x8322
+0x576a    0x832c
+0x576b    0x832d
+0x576c    0x832e
+0x576d    0x8330
+0x576e    0x8333
+0x576f    0x8337
+0x5770    0x833a
+0x5771    0x833c
+0x5772    0x833d
+0x5773    0x8342
+0x5774    0x8343
+0x5775    0x8344
+0x5776    0x8347
+0x5777    0x834d
+0x5778    0x834e
+0x5779    0x8351
+0x577a    0x8355
+0x577b    0x8356
+0x577c    0x8357
+0x577d    0x8370
+0x577e    0x8378
+0x5821    0x837d
+0x5822    0x837f
+0x5823    0x8380
+0x5824    0x8382
+0x5825    0x8384
+0x5826    0x8386
+0x5827    0x838d
+0x5828    0x8392
+0x5829    0x8394
+0x582a    0x8395
+0x582b    0x8398
+0x582c    0x8399
+0x582d    0x839b
+0x582e    0x839c
+0x582f    0x839d
+0x5830    0x83a6
+0x5831    0x83a7
+0x5832    0x83a9
+0x5833    0x83ac
+0x5834    0x83be
+0x5835    0x83bf
+0x5836    0x83c0
+0x5837    0x83c7
+0x5838    0x83c9
+0x5839    0x83cf
+0x583a    0x83d0
+0x583b    0x83d1
+0x583c    0x83d4
+0x583d    0x83dd
+0x583e    0x8353
+0x583f    0x83e8
+0x5840    0x83ea
+0x5841    0x83f6
+0x5842    0x83f8
+0x5843    0x83f9
+0x5844    0x83fc
+0x5845    0x8401
+0x5846    0x8406
+0x5847    0x840a
+0x5848    0x840f
+0x5849    0x8411
+0x584a    0x8415
+0x584b    0x8419
+0x584c    0x83ad
+0x584d    0x842f
+0x584e    0x8439
+0x584f    0x8445
+0x5850    0x8447
+0x5851    0x8448
+0x5852    0x844a
+0x5853    0x844d
+0x5854    0x844f
+0x5855    0x8451
+0x5856    0x8452
+0x5857    0x8456
+0x5858    0x8458
+0x5859    0x8459
+0x585a    0x845a
+0x585b    0x845c
+0x585c    0x8460
+0x585d    0x8464
+0x585e    0x8465
+0x585f    0x8467
+0x5860    0x846a
+0x5861    0x8470
+0x5862    0x8473
+0x5863    0x8474
+0x5864    0x8476
+0x5865    0x8478
+0x5866    0x847c
+0x5867    0x847d
+0x5868    0x8481
+0x5869    0x8485
+0x586a    0x8492
+0x586b    0x8493
+0x586c    0x8495
+0x586d    0x849e
+0x586e    0x84a6
+0x586f    0x84a8
+0x5870    0x84a9
+0x5871    0x84aa
+0x5872    0x84af
+0x5873    0x84b1
+0x5874    0x84b4
+0x5875    0x84ba
+0x5876    0x84bd
+0x5877    0x84be
+0x5878    0x84c0
+0x5879    0x84c2
+0x587a    0x84c7
+0x587b    0x84c8
+0x587c    0x84cc
+0x587d    0x84cf
+0x587e    0x84d3
+0x5921    0x84dc
+0x5922    0x84e7
+0x5923    0x84ea
+0x5924    0x84ef
+0x5925    0x84f0
+0x5926    0x84f1
+0x5927    0x84f2
+0x5928    0x84f7
+0x5929    0x8532
+0x592a    0x84fa
+0x592b    0x84fb
+0x592c    0x84fd
+0x592d    0x8502
+0x592e    0x8503
+0x592f    0x8507
+0x5930    0x850c
+0x5931    0x850e
+0x5932    0x8510
+0x5933    0x851c
+0x5934    0x851e
+0x5935    0x8522
+0x5936    0x8523
+0x5937    0x8524
+0x5938    0x8525
+0x5939    0x8527
+0x593a    0x852a
+0x593b    0x852b
+0x593c    0x852f
+0x593d    0x8533
+0x593e    0x8534
+0x593f    0x8536
+0x5940    0x853f
+0x5941    0x8546
+0x5942    0x854f
+0x5943    0x8550
+0x5944    0x8551
+0x5945    0x8552
+0x5946    0x8553
+0x5947    0x8556
+0x5948    0x8559
+0x5949    0x855c
+0x594a    0x855d
+0x594b    0x855e
+0x594c    0x855f
+0x594d    0x8560
+0x594e    0x8561
+0x594f    0x8562
+0x5950    0x8564
+0x5951    0x856b
+0x5952    0x856f
+0x5953    0x8579
+0x5954    0x857a
+0x5955    0x857b
+0x5956    0x857d
+0x5957    0x857f
+0x5958    0x8581
+0x5959    0x8585
+0x595a    0x8586
+0x595b    0x8589
+0x595c    0x858b
+0x595d    0x858c
+0x595e    0x858f
+0x595f    0x8593
+0x5960    0x8598
+0x5961    0x859d
+0x5962    0x859f
+0x5963    0x85a0
+0x5964    0x85a2
+0x5965    0x85a5
+0x5966    0x85a7
+0x5967    0x85b4
+0x5968    0x85b6
+0x5969    0x85b7
+0x596a    0x85b8
+0x596b    0x85bc
+0x596c    0x85bd
+0x596d    0x85be
+0x596e    0x85bf
+0x596f    0x85c2
+0x5970    0x85c7
+0x5971    0x85ca
+0x5972    0x85cb
+0x5973    0x85ce
+0x5974    0x85ad
+0x5975    0x85d8
+0x5976    0x85da
+0x5977    0x85df
+0x5978    0x85e0
+0x5979    0x85e6
+0x597a    0x85e8
+0x597b    0x85ed
+0x597c    0x85f3
+0x597d    0x85f6
+0x597e    0x85fc
+0x5a21    0x85ff
+0x5a22    0x8600
+0x5a23    0x8604
+0x5a24    0x8605
+0x5a25    0x860d
+0x5a26    0x860e
+0x5a27    0x8610
+0x5a28    0x8611
+0x5a29    0x8612
+0x5a2a    0x8618
+0x5a2b    0x8619
+0x5a2c    0x861b
+0x5a2d    0x861e
+0x5a2e    0x8621
+0x5a2f    0x8627
+0x5a30    0x8629
+0x5a31    0x8636
+0x5a32    0x8638
+0x5a33    0x863a
+0x5a34    0x863c
+0x5a35    0x863d
+0x5a36    0x8640
+0x5a37    0x8642
+0x5a38    0x8646
+0x5a39    0x8652
+0x5a3a    0x8653
+0x5a3b    0x8656
+0x5a3c    0x8657
+0x5a3d    0x8658
+0x5a3e    0x8659
+0x5a3f    0x865d
+0x5a40    0x8660
+0x5a41    0x8661
+0x5a42    0x8662
+0x5a43    0x8663
+0x5a44    0x8664
+0x5a45    0x8669
+0x5a46    0x866c
+0x5a47    0x866f
+0x5a48    0x8675
+0x5a49    0x8676
+0x5a4a    0x8677
+0x5a4b    0x867a
+0x5a4c    0x868d
+0x5a4d    0x8691
+0x5a4e    0x8696
+0x5a4f    0x8698
+0x5a50    0x869a
+0x5a51    0x869c
+0x5a52    0x86a1
+0x5a53    0x86a6
+0x5a54    0x86a7
+0x5a55    0x86a8
+0x5a56    0x86ad
+0x5a57    0x86b1
+0x5a58    0x86b3
+0x5a59    0x86b4
+0x5a5a    0x86b5
+0x5a5b    0x86b7
+0x5a5c    0x86b8
+0x5a5d    0x86b9
+0x5a5e    0x86bf
+0x5a5f    0x86c0
+0x5a60    0x86c1
+0x5a61    0x86c3
+0x5a62    0x86c5
+0x5a63    0x86d1
+0x5a64    0x86d2
+0x5a65    0x86d5
+0x5a66    0x86d7
+0x5a67    0x86da
+0x5a68    0x86dc
+0x5a69    0x86e0
+0x5a6a    0x86e3
+0x5a6b    0x86e5
+0x5a6c    0x86e7
+0x5a6d    0x8688
+0x5a6e    0x86fa
+0x5a6f    0x86fc
+0x5a70    0x86fd
+0x5a71    0x8704
+0x5a72    0x8705
+0x5a73    0x8707
+0x5a74    0x870b
+0x5a75    0x870e
+0x5a76    0x870f
+0x5a77    0x8710
+0x5a78    0x8713
+0x5a79    0x8714
+0x5a7a    0x8719
+0x5a7b    0x871e
+0x5a7c    0x871f
+0x5a7d    0x8721
+0x5a7e    0x8723
+0x5b21    0x8728
+0x5b22    0x872e
+0x5b23    0x872f
+0x5b24    0x8731
+0x5b25    0x8732
+0x5b26    0x8739
+0x5b27    0x873a
+0x5b28    0x873c
+0x5b29    0x873d
+0x5b2a    0x873e
+0x5b2b    0x8740
+0x5b2c    0x8743
+0x5b2d    0x8745
+0x5b2e    0x874d
+0x5b2f    0x8758
+0x5b30    0x875d
+0x5b31    0x8761
+0x5b32    0x8764
+0x5b33    0x8765
+0x5b34    0x876f
+0x5b35    0x8771
+0x5b36    0x8772
+0x5b37    0x877b
+0x5b38    0x8783
+0x5b39    0x8784
+0x5b3a    0x8785
+0x5b3b    0x8786
+0x5b3c    0x8787
+0x5b3d    0x8788
+0x5b3e    0x8789
+0x5b3f    0x878b
+0x5b40    0x878c
+0x5b41    0x8790
+0x5b42    0x8793
+0x5b43    0x8795
+0x5b44    0x8797
+0x5b45    0x8798
+0x5b46    0x8799
+0x5b47    0x879e
+0x5b48    0x87a0
+0x5b49    0x87a3
+0x5b4a    0x87a7
+0x5b4b    0x87ac
+0x5b4c    0x87ad
+0x5b4d    0x87ae
+0x5b4e    0x87b1
+0x5b4f    0x87b5
+0x5b50    0x87be
+0x5b51    0x87bf
+0x5b52    0x87c1
+0x5b53    0x87c8
+0x5b54    0x87c9
+0x5b55    0x87ca
+0x5b56    0x87ce
+0x5b57    0x87d5
+0x5b58    0x87d6
+0x5b59    0x87d9
+0x5b5a    0x87da
+0x5b5b    0x87dc
+0x5b5c    0x87df
+0x5b5d    0x87e2
+0x5b5e    0x87e3
+0x5b5f    0x87e4
+0x5b60    0x87ea
+0x5b61    0x87eb
+0x5b62    0x87ed
+0x5b63    0x87f1
+0x5b64    0x87f3
+0x5b65    0x87f8
+0x5b66    0x87fa
+0x5b67    0x87ff
+0x5b68    0x8801
+0x5b69    0x8803
+0x5b6a    0x8806
+0x5b6b    0x8809
+0x5b6c    0x880a
+0x5b6d    0x880b
+0x5b6e    0x8810
+0x5b6f    0x8819
+0x5b70    0x8812
+0x5b71    0x8813
+0x5b72    0x8814
+0x5b73    0x8818
+0x5b74    0x881a
+0x5b75    0x881b
+0x5b76    0x881c
+0x5b77    0x881e
+0x5b78    0x881f
+0x5b79    0x8828
+0x5b7a    0x882d
+0x5b7b    0x882e
+0x5b7c    0x8830
+0x5b7d    0x8832
+0x5b7e    0x8835
+0x5c21    0x883a
+0x5c22    0x883c
+0x5c23    0x8841
+0x5c24    0x8843
+0x5c25    0x8845
+0x5c26    0x8848
+0x5c27    0x8849
+0x5c28    0x884a
+0x5c29    0x884b
+0x5c2a    0x884e
+0x5c2b    0x8851
+0x5c2c    0x8855
+0x5c2d    0x8856
+0x5c2e    0x8858
+0x5c2f    0x885a
+0x5c30    0x885c
+0x5c31    0x885f
+0x5c32    0x8860
+0x5c33    0x8864
+0x5c34    0x8869
+0x5c35    0x8871
+0x5c36    0x8879
+0x5c37    0x887b
+0x5c38    0x8880
+0x5c39    0x8898
+0x5c3a    0x889a
+0x5c3b    0x889b
+0x5c3c    0x889c
+0x5c3d    0x889f
+0x5c3e    0x88a0
+0x5c3f    0x88a8
+0x5c40    0x88aa
+0x5c41    0x88ba
+0x5c42    0x88bd
+0x5c43    0x88be
+0x5c44    0x88c0
+0x5c45    0x88ca
+0x5c46    0x88cb
+0x5c47    0x88cc
+0x5c48    0x88cd
+0x5c49    0x88ce
+0x5c4a    0x88d1
+0x5c4b    0x88d2
+0x5c4c    0x88d3
+0x5c4d    0x88db
+0x5c4e    0x88de
+0x5c4f    0x88e7
+0x5c50    0x88ef
+0x5c51    0x88f0
+0x5c52    0x88f1
+0x5c53    0x88f5
+0x5c54    0x88f7
+0x5c55    0x8901
+0x5c56    0x8906
+0x5c57    0x890d
+0x5c58    0x890e
+0x5c59    0x890f
+0x5c5a    0x8915
+0x5c5b    0x8916
+0x5c5c    0x8918
+0x5c5d    0x8919
+0x5c5e    0x891a
+0x5c5f    0x891c
+0x5c60    0x8920
+0x5c61    0x8926
+0x5c62    0x8927
+0x5c63    0x8928
+0x5c64    0x8930
+0x5c65    0x8931
+0x5c66    0x8932
+0x5c67    0x8935
+0x5c68    0x8939
+0x5c69    0x893a
+0x5c6a    0x893e
+0x5c6b    0x8940
+0x5c6c    0x8942
+0x5c6d    0x8945
+0x5c6e    0x8946
+0x5c6f    0x8949
+0x5c70    0x894f
+0x5c71    0x8952
+0x5c72    0x8957
+0x5c73    0x895a
+0x5c74    0x895b
+0x5c75    0x895c
+0x5c76    0x8961
+0x5c77    0x8962
+0x5c78    0x8963
+0x5c79    0x896b
+0x5c7a    0x896e
+0x5c7b    0x8970
+0x5c7c    0x8973
+0x5c7d    0x8975
+0x5c7e    0x897a
+0x5d21    0x897b
+0x5d22    0x897c
+0x5d23    0x897d
+0x5d24    0x8989
+0x5d25    0x898d
+0x5d26    0x8990
+0x5d27    0x8994
+0x5d28    0x8995
+0x5d29    0x899b
+0x5d2a    0x899c
+0x5d2b    0x899f
+0x5d2c    0x89a0
+0x5d2d    0x89a5
+0x5d2e    0x89b0
+0x5d2f    0x89b4
+0x5d30    0x89b5
+0x5d31    0x89b6
+0x5d32    0x89b7
+0x5d33    0x89bc
+0x5d34    0x89d4
+0x5d35    0x89d5
+0x5d36    0x89d6
+0x5d37    0x89d7
+0x5d38    0x89d8
+0x5d39    0x89e5
+0x5d3a    0x89e9
+0x5d3b    0x89eb
+0x5d3c    0x89ed
+0x5d3d    0x89f1
+0x5d3e    0x89f3
+0x5d3f    0x89f6
+0x5d40    0x89f9
+0x5d41    0x89fd
+0x5d42    0x89ff
+0x5d43    0x8a04
+0x5d44    0x8a05
+0x5d45    0x8a07
+0x5d46    0x8a0f
+0x5d47    0x8a11
+0x5d48    0x8a12
+0x5d49    0x8a14
+0x5d4a    0x8a15
+0x5d4b    0x8a1e
+0x5d4c    0x8a20
+0x5d4d    0x8a22
+0x5d4e    0x8a24
+0x5d4f    0x8a26
+0x5d50    0x8a2b
+0x5d51    0x8a2c
+0x5d52    0x8a2f
+0x5d53    0x8a35
+0x5d54    0x8a37
+0x5d55    0x8a3d
+0x5d56    0x8a3e
+0x5d57    0x8a40
+0x5d58    0x8a43
+0x5d59    0x8a45
+0x5d5a    0x8a47
+0x5d5b    0x8a49
+0x5d5c    0x8a4d
+0x5d5d    0x8a4e
+0x5d5e    0x8a53
+0x5d5f    0x8a56
+0x5d60    0x8a57
+0x5d61    0x8a58
+0x5d62    0x8a5c
+0x5d63    0x8a5d
+0x5d64    0x8a61
+0x5d65    0x8a65
+0x5d66    0x8a67
+0x5d67    0x8a75
+0x5d68    0x8a76
+0x5d69    0x8a77
+0x5d6a    0x8a79
+0x5d6b    0x8a7a
+0x5d6c    0x8a7b
+0x5d6d    0x8a7e
+0x5d6e    0x8a7f
+0x5d6f    0x8a80
+0x5d70    0x8a83
+0x5d71    0x8a86
+0x5d72    0x8a8b
+0x5d73    0x8a8f
+0x5d74    0x8a90
+0x5d75    0x8a92
+0x5d76    0x8a96
+0x5d77    0x8a97
+0x5d78    0x8a99
+0x5d79    0x8a9f
+0x5d7a    0x8aa7
+0x5d7b    0x8aa9
+0x5d7c    0x8aae
+0x5d7d    0x8aaf
+0x5d7e    0x8ab3
+0x5e21    0x8ab6
+0x5e22    0x8ab7
+0x5e23    0x8abb
+0x5e24    0x8abe
+0x5e25    0x8ac3
+0x5e26    0x8ac6
+0x5e27    0x8ac8
+0x5e28    0x8ac9
+0x5e29    0x8aca
+0x5e2a    0x8ad1
+0x5e2b    0x8ad3
+0x5e2c    0x8ad4
+0x5e2d    0x8ad5
+0x5e2e    0x8ad7
+0x5e2f    0x8add
+0x5e30    0x8adf
+0x5e31    0x8aec
+0x5e32    0x8af0
+0x5e33    0x8af4
+0x5e34    0x8af5
+0x5e35    0x8af6
+0x5e36    0x8afc
+0x5e37    0x8aff
+0x5e38    0x8b05
+0x5e39    0x8b06
+0x5e3a    0x8b0b
+0x5e3b    0x8b11
+0x5e3c    0x8b1c
+0x5e3d    0x8b1e
+0x5e3e    0x8b1f
+0x5e3f    0x8b0a
+0x5e40    0x8b2d
+0x5e41    0x8b30
+0x5e42    0x8b37
+0x5e43    0x8b3c
+0x5e44    0x8b42
+0x5e45    0x8b43
+0x5e46    0x8b44
+0x5e47    0x8b45
+0x5e48    0x8b46
+0x5e49    0x8b48
+0x5e4a    0x8b52
+0x5e4b    0x8b53
+0x5e4c    0x8b54
+0x5e4d    0x8b59
+0x5e4e    0x8b4d
+0x5e4f    0x8b5e
+0x5e50    0x8b63
+0x5e51    0x8b6d
+0x5e52    0x8b76
+0x5e53    0x8b78
+0x5e54    0x8b79
+0x5e55    0x8b7c
+0x5e56    0x8b7e
+0x5e57    0x8b81
+0x5e58    0x8b84
+0x5e59    0x8b85
+0x5e5a    0x8b8b
+0x5e5b    0x8b8d
+0x5e5c    0x8b8f
+0x5e5d    0x8b94
+0x5e5e    0x8b95
+0x5e5f    0x8b9c
+0x5e60    0x8b9e
+0x5e61    0x8b9f
+0x5e62    0x8c38
+0x5e63    0x8c39
+0x5e64    0x8c3d
+0x5e65    0x8c3e
+0x5e66    0x8c45
+0x5e67    0x8c47
+0x5e68    0x8c49
+0x5e69    0x8c4b
+0x5e6a    0x8c4f
+0x5e6b    0x8c51
+0x5e6c    0x8c53
+0x5e6d    0x8c54
+0x5e6e    0x8c57
+0x5e6f    0x8c58
+0x5e70    0x8c5b
+0x5e71    0x8c5d
+0x5e72    0x8c59
+0x5e73    0x8c63
+0x5e74    0x8c64
+0x5e75    0x8c66
+0x5e76    0x8c68
+0x5e77    0x8c69
+0x5e78    0x8c6d
+0x5e79    0x8c73
+0x5e7a    0x8c75
+0x5e7b    0x8c76
+0x5e7c    0x8c7b
+0x5e7d    0x8c7e
+0x5e7e    0x8c86
+0x5f21    0x8c87
+0x5f22    0x8c8b
+0x5f23    0x8c90
+0x5f24    0x8c92
+0x5f25    0x8c93
+0x5f26    0x8c99
+0x5f27    0x8c9b
+0x5f28    0x8c9c
+0x5f29    0x8ca4
+0x5f2a    0x8cb9
+0x5f2b    0x8cba
+0x5f2c    0x8cc5
+0x5f2d    0x8cc6
+0x5f2e    0x8cc9
+0x5f2f    0x8ccb
+0x5f30    0x8ccf
+0x5f31    0x8cd6
+0x5f32    0x8cd5
+0x5f33    0x8cd9
+0x5f34    0x8cdd
+0x5f35    0x8ce1
+0x5f36    0x8ce8
+0x5f37    0x8cec
+0x5f38    0x8cef
+0x5f39    0x8cf0
+0x5f3a    0x8cf2
+0x5f3b    0x8cf5
+0x5f3c    0x8cf7
+0x5f3d    0x8cf8
+0x5f3e    0x8cfe
+0x5f3f    0x8cff
+0x5f40    0x8d01
+0x5f41    0x8d03
+0x5f42    0x8d09
+0x5f43    0x8d12
+0x5f44    0x8d17
+0x5f45    0x8d1b
+0x5f46    0x8d65
+0x5f47    0x8d69
+0x5f48    0x8d6c
+0x5f49    0x8d6e
+0x5f4a    0x8d7f
+0x5f4b    0x8d82
+0x5f4c    0x8d84
+0x5f4d    0x8d88
+0x5f4e    0x8d8d
+0x5f4f    0x8d90
+0x5f50    0x8d91
+0x5f51    0x8d95
+0x5f52    0x8d9e
+0x5f53    0x8d9f
+0x5f54    0x8da0
+0x5f55    0x8da6
+0x5f56    0x8dab
+0x5f57    0x8dac
+0x5f58    0x8daf
+0x5f59    0x8db2
+0x5f5a    0x8db5
+0x5f5b    0x8db7
+0x5f5c    0x8db9
+0x5f5d    0x8dbb
+0x5f5e    0x8dc0
+0x5f5f    0x8dc5
+0x5f60    0x8dc6
+0x5f61    0x8dc7
+0x5f62    0x8dc8
+0x5f63    0x8dca
+0x5f64    0x8dce
+0x5f65    0x8dd1
+0x5f66    0x8dd4
+0x5f67    0x8dd5
+0x5f68    0x8dd7
+0x5f69    0x8dd9
+0x5f6a    0x8de4
+0x5f6b    0x8de5
+0x5f6c    0x8de7
+0x5f6d    0x8dec
+0x5f6e    0x8df0
+0x5f6f    0x8dbc
+0x5f70    0x8df1
+0x5f71    0x8df2
+0x5f72    0x8df4
+0x5f73    0x8dfd
+0x5f74    0x8e01
+0x5f75    0x8e04
+0x5f76    0x8e05
+0x5f77    0x8e06
+0x5f78    0x8e0b
+0x5f79    0x8e11
+0x5f7a    0x8e14
+0x5f7b    0x8e16
+0x5f7c    0x8e20
+0x5f7d    0x8e21
+0x5f7e    0x8e22
+0x6021    0x8e23
+0x6022    0x8e26
+0x6023    0x8e27
+0x6024    0x8e31
+0x6025    0x8e33
+0x6026    0x8e36
+0x6027    0x8e37
+0x6028    0x8e38
+0x6029    0x8e39
+0x602a    0x8e3d
+0x602b    0x8e40
+0x602c    0x8e41
+0x602d    0x8e4b
+0x602e    0x8e4d
+0x602f    0x8e4e
+0x6030    0x8e4f
+0x6031    0x8e54
+0x6032    0x8e5b
+0x6033    0x8e5c
+0x6034    0x8e5d
+0x6035    0x8e5e
+0x6036    0x8e61
+0x6037    0x8e62
+0x6038    0x8e69
+0x6039    0x8e6c
+0x603a    0x8e6d
+0x603b    0x8e6f
+0x603c    0x8e70
+0x603d    0x8e71
+0x603e    0x8e79
+0x603f    0x8e7a
+0x6040    0x8e7b
+0x6041    0x8e82
+0x6042    0x8e83
+0x6043    0x8e89
+0x6044    0x8e90
+0x6045    0x8e92
+0x6046    0x8e95
+0x6047    0x8e9a
+0x6048    0x8e9b
+0x6049    0x8e9d
+0x604a    0x8e9e
+0x604b    0x8ea2
+0x604c    0x8ea7
+0x604d    0x8ea9
+0x604e    0x8ead
+0x604f    0x8eae
+0x6050    0x8eb3
+0x6051    0x8eb5
+0x6052    0x8eba
+0x6053    0x8ebb
+0x6054    0x8ec0
+0x6055    0x8ec1
+0x6056    0x8ec3
+0x6057    0x8ec4
+0x6058    0x8ec7
+0x6059    0x8ecf
+0x605a    0x8ed1
+0x605b    0x8ed4
+0x605c    0x8edc
+0x605d    0x8ee8
+0x605e    0x8eee
+0x605f    0x8ef0
+0x6060    0x8ef1
+0x6061    0x8ef7
+0x6062    0x8ef9
+0x6063    0x8efa
+0x6064    0x8eed
+0x6065    0x8f00
+0x6066    0x8f02
+0x6067    0x8f07
+0x6068    0x8f08
+0x6069    0x8f0f
+0x606a    0x8f10
+0x606b    0x8f16
+0x606c    0x8f17
+0x606d    0x8f18
+0x606e    0x8f1e
+0x606f    0x8f20
+0x6070    0x8f21
+0x6071    0x8f23
+0x6072    0x8f25
+0x6073    0x8f27
+0x6074    0x8f28
+0x6075    0x8f2c
+0x6076    0x8f2d
+0x6077    0x8f2e
+0x6078    0x8f34
+0x6079    0x8f35
+0x607a    0x8f36
+0x607b    0x8f37
+0x607c    0x8f3a
+0x607d    0x8f40
+0x607e    0x8f41
+0x6121    0x8f43
+0x6122    0x8f47
+0x6123    0x8f4f
+0x6124    0x8f51
+0x6125    0x8f52
+0x6126    0x8f53
+0x6127    0x8f54
+0x6128    0x8f55
+0x6129    0x8f58
+0x612a    0x8f5d
+0x612b    0x8f5e
+0x612c    0x8f65
+0x612d    0x8f9d
+0x612e    0x8fa0
+0x612f    0x8fa1
+0x6130    0x8fa4
+0x6131    0x8fa5
+0x6132    0x8fa6
+0x6133    0x8fb5
+0x6134    0x8fb6
+0x6135    0x8fb8
+0x6136    0x8fbe
+0x6137    0x8fc0
+0x6138    0x8fc1
+0x6139    0x8fc6
+0x613a    0x8fca
+0x613b    0x8fcb
+0x613c    0x8fcd
+0x613d    0x8fd0
+0x613e    0x8fd2
+0x613f    0x8fd3
+0x6140    0x8fd5
+0x6141    0x8fe0
+0x6142    0x8fe3
+0x6143    0x8fe4
+0x6144    0x8fe8
+0x6145    0x8fee
+0x6146    0x8ff1
+0x6147    0x8ff5
+0x6148    0x8ff6
+0x6149    0x8ffb
+0x614a    0x8ffe
+0x614b    0x9002
+0x614c    0x9004
+0x614d    0x9008
+0x614e    0x900c
+0x614f    0x9018
+0x6150    0x901b
+0x6151    0x9028
+0x6152    0x9029
+0x6153    0x902f
+0x6154    0x902a
+0x6155    0x902c
+0x6156    0x902d
+0x6157    0x9033
+0x6158    0x9034
+0x6159    0x9037
+0x615a    0x903f
+0x615b    0x9043
+0x615c    0x9044
+0x615d    0x904c
+0x615e    0x905b
+0x615f    0x905d
+0x6160    0x9062
+0x6161    0x9066
+0x6162    0x9067
+0x6163    0x906c
+0x6164    0x9070
+0x6165    0x9074
+0x6166    0x9079
+0x6167    0x9085
+0x6168    0x9088
+0x6169    0x908b
+0x616a    0x908c
+0x616b    0x908e
+0x616c    0x9090
+0x616d    0x9095
+0x616e    0x9097
+0x616f    0x9098
+0x6170    0x9099
+0x6171    0x909b
+0x6172    0x90a0
+0x6173    0x90a1
+0x6174    0x90a2
+0x6175    0x90a5
+0x6176    0x90b0
+0x6177    0x90b2
+0x6178    0x90b3
+0x6179    0x90b4
+0x617a    0x90b6
+0x617b    0x90bd
+0x617c    0x90cc
+0x617d    0x90be
+0x617e    0x90c3
+0x6221    0x90c4
+0x6222    0x90c5
+0x6223    0x90c7
+0x6224    0x90c8
+0x6225    0x90d5
+0x6226    0x90d7
+0x6227    0x90d8
+0x6228    0x90d9
+0x6229    0x90dc
+0x622a    0x90dd
+0x622b    0x90df
+0x622c    0x90e5
+0x622d    0x90d2
+0x622e    0x90f6
+0x622f    0x90eb
+0x6230    0x90ef
+0x6231    0x90f0
+0x6232    0x90f4
+0x6233    0x90fe
+0x6234    0x90ff
+0x6235    0x9100
+0x6236    0x9104
+0x6237    0x9105
+0x6238    0x9106
+0x6239    0x9108
+0x623a    0x910d
+0x623b    0x9110
+0x623c    0x9114
+0x623d    0x9116
+0x623e    0x9117
+0x623f    0x9118
+0x6240    0x911a
+0x6241    0x911c
+0x6242    0x911e
+0x6243    0x9120
+0x6244    0x9125
+0x6245    0x9122
+0x6246    0x9123
+0x6247    0x9127
+0x6248    0x9129
+0x6249    0x912e
+0x624a    0x912f
+0x624b    0x9131
+0x624c    0x9134
+0x624d    0x9136
+0x624e    0x9137
+0x624f    0x9139
+0x6250    0x913a
+0x6251    0x913c
+0x6252    0x913d
+0x6253    0x9143
+0x6254    0x9147
+0x6255    0x9148
+0x6256    0x914f
+0x6257    0x9153
+0x6258    0x9157
+0x6259    0x9159
+0x625a    0x915a
+0x625b    0x915b
+0x625c    0x9161
+0x625d    0x9164
+0x625e    0x9167
+0x625f    0x916d
+0x6260    0x9174
+0x6261    0x9179
+0x6262    0x917a
+0x6263    0x917b
+0x6264    0x9181
+0x6265    0x9183
+0x6266    0x9185
+0x6267    0x9186
+0x6268    0x918a
+0x6269    0x918e
+0x626a    0x9191
+0x626b    0x9193
+0x626c    0x9194
+0x626d    0x9195
+0x626e    0x9198
+0x626f    0x919e
+0x6270    0x91a1
+0x6271    0x91a6
+0x6272    0x91a8
+0x6273    0x91ac
+0x6274    0x91ad
+0x6275    0x91ae
+0x6276    0x91b0
+0x6277    0x91b1
+0x6278    0x91b2
+0x6279    0x91b3
+0x627a    0x91b6
+0x627b    0x91bb
+0x627c    0x91bc
+0x627d    0x91bd
+0x627e    0x91bf
+0x6321    0x91c2
+0x6322    0x91c3
+0x6323    0x91c5
+0x6324    0x91d3
+0x6325    0x91d4
+0x6326    0x91d7
+0x6327    0x91d9
+0x6328    0x91da
+0x6329    0x91de
+0x632a    0x91e4
+0x632b    0x91e5
+0x632c    0x91e9
+0x632d    0x91ea
+0x632e    0x91ec
+0x632f    0x91ed
+0x6330    0x91ee
+0x6331    0x91ef
+0x6332    0x91f0
+0x6333    0x91f1
+0x6334    0x91f7
+0x6335    0x91f9
+0x6336    0x91fb
+0x6337    0x91fd
+0x6338    0x9200
+0x6339    0x9201
+0x633a    0x9204
+0x633b    0x9205
+0x633c    0x9206
+0x633d    0x9207
+0x633e    0x9209
+0x633f    0x920a
+0x6340    0x920c
+0x6341    0x9210
+0x6342    0x9212
+0x6343    0x9213
+0x6344    0x9216
+0x6345    0x9218
+0x6346    0x921c
+0x6347    0x921d
+0x6348    0x9223
+0x6349    0x9224
+0x634a    0x9225
+0x634b    0x9226
+0x634c    0x9228
+0x634d    0x922e
+0x634e    0x922f
+0x634f    0x9230
+0x6350    0x9233
+0x6351    0x9235
+0x6352    0x9236
+0x6353    0x9238
+0x6354    0x9239
+0x6355    0x923a
+0x6356    0x923c
+0x6357    0x923e
+0x6358    0x9240
+0x6359    0x9242
+0x635a    0x9243
+0x635b    0x9246
+0x635c    0x9247
+0x635d    0x924a
+0x635e    0x924d
+0x635f    0x924e
+0x6360    0x924f
+0x6361    0x9251
+0x6362    0x9258
+0x6363    0x9259
+0x6364    0x925c
+0x6365    0x925d
+0x6366    0x9260
+0x6367    0x9261
+0x6368    0x9265
+0x6369    0x9267
+0x636a    0x9268
+0x636b    0x9269
+0x636c    0x926e
+0x636d    0x926f
+0x636e    0x9270
+0x636f    0x9275
+0x6370    0x9276
+0x6371    0x9277
+0x6372    0x9278
+0x6373    0x9279
+0x6374    0x927b
+0x6375    0x927c
+0x6376    0x927d
+0x6377    0x927f
+0x6378    0x9288
+0x6379    0x9289
+0x637a    0x928a
+0x637b    0x928d
+0x637c    0x928e
+0x637d    0x9292
+0x637e    0x9297
+0x6421    0x9299
+0x6422    0x929f
+0x6423    0x92a0
+0x6424    0x92a4
+0x6425    0x92a5
+0x6426    0x92a7
+0x6427    0x92a8
+0x6428    0x92ab
+0x6429    0x92af
+0x642a    0x92b2
+0x642b    0x92b6
+0x642c    0x92b8
+0x642d    0x92ba
+0x642e    0x92bb
+0x642f    0x92bc
+0x6430    0x92bd
+0x6431    0x92bf
+0x6432    0x92c0
+0x6433    0x92c1
+0x6434    0x92c2
+0x6435    0x92c3
+0x6436    0x92c5
+0x6437    0x92c6
+0x6438    0x92c7
+0x6439    0x92c8
+0x643a    0x92cb
+0x643b    0x92cc
+0x643c    0x92cd
+0x643d    0x92ce
+0x643e    0x92d0
+0x643f    0x92d3
+0x6440    0x92d5
+0x6441    0x92d7
+0x6442    0x92d8
+0x6443    0x92d9
+0x6444    0x92dc
+0x6445    0x92dd
+0x6446    0x92df
+0x6447    0x92e0
+0x6448    0x92e1
+0x6449    0x92e3
+0x644a    0x92e5
+0x644b    0x92e7
+0x644c    0x92e8
+0x644d    0x92ec
+0x644e    0x92ee
+0x644f    0x92f0
+0x6450    0x92f9
+0x6451    0x92fb
+0x6452    0x92ff
+0x6453    0x9300
+0x6454    0x9302
+0x6455    0x9308
+0x6456    0x930d
+0x6457    0x9311
+0x6458    0x9314
+0x6459    0x9315
+0x645a    0x931c
+0x645b    0x931d
+0x645c    0x931e
+0x645d    0x931f
+0x645e    0x9321
+0x645f    0x9324
+0x6460    0x9325
+0x6461    0x9327
+0x6462    0x9329
+0x6463    0x932a
+0x6464    0x9333
+0x6465    0x9334
+0x6466    0x9336
+0x6467    0x9337
+0x6468    0x9347
+0x6469    0x9348
+0x646a    0x9349
+0x646b    0x9350
+0x646c    0x9351
+0x646d    0x9352
+0x646e    0x9355
+0x646f    0x9357
+0x6470    0x9358
+0x6471    0x935a
+0x6472    0x935e
+0x6473    0x9364
+0x6474    0x9365
+0x6475    0x9367
+0x6476    0x9369
+0x6477    0x936a
+0x6478    0x936d
+0x6479    0x936f
+0x647a    0x9370
+0x647b    0x9371
+0x647c    0x9373
+0x647d    0x9374
+0x647e    0x9376
+0x6521    0x937a
+0x6522    0x937d
+0x6523    0x937f
+0x6524    0x9380
+0x6525    0x9381
+0x6526    0x9382
+0x6527    0x9388
+0x6528    0x938a
+0x6529    0x938b
+0x652a    0x938d
+0x652b    0x938f
+0x652c    0x9392
+0x652d    0x9395
+0x652e    0x9398
+0x652f    0x939b
+0x6530    0x939e
+0x6531    0x93a1
+0x6532    0x93a3
+0x6533    0x93a4
+0x6534    0x93a6
+0x6535    0x93a8
+0x6536    0x93ab
+0x6537    0x93b4
+0x6538    0x93b5
+0x6539    0x93b6
+0x653a    0x93ba
+0x653b    0x93a9
+0x653c    0x93c1
+0x653d    0x93c4
+0x653e    0x93c5
+0x653f    0x93c6
+0x6540    0x93c7
+0x6541    0x93c9
+0x6542    0x93ca
+0x6543    0x93cb
+0x6544    0x93cc
+0x6545    0x93cd
+0x6546    0x93d3
+0x6547    0x93d9
+0x6548    0x93dc
+0x6549    0x93de
+0x654a    0x93df
+0x654b    0x93e2
+0x654c    0x93e6
+0x654d    0x93e7
+0x654e    0x93f9
+0x654f    0x93f7
+0x6550    0x93f8
+0x6551    0x93fa
+0x6552    0x93fb
+0x6553    0x93fd
+0x6554    0x9401
+0x6555    0x9402
+0x6556    0x9404
+0x6557    0x9408
+0x6558    0x9409
+0x6559    0x940d
+0x655a    0x940e
+0x655b    0x940f
+0x655c    0x9415
+0x655d    0x9416
+0x655e    0x9417
+0x655f    0x941f
+0x6560    0x942e
+0x6561    0x942f
+0x6562    0x9431
+0x6563    0x9432
+0x6564    0x9433
+0x6565    0x9434
+0x6566    0x943b
+0x6567    0x943f
+0x6568    0x943d
+0x6569    0x9443
+0x656a    0x9445
+0x656b    0x9448
+0x656c    0x944a
+0x656d    0x944c
+0x656e    0x9455
+0x656f    0x9459
+0x6570    0x945c
+0x6571    0x945f
+0x6572    0x9461
+0x6573    0x9463
+0x6574    0x9468
+0x6575    0x946b
+0x6576    0x946d
+0x6577    0x946e
+0x6578    0x946f
+0x6579    0x9471
+0x657a    0x9472
+0x657b    0x9484
+0x657c    0x9483
+0x657d    0x9578
+0x657e    0x9579
+0x6621    0x957e
+0x6622    0x9584
+0x6623    0x9588
+0x6624    0x958c
+0x6625    0x958d
+0x6626    0x958e
+0x6627    0x959d
+0x6628    0x959e
+0x6629    0x959f
+0x662a    0x95a1
+0x662b    0x95a6
+0x662c    0x95a9
+0x662d    0x95ab
+0x662e    0x95ac
+0x662f    0x95b4
+0x6630    0x95b6
+0x6631    0x95ba
+0x6632    0x95bd
+0x6633    0x95bf
+0x6634    0x95c6
+0x6635    0x95c8
+0x6636    0x95c9
+0x6637    0x95cb
+0x6638    0x95d0
+0x6639    0x95d1
+0x663a    0x95d2
+0x663b    0x95d3
+0x663c    0x95d9
+0x663d    0x95da
+0x663e    0x95dd
+0x663f    0x95de
+0x6640    0x95df
+0x6641    0x95e0
+0x6642    0x95e4
+0x6643    0x95e6
+0x6644    0x961d
+0x6645    0x961e
+0x6646    0x9622
+0x6647    0x9624
+0x6648    0x9625
+0x6649    0x9626
+0x664a    0x962c
+0x664b    0x9631
+0x664c    0x9633
+0x664d    0x9637
+0x664e    0x9638
+0x664f    0x9639
+0x6650    0x963a
+0x6651    0x963c
+0x6652    0x963d
+0x6653    0x9641
+0x6654    0x9652
+0x6655    0x9654
+0x6656    0x9656
+0x6657    0x9657
+0x6658    0x9658
+0x6659    0x9661
+0x665a    0x966e
+0x665b    0x9674
+0x665c    0x967b
+0x665d    0x967c
+0x665e    0x967e
+0x665f    0x967f
+0x6660    0x9681
+0x6661    0x9682
+0x6662    0x9683
+0x6663    0x9684
+0x6664    0x9689
+0x6665    0x9691
+0x6666    0x9696
+0x6667    0x969a
+0x6668    0x969d
+0x6669    0x969f
+0x666a    0x96a4
+0x666b    0x96a5
+0x666c    0x96a6
+0x666d    0x96a9
+0x666e    0x96ae
+0x666f    0x96af
+0x6670    0x96b3
+0x6671    0x96ba
+0x6672    0x96ca
+0x6673    0x96d2
+0x6674    0x5db2
+0x6675    0x96d8
+0x6676    0x96da
+0x6677    0x96dd
+0x6678    0x96de
+0x6679    0x96df
+0x667a    0x96e9
+0x667b    0x96ef
+0x667c    0x96f1
+0x667d    0x96fa
+0x667e    0x9702
+0x6721    0x9703
+0x6722    0x9705
+0x6723    0x9709
+0x6724    0x971a
+0x6725    0x971b
+0x6726    0x971d
+0x6727    0x9721
+0x6728    0x9722
+0x6729    0x9723
+0x672a    0x9728
+0x672b    0x9731
+0x672c    0x9733
+0x672d    0x9741
+0x672e    0x9743
+0x672f    0x974a
+0x6730    0x974e
+0x6731    0x974f
+0x6732    0x9755
+0x6733    0x9757
+0x6734    0x9758
+0x6735    0x975a
+0x6736    0x975b
+0x6737    0x9763
+0x6738    0x9767
+0x6739    0x976a
+0x673a    0x976e
+0x673b    0x9773
+0x673c    0x9776
+0x673d    0x9777
+0x673e    0x9778
+0x673f    0x977b
+0x6740    0x977d
+0x6741    0x977f
+0x6742    0x9780
+0x6743    0x9789
+0x6744    0x9795
+0x6745    0x9796
+0x6746    0x9797
+0x6747    0x9799
+0x6748    0x979a
+0x6749    0x979e
+0x674a    0x979f
+0x674b    0x97a2
+0x674c    0x97ac
+0x674d    0x97ae
+0x674e    0x97b1
+0x674f    0x97b2
+0x6750    0x97b5
+0x6751    0x97b6
+0x6752    0x97b8
+0x6753    0x97b9
+0x6754    0x97ba
+0x6755    0x97bc
+0x6756    0x97be
+0x6757    0x97bf
+0x6758    0x97c1
+0x6759    0x97c4
+0x675a    0x97c5
+0x675b    0x97c7
+0x675c    0x97c9
+0x675d    0x97ca
+0x675e    0x97cc
+0x675f    0x97cd
+0x6760    0x97ce
+0x6761    0x97d0
+0x6762    0x97d1
+0x6763    0x97d4
+0x6764    0x97d7
+0x6765    0x97d8
+0x6766    0x97d9
+0x6767    0x97dd
+0x6768    0x97de
+0x6769    0x97e0
+0x676a    0x97db
+0x676b    0x97e1
+0x676c    0x97e4
+0x676d    0x97ef
+0x676e    0x97f1
+0x676f    0x97f4
+0x6770    0x97f7
+0x6771    0x97f8
+0x6772    0x97fa
+0x6773    0x9807
+0x6774    0x980a
+0x6775    0x9819
+0x6776    0x980d
+0x6777    0x980e
+0x6778    0x9814
+0x6779    0x9816
+0x677a    0x981c
+0x677b    0x981e
+0x677c    0x9820
+0x677d    0x9823
+0x677e    0x9826
+0x6821    0x982b
+0x6822    0x982e
+0x6823    0x982f
+0x6824    0x9830
+0x6825    0x9832
+0x6826    0x9833
+0x6827    0x9835
+0x6828    0x9825
+0x6829    0x983e
+0x682a    0x9844
+0x682b    0x9847
+0x682c    0x984a
+0x682d    0x9851
+0x682e    0x9852
+0x682f    0x9853
+0x6830    0x9856
+0x6831    0x9857
+0x6832    0x9859
+0x6833    0x985a
+0x6834    0x9862
+0x6835    0x9863
+0x6836    0x9865
+0x6837    0x9866
+0x6838    0x986a
+0x6839    0x986c
+0x683a    0x98ab
+0x683b    0x98ad
+0x683c    0x98ae
+0x683d    0x98b0
+0x683e    0x98b4
+0x683f    0x98b7
+0x6840    0x98b8
+0x6841    0x98ba
+0x6842    0x98bb
+0x6843    0x98bf
+0x6844    0x98c2
+0x6845    0x98c5
+0x6846    0x98c8
+0x6847    0x98cc
+0x6848    0x98e1
+0x6849    0x98e3
+0x684a    0x98e5
+0x684b    0x98e6
+0x684c    0x98e7
+0x684d    0x98ea
+0x684e    0x98f3
+0x684f    0x98f6
+0x6850    0x9902
+0x6851    0x9907
+0x6852    0x9908
+0x6853    0x9911
+0x6854    0x9915
+0x6855    0x9916
+0x6856    0x9917
+0x6857    0x991a
+0x6858    0x991b
+0x6859    0x991c
+0x685a    0x991f
+0x685b    0x9922
+0x685c    0x9926
+0x685d    0x9927
+0x685e    0x992b
+0x685f    0x9931
+0x6860    0x9932
+0x6861    0x9933
+0x6862    0x9934
+0x6863    0x9935
+0x6864    0x9939
+0x6865    0x993a
+0x6866    0x993b
+0x6867    0x993c
+0x6868    0x9940
+0x6869    0x9941
+0x686a    0x9946
+0x686b    0x9947
+0x686c    0x9948
+0x686d    0x994d
+0x686e    0x994e
+0x686f    0x9954
+0x6870    0x9958
+0x6871    0x9959
+0x6872    0x995b
+0x6873    0x995c
+0x6874    0x995e
+0x6875    0x995f
+0x6876    0x9960
+0x6877    0x999b
+0x6878    0x999d
+0x6879    0x999f
+0x687a    0x99a6
+0x687b    0x99b0
+0x687c    0x99b1
+0x687d    0x99b2
+0x687e    0x99b5
+0x6921    0x99b9
+0x6922    0x99ba
+0x6923    0x99bd
+0x6924    0x99bf
+0x6925    0x99c3
+0x6926    0x99c9
+0x6927    0x99d3
+0x6928    0x99d4
+0x6929    0x99d9
+0x692a    0x99da
+0x692b    0x99dc
+0x692c    0x99de
+0x692d    0x99e7
+0x692e    0x99ea
+0x692f    0x99eb
+0x6930    0x99ec
+0x6931    0x99f0
+0x6932    0x99f4
+0x6933    0x99f5
+0x6934    0x99f9
+0x6935    0x99fd
+0x6936    0x99fe
+0x6937    0x9a02
+0x6938    0x9a03
+0x6939    0x9a04
+0x693a    0x9a0b
+0x693b    0x9a0c
+0x693c    0x9a10
+0x693d    0x9a11
+0x693e    0x9a16
+0x693f    0x9a1e
+0x6940    0x9a20
+0x6941    0x9a22
+0x6942    0x9a23
+0x6943    0x9a24
+0x6944    0x9a27
+0x6945    0x9a2d
+0x6946    0x9a2e
+0x6947    0x9a33
+0x6948    0x9a35
+0x6949    0x9a36
+0x694a    0x9a38
+0x694b    0x9a47
+0x694c    0x9a41
+0x694d    0x9a44
+0x694e    0x9a4a
+0x694f    0x9a4b
+0x6950    0x9a4c
+0x6951    0x9a4e
+0x6952    0x9a51
+0x6953    0x9a54
+0x6954    0x9a56
+0x6955    0x9a5d
+0x6956    0x9aaa
+0x6957    0x9aac
+0x6958    0x9aae
+0x6959    0x9aaf
+0x695a    0x9ab2
+0x695b    0x9ab4
+0x695c    0x9ab5
+0x695d    0x9ab6
+0x695e    0x9ab9
+0x695f    0x9abb
+0x6960    0x9abe
+0x6961    0x9abf
+0x6962    0x9ac1
+0x6963    0x9ac3
+0x6964    0x9ac6
+0x6965    0x9ac8
+0x6966    0x9ace
+0x6967    0x9ad0
+0x6968    0x9ad2
+0x6969    0x9ad5
+0x696a    0x9ad6
+0x696b    0x9ad7
+0x696c    0x9adb
+0x696d    0x9adc
+0x696e    0x9ae0
+0x696f    0x9ae4
+0x6970    0x9ae5
+0x6971    0x9ae7
+0x6972    0x9ae9
+0x6973    0x9aec
+0x6974    0x9af2
+0x6975    0x9af3
+0x6976    0x9af5
+0x6977    0x9af9
+0x6978    0x9afa
+0x6979    0x9afd
+0x697a    0x9aff
+0x697b    0x9b00
+0x697c    0x9b01
+0x697d    0x9b02
+0x697e    0x9b03
+0x6a21    0x9b04
+0x6a22    0x9b05
+0x6a23    0x9b08
+0x6a24    0x9b09
+0x6a25    0x9b0b
+0x6a26    0x9b0c
+0x6a27    0x9b0d
+0x6a28    0x9b0e
+0x6a29    0x9b10
+0x6a2a    0x9b12
+0x6a2b    0x9b16
+0x6a2c    0x9b19
+0x6a2d    0x9b1b
+0x6a2e    0x9b1c
+0x6a2f    0x9b20
+0x6a30    0x9b26
+0x6a31    0x9b2b
+0x6a32    0x9b2d
+0x6a33    0x9b33
+0x6a34    0x9b34
+0x6a35    0x9b35
+0x6a36    0x9b37
+0x6a37    0x9b39
+0x6a38    0x9b3a
+0x6a39    0x9b3d
+0x6a3a    0x9b48
+0x6a3b    0x9b4b
+0x6a3c    0x9b4c
+0x6a3d    0x9b55
+0x6a3e    0x9b56
+0x6a3f    0x9b57
+0x6a40    0x9b5b
+0x6a41    0x9b5e
+0x6a42    0x9b61
+0x6a43    0x9b63
+0x6a44    0x9b65
+0x6a45    0x9b66
+0x6a46    0x9b68
+0x6a47    0x9b6a
+0x6a48    0x9b6b
+0x6a49    0x9b6c
+0x6a4a    0x9b6d
+0x6a4b    0x9b6e
+0x6a4c    0x9b73
+0x6a4d    0x9b75
+0x6a4e    0x9b77
+0x6a4f    0x9b78
+0x6a50    0x9b79
+0x6a51    0x9b7f
+0x6a52    0x9b80
+0x6a53    0x9b84
+0x6a54    0x9b85
+0x6a55    0x9b86
+0x6a56    0x9b87
+0x6a57    0x9b89
+0x6a58    0x9b8a
+0x6a59    0x9b8b
+0x6a5a    0x9b8d
+0x6a5b    0x9b8f
+0x6a5c    0x9b90
+0x6a5d    0x9b94
+0x6a5e    0x9b9a
+0x6a5f    0x9b9d
+0x6a60    0x9b9e
+0x6a61    0x9ba6
+0x6a62    0x9ba7
+0x6a63    0x9ba9
+0x6a64    0x9bac
+0x6a65    0x9bb0
+0x6a66    0x9bb1
+0x6a67    0x9bb2
+0x6a68    0x9bb7
+0x6a69    0x9bb8
+0x6a6a    0x9bbb
+0x6a6b    0x9bbc
+0x6a6c    0x9bbe
+0x6a6d    0x9bbf
+0x6a6e    0x9bc1
+0x6a6f    0x9bc7
+0x6a70    0x9bc8
+0x6a71    0x9bce
+0x6a72    0x9bd0
+0x6a73    0x9bd7
+0x6a74    0x9bd8
+0x6a75    0x9bdd
+0x6a76    0x9bdf
+0x6a77    0x9be5
+0x6a78    0x9be7
+0x6a79    0x9bea
+0x6a7a    0x9beb
+0x6a7b    0x9bef
+0x6a7c    0x9bf3
+0x6a7d    0x9bf7
+0x6a7e    0x9bf8
+0x6b21    0x9bf9
+0x6b22    0x9bfa
+0x6b23    0x9bfd
+0x6b24    0x9bff
+0x6b25    0x9c00
+0x6b26    0x9c02
+0x6b27    0x9c0b
+0x6b28    0x9c0f
+0x6b29    0x9c11
+0x6b2a    0x9c16
+0x6b2b    0x9c18
+0x6b2c    0x9c19
+0x6b2d    0x9c1a
+0x6b2e    0x9c1c
+0x6b2f    0x9c1e
+0x6b30    0x9c22
+0x6b31    0x9c23
+0x6b32    0x9c26
+0x6b33    0x9c27
+0x6b34    0x9c28
+0x6b35    0x9c29
+0x6b36    0x9c2a
+0x6b37    0x9c31
+0x6b38    0x9c35
+0x6b39    0x9c36
+0x6b3a    0x9c37
+0x6b3b    0x9c3d
+0x6b3c    0x9c41
+0x6b3d    0x9c43
+0x6b3e    0x9c44
+0x6b3f    0x9c45
+0x6b40    0x9c49
+0x6b41    0x9c4a
+0x6b42    0x9c4e
+0x6b43    0x9c4f
+0x6b44    0x9c50
+0x6b45    0x9c53
+0x6b46    0x9c54
+0x6b47    0x9c56
+0x6b48    0x9c58
+0x6b49    0x9c5b
+0x6b4a    0x9c5d
+0x6b4b    0x9c5e
+0x6b4c    0x9c5f
+0x6b4d    0x9c63
+0x6b4e    0x9c69
+0x6b4f    0x9c6a
+0x6b50    0x9c5c
+0x6b51    0x9c6b
+0x6b52    0x9c68
+0x6b53    0x9c6e
+0x6b54    0x9c70
+0x6b55    0x9c72
+0x6b56    0x9c75
+0x6b57    0x9c77
+0x6b58    0x9c7b
+0x6b59    0x9ce6
+0x6b5a    0x9cf2
+0x6b5b    0x9cf7
+0x6b5c    0x9cf9
+0x6b5d    0x9d0b
+0x6b5e    0x9d02
+0x6b5f    0x9d11
+0x6b60    0x9d17
+0x6b61    0x9d18
+0x6b62    0x9d1c
+0x6b63    0x9d1d
+0x6b64    0x9d1e
+0x6b65    0x9d2f
+0x6b66    0x9d30
+0x6b67    0x9d32
+0x6b68    0x9d33
+0x6b69    0x9d34
+0x6b6a    0x9d3a
+0x6b6b    0x9d3c
+0x6b6c    0x9d45
+0x6b6d    0x9d3d
+0x6b6e    0x9d42
+0x6b6f    0x9d43
+0x6b70    0x9d47
+0x6b71    0x9d4a
+0x6b72    0x9d53
+0x6b73    0x9d54
+0x6b74    0x9d5f
+0x6b75    0x9d63
+0x6b76    0x9d62
+0x6b77    0x9d65
+0x6b78    0x9d69
+0x6b79    0x9d6a
+0x6b7a    0x9d6b
+0x6b7b    0x9d70
+0x6b7c    0x9d76
+0x6b7d    0x9d77
+0x6b7e    0x9d7b
+0x6c21    0x9d7c
+0x6c22    0x9d7e
+0x6c23    0x9d83
+0x6c24    0x9d84
+0x6c25    0x9d86
+0x6c26    0x9d8a
+0x6c27    0x9d8d
+0x6c28    0x9d8e
+0x6c29    0x9d92
+0x6c2a    0x9d93
+0x6c2b    0x9d95
+0x6c2c    0x9d96
+0x6c2d    0x9d97
+0x6c2e    0x9d98
+0x6c2f    0x9da1
+0x6c30    0x9daa
+0x6c31    0x9dac
+0x6c32    0x9dae
+0x6c33    0x9db1
+0x6c34    0x9db5
+0x6c35    0x9db9
+0x6c36    0x9dbc
+0x6c37    0x9dbf
+0x6c38    0x9dc3
+0x6c39    0x9dc7
+0x6c3a    0x9dc9
+0x6c3b    0x9dca
+0x6c3c    0x9dd4
+0x6c3d    0x9dd5
+0x6c3e    0x9dd6
+0x6c3f    0x9dd7
+0x6c40    0x9dda
+0x6c41    0x9dde
+0x6c42    0x9ddf
+0x6c43    0x9de0
+0x6c44    0x9de5
+0x6c45    0x9de7
+0x6c46    0x9de9
+0x6c47    0x9deb
+0x6c48    0x9dee
+0x6c49    0x9df0
+0x6c4a    0x9df3
+0x6c4b    0x9df4
+0x6c4c    0x9dfe
+0x6c4d    0x9e0a
+0x6c4e    0x9e02
+0x6c4f    0x9e07
+0x6c50    0x9e0e
+0x6c51    0x9e10
+0x6c52    0x9e11
+0x6c53    0x9e12
+0x6c54    0x9e15
+0x6c55    0x9e16
+0x6c56    0x9e19
+0x6c57    0x9e1c
+0x6c58    0x9e1d
+0x6c59    0x9e7a
+0x6c5a    0x9e7b
+0x6c5b    0x9e7c
+0x6c5c    0x9e80
+0x6c5d    0x9e82
+0x6c5e    0x9e83
+0x6c5f    0x9e84
+0x6c60    0x9e85
+0x6c61    0x9e87
+0x6c62    0x9e8e
+0x6c63    0x9e8f
+0x6c64    0x9e96
+0x6c65    0x9e98
+0x6c66    0x9e9b
+0x6c67    0x9e9e
+0x6c68    0x9ea4
+0x6c69    0x9ea8
+0x6c6a    0x9eac
+0x6c6b    0x9eae
+0x6c6c    0x9eaf
+0x6c6d    0x9eb0
+0x6c6e    0x9eb3
+0x6c6f    0x9eb4
+0x6c70    0x9eb5
+0x6c71    0x9ec6
+0x6c72    0x9ec8
+0x6c73    0x9ecb
+0x6c74    0x9ed5
+0x6c75    0x9edf
+0x6c76    0x9ee4
+0x6c77    0x9ee7
+0x6c78    0x9eec
+0x6c79    0x9eed
+0x6c7a    0x9eee
+0x6c7b    0x9ef0
+0x6c7c    0x9ef1
+0x6c7d    0x9ef2
+0x6c7e    0x9ef5
+0x6d21    0x9ef8
+0x6d22    0x9eff
+0x6d23    0x9f02
+0x6d24    0x9f03
+0x6d25    0x9f09
+0x6d26    0x9f0f
+0x6d27    0x9f10
+0x6d28    0x9f11
+0x6d29    0x9f12
+0x6d2a    0x9f14
+0x6d2b    0x9f16
+0x6d2c    0x9f17
+0x6d2d    0x9f19
+0x6d2e    0x9f1a
+0x6d2f    0x9f1b
+0x6d30    0x9f1f
+0x6d31    0x9f22
+0x6d32    0x9f26
+0x6d33    0x9f2a
+0x6d34    0x9f2b
+0x6d35    0x9f2f
+0x6d36    0x9f31
+0x6d37    0x9f32
+0x6d38    0x9f34
+0x6d39    0x9f37
+0x6d3a    0x9f39
+0x6d3b    0x9f3a
+0x6d3c    0x9f3c
+0x6d3d    0x9f3d
+0x6d3e    0x9f3f
+0x6d3f    0x9f41
+0x6d40    0x9f43
+0x6d41    0x9f44
+0x6d42    0x9f45
+0x6d43    0x9f46
+0x6d44    0x9f47
+0x6d45    0x9f53
+0x6d46    0x9f55
+0x6d47    0x9f56
+0x6d48    0x9f57
+0x6d49    0x9f58
+0x6d4a    0x9f5a
+0x6d4b    0x9f5d
+0x6d4c    0x9f5e
+0x6d4d    0x9f68
+0x6d4e    0x9f69
+0x6d4f    0x9f6d
+0x6d50    0x9f6e
+0x6d51    0x9f6f
+0x6d52    0x9f70
+0x6d53    0x9f71
+0x6d54    0x9f73
+0x6d55    0x9f75
+0x6d56    0x9f7a
+0x6d57    0x9f7d
+0x6d58    0x9f8f
+0x6d59    0x9f90
+0x6d5a    0x9f91
+0x6d5b    0x9f92
+0x6d5c    0x9f94
+0x6d5d    0x9f96
+0x6d5e    0x9f97
+0x6d5f    0x9f9e
+0x6d60    0x9fa1
+0x6d61    0x9fa2
+0x6d62    0x9fa3
+0x6d63    0x9fa5
+0x7321    0x2170
+0x7322    0x2171
+0x7323    0x2172
+0x7324    0x2173
+0x7325    0x2174
+0x7326    0x2175
+0x7327    0x2176
+0x7328    0x2177
+0x7329    0x2178
+0x732a    0x2179
+0x7335    0xff07
+0x7336    0xff02
+0x733a    0x70bb
+0x733b    0x4efc
+0x733c    0x50f4
+0x733d    0x51ec
+0x733e    0x5307
+0x733f    0x5324
+0x7340    0xfa0e
+0x7341    0x548a
+0x7342    0x5759
+0x7343    0xfa0f
+0x7344    0xfa10
+0x7345    0x589e
+0x7346    0x5bec
+0x7347    0x5cf5
+0x7348    0x5d53
+0x7349    0xfa11
+0x734a    0x5fb7
+0x734b    0x6085
+0x734c    0x6120
+0x734d    0x654e
+0x734f    0x6665
+0x7350    0xfa12
+0x7351    0xf929
+0x7352    0x6801
+0x7353    0xfa13
+0x7354    0xfa14
+0x7355    0x6a6b
+0x7356    0x6ae2
+0x7357    0x6df8
+0x7358    0x6df2
+0x7359    0x7028
+0x735a    0xfa15
+0x735b    0xfa16
+0x735c    0x7501
+0x735d    0x7682
+0x735e    0x769e
+0x735f    0xfa17
+0x7360    0x7930
+0x7361    0xfa18
+0x7362    0xfa19
+0x7363    0xfa1a
+0x7364    0xfa1b
+0x7365    0x7ae7
+0x7366    0xfa1c
+0x7367    0xfa1d
+0x7368    0x7da0
+0x7369    0x7dd6
+0x736a    0xfa1e
+0x736b    0x8362
+0x736c    0xfa1f
+0x736d    0x85b0
+0x736e    0xfa20
+0x736f    0xfa21
+0x7370    0x8807
+0x7371    0xfa22
+0x7372    0x8b7f
+0x7373    0x8cf4
+0x7374    0x8d76
+0x7375    0xfa23
+0x7376    0xfa24
+0x7377    0xfa25
+0x7378    0x90de
+0x7379    0xfa26
+0x737a    0x9115
+0x737b    0xfa27
+0x737c    0xfa28
+0x737d    0x9592
+0x737e    0xf9dc
+0x7421    0xfa29
+0x7422    0x973b
+0x7424    0x9751
+0x7425    0xfa2a
+0x7426    0xfa2b
+0x7427    0xfa2c
+0x7428    0x999e
+0x7429    0x9ad9
+0x742a    0x9b72
+0x742b    0xfa2d
+0x742c    0x9ed1
+0x7463    0x974d
+0x7521    0xe3ac
+0x7522    0xe3ad
+0x7523    0xe3ae
+0x7524    0xe3af
+0x7525    0xe3b0
+0x7526    0xe3b1
+0x7527    0xe3b2
+0x7528    0xe3b3
+0x7529    0xe3b4
+0x752a    0xe3b5
+0x752b    0xe3b6
+0x752c    0xe3b7
+0x752d    0xe3b8
+0x752e    0xe3b9
+0x752f    0xe3ba
+0x7530    0xe3bb
+0x7531    0xe3bc
+0x7532    0xe3bd
+0x7533    0xe3be
+0x7534    0xe3bf
+0x7535    0xe3c0
+0x7536    0xe3c1
+0x7537    0xe3c2
+0x7538    0xe3c3
+0x7539    0xe3c4
+0x753a    0xe3c5
+0x753b    0xe3c6
+0x753c    0xe3c7
+0x753d    0xe3c8
+0x753e    0xe3c9
+0x753f    0xe3ca
+0x7540    0xe3cb
+0x7541    0xe3cc
+0x7542    0xe3cd
+0x7543    0xe3ce
+0x7544    0xe3cf
+0x7545    0xe3d0
+0x7546    0xe3d1
+0x7547    0xe3d2
+0x7548    0xe3d3
+0x7549    0xe3d4
+0x754a    0xe3d5
+0x754b    0xe3d6
+0x754c    0xe3d7
+0x754d    0xe3d8
+0x754e    0xe3d9
+0x754f    0xe3da
+0x7550    0xe3db
+0x7551    0xe3dc
+0x7552    0xe3dd
+0x7553    0xe3de
+0x7554    0xe3df
+0x7555    0xe3e0
+0x7556    0xe3e1
+0x7557    0xe3e2
+0x7558    0xe3e3
+0x7559    0xe3e4
+0x755a    0xe3e5
+0x755b    0xe3e6
+0x755c    0xe3e7
+0x755d    0xe3e8
+0x755e    0xe3e9
+0x755f    0xe3ea
+0x7560    0xe3eb
+0x7561    0xe3ec
+0x7562    0xe3ed
+0x7563    0xe3ee
+0x7564    0xe3ef
+0x7565    0xe3f0
+0x7566    0xe3f1
+0x7567    0xe3f2
+0x7568    0xe3f3
+0x7569    0xe3f4
+0x756a    0xe3f5
+0x756b    0xe3f6
+0x756c    0xe3f7
+0x756d    0xe3f8
+0x756e    0xe3f9
+0x756f    0xe3fa
+0x7570    0xe3fb
+0x7571    0xe3fc
+0x7572    0xe3fd
+0x7573    0xe3fe
+0x7574    0xe3ff
+0x7575    0xe400
+0x7576    0xe401
+0x7577    0xe402
+0x7578    0xe403
+0x7579    0xe404
+0x757a    0xe405
+0x757b    0xe406
+0x757c    0xe407
+0x757d    0xe408
+0x757e    0xe409
+0x7621    0xe40a
+0x7622    0xe40b
+0x7623    0xe40c
+0x7624    0xe40d
+0x7625    0xe40e
+0x7626    0xe40f
+0x7627    0xe410
+0x7628    0xe411
+0x7629    0xe412
+0x762a    0xe413
+0x762b    0xe414
+0x762c    0xe415
+0x762d    0xe416
+0x762e    0xe417
+0x762f    0xe418
+0x7630    0xe419
+0x7631    0xe41a
+0x7632    0xe41b
+0x7633    0xe41c
+0x7634    0xe41d
+0x7635    0xe41e
+0x7636    0xe41f
+0x7637    0xe420
+0x7638    0xe421
+0x7639    0xe422
+0x763a    0xe423
+0x763b    0xe424
+0x763c    0xe425
+0x763d    0xe426
+0x763e    0xe427
+0x763f    0xe428
+0x7640    0xe429
+0x7641    0xe42a
+0x7642    0xe42b
+0x7643    0xe42c
+0x7644    0xe42d
+0x7645    0xe42e
+0x7646    0xe42f
+0x7647    0xe430
+0x7648    0xe431
+0x7649    0xe432
+0x764a    0xe433
+0x764b    0xe434
+0x764c    0xe435
+0x764d    0xe436
+0x764e    0xe437
+0x764f    0xe438
+0x7650    0xe439
+0x7651    0xe43a
+0x7652    0xe43b
+0x7653    0xe43c
+0x7654    0xe43d
+0x7655    0xe43e
+0x7656    0xe43f
+0x7657    0xe440
+0x7658    0xe441
+0x7659    0xe442
+0x765a    0xe443
+0x765b    0xe444
+0x765c    0xe445
+0x765d    0xe446
+0x765e    0xe447
+0x765f    0xe448
+0x7660    0xe449
+0x7661    0xe44a
+0x7662    0xe44b
+0x7663    0xe44c
+0x7664    0xe44d
+0x7665    0xe44e
+0x7666    0xe44f
+0x7667    0xe450
+0x7668    0xe451
+0x7669    0xe452
+0x766a    0xe453
+0x766b    0xe454
+0x766c    0xe455
+0x766d    0xe456
+0x766e    0xe457
+0x766f    0xe458
+0x7670    0xe459
+0x7671    0xe45a
+0x7672    0xe45b
+0x7673    0xe45c
+0x7674    0xe45d
+0x7675    0xe45e
+0x7676    0xe45f
+0x7677    0xe460
+0x7678    0xe461
+0x7679    0xe462
+0x767a    0xe463
+0x767b    0xe464
+0x767c    0xe465
+0x767d    0xe466
+0x767e    0xe467
+0x7721    0xe468
+0x7722    0xe469
+0x7723    0xe46a
+0x7724    0xe46b
+0x7725    0xe46c
+0x7726    0xe46d
+0x7727    0xe46e
+0x7728    0xe46f
+0x7729    0xe470
+0x772a    0xe471
+0x772b    0xe472
+0x772c    0xe473
+0x772d    0xe474
+0x772e    0xe475
+0x772f    0xe476
+0x7730    0xe477
+0x7731    0xe478
+0x7732    0xe479
+0x7733    0xe47a
+0x7734    0xe47b
+0x7735    0xe47c
+0x7736    0xe47d
+0x7737    0xe47e
+0x7738    0xe47f
+0x7739    0xe480
+0x773a    0xe481
+0x773b    0xe482
+0x773c    0xe483
+0x773d    0xe484
+0x773e    0xe485
+0x773f    0xe486
+0x7740    0xe487
+0x7741    0xe488
+0x7742    0xe489
+0x7743    0xe48a
+0x7744    0xe48b
+0x7745    0xe48c
+0x7746    0xe48d
+0x7747    0xe48e
+0x7748    0xe48f
+0x7749    0xe490
+0x774a    0xe491
+0x774b    0xe492
+0x774c    0xe493
+0x774d    0xe494
+0x774e    0xe495
+0x774f    0xe496
+0x7750    0xe497
+0x7751    0xe498
+0x7752    0xe499
+0x7753    0xe49a
+0x7754    0xe49b
+0x7755    0xe49c
+0x7756    0xe49d
+0x7757    0xe49e
+0x7758    0xe49f
+0x7759    0xe4a0
+0x775a    0xe4a1
+0x775b    0xe4a2
+0x775c    0xe4a3
+0x775d    0xe4a4
+0x775e    0xe4a5
+0x775f    0xe4a6
+0x7760    0xe4a7
+0x7761    0xe4a8
+0x7762    0xe4a9
+0x7763    0xe4aa
+0x7764    0xe4ab
+0x7765    0xe4ac
+0x7766    0xe4ad
+0x7767    0xe4ae
+0x7768    0xe4af
+0x7769    0xe4b0
+0x776a    0xe4b1
+0x776b    0xe4b2
+0x776c    0xe4b3
+0x776d    0xe4b4
+0x776e    0xe4b5
+0x776f    0xe4b6
+0x7770    0xe4b7
+0x7771    0xe4b8
+0x7772    0xe4b9
+0x7773    0xe4ba
+0x7774    0xe4bb
+0x7775    0xe4bc
+0x7776    0xe4bd
+0x7777    0xe4be
+0x7778    0xe4bf
+0x7779    0xe4c0
+0x777a    0xe4c1
+0x777b    0xe4c2
+0x777c    0xe4c3
+0x777d    0xe4c4
+0x777e    0xe4c5
+0x7821    0xe4c6
+0x7822    0xe4c7
+0x7823    0xe4c8
+0x7824    0xe4c9
+0x7825    0xe4ca
+0x7826    0xe4cb
+0x7827    0xe4cc
+0x7828    0xe4cd
+0x7829    0xe4ce
+0x782a    0xe4cf
+0x782b    0xe4d0
+0x782c    0xe4d1
+0x782d    0xe4d2
+0x782e    0xe4d3
+0x782f    0xe4d4
+0x7830    0xe4d5
+0x7831    0xe4d6
+0x7832    0xe4d7
+0x7833    0xe4d8
+0x7834    0xe4d9
+0x7835    0xe4da
+0x7836    0xe4db
+0x7837    0xe4dc
+0x7838    0xe4dd
+0x7839    0xe4de
+0x783a    0xe4df
+0x783b    0xe4e0
+0x783c    0xe4e1
+0x783d    0xe4e2
+0x783e    0xe4e3
+0x783f    0xe4e4
+0x7840    0xe4e5
+0x7841    0xe4e6
+0x7842    0xe4e7
+0x7843    0xe4e8
+0x7844    0xe4e9
+0x7845    0xe4ea
+0x7846    0xe4eb
+0x7847    0xe4ec
+0x7848    0xe4ed
+0x7849    0xe4ee
+0x784a    0xe4ef
+0x784b    0xe4f0
+0x784c    0xe4f1
+0x784d    0xe4f2
+0x784e    0xe4f3
+0x784f    0xe4f4
+0x7850    0xe4f5
+0x7851    0xe4f6
+0x7852    0xe4f7
+0x7853    0xe4f8
+0x7854    0xe4f9
+0x7855    0xe4fa
+0x7856    0xe4fb
+0x7857    0xe4fc
+0x7858    0xe4fd
+0x7859    0xe4fe
+0x785a    0xe4ff
+0x785b    0xe500
+0x785c    0xe501
+0x785d    0xe502
+0x785e    0xe503
+0x785f    0xe504
+0x7860    0xe505
+0x7861    0xe506
+0x7862    0xe507
+0x7863    0xe508
+0x7864    0xe509
+0x7865    0xe50a
+0x7866    0xe50b
+0x7867    0xe50c
+0x7868    0xe50d
+0x7869    0xe50e
+0x786a    0xe50f
+0x786b    0xe510
+0x786c    0xe511
+0x786d    0xe512
+0x786e    0xe513
+0x786f    0xe514
+0x7870    0xe515
+0x7871    0xe516
+0x7872    0xe517
+0x7873    0xe518
+0x7874    0xe519
+0x7875    0xe51a
+0x7876    0xe51b
+0x7877    0xe51c
+0x7878    0xe51d
+0x7879    0xe51e
+0x787a    0xe51f
+0x787b    0xe520
+0x787c    0xe521
+0x787d    0xe522
+0x787e    0xe523
+0x7921    0xe524
+0x7922    0xe525
+0x7923    0xe526
+0x7924    0xe527
+0x7925    0xe528
+0x7926    0xe529
+0x7927    0xe52a
+0x7928    0xe52b
+0x7929    0xe52c
+0x792a    0xe52d
+0x792b    0xe52e
+0x792c    0xe52f
+0x792d    0xe530
+0x792e    0xe531
+0x792f    0xe532
+0x7930    0xe533
+0x7931    0xe534
+0x7932    0xe535
+0x7933    0xe536
+0x7934    0xe537
+0x7935    0xe538
+0x7936    0xe539
+0x7937    0xe53a
+0x7938    0xe53b
+0x7939    0xe53c
+0x793a    0xe53d
+0x793b    0xe53e
+0x793c    0xe53f
+0x793d    0xe540
+0x793e    0xe541
+0x793f    0xe542
+0x7940    0xe543
+0x7941    0xe544
+0x7942    0xe545
+0x7943    0xe546
+0x7944    0xe547
+0x7945    0xe548
+0x7946    0xe549
+0x7947    0xe54a
+0x7948    0xe54b
+0x7949    0xe54c
+0x794a    0xe54d
+0x794b    0xe54e
+0x794c    0xe54f
+0x794d    0xe550
+0x794e    0xe551
+0x794f    0xe552
+0x7950    0xe553
+0x7951    0xe554
+0x7952    0xe555
+0x7953    0xe556
+0x7954    0xe557
+0x7955    0xe558
+0x7956    0xe559
+0x7957    0xe55a
+0x7958    0xe55b
+0x7959    0xe55c
+0x795a    0xe55d
+0x795b    0xe55e
+0x795c    0xe55f
+0x795d    0xe560
+0x795e    0xe561
+0x795f    0xe562
+0x7960    0xe563
+0x7961    0xe564
+0x7962    0xe565
+0x7963    0xe566
+0x7964    0xe567
+0x7965    0xe568
+0x7966    0xe569
+0x7967    0xe56a
+0x7968    0xe56b
+0x7969    0xe56c
+0x796a    0xe56d
+0x796b    0xe56e
+0x796c    0xe56f
+0x796d    0xe570
+0x796e    0xe571
+0x796f    0xe572
+0x7970    0xe573
+0x7971    0xe574
+0x7972    0xe575
+0x7973    0xe576
+0x7974    0xe577
+0x7975    0xe578
+0x7976    0xe579
+0x7977    0xe57a
+0x7978    0xe57b
+0x7979    0xe57c
+0x797a    0xe57d
+0x797b    0xe57e
+0x797c    0xe57f
+0x797d    0xe580
+0x797e    0xe581
+0x7a21    0xe582
+0x7a22    0xe583
+0x7a23    0xe584
+0x7a24    0xe585
+0x7a25    0xe586
+0x7a26    0xe587
+0x7a27    0xe588
+0x7a28    0xe589
+0x7a29    0xe58a
+0x7a2a    0xe58b
+0x7a2b    0xe58c
+0x7a2c    0xe58d
+0x7a2d    0xe58e
+0x7a2e    0xe58f
+0x7a2f    0xe590
+0x7a30    0xe591
+0x7a31    0xe592
+0x7a32    0xe593
+0x7a33    0xe594
+0x7a34    0xe595
+0x7a35    0xe596
+0x7a36    0xe597
+0x7a37    0xe598
+0x7a38    0xe599
+0x7a39    0xe59a
+0x7a3a    0xe59b
+0x7a3b    0xe59c
+0x7a3c    0xe59d
+0x7a3d    0xe59e
+0x7a3e    0xe59f
+0x7a3f    0xe5a0
+0x7a40    0xe5a1
+0x7a41    0xe5a2
+0x7a42    0xe5a3
+0x7a43    0xe5a4
+0x7a44    0xe5a5
+0x7a45    0xe5a6
+0x7a46    0xe5a7
+0x7a47    0xe5a8
+0x7a48    0xe5a9
+0x7a49    0xe5aa
+0x7a4a    0xe5ab
+0x7a4b    0xe5ac
+0x7a4c    0xe5ad
+0x7a4d    0xe5ae
+0x7a4e    0xe5af
+0x7a4f    0xe5b0
+0x7a50    0xe5b1
+0x7a51    0xe5b2
+0x7a52    0xe5b3
+0x7a53    0xe5b4
+0x7a54    0xe5b5
+0x7a55    0xe5b6
+0x7a56    0xe5b7
+0x7a57    0xe5b8
+0x7a58    0xe5b9
+0x7a59    0xe5ba
+0x7a5a    0xe5bb
+0x7a5b    0xe5bc
+0x7a5c    0xe5bd
+0x7a5d    0xe5be
+0x7a5e    0xe5bf
+0x7a5f    0xe5c0
+0x7a60    0xe5c1
+0x7a61    0xe5c2
+0x7a62    0xe5c3
+0x7a63    0xe5c4
+0x7a64    0xe5c5
+0x7a65    0xe5c6
+0x7a66    0xe5c7
+0x7a67    0xe5c8
+0x7a68    0xe5c9
+0x7a69    0xe5ca
+0x7a6a    0xe5cb
+0x7a6b    0xe5cc
+0x7a6c    0xe5cd
+0x7a6d    0xe5ce
+0x7a6e    0xe5cf
+0x7a6f    0xe5d0
+0x7a70    0xe5d1
+0x7a71    0xe5d2
+0x7a72    0xe5d3
+0x7a73    0xe5d4
+0x7a74    0xe5d5
+0x7a75    0xe5d6
+0x7a76    0xe5d7
+0x7a77    0xe5d8
+0x7a78    0xe5d9
+0x7a79    0xe5da
+0x7a7a    0xe5db
+0x7a7b    0xe5dc
+0x7a7c    0xe5dd
+0x7a7d    0xe5de
+0x7a7e    0xe5df
+0x7b21    0xe5e0
+0x7b22    0xe5e1
+0x7b23    0xe5e2
+0x7b24    0xe5e3
+0x7b25    0xe5e4
+0x7b26    0xe5e5
+0x7b27    0xe5e6
+0x7b28    0xe5e7
+0x7b29    0xe5e8
+0x7b2a    0xe5e9
+0x7b2b    0xe5ea
+0x7b2c    0xe5eb
+0x7b2d    0xe5ec
+0x7b2e    0xe5ed
+0x7b2f    0xe5ee
+0x7b30    0xe5ef
+0x7b31    0xe5f0
+0x7b32    0xe5f1
+0x7b33    0xe5f2
+0x7b34    0xe5f3
+0x7b35    0xe5f4
+0x7b36    0xe5f5
+0x7b37    0xe5f6
+0x7b38    0xe5f7
+0x7b39    0xe5f8
+0x7b3a    0xe5f9
+0x7b3b    0xe5fa
+0x7b3c    0xe5fb
+0x7b3d    0xe5fc
+0x7b3e    0xe5fd
+0x7b3f    0xe5fe
+0x7b40    0xe5ff
+0x7b41    0xe600
+0x7b42    0xe601
+0x7b43    0xe602
+0x7b44    0xe603
+0x7b45    0xe604
+0x7b46    0xe605
+0x7b47    0xe606
+0x7b48    0xe607
+0x7b49    0xe608
+0x7b4a    0xe609
+0x7b4b    0xe60a
+0x7b4c    0xe60b
+0x7b4d    0xe60c
+0x7b4e    0xe60d
+0x7b4f    0xe60e
+0x7b50    0xe60f
+0x7b51    0xe610
+0x7b52    0xe611
+0x7b53    0xe612
+0x7b54    0xe613
+0x7b55    0xe614
+0x7b56    0xe615
+0x7b57    0xe616
+0x7b58    0xe617
+0x7b59    0xe618
+0x7b5a    0xe619
+0x7b5b    0xe61a
+0x7b5c    0xe61b
+0x7b5d    0xe61c
+0x7b5e    0xe61d
+0x7b5f    0xe61e
+0x7b60    0xe61f
+0x7b61    0xe620
+0x7b62    0xe621
+0x7b63    0xe622
+0x7b64    0xe623
+0x7b65    0xe624
+0x7b66    0xe625
+0x7b67    0xe626
+0x7b68    0xe627
+0x7b69    0xe628
+0x7b6a    0xe629
+0x7b6b    0xe62a
+0x7b6c    0xe62b
+0x7b6d    0xe62c
+0x7b6e    0xe62d
+0x7b6f    0xe62e
+0x7b70    0xe62f
+0x7b71    0xe630
+0x7b72    0xe631
+0x7b73    0xe632
+0x7b74    0xe633
+0x7b75    0xe634
+0x7b76    0xe635
+0x7b77    0xe636
+0x7b78    0xe637
+0x7b79    0xe638
+0x7b7a    0xe639
+0x7b7b    0xe63a
+0x7b7c    0xe63b
+0x7b7d    0xe63c
+0x7b7e    0xe63d
+0x7c21    0xe63e
+0x7c22    0xe63f
+0x7c23    0xe640
+0x7c24    0xe641
+0x7c25    0xe642
+0x7c26    0xe643
+0x7c27    0xe644
+0x7c28    0xe645
+0x7c29    0xe646
+0x7c2a    0xe647
+0x7c2b    0xe648
+0x7c2c    0xe649
+0x7c2d    0xe64a
+0x7c2e    0xe64b
+0x7c2f    0xe64c
+0x7c30    0xe64d
+0x7c31    0xe64e
+0x7c32    0xe64f
+0x7c33    0xe650
+0x7c34    0xe651
+0x7c35    0xe652
+0x7c36    0xe653
+0x7c37    0xe654
+0x7c38    0xe655
+0x7c39    0xe656
+0x7c3a    0xe657
+0x7c3b    0xe658
+0x7c3c    0xe659
+0x7c3d    0xe65a
+0x7c3e    0xe65b
+0x7c3f    0xe65c
+0x7c40    0xe65d
+0x7c41    0xe65e
+0x7c42    0xe65f
+0x7c43    0xe660
+0x7c44    0xe661
+0x7c45    0xe662
+0x7c46    0xe663
+0x7c47    0xe664
+0x7c48    0xe665
+0x7c49    0xe666
+0x7c4a    0xe667
+0x7c4b    0xe668
+0x7c4c    0xe669
+0x7c4d    0xe66a
+0x7c4e    0xe66b
+0x7c4f    0xe66c
+0x7c50    0xe66d
+0x7c51    0xe66e
+0x7c52    0xe66f
+0x7c53    0xe670
+0x7c54    0xe671
+0x7c55    0xe672
+0x7c56    0xe673
+0x7c57    0xe674
+0x7c58    0xe675
+0x7c59    0xe676
+0x7c5a    0xe677
+0x7c5b    0xe678
+0x7c5c    0xe679
+0x7c5d    0xe67a
+0x7c5e    0xe67b
+0x7c5f    0xe67c
+0x7c60    0xe67d
+0x7c61    0xe67e
+0x7c62    0xe67f
+0x7c63    0xe680
+0x7c64    0xe681
+0x7c65    0xe682
+0x7c66    0xe683
+0x7c67    0xe684
+0x7c68    0xe685
+0x7c69    0xe686
+0x7c6a    0xe687
+0x7c6b    0xe688
+0x7c6c    0xe689
+0x7c6d    0xe68a
+0x7c6e    0xe68b
+0x7c6f    0xe68c
+0x7c70    0xe68d
+0x7c71    0xe68e
+0x7c72    0xe68f
+0x7c73    0xe690
+0x7c74    0xe691
+0x7c75    0xe692
+0x7c76    0xe693
+0x7c77    0xe694
+0x7c78    0xe695
+0x7c79    0xe696
+0x7c7a    0xe697
+0x7c7b    0xe698
+0x7c7c    0xe699
+0x7c7d    0xe69a
+0x7c7e    0xe69b
+0x7d21    0xe69c
+0x7d22    0xe69d
+0x7d23    0xe69e
+0x7d24    0xe69f
+0x7d25    0xe6a0
+0x7d26    0xe6a1
+0x7d27    0xe6a2
+0x7d28    0xe6a3
+0x7d29    0xe6a4
+0x7d2a    0xe6a5
+0x7d2b    0xe6a6
+0x7d2c    0xe6a7
+0x7d2d    0xe6a8
+0x7d2e    0xe6a9
+0x7d2f    0xe6aa
+0x7d30    0xe6ab
+0x7d31    0xe6ac
+0x7d32    0xe6ad
+0x7d33    0xe6ae
+0x7d34    0xe6af
+0x7d35    0xe6b0
+0x7d36    0xe6b1
+0x7d37    0xe6b2
+0x7d38    0xe6b3
+0x7d39    0xe6b4
+0x7d3a    0xe6b5
+0x7d3b    0xe6b6
+0x7d3c    0xe6b7
+0x7d3d    0xe6b8
+0x7d3e    0xe6b9
+0x7d3f    0xe6ba
+0x7d40    0xe6bb
+0x7d41    0xe6bc
+0x7d42    0xe6bd
+0x7d43    0xe6be
+0x7d44    0xe6bf
+0x7d45    0xe6c0
+0x7d46    0xe6c1
+0x7d47    0xe6c2
+0x7d48    0xe6c3
+0x7d49    0xe6c4
+0x7d4a    0xe6c5
+0x7d4b    0xe6c6
+0x7d4c    0xe6c7
+0x7d4d    0xe6c8
+0x7d4e    0xe6c9
+0x7d4f    0xe6ca
+0x7d50    0xe6cb
+0x7d51    0xe6cc
+0x7d52    0xe6cd
+0x7d53    0xe6ce
+0x7d54    0xe6cf
+0x7d55    0xe6d0
+0x7d56    0xe6d1
+0x7d57    0xe6d2
+0x7d58    0xe6d3
+0x7d59    0xe6d4
+0x7d5a    0xe6d5
+0x7d5b    0xe6d6
+0x7d5c    0xe6d7
+0x7d5d    0xe6d8
+0x7d5e    0xe6d9
+0x7d5f    0xe6da
+0x7d60    0xe6db
+0x7d61    0xe6dc
+0x7d62    0xe6dd
+0x7d63    0xe6de
+0x7d64    0xe6df
+0x7d65    0xe6e0
+0x7d66    0xe6e1
+0x7d67    0xe6e2
+0x7d68    0xe6e3
+0x7d69    0xe6e4
+0x7d6a    0xe6e5
+0x7d6b    0xe6e6
+0x7d6c    0xe6e7
+0x7d6d    0xe6e8
+0x7d6e    0xe6e9
+0x7d6f    0xe6ea
+0x7d70    0xe6eb
+0x7d71    0xe6ec
+0x7d72    0xe6ed
+0x7d73    0xe6ee
+0x7d74    0xe6ef
+0x7d75    0xe6f0
+0x7d76    0xe6f1
+0x7d77    0xe6f2
+0x7d78    0xe6f3
+0x7d79    0xe6f4
+0x7d7a    0xe6f5
+0x7d7b    0xe6f6
+0x7d7c    0xe6f7
+0x7d7d    0xe6f8
+0x7d7e    0xe6f9
+0x7e21    0xe6fa
+0x7e22    0xe6fb
+0x7e23    0xe6fc
+0x7e24    0xe6fd
+0x7e25    0xe6fe
+0x7e26    0xe6ff
+0x7e27    0xe700
+0x7e28    0xe701
+0x7e29    0xe702
+0x7e2a    0xe703
+0x7e2b    0xe704
+0x7e2c    0xe705
+0x7e2d    0xe706
+0x7e2e    0xe707
+0x7e2f    0xe708
+0x7e30    0xe709
+0x7e31    0xe70a
+0x7e32    0xe70b
+0x7e33    0xe70c
+0x7e34    0xe70d
+0x7e35    0xe70e
+0x7e36    0xe70f
+0x7e37    0xe710
+0x7e38    0xe711
+0x7e39    0xe712
+0x7e3a    0xe713
+0x7e3b    0xe714
+0x7e3c    0xe715
+0x7e3d    0xe716
+0x7e3e    0xe717
+0x7e3f    0xe718
+0x7e40    0xe719
+0x7e41    0xe71a
+0x7e42    0xe71b
+0x7e43    0xe71c
+0x7e44    0xe71d
+0x7e45    0xe71e
+0x7e46    0xe71f
+0x7e47    0xe720
+0x7e48    0xe721
+0x7e49    0xe722
+0x7e4a    0xe723
+0x7e4b    0xe724
+0x7e4c    0xe725
+0x7e4d    0xe726
+0x7e4e    0xe727
+0x7e4f    0xe728
+0x7e50    0xe729
+0x7e51    0xe72a
+0x7e52    0xe72b
+0x7e53    0xe72c
+0x7e54    0xe72d
+0x7e55    0xe72e
+0x7e56    0xe72f
+0x7e57    0xe730
+0x7e58    0xe731
+0x7e59    0xe732
+0x7e5a    0xe733
+0x7e5b    0xe734
+0x7e5c    0xe735
+0x7e5d    0xe736
+0x7e5e    0xe737
+0x7e5f    0xe738
+0x7e60    0xe739
+0x7e61    0xe73a
+0x7e62    0xe73b
+0x7e63    0xe73c
+0x7e64    0xe73d
+0x7e65    0xe73e
+0x7e66    0xe73f
+0x7e67    0xe740
+0x7e68    0xe741
+0x7e69    0xe742
+0x7e6a    0xe743
+0x7e6b    0xe744
+0x7e6c    0xe745
+0x7e6d    0xe746
+0x7e6e    0xe747
+0x7e6f    0xe748
+0x7e70    0xe749
+0x7e71    0xe74a
+0x7e72    0xe74b
+0x7e73    0xe74c
+0x7e74    0xe74d
+0x7e75    0xe74e
+0x7e76    0xe74f
+0x7e77    0xe750
+0x7e78    0xe751
+0x7e79    0xe752
+0x7e7a    0xe753
+0x7e7b    0xe754
+0x7e7c    0xe755
+0x7e7d    0xe756
+0x7e7e    0xe757
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/tools/CharsetMapping/JIS_X_0212_Solaris.map	Wed Aug 01 11:08:11 2012 -0400
@@ -0,0 +1,6211 @@
+#    This mapping table is based on two mappings (b2c and c2b) from
+#    from JIS_X_0212_Solaris_Decoder and JIS_X_0212_Solaris_Encoder.
+#
+#    mapping b2c (from JIS_X_0212_Solaris_Decoder) has following
+#    entries that don't exist in c2b.
+#
+#    0x737d    0x2160
+#    0x737e    0x2161
+#    0x7421    0x2162
+#    0x7422    0x2163
+#    0x7423    0x2164
+#    0x7424    0x2165
+#    0x7425    0x2166
+#    0x7426    0x2167
+#    0x7427    0x2168
+#    0x7428    0x2169
+#    0x742b    0x3231
+#    0x742c    0x2116
+#    0x742d    0x2121
+#
+#    except the "0x742c -> 0x2116" entry, it appears these
+#    entries are just missed from the c2b, I added them in
+#    as the round-trip entries.
+#
+#    b2c and c2b all have entry "0x2271 <-> 0x2116", so the
+#    "0x742c -> 0x2116" entry is moved to the .nr table.
+#
+#    mapping (c2b) generated from JIS_X_0212_Solaris_Encoder has
+#    two "dup" entries
+#    
+#    0x2271 <- 0xf600
+#    0x2271 <- 0x2116
+#
+#    0xf600 is in Unicode private area. This actually is the only
+#    code point in private area, I would assume this is a mistake
+#    from the early day. The 0x2271 <- 0xf600 is removed from this
+#    mapping table
+#
+0x222f    0x02d8
+0x2230    0x02c7
+0x2231    0x00b8
+0x2232    0x02d9
+0x2233    0x02dd
+0x2234    0x00af
+0x2235    0x02db
+0x2236    0x02da
+0x2237    0xff5e
+0x2238    0x0384
+0x2239    0x0385
+0x2242    0x00a1
+0x2243    0x00a6
+0x2244    0x00bf
+0x226b    0x00ba
+0x226c    0x00aa
+0x226d    0x00a9
+0x226e    0x00ae
+0x226f    0x2122
+0x2270    0x00a4
+0x2271    0x2116
+0x2661    0x0386
+0x2662    0x0388
+0x2663    0x0389
+0x2664    0x038a
+0x2665    0x03aa
+0x2667    0x038c
+0x2669    0x038e
+0x266a    0x03ab
+0x266c    0x038f
+0x2671    0x03ac
+0x2672    0x03ad
+0x2673    0x03ae
+0x2674    0x03af
+0x2675    0x03ca
+0x2676    0x0390
+0x2677    0x03cc
+0x2678    0x03c2
+0x2679    0x03cd
+0x267a    0x03cb
+0x267b    0x03b0
+0x267c    0x03ce
+0x2742    0x0402
+0x2743    0x0403
+0x2744    0x0404
+0x2745    0x0405
+0x2746    0x0406
+0x2747    0x0407
+0x2748    0x0408
+0x2749    0x0409
+0x274a    0x040a
+0x274b    0x040b
+0x274c    0x040c
+0x274d    0x040e
+0x274e    0x040f
+0x2772    0x0452
+0x2773    0x0453
+0x2774    0x0454
+0x2775    0x0455
+0x2776    0x0456
+0x2777    0x0457
+0x2778    0x0458
+0x2779    0x0459
+0x277a    0x045a
+0x277b    0x045b
+0x277c    0x045c
+0x277d    0x045e
+0x277e    0x045f
+0x2921    0x00c6
+0x2922    0x0110
+0x2924    0x0126
+0x2926    0x0132
+0x2928    0x0141
+0x2929    0x013f
+0x292b    0x014a
+0x292c    0x00d8
+0x292d    0x0152
+0x292f    0x0166
+0x2930    0x00de
+0x2941    0x00e6
+0x2942    0x0111
+0x2943    0x00f0
+0x2944    0x0127
+0x2945    0x0131
+0x2946    0x0133
+0x2947    0x0138
+0x2948    0x0142
+0x2949    0x0140
+0x294a    0x0149
+0x294b    0x014b
+0x294c    0x00f8
+0x294d    0x0153
+0x294e    0x00df
+0x294f    0x0167
+0x2950    0x00fe
+0x2a21    0x00c1
+0x2a22    0x00c0
+0x2a23    0x00c4
+0x2a24    0x00c2
+0x2a25    0x0102
+0x2a26    0x01cd
+0x2a27    0x0100
+0x2a28    0x0104
+0x2a29    0x00c5
+0x2a2a    0x00c3
+0x2a2b    0x0106
+0x2a2c    0x0108
+0x2a2d    0x010c
+0x2a2e    0x00c7
+0x2a2f    0x010a
+0x2a30    0x010e
+0x2a31    0x00c9
+0x2a32    0x00c8
+0x2a33    0x00cb
+0x2a34    0x00ca
+0x2a35    0x011a
+0x2a36    0x0116
+0x2a37    0x0112
+0x2a38    0x0118
+0x2a3a    0x011c
+0x2a3b    0x011e
+0x2a3c    0x0122
+0x2a3d    0x0120
+0x2a3e    0x0124
+0x2a3f    0x00cd
+0x2a40    0x00cc
+0x2a41    0x00cf
+0x2a42    0x00ce
+0x2a43    0x01cf
+0x2a44    0x0130
+0x2a45    0x012a
+0x2a46    0x012e
+0x2a47    0x0128
+0x2a48    0x0134
+0x2a49    0x0136
+0x2a4a    0x0139
+0x2a4b    0x013d
+0x2a4c    0x013b
+0x2a4d    0x0143
+0x2a4e    0x0147
+0x2a4f    0x0145
+0x2a50    0x00d1
+0x2a51    0x00d3
+0x2a52    0x00d2
+0x2a53    0x00d6
+0x2a54    0x00d4
+0x2a55    0x01d1
+0x2a56    0x0150
+0x2a57    0x014c
+0x2a58    0x00d5
+0x2a59    0x0154
+0x2a5a    0x0158
+0x2a5b    0x0156
+0x2a5c    0x015a
+0x2a5d    0x015c
+0x2a5e    0x0160
+0x2a5f    0x015e
+0x2a60    0x0164
+0x2a61    0x0162
+0x2a62    0x00da
+0x2a63    0x00d9
+0x2a64    0x00dc
+0x2a65    0x00db
+0x2a66    0x016c
+0x2a67    0x01d3
+0x2a68    0x0170
+0x2a69    0x016a
+0x2a6a    0x0172
+0x2a6b    0x016e
+0x2a6c    0x0168
+0x2a6d    0x01d7
+0x2a6e    0x01db
+0x2a6f    0x01d9
+0x2a70    0x01d5
+0x2a71    0x0174
+0x2a72    0x00dd
+0x2a73    0x0178
+0x2a74    0x0176
+0x2a75    0x0179
+0x2a76    0x017d
+0x2a77    0x017b
+0x2b21    0x00e1
+0x2b22    0x00e0
+0x2b23    0x00e4
+0x2b24    0x00e2
+0x2b25    0x0103
+0x2b26    0x01ce
+0x2b27    0x0101
+0x2b28    0x0105
+0x2b29    0x00e5
+0x2b2a    0x00e3
+0x2b2b    0x0107
+0x2b2c    0x0109
+0x2b2d    0x010d
+0x2b2e    0x00e7
+0x2b2f    0x010b
+0x2b30    0x010f
+0x2b31    0x00e9
+0x2b32    0x00e8
+0x2b33    0x00eb
+0x2b34    0x00ea
+0x2b35    0x011b
+0x2b36    0x0117
+0x2b37    0x0113
+0x2b38    0x0119
+0x2b39    0x01f5
+0x2b3a    0x011d
+0x2b3b    0x011f
+0x2b3d    0x0121
+0x2b3e    0x0125
+0x2b3f    0x00ed
+0x2b40    0x00ec
+0x2b41    0x00ef
+0x2b42    0x00ee
+0x2b43    0x01d0
+0x2b45    0x012b
+0x2b46    0x012f
+0x2b47    0x0129
+0x2b48    0x0135
+0x2b49    0x0137
+0x2b4a    0x013a
+0x2b4b    0x013e
+0x2b4c    0x013c
+0x2b4d    0x0144
+0x2b4e    0x0148
+0x2b4f    0x0146
+0x2b50    0x00f1
+0x2b51    0x00f3
+0x2b52    0x00f2
+0x2b53    0x00f6
+0x2b54    0x00f4
+0x2b55    0x01d2
+0x2b56    0x0151
+0x2b57    0x014d
+0x2b58    0x00f5
+0x2b59    0x0155
+0x2b5a    0x0159
+0x2b5b    0x0157
+0x2b5c    0x015b
+0x2b5d    0x015d
+0x2b5e    0x0161
+0x2b5f    0x015f
+0x2b60    0x0165
+0x2b61    0x0163
+0x2b62    0x00fa
+0x2b63    0x00f9
+0x2b64    0x00fc
+0x2b65    0x00fb
+0x2b66    0x016d
+0x2b67    0x01d4
+0x2b68    0x0171
+0x2b69    0x016b
+0x2b6a    0x0173
+0x2b6b    0x016f
+0x2b6c    0x0169
+0x2b6d    0x01d8
+0x2b6e    0x01dc
+0x2b6f    0x01da
+0x2b70    0x01d6
+0x2b71    0x0175
+0x2b72    0x00fd
+0x2b73    0x00ff
+0x2b74    0x0177
+0x2b75    0x017a
+0x2b76    0x017e
+0x2b77    0x017c
+0x3021    0x4e02
+0x3022    0x4e04
+0x3023    0x4e05
+0x3024    0x4e0c
+0x3025    0x4e12
+0x3026    0x4e1f
+0x3027    0x4e23
+0x3028    0x4e24
+0x3029    0x4e28
+0x302a    0x4e2b
+0x302b    0x4e2e
+0x302c    0x4e2f
+0x302d    0x4e30
+0x302e    0x4e35
+0x302f    0x4e40
+0x3030    0x4e41
+0x3031    0x4e44
+0x3032    0x4e47
+0x3033    0x4e51
+0x3034    0x4e5a
+0x3035    0x4e5c
+0x3036    0x4e63
+0x3037    0x4e68
+0x3038    0x4e69
+0x3039    0x4e74
+0x303a    0x4e75
+0x303b    0x4e79
+0x303c    0x4e7f
+0x303d    0x4e8d
+0x303e    0x4e96
+0x303f    0x4e97
+0x3040    0x4e9d
+0x3041    0x4eaf
+0x3042    0x4eb9
+0x3043    0x4ec3
+0x3044    0x4ed0
+0x3045    0x4eda
+0x3046    0x4edb
+0x3047    0x4ee0
+0x3048    0x4ee1
+0x3049    0x4ee2
+0x304a    0x4ee8
+0x304b    0x4eef
+0x304c    0x4ef1
+0x304d    0x4ef3
+0x304e    0x4ef5
+0x304f    0x4efd
+0x3050    0x4efe
+0x3051    0x4eff
+0x3052    0x4f00
+0x3053    0x4f02
+0x3054    0x4f03
+0x3055    0x4f08
+0x3056    0x4f0b
+0x3057    0x4f0c
+0x3058    0x4f12
+0x3059    0x4f15
+0x305a    0x4f16
+0x305b    0x4f17
+0x305c    0x4f19
+0x305d    0x4f2e
+0x305e    0x4f31
+0x305f    0x4f60
+0x3060    0x4f33
+0x3061    0x4f35
+0x3062    0x4f37
+0x3063    0x4f39
+0x3064    0x4f3b
+0x3065    0x4f3e
+0x3066    0x4f40
+0x3067    0x4f42
+0x3068    0x4f48
+0x3069    0x4f49
+0x306a    0x4f4b
+0x306b    0x4f4c
+0x306c    0x4f52
+0x306d    0x4f54
+0x306e    0x4f56
+0x306f    0x4f58
+0x3070    0x4f5f
+0x3071    0x4f63
+0x3072    0x4f6a
+0x3073    0x4f6c
+0x3074    0x4f6e
+0x3075    0x4f71
+0x3076    0x4f77
+0x3077    0x4f78
+0x3078    0x4f79
+0x3079    0x4f7a
+0x307a    0x4f7d
+0x307b    0x4f7e
+0x307c    0x4f81
+0x307d    0x4f82
+0x307e    0x4f84
+0x3121    0x4f85
+0x3122    0x4f89
+0x3123    0x4f8a
+0x3124    0x4f8c
+0x3125    0x4f8e
+0x3126    0x4f90
+0x3127    0x4f92
+0x3128    0x4f93
+0x3129    0x4f94
+0x312a    0x4f97
+0x312b    0x4f99
+0x312c    0x4f9a
+0x312d    0x4f9e
+0x312e    0x4f9f
+0x312f    0x4fb2
+0x3130    0x4fb7
+0x3131    0x4fb9
+0x3132    0x4fbb
+0x3133    0x4fbc
+0x3134    0x4fbd
+0x3135    0x4fbe
+0x3136    0x4fc0
+0x3137    0x4fc1
+0x3138    0x4fc5
+0x3139    0x4fc6
+0x313a    0x4fc8
+0x313b    0x4fc9
+0x313c    0x4fcb
+0x313d    0x4fcc
+0x313e    0x4fcd
+0x313f    0x4fcf
+0x3140    0x4fd2
+0x3141    0x4fdc
+0x3142    0x4fe0
+0x3143    0x4fe2
+0x3144    0x4ff0
+0x3145    0x4ff2
+0x3146    0x4ffc
+0x3147    0x4ffd
+0x3148    0x4fff
+0x3149    0x5000
+0x314a    0x5001
+0x314b    0x5004
+0x314c    0x5007
+0x314d    0x500a
+0x314e    0x500c
+0x314f    0x500e
+0x3150    0x5010
+0x3151    0x5013
+0x3152    0x5017
+0x3153    0x5018
+0x3154    0x501b
+0x3155    0x501c
+0x3156    0x501d
+0x3157    0x501e
+0x3158    0x5022
+0x3159    0x5027
+0x315a    0x502e
+0x315b    0x5030
+0x315c    0x5032
+0x315d    0x5033
+0x315e    0x5035
+0x315f    0x5040
+0x3160    0x5041
+0x3161    0x5042
+0x3162    0x5045
+0x3163    0x5046
+0x3164    0x504a
+0x3165    0x504c
+0x3166    0x504e
+0x3167    0x5051
+0x3168    0x5052
+0x3169    0x5053
+0x316a    0x5057
+0x316b    0x5059
+0x316c    0x505f
+0x316d    0x5060
+0x316e    0x5062
+0x316f    0x5063
+0x3170    0x5066
+0x3171    0x5067
+0x3172    0x506a
+0x3173    0x506d
+0x3174    0x5070
+0x3175    0x5071
+0x3176    0x503b
+0x3177    0x5081
+0x3178    0x5083
+0x3179    0x5084
+0x317a    0x5086
+0x317b    0x508a
+0x317c    0x508e
+0x317d    0x508f
+0x317e    0x5090
+0x3221    0x5092
+0x3222    0x5093
+0x3223    0x5094
+0x3224    0x5096
+0x3225    0x509b
+0x3226    0x509c
+0x3227    0x509e
+0x3228    0x509f
+0x3229    0x50a0
+0x322a    0x50a1
+0x322b    0x50a2
+0x322c    0x50aa
+0x322d    0x50af
+0x322e    0x50b0
+0x322f    0x50b9
+0x3230    0x50ba
+0x3231    0x50bd
+0x3232    0x50c0
+0x3233    0x50c3
+0x3234    0x50c4
+0x3235    0x50c7
+0x3236    0x50cc
+0x3237    0x50ce
+0x3238    0x50d0
+0x3239    0x50d3
+0x323a    0x50d4
+0x323b    0x50d8
+0x323c    0x50dc
+0x323d    0x50dd
+0x323e    0x50df
+0x323f    0x50e2
+0x3240    0x50e4
+0x3241    0x50e6
+0x3242    0x50e8
+0x3243    0x50e9
+0x3244    0x50ef
+0x3245    0x50f1
+0x3246    0x50f6
+0x3247    0x50fa
+0x3248    0x50fe
+0x3249    0x5103
+0x324a    0x5106
+0x324b    0x5107
+0x324c    0x5108
+0x324d    0x510b
+0x324e    0x510c
+0x324f    0x510d
+0x3250    0x510e
+0x3251    0x50f2
+0x3252    0x5110
+0x3253    0x5117
+0x3254    0x5119
+0x3255    0x511b
+0x3256    0x511c
+0x3257    0x511d
+0x3258    0x511e
+0x3259    0x5123
+0x325a    0x5127
+0x325b    0x5128
+0x325c    0x512c
+0x325d    0x512d
+0x325e    0x512f
+0x325f    0x5131
+0x3260    0x5133
+0x3261    0x5134
+0x3262    0x5135
+0x3263    0x5138
+0x3264    0x5139
+0x3265    0x5142
+0x3266    0x514a
+0x3267    0x514f
+0x3268    0x5153
+0x3269    0x5155
+0x326a    0x5157
+0x326b    0x5158
+0x326c    0x515f
+0x326d    0x5164
+0x326e    0x5166
+0x326f    0x517e
+0x3270    0x5183
+0x3271    0x5184
+0x3272    0x518b
+0x3273    0x518e
+0x3274    0x5198
+0x3275    0x519d
+0x3276    0x51a1
+0x3277    0x51a3
+0x3278    0x51ad
+0x3279    0x51b8
+0x327a    0x51ba
+0x327b    0x51bc
+0x327c    0x51be
+0x327d    0x51bf
+0x327e    0x51c2
+0x3321    0x51c8
+0x3322    0x51cf
+0x3323    0x51d1
+0x3324    0x51d2
+0x3325    0x51d3
+0x3326    0x51d5
+0x3327    0x51d8
+0x3328    0x51de
+0x3329    0x51e2
+0x332a    0x51e5
+0x332b    0x51ee
+0x332c    0x51f2
+0x332d    0x51f3
+0x332e    0x51f4
+0x332f    0x51f7
+0x3330    0x5201
+0x3331    0x5202
+0x3332    0x5205
+0x3333    0x5212
+0x3334    0x5213
+0x3335    0x5215
+0x3336    0x5216
+0x3337    0x5218
+0x3338    0x5222
+0x3339    0x5228
+0x333a    0x5231
+0x333b    0x5232
+0x333c    0x5235
+0x333d    0x523c
+0x333e    0x5245
+0x333f    0x5249
+0x3340    0x5255
+0x3341    0x5257
+0x3342    0x5258
+0x3343    0x525a
+0x3344    0x525c
+0x3345    0x525f
+0x3346    0x5260
+0x3347    0x5261
+0x3348    0x5266
+0x3349    0x526e
+0x334a    0x5277
+0x334b    0x5278
+0x334c    0x5279
+0x334d    0x5280
+0x334e    0x5282
+0x334f    0x5285
+0x3350    0x528a
+0x3351    0x528c
+0x3352    0x5293
+0x3353    0x5295
+0x3354    0x5296
+0x3355    0x5297
+0x3356    0x5298
+0x3357    0x529a
+0x3358    0x529c
+0x3359    0x52a4
+0x335a    0x52a5
+0x335b    0x52a6
+0x335c    0x52a7
+0x335d    0x52af
+0x335e    0x52b0
+0x335f    0x52b6
+0x3360    0x52b7
+0x3361    0x52b8
+0x3362    0x52ba
+0x3363    0x52bb
+0x3364    0x52bd
+0x3365    0x52c0
+0x3366    0x52c4
+0x3367    0x52c6
+0x3368    0x52c8
+0x3369    0x52cc
+0x336a    0x52cf
+0x336b    0x52d1
+0x336c    0x52d4
+0x336d    0x52d6
+0x336e    0x52db
+0x336f    0x52dc
+0x3370    0x52e1
+0x3371    0x52e5
+0x3372    0x52e8
+0x3373    0x52e9
+0x3374    0x52ea
+0x3375    0x52ec
+0x3376    0x52f0
+0x3377    0x52f1
+0x3378    0x52f4
+0x3379    0x52f6
+0x337a    0x52f7
+0x337b    0x5300
+0x337c    0x5303
+0x337d    0x530a
+0x337e    0x530b
+0x3421    0x530c
+0x3422    0x5311
+0x3423    0x5313
+0x3424    0x5318
+0x3425    0x531b
+0x3426    0x531c
+0x3427    0x531e
+0x3428    0x531f
+0x3429    0x5325
+0x342a    0x5327
+0x342b    0x5328
+0x342c    0x5329
+0x342d    0x532b
+0x342e    0x532c
+0x342f    0x532d
+0x3430    0x5330
+0x3431    0x5332
+0x3432    0x5335
+0x3433    0x533c
+0x3434    0x533d
+0x3435    0x533e
+0x3436    0x5342
+0x3437    0x534c
+0x3438    0x534b
+0x3439    0x5359
+0x343a    0x535b
+0x343b    0x5361
+0x343c    0x5363
+0x343d    0x5365
+0x343e    0x536c
+0x343f    0x536d
+0x3440    0x5372
+0x3441    0x5379
+0x3442    0x537e
+0x3443    0x5383
+0x3444    0x5387
+0x3445    0x5388
+0x3446    0x538e
+0x3447    0x5393
+0x3448    0x5394
+0x3449    0x5399
+0x344a    0x539d
+0x344b    0x53a1
+0x344c    0x53a4
+0x344d    0x53aa
+0x344e    0x53ab
+0x344f    0x53af
+0x3450    0x53b2
+0x3451    0x53b4
+0x3452    0x53b5
+0x3453    0x53b7
+0x3454    0x53b8
+0x3455    0x53ba
+0x3456    0x53bd
+0x3457    0x53c0
+0x3458    0x53c5
+0x3459    0x53cf
+0x345a    0x53d2
+0x345b    0x53d3
+0x345c    0x53d5
+0x345d    0x53da
+0x345e    0x53dd
+0x345f    0x53de
+0x3460    0x53e0
+0x3461    0x53e6
+0x3462    0x53e7
+0x3463    0x53f5
+0x3464    0x5402
+0x3465    0x5413
+0x3466    0x541a
+0x3467    0x5421
+0x3468    0x5427
+0x3469    0x5428
+0x346a    0x542a
+0x346b    0x542f
+0x346c    0x5431
+0x346d    0x5434
+0x346e    0x5435
+0x346f    0x5443
+0x3470    0x5444
+0x3471    0x5447
+0x3472    0x544d
+0x3473    0x544f
+0x3474    0x545e
+0x3475    0x5462
+0x3476    0x5464
+0x3477    0x5466
+0x3478    0x5467
+0x3479    0x5469
+0x347a    0x546b
+0x347b    0x546d
+0x347c    0x546e
+0x347d    0x5474
+0x347e    0x547f
+0x3521    0x5481
+0x3522    0x5483
+0x3523    0x5485
+0x3524    0x5488
+0x3525    0x5489
+0x3526    0x548d
+0x3527    0x5491
+0x3528    0x5495
+0x3529    0x5496
+0x352a    0x549c
+0x352b    0x549f
+0x352c    0x54a1
+0x352d    0x54a6
+0x352e    0x54a7
+0x352f    0x54a9
+0x3530    0x54aa
+0x3531    0x54ad
+0x3532    0x54ae
+0x3533    0x54b1
+0x3534    0x54b7
+0x3535    0x54b9
+0x3536    0x54ba
+0x3537    0x54bb
+0x3538    0x54bf
+0x3539    0x54c6
+0x353a    0x54ca
+0x353b    0x54cd
+0x353c    0x54ce
+0x353d    0x54e0
+0x353e    0x54ea
+0x353f    0x54ec
+0x3540    0x54ef
+0x3541    0x54f6
+0x3542    0x54fc
+0x3543    0x54fe
+0x3544    0x54ff
+0x3545    0x5500
+0x3546    0x5501
+0x3547    0x5505
+0x3548    0x5508
+0x3549    0x5509
+0x354a    0x550c
+0x354b    0x550d
+0x354c    0x550e
+0x354d    0x5515
+0x354e    0x552a
+0x354f    0x552b
+0x3550    0x5532
+0x3551    0x5535
+0x3552    0x5536
+0x3553    0x553b
+0x3554    0x553c
+0x3555    0x553d
+0x3556    0x5541
+0x3557    0x5547
+0x3558    0x5549
+0x3559    0x554a
+0x355a    0x554d
+0x355b    0x5550
+0x355c    0x5551
+0x355d    0x5558
+0x355e    0x555a
+0x355f    0x555b
+0x3560    0x555e
+0x3561    0x5560
+0x3562    0x5561
+0x3563    0x5564
+0x3564    0x5566
+0x3565    0x557f
+0x3566    0x5581
+0x3567    0x5582
+0x3568    0x5586
+0x3569    0x5588
+0x356a    0x558e
+0x356b    0x558f
+0x356c    0x5591
+0x356d    0x5592
+0x356e    0x5593
+0x356f    0x5594
+0x3570    0x5597
+0x3571    0x55a3
+0x3572    0x55a4
+0x3573    0x55ad
+0x3574    0x55b2
+0x3575    0x55bf
+0x3576    0x55c1
+0x3577    0x55c3
+0x3578    0x55c6
+0x3579    0x55c9
+0x357a    0x55cb
+0x357b    0x55cc
+0x357c    0x55ce
+0x357d    0x55d1
+0x357e    0x55d2
+0x3621    0x55d3
+0x3622    0x55d7
+0x3623    0x55d8
+0x3624    0x55db
+0x3625    0x55de
+0x3626    0x55e2
+0x3627    0x55e9
+0x3628    0x55f6
+0x3629    0x55ff
+0x362a    0x5605
+0x362b    0x5608
+0x362c    0x560a
+0x362d    0x560d
+0x362e    0x560e
+0x362f    0x560f
+0x3630    0x5610
+0x3631    0x5611
+0x3632    0x5612
+0x3633    0x5619
+0x3634    0x562c
+0x3635    0x5630
+0x3636    0x5633
+0x3637    0x5635
+0x3638    0x5637
+0x3639    0x5639
+0x363a    0x563b
+0x363b    0x563c
+0x363c    0x563d
+0x363d    0x563f
+0x363e    0x5640
+0x363f    0x5641
+0x3640    0x5643
+0x3641    0x5644
+0x3642    0x5646
+0x3643    0x5649
+0x3644    0x564b
+0x3645    0x564d
+0x3646    0x564f
+0x3647    0x5654
+0x3648    0x565e
+0x3649    0x5660
+0x364a    0x5661
+0x364b    0x5662
+0x364c    0x5663
+0x364d    0x5666
+0x364e    0x5669
+0x364f    0x566d
+0x3650    0x566f
+0x3651    0x5671
+0x3652    0x5672
+0x3653    0x5675
+0x3654    0x5684
+0x3655    0x5685
+0x3656    0x5688
+0x3657    0x568b
+0x3658    0x568c
+0x3659    0x5695
+0x365a    0x5699
+0x365b    0x569a
+0x365c    0x569d
+0x365d    0x569e
+0x365e    0x569f
+0x365f    0x56a6
+0x3660    0x56a7
+0x3661    0x56a8
+0x3662    0x56a9
+0x3663    0x56ab
+0x3664    0x56ac
+0x3665    0x56ad
+0x3666    0x56b1
+0x3667    0x56b3
+0x3668    0x56b7
+0x3669    0x56be
+0x366a    0x56c5
+0x366b    0x56c9
+0x366c    0x56ca
+0x366d    0x56cb
+0x366e    0x56cf
+0x366f    0x56d0
+0x3670    0x56cc
+0x3671    0x56cd
+0x3672    0x56d9
+0x3673    0x56dc
+0x3674    0x56dd
+0x3675    0x56df
+0x3676    0x56e1
+0x3677    0x56e4
+0x3678    0x56e5
+0x3679    0x56e6
+0x367a    0x56e7
+0x367b    0x56e8
+0x367c    0x56f1
+0x367d    0x56eb
+0x367e    0x56ed
+0x3721    0x56f6
+0x3722    0x56f7
+0x3723    0x5701
+0x3724    0x5702
+0x3725    0x5707
+0x3726    0x570a
+0x3727    0x570c
+0x3728    0x5711
+0x3729    0x5715
+0x372a    0x571a
+0x372b    0x571b
+0x372c    0x571d
+0x372d    0x5720
+0x372e    0x5722
+0x372f    0x5723
+0x3730    0x5724
+0x3731    0x5725
+0x3732    0x5729
+0x3733    0x572a
+0x3734    0x572c
+0x3735    0x572e
+0x3736    0x572f
+0x3737    0x5733
+0x3738    0x5734
+0x3739    0x573d
+0x373a    0x573e
+0x373b    0x573f
+0x373c    0x5745
+0x373d    0x5746
+0x373e    0x574c
+0x373f    0x574d
+0x3740    0x5752
+0x3741    0x5762
+0x3742    0x5765
+0x3743    0x5767
+0x3744    0x5768
+0x3745    0x576b
+0x3746    0x576d
+0x3747    0x576e
+0x3748    0x576f
+0x3749    0x5770
+0x374a    0x5771
+0x374b    0x5773
+0x374c    0x5774
+0x374d    0x5775
+0x374e    0x5777
+0x374f    0x5779
+0x3750    0x577a
+0x3751    0x577b
+0x3752    0x577c
+0x3753    0x577e
+0x3754    0x5781
+0x3755    0x5783
+0x3756    0x578c
+0x3757    0x5794
+0x3758    0x5797
+0x3759    0x5799
+0x375a    0x579a
+0x375b    0x579c
+0x375c    0x579d
+0x375d    0x579e
+0x375e    0x579f
+0x375f    0x57a1
+0x3760    0x5795
+0x3761    0x57a7
+0x3762    0x57a8
+0x3763    0x57a9
+0x3764    0x57ac
+0x3765    0x57b8
+0x3766    0x57bd
+0x3767    0x57c7
+0x3768    0x57c8
+0x3769    0x57cc
+0x376a    0x57cf
+0x376b    0x57d5
+0x376c    0x57dd
+0x376d    0x57de
+0x376e    0x57e4
+0x376f    0x57e6
+0x3770    0x57e7
+0x3771    0x57e9
+0x3772    0x57ed
+0x3773    0x57f0
+0x3774    0x57f5
+0x3775    0x57f6
+0x3776    0x57f8
+0x3777    0x57fd
+0x3778    0x57fe
+0x3779    0x57ff
+0x377a    0x5803
+0x377b    0x5804
+0x377c    0x5808
+0x377d    0x5809
+0x377e    0x57e1
+0x3821    0x580c
+0x3822    0x580d
+0x3823    0x581b
+0x3824    0x581e
+0x3825    0x581f
+0x3826    0x5820
+0x3827    0x5826
+0x3828    0x5827
+0x3829    0x582d
+0x382a    0x5832
+0x382b    0x5839
+0x382c    0x583f
+0x382d    0x5849
+0x382e    0x584c
+0x382f    0x584d
+0x3830    0x584f
+0x3831    0x5850
+0x3832    0x5855
+0x3833    0x585f
+0x3834    0x5861
+0x3835    0x5864
+0x3836    0x5867
+0x3837    0x5868
+0x3838    0x5878
+0x3839    0x587c
+0x383a    0x587f
+0x383b    0x5880
+0x383c    0x5881
+0x383d    0x5887
+0x383e    0x5888
+0x383f    0x5889
+0x3840    0x588a
+0x3841    0x588c
+0x3842    0x588d
+0x3843    0x588f
+0x3844    0x5890
+0x3845    0x5894
+0x3846    0x5896
+0x3847    0x589d
+0x3848    0x58a0
+0x3849    0x58a1
+0x384a    0x58a2
+0x384b    0x58a6
+0x384c    0x58a9
+0x384d    0x58b1
+0x384e    0x58b2
+0x384f    0x58c4
+0x3850    0x58bc
+0x3851    0x58c2
+0x3852    0x58c8
+0x3853    0x58cd
+0x3854    0x58ce
+0x3855    0x58d0
+0x3856    0x58d2
+0x3857    0x58d4
+0x3858    0x58d6
+0x3859    0x58da
+0x385a    0x58dd
+0x385b    0x58e1
+0x385c    0x58e2
+0x385d    0x58e9
+0x385e    0x58f3
+0x385f    0x5905
+0x3860    0x5906
+0x3861    0x590b
+0x3862    0x590c
+0x3863    0x5912
+0x3864    0x5913
+0x3865    0x5914
+0x3866    0x8641
+0x3867    0x591d
+0x3868    0x5921
+0x3869    0x5923
+0x386a    0x5924
+0x386b    0x5928
+0x386c    0x592f
+0x386d    0x5930
+0x386e    0x5933
+0x386f    0x5935
+0x3870    0x5936
+0x3871    0x593f
+0x3872    0x5943
+0x3873    0x5946
+0x3874    0x5952
+0x3875    0x5953
+0x3876    0x5959
+0x3877    0x595b
+0x3878    0x595d
+0x3879    0x595e
+0x387a    0x595f
+0x387b    0x5961
+0x387c    0x5963
+0x387d    0x596b
+0x387e    0x596d
+0x3921    0x596f
+0x3922    0x5972
+0x3923    0x5975
+0x3924    0x5976
+0x3925    0x5979
+0x3926    0x597b
+0x3927    0x597c
+0x3928    0x598b
+0x3929    0x598c
+0x392a    0x598e
+0x392b    0x5992
+0x392c    0x5995
+0x392d    0x5997
+0x392e    0x599f
+0x392f    0x59a4
+0x3930    0x59a7
+0x3931    0x59ad
+0x3932    0x59ae
+0x3933    0x59af
+0x3934    0x59b0
+0x3935    0x59b3
+0x3936    0x59b7
+0x3937    0x59ba
+0x3938    0x59bc
+0x3939    0x59c1
+0x393a    0x59c3
+0x393b    0x59c4
+0x393c    0x59c8
+0x393d    0x59ca
+0x393e    0x59cd
+0x393f    0x59d2
+0x3940    0x59dd
+0x3941    0x59de
+0x3942    0x59df
+0x3943    0x59e3
+0x3944    0x59e4
+0x3945    0x59e7
+0x3946    0x59ee
+0x3947    0x59ef
+0x3948    0x59f1
+0x3949    0x59f2
+0x394a    0x59f4
+0x394b    0x59f7
+0x394c    0x5a00
+0x394d    0x5a04
+0x394e    0x5a0c
+0x394f    0x5a0d
+0x3950    0x5a0e
+0x3951    0x5a12
+0x3952    0x5a13
+0x3953    0x5a1e
+0x3954    0x5a23
+0x3955    0x5a24
+0x3956    0x5a27
+0x3957    0x5a28
+0x3958    0x5a2a
+0x3959    0x5a2d
+0x395a    0x5a30
+0x395b    0x5a44
+0x395c    0x5a45
+0x395d    0x5a47
+0x395e    0x5a48
+0x395f    0x5a4c
+0x3960    0x5a50
+0x3961    0x5a55
+0x3962    0x5a5e
+0x3963    0x5a63
+0x3964    0x5a65
+0x3965    0x5a67
+0x3966    0x5a6d
+0x3967    0x5a77
+0x3968    0x5a7a
+0x3969    0x5a7b
+0x396a    0x5a7e
+0x396b    0x5a8b
+0x396c    0x5a90
+0x396d    0x5a93
+0x396e    0x5a96
+0x396f    0x5a99
+0x3970    0x5a9c
+0x3971    0x5a9e
+0x3972    0x5a9f
+0x3973    0x5aa0
+0x3974    0x5aa2
+0x3975    0x5aa7
+0x3976    0x5aac
+0x3977    0x5ab1
+0x3978    0x5ab2
+0x3979    0x5ab3
+0x397a    0x5ab5
+0x397b    0x5ab8
+0x397c    0x5aba
+0x397d    0x5abb
+0x397e    0x5abf
+0x3a21    0x5ac4
+0x3a22    0x5ac6
+0x3a23    0x5ac8
+0x3a24    0x5acf
+0x3a25    0x5ada
+0x3a26    0x5adc
+0x3a27    0x5ae0
+0x3a28    0x5ae5
+0x3a29    0x5aea
+0x3a2a    0x5aee
+0x3a2b    0x5af5
+0x3a2c    0x5af6
+0x3a2d    0x5afd
+0x3a2e    0x5b00
+0x3a2f    0x5b01
+0x3a30    0x5b08
+0x3a31    0x5b17
+0x3a32    0x5b34
+0x3a33    0x5b19
+0x3a34    0x5b1b
+0x3a35    0x5b1d
+0x3a36    0x5b21
+0x3a37    0x5b25
+0x3a38    0x5b2d
+0x3a39    0x5b38
+0x3a3a    0x5b41
+0x3a3b    0x5b4b
+0x3a3c    0x5b4c
+0x3a3d    0x5b52
+0x3a3e    0x5b56
+0x3a3f    0x5b5e
+0x3a40    0x5b68
+0x3a41    0x5b6e
+0x3a42    0x5b6f
+0x3a43    0x5b7c
+0x3a44    0x5b7d
+0x3a45    0x5b7e
+0x3a46    0x5b7f
+0x3a47    0x5b81
+0x3a48    0x5b84
+0x3a49    0x5b86
+0x3a4a    0x5b8a
+0x3a4b    0x5b8e
+0x3a4c    0x5b90
+0x3a4d    0x5b91
+0x3a4e    0x5b93
+0x3a4f    0x5b94
+0x3a50    0x5b96
+0x3a51    0x5ba8
+0x3a52    0x5ba9
+0x3a53    0x5bac
+0x3a54    0x5bad
+0x3a55    0x5baf
+0x3a56    0x5bb1
+0x3a57    0x5bb2
+0x3a58    0x5bb7
+0x3a59    0x5bba
+0x3a5a    0x5bbc
+0x3a5b    0x5bc0
+0x3a5c    0x5bc1
+0x3a5d    0x5bcd
+0x3a5e    0x5bcf
+0x3a5f    0x5bd6
+0x3a60    0x5bd7
+0x3a61    0x5bd8
+0x3a62    0x5bd9
+0x3a63    0x5bda
+0x3a64    0x5be0
+0x3a65    0x5bef
+0x3a66    0x5bf1
+0x3a67    0x5bf4
+0x3a68    0x5bfd
+0x3a69    0x5c0c
+0x3a6a    0x5c17
+0x3a6b    0x5c1e
+0x3a6c    0x5c1f
+0x3a6d    0x5c23
+0x3a6e    0x5c26
+0x3a6f    0x5c29
+0x3a70    0x5c2b
+0x3a71    0x5c2c
+0x3a72    0x5c2e
+0x3a73    0x5c30
+0x3a74    0x5c32
+0x3a75    0x5c35
+0x3a76    0x5c36
+0x3a77    0x5c59
+0x3a78    0x5c5a
+0x3a79    0x5c5c
+0x3a7a    0x5c62
+0x3a7b    0x5c63
+0x3a7c    0x5c67
+0x3a7d    0x5c68
+0x3a7e    0x5c69
+0x3b21    0x5c6d
+0x3b22    0x5c70
+0x3b23    0x5c74
+0x3b24    0x5c75
+0x3b25    0x5c7a
+0x3b26    0x5c7b
+0x3b27    0x5c7c
+0x3b28    0x5c7d
+0x3b29    0x5c87
+0x3b2a    0x5c88
+0x3b2b    0x5c8a
+0x3b2c    0x5c8f
+0x3b2d    0x5c92
+0x3b2e    0x5c9d
+0x3b2f    0x5c9f
+0x3b30    0x5ca0
+0x3b31    0x5ca2
+0x3b32    0x5ca3
+0x3b33    0x5ca6
+0x3b34    0x5caa
+0x3b35    0x5cb2
+0x3b36    0x5cb4
+0x3b37    0x5cb5
+0x3b38    0x5cba
+0x3b39    0x5cc9
+0x3b3a    0x5ccb
+0x3b3b    0x5cd2
+0x3b3c    0x5cdd
+0x3b3d    0x5cd7
+0x3b3e    0x5cee
+0x3b3f    0x5cf1
+0x3b40    0x5cf2
+0x3b41    0x5cf4
+0x3b42    0x5d01
+0x3b43    0x5d06
+0x3b44    0x5d0d
+0x3b45    0x5d12
+0x3b46    0x5d2b
+0x3b47    0x5d23
+0x3b48    0x5d24
+0x3b49    0x5d26
+0x3b4a    0x5d27
+0x3b4b    0x5d31
+0x3b4c    0x5d34
+0x3b4d    0x5d39
+0x3b4e    0x5d3d
+0x3b4f    0x5d3f
+0x3b50    0x5d42
+0x3b51    0x5d43
+0x3b52    0x5d46
+0x3b53    0x5d48
+0x3b54    0x5d55
+0x3b55    0x5d51
+0x3b56    0x5d59
+0x3b57    0x5d4a
+0x3b58    0x5d5f
+0x3b59    0x5d60
+0x3b5a    0x5d61
+0x3b5b    0x5d62
+0x3b5c    0x5d64
+0x3b5d    0x5d6a
+0x3b5e    0x5d6d
+0x3b5f    0x5d70
+0x3b60    0x5d79
+0x3b61    0x5d7a
+0x3b62    0x5d7e
+0x3b63    0x5d7f
+0x3b64    0x5d81
+0x3b65    0x5d83
+0x3b66    0x5d88
+0x3b67    0x5d8a
+0x3b68    0x5d92
+0x3b69    0x5d93
+0x3b6a    0x5d94
+0x3b6b    0x5d95
+0x3b6c    0x5d99
+0x3b6d    0x5d9b
+0x3b6e    0x5d9f
+0x3b6f    0x5da0
+0x3b70    0x5da7
+0x3b71    0x5dab
+0x3b72    0x5db0
+0x3b73    0x5db4
+0x3b74    0x5db8
+0x3b75    0x5db9
+0x3b76    0x5dc3
+0x3b77    0x5dc7
+0x3b78    0x5dcb
+0x3b79    0x5dd0
+0x3b7a    0x5dce
+0x3b7b    0x5dd8
+0x3b7c    0x5dd9
+0x3b7d    0x5de0
+0x3b7e    0x5de4
+0x3c21    0x5de9
+0x3c22    0x5df8
+0x3c23    0x5df9
+0x3c24    0x5e00
+0x3c25    0x5e07
+0x3c26    0x5e0d
+0x3c27    0x5e12
+0x3c28    0x5e14
+0x3c29    0x5e15
+0x3c2a    0x5e18
+0x3c2b    0x5e1f
+0x3c2c    0x5e20
+0x3c2d    0x5e2e
+0x3c2e    0x5e28
+0x3c2f    0x5e32
+0x3c30    0x5e35
+0x3c31    0x5e3e
+0x3c32    0x5e4b
+0x3c33    0x5e50
+0x3c34    0x5e49
+0x3c35    0x5e51
+0x3c36    0x5e56
+0x3c37    0x5e58
+0x3c38    0x5e5b
+0x3c39    0x5e5c
+0x3c3a    0x5e5e
+0x3c3b    0x5e68
+0x3c3c    0x5e6a
+0x3c3d    0x5e6b
+0x3c3e    0x5e6c
+0x3c3f    0x5e6d
+0x3c40    0x5e6e
+0x3c41    0x5e70
+0x3c42    0x5e80
+0x3c43    0x5e8b
+0x3c44    0x5e8e
+0x3c45    0x5ea2
+0x3c46    0x5ea4
+0x3c47    0x5ea5
+0x3c48    0x5ea8
+0x3c49    0x5eaa
+0x3c4a    0x5eac
+0x3c4b    0x5eb1
+0x3c4c    0x5eb3
+0x3c4d    0x5ebd
+0x3c4e    0x5ebe
+0x3c4f    0x5ebf
+0x3c50    0x5ec6
+0x3c51    0x5ecc
+0x3c52    0x5ecb
+0x3c53    0x5ece
+0x3c54    0x5ed1
+0x3c55    0x5ed2
+0x3c56    0x5ed4
+0x3c57    0x5ed5
+0x3c58    0x5edc
+0x3c59    0x5ede
+0x3c5a    0x5ee5
+0x3c5b    0x5eeb
+0x3c5c    0x5f02
+0x3c5d    0x5f06
+0x3c5e    0x5f07
+0x3c5f    0x5f08
+0x3c60    0x5f0e
+0x3c61    0x5f19
+0x3c62    0x5f1c
+0x3c63    0x5f1d
+0x3c64    0x5f21
+0x3c65    0x5f22
+0x3c66    0x5f23
+0x3c67    0x5f24
+0x3c68    0x5f28
+0x3c69    0x5f2b
+0x3c6a    0x5f2c
+0x3c6b    0x5f2e
+0x3c6c    0x5f30
+0x3c6d    0x5f34
+0x3c6e    0x5f36
+0x3c6f    0x5f3b
+0x3c70    0x5f3d
+0x3c71    0x5f3f
+0x3c72    0x5f40
+0x3c73    0x5f44
+0x3c74    0x5f45
+0x3c75    0x5f47
+0x3c76    0x5f4d
+0x3c77    0x5f50
+0x3c78    0x5f54
+0x3c79    0x5f58
+0x3c7a    0x5f5b
+0x3c7b    0x5f60
+0x3c7c    0x5f63
+0x3c7d    0x5f64
+0x3c7e    0x5f67
+0x3d21    0x5f6f
+0x3d22    0x5f72
+0x3d23    0x5f74
+0x3d24    0x5f75
+0x3d25    0x5f78
+0x3d26    0x5f7a
+0x3d27    0x5f7d
+0x3d28    0x5f7e
+0x3d29    0x5f89
+0x3d2a    0x5f8d
+0x3d2b    0x5f8f
+0x3d2c    0x5f96
+0x3d2d    0x5f9c
+0x3d2e    0x5f9d
+0x3d2f    0x5fa2
+0x3d30    0x5fa7
+0x3d31    0x5fab
+0x3d32    0x5fa4
+0x3d33    0x5fac
+0x3d34    0x5faf
+0x3d35    0x5fb0
+0x3d36    0x5fb1
+0x3d37    0x5fb8
+0x3d38    0x5fc4
+0x3d39    0x5fc7
+0x3d3a    0x5fc8
+0x3d3b    0x5fc9
+0x3d3c    0x5fcb
+0x3d3d    0x5fd0
+0x3d3e    0x5fd1
+0x3d3f    0x5fd2
+0x3d40    0x5fd3
+0x3d41    0x5fd4
+0x3d42    0x5fde
+0x3d43    0x5fe1
+0x3d44    0x5fe2
+0x3d45    0x5fe8
+0x3d46    0x5fe9
+0x3d47    0x5fea
+0x3d48    0x5fec
+0x3d49    0x5fed
+0x3d4a    0x5fee
+0x3d4b    0x5fef
+0x3d4c    0x5ff2
+0x3d4d    0x5ff3
+0x3d4e    0x5ff6
+0x3d4f    0x5ffa
+0x3d50    0x5ffc
+0x3d51    0x6007
+0x3d52    0x600a
+0x3d53    0x600d
+0x3d54    0x6013
+0x3d55    0x6014
+0x3d56    0x6017
+0x3d57    0x6018
+0x3d58    0x601a
+0x3d59    0x601f
+0x3d5a    0x6024
+0x3d5b    0x602d
+0x3d5c    0x6033
+0x3d5d    0x6035
+0x3d5e    0x6040
+0x3d5f    0x6047
+0x3d60    0x6048
+0x3d61    0x6049
+0x3d62    0x604c
+0x3d63    0x6051
+0x3d64    0x6054
+0x3d65    0x6056
+0x3d66    0x6057
+0x3d67    0x605d
+0x3d68    0x6061
+0x3d69    0x6067
+0x3d6a    0x6071
+0x3d6b    0x607e
+0x3d6c    0x607f
+0x3d6d    0x6082
+0x3d6e    0x6086
+0x3d6f    0x6088
+0x3d70    0x608a
+0x3d71    0x608e
+0x3d72    0x6091
+0x3d73    0x6093
+0x3d74    0x6095
+0x3d75    0x6098
+0x3d76    0x609d
+0x3d77    0x609e
+0x3d78    0x60a2
+0x3d79    0x60a4
+0x3d7a    0x60a5
+0x3d7b    0x60a8
+0x3d7c    0x60b0
+0x3d7d    0x60b1
+0x3d7e    0x60b7
+0x3e21    0x60bb
+0x3e22    0x60be
+0x3e23    0x60c2
+0x3e24    0x60c4
+0x3e25    0x60c8
+0x3e26    0x60c9
+0x3e27    0x60ca
+0x3e28    0x60cb
+0x3e29    0x60ce
+0x3e2a    0x60cf
+0x3e2b    0x60d4
+0x3e2c    0x60d5
+0x3e2d    0x60d9
+0x3e2e    0x60db
+0x3e2f    0x60dd
+0x3e30    0x60de
+0x3e31    0x60e2
+0x3e32    0x60e5
+0x3e33    0x60f2
+0x3e34    0x60f5
+0x3e35    0x60f8
+0x3e36    0x60fc
+0x3e37    0x60fd
+0x3e38    0x6102
+0x3e39    0x6107
+0x3e3a    0x610a
+0x3e3b    0x610c
+0x3e3c    0x6110
+0x3e3d    0x6111
+0x3e3e    0x6112
+0x3e3f    0x6113
+0x3e40    0x6114
+0x3e41    0x6116
+0x3e42    0x6117
+0x3e43    0x6119
+0x3e44    0x611c
+0x3e45    0x611e
+0x3e46    0x6122
+0x3e47    0x612a
+0x3e48    0x612b
+0x3e49    0x6130
+0x3e4a    0x6131
+0x3e4b    0x6135
+0x3e4c    0x6136
+0x3e4d    0x6137
+0x3e4e    0x6139
+0x3e4f    0x6141
+0x3e50    0x6145
+0x3e51    0x6146
+0x3e52    0x6149
+0x3e53    0x615e
+0x3e54    0x6160
+0x3e55    0x616c
+0x3e56    0x6172
+0x3e57    0x6178
+0x3e58    0x617b
+0x3e59    0x617c
+0x3e5a    0x617f
+0x3e5b    0x6180
+0x3e5c    0x6181
+0x3e5d    0x6183
+0x3e5e    0x6184
+0x3e5f    0x618b
+0x3e60    0x618d
+0x3e61    0x6192
+0x3e62    0x6193
+0x3e63    0x6197
+0x3e64    0x6198
+0x3e65    0x619c
+0x3e66    0x619d
+0x3e67    0x619f
+0x3e68    0x61a0
+0x3e69    0x61a5
+0x3e6a    0x61a8
+0x3e6b    0x61aa
+0x3e6c    0x61ad
+0x3e6d    0x61b8
+0x3e6e    0x61b9
+0x3e6f    0x61bc
+0x3e70    0x61c0
+0x3e71    0x61c1
+0x3e72    0x61c2
+0x3e73    0x61ce
+0x3e74    0x61cf
+0x3e75    0x61d5
+0x3e76    0x61dc
+0x3e77    0x61dd
+0x3e78    0x61de
+0x3e79    0x61df
+0x3e7a    0x61e1
+0x3e7b    0x61e2
+0x3e7c    0x61e7
+0x3e7d    0x61e9
+0x3e7e    0x61e5
+0x3f21    0x61ec
+0x3f22    0x61ed
+0x3f23    0x61ef
+0x3f24    0x6201
+0x3f25    0x6203
+0x3f26    0x6204
+0x3f27    0x6207
+0x3f28    0x6213
+0x3f29    0x6215
+0x3f2a    0x621c
+0x3f2b    0x6220
+0x3f2c    0x6222
+0x3f2d    0x6223
+0x3f2e    0x6227
+0x3f2f    0x6229
+0x3f30    0x622b
+0x3f31    0x6239
+0x3f32    0x623d
+0x3f33    0x6242
+0x3f34    0x6243
+0x3f35    0x6244
+0x3f36    0x6246
+0x3f37    0x624c
+0x3f38    0x6250
+0x3f39    0x6251
+0x3f3a    0x6252
+0x3f3b    0x6254
+0x3f3c    0x6256
+0x3f3d    0x625a
+0x3f3e    0x625c
+0x3f3f    0x6264
+0x3f40    0x626d
+0x3f41    0x626f
+0x3f42    0x6273
+0x3f43    0x627a
+0x3f44    0x627d
+0x3f45    0x628d
+0x3f46    0x628e
+0x3f47    0x628f
+0x3f48    0x6290
+0x3f49    0x62a6
+0x3f4a    0x62a8
+0x3f4b    0x62b3
+0x3f4c    0x62b6
+0x3f4d    0x62b7
+0x3f4e    0x62ba
+0x3f4f    0x62be
+0x3f50    0x62bf
+0x3f51    0x62c4
+0x3f52    0x62ce
+0x3f53    0x62d5
+0x3f54    0x62d6
+0x3f55    0x62da
+0x3f56    0x62ea
+0x3f57    0x62f2
+0x3f58    0x62f4
+0x3f59    0x62fc
+0x3f5a    0x62fd
+0x3f5b    0x6303
+0x3f5c    0x6304
+0x3f5d    0x630a
+0x3f5e    0x630b
+0x3f5f    0x630d
+0x3f60    0x6310
+0x3f61    0x6313
+0x3f62    0x6316
+0x3f63    0x6318
+0x3f64    0x6329
+0x3f65    0x632a
+0x3f66    0x632d
+0x3f67    0x6335
+0x3f68    0x6336
+0x3f69    0x6339
+0x3f6a    0x633c
+0x3f6b    0x6341
+0x3f6c    0x6342
+0x3f6d    0x6343
+0x3f6e    0x6344
+0x3f6f    0x6346
+0x3f70    0x634a
+0x3f71    0x634b
+0x3f72    0x634e
+0x3f73    0x6352
+0x3f74    0x6353
+0x3f75    0x6354
+0x3f76    0x6358
+0x3f77    0x635b
+0x3f78    0x6365
+0x3f79    0x6366
+0x3f7a    0x636c
+0x3f7b    0x636d
+0x3f7c    0x6371
+0x3f7d    0x6374
+0x3f7e    0x6375
+0x4021    0x6378
+0x4022    0x637c
+0x4023    0x637d
+0x4024    0x637f
+0x4025    0x6382
+0x4026    0x6384
+0x4027    0x6387
+0x4028    0x638a
+0x4029    0x6390
+0x402a    0x6394
+0x402b    0x6395
+0x402c    0x6399
+0x402d    0x639a
+0x402e    0x639e
+0x402f    0x63a4
+0x4030    0x63a6
+0x4031    0x63ad
+0x4032    0x63ae
+0x4033    0x63af
+0x4034    0x63bd
+0x4035    0x63c1
+0x4036    0x63c5
+0x4037    0x63c8
+0x4038    0x63ce
+0x4039    0x63d1
+0x403a    0x63d3
+0x403b    0x63d4
+0x403c    0x63d5
+0x403d    0x63dc
+0x403e    0x63e0
+0x403f    0x63e5
+0x4040    0x63ea
+0x4041    0x63ec
+0x4042    0x63f2
+0x4043    0x63f3
+0x4044    0x63f5
+0x4045    0x63f8
+0x4046    0x63f9
+0x4047    0x6409
+0x4048    0x640a
+0x4049    0x6410
+0x404a    0x6412
+0x404b    0x6414
+0x404c    0x6418
+0x404d    0x641e
+0x404e    0x6420
+0x404f    0x6422
+0x4050    0x6424
+0x4051    0x6425
+0x4052    0x6429
+0x4053    0x642a
+0x4054    0x642f
+0x4055    0x6430
+0x4056    0x6435
+0x4057    0x643d
+0x4058    0x643f
+0x4059    0x644b
+0x405a    0x644f
+0x405b    0x6451
+0x405c    0x6452
+0x405d    0x6453
+0x405e    0x6454
+0x405f    0x645a
+0x4060    0x645b
+0x4061    0x645c
+0x4062    0x645d
+0x4063    0x645f
+0x4064    0x6460
+0x4065    0x6461
+0x4066    0x6463
+0x4067    0x646d
+0x4068    0x6473
+0x4069    0x6474
+0x406a    0x647b
+0x406b    0x647d
+0x406c    0x6485
+0x406d    0x6487
+0x406e    0x648f
+0x406f    0x6490
+0x4070    0x6491
+0x4071    0x6498
+0x4072    0x6499
+0x4073    0x649b
+0x4074    0x649d
+0x4075    0x649f
+0x4076    0x64a1
+0x4077    0x64a3
+0x4078    0x64a6
+0x4079    0x64a8
+0x407a    0x64ac
+0x407b    0x64b3
+0x407c    0x64bd
+0x407d    0x64be
+0x407e    0x64bf
+0x4121    0x64c4
+0x4122    0x64c9
+0x4123    0x64ca
+0x4124    0x64cb
+0x4125    0x64cc
+0x4126    0x64ce
+0x4127    0x64d0
+0x4128    0x64d1
+0x4129    0x64d5
+0x412a    0x64d7
+0x412b    0x64e4
+0x412c    0x64e5
+0x412d    0x64e9
+0x412e    0x64ea
+0x412f    0x64ed
+0x4130    0x64f0
+0x4131    0x64f5
+0x4132    0x64f7
+0x4133    0x64fb
+0x4134    0x64ff
+0x4135    0x6501
+0x4136    0x6504
+0x4137    0x6508
+0x4138    0x6509
+0x4139    0x650a
+0x413a    0x650f
+0x413b    0x6513
+0x413c    0x6514
+0x413d    0x6516
+0x413e    0x6519
+0x413f    0x651b
+0x4140    0x651e
+0x4141    0x651f
+0x4142    0x6522
+0x4143    0x6526
+0x4144    0x6529
+0x4145    0x652e
+0x4146    0x6531
+0x4147    0x653a
+0x4148    0x653c
+0x4149    0x653d
+0x414a    0x6543
+0x414b    0x6547
+0x414c    0x6549
+0x414d    0x6550
+0x414e    0x6552
+0x414f    0x6554
+0x4150    0x655f
+0x4151    0x6560
+0x4152    0x6567
+0x4153    0x656b
+0x4154    0x657a
+0x4155    0x657d
+0x4156    0x6581
+0x4157    0x6585
+0x4158    0x658a
+0x4159    0x6592
+0x415a    0x6595
+0x415b    0x6598
+0x415c    0x659d
+0x415d    0x65a0
+0x415e    0x65a3
+0x415f    0x65a6
+0x4160    0x65ae
+0x4161    0x65b2
+0x4162    0x65b3
+0x4163    0x65b4
+0x4164    0x65bf
+0x4165    0x65c2
+0x4166    0x65c8
+0x4167    0x65c9
+0x4168    0x65ce
+0x4169    0x65d0
+0x416a    0x65d4
+0x416b    0x65d6
+0x416c    0x65d8
+0x416d    0x65df
+0x416e    0x65f0
+0x416f    0x65f2
+0x4170    0x65f4
+0x4171    0x65f5
+0x4172    0x65f9
+0x4173    0x65fe
+0x4174    0x65ff
+0x4175    0x6600
+0x4176    0x6604
+0x4177    0x6608
+0x4178    0x6609
+0x4179    0x660d
+0x417a    0x6611
+0x417b    0x6612
+0x417c    0x6615
+0x417d    0x6616
+0x417e    0x661d
+0x4221    0x661e
+0x4222    0x6621
+0x4223    0x6622
+0x4224    0x6623
+0x4225    0x6624
+0x4226    0x6626
+0x4227    0x6629
+0x4228    0x662a
+0x4229    0x662b
+0x422a    0x662c
+0x422b    0x662e
+0x422c    0x6630
+0x422d    0x6631
+0x422e    0x6633
+0x422f    0x6639
+0x4230    0x6637
+0x4231    0x6640
+0x4232    0x6645
+0x4233    0x6646
+0x4234    0x664a
+0x4235    0x664c
+0x4236    0x6651
+0x4237    0x664e
+0x4238    0x6657
+0x4239    0x6658
+0x423a    0x6659
+0x423b    0x665b
+0x423c    0x665c
+0x423d    0x6660
+0x423e    0x6661
+0x423f    0x66fb
+0x4240    0x666a
+0x4241    0x666b
+0x4242    0x666c
+0x4243    0x667e
+0x4244    0x6673
+0x4245    0x6675
+0x4246    0x667f
+0x4247    0x6677
+0x4248    0x6678
+0x4249    0x6679
+0x424a    0x667b
+0x424b    0x6680
+0x424c    0x667c
+0x424d    0x668b
+0x424e    0x668c
+0x424f    0x668d
+0x4250    0x6690
+0x4251    0x6692
+0x4252    0x6699
+0x4253    0x669a
+0x4254    0x669b
+0x4255    0x669c
+0x4256    0x669f
+0x4257    0x66a0
+0x4258    0x66a4
+0x4259    0x66ad
+0x425a    0x66b1
+0x425b    0x66b2
+0x425c    0x66b5
+0x425d    0x66bb
+0x425e    0x66bf
+0x425f    0x66c0
+0x4260    0x66c2
+0x4261    0x66c3
+0x4262    0x66c8
+0x4263    0x66cc
+0x4264    0x66ce
+0x4265    0x66cf
+0x4266    0x66d4
+0x4267    0x66db
+0x4268    0x66df
+0x4269    0x66e8
+0x426a    0x66eb
+0x426b    0x66ec
+0x426c    0x66ee
+0x426d    0x66fa
+0x426e    0x6705
+0x426f    0x6707
+0x4270    0x670e
+0x4271    0x6713
+0x4272    0x6719
+0x4273    0x671c
+0x4274    0x6720
+0x4275    0x6722
+0x4276    0x6733
+0x4277    0x673e
+0x4278    0x6745
+0x4279    0x6747
+0x427a    0x6748
+0x427b    0x674c
+0x427c    0x6754
+0x427d    0x6755
+0x427e    0x675d
+0x4321    0x6766
+0x4322    0x676c
+0x4323    0x676e
+0x4324    0x6774
+0x4325    0x6776
+0x4326    0x677b
+0x4327    0x6781
+0x4328    0x6784
+0x4329    0x678e
+0x432a    0x678f
+0x432b    0x6791
+0x432c    0x6793
+0x432d    0x6796
+0x432e    0x6798
+0x432f    0x6799
+0x4330    0x679b
+0x4331    0x67b0
+0x4332    0x67b1
+0x4333    0x67b2
+0x4334    0x67b5
+0x4335    0x67bb
+0x4336    0x67bc
+0x4337    0x67bd
+0x4338    0x67f9
+0x4339    0x67c0
+0x433a    0x67c2
+0x433b    0x67c3
+0x433c    0x67c5
+0x433d    0x67c8
+0x433e    0x67c9
+0x433f    0x67d2
+0x4340    0x67d7
+0x4341    0x67d9
+0x4342    0x67dc
+0x4343    0x67e1
+0x4344    0x67e6
+0x4345    0x67f0
+0x4346    0x67f2
+0x4347    0x67f6
+0x4348    0x67f7
+0x4349    0x6852
+0x434a    0x6814
+0x434b    0x6819
+0x434c    0x681d
+0x434d    0x681f
+0x434e    0x6828
+0x434f    0x6827
+0x4350    0x682c
+0x4351    0x682d
+0x4352    0x682f
+0x4353    0x6830
+0x4354    0x6831
+0x4355    0x6833
+0x4356    0x683b
+0x4357    0x683f
+0x4358    0x6844
+0x4359    0x6845
+0x435a    0x684a
+0x435b    0x684c
+0x435c    0x6855
+0x435d    0x6857
+0x435e    0x6858
+0x435f    0x685b
+0x4360    0x686b
+0x4361    0x686e
+0x4362    0x686f
+0x4363    0x6870
+0x4364    0x6871
+0x4365    0x6872
+0x4366    0x6875
+0x4367    0x6879
+0x4368    0x687a
+0x4369    0x687b
+0x436a    0x687c
+0x436b    0x6882
+0x436c    0x6884
+0x436d    0x6886
+0x436e    0x6888
+0x436f    0x6896
+0x4370    0x6898
+0x4371    0x689a
+0x4372    0x689c
+0x4373    0x68a1
+0x4374    0x68a3
+0x4375    0x68a5
+0x4376    0x68a9
+0x4377    0x68aa
+0x4378    0x68ae
+0x4379    0x68b2
+0x437a    0x68bb
+0x437b    0x68c5
+0x437c    0x68c8
+0x437d    0x68cc
+0x437e    0x68cf
+0x4421    0x68d0
+0x4422    0x68d1
+0x4423    0x68d3
+0x4424    0x68d6
+0x4425    0x68d9
+0x4426    0x68dc
+0x4427    0x68dd
+0x4428    0x68e5
+0x4429    0x68e8
+0x442a    0x68ea
+0x442b    0x68eb
+0x442c    0x68ec
+0x442d    0x68ed
+0x442e    0x68f0
+0x442f    0x68f1
+0x4430    0x68f5
+0x4431    0x68f6
+0x4432    0x68fb
+0x4433    0x68fc
+0x4434    0x68fd
+0x4435    0x6906
+0x4436    0x6909
+0x4437    0x690a
+0x4438    0x6910
+0x4439    0x6911
+0x443a    0x6913
+0x443b    0x6916
+0x443c    0x6917
+0x443d    0x6931
+0x443e    0x6933
+0x443f    0x6935
+0x4440    0x6938
+0x4441    0x693b
+0x4442    0x6942
+0x4443    0x6945
+0x4444    0x6949
+0x4445    0x694e
+0x4446    0x6957
+0x4447    0x695b
+0x4448    0x6963
+0x4449    0x6964
+0x444a    0x6965
+0x444b    0x6966
+0x444c    0x6968
+0x444d    0x6969
+0x444e    0x696c
+0x444f    0x6970
+0x4450    0x6971
+0x4451    0x6972
+0x4452    0x697a
+0x4453    0x697b
+0x4454    0x697f
+0x4455    0x6980
+0x4456    0x698d
+0x4457    0x6992
+0x4458    0x6996
+0x4459    0x6998
+0x445a    0x69a1
+0x445b    0x69a5
+0x445c    0x69a6
+0x445d    0x69a8
+0x445e    0x69ab
+0x445f    0x69ad
+0x4460    0x69af
+0x4461    0x69b7
+0x4462    0x69b8
+0x4463    0x69ba
+0x4464    0x69bc
+0x4465    0x69c5
+0x4466    0x69c8
+0x4467    0x69d1
+0x4468    0x69d6
+0x4469    0x69d7
+0x446a    0x69e2
+0x446b    0x69e5
+0x446c    0x69ee
+0x446d    0x69ef
+0x446e    0x69f1
+0x446f    0x69f3
+0x4470    0x69f5
+0x4471    0x69fe
+0x4472    0x6a00
+0x4473    0x6a01
+0x4474    0x6a03
+0x4475    0x6a0f
+0x4476    0x6a11
+0x4477    0x6a15
+0x4478    0x6a1a
+0x4479    0x6a1d
+0x447a    0x6a20
+0x447b    0x6a24
+0x447c    0x6a28
+0x447d    0x6a30
+0x447e    0x6a32
+0x4521    0x6a34
+0x4522    0x6a37
+0x4523    0x6a3b
+0x4524    0x6a3e
+0x4525    0x6a3f
+0x4526    0x6a45
+0x4527    0x6a46
+0x4528    0x6a49
+0x4529    0x6a4a
+0x452a    0x6a4e
+0x452b    0x6a50
+0x452c    0x6a51
+0x452d    0x6a52
+0x452e    0x6a55
+0x452f    0x6a56
+0x4530    0x6a5b
+0x4531    0x6a64
+0x4532    0x6a67
+0x4533    0x6a6a
+0x4534    0x6a71
+0x4535    0x6a73
+0x4536    0x6a7e
+0x4537    0x6a81
+0x4538    0x6a83
+0x4539    0x6a86
+0x453a    0x6a87
+0x453b    0x6a89
+0x453c    0x6a8b
+0x453d    0x6a91
+0x453e    0x6a9b
+0x453f    0x6a9d
+0x4540    0x6a9e
+0x4541    0x6a9f
+0x4542    0x6aa5
+0x4543    0x6aab
+0x4544    0x6aaf
+0x4545    0x6ab0
+0x4546    0x6ab1
+0x4547    0x6ab4
+0x4548    0x6abd
+0x4549    0x6abe
+0x454a    0x6abf
+0x454b    0x6ac6
+0x454c    0x6ac9
+0x454d    0x6ac8
+0x454e    0x6acc
+0x454f    0x6ad0
+0x4550    0x6ad4
+0x4551    0x6ad5
+0x4552    0x6ad6
+0x4553    0x6adc
+0x4554    0x6add
+0x4555    0x6ae4
+0x4556    0x6ae7
+0x4557    0x6aec
+0x4558    0x6af0
+0x4559    0x6af1
+0x455a    0x6af2
+0x455b    0x6afc
+0x455c    0x6afd
+0x455d    0x6b02
+0x455e    0x6b03
+0x455f    0x6b06
+0x4560    0x6b07
+0x4561    0x6b09
+0x4562    0x6b0f
+0x4563    0x6b10
+0x4564    0x6b11
+0x4565    0x6b17
+0x4566    0x6b1b
+0x4567    0x6b1e
+0x4568    0x6b24
+0x4569    0x6b28
+0x456a    0x6b2b
+0x456b    0x6b2c
+0x456c    0x6b2f
+0x456d    0x6b35
+0x456e    0x6b36
+0x456f    0x6b3b
+0x4570    0x6b3f
+0x4571    0x6b46
+0x4572    0x6b4a
+0x4573    0x6b4d
+0x4574    0x6b52
+0x4575    0x6b56
+0x4576    0x6b58
+0x4577    0x6b5d
+0x4578    0x6b60
+0x4579    0x6b67
+0x457a    0x6b6b
+0x457b    0x6b6e
+0x457c    0x6b70
+0x457d    0x6b75
+0x457e    0x6b7d
+0x4621    0x6b7e
+0x4622    0x6b82
+0x4623    0x6b85
+0x4624    0x6b97
+0x4625    0x6b9b
+0x4626    0x6b9f
+0x4627    0x6ba0
+0x4628    0x6ba2
+0x4629    0x6ba3
+0x462a    0x6ba8
+0x462b    0x6ba9
+0x462c    0x6bac
+0x462d    0x6bad
+0x462e    0x6bae
+0x462f    0x6bb0
+0x4630    0x6bb8
+0x4631    0x6bb9
+0x4632    0x6bbd
+0x4633    0x6bbe
+0x4634    0x6bc3
+0x4635    0x6bc4
+0x4636    0x6bc9
+0x4637    0x6bcc
+0x4638    0x6bd6
+0x4639    0x6bda
+0x463a    0x6be1
+0x463b    0x6be3
+0x463c    0x6be6
+0x463d    0x6be7
+0x463e    0x6bee
+0x463f    0x6bf1
+0x4640    0x6bf7
+0x4641    0x6bf9
+0x4642    0x6bff
+0x4643    0x6c02
+0x4644    0x6c04
+0x4645    0x6c05
+0x4646    0x6c09
+0x4647    0x6c0d
+0x4648    0x6c0e
+0x4649    0x6c10
+0x464a    0x6c12
+0x464b    0x6c19
+0x464c    0x6c1f
+0x464d    0x6c26
+0x464e    0x6c27
+0x464f    0x6c28
+0x4650    0x6c2c
+0x4651    0x6c2e
+0x4652    0x6c33
+0x4653    0x6c35
+0x4654    0x6c36
+0x4655    0x6c3a
+0x4656    0x6c3b
+0x4657    0x6c3f
+0x4658    0x6c4a
+0x4659    0x6c4b
+0x465a    0x6c4d
+0x465b    0x6c4f
+0x465c    0x6c52
+0x465d    0x6c54
+0x465e    0x6c59
+0x465f    0x6c5b
+0x4660    0x6c5c
+0x4661    0x6c6b
+0x4662    0x6c6d
+0x4663    0x6c6f
+0x4664    0x6c74
+0x4665    0x6c76
+0x4666    0x6c78
+0x4667    0x6c79
+0x4668    0x6c7b
+0x4669    0x6c85
+0x466a    0x6c86
+0x466b    0x6c87
+0x466c    0x6c89
+0x466d    0x6c94
+0x466e    0x6c95
+0x466f    0x6c97
+0x4670    0x6c98
+0x4671    0x6c9c
+0x4672    0x6c9f
+0x4673    0x6cb0
+0x4674    0x6cb2
+0x4675    0x6cb4
+0x4676    0x6cc2
+0x4677    0x6cc6
+0x4678    0x6ccd
+0x4679    0x6ccf
+0x467a    0x6cd0
+0x467b    0x6cd1
+0x467c    0x6cd2
+0x467d    0x6cd4
+0x467e    0x6cd6
+0x4721    0x6cda
+0x4722    0x6cdc
+0x4723    0x6ce0
+0x4724    0x6ce7
+0x4725    0x6ce9
+0x4726    0x6ceb
+0x4727    0x6cec
+0x4728    0x6cee
+0x4729    0x6cf2
+0x472a    0x6cf4
+0x472b    0x6d04
+0x472c    0x6d07
+0x472d    0x6d0a
+0x472e    0x6d0e
+0x472f    0x6d0f
+0x4730    0x6d11
+0x4731    0x6d13
+0x4732    0x6d1a
+0x4733    0x6d26
+0x4734    0x6d27
+0x4735    0x6d28
+0x4736    0x6c67
+0x4737    0x6d2e
+0x4738    0x6d2f
+0x4739    0x6d31
+0x473a    0x6d39
+0x473b    0x6d3c
+0x473c    0x6d3f
+0x473d    0x6d57
+0x473e    0x6d5e
+0x473f    0x6d5f
+0x4740    0x6d61
+0x4741    0x6d65
+0x4742    0x6d67
+0x4743    0x6d6f
+0x4744    0x6d70
+0x4745    0x6d7c
+0x4746    0x6d82
+0x4747    0x6d87
+0x4748    0x6d91
+0x4749    0x6d92
+0x474a    0x6d94
+0x474b    0x6d96
+0x474c    0x6d97
+0x474d    0x6d98
+0x474e    0x6daa
+0x474f    0x6dac
+0x4750    0x6db4
+0x4751    0x6db7
+0x4752    0x6db9
+0x4753    0x6dbd
+0x4754    0x6dbf
+0x4755    0x6dc4
+0x4756    0x6dc8
+0x4757    0x6dca
+0x4758    0x6dce
+0x4759    0x6dcf
+0x475a    0x6dd6
+0x475b    0x6ddb
+0x475c    0x6ddd
+0x475d    0x6ddf
+0x475e    0x6de0
+0x475f    0x6de2
+0x4760    0x6de5
+0x4761    0x6de9
+0x4762    0x6def
+0x4763    0x6df0
+0x4764    0x6df4
+0x4765    0x6df6
+0x4766    0x6dfc
+0x4767    0x6e00
+0x4768    0x6e04
+0x4769    0x6e1e
+0x476a    0x6e22
+0x476b    0x6e27
+0x476c    0x6e32
+0x476d    0x6e36
+0x476e    0x6e39
+0x476f    0x6e3b
+0x4770    0x6e3c
+0x4771    0x6e44
+0x4772    0x6e45
+0x4773    0x6e48
+0x4774    0x6e49
+0x4775    0x6e4b
+0x4776    0x6e4f
+0x4777    0x6e51
+0x4778    0x6e52
+0x4779    0x6e53
+0x477a    0x6e54
+0x477b    0x6e57
+0x477c    0x6e5c
+0x477d    0x6e5d
+0x477e    0x6e5e
+0x4821    0x6e62
+0x4822    0x6e63
+0x4823    0x6e68
+0x4824    0x6e73
+0x4825    0x6e7b
+0x4826    0x6e7d
+0x4827    0x6e8d
+0x4828    0x6e93
+0x4829    0x6e99
+0x482a    0x6ea0
+0x482b    0x6ea7
+0x482c    0x6ead
+0x482d    0x6eae
+0x482e    0x6eb1
+0x482f    0x6eb3
+0x4830    0x6ebb
+0x4831    0x6ebf
+0x4832    0x6ec0
+0x4833    0x6ec1
+0x4834    0x6ec3
+0x4835    0x6ec7
+0x4836    0x6ec8
+0x4837    0x6eca
+0x4838    0x6ecd
+0x4839    0x6ece
+0x483a    0x6ecf
+0x483b    0x6eeb
+0x483c    0x6eed
+0x483d    0x6eee
+0x483e    0x6ef9
+0x483f    0x6efb
+0x4840    0x6efd
+0x4841    0x6f04
+0x4842    0x6f08
+0x4843    0x6f0a
+0x4844    0x6f0c
+0x4845    0x6f0d
+0x4846    0x6f16
+0x4847    0x6f18
+0x4848    0x6f1a
+0x4849    0x6f1b
+0x484a    0x6f26
+0x484b    0x6f29
+0x484c    0x6f2a
+0x484d    0x6f2f
+0x484e    0x6f30
+0x484f    0x6f33
+0x4850    0x6f36
+0x4851    0x6f3b
+0x4852    0x6f3c
+0x4853    0x6f2d
+0x4854    0x6f4f
+0x4855    0x6f51
+0x4856    0x6f52
+0x4857    0x6f53
+0x4858    0x6f57
+0x4859    0x6f59
+0x485a    0x6f5a
+0x485b    0x6f5d
+0x485c    0x6f5e
+0x485d    0x6f61
+0x485e    0x6f62
+0x485f    0x6f68
+0x4860    0x6f6c
+0x4861    0x6f7d
+0x4862    0x6f7e
+0x4863    0x6f83
+0x4864    0x6f87
+0x4865    0x6f88
+0x4866    0x6f8b
+0x4867    0x6f8c
+0x4868    0x6f8d
+0x4869    0x6f90
+0x486a    0x6f92
+0x486b    0x6f93
+0x486c    0x6f94
+0x486d    0x6f96
+0x486e    0x6f9a
+0x486f    0x6f9f
+0x4870    0x6fa0
+0x4871    0x6fa5
+0x4872    0x6fa6
+0x4873    0x6fa7
+0x4874    0x6fa8
+0x4875    0x6fae
+0x4876    0x6faf
+0x4877    0x6fb0
+0x4878    0x6fb5
+0x4879    0x6fb6
+0x487a    0x6fbc
+0x487b    0x6fc5
+0x487c    0x6fc7
+0x487d    0x6fc8
+0x487e    0x6fca
+0x4921    0x6fda
+0x4922    0x6fde
+0x4923    0x6fe8
+0x4924    0x6fe9
+0x4925    0x6ff0
+0x4926    0x6ff5
+0x4927    0x6ff9
+0x4928    0x6ffc
+0x4929    0x6ffd
+0x492a    0x7000
+0x492b    0x7005
+0x492c    0x7006
+0x492d    0x7007
+0x492e    0x700d
+0x492f    0x7017
+0x4930    0x7020
+0x4931    0x7023
+0x4932    0x702f
+0x4933    0x7034
+0x4934    0x7037
+0x4935    0x7039
+0x4936    0x703c
+0x4937    0x7043
+0x4938    0x7044
+0x4939    0x7048
+0x493a    0x7049
+0x493b    0x704a
+0x493c    0x704b
+0x493d    0x7054
+0x493e    0x7055
+0x493f    0x705d
+0x4940    0x705e
+0x4941    0x704e
+0x4942    0x7064
+0x4943    0x7065
+0x4944    0x706c
+0x4945    0x706e
+0x4946    0x7075
+0x4947    0x7076
+0x4948    0x707e
+0x4949    0x7081
+0x494a    0x7085
+0x494b    0x7086
+0x494c    0x7094
+0x494d    0x7095
+0x494e    0x7096
+0x494f    0x7097
+0x4950    0x7098
+0x4951    0x709b
+0x4952    0x70a4
+0x4953    0x70ab
+0x4954    0x70b0
+0x4955    0x70b1
+0x4956    0x70b4
+0x4957    0x70b7
+0x4958    0x70ca
+0x4959    0x70d1
+0x495a    0x70d3
+0x495b    0x70d4
+0x495c    0x70d5
+0x495d    0x70d6
+0x495e    0x70d8
+0x495f    0x70dc
+0x4960    0x70e4
+0x4961    0x70fa
+0x4962    0x7103
+0x4963    0x7104
+0x4964    0x7105
+0x4965    0x7106
+0x4966    0x7107
+0x4967    0x710b
+0x4968    0x710c
+0x4969    0x710f
+0x496a    0x711e
+0x496b    0x7120
+0x496c    0x712b
+0x496d    0x712d
+0x496e    0x712f
+0x496f    0x7130
+0x4970    0x7131
+0x4971    0x7138
+0x4972    0x7141
+0x4973    0x7145
+0x4974    0x7146
+0x4975    0x7147
+0x4976    0x714a
+0x4977    0x714b
+0x4978    0x7150
+0x4979    0x7152
+0x497a    0x7157
+0x497b    0x715a
+0x497c    0x715c
+0x497d    0x715e
+0x497e    0x7160
+0x4a21    0x7168
+0x4a22    0x7179
+0x4a23    0x7180
+0x4a24    0x7185
+0x4a25    0x7187
+0x4a26    0x718c
+0x4a27    0x7192
+0x4a28    0x719a
+0x4a29    0x719b
+0x4a2a    0x71a0
+0x4a2b    0x71a2
+0x4a2c    0x71af
+0x4a2d    0x71b0
+0x4a2e    0x71b2
+0x4a2f    0x71b3
+0x4a30    0x71ba
+0x4a31    0x71bf
+0x4a32    0x71c0
+0x4a33    0x71c1
+0x4a34    0x71c4
+0x4a35    0x71cb
+0x4a36    0x71cc
+0x4a37    0x71d3
+0x4a38    0x71d6
+0x4a39    0x71d9
+0x4a3a    0x71da
+0x4a3b    0x71dc
+0x4a3c    0x71f8
+0x4a3d    0x71fe
+0x4a3e    0x7200
+0x4a3f    0x7207
+0x4a40    0x7208
+0x4a41    0x7209
+0x4a42    0x7213
+0x4a43    0x7217
+0x4a44    0x721a
+0x4a45    0x721d
+0x4a46    0x721f
+0x4a47    0x7224
+0x4a48    0x722b
+0x4a49    0x722f
+0x4a4a    0x7234
+0x4a4b    0x7238
+0x4a4c    0x7239
+0x4a4d    0x7241
+0x4a4e    0x7242
+0x4a4f    0x7243
+0x4a50    0x7245
+0x4a51    0x724e
+0x4a52    0x724f
+0x4a53    0x7250
+0x4a54    0x7253
+0x4a55    0x7255
+0x4a56    0x7256
+0x4a57    0x725a
+0x4a58    0x725c
+0x4a59    0x725e
+0x4a5a    0x7260
+0x4a5b    0x7263
+0x4a5c    0x7268
+0x4a5d    0x726b
+0x4a5e    0x726e
+0x4a5f    0x726f
+0x4a60    0x7271
+0x4a61    0x7277
+0x4a62    0x7278
+0x4a63    0x727b
+0x4a64    0x727c
+0x4a65    0x727f
+0x4a66    0x7284
+0x4a67    0x7289
+0x4a68    0x728d
+0x4a69    0x728e
+0x4a6a    0x7293
+0x4a6b    0x729b
+0x4a6c    0x72a8
+0x4a6d    0x72ad
+0x4a6e    0x72ae
+0x4a6f    0x72b1
+0x4a70    0x72b4
+0x4a71    0x72be
+0x4a72    0x72c1
+0x4a73    0x72c7
+0x4a74    0x72c9
+0x4a75    0x72cc
+0x4a76    0x72d5
+0x4a77    0x72d6
+0x4a78    0x72d8
+0x4a79    0x72df
+0x4a7a    0x72e5
+0x4a7b    0x72f3
+0x4a7c    0x72f4
+0x4a7d    0x72fa
+0x4a7e    0x72fb
+0x4b21    0x72fe
+0x4b22    0x7302
+0x4b23    0x7304
+0x4b24    0x7305
+0x4b25    0x7307
+0x4b26    0x730b
+0x4b27    0x730d
+0x4b28    0x7312
+0x4b29    0x7313
+0x4b2a    0x7318
+0x4b2b    0x7319
+0x4b2c    0x731e
+0x4b2d    0x7322
+0x4b2e    0x7324
+0x4b2f    0x7327
+0x4b30    0x7328
+0x4b31    0x732c
+0x4b32    0x7331
+0x4b33    0x7332
+0x4b34    0x7335
+0x4b35    0x733a
+0x4b36    0x733b
+0x4b37    0x733d
+0x4b38    0x7343
+0x4b39    0x734d
+0x4b3a    0x7350
+0x4b3b    0x7352
+0x4b3c    0x7356
+0x4b3d    0x7358
+0x4b3e    0x735d
+0x4b3f    0x735e
+0x4b40    0x735f
+0x4b41    0x7360
+0x4b42    0x7366
+0x4b43    0x7367
+0x4b44    0x7369
+0x4b45    0x736b
+0x4b46    0x736c
+0x4b47    0x736e
+0x4b48    0x736f
+0x4b49    0x7371
+0x4b4a    0x7377
+0x4b4b    0x7379
+0x4b4c    0x737c
+0x4b4d    0x7380
+0x4b4e    0x7381
+0x4b4f    0x7383
+0x4b50    0x7385
+0x4b51    0x7386
+0x4b52    0x738e
+0x4b53    0x7390
+0x4b54    0x7393
+0x4b55    0x7395
+0x4b56    0x7397
+0x4b57    0x7398
+0x4b58    0x739c
+0x4b59    0x739e
+0x4b5a    0x739f
+0x4b5b    0x73a0
+0x4b5c    0x73a2
+0x4b5d    0x73a5
+0x4b5e    0x73a6
+0x4b5f    0x73aa
+0x4b60    0x73ab
+0x4b61    0x73ad
+0x4b62    0x73b5
+0x4b63    0x73b7
+0x4b64    0x73b9
+0x4b65    0x73bc
+0x4b66    0x73bd
+0x4b67    0x73bf
+0x4b68    0x73c5
+0x4b69    0x73c6
+0x4b6a    0x73c9
+0x4b6b    0x73cb
+0x4b6c    0x73cc
+0x4b6d    0x73cf
+0x4b6e    0x73d2
+0x4b6f    0x73d3
+0x4b70    0x73d6
+0x4b71    0x73d9
+0x4b72    0x73dd
+0x4b73    0x73e1
+0x4b74    0x73e3
+0x4b75    0x73e6
+0x4b76    0x73e7
+0x4b77    0x73e9
+0x4b78    0x73f4
+0x4b79    0x73f5
+0x4b7a    0x73f7
+0x4b7b    0x73f9
+0x4b7c    0x73fa
+0x4b7d    0x73fb
+0x4b7e    0x73fd
+0x4c21    0x73ff
+0x4c22    0x7400
+0x4c23    0x7401
+0x4c24    0x7404
+0x4c25    0x7407
+0x4c26    0x740a
+0x4c27    0x7411
+0x4c28    0x741a
+0x4c29    0x741b
+0x4c2a    0x7424
+0x4c2b    0x7426
+0x4c2c    0x7428
+0x4c2d    0x7429
+0x4c2e    0x742a
+0x4c2f    0x742b
+0x4c30    0x742c
+0x4c31    0x742d
+0x4c32    0x742e
+0x4c33    0x742f
+0x4c34    0x7430
+0x4c35    0x7431
+0x4c36    0x7439
+0x4c37    0x7440
+0x4c38    0x7443
+0x4c39    0x7444
+0x4c3a    0x7446
+0x4c3b    0x7447
+0x4c3c    0x744b
+0x4c3d    0x744d
+0x4c3e    0x7451
+0x4c3f    0x7452
+0x4c40    0x7457
+0x4c41    0x745d
+0x4c42    0x7462
+0x4c43    0x7466
+0x4c44    0x7467
+0x4c45    0x7468
+0x4c46    0x746b
+0x4c47    0x746d
+0x4c48    0x746e
+0x4c49    0x7471
+0x4c4a    0x7472
+0x4c4b    0x7480
+0x4c4c    0x7481
+0x4c4d    0x7485
+0x4c4e    0x7486
+0x4c4f    0x7487
+0x4c50    0x7489
+0x4c51    0x748f
+0x4c52    0x7490
+0x4c53    0x7491
+0x4c54    0x7492
+0x4c55    0x7498
+0x4c56    0x7499
+0x4c57    0x749a
+0x4c58    0x749c
+0x4c59    0x749f
+0x4c5a    0x74a0
+0x4c5b    0x74a1
+0x4c5c    0x74a3
+0x4c5d    0x74a6
+0x4c5e    0x74a8
+0x4c5f    0x74a9
+0x4c60    0x74aa
+0x4c61    0x74ab
+0x4c62    0x74ae
+0x4c63    0x74af
+0x4c64    0x74b1
+0x4c65    0x74b2
+0x4c66    0x74b5
+0x4c67    0x74b9
+0x4c68    0x74bb
+0x4c69    0x74bf
+0x4c6a    0x74c8
+0x4c6b    0x74c9
+0x4c6c    0x74cc
+0x4c6d    0x74d0
+0x4c6e    0x74d3
+0x4c6f    0x74d8
+0x4c70    0x74da
+0x4c71    0x74db
+0x4c72    0x74de
+0x4c73    0x74df
+0x4c74    0x74e4
+0x4c75    0x74e8
+0x4c76    0x74ea
+0x4c77    0x74eb
+0x4c78    0x74ef
+0x4c79    0x74f4
+0x4c7a    0x74fa
+0x4c7b    0x74fb
+0x4c7c    0x74fc
+0x4c7d    0x74ff
+0x4c7e    0x7506
+0x4d21    0x7512
+0x4d22    0x7516
+0x4d23    0x7517
+0x4d24    0x7520
+0x4d25    0x7521
+0x4d26    0x7524
+0x4d27    0x7527
+0x4d28    0x7529
+0x4d29    0x752a
+0x4d2a    0x752f
+0x4d2b    0x7536
+0x4d2c    0x7539
+0x4d2d    0x753d
+0x4d2e    0x753e
+0x4d2f    0x753f
+0x4d30    0x7540
+0x4d31    0x7543
+0x4d32    0x7547
+0x4d33    0x7548
+0x4d34    0x754e
+0x4d35    0x7550
+0x4d36    0x7552
+0x4d37    0x7557
+0x4d38    0x755e
+0x4d39    0x755f
+0x4d3a    0x7561
+0x4d3b    0x756f
+0x4d3c    0x7571
+0x4d3d    0x7579
+0x4d3e    0x757a
+0x4d3f    0x757b
+0x4d40    0x757c
+0x4d41    0x757d
+0x4d42    0x757e
+0x4d43    0x7581
+0x4d44    0x7585
+0x4d45    0x7590
+0x4d46    0x7592
+0x4d47    0x7593
+0x4d48    0x7595
+0x4d49    0x7599
+0x4d4a    0x759c
+0x4d4b    0x75a2
+0x4d4c    0x75a4
+0x4d4d    0x75b4
+0x4d4e    0x75ba
+0x4d4f    0x75bf
+0x4d50    0x75c0
+0x4d51    0x75c1
+0x4d52    0x75c4
+0x4d53    0x75c6
+0x4d54    0x75cc
+0x4d55    0x75ce
+0x4d56    0x75cf
+0x4d57    0x75d7
+0x4d58    0x75dc
+0x4d59    0x75df
+0x4d5a    0x75e0
+0x4d5b    0x75e1
+0x4d5c    0x75e4
+0x4d5d    0x75e7
+0x4d5e    0x75ec
+0x4d5f    0x75ee
+0x4d60    0x75ef
+0x4d61    0x75f1
+0x4d62    0x75f9
+0x4d63    0x7600
+0x4d64    0x7602
+0x4d65    0x7603
+0x4d66    0x7604
+0x4d67    0x7607
+0x4d68    0x7608
+0x4d69    0x760a
+0x4d6a    0x760c
+0x4d6b    0x760f
+0x4d6c    0x7612
+0x4d6d    0x7613
+0x4d6e    0x7615
+0x4d6f    0x7616
+0x4d70    0x7619
+0x4d71    0x761b
+0x4d72    0x761c
+0x4d73    0x761d
+0x4d74    0x761e
+0x4d75    0x7623
+0x4d76    0x7625
+0x4d77    0x7626
+0x4d78    0x7629
+0x4d79    0x762d
+0x4d7a    0x7632
+0x4d7b    0x7633
+0x4d7c    0x7635
+0x4d7d    0x7638
+0x4d7e    0x7639
+0x4e21    0x763a
+0x4e22    0x763c
+0x4e23    0x764a
+0x4e24    0x7640
+0x4e25    0x7641
+0x4e26    0x7643
+0x4e27    0x7644
+0x4e28    0x7645
+0x4e29    0x7649
+0x4e2a    0x764b
+0x4e2b    0x7655
+0x4e2c    0x7659
+0x4e2d    0x765f
+0x4e2e    0x7664
+0x4e2f    0x7665
+0x4e30    0x766d
+0x4e31    0x766e
+0x4e32    0x766f
+0x4e33    0x7671
+0x4e34    0x7674
+0x4e35    0x7681
+0x4e36    0x7685
+0x4e37    0x768c
+0x4e38    0x768d
+0x4e39    0x7695
+0x4e3a    0x769b
+0x4e3b    0x769c
+0x4e3c    0x769d
+0x4e3d    0x769f
+0x4e3e    0x76a0
+0x4e3f    0x76a2
+0x4e40    0x76a3
+0x4e41    0x76a4
+0x4e42    0x76a5
+0x4e43    0x76a6
+0x4e44    0x76a7
+0x4e45    0x76a8
+0x4e46    0x76aa
+0x4e47    0x76ad
+0x4e48    0x76bd
+0x4e49    0x76c1
+0x4e4a    0x76c5
+0x4e4b    0x76c9
+0x4e4c    0x76cb
+0x4e4d    0x76cc
+0x4e4e    0x76ce
+0x4e4f    0x76d4
+0x4e50    0x76d9
+0x4e51    0x76e0
+0x4e52    0x76e6
+0x4e53    0x76e8
+0x4e54    0x76ec
+0x4e55    0x76f0
+0x4e56    0x76f1
+0x4e57    0x76f6
+0x4e58    0x76f9
+0x4e59    0x76fc
+0x4e5a    0x7700
+0x4e5b    0x7706
+0x4e5c    0x770a
+0x4e5d    0x770e
+0x4e5e    0x7712
+0x4e5f    0x7714
+0x4e60    0x7715
+0x4e61    0x7717
+0x4e62    0x7719
+0x4e63    0x771a
+0x4e64    0x771c
+0x4e65    0x7722
+0x4e66    0x7728
+0x4e67    0x772d
+0x4e68    0x772e
+0x4e69    0x772f
+0x4e6a    0x7734
+0x4e6b    0x7735
+0x4e6c    0x7736
+0x4e6d    0x7739
+0x4e6e    0x773d
+0x4e6f    0x773e
+0x4e70    0x7742
+0x4e71    0x7745
+0x4e72    0x7746
+0x4e73    0x774a
+0x4e74    0x774d
+0x4e75    0x774e
+0x4e76    0x774f
+0x4e77    0x7752
+0x4e78    0x7756
+0x4e79    0x7757
+0x4e7a    0x775c
+0x4e7b    0x775e
+0x4e7c    0x775f
+0x4e7d    0x7760
+0x4e7e    0x7762
+0x4f21    0x7764
+0x4f22    0x7767
+0x4f23    0x776a
+0x4f24    0x776c
+0x4f25    0x7770
+0x4f26    0x7772
+0x4f27    0x7773
+0x4f28    0x7774
+0x4f29    0x777a
+0x4f2a    0x777d
+0x4f2b    0x7780
+0x4f2c    0x7784
+0x4f2d    0x778c
+0x4f2e    0x778d
+0x4f2f    0x7794
+0x4f30    0x7795
+0x4f31    0x7796
+0x4f32    0x779a
+0x4f33    0x779f
+0x4f34    0x77a2
+0x4f35    0x77a7
+0x4f36    0x77aa
+0x4f37    0x77ae
+0x4f38    0x77af
+0x4f39    0x77b1
+0x4f3a    0x77b5
+0x4f3b    0x77be
+0x4f3c    0x77c3
+0x4f3d    0x77c9
+0x4f3e    0x77d1
+0x4f3f    0x77d2
+0x4f40    0x77d5
+0x4f41    0x77d9
+0x4f42    0x77de
+0x4f43    0x77df
+0x4f44    0x77e0
+0x4f45    0x77e4
+0x4f46    0x77e6
+0x4f47    0x77ea
+0x4f48    0x77ec
+0x4f49    0x77f0
+0x4f4a    0x77f1
+0x4f4b    0x77f4
+0x4f4c    0x77f8
+0x4f4d    0x77fb
+0x4f4e    0x7805
+0x4f4f    0x7806
+0x4f50    0x7809
+0x4f51    0x780d
+0x4f52    0x780e
+0x4f53    0x7811
+0x4f54    0x781d
+0x4f55    0x7821
+0x4f56    0x7822
+0x4f57    0x7823
+0x4f58    0x782d
+0x4f59    0x782e
+0x4f5a    0x7830
+0x4f5b    0x7835
+0x4f5c    0x7837
+0x4f5d    0x7843
+0x4f5e    0x7844
+0x4f5f    0x7847
+0x4f60    0x7848
+0x4f61    0x784c
+0x4f62    0x784e
+0x4f63    0x7852
+0x4f64    0x785c
+0x4f65    0x785e
+0x4f66    0x7860
+0x4f67    0x7861
+0x4f68    0x7863
+0x4f69    0x7864
+0x4f6a    0x7868
+0x4f6b    0x786a
+0x4f6c    0x786e
+0x4f6d    0x787a
+0x4f6e    0x787e
+0x4f6f    0x788a
+0x4f70    0x788f
+0x4f71    0x7894
+0x4f72    0x7898
+0x4f73    0x78a1
+0x4f74    0x789d
+0x4f75    0x789e
+0x4f76    0x789f
+0x4f77    0x78a4
+0x4f78    0x78a8
+0x4f79    0x78ac
+0x4f7a    0x78ad
+0x4f7b    0x78b0
+0x4f7c    0x78b1
+0x4f7d    0x78b2
+0x4f7e    0x78b3
+0x5021    0x78bb
+0x5022    0x78bd
+0x5023    0x78bf
+0x5024    0x78c7
+0x5025    0x78c8
+0x5026    0x78c9
+0x5027    0x78cc
+0x5028    0x78ce
+0x5029    0x78d2
+0x502a    0x78d3
+0x502b    0x78d5
+0x502c    0x78d6
+0x502d    0x78e4
+0x502e    0x78db
+0x502f    0x78df
+0x5030    0x78e0
+0x5031    0x78e1
+0x5032    0x78e6
+0x5033    0x78ea
+0x5034    0x78f2
+0x5035    0x78f3
+0x5036    0x7900
+0x5037    0x78f6
+0x5038    0x78f7
+0x5039    0x78fa
+0x503a    0x78fb
+0x503b    0x78ff
+0x503c    0x7906
+0x503d    0x790c
+0x503e    0x7910
+0x503f    0x791a
+0x5040    0x791c
+0x5041    0x791e
+0x5042    0x791f
+0x5043    0x7920
+0x5044    0x7925
+0x5045    0x7927
+0x5046    0x7929
+0x5047    0x792d
+0x5048    0x7931
+0x5049    0x7934
+0x504a    0x7935
+0x504b    0x793b
+0x504c    0x793d
+0x504d    0x793f
+0x504e    0x7944
+0x504f    0x7945
+0x5050    0x7946
+0x5051    0x794a
+0x5052    0x794b
+0x5053    0x794f
+0x5054    0x7951
+0x5055    0x7954
+0x5056    0x7958
+0x5057    0x795b
+0x5058    0x795c
+0x5059    0x7967
+0x505a    0x7969
+0x505b    0x796b
+0x505c    0x7972
+0x505d    0x7979
+0x505e    0x797b
+0x505f    0x797c
+0x5060    0x797e
+0x5061    0x798b
+0x5062    0x798c
+0x5063    0x7991
+0x5064    0x7993
+0x5065    0x7994
+0x5066    0x7995
+0x5067    0x7996
+0x5068    0x7998
+0x5069    0x799b
+0x506a    0x799c
+0x506b    0x79a1
+0x506c    0x79a8
+0x506d    0x79a9
+0x506e    0x79ab
+0x506f    0x79af
+0x5070    0x79b1
+0x5071    0x79b4
+0x5072    0x79b8
+0x5073    0x79bb
+0x5074    0x79c2
+0x5075    0x79c4
+0x5076    0x79c7
+0x5077    0x79c8
+0x5078    0x79ca
+0x5079    0x79cf
+0x507a    0x79d4
+0x507b    0x79d6
+0x507c    0x79da
+0x507d    0x79dd
+0x507e    0x79de
+0x5121    0x79e0
+0x5122    0x79e2
+0x5123    0x79e5
+0x5124    0x79ea
+0x5125    0x79eb
+0x5126    0x79ed
+0x5127    0x79f1
+0x5128    0x79f8
+0x5129    0x79fc
+0x512a    0x7a02
+0x512b    0x7a03
+0x512c    0x7a07
+0x512d    0x7a09
+0x512e    0x7a0a
+0x512f    0x7a0c
+0x5130    0x7a11
+0x5131    0x7a15
+0x5132    0x7a1b
+0x5133    0x7a1e
+0x5134    0x7a21
+0x5135    0x7a27
+0x5136    0x7a2b
+0x5137    0x7a2d
+0x5138    0x7a2f
+0x5139    0x7a30
+0x513a    0x7a34
+0x513b    0x7a35
+0x513c    0x7a38
+0x513d    0x7a39
+0x513e    0x7a3a
+0x513f    0x7a44
+0x5140    0x7a45
+0x5141    0x7a47
+0x5142    0x7a48
+0x5143    0x7a4c
+0x5144    0x7a55
+0x5145    0x7a56
+0x5146    0x7a59
+0x5147    0x7a5c
+0x5148    0x7a5d
+0x5149    0x7a5f
+0x514a    0x7a60
+0x514b    0x7a65
+0x514c    0x7a67
+0x514d    0x7a6a
+0x514e    0x7a6d
+0x514f    0x7a75
+0x5150    0x7a78
+0x5151    0x7a7e
+0x5152    0x7a80
+0x5153    0x7a82
+0x5154    0x7a85
+0x5155    0x7a86
+0x5156    0x7a8a
+0x5157    0x7a8b
+0x5158    0x7a90
+0x5159    0x7a91
+0x515a    0x7a94
+0x515b    0x7a9e
+0x515c    0x7aa0
+0x515d    0x7aa3
+0x515e    0x7aac
+0x515f    0x7ab3
+0x5160    0x7ab5
+0x5161    0x7ab9
+0x5162    0x7abb
+0x5163    0x7abc
+0x5164    0x7ac6
+0x5165    0x7ac9
+0x5166    0x7acc
+0x5167    0x7ace
+0x5168    0x7ad1
+0x5169    0x7adb
+0x516a    0x7ae8
+0x516b    0x7ae9
+0x516c    0x7aeb
+0x516d    0x7aec
+0x516e    0x7af1
+0x516f    0x7af4
+0x5170    0x7afb
+0x5171    0x7afd
+0x5172    0x7afe
+0x5173    0x7b07
+0x5174    0x7b14
+0x5175    0x7b1f
+0x5176    0x7b23
+0x5177    0x7b27
+0x5178    0x7b29
+0x5179    0x7b2a
+0x517a    0x7b2b
+0x517b    0x7b2d
+0x517c    0x7b2e
+0x517d    0x7b2f
+0x517e    0x7b30
+0x5221    0x7b31
+0x5222    0x7b34
+0x5223    0x7b3d
+0x5224    0x7b3f
+0x5225    0x7b40
+0x5226    0x7b41
+0x5227    0x7b47
+0x5228    0x7b4e
+0x5229    0x7b55
+0x522a    0x7b60
+0x522b    0x7b64
+0x522c    0x7b66
+0x522d    0x7b69
+0x522e    0x7b6a
+0x522f    0x7b6d
+0x5230    0x7b6f
+0x5231    0x7b72
+0x5232    0x7b73
+0x5233    0x7b77
+0x5234    0x7b84
+0x5235    0x7b89
+0x5236    0x7b8e
+0x5237    0x7b90
+0x5238    0x7b91
+0x5239    0x7b96
+0x523a    0x7b9b
+0x523b    0x7b9e
+0x523c    0x7ba0
+0x523d    0x7ba5
+0x523e    0x7bac
+0x523f    0x7baf
+0x5240    0x7bb0
+0x5241    0x7bb2
+0x5242    0x7bb5
+0x5243    0x7bb6
+0x5244    0x7bba
+0x5245    0x7bbb
+0x5246    0x7bbc
+0x5247    0x7bbd
+0x5248    0x7bc2
+0x5249    0x7bc5
+0x524a    0x7bc8
+0x524b    0x7bca
+0x524c    0x7bd4
+0x524d    0x7bd6
+0x524e    0x7bd7
+0x524f    0x7bd9
+0x5250    0x7bda
+0x5251    0x7bdb
+0x5252    0x7be8
+0x5253    0x7bea
+0x5254    0x7bf2
+0x5255    0x7bf4
+0x5256    0x7bf5
+0x5257    0x7bf8
+0x5258    0x7bf9
+0x5259    0x7bfa
+0x525a    0x7bfc
+0x525b    0x7bfe
+0x525c    0x7c01
+0x525d    0x7c02
+0x525e    0x7c03
+0x525f    0x7c04
+0x5260    0x7c06
+0x5261    0x7c09
+0x5262    0x7c0b
+0x5263    0x7c0c
+0x5264    0x7c0e
+0x5265    0x7c0f
+0x5266    0x7c19
+0x5267    0x7c1b
+0x5268    0x7c20
+0x5269    0x7c25
+0x526a    0x7c26
+0x526b    0x7c28
+0x526c    0x7c2c
+0x526d    0x7c31
+0x526e    0x7c33
+0x526f    0x7c34
+0x5270    0x7c36
+0x5271    0x7c39
+0x5272    0x7c3a
+0x5273    0x7c46
+0x5274    0x7c4a
+0x5275    0x7c55
+0x5276    0x7c51
+0x5277    0x7c52
+0x5278    0x7c53
+0x5279    0x7c59
+0x527a    0x7c5a
+0x527b    0x7c5b
+0x527c    0x7c5c
+0x527d    0x7c5d
+0x527e    0x7c5e
+0x5321    0x7c61
+0x5322    0x7c63
+0x5323    0x7c67
+0x5324    0x7c69
+0x5325    0x7c6d
+0x5326    0x7c6e
+0x5327    0x7c70
+0x5328    0x7c72
+0x5329    0x7c79
+0x532a    0x7c7c
+0x532b    0x7c7d
+0x532c    0x7c86
+0x532d    0x7c87
+0x532e    0x7c8f
+0x532f    0x7c94
+0x5330    0x7c9e
+0x5331    0x7ca0
+0x5332    0x7ca6
+0x5333    0x7cb0
+0x5334    0x7cb6
+0x5335    0x7cb7
+0x5336    0x7cba
+0x5337    0x7cbb
+0x5338    0x7cbc
+0x5339    0x7cbf
+0x533a    0x7cc4
+0x533b    0x7cc7
+0x533c    0x7cc8
+0x533d    0x7cc9
+0x533e    0x7ccd
+0x533f    0x7ccf
+0x5340    0x7cd3
+0x5341    0x7cd4
+0x5342    0x7cd5
+0x5343    0x7cd7
+0x5344    0x7cd9
+0x5345    0x7cda
+0x5346    0x7cdd
+0x5347    0x7ce6
+0x5348    0x7ce9
+0x5349    0x7ceb
+0x534a    0x7cf5
+0x534b    0x7d03
+0x534c    0x7d07
+0x534d    0x7d08
+0x534e    0x7d09
+0x534f    0x7d0f
+0x5350    0x7d11
+0x5351    0x7d12
+0x5352    0x7d13
+0x5353    0x7d16
+0x5354    0x7d1d
+0x5355    0x7d1e
+0x5356    0x7d23
+0x5357    0x7d26
+0x5358    0x7d2a
+0x5359    0x7d2d
+0x535a    0x7d31
+0x535b    0x7d3c
+0x535c    0x7d3d
+0x535d    0x7d3e
+0x535e    0x7d40
+0x535f    0x7d41
+0x5360    0x7d47
+0x5361    0x7d48
+0x5362    0x7d4d
+0x5363    0x7d51
+0x5364    0x7d53
+0x5365    0x7d57
+0x5366    0x7d59
+0x5367    0x7d5a
+0x5368    0x7d5c
+0x5369    0x7d5d
+0x536a    0x7d65
+0x536b    0x7d67
+0x536c    0x7d6a
+0x536d    0x7d70
+0x536e    0x7d78
+0x536f    0x7d7a
+0x5370    0x7d7b
+0x5371    0x7d7f
+0x5372    0x7d81
+0x5373    0x7d82
+0x5374    0x7d83
+0x5375    0x7d85
+0x5376    0x7d86
+0x5377    0x7d88
+0x5378    0x7d8b
+0x5379    0x7d8c
+0x537a    0x7d8d
+0x537b    0x7d91
+0x537c    0x7d96
+0x537d    0x7d97
+0x537e    0x7d9d
+0x5421    0x7d9e
+0x5422    0x7da6
+0x5423    0x7da7
+0x5424    0x7daa
+0x5425    0x7db3
+0x5426    0x7db6
+0x5427    0x7db7
+0x5428    0x7db9
+0x5429    0x7dc2
+0x542a    0x7dc3
+0x542b    0x7dc4
+0x542c    0x7dc5
+0x542d    0x7dc6
+0x542e    0x7dcc
+0x542f    0x7dcd
+0x5430    0x7dce
+0x5431    0x7dd7
+0x5432    0x7dd9
+0x5433    0x7e00
+0x5434    0x7de2
+0x5435    0x7de5
+0x5436    0x7de6
+0x5437    0x7dea
+0x5438    0x7deb
+0x5439    0x7ded
+0x543a    0x7df1
+0x543b    0x7df5
+0x543c    0x7df6
+0x543d    0x7df9
+0x543e    0x7dfa
+0x543f    0x7e08
+0x5440    0x7e10
+0x5441    0x7e11
+0x5442    0x7e15
+0x5443    0x7e17
+0x5444    0x7e1c
+0x5445    0x7e1d
+0x5446    0x7e20
+0x5447    0x7e27
+0x5448    0x7e28
+0x5449    0x7e2c
+0x544a    0x7e2d
+0x544b    0x7e2f
+0x544c    0x7e33
+0x544d    0x7e36
+0x544e    0x7e3f
+0x544f    0x7e44
+0x5450    0x7e45
+0x5451    0x7e47
+0x5452    0x7e4e
+0x5453    0x7e50
+0x5454    0x7e52
+0x5455    0x7e58
+0x5456    0x7e5f
+0x5457    0x7e61
+0x5458    0x7e62
+0x5459    0x7e65
+0x545a    0x7e6b
+0x545b    0x7e6e
+0x545c    0x7e6f
+0x545d    0x7e73
+0x545e    0x7e78
+0x545f    0x7e7e
+0x5460    0x7e81
+0x5461    0x7e86
+0x5462    0x7e87
+0x5463    0x7e8a
+0x5464    0x7e8d
+0x5465    0x7e91
+0x5466    0x7e95
+0x5467    0x7e98
+0x5468    0x7e9a
+0x5469    0x7e9d
+0x546a    0x7e9e
+0x546b    0x7f3c
+0x546c    0x7f3b
+0x546d    0x7f3d
+0x546e    0x7f3e
+0x546f    0x7f3f
+0x5470    0x7f43
+0x5471    0x7f44
+0x5472    0x7f47
+0x5473    0x7f4f
+0x5474    0x7f52
+0x5475    0x7f53
+0x5476    0x7f5b
+0x5477    0x7f5c
+0x5478    0x7f5d
+0x5479    0x7f61
+0x547a    0x7f63
+0x547b    0x7f64
+0x547c    0x7f65
+0x547d    0x7f66
+0x547e    0x7f6d
+0x5521    0x7f71
+0x5522    0x7f7d
+0x5523    0x7f7e
+0x5524    0x7f7f
+0x5525    0x7f80
+0x5526    0x7f8b
+0x5527    0x7f8d
+0x5528    0x7f8f
+0x5529    0x7f90
+0x552a    0x7f91
+0x552b    0x7f96
+0x552c    0x7f97
+0x552d    0x7f9c
+0x552e    0x7fa1
+0x552f    0x7fa2
+0x5530    0x7fa6
+0x5531    0x7faa
+0x5532    0x7fad
+0x5533    0x7fb4
+0x5534    0x7fbc
+0x5535    0x7fbf
+0x5536    0x7fc0
+0x5537    0x7fc3
+0x5538    0x7fc8
+0x5539    0x7fce
+0x553a    0x7fcf
+0x553b    0x7fdb
+0x553c    0x7fdf
+0x553d    0x7fe3
+0x553e    0x7fe5
+0x553f    0x7fe8
+0x5540    0x7fec
+0x5541    0x7fee
+0x5542    0x7fef
+0x5543    0x7ff2
+0x5544    0x7ffa
+0x5545    0x7ffd
+0x5546    0x7ffe
+0x5547    0x7fff
+0x5548    0x8007
+0x5549    0x8008
+0x554a    0x800a
+0x554b    0x800d
+0x554c    0x800e
+0x554d    0x800f
+0x554e    0x8011
+0x554f    0x8013
+0x5550    0x8014
+0x5551    0x8016
+0x5552    0x801d
+0x5553    0x801e
+0x5554    0x801f
+0x5555    0x8020
+0x5556    0x8024
+0x5557    0x8026
+0x5558    0x802c
+0x5559    0x802e
+0x555a    0x8030
+0x555b    0x8034
+0x555c    0x8035
+0x555d    0x8037
+0x555e    0x8039
+0x555f    0x803a
+0x5560    0x803c
+0x5561    0x803e
+0x5562    0x8040
+0x5563    0x8044
+0x5564    0x8060
+0x5565    0x8064
+0x5566    0x8066
+0x5567    0x806d
+0x5568    0x8071
+0x5569    0x8075
+0x556a    0x8081
+0x556b    0x8088
+0x556c    0x808e
+0x556d    0x809c
+0x556e    0x809e
+0x556f    0x80a6
+0x5570    0x80a7
+0x5571    0x80ab
+0x5572    0x80b8
+0x5573    0x80b9
+0x5574    0x80c8
+0x5575    0x80cd
+0x5576    0x80cf
+0x5577    0x80d2
+0x5578    0x80d4
+0x5579    0x80d5
+0x557a    0x80d7
+0x557b    0x80d8
+0x557c    0x80e0
+0x557d    0x80ed
+0x557e    0x80ee
+0x5621    0x80f0
+0x5622    0x80f2
+0x5623    0x80f3
+0x5624    0x80f6
+0x5625    0x80f9
+0x5626    0x80fa
+0x5627    0x80fe
+0x5628    0x8103
+0x5629    0x810b
+0x562a    0x8116
+0x562b    0x8117
+0x562c    0x8118
+0x562d    0x811c
+0x562e    0x811e
+0x562f    0x8120
+0x5630    0x8124
+0x5631    0x8127
+0x5632    0x812c
+0x5633    0x8130
+0x5634    0x8135
+0x5635    0x813a
+0x5636    0x813c
+0x5637    0x8145
+0x5638    0x8147
+0x5639    0x814a
+0x563a    0x814c
+0x563b    0x8152
+0x563c    0x8157
+0x563d    0x8160
+0x563e    0x8161
+0x563f    0x8167
+0x5640    0x8168
+0x5641    0x8169
+0x5642    0x816d
+0x5643    0x816f
+0x5644    0x8177
+0x5645    0x8181
+0x5646    0x8190
+0x5647    0x8184
+0x5648    0x8185
+0x5649    0x8186
+0x564a    0x818b
+0x564b    0x818e
+0x564c    0x8196
+0x564d    0x8198
+0x564e    0x819b
+0x564f    0x819e
+0x5650    0x81a2
+0x5651    0x81ae
+0x5652    0x81b2
+0x5653    0x81b4
+0x5654    0x81bb
+0x5655    0x81cb
+0x5656    0x81c3
+0x5657    0x81c5
+0x5658    0x81ca
+0x5659    0x81ce
+0x565a    0x81cf
+0x565b    0x81d5
+0x565c    0x81d7
+0x565d    0x81db
+0x565e    0x81dd
+0x565f    0x81de
+0x5660    0x81e1
+0x5661    0x81e4
+0x5662    0x81eb
+0x5663    0x81ec
+0x5664    0x81f0
+0x5665    0x81f1
+0x5666    0x81f2
+0x5667    0x81f5
+0x5668    0x81f6
+0x5669    0x81f8
+0x566a    0x81f9
+0x566b    0x81fd
+0x566c    0x81ff
+0x566d    0x8200
+0x566e    0x8203
+0x566f    0x820f
+0x5670    0x8213
+0x5671    0x8214
+0x5672    0x8219
+0x5673    0x821a
+0x5674    0x821d
+0x5675    0x8221
+0x5676    0x8222
+0x5677    0x8228
+0x5678    0x8232
+0x5679    0x8234
+0x567a    0x823a
+0x567b    0x8243
+0x567c    0x8244
+0x567d    0x8245
+0x567e    0x8246
+0x5721    0x824b
+0x5722    0x824e
+0x5723    0x824f
+0x5724    0x8251
+0x5725    0x8256
+0x5726    0x825c
+0x5727    0x8260
+0x5728    0x8263
+0x5729    0x8267
+0x572a    0x826d
+0x572b    0x8274
+0x572c    0x827b
+0x572d    0x827d
+0x572e    0x827f
+0x572f    0x8280
+0x5730    0x8281
+0x5731    0x8283
+0x5732    0x8284
+0x5733    0x8287
+0x5734    0x8289
+0x5735    0x828a
+0x5736    0x828e
+0x5737    0x8291
+0x5738    0x8294
+0x5739    0x8296
+0x573a    0x8298
+0x573b    0x829a
+0x573c    0x829b
+0x573d    0x82a0
+0x573e    0x82a1
+0x573f    0x82a3
+0x5740    0x82a4
+0x5741    0x82a7
+0x5742    0x82a8
+0x5743    0x82a9
+0x5744    0x82aa
+0x5745    0x82ae
+0x5746    0x82b0
+0x5747    0x82b2
+0x5748    0x82b4
+0x5749    0x82b7
+0x574a    0x82ba
+0x574b    0x82bc
+0x574c    0x82be
+0x574d    0x82bf
+0x574e    0x82c6
+0x574f    0x82d0
+0x5750    0x82d5
+0x5751    0x82da
+0x5752    0x82e0
+0x5753    0x82e2
+0x5754    0x82e4
+0x5755    0x82e8
+0x5756    0x82ea
+0x5757    0x82ed
+0x5758    0x82ef
+0x5759    0x82f6
+0x575a    0x82f7
+0x575b    0x82fd
+0x575c    0x82fe
+0x575d    0x8300
+0x575e    0x8301
+0x575f    0x8307
+0x5760    0x8308
+0x5761    0x830a
+0x5762    0x830b
+0x5763    0x8354
+0x5764    0x831b
+0x5765    0x831d
+0x5766    0x831e
+0x5767    0x831f
+0x5768    0x8321
+0x5769    0x8322
+0x576a    0x832c
+0x576b    0x832d
+0x576c    0x832e
+0x576d    0x8330
+0x576e    0x8333
+0x576f    0x8337
+0x5770    0x833a
+0x5771    0x833c
+0x5772    0x833d
+0x5773    0x8342
+0x5774    0x8343
+0x5775    0x8344
+0x5776    0x8347
+0x5777    0x834d
+0x5778    0x834e
+0x5779    0x8351
+0x577a    0x8355
+0x577b    0x8356
+0x577c    0x8357
+0x577d    0x8370
+0x577e    0x8378
+0x5821    0x837d
+0x5822    0x837f
+0x5823    0x8380
+0x5824    0x8382
+0x5825    0x8384
+0x5826    0x8386
+0x5827    0x838d
+0x5828    0x8392
+0x5829    0x8394
+0x582a    0x8395
+0x582b    0x8398
+0x582c    0x8399
+0x582d    0x839b
+0x582e    0x839c
+0x582f    0x839d
+0x5830    0x83a6
+0x5831    0x83a7
+0x5832    0x83a9
+0x5833    0x83ac
+0x5834    0x83be
+0x5835    0x83bf
+0x5836    0x83c0
+0x5837    0x83c7
+0x5838    0x83c9
+0x5839    0x83cf
+0x583a    0x83d0
+0x583b    0x83d1
+0x583c    0x83d4
+0x583d    0x83dd
+0x583e    0x8353
+0x583f    0x83e8
+0x5840    0x83ea
+0x5841    0x83f6
+0x5842    0x83f8
+0x5843    0x83f9
+0x5844    0x83fc
+0x5845    0x8401
+0x5846    0x8406
+0x5847    0x840a
+0x5848    0x840f
+0x5849    0x8411
+0x584a    0x8415
+0x584b    0x8419
+0x584c    0x83ad
+0x584d    0x842f
+0x584e    0x8439
+0x584f    0x8445
+0x5850    0x8447
+0x5851    0x8448
+0x5852    0x844a
+0x5853    0x844d
+0x5854    0x844f
+0x5855    0x8451
+0x5856    0x8452
+0x5857    0x8456
+0x5858    0x8458
+0x5859    0x8459
+0x585a    0x845a
+0x585b    0x845c
+0x585c    0x8460
+0x585d    0x8464
+0x585e    0x8465
+0x585f    0x8467
+0x5860    0x846a
+0x5861    0x8470
+0x5862    0x8473
+0x5863    0x8474
+0x5864    0x8476
+0x5865    0x8478
+0x5866    0x847c
+0x5867    0x847d
+0x5868    0x8481
+0x5869    0x8485
+0x586a    0x8492
+0x586b    0x8493
+0x586c    0x8495
+0x586d    0x849e
+0x586e    0x84a6
+0x586f    0x84a8
+0x5870    0x84a9
+0x5871    0x84aa
+0x5872    0x84af
+0x5873    0x84b1
+0x5874    0x84b4
+0x5875    0x84ba
+0x5876    0x84bd
+0x5877    0x84be
+0x5878    0x84c0
+0x5879    0x84c2
+0x587a    0x84c7
+0x587b    0x84c8
+0x587c    0x84cc
+0x587d    0x84cf
+0x587e    0x84d3
+0x5921    0x84dc
+0x5922    0x84e7
+0x5923    0x84ea
+0x5924    0x84ef
+0x5925    0x84f0
+0x5926    0x84f1
+0x5927    0x84f2
+0x5928    0x84f7
+0x5929    0x8532
+0x592a    0x84fa
+0x592b    0x84fb
+0x592c    0x84fd
+0x592d    0x8502
+0x592e    0x8503
+0x592f    0x8507
+0x5930    0x850c
+0x5931    0x850e
+0x5932    0x8510
+0x5933    0x851c
+0x5934    0x851e
+0x5935    0x8522
+0x5936    0x8523
+0x5937    0x8524
+0x5938    0x8525
+0x5939    0x8527
+0x593a    0x852a
+0x593b    0x852b
+0x593c    0x852f
+0x593d    0x8533
+0x593e    0x8534
+0x593f    0x8536
+0x5940    0x853f
+0x5941    0x8546
+0x5942    0x854f
+0x5943    0x8550
+0x5944    0x8551
+0x5945    0x8552
+0x5946    0x8553
+0x5947    0x8556
+0x5948    0x8559
+0x5949    0x855c
+0x594a    0x855d
+0x594b    0x855e
+0x594c    0x855f
+0x594d    0x8560
+0x594e    0x8561
+0x594f    0x8562
+0x5950    0x8564
+0x5951    0x856b
+0x5952    0x856f
+0x5953    0x8579
+0x5954    0x857a
+0x5955    0x857b
+0x5956    0x857d
+0x5957    0x857f
+0x5958    0x8581
+0x5959    0x8585
+0x595a    0x8586
+0x595b    0x8589
+0x595c    0x858b
+0x595d    0x858c
+0x595e    0x858f
+0x595f    0x8593
+0x5960    0x8598
+0x5961    0x859d
+0x5962    0x859f
+0x5963    0x85a0
+0x5964    0x85a2
+0x5965    0x85a5
+0x5966    0x85a7
+0x5967    0x85b4
+0x5968    0x85b6
+0x5969    0x85b7
+0x596a    0x85b8
+0x596b    0x85bc
+0x596c    0x85bd
+0x596d    0x85be
+0x596e    0x85bf
+0x596f    0x85c2
+0x5970    0x85c7
+0x5971    0x85ca
+0x5972    0x85cb
+0x5973    0x85ce
+0x5974    0x85ad
+0x5975    0x85d8
+0x5976    0x85da
+0x5977    0x85df
+0x5978    0x85e0
+0x5979    0x85e6
+0x597a    0x85e8
+0x597b    0x85ed
+0x597c    0x85f3
+0x597d    0x85f6
+0x597e    0x85fc
+0x5a21    0x85ff
+0x5a22    0x8600
+0x5a23    0x8604
+0x5a24    0x8605
+0x5a25    0x860d
+0x5a26    0x860e
+0x5a27    0x8610
+0x5a28    0x8611
+0x5a29    0x8612
+0x5a2a    0x8618
+0x5a2b    0x8619
+0x5a2c    0x861b
+0x5a2d    0x861e
+0x5a2e    0x8621
+0x5a2f    0x8627
+0x5a30    0x8629
+0x5a31    0x8636
+0x5a32    0x8638
+0x5a33    0x863a
+0x5a34    0x863c
+0x5a35    0x863d
+0x5a36    0x8640
+0x5a37    0x8642
+0x5a38    0x8646
+0x5a39    0x8652
+0x5a3a    0x8653
+0x5a3b    0x8656
+0x5a3c    0x8657
+0x5a3d    0x8658
+0x5a3e    0x8659
+0x5a3f    0x865d
+0x5a40    0x8660
+0x5a41    0x8661
+0x5a42    0x8662
+0x5a43    0x8663
+0x5a44    0x8664
+0x5a45    0x8669
+0x5a46    0x866c
+0x5a47    0x866f
+0x5a48    0x8675
+0x5a49    0x8676
+0x5a4a    0x8677
+0x5a4b    0x867a
+0x5a4c    0x868d
+0x5a4d    0x8691
+0x5a4e    0x8696
+0x5a4f    0x8698
+0x5a50    0x869a
+0x5a51    0x869c
+0x5a52    0x86a1
+0x5a53    0x86a6
+0x5a54    0x86a7
+0x5a55    0x86a8
+0x5a56    0x86ad
+0x5a57    0x86b1
+0x5a58    0x86b3
+0x5a59    0x86b4
+0x5a5a    0x86b5
+0x5a5b    0x86b7
+0x5a5c    0x86b8
+0x5a5d    0x86b9
+0x5a5e    0x86bf
+0x5a5f    0x86c0
+0x5a60    0x86c1
+0x5a61    0x86c3
+0x5a62    0x86c5
+0x5a63    0x86d1
+0x5a64    0x86d2
+0x5a65    0x86d5
+0x5a66    0x86d7
+0x5a67    0x86da
+0x5a68    0x86dc
+0x5a69    0x86e0
+0x5a6a    0x86e3
+0x5a6b    0x86e5
+0x5a6c    0x86e7
+0x5a6d    0x8688
+0x5a6e    0x86fa
+0x5a6f    0x86fc
+0x5a70    0x86fd
+0x5a71    0x8704
+0x5a72    0x8705
+0x5a73    0x8707
+0x5a74    0x870b
+0x5a75    0x870e
+0x5a76    0x870f
+0x5a77    0x8710
+0x5a78    0x8713
+0x5a79    0x8714
+0x5a7a    0x8719
+0x5a7b    0x871e
+0x5a7c    0x871f
+0x5a7d    0x8721
+0x5a7e    0x8723
+0x5b21    0x8728
+0x5b22    0x872e
+0x5b23    0x872f
+0x5b24    0x8731
+0x5b25    0x8732
+0x5b26    0x8739
+0x5b27    0x873a
+0x5b28    0x873c
+0x5b29    0x873d
+0x5b2a    0x873e
+0x5b2b    0x8740
+0x5b2c    0x8743
+0x5b2d    0x8745
+0x5b2e    0x874d
+0x5b2f    0x8758
+0x5b30    0x875d
+0x5b31    0x8761
+0x5b32    0x8764
+0x5b33    0x8765
+0x5b34    0x876f
+0x5b35    0x8771
+0x5b36    0x8772
+0x5b37    0x877b
+0x5b38    0x8783
+0x5b39    0x8784
+0x5b3a    0x8785
+0x5b3b    0x8786
+0x5b3c    0x8787
+0x5b3d    0x8788
+0x5b3e    0x8789
+0x5b3f    0x878b
+0x5b40    0x878c
+0x5b41    0x8790
+0x5b42    0x8793
+0x5b43    0x8795
+0x5b44    0x8797
+0x5b45    0x8798
+0x5b46    0x8799
+0x5b47    0x879e
+0x5b48    0x87a0
+0x5b49    0x87a3
+0x5b4a    0x87a7
+0x5b4b    0x87ac
+0x5b4c    0x87ad
+0x5b4d    0x87ae
+0x5b4e    0x87b1
+0x5b4f    0x87b5
+0x5b50    0x87be
+0x5b51    0x87bf
+0x5b52    0x87c1
+0x5b53    0x87c8
+0x5b54    0x87c9
+0x5b55    0x87ca
+0x5b56    0x87ce
+0x5b57    0x87d5
+0x5b58    0x87d6
+0x5b59    0x87d9
+0x5b5a    0x87da
+0x5b5b    0x87dc
+0x5b5c    0x87df
+0x5b5d    0x87e2
+0x5b5e    0x87e3
+0x5b5f    0x87e4
+0x5b60    0x87ea
+0x5b61    0x87eb
+0x5b62    0x87ed
+0x5b63    0x87f1
+0x5b64    0x87f3
+0x5b65    0x87f8
+0x5b66    0x87fa
+0x5b67    0x87ff
+0x5b68    0x8801
+0x5b69    0x8803
+0x5b6a    0x8806
+0x5b6b    0x8809
+0x5b6c    0x880a
+0x5b6d    0x880b
+0x5b6e    0x8810
+0x5b6f    0x8819
+0x5b70    0x8812
+0x5b71    0x8813
+0x5b72    0x8814
+0x5b73    0x8818
+0x5b74    0x881a
+0x5b75    0x881b
+0x5b76    0x881c
+0x5b77    0x881e
+0x5b78    0x881f
+0x5b79    0x8828
+0x5b7a    0x882d
+0x5b7b    0x882e
+0x5b7c    0x8830
+0x5b7d    0x8832
+0x5b7e    0x8835
+0x5c21    0x883a
+0x5c22    0x883c
+0x5c23    0x8841
+0x5c24    0x8843
+0x5c25    0x8845
+0x5c26    0x8848
+0x5c27    0x8849
+0x5c28    0x884a
+0x5c29    0x884b
+0x5c2a    0x884e
+0x5c2b    0x8851
+0x5c2c    0x8855
+0x5c2d    0x8856
+0x5c2e    0x8858
+0x5c2f    0x885a
+0x5c30    0x885c
+0x5c31    0x885f
+0x5c32    0x8860
+0x5c33    0x8864
+0x5c34    0x8869
+0x5c35    0x8871
+0x5c36    0x8879
+0x5c37    0x887b
+0x5c38    0x8880
+0x5c39    0x8898
+0x5c3a    0x889a
+0x5c3b    0x889b
+0x5c3c    0x889c
+0x5c3d    0x889f
+0x5c3e    0x88a0
+0x5c3f    0x88a8
+0x5c40    0x88aa
+0x5c41    0x88ba
+0x5c42    0x88bd
+0x5c43    0x88be
+0x5c44    0x88c0
+0x5c45    0x88ca
+0x5c46    0x88cb
+0x5c47    0x88cc
+0x5c48    0x88cd
+0x5c49    0x88ce
+0x5c4a    0x88d1
+0x5c4b    0x88d2
+0x5c4c    0x88d3
+0x5c4d    0x88db
+0x5c4e    0x88de
+0x5c4f    0x88e7
+0x5c50    0x88ef
+0x5c51    0x88f0
+0x5c52    0x88f1
+0x5c53    0x88f5
+0x5c54    0x88f7
+0x5c55    0x8901
+0x5c56    0x8906
+0x5c57    0x890d
+0x5c58    0x890e
+0x5c59    0x890f
+0x5c5a    0x8915
+0x5c5b    0x8916
+0x5c5c    0x8918
+0x5c5d    0x8919
+0x5c5e    0x891a
+0x5c5f    0x891c
+0x5c60    0x8920
+0x5c61    0x8926
+0x5c62    0x8927
+0x5c63    0x8928
+0x5c64    0x8930
+0x5c65    0x8931
+0x5c66    0x8932
+0x5c67    0x8935
+0x5c68    0x8939
+0x5c69    0x893a
+0x5c6a    0x893e
+0x5c6b    0x8940
+0x5c6c    0x8942
+0x5c6d    0x8945
+0x5c6e    0x8946
+0x5c6f    0x8949
+0x5c70    0x894f
+0x5c71    0x8952
+0x5c72    0x8957
+0x5c73    0x895a
+0x5c74    0x895b
+0x5c75    0x895c
+0x5c76    0x8961
+0x5c77    0x8962
+0x5c78    0x8963
+0x5c79    0x896b
+0x5c7a    0x896e
+0x5c7b    0x8970
+0x5c7c    0x8973
+0x5c7d    0x8975
+0x5c7e    0x897a
+0x5d21    0x897b
+0x5d22    0x897c
+0x5d23    0x897d
+0x5d24    0x8989
+0x5d25    0x898d
+0x5d26    0x8990
+0x5d27    0x8994
+0x5d28    0x8995
+0x5d29    0x899b
+0x5d2a    0x899c
+0x5d2b    0x899f
+0x5d2c    0x89a0
+0x5d2d    0x89a5
+0x5d2e    0x89b0
+0x5d2f    0x89b4
+0x5d30    0x89b5
+0x5d31    0x89b6
+0x5d32    0x89b7
+0x5d33    0x89bc
+0x5d34    0x89d4
+0x5d35    0x89d5
+0x5d36    0x89d6
+0x5d37    0x89d7
+0x5d38    0x89d8
+0x5d39    0x89e5
+0x5d3a    0x89e9
+0x5d3b    0x89eb
+0x5d3c    0x89ed
+0x5d3d    0x89f1
+0x5d3e    0x89f3
+0x5d3f    0x89f6
+0x5d40    0x89f9
+0x5d41    0x89fd
+0x5d42    0x89ff
+0x5d43    0x8a04
+0x5d44    0x8a05
+0x5d45    0x8a07
+0x5d46    0x8a0f
+0x5d47    0x8a11
+0x5d48    0x8a12
+0x5d49    0x8a14
+0x5d4a    0x8a15
+0x5d4b    0x8a1e
+0x5d4c    0x8a20
+0x5d4d    0x8a22
+0x5d4e    0x8a24
+0x5d4f    0x8a26
+0x5d50    0x8a2b
+0x5d51    0x8a2c
+0x5d52    0x8a2f
+0x5d53    0x8a35
+0x5d54    0x8a37
+0x5d55    0x8a3d
+0x5d56    0x8a3e
+0x5d57    0x8a40
+0x5d58    0x8a43
+0x5d59    0x8a45
+0x5d5a    0x8a47
+0x5d5b    0x8a49
+0x5d5c    0x8a4d
+0x5d5d    0x8a4e
+0x5d5e    0x8a53
+0x5d5f    0x8a56
+0x5d60    0x8a57
+0x5d61    0x8a58
+0x5d62    0x8a5c
+0x5d63    0x8a5d
+0x5d64    0x8a61
+0x5d65    0x8a65
+0x5d66    0x8a67
+0x5d67    0x8a75
+0x5d68    0x8a76
+0x5d69    0x8a77
+0x5d6a    0x8a79
+0x5d6b    0x8a7a
+0x5d6c    0x8a7b
+0x5d6d    0x8a7e
+0x5d6e    0x8a7f
+0x5d6f    0x8a80
+0x5d70    0x8a83
+0x5d71    0x8a86
+0x5d72    0x8a8b
+0x5d73    0x8a8f
+0x5d74    0x8a90
+0x5d75    0x8a92
+0x5d76    0x8a96
+0x5d77    0x8a97
+0x5d78    0x8a99
+0x5d79    0x8a9f
+0x5d7a    0x8aa7
+0x5d7b    0x8aa9
+0x5d7c    0x8aae
+0x5d7d    0x8aaf
+0x5d7e    0x8ab3
+0x5e21    0x8ab6
+0x5e22    0x8ab7
+0x5e23    0x8abb
+0x5e24    0x8abe
+0x5e25    0x8ac3
+0x5e26    0x8ac6
+0x5e27    0x8ac8
+0x5e28    0x8ac9
+0x5e29    0x8aca
+0x5e2a    0x8ad1
+0x5e2b    0x8ad3
+0x5e2c    0x8ad4
+0x5e2d    0x8ad5
+0x5e2e    0x8ad7
+0x5e2f    0x8add
+0x5e30    0x8adf
+0x5e31    0x8aec
+0x5e32    0x8af0
+0x5e33    0x8af4
+0x5e34    0x8af5
+0x5e35    0x8af6
+0x5e36    0x8afc
+0x5e37    0x8aff
+0x5e38    0x8b05
+0x5e39    0x8b06
+0x5e3a    0x8b0b
+0x5e3b    0x8b11
+0x5e3c    0x8b1c
+0x5e3d    0x8b1e
+0x5e3e    0x8b1f
+0x5e3f    0x8b0a
+0x5e40    0x8b2d
+0x5e41    0x8b30
+0x5e42    0x8b37
+0x5e43    0x8b3c
+0x5e44    0x8b42
+0x5e45    0x8b43
+0x5e46    0x8b44
+0x5e47    0x8b45
+0x5e48    0x8b46
+0x5e49    0x8b48
+0x5e4a    0x8b52
+0x5e4b    0x8b53
+0x5e4c    0x8b54
+0x5e4d    0x8b59
+0x5e4e    0x8b4d
+0x5e4f    0x8b5e
+0x5e50    0x8b63
+0x5e51    0x8b6d
+0x5e52    0x8b76
+0x5e53    0x8b78
+0x5e54    0x8b79
+0x5e55    0x8b7c
+0x5e56    0x8b7e
+0x5e57    0x8b81
+0x5e58    0x8b84
+0x5e59    0x8b85
+0x5e5a    0x8b8b
+0x5e5b    0x8b8d
+0x5e5c    0x8b8f
+0x5e5d    0x8b94
+0x5e5e    0x8b95
+0x5e5f    0x8b9c
+0x5e60    0x8b9e
+0x5e61    0x8b9f
+0x5e62    0x8c38
+0x5e63    0x8c39
+0x5e64    0x8c3d
+0x5e65    0x8c3e
+0x5e66    0x8c45
+0x5e67    0x8c47
+0x5e68    0x8c49
+0x5e69    0x8c4b
+0x5e6a    0x8c4f
+0x5e6b    0x8c51
+0x5e6c    0x8c53
+0x5e6d    0x8c54
+0x5e6e    0x8c57
+0x5e6f    0x8c58
+0x5e70    0x8c5b
+0x5e71    0x8c5d
+0x5e72    0x8c59
+0x5e73    0x8c63
+0x5e74    0x8c64
+0x5e75    0x8c66
+0x5e76    0x8c68
+0x5e77    0x8c69
+0x5e78    0x8c6d
+0x5e79    0x8c73
+0x5e7a    0x8c75
+0x5e7b    0x8c76
+0x5e7c    0x8c7b
+0x5e7d    0x8c7e
+0x5e7e    0x8c86
+0x5f21    0x8c87
+0x5f22    0x8c8b
+0x5f23    0x8c90
+0x5f24    0x8c92
+0x5f25    0x8c93
+0x5f26    0x8c99
+0x5f27    0x8c9b
+0x5f28    0x8c9c
+0x5f29    0x8ca4
+0x5f2a    0x8cb9
+0x5f2b    0x8cba
+0x5f2c    0x8cc5
+0x5f2d    0x8cc6
+0x5f2e    0x8cc9
+0x5f2f    0x8ccb
+0x5f30    0x8ccf
+0x5f31    0x8cd6
+0x5f32    0x8cd5
+0x5f33    0x8cd9
+0x5f34    0x8cdd
+0x5f35    0x8ce1
+0x5f36    0x8ce8
+0x5f37    0x8cec
+0x5f38    0x8cef
+0x5f39    0x8cf0
+0x5f3a    0x8cf2
+0x5f3b    0x8cf5
+0x5f3c    0x8cf7
+0x5f3d    0x8cf8
+0x5f3e    0x8cfe
+0x5f3f    0x8cff
+0x5f40    0x8d01
+0x5f41    0x8d03
+0x5f42    0x8d09
+0x5f43    0x8d12
+0x5f44    0x8d17
+0x5f45    0x8d1b
+0x5f46    0x8d65
+0x5f47    0x8d69
+0x5f48    0x8d6c
+0x5f49    0x8d6e
+0x5f4a    0x8d7f
+0x5f4b    0x8d82
+0x5f4c    0x8d84
+0x5f4d    0x8d88
+0x5f4e    0x8d8d
+0x5f4f    0x8d90
+0x5f50    0x8d91
+0x5f51    0x8d95
+0x5f52    0x8d9e
+0x5f53    0x8d9f
+0x5f54    0x8da0
+0x5f55    0x8da6
+0x5f56    0x8dab
+0x5f57    0x8dac
+0x5f58    0x8daf
+0x5f59    0x8db2
+0x5f5a    0x8db5
+0x5f5b    0x8db7
+0x5f5c    0x8db9
+0x5f5d    0x8dbb
+0x5f5e    0x8dc0
+0x5f5f    0x8dc5
+0x5f60    0x8dc6
+0x5f61    0x8dc7
+0x5f62    0x8dc8
+0x5f63    0x8dca
+0x5f64    0x8dce
+0x5f65    0x8dd1
+0x5f66    0x8dd4
+0x5f67    0x8dd5
+0x5f68    0x8dd7
+0x5f69    0x8dd9
+0x5f6a    0x8de4
+0x5f6b    0x8de5
+0x5f6c    0x8de7
+0x5f6d    0x8dec
+0x5f6e    0x8df0
+0x5f6f    0x8dbc
+0x5f70    0x8df1
+0x5f71    0x8df2
+0x5f72    0x8df4
+0x5f73    0x8dfd
+0x5f74    0x8e01
+0x5f75    0x8e04
+0x5f76    0x8e05
+0x5f77    0x8e06
+0x5f78    0x8e0b
+0x5f79    0x8e11
+0x5f7a    0x8e14
+0x5f7b    0x8e16
+0x5f7c    0x8e20
+0x5f7d    0x8e21
+0x5f7e    0x8e22
+0x6021    0x8e23
+0x6022    0x8e26
+0x6023    0x8e27
+0x6024    0x8e31
+0x6025    0x8e33
+0x6026    0x8e36
+0x6027    0x8e37
+0x6028    0x8e38
+0x6029    0x8e39
+0x602a    0x8e3d
+0x602b    0x8e40
+0x602c    0x8e41
+0x602d    0x8e4b
+0x602e    0x8e4d
+0x602f    0x8e4e
+0x6030    0x8e4f
+0x6031    0x8e54
+0x6032    0x8e5b
+0x6033    0x8e5c
+0x6034    0x8e5d
+0x6035    0x8e5e
+0x6036    0x8e61
+0x6037    0x8e62
+0x6038    0x8e69
+0x6039    0x8e6c
+0x603a    0x8e6d
+0x603b    0x8e6f
+0x603c    0x8e70
+0x603d    0x8e71
+0x603e    0x8e79
+0x603f    0x8e7a
+0x6040    0x8e7b
+0x6041    0x8e82
+0x6042    0x8e83
+0x6043    0x8e89
+0x6044    0x8e90
+0x6045    0x8e92
+0x6046    0x8e95
+0x6047    0x8e9a
+0x6048    0x8e9b
+0x6049    0x8e9d
+0x604a    0x8e9e
+0x604b    0x8ea2
+0x604c    0x8ea7
+0x604d    0x8ea9
+0x604e    0x8ead
+0x604f    0x8eae
+0x6050    0x8eb3
+0x6051    0x8eb5
+0x6052    0x8eba
+0x6053    0x8ebb
+0x6054    0x8ec0
+0x6055    0x8ec1
+0x6056    0x8ec3
+0x6057    0x8ec4
+0x6058    0x8ec7
+0x6059    0x8ecf
+0x605a    0x8ed1
+0x605b    0x8ed4
+0x605c    0x8edc
+0x605d    0x8ee8
+0x605e    0x8eee
+0x605f    0x8ef0
+0x6060    0x8ef1
+0x6061    0x8ef7
+0x6062    0x8ef9
+0x6063    0x8efa
+0x6064    0x8eed
+0x6065    0x8f00
+0x6066    0x8f02
+0x6067    0x8f07
+0x6068    0x8f08
+0x6069    0x8f0f
+0x606a    0x8f10
+0x606b    0x8f16
+0x606c    0x8f17
+0x606d    0x8f18
+0x606e    0x8f1e
+0x606f    0x8f20
+0x6070    0x8f21
+0x6071    0x8f23
+0x6072    0x8f25
+0x6073    0x8f27
+0x6074    0x8f28
+0x6075    0x8f2c
+0x6076    0x8f2d
+0x6077    0x8f2e
+0x6078    0x8f34
+0x6079    0x8f35
+0x607a    0x8f36
+0x607b    0x8f37
+0x607c    0x8f3a
+0x607d    0x8f40
+0x607e    0x8f41
+0x6121    0x8f43
+0x6122    0x8f47
+0x6123    0x8f4f
+0x6124    0x8f51
+0x6125    0x8f52
+0x6126    0x8f53
+0x6127    0x8f54
+0x6128    0x8f55
+0x6129    0x8f58
+0x612a    0x8f5d
+0x612b    0x8f5e
+0x612c    0x8f65
+0x612d    0x8f9d
+0x612e    0x8fa0
+0x612f    0x8fa1
+0x6130    0x8fa4
+0x6131    0x8fa5
+0x6132    0x8fa6
+0x6133    0x8fb5
+0x6134    0x8fb6
+0x6135    0x8fb8
+0x6136    0x8fbe
+0x6137    0x8fc0
+0x6138    0x8fc1
+0x6139    0x8fc6
+0x613a    0x8fca
+0x613b    0x8fcb
+0x613c    0x8fcd
+0x613d    0x8fd0
+0x613e    0x8fd2
+0x613f    0x8fd3
+0x6140    0x8fd5
+0x6141    0x8fe0
+0x6142    0x8fe3
+0x6143    0x8fe4
+0x6144    0x8fe8
+0x6145    0x8fee
+0x6146    0x8ff1
+0x6147    0x8ff5
+0x6148    0x8ff6
+0x6149    0x8ffb
+0x614a    0x8ffe
+0x614b    0x9002
+0x614c    0x9004
+0x614d    0x9008
+0x614e    0x900c
+0x614f    0x9018
+0x6150    0x901b
+0x6151    0x9028
+0x6152    0x9029
+0x6153    0x902f
+0x6154    0x902a
+0x6155    0x902c
+0x6156    0x902d
+0x6157    0x9033
+0x6158    0x9034
+0x6159    0x9037
+0x615a    0x903f
+0x615b    0x9043
+0x615c    0x9044
+0x615d    0x904c
+0x615e    0x905b
+0x615f    0x905d
+0x6160    0x9062
+0x6161    0x9066
+0x6162    0x9067
+0x6163    0x906c
+0x6164    0x9070
+0x6165    0x9074
+0x6166    0x9079
+0x6167    0x9085
+0x6168    0x9088
+0x6169    0x908b
+0x616a    0x908c
+0x616b    0x908e
+0x616c    0x9090
+0x616d    0x9095
+0x616e    0x9097
+0x616f    0x9098
+0x6170    0x9099
+0x6171    0x909b
+0x6172    0x90a0
+0x6173    0x90a1
+0x6174    0x90a2
+0x6175    0x90a5
+0x6176    0x90b0
+0x6177    0x90b2
+0x6178    0x90b3
+0x6179    0x90b4
+0x617a    0x90b6
+0x617b    0x90bd
+0x617c    0x90cc
+0x617d    0x90be
+0x617e    0x90c3
+0x6221    0x90c4
+0x6222    0x90c5
+0x6223    0x90c7
+0x6224    0x90c8
+0x6225    0x90d5
+0x6226    0x90d7
+0x6227    0x90d8
+0x6228    0x90d9
+0x6229    0x90dc
+0x622a    0x90dd
+0x622b    0x90df
+0x622c    0x90e5
+0x622d    0x90d2
+0x622e    0x90f6
+0x622f    0x90eb
+0x6230    0x90ef
+0x6231    0x90f0
+0x6232    0x90f4
+0x6233    0x90fe
+0x6234    0x90ff
+0x6235    0x9100
+0x6236    0x9104
+0x6237    0x9105
+0x6238    0x9106
+0x6239    0x9108
+0x623a    0x910d
+0x623b    0x9110
+0x623c    0x9114
+0x623d    0x9116
+0x623e    0x9117
+0x623f    0x9118
+0x6240    0x911a
+0x6241    0x911c
+0x6242    0x911e
+0x6243    0x9120
+0x6244    0x9125
+0x6245    0x9122
+0x6246    0x9123
+0x6247    0x9127
+0x6248    0x9129
+0x6249    0x912e
+0x624a    0x912f
+0x624b    0x9131
+0x624c    0x9134
+0x624d    0x9136
+0x624e    0x9137
+0x624f    0x9139
+0x6250    0x913a
+0x6251    0x913c
+0x6252    0x913d
+0x6253    0x9143
+0x6254    0x9147
+0x6255    0x9148
+0x6256    0x914f
+0x6257    0x9153
+0x6258    0x9157
+0x6259    0x9159
+0x625a    0x915a
+0x625b    0x915b
+0x625c    0x9161
+0x625d    0x9164
+0x625e    0x9167
+0x625f    0x916d
+0x6260    0x9174
+0x6261    0x9179
+0x6262    0x917a
+0x6263    0x917b
+0x6264    0x9181
+0x6265    0x9183
+0x6266    0x9185
+0x6267    0x9186
+0x6268    0x918a
+0x6269    0x918e
+0x626a    0x9191
+0x626b    0x9193
+0x626c    0x9194
+0x626d    0x9195
+0x626e    0x9198
+0x626f    0x919e
+0x6270    0x91a1
+0x6271    0x91a6
+0x6272    0x91a8
+0x6273    0x91ac
+0x6274    0x91ad
+0x6275    0x91ae
+0x6276    0x91b0
+0x6277    0x91b1
+0x6278    0x91b2
+0x6279    0x91b3
+0x627a    0x91b6
+0x627b    0x91bb
+0x627c    0x91bc
+0x627d    0x91bd
+0x627e    0x91bf
+0x6321    0x91c2
+0x6322    0x91c3
+0x6323    0x91c5
+0x6324    0x91d3
+0x6325    0x91d4
+0x6326    0x91d7
+0x6327    0x91d9
+0x6328    0x91da
+0x6329    0x91de
+0x632a    0x91e4
+0x632b    0x91e5
+0x632c    0x91e9
+0x632d    0x91ea
+0x632e    0x91ec
+0x632f    0x91ed
+0x6330    0x91ee
+0x6331    0x91ef
+0x6332    0x91f0
+0x6333    0x91f1
+0x6334    0x91f7
+0x6335    0x91f9
+0x6336    0x91fb
+0x6337    0x91fd
+0x6338    0x9200
+0x6339    0x9201
+0x633a    0x9204
+0x633b    0x9205
+0x633c    0x9206
+0x633d    0x9207
+0x633e    0x9209
+0x633f    0x920a
+0x6340    0x920c
+0x6341    0x9210
+0x6342    0x9212
+0x6343    0x9213
+0x6344    0x9216
+0x6345    0x9218
+0x6346    0x921c
+0x6347    0x921d
+0x6348    0x9223
+0x6349    0x9224
+0x634a    0x9225
+0x634b    0x9226
+0x634c    0x9228
+0x634d    0x922e
+0x634e    0x922f
+0x634f    0x9230
+0x6350    0x9233
+0x6351    0x9235
+0x6352    0x9236
+0x6353    0x9238
+0x6354    0x9239
+0x6355    0x923a
+0x6356    0x923c
+0x6357    0x923e
+0x6358    0x9240
+0x6359    0x9242
+0x635a    0x9243
+0x635b    0x9246
+0x635c    0x9247
+0x635d    0x924a
+0x635e    0x924d
+0x635f    0x924e
+0x6360    0x924f
+0x6361    0x9251
+0x6362    0x9258
+0x6363    0x9259
+0x6364    0x925c
+0x6365    0x925d
+0x6366    0x9260
+0x6367    0x9261
+0x6368    0x9265
+0x6369    0x9267
+0x636a    0x9268
+0x636b    0x9269
+0x636c    0x926e
+0x636d    0x926f
+0x636e    0x9270
+0x636f    0x9275
+0x6370    0x9276
+0x6371    0x9277
+0x6372    0x9278
+0x6373    0x9279
+0x6374    0x927b
+0x6375    0x927c
+0x6376    0x927d
+0x6377    0x927f
+0x6378    0x9288
+0x6379    0x9289
+0x637a    0x928a
+0x637b    0x928d
+0x637c    0x928e
+0x637d    0x9292
+0x637e    0x9297
+0x6421    0x9299
+0x6422    0x929f
+0x6423    0x92a0
+0x6424    0x92a4
+0x6425    0x92a5
+0x6426    0x92a7
+0x6427    0x92a8
+0x6428    0x92ab
+0x6429    0x92af
+0x642a    0x92b2
+0x642b    0x92b6
+0x642c    0x92b8
+0x642d    0x92ba
+0x642e    0x92bb
+0x642f    0x92bc
+0x6430    0x92bd
+0x6431    0x92bf
+0x6432    0x92c0
+0x6433    0x92c1
+0x6434    0x92c2
+0x6435    0x92c3
+0x6436    0x92c5
+0x6437    0x92c6
+0x6438    0x92c7
+0x6439    0x92c8
+0x643a    0x92cb
+0x643b    0x92cc
+0x643c    0x92cd
+0x643d    0x92ce
+0x643e    0x92d0
+0x643f    0x92d3
+0x6440    0x92d5
+0x6441    0x92d7
+0x6442    0x92d8
+0x6443    0x92d9
+0x6444    0x92dc
+0x6445    0x92dd
+0x6446    0x92df
+0x6447    0x92e0
+0x6448    0x92e1
+0x6449    0x92e3
+0x644a    0x92e5
+0x644b    0x92e7
+0x644c    0x92e8
+0x644d    0x92ec
+0x644e    0x92ee
+0x644f    0x92f0
+0x6450    0x92f9
+0x6451    0x92fb
+0x6452    0x92ff
+0x6453    0x9300
+0x6454    0x9302
+0x6455    0x9308
+0x6456    0x930d
+0x6457    0x9311
+0x6458    0x9314
+0x6459    0x9315
+0x645a    0x931c
+0x645b    0x931d
+0x645c    0x931e
+0x645d    0x931f
+0x645e    0x9321
+0x645f    0x9324
+0x6460    0x9325
+0x6461    0x9327
+0x6462    0x9329
+0x6463    0x932a
+0x6464    0x9333
+0x6465    0x9334
+0x6466    0x9336
+0x6467    0x9337
+0x6468    0x9347
+0x6469    0x9348
+0x646a    0x9349
+0x646b    0x9350
+0x646c    0x9351
+0x646d    0x9352
+0x646e    0x9355
+0x646f    0x9357
+0x6470    0x9358
+0x6471    0x935a
+0x6472    0x935e
+0x6473    0x9364
+0x6474    0x9365
+0x6475    0x9367
+0x6476    0x9369
+0x6477    0x936a
+0x6478    0x936d
+0x6479    0x936f
+0x647a    0x9370
+0x647b    0x9371
+0x647c    0x9373
+0x647d    0x9374
+0x647e    0x9376
+0x6521    0x937a
+0x6522    0x937d
+0x6523    0x937f
+0x6524    0x9380
+0x6525    0x9381
+0x6526    0x9382
+0x6527    0x9388
+0x6528    0x938a
+0x6529    0x938b
+0x652a    0x938d
+0x652b    0x938f
+0x652c    0x9392
+0x652d    0x9395
+0x652e    0x9398
+0x652f    0x939b
+0x6530    0x939e
+0x6531    0x93a1
+0x6532    0x93a3
+0x6533    0x93a4
+0x6534    0x93a6
+0x6535    0x93a8
+0x6536    0x93ab
+0x6537    0x93b4
+0x6538    0x93b5
+0x6539    0x93b6
+0x653a    0x93ba
+0x653b    0x93a9
+0x653c    0x93c1
+0x653d    0x93c4
+0x653e    0x93c5
+0x653f    0x93c6
+0x6540    0x93c7
+0x6541    0x93c9
+0x6542    0x93ca
+0x6543    0x93cb
+0x6544    0x93cc
+0x6545    0x93cd
+0x6546    0x93d3
+0x6547    0x93d9
+0x6548    0x93dc
+0x6549    0x93de
+0x654a    0x93df
+0x654b    0x93e2
+0x654c    0x93e6
+0x654d    0x93e7
+0x654e    0x93f9
+0x654f    0x93f7
+0x6550    0x93f8
+0x6551    0x93fa
+0x6552    0x93fb
+0x6553    0x93fd
+0x6554    0x9401
+0x6555    0x9402
+0x6556    0x9404
+0x6557    0x9408
+0x6558    0x9409
+0x6559    0x940d
+0x655a    0x940e
+0x655b    0x940f
+0x655c    0x9415
+0x655d    0x9416
+0x655e    0x9417
+0x655f    0x941f
+0x6560    0x942e
+0x6561    0x942f
+0x6562    0x9431
+0x6563    0x9432
+0x6564    0x9433
+0x6565    0x9434
+0x6566    0x943b
+0x6567    0x943f
+0x6568    0x943d
+0x6569    0x9443
+0x656a    0x9445
+0x656b    0x9448
+0x656c    0x944a
+0x656d    0x944c
+0x656e    0x9455
+0x656f    0x9459
+0x6570    0x945c
+0x6571    0x945f
+0x6572    0x9461
+0x6573    0x9463
+0x6574    0x9468
+0x6575    0x946b
+0x6576    0x946d
+0x6577    0x946e
+0x6578    0x946f
+0x6579    0x9471
+0x657a    0x9472
+0x657b    0x9484
+0x657c    0x9483
+0x657d    0x9578
+0x657e    0x9579
+0x6621    0x957e
+0x6622    0x9584
+0x6623    0x9588
+0x6624    0x958c
+0x6625    0x958d
+0x6626    0x958e
+0x6627    0x959d
+0x6628    0x959e
+0x6629    0x959f
+0x662a    0x95a1
+0x662b    0x95a6
+0x662c    0x95a9
+0x662d    0x95ab
+0x662e    0x95ac
+0x662f    0x95b4
+0x6630    0x95b6
+0x6631    0x95ba
+0x6632    0x95bd
+0x6633    0x95bf
+0x6634    0x95c6
+0x6635    0x95c8
+0x6636    0x95c9
+0x6637    0x95cb
+0x6638    0x95d0
+0x6639    0x95d1
+0x663a    0x95d2
+0x663b    0x95d3
+0x663c    0x95d9
+0x663d    0x95da
+0x663e    0x95dd
+0x663f    0x95de
+0x6640    0x95df
+0x6641    0x95e0
+0x6642    0x95e4
+0x6643    0x95e6
+0x6644    0x961d
+0x6645    0x961e
+0x6646    0x9622
+0x6647    0x9624
+0x6648    0x9625
+0x6649    0x9626
+0x664a    0x962c
+0x664b    0x9631
+0x664c    0x9633
+0x664d    0x9637
+0x664e    0x9638
+0x664f    0x9639
+0x6650    0x963a
+0x6651    0x963c
+0x6652    0x963d
+0x6653    0x9641
+0x6654    0x9652
+0x6655    0x9654
+0x6656    0x9656
+0x6657    0x9657
+0x6658    0x9658
+0x6659    0x9661
+0x665a    0x966e
+0x665b    0x9674
+0x665c    0x967b
+0x665d    0x967c
+0x665e    0x967e
+0x665f    0x967f
+0x6660    0x9681
+0x6661    0x9682
+0x6662    0x9683
+0x6663    0x9684
+0x6664    0x9689
+0x6665    0x9691
+0x6666    0x9696
+0x6667    0x969a
+0x6668    0x969d
+0x6669    0x969f
+0x666a    0x96a4
+0x666b    0x96a5
+0x666c    0x96a6
+0x666d    0x96a9
+0x666e    0x96ae
+0x666f    0x96af
+0x6670    0x96b3
+0x6671    0x96ba
+0x6672    0x96ca
+0x6673    0x96d2
+0x6674    0x5db2
+0x6675    0x96d8
+0x6676    0x96da
+0x6677    0x96dd
+0x6678    0x96de
+0x6679    0x96df
+0x667a    0x96e9
+0x667b    0x96ef
+0x667c    0x96f1
+0x667d    0x96fa
+0x667e    0x9702
+0x6721    0x9703
+0x6722    0x9705
+0x6723    0x9709
+0x6724    0x971a
+0x6725    0x971b
+0x6726    0x971d
+0x6727    0x9721
+0x6728    0x9722
+0x6729    0x9723
+0x672a    0x9728
+0x672b    0x9731
+0x672c    0x9733
+0x672d    0x9741
+0x672e    0x9743
+0x672f    0x974a
+0x6730    0x974e
+0x6731    0x974f
+0x6732    0x9755
+0x6733    0x9757
+0x6734    0x9758
+0x6735    0x975a
+0x6736    0x975b
+0x6737    0x9763
+0x6738    0x9767
+0x6739    0x976a
+0x673a    0x976e
+0x673b    0x9773
+0x673c    0x9776
+0x673d    0x9777
+0x673e    0x9778
+0x673f    0x977b
+0x6740    0x977d
+0x6741    0x977f
+0x6742    0x9780
+0x6743    0x9789
+0x6744    0x9795
+0x6745    0x9796
+0x6746    0x9797
+0x6747    0x9799
+0x6748    0x979a
+0x6749    0x979e
+0x674a    0x979f
+0x674b    0x97a2
+0x674c    0x97ac
+0x674d    0x97ae
+0x674e    0x97b1
+0x674f    0x97b2
+0x6750    0x97b5
+0x6751    0x97b6
+0x6752    0x97b8
+0x6753    0x97b9
+0x6754    0x97ba
+0x6755    0x97bc
+0x6756    0x97be
+0x6757    0x97bf
+0x6758    0x97c1
+0x6759    0x97c4
+0x675a    0x97c5
+0x675b    0x97c7
+0x675c    0x97c9
+0x675d    0x97ca
+0x675e    0x97cc
+0x675f    0x97cd
+0x6760    0x97ce
+0x6761    0x97d0
+0x6762    0x97d1
+0x6763    0x97d4
+0x6764    0x97d7
+0x6765    0x97d8
+0x6766    0x97d9
+0x6767    0x97dd
+0x6768    0x97de
+0x6769    0x97e0
+0x676a    0x97db
+0x676b    0x97e1
+0x676c    0x97e4
+0x676d    0x97ef
+0x676e    0x97f1
+0x676f    0x97f4
+0x6770    0x97f7
+0x6771    0x97f8
+0x6772    0x97fa
+0x6773    0x9807
+0x6774    0x980a
+0x6775    0x9819
+0x6776    0x980d
+0x6777    0x980e
+0x6778    0x9814
+0x6779    0x9816
+0x677a    0x981c
+0x677b    0x981e
+0x677c    0x9820
+0x677d    0x9823
+0x677e    0x9826
+0x6821    0x982b
+0x6822    0x982e
+0x6823    0x982f
+0x6824    0x9830
+0x6825    0x9832
+0x6826    0x9833
+0x6827    0x9835
+0x6828    0x9825
+0x6829    0x983e
+0x682a    0x9844
+0x682b    0x9847
+0x682c    0x984a
+0x682d    0x9851
+0x682e    0x9852
+0x682f    0x9853
+0x6830    0x9856
+0x6831    0x9857
+0x6832    0x9859
+0x6833    0x985a
+0x6834    0x9862
+0x6835    0x9863
+0x6836    0x9865
+0x6837    0x9866
+0x6838    0x986a
+0x6839    0x986c
+0x683a    0x98ab
+0x683b    0x98ad
+0x683c    0x98ae
+0x683d    0x98b0
+0x683e    0x98b4
+0x683f    0x98b7
+0x6840    0x98b8
+0x6841    0x98ba
+0x6842    0x98bb
+0x6843    0x98bf
+0x6844    0x98c2
+0x6845    0x98c5
+0x6846    0x98c8
+0x6847    0x98cc
+0x6848    0x98e1
+0x6849    0x98e3
+0x684a    0x98e5
+0x684b    0x98e6
+0x684c    0x98e7
+0x684d    0x98ea
+0x684e    0x98f3
+0x684f    0x98f6
+0x6850    0x9902
+0x6851    0x9907
+0x6852    0x9908
+0x6853    0x9911
+0x6854    0x9915
+0x6855    0x9916
+0x6856    0x9917
+0x6857    0x991a
+0x6858    0x991b
+0x6859    0x991c
+0x685a    0x991f
+0x685b    0x9922
+0x685c    0x9926
+0x685d    0x9927
+0x685e    0x992b
+0x685f    0x9931
+0x6860    0x9932
+0x6861    0x9933
+0x6862    0x9934
+0x6863    0x9935
+0x6864    0x9939
+0x6865    0x993a
+0x6866    0x993b
+0x6867    0x993c
+0x6868    0x9940
+0x6869    0x9941
+0x686a    0x9946
+0x686b    0x9947
+0x686c    0x9948
+0x686d    0x994d
+0x686e    0x994e
+0x686f    0x9954
+0x6870    0x9958
+0x6871    0x9959
+0x6872    0x995b
+0x6873    0x995c
+0x6874    0x995e
+0x6875    0x995f
+0x6876    0x9960
+0x6877    0x999b
+0x6878    0x999d
+0x6879    0x999f
+0x687a    0x99a6
+0x687b    0x99b0
+0x687c    0x99b1
+0x687d    0x99b2
+0x687e    0x99b5
+0x6921    0x99b9
+0x6922    0x99ba
+0x6923    0x99bd
+0x6924    0x99bf
+0x6925    0x99c3
+0x6926    0x99c9
+0x6927    0x99d3
+0x6928    0x99d4
+0x6929    0x99d9
+0x692a    0x99da
+0x692b    0x99dc
+0x692c    0x99de
+0x692d    0x99e7
+0x692e    0x99ea
+0x692f    0x99eb
+0x6930    0x99ec
+0x6931    0x99f0
+0x6932    0x99f4
+0x6933    0x99f5
+0x6934    0x99f9
+0x6935    0x99fd
+0x6936    0x99fe
+0x6937    0x9a02
+0x6938    0x9a03
+0x6939    0x9a04
+0x693a    0x9a0b
+0x693b    0x9a0c
+0x693c    0x9a10
+0x693d    0x9a11
+0x693e    0x9a16
+0x693f    0x9a1e
+0x6940    0x9a20
+0x6941    0x9a22
+0x6942    0x9a23
+0x6943    0x9a24
+0x6944    0x9a27
+0x6945    0x9a2d
+0x6946    0x9a2e
+0x6947    0x9a33
+0x6948    0x9a35
+0x6949    0x9a36
+0x694a    0x9a38
+0x694b    0x9a47
+0x694c    0x9a41
+0x694d    0x9a44
+0x694e    0x9a4a
+0x694f    0x9a4b
+0x6950    0x9a4c
+0x6951    0x9a4e
+0x6952    0x9a51
+0x6953    0x9a54
+0x6954    0x9a56
+0x6955    0x9a5d
+0x6956    0x9aaa
+0x6957    0x9aac
+0x6958    0x9aae
+0x6959    0x9aaf
+0x695a    0x9ab2
+0x695b    0x9ab4
+0x695c    0x9ab5
+0x695d    0x9ab6
+0x695e    0x9ab9
+0x695f    0x9abb
+0x6960    0x9abe
+0x6961    0x9abf
+0x6962    0x9ac1
+0x6963    0x9ac3
+0x6964    0x9ac6
+0x6965    0x9ac8
+0x6966    0x9ace
+0x6967    0x9ad0
+0x6968    0x9ad2
+0x6969    0x9ad5
+0x696a    0x9ad6
+0x696b    0x9ad7
+0x696c    0x9adb
+0x696d    0x9adc
+0x696e    0x9ae0
+0x696f    0x9ae4
+0x6970    0x9ae5
+0x6971    0x9ae7
+0x6972    0x9ae9
+0x6973    0x9aec
+0x6974    0x9af2
+0x6975    0x9af3
+0x6976    0x9af5
+0x6977    0x9af9
+0x6978    0x9afa
+0x6979    0x9afd
+0x697a    0x9aff
+0x697b    0x9b00
+0x697c    0x9b01
+0x697d    0x9b02
+0x697e    0x9b03
+0x6a21    0x9b04
+0x6a22    0x9b05
+0x6a23    0x9b08
+0x6a24    0x9b09
+0x6a25    0x9b0b
+0x6a26    0x9b0c
+0x6a27    0x9b0d
+0x6a28    0x9b0e
+0x6a29    0x9b10
+0x6a2a    0x9b12
+0x6a2b    0x9b16
+0x6a2c    0x9b19
+0x6a2d    0x9b1b
+0x6a2e    0x9b1c
+0x6a2f    0x9b20
+0x6a30    0x9b26
+0x6a31    0x9b2b
+0x6a32    0x9b2d
+0x6a33    0x9b33
+0x6a34    0x9b34
+0x6a35    0x9b35
+0x6a36    0x9b37
+0x6a37    0x9b39
+0x6a38    0x9b3a
+0x6a39    0x9b3d
+0x6a3a    0x9b48
+0x6a3b    0x9b4b
+0x6a3c    0x9b4c
+0x6a3d    0x9b55
+0x6a3e    0x9b56
+0x6a3f    0x9b57
+0x6a40    0x9b5b
+0x6a41    0x9b5e
+0x6a42    0x9b61
+0x6a43    0x9b63
+0x6a44    0x9b65
+0x6a45    0x9b66
+0x6a46    0x9b68
+0x6a47    0x9b6a
+0x6a48    0x9b6b
+0x6a49    0x9b6c
+0x6a4a    0x9b6d
+0x6a4b    0x9b6e
+0x6a4c    0x9b73
+0x6a4d    0x9b75
+0x6a4e    0x9b77
+0x6a4f    0x9b78
+0x6a50    0x9b79
+0x6a51    0x9b7f
+0x6a52    0x9b80
+0x6a53    0x9b84
+0x6a54    0x9b85
+0x6a55    0x9b86
+0x6a56    0x9b87
+0x6a57    0x9b89
+0x6a58    0x9b8a
+0x6a59    0x9b8b
+0x6a5a    0x9b8d
+0x6a5b    0x9b8f
+0x6a5c    0x9b90
+0x6a5d    0x9b94
+0x6a5e    0x9b9a
+0x6a5f    0x9b9d
+0x6a60    0x9b9e
+0x6a61    0x9ba6
+0x6a62    0x9ba7
+0x6a63    0x9ba9
+0x6a64    0x9bac
+0x6a65    0x9bb0
+0x6a66    0x9bb1
+0x6a67    0x9bb2
+0x6a68    0x9bb7
+0x6a69    0x9bb8
+0x6a6a    0x9bbb
+0x6a6b    0x9bbc
+0x6a6c    0x9bbe
+0x6a6d    0x9bbf
+0x6a6e    0x9bc1
+0x6a6f    0x9bc7
+0x6a70    0x9bc8
+0x6a71    0x9bce
+0x6a72    0x9bd0
+0x6a73    0x9bd7
+0x6a74    0x9bd8
+0x6a75    0x9bdd
+0x6a76    0x9bdf
+0x6a77    0x9be5
+0x6a78    0x9be7
+0x6a79    0x9bea
+0x6a7a    0x9beb
+0x6a7b    0x9bef
+0x6a7c    0x9bf3
+0x6a7d    0x9bf7
+0x6a7e    0x9bf8
+0x6b21    0x9bf9
+0x6b22    0x9bfa
+0x6b23    0x9bfd
+0x6b24    0x9bff
+0x6b25    0x9c00
+0x6b26    0x9c02
+0x6b27    0x9c0b
+0x6b28    0x9c0f
+0x6b29    0x9c11
+0x6b2a    0x9c16
+0x6b2b    0x9c18
+0x6b2c    0x9c19
+0x6b2d    0x9c1a
+0x6b2e    0x9c1c
+0x6b2f    0x9c1e
+0x6b30    0x9c22
+0x6b31    0x9c23
+0x6b32    0x9c26
+0x6b33    0x9c27
+0x6b34    0x9c28
+0x6b35    0x9c29
+0x6b36    0x9c2a
+0x6b37    0x9c31
+0x6b38    0x9c35
+0x6b39    0x9c36
+0x6b3a    0x9c37
+0x6b3b    0x9c3d
+0x6b3c    0x9c41
+0x6b3d    0x9c43
+0x6b3e    0x9c44
+0x6b3f    0x9c45
+0x6b40    0x9c49
+0x6b41    0x9c4a
+0x6b42    0x9c4e
+0x6b43    0x9c4f
+0x6b44    0x9c50
+0x6b45    0x9c53
+0x6b46    0x9c54
+0x6b47    0x9c56
+0x6b48    0x9c58
+0x6b49    0x9c5b
+0x6b4a    0x9c5d
+0x6b4b    0x9c5e
+0x6b4c    0x9c5f
+0x6b4d    0x9c63
+0x6b4e    0x9c69
+0x6b4f    0x9c6a
+0x6b50    0x9c5c
+0x6b51    0x9c6b
+0x6b52    0x9c68
+0x6b53    0x9c6e
+0x6b54    0x9c70
+0x6b55    0x9c72
+0x6b56    0x9c75
+0x6b57    0x9c77
+0x6b58    0x9c7b
+0x6b59    0x9ce6
+0x6b5a    0x9cf2
+0x6b5b    0x9cf7
+0x6b5c    0x9cf9
+0x6b5d    0x9d0b
+0x6b5e    0x9d02
+0x6b5f    0x9d11
+0x6b60    0x9d17
+0x6b61    0x9d18
+0x6b62    0x9d1c
+0x6b63    0x9d1d
+0x6b64    0x9d1e
+0x6b65    0x9d2f
+0x6b66    0x9d30
+0x6b67    0x9d32
+0x6b68    0x9d33
+0x6b69    0x9d34
+0x6b6a    0x9d3a
+0x6b6b    0x9d3c
+0x6b6c    0x9d45
+0x6b6d    0x9d3d
+0x6b6e    0x9d42
+0x6b6f    0x9d43
+0x6b70    0x9d47
+0x6b71    0x9d4a
+0x6b72    0x9d53
+0x6b73    0x9d54
+0x6b74    0x9d5f
+0x6b75    0x9d63
+0x6b76    0x9d62
+0x6b77    0x9d65
+0x6b78    0x9d69
+0x6b79    0x9d6a
+0x6b7a    0x9d6b
+0x6b7b    0x9d70
+0x6b7c    0x9d76
+0x6b7d    0x9d77
+0x6b7e    0x9d7b
+0x6c21    0x9d7c
+0x6c22    0x9d7e
+0x6c23    0x9d83
+0x6c24    0x9d84
+0x6c25    0x9d86
+0x6c26    0x9d8a
+0x6c27    0x9d8d
+0x6c28    0x9d8e
+0x6c29    0x9d92
+0x6c2a    0x9d93
+0x6c2b    0x9d95
+0x6c2c    0x9d96
+0x6c2d    0x9d97
+0x6c2e    0x9d98
+0x6c2f    0x9da1
+0x6c30    0x9daa
+0x6c31    0x9dac
+0x6c32    0x9dae
+0x6c33    0x9db1
+0x6c34    0x9db5
+0x6c35    0x9db9
+0x6c36    0x9dbc
+0x6c37    0x9dbf
+0x6c38    0x9dc3
+0x6c39    0x9dc7
+0x6c3a    0x9dc9
+0x6c3b    0x9dca
+0x6c3c    0x9dd4
+0x6c3d    0x9dd5
+0x6c3e    0x9dd6
+0x6c3f    0x9dd7
+0x6c40    0x9dda
+0x6c41    0x9dde
+0x6c42    0x9ddf
+0x6c43    0x9de0
+0x6c44    0x9de5
+0x6c45    0x9de7
+0x6c46    0x9de9
+0x6c47    0x9deb
+0x6c48    0x9dee
+0x6c49    0x9df0
+0x6c4a    0x9df3
+0x6c4b    0x9df4
+0x6c4c    0x9dfe
+0x6c4d    0x9e0a
+0x6c4e    0x9e02
+0x6c4f    0x9e07
+0x6c50    0x9e0e
+0x6c51    0x9e10
+0x6c52    0x9e11
+0x6c53    0x9e12
+0x6c54    0x9e15
+0x6c55    0x9e16
+0x6c56    0x9e19
+0x6c57    0x9e1c
+0x6c58    0x9e1d
+0x6c59    0x9e7a
+0x6c5a    0x9e7b
+0x6c5b    0x9e7c
+0x6c5c    0x9e80
+0x6c5d    0x9e82
+0x6c5e    0x9e83
+0x6c5f    0x9e84
+0x6c60    0x9e85
+0x6c61    0x9e87
+0x6c62    0x9e8e
+0x6c63    0x9e8f
+0x6c64    0x9e96
+0x6c65    0x9e98
+0x6c66    0x9e9b
+0x6c67    0x9e9e
+0x6c68    0x9ea4
+0x6c69    0x9ea8
+0x6c6a    0x9eac
+0x6c6b    0x9eae
+0x6c6c    0x9eaf
+0x6c6d    0x9eb0
+0x6c6e    0x9eb3
+0x6c6f    0x9eb4
+0x6c70    0x9eb5
+0x6c71    0x9ec6
+0x6c72    0x9ec8
+0x6c73    0x9ecb
+0x6c74    0x9ed5
+0x6c75    0x9edf
+0x6c76    0x9ee4
+0x6c77    0x9ee7
+0x6c78    0x9eec
+0x6c79    0x9eed
+0x6c7a    0x9eee
+0x6c7b    0x9ef0
+0x6c7c    0x9ef1
+0x6c7d    0x9ef2
+0x6c7e    0x9ef5
+0x6d21    0x9ef8
+0x6d22    0x9eff
+0x6d23    0x9f02
+0x6d24    0x9f03
+0x6d25    0x9f09
+0x6d26    0x9f0f
+0x6d27    0x9f10
+0x6d28    0x9f11
+0x6d29    0x9f12
+0x6d2a    0x9f14
+0x6d2b    0x9f16
+0x6d2c    0x9f17
+0x6d2d    0x9f19
+0x6d2e    0x9f1a
+0x6d2f    0x9f1b
+0x6d30    0x9f1f
+0x6d31    0x9f22
+0x6d32    0x9f26
+0x6d33    0x9f2a
+0x6d34    0x9f2b
+0x6d35    0x9f2f
+0x6d36    0x9f31
+0x6d37    0x9f32
+0x6d38    0x9f34
+0x6d39    0x9f37
+0x6d3a    0x9f39
+0x6d3b    0x9f3a
+0x6d3c    0x9f3c
+0x6d3d    0x9f3d
+0x6d3e    0x9f3f
+0x6d3f    0x9f41
+0x6d40    0x9f43
+0x6d41    0x9f44
+0x6d42    0x9f45
+0x6d43    0x9f46
+0x6d44    0x9f47
+0x6d45    0x9f53
+0x6d46    0x9f55
+0x6d47    0x9f56
+0x6d48    0x9f57
+0x6d49    0x9f58
+0x6d4a    0x9f5a
+0x6d4b    0x9f5d
+0x6d4c    0x9f5e
+0x6d4d    0x9f68
+0x6d4e    0x9f69
+0x6d4f    0x9f6d
+0x6d50    0x9f6e
+0x6d51    0x9f6f
+0x6d52    0x9f70
+0x6d53    0x9f71
+0x6d54    0x9f73
+0x6d55    0x9f75
+0x6d56    0x9f7a
+0x6d57    0x9f7d
+0x6d58    0x9f8f
+0x6d59    0x9f90
+0x6d5a    0x9f91
+0x6d5b    0x9f92
+0x6d5c    0x9f94
+0x6d5d    0x9f96
+0x6d5e    0x9f97
+0x6d5f    0x9f9e
+0x6d60    0x9fa1
+0x6d61    0x9fa2
+0x6d62    0x9fa3
+0x6d63    0x9fa5
+0x7373    0x2170
+0x7374    0x2171
+0x7375    0x2172
+0x7376    0x2173
+0x7377    0x2174
+0x7378    0x2175
+0x7379    0x2176
+0x737a    0x2177
+0x737b    0x2178
+0x737c    0x2179
+0x737d    0x2160
+0x737e    0x2161
+0x7421    0x2162
+0x7422    0x2163
+0x7423    0x2164
+0x7424    0x2165
+0x7425    0x2166
+0x7426    0x2167
+0x7427    0x2168
+0x7428    0x2169
+0x7429    0xff07
+0x742a    0xff02
+0x742b    0x3231
+#0x742c    0x2116
+0x742d    0x2121
+0x742e    0x70bb
+0x742f    0x4efc
+0x7430    0x50f4
+0x7431    0x51ec
+0x7432    0x5307
+0x7433    0x5324
+0x7434    0xfa0e
+0x7435    0x548a
+0x7436    0x5759
+0x7437    0xfa0f
+0x7438    0xfa10
+0x7439    0x589e
+0x743a    0x5bec
+0x743b    0x5cf5
+0x743c    0x5d53
+0x743d    0xfa11
+0x743e    0x5fb7
+0x743f    0x6085
+0x7440    0x6120
+0x7441    0x654e
+0x7442    0x663b
+0x7443    0x6665
+0x7444    0xfa12
+0x7445    0xf929
+0x7446    0x6801
+0x7447    0xfa13
+0x7448    0xfa14
+0x7449    0x6a6b
+0x744a    0x6ae2
+0x744b    0x6df8
+0x744c    0x6df2
+0x744d    0x7028
+0x744e    0xfa15
+0x744f    0xfa16
+0x7450    0x7501
+0x7451    0x7682
+0x7452    0x769e
+0x7453    0xfa17
+0x7454    0x7930
+0x7455    0xfa18
+0x7456    0xfa19
+0x7457    0xfa1a
+0x7458    0xfa1b
+0x7459    0x7ae7
+0x745a    0xfa1c
+0x745b    0xfa1d
+0x745c    0x7da0
+0x745d    0x7dd6
+0x745e    0xfa1e
+0x745f    0x8362
+0x7460    0xfa1f
+0x7461    0x85b0
+0x7462    0xfa20
+0x7463    0xfa21
+0x7464    0x8807
+0x7465    0xfa22
+0x7466    0x8b7f
+0x7467    0x8cf4
+0x7468    0x8d76
+0x7469    0xfa23
+0x746a    0xfa24
+0x746b    0xfa25
+0x746c    0x90de
+0x746d    0xfa26
+0x746e    0x9115
+0x746f    0xfa27
+0x7470    0xfa28
+0x7471    0x9592
+0x7472    0xf9dc
+0x7473    0xfa29
+0x7474    0x973b
+0x7475    0x974d
+0x7476    0x9751
+0x7477    0xfa2a
+0x7478    0xfa2b
+0x7479    0xfa2c
+0x747a    0x999e
+0x747b    0x9ad9
+0x747c    0x9b72
+0x747d    0xfa2d
+0x747e    0x9ed1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/tools/CharsetMapping/JIS_X_0212_Solaris.nr	Wed Aug 01 11:08:11 2012 -0400
@@ -0,0 +1,1 @@
+0x742c    0x2116
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/tools/CharsetMapping/PCK.c2b	Wed Aug 01 11:08:11 2012 -0400
@@ -0,0 +1,3 @@
+0x005c    0x00a5
+0x007e    0x203e
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/tools/CharsetMapping/PCK.map	Wed Aug 01 11:08:11 2012 -0400
@@ -0,0 +1,7924 @@
+#
+#  Generated from old SJIS implementation, which calcuats the
+#  sjis<->sjis (use Ken Lunde's algorithm) and then looks up
+#  the jis0208 mappings. The sjis->jis algorithm used in old
+#  SJIS assumes all input sjis are legal codepoints, so it
+#  also takes illegal sjis cp xx7f (treats it as xx80), such
+#  as 8a7f, and  convert it to a dup jis/unicode cp. Those
+#  mappings are removed  from this mapping. 
+#
+0x0000    0x0000
+0x0001    0x0001
+0x0002    0x0002
+0x0003    0x0003
+0x0004    0x0004
+0x0005    0x0005
+0x0006    0x0006
+0x0007    0x0007
+0x0008    0x0008
+0x0009    0x0009
+0x000a    0x000a
+0x000b    0x000b
+0x000c    0x000c
+0x000d    0x000d
+0x000e    0x000e
+0x000f    0x000f
+0x0010    0x0010
+0x0011    0x0011
+0x0012    0x0012
+0x0013    0x0013
+0x0014    0x0014
+0x0015    0x0015
+0x0016    0x0016
+0x0017    0x0017
+0x0018    0x0018
+0x0019    0x0019
+0x001a    0x001a
+0x001b    0x001b
+0x001c    0x001c
+0x001d    0x001d
+0x001e    0x001e
+0x001f    0x001f
+0x0020    0x0020
+0x0021    0x0021
+0x0022    0x0022
+0x0023    0x0023
+0x0024    0x0024
+0x0025    0x0025
+0x0026    0x0026
+0x0027    0x0027
+0x0028    0x0028
+0x0029    0x0029
+0x002a    0x002a
+0x002b    0x002b
+0x002c    0x002c
+0x002d    0x002d
+0x002e    0x002e
+0x002f    0x002f
+0x0030    0x0030
+0x0031    0x0031
+0x0032    0x0032
+0x0033    0x0033
+0x0034    0x0034
+0x0035    0x0035
+0x0036    0x0036
+0x0037    0x0037
+0x0038    0x0038
+0x0039    0x0039
+0x003a    0x003a
+0x003b    0x003b
+0x003c    0x003c
+0x003d    0x003d
+0x003e    0x003e
+0x003f    0x003f
+0x0040    0x0040
+0x0041    0x0041
+0x0042    0x0042
+0x0043    0x0043
+0x0044    0x0044
+0x0045    0x0045
+0x0046    0x0046
+0x0047    0x0047
+0x0048    0x0048
+0x0049    0x0049
+0x004a    0x004a
+0x004b    0x004b
+0x004c    0x004c
+0x004d    0x004d
+0x004e    0x004e
+0x004f    0x004f
+0x0050    0x0050
+0x0051    0x0051
+0x0052    0x0052
+0x0053    0x0053
+0x0054    0x0054
+0x0055    0x0055
+0x0056    0x0056
+0x0057    0x0057
+0x0058    0x0058
+0x0059    0x0059
+0x005a    0x005a
+0x005b    0x005b
+0x005c    0x005c
+0x005d    0x005d
+0x005e    0x005e
+0x005f    0x005f
+0x0060    0x0060
+0x0061    0x0061
+0x0062    0x0062
+0x0063    0x0063
+0x0064    0x0064
+0x0065    0x0065
+0x0066    0x0066
+0x0067    0x0067
+0x0068    0x0068
+0x0069    0x0069
+0x006a    0x006a
+0x006b    0x006b
+0x006c    0x006c
+0x006d    0x006d
+0x006e    0x006e
+0x006f    0x006f
+0x0070    0x0070
+0x0071    0x0071
+0x0072    0x0072
+0x0073    0x0073
+0x0074    0x0074
+0x0075    0x0075
+0x0076    0x0076
+0x0077    0x0077
+0x0078    0x0078
+0x0079    0x0079
+0x007a    0x007a
+0x007b    0x007b
+0x007c    0x007c
+0x007d    0x007d
+0x007e    0x007e
+0x007f    0x007f
+0x00a1    0xff61
+0x00a2    0xff62
+0x00a3    0xff63
+0x00a4    0xff64
+0x00a5    0xff65
+0x00a6    0xff66
+0x00a7    0xff67
+0x00a8    0xff68
+0x00a9    0xff69
+0x00aa    0xff6a
+0x00ab    0xff6b
+0x00ac    0xff6c
+0x00ad    0xff6d
+0x00ae    0xff6e
+0x00af    0xff6f
+0x00b0    0xff70
+0x00b1    0xff71
+0x00b2    0xff72
+0x00b3    0xff73
+0x00b4    0xff74
+0x00b5    0xff75
+0x00b6    0xff76
+0x00b7    0xff77
+0x00b8    0xff78
+0x00b9    0xff79
+0x00ba    0xff7a
+0x00bb    0xff7b
+0x00bc    0xff7c
+0x00bd    0xff7d
+0x00be    0xff7e
+0x00bf    0xff7f
+0x00c0    0xff80
+0x00c1    0xff81
+0x00c2    0xff82
+0x00c3    0xff83
+0x00c4    0xff84
+0x00c5    0xff85
+0x00c6    0xff86
+0x00c7    0xff87
+0x00c8    0xff88
+0x00c9    0xff89
+0x00ca    0xff8a
+0x00cb    0xff8b
+0x00cc    0xff8c
+0x00cd    0xff8d
+0x00ce    0xff8e
+0x00cf    0xff8f
+0x00d0    0xff90
+0x00d1    0xff91
+0x00d2    0xff92
+0x00d3    0xff93
+0x00d4    0xff94
+0x00d5    0xff95
+0x00d6    0xff96
+0x00d7    0xff97
+0x00d8    0xff98
+0x00d9    0xff99
+0x00da    0xff9a
+0x00db    0xff9b
+0x00dc    0xff9c
+0x00dd    0xff9d
+0x00de    0xff9e
+0x00df    0xff9f
+0x8140    0x3000
+0x8141    0x3001
+0x8142    0x3002
+0x8143    0xff0c
+0x8144    0xff0e
+0x8145    0x30fb
+0x8146    0xff1a
+0x8147    0xff1b
+0x8148    0xff1f
+0x8149    0xff01
+0x814a    0x309b
+0x814b    0x309c
+0x814c    0x00b4
+0x814d    0xff40
+0x814e    0x00a8
+0x814f    0xff3e
+0x8150    0xffe3
+0x8151    0xff3f
+0x8152    0x30fd
+0x8153    0x30fe
+0x8154    0x309d
+0x8155    0x309e
+0x8156    0x3003
+0x8157    0x4edd
+0x8158    0x3005
+0x8159    0x3006
+0x815a    0x3007
+0x815b    0x30fc
+0x815c    0x2015
+0x815d    0x2010
+0x815e    0xff0f
+0x815f    0xff3c
+0x8160    0x301c
+0x8161    0x2016
+0x8162    0xff5c
+0x8163    0x2026
+0x8164    0x2025
+0x8165    0x2018
+0x8166    0x2019
+0x8167    0x201c
+0x8168    0x201d
+0x8169    0xff08
+0x816a    0xff09
+0x816b    0x3014
+0x816c    0x3015
+0x816d    0xff3b
+0x816e    0xff3d
+0x816f    0xff5b
+0x8170    0xff5d
+0x8171    0x3008
+0x8172    0x3009
+0x8173    0x300a
+0x8174    0x300b
+0x8175    0x300c
+0x8176    0x300d
+0x8177    0x300e
+0x8178    0x300f
+0x8179    0x3010
+0x817a    0x3011
+0x817b    0xff0b
+0x817c    0x2212
+0x817d    0x00b1
+0x817e    0x00d7
+0x8180    0x00f7
+0x8181    0xff1d
+0x8182    0x2260
+0x8183    0xff1c
+0x8184    0xff1e
+0x8185    0x2266
+0x8186    0x2267
+0x8187    0x221e
+0x8188    0x2234
+0x8189    0x2642
+0x818a    0x2640
+0x818b    0x00b0
+0x818c    0x2032
+0x818d    0x2033
+0x818e    0x2103
+0x818f    0xffe5
+0x8190    0xff04
+0x8191    0x00a2
+0x8192    0x00a3
+0x8193    0xff05
+0x8194    0xff03
+0x8195    0xff06
+0x8196    0xff0a
+0x8197    0xff20
+0x8198    0x00a7
+0x8199    0x2606
+0x819a    0x2605
+0x819b    0x25cb
+0x819c    0x25cf
+0x819d    0x25ce
+0x819e    0x25c7
+0x819f    0x25c6
+0x81a0    0x25a1
+0x81a1    0x25a0
+0x81a2    0x25b3
+0x81a3    0x25b2
+0x81a4    0x25bd
+0x81a5    0x25bc
+0x81a6    0x203b
+0x81a7    0x3012
+0x81a8    0x2192
+0x81a9    0x2190
+0x81aa    0x2191
+0x81ab    0x2193
+0x81ac    0x3013
+0x81b8    0x2208
+0x81b9    0x220b
+0x81ba    0x2286
+0x81bb    0x2287
+0x81bc    0x2282
+0x81bd    0x2283
+0x81be    0x222a
+0x81bf    0x2229
+0x81c8    0x2227
+0x81c9    0x2228
+0x81ca    0x00ac
+0x81cb    0x21d2
+0x81cc    0x21d4
+0x81cd    0x2200
+0x81ce    0x2203
+0x81da    0x2220
+0x81db    0x22a5
+0x81dc    0x2312
+0x81dd    0x2202
+0x81de    0x2207
+0x81df    0x2261
+0x81e0    0x2252
+0x81e1    0x226a
+0x81e2    0x226b
+0x81e3    0x221a
+0x81e4    0x223d
+0x81e5    0x221d
+0x81e6    0x2235
+0x81e7    0x222b
+0x81e8    0x222c
+0x81f0    0x212b
+0x81f1    0x2030
+0x81f2    0x266f
+0x81f3    0x266d
+0x81f4    0x266a
+0x81f5    0x2020
+0x81f6    0x2021
+0x81f7    0x00b6
+0x81fc    0x25ef
+0x824f    0xff10
+0x8250    0xff11
+0x8251    0xff12
+0x8252    0xff13
+0x8253    0xff14
+0x8254    0xff15
+0x8255    0xff16
+0x8256    0xff17
+0x8257    0xff18
+0x8258    0xff19
+0x8260    0xff21
+0x8261    0xff22
+0x8262    0xff23
+0x8263    0xff24
+0x8264    0xff25
+0x8265    0xff26
+0x8266    0xff27
+0x8267    0xff28
+0x8268    0xff29
+0x8269    0xff2a
+0x826a    0xff2b
+0x826b    0xff2c
+0x826c    0xff2d
+0x826d    0xff2e
+0x826e    0xff2f
+0x826f    0xff30
+0x8270    0xff31
+0x8271    0xff32
+0x8272    0xff33
+0x8273    0xff34
+0x8274    0xff35
+0x8275    0xff36
+0x8276    0xff37
+0x8277    0xff38
+0x8278    0xff39
+0x8279    0xff3a
+0x8281    0xff41
+0x8282    0xff42
+0x8283    0xff43
+0x8284    0xff44
+0x8285    0xff45
+0x8286    0xff46
+0x8287    0xff47
+0x8288    0xff48
+0x8289    0xff49
+0x828a    0xff4a
+0x828b    0xff4b
+0x828c    0xff4c
+0x828d    0xff4d
+0x828e    0xff4e
+0x828f    0xff4f
+0x8290    0xff50
+0x8291    0xff51
+0x8292    0xff52
+0x8293    0xff53
+0x8294    0xff54
+0x8295    0xff55
+0x8296    0xff56
+0x8297    0xff57
+0x8298    0xff58
+0x8299    0xff59
+0x829a    0xff5a
+0x829f    0x3041
+0x82a0    0x3042
+0x82a1    0x3043
+0x82a2    0x3044
+0x82a3    0x3045
+0x82a4    0x3046
+0x82a5    0x3047
+0x82a6    0x3048
+0x82a7    0x3049
+0x82a8    0x304a
+0x82a9    0x304b
+0x82aa    0x304c
+0x82ab    0x304d
+0x82ac    0x304e
+0x82ad    0x304f
+0x82ae    0x3050
+0x82af    0x3051
+0x82b0    0x3052
+0x82b1    0x3053
+0x82b2    0x3054
+0x82b3    0x3055
+0x82b4    0x3056
+0x82b5    0x3057
+0x82b6    0x3058
+0x82b7    0x3059
+0x82b8    0x305a
+0x82b9    0x305b
+0x82ba    0x305c
+0x82bb    0x305d
+0x82bc    0x305e
+0x82bd    0x305f
+0x82be    0x3060
+0x82bf    0x3061
+0x82c0    0x3062
+0x82c1    0x3063
+0x82c2    0x3064
+0x82c3    0x3065
+0x82c4    0x3066
+0x82c5    0x3067
+0x82c6    0x3068
+0x82c7    0x3069
+0x82c8    0x306a
+0x82c9    0x306b
+0x82ca    0x306c
+0x82cb    0x306d
+0x82cc    0x306e
+0x82cd    0x306f
+0x82ce    0x3070
+0x82cf    0x3071
+0x82d0    0x3072
+0x82d1    0x3073
+0x82d2    0x3074
+0x82d3    0x3075
+0x82d4    0x3076
+0x82d5    0x3077
+0x82d6    0x3078
+0x82d7    0x3079
+0x82d8    0x307a
+0x82d9    0x307b
+0x82da    0x307c
+0x82db    0x307d
+0x82dc    0x307e
+0x82dd    0x307f
+0x82de    0x3080
+0x82df    0x3081
+0x82e0    0x3082
+0x82e1    0x3083
+0x82e2    0x3084
+0x82e3    0x3085
+0x82e4    0x3086
+0x82e5    0x3087
+0x82e6    0x3088
+0x82e7    0x3089
+0x82e8    0x308a
+0x82e9    0x308b
+0x82ea    0x308c
+0x82eb    0x308d
+0x82ec    0x308e
+0x82ed    0x308f
+0x82ee    0x3090
+0x82ef    0x3091
+0x82f0    0x3092
+0x82f1    0x3093
+0x8340    0x30a1
+0x8341    0x30a2
+0x8342    0x30a3
+0x8343    0x30a4
+0x8344    0x30a5
+0x8345    0x30a6
+0x8346    0x30a7
+0x8347    0x30a8
+0x8348    0x30a9
+0x8349    0x30aa
+0x834a    0x30ab
+0x834b    0x30ac
+0x834c    0x30ad
+0x834d    0x30ae
+0x834e    0x30af
+0x834f    0x30b0
+0x8350    0x30b1
+0x8351    0x30b2
+0x8352    0x30b3
+0x8353    0x30b4
+0x8354    0x30b5
+0x8355    0x30b6
+0x8356    0x30b7
+0x8357    0x30b8
+0x8358    0x30b9
+0x8359    0x30ba
+0x835a    0x30bb
+0x835b    0x30bc
+0x835c    0x30bd
+0x835d    0x30be
+0x835e    0x30bf
+0x835f    0x30c0
+0x8360    0x30c1
+0x8361    0x30c2
+0x8362    0x30c3
+0x8363    0x30c4
+0x8364    0x30c5
+0x8365    0x30c6
+0x8366    0x30c7
+0x8367    0x30c8
+0x8368    0x30c9
+0x8369    0x30ca
+0x836a    0x30cb
+0x836b    0x30cc
+0x836c    0x30cd
+0x836d    0x30ce
+0x836e    0x30cf
+0x836f    0x30d0
+0x8370    0x30d1
+0x8371    0x30d2
+0x8372    0x30d3
+0x8373    0x30d4
+0x8374    0x30d5
+0x8375    0x30d6
+0x8376    0x30d7
+0x8377    0x30d8
+0x8378    0x30d9
+0x8379    0x30da
+0x837a    0x30db
+0x837b    0x30dc
+0x837c    0x30dd
+0x837d    0x30de
+0x837e    0x30df
+0x8380    0x30e0
+0x8381    0x30e1
+0x8382    0x30e2
+0x8383    0x30e3
+0x8384    0x30e4
+0x8385    0x30e5
+0x8386    0x30e6
+0x8387    0x30e7
+0x8388    0x30e8
+0x8389    0x30e9
+0x838a    0x30ea
+0x838b    0x30eb
+0x838c    0x30ec
+0x838d    0x30ed
+0x838e    0x30ee
+0x838f    0x30ef
+0x8390    0x30f0
+0x8391    0x30f1
+0x8392    0x30f2
+0x8393    0x30f3
+0x8394    0x30f4
+0x8395    0x30f5
+0x8396    0x30f6
+0x839f    0x0391
+0x83a0    0x0392
+0x83a1    0x0393
+0x83a2    0x0394
+0x83a3    0x0395
+0x83a4    0x0396
+0x83a5    0x0397
+0x83a6    0x0398
+0x83a7    0x0399
+0x83a8    0x039a
+0x83a9    0x039b
+0x83aa    0x039c
+0x83ab    0x039d
+0x83ac    0x039e
+0x83ad    0x039f
+0x83ae    0x03a0
+0x83af    0x03a1
+0x83b0    0x03a3
+0x83b1    0x03a4
+0x83b2    0x03a5
+0x83b3    0x03a6
+0x83b4    0x03a7
+0x83b5    0x03a8
+0x83b6    0x03a9
+0x83bf    0x03b1
+0x83c0    0x03b2
+0x83c1    0x03b3
+0x83c2    0x03b4
+0x83c3    0x03b5
+0x83c4    0x03b6
+0x83c5    0x03b7
+0x83c6    0x03b8
+0x83c7    0x03b9
+0x83c8    0x03ba
+0x83c9    0x03bb
+0x83ca    0x03bc
+0x83cb    0x03bd
+0x83cc    0x03be
+0x83cd    0x03bf
+0x83ce    0x03c0
+0x83cf    0x03c1
+0x83d0    0x03c3
+0x83d1    0x03c4
+0x83d2    0x03c5
+0x83d3    0x03c6
+0x83d4    0x03c7
+0x83d5    0x03c8
+0x83d6    0x03c9
+0x8440    0x0410
+0x8441    0x0411
+0x8442    0x0412
+0x8443    0x0413
+0x8444    0x0414
+0x8445    0x0415
+0x8446    0x0401
+0x8447    0x0416
+0x8448    0x0417
+0x8449    0x0418
+0x844a    0x0419
+0x844b    0x041a
+0x844c    0x041b
+0x844d    0x041c
+0x844e    0x041d
+0x844f    0x041e
+0x8450    0x041f
+0x8451    0x0420
+0x8452    0x0421
+0x8453    0x0422
+0x8454    0x0423
+0x8455    0x0424
+0x8456    0x0425
+0x8457    0x0426
+0x8458    0x0427
+0x8459    0x0428
+0x845a    0x0429
+0x845b    0x042a
+0x845c    0x042b
+0x845d    0x042c
+0x845e    0x042d
+0x845f    0x042e
+0x8460    0x042f
+0x8470    0x0430
+0x8471    0x0431
+0x8472    0x0432
+0x8473    0x0433
+0x8474    0x0434
+0x8475    0x0435
+0x8476    0x0451
+0x8477    0x0436
+0x8478    0x0437
+0x8479    0x0438
+0x847a    0x0439
+0x847b    0x043a
+0x847c    0x043b
+0x847d    0x043c
+0x847e    0x043d
+0x8480    0x043e
+0x8481    0x043f
+0x8482    0x0440
+0x8483    0x0441
+0x8484    0x0442
+0x8485    0x0443
+0x8486    0x0444
+0x8487    0x0445
+0x8488    0x0446
+0x8489    0x0447
+0x848a    0x0448
+0x848b    0x0449
+0x848c    0x044a
+0x848d    0x044b
+0x848e    0x044c
+0x848f    0x044d
+0x8490    0x044e
+0x8491    0x044f
+0x849f    0x2500
+0x84a0    0x2502
+0x84a1    0x250c
+0x84a2    0x2510
+0x84a3    0x2518
+0x84a4    0x2514
+0x84a5    0x251c
+0x84a6    0x252c
+0x84a7    0x2524
+0x84a8    0x2534
+0x84a9    0x253c
+0x84aa    0x2501
+0x84ab    0x2503
+0x84ac    0x250f
+0x84ad    0x2513
+0x84ae    0x251b
+0x84af    0x2517
+0x84b0    0x2523
+0x84b1    0x2533
+0x84b2    0x252b
+0x84b3    0x253b
+0x84b4    0x254b
+0x84b5    0x2520
+0x84b6    0x252f
+0x84b7    0x2528
+0x84b8    0x2537
+0x84b9    0x253f
+0x84ba    0x251d
+0x84bb    0x2530
+0x84bc    0x2525
+0x84bd    0x2538
+0x84be    0x2542
+0x8740    0x2460
+0x8741    0x2461
+0x8742    0x2462
+0x8743    0x2463
+0x8744    0x2464
+0x8745    0x2465
+0x8746    0x2466
+0x8747    0x2467
+0x8748    0x2468
+0x8749    0x2469
+0x874a    0x246a
+0x874b    0x246b
+0x874c    0x246c
+0x874d    0x246d
+0x874e    0x246e
+0x874f    0x246f
+0x8750    0x2470
+0x8751    0x2471
+0x8752    0x2472
+0x8753    0x2473
+0x8754    0x2160
+0x8755    0x2161
+0x8756    0x2162
+0x8757    0x2163
+0x8758    0x2164
+0x8759    0x2165
+0x875a    0x2166
+0x875b    0x2167
+0x875c    0x2168
+0x875d    0x2169
+0x875f    0x3349
+0x8760    0x3314
+0x8761    0x3322
+0x8762    0x334d
+0x8763    0x3318
+0x8764    0x3327
+0x8765    0x3303
+0x8766    0x3336
+0x8767    0x3351
+0x8768    0x3357
+0x8769    0x330d
+0x876a    0x3326
+0x876b    0x3323
+0x876c    0x332b
+0x876d    0x334a
+0x876e    0x333b
+0x876f    0x339c
+0x8770    0x339d
+0x8771    0x339e
+0x8772    0x338e
+0x8773    0x338f
+0x8774    0x33c4
+0x8775    0x33a1
+0x877e    0x337b
+0x8780    0x301d
+0x8781    0x301f
+0x8782    0x2116
+0x8783    0x33cd
+0x8784    0x2121
+0x8785    0x32a4
+0x8786    0x32a5
+0x8787    0x32a6
+0x8788    0x32a7
+0x8789    0x32a8
+0x878a    0x3231
+0x878b    0x3232
+0x878c    0x3239
+0x878d    0x337e
+0x878e    0x337d
+0x878f    0x337c
+0x8790    0x2252
+0x8791    0x2261
+0x8792    0x222b
+0x8793    0x222e
+0x8794    0x2211
+0x8795    0x221a
+0x8796    0x22a5
+0x8797    0x2220
+0x8798    0x221f
+0x8799    0x22bf
+0x879a    0x2235
+0x879b    0x2229
+0x879c    0x222a
+0x889f    0x4e9c
+0x88a0    0x5516
+0x88a1    0x5a03
+0x88a2    0x963f
+0x88a3    0x54c0
+0x88a4    0x611b
+0x88a5    0x6328
+0x88a6    0x59f6
+0x88a7    0x9022
+0x88a8    0x8475
+0x88a9    0x831c
+0x88aa    0x7a50
+0x88ab    0x60aa
+0x88ac    0x63e1
+0x88ad    0x6e25
+0x88ae    0x65ed
+0x88af    0x8466
+0x88b0    0x82a6
+0x88b1    0x9bf5
+0x88b2    0x6893
+0x88b3    0x5727
+0x88b4    0x65a1
+0x88b5    0x6271
+0x88b6    0x5b9b
+0x88b7    0x59d0
+0x88b8    0x867b
+0x88b9    0x98f4
+0x88ba    0x7d62
+0x88bb    0x7dbe
+0x88bc    0x9b8e
+0x88bd    0x6216
+0x88be    0x7c9f
+0x88bf    0x88b7
+0x88c0    0x5b89
+0x88c1    0x5eb5
+0x88c2    0x6309
+0x88c3    0x6697
+0x88c4    0x6848
+0x88c5    0x95c7
+0x88c6    0x978d
+0x88c7    0x674f
+0x88c8    0x4ee5
+0x88c9    0x4f0a
+0x88ca    0x4f4d
+0x88cb    0x4f9d
+0x88cc    0x5049
+0x88cd    0x56f2
+0x88ce    0x5937
+0x88cf    0x59d4
+0x88d0    0x5a01
+0x88d1    0x5c09
+0x88d2    0x60df
+0x88d3    0x610f
+0x88d4    0x6170
+0x88d5    0x6613
+0x88d6    0x6905
+0x88d7    0x70ba
+0x88d8    0x754f
+0x88d9    0x7570
+0x88da    0x79fb
+0x88db    0x7dad
+0x88dc    0x7def
+0x88dd    0x80c3
+0x88de    0x840e
+0x88df    0x8863
+0x88e0    0x8b02
+0x88e1    0x9055
+0x88e2    0x907a
+0x88e3    0x533b
+0x88e4    0x4e95
+0x88e5    0x4ea5
+0x88e6    0x57df
+0x88e7    0x80b2
+0x88e8    0x90c1
+0x88e9    0x78ef
+0x88ea    0x4e00
+0x88eb    0x58f1
+0x88ec    0x6ea2
+0x88ed    0x9038
+0x88ee    0x7a32
+0x88ef    0x8328
+0x88f0    0x828b
+0x88f1    0x9c2f
+0x88f2    0x5141
+0x88f3    0x5370
+0x88f4    0x54bd
+0x88f5    0x54e1
+0x88f6    0x56e0
+0x88f7    0x59fb
+0x88f8    0x5f15
+0x88f9    0x98f2
+0x88fa    0x6deb
+0x88fb    0x80e4
+0x88fc    0x852d
+0x8940    0x9662
+0x8941    0x9670
+0x8942    0x96a0
+0x8943    0x97fb
+0x8944    0x540b
+0x8945    0x53f3
+0x8946    0x5b87
+0x8947    0x70cf
+0x8948    0x7fbd
+0x8949    0x8fc2
+0x894a    0x96e8
+0x894b    0x536f
+0x894c    0x9d5c
+0x894d    0x7aba
+0x894e    0x4e11
+0x894f    0x7893
+0x8950    0x81fc
+0x8951    0x6e26
+0x8952    0x5618
+0x8953    0x5504
+0x8954    0x6b1d
+0x8955    0x851a
+0x8956    0x9c3b
+0x8957    0x59e5
+0x8958    0x53a9
+0x8959    0x6d66
+0x895a    0x74dc
+0x895b    0x958f
+0x895c    0x5642
+0x895d    0x4e91
+0x895e    0x904b
+0x895f    0x96f2
+0x8960    0x834f
+0x8961    0x990c
+0x8962    0x53e1
+0x8963    0x55b6
+0x8964    0x5b30
+0x8965    0x5f71
+0x8966    0x6620
+0x8967    0x66f3
+0x8968    0x6804
+0x8969    0x6c38
+0x896a    0x6cf3
+0x896b    0x6d29
+0x896c    0x745b
+0x896d    0x76c8
+0x896e    0x7a4e
+0x896f    0x9834
+0x8970    0x82f1
+0x8971    0x885b
+0x8972    0x8a60
+0x8973    0x92ed
+0x8974    0x6db2
+0x8975    0x75ab
+0x8976    0x76ca
+0x8977    0x99c5
+0x8978    0x60a6
+0x8979    0x8b01
+0x897a    0x8d8a
+0x897b    0x95b2
+0x897c    0x698e
+0x897d    0x53ad
+0x897e    0x5186
+0x8980    0x5712
+0x8981    0x5830
+0x8982    0x5944
+0x8983    0x5bb4
+0x8984    0x5ef6
+0x8985    0x6028
+0x8986    0x63a9
+0x8987    0x63f4
+0x8988    0x6cbf
+0x8989    0x6f14
+0x898a    0x708e
+0x898b    0x7114
+0x898c    0x7159
+0x898d    0x71d5
+0x898e    0x733f
+0x898f    0x7e01
+0x8990    0x8276
+0x8991    0x82d1
+0x8992    0x8597
+0x8993    0x9060
+0x8994    0x925b
+0x8995    0x9d1b
+0x8996    0x5869
+0x8997    0x65bc
+0x8998    0x6c5a
+0x8999    0x7525
+0x899a    0x51f9
+0x899b    0x592e
+0x899c    0x5965
+0x899d    0x5f80
+0x899e    0x5fdc
+0x899f    0x62bc
+0x89a0    0x65fa
+0x89a1    0x6a2a
+0x89a2    0x6b27
+0x89a3    0x6bb4
+0x89a4    0x738b
+0x89a5    0x7fc1
+0x89a6    0x8956
+0x89a7    0x9d2c
+0x89a8    0x9d0e
+0x89a9    0x9ec4
+0x89aa    0x5ca1
+0x89ab    0x6c96
+0x89ac    0x837b
+0x89ad    0x5104
+0x89ae    0x5c4b
+0x89af    0x61b6
+0x89b0    0x81c6
+0x89b1    0x6876
+0x89b2    0x7261
+0x89b3    0x4e59
+0x89b4    0x4ffa
+0x89b5    0x5378
+0x89b6    0x6069
+0x89b7    0x6e29
+0x89b8    0x7a4f
+0x89b9    0x97f3
+0x89ba    0x4e0b
+0x89bb    0x5316
+0x89bc    0x4eee
+0x89bd    0x4f55
+0x89be    0x4f3d
+0x89bf    0x4fa1
+0x89c0    0x4f73
+0x89c1    0x52a0
+0x89c2    0x53ef
+0x89c3    0x5609
+0x89c4    0x590f
+0x89c5    0x5ac1
+0x89c6    0x5bb6
+0x89c7    0x5be1
+0x89c8    0x79d1
+0x89c9    0x6687
+0x89ca    0x679c
+0x89cb    0x67b6
+0x89cc    0x6b4c
+0x89cd    0x6cb3
+0x89ce    0x706b
+0x89cf    0x73c2
+0x89d0    0x798d
+0x89d1    0x79be
+0x89d2    0x7a3c
+0x89d3    0x7b87
+0x89d4    0x82b1
+0x89d5    0x82db
+0x89d6    0x8304
+0x89d7    0x8377
+0x89d8    0x83ef
+0x89d9    0x83d3
+0x89da    0x8766
+0x89db    0x8ab2
+0x89dc    0x5629
+0x89dd    0x8ca8
+0x89de    0x8fe6
+0x89df    0x904e
+0x89e0    0x971e
+0x89e1    0x868a
+0x89e2    0x4fc4
+0x89e3    0x5ce8
+0x89e4    0x6211
+0x89e5    0x7259
+0x89e6    0x753b
+0x89e7    0x81e5
+0x89e8    0x82bd
+0x89e9    0x86fe
+0x89ea    0x8cc0
+0x89eb    0x96c5
+0x89ec    0x9913
+0x89ed    0x99d5
+0x89ee    0x4ecb
+0x89ef    0x4f1a
+0x89f0    0x89e3
+0x89f1    0x56de
+0x89f2    0x584a
+0x89f3    0x58ca
+0x89f4    0x5efb
+0x89f5    0x5feb
+0x89f6    0x602a
+0x89f7    0x6094
+0x89f8    0x6062
+0x89f9    0x61d0
+0x89fa    0x6212
+0x89fb    0x62d0
+0x89fc    0x6539
+0x8a40    0x9b41
+0x8a41    0x6666
+0x8a42    0x68b0
+0x8a43    0x6d77
+0x8a44    0x7070
+0x8a45    0x754c
+0x8a46    0x7686
+0x8a47    0x7d75
+0x8a48    0x82a5
+0x8a49    0x87f9
+0x8a4a    0x958b
+0x8a4b    0x968e
+0x8a4c    0x8c9d
+0x8a4d    0x51f1
+0x8a4e    0x52be
+0x8a4f    0x5916
+0x8a50    0x54b3
+0x8a51    0x5bb3
+0x8a52    0x5d16
+0x8a53    0x6168
+0x8a54    0x6982
+0x8a55    0x6daf
+0x8a56    0x788d
+0x8a57    0x84cb
+0x8a58    0x8857
+0x8a59    0x8a72
+0x8a5a    0x93a7
+0x8a5b    0x9ab8
+0x8a5c    0x6d6c
+0x8a5d    0x99a8
+0x8a5e    0x86d9
+0x8a5f    0x57a3
+0x8a60    0x67ff
+0x8a61    0x86ce
+0x8a62    0x920e
+0x8a63    0x5283
+0x8a64    0x5687
+0x8a65    0x5404
+0x8a66    0x5ed3
+0x8a67    0x62e1
+0x8a68    0x64b9
+0x8a69    0x683c
+0x8a6a    0x6838
+0x8a6b    0x6bbb
+0x8a6c    0x7372
+0x8a6d    0x78ba
+0x8a6e    0x7a6b
+0x8a6f    0x899a
+0x8a70    0x89d2
+0x8a71    0x8d6b
+0x8a72    0x8f03
+0x8a73    0x90ed
+0x8a74    0x95a3
+0x8a75    0x9694
+0x8a76    0x9769
+0x8a77    0x5b66
+0x8a78    0x5cb3
+0x8a79    0x697d
+0x8a7a    0x984d
+0x8a7b    0x984e
+0x8a7c    0x639b
+0x8a7d    0x7b20
+0x8a7e    0x6a2b
+0x8a80    0x6a7f
+0x8a81    0x68b6
+0x8a82    0x9c0d
+0x8a83    0x6f5f
+0x8a84    0x5272
+0x8a85    0x559d
+0x8a86    0x6070
+0x8a87    0x62ec
+0x8a88    0x6d3b
+0x8a89    0x6e07
+0x8a8a    0x6ed1
+0x8a8b    0x845b
+0x8a8c    0x8910
+0x8a8d    0x8f44
+0x8a8e    0x4e14
+0x8a8f    0x9c39
+0x8a90    0x53f6
+0x8a91    0x691b
+0x8a92    0x6a3a
+0x8a93    0x9784
+0x8a94    0x682a
+0x8a95    0x515c
+0x8a96    0x7ac3
+0x8a97    0x84b2
+0x8a98    0x91dc
+0x8a99    0x938c
+0x8a9a    0x565b
+0x8a9b    0x9d28
+0x8a9c    0x6822
+0x8a9d    0x8305
+0x8a9e    0x8431
+0x8a9f    0x7ca5
+0x8aa0    0x5208
+0x8aa1    0x82c5
+0x8aa2    0x74e6
+0x8aa3    0x4e7e
+0x8aa4    0x4f83
+0x8aa5    0x51a0
+0x8aa6    0x5bd2
+0x8aa7    0x520a
+0x8aa8    0x52d8
+0x8aa9    0x52e7
+0x8aaa    0x5dfb
+0x8aab    0x559a
+0x8aac    0x582a
+0x8aad    0x59e6
+0x8aae    0x5b8c
+0x8aaf    0x5b98
+0x8ab0    0x5bdb
+0x8ab1    0x5e72
+0x8ab2    0x5e79
+0x8ab3    0x60a3
+0x8ab4    0x611f
+0x8ab5    0x6163
+0x8ab6    0x61be
+0x8ab7    0x63db
+0x8ab8    0x6562
+0x8ab9    0x67d1
+0x8aba    0x6853
+0x8abb    0x68fa
+0x8abc    0x6b3e
+0x8abd    0x6b53
+0x8abe    0x6c57
+0x8abf    0x6f22
+0x8ac0    0x6f97
+0x8ac1    0x6f45
+0x8ac2    0x74b0
+0x8ac3    0x7518
+0x8ac4    0x76e3
+0x8ac5    0x770b
+0x8ac6    0x7aff
+0x8ac7    0x7ba1
+0x8ac8    0x7c21
+0x8ac9    0x7de9
+0x8aca    0x7f36
+0x8acb    0x7ff0
+0x8acc    0x809d
+0x8acd    0x8266
+0x8ace    0x839e
+0x8acf    0x89b3
+0x8ad0    0x8acc
+0x8ad1    0x8cab
+0x8ad2    0x9084
+0x8ad3    0x9451
+0x8ad4    0x9593
+0x8ad5    0x9591
+0x8ad6    0x95a2
+0x8ad7    0x9665
+0x8ad8    0x97d3
+0x8ad9    0x9928
+0x8ada    0x8218
+0x8adb    0x4e38
+0x8adc    0x542b
+0x8add    0x5cb8
+0x8ade    0x5dcc
+0x8adf    0x73a9
+0x8ae0    0x764c
+0x8ae1    0x773c
+0x8ae2    0x5ca9
+0x8ae3    0x7feb
+0x8ae4    0x8d0b
+0x8ae5    0x96c1
+0x8ae6    0x9811
+0x8ae7    0x9854
+0x8ae8    0x9858
+0x8ae9    0x4f01
+0x8aea    0x4f0e
+0x8aeb    0x5371
+0x8aec    0x559c
+0x8aed    0x5668
+0x8aee    0x57fa
+0x8aef    0x5947
+0x8af0    0x5b09
+0x8af1    0x5bc4
+0x8af2    0x5c90
+0x8af3    0x5e0c
+0x8af4    0x5e7e
+0x8af5    0x5fcc
+0x8af6    0x63ee
+0x8af7    0x673a
+0x8af8    0x65d7
+0x8af9    0x65e2
+0x8afa    0x671f
+0x8afb    0x68cb
+0x8afc    0x68c4
+0x8b40    0x6a5f
+0x8b41    0x5e30
+0x8b42    0x6bc5
+0x8b43    0x6c17
+0x8b44    0x6c7d
+0x8b45    0x757f
+0x8b46    0x7948
+0x8b47    0x5b63
+0x8b48    0x7a00
+0x8b49    0x7d00
+0x8b4a    0x5fbd
+0x8b4b    0x898f
+0x8b4c    0x8a18
+0x8b4d    0x8cb4
+0x8b4e    0x8d77
+0x8b4f    0x8ecc
+0x8b50    0x8f1d
+0x8b51    0x98e2
+0x8b52    0x9a0e
+0x8b53    0x9b3c
+0x8b54    0x4e80
+0x8b55    0x507d
+0x8b56    0x5100
+0x8b57    0x5993
+0x8b58    0x5b9c
+0x8b59    0x622f
+0x8b5a    0x6280
+0x8b5b    0x64ec
+0x8b5c    0x6b3a
+0x8b5d    0x72a0
+0x8b5e    0x7591
+0x8b5f    0x7947
+0x8b60    0x7fa9
+0x8b61    0x87fb
+0x8b62    0x8abc
+0x8b63    0x8b70
+0x8b64    0x63ac
+0x8b65    0x83ca
+0x8b66    0x97a0
+0x8b67    0x5409
+0x8b68    0x5403
+0x8b69    0x55ab
+0x8b6a    0x6854
+0x8b6b    0x6a58
+0x8b6c    0x8a70
+0x8b6d    0x7827
+0x8b6e    0x6775
+0x8b6f    0x9ecd
+0x8b70    0x5374
+0x8b71    0x5ba2
+0x8b72    0x811a
+0x8b73    0x8650
+0x8b74    0x9006
+0x8b75    0x4e18
+0x8b76    0x4e45
+0x8b77    0x4ec7
+0x8b78    0x4f11
+0x8b79    0x53ca
+0x8b7a    0x5438
+0x8b7b    0x5bae
+0x8b7c    0x5f13
+0x8b7d    0x6025
+0x8b7e    0x6551
+0x8b80    0x673d
+0x8b81    0x6c42
+0x8b82    0x6c72
+0x8b83    0x6ce3
+0x8b84    0x7078
+0x8b85    0x7403
+0x8b86    0x7a76
+0x8b87    0x7aae
+0x8b88    0x7b08
+0x8b89    0x7d1a
+0x8b8a    0x7cfe
+0x8b8b    0x7d66
+0x8b8c    0x65e7
+0x8b8d    0x725b
+0x8b8e    0x53bb
+0x8b8f    0x5c45
+0x8b90    0x5de8
+0x8b91    0x62d2
+0x8b92    0x62e0
+0x8b93    0x6319
+0x8b94    0x6e20
+0x8b95    0x865a
+0x8b96    0x8a31
+0x8b97    0x8ddd
+0x8b98    0x92f8
+0x8b99    0x6f01
+0x8b9a    0x79a6
+0x8b9b    0x9b5a
+0x8b9c    0x4ea8
+0x8b9d    0x4eab
+0x8b9e    0x4eac
+0x8b9f    0x4f9b
+0x8ba0    0x4fa0
+0x8ba1    0x50d1
+0x8ba2    0x5147
+0x8ba3    0x7af6
+0x8ba4    0x5171
+0x8ba5    0x51f6
+0x8ba6    0x5354
+0x8ba7    0x5321
+0x8ba8    0x537f
+0x8ba9    0x53eb
+0x8baa    0x55ac
+0x8bab    0x5883
+0x8bac    0x5ce1
+0x8bad    0x5f37
+0x8bae    0x5f4a
+0x8baf    0x602f
+0x8bb0    0x6050
+0x8bb1    0x606d
+0x8bb2    0x631f
+0x8bb3    0x6559
+0x8bb4    0x6a4b
+0x8bb5    0x6cc1
+0x8bb6    0x72c2
+0x8bb7    0x72ed
+0x8bb8    0x77ef
+0x8bb9    0x80f8
+0x8bba    0x8105
+0x8bbb    0x8208
+0x8bbc    0x854e
+0x8bbd    0x90f7
+0x8bbe    0x93e1
+0x8bbf    0x97ff
+0x8bc0    0x9957
+0x8bc1    0x9a5a
+0x8bc2    0x4ef0
+0x8bc3    0x51dd
+0x8bc4    0x5c2d
+0x8bc5    0x6681
+0x8bc6    0x696d
+0x8bc7    0x5c40
+0x8bc8    0x66f2
+0x8bc9    0x6975
+0x8bca    0x7389
+0x8bcb    0x6850
+0x8bcc    0x7c81
+0x8bcd    0x50c5
+0x8bce    0x52e4
+0x8bcf    0x5747
+0x8bd0    0x5dfe
+0x8bd1    0x9326
+0x8bd2    0x65a4
+0x8bd3    0x6b23
+0x8bd4    0x6b3d
+0x8bd5    0x7434
+0x8bd6    0x7981
+0x8bd7    0x79bd
+0x8bd8    0x7b4b
+0x8bd9    0x7dca
+0x8bda    0x82b9
+0x8bdb    0x83cc
+0x8bdc    0x887f
+0x8bdd    0x895f
+0x8bde    0x8b39
+0x8bdf    0x8fd1
+0x8be0    0x91d1
+0x8be1    0x541f
+0x8be2    0x9280
+0x8be3    0x4e5d
+0x8be4    0x5036
+0x8be5    0x53e5
+0x8be6    0x533a
+0x8be7    0x72d7
+0x8be8    0x7396
+0x8be9    0x77e9
+0x8bea    0x82e6
+0x8beb    0x8eaf
+0x8bec    0x99c6
+0x8bed    0x99c8
+0x8bee    0x99d2
+0x8bef    0x5177
+0x8bf0    0x611a
+0x8bf1    0x865e
+0x8bf2    0x55b0
+0x8bf3    0x7a7a
+0x8bf4    0x5076
+0x8bf5    0x5bd3
+0x8bf6    0x9047
+0x8bf7    0x9685
+0x8bf8    0x4e32
+0x8bf9    0x6adb
+0x8bfa    0x91e7
+0x8bfb    0x5c51
+0x8bfc    0x5c48
+0x8c40    0x6398
+0x8c41    0x7a9f
+0x8c42    0x6c93
+0x8c43    0x9774
+0x8c44    0x8f61
+0x8c45    0x7aaa
+0x8c46    0x718a
+0x8c47    0x9688
+0x8c48    0x7c82
+0x8c49    0x6817
+0x8c4a    0x7e70
+0x8c4b    0x6851
+0x8c4c    0x936c
+0x8c4d    0x52f2
+0x8c4e    0x541b
+0x8c4f    0x85ab
+0x8c50    0x8a13
+0x8c51    0x7fa4
+0x8c52    0x8ecd
+0x8c53    0x90e1
+0x8c54    0x5366
+0x8c55    0x8888
+0x8c56    0x7941
+0x8c57    0x4fc2
+0x8c58    0x50be
+0x8c59    0x5211
+0x8c5a    0x5144
+0x8c5b    0x5553
+0x8c5c    0x572d
+0x8c5d    0x73ea
+0x8c5e    0x578b
+0x8c5f    0x5951
+0x8c60    0x5f62
+0x8c61    0x5f84
+0x8c62    0x6075
+0x8c63    0x6176
+0x8c64    0x6167
+0x8c65    0x61a9
+0x8c66    0x63b2
+0x8c67    0x643a
+0x8c68    0x656c
+0x8c69    0x666f
+0x8c6a    0x6842
+0x8c6b    0x6e13
+0x8c6c    0x7566
+0x8c6d    0x7a3d
+0x8c6e    0x7cfb
+0x8c6f    0x7d4c
+0x8c70    0x7d99
+0x8c71    0x7e4b
+0x8c72    0x7f6b
+0x8c73    0x830e
+0x8c74    0x834a
+0x8c75    0x86cd
+0x8c76    0x8a08
+0x8c77    0x8a63
+0x8c78    0x8b66
+0x8c79    0x8efd
+0x8c7a    0x981a
+0x8c7b    0x9d8f
+0x8c7c    0x82b8
+0x8c7d    0x8fce
+0x8c7e    0x9be8
+0x8c80    0x5287
+0x8c81    0x621f
+0x8c82    0x6483
+0x8c83    0x6fc0
+0x8c84    0x9699
+0x8c85    0x6841
+0x8c86    0x5091
+0x8c87    0x6b20
+0x8c88    0x6c7a
+0x8c89    0x6f54
+0x8c8a    0x7a74
+0x8c8b    0x7d50
+0x8c8c    0x8840
+0x8c8d    0x8a23
+0x8c8e    0x6708
+0x8c8f    0x4ef6
+0x8c90    0x5039
+0x8c91    0x5026
+0x8c92    0x5065
+0x8c93    0x517c
+0x8c94    0x5238
+0x8c95    0x5263
+0x8c96    0x55a7
+0x8c97    0x570f
+0x8c98    0x5805
+0x8c99    0x5acc
+0x8c9a    0x5efa
+0x8c9b    0x61b2
+0x8c9c    0x61f8
+0x8c9d    0x62f3
+0x8c9e    0x6372
+0x8c9f    0x691c
+0x8ca0    0x6a29
+0x8ca1    0x727d
+0x8ca2    0x72ac
+0x8ca3    0x732e
+0x8ca4    0x7814
+0x8ca5    0x786f
+0x8ca6    0x7d79
+0x8ca7    0x770c
+0x8ca8    0x80a9
+0x8ca9    0x898b
+0x8caa    0x8b19
+0x8cab    0x8ce2
+0x8cac    0x8ed2
+0x8cad    0x9063
+0x8cae    0x9375
+0x8caf    0x967a
+0x8cb0    0x9855
+0x8cb1    0x9a13
+0x8cb2    0x9e78
+0x8cb3    0x5143
+0x8cb4    0x539f
+0x8cb5    0x53b3
+0x8cb6    0x5e7b
+0x8cb7    0x5f26
+0x8cb8    0x6e1b
+0x8cb9    0x6e90
+0x8cba    0x7384
+0x8cbb    0x73fe
+0x8cbc    0x7d43
+0x8cbd    0x8237
+0x8cbe    0x8a00
+0x8cbf    0x8afa
+0x8cc0    0x9650
+0x8cc1    0x4e4e
+0x8cc2    0x500b
+0x8cc3    0x53e4
+0x8cc4    0x547c
+0x8cc5    0x56fa
+0x8cc6    0x59d1
+0x8cc7    0x5b64
+0x8cc8    0x5df1
+0x8cc9    0x5eab
+0x8cca    0x5f27
+0x8ccb    0x6238
+0x8ccc    0x6545
+0x8ccd    0x67af
+0x8cce    0x6e56
+0x8ccf    0x72d0
+0x8cd0    0x7cca
+0x8cd1    0x88b4
+0x8cd2    0x80a1
+0x8cd3    0x80e1
+0x8cd4    0x83f0
+0x8cd5    0x864e
+0x8cd6    0x8a87
+0x8cd7    0x8de8
+0x8cd8    0x9237
+0x8cd9    0x96c7
+0x8cda    0x9867
+0x8cdb    0x9f13
+0x8cdc    0x4e94
+0x8cdd    0x4e92
+0x8cde    0x4f0d
+0x8cdf    0x5348
+0x8ce0    0x5449
+0x8ce1    0x543e
+0x8ce2    0x5a2f
+0x8ce3    0x5f8c
+0x8ce4    0x5fa1
+0x8ce5    0x609f
+0x8ce6    0x68a7
+0x8ce7    0x6a8e
+0x8ce8    0x745a
+0x8ce9    0x7881
+0x8cea    0x8a9e
+0x8ceb    0x8aa4
+0x8cec    0x8b77
+0x8ced    0x9190
+0x8cee    0x4e5e
+0x8cef    0x9bc9
+0x8cf0    0x4ea4
+0x8cf1    0x4f7c
+0x8cf2    0x4faf
+0x8cf3    0x5019
+0x8cf4    0x5016
+0x8cf5    0x5149
+0x8cf6    0x516c
+0x8cf7    0x529f
+0x8cf8    0x52b9
+0x8cf9    0x52fe
+0x8cfa    0x539a
+0x8cfb    0x53e3
+0x8cfc    0x5411
+0x8d40    0x540e
+0x8d41    0x5589
+0x8d42    0x5751
+0x8d43    0x57a2
+0x8d44    0x597d
+0x8d45    0x5b54
+0x8d46    0x5b5d
+0x8d47    0x5b8f
+0x8d48    0x5de5
+0x8d49    0x5de7
+0x8d4a    0x5df7
+0x8d4b    0x5e78
+0x8d4c    0x5e83
+0x8d4d    0x5e9a
+0x8d4e    0x5eb7
+0x8d4f    0x5f18
+0x8d50    0x6052
+0x8d51    0x614c
+0x8d52    0x6297
+0x8d53    0x62d8
+0x8d54    0x63a7
+0x8d55    0x653b
+0x8d56    0x6602
+0x8d57    0x6643
+0x8d58    0x66f4
+0x8d59    0x676d
+0x8d5a    0x6821
+0x8d5b    0x6897
+0x8d5c    0x69cb
+0x8d5d    0x6c5f
+0x8d5e    0x6d2a
+0x8d5f    0x6d69
+0x8d60    0x6e2f
+0x8d61    0x6e9d
+0x8d62    0x7532
+0x8d63    0x7687
+0x8d64    0x786c
+0x8d65    0x7a3f
+0x8d66    0x7ce0
+0x8d67    0x7d05
+0x8d68    0x7d18
+0x8d69    0x7d5e
+0x8d6a    0x7db1
+0x8d6b    0x8015
+0x8d6c    0x8003
+0x8d6d    0x80af
+0x8d6e    0x80b1
+0x8d6f    0x8154
+0x8d70    0x818f
+0x8d71    0x822a
+0x8d72    0x8352
+0x8d73    0x884c
+0x8d74    0x8861
+0x8d75    0x8b1b
+0x8d76    0x8ca2
+0x8d77    0x8cfc
+0x8d78    0x90ca
+0x8d79    0x9175
+0x8d7a    0x9271
+0x8d7b    0x783f
+0x8d7c    0x92fc
+0x8d7d    0x95a4
+0x8d7e    0x964d
+0x8d80    0x9805
+0x8d81    0x9999
+0x8d82    0x9ad8
+0x8d83    0x9d3b
+0x8d84    0x525b
+0x8d85    0x52ab
+0x8d86    0x53f7
+0x8d87    0x5408
+0x8d88    0x58d5
+0x8d89    0x62f7
+0x8d8a    0x6fe0
+0x8d8b    0x8c6a
+0x8d8c    0x8f5f
+0x8d8d    0x9eb9
+0x8d8e    0x514b
+0x8d8f    0x523b
+0x8d90    0x544a
+0x8d91    0x56fd
+0x8d92    0x7a40
+0x8d93    0x9177
+0x8d94    0x9d60
+0x8d95    0x9ed2
+0x8d96    0x7344
+0x8d97    0x6f09
+0x8d98    0x8170
+0x8d99    0x7511
+0x8d9a    0x5ffd
+0x8d9b    0x60da
+0x8d9c    0x9aa8
+0x8d9d    0x72db
+0x8d9e    0x8fbc
+0x8d9f    0x6b64
+0x8da0    0x9803
+0x8da1    0x4eca
+0x8da2    0x56f0
+0x8da3    0x5764
+0x8da4    0x58be
+0x8da5    0x5a5a
+0x8da6    0x6068
+0x8da7    0x61c7
+0x8da8    0x660f
+0x8da9    0x6606
+0x8daa    0x6839
+0x8dab    0x68b1
+0x8dac    0x6df7
+0x8dad    0x75d5
+0x8dae    0x7d3a
+0x8daf    0x826e
+0x8db0    0x9b42
+0x8db1    0x4e9b
+0x8db2    0x4f50
+0x8db3    0x53c9
+0x8db4    0x5506
+0x8db5    0x5d6f
+0x8db6    0x5de6
+0x8db7    0x5dee
+0x8db8    0x67fb
+0x8db9    0x6c99
+0x8dba    0x7473
+0x8dbb    0x7802
+0x8dbc    0x8a50
+0x8dbd    0x9396
+0x8dbe    0x88df
+0x8dbf    0x5750
+0x8dc0    0x5ea7
+0x8dc1    0x632b
+0x8dc2    0x50b5
+0x8dc3    0x50ac
+0x8dc4    0x518d
+0x8dc5    0x6700
+0x8dc6    0x54c9
+0x8dc7    0x585e
+0x8dc8    0x59bb
+0x8dc9    0x5bb0
+0x8dca    0x5f69
+0x8dcb    0x624d
+0x8dcc    0x63a1
+0x8dcd    0x683d
+0x8dce    0x6b73
+0x8dcf    0x6e08
+0x8dd0    0x707d
+0x8dd1    0x91c7
+0x8dd2    0x7280
+0x8dd3    0x7815
+0x8dd4    0x7826
+0x8dd5    0x796d
+0x8dd6    0x658e
+0x8dd7    0x7d30
+0x8dd8    0x83dc
+0x8dd9    0x88c1
+0x8dda    0x8f09
+0x8ddb    0x969b
+0x8ddc    0x5264
+0x8ddd    0x5728
+0x8dde    0x6750
+0x8ddf    0x7f6a
+0x8de0    0x8ca1
+0x8de1    0x51b4
+0x8de2    0x5742
+0x8de3    0x962a
+0x8de4    0x583a
+0x8de5    0x698a
+0x8de6    0x80b4
+0x8de7    0x54b2
+0x8de8    0x5d0e
+0x8de9    0x57fc
+0x8dea    0x7895
+0x8deb    0x9dfa
+0x8dec    0x4f5c
+0x8ded    0x524a
+0x8dee    0x548b
+0x8def    0x643e
+0x8df0    0x6628
+0x8df1    0x6714
+0x8df2    0x67f5
+0x8df3    0x7a84
+0x8df4    0x7b56
+0x8df5    0x7d22
+0x8df6    0x932f
+0x8df7    0x685c
+0x8df8    0x9bad
+0x8df9    0x7b39
+0x8dfa    0x5319
+0x8dfb    0x518a
+0x8dfc    0x5237
+0x8e40    0x5bdf
+0x8e41    0x62f6
+0x8e42    0x64ae
+0x8e43    0x64e6
+0x8e44    0x672d
+0x8e45    0x6bba
+0x8e46    0x85a9
+0x8e47    0x96d1
+0x8e48    0x7690
+0x8e49    0x9bd6
+0x8e4a    0x634c
+0x8e4b    0x9306
+0x8e4c    0x9bab
+0x8e4d    0x76bf
+0x8e4e    0x6652
+0x8e4f    0x4e09
+0x8e50    0x5098
+0x8e51    0x53c2
+0x8e52    0x5c71
+0x8e53    0x60e8
+0x8e54    0x6492
+0x8e55    0x6563
+0x8e56    0x685f
+0x8e57    0x71e6
+0x8e58    0x73ca
+0x8e59    0x7523
+0x8e5a    0x7b97
+0x8e5b    0x7e82
+0x8e5c    0x8695
+0x8e5d    0x8b83
+0x8e5e    0x8cdb
+0x8e5f    0x9178
+0x8e60    0x9910
+0x8e61    0x65ac
+0x8e62    0x66ab
+0x8e63    0x6b8b
+0x8e64    0x4ed5
+0x8e65    0x4ed4
+0x8e66    0x4f3a
+0x8e67    0x4f7f
+0x8e68    0x523a
+0x8e69    0x53f8
+0x8e6a    0x53f2
+0x8e6b    0x55e3
+0x8e6c    0x56db
+0x8e6d    0x58eb
+0x8e6e    0x59cb
+0x8e6f    0x59c9
+0x8e70    0x59ff
+0x8e71    0x5b50
+0x8e72    0x5c4d
+0x8e73    0x5e02
+0x8e74    0x5e2b
+0x8e75    0x5fd7
+0x8e76    0x601d
+0x8e77    0x6307
+0x8e78    0x652f
+0x8e79    0x5b5c
+0x8e7a    0x65af
+0x8e7b    0x65bd
+0x8e7c    0x65e8
+0x8e7d    0x679d
+0x8e7e    0x6b62
+0x8e80    0x6b7b
+0x8e81    0x6c0f
+0x8e82    0x7345
+0x8e83    0x7949
+0x8e84    0x79c1
+0x8e85    0x7cf8
+0x8e86    0x7d19
+0x8e87    0x7d2b
+0x8e88    0x80a2
+0x8e89    0x8102
+0x8e8a    0x81f3
+0x8e8b    0x8996
+0x8e8c    0x8a5e
+0x8e8d    0x8a69
+0x8e8e    0x8a66
+0x8e8f    0x8a8c
+0x8e90    0x8aee
+0x8e91    0x8cc7
+0x8e92    0x8cdc
+0x8e93    0x96cc
+0x8e94    0x98fc
+0x8e95    0x6b6f
+0x8e96    0x4e8b
+0x8e97    0x4f3c
+0x8e98    0x4f8d
+0x8e99    0x5150
+0x8e9a    0x5b57
+0x8e9b    0x5bfa
+0x8e9c    0x6148
+0x8e9d    0x6301
+0x8e9e    0x6642
+0x8e9f    0x6b21
+0x8ea0    0x6ecb
+0x8ea1    0x6cbb
+0x8ea2    0x723e
+0x8ea3    0x74bd
+0x8ea4    0x75d4
+0x8ea5    0x78c1
+0x8ea6    0x793a
+0x8ea7    0x800c
+0x8ea8    0x8033
+0x8ea9    0x81ea
+0x8eaa    0x8494
+0x8eab    0x8f9e
+0x8eac    0x6c50
+0x8ead    0x9e7f
+0x8eae    0x5f0f
+0x8eaf    0x8b58
+0x8eb0    0x9d2b
+0x8eb1    0x7afa
+0x8eb2    0x8ef8
+0x8eb3    0x5b8d
+0x8eb4    0x96eb
+0x8eb5    0x4e03
+0x8eb6    0x53f1
+0x8eb7    0x57f7
+0x8eb8    0x5931
+0x8eb9    0x5ac9
+0x8eba    0x5ba4
+0x8ebb    0x6089
+0x8ebc    0x6e7f
+0x8ebd    0x6f06
+0x8ebe    0x75be
+0x8ebf    0x8cea
+0x8ec0    0x5b9f
+0x8ec1    0x8500
+0x8ec2    0x7be0
+0x8ec3    0x5072
+0x8ec4    0x67f4
+0x8ec5    0x829d
+0x8ec6    0x5c61
+0x8ec7    0x854a
+0x8ec8    0x7e1e
+0x8ec9    0x820e
+0x8eca    0x5199
+0x8ecb    0x5c04
+0x8ecc    0x6368
+0x8ecd    0x8d66
+0x8ece    0x659c
+0x8ecf    0x716e
+0x8ed0    0x793e
+0x8ed1    0x7d17
+0x8ed2    0x8005
+0x8ed3    0x8b1d
+0x8ed4    0x8eca
+0x8ed5    0x906e
+0x8ed6    0x86c7
+0x8ed7    0x90aa
+0x8ed8    0x501f
+0x8ed9    0x52fa
+0x8eda    0x5c3a
+0x8edb    0x6753
+0x8edc    0x707c
+0x8edd    0x7235
+0x8ede    0x914c
+0x8edf    0x91c8
+0x8ee0    0x932b
+0x8ee1    0x82e5
+0x8ee2    0x5bc2
+0x8ee3    0x5f31
+0x8ee4    0x60f9
+0x8ee5    0x4e3b
+0x8ee6    0x53d6
+0x8ee7    0x5b88
+0x8ee8    0x624b
+0x8ee9    0x6731
+0x8eea    0x6b8a
+0x8eeb    0x72e9
+0x8eec    0x73e0
+0x8eed    0x7a2e
+0x8eee    0x816b
+0x8eef    0x8da3
+0x8ef0    0x9152
+0x8ef1    0x9996
+0x8ef2    0x5112
+0x8ef3    0x53d7
+0x8ef4    0x546a
+0x8ef5    0x5bff
+0x8ef6    0x6388
+0x8ef7    0x6a39
+0x8ef8    0x7dac
+0x8ef9    0x9700
+0x8efa    0x56da
+0x8efb    0x53ce
+0x8efc    0x5468
+0x8f40    0x5b97
+0x8f41    0x5c31
+0x8f42    0x5dde
+0x8f43    0x4fee
+0x8f44    0x6101
+0x8f45    0x62fe
+0x8f46    0x6d32
+0x8f47    0x79c0
+0x8f48    0x79cb
+0x8f49    0x7d42
+0x8f4a    0x7e4d
+0x8f4b    0x7fd2
+0x8f4c    0x81ed
+0x8f4d    0x821f
+0x8f4e    0x8490
+0x8f4f    0x8846
+0x8f50    0x8972
+0x8f51    0x8b90
+0x8f52    0x8e74
+0x8f53    0x8f2f
+0x8f54    0x9031
+0x8f55    0x914b
+0x8f56    0x916c
+0x8f57    0x96c6
+0x8f58    0x919c
+0x8f59    0x4ec0
+0x8f5a    0x4f4f
+0x8f5b    0x5145
+0x8f5c    0x5341
+0x8f5d    0x5f93
+0x8f5e    0x620e
+0x8f5f    0x67d4
+0x8f60    0x6c41
+0x8f61    0x6e0b
+0x8f62    0x7363
+0x8f63    0x7e26
+0x8f64    0x91cd
+0x8f65    0x9283
+0x8f66    0x53d4
+0x8f67    0x5919
+0x8f68    0x5bbf
+0x8f69    0x6dd1
+0x8f6a    0x795d
+0x8f6b    0x7e2e
+0x8f6c    0x7c9b
+0x8f6d    0x587e
+0x8f6e    0x719f
+0x8f6f    0x51fa
+0x8f70    0x8853
+0x8f71    0x8ff0
+0x8f72    0x4fca
+0x8f73    0x5cfb
+0x8f74    0x6625
+0x8f75    0x77ac
+0x8f76    0x7ae3
+0x8f77    0x821c
+0x8f78    0x99ff
+0x8f79    0x51c6
+0x8f7a    0x5faa
+0x8f7b    0x65ec
+0x8f7c    0x696f
+0x8f7d    0x6b89
+0x8f7e    0x6df3
+0x8f80    0x6e96
+0x8f81    0x6f64
+0x8f82    0x76fe
+0x8f83    0x7d14
+0x8f84    0x5de1
+0x8f85    0x9075
+0x8f86    0x9187
+0x8f87    0x9806
+0x8f88    0x51e6
+0x8f89    0x521d
+0x8f8a    0x6240
+0x8f8b    0x6691
+0x8f8c    0x66d9
+0x8f8d    0x6e1a
+0x8f8e    0x5eb6
+0x8f8f    0x7dd2
+0x8f90    0x7f72
+0x8f91    0x66f8
+0x8f92    0x85af
+0x8f93    0x85f7
+0x8f94    0x8af8
+0x8f95    0x52a9
+0x8f96    0x53d9
+0x8f97    0x5973
+0x8f98    0x5e8f
+0x8f99    0x5f90
+0x8f9a    0x6055
+0x8f9b    0x92e4
+0x8f9c    0x9664
+0x8f9d    0x50b7
+0x8f9e    0x511f
+0x8f9f    0x52dd
+0x8fa0    0x5320
+0x8fa1    0x5347
+0x8fa2    0x53ec
+0x8fa3    0x54e8
+0x8fa4    0x5546
+0x8fa5    0x5531
+0x8fa6    0x5617
+0x8fa7    0x5968
+0x8fa8    0x59be
+0x8fa9    0x5a3c
+0x8faa    0x5bb5
+0x8fab    0x5c06
+0x8fac    0x5c0f
+0x8fad    0x5c11
+0x8fae    0x5c1a
+0x8faf    0x5e84
+0x8fb0    0x5e8a
+0x8fb1    0x5ee0
+0x8fb2    0x5f70
+0x8fb3    0x627f
+0x8fb4    0x6284
+0x8fb5    0x62db
+0x8fb6    0x638c
+0x8fb7    0x6377
+0x8fb8    0x6607
+0x8fb9    0x660c
+0x8fba    0x662d
+0x8fbb    0x6676
+0x8fbc    0x677e
+0x8fbd    0x68a2
+0x8fbe    0x6a1f
+0x8fbf    0x6a35
+0x8fc0    0x6cbc
+0x8fc1    0x6d88
+0x8fc2    0x6e09
+0x8fc3    0x6e58
+0x8fc4    0x713c
+0x8fc5    0x7126
+0x8fc6    0x7167
+0x8fc7    0x75c7
+0x8fc8    0x7701
+0x8fc9    0x785d
+0x8fca    0x7901
+0x8fcb    0x7965
+0x8fcc    0x79f0
+0x8fcd    0x7ae0
+0x8fce    0x7b11
+0x8fcf    0x7ca7
+0x8fd0    0x7d39
+0x8fd1    0x8096
+0x8fd2    0x83d6
+0x8fd3    0x848b
+0x8fd4    0x8549
+0x8fd5    0x885d
+0x8fd6    0x88f3
+0x8fd7    0x8a1f
+0x8fd8    0x8a3c
+0x8fd9    0x8a54
+0x8fda    0x8a73
+0x8fdb    0x8c61
+0x8fdc    0x8cde
+0x8fdd    0x91a4
+0x8fde    0x9266
+0x8fdf    0x937e
+0x8fe0    0x9418
+0x8fe1    0x969c
+0x8fe2    0x9798
+0x8fe3    0x4e0a
+0x8fe4    0x4e08
+0x8fe5    0x4e1e
+0x8fe6    0x4e57
+0x8fe7    0x5197
+0x8fe8    0x5270
+0x8fe9    0x57ce
+0x8fea    0x5834
+0x8feb    0x58cc
+0x8fec    0x5b22
+0x8fed    0x5e38
+0x8fee    0x60c5
+0x8fef    0x64fe
+0x8ff0    0x6761
+0x8ff1    0x6756
+0x8ff2    0x6d44
+0x8ff3    0x72b6
+0x8ff4    0x7573
+0x8ff5    0x7a63
+0x8ff6    0x84b8
+0x8ff7    0x8b72
+0x8ff8    0x91b8
+0x8ff9    0x9320
+0x8ffa    0x5631
+0x8ffb    0x57f4
+0x8ffc    0x98fe
+0x9040    0x62ed
+0x9041    0x690d
+0x9042    0x6b96
+0x9043    0x71ed
+0x9044    0x7e54
+0x9045    0x8077
+0x9046    0x8272
+0x9047    0x89e6
+0x9048    0x98df
+0x9049    0x8755
+0x904a    0x8fb1
+0x904b    0x5c3b
+0x904c    0x4f38
+0x904d    0x4fe1
+0x904e    0x4fb5
+0x904f    0x5507
+0x9050    0x5a20
+0x9051    0x5bdd
+0x9052    0x5be9
+0x9053    0x5fc3
+0x9054    0x614e
+0x9055    0x632f
+0x9056    0x65b0
+0x9057    0x664b
+0x9058    0x68ee
+0x9059    0x699b
+0x905a    0x6d78
+0x905b    0x6df1
+0x905c    0x7533
+0x905d    0x75b9
+0x905e    0x771f
+0x905f    0x795e
+0x9060    0x79e6
+0x9061    0x7d33
+0x9062    0x81e3
+0x9063    0x82af
+0x9064    0x85aa
+0x9065    0x89aa
+0x9066    0x8a3a
+0x9067    0x8eab
+0x9068    0x8f9b
+0x9069    0x9032
+0x906a    0x91dd
+0x906b    0x9707
+0x906c    0x4eba
+0x906d    0x4ec1
+0x906e    0x5203
+0x906f    0x5875
+0x9070    0x58ec
+0x9071    0x5c0b
+0x9072    0x751a
+0x9073    0x5c3d
+0x9074    0x814e
+0x9075    0x8a0a
+0x9076    0x8fc5
+0x9077    0x9663
+0x9078    0x976d
+0x9079    0x7b25
+0x907a    0x8acf
+0x907b    0x9808
+0x907c    0x9162
+0x907d    0x56f3
+0x907e    0x53a8
+0x9080    0x9017
+0x9081    0x5439
+0x9082    0x5782
+0x9083    0x5e25
+0x9084    0x63a8
+0x9085    0x6c34
+0x9086    0x708a
+0x9087    0x7761
+0x9088    0x7c8b
+0x9089    0x7fe0
+0x908a    0x8870
+0x908b    0x9042
+0x908c    0x9154
+0x908d    0x9310
+0x908e    0x9318
+0x908f    0x968f
+0x9090    0x745e
+0x9091    0x9ac4
+0x9092    0x5d07
+0x9093    0x5d69
+0x9094    0x6570
+0x9095    0x67a2
+0x9096    0x8da8
+0x9097    0x96db
+0x9098    0x636e
+0x9099    0x6749
+0x909a    0x6919
+0x909b    0x83c5
+0x909c    0x9817
+0x909d    0x96c0
+0x909e    0x88fe
+0x909f    0x6f84
+0x90a0    0x647a
+0x90a1    0x5bf8
+0x90a2    0x4e16
+0x90a3    0x702c
+0x90a4    0x755d
+0x90a5    0x662f
+0x90a6    0x51c4
+0x90a7    0x5236
+0x90a8    0x52e2
+0x90a9    0x59d3
+0x90aa    0x5f81
+0x90ab    0x6027
+0x90ac    0x6210
+0x90ad    0x653f
+0x90ae    0x6574
+0x90af    0x661f
+0x90b0    0x6674
+0x90b1    0x68f2
+0x90b2    0x6816
+0x90b3    0x6b63
+0x90b4    0x6e05
+0x90b5    0x7272
+0x90b6    0x751f
+0x90b7    0x76db
+0x90b8    0x7cbe
+0x90b9    0x8056
+0x90ba    0x58f0
+0x90bb    0x88fd
+0x90bc    0x897f
+0x90bd    0x8aa0
+0x90be    0x8a93
+0x90bf    0x8acb
+0x90c0    0x901d
+0x90c1    0x9192
+0x90c2    0x9752
+0x90c3    0x9759
+0x90c4    0x6589
+0x90c5    0x7a0e
+0x90c6    0x8106
+0x90c7    0x96bb
+0x90c8    0x5e2d
+0x90c9    0x60dc
+0x90ca    0x621a
+0x90cb    0x65a5
+0x90cc    0x6614
+0x90cd    0x6790
+0x90ce    0x77f3
+0x90cf    0x7a4d
+0x90d0    0x7c4d
+0x90d1    0x7e3e
+0x90d2    0x810a
+0x90d3    0x8cac
+0x90d4    0x8d64
+0x90d5    0x8de1
+0x90d6    0x8e5f
+0x90d7    0x78a9
+0x90d8    0x5207
+0x90d9    0x62d9
+0x90da    0x63a5
+0x90db    0x6442
+0x90dc    0x6298
+0x90dd    0x8a2d
+0x90de    0x7a83
+0x90df    0x7bc0
+0x90e0    0x8aac
+0x90e1    0x96ea
+0x90e2    0x7d76
+0x90e3    0x820c
+0x90e4    0x8749
+0x90e5    0x4ed9
+0x90e6    0x5148
+0x90e7    0x5343
+0x90e8    0x5360
+0x90e9    0x5ba3
+0x90ea    0x5c02
+0x90eb    0x5c16
+0x90ec    0x5ddd
+0x90ed    0x6226
+0x90ee    0x6247
+0x90ef    0x64b0
+0x90f0    0x6813
+0x90f1    0x6834
+0x90f2    0x6cc9
+0x90f3    0x6d45
+0x90f4    0x6d17
+0x90f5    0x67d3
+0x90f6    0x6f5c
+0x90f7    0x714e
+0x90f8    0x717d
+0x90f9    0x65cb
+0x90fa    0x7a7f
+0x90fb    0x7bad
+0x90fc    0x7dda
+0x9140    0x7e4a
+0x9141    0x7fa8
+0x9142    0x817a
+0x9143    0x821b
+0x9144    0x8239
+0x9145    0x85a6
+0x9146    0x8a6e
+0x9147    0x8cce
+0x9148    0x8df5
+0x9149    0x9078
+0x914a    0x9077
+0x914b    0x92ad
+0x914c    0x9291
+0x914d    0x9583
+0x914e    0x9bae
+0x914f    0x524d
+0x9150    0x5584
+0x9151    0x6f38
+0x9152    0x7136
+0x9153    0x5168
+0x9154    0x7985
+0x9155    0x7e55
+0x9156    0x81b3
+0x9157    0x7cce
+0x9158    0x564c
+0x9159    0x5851
+0x915a    0x5ca8
+0x915b    0x63aa
+0x915c    0x66fe
+0x915d    0x66fd
+0x915e    0x695a
+0x915f    0x72d9
+0x9160    0x758f
+0x9161    0x758e
+0x9162    0x790e
+0x9163    0x7956
+0x9164    0x79df
+0x9165    0x7c97
+0x9166    0x7d20
+0x9167    0x7d44
+0x9168    0x8607
+0x9169    0x8a34
+0x916a    0x963b
+0x916b    0x9061
+0x916c    0x9f20
+0x916d    0x50e7
+0x916e    0x5275
+0x916f    0x53cc
+0x9170    0x53e2
+0x9171    0x5009
+0x9172    0x55aa
+0x9173    0x58ee
+0x9174    0x594f
+0x9175    0x723d
+0x9176    0x5b8b
+0x9177    0x5c64
+0x9178    0x531d
+0x9179    0x60e3
+0x917a    0x60f3
+0x917b    0x635c
+0x917c    0x6383
+0x917d    0x633f
+0x917e    0x63bb
+0x9180    0x64cd
+0x9181    0x65e9
+0x9182    0x66f9
+0x9183    0x5de3
+0x9184    0x69cd
+0x9185    0x69fd
+0x9186    0x6f15
+0x9187    0x71e5
+0x9188    0x4e89
+0x9189    0x75e9
+0x918a    0x76f8
+0x918b    0x7a93
+0x918c    0x7cdf
+0x918d    0x7dcf
+0x918e    0x7d9c
+0x918f    0x8061
+0x9190    0x8349
+0x9191    0x8358
+0x9192    0x846c
+0x9193    0x84bc
+0x9194    0x85fb
+0x9195    0x88c5
+0x9196    0x8d70
+0x9197    0x9001
+0x9198    0x906d
+0x9199    0x9397
+0x919a    0x971c
+0x919b    0x9a12
+0x919c    0x50cf
+0x919d    0x5897
+0x919e    0x618e
+0x919f    0x81d3
+0x91a0    0x8535
+0x91a1    0x8d08
+0x91a2    0x9020
+0x91a3    0x4fc3
+0x91a4    0x5074
+0x91a5    0x5247
+0x91a6    0x5373
+0x91a7    0x606f
+0x91a8    0x6349
+0x91a9    0x675f
+0x91aa    0x6e2c
+0x91ab    0x8db3
+0x91ac    0x901f
+0x91ad    0x4fd7
+0x91ae    0x5c5e
+0x91af    0x8cca
+0x91b0    0x65cf
+0x91b1    0x7d9a
+0x91b2    0x5352
+0x91b3    0x8896
+0x91b4    0x5176
+0x91b5    0x63c3
+0x91b6    0x5b58
+0x91b7    0x5b6b
+0x91b8    0x5c0a
+0x91b9    0x640d
+0x91ba    0x6751
+0x91bb    0x905c
+0x91bc    0x4ed6
+0x91bd    0x591a
+0x91be    0x592a
+0x91bf    0x6c70
+0x91c0    0x8a51
+0x91c1    0x553e
+0x91c2    0x5815
+0x91c3    0x59a5
+0x91c4    0x60f0
+0x91c5    0x6253
+0x91c6    0x67c1
+0x91c7    0x8235
+0x91c8    0x6955
+0x91c9    0x9640
+0x91ca    0x99c4
+0x91cb    0x9a28
+0x91cc    0x4f53
+0x91cd    0x5806
+0x91ce    0x5bfe
+0x91cf    0x8010
+0x91d0    0x5cb1
+0x91d1    0x5e2f
+0x91d2    0x5f85
+0x91d3    0x6020
+0x91d4    0x614b
+0x91d5    0x6234
+0x91d6    0x66ff
+0x91d7    0x6cf0
+0x91d8    0x6ede
+0x91d9    0x80ce
+0x91da    0x817f
+0x91db    0x82d4
+0x91dc    0x888b
+0x91dd    0x8cb8
+0x91de    0x9000
+0x91df    0x902e
+0x91e0    0x968a
+0x91e1    0x9edb
+0x91e2    0x9bdb
+0x91e3    0x4ee3
+0x91e4    0x53f0
+0x91e5    0x5927
+0x91e6    0x7b2c
+0x91e7    0x918d
+0x91e8    0x984c
+0x91e9    0x9df9
+0x91ea    0x6edd
+0x91eb    0x7027
+0x91ec    0x5353
+0x91ed    0x5544
+0x91ee    0x5b85
+0x91ef    0x6258
+0x91f0    0x629e
+0x91f1    0x62d3
+0x91f2    0x6ca2
+0x91f3    0x6fef
+0x91f4    0x7422
+0x91f5    0x8a17
+0x91f6    0x9438
+0x91f7    0x6fc1
+0x91f8    0x8afe
+0x91f9    0x8338
+0x91fa    0x51e7
+0x91fb    0x86f8
+0x91fc    0x53ea
+0x9240    0x53e9
+0x9241    0x4f46
+0x9242    0x9054
+0x9243    0x8fb0
+0x9244    0x596a
+0x9245    0x8131
+0x9246    0x5dfd
+0x9247    0x7aea
+0x9248    0x8fbf
+0x9249    0x68da
+0x924a    0x8c37
+0x924b    0x72f8
+0x924c    0x9c48
+0x924d    0x6a3d
+0x924e    0x8ab0
+0x924f    0x4e39
+0x9250    0x5358
+0x9251    0x5606
+0x9252    0x5766
+0x9253    0x62c5
+0x9254    0x63a2
+0x9255    0x65e6
+0x9256    0x6b4e
+0x9257    0x6de1
+0x9258    0x6e5b
+0x9259    0x70ad
+0x925a    0x77ed
+0x925b    0x7aef
+0x925c    0x7baa
+0x925d    0x7dbb
+0x925e    0x803d
+0x925f    0x80c6
+0x9260    0x86cb
+0x9261    0x8a95
+0x9262    0x935b
+0x9263    0x56e3
+0x9264    0x58c7
+0x9265    0x5f3e
+0x9266    0x65ad
+0x9267    0x6696
+0x9268    0x6a80
+0x9269    0x6bb5
+0x926a    0x7537
+0x926b    0x8ac7
+0x926c    0x5024
+0x926d    0x77e5
+0x926e    0x5730
+0x926f    0x5f1b
+0x9270    0x6065
+0x9271    0x667a
+0x9272    0x6c60
+0x9273    0x75f4
+0x9274    0x7a1a
+0x9275    0x7f6e
+0x9276    0x81f4
+0x9277    0x8718
+0x9278    0x9045
+0x9279    0x99b3
+0x927a    0x7bc9
+0x927b    0x755c
+0x927c    0x7af9
+0x927d    0x7b51
+0x927e    0x84c4
+0x9280    0x9010
+0x9281    0x79e9
+0x9282    0x7a92
+0x9283    0x8336
+0x9284    0x5ae1
+0x9285    0x7740
+0x9286    0x4e2d
+0x9287    0x4ef2
+0x9288    0x5b99
+0x9289    0x5fe0
+0x928a    0x62bd
+0x928b    0x663c
+0x928c    0x67f1
+0x928d    0x6ce8
+0x928e    0x866b
+0x928f    0x8877
+0x9290    0x8a3b
+0x9291    0x914e
+0x9292    0x92f3
+0x9293    0x99d0
+0x9294    0x6a17
+0x9295    0x7026
+0x9296    0x732a
+0x9297    0x82e7
+0x9298    0x8457
+0x9299    0x8caf
+0x929a    0x4e01
+0x929b    0x5146
+0x929c    0x51cb
+0x929d    0x558b
+0x929e    0x5bf5
+0x929f    0x5e16
+0x92a0    0x5e33
+0x92a1    0x5e81
+0x92a2    0x5f14
+0x92a3    0x5f35
+0x92a4    0x5f6b
+0x92a5    0x5fb4
+0x92a6    0x61f2
+0x92a7    0x6311
+0x92a8    0x66a2
+0x92a9    0x671d
+0x92aa    0x6f6e
+0x92ab    0x7252
+0x92ac    0x753a
+0x92ad    0x773a
+0x92ae    0x8074
+0x92af    0x8139
+0x92b0    0x8178
+0x92b1    0x8776
+0x92b2    0x8abf
+0x92b3    0x8adc
+0x92b4    0x8d85
+0x92b5    0x8df3
+0x92b6    0x929a
+0x92b7    0x9577
+0x92b8    0x9802
+0x92b9    0x9ce5
+0x92ba    0x52c5
+0x92bb    0x6357
+0x92bc    0x76f4
+0x92bd    0x6715
+0x92be    0x6c88
+0x92bf    0x73cd
+0x92c0    0x8cc3
+0x92c1    0x93ae
+0x92c2    0x9673
+0x92c3    0x6d25
+0x92c4    0x589c
+0x92c5    0x690e
+0x92c6    0x69cc
+0x92c7    0x8ffd
+0x92c8    0x939a
+0x92c9    0x75db
+0x92ca    0x901a
+0x92cb    0x585a
+0x92cc    0x6802
+0x92cd    0x63b4
+0x92ce    0x69fb
+0x92cf    0x4f43
+0x92d0    0x6f2c
+0x92d1    0x67d8
+0x92d2    0x8fbb
+0x92d3    0x8526
+0x92d4    0x7db4
+0x92d5    0x9354
+0x92d6    0x693f
+0x92d7    0x6f70
+0x92d8    0x576a
+0x92d9    0x58f7
+0x92da    0x5b2c
+0x92db    0x7d2c
+0x92dc    0x722a
+0x92dd    0x540a
+0x92de    0x91e3
+0x92df    0x9db4
+0x92e0    0x4ead
+0x92e1    0x4f4e
+0x92e2    0x505c
+0x92e3    0x5075
+0x92e4    0x5243
+0x92e5    0x8c9e
+0x92e6    0x5448
+0x92e7    0x5824
+0x92e8    0x5b9a
+0x92e9    0x5e1d
+0x92ea    0x5e95
+0x92eb    0x5ead
+0x92ec    0x5ef7
+0x92ed    0x5f1f
+0x92ee    0x608c
+0x92ef    0x62b5
+0x92f0    0x633a
+0x92f1    0x63d0
+0x92f2    0x68af
+0x92f3    0x6c40
+0x92f4    0x7887
+0x92f5    0x798e
+0x92f6    0x7a0b
+0x92f7    0x7de0
+0x92f8    0x8247
+0x92f9    0x8a02
+0x92fa    0x8ae6
+0x92fb    0x8e44
+0x92fc    0x9013
+0x9340    0x90b8
+0x9341    0x912d
+0x9342    0x91d8
+0x9343    0x9f0e
+0x9344    0x6ce5
+0x9345    0x6458
+0x9346    0x64e2
+0x9347    0x6575
+0x9348    0x6ef4
+0x9349    0x7684
+0x934a    0x7b1b
+0x934b    0x9069
+0x934c    0x93d1
+0x934d    0x6eba
+0x934e    0x54f2
+0x934f    0x5fb9
+0x9350    0x64a4
+0x9351    0x8f4d
+0x9352    0x8fed
+0x9353    0x9244
+0x9354    0x5178
+0x9355    0x586b
+0x9356    0x5929
+0x9357    0x5c55
+0x9358    0x5e97
+0x9359    0x6dfb
+0x935a    0x7e8f
+0x935b    0x751c
+0x935c    0x8cbc
+0x935d    0x8ee2
+0x935e    0x985b
+0x935f    0x70b9
+0x9360    0x4f1d
+0x9361    0x6bbf
+0x9362    0x6fb1
+0x9363    0x7530
+0x9364    0x96fb
+0x9365    0x514e
+0x9366    0x5410
+0x9367    0x5835
+0x9368    0x5857
+0x9369    0x59ac
+0x936a    0x5c60
+0x936b    0x5f92
+0x936c    0x6597
+0x936d    0x675c
+0x936e    0x6e21
+0x936f    0x767b
+0x9370    0x83df
+0x9371    0x8ced
+0x9372    0x9014
+0x9373    0x90fd
+0x9374    0x934d
+0x9375    0x7825
+0x9376    0x783a
+0x9377    0x52aa
+0x9378    0x5ea6
+0x9379    0x571f
+0x937a    0x5974
+0x937b    0x6012
+0x937c    0x5012
+0x937d    0x515a
+0x937e    0x51ac
+0x9380    0x51cd
+0x9381    0x5200
+0x9382    0x5510
+0x9383    0x5854
+0x9384    0x5858
+0x9385    0x5957
+0x9386    0x5b95
+0x9387    0x5cf6
+0x9388    0x5d8b
+0x9389    0x60bc
+0x938a    0x6295
+0x938b    0x642d
+0x938c    0x6771
+0x938d    0x6843
+0x938e    0x68bc
+0x938f    0x68df
+0x9390    0x76d7
+0x9391    0x6dd8
+0x9392    0x6e6f
+0x9393    0x6d9b
+0x9394    0x706f
+0x9395    0x71c8
+0x9396    0x5f53
+0x9397    0x75d8
+0x9398    0x7977
+0x9399    0x7b49
+0x939a    0x7b54
+0x939b    0x7b52
+0x939c    0x7cd6
+0x939d    0x7d71
+0x939e    0x5230
+0x939f    0x8463
+0x93a0    0x8569
+0x93a1    0x85e4
+0x93a2    0x8a0e
+0x93a3    0x8b04
+0x93a4    0x8c46
+0x93a5    0x8e0f
+0x93a6    0x9003
+0x93a7    0x900f
+0x93a8    0x9419
+0x93a9    0x9676
+0x93aa    0x982d
+0x93ab    0x9a30
+0x93ac    0x95d8
+0x93ad    0x50cd
+0x93ae    0x52d5
+0x93af    0x540c
+0x93b0    0x5802
+0x93b1    0x5c0e
+0x93b2    0x61a7
+0x93b3    0x649e
+0x93b4    0x6d1e
+0x93b5    0x77b3
+0x93b6    0x7ae5
+0x93b7    0x80f4
+0x93b8    0x8404
+0x93b9    0x9053
+0x93ba    0x9285
+0x93bb    0x5ce0
+0x93bc    0x9d07
+0x93bd    0x533f
+0x93be    0x5f97
+0x93bf    0x5fb3
+0x93c0    0x6d9c
+0x93c1    0x7279
+0x93c2    0x7763
+0x93c3    0x79bf
+0x93c4    0x7be4
+0x93c5    0x6bd2
+0x93c6    0x72ec
+0x93c7    0x8aad
+0x93c8    0x6803
+0x93c9    0x6a61
+0x93ca    0x51f8
+0x93cb    0x7a81
+0x93cc    0x6934
+0x93cd    0x5c4a
+0x93ce    0x9cf6
+0x93cf    0x82eb
+0x93d0    0x5bc5
+0x93d1    0x9149
+0x93d2    0x701e
+0x93d3    0x5678
+0x93d4    0x5c6f
+0x93d5    0x60c7
+0x93d6    0x6566
+0x93d7    0x6c8c
+0x93d8    0x8c5a
+0x93d9    0x9041
+0x93da    0x9813
+0x93db    0x5451
+0x93dc    0x66c7
+0x93dd    0x920d
+0x93de    0x5948
+0x93df    0x90a3
+0x93e0    0x5185
+0x93e1    0x4e4d
+0x93e2    0x51ea
+0x93e3    0x8599
+0x93e4    0x8b0e
+0x93e5    0x7058
+0x93e6    0x637a
+0x93e7    0x934b
+0x93e8    0x6962
+0x93e9    0x99b4
+0x93ea    0x7e04
+0x93eb    0x7577
+0x93ec    0x5357
+0x93ed    0x6960
+0x93ee    0x8edf
+0x93ef    0x96e3
+0x93f0    0x6c5d
+0x93f1    0x4e8c
+0x93f2    0x5c3c
+0x93f3    0x5f10
+0x93f4    0x8fe9
+0x93f5    0x5302
+0x93f6    0x8cd1
+0x93f7    0x8089
+0x93f8    0x8679
+0x93f9    0x5eff
+0x93fa    0x65e5
+0x93fb    0x4e73
+0x93fc    0x5165
+0x9440    0x5982
+0x9441    0x5c3f
+0x9442    0x97ee
+0x9443    0x4efb
+0x9444    0x598a
+0x9445    0x5fcd
+0x9446    0x8a8d
+0x9447    0x6fe1
+0x9448    0x79b0
+0x9449    0x7962
+0x944a    0x5be7
+0x944b    0x8471
+0x944c    0x732b
+0x944d    0x71b1
+0x944e    0x5e74
+0x944f    0x5ff5
+0x9450    0x637b
+0x9451    0x649a
+0x9452    0x71c3
+0x9453    0x7c98
+0x9454    0x4e43
+0x9455    0x5efc
+0x9456    0x4e4b
+0x9457    0x57dc
+0x9458    0x56a2
+0x9459    0x60a9
+0x945a    0x6fc3
+0x945b    0x7d0d
+0x945c    0x80fd
+0x945d    0x8133
+0x945e    0x81bf
+0x945f    0x8fb2
+0x9460    0x8997
+0x9461    0x86a4
+0x9462    0x5df4
+0x9463    0x628a
+0x9464    0x64ad
+0x9465    0x8987
+0x9466    0x6777
+0x9467    0x6ce2
+0x9468    0x6d3e
+0x9469    0x7436
+0x946a    0x7834
+0x946b    0x5a46
+0x946c    0x7f75
+0x946d    0x82ad
+0x946e    0x99ac
+0x946f    0x4ff3
+0x9470    0x5ec3
+0x9471    0x62dd
+0x9472    0x6392
+0x9473    0x6557
+0x9474    0x676f
+0x9475    0x76c3
+0x9476    0x724c
+0x9477    0x80cc
+0x9478    0x80ba
+0x9479    0x8f29
+0x947a    0x914d
+0x947b    0x500d
+0x947c    0x57f9
+0x947d    0x5a92
+0x947e    0x6885
+0x9480    0x6973
+0x9481    0x7164
+0x9482    0x72fd
+0x9483    0x8cb7
+0x9484    0x58f2
+0x9485    0x8ce0
+0x9486    0x966a
+0x9487    0x9019
+0x9488    0x877f
+0x9489    0x79e4
+0x948a    0x77e7
+0x948b    0x8429
+0x948c    0x4f2f
+0x948d    0x5265
+0x948e    0x535a
+0x948f    0x62cd
+0x9490    0x67cf
+0x9491    0x6cca
+0x9492    0x767d
+0x9493    0x7b94
+0x9494    0x7c95
+0x9495    0x8236
+0x9496    0x8584
+0x9497    0x8feb
+0x9498    0x66dd
+0x9499    0x6f20
+0x949a    0x7206
+0x949b    0x7e1b
+0x949c    0x83ab
+0x949d    0x99c1
+0x949e    0x9ea6
+0x949f    0x51fd
+0x94a0    0x7bb1
+0x94a1    0x7872
+0x94a2    0x7bb8
+0x94a3    0x8087
+0x94a4    0x7b48
+0x94a5    0x6ae8
+0x94a6    0x5e61
+0x94a7    0x808c
+0x94a8    0x7551
+0x94a9    0x7560
+0x94aa    0x516b
+0x94ab    0x9262
+0x94ac    0x6e8c
+0x94ad    0x767a
+0x94ae    0x9197
+0x94af    0x9aea
+0x94b0    0x4f10
+0x94b1    0x7f70
+0x94b2    0x629c
+0x94b3    0x7b4f
+0x94b4    0x95a5
+0x94b5    0x9ce9
+0x94b6    0x567a
+0x94b7    0x5859
+0x94b8    0x86e4
+0x94b9    0x96bc
+0x94ba    0x4f34
+0x94bb    0x5224
+0x94bc    0x534a
+0x94bd    0x53cd
+0x94be    0x53db
+0x94bf    0x5e06
+0x94c0    0x642c
+0x94c1    0x6591
+0x94c2    0x677f
+0x94c3    0x6c3e
+0x94c4    0x6c4e
+0x94c5    0x7248
+0x94c6    0x72af
+0x94c7    0x73ed
+0x94c8    0x7554
+0x94c9    0x7e41
+0x94ca    0x822c
+0x94cb    0x85e9
+0x94cc    0x8ca9
+0x94cd    0x7bc4
+0x94ce    0x91c6
+0x94cf    0x7169
+0x94d0    0x9812
+0x94d1    0x98ef
+0x94d2    0x633d
+0x94d3    0x6669
+0x94d4    0x756a
+0x94d5    0x76e4
+0x94d6    0x78d0
+0x94d7    0x8543
+0x94d8    0x86ee
+0x94d9    0x532a
+0x94da    0x5351
+0x94db    0x5426
+0x94dc    0x5983
+0x94dd    0x5e87
+0x94de    0x5f7c
+0x94df    0x60b2
+0x94e0    0x6249
+0x94e1    0x6279
+0x94e2    0x62ab
+0x94e3    0x6590
+0x94e4    0x6bd4
+0x94e5    0x6ccc
+0x94e6    0x75b2
+0x94e7    0x76ae
+0x94e8    0x7891
+0x94e9    0x79d8
+0x94ea    0x7dcb
+0x94eb    0x7f77
+0x94ec    0x80a5
+0x94ed    0x88ab
+0x94ee    0x8ab9
+0x94ef    0x8cbb
+0x94f0    0x907f
+0x94f1    0x975e
+0x94f2    0x98db
+0x94f3    0x6a0b
+0x94f4    0x7c38
+0x94f5    0x5099
+0x94f6    0x5c3e
+0x94f7    0x5fae
+0x94f8    0x6787
+0x94f9    0x6bd8
+0x94fa    0x7435
+0x94fb    0x7709
+0x94fc    0x7f8e
+0x9540    0x9f3b
+0x9541    0x67ca
+0x9542    0x7a17
+0x9543    0x5339
+0x9544    0x758b
+0x9545    0x9aed
+0x9546    0x5f66
+0x9547    0x819d
+0x9548    0x83f1
+0x9549    0x8098
+0x954a    0x5f3c
+0x954b    0x5fc5
+0x954c    0x7562
+0x954d    0x7b46
+0x954e    0x903c
+0x954f    0x6867
+0x9550    0x59eb
+0x9551    0x5a9b
+0x9552    0x7d10
+0x9553    0x767e
+0x9554    0x8b2c
+0x9555    0x4ff5
+0x9556    0x5f6a
+0x9557    0x6a19
+0x9558    0x6c37
+0x9559    0x6f02
+0x955a    0x74e2
+0x955b    0x7968
+0x955c    0x8868
+0x955d    0x8a55
+0x955e    0x8c79
+0x955f    0x5edf
+0x9560    0x63cf
+0x9561    0x75c5
+0x9562    0x79d2
+0x9563    0x82d7
+0x9564    0x9328
+0x9565    0x92f2
+0x9566    0x849c
+0x9567    0x86ed
+0x9568    0x9c2d
+0x9569    0x54c1
+0x956a    0x5f6c
+0x956b    0x658c
+0x956c    0x6d5c
+0x956d    0x7015
+0x956e    0x8ca7
+0x956f    0x8cd3
+0x9570    0x983b
+0x9571    0x654f
+0x9572    0x74f6
+0x9573    0x4e0d
+0x9574    0x4ed8
+0x9575    0x57e0
+0x9576    0x592b
+0x9577    0x5a66
+0x9578    0x5bcc
+0x9579    0x51a8
+0x957a    0x5e03
+0x957b    0x5e9c
+0x957c    0x6016
+0x957d    0x6276
+0x957e    0x6577
+0x9580    0x65a7
+0x9581    0x666e
+0x9582    0x6d6e
+0x9583    0x7236
+0x9584    0x7b26
+0x9585    0x8150
+0x9586    0x819a
+0x9587    0x8299
+0x9588    0x8b5c
+0x9589    0x8ca0
+0x958a    0x8ce6
+0x958b    0x8d74
+0x958c    0x961c
+0x958d    0x9644
+0x958e    0x4fae
+0x958f    0x64ab
+0x9590    0x6b66
+0x9591    0x821e
+0x9592    0x8461
+0x9593    0x856a
+0x9594    0x90e8
+0x9595    0x5c01
+0x9596    0x6953
+0x9597    0x98a8
+0x9598    0x847a
+0x9599    0x8557
+0x959a    0x4f0f
+0x959b    0x526f
+0x959c    0x5fa9
+0x959d    0x5e45
+0x959e    0x670d
+0x959f    0x798f
+0x95a0    0x8179
+0x95a1    0x8907
+0x95a2    0x8986
+0x95a3    0x6df5
+0x95a4    0x5f17
+0x95a5    0x6255
+0x95a6    0x6cb8
+0x95a7    0x4ecf
+0x95a8    0x7269
+0x95a9    0x9b92
+0x95aa    0x5206
+0x95ab    0x543b
+0x95ac    0x5674
+0x95ad    0x58b3
+0x95ae    0x61a4
+0x95af    0x626e
+0x95b0    0x711a
+0x95b1    0x596e
+0x95b2    0x7c89
+0x95b3    0x7cde
+0x95b4    0x7d1b
+0x95b5    0x96f0
+0x95b6    0x6587
+0x95b7    0x805e
+0x95b8    0x4e19
+0x95b9    0x4f75
+0x95ba    0x5175
+0x95bb    0x5840
+0x95bc    0x5e63
+0x95bd    0x5e73
+0x95be    0x5f0a
+0x95bf    0x67c4
+0x95c0    0x4e26
+0x95c1    0x853d
+0x95c2    0x9589
+0x95c3    0x965b
+0x95c4    0x7c73
+0x95c5    0x9801
+0x95c6    0x50fb
+0x95c7    0x58c1
+0x95c8    0x7656
+0x95c9    0x78a7
+0x95ca    0x5225
+0x95cb    0x77a5
+0x95cc    0x8511
+0x95cd    0x7b86
+0x95ce    0x504f
+0x95cf    0x5909
+0x95d0    0x7247
+0x95d1    0x7bc7
+0x95d2    0x7de8
+0x95d3    0x8fba
+0x95d4    0x8fd4
+0x95d5    0x904d
+0x95d6    0x4fbf
+0x95d7    0x52c9
+0x95d8    0x5a29
+0x95d9    0x5f01
+0x95da    0x97ad
+0x95db    0x4fdd
+0x95dc    0x8217
+0x95dd    0x92ea
+0x95de    0x5703
+0x95df    0x6355
+0x95e0    0x6b69
+0x95e1    0x752b
+0x95e2    0x88dc
+0x95e3    0x8f14
+0x95e4    0x7a42
+0x95e5    0x52df
+0x95e6    0x5893
+0x95e7    0x6155
+0x95e8    0x620a
+0x95e9    0x66ae
+0x95ea    0x6bcd
+0x95eb    0x7c3f
+0x95ec    0x83e9
+0x95ed    0x5023
+0x95ee    0x4ff8
+0x95ef    0x5305
+0x95f0    0x5446
+0x95f1    0x5831
+0x95f2    0x5949
+0x95f3    0x5b9d
+0x95f4    0x5cf0
+0x95f5    0x5cef
+0x95f6    0x5d29
+0x95f7    0x5e96
+0x95f8    0x62b1
+0x95f9    0x6367
+0x95fa    0x653e
+0x95fb    0x65b9
+0x95fc    0x670b
+0x9640    0x6cd5
+0x9641    0x6ce1
+0x9642    0x70f9
+0x9643    0x7832
+0x9644    0x7e2b
+0x9645    0x80de
+0x9646    0x82b3
+0x9647    0x840c
+0x9648    0x84ec
+0x9649    0x8702
+0x964a    0x8912
+0x964b    0x8a2a
+0x964c    0x8c4a
+0x964d    0x90a6
+0x964e    0x92d2
+0x964f    0x98fd
+0x9650    0x9cf3
+0x9651    0x9d6c
+0x9652    0x4e4f
+0x9653    0x4ea1
+0x9654    0x508d
+0x9655    0x5256
+0x9656    0x574a
+0x9657    0x59a8
+0x9658    0x5e3d
+0x9659    0x5fd8
+0x965a    0x5fd9
+0x965b    0x623f
+0x965c    0x66b4
+0x965d    0x671b
+0x965e    0x67d0
+0x965f    0x68d2
+0x9660    0x5192
+0x9661    0x7d21
+0x9662    0x80aa
+0x9663    0x81a8
+0x9664    0x8b00
+0x9665    0x8c8c
+0x9666    0x8cbf
+0x9667    0x927e
+0x9668    0x9632
+0x9669    0x5420
+0x966a    0x982c
+0x966b    0x5317
+0x966c    0x50d5
+0x966d    0x535c
+0x966e    0x58a8
+0x966f    0x64b2
+0x9670    0x6734
+0x9671    0x7267
+0x9672    0x7766
+0x9673    0x7a46
+0x9674    0x91e6
+0x9675    0x52c3
+0x9676    0x6ca1
+0x9677    0x6b86
+0x9678    0x5800
+0x9679    0x5e4c
+0x967a    0x5954
+0x967b    0x672c
+0x967c    0x7ffb
+0x967d    0x51e1
+0x967e    0x76c6
+0x9680    0x6469
+0x9681    0x78e8
+0x9682    0x9b54
+0x9683    0x9ebb
+0x9684    0x57cb
+0x9685    0x59b9
+0x9686    0x6627
+0x9687    0x679a
+0x9688    0x6bce
+0x9689    0x54e9
+0x968a    0x69d9
+0x968b    0x5e55
+0x968c    0x819c
+0x968d    0x6795
+0x968e    0x9baa
+0x968f    0x67fe
+0x9690    0x9c52
+0x9691    0x685d
+0x9692    0x4ea6
+0x9693    0x4fe3
+0x9694    0x53c8
+0x9695    0x62b9
+0x9696    0x672b
+0x9697    0x6cab
+0x9698    0x8fc4
+0x9699    0x4fad
+0x969a    0x7e6d
+0x969b    0x9ebf
+0x969c    0x4e07
+0x969d    0x6162
+0x969e    0x6e80
+0x969f    0x6f2b
+0x96a0    0x8513
+0x96a1    0x5473
+0x96a2    0x672a
+0x96a3    0x9b45
+0x96a4    0x5df3
+0x96a5    0x7b95
+0x96a6    0x5cac
+0x96a7    0x5bc6
+0x96a8    0x871c
+0x96a9    0x6e4a
+0x96aa    0x84d1
+0x96ab    0x7a14
+0x96ac    0x8108
+0x96ad    0x5999
+0x96ae    0x7c8d
+0x96af    0x6c11
+0x96b0    0x7720
+0x96b1    0x52d9
+0x96b2    0x5922
+0x96b3    0x7121
+0x96b4    0x725f
+0x96b5    0x77db
+0x96b6    0x9727
+0x96b7    0x9d61
+0x96b8    0x690b
+0x96b9    0x5a7f
+0x96ba    0x5a18
+0x96bb    0x51a5
+0x96bc    0x540d
+0x96bd    0x547d
+0x96be    0x660e
+0x96bf    0x76df
+0x96c0    0x8ff7
+0x96c1    0x9298
+0x96c2    0x9cf4
+0x96c3    0x59ea
+0x96c4    0x725d
+0x96c5    0x6ec5
+0x96c6    0x514d
+0x96c7    0x68c9
+0x96c8    0x7dbf
+0x96c9    0x7dec
+0x96ca    0x9762
+0x96cb    0x9eba
+0x96cc    0x6478
+0x96cd    0x6a21
+0x96ce    0x8302
+0x96cf    0x5984
+0x96d0    0x5b5f
+0x96d1    0x6bdb
+0x96d2    0x731b
+0x96d3    0x76f2
+0x96d4    0x7db2
+0x96d5    0x8017
+0x96d6    0x8499
+0x96d7    0x5132
+0x96d8    0x6728
+0x96d9    0x9ed9
+0x96da    0x76ee
+0x96db    0x6762
+0x96dc    0x52ff
+0x96dd    0x9905
+0x96de    0x5c24
+0x96df    0x623b
+0x96e0    0x7c7e
+0x96e1    0x8cb0
+0x96e2    0x554f
+0x96e3    0x60b6
+0x96e4    0x7d0b
+0x96e5    0x9580
+0x96e6    0x5301
+0x96e7    0x4e5f
+0x96e8    0x51b6
+0x96e9    0x591c
+0x96ea    0x723a
+0x96eb    0x8036
+0x96ec    0x91ce
+0x96ed    0x5f25
+0x96ee    0x77e2
+0x96ef    0x5384
+0x96f0    0x5f79
+0x96f1    0x7d04
+0x96f2    0x85ac
+0x96f3    0x8a33
+0x96f4    0x8e8d
+0x96f5    0x9756
+0x96f6    0x67f3
+0x96f7    0x85ae
+0x96f8    0x9453
+0x96f9    0x6109
+0x96fa    0x6108
+0x96fb    0x6cb9
+0x96fc    0x7652
+0x9740    0x8aed
+0x9741    0x8f38
+0x9742    0x552f
+0x9743    0x4f51
+0x9744    0x512a
+0x9745    0x52c7
+0x9746    0x53cb
+0x9747    0x5ba5
+0x9748    0x5e7d
+0x9749    0x60a0
+0x974a    0x6182
+0x974b    0x63d6
+0x974c    0x6709
+0x974d    0x67da
+0x974e    0x6e67
+0x974f    0x6d8c
+0x9750    0x7336
+0x9751    0x7337
+0x9752    0x7531
+0x9753    0x7950
+0x9754    0x88d5
+0x9755    0x8a98
+0x9756    0x904a
+0x9757    0x9091
+0x9758    0x90f5
+0x9759    0x96c4
+0x975a    0x878d
+0x975b    0x5915
+0x975c    0x4e88
+0x975d    0x4f59
+0x975e    0x4e0e
+0x975f    0x8a89
+0x9760    0x8f3f
+0x9761    0x9810
+0x9762    0x50ad
+0x9763    0x5e7c
+0x9764    0x5996
+0x9765    0x5bb9
+0x9766    0x5eb8
+0x9767    0x63da
+0x9768    0x63fa
+0x9769    0x64c1
+0x976a    0x66dc
+0x976b    0x694a
+0x976c    0x69d8
+0x976d    0x6d0b
+0x976e    0x6eb6
+0x976f    0x7194
+0x9770    0x7528
+0x9771    0x7aaf
+0x9772    0x7f8a
+0x9773    0x8000
+0x9774    0x8449
+0x9775    0x84c9
+0x9776    0x8981
+0x9777    0x8b21
+0x9778    0x8e0a
+0x9779    0x9065
+0x977a    0x967d
+0x977b    0x990a
+0x977c    0x617e
+0x977d    0x6291
+0x977e    0x6b32
+0x9780    0x6c83
+0x9781    0x6d74
+0x9782    0x7fcc
+0x9783    0x7ffc
+0x9784    0x6dc0
+0x9785    0x7f85
+0x9786    0x87ba
+0x9787    0x88f8
+0x9788    0x6765
+0x9789    0x83b1
+0x978a    0x983c
+0x978b    0x96f7
+0x978c    0x6d1b
+0x978d    0x7d61
+0x978e    0x843d
+0x978f    0x916a
+0x9790    0x4e71
+0x9791    0x5375
+0x9792    0x5d50
+0x9793    0x6b04
+0x9794    0x6feb
+0x9795    0x85cd
+0x9796    0x862d
+0x9797    0x89a7
+0x9798    0x5229
+0x9799    0x540f
+0x979a    0x5c65
+0x979b    0x674e
+0x979c    0x68a8
+0x979d    0x7406
+0x979e    0x7483
+0x979f    0x75e2
+0x97a0    0x88cf
+0x97a1    0x88e1
+0x97a2    0x91cc
+0x97a3    0x96e2
+0x97a4    0x9678
+0x97a5    0x5f8b
+0x97a6    0x7387
+0x97a7    0x7acb
+0x97a8    0x844e
+0x97a9    0x63a0
+0x97aa    0x7565
+0x97ab    0x5289
+0x97ac    0x6d41
+0x97ad    0x6e9c
+0x97ae    0x7409
+0x97af    0x7559
+0x97b0    0x786b
+0x97b1    0x7c92
+0x97b2    0x9686
+0x97b3    0x7adc
+0x97b4    0x9f8d
+0x97b5    0x4fb6
+0x97b6    0x616e
+0x97b7    0x65c5
+0x97b8    0x865c
+0x97b9    0x4e86
+0x97ba    0x4eae
+0x97bb    0x50da
+0x97bc    0x4e21
+0x97bd    0x51cc
+0x97be    0x5bee
+0x97bf    0x6599
+0x97c0    0x6881
+0x97c1    0x6dbc
+0x97c2    0x731f
+0x97c3    0x7642
+0x97c4    0x77ad
+0x97c5    0x7a1c
+0x97c6    0x7ce7
+0x97c7    0x826f
+0x97c8    0x8ad2
+0x97c9    0x907c
+0x97ca    0x91cf
+0x97cb    0x9675
+0x97cc    0x9818
+0x97cd    0x529b
+0x97ce    0x7dd1
+0x97cf    0x502b
+0x97d0    0x5398
+0x97d1    0x6797
+0x97d2    0x6dcb
+0x97d3    0x71d0
+0x97d4    0x7433
+0x97d5    0x81e8
+0x97d6    0x8f2a
+0x97d7    0x96a3
+0x97d8    0x9c57
+0x97d9    0x9e9f
+0x97da    0x7460
+0x97db    0x5841
+0x97dc    0x6d99
+0x97dd    0x7d2f
+0x97de    0x985e
+0x97df    0x4ee4
+0x97e0    0x4f36
+0x97e1    0x4f8b
+0x97e2    0x51b7
+0x97e3    0x52b1
+0x97e4    0x5dba
+0x97e5    0x601c
+0x97e6    0x73b2
+0x97e7    0x793c
+0x97e8    0x82d3
+0x97e9    0x9234
+0x97ea    0x96b7
+0x97eb    0x96f6
+0x97ec    0x970a
+0x97ed    0x9e97
+0x97ee    0x9f62
+0x97ef    0x66a6
+0x97f0    0x6b74
+0x97f1    0x5217
+0x97f2    0x52a3
+0x97f3    0x70c8
+0x97f4    0x88c2
+0x97f5    0x5ec9
+0x97f6    0x604b
+0x97f7    0x6190
+0x97f8    0x6f23
+0x97f9    0x7149
+0x97fa    0x7c3e
+0x97fb    0x7df4
+0x97fc    0x806f
+0x9840    0x84ee
+0x9841    0x9023
+0x9842    0x932c
+0x9843    0x5442
+0x9844    0x9b6f
+0x9845    0x6ad3
+0x9846    0x7089
+0x9847    0x8cc2
+0x9848    0x8def
+0x9849    0x9732
+0x984a    0x52b4
+0x984b    0x5a41
+0x984c    0x5eca
+0x984d    0x5f04
+0x984e    0x6717
+0x984f    0x697c
+0x9850    0x6994
+0x9851    0x6d6a
+0x9852    0x6f0f
+0x9853    0x7262
+0x9854    0x72fc
+0x9855    0x7bed
+0x9856    0x8001
+0x9857    0x807e
+0x9858    0x874b
+0x9859    0x90ce
+0x985a    0x516d
+0x985b    0x9e93
+0x985c    0x7984
+0x985d    0x808b
+0x985e    0x9332
+0x985f    0x8ad6
+0x9860    0x502d
+0x9861    0x548c
+0x9862    0x8a71
+0x9863    0x6b6a
+0x9864    0x8cc4
+0x9865    0x8107
+0x9866    0x60d1
+0x9867    0x67a0
+0x9868    0x9df2
+0x9869    0x4e99
+0x986a    0x4e98
+0x986b    0x9c10
+0x986c    0x8a6b
+0x986d    0x85c1
+0x986e    0x8568
+0x986f    0x6900
+0x9870    0x6e7e
+0x9871    0x7897
+0x9872    0x8155
+0x989f    0x5f0c
+0x98a0    0x4e10
+0x98a1    0x4e15
+0x98a2    0x4e2a
+0x98a3    0x4e31
+0x98a4    0x4e36
+0x98a5    0x4e3c
+0x98a6    0x4e3f
+0x98a7    0x4e42
+0x98a8    0x4e56
+0x98a9    0x4e58
+0x98aa    0x4e82
+0x98ab    0x4e85
+0x98ac    0x8c6b
+0x98ad    0x4e8a
+0x98ae    0x8212
+0x98af    0x5f0d
+0x98b0    0x4e8e
+0x98b1    0x4e9e
+0x98b2    0x4e9f
+0x98b3    0x4ea0
+0x98b4    0x4ea2
+0x98b5    0x4eb0
+0x98b6    0x4eb3
+0x98b7    0x4eb6
+0x98b8    0x4ece
+0x98b9    0x4ecd
+0x98ba    0x4ec4
+0x98bb    0x4ec6
+0x98bc    0x4ec2
+0x98bd    0x4ed7
+0x98be    0x4ede
+0x98bf    0x4eed
+0x98c0    0x4edf
+0x98c1    0x4ef7
+0x98c2    0x4f09
+0x98c3    0x4f5a
+0x98c4    0x4f30
+0x98c5    0x4f5b
+0x98c6    0x4f5d
+0x98c7    0x4f57
+0x98c8    0x4f47
+0x98c9    0x4f76
+0x98ca    0x4f88
+0x98cb    0x4f8f
+0x98cc    0x4f98
+0x98cd    0x4f7b
+0x98ce    0x4f69
+0x98cf    0x4f70
+0x98d0    0x4f91
+0x98d1    0x4f6f
+0x98d2    0x4f86
+0x98d3    0x4f96
+0x98d4    0x5118
+0x98d5    0x4fd4
+0x98d6    0x4fdf
+0x98d7    0x4fce
+0x98d8    0x4fd8
+0x98d9    0x4fdb
+0x98da    0x4fd1
+0x98db    0x4fda
+0x98dc    0x4fd0
+0x98dd    0x4fe4
+0x98de    0x4fe5
+0x98df    0x501a
+0x98e0    0x5028
+0x98e1    0x5014
+0x98e2    0x502a
+0x98e3    0x5025
+0x98e4    0x5005
+0x98e5    0x4f1c
+0x98e6    0x4ff6
+0x98e7    0x5021
+0x98e8    0x5029
+0x98e9    0x502c
+0x98ea    0x4ffe
+0x98eb    0x4fef
+0x98ec    0x5011
+0x98ed    0x5006
+0x98ee    0x5043
+0x98ef    0x5047
+0x98f0    0x6703
+0x98f1    0x5055
+0x98f2    0x5050
+0x98f3    0x5048
+0x98f4    0x505a
+0x98f5    0x5056
+0x98f6    0x506c
+0x98f7    0x5078
+0x98f8    0x5080
+0x98f9    0x509a
+0x98fa    0x5085
+0x98fb    0x50b4
+0x98fc    0x50b2
+0x9940    0x50c9
+0x9941    0x50ca
+0x9942    0x50b3
+0x9943    0x50c2
+0x9944    0x50d6
+0x9945    0x50de
+0x9946    0x50e5
+0x9947    0x50ed
+0x9948    0x50e3
+0x9949    0x50ee
+0x994a    0x50f9
+0x994b    0x50f5
+0x994c    0x5109
+0x994d    0x5101
+0x994e    0x5102
+0x994f    0x5116
+0x9950    0x5115
+0x9951    0x5114
+0x9952    0x511a
+0x9953    0x5121
+0x9954    0x513a
+0x9955    0x5137
+0x9956    0x513c
+0x9957    0x513b
+0x9958    0x513f
+0x9959    0x5140
+0x995a    0x5152
+0x995b    0x514c
+0x995c    0x5154
+0x995d    0x5162
+0x995e    0x7af8
+0x995f    0x5169
+0x9960    0x516a
+0x9961    0x516e
+0x9962    0x5180
+0x9963    0x5182
+0x9964    0x56d8
+0x9965    0x518c
+0x9966    0x5189
+0x9967    0x518f
+0x9968    0x5191
+0x9969    0x5193
+0x996a    0x5195
+0x996b    0x5196
+0x996c    0x51a4
+0x996d    0x51a6
+0x996e    0x51a2
+0x996f    0x51a9
+0x9970    0x51aa
+0x9971    0x51ab
+0x9972    0x51b3
+0x9973    0x51b1
+0x9974    0x51b2
+0x9975    0x51b0
+0x9976    0x51b5
+0x9977    0x51bd
+0x9978    0x51c5
+0x9979    0x51c9
+0x997a    0x51db
+0x997b    0x51e0
+0x997c    0x8655
+0x997d    0x51e9
+0x997e    0x51ed
+0x9980    0x51f0
+0x9981    0x51f5
+0x9982    0x51fe
+0x9983    0x5204
+0x9984    0x520b
+0x9985    0x5214
+0x9986    0x520e
+0x9987    0x5227
+0x9988    0x522a
+0x9989    0x522e
+0x998a    0x5233
+0x998b    0x5239
+0x998c    0x524f
+0x998d    0x5244
+0x998e    0x524b
+0x998f    0x524c
+0x9990    0x525e
+0x9991    0x5254
+0x9992    0x526a
+0x9993    0x5274
+0x9994    0x5269
+0x9995    0x5273
+0x9996    0x527f
+0x9997    0x527d
+0x9998    0x528d
+0x9999    0x5294
+0x999a    0x5292
+0x999b    0x5271
+0x999c    0x5288
+0x999d    0x5291
+0x999e    0x8fa8
+0x999f    0x8fa7
+0x99a0    0x52ac
+0x99a1    0x52ad
+0x99a2    0x52bc
+0x99a3    0x52b5
+0x99a4    0x52c1
+0x99a5    0x52cd
+0x99a6    0x52d7
+0x99a7    0x52de
+0x99a8    0x52e3
+0x99a9    0x52e6
+0x99aa    0x98ed
+0x99ab    0x52e0
+0x99ac    0x52f3
+0x99ad    0x52f5
+0x99ae    0x52f8
+0x99af    0x52f9
+0x99b0    0x5306
+0x99b1    0x5308
+0x99b2    0x7538
+0x99b3    0x530d
+0x99b4    0x5310
+0x99b5    0x530f
+0x99b6    0x5315
+0x99b7    0x531a
+0x99b8    0x5323
+0x99b9    0x532f
+0x99ba    0x5331
+0x99bb    0x5333
+0x99bc    0x5338
+0x99bd    0x5340
+0x99be    0x5346
+0x99bf    0x5345
+0x99c0    0x4e17
+0x99c1    0x5349
+0x99c2    0x534d
+0x99c3    0x51d6
+0x99c4    0x535e
+0x99c5    0x5369
+0x99c6    0x536e
+0x99c7    0x5918
+0x99c8    0x537b
+0x99c9    0x5377
+0x99ca    0x5382
+0x99cb    0x5396
+0x99cc    0x53a0
+0x99cd    0x53a6
+0x99ce    0x53a5
+0x99cf    0x53ae
+0x99d0    0x53b0
+0x99d1    0x53b6
+0x99d2    0x53c3
+0x99d3    0x7c12
+0x99d4    0x96d9
+0x99d5    0x53df
+0x99d6    0x66fc
+0x99d7    0x71ee
+0x99d8    0x53ee
+0x99d9    0x53e8
+0x99da    0x53ed
+0x99db    0x53fa
+0x99dc    0x5401
+0x99dd    0x543d
+0x99de    0x5440
+0x99df    0x542c
+0x99e0    0x542d
+0x99e1    0x543c
+0x99e2    0x542e
+0x99e3    0x5436
+0x99e4    0x5429
+0x99e5    0x541d
+0x99e6    0x544e
+0x99e7    0x548f
+0x99e8    0x5475
+0x99e9    0x548e
+0x99ea    0x545f
+0x99eb    0x5471
+0x99ec    0x5477
+0x99ed    0x5470
+0x99ee    0x5492
+0x99ef    0x547b
+0x99f0    0x5480
+0x99f1    0x5476
+0x99f2    0x5484
+0x99f3    0x5490
+0x99f4    0x5486
+0x99f5    0x54c7
+0x99f6    0x54a2
+0x99f7    0x54b8
+0x99f8    0x54a5
+0x99f9    0x54ac
+0x99fa    0x54c4
+0x99fb    0x54c8
+0x99fc    0x54a8
+0x9a40    0x54ab
+0x9a41    0x54c2
+0x9a42    0x54a4
+0x9a43    0x54be
+0x9a44    0x54bc
+0x9a45    0x54d8
+0x9a46    0x54e5
+0x9a47    0x54e6
+0x9a48    0x550f
+0x9a49    0x5514
+0x9a4a    0x54fd
+0x9a4b    0x54ee
+0x9a4c    0x54ed
+0x9a4d    0x54fa
+0x9a4e    0x54e2
+0x9a4f    0x5539
+0x9a50    0x5540
+0x9a51    0x5563
+0x9a52    0x554c
+0x9a53    0x552e
+0x9a54    0x555c
+0x9a55    0x5545
+0x9a56    0x5556
+0x9a57    0x5557
+0x9a58    0x5538
+0x9a59    0x5533
+0x9a5a    0x555d
+0x9a5b    0x5599
+0x9a5c    0x5580
+0x9a5d    0x54af
+0x9a5e    0x558a
+0x9a5f    0x559f
+0x9a60    0x557b
+0x9a61    0x557e
+0x9a62    0x5598
+0x9a63    0x559e
+0x9a64    0x55ae
+0x9a65    0x557c
+0x9a66    0x5583
+0x9a67    0x55a9
+0x9a68    0x5587
+0x9a69    0x55a8
+0x9a6a    0x55da
+0x9a6b    0x55c5
+0x9a6c    0x55df
+0x9a6d    0x55c4
+0x9a6e    0x55dc
+0x9a6f    0x55e4
+0x9a70    0x55d4
+0x9a71    0x5614
+0x9a72    0x55f7
+0x9a73    0x5616
+0x9a74    0x55fe
+0x9a75    0x55fd
+0x9a76    0x561b
+0x9a77    0x55f9
+0x9a78    0x564e
+0x9a79    0x5650
+0x9a7a    0x71df
+0x9a7b    0x5634
+0x9a7c    0x5636
+0x9a7d    0x5632
+0x9a7e    0x5638
+0x9a80    0x566b
+0x9a81    0x5664
+0x9a82    0x562f
+0x9a83    0x566c
+0x9a84    0x566a
+0x9a85    0x5686
+0x9a86    0x5680
+0x9a87    0x568a
+0x9a88    0x56a0
+0x9a89    0x5694
+0x9a8a    0x568f
+0x9a8b    0x56a5
+0x9a8c    0x56ae
+0x9a8d    0x56b6
+0x9a8e    0x56b4
+0x9a8f    0x56c2
+0x9a90    0x56bc
+0x9a91    0x56c1
+0x9a92    0x56c3
+0x9a93    0x56c0
+0x9a94    0x56c8
+0x9a95    0x56ce
+0x9a96    0x56d1
+0x9a97    0x56d3
+0x9a98    0x56d7
+0x9a99    0x56ee
+0x9a9a    0x56f9
+0x9a9b    0x5700
+0x9a9c    0x56ff
+0x9a9d    0x5704
+0x9a9e    0x5709
+0x9a9f    0x5708
+0x9aa0    0x570b
+0x9aa1    0x570d
+0x9aa2    0x5713
+0x9aa3    0x5718
+0x9aa4    0x5716
+0x9aa5    0x55c7
+0x9aa6    0x571c
+0x9aa7    0x5726
+0x9aa8    0x5737
+0x9aa9    0x5738
+0x9aaa    0x574e
+0x9aab    0x573b
+0x9aac    0x5740
+0x9aad    0x574f
+0x9aae    0x5769
+0x9aaf    0x57c0
+0x9ab0    0x5788
+0x9ab1    0x5761
+0x9ab2    0x577f
+0x9ab3    0x5789
+0x9ab4    0x5793
+0x9ab5    0x57a0
+0x9ab6    0x57b3
+0x9ab7    0x57a4
+0x9ab8    0x57aa
+0x9ab9    0x57b0
+0x9aba    0x57c3
+0x9abb    0x57c6
+0x9abc    0x57d4
+0x9abd    0x57d2
+0x9abe    0x57d3
+0x9abf    0x580a
+0x9ac0    0x57d6
+0x9ac1    0x57e3
+0x9ac2    0x580b
+0x9ac3    0x5819
+0x9ac4    0x581d
+0x9ac5    0x5872
+0x9ac6    0x5821
+0x9ac7    0x5862
+0x9ac8    0x584b
+0x9ac9    0x5870
+0x9aca    0x6bc0
+0x9acb    0x5852
+0x9acc    0x583d
+0x9acd    0x5879
+0x9ace    0x5885
+0x9acf    0x58b9
+0x9ad0    0x589f
+0x9ad1    0x58ab
+0x9ad2    0x58ba
+0x9ad3    0x58de
+0x9ad4    0x58bb
+0x9ad5    0x58b8
+0x9ad6    0x58ae
+0x9ad7    0x58c5
+0x9ad8    0x58d3
+0x9ad9    0x58d1
+0x9ada    0x58d7
+0x9adb    0x58d9
+0x9adc    0x58d8
+0x9add    0x58e5
+0x9ade    0x58dc
+0x9adf    0x58e4
+0x9ae0    0x58df
+0x9ae1    0x58ef
+0x9ae2    0x58fa
+0x9ae3    0x58f9
+0x9ae4    0x58fb
+0x9ae5    0x58fc
+0x9ae6    0x58fd
+0x9ae7    0x5902
+0x9ae8    0x590a
+0x9ae9    0x5910
+0x9aea    0x591b
+0x9aeb    0x68a6
+0x9aec    0x5925
+0x9aed    0x592c
+0x9aee    0x592d
+0x9aef    0x5932
+0x9af0    0x5938
+0x9af1    0x593e
+0x9af2    0x7ad2
+0x9af3    0x5955
+0x9af4    0x5950
+0x9af5    0x594e
+0x9af6    0x595a
+0x9af7    0x5958
+0x9af8    0x5962
+0x9af9    0x5960
+0x9afa    0x5967
+0x9afb    0x596c
+0x9afc    0x5969
+0x9b40    0x5978
+0x9b41    0x5981
+0x9b42    0x599d
+0x9b43    0x4f5e
+0x9b44    0x4fab
+0x9b45    0x59a3
+0x9b46    0x59b2
+0x9b47    0x59c6
+0x9b48    0x59e8
+0x9b49    0x59dc
+0x9b4a    0x598d
+0x9b4b    0x59d9
+0x9b4c    0x59da
+0x9b4d    0x5a25
+0x9b4e    0x5a1f
+0x9b4f    0x5a11
+0x9b50    0x5a1c
+0x9b51    0x5a09
+0x9b52    0x5a1a
+0x9b53    0x5a40
+0x9b54    0x5a6c
+0x9b55    0x5a49
+0x9b56    0x5a35
+0x9b57    0x5a36
+0x9b58    0x5a62
+0x9b59    0x5a6a
+0x9b5a    0x5a9a
+0x9b5b    0x5abc
+0x9b5c    0x5abe
+0x9b5d    0x5acb
+0x9b5e    0x5ac2
+0x9b5f    0x5abd
+0x9b60    0x5ae3
+0x9b61    0x5ad7
+0x9b62    0x5ae6
+0x9b63    0x5ae9
+0x9b64    0x5ad6
+0x9b65    0x5afa
+0x9b66    0x5afb
+0x9b67    0x5b0c
+0x9b68    0x5b0b
+0x9b69    0x5b16
+0x9b6a    0x5b32
+0x9b6b    0x5ad0
+0x9b6c    0x5b2a
+0x9b6d    0x5b36
+0x9b6e    0x5b3e
+0x9b6f    0x5b43
+0x9b70    0x5b45
+0x9b71    0x5b40
+0x9b72    0x5b51
+0x9b73    0x5b55
+0x9b74    0x5b5a
+0x9b75    0x5b5b
+0x9b76    0x5b65
+0x9b77    0x5b69
+0x9b78    0x5b70
+0x9b79    0x5b73
+0x9b7a    0x5b75
+0x9b7b    0x5b78
+0x9b7c    0x6588
+0x9b7d    0x5b7a
+0x9b7e    0x5b80
+0x9b80    0x5b83
+0x9b81    0x5ba6
+0x9b82    0x5bb8
+0x9b83    0x5bc3
+0x9b84    0x5bc7
+0x9b85    0x5bc9
+0x9b86    0x5bd4
+0x9b87    0x5bd0
+0x9b88    0x5be4
+0x9b89    0x5be6
+0x9b8a    0x5be2
+0x9b8b    0x5bde
+0x9b8c    0x5be5
+0x9b8d    0x5beb
+0x9b8e    0x5bf0
+0x9b8f    0x5bf6
+0x9b90    0x5bf3
+0x9b91    0x5c05
+0x9b92    0x5c07
+0x9b93    0x5c08
+0x9b94    0x5c0d
+0x9b95    0x5c13
+0x9b96    0x5c20
+0x9b97    0x5c22
+0x9b98    0x5c28
+0x9b99    0x5c38
+0x9b9a    0x5c39
+0x9b9b    0x5c41
+0x9b9c    0x5c46
+0x9b9d    0x5c4e
+0x9b9e    0x5c53
+0x9b9f    0x5c50
+0x9ba0    0x5c4f
+0x9ba1    0x5b71
+0x9ba2    0x5c6c
+0x9ba3    0x5c6e
+0x9ba4    0x4e62
+0x9ba5    0x5c76
+0x9ba6    0x5c79
+0x9ba7    0x5c8c
+0x9ba8    0x5c91
+0x9ba9    0x5c94
+0x9baa    0x599b
+0x9bab    0x5cab
+0x9bac    0x5cbb
+0x9bad    0x5cb6
+0x9bae    0x5cbc
+0x9baf    0x5cb7
+0x9bb0    0x5cc5
+0x9bb1    0x5cbe
+0x9bb2    0x5cc7
+0x9bb3    0x5cd9
+0x9bb4    0x5ce9
+0x9bb5    0x5cfd
+0x9bb6    0x5cfa
+0x9bb7    0x5ced
+0x9bb8    0x5d8c
+0x9bb9    0x5cea
+0x9bba    0x5d0b
+0x9bbb    0x5d15
+0x9bbc    0x5d17
+0x9bbd    0x5d5c
+0x9bbe    0x5d1f
+0x9bbf    0x5d1b
+0x9bc0    0x5d11
+0x9bc1    0x5d14
+0x9bc2    0x5d22
+0x9bc3    0x5d1a
+0x9bc4    0x5d19
+0x9bc5    0x5d18
+0x9bc6    0x5d4c
+0x9bc7    0x5d52
+0x9bc8    0x5d4e
+0x9bc9    0x5d4b
+0x9bca    0x5d6c
+0x9bcb    0x5d73
+0x9bcc    0x5d76
+0x9bcd    0x5d87
+0x9bce    0x5d84
+0x9bcf    0x5d82
+0x9bd0    0x5da2
+0x9bd1    0x5d9d
+0x9bd2    0x5dac
+0x9bd3    0x5dae
+0x9bd4    0x5dbd
+0x9bd5    0x5d90
+0x9bd6    0x5db7
+0x9bd7    0x5dbc
+0x9bd8    0x5dc9
+0x9bd9    0x5dcd
+0x9bda    0x5dd3
+0x9bdb    0x5dd2
+0x9bdc    0x5dd6
+0x9bdd    0x5ddb
+0x9bde    0x5deb
+0x9bdf    0x5df2
+0x9be0    0x5df5
+0x9be1    0x5e0b
+0x9be2    0x5e1a
+0x9be3    0x5e19
+0x9be4    0x5e11
+0x9be5    0x5e1b
+0x9be6    0x5e36
+0x9be7    0x5e37
+0x9be8    0x5e44
+0x9be9    0x5e43
+0x9bea    0x5e40
+0x9beb    0x5e4e
+0x9bec    0x5e57
+0x9bed    0x5e54
+0x9bee    0x5e5f
+0x9bef    0x5e62
+0x9bf0    0x5e64
+0x9bf1    0x5e47
+0x9bf2    0x5e75
+0x9bf3    0x5e76
+0x9bf4    0x5e7a
+0x9bf5    0x9ebc
+0x9bf6    0x5e7f
+0x9bf7    0x5ea0
+0x9bf8    0x5ec1
+0x9bf9    0x5ec2
+0x9bfa    0x5ec8
+0x9bfb    0x5ed0
+0x9bfc    0x5ecf
+0x9c40    0x5ed6
+0x9c41    0x5ee3
+0x9c42    0x5edd
+0x9c43    0x5eda
+0x9c44    0x5edb
+0x9c45    0x5ee2
+0x9c46    0x5ee1
+0x9c47    0x5ee8
+0x9c48    0x5ee9
+0x9c49    0x5eec
+0x9c4a    0x5ef1
+0x9c4b    0x5ef3
+0x9c4c    0x5ef0
+0x9c4d    0x5ef4
+0x9c4e    0x5ef8
+0x9c4f    0x5efe
+0x9c50    0x5f03
+0x9c51    0x5f09
+0x9c52    0x5f5d
+0x9c53    0x5f5c
+0x9c54    0x5f0b
+0x9c55    0x5f11
+0x9c56    0x5f16
+0x9c57    0x5f29
+0x9c58    0x5f2d
+0x9c59    0x5f38
+0x9c5a    0x5f41
+0x9c5b    0x5f48
+0x9c5c    0x5f4c
+0x9c5d    0x5f4e
+0x9c5e    0x5f2f
+0x9c5f    0x5f51
+0x9c60    0x5f56
+0x9c61    0x5f57
+0x9c62    0x5f59
+0x9c63    0x5f61
+0x9c64    0x5f6d
+0x9c65    0x5f73
+0x9c66    0x5f77
+0x9c67    0x5f83
+0x9c68    0x5f82
+0x9c69    0x5f7f
+0x9c6a    0x5f8a
+0x9c6b    0x5f88
+0x9c6c    0x5f91
+0x9c6d    0x5f87
+0x9c6e    0x5f9e
+0x9c6f    0x5f99
+0x9c70    0x5f98
+0x9c71    0x5fa0
+0x9c72    0x5fa8
+0x9c73    0x5fad
+0x9c74    0x5fbc
+0x9c75    0x5fd6
+0x9c76    0x5ffb
+0x9c77    0x5fe4
+0x9c78    0x5ff8
+0x9c79    0x5ff1
+0x9c7a    0x5fdd
+0x9c7b    0x60b3
+0x9c7c    0x5fff
+0x9c7d    0x6021
+0x9c7e    0x6060
+0x9c80    0x6019
+0x9c81    0x6010
+0x9c82    0x6029
+0x9c83    0x600e
+0x9c84    0x6031
+0x9c85    0x601b
+0x9c86    0x6015
+0x9c87    0x602b
+0x9c88    0x6026
+0x9c89    0x600f
+0x9c8a    0x603a
+0x9c8b    0x605a
+0x9c8c    0x6041
+0x9c8d    0x606a
+0x9c8e    0x6077
+0x9c8f    0x605f
+0x9c90    0x604a
+0x9c91    0x6046
+0x9c92    0x604d
+0x9c93    0x6063
+0x9c94    0x6043
+0x9c95    0x6064
+0x9c96    0x6042
+0x9c97    0x606c
+0x9c98    0x606b
+0x9c99    0x6059
+0x9c9a    0x6081
+0x9c9b    0x608d
+0x9c9c    0x60e7
+0x9c9d    0x6083
+0x9c9e    0x609a
+0x9c9f    0x6084
+0x9ca0    0x609b
+0x9ca1    0x6096
+0x9ca2    0x6097
+0x9ca3    0x6092
+0x9ca4    0x60a7
+0x9ca5    0x608b
+0x9ca6    0x60e1
+0x9ca7    0x60b8
+0x9ca8    0x60e0
+0x9ca9    0x60d3
+0x9caa    0x60b4
+0x9cab    0x5ff0
+0x9cac    0x60bd
+0x9cad    0x60c6
+0x9cae    0x60b5
+0x9caf    0x60d8
+0x9cb0    0x614d
+0x9cb1    0x6115
+0x9cb2    0x6106
+0x9cb3    0x60f6
+0x9cb4    0x60f7
+0x9cb5    0x6100
+0x9cb6    0x60f4
+0x9cb7    0x60fa
+0x9cb8    0x6103
+0x9cb9    0x6121
+0x9cba    0x60fb
+0x9cbb    0x60f1
+0x9cbc    0x610d
+0x9cbd    0x610e
+0x9cbe    0x6147
+0x9cbf    0x613e
+0x9cc0    0x6128
+0x9cc1    0x6127
+0x9cc2    0x614a
+0x9cc3    0x613f
+0x9cc4    0x613c
+0x9cc5    0x612c
+0x9cc6    0x6134
+0x9cc7    0x613d
+0x9cc8    0x6142
+0x9cc9    0x6144
+0x9cca    0x6173
+0x9ccb    0x6177
+0x9ccc    0x6158
+0x9ccd    0x6159
+0x9cce    0x615a
+0x9ccf    0x616b
+0x9cd0    0x6174
+0x9cd1    0x616f
+0x9cd2    0x6165
+0x9cd3    0x6171
+0x9cd4    0x615f
+0x9cd5    0x615d
+0x9cd6    0x6153
+0x9cd7    0x6175
+0x9cd8    0x6199
+0x9cd9    0x6196
+0x9cda    0x6187
+0x9cdb    0x61ac
+0x9cdc    0x6194
+0x9cdd    0x619a
+0x9cde    0x618a
+0x9cdf    0x6191
+0x9ce0    0x61ab
+0x9ce1    0x61ae
+0x9ce2    0x61cc
+0x9ce3    0x61ca
+0x9ce4    0x61c9
+0x9ce5    0x61f7
+0x9ce6    0x61c8
+0x9ce7    0x61c3
+0x9ce8    0x61c6
+0x9ce9    0x61ba
+0x9cea    0x61cb
+0x9ceb    0x7f79
+0x9cec    0x61cd
+0x9ced    0x61e6
+0x9cee    0x61e3
+0x9cef    0x61f6
+0x9cf0    0x61fa
+0x9cf1    0x61f4
+0x9cf2    0x61ff
+0x9cf3    0x61fd
+0x9cf4    0x61fc
+0x9cf5    0x61fe
+0x9cf6    0x6200
+0x9cf7    0x6208
+0x9cf8    0x6209
+0x9cf9    0x620d
+0x9cfa    0x620c
+0x9cfb    0x6214
+0x9cfc    0x621b
+0x9d40    0x621e
+0x9d41    0x6221
+0x9d42    0x622a
+0x9d43    0x622e
+0x9d44    0x6230
+0x9d45    0x6232
+0x9d46    0x6233
+0x9d47    0x6241
+0x9d48    0x624e
+0x9d49    0x625e
+0x9d4a    0x6263
+0x9d4b    0x625b
+0x9d4c    0x6260
+0x9d4d    0x6268
+0x9d4e    0x627c
+0x9d4f    0x6282
+0x9d50    0x6289
+0x9d51    0x627e
+0x9d52    0x6292
+0x9d53    0x6293
+0x9d54    0x6296
+0x9d55    0x62d4
+0x9d56    0x6283
+0x9d57    0x6294
+0x9d58    0x62d7
+0x9d59    0x62d1
+0x9d5a    0x62bb
+0x9d5b    0x62cf
+0x9d5c    0x62ff
+0x9d5d    0x62c6
+0x9d5e    0x64d4
+0x9d5f    0x62c8
+0x9d60    0x62dc
+0x9d61    0x62cc
+0x9d62    0x62ca
+0x9d63    0x62c2
+0x9d64    0x62c7
+0x9d65    0x629b
+0x9d66    0x62c9
+0x9d67    0x630c
+0x9d68    0x62ee
+0x9d69    0x62f1
+0x9d6a    0x6327
+0x9d6b    0x6302
+0x9d6c    0x6308
+0x9d6d    0x62ef
+0x9d6e    0x62f5
+0x9d6f    0x6350
+0x9d70    0x633e
+0x9d71    0x634d
+0x9d72    0x641c
+0x9d73    0x634f
+0x9d74    0x6396
+0x9d75    0x638e
+0x9d76    0x6380
+0x9d77    0x63ab
+0x9d78    0x6376
+0x9d79    0x63a3
+0x9d7a    0x638f
+0x9d7b    0x6389
+0x9d7c    0x639f
+0x9d7d    0x63b5
+0x9d7e    0x636b
+0x9d80    0x6369
+0x9d81    0x63be
+0x9d82    0x63e9
+0x9d83    0x63c0
+0x9d84    0x63c6
+0x9d85    0x63e3
+0x9d86    0x63c9
+0x9d87    0x63d2
+0x9d88    0x63f6
+0x9d89    0x63c4
+0x9d8a    0x6416
+0x9d8b    0x6434
+0x9d8c    0x6406
+0x9d8d    0x6413
+0x9d8e    0x6426
+0x9d8f    0x6436
+0x9d90    0x651d
+0x9d91    0x6417
+0x9d92    0x6428
+0x9d93    0x640f
+0x9d94    0x6467
+0x9d95    0x646f
+0x9d96    0x6476
+0x9d97    0x644e
+0x9d98    0x652a
+0x9d99    0x6495
+0x9d9a    0x6493
+0x9d9b    0x64a5
+0x9d9c    0x64a9
+0x9d9d    0x6488
+0x9d9e    0x64bc
+0x9d9f    0x64da
+0x9da0    0x64d2
+0x9da1    0x64c5
+0x9da2    0x64c7
+0x9da3    0x64bb
+0x9da4    0x64d8
+0x9da5    0x64c2
+0x9da6    0x64f1
+0x9da7    0x64e7
+0x9da8    0x8209
+0x9da9    0x64e0
+0x9daa    0x64e1
+0x9dab    0x62ac
+0x9dac    0x64e3
+0x9dad    0x64ef
+0x9dae    0x652c
+0x9daf    0x64f6
+0x9db0    0x64f4
+0x9db1    0x64f2
+0x9db2    0x64fa
+0x9db3    0x6500
+0x9db4    0x64fd
+0x9db5    0x6518
+0x9db6    0x651c
+0x9db7    0x6505
+0x9db8    0x6524
+0x9db9    0x6523
+0x9dba    0x652b
+0x9dbb    0x6534
+0x9dbc    0x6535
+0x9dbd    0x6537
+0x9dbe    0x6536
+0x9dbf    0x6538
+0x9dc0    0x754b
+0x9dc1    0x6548
+0x9dc2    0x6556
+0x9dc3    0x6555
+0x9dc4    0x654d
+0x9dc5    0x6558
+0x9dc6    0x655e
+0x9dc7    0x655d
+0x9dc8    0x6572
+0x9dc9    0x6578
+0x9dca    0x6582
+0x9dcb    0x6583
+0x9dcc    0x8b8a
+0x9dcd    0x659b
+0x9dce    0x659f
+0x9dcf    0x65ab
+0x9dd0    0x65b7
+0x9dd1    0x65c3
+0x9dd2    0x65c6
+0x9dd3    0x65c1
+0x9dd4    0x65c4
+0x9dd5    0x65cc
+0x9dd6    0x65d2
+0x9dd7    0x65db
+0x9dd8    0x65d9
+0x9dd9    0x65e0
+0x9dda    0x65e1
+0x9ddb    0x65f1
+0x9ddc    0x6772
+0x9ddd    0x660a
+0x9dde    0x6603
+0x9ddf    0x65fb
+0x9de0    0x6773
+0x9de1    0x6635
+0x9de2    0x6636
+0x9de3    0x6634
+0x9de4    0x661c
+0x9de5    0x664f
+0x9de6    0x6644
+0x9de7    0x6649
+0x9de8    0x6641
+0x9de9    0x665e
+0x9dea    0x665d
+0x9deb    0x6664
+0x9dec    0x6667
+0x9ded    0x6668
+0x9dee    0x665f
+0x9def    0x6662
+0x9df0    0x6670
+0x9df1    0x6683
+0x9df2    0x6688
+0x9df3    0x668e
+0x9df4    0x6689
+0x9df5    0x6684
+0x9df6    0x6698
+0x9df7    0x669d
+0x9df8    0x66c1
+0x9df9    0x66b9
+0x9dfa    0x66c9
+0x9dfb    0x66be
+0x9dfc    0x66bc
+0x9e40    0x66c4
+0x9e41    0x66b8
+0x9e42    0x66d6
+0x9e43    0x66da
+0x9e44    0x66e0
+0x9e45    0x663f
+0x9e46    0x66e6
+0x9e47    0x66e9
+0x9e48    0x66f0
+0x9e49    0x66f5
+0x9e4a    0x66f7
+0x9e4b    0x670f
+0x9e4c    0x6716
+0x9e4d    0x671e
+0x9e4e    0x6726
+0x9e4f    0x6727
+0x9e50    0x9738
+0x9e51    0x672e
+0x9e52    0x673f
+0x9e53    0x6736
+0x9e54    0x6741
+0x9e55    0x6738
+0x9e56    0x6737
+0x9e57    0x6746
+0x9e58    0x675e
+0x9e59    0x6760
+0x9e5a    0x6759
+0x9e5b    0x6763
+0x9e5c    0x6764
+0x9e5d    0x6789
+0x9e5e    0x6770
+0x9e5f    0x67a9
+0x9e60    0x677c
+0x9e61    0x676a
+0x9e62    0x678c
+0x9e63    0x678b
+0x9e64    0x67a6
+0x9e65    0x67a1
+0x9e66    0x6785
+0x9e67    0x67b7
+0x9e68    0x67ef
+0x9e69    0x67b4
+0x9e6a    0x67ec
+0x9e6b    0x67b3
+0x9e6c    0x67e9
+0x9e6d    0x67b8
+0x9e6e    0x67e4
+0x9e6f    0x67de
+0x9e70    0x67dd
+0x9e71    0x67e2
+0x9e72    0x67ee
+0x9e73    0x67b9
+0x9e74    0x67ce
+0x9e75    0x67c6
+0x9e76    0x67e7
+0x9e77    0x6a9c
+0x9e78    0x681e
+0x9e79    0x6846
+0x9e7a    0x6829
+0x9e7b    0x6840
+0x9e7c    0x684d
+0x9e7d    0x6832
+0x9e7e    0x684e
+0x9e80    0x68b3
+0x9e81    0x682b
+0x9e82    0x6859
+0x9e83    0x6863
+0x9e84    0x6877
+0x9e85    0x687f
+0x9e86    0x689f
+0x9e87    0x688f
+0x9e88    0x68ad
+0x9e89    0x6894
+0x9e8a    0x689d
+0x9e8b    0x689b
+0x9e8c    0x6883
+0x9e8d    0x6aae
+0x9e8e    0x68b9
+0x9e8f    0x6874
+0x9e90    0x68b5
+0x9e91    0x68a0
+0x9e92    0x68ba
+0x9e93    0x690f
+0x9e94    0x688d
+0x9e95    0x687e
+0x9e96    0x6901
+0x9e97    0x68ca
+0x9e98    0x6908
+0x9e99    0x68d8
+0x9e9a    0x6922
+0x9e9b    0x6926
+0x9e9c    0x68e1
+0x9e9d    0x690c
+0x9e9e    0x68cd
+0x9e9f    0x68d4
+0x9ea0    0x68e7
+0x9ea1    0x68d5
+0x9ea2    0x6936
+0x9ea3    0x6912
+0x9ea4    0x6904
+0x9ea5    0x68d7
+0x9ea6    0x68e3
+0x9ea7    0x6925
+0x9ea8    0x68f9
+0x9ea9    0x68e0
+0x9eaa    0x68ef
+0x9eab    0x6928
+0x9eac    0x692a
+0x9ead    0x691a
+0x9eae    0x6923
+0x9eaf    0x6921
+0x9eb0    0x68c6
+0x9eb1    0x6979
+0x9eb2    0x6977
+0x9eb3    0x695c
+0x9eb4    0x6978
+0x9eb5    0x696b
+0x9eb6    0x6954
+0x9eb7    0x697e
+0x9eb8    0x696e
+0x9eb9    0x6939
+0x9eba    0x6974
+0x9ebb    0x693d
+0x9ebc    0x6959
+0x9ebd    0x6930
+0x9ebe    0x6961
+0x9ebf    0x695e
+0x9ec0    0x695d
+0x9ec1    0x6981
+0x9ec2    0x696a
+0x9ec3    0x69b2
+0x9ec4    0x69ae
+0x9ec5    0x69d0
+0x9ec6    0x69bf
+0x9ec7    0x69c1
+0x9ec8    0x69d3
+0x9ec9    0x69be
+0x9eca    0x69ce
+0x9ecb    0x5be8
+0x9ecc    0x69ca
+0x9ecd    0x69dd
+0x9ece    0x69bb
+0x9ecf    0x69c3
+0x9ed0    0x69a7
+0x9ed1    0x6a2e
+0x9ed2    0x6991
+0x9ed3    0x69a0
+0x9ed4    0x699c
+0x9ed5    0x6995
+0x9ed6    0x69b4
+0x9ed7    0x69de
+0x9ed8    0x69e8
+0x9ed9    0x6a02
+0x9eda    0x6a1b
+0x9edb    0x69ff
+0x9edc    0x6b0a
+0x9edd    0x69f9
+0x9ede    0x69f2
+0x9edf    0x69e7
+0x9ee0    0x6a05
+0x9ee1    0x69b1
+0x9ee2    0x6a1e
+0x9ee3    0x69ed
+0x9ee4    0x6a14
+0x9ee5    0x69eb
+0x9ee6    0x6a0a
+0x9ee7    0x6a12
+0x9ee8    0x6ac1
+0x9ee9    0x6a23
+0x9eea    0x6a13
+0x9eeb    0x6a44
+0x9eec    0x6a0c
+0x9eed    0x6a72
+0x9eee    0x6a36
+0x9eef    0x6a78
+0x9ef0    0x6a47
+0x9ef1    0x6a62
+0x9ef2    0x6a59
+0x9ef3    0x6a66
+0x9ef4    0x6a48
+0x9ef5    0x6a38
+0x9ef6    0x6a22
+0x9ef7    0x6a90
+0x9ef8    0x6a8d
+0x9ef9    0x6aa0
+0x9efa    0x6a84
+0x9efb    0x6aa2
+0x9efc    0x6aa3
+0x9f40    0x6a97
+0x9f41    0x8617
+0x9f42    0x6abb
+0x9f43    0x6ac3
+0x9f44    0x6ac2
+0x9f45    0x6ab8
+0x9f46    0x6ab3
+0x9f47    0x6aac
+0x9f48    0x6ade
+0x9f49    0x6ad1
+0x9f4a    0x6adf
+0x9f4b    0x6aaa
+0x9f4c    0x6ada
+0x9f4d    0x6aea
+0x9f4e    0x6afb
+0x9f4f    0x6b05
+0x9f50    0x8616
+0x9f51    0x6afa
+0x9f52    0x6b12
+0x9f53    0x6b16
+0x9f54    0x9b31
+0x9f55    0x6b1f
+0x9f56    0x6b38
+0x9f57    0x6b37
+0x9f58    0x76dc
+0x9f59    0x6b39
+0x9f5a    0x98ee
+0x9f5b    0x6b47
+0x9f5c    0x6b43
+0x9f5d    0x6b49
+0x9f5e    0x6b50
+0x9f5f    0x6b59
+0x9f60    0x6b54
+0x9f61    0x6b5b
+0x9f62    0x6b5f
+0x9f63    0x6b61
+0x9f64    0x6b78
+0x9f65    0x6b79
+0x9f66    0x6b7f
+0x9f67    0x6b80
+0x9f68    0x6b84
+0x9f69    0x6b83
+0x9f6a    0x6b8d
+0x9f6b    0x6b98
+0x9f6c    0x6b95
+0x9f6d    0x6b9e
+0x9f6e    0x6ba4
+0x9f6f    0x6baa
+0x9f70    0x6bab
+0x9f71    0x6baf
+0x9f72    0x6bb2
+0x9f73    0x6bb1
+0x9f74    0x6bb3
+0x9f75    0x6bb7
+0x9f76    0x6bbc
+0x9f77    0x6bc6
+0x9f78    0x6bcb
+0x9f79    0x6bd3
+0x9f7a    0x6bdf
+0x9f7b    0x6bec
+0x9f7c    0x6beb
+0x9f7d    0x6bf3
+0x9f7e    0x6bef
+0x9f80    0x9ebe
+0x9f81    0x6c08
+0x9f82    0x6c13
+0x9f83    0x6c14
+0x9f84    0x6c1b
+0x9f85    0x6c24
+0x9f86    0x6c23
+0x9f87    0x6c5e
+0x9f88    0x6c55
+0x9f89    0x6c62
+0x9f8a    0x6c6a
+0x9f8b    0x6c82
+0x9f8c    0x6c8d
+0x9f8d    0x6c9a
+0x9f8e    0x6c81
+0x9f8f    0x6c9b
+0x9f90    0x6c7e
+0x9f91    0x6c68
+0x9f92    0x6c73
+0x9f93    0x6c92
+0x9f94    0x6c90
+0x9f95    0x6cc4
+0x9f96    0x6cf1
+0x9f97    0x6cd3
+0x9f98    0x6cbd
+0x9f99    0x6cd7
+0x9f9a    0x6cc5
+0x9f9b    0x6cdd
+0x9f9c    0x6cae
+0x9f9d    0x6cb1
+0x9f9e    0x6cbe
+0x9f9f    0x6cba
+0x9fa0    0x6cdb
+0x9fa1    0x6cef
+0x9fa2    0x6cd9
+0x9fa3    0x6cea
+0x9fa4    0x6d1f
+0x9fa5    0x884d
+0x9fa6    0x6d36
+0x9fa7    0x6d2b
+0x9fa8    0x6d3d
+0x9fa9    0x6d38
+0x9faa    0x6d19
+0x9fab    0x6d35
+0x9fac    0x6d33
+0x9fad    0x6d12
+0x9fae    0x6d0c
+0x9faf    0x6d63
+0x9fb0    0x6d93
+0x9fb1    0x6d64
+0x9fb2    0x6d5a
+0x9fb3    0x6d79
+0x9fb4    0x6d59
+0x9fb5    0x6d8e
+0x9fb6    0x6d95
+0x9fb7    0x6fe4
+0x9fb8    0x6d85
+0x9fb9    0x6df9
+0x9fba    0x6e15
+0x9fbb    0x6e0a
+0x9fbc    0x6db5
+0x9fbd    0x6dc7
+0x9fbe    0x6de6
+0x9fbf    0x6db8
+0x9fc0    0x6dc6
+0x9fc1    0x6dec
+0x9fc2    0x6dde
+0x9fc3    0x6dcc
+0x9fc4    0x6de8
+0x9fc5    0x6dd2
+0x9fc6    0x6dc5
+0x9fc7    0x6dfa
+0x9fc8    0x6dd9
+0x9fc9    0x6de4
+0x9fca    0x6dd5
+0x9fcb    0x6dea
+0x9fcc    0x6dee
+0x9fcd    0x6e2d
+0x9fce    0x6e6e
+0x9fcf    0x6e2e
+0x9fd0    0x6e19
+0x9fd1    0x6e72
+0x9fd2    0x6e5f
+0x9fd3    0x6e3e
+0x9fd4    0x6e23
+0x9fd5    0x6e6b
+0x9fd6    0x6e2b
+0x9fd7    0x6e76
+0x9fd8    0x6e4d
+0x9fd9    0x6e1f
+0x9fda    0x6e43
+0x9fdb    0x6e3a
+0x9fdc    0x6e4e
+0x9fdd    0x6e24
+0x9fde    0x6eff
+0x9fdf    0x6e1d
+0x9fe0    0x6e38
+0x9fe1    0x6e82
+0x9fe2    0x6eaa
+0x9fe3    0x6e98
+0x9fe4    0x6ec9
+0x9fe5    0x6eb7
+0x9fe6    0x6ed3
+0x9fe7    0x6ebd
+0x9fe8    0x6eaf
+0x9fe9    0x6ec4
+0x9fea    0x6eb2
+0x9feb    0x6ed4
+0x9fec    0x6ed5
+0x9fed    0x6e8f
+0x9fee    0x6ea5
+0x9fef    0x6ec2
+0x9ff0    0x6e9f
+0x9ff1    0x6f41
+0x9ff2    0x6f11
+0x9ff3    0x704c
+0x9ff4    0x6eec
+0x9ff5    0x6ef8
+0x9ff6    0x6efe
+0x9ff7    0x6f3f
+0x9ff8    0x6ef2
+0x9ff9    0x6f31
+0x9ffa    0x6eef
+0x9ffb    0x6f32
+0x9ffc    0x6ecc
+0xe040    0x6f3e
+0xe041    0x6f13
+0xe042    0x6ef7
+0xe043    0x6f86
+0xe044    0x6f7a
+0xe045    0x6f78
+0xe046    0x6f81
+0xe047    0x6f80
+0xe048    0x6f6f
+0xe049    0x6f5b
+0xe04a    0x6ff3
+0xe04b    0x6f6d
+0xe04c    0x6f82
+0xe04d    0x6f7c
+0xe04e    0x6f58
+0xe04f    0x6f8e
+0xe050    0x6f91
+0xe051    0x6fc2
+0xe052    0x6f66
+0xe053    0x6fb3
+0xe054    0x6fa3
+0xe055    0x6fa1
+0xe056    0x6fa4
+0xe057    0x6fb9
+0xe058    0x6fc6
+0xe059    0x6faa
+0xe05a    0x6fdf
+0xe05b    0x6fd5
+0xe05c    0x6fec
+0xe05d    0x6fd4
+0xe05e    0x6fd8
+0xe05f    0x6ff1
+0xe060    0x6fee
+0xe061    0x6fdb
+0xe062    0x7009
+0xe063    0x700b
+0xe064    0x6ffa
+0xe065    0x7011
+0xe066    0x7001
+0xe067    0x700f
+0xe068    0x6ffe
+0xe069    0x701b
+0xe06a    0x701a
+0xe06b    0x6f74
+0xe06c    0x701d
+0xe06d    0x7018
+0xe06e    0x701f
+0xe06f    0x7030
+0xe070    0x703e
+0xe071    0x7032
+0xe072    0x7051
+0xe073    0x7063
+0xe074    0x7099
+0xe075    0x7092
+0xe076    0x70af
+0xe077    0x70f1
+0xe078    0x70ac
+0xe079    0x70b8
+0xe07a    0x70b3
+0xe07b    0x70ae
+0xe07c    0x70df
+0xe07d    0x70cb
+0xe07e    0x70dd
+0xe080    0x70d9
+0xe081    0x7109
+0xe082    0x70fd
+0xe083    0x711c
+0xe084    0x7119
+0xe085    0x7165
+0xe086    0x7155
+0xe087    0x7188
+0xe088    0x7166
+0xe089    0x7162
+0xe08a    0x714c
+0xe08b    0x7156
+0xe08c    0x716c
+0xe08d    0x718f
+0xe08e    0x71fb
+0xe08f    0x7184
+0xe090    0x7195
+0xe091    0x71a8
+0xe092    0x71ac
+0xe093    0x71d7
+0xe094    0x71b9
+0xe095    0x71be
+0xe096    0x71d2
+0xe097    0x71c9
+0xe098    0x71d4
+0xe099    0x71ce
+0xe09a    0x71e0
+0xe09b    0x71ec
+0xe09c    0x71e7
+0xe09d    0x71f5
+0xe09e    0x71fc
+0xe09f    0x71f9
+0xe0a0    0x71ff
+0xe0a1    0x720d
+0xe0a2    0x7210
+0xe0a3    0x721b
+0xe0a4    0x7228
+0xe0a5    0x722d
+0xe0a6    0x722c
+0xe0a7    0x7230
+0xe0a8    0x7232
+0xe0a9    0x723b
+0xe0aa    0x723c
+0xe0ab    0x723f
+0xe0ac    0x7240
+0xe0ad    0x7246
+0xe0ae    0x724b
+0xe0af    0x7258
+0xe0b0    0x7274
+0xe0b1    0x727e
+0xe0b2    0x7282
+0xe0b3    0x7281
+0xe0b4    0x7287
+0xe0b5    0x7292
+0xe0b6    0x7296
+0xe0b7    0x72a2
+0xe0b8    0x72a7
+0xe0b9    0x72b9
+0xe0ba    0x72b2
+0xe0bb    0x72c3
+0xe0bc    0x72c6
+0xe0bd    0x72c4
+0xe0be    0x72ce
+0xe0bf    0x72d2
+0xe0c0    0x72e2
+0xe0c1    0x72e0
+0xe0c2    0x72e1
+0xe0c3    0x72f9
+0xe0c4    0x72f7
+0xe0c5    0x500f
+0xe0c6    0x7317
+0xe0c7    0x730a
+0xe0c8    0x731c
+0xe0c9    0x7316
+0xe0ca    0x731d
+0xe0cb    0x7334
+0xe0cc    0x732f
+0xe0cd    0x7329
+0xe0ce    0x7325
+0xe0cf    0x733e
+0xe0d0    0x734e
+0xe0d1    0x734f
+0xe0d2    0x9ed8
+0xe0d3    0x7357
+0xe0d4    0x736a
+0xe0d5    0x7368
+0xe0d6    0x7370
+0xe0d7    0x7378
+0xe0d8    0x7375
+0xe0d9    0x737b
+0xe0da    0x737a
+0xe0db    0x73c8
+0xe0dc    0x73b3
+0xe0dd    0x73ce
+0xe0de    0x73bb
+0xe0df    0x73c0
+0xe0e0    0x73e5
+0xe0e1    0x73ee
+0xe0e2    0x73de
+0xe0e3    0x74a2
+0xe0e4    0x7405
+0xe0e5    0x746f
+0xe0e6    0x7425
+0xe0e7    0x73f8
+0xe0e8    0x7432
+0xe0e9    0x743a
+0xe0ea    0x7455
+0xe0eb    0x743f
+0xe0ec    0x745f
+0xe0ed    0x7459
+0xe0ee    0x7441
+0xe0ef    0x745c
+0xe0f0    0x7469
+0xe0f1    0x7470
+0xe0f2    0x7463
+0xe0f3    0x746a
+0xe0f4    0x7476
+0xe0f5    0x747e
+0xe0f6    0x748b
+0xe0f7    0x749e
+0xe0f8    0x74a7
+0xe0f9    0x74ca
+0xe0fa    0x74cf
+0xe0fb    0x74d4
+0xe0fc    0x73f1
+0xe140    0x74e0
+0xe141    0x74e3
+0xe142    0x74e7
+0xe143    0x74e9
+0xe144    0x74ee
+0xe145    0x74f2
+0xe146    0x74f0
+0xe147    0x74f1
+0xe148    0x74f8
+0xe149    0x74f7
+0xe14a    0x7504
+0xe14b    0x7503
+0xe14c    0x7505
+0xe14d    0x750c
+0xe14e    0x750e
+0xe14f    0x750d
+0xe150    0x7515
+0xe151    0x7513
+0xe152    0x751e
+0xe153    0x7526
+0xe154    0x752c
+0xe155    0x753c
+0xe156    0x7544
+0xe157    0x754d
+0xe158    0x754a
+0xe159    0x7549
+0xe15a    0x755b
+0xe15b    0x7546
+0xe15c    0x755a
+0xe15d    0x7569
+0xe15e    0x7564
+0xe15f    0x7567
+0xe160    0x756b
+0xe161    0x756d
+0xe162    0x7578
+0xe163    0x7576
+0xe164    0x7586
+0xe165    0x7587
+0xe166    0x7574
+0xe167    0x758a
+0xe168    0x7589
+0xe169    0x7582
+0xe16a    0x7594
+0xe16b    0x759a
+0xe16c    0x759d
+0xe16d    0x75a5
+0xe16e    0x75a3
+0xe16f    0x75c2
+0xe170    0x75b3
+0xe171    0x75c3
+0xe172    0x75b5
+0xe173    0x75bd
+0xe174    0x75b8
+0xe175    0x75bc
+0xe176    0x75b1
+0xe177    0x75cd
+0xe178    0x75ca
+0xe179    0x75d2
+0xe17a    0x75d9
+0xe17b    0x75e3
+0xe17c    0x75de
+0xe17d    0x75fe
+0xe17e    0x75ff
+0xe180    0x75fc
+0xe181    0x7601
+0xe182    0x75f0
+0xe183    0x75fa
+0xe184    0x75f2
+0xe185    0x75f3
+0xe186    0x760b
+0xe187    0x760d
+0xe188    0x7609
+0xe189    0x761f
+0xe18a    0x7627
+0xe18b    0x7620
+0xe18c    0x7621
+0xe18d    0x7622
+0xe18e    0x7624
+0xe18f    0x7634
+0xe190    0x7630
+0xe191    0x763b
+0xe192    0x7647
+0xe193    0x7648
+0xe194    0x7646
+0xe195    0x765c
+0xe196    0x7658
+0xe197    0x7661
+0xe198    0x7662
+0xe199    0x7668
+0xe19a    0x7669
+0xe19b    0x766a
+0xe19c    0x7667
+0xe19d    0x766c
+0xe19e    0x7670
+0xe19f    0x7672
+0xe1a0    0x7676
+0xe1a1    0x7678
+0xe1a2    0x767c
+0xe1a3    0x7680
+0xe1a4    0x7683
+0xe1a5    0x7688
+0xe1a6    0x768b
+0xe1a7    0x768e
+0xe1a8    0x7696
+0xe1a9    0x7693
+0xe1aa    0x7699
+0xe1ab    0x769a
+0xe1ac    0x76b0
+0xe1ad    0x76b4
+0xe1ae    0x76b8
+0xe1af    0x76b9
+0xe1b0    0x76ba
+0xe1b1    0x76c2
+0xe1b2    0x76cd
+0xe1b3    0x76d6
+0xe1b4    0x76d2
+0xe1b5    0x76de
+0xe1b6    0x76e1
+0xe1b7    0x76e5
+0xe1b8    0x76e7
+0xe1b9    0x76ea
+0xe1ba    0x862f
+0xe1bb    0x76fb
+0xe1bc    0x7708
+0xe1bd    0x7707
+0xe1be    0x7704
+0xe1bf    0x7729
+0xe1c0    0x7724
+0xe1c1    0x771e
+0xe1c2    0x7725
+0xe1c3    0x7726
+0xe1c4    0x771b
+0xe1c5    0x7737
+0xe1c6    0x7738
+0xe1c7    0x7747
+0xe1c8    0x775a
+0xe1c9    0x7768
+0xe1ca    0x776b
+0xe1cb    0x775b
+0xe1cc    0x7765
+0xe1cd    0x777f
+0xe1ce    0x777e
+0xe1cf    0x7779
+0xe1d0    0x778e
+0xe1d1    0x778b
+0xe1d2    0x7791
+0xe1d3    0x77a0
+0xe1d4    0x779e
+0xe1d5    0x77b0
+0xe1d6    0x77b6
+0xe1d7    0x77b9
+0xe1d8    0x77bf
+0xe1d9    0x77bc
+0xe1da    0x77bd
+0xe1db    0x77bb
+0xe1dc    0x77c7
+0xe1dd    0x77cd
+0xe1de    0x77d7
+0xe1df    0x77da
+0xe1e0    0x77dc
+0xe1e1    0x77e3
+0xe1e2    0x77ee
+0xe1e3    0x77fc
+0xe1e4    0x780c
+0xe1e5    0x7812
+0xe1e6    0x7926
+0xe1e7    0x7820
+0xe1e8    0x792a
+0xe1e9    0x7845
+0xe1ea    0x788e
+0xe1eb    0x7874
+0xe1ec    0x7886
+0xe1ed    0x787c
+0xe1ee    0x789a
+0xe1ef    0x788c
+0xe1f0    0x78a3
+0xe1f1    0x78b5
+0xe1f2    0x78aa
+0xe1f3    0x78af
+0xe1f4    0x78d1
+0xe1f5    0x78c6
+0xe1f6    0x78cb
+0xe1f7    0x78d4
+0xe1f8    0x78be
+0xe1f9    0x78bc
+0xe1fa    0x78c5
+0xe1fb    0x78ca
+0xe1fc    0x78ec
+0xe240    0x78e7
+0xe241    0x78da
+0xe242    0x78fd
+0xe243    0x78f4
+0xe244    0x7907
+0xe245    0x7912
+0xe246    0x7911
+0xe247    0x7919
+0xe248    0x792c
+0xe249    0x792b
+0xe24a    0x7940
+0xe24b    0x7960
+0xe24c    0x7957
+0xe24d    0x795f
+0xe24e    0x795a
+0xe24f    0x7955
+0xe250    0x7953
+0xe251    0x797a
+0xe252    0x797f
+0xe253    0x798a
+0xe254    0x799d
+0xe255    0x79a7
+0xe256    0x9f4b
+0xe257    0x79aa
+0xe258    0x79ae
+0xe259    0x79b3
+0xe25a    0x79b9
+0xe25b    0x79ba
+0xe25c    0x79c9
+0xe25d    0x79d5
+0xe25e    0x79e7
+0xe25f    0x79ec
+0xe260    0x79e1
+0xe261    0x79e3
+0xe262    0x7a08
+0xe263    0x7a0d
+0xe264    0x7a18
+0xe265    0x7a19
+0xe266    0x7a20
+0xe267    0x7a1f
+0xe268    0x7980
+0xe269    0x7a31
+0xe26a    0x7a3b
+0xe26b    0x7a3e
+0xe26c    0x7a37
+0xe26d    0x7a43
+0xe26e    0x7a57
+0xe26f    0x7a49
+0xe270    0x7a61
+0xe271    0x7a62
+0xe272    0x7a69
+0xe273    0x9f9d
+0xe274    0x7a70
+0xe275    0x7a79
+0xe276    0x7a7d
+0xe277    0x7a88
+0xe278    0x7a97
+0xe279    0x7a95
+0xe27a    0x7a98
+0xe27b    0x7a96
+0xe27c    0x7aa9
+0xe27d    0x7ac8
+0xe27e    0x7ab0
+0xe280    0x7ab6
+0xe281    0x7ac5
+0xe282    0x7ac4
+0xe283    0x7abf
+0xe284    0x9083
+0xe285    0x7ac7
+0xe286    0x7aca
+0xe287    0x7acd
+0xe288    0x7acf
+0xe289    0x7ad5
+0xe28a    0x7ad3
+0xe28b    0x7ad9
+0xe28c    0x7ada
+0xe28d    0x7add
+0xe28e    0x7ae1
+0xe28f    0x7ae2
+0xe290    0x7ae6
+0xe291    0x7aed
+0xe292    0x7af0
+0xe293    0x7b02
+0xe294    0x7b0f
+0xe295    0x7b0a
+0xe296    0x7b06
+0xe297    0x7b33
+0xe298    0x7b18
+0xe299    0x7b19
+0xe29a    0x7b1e
+0xe29b    0x7b35
+0xe29c    0x7b28
+0xe29d    0x7b36
+0xe29e    0x7b50
+0xe29f    0x7b7a
+0xe2a0    0x7b04
+0xe2a1    0x7b4d
+0xe2a2    0x7b0b
+0xe2a3    0x7b4c
+0xe2a4    0x7b45
+0xe2a5    0x7b75
+0xe2a6    0x7b65
+0xe2a7    0x7b74
+0xe2a8    0x7b67
+0xe2a9    0x7b70
+0xe2aa    0x7b71
+0xe2ab    0x7b6c
+0xe2ac    0x7b6e
+0xe2ad    0x7b9d
+0xe2ae    0x7b98
+0xe2af    0x7b9f
+0xe2b0    0x7b8d
+0xe2b1    0x7b9c
+0xe2b2    0x7b9a
+0xe2b3    0x7b8b
+0xe2b4    0x7b92
+0xe2b5    0x7b8f
+0xe2b6    0x7b5d
+0xe2b7    0x7b99
+0xe2b8    0x7bcb
+0xe2b9    0x7bc1
+0xe2ba    0x7bcc
+0xe2bb    0x7bcf
+0xe2bc    0x7bb4
+0xe2bd    0x7bc6
+0xe2be    0x7bdd
+0xe2bf    0x7be9
+0xe2c0    0x7c11
+0xe2c1    0x7c14
+0xe2c2    0x7be6
+0xe2c3    0x7be5
+0xe2c4    0x7c60
+0xe2c5    0x7c00
+0xe2c6    0x7c07
+0xe2c7    0x7c13
+0xe2c8    0x7bf3
+0xe2c9    0x7bf7
+0xe2ca    0x7c17
+0xe2cb    0x7c0d
+0xe2cc    0x7bf6
+0xe2cd    0x7c23
+0xe2ce    0x7c27
+0xe2cf    0x7c2a
+0xe2d0    0x7c1f
+0xe2d1    0x7c37
+0xe2d2    0x7c2b
+0xe2d3    0x7c3d
+0xe2d4    0x7c4c
+0xe2d5    0x7c43
+0xe2d6    0x7c54
+0xe2d7    0x7c4f
+0xe2d8    0x7c40
+0xe2d9    0x7c50
+0xe2da    0x7c58
+0xe2db    0x7c5f
+0xe2dc    0x7c64
+0xe2dd    0x7c56
+0xe2de    0x7c65
+0xe2df    0x7c6c
+0xe2e0    0x7c75
+0xe2e1    0x7c83
+0xe2e2    0x7c90
+0xe2e3    0x7ca4
+0xe2e4    0x7cad
+0xe2e5    0x7ca2
+0xe2e6    0x7cab
+0xe2e7    0x7ca1
+0xe2e8    0x7ca8
+0xe2e9    0x7cb3
+0xe2ea    0x7cb2
+0xe2eb    0x7cb1
+0xe2ec    0x7cae
+0xe2ed    0x7cb9
+0xe2ee    0x7cbd
+0xe2ef    0x7cc0
+0xe2f0    0x7cc5
+0xe2f1    0x7cc2
+0xe2f2    0x7cd8
+0xe2f3    0x7cd2
+0xe2f4    0x7cdc
+0xe2f5    0x7ce2
+0xe2f6    0x9b3b
+0xe2f7    0x7cef
+0xe2f8    0x7cf2
+0xe2f9    0x7cf4
+0xe2fa    0x7cf6
+0xe2fb    0x7cfa
+0xe2fc    0x7d06
+0xe340    0x7d02
+0xe341    0x7d1c
+0xe342    0x7d15
+0xe343    0x7d0a
+0xe344    0x7d45
+0xe345    0x7d4b
+0xe346    0x7d2e
+0xe347    0x7d32
+0xe348    0x7d3f
+0xe349    0x7d35
+0xe34a    0x7d46
+0xe34b    0x7d73
+0xe34c    0x7d56
+0xe34d    0x7d4e
+0xe34e    0x7d72
+0xe34f    0x7d68
+0xe350    0x7d6e
+0xe351    0x7d4f
+0xe352    0x7d63
+0xe353    0x7d93
+0xe354    0x7d89
+0xe355    0x7d5b
+0xe356    0x7d8f
+0xe357    0x7d7d
+0xe358    0x7d9b
+0xe359    0x7dba
+0xe35a    0x7dae
+0xe35b    0x7da3
+0xe35c    0x7db5
+0xe35d    0x7dc7
+0xe35e    0x7dbd
+0xe35f    0x7dab
+0xe360    0x7e3d
+0xe361    0x7da2
+0xe362    0x7daf
+0xe363    0x7ddc
+0xe364    0x7db8
+0xe365    0x7d9f
+0xe366    0x7db0
+0xe367    0x7dd8
+0xe368    0x7ddd
+0xe369    0x7de4
+0xe36a    0x7dde
+0xe36b    0x7dfb
+0xe36c    0x7df2
+0xe36d    0x7de1
+0xe36e    0x7e05
+0xe36f    0x7e0a
+0xe370    0x7e23
+0xe371    0x7e21
+0xe372    0x7e12
+0xe373    0x7e31
+0xe374    0x7e1f
+0xe375    0x7e09
+0xe376    0x7e0b
+0xe377    0x7e22
+0xe378    0x7e46
+0xe379    0x7e66
+0xe37a    0x7e3b
+0xe37b    0x7e35
+0xe37c    0x7e39
+0xe37d    0x7e43
+0xe37e    0x7e37
+0xe380    0x7e32
+0xe381    0x7e3a
+0xe382    0x7e67
+0xe383    0x7e5d
+0xe384    0x7e56
+0xe385    0x7e5e
+0xe386    0x7e59
+0xe387    0x7e5a
+0xe388    0x7e79
+0xe389    0x7e6a
+0xe38a    0x7e69
+0xe38b    0x7e7c
+0xe38c    0x7e7b
+0xe38d    0x7e83
+0xe38e    0x7dd5
+0xe38f    0x7e7d
+0xe390    0x8fae
+0xe391    0x7e7f
+0xe392    0x7e88
+0xe393    0x7e89
+0xe394    0x7e8c
+0xe395    0x7e92
+0xe396    0x7e90
+0xe397    0x7e93
+0xe398    0x7e94
+0xe399    0x7e96
+0xe39a    0x7e8e
+0xe39b    0x7e9b
+0xe39c    0x7e9c
+0xe39d    0x7f38
+0xe39e    0x7f3a
+0xe39f    0x7f45
+0xe3a0    0x7f4c
+0xe3a1    0x7f4d
+0xe3a2    0x7f4e
+0xe3a3    0x7f50
+0xe3a4    0x7f51
+0xe3a5    0x7f55
+0xe3a6    0x7f54
+0xe3a7    0x7f58
+0xe3a8    0x7f5f
+0xe3a9    0x7f60
+0xe3aa    0x7f68
+0xe3ab    0x7f69
+0xe3ac    0x7f67
+0xe3ad    0x7f78
+0xe3ae    0x7f82
+0xe3af    0x7f86
+0xe3b0    0x7f83
+0xe3b1    0x7f88
+0xe3b2    0x7f87
+0xe3b3    0x7f8c
+0xe3b4    0x7f94
+0xe3b5    0x7f9e
+0xe3b6    0x7f9d
+0xe3b7    0x7f9a
+0xe3b8    0x7fa3
+0xe3b9    0x7faf
+0xe3ba    0x7fb2
+0xe3bb    0x7fb9
+0xe3bc    0x7fae
+0xe3bd    0x7fb6
+0xe3be    0x7fb8
+0xe3bf    0x8b71
+0xe3c0    0x7fc5
+0xe3c1    0x7fc6
+0xe3c2    0x7fca
+0xe3c3    0x7fd5
+0xe3c4    0x7fd4
+0xe3c5    0x7fe1
+0xe3c6    0x7fe6
+0xe3c7    0x7fe9
+0xe3c8    0x7ff3
+0xe3c9    0x7ff9
+0xe3ca    0x98dc
+0xe3cb    0x8006
+0xe3cc    0x8004
+0xe3cd    0x800b
+0xe3ce    0x8012
+0xe3cf    0x8018
+0xe3d0    0x8019
+0xe3d1    0x801c
+0xe3d2    0x8021
+0xe3d3    0x8028
+0xe3d4    0x803f
+0xe3d5    0x803b
+0xe3d6    0x804a
+0xe3d7    0x8046
+0xe3d8    0x8052
+0xe3d9    0x8058
+0xe3da    0x805a
+0xe3db    0x805f
+0xe3dc    0x8062
+0xe3dd    0x8068
+0xe3de    0x8073
+0xe3df    0x8072
+0xe3e0    0x8070
+0xe3e1    0x8076
+0xe3e2    0x8079
+0xe3e3    0x807d
+0xe3e4    0x807f
+0xe3e5    0x8084
+0xe3e6    0x8086
+0xe3e7    0x8085
+0xe3e8    0x809b
+0xe3e9    0x8093
+0xe3ea    0x809a
+0xe3eb    0x80ad
+0xe3ec    0x5190
+0xe3ed    0x80ac
+0xe3ee    0x80db
+0xe3ef    0x80e5
+0xe3f0    0x80d9
+0xe3f1    0x80dd
+0xe3f2    0x80c4
+0xe3f3    0x80da
+0xe3f4    0x80d6
+0xe3f5    0x8109
+0xe3f6    0x80ef
+0xe3f7    0x80f1
+0xe3f8    0x811b
+0xe3f9    0x8129
+0xe3fa    0x8123
+0xe3fb    0x812f
+0xe3fc    0x814b
+0xe440    0x968b
+0xe441    0x8146
+0xe442    0x813e
+0xe443    0x8153
+0xe444    0x8151
+0xe445    0x80fc
+0xe446    0x8171
+0xe447    0x816e
+0xe448    0x8165
+0xe449    0x8166
+0xe44a    0x8174
+0xe44b    0x8183
+0xe44c    0x8188
+0xe44d    0x818a
+0xe44e    0x8180
+0xe44f    0x8182
+0xe450    0x81a0
+0xe451    0x8195
+0xe452    0x81a4
+0xe453    0x81a3
+0xe454    0x815f
+0xe455    0x8193
+0xe456    0x81a9
+0xe457    0x81b0
+0xe458    0x81b5
+0xe459    0x81be
+0xe45a    0x81b8
+0xe45b    0x81bd
+0xe45c    0x81c0
+0xe45d    0x81c2
+0xe45e    0x81ba
+0xe45f    0x81c9
+0xe460    0x81cd
+0xe461    0x81d1
+0xe462    0x81d9
+0xe463    0x81d8
+0xe464    0x81c8
+0xe465    0x81da
+0xe466    0x81df
+0xe467    0x81e0
+0xe468    0x81e7
+0xe469    0x81fa
+0xe46a    0x81fb
+0xe46b    0x81fe
+0xe46c    0x8201
+0xe46d    0x8202
+0xe46e    0x8205
+0xe46f    0x8207
+0xe470    0x820a
+0xe471    0x820d
+0xe472    0x8210
+0xe473    0x8216
+0xe474    0x8229
+0xe475    0x822b
+0xe476    0x8238
+0xe477    0x8233
+0xe478    0x8240
+0xe479    0x8259
+0xe47a    0x8258
+0xe47b    0x825d
+0xe47c    0x825a
+0xe47d    0x825f
+0xe47e    0x8264
+0xe480    0x8262
+0xe481    0x8268
+0xe482    0x826a
+0xe483    0x826b
+0xe484    0x822e
+0xe485    0x8271
+0xe486    0x8277
+0xe487    0x8278
+0xe488    0x827e
+0xe489    0x828d
+0xe48a    0x8292
+0xe48b    0x82ab
+0xe48c    0x829f
+0xe48d    0x82bb
+0xe48e    0x82ac
+0xe48f    0x82e1
+0xe490    0x82e3
+0xe491    0x82df
+0xe492    0x82d2
+0xe493    0x82f4
+0xe494    0x82f3
+0xe495    0x82fa
+0xe496    0x8393
+0xe497    0x8303
+0xe498    0x82fb
+0xe499    0x82f9
+0xe49a    0x82de
+0xe49b    0x8306
+0xe49c    0x82dc
+0xe49d    0x8309
+0xe49e    0x82d9
+0xe49f    0x8335
+0xe4a0    0x8334
+0xe4a1    0x8316
+0xe4a2    0x8332
+0xe4a3    0x8331
+0xe4a4    0x8340
+0xe4a5    0x8339
+0xe4a6    0x8350
+0xe4a7    0x8345
+0xe4a8    0x832f
+0xe4a9    0x832b
+0xe4aa    0x8317
+0xe4ab    0x8318
+0xe4ac    0x8385
+0xe4ad    0x839a
+0xe4ae    0x83aa
+0xe4af    0x839f
+0xe4b0    0x83a2
+0xe4b1    0x8396
+0xe4b2    0x8323
+0xe4b3    0x838e
+0xe4b4    0x8387
+0xe4b5    0x838a
+0xe4b6    0x837c
+0xe4b7    0x83b5
+0xe4b8    0x8373
+0xe4b9    0x8375
+0xe4ba    0x83a0
+0xe4bb    0x8389
+0xe4bc    0x83a8
+0xe4bd    0x83f4
+0xe4be    0x8413
+0xe4bf    0x83eb
+0xe4c0    0x83ce
+0xe4c1    0x83fd
+0xe4c2    0x8403
+0xe4c3    0x83d8
+0xe4c4    0x840b
+0xe4c5    0x83c1
+0xe4c6    0x83f7
+0xe4c7    0x8407
+0xe4c8    0x83e0
+0xe4c9    0x83f2
+0xe4ca    0x840d
+0xe4cb    0x8422
+0xe4cc    0x8420
+0xe4cd    0x83bd
+0xe4ce    0x8438
+0xe4cf    0x8506
+0xe4d0    0x83fb
+0xe4d1    0x846d
+0xe4d2    0x842a
+0xe4d3    0x843c
+0xe4d4    0x855a
+0xe4d5    0x8484
+0xe4d6    0x8477
+0xe4d7    0x846b
+0xe4d8    0x84ad
+0xe4d9    0x846e
+0xe4da    0x8482
+0xe4db    0x8469
+0xe4dc    0x8446
+0xe4dd    0x842c
+0xe4de    0x846f
+0xe4df    0x8479
+0xe4e0    0x8435
+0xe4e1    0x84ca
+0xe4e2    0x8462
+0xe4e3    0x84b9
+0xe4e4    0x84bf
+0xe4e5    0x849f
+0xe4e6    0x84d9
+0xe4e7    0x84cd
+0xe4e8    0x84bb
+0xe4e9    0x84da
+0xe4ea    0x84d0
+0xe4eb    0x84c1
+0xe4ec    0x84c6
+0xe4ed    0x84d6
+0xe4ee    0x84a1
+0xe4ef    0x8521
+0xe4f0    0x84ff
+0xe4f1    0x84f4
+0xe4f2    0x8517
+0xe4f3    0x8518
+0xe4f4    0x852c
+0xe4f5    0x851f
+0xe4f6    0x8515
+0xe4f7    0x8514
+0xe4f8    0x84fc
+0xe4f9    0x8540
+0xe4fa    0x8563
+0xe4fb    0x8558
+0xe4fc    0x8548
+0xe540    0x8541
+0xe541    0x8602
+0xe542    0x854b
+0xe543    0x8555
+0xe544    0x8580
+0xe545    0x85a4
+0xe546    0x8588
+0xe547    0x8591
+0xe548    0x858a
+0xe549    0x85a8
+0xe54a    0x856d
+0xe54b    0x8594
+0xe54c    0x859b
+0xe54d    0x85ea
+0xe54e    0x8587
+0xe54f    0x859c
+0xe550    0x8577
+0xe551    0x857e
+0xe552    0x8590
+0xe553    0x85c9
+0xe554    0x85ba
+0xe555    0x85cf
+0xe556    0x85b9
+0xe557    0x85d0
+0xe558    0x85d5
+0xe559    0x85dd
+0xe55a    0x85e5
+0xe55b    0x85dc
+0xe55c    0x85f9
+0xe55d    0x860a
+0xe55e    0x8613
+0xe55f    0x860b
+0xe560    0x85fe
+0xe561    0x85fa
+0xe562    0x8606
+0xe563    0x8622
+0xe564    0x861a
+0xe565    0x8630
+0xe566    0x863f
+0xe567    0x864d
+0xe568    0x4e55
+0xe569    0x8654
+0xe56a    0x865f
+0xe56b    0x8667
+0xe56c    0x8671
+0xe56d    0x8693
+0xe56e    0x86a3
+0xe56f    0x86a9
+0xe570    0x86aa
+0xe571    0x868b
+0xe572    0x868c
+0xe573    0x86b6
+0xe574    0x86af
+0xe575    0x86c4
+0xe576    0x86c6
+0xe577    0x86b0
+0xe578    0x86c9
+0xe579    0x8823
+0xe57a    0x86ab
+0xe57b    0x86d4
+0xe57c    0x86de
+0xe57d    0x86e9
+0xe57e    0x86ec
+0xe580    0x86df
+0xe581    0x86db
+0xe582    0x86ef
+0xe583    0x8712
+0xe584    0x8706
+0xe585    0x8708
+0xe586    0x8700
+0xe587    0x8703
+0xe588    0x86fb
+0xe589    0x8711
+0xe58a    0x8709
+0xe58b    0x870d
+0xe58c    0x86f9
+0xe58d    0x870a
+0xe58e    0x8734
+0xe58f    0x873f
+0xe590    0x8737
+0xe591    0x873b
+0xe592    0x8725
+0xe593    0x8729
+0xe594    0x871a
+0xe595    0x8760
+0xe596    0x875f
+0xe597    0x8778
+0xe598    0x874c
+0xe599    0x874e
+0xe59a    0x8774
+0xe59b    0x8757
+0xe59c    0x8768
+0xe59d    0x876e
+0xe59e    0x8759
+0xe59f    0x8753
+0xe5a0    0x8763
+0xe5a1    0x876a
+0xe5a2    0x8805
+0xe5a3    0x87a2
+0xe5a4    0x879f
+0xe5a5    0x8782
+0xe5a6    0x87af
+0xe5a7    0x87cb
+0xe5a8    0x87bd
+0xe5a9    0x87c0
+0xe5aa    0x87d0
+0xe5ab    0x96d6
+0xe5ac    0x87ab
+0xe5ad    0x87c4
+0xe5ae    0x87b3
+0xe5af    0x87c7
+0xe5b0    0x87c6
+0xe5b1    0x87bb
+0xe5b2    0x87ef
+0xe5b3    0x87f2
+0xe5b4    0x87e0
+0xe5b5    0x880f
+0xe5b6    0x880d
+0xe5b7    0x87fe
+0xe5b8    0x87f6
+0xe5b9    0x87f7
+0xe5ba    0x880e
+0xe5bb    0x87d2
+0xe5bc    0x8811
+0xe5bd    0x8816
+0xe5be    0x8815
+0xe5bf    0x8822
+0xe5c0    0x8821
+0xe5c1    0x8831
+0xe5c2    0x8836
+0xe5c3    0x8839
+0xe5c4    0x8827
+0xe5c5    0x883b
+0xe5c6    0x8844
+0xe5c7    0x8842
+0xe5c8    0x8852
+0xe5c9    0x8859
+0xe5ca    0x885e
+0xe5cb    0x8862
+0xe5cc    0x886b
+0xe5cd    0x8881
+0xe5ce    0x887e
+0xe5cf    0x889e
+0xe5d0    0x8875
+0xe5d1    0x887d
+0xe5d2    0x88b5
+0xe5d3    0x8872
+0xe5d4    0x8882
+0xe5d5    0x8897
+0xe5d6    0x8892
+0xe5d7    0x88ae
+0xe5d8    0x8899
+0xe5d9    0x88a2
+0xe5da    0x888d
+0xe5db    0x88a4
+0xe5dc    0x88b0
+0xe5dd    0x88bf
+0xe5de    0x88b1
+0xe5df    0x88c3
+0xe5e0    0x88c4
+0xe5e1    0x88d4
+0xe5e2    0x88d8
+0xe5e3    0x88d9
+0xe5e4    0x88dd
+0xe5e5    0x88f9
+0xe5e6    0x8902
+0xe5e7    0x88fc
+0xe5e8    0x88f4
+0xe5e9    0x88e8
+0xe5ea    0x88f2
+0xe5eb    0x8904
+0xe5ec    0x890c
+0xe5ed    0x890a
+0xe5ee    0x8913
+0xe5ef    0x8943
+0xe5f0    0x891e
+0xe5f1    0x8925
+0xe5f2    0x892a
+0xe5f3    0x892b
+0xe5f4    0x8941
+0xe5f5    0x8944
+0xe5f6    0x893b
+0xe5f7    0x8936
+0xe5f8    0x8938
+0xe5f9    0x894c
+0xe5fa    0x891d
+0xe5fb    0x8960
+0xe5fc    0x895e
+0xe640    0x8966
+0xe641    0x8964
+0xe642    0x896d
+0xe643    0x896a
+0xe644    0x896f
+0xe645    0x8974
+0xe646    0x8977
+0xe647    0x897e
+0xe648    0x8983
+0xe649    0x8988
+0xe64a    0x898a
+0xe64b    0x8993
+0xe64c    0x8998
+0xe64d    0x89a1
+0xe64e    0x89a9
+0xe64f    0x89a6
+0xe650    0x89ac
+0xe651    0x89af
+0xe652    0x89b2
+0xe653    0x89ba
+0xe654    0x89bd
+0xe655    0x89bf
+0xe656    0x89c0
+0xe657    0x89da
+0xe658    0x89dc
+0xe659    0x89dd
+0xe65a    0x89e7
+0xe65b    0x89f4
+0xe65c    0x89f8
+0xe65d    0x8a03
+0xe65e    0x8a16
+0xe65f    0x8a10
+0xe660    0x8a0c
+0xe661    0x8a1b
+0xe662    0x8a1d
+0xe663    0x8a25
+0xe664    0x8a36
+0xe665    0x8a41
+0xe666    0x8a5b
+0xe667    0x8a52
+0xe668    0x8a46
+0xe669    0x8a48
+0xe66a    0x8a7c
+0xe66b    0x8a6d
+0xe66c    0x8a6c
+0xe66d    0x8a62
+0xe66e    0x8a85
+0xe66f    0x8a82
+0xe670    0x8a84
+0xe671    0x8aa8
+0xe672    0x8aa1
+0xe673    0x8a91
+0xe674    0x8aa5
+0xe675    0x8aa6
+0xe676    0x8a9a
+0xe677    0x8aa3
+0xe678    0x8ac4
+0xe679    0x8acd
+0xe67a    0x8ac2
+0xe67b    0x8ada
+0xe67c    0x8aeb
+0xe67d    0x8af3
+0xe67e    0x8ae7
+0xe680    0x8ae4
+0xe681    0x8af1
+0xe682    0x8b14
+0xe683    0x8ae0
+0xe684    0x8ae2
+0xe685    0x8af7
+0xe686    0x8ade
+0xe687    0x8adb
+0xe688    0x8b0c
+0xe689    0x8b07
+0xe68a    0x8b1a
+0xe68b    0x8ae1
+0xe68c    0x8b16
+0xe68d    0x8b10
+0xe68e    0x8b17
+0xe68f    0x8b20
+0xe690    0x8b33
+0xe691    0x97ab
+0xe692    0x8b26
+0xe693    0x8b2b
+0xe694    0x8b3e
+0xe695    0x8b28
+0xe696    0x8b41
+0xe697    0x8b4c
+0xe698    0x8b4f
+0xe699    0x8b4e
+0xe69a    0x8b49
+0xe69b    0x8b56
+0xe69c    0x8b5b
+0xe69d    0x8b5a
+0xe69e    0x8b6b
+0xe69f    0x8b5f
+0xe6a0    0x8b6c
+0xe6a1    0x8b6f
+0xe6a2    0x8b74
+0xe6a3    0x8b7d
+0xe6a4    0x8b80
+0xe6a5    0x8b8c
+0xe6a6    0x8b8e
+0xe6a7    0x8b92
+0xe6a8    0x8b93
+0xe6a9    0x8b96
+0xe6aa    0x8b99
+0xe6ab    0x8b9a
+0xe6ac    0x8c3a
+0xe6ad    0x8c41
+0xe6ae    0x8c3f
+0xe6af    0x8c48
+0xe6b0    0x8c4c
+0xe6b1    0x8c4e
+0xe6b2    0x8c50
+0xe6b3    0x8c55
+0xe6b4    0x8c62
+0xe6b5    0x8c6c
+0xe6b6    0x8c78
+0xe6b7    0x8c7a
+0xe6b8    0x8c82
+0xe6b9    0x8c89
+0xe6ba    0x8c85
+0xe6bb    0x8c8a
+0xe6bc    0x8c8d
+0xe6bd    0x8c8e
+0xe6be    0x8c94
+0xe6bf    0x8c7c
+0xe6c0    0x8c98
+0xe6c1    0x621d
+0xe6c2    0x8cad
+0xe6c3    0x8caa
+0xe6c4    0x8cbd
+0xe6c5    0x8cb2
+0xe6c6    0x8cb3
+0xe6c7    0x8cae
+0xe6c8    0x8cb6
+0xe6c9    0x8cc8
+0xe6ca    0x8cc1
+0xe6cb    0x8ce4
+0xe6cc    0x8ce3
+0xe6cd    0x8cda
+0xe6ce    0x8cfd
+0xe6cf    0x8cfa
+0xe6d0    0x8cfb
+0xe6d1    0x8d04
+0xe6d2    0x8d05
+0xe6d3    0x8d0a
+0xe6d4    0x8d07
+0xe6d5    0x8d0f
+0xe6d6    0x8d0d
+0xe6d7    0x8d10
+0xe6d8    0x9f4e
+0xe6d9    0x8d13
+0xe6da    0x8ccd
+0xe6db    0x8d14
+0xe6dc    0x8d16
+0xe6dd    0x8d67
+0xe6de    0x8d6d
+0xe6df    0x8d71
+0xe6e0    0x8d73
+0xe6e1    0x8d81
+0xe6e2    0x8d99
+0xe6e3    0x8dc2
+0xe6e4    0x8dbe
+0xe6e5    0x8dba
+0xe6e6    0x8dcf
+0xe6e7    0x8dda
+0xe6e8    0x8dd6
+0xe6e9    0x8dcc
+0xe6ea    0x8ddb
+0xe6eb    0x8dcb
+0xe6ec    0x8dea
+0xe6ed    0x8deb
+0xe6ee    0x8ddf
+0xe6ef    0x8de3
+0xe6f0    0x8dfc
+0xe6f1    0x8e08
+0xe6f2    0x8e09
+0xe6f3    0x8dff
+0xe6f4    0x8e1d
+0xe6f5    0x8e1e
+0xe6f6    0x8e10
+0xe6f7    0x8e1f
+0xe6f8    0x8e42
+0xe6f9    0x8e35
+0xe6fa    0x8e30
+0xe6fb    0x8e34
+0xe6fc    0x8e4a
+0xe740    0x8e47
+0xe741    0x8e49
+0xe742    0x8e4c
+0xe743    0x8e50
+0xe744    0x8e48
+0xe745    0x8e59
+0xe746    0x8e64
+0xe747    0x8e60
+0xe748    0x8e2a
+0xe749    0x8e63
+0xe74a    0x8e55
+0xe74b    0x8e76
+0xe74c    0x8e72
+0xe74d    0x8e7c
+0xe74e    0x8e81
+0xe74f    0x8e87
+0xe750    0x8e85
+0xe751    0x8e84
+0xe752    0x8e8b
+0xe753    0x8e8a
+0xe754    0x8e93
+0xe755    0x8e91
+0xe756    0x8e94
+0xe757    0x8e99
+0xe758    0x8eaa
+0xe759    0x8ea1
+0xe75a    0x8eac
+0xe75b    0x8eb0
+0xe75c    0x8ec6
+0xe75d    0x8eb1
+0xe75e    0x8ebe
+0xe75f    0x8ec5
+0xe760    0x8ec8
+0xe761    0x8ecb
+0xe762    0x8edb
+0xe763    0x8ee3
+0xe764    0x8efc
+0xe765    0x8efb
+0xe766    0x8eeb
+0xe767    0x8efe
+0xe768    0x8f0a
+0xe769    0x8f05
+0xe76a    0x8f15
+0xe76b    0x8f12
+0xe76c    0x8f19
+0xe76d    0x8f13
+0xe76e    0x8f1c
+0xe76f    0x8f1f
+0xe770    0x8f1b
+0xe771    0x8f0c
+0xe772    0x8f26
+0xe773    0x8f33
+0xe774    0x8f3b
+0xe775    0x8f39
+0xe776    0x8f45
+0xe777    0x8f42
+0xe778    0x8f3e
+0xe779    0x8f4c
+0xe77a    0x8f49
+0xe77b    0x8f46
+0xe77c    0x8f4e
+0xe77d    0x8f57
+0xe77e    0x8f5c
+0xe780    0x8f62
+0xe781    0x8f63
+0xe782    0x8f64
+0xe783    0x8f9c
+0xe784    0x8f9f
+0xe785    0x8fa3
+0xe786    0x8fad
+0xe787    0x8faf
+0xe788    0x8fb7
+0xe789    0x8fda
+0xe78a    0x8fe5
+0xe78b    0x8fe2
+0xe78c    0x8fea
+0xe78d    0x8fef
+0xe78e    0x9087
+0xe78f    0x8ff4
+0xe790    0x9005
+0xe791    0x8ff9
+0xe792    0x8ffa
+0xe793    0x9011
+0xe794    0x9015
+0xe795    0x9021
+0xe796    0x900d
+0xe797    0x901e
+0xe798    0x9016
+0xe799    0x900b
+0xe79a    0x9027
+0xe79b    0x9036
+0xe79c    0x9035
+0xe79d    0x9039
+0xe79e    0x8ff8
+0xe79f    0x904f
+0xe7a0    0x9050
+0xe7a1    0x9051
+0xe7a2    0x9052
+0xe7a3    0x900e
+0xe7a4    0x9049
+0xe7a5    0x903e
+0xe7a6    0x9056
+0xe7a7    0x9058
+0xe7a8    0x905e
+0xe7a9    0x9068
+0xe7aa    0x906f
+0xe7ab    0x9076
+0xe7ac    0x96a8
+0xe7ad    0x9072
+0xe7ae    0x9082
+0xe7af    0x907d
+0xe7b0    0x9081
+0xe7b1    0x9080
+0xe7b2    0x908a
+0xe7b3    0x9089
+0xe7b4    0x908f
+0xe7b5    0x90a8
+0xe7b6    0x90af
+0xe7b7    0x90b1
+0xe7b8    0x90b5
+0xe7b9    0x90e2
+0xe7ba    0x90e4
+0xe7bb    0x6248
+0xe7bc    0x90db
+0xe7bd    0x9102
+0xe7be    0x9112
+0xe7bf    0x9119
+0xe7c0    0x9132
+0xe7c1    0x9130
+0xe7c2    0x914a
+0xe7c3    0x9156
+0xe7c4    0x9158
+0xe7c5    0x9163
+0xe7c6    0x9165
+0xe7c7    0x9169
+0xe7c8    0x9173
+0xe7c9    0x9172
+0xe7ca    0x918b
+0xe7cb    0x9189
+0xe7cc    0x9182
+0xe7cd    0x91a2
+0xe7ce    0x91ab
+0xe7cf    0x91af
+0xe7d0    0x91aa
+0xe7d1    0x91b5
+0xe7d2    0x91b4
+0xe7d3    0x91ba
+0xe7d4    0x91c0
+0xe7d5    0x91c1
+0xe7d6    0x91c9
+0xe7d7    0x91cb
+0xe7d8    0x91d0
+0xe7d9    0x91d6
+0xe7da    0x91df
+0xe7db    0x91e1
+0xe7dc    0x91db
+0xe7dd    0x91fc
+0xe7de    0x91f5
+0xe7df    0x91f6
+0xe7e0    0x921e
+0xe7e1    0x91ff
+0xe7e2    0x9214
+0xe7e3    0x922c
+0xe7e4    0x9215
+0xe7e5    0x9211
+0xe7e6    0x925e
+0xe7e7    0x9257
+0xe7e8    0x9245
+0xe7e9    0x9249
+0xe7ea    0x9264
+0xe7eb    0x9248
+0xe7ec    0x9295
+0xe7ed    0x923f
+0xe7ee    0x924b
+0xe7ef    0x9250
+0xe7f0    0x929c
+0xe7f1    0x9296
+0xe7f2    0x9293
+0xe7f3    0x929b
+0xe7f4    0x925a
+0xe7f5    0x92cf
+0xe7f6    0x92b9
+0xe7f7    0x92b7
+0xe7f8    0x92e9
+0xe7f9    0x930f
+0xe7fa    0x92fa
+0xe7fb    0x9344
+0xe7fc    0x932e
+0xe840    0x9319
+0xe841    0x9322
+0xe842    0x931a
+0xe843    0x9323
+0xe844    0x933a
+0xe845    0x9335
+0xe846    0x933b
+0xe847    0x935c
+0xe848    0x9360
+0xe849    0x937c
+0xe84a    0x936e
+0xe84b    0x9356
+0xe84c    0x93b0
+0xe84d    0x93ac
+0xe84e    0x93ad
+0xe84f    0x9394
+0xe850    0x93b9
+0xe851    0x93d6
+0xe852    0x93d7
+0xe853    0x93e8
+0xe854    0x93e5
+0xe855    0x93d8
+0xe856    0x93c3
+0xe857    0x93dd
+0xe858    0x93d0
+0xe859    0x93c8
+0xe85a    0x93e4
+0xe85b    0x941a
+0xe85c    0x9414
+0xe85d    0x9413
+0xe85e    0x9403
+0xe85f    0x9407
+0xe860    0x9410
+0xe861    0x9436
+0xe862    0x942b
+0xe863    0x9435
+0xe864    0x9421
+0xe865    0x943a
+0xe866    0x9441
+0xe867    0x9452
+0xe868    0x9444
+0xe869    0x945b
+0xe86a    0x9460
+0xe86b    0x9462
+0xe86c    0x945e
+0xe86d    0x946a
+0xe86e    0x9229
+0xe86f    0x9470
+0xe870    0x9475
+0xe871    0x9477
+0xe872    0x947d
+0xe873    0x945a
+0xe874    0x947c
+0xe875    0x947e
+0xe876    0x9481
+0xe877    0x947f
+0xe878    0x9582
+0xe879    0x9587
+0xe87a    0x958a
+0xe87b    0x9594
+0xe87c    0x9596
+0xe87d    0x9598
+0xe87e    0x9599
+0xe880    0x95a0
+0xe881    0x95a8
+0xe882    0x95a7
+0xe883    0x95ad
+0xe884    0x95bc
+0xe885    0x95bb
+0xe886    0x95b9
+0xe887    0x95be
+0xe888    0x95ca
+0xe889    0x6ff6
+0xe88a    0x95c3
+0xe88b    0x95cd
+0xe88c    0x95cc
+0xe88d    0x95d5
+0xe88e    0x95d4
+0xe88f    0x95d6
+0xe890    0x95dc
+0xe891    0x95e1
+0xe892    0x95e5
+0xe893    0x95e2
+0xe894    0x9621
+0xe895    0x9628
+0xe896    0x962e
+0xe897    0x962f
+0xe898    0x9642
+0xe899    0x964c
+0xe89a    0x964f
+0xe89b    0x964b
+0xe89c    0x9677
+0xe89d    0x965c
+0xe89e    0x965e
+0xe89f    0x965d
+0xe8a0    0x965f
+0xe8a1    0x9666
+0xe8a2    0x9672
+0xe8a3    0x966c
+0xe8a4    0x968d
+0xe8a5    0x9698
+0xe8a6    0x9695
+0xe8a7    0x9697
+0xe8a8    0x96aa
+0xe8a9    0x96a7
+0xe8aa    0x96b1
+0xe8ab    0x96b2
+0xe8ac    0x96b0
+0xe8ad    0x96b4
+0xe8ae    0x96b6
+0xe8af    0x96b8
+0xe8b0    0x96b9
+0xe8b1    0x96ce
+0xe8b2    0x96cb
+0xe8b3    0x96c9
+0xe8b4    0x96cd
+0xe8b5    0x894d
+0xe8b6    0x96dc
+0xe8b7    0x970d
+0xe8b8    0x96d5
+0xe8b9    0x96f9
+0xe8ba    0x9704
+0xe8bb    0x9706
+0xe8bc    0x9708
+0xe8bd    0x9713
+0xe8be    0x970e
+0xe8bf    0x9711
+0xe8c0    0x970f
+0xe8c1    0x9716
+0xe8c2    0x9719
+0xe8c3    0x9724
+0xe8c4    0x972a
+0xe8c5    0x9730
+0xe8c6    0x9739
+0xe8c7    0x973d
+0xe8c8    0x973e
+0xe8c9    0x9744
+0xe8ca    0x9746
+0xe8cb    0x9748
+0xe8cc    0x9742
+0xe8cd    0x9749
+0xe8ce    0x975c
+0xe8cf    0x9760
+0xe8d0    0x9764
+0xe8d1    0x9766
+0xe8d2    0x9768
+0xe8d3    0x52d2
+0xe8d4    0x976b
+0xe8d5    0x9771
+0xe8d6    0x9779
+0xe8d7    0x9785
+0xe8d8    0x977c
+0xe8d9    0x9781
+0xe8da    0x977a
+0xe8db    0x9786
+0xe8dc    0x978b
+0xe8dd    0x978f
+0xe8de    0x9790
+0xe8df    0x979c
+0xe8e0    0x97a8
+0xe8e1    0x97a6
+0xe8e2    0x97a3
+0xe8e3    0x97b3
+0xe8e4    0x97b4
+0xe8e5    0x97c3
+0xe8e6    0x97c6
+0xe8e7    0x97c8
+0xe8e8    0x97cb
+0xe8e9    0x97dc
+0xe8ea    0x97ed
+0xe8eb    0x9f4f
+0xe8ec    0x97f2
+0xe8ed    0x7adf
+0xe8ee    0x97f6
+0xe8ef    0x97f5
+0xe8f0    0x980f
+0xe8f1    0x980c
+0xe8f2    0x9838
+0xe8f3    0x9824
+0xe8f4    0x9821
+0xe8f5    0x9837
+0xe8f6    0x983d
+0xe8f7    0x9846
+0xe8f8    0x984f
+0xe8f9    0x984b
+0xe8fa    0x986b
+0xe8fb    0x986f
+0xe8fc    0x9870
+0xe940    0x9871
+0xe941    0x9874
+0xe942    0x9873
+0xe943    0x98aa
+0xe944    0x98af
+0xe945    0x98b1
+0xe946    0x98b6
+0xe947    0x98c4
+0xe948    0x98c3
+0xe949    0x98c6
+0xe94a    0x98e9
+0xe94b    0x98eb
+0xe94c    0x9903
+0xe94d    0x9909
+0xe94e    0x9912
+0xe94f    0x9914
+0xe950    0x9918
+0xe951    0x9921
+0xe952    0x991d
+0xe953    0x991e
+0xe954    0x9924
+0xe955    0x9920
+0xe956    0x992c
+0xe957    0x992e
+0xe958    0x993d
+0xe959    0x993e
+0xe95a    0x9942
+0xe95b    0x9949
+0xe95c    0x9945
+0xe95d    0x9950
+0xe95e    0x994b
+0xe95f    0x9951
+0xe960    0x9952
+0xe961    0x994c
+0xe962    0x9955
+0xe963    0x9997
+0xe964    0x9998
+0xe965    0x99a5
+0xe966    0x99ad
+0xe967    0x99ae
+0xe968    0x99bc
+0xe969    0x99df
+0xe96a    0x99db
+0xe96b    0x99dd
+0xe96c    0x99d8
+0xe96d    0x99d1
+0xe96e    0x99ed
+0xe96f    0x99ee
+0xe970    0x99f1
+0xe971    0x99f2
+0xe972    0x99fb
+0xe973    0x99f8
+0xe974    0x9a01
+0xe975    0x9a0f
+0xe976    0x9a05
+0xe977    0x99e2
+0xe978    0x9a19
+0xe979    0x9a2b
+0xe97a    0x9a37
+0xe97b    0x9a45
+0xe97c    0x9a42
+0xe97d    0x9a40
+0xe97e    0x9a43
+0xe980    0x9a3e
+0xe981    0x9a55
+0xe982    0x9a4d
+0xe983    0x9a5b
+0xe984    0x9a57
+0xe985    0x9a5f
+0xe986    0x9a62
+0xe987    0x9a65
+0xe988    0x9a64
+0xe989    0x9a69
+0xe98a    0x9a6b
+0xe98b    0x9a6a
+0xe98c    0x9aad
+0xe98d    0x9ab0
+0xe98e    0x9abc
+0xe98f    0x9ac0
+0xe990    0x9acf
+0xe991    0x9ad1
+0xe992    0x9ad3
+0xe993    0x9ad4
+0xe994    0x9ade
+0xe995    0x9adf
+0xe996    0x9ae2
+0xe997    0x9ae3
+0xe998    0x9ae6
+0xe999    0x9aef
+0xe99a    0x9aeb
+0xe99b    0x9aee
+0xe99c    0x9af4
+0xe99d    0x9af1
+0xe99e    0x9af7
+0xe99f    0x9afb
+0xe9a0    0x9b06
+0xe9a1    0x9b18
+0xe9a2    0x9b1a
+0xe9a3    0x9b1f
+0xe9a4    0x9b22
+0xe9a5    0x9b23
+0xe9a6    0x9b25
+0xe9a7    0x9b27
+0xe9a8    0x9b28
+0xe9a9    0x9b29
+0xe9aa    0x9b2a
+0xe9ab    0x9b2e
+0xe9ac    0x9b2f
+0xe9ad    0x9b32
+0xe9ae    0x9b44
+0xe9af    0x9b43
+0xe9b0    0x9b4f
+0xe9b1    0x9b4d
+0xe9b2    0x9b4e
+0xe9b3    0x9b51
+0xe9b4    0x9b58
+0xe9b5    0x9b74
+0xe9b6    0x9b93
+0xe9b7    0x9b83
+0xe9b8    0x9b91
+0xe9b9    0x9b96
+0xe9ba    0x9b97
+0xe9bb    0x9b9f
+0xe9bc    0x9ba0
+0xe9bd    0x9ba8
+0xe9be    0x9bb4
+0xe9bf    0x9bc0
+0xe9c0    0x9bca
+0xe9c1    0x9bb9
+0xe9c2    0x9bc6
+0xe9c3    0x9bcf
+0xe9c4    0x9bd1
+0xe9c5    0x9bd2
+0xe9c6    0x9be3
+0xe9c7    0x9be2
+0xe9c8    0x9be4
+0xe9c9    0x9bd4
+0xe9ca    0x9be1
+0xe9cb    0x9c3a
+0xe9cc    0x9bf2
+0xe9cd    0x9bf1
+0xe9ce    0x9bf0
+0xe9cf    0x9c15
+0xe9d0    0x9c14
+0xe9d1    0x9c09
+0xe9d2    0x9c13
+0xe9d3    0x9c0c
+0xe9d4    0x9c06
+0xe9d5    0x9c08
+0xe9d6    0x9c12
+0xe9d7    0x9c0a
+0xe9d8    0x9c04
+0xe9d9    0x9c2e
+0xe9da    0x9c1b
+0xe9db    0x9c25
+0xe9dc    0x9c24
+0xe9dd    0x9c21
+0xe9de    0x9c30
+0xe9df    0x9c47
+0xe9e0    0x9c32
+0xe9e1    0x9c46
+0xe9e2    0x9c3e
+0xe9e3    0x9c5a
+0xe9e4    0x9c60
+0xe9e5    0x9c67
+0xe9e6    0x9c76
+0xe9e7    0x9c78
+0xe9e8    0x9ce7
+0xe9e9    0x9cec
+0xe9ea    0x9cf0
+0xe9eb    0x9d09
+0xe9ec    0x9d08
+0xe9ed    0x9ceb
+0xe9ee    0x9d03
+0xe9ef    0x9d06
+0xe9f0    0x9d2a
+0xe9f1    0x9d26
+0xe9f2    0x9daf
+0xe9f3    0x9d23
+0xe9f4    0x9d1f
+0xe9f5    0x9d44
+0xe9f6    0x9d15
+0xe9f7    0x9d12
+0xe9f8    0x9d41
+0xe9f9    0x9d3f
+0xe9fa    0x9d3e
+0xe9fb    0x9d46
+0xe9fc    0x9d48
+0xea40    0x9d5d
+0xea41    0x9d5e
+0xea42    0x9d64
+0xea43    0x9d51
+0xea44    0x9d50
+0xea45    0x9d59
+0xea46    0x9d72
+0xea47    0x9d89
+0xea48    0x9d87
+0xea49    0x9dab
+0xea4a    0x9d6f
+0xea4b    0x9d7a
+0xea4c    0x9d9a
+0xea4d    0x9da4
+0xea4e    0x9da9
+0xea4f    0x9db2
+0xea50    0x9dc4
+0xea51    0x9dc1
+0xea52    0x9dbb
+0xea53    0x9db8
+0xea54    0x9dba
+0xea55    0x9dc6
+0xea56    0x9dcf
+0xea57    0x9dc2
+0xea58    0x9dd9
+0xea59    0x9dd3
+0xea5a    0x9df8
+0xea5b    0x9de6
+0xea5c    0x9ded
+0xea5d    0x9def
+0xea5e    0x9dfd
+0xea5f    0x9e1a
+0xea60    0x9e1b
+0xea61    0x9e1e
+0xea62    0x9e75
+0xea63    0x9e79
+0xea64    0x9e7d
+0xea65    0x9e81
+0xea66    0x9e88
+0xea67    0x9e8b
+0xea68    0x9e8c
+0xea69    0x9e92
+0xea6a    0x9e95
+0xea6b    0x9e91
+0xea6c    0x9e9d
+0xea6d    0x9ea5
+0xea6e    0x9ea9
+0xea6f    0x9eb8
+0xea70    0x9eaa
+0xea71    0x9ead
+0xea72    0x9761
+0xea73    0x9ecc
+0xea74    0x9ece
+0xea75    0x9ecf
+0xea76    0x9ed0
+0xea77    0x9ed4
+0xea78    0x9edc
+0xea79    0x9ede
+0xea7a    0x9edd
+0xea7b    0x9ee0
+0xea7c    0x9ee5
+0xea7d    0x9ee8
+0xea7e    0x9eef
+0xea80    0x9ef4
+0xea81    0x9ef6
+0xea82    0x9ef7
+0xea83    0x9ef9
+0xea84    0x9efb
+0xea85    0x9efc
+0xea86    0x9efd
+0xea87    0x9f07
+0xea88    0x9f08
+0xea89    0x76b7
+0xea8a    0x9f15
+0xea8b    0x9f21
+0xea8c    0x9f2c
+0xea8d    0x9f3e
+0xea8e    0x9f4a
+0xea8f    0x9f52
+0xea90    0x9f54
+0xea91    0x9f63
+0xea92    0x9f5f
+0xea93    0x9f60
+0xea94    0x9f61
+0xea95    0x9f66
+0xea96    0x9f67
+0xea97    0x9f6c
+0xea98    0x9f6a
+0xea99    0x9f77
+0xea9a    0x9f72
+0xea9b    0x9f76
+0xea9c    0x9f95
+0xea9d    0x9f9c
+0xea9e    0x9fa0
+0xea9f    0x582f
+0xeaa0    0x69c7
+0xeaa1    0x9059
+0xeaa2    0x7464
+0xeaa3    0x51dc
+0xeaa4    0x7199
+0xed40    0x7e8a
+0xed41    0x891c
+0xed42    0x9348
+0xed43    0x9288
+0xed44    0x84dc
+0xed45    0x4fc9
+0xed46    0x70bb
+0xed47    0x6631
+0xed48    0x68c8
+0xed49    0x92f9
+0xed4a    0x66fb
+0xed4b    0x5f45
+0xed4c    0x4e28
+0xed4d    0x4ee1
+0xed4e    0x4efc
+0xed4f    0x4f00
+0xed50    0x4f03
+0xed51    0x4f39
+0xed52    0x4f56
+0xed53    0x4f92
+0xed54    0x4f8a
+0xed55    0x4f9a
+0xed56    0x4f94
+0xed57    0x4fcd
+0xed58    0x5040
+0xed59    0x5022
+0xed5a    0x4fff
+0xed5b    0x501e
+0xed5c    0x5046
+0xed5d    0x5070
+0xed5e    0x5042
+0xed5f    0x5094
+0xed60    0x50f4
+0xed61    0x50d8
+0xed62    0x514a
+0xed63    0x5164
+0xed64    0x519d
+0xed65    0x51be
+0xed66    0x51ec
+0xed67    0x5215
+0xed68    0x529c
+0xed69    0x52a6
+0xed6a    0x52c0
+0xed6b    0x52db
+0xed6c    0x5300
+0xed6d    0x5307
+0xed6e    0x5324
+0xed6f    0x5372
+0xed70    0x5393
+0xed71    0x53b2
+0xed72    0x53dd
+0xed73    0xfa0e
+0xed74    0x549c
+0xed75    0x548a
+0xed76    0x54a9
+0xed77    0x54ff
+0xed78    0x5586
+0xed79    0x5759
+0xed7a    0x5765
+0xed7b    0x57ac
+0xed7c    0x57c8
+0xed7d    0x57c7
+0xed7e    0xfa0f
+0xed80    0xfa10
+0xed81    0x589e
+0xed82    0x58b2
+0xed83    0x590b
+0xed84    0x5953
+0xed85    0x595b
+0xed86    0x595d
+0xed87    0x5963
+0xed88    0x59a4
+0xed89    0x59ba
+0xed8a    0x5b56
+0xed8b    0x5bc0
+0xed8c    0x752f
+0xed8d    0x5bd8
+0xed8e    0x5bec
+0xed8f    0x5c1e
+0xed90    0x5ca6
+0xed91    0x5cba
+0xed92    0x5cf5
+0xed93    0x5d27
+0xed94    0x5d53
+0xed95    0xfa11
+0xed96    0x5d42
+0xed97    0x5d6d
+0xed98    0x5db8
+0xed99    0x5db9
+0xed9a    0x5dd0
+0xed9b    0x5f21
+0xed9c    0x5f34
+0xed9d    0x5f67
+0xed9e    0x5fb7
+0xed9f    0x5fde
+0xeda0    0x605d
+0xeda1    0x6085
+0xeda2    0x608a
+0xeda3    0x60de
+0xeda4    0x60d5
+0xeda5    0x6120
+0xeda6    0x60f2
+0xeda7    0x6111
+0xeda8    0x6137
+0xeda9    0x6130
+0xedaa    0x6198
+0xedab    0x6213
+0xedac    0x62a6
+0xedad    0x63f5
+0xedae    0x6460
+0xedaf    0x649d
+0xedb0    0x64ce
+0xedb1    0x654e
+0xedb2    0x6600
+0xedb3    0x6615
+0xedb4    0x663b
+0xedb5    0x6609
+0xedb6    0x662e
+0xedb7    0x661e
+0xedb8    0x6624
+0xedb9    0x6665
+0xedba    0x6657
+0xedbb    0x6659
+0xedbc    0xfa12
+0xedbd    0x6673
+0xedbe    0x6699
+0xedbf    0x66a0
+0xedc0    0x66b2
+0xedc1    0x66bf
+0xedc2    0x66fa
+0xedc3    0x670e
+0xedc4    0xf929
+0xedc5    0x6766
+0xedc6    0x67bb
+0xedc7    0x6852
+0xedc8    0x67c0
+0xedc9    0x6801
+0xedca    0x6844
+0xedcb    0x68cf
+0xedcc    0xfa13
+0xedcd    0x6968
+0xedce    0xfa14
+0xedcf    0x6998
+0xedd0    0x69e2
+0xedd1    0x6a30
+0xedd2    0x6a6b
+0xedd3    0x6a46
+0xedd4    0x6a73
+0xedd5    0x6a7e
+0xedd6    0x6ae2
+0xedd7    0x6ae4
+0xedd8    0x6bd6
+0xedd9    0x6c3f
+0xedda    0x6c5c
+0xeddb    0x6c86
+0xeddc    0x6c6f
+0xeddd    0x6cda
+0xedde    0x6d04
+0xeddf    0x6d87
+0xede0    0x6d6f
+0xede1    0x6d96
+0xede2    0x6dac
+0xede3    0x6dcf
+0xede4    0x6df8
+0xede5    0x6df2
+0xede6    0x6dfc
+0xede7    0x6e39
+0xede8    0x6e5c
+0xede9    0x6e27
+0xedea    0x6e3c
+0xedeb    0x6ebf
+0xedec    0x6f88
+0xeded    0x6fb5
+0xedee    0x6ff5
+0xedef    0x7005
+0xedf0    0x7007
+0xedf1    0x7028
+0xedf2    0x7085
+0xedf3    0x70ab
+0xedf4    0x710f
+0xedf5    0x7104
+0xedf6    0x715c
+0xedf7    0x7146
+0xedf8    0x7147
+0xedf9    0xfa15
+0xedfa    0x71c1
+0xedfb    0x71fe
+0xedfc    0x72b1
+0xee40    0x72be
+0xee41    0x7324
+0xee42    0xfa16
+0xee43    0x7377
+0xee44    0x73bd
+0xee45    0x73c9
+0xee46    0x73d6
+0xee47    0x73e3
+0xee48    0x73d2
+0xee49    0x7407
+0xee4a    0x73f5
+0xee4b    0x7426
+0xee4c    0x742a
+0xee4d    0x7429
+0xee4e    0x742e
+0xee4f    0x7462
+0xee50    0x7489
+0xee51    0x749f
+0xee52    0x7501
+0xee53    0x756f
+0xee54    0x7682
+0xee55    0x769c
+0xee56    0x769e
+0xee57    0x769b
+0xee58    0x76a6
+0xee59    0xfa17
+0xee5a    0x7746
+0xee5b    0x52af
+0xee5c    0x7821
+0xee5d    0x784e
+0xee5e    0x7864
+0xee5f    0x787a
+0xee60    0x7930
+0xee61    0xfa18
+0xee62    0xfa19
+0xee63    0xfa1a
+0xee64    0x7994
+0xee65    0xfa1b
+0xee66    0x799b
+0xee67    0x7ad1
+0xee68    0x7ae7
+0xee69    0xfa1c
+0xee6a    0x7aeb
+0xee6b    0x7b9e
+0xee6c    0xfa1d
+0xee6d    0x7d48
+0xee6e    0x7d5c
+0xee6f    0x7db7
+0xee70    0x7da0
+0xee71    0x7dd6
+0xee72    0x7e52
+0xee73    0x7f47
+0xee74    0x7fa1
+0xee75    0xfa1e
+0xee76    0x8301
+0xee77    0x8362
+0xee78    0x837f
+0xee79    0x83c7
+0xee7a    0x83f6
+0xee7b    0x8448
+0xee7c    0x84b4
+0xee7d    0x8553
+0xee7e    0x8559
+0xee80    0x856b
+0xee81    0xfa1f
+0xee82    0x85b0
+0xee83    0xfa20
+0xee84    0xfa21
+0xee85    0x8807
+0xee86    0x88f5
+0xee87    0x8a12
+0xee88    0x8a37
+0xee89    0x8a79
+0xee8a    0x8aa7
+0xee8b    0x8abe
+0xee8c    0x8adf
+0xee8d    0xfa22
+0xee8e    0x8af6
+0xee8f    0x8b53
+0xee90    0x8b7f
+0xee91    0x8cf0
+0xee92    0x8cf4
+0xee93    0x8d12
+0xee94    0x8d76
+0xee95    0xfa23
+0xee96    0x8ecf
+0xee97    0xfa24
+0xee98    0xfa25
+0xee99    0x9067
+0xee9a    0x90de
+0xee9b    0xfa26
+0xee9c    0x9115
+0xee9d    0x9127
+0xee9e    0x91da
+0xee9f    0x91d7
+0xeea0    0x91de
+0xeea1    0x91ed
+0xeea2    0x91ee
+0xeea3    0x91e4
+0xeea4    0x91e5
+0xeea5    0x9206
+0xeea6    0x9210
+0xeea7    0x920a
+0xeea8    0x923a
+0xeea9    0x9240
+0xeeaa    0x923c
+0xeeab    0x924e
+0xeeac    0x9259
+0xeead    0x9251
+0xeeae    0x9239
+0xeeaf    0x9267
+0xeeb0    0x92a7
+0xeeb1    0x9277
+0xeeb2    0x9278
+0xeeb3    0x92e7
+0xeeb4    0x92d7
+0xeeb5    0x92d9
+0xeeb6    0x92d0
+0xeeb7    0xfa27
+0xeeb8    0x92d5
+0xeeb9    0x92e0
+0xeeba    0x92d3
+0xeebb    0x9325
+0xeebc    0x9321
+0xeebd    0x92fb
+0xeebe    0xfa28
+0xeebf    0x931e
+0xeec0    0x92ff
+0xeec1    0x931d
+0xeec2    0x9302
+0xeec3    0x9370
+0xeec4    0x9357
+0xeec5    0x93a4
+0xeec6    0x93c6
+0xeec7    0x93de
+0xeec8    0x93f8
+0xeec9    0x9431
+0xeeca    0x9445
+0xeecb    0x9448
+0xeecc    0x9592
+0xeecd    0xf9dc
+0xeece    0xfa29
+0xeecf    0x969d
+0xeed0    0x96af
+0xeed1    0x9733
+0xeed2    0x973b
+0xeed3    0x9743
+0xeed4    0x974d
+0xeed5    0x974f
+0xeed6    0x9751
+0xeed7    0x9755
+0xeed8    0x9857
+0xeed9    0x9865
+0xeeda    0xfa2a
+0xeedb    0xfa2b
+0xeedc    0x9927
+0xeedd    0xfa2c
+0xeede    0x999e
+0xeedf    0x9a4e
+0xeee0    0x9ad9
+0xeee1    0x9adc
+0xeee2    0x9b75
+0xeee3    0x9b72
+0xeee4    0x9b8f
+0xeee5    0x9bb1
+0xeee6    0x9bbb
+0xeee7    0x9c00
+0xeee8    0x9d70
+0xeee9    0x9d6b
+0xeeea    0xfa2d
+0xeeeb    0x9e19
+0xeeec    0x9ed1
+0xeeef    0x2170
+0xeef0    0x2171
+0xeef1    0x2172
+0xeef2    0x2173
+0xeef3    0x2174
+0xeef4    0x2175
+0xeef5    0x2176
+0xeef6    0x2177
+0xeef7    0x2178
+0xeef8    0x2179
+0xeef9    0x3052
+0xeefa    0x00a6
+0xeefb    0xff07
+0xeefc    0xff02
+0xfa40    0x2170
+0xfa41    0x2171
+0xfa42    0x2172
+0xfa43    0x2173
+0xfa44    0x2174
+0xfa45    0x2175
+0xfa46    0x2176
+0xfa47    0x2177
+0xfa48    0x2178
+0xfa49    0x2179
+0xfa4a    0x2160
+0xfa4b    0x2161
+0xfa4c    0x2162
+0xfa4d    0x2163
+0xfa4e    0x2164
+0xfa4f    0x2165
+0xfa50    0x2166
+0xfa51    0x2167
+0xfa52    0x2168
+0xfa53    0x2169
+0xfa54    0x3052
+0xfa55    0x00a6
+0xfa56    0xff07
+0xfa57    0xff02
+0xfa58    0x3231
+0xfa59    0x2116
+0xfa5a    0x2121
+0xfa5b    0x306e
+0xfa5c    0x7e8a
+0xfa5d    0x891c
+0xfa5e    0x9348
+0xfa5f    0x9288
+0xfa60    0x84dc
+0xfa61    0x4fc9
+0xfa62    0x70bb
+0xfa63    0x6631
+0xfa64    0x68c8
+0xfa65    0x92f9
+0xfa66    0x66fb
+0xfa67    0x5f45
+0xfa68    0x4e28
+0xfa69    0x4ee1
+0xfa6a    0x4efc
+0xfa6b    0x4f00
+0xfa6c    0x4f03
+0xfa6d    0x4f39
+0xfa6e    0x4f56
+0xfa6f    0x4f92
+0xfa70    0x4f8a
+0xfa71    0x4f9a
+0xfa72    0x4f94
+0xfa73    0x4fcd
+0xfa74    0x5040
+0xfa75    0x5022
+0xfa76    0x4fff
+0xfa77    0x501e
+0xfa78    0x5046
+0xfa79    0x5070
+0xfa7a    0x5042
+0xfa7b    0x5094
+0xfa7c    0x50f4
+0xfa7d    0x50d8
+0xfa7e    0x514a
+0xfa80    0x5164
+0xfa81    0x519d
+0xfa82    0x51be
+0xfa83    0x51ec
+0xfa84    0x5215
+0xfa85    0x529c
+0xfa86    0x52a6
+0xfa87    0x52c0
+0xfa88    0x52db
+0xfa89    0x5300
+0xfa8a    0x5307
+0xfa8b    0x5324
+0xfa8c    0x5372
+0xfa8d    0x5393
+0xfa8e    0x53b2
+0xfa8f    0x53dd
+0xfa90    0xfa0e
+0xfa91    0x549c
+0xfa92    0x548a
+0xfa93    0x54a9
+0xfa94    0x54ff
+0xfa95    0x5586
+0xfa96    0x5759
+0xfa97    0x5765
+0xfa98    0x57ac
+0xfa99    0x57c8
+0xfa9a    0x57c7
+0xfa9b    0xfa0f
+0xfa9c    0xfa10
+0xfa9d    0x589e
+0xfa9e    0x58b2
+0xfa9f    0x590b
+0xfaa0    0x5953
+0xfaa1    0x595b
+0xfaa2    0x595d
+0xfaa3    0x5963
+0xfaa4    0x59a4
+0xfaa5    0x59ba
+0xfaa6    0x5b56
+0xfaa7    0x5bc0
+0xfaa8    0x752f
+0xfaa9    0x5bd8
+0xfaaa    0x5bec
+0xfaab    0x5c1e
+0xfaac    0x5ca6
+0xfaad    0x5cba
+0xfaae    0x5cf5
+0xfaaf    0x5d27
+0xfab0    0x5d53
+0xfab1    0xfa11
+0xfab2    0x5d42
+0xfab3    0x5d6d
+0xfab4    0x5db8
+0xfab5    0x5db9
+0xfab6    0x5dd0
+0xfab7    0x5f21
+0xfab8    0x5f34
+0xfab9    0x5f67
+0xfaba    0x5fb7
+0xfabb    0x5fde
+0xfabc    0x605d
+0xfabd    0x6085
+0xfabe    0x608a
+0xfabf    0x60de
+0xfac0    0x60d5
+0xfac1    0x6120
+0xfac2    0x60f2
+0xfac3    0x6111
+0xfac4    0x6137
+0xfac5    0x6130
+0xfac6    0x6198
+0xfac7    0x6213
+0xfac8    0x62a6
+0xfac9    0x63f5
+0xfaca    0x6460
+0xfacb    0x649d
+0xfacc    0x64ce
+0xfacd    0x654e
+0xface    0x6600
+0xfacf    0x6615
+0xfad0    0x663b
+0xfad1    0x6609
+0xfad2    0x662e
+0xfad3    0x661e
+0xfad4    0x6624
+0xfad5    0x6665
+0xfad6    0x6657
+0xfad7    0x6659
+0xfad8    0xfa12
+0xfad9    0x6673
+0xfada    0x6699
+0xfadb    0x66a0
+0xfadc    0x66b2
+0xfadd    0x66bf
+0xfade    0x66fa
+0xfadf    0x670e
+0xfae0    0xf929
+0xfae1    0x6766
+0xfae2    0x67bb
+0xfae3    0x6852
+0xfae4    0x67c0
+0xfae5    0x6801
+0xfae6    0x6844
+0xfae7    0x68cf
+0xfae8    0xfa13
+0xfae9    0x6968
+0xfaea    0xfa14
+0xfaeb    0x6998
+0xfaec    0x69e2
+0xfaed    0x6a30
+0xfaee    0x6a6b
+0xfaef    0x6a46
+0xfaf0    0x6a73
+0xfaf1    0x6a7e
+0xfaf2    0x6ae2
+0xfaf3    0x6ae4
+0xfaf4    0x6bd6
+0xfaf5    0x6c3f
+0xfaf6    0x6c5c
+0xfaf7    0x6c86
+0xfaf8    0x6c6f
+0xfaf9    0x6cda
+0xfafa    0x6d04
+0xfafb    0x6d87
+0xfafc    0x6d6f
+0xfb40    0x6d96
+0xfb41    0x6dac
+0xfb42    0x6dcf
+0xfb43    0x6df8
+0xfb44    0x6df2
+0xfb45    0x6dfc
+0xfb46    0x6e39
+0xfb47    0x6e5c
+0xfb48    0x6e27
+0xfb49    0x6e3c
+0xfb4a    0x6ebf
+0xfb4b    0x6f88
+0xfb4c    0x6fb5
+0xfb4d    0x6ff5
+0xfb4e    0x7005
+0xfb4f    0x7007
+0xfb50    0x7028
+0xfb51    0x7085
+0xfb52    0x70ab
+0xfb53    0x710f
+0xfb54    0x7104
+0xfb55    0x715c
+0xfb56    0x7146
+0xfb57    0x7147
+0xfb58    0xfa15
+0xfb59    0x71c1
+0xfb5a    0x71fe
+0xfb5b    0x72b1
+0xfb5c    0x72be
+0xfb5d    0x7324
+0xfb5e    0xfa16
+0xfb5f    0x7377
+0xfb60    0x73bd
+0xfb61    0x73c9
+0xfb62    0x73d6
+0xfb63    0x73e3
+0xfb64    0x73d2
+0xfb65    0x7407
+0xfb66    0x73f5
+0xfb67    0x7426
+0xfb68    0x742a
+0xfb69    0x7429
+0xfb6a    0x742e
+0xfb6b    0x7462
+0xfb6c    0x7489
+0xfb6d    0x749f
+0xfb6e    0x7501
+0xfb6f    0x756f
+0xfb70    0x7682
+0xfb71    0x769c
+0xfb72    0x769e
+0xfb73    0x769b
+0xfb74    0x76a6
+0xfb75    0xfa17
+0xfb76    0x7746
+0xfb77    0x52af
+0xfb78    0x7821
+0xfb79    0x784e
+0xfb7a    0x7864
+0xfb7b    0x787a
+0xfb7c    0x7930
+0xfb7d    0xfa18
+0xfb7e    0xfa19
+0xfb80    0xfa1a
+0xfb81    0x7994
+0xfb82    0xfa1b
+0xfb83    0x799b
+0xfb84    0x7ad1
+0xfb85    0x7ae7
+0xfb86    0xfa1c
+0xfb87    0x7aeb
+0xfb88    0x7b9e
+0xfb89    0xfa1d
+0xfb8a    0x7d48
+0xfb8b    0x7d5c
+0xfb8c    0x7db7
+0xfb8d    0x7da0
+0xfb8e    0x7dd6
+0xfb8f    0x7e52
+0xfb90    0x7f47
+0xfb91    0x7fa1
+0xfb92    0xfa1e
+0xfb93    0x8301
+0xfb94    0x8362
+0xfb95    0x837f
+0xfb96    0x83c7
+0xfb97    0x83f6
+0xfb98    0x8448
+0xfb99    0x84b4
+0xfb9a    0x8553
+0xfb9b    0x8559
+0xfb9c    0x856b
+0xfb9d    0xfa1f
+0xfb9e    0x85b0
+0xfb9f    0xfa20
+0xfba0    0xfa21
+0xfba1    0x8807
+0xfba2    0x88f5
+0xfba3    0x8a12
+0xfba4    0x8a37
+0xfba5    0x8a79
+0xfba6    0x8aa7
+0xfba7    0x8abe
+0xfba8    0x8adf
+0xfba9    0xfa22
+0xfbaa    0x8af6
+0xfbab    0x8b53
+0xfbac    0x8b7f
+0xfbad    0x8cf0
+0xfbae    0x8cf4
+0xfbaf    0x8d12
+0xfbb0    0x8d76
+0xfbb1    0xfa23
+0xfbb2    0x8ecf
+0xfbb3    0xfa24
+0xfbb4    0xfa25
+0xfbb5    0x9067
+0xfbb6    0x90de
+0xfbb7    0xfa26
+0xfbb8    0x9115
+0xfbb9    0x9127
+0xfbba    0x91da
+0xfbbb    0x91d7
+0xfbbc    0x91de
+0xfbbd    0x91ed
+0xfbbe    0x91ee
+0xfbbf    0x91e4
+0xfbc0    0x91e5
+0xfbc1    0x9206
+0xfbc2    0x9210
+0xfbc3    0x920a
+0xfbc4    0x923a
+0xfbc5    0x9240
+0xfbc6    0x923c
+0xfbc7    0x924e
+0xfbc8    0x9259
+0xfbc9    0x9251
+0xfbca    0x9239
+0xfbcb    0x9267
+0xfbcc    0x92a7
+0xfbcd    0x9277
+0xfbce    0x9278
+0xfbcf    0x92e7
+0xfbd0    0x92d7
+0xfbd1    0x92d9
+0xfbd2    0x92d0
+0xfbd3    0xfa27
+0xfbd4    0x92d5
+0xfbd5    0x92e0
+0xfbd6    0x92d3
+0xfbd7    0x9325
+0xfbd8    0x9321
+0xfbd9    0x92fb
+0xfbda    0xfa28
+0xfbdb    0x931e
+0xfbdc    0x92ff
+0xfbdd    0x931d
+0xfbde    0x9302
+0xfbdf    0x9370
+0xfbe0    0x9357
+0xfbe1    0x93a4
+0xfbe2    0x93c6
+0xfbe3    0x93de
+0xfbe4    0x93f8
+0xfbe5    0x9431
+0xfbe6    0x9445
+0xfbe7    0x9448
+0xfbe8    0x9592
+0xfbe9    0xf9dc
+0xfbea    0xfa29
+0xfbeb    0x969d
+0xfbec    0x96af
+0xfbed    0x9733
+0xfbee    0x973b
+0xfbef    0x9743
+0xfbf0    0x974d
+0xfbf1    0x974f
+0xfbf2    0x9751
+0xfbf3    0x9755
+0xfbf4    0x9857
+0xfbf5    0x9865
+0xfbf6    0xfa2a
+0xfbf7    0xfa2b
+0xfbf8    0x9927
+0xfbf9    0xfa2c
+0xfbfa    0x999e
+0xfbfb    0x9a4e
+0xfbfc    0x9ad9
+0xfc40    0x9adc
+0xfc41    0x9b75
+0xfc42    0x9b72
+0xfc43    0x9b8f
+0xfc44    0x9bb1
+0xfc45    0x9bbb
+0xfc46    0x9c00
+0xfc47    0x9d70
+0xfc48    0x9d6b
+0xfc49    0xfa2d
+0xfc4a    0x9e19
+0xfc4b    0x9ed1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/tools/CharsetMapping/PCK.nr	Wed Aug 01 11:08:11 2012 -0400
@@ -0,0 +1,398 @@
+0x8790    0x2252
+0x8791    0x2261
+0x8792    0x222b
+0x8795    0x221a
+0x8796    0x22a5
+0x8797    0x2220
+0x879a    0x2235
+0x879b    0x2229
+0x879c    0x222a
+0xed40    0x7e8a
+0xed41    0x891c
+0xed42    0x9348
+0xed43    0x9288
+0xed44    0x84dc
+0xed45    0x4fc9
+0xed46    0x70bb
+0xed47    0x6631
+0xed48    0x68c8
+0xed49    0x92f9
+0xed4a    0x66fb
+0xed4b    0x5f45
+0xed4c    0x4e28
+0xed4d    0x4ee1
+0xed4e    0x4efc
+0xed4f    0x4f00
+0xed50    0x4f03
+0xed51    0x4f39
+0xed52    0x4f56
+0xed53    0x4f92
+0xed54    0x4f8a
+0xed55    0x4f9a
+0xed56    0x4f94
+0xed57    0x4fcd
+0xed58    0x5040
+0xed59    0x5022
+0xed5a    0x4fff
+0xed5b    0x501e
+0xed5c    0x5046
+0xed5d    0x5070
+0xed5e    0x5042
+0xed5f    0x5094
+0xed60    0x50f4
+0xed61    0x50d8
+0xed62    0x514a
+0xed63    0x5164
+0xed64    0x519d
+0xed65    0x51be
+0xed66    0x51ec
+0xed67    0x5215
+0xed68    0x529c
+0xed69    0x52a6
+0xed6a    0x52c0
+0xed6b    0x52db
+0xed6c    0x5300
+0xed6d    0x5307
+0xed6e    0x5324
+0xed6f    0x5372
+0xed70    0x5393
+0xed71    0x53b2
+0xed72    0x53dd
+0xed73    0xfa0e
+0xed74    0x549c
+0xed75    0x548a
+0xed76    0x54a9
+0xed77    0x54ff
+0xed78    0x5586
+0xed79    0x5759
+0xed7a    0x5765
+0xed7b    0x57ac
+0xed7c    0x57c8
+0xed7d    0x57c7
+0xed7e    0xfa0f
+0xed80    0xfa10
+0xed81    0x589e
+0xed82    0x58b2
+0xed83    0x590b
+0xed84    0x5953
+0xed85    0x595b
+0xed86    0x595d
+0xed87    0x5963
+0xed88    0x59a4
+0xed89    0x59ba
+0xed8a    0x5b56
+0xed8b    0x5bc0
+0xed8c    0x752f
+0xed8d    0x5bd8
+0xed8e    0x5bec
+0xed8f    0x5c1e
+0xed90    0x5ca6
+0xed91    0x5cba
+0xed92    0x5cf5
+0xed93    0x5d27
+0xed94    0x5d53
+0xed95    0xfa11
+0xed96    0x5d42
+0xed97    0x5d6d
+0xed98    0x5db8
+0xed99    0x5db9
+0xed9a    0x5dd0
+0xed9b    0x5f21
+0xed9c    0x5f34
+0xed9d    0x5f67
+0xed9e    0x5fb7
+0xed9f    0x5fde
+0xeda0    0x605d
+0xeda1    0x6085
+0xeda2    0x608a
+0xeda3    0x60de
+0xeda4    0x60d5
+0xeda5    0x6120
+0xeda6    0x60f2
+0xeda7    0x6111
+0xeda8    0x6137
+0xeda9    0x6130
+0xedaa    0x6198
+0xedab    0x6213
+0xedac    0x62a6
+0xedad    0x63f5
+0xedae    0x6460
+0xedaf    0x649d
+0xedb0    0x64ce
+0xedb1    0x654e
+0xedb2    0x6600
+0xedb3    0x6615
+0xedb4    0x663b
+0xedb5    0x6609
+0xedb6    0x662e
+0xedb7    0x661e
+0xedb8    0x6624
+0xedb9    0x6665
+0xedba    0x6657
+0xedbb    0x6659
+0xedbc    0xfa12
+0xedbd    0x6673
+0xedbe    0x6699
+0xedbf    0x66a0
+0xedc0    0x66b2
+0xedc1    0x66bf
+0xedc2    0x66fa
+0xedc3    0x670e
+0xedc4    0xf929
+0xedc5    0x6766
+0xedc6    0x67bb
+0xedc7    0x6852
+0xedc8    0x67c0
+0xedc9    0x6801
+0xedca    0x6844
+0xedcb    0x68cf
+0xedcc    0xfa13
+0xedcd    0x6968
+0xedce    0xfa14
+0xedcf    0x6998
+0xedd0    0x69e2
+0xedd1    0x6a30
+0xedd2    0x6a6b
+0xedd3    0x6a46
+0xedd4    0x6a73
+0xedd5    0x6a7e
+0xedd6    0x6ae2
+0xedd7    0x6ae4
+0xedd8    0x6bd6
+0xedd9    0x6c3f
+0xedda    0x6c5c
+0xeddb    0x6c86
+0xeddc    0x6c6f
+0xeddd    0x6cda
+0xedde    0x6d04
+0xeddf    0x6d87
+0xede0    0x6d6f
+0xede1    0x6d96
+0xede2    0x6dac
+0xede3    0x6dcf
+0xede4    0x6df8
+0xede5    0x6df2
+0xede6    0x6dfc
+0xede7    0x6e39
+0xede8    0x6e5c
+0xede9    0x6e27
+0xedea    0x6e3c
+0xedeb    0x6ebf
+0xedec    0x6f88
+0xeded    0x6fb5
+0xedee    0x6ff5
+0xedef    0x7005
+0xedf0    0x7007
+0xedf1    0x7028
+0xedf2    0x7085
+0xedf3    0x70ab
+0xedf4    0x710f
+0xedf5    0x7104
+0xedf6    0x715c
+0xedf7    0x7146
+0xedf8    0x7147
+0xedf9    0xfa15
+0xedfa    0x71c1
+0xedfb    0x71fe
+0xedfc    0x72b1
+0xee40    0x72be
+0xee41    0x7324
+0xee42    0xfa16
+0xee43    0x7377
+0xee44    0x73bd
+0xee45    0x73c9
+0xee46    0x73d6
+0xee47    0x73e3
+0xee48    0x73d2
+0xee49    0x7407
+0xee4a    0x73f5
+0xee4b    0x7426
+0xee4c    0x742a
+0xee4d    0x7429
+0xee4e    0x742e
+0xee4f    0x7462
+0xee50    0x7489
+0xee51    0x749f
+0xee52    0x7501
+0xee53    0x756f
+0xee54    0x7682
+0xee55    0x769c
+0xee56    0x769e
+0xee57    0x769b
+0xee58    0x76a6
+0xee59    0xfa17
+0xee5a    0x7746
+0xee5b    0x52af
+0xee5c    0x7821
+0xee5d    0x784e
+0xee5e    0x7864
+0xee5f    0x787a
+0xee60    0x7930
+0xee61    0xfa18
+0xee62    0xfa19
+0xee63    0xfa1a
+0xee64    0x7994
+0xee65    0xfa1b
+0xee66    0x799b
+0xee67    0x7ad1
+0xee68    0x7ae7
+0xee69    0xfa1c
+0xee6a    0x7aeb
+0xee6b    0x7b9e
+0xee6c    0xfa1d
+0xee6d    0x7d48
+0xee6e    0x7d5c
+0xee6f    0x7db7
+0xee70    0x7da0
+0xee71    0x7dd6
+0xee72    0x7e52
+0xee73    0x7f47
+0xee74    0x7fa1
+0xee75    0xfa1e
+0xee76    0x8301
+0xee77    0x8362
+0xee78    0x837f
+0xee79    0x83c7
+0xee7a    0x83f6
+0xee7b    0x8448
+0xee7c    0x84b4
+0xee7d    0x8553
+0xee7e    0x8559
+0xee80    0x856b
+0xee81    0xfa1f
+0xee82    0x85b0
+0xee83    0xfa20
+0xee84    0xfa21
+0xee85    0x8807
+0xee86    0x88f5
+0xee87    0x8a12
+0xee88    0x8a37
+0xee89    0x8a79
+0xee8a    0x8aa7
+0xee8b    0x8abe
+0xee8c    0x8adf
+0xee8d    0xfa22
+0xee8e    0x8af6
+0xee8f    0x8b53
+0xee90    0x8b7f
+0xee91    0x8cf0
+0xee92    0x8cf4
+0xee93    0x8d12
+0xee94    0x8d76
+0xee95    0xfa23
+0xee96    0x8ecf
+0xee97    0xfa24
+0xee98    0xfa25
+0xee99    0x9067
+0xee9a    0x90de
+0xee9b    0xfa26
+0xee9c    0x9115
+0xee9d    0x9127
+0xee9e    0x91da
+0xee9f    0x91d7
+0xeea0    0x91de
+0xeea1    0x91ed
+0xeea2    0x91ee
+0xeea3    0x91e4
+0xeea4    0x91e5
+0xeea5    0x9206
+0xeea6    0x9210
+0xeea7    0x920a
+0xeea8    0x923a
+0xeea9    0x9240
+0xeeaa    0x923c
+0xeeab    0x924e
+0xeeac    0x9259
+0xeead    0x9251
+0xeeae    0x9239
+0xeeaf    0x9267
+0xeeb0    0x92a7
+0xeeb1    0x9277
+0xeeb2    0x9278
+0xeeb3    0x92e7
+0xeeb4    0x92d7
+0xeeb5    0x92d9
+0xeeb6    0x92d0
+0xeeb7    0xfa27
+0xeeb8    0x92d5
+0xeeb9    0x92e0
+0xeeba    0x92d3
+0xeebb    0x9325
+0xeebc    0x9321
+0xeebd    0x92fb
+0xeebe    0xfa28
+0xeebf    0x931e
+0xeec0    0x92ff
+0xeec1    0x931d
+0xeec2    0x9302
+0xeec3    0x9370
+0xeec4    0x9357
+0xeec5    0x93a4
+0xeec6    0x93c6
+0xeec7    0x93de
+0xeec8    0x93f8
+0xeec9    0x9431
+0xeeca    0x9445
+0xeecb    0x9448
+0xeecc    0x9592
+0xeecd    0xf9dc
+0xeece    0xfa29
+0xeecf    0x969d
+0xeed0    0x96af
+0xeed1    0x9733
+0xeed2    0x973b
+0xeed3    0x9743
+0xeed4    0x974d
+0xeed5    0x974f
+0xeed6    0x9751
+0xeed7    0x9755
+0xeed8    0x9857
+0xeed9    0x9865
+0xeeda    0xfa2a
+0xeedb    0xfa2b
+0xeedc    0x9927
+0xeedd    0xfa2c
+0xeede    0x999e
+0xeedf    0x9a4e
+0xeee0    0x9ad9
+0xeee1    0x9adc
+0xeee2    0x9b75
+0xeee3    0x9b72
+0xeee4    0x9b8f
+0xeee5    0x9bb1
+0xeee6    0x9bbb
+0xeee7    0x9c00
+0xeee8    0x9d70
+0xeee9    0x9d6b
+0xeeea    0xfa2d
+0xeeeb    0x9e19
+0xeeec    0x9ed1
+0xeeef    0x2170
+0xeef0    0x2171
+0xeef1    0x2172
+0xeef2    0x2173
+0xeef3    0x2174
+0xeef4    0x2175
+0xeef5    0x2176
+0xeef6    0x2177
+0xeef7    0x2178
+0xeef8    0x2179
+0xeef9    0x3052
+0xeefa    0x00a6
+0xeefb    0xff07
+0xeefc    0xff02
+0xfa4a    0x2160
+0xfa4b    0x2161
+0xfa4c    0x2162
+0xfa4d    0x2163
+0xfa4e    0x2164
+0xfa4f    0x2165
+0xfa50    0x2166
+0xfa51    0x2167
+0xfa52    0x2168
+0xfa53    0x2169
+0xfa54    0x3052
+0xfa58    0x3231
+0xfa59    0x2116
+0xfa5a    0x2121
+0xfa5b    0x306e
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/tools/CharsetMapping/SJIS.c2b	Wed Aug 01 11:08:11 2012 -0400
@@ -0,0 +1,3 @@
+0x005c    0x00a5
+0x007e    0x203e
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/tools/CharsetMapping/SJIS.map	Wed Aug 01 11:08:11 2012 -0400
@@ -0,0 +1,7079 @@
+#
+#  Generated from old SJIS implementation, which calcuats the
+#  sjis<->sjis (use Ken Lunde's algorithm) and then looks up
+#  the jis0208 mappings. The sjis->jis algorithm used in old
+#  SJIS assumes all input sjis are legal codepoints, so it
+#  also takes illegal sjis cp xx7f (treats it as xx80), such
+#  as 8a7f, and  convert it to a dup jis/unicode cp. Those
+#  mappings are removed  from this mapping. 
+#
+0x0000    0x0000
+0x0001    0x0001
+0x0002    0x0002
+0x0003    0x0003
+0x0004    0x0004
+0x0005    0x0005
+0x0006    0x0006
+0x0007    0x0007
+0x0008    0x0008
+0x0009    0x0009
+0x000a    0x000a
+0x000b    0x000b
+0x000c    0x000c
+0x000d    0x000d
+0x000e    0x000e
+0x000f    0x000f
+0x0010    0x0010
+0x0011    0x0011
+0x0012    0x0012
+0x0013    0x0013
+0x0014    0x0014
+0x0015    0x0015
+0x0016    0x0016
+0x0017    0x0017
+0x0018    0x0018
+0x0019    0x0019
+0x001a    0x001a
+0x001b    0x001b
+0x001c    0x001c
+0x001d    0x001d
+0x001e    0x001e
+0x001f    0x001f
+0x0020    0x0020
+0x0021    0x0021
+0x0022    0x0022
+0x0023    0x0023
+0x0024    0x0024
+0x0025    0x0025
+0x0026    0x0026
+0x0027    0x0027
+0x0028    0x0028
+0x0029    0x0029
+0x002a    0x002a
+0x002b    0x002b
+0x002c    0x002c
+0x002d    0x002d
+0x002e    0x002e
+0x002f    0x002f
+0x0030    0x0030
+0x0031    0x0031
+0x0032    0x0032
+0x0033    0x0033
+0x0034    0x0034
+0x0035    0x0035
+0x0036    0x0036
+0x0037    0x0037
+0x0038    0x0038
+0x0039    0x0039
+0x003a    0x003a
+0x003b    0x003b
+0x003c    0x003c
+0x003d    0x003d
+0x003e    0x003e
+0x003f    0x003f
+0x0040    0x0040
+0x0041    0x0041
+0x0042    0x0042
+0x0043    0x0043
+0x0044    0x0044
+0x0045    0x0045
+0x0046    0x0046
+0x0047    0x0047
+0x0048    0x0048
+0x0049    0x0049
+0x004a    0x004a
+0x004b    0x004b
+0x004c    0x004c
+0x004d    0x004d
+0x004e    0x004e
+0x004f    0x004f
+0x0050    0x0050
+0x0051    0x0051
+0x0052    0x0052
+0x0053    0x0053
+0x0054    0x0054
+0x0055    0x0055
+0x0056    0x0056
+0x0057    0x0057
+0x0058    0x0058
+0x0059    0x0059
+0x005a    0x005a
+0x005b    0x005b
+0x005c    0x005c
+0x005d    0x005d
+0x005e    0x005e
+0x005f    0x005f
+0x0060    0x0060
+0x0061    0x0061
+0x0062    0x0062
+0x0063    0x0063
+0x0064    0x0064
+0x0065    0x0065
+0x0066    0x0066
+0x0067    0x0067
+0x0068    0x0068
+0x0069    0x0069
+0x006a    0x006a
+0x006b    0x006b
+0x006c    0x006c
+0x006d    0x006d
+0x006e    0x006e
+0x006f    0x006f
+0x0070    0x0070
+0x0071    0x0071
+0x0072    0x0072
+0x0073    0x0073
+0x0074    0x0074
+0x0075    0x0075
+0x0076    0x0076
+0x0077    0x0077
+0x0078    0x0078
+0x0079    0x0079
+0x007a    0x007a
+0x007b    0x007b
+0x007c    0x007c
+0x007d    0x007d
+0x007e    0x007e
+0x007f    0x007f
+0x00a1    0xff61
+0x00a2    0xff62
+0x00a3    0xff63
+0x00a4    0xff64
+0x00a5    0xff65
+0x00a6    0xff66
+0x00a7    0xff67
+0x00a8    0xff68
+0x00a9    0xff69
+0x00aa    0xff6a
+0x00ab    0xff6b
+0x00ac    0xff6c
+0x00ad    0xff6d
+0x00ae    0xff6e
+0x00af    0xff6f
+0x00b0    0xff70
+0x00b1    0xff71
+0x00b2    0xff72
+0x00b3    0xff73
+0x00b4    0xff74
+0x00b5    0xff75
+0x00b6    0xff76
+0x00b7    0xff77
+0x00b8    0xff78
+0x00b9    0xff79
+0x00ba    0xff7a
+0x00bb    0xff7b
+0x00bc    0xff7c
+0x00bd    0xff7d
+0x00be    0xff7e
+0x00bf    0xff7f
+0x00c0    0xff80
+0x00c1    0xff81
+0x00c2    0xff82
+0x00c3    0xff83
+0x00c4    0xff84
+0x00c5    0xff85
+0x00c6    0xff86
+0x00c7    0xff87
+0x00c8    0xff88
+0x00c9    0xff89
+0x00ca    0xff8a
+0x00cb    0xff8b
+0x00cc    0xff8c
+0x00cd    0xff8d
+0x00ce    0xff8e
+0x00cf    0xff8f
+0x00d0    0xff90
+0x00d1    0xff91
+0x00d2    0xff92
+0x00d3    0xff93
+0x00d4    0xff94
+0x00d5    0xff95
+0x00d6    0xff96
+0x00d7    0xff97
+0x00d8    0xff98
+0x00d9    0xff99
+0x00da    0xff9a
+0x00db    0xff9b
+0x00dc    0xff9c
+0x00dd    0xff9d
+0x00de    0xff9e
+0x00df    0xff9f
+0x8140    0x3000
+0x8141    0x3001
+0x8142    0x3002
+0x8143    0xff0c
+0x8144    0xff0e
+0x8145    0x30fb
+0x8146    0xff1a
+0x8147    0xff1b
+0x8148    0xff1f
+0x8149    0xff01
+0x814a    0x309b
+0x814b    0x309c
+0x814c    0x00b4
+0x814d    0xff40
+0x814e    0x00a8
+0x814f    0xff3e
+0x8150    0xffe3
+0x8151    0xff3f
+0x8152    0x30fd
+0x8153    0x30fe
+0x8154    0x309d
+0x8155    0x309e
+0x8156    0x3003
+0x8157    0x4edd
+0x8158    0x3005
+0x8159    0x3006
+0x815a    0x3007
+0x815b    0x30fc
+0x815c    0x2014
+0x815d    0x2010
+0x815e    0xff0f
+0x815f    0xff3c
+0x8160    0x301c
+0x8161    0x2016
+0x8162    0xff5c
+0x8163    0x2026
+0x8164    0x2025
+0x8165    0x2018
+0x8166    0x2019
+0x8167    0x201c
+0x8168    0x201d
+0x8169    0xff08
+0x816a    0xff09
+0x816b    0x3014
+0x816c    0x3015
+0x816d    0xff3b
+0x816e    0xff3d
+0x816f    0xff5b
+0x8170    0xff5d
+0x8171    0x3008
+0x8172    0x3009
+0x8173    0x300a
+0x8174    0x300b
+0x8175    0x300c
+0x8176    0x300d
+0x8177    0x300e
+0x8178    0x300f
+0x8179    0x3010
+0x817a    0x3011
+0x817b    0xff0b
+0x817c    0x2212
+0x817d    0x00b1
+0x817e    0x00d7
+0x8180    0x00f7
+0x8181    0xff1d
+0x8182    0x2260
+0x8183    0xff1c
+0x8184    0xff1e
+0x8185    0x2266
+0x8186    0x2267
+0x8187    0x221e
+0x8188    0x2234
+0x8189    0x2642
+0x818a    0x2640
+0x818b    0x00b0
+0x818c    0x2032
+0x818d    0x2033
+0x818e    0x2103
+0x818f    0xffe5
+0x8190    0xff04
+0x8191    0x00a2
+0x8192    0x00a3
+0x8193    0xff05
+0x8194    0xff03
+0x8195    0xff06
+0x8196    0xff0a
+0x8197    0xff20
+0x8198    0x00a7
+0x8199    0x2606
+0x819a    0x2605
+0x819b    0x25cb
+0x819c    0x25cf
+0x819d    0x25ce
+0x819e    0x25c7
+0x819f    0x25c6
+0x81a0    0x25a1
+0x81a1    0x25a0
+0x81a2    0x25b3
+0x81a3    0x25b2
+0x81a4    0x25bd
+0x81a5    0x25bc
+0x81a6    0x203b
+0x81a7    0x3012
+0x81a8    0x2192
+0x81a9    0x2190
+0x81aa    0x2191
+0x81ab    0x2193
+0x81ac    0x3013
+0x81b8    0x2208
+0x81b9    0x220b
+0x81ba    0x2286
+0x81bb    0x2287
+0x81bc    0x2282
+0x81bd    0x2283
+0x81be    0x222a
+0x81bf    0x2229
+0x81c8    0x2227
+0x81c9    0x2228
+0x81ca    0x00ac
+0x81cb    0x21d2
+0x81cc    0x21d4
+0x81cd    0x2200
+0x81ce    0x2203
+0x81da    0x2220
+0x81db    0x22a5
+0x81dc    0x2312
+0x81dd    0x2202
+0x81de    0x2207
+0x81df    0x2261
+0x81e0    0x2252
+0x81e1    0x226a
+0x81e2    0x226b
+0x81e3    0x221a
+0x81e4    0x223d
+0x81e5    0x221d
+0x81e6    0x2235
+0x81e7    0x222b
+0x81e8    0x222c
+0x81f0    0x212b
+0x81f1    0x2030
+0x81f2    0x266f
+0x81f3    0x266d
+0x81f4    0x266a
+0x81f5    0x2020
+0x81f6    0x2021
+0x81f7    0x00b6
+0x81fc    0x25ef
+0x824f    0xff10
+0x8250    0xff11
+0x8251    0xff12
+0x8252    0xff13
+0x8253    0xff14
+0x8254    0xff15
+0x8255    0xff16
+0x8256    0xff17
+0x8257    0xff18
+0x8258    0xff19
+0x8260    0xff21
+0x8261    0xff22
+0x8262    0xff23
+0x8263    0xff24
+0x8264    0xff25
+0x8265    0xff26
+0x8266    0xff27
+0x8267    0xff28
+0x8268    0xff29
+0x8269    0xff2a
+0x826a    0xff2b
+0x826b    0xff2c
+0x826c    0xff2d
+0x826d    0xff2e
+0x826e    0xff2f
+0x826f    0xff30
+0x8270    0xff31
+0x8271    0xff32
+0x8272    0xff33
+0x8273    0xff34
+0x8274    0xff35
+0x8275    0xff36
+0x8276    0xff37
+0x8277    0xff38
+0x8278    0xff39
+0x8279    0xff3a
+0x8281    0xff41
+0x8282    0xff42
+0x8283    0xff43
+0x8284    0xff44
+0x8285    0xff45
+0x8286    0xff46
+0x8287    0xff47
+0x8288    0xff48
+0x8289    0xff49
+0x828a    0xff4a
+0x828b    0xff4b
+0x828c    0xff4c
+0x828d    0xff4d
+0x828e    0xff4e
+0x828f    0xff4f
+0x8290    0xff50
+0x8291    0xff51
+0x8292    0xff52
+0x8293    0xff53
+0x8294    0xff54
+0x8295    0xff55
+0x8296    0xff56
+0x8297    0xff57
+0x8298    0xff58
+0x8299    0xff59
+0x829a    0xff5a
+0x829f    0x3041
+0x82a0    0x3042
+0x82a1    0x3043
+0x82a2    0x3044
+0x82a3    0x3045
+0x82a4    0x3046
+0x82a5    0x3047
+0x82a6    0x3048
+0x82a7    0x3049
+0x82a8    0x304a
+0x82a9    0x304b
+0x82aa    0x304c
+0x82ab    0x304d
+0x82ac    0x304e
+0x82ad    0x304f
+0x82ae    0x3050
+0x82af    0x3051
+0x82b0    0x3052
+0x82b1    0x3053
+0x82b2    0x3054
+0x82b3    0x3055
+0x82b4    0x3056
+0x82b5    0x3057
+0x82b6    0x3058
+0x82b7    0x3059
+0x82b8    0x305a
+0x82b9    0x305b
+0x82ba    0x305c
+0x82bb    0x305d
+0x82bc    0x305e
+0x82bd    0x305f
+0x82be    0x3060
+0x82bf    0x3061
+0x82c0    0x3062
+0x82c1    0x3063
+0x82c2    0x3064
+0x82c3    0x3065
+0x82c4    0x3066
+0x82c5    0x3067
+0x82c6    0x3068
+0x82c7    0x3069
+0x82c8    0x306a
+0x82c9    0x306b
+0x82ca    0x306c
+0x82cb    0x306d
+0x82cc    0x306e
+0x82cd    0x306f
+0x82ce    0x3070
+0x82cf    0x3071
+0x82d0    0x3072
+0x82d1    0x3073
+0x82d2    0x3074
+0x82d3    0x3075
+0x82d4    0x3076
+0x82d5    0x3077
+0x82d6    0x3078
+0x82d7    0x3079
+0x82d8    0x307a
+0x82d9    0x307b
+0x82da    0x307c
+0x82db    0x307d
+0x82dc    0x307e
+0x82dd    0x307f
+0x82de    0x3080
+0x82df    0x3081
+0x82e0    0x3082
+0x82e1    0x3083
+0x82e2    0x3084
+0x82e3    0x3085
+0x82e4    0x3086
+0x82e5    0x3087
+0x82e6    0x3088
+0x82e7    0x3089
+0x82e8    0x308a
+0x82e9    0x308b
+0x82ea    0x308c
+0x82eb    0x308d
+0x82ec    0x308e
+0x82ed    0x308f
+0x82ee    0x3090
+0x82ef    0x3091
+0x82f0    0x3092
+0x82f1    0x3093
+0x8340    0x30a1
+0x8341    0x30a2
+0x8342    0x30a3
+0x8343    0x30a4
+0x8344    0x30a5
+0x8345    0x30a6
+0x8346    0x30a7
+0x8347    0x30a8
+0x8348    0x30a9
+0x8349    0x30aa
+0x834a    0x30ab
+0x834b    0x30ac
+0x834c    0x30ad
+0x834d    0x30ae
+0x834e    0x30af
+0x834f    0x30b0
+0x8350    0x30b1
+0x8351    0x30b2
+0x8352    0x30b3
+0x8353    0x30b4
+0x8354    0x30b5
+0x8355    0x30b6
+0x8356    0x30b7
+0x8357    0x30b8
+0x8358    0x30b9
+0x8359    0x30ba
+0x835a    0x30bb
+0x835b    0x30bc
+0x835c    0x30bd
+0x835d    0x30be
+0x835e    0x30bf
+0x835f    0x30c0
+0x8360    0x30c1
+0x8361    0x30c2
+0x8362    0x30c3
+0x8363    0x30c4
+0x8364    0x30c5
+0x8365    0x30c6
+0x8366    0x30c7
+0x8367    0x30c8
+0x8368    0x30c9
+0x8369    0x30ca
+0x836a    0x30cb
+0x836b    0x30cc
+0x836c    0x30cd
+0x836d    0x30ce
+0x836e    0x30cf
+0x836f    0x30d0
+0x8370    0x30d1
+0x8371    0x30d2
+0x8372    0x30d3
+0x8373    0x30d4
+0x8374    0x30d5
+0x8375    0x30d6
+0x8376    0x30d7
+0x8377    0x30d8
+0x8378    0x30d9
+0x8379    0x30da
+0x837a    0x30db
+0x837b    0x30dc
+0x837c    0x30dd
+0x837d    0x30de
+0x837e    0x30df
+0x8380    0x30e0
+0x8381    0x30e1
+0x8382    0x30e2
+0x8383    0x30e3
+0x8384    0x30e4
+0x8385    0x30e5
+0x8386    0x30e6
+0x8387    0x30e7
+0x8388    0x30e8
+0x8389    0x30e9
+0x838a    0x30ea
+0x838b    0x30eb
+0x838c    0x30ec
+0x838d    0x30ed
+0x838e    0x30ee
+0x838f    0x30ef
+0x8390    0x30f0
+0x8391    0x30f1
+0x8392    0x30f2
+0x8393    0x30f3
+0x8394    0x30f4
+0x8395    0x30f5
+0x8396    0x30f6
+0x839f    0x0391
+0x83a0    0x0392
+0x83a1    0x0393
+0x83a2    0x0394
+0x83a3    0x0395
+0x83a4    0x0396
+0x83a5    0x0397
+0x83a6    0x0398
+0x83a7    0x0399
+0x83a8    0x039a
+0x83a9    0x039b
+0x83aa    0x039c
+0x83ab    0x039d
+0x83ac    0x039e
+0x83ad    0x039f
+0x83ae    0x03a0
+0x83af    0x03a1
+0x83b0    0x03a3
+0x83b1    0x03a4
+0x83b2    0x03a5
+0x83b3    0x03a6
+0x83b4    0x03a7
+0x83b5    0x03a8
+0x83b6    0x03a9
+0x83bf    0x03b1
+0x83c0    0x03b2
+0x83c1    0x03b3
+0x83c2    0x03b4
+0x83c3    0x03b5
+0x83c4    0x03b6
+0x83c5    0x03b7
+0x83c6    0x03b8
+0x83c7    0x03b9
+0x83c8    0x03ba
+0x83c9    0x03bb
+0x83ca    0x03bc
+0x83cb    0x03bd
+0x83cc    0x03be
+0x83cd    0x03bf
+0x83ce    0x03c0
+0x83cf    0x03c1
+0x83d0    0x03c3
+0x83d1    0x03c4
+0x83d2    0x03c5
+0x83d3    0x03c6
+0x83d4    0x03c7
+0x83d5    0x03c8
+0x83d6    0x03c9
+0x8440    0x0410
+0x8441    0x0411
+0x8442    0x0412
+0x8443    0x0413
+0x8444    0x0414
+0x8445    0x0415
+0x8446    0x0401
+0x8447    0x0416
+0x8448    0x0417
+0x8449    0x0418
+0x844a    0x0419
+0x844b    0x041a
+0x844c    0x041b
+0x844d    0x041c
+0x844e    0x041d
+0x844f    0x041e
+0x8450    0x041f
+0x8451    0x0420
+0x8452    0x0421
+0x8453    0x0422
+0x8454    0x0423
+0x8455    0x0424
+0x8456    0x0425
+0x8457    0x0426
+0x8458    0x0427
+0x8459    0x0428
+0x845a    0x0429
+0x845b    0x042a
+0x845c    0x042b
+0x845d    0x042c
+0x845e    0x042d
+0x845f    0x042e
+0x8460    0x042f
+0x8470    0x0430
+0x8471    0x0431
+0x8472    0x0432
+0x8473    0x0433
+0x8474    0x0434
+0x8475    0x0435
+0x8476    0x0451
+0x8477    0x0436
+0x8478    0x0437
+0x8479    0x0438
+0x847a    0x0439
+0x847b    0x043a
+0x847c    0x043b
+0x847d    0x043c
+0x847e    0x043d
+0x8480    0x043e
+0x8481    0x043f
+0x8482    0x0440
+0x8483    0x0441
+0x8484    0x0442
+0x8485    0x0443
+0x8486    0x0444
+0x8487    0x0445
+0x8488    0x0446
+0x8489    0x0447
+0x848a    0x0448
+0x848b    0x0449
+0x848c    0x044a
+0x848d    0x044b
+0x848e    0x044c
+0x848f    0x044d
+0x8490    0x044e
+0x8491    0x044f
+0x849f    0x2500
+0x84a0    0x2502
+0x84a1    0x250c
+0x84a2    0x2510
+0x84a3    0x2518
+0x84a4    0x2514
+0x84a5    0x251c
+0x84a6    0x252c
+0x84a7    0x2524
+0x84a8    0x2534
+0x84a9    0x253c
+0x84aa    0x2501
+0x84ab    0x2503
+0x84ac    0x250f
+0x84ad    0x2513
+0x84ae    0x251b
+0x84af    0x2517
+0x84b0    0x2523
+0x84b1    0x2533
+0x84b2    0x252b
+0x84b3    0x253b
+0x84b4    0x254b
+0x84b5    0x2520
+0x84b6    0x252f
+0x84b7    0x2528
+0x84b8    0x2537
+0x84b9    0x253f
+0x84ba    0x251d
+0x84bb    0x2530
+0x84bc    0x2525
+0x84bd    0x2538
+0x84be    0x2542
+0x889f    0x4e9c
+0x88a0    0x5516
+0x88a1    0x5a03
+0x88a2    0x963f
+0x88a3    0x54c0
+0x88a4    0x611b
+0x88a5    0x6328
+0x88a6    0x59f6
+0x88a7    0x9022
+0x88a8    0x8475
+0x88a9    0x831c
+0x88aa    0x7a50
+0x88ab    0x60aa
+0x88ac    0x63e1
+0x88ad    0x6e25
+0x88ae    0x65ed
+0x88af    0x8466
+0x88b0    0x82a6
+0x88b1    0x9bf5
+0x88b2    0x6893
+0x88b3    0x5727
+0x88b4    0x65a1
+0x88b5    0x6271
+0x88b6    0x5b9b
+0x88b7    0x59d0
+0x88b8    0x867b
+0x88b9    0x98f4
+0x88ba    0x7d62
+0x88bb    0x7dbe
+0x88bc    0x9b8e
+0x88bd    0x6216
+0x88be    0x7c9f
+0x88bf    0x88b7
+0x88c0    0x5b89
+0x88c1    0x5eb5
+0x88c2    0x6309
+0x88c3    0x6697
+0x88c4    0x6848
+0x88c5    0x95c7
+0x88c6    0x978d
+0x88c7    0x674f
+0x88c8    0x4ee5
+0x88c9    0x4f0a
+0x88ca    0x4f4d
+0x88cb    0x4f9d
+0x88cc    0x5049
+0x88cd    0x56f2
+0x88ce    0x5937
+0x88cf    0x59d4
+0x88d0    0x5a01
+0x88d1    0x5c09
+0x88d2    0x60df
+0x88d3    0x610f
+0x88d4    0x6170
+0x88d5    0x6613
+0x88d6    0x6905
+0x88d7    0x70ba
+0x88d8    0x754f
+0x88d9    0x7570
+0x88da    0x79fb
+0x88db    0x7dad
+0x88dc    0x7def
+0x88dd    0x80c3
+0x88de    0x840e
+0x88df    0x8863
+0x88e0    0x8b02
+0x88e1    0x9055
+0x88e2    0x907a
+0x88e3    0x533b
+0x88e4    0x4e95
+0x88e5    0x4ea5
+0x88e6    0x57df
+0x88e7    0x80b2
+0x88e8    0x90c1
+0x88e9    0x78ef
+0x88ea    0x4e00
+0x88eb    0x58f1
+0x88ec    0x6ea2
+0x88ed    0x9038
+0x88ee    0x7a32
+0x88ef    0x8328
+0x88f0    0x828b
+0x88f1    0x9c2f
+0x88f2    0x5141
+0x88f3    0x5370
+0x88f4    0x54bd
+0x88f5    0x54e1
+0x88f6    0x56e0
+0x88f7    0x59fb
+0x88f8    0x5f15
+0x88f9    0x98f2
+0x88fa    0x6deb
+0x88fb    0x80e4
+0x88fc    0x852d
+0x8940    0x9662
+0x8941    0x9670
+0x8942    0x96a0
+0x8943    0x97fb
+0x8944    0x540b
+0x8945    0x53f3
+0x8946    0x5b87
+0x8947    0x70cf
+0x8948    0x7fbd
+0x8949    0x8fc2
+0x894a    0x96e8
+0x894b    0x536f
+0x894c    0x9d5c
+0x894d    0x7aba
+0x894e    0x4e11
+0x894f    0x7893
+0x8950    0x81fc
+0x8951    0x6e26
+0x8952    0x5618
+0x8953    0x5504
+0x8954    0x6b1d
+0x8955    0x851a
+0x8956    0x9c3b
+0x8957    0x59e5
+0x8958    0x53a9
+0x8959    0x6d66
+0x895a    0x74dc
+0x895b    0x958f
+0x895c    0x5642
+0x895d    0x4e91
+0x895e    0x904b
+0x895f    0x96f2
+0x8960    0x834f
+0x8961    0x990c
+0x8962    0x53e1
+0x8963    0x55b6
+0x8964    0x5b30
+0x8965    0x5f71
+0x8966    0x6620
+0x8967    0x66f3
+0x8968    0x6804
+0x8969    0x6c38
+0x896a    0x6cf3
+0x896b    0x6d29
+0x896c    0x745b
+0x896d    0x76c8
+0x896e    0x7a4e
+0x896f    0x9834
+0x8970    0x82f1
+0x8971    0x885b
+0x8972    0x8a60
+0x8973    0x92ed
+0x8974    0x6db2
+0x8975    0x75ab
+0x8976    0x76ca
+0x8977    0x99c5
+0x8978    0x60a6
+0x8979    0x8b01
+0x897a    0x8d8a
+0x897b    0x95b2
+0x897c    0x698e
+0x897d    0x53ad
+0x897e    0x5186
+0x8980    0x5712
+0x8981    0x5830
+0x8982    0x5944
+0x8983    0x5bb4
+0x8984    0x5ef6
+0x8985    0x6028
+0x8986    0x63a9
+0x8987    0x63f4
+0x8988    0x6cbf
+0x8989    0x6f14
+0x898a    0x708e
+0x898b    0x7114
+0x898c    0x7159
+0x898d    0x71d5
+0x898e    0x733f
+0x898f    0x7e01
+0x8990    0x8276
+0x8991    0x82d1
+0x8992    0x8597
+0x8993    0x9060
+0x8994    0x925b
+0x8995    0x9d1b
+0x8996    0x5869
+0x8997    0x65bc
+0x8998    0x6c5a
+0x8999    0x7525
+0x899a    0x51f9
+0x899b    0x592e
+0x899c    0x5965
+0x899d    0x5f80
+0x899e    0x5fdc
+0x899f    0x62bc
+0x89a0    0x65fa
+0x89a1    0x6a2a
+0x89a2    0x6b27
+0x89a3    0x6bb4
+0x89a4    0x738b
+0x89a5    0x7fc1
+0x89a6    0x8956
+0x89a7    0x9d2c
+0x89a8    0x9d0e
+0x89a9    0x9ec4
+0x89aa    0x5ca1
+0x89ab    0x6c96
+0x89ac    0x837b
+0x89ad    0x5104
+0x89ae    0x5c4b
+0x89af    0x61b6
+0x89b0    0x81c6
+0x89b1    0x6876
+0x89b2    0x7261
+0x89b3    0x4e59
+0x89b4    0x4ffa
+0x89b5    0x5378
+0x89b6    0x6069
+0x89b7    0x6e29
+0x89b8    0x7a4f
+0x89b9    0x97f3
+0x89ba    0x4e0b
+0x89bb    0x5316
+0x89bc    0x4eee
+0x89bd    0x4f55
+0x89be    0x4f3d
+0x89bf    0x4fa1
+0x89c0    0x4f73
+0x89c1    0x52a0
+0x89c2    0x53ef
+0x89c3    0x5609
+0x89c4    0x590f
+0x89c5    0x5ac1
+0x89c6    0x5bb6
+0x89c7    0x5be1
+0x89c8    0x79d1
+0x89c9    0x6687
+0x89ca    0x679c
+0x89cb    0x67b6
+0x89cc    0x6b4c
+0x89cd    0x6cb3
+0x89ce    0x706b
+0x89cf    0x73c2
+0x89d0    0x798d
+0x89d1    0x79be
+0x89d2    0x7a3c
+0x89d3    0x7b87
+0x89d4    0x82b1
+0x89d5    0x82db
+0x89d6    0x8304
+0x89d7    0x8377
+0x89d8    0x83ef
+0x89d9    0x83d3
+0x89da    0x8766
+0x89db    0x8ab2
+0x89dc    0x5629
+0x89dd    0x8ca8
+0x89de    0x8fe6
+0x89df    0x904e
+0x89e0    0x971e
+0x89e1    0x868a
+0x89e2    0x4fc4
+0x89e3    0x5ce8
+0x89e4    0x6211
+0x89e5    0x7259
+0x89e6    0x753b
+0x89e7    0x81e5
+0x89e8    0x82bd
+0x89e9    0x86fe
+0x89ea    0x8cc0
+0x89eb    0x96c5
+0x89ec    0x9913
+0x89ed    0x99d5
+0x89ee    0x4ecb
+0x89ef    0x4f1a
+0x89f0    0x89e3
+0x89f1    0x56de
+0x89f2    0x584a
+0x89f3    0x58ca
+0x89f4    0x5efb
+0x89f5    0x5feb
+0x89f6    0x602a
+0x89f7    0x6094
+0x89f8    0x6062
+0x89f9    0x61d0
+0x89fa    0x6212
+0x89fb    0x62d0
+0x89fc    0x6539
+0x8a40    0x9b41
+0x8a41    0x6666
+0x8a42    0x68b0
+0x8a43    0x6d77
+0x8a44    0x7070
+0x8a45    0x754c
+0x8a46    0x7686
+0x8a47    0x7d75
+0x8a48    0x82a5
+0x8a49    0x87f9
+0x8a4a    0x958b
+0x8a4b    0x968e
+0x8a4c    0x8c9d
+0x8a4d    0x51f1
+0x8a4e    0x52be
+0x8a4f    0x5916
+0x8a50    0x54b3
+0x8a51    0x5bb3
+0x8a52    0x5d16
+0x8a53    0x6168
+0x8a54    0x6982
+0x8a55    0x6daf
+0x8a56    0x788d
+0x8a57    0x84cb
+0x8a58    0x8857
+0x8a59    0x8a72
+0x8a5a    0x93a7
+0x8a5b    0x9ab8
+0x8a5c    0x6d6c
+0x8a5d    0x99a8
+0x8a5e    0x86d9
+0x8a5f    0x57a3
+0x8a60    0x67ff
+0x8a61    0x86ce
+0x8a62    0x920e
+0x8a63    0x5283
+0x8a64    0x5687
+0x8a65    0x5404
+0x8a66    0x5ed3
+0x8a67    0x62e1
+0x8a68    0x64b9
+0x8a69    0x683c
+0x8a6a    0x6838
+0x8a6b    0x6bbb
+0x8a6c    0x7372
+0x8a6d    0x78ba
+0x8a6e    0x7a6b
+0x8a6f    0x899a
+0x8a70    0x89d2
+0x8a71    0x8d6b
+0x8a72    0x8f03
+0x8a73    0x90ed
+0x8a74    0x95a3
+0x8a75    0x9694
+0x8a76    0x9769
+0x8a77    0x5b66
+0x8a78    0x5cb3
+0x8a79    0x697d
+0x8a7a    0x984d
+0x8a7b    0x984e
+0x8a7c    0x639b
+0x8a7d    0x7b20
+0x8a7e    0x6a2b
+0x8a80    0x6a7f
+0x8a81    0x68b6
+0x8a82    0x9c0d
+0x8a83    0x6f5f
+0x8a84    0x5272
+0x8a85    0x559d
+0x8a86    0x6070
+0x8a87    0x62ec
+0x8a88    0x6d3b
+0x8a89    0x6e07
+0x8a8a    0x6ed1
+0x8a8b    0x845b
+0x8a8c    0x8910
+0x8a8d    0x8f44
+0x8a8e    0x4e14
+0x8a8f    0x9c39
+0x8a90    0x53f6
+0x8a91    0x691b
+0x8a92    0x6a3a
+0x8a93    0x9784
+0x8a94    0x682a
+0x8a95    0x515c
+0x8a96    0x7ac3
+0x8a97    0x84b2
+0x8a98    0x91dc
+0x8a99    0x938c
+0x8a9a    0x565b
+0x8a9b    0x9d28
+0x8a9c    0x6822
+0x8a9d    0x8305
+0x8a9e    0x8431
+0x8a9f    0x7ca5
+0x8aa0    0x5208
+0x8aa1    0x82c5
+0x8aa2    0x74e6
+0x8aa3    0x4e7e
+0x8aa4    0x4f83
+0x8aa5    0x51a0
+0x8aa6    0x5bd2
+0x8aa7    0x520a
+0x8aa8    0x52d8
+0x8aa9    0x52e7
+0x8aaa    0x5dfb
+0x8aab    0x559a
+0x8aac    0x582a
+0x8aad    0x59e6
+0x8aae    0x5b8c
+0x8aaf    0x5b98
+0x8ab0    0x5bdb
+0x8ab1    0x5e72
+0x8ab2    0x5e79
+0x8ab3    0x60a3
+0x8ab4    0x611f
+0x8ab5    0x6163
+0x8ab6    0x61be
+0x8ab7    0x63db
+0x8ab8    0x6562
+0x8ab9    0x67d1
+0x8aba    0x6853
+0x8abb    0x68fa
+0x8abc    0x6b3e
+0x8abd    0x6b53
+0x8abe    0x6c57
+0x8abf    0x6f22
+0x8ac0    0x6f97
+0x8ac1    0x6f45
+0x8ac2    0x74b0
+0x8ac3    0x7518
+0x8ac4    0x76e3
+0x8ac5    0x770b
+0x8ac6    0x7aff
+0x8ac7    0x7ba1
+0x8ac8    0x7c21
+0x8ac9    0x7de9
+0x8aca    0x7f36
+0x8acb    0x7ff0
+0x8acc    0x809d
+0x8acd    0x8266
+0x8ace    0x839e
+0x8acf    0x89b3
+0x8ad0    0x8acc
+0x8ad1    0x8cab
+0x8ad2    0x9084
+0x8ad3    0x9451
+0x8ad4    0x9593
+0x8ad5    0x9591
+0x8ad6    0x95a2
+0x8ad7    0x9665
+0x8ad8    0x97d3
+0x8ad9    0x9928
+0x8ada    0x8218
+0x8adb    0x4e38
+0x8adc    0x542b
+0x8add    0x5cb8
+0x8ade    0x5dcc
+0x8adf    0x73a9
+0x8ae0    0x764c
+0x8ae1    0x773c
+0x8ae2    0x5ca9
+0x8ae3    0x7feb
+0x8ae4    0x8d0b
+0x8ae5    0x96c1
+0x8ae6    0x9811
+0x8ae7    0x9854
+0x8ae8    0x9858
+0x8ae9    0x4f01
+0x8aea    0x4f0e
+0x8aeb    0x5371
+0x8aec    0x559c
+0x8aed    0x5668
+0x8aee    0x57fa
+0x8aef    0x5947
+0x8af0    0x5b09
+0x8af1    0x5bc4
+0x8af2    0x5c90
+0x8af3    0x5e0c
+0x8af4    0x5e7e
+0x8af5    0x5fcc
+0x8af6    0x63ee
+0x8af7    0x673a
+0x8af8    0x65d7
+0x8af9    0x65e2
+0x8afa    0x671f
+0x8afb    0x68cb
+0x8afc    0x68c4
+0x8b40    0x6a5f
+0x8b41    0x5e30
+0x8b42    0x6bc5
+0x8b43    0x6c17
+0x8b44    0x6c7d
+0x8b45    0x757f
+0x8b46    0x7948
+0x8b47    0x5b63
+0x8b48    0x7a00
+0x8b49    0x7d00
+0x8b4a    0x5fbd
+0x8b4b    0x898f
+0x8b4c    0x8a18
+0x8b4d    0x8cb4
+0x8b4e    0x8d77
+0x8b4f    0x8ecc
+0x8b50    0x8f1d
+0x8b51    0x98e2
+0x8b52    0x9a0e
+0x8b53    0x9b3c
+0x8b54    0x4e80
+0x8b55    0x507d
+0x8b56    0x5100
+0x8b57    0x5993
+0x8b58    0x5b9c
+0x8b59    0x622f
+0x8b5a    0x6280
+0x8b5b    0x64ec
+0x8b5c    0x6b3a
+0x8b5d    0x72a0
+0x8b5e    0x7591
+0x8b5f    0x7947
+0x8b60    0x7fa9
+0x8b61    0x87fb
+0x8b62    0x8abc
+0x8b63    0x8b70
+0x8b64    0x63ac
+0x8b65    0x83ca
+0x8b66    0x97a0
+0x8b67    0x5409
+0x8b68    0x5403
+0x8b69    0x55ab
+0x8b6a    0x6854
+0x8b6b    0x6a58
+0x8b6c    0x8a70
+0x8b6d    0x7827
+0x8b6e    0x6775
+0x8b6f    0x9ecd
+0x8b70    0x5374
+0x8b71    0x5ba2
+0x8b72    0x811a
+0x8b73    0x8650
+0x8b74    0x9006
+0x8b75    0x4e18
+0x8b76    0x4e45
+0x8b77    0x4ec7
+0x8b78    0x4f11
+0x8b79    0x53ca
+0x8b7a    0x5438
+0x8b7b    0x5bae
+0x8b7c    0x5f13
+0x8b7d    0x6025
+0x8b7e    0x6551
+0x8b80    0x673d
+0x8b81    0x6c42
+0x8b82    0x6c72
+0x8b83    0x6ce3
+0x8b84    0x7078
+0x8b85    0x7403
+0x8b86    0x7a76
+0x8b87    0x7aae
+0x8b88    0x7b08
+0x8b89    0x7d1a
+0x8b8a    0x7cfe
+0x8b8b    0x7d66
+0x8b8c    0x65e7
+0x8b8d    0x725b
+0x8b8e    0x53bb
+0x8b8f    0x5c45
+0x8b90    0x5de8
+0x8b91    0x62d2
+0x8b92    0x62e0
+0x8b93    0x6319
+0x8b94    0x6e20
+0x8b95    0x865a
+0x8b96    0x8a31
+0x8b97    0x8ddd
+0x8b98    0x92f8
+0x8b99    0x6f01
+0x8b9a    0x79a6
+0x8b9b    0x9b5a
+0x8b9c    0x4ea8
+0x8b9d    0x4eab
+0x8b9e    0x4eac
+0x8b9f    0x4f9b
+0x8ba0    0x4fa0
+0x8ba1    0x50d1
+0x8ba2    0x5147
+0x8ba3    0x7af6
+0x8ba4    0x5171
+0x8ba5    0x51f6
+0x8ba6    0x5354
+0x8ba7    0x5321
+0x8ba8    0x537f
+0x8ba9    0x53eb
+0x8baa    0x55ac
+0x8bab    0x5883
+0x8bac    0x5ce1
+0x8bad    0x5f37
+0x8bae    0x5f4a
+0x8baf    0x602f
+0x8bb0    0x6050
+0x8bb1    0x606d
+0x8bb2    0x631f
+0x8bb3    0x6559
+0x8bb4    0x6a4b
+0x8bb5    0x6cc1
+0x8bb6    0x72c2
+0x8bb7    0x72ed
+0x8bb8    0x77ef
+0x8bb9    0x80f8
+0x8bba    0x8105
+0x8bbb    0x8208
+0x8bbc    0x854e
+0x8bbd    0x90f7
+0x8bbe    0x93e1
+0x8bbf    0x97ff
+0x8bc0    0x9957
+0x8bc1    0x9a5a
+0x8bc2    0x4ef0
+0x8bc3    0x51dd
+0x8bc4    0x5c2d
+0x8bc5    0x6681
+0x8bc6    0x696d
+0x8bc7    0x5c40
+0x8bc8    0x66f2
+0x8bc9    0x6975
+0x8bca    0x7389
+0x8bcb    0x6850
+0x8bcc    0x7c81
+0x8bcd    0x50c5
+0x8bce    0x52e4
+0x8bcf    0x5747
+0x8bd0    0x5dfe
+0x8bd1    0x9326
+0x8bd2    0x65a4
+0x8bd3    0x6b23
+0x8bd4    0x6b3d
+0x8bd5    0x7434
+0x8bd6    0x7981
+0x8bd7    0x79bd
+0x8bd8    0x7b4b
+0x8bd9    0x7dca
+0x8bda    0x82b9
+0x8bdb    0x83cc
+0x8bdc    0x887f
+0x8bdd    0x895f
+0x8bde    0x8b39
+0x8bdf    0x8fd1
+0x8be0    0x91d1
+0x8be1    0x541f
+0x8be2    0x9280
+0x8be3    0x4e5d
+0x8be4    0x5036
+0x8be5    0x53e5
+0x8be6    0x533a
+0x8be7    0x72d7
+0x8be8    0x7396
+0x8be9    0x77e9
+0x8bea    0x82e6
+0x8beb    0x8eaf
+0x8bec    0x99c6
+0x8bed    0x99c8
+0x8bee    0x99d2
+0x8bef    0x5177
+0x8bf0    0x611a
+0x8bf1    0x865e
+0x8bf2    0x55b0
+0x8bf3    0x7a7a
+0x8bf4    0x5076
+0x8bf5    0x5bd3
+0x8bf6    0x9047
+0x8bf7    0x9685
+0x8bf8    0x4e32
+0x8bf9    0x6adb
+0x8bfa    0x91e7
+0x8bfb    0x5c51
+0x8bfc    0x5c48
+0x8c40    0x6398
+0x8c41    0x7a9f
+0x8c42    0x6c93
+0x8c43    0x9774
+0x8c44    0x8f61
+0x8c45    0x7aaa
+0x8c46    0x718a
+0x8c47    0x9688
+0x8c48    0x7c82
+0x8c49    0x6817
+0x8c4a    0x7e70
+0x8c4b    0x6851
+0x8c4c    0x936c
+0x8c4d    0x52f2
+0x8c4e    0x541b
+0x8c4f    0x85ab
+0x8c50    0x8a13
+0x8c51    0x7fa4
+0x8c52    0x8ecd
+0x8c53    0x90e1
+0x8c54    0x5366
+0x8c55    0x8888
+0x8c56    0x7941
+0x8c57    0x4fc2
+0x8c58    0x50be
+0x8c59    0x5211
+0x8c5a    0x5144
+0x8c5b    0x5553
+0x8c5c    0x572d
+0x8c5d    0x73ea
+0x8c5e    0x578b
+0x8c5f    0x5951
+0x8c60    0x5f62
+0x8c61    0x5f84
+0x8c62    0x6075
+0x8c63    0x6176
+0x8c64    0x6167
+0x8c65    0x61a9
+0x8c66    0x63b2
+0x8c67    0x643a
+0x8c68    0x656c
+0x8c69    0x666f
+0x8c6a    0x6842
+0x8c6b    0x6e13
+0x8c6c    0x7566
+0x8c6d    0x7a3d
+0x8c6e    0x7cfb
+0x8c6f    0x7d4c
+0x8c70    0x7d99
+0x8c71    0x7e4b
+0x8c72    0x7f6b
+0x8c73    0x830e
+0x8c74    0x834a
+0x8c75    0x86cd
+0x8c76    0x8a08
+0x8c77    0x8a63
+0x8c78    0x8b66
+0x8c79    0x8efd
+0x8c7a    0x981a
+0x8c7b    0x9d8f
+0x8c7c    0x82b8
+0x8c7d    0x8fce
+0x8c7e    0x9be8
+0x8c80    0x5287
+0x8c81    0x621f
+0x8c82    0x6483
+0x8c83    0x6fc0
+0x8c84    0x9699
+0x8c85    0x6841
+0x8c86    0x5091
+0x8c87    0x6b20
+0x8c88    0x6c7a
+0x8c89    0x6f54
+0x8c8a    0x7a74
+0x8c8b    0x7d50
+0x8c8c    0x8840
+0x8c8d    0x8a23
+0x8c8e    0x6708
+0x8c8f    0x4ef6
+0x8c90    0x5039
+0x8c91    0x5026
+0x8c92    0x5065
+0x8c93    0x517c
+0x8c94    0x5238
+0x8c95    0x5263
+0x8c96    0x55a7
+0x8c97    0x570f
+0x8c98    0x5805
+0x8c99    0x5acc
+0x8c9a    0x5efa
+0x8c9b    0x61b2
+0x8c9c    0x61f8
+0x8c9d    0x62f3
+0x8c9e    0x6372
+0x8c9f    0x691c
+0x8ca0    0x6a29
+0x8ca1    0x727d
+0x8ca2    0x72ac
+0x8ca3    0x732e
+0x8ca4    0x7814
+0x8ca5    0x786f
+0x8ca6    0x7d79
+0x8ca7    0x770c
+0x8ca8    0x80a9
+0x8ca9    0x898b
+0x8caa    0x8b19
+0x8cab    0x8ce2
+0x8cac    0x8ed2
+0x8cad    0x9063
+0x8cae    0x9375
+0x8caf    0x967a
+0x8cb0    0x9855
+0x8cb1    0x9a13
+0x8cb2    0x9e78
+0x8cb3    0x5143
+0x8cb4    0x539f
+0x8cb5    0x53b3
+0x8cb6    0x5e7b
+0x8cb7    0x5f26
+0x8cb8    0x6e1b
+0x8cb9    0x6e90
+0x8cba    0x7384
+0x8cbb    0x73fe
+0x8cbc    0x7d43
+0x8cbd    0x8237
+0x8cbe    0x8a00
+0x8cbf    0x8afa
+0x8cc0    0x9650
+0x8cc1    0x4e4e
+0x8cc2    0x500b
+0x8cc3    0x53e4
+0x8cc4    0x547c
+0x8cc5    0x56fa
+0x8cc6    0x59d1
+0x8cc7    0x5b64
+0x8cc8    0x5df1
+0x8cc9    0x5eab
+0x8cca    0x5f27
+0x8ccb    0x6238
+0x8ccc    0x6545
+0x8ccd    0x67af
+0x8cce    0x6e56
+0x8ccf    0x72d0
+0x8cd0    0x7cca
+0x8cd1    0x88b4
+0x8cd2    0x80a1
+0x8cd3    0x80e1
+0x8cd4    0x83f0
+0x8cd5    0x864e
+0x8cd6    0x8a87
+0x8cd7    0x8de8
+0x8cd8    0x9237
+0x8cd9    0x96c7
+0x8cda    0x9867
+0x8cdb    0x9f13
+0x8cdc    0x4e94
+0x8cdd    0x4e92
+0x8cde    0x4f0d
+0x8cdf    0x5348
+0x8ce0    0x5449
+0x8ce1    0x543e
+0x8ce2    0x5a2f
+0x8ce3    0x5f8c
+0x8ce4    0x5fa1
+0x8ce5    0x609f
+0x8ce6    0x68a7
+0x8ce7    0x6a8e
+0x8ce8    0x745a
+0x8ce9    0x7881
+0x8cea    0x8a9e
+0x8ceb    0x8aa4
+0x8cec    0x8b77
+0x8ced    0x9190
+0x8cee    0x4e5e
+0x8cef    0x9bc9
+0x8cf0    0x4ea4
+0x8cf1    0x4f7c
+0x8cf2    0x4faf
+0x8cf3    0x5019
+0x8cf4    0x5016
+0x8cf5    0x5149
+0x8cf6    0x516c
+0x8cf7    0x529f
+0x8cf8    0x52b9
+0x8cf9    0x52fe
+0x8cfa    0x539a
+0x8cfb    0x53e3
+0x8cfc    0x5411
+0x8d40    0x540e
+0x8d41    0x5589
+0x8d42    0x5751
+0x8d43    0x57a2
+0x8d44    0x597d
+0x8d45    0x5b54
+0x8d46    0x5b5d
+0x8d47    0x5b8f
+0x8d48    0x5de5
+0x8d49    0x5de7
+0x8d4a    0x5df7
+0x8d4b    0x5e78
+0x8d4c    0x5e83
+0x8d4d    0x5e9a
+0x8d4e    0x5eb7
+0x8d4f    0x5f18
+0x8d50    0x6052
+0x8d51    0x614c
+0x8d52    0x6297
+0x8d53    0x62d8
+0x8d54    0x63a7
+0x8d55    0x653b
+0x8d56    0x6602
+0x8d57    0x6643
+0x8d58    0x66f4
+0x8d59    0x676d
+0x8d5a    0x6821
+0x8d5b    0x6897
+0x8d5c    0x69cb
+0x8d5d    0x6c5f
+0x8d5e    0x6d2a
+0x8d5f    0x6d69
+0x8d60    0x6e2f
+0x8d61    0x6e9d
+0x8d62    0x7532
+0x8d63    0x7687
+0x8d64    0x786c
+0x8d65    0x7a3f
+0x8d66    0x7ce0
+0x8d67    0x7d05
+0x8d68    0x7d18
+0x8d69    0x7d5e
+0x8d6a    0x7db1
+0x8d6b    0x8015
+0x8d6c    0x8003
+0x8d6d    0x80af
+0x8d6e    0x80b1
+0x8d6f    0x8154
+0x8d70    0x818f
+0x8d71    0x822a
+0x8d72    0x8352
+0x8d73    0x884c
+0x8d74    0x8861
+0x8d75    0x8b1b
+0x8d76    0x8ca2
+0x8d77    0x8cfc
+0x8d78    0x90ca
+0x8d79    0x9175
+0x8d7a    0x9271
+0x8d7b    0x783f
+0x8d7c    0x92fc
+0x8d7d    0x95a4
+0x8d7e    0x964d
+0x8d80    0x9805
+0x8d81    0x9999
+0x8d82    0x9ad8
+0x8d83    0x9d3b
+0x8d84    0x525b
+0x8d85    0x52ab
+0x8d86    0x53f7
+0x8d87    0x5408
+0x8d88    0x58d5
+0x8d89    0x62f7
+0x8d8a    0x6fe0
+0x8d8b    0x8c6a
+0x8d8c    0x8f5f
+0x8d8d    0x9eb9
+0x8d8e    0x514b
+0x8d8f    0x523b
+0x8d90    0x544a
+0x8d91    0x56fd
+0x8d92    0x7a40
+0x8d93    0x9177
+0x8d94    0x9d60
+0x8d95    0x9ed2
+0x8d96    0x7344
+0x8d97    0x6f09
+0x8d98    0x8170
+0x8d99    0x7511
+0x8d9a    0x5ffd
+0x8d9b    0x60da
+0x8d9c    0x9aa8
+0x8d9d    0x72db
+0x8d9e    0x8fbc
+0x8d9f    0x6b64
+0x8da0    0x9803
+0x8da1    0x4eca
+0x8da2    0x56f0
+0x8da3    0x5764
+0x8da4    0x58be
+0x8da5    0x5a5a
+0x8da6    0x6068
+0x8da7    0x61c7
+0x8da8    0x660f
+0x8da9    0x6606
+0x8daa    0x6839
+0x8dab    0x68b1
+0x8dac    0x6df7
+0x8dad    0x75d5
+0x8dae    0x7d3a
+0x8daf    0x826e
+0x8db0    0x9b42
+0x8db1    0x4e9b
+0x8db2    0x4f50
+0x8db3    0x53c9
+0x8db4    0x5506
+0x8db5    0x5d6f
+0x8db6    0x5de6
+0x8db7    0x5dee
+0x8db8    0x67fb
+0x8db9    0x6c99
+0x8dba    0x7473
+0x8dbb    0x7802
+0x8dbc    0x8a50
+0x8dbd    0x9396
+0x8dbe    0x88df
+0x8dbf    0x5750
+0x8dc0    0x5ea7
+0x8dc1    0x632b
+0x8dc2    0x50b5
+0x8dc3    0x50ac
+0x8dc4    0x518d
+0x8dc5    0x6700
+0x8dc6    0x54c9
+0x8dc7    0x585e
+0x8dc8    0x59bb
+0x8dc9    0x5bb0
+0x8dca    0x5f69
+0x8dcb    0x624d
+0x8dcc    0x63a1
+0x8dcd    0x683d
+0x8dce    0x6b73
+0x8dcf    0x6e08
+0x8dd0    0x707d
+0x8dd1    0x91c7
+0x8dd2    0x7280
+0x8dd3    0x7815
+0x8dd4    0x7826
+0x8dd5    0x796d
+0x8dd6    0x658e
+0x8dd7    0x7d30
+0x8dd8    0x83dc
+0x8dd9    0x88c1
+0x8dda    0x8f09
+0x8ddb    0x969b
+0x8ddc    0x5264
+0x8ddd    0x5728
+0x8dde    0x6750
+0x8ddf    0x7f6a
+0x8de0    0x8ca1
+0x8de1    0x51b4
+0x8de2    0x5742
+0x8de3    0x962a
+0x8de4    0x583a
+0x8de5    0x698a
+0x8de6    0x80b4
+0x8de7    0x54b2
+0x8de8    0x5d0e
+0x8de9    0x57fc
+0x8dea    0x7895
+0x8deb    0x9dfa
+0x8dec    0x4f5c
+0x8ded    0x524a
+0x8dee    0x548b
+0x8def    0x643e
+0x8df0    0x6628
+0x8df1    0x6714
+0x8df2    0x67f5
+0x8df3    0x7a84
+0x8df4    0x7b56
+0x8df5    0x7d22
+0x8df6    0x932f
+0x8df7    0x685c
+0x8df8    0x9bad
+0x8df9    0x7b39
+0x8dfa    0x5319
+0x8dfb    0x518a
+0x8dfc    0x5237
+0x8e40    0x5bdf
+0x8e41    0x62f6
+0x8e42    0x64ae
+0x8e43    0x64e6
+0x8e44    0x672d
+0x8e45    0x6bba
+0x8e46    0x85a9
+0x8e47    0x96d1
+0x8e48    0x7690
+0x8e49    0x9bd6
+0x8e4a    0x634c
+0x8e4b    0x9306
+0x8e4c    0x9bab
+0x8e4d    0x76bf
+0x8e4e    0x6652
+0x8e4f    0x4e09
+0x8e50    0x5098
+0x8e51    0x53c2
+0x8e52    0x5c71
+0x8e53    0x60e8
+0x8e54    0x6492
+0x8e55    0x6563
+0x8e56    0x685f
+0x8e57    0x71e6
+0x8e58    0x73ca
+0x8e59    0x7523
+0x8e5a    0x7b97
+0x8e5b    0x7e82
+0x8e5c    0x8695
+0x8e5d    0x8b83
+0x8e5e    0x8cdb
+0x8e5f    0x9178
+0x8e60    0x9910
+0x8e61    0x65ac
+0x8e62    0x66ab
+0x8e63    0x6b8b
+0x8e64    0x4ed5
+0x8e65    0x4ed4
+0x8e66    0x4f3a
+0x8e67    0x4f7f
+0x8e68    0x523a
+0x8e69    0x53f8
+0x8e6a    0x53f2
+0x8e6b    0x55e3
+0x8e6c    0x56db
+0x8e6d    0x58eb
+0x8e6e    0x59cb
+0x8e6f    0x59c9
+0x8e70    0x59ff
+0x8e71    0x5b50
+0x8e72    0x5c4d
+0x8e73    0x5e02
+0x8e74    0x5e2b
+0x8e75    0x5fd7
+0x8e76    0x601d
+0x8e77    0x6307
+0x8e78    0x652f
+0x8e79    0x5b5c
+0x8e7a    0x65af
+0x8e7b    0x65bd
+0x8e7c    0x65e8
+0x8e7d    0x679d
+0x8e7e    0x6b62
+0x8e80    0x6b7b
+0x8e81    0x6c0f
+0x8e82    0x7345
+0x8e83    0x7949
+0x8e84    0x79c1
+0x8e85    0x7cf8
+0x8e86    0x7d19
+0x8e87    0x7d2b
+0x8e88    0x80a2
+0x8e89    0x8102
+0x8e8a    0x81f3
+0x8e8b    0x8996
+0x8e8c    0x8a5e
+0x8e8d    0x8a69
+0x8e8e    0x8a66
+0x8e8f    0x8a8c
+0x8e90    0x8aee
+0x8e91    0x8cc7
+0x8e92    0x8cdc
+0x8e93    0x96cc
+0x8e94    0x98fc
+0x8e95    0x6b6f
+0x8e96    0x4e8b
+0x8e97    0x4f3c
+0x8e98    0x4f8d
+0x8e99    0x5150
+0x8e9a    0x5b57
+0x8e9b    0x5bfa
+0x8e9c    0x6148
+0x8e9d    0x6301
+0x8e9e    0x6642
+0x8e9f    0x6b21
+0x8ea0    0x6ecb
+0x8ea1    0x6cbb
+0x8ea2    0x723e
+0x8ea3    0x74bd
+0x8ea4    0x75d4
+0x8ea5    0x78c1
+0x8ea6    0x793a
+0x8ea7    0x800c
+0x8ea8    0x8033
+0x8ea9    0x81ea
+0x8eaa    0x8494
+0x8eab    0x8f9e
+0x8eac    0x6c50
+0x8ead    0x9e7f
+0x8eae    0x5f0f
+0x8eaf    0x8b58
+0x8eb0    0x9d2b
+0x8eb1    0x7afa
+0x8eb2    0x8ef8
+0x8eb3    0x5b8d
+0x8eb4    0x96eb
+0x8eb5    0x4e03
+0x8eb6    0x53f1
+0x8eb7    0x57f7
+0x8eb8    0x5931
+0x8eb9    0x5ac9
+0x8eba    0x5ba4
+0x8ebb    0x6089
+0x8ebc    0x6e7f
+0x8ebd    0x6f06
+0x8ebe    0x75be
+0x8ebf    0x8cea
+0x8ec0    0x5b9f
+0x8ec1    0x8500
+0x8ec2    0x7be0
+0x8ec3    0x5072
+0x8ec4    0x67f4
+0x8ec5    0x829d
+0x8ec6    0x5c61
+0x8ec7    0x854a
+0x8ec8    0x7e1e
+0x8ec9    0x820e
+0x8eca    0x5199
+0x8ecb    0x5c04
+0x8ecc    0x6368
+0x8ecd    0x8d66
+0x8ece    0x659c
+0x8ecf    0x716e
+0x8ed0    0x793e
+0x8ed1    0x7d17
+0x8ed2    0x8005
+0x8ed3    0x8b1d
+0x8ed4    0x8eca
+0x8ed5    0x906e
+0x8ed6    0x86c7
+0x8ed7    0x90aa
+0x8ed8    0x501f
+0x8ed9    0x52fa
+0x8eda    0x5c3a
+0x8edb    0x6753
+0x8edc    0x707c
+0x8edd    0x7235
+0x8ede    0x914c
+0x8edf    0x91c8
+0x8ee0    0x932b
+0x8ee1    0x82e5
+0x8ee2    0x5bc2
+0x8ee3    0x5f31
+0x8ee4    0x60f9
+0x8ee5    0x4e3b
+0x8ee6    0x53d6
+0x8ee7    0x5b88
+0x8ee8    0x624b
+0x8ee9    0x6731
+0x8eea    0x6b8a
+0x8eeb    0x72e9
+0x8eec    0x73e0
+0x8eed    0x7a2e
+0x8eee    0x816b
+0x8eef    0x8da3
+0x8ef0    0x9152
+0x8ef1    0x9996
+0x8ef2    0x5112
+0x8ef3    0x53d7
+0x8ef4    0x546a
+0x8ef5    0x5bff
+0x8ef6    0x6388
+0x8ef7    0x6a39
+0x8ef8    0x7dac
+0x8ef9    0x9700
+0x8efa    0x56da
+0x8efb    0x53ce
+0x8efc    0x5468
+0x8f40    0x5b97
+0x8f41    0x5c31
+0x8f42    0x5dde
+0x8f43    0x4fee
+0x8f44    0x6101
+0x8f45    0x62fe
+0x8f46    0x6d32
+0x8f47    0x79c0
+0x8f48    0x79cb
+0x8f49    0x7d42
+0x8f4a    0x7e4d
+0x8f4b    0x7fd2
+0x8f4c    0x81ed
+0x8f4d    0x821f
+0x8f4e    0x8490
+0x8f4f    0x8846
+0x8f50    0x8972
+0x8f51    0x8b90
+0x8f52    0x8e74
+0x8f53    0x8f2f
+0x8f54    0x9031
+0x8f55    0x914b
+0x8f56    0x916c
+0x8f57    0x96c6
+0x8f58    0x919c
+0x8f59    0x4ec0
+0x8f5a    0x4f4f
+0x8f5b    0x5145
+0x8f5c    0x5341
+0x8f5d    0x5f93
+0x8f5e    0x620e
+0x8f5f    0x67d4
+0x8f60    0x6c41
+0x8f61    0x6e0b
+0x8f62    0x7363
+0x8f63    0x7e26
+0x8f64    0x91cd
+0x8f65    0x9283
+0x8f66    0x53d4
+0x8f67    0x5919
+0x8f68    0x5bbf
+0x8f69    0x6dd1
+0x8f6a    0x795d
+0x8f6b    0x7e2e
+0x8f6c    0x7c9b
+0x8f6d    0x587e
+0x8f6e    0x719f
+0x8f6f    0x51fa
+0x8f70    0x8853
+0x8f71    0x8ff0
+0x8f72    0x4fca
+0x8f73    0x5cfb
+0x8f74    0x6625
+0x8f75    0x77ac
+0x8f76    0x7ae3
+0x8f77    0x821c
+0x8f78    0x99ff
+0x8f79    0x51c6
+0x8f7a    0x5faa
+0x8f7b    0x65ec
+0x8f7c    0x696f
+0x8f7d    0x6b89
+0x8f7e    0x6df3
+0x8f80    0x6e96
+0x8f81    0x6f64
+0x8f82    0x76fe
+0x8f83    0x7d14
+0x8f84    0x5de1
+0x8f85    0x9075
+0x8f86    0x9187
+0x8f87    0x9806
+0x8f88    0x51e6
+0x8f89    0x521d
+0x8f8a    0x6240
+0x8f8b    0x6691
+0x8f8c    0x66d9
+0x8f8d    0x6e1a
+0x8f8e    0x5eb6
+0x8f8f    0x7dd2
+0x8f90    0x7f72
+0x8f91    0x66f8
+0x8f92    0x85af
+0x8f93    0x85f7
+0x8f94    0x8af8
+0x8f95    0x52a9
+0x8f96    0x53d9
+0x8f97    0x5973
+0x8f98    0x5e8f
+0x8f99    0x5f90
+0x8f9a    0x6055
+0x8f9b    0x92e4
+0x8f9c    0x9664
+0x8f9d    0x50b7
+0x8f9e    0x511f
+0x8f9f    0x52dd
+0x8fa0    0x5320
+0x8fa1    0x5347
+0x8fa2    0x53ec
+0x8fa3    0x54e8
+0x8fa4    0x5546
+0x8fa5    0x5531
+0x8fa6    0x5617
+0x8fa7    0x5968
+0x8fa8    0x59be
+0x8fa9    0x5a3c
+0x8faa    0x5bb5
+0x8fab    0x5c06
+0x8fac    0x5c0f
+0x8fad    0x5c11
+0x8fae    0x5c1a
+0x8faf    0x5e84
+0x8fb0    0x5e8a
+0x8fb1    0x5ee0
+0x8fb2    0x5f70
+0x8fb3    0x627f
+0x8fb4    0x6284
+0x8fb5    0x62db
+0x8fb6    0x638c
+0x8fb7    0x6377
+0x8fb8    0x6607
+0x8fb9    0x660c
+0x8fba    0x662d
+0x8fbb    0x6676
+0x8fbc    0x677e
+0x8fbd    0x68a2
+0x8fbe    0x6a1f
+0x8fbf    0x6a35
+0x8fc0    0x6cbc
+0x8fc1    0x6d88
+0x8fc2    0x6e09
+0x8fc3    0x6e58
+0x8fc4    0x713c
+0x8fc5    0x7126
+0x8fc6    0x7167
+0x8fc7    0x75c7
+0x8fc8    0x7701
+0x8fc9    0x785d
+0x8fca    0x7901
+0x8fcb    0x7965
+0x8fcc    0x79f0
+0x8fcd    0x7ae0
+0x8fce    0x7b11
+0x8fcf    0x7ca7
+0x8fd0    0x7d39
+0x8fd1    0x8096
+0x8fd2    0x83d6
+0x8fd3    0x848b
+0x8fd4    0x8549
+0x8fd5    0x885d
+0x8fd6    0x88f3
+0x8fd7    0x8a1f
+0x8fd8    0x8a3c
+0x8fd9    0x8a54
+0x8fda    0x8a73
+0x8fdb    0x8c61
+0x8fdc    0x8cde
+0x8fdd    0x91a4
+0x8fde    0x9266
+0x8fdf    0x937e
+0x8fe0    0x9418
+0x8fe1    0x969c
+0x8fe2    0x9798
+0x8fe3    0x4e0a
+0x8fe4    0x4e08
+0x8fe5    0x4e1e
+0x8fe6    0x4e57
+0x8fe7    0x5197
+0x8fe8    0x5270
+0x8fe9    0x57ce
+0x8fea    0x5834
+0x8feb    0x58cc
+0x8fec    0x5b22
+0x8fed    0x5e38
+0x8fee    0x60c5
+0x8fef    0x64fe
+0x8ff0    0x6761
+0x8ff1    0x6756
+0x8ff2    0x6d44
+0x8ff3    0x72b6
+0x8ff4    0x7573
+0x8ff5    0x7a63
+0x8ff6    0x84b8
+0x8ff7    0x8b72
+0x8ff8    0x91b8
+0x8ff9    0x9320
+0x8ffa    0x5631
+0x8ffb    0x57f4
+0x8ffc    0x98fe
+0x9040    0x62ed
+0x9041    0x690d
+0x9042    0x6b96
+0x9043    0x71ed
+0x9044    0x7e54
+0x9045    0x8077
+0x9046    0x8272
+0x9047    0x89e6
+0x9048    0x98df
+0x9049    0x8755
+0x904a    0x8fb1
+0x904b    0x5c3b
+0x904c    0x4f38
+0x904d    0x4fe1
+0x904e    0x4fb5
+0x904f    0x5507
+0x9050    0x5a20
+0x9051    0x5bdd
+0x9052    0x5be9
+0x9053    0x5fc3
+0x9054    0x614e
+0x9055    0x632f
+0x9056    0x65b0
+0x9057    0x664b
+0x9058    0x68ee
+0x9059    0x699b
+0x905a    0x6d78
+0x905b    0x6df1
+0x905c    0x7533
+0x905d    0x75b9
+0x905e    0x771f
+0x905f    0x795e
+0x9060    0x79e6
+0x9061    0x7d33
+0x9062    0x81e3
+0x9063    0x82af
+0x9064    0x85aa
+0x9065    0x89aa
+0x9066    0x8a3a
+0x9067    0x8eab
+0x9068    0x8f9b
+0x9069    0x9032
+0x906a    0x91dd
+0x906b    0x9707
+0x906c    0x4eba
+0x906d    0x4ec1
+0x906e    0x5203
+0x906f    0x5875
+0x9070    0x58ec
+0x9071    0x5c0b
+0x9072    0x751a
+0x9073    0x5c3d
+0x9074    0x814e
+0x9075    0x8a0a
+0x9076    0x8fc5
+0x9077    0x9663
+0x9078    0x976d
+0x9079    0x7b25
+0x907a    0x8acf
+0x907b    0x9808
+0x907c    0x9162
+0x907d    0x56f3
+0x907e    0x53a8
+0x9080    0x9017
+0x9081    0x5439
+0x9082    0x5782
+0x9083    0x5e25
+0x9084    0x63a8
+0x9085    0x6c34
+0x9086    0x708a
+0x9087    0x7761
+0x9088    0x7c8b
+0x9089    0x7fe0
+0x908a    0x8870
+0x908b    0x9042
+0x908c    0x9154
+0x908d    0x9310
+0x908e    0x9318
+0x908f    0x968f
+0x9090    0x745e
+0x9091    0x9ac4
+0x9092    0x5d07
+0x9093    0x5d69
+0x9094    0x6570
+0x9095    0x67a2
+0x9096    0x8da8
+0x9097    0x96db
+0x9098    0x636e
+0x9099    0x6749
+0x909a    0x6919
+0x909b    0x83c5
+0x909c    0x9817
+0x909d    0x96c0
+0x909e    0x88fe
+0x909f    0x6f84
+0x90a0    0x647a
+0x90a1    0x5bf8
+0x90a2    0x4e16
+0x90a3    0x702c
+0x90a4    0x755d
+0x90a5    0x662f
+0x90a6    0x51c4
+0x90a7    0x5236
+0x90a8    0x52e2
+0x90a9    0x59d3
+0x90aa    0x5f81
+0x90ab    0x6027
+0x90ac    0x6210
+0x90ad    0x653f
+0x90ae    0x6574
+0x90af    0x661f
+0x90b0    0x6674
+0x90b1    0x68f2
+0x90b2    0x6816
+0x90b3    0x6b63
+0x90b4    0x6e05
+0x90b5    0x7272
+0x90b6    0x751f
+0x90b7    0x76db
+0x90b8    0x7cbe
+0x90b9    0x8056
+0x90ba    0x58f0
+0x90bb    0x88fd
+0x90bc    0x897f
+0x90bd    0x8aa0
+0x90be    0x8a93
+0x90bf    0x8acb
+0x90c0    0x901d
+0x90c1    0x9192
+0x90c2    0x9752
+0x90c3    0x9759
+0x90c4    0x6589
+0x90c5    0x7a0e
+0x90c6    0x8106
+0x90c7    0x96bb
+0x90c8    0x5e2d
+0x90c9    0x60dc
+0x90ca    0x621a
+0x90cb    0x65a5
+0x90cc    0x6614
+0x90cd    0x6790
+0x90ce    0x77f3
+0x90cf    0x7a4d
+0x90d0    0x7c4d
+0x90d1    0x7e3e
+0x90d2    0x810a
+0x90d3    0x8cac
+0x90d4    0x8d64
+0x90d5    0x8de1
+0x90d6    0x8e5f
+0x90d7    0x78a9
+0x90d8    0x5207
+0x90d9    0x62d9
+0x90da    0x63a5
+0x90db    0x6442
+0x90dc    0x6298
+0x90dd    0x8a2d
+0x90de    0x7a83
+0x90df    0x7bc0
+0x90e0    0x8aac
+0x90e1    0x96ea
+0x90e2    0x7d76
+0x90e3    0x820c
+0x90e4    0x8749
+0x90e5    0x4ed9
+0x90e6    0x5148
+0x90e7    0x5343
+0x90e8    0x5360
+0x90e9    0x5ba3
+0x90ea    0x5c02
+0x90eb    0x5c16
+0x90ec    0x5ddd
+0x90ed    0x6226
+0x90ee    0x6247
+0x90ef    0x64b0
+0x90f0    0x6813
+0x90f1    0x6834
+0x90f2    0x6cc9
+0x90f3    0x6d45
+0x90f4    0x6d17
+0x90f5    0x67d3
+0x90f6    0x6f5c
+0x90f7    0x714e
+0x90f8    0x717d
+0x90f9    0x65cb
+0x90fa    0x7a7f
+0x90fb    0x7bad
+0x90fc    0x7dda
+0x9140    0x7e4a
+0x9141    0x7fa8
+0x9142    0x817a
+0x9143    0x821b
+0x9144    0x8239
+0x9145    0x85a6
+0x9146    0x8a6e
+0x9147    0x8cce
+0x9148    0x8df5
+0x9149    0x9078
+0x914a    0x9077
+0x914b    0x92ad
+0x914c    0x9291
+0x914d    0x9583
+0x914e    0x9bae
+0x914f    0x524d
+0x9150    0x5584
+0x9151    0x6f38
+0x9152    0x7136
+0x9153    0x5168
+0x9154    0x7985
+0x9155    0x7e55
+0x9156    0x81b3
+0x9157    0x7cce
+0x9158    0x564c
+0x9159    0x5851
+0x915a    0x5ca8
+0x915b    0x63aa
+0x915c    0x66fe
+0x915d    0x66fd
+0x915e    0x695a
+0x915f    0x72d9
+0x9160    0x758f
+0x9161    0x758e
+0x9162    0x790e
+0x9163    0x7956
+0x9164    0x79df
+0x9165    0x7c97
+0x9166    0x7d20
+0x9167    0x7d44
+0x9168    0x8607
+0x9169    0x8a34
+0x916a    0x963b
+0x916b    0x9061
+0x916c    0x9f20
+0x916d    0x50e7
+0x916e    0x5275
+0x916f    0x53cc
+0x9170    0x53e2
+0x9171    0x5009
+0x9172    0x55aa
+0x9173    0x58ee
+0x9174    0x594f
+0x9175    0x723d
+0x9176    0x5b8b
+0x9177    0x5c64
+0x9178    0x531d
+0x9179    0x60e3
+0x917a    0x60f3
+0x917b    0x635c
+0x917c    0x6383
+0x917d    0x633f
+0x917e    0x63bb
+0x9180    0x64cd
+0x9181    0x65e9
+0x9182    0x66f9
+0x9183    0x5de3
+0x9184    0x69cd
+0x9185    0x69fd
+0x9186    0x6f15
+0x9187    0x71e5
+0x9188    0x4e89
+0x9189    0x75e9
+0x918a    0x76f8
+0x918b    0x7a93
+0x918c    0x7cdf
+0x918d    0x7dcf
+0x918e    0x7d9c
+0x918f    0x8061
+0x9190    0x8349
+0x9191    0x8358
+0x9192    0x846c
+0x9193    0x84bc
+0x9194    0x85fb
+0x9195    0x88c5
+0x9196    0x8d70
+0x9197    0x9001
+0x9198    0x906d
+0x9199    0x9397
+0x919a    0x971c
+0x919b    0x9a12
+0x919c    0x50cf
+0x919d    0x5897
+0x919e    0x618e
+0x919f    0x81d3
+0x91a0    0x8535
+0x91a1    0x8d08
+0x91a2    0x9020
+0x91a3    0x4fc3
+0x91a4    0x5074
+0x91a5    0x5247
+0x91a6    0x5373
+0x91a7    0x606f
+0x91a8    0x6349
+0x91a9    0x675f
+0x91aa    0x6e2c
+0x91ab    0x8db3
+0x91ac    0x901f
+0x91ad    0x4fd7
+0x91ae    0x5c5e
+0x91af    0x8cca
+0x91b0    0x65cf
+0x91b1    0x7d9a
+0x91b2    0x5352
+0x91b3    0x8896
+0x91b4    0x5176
+0x91b5    0x63c3
+0x91b6    0x5b58
+0x91b7    0x5b6b
+0x91b8    0x5c0a
+0x91b9    0x640d
+0x91ba    0x6751
+0x91bb    0x905c
+0x91bc    0x4ed6
+0x91bd    0x591a
+0x91be    0x592a
+0x91bf    0x6c70
+0x91c0    0x8a51
+0x91c1    0x553e
+0x91c2    0x5815
+0x91c3    0x59a5
+0x91c4    0x60f0
+0x91c5    0x6253
+0x91c6    0x67c1
+0x91c7    0x8235
+0x91c8    0x6955
+0x91c9    0x9640
+0x91ca    0x99c4
+0x91cb    0x9a28
+0x91cc    0x4f53
+0x91cd    0x5806
+0x91ce    0x5bfe
+0x91cf    0x8010
+0x91d0    0x5cb1
+0x91d1    0x5e2f
+0x91d2    0x5f85
+0x91d3    0x6020
+0x91d4    0x614b
+0x91d5    0x6234
+0x91d6    0x66ff
+0x91d7    0x6cf0
+0x91d8    0x6ede
+0x91d9    0x80ce
+0x91da    0x817f
+0x91db    0x82d4
+0x91dc    0x888b
+0x91dd    0x8cb8
+0x91de    0x9000
+0x91df    0x902e
+0x91e0    0x968a
+0x91e1    0x9edb
+0x91e2    0x9bdb
+0x91e3    0x4ee3
+0x91e4    0x53f0
+0x91e5    0x5927
+0x91e6    0x7b2c
+0x91e7    0x918d
+0x91e8    0x984c
+0x91e9    0x9df9
+0x91ea    0x6edd
+0x91eb    0x7027
+0x91ec    0x5353
+0x91ed    0x5544
+0x91ee    0x5b85
+0x91ef    0x6258
+0x91f0    0x629e
+0x91f1    0x62d3
+0x91f2    0x6ca2
+0x91f3    0x6fef
+0x91f4    0x7422
+0x91f5    0x8a17
+0x91f6    0x9438
+0x91f7    0x6fc1
+0x91f8    0x8afe
+0x91f9    0x8338
+0x91fa    0x51e7
+0x91fb    0x86f8
+0x91fc    0x53ea
+0x9240    0x53e9
+0x9241    0x4f46
+0x9242    0x9054
+0x9243    0x8fb0
+0x9244    0x596a
+0x9245    0x8131
+0x9246    0x5dfd
+0x9247    0x7aea
+0x9248    0x8fbf
+0x9249    0x68da
+0x924a    0x8c37
+0x924b    0x72f8
+0x924c    0x9c48
+0x924d    0x6a3d
+0x924e    0x8ab0
+0x924f    0x4e39
+0x9250    0x5358
+0x9251    0x5606
+0x9252    0x5766
+0x9253    0x62c5
+0x9254    0x63a2
+0x9255    0x65e6
+0x9256    0x6b4e
+0x9257    0x6de1
+0x9258    0x6e5b
+0x9259    0x70ad
+0x925a    0x77ed
+0x925b    0x7aef
+0x925c    0x7baa
+0x925d    0x7dbb
+0x925e    0x803d
+0x925f    0x80c6
+0x9260    0x86cb
+0x9261    0x8a95
+0x9262    0x935b
+0x9263    0x56e3
+0x9264    0x58c7
+0x9265    0x5f3e
+0x9266    0x65ad
+0x9267    0x6696
+0x9268    0x6a80
+0x9269    0x6bb5
+0x926a    0x7537
+0x926b    0x8ac7
+0x926c    0x5024
+0x926d    0x77e5
+0x926e    0x5730
+0x926f    0x5f1b
+0x9270    0x6065
+0x9271    0x667a
+0x9272    0x6c60
+0x9273    0x75f4
+0x9274    0x7a1a
+0x9275    0x7f6e
+0x9276    0x81f4
+0x9277    0x8718
+0x9278    0x9045
+0x9279    0x99b3
+0x927a    0x7bc9
+0x927b    0x755c
+0x927c    0x7af9
+0x927d    0x7b51
+0x927e    0x84c4
+0x9280    0x9010
+0x9281    0x79e9
+0x9282    0x7a92
+0x9283    0x8336
+0x9284    0x5ae1
+0x9285    0x7740
+0x9286    0x4e2d
+0x9287    0x4ef2
+0x9288    0x5b99
+0x9289    0x5fe0
+0x928a    0x62bd
+0x928b    0x663c
+0x928c    0x67f1
+0x928d    0x6ce8
+0x928e    0x866b
+0x928f    0x8877
+0x9290    0x8a3b
+0x9291    0x914e
+0x9292    0x92f3
+0x9293    0x99d0
+0x9294    0x6a17
+0x9295    0x7026
+0x9296    0x732a
+0x9297    0x82e7
+0x9298    0x8457
+0x9299    0x8caf
+0x929a    0x4e01
+0x929b    0x5146
+0x929c    0x51cb
+0x929d    0x558b
+0x929e    0x5bf5
+0x929f    0x5e16
+0x92a0    0x5e33
+0x92a1    0x5e81
+0x92a2    0x5f14
+0x92a3    0x5f35
+0x92a4    0x5f6b
+0x92a5    0x5fb4
+0x92a6    0x61f2
+0x92a7    0x6311
+0x92a8    0x66a2
+0x92a9    0x671d
+0x92aa    0x6f6e
+0x92ab    0x7252
+0x92ac    0x753a
+0x92ad    0x773a
+0x92ae    0x8074
+0x92af    0x8139
+0x92b0    0x8178
+0x92b1    0x8776
+0x92b2    0x8abf
+0x92b3    0x8adc
+0x92b4    0x8d85
+0x92b5    0x8df3
+0x92b6    0x929a
+0x92b7    0x9577
+0x92b8    0x9802
+0x92b9    0x9ce5
+0x92ba    0x52c5
+0x92bb    0x6357
+0x92bc    0x76f4
+0x92bd    0x6715
+0x92be    0x6c88
+0x92bf    0x73cd
+0x92c0    0x8cc3
+0x92c1    0x93ae
+0x92c2    0x9673
+0x92c3    0x6d25
+0x92c4    0x589c
+0x92c5    0x690e
+0x92c6    0x69cc
+0x92c7    0x8ffd
+0x92c8    0x939a
+0x92c9    0x75db
+0x92ca    0x901a
+0x92cb    0x585a
+0x92cc    0x6802
+0x92cd    0x63b4
+0x92ce    0x69fb
+0x92cf    0x4f43
+0x92d0    0x6f2c
+0x92d1    0x67d8
+0x92d2    0x8fbb
+0x92d3    0x8526
+0x92d4    0x7db4
+0x92d5    0x9354
+0x92d6    0x693f
+0x92d7    0x6f70
+0x92d8    0x576a
+0x92d9    0x58f7
+0x92da    0x5b2c
+0x92db    0x7d2c
+0x92dc    0x722a
+0x92dd    0x540a
+0x92de    0x91e3
+0x92df    0x9db4
+0x92e0    0x4ead
+0x92e1    0x4f4e
+0x92e2    0x505c
+0x92e3    0x5075
+0x92e4    0x5243
+0x92e5    0x8c9e
+0x92e6    0x5448
+0x92e7    0x5824
+0x92e8    0x5b9a
+0x92e9    0x5e1d
+0x92ea    0x5e95
+0x92eb    0x5ead
+0x92ec    0x5ef7
+0x92ed    0x5f1f
+0x92ee    0x608c
+0x92ef    0x62b5
+0x92f0    0x633a
+0x92f1    0x63d0
+0x92f2    0x68af
+0x92f3    0x6c40
+0x92f4    0x7887
+0x92f5    0x798e
+0x92f6    0x7a0b
+0x92f7    0x7de0
+0x92f8    0x8247
+0x92f9    0x8a02
+0x92fa    0x8ae6
+0x92fb    0x8e44
+0x92fc    0x9013
+0x9340    0x90b8
+0x9341    0x912d
+0x9342    0x91d8
+0x9343    0x9f0e
+0x9344    0x6ce5
+0x9345    0x6458
+0x9346    0x64e2
+0x9347    0x6575
+0x9348    0x6ef4
+0x9349    0x7684
+0x934a    0x7b1b
+0x934b    0x9069
+0x934c    0x93d1
+0x934d    0x6eba
+0x934e    0x54f2
+0x934f    0x5fb9
+0x9350    0x64a4
+0x9351    0x8f4d
+0x9352    0x8fed
+0x9353    0x9244
+0x9354    0x5178
+0x9355    0x586b
+0x9356    0x5929
+0x9357    0x5c55
+0x9358    0x5e97
+0x9359    0x6dfb
+0x935a    0x7e8f
+0x935b    0x751c
+0x935c    0x8cbc
+0x935d    0x8ee2
+0x935e    0x985b
+0x935f    0x70b9
+0x9360    0x4f1d
+0x9361    0x6bbf
+0x9362    0x6fb1
+0x9363    0x7530
+0x9364    0x96fb
+0x9365    0x514e
+0x9366    0x5410
+0x9367    0x5835
+0x9368    0x5857
+0x9369    0x59ac
+0x936a    0x5c60
+0x936b    0x5f92
+0x936c    0x6597
+0x936d    0x675c
+0x936e    0x6e21
+0x936f    0x767b
+0x9370    0x83df
+0x9371    0x8ced
+0x9372    0x9014
+0x9373    0x90fd
+0x9374    0x934d
+0x9375    0x7825
+0x9376    0x783a
+0x9377    0x52aa
+0x9378    0x5ea6
+0x9379    0x571f
+0x937a    0x5974
+0x937b    0x6012
+0x937c    0x5012
+0x937d    0x515a
+0x937e    0x51ac
+0x9380    0x51cd
+0x9381    0x5200
+0x9382    0x5510
+0x9383    0x5854
+0x9384    0x5858
+0x9385    0x5957
+0x9386    0x5b95
+0x9387    0x5cf6
+0x9388    0x5d8b
+0x9389    0x60bc
+0x938a    0x6295
+0x938b    0x642d
+0x938c    0x6771
+0x938d    0x6843
+0x938e    0x68bc
+0x938f    0x68df
+0x9390    0x76d7
+0x9391    0x6dd8
+0x9392    0x6e6f
+0x9393    0x6d9b
+0x9394    0x706f
+0x9395    0x71c8
+0x9396    0x5f53
+0x9397    0x75d8
+0x9398    0x7977
+0x9399    0x7b49
+0x939a    0x7b54
+0x939b    0x7b52
+0x939c    0x7cd6
+0x939d    0x7d71
+0x939e    0x5230
+0x939f    0x8463
+0x93a0    0x8569
+0x93a1    0x85e4
+0x93a2    0x8a0e
+0x93a3    0x8b04
+0x93a4    0x8c46
+0x93a5    0x8e0f
+0x93a6    0x9003
+0x93a7    0x900f
+0x93a8    0x9419
+0x93a9    0x9676
+0x93aa    0x982d
+0x93ab    0x9a30
+0x93ac    0x95d8
+0x93ad    0x50cd
+0x93ae    0x52d5
+0x93af    0x540c
+0x93b0    0x5802
+0x93b1    0x5c0e
+0x93b2    0x61a7
+0x93b3    0x649e
+0x93b4    0x6d1e
+0x93b5    0x77b3
+0x93b6    0x7ae5
+0x93b7    0x80f4
+0x93b8    0x8404
+0x93b9    0x9053
+0x93ba    0x9285
+0x93bb    0x5ce0
+0x93bc    0x9d07
+0x93bd    0x533f
+0x93be    0x5f97
+0x93bf    0x5fb3
+0x93c0    0x6d9c
+0x93c1    0x7279
+0x93c2    0x7763
+0x93c3    0x79bf
+0x93c4    0x7be4
+0x93c5    0x6bd2
+0x93c6    0x72ec
+0x93c7    0x8aad
+0x93c8    0x6803
+0x93c9    0x6a61
+0x93ca    0x51f8
+0x93cb    0x7a81
+0x93cc    0x6934
+0x93cd    0x5c4a
+0x93ce    0x9cf6
+0x93cf    0x82eb
+0x93d0    0x5bc5
+0x93d1    0x9149
+0x93d2    0x701e
+0x93d3    0x5678
+0x93d4    0x5c6f
+0x93d5    0x60c7
+0x93d6    0x6566
+0x93d7    0x6c8c
+0x93d8    0x8c5a
+0x93d9    0x9041
+0x93da    0x9813
+0x93db    0x5451
+0x93dc    0x66c7
+0x93dd    0x920d
+0x93de    0x5948
+0x93df    0x90a3
+0x93e0    0x5185
+0x93e1    0x4e4d
+0x93e2    0x51ea
+0x93e3    0x8599
+0x93e4    0x8b0e
+0x93e5    0x7058
+0x93e6    0x637a
+0x93e7    0x934b
+0x93e8    0x6962
+0x93e9    0x99b4
+0x93ea    0x7e04
+0x93eb    0x7577
+0x93ec    0x5357
+0x93ed    0x6960
+0x93ee    0x8edf
+0x93ef    0x96e3
+0x93f0    0x6c5d
+0x93f1    0x4e8c
+0x93f2    0x5c3c
+0x93f3    0x5f10
+0x93f4    0x8fe9
+0x93f5    0x5302
+0x93f6    0x8cd1
+0x93f7    0x8089
+0x93f8    0x8679
+0x93f9    0x5eff
+0x93fa    0x65e5
+0x93fb    0x4e73
+0x93fc    0x5165
+0x9440    0x5982
+0x9441    0x5c3f
+0x9442    0x97ee
+0x9443    0x4efb
+0x9444    0x598a
+0x9445    0x5fcd
+0x9446    0x8a8d
+0x9447    0x6fe1
+0x9448    0x79b0
+0x9449    0x7962
+0x944a    0x5be7
+0x944b    0x8471
+0x944c    0x732b
+0x944d    0x71b1
+0x944e    0x5e74
+0x944f    0x5ff5
+0x9450    0x637b
+0x9451    0x649a
+0x9452    0x71c3
+0x9453    0x7c98
+0x9454    0x4e43
+0x9455    0x5efc
+0x9456    0x4e4b
+0x9457    0x57dc
+0x9458    0x56a2
+0x9459    0x60a9
+0x945a    0x6fc3
+0x945b    0x7d0d
+0x945c    0x80fd
+0x945d    0x8133
+0x945e    0x81bf
+0x945f    0x8fb2
+0x9460    0x8997
+0x9461    0x86a4
+0x9462    0x5df4
+0x9463    0x628a
+0x9464    0x64ad
+0x9465    0x8987
+0x9466    0x6777
+0x9467    0x6ce2
+0x9468    0x6d3e
+0x9469    0x7436
+0x946a    0x7834
+0x946b    0x5a46
+0x946c    0x7f75
+0x946d    0x82ad
+0x946e    0x99ac
+0x946f    0x4ff3
+0x9470    0x5ec3
+0x9471    0x62dd
+0x9472    0x6392
+0x9473    0x6557
+0x9474    0x676f
+0x9475    0x76c3
+0x9476    0x724c
+0x9477    0x80cc
+0x9478    0x80ba
+0x9479    0x8f29
+0x947a    0x914d
+0x947b    0x500d
+0x947c    0x57f9
+0x947d    0x5a92
+0x947e    0x6885
+0x9480    0x6973
+0x9481    0x7164
+0x9482    0x72fd
+0x9483    0x8cb7
+0x9484    0x58f2
+0x9485    0x8ce0
+0x9486    0x966a
+0x9487    0x9019
+0x9488    0x877f
+0x9489    0x79e4
+0x948a    0x77e7
+0x948b    0x8429
+0x948c    0x4f2f
+0x948d    0x5265
+0x948e    0x535a
+0x948f    0x62cd
+0x9490    0x67cf
+0x9491    0x6cca
+0x9492    0x767d
+0x9493    0x7b94
+0x9494    0x7c95
+0x9495    0x8236
+0x9496    0x8584
+0x9497    0x8feb
+0x9498    0x66dd
+0x9499    0x6f20
+0x949a    0x7206
+0x949b    0x7e1b
+0x949c    0x83ab
+0x949d    0x99c1
+0x949e    0x9ea6
+0x949f    0x51fd
+0x94a0    0x7bb1
+0x94a1    0x7872
+0x94a2    0x7bb8
+0x94a3    0x8087
+0x94a4    0x7b48
+0x94a5    0x6ae8
+0x94a6    0x5e61
+0x94a7    0x808c
+0x94a8    0x7551
+0x94a9    0x7560
+0x94aa    0x516b
+0x94ab    0x9262
+0x94ac    0x6e8c
+0x94ad    0x767a
+0x94ae    0x9197
+0x94af    0x9aea
+0x94b0    0x4f10
+0x94b1    0x7f70
+0x94b2    0x629c
+0x94b3    0x7b4f
+0x94b4    0x95a5
+0x94b5    0x9ce9
+0x94b6    0x567a
+0x94b7    0x5859
+0x94b8    0x86e4
+0x94b9    0x96bc
+0x94ba    0x4f34
+0x94bb    0x5224
+0x94bc    0x534a
+0x94bd    0x53cd
+0x94be    0x53db
+0x94bf    0x5e06
+0x94c0    0x642c
+0x94c1    0x6591
+0x94c2    0x677f
+0x94c3    0x6c3e
+0x94c4    0x6c4e
+0x94c5    0x7248
+0x94c6    0x72af
+0x94c7    0x73ed
+0x94c8    0x7554
+0x94c9    0x7e41
+0x94ca    0x822c
+0x94cb    0x85e9
+0x94cc    0x8ca9
+0x94cd    0x7bc4
+0x94ce    0x91c6
+0x94cf    0x7169
+0x94d0    0x9812
+0x94d1    0x98ef
+0x94d2    0x633d
+0x94d3    0x6669
+0x94d4    0x756a
+0x94d5    0x76e4
+0x94d6    0x78d0
+0x94d7    0x8543
+0x94d8    0x86ee
+0x94d9    0x532a
+0x94da    0x5351
+0x94db    0x5426
+0x94dc    0x5983
+0x94dd    0x5e87
+0x94de    0x5f7c
+0x94df    0x60b2
+0x94e0    0x6249
+0x94e1    0x6279
+0x94e2    0x62ab
+0x94e3    0x6590
+0x94e4    0x6bd4
+0x94e5    0x6ccc
+0x94e6    0x75b2
+0x94e7    0x76ae
+0x94e8    0x7891
+0x94e9    0x79d8
+0x94ea    0x7dcb
+0x94eb    0x7f77
+0x94ec    0x80a5
+0x94ed    0x88ab
+0x94ee    0x8ab9
+0x94ef    0x8cbb
+0x94f0    0x907f
+0x94f1    0x975e
+0x94f2    0x98db
+0x94f3    0x6a0b
+0x94f4    0x7c38
+0x94f5    0x5099
+0x94f6    0x5c3e
+0x94f7    0x5fae
+0x94f8    0x6787
+0x94f9    0x6bd8
+0x94fa    0x7435
+0x94fb    0x7709
+0x94fc    0x7f8e
+0x9540    0x9f3b
+0x9541    0x67ca
+0x9542    0x7a17
+0x9543    0x5339
+0x9544    0x758b
+0x9545    0x9aed
+0x9546    0x5f66
+0x9547    0x819d
+0x9548    0x83f1
+0x9549    0x8098
+0x954a    0x5f3c
+0x954b    0x5fc5
+0x954c    0x7562
+0x954d    0x7b46
+0x954e    0x903c
+0x954f    0x6867
+0x9550    0x59eb
+0x9551    0x5a9b
+0x9552    0x7d10
+0x9553    0x767e
+0x9554    0x8b2c
+0x9555    0x4ff5
+0x9556    0x5f6a
+0x9557    0x6a19
+0x9558    0x6c37
+0x9559    0x6f02
+0x955a    0x74e2
+0x955b    0x7968
+0x955c    0x8868
+0x955d    0x8a55
+0x955e    0x8c79
+0x955f    0x5edf
+0x9560    0x63cf
+0x9561    0x75c5
+0x9562    0x79d2
+0x9563    0x82d7
+0x9564    0x9328
+0x9565    0x92f2
+0x9566    0x849c
+0x9567    0x86ed
+0x9568    0x9c2d
+0x9569    0x54c1
+0x956a    0x5f6c
+0x956b    0x658c
+0x956c    0x6d5c
+0x956d    0x7015
+0x956e    0x8ca7
+0x956f    0x8cd3
+0x9570    0x983b
+0x9571    0x654f
+0x9572    0x74f6
+0x9573    0x4e0d
+0x9574    0x4ed8
+0x9575    0x57e0
+0x9576    0x592b
+0x9577    0x5a66
+0x9578    0x5bcc
+0x9579    0x51a8
+0x957a    0x5e03
+0x957b    0x5e9c
+0x957c    0x6016
+0x957d    0x6276
+0x957e    0x6577
+0x9580    0x65a7
+0x9581    0x666e
+0x9582    0x6d6e
+0x9583    0x7236
+0x9584    0x7b26
+0x9585    0x8150
+0x9586    0x819a
+0x9587    0x8299
+0x9588    0x8b5c
+0x9589    0x8ca0
+0x958a    0x8ce6
+0x958b    0x8d74
+0x958c    0x961c
+0x958d    0x9644
+0x958e    0x4fae
+0x958f    0x64ab
+0x9590    0x6b66
+0x9591    0x821e
+0x9592    0x8461
+0x9593    0x856a
+0x9594    0x90e8
+0x9595    0x5c01
+0x9596    0x6953
+0x9597    0x98a8
+0x9598    0x847a
+0x9599    0x8557
+0x959a    0x4f0f
+0x959b    0x526f
+0x959c    0x5fa9
+0x959d    0x5e45
+0x959e    0x670d
+0x959f    0x798f
+0x95a0    0x8179
+0x95a1    0x8907
+0x95a2    0x8986
+0x95a3    0x6df5
+0x95a4    0x5f17
+0x95a5    0x6255
+0x95a6    0x6cb8
+0x95a7    0x4ecf
+0x95a8    0x7269
+0x95a9    0x9b92
+0x95aa    0x5206
+0x95ab    0x543b
+0x95ac    0x5674
+0x95ad    0x58b3
+0x95ae    0x61a4
+0x95af    0x626e
+0x95b0    0x711a
+0x95b1    0x596e
+0x95b2    0x7c89
+0x95b3    0x7cde
+0x95b4    0x7d1b
+0x95b5    0x96f0
+0x95b6    0x6587
+0x95b7    0x805e
+0x95b8    0x4e19
+0x95b9    0x4f75
+0x95ba    0x5175
+0x95bb    0x5840
+0x95bc    0x5e63
+0x95bd    0x5e73
+0x95be    0x5f0a
+0x95bf    0x67c4
+0x95c0    0x4e26
+0x95c1    0x853d
+0x95c2    0x9589
+0x95c3    0x965b
+0x95c4    0x7c73
+0x95c5    0x9801
+0x95c6    0x50fb
+0x95c7    0x58c1
+0x95c8    0x7656
+0x95c9    0x78a7
+0x95ca    0x5225
+0x95cb    0x77a5
+0x95cc    0x8511
+0x95cd    0x7b86
+0x95ce    0x504f
+0x95cf    0x5909
+0x95d0    0x7247
+0x95d1    0x7bc7
+0x95d2    0x7de8
+0x95d3    0x8fba
+0x95d4    0x8fd4
+0x95d5    0x904d
+0x95d6    0x4fbf
+0x95d7    0x52c9
+0x95d8    0x5a29
+0x95d9    0x5f01
+0x95da    0x97ad
+0x95db    0x4fdd
+0x95dc    0x8217
+0x95dd    0x92ea
+0x95de    0x5703
+0x95df    0x6355
+0x95e0    0x6b69
+0x95e1    0x752b
+0x95e2    0x88dc
+0x95e3    0x8f14
+0x95e4    0x7a42
+0x95e5    0x52df
+0x95e6    0x5893
+0x95e7    0x6155
+0x95e8    0x620a
+0x95e9    0x66ae
+0x95ea    0x6bcd
+0x95eb    0x7c3f
+0x95ec    0x83e9
+0x95ed    0x5023
+0x95ee    0x4ff8
+0x95ef    0x5305
+0x95f0    0x5446
+0x95f1    0x5831
+0x95f2    0x5949
+0x95f3    0x5b9d
+0x95f4    0x5cf0
+0x95f5    0x5cef
+0x95f6    0x5d29
+0x95f7    0x5e96
+0x95f8    0x62b1
+0x95f9    0x6367
+0x95fa    0x653e
+0x95fb    0x65b9
+0x95fc    0x670b
+0x9640    0x6cd5
+0x9641    0x6ce1
+0x9642    0x70f9
+0x9643    0x7832
+0x9644    0x7e2b
+0x9645    0x80de
+0x9646    0x82b3
+0x9647    0x840c
+0x9648    0x84ec
+0x9649    0x8702
+0x964a    0x8912
+0x964b    0x8a2a
+0x964c    0x8c4a
+0x964d    0x90a6
+0x964e    0x92d2
+0x964f    0x98fd
+0x9650    0x9cf3
+0x9651    0x9d6c
+0x9652    0x4e4f
+0x9653    0x4ea1
+0x9654    0x508d
+0x9655    0x5256
+0x9656    0x574a
+0x9657    0x59a8
+0x9658    0x5e3d
+0x9659    0x5fd8
+0x965a    0x5fd9
+0x965b    0x623f
+0x965c    0x66b4
+0x965d    0x671b
+0x965e    0x67d0
+0x965f    0x68d2
+0x9660    0x5192
+0x9661    0x7d21
+0x9662    0x80aa
+0x9663    0x81a8
+0x9664    0x8b00
+0x9665    0x8c8c
+0x9666    0x8cbf
+0x9667    0x927e
+0x9668    0x9632
+0x9669    0x5420
+0x966a    0x982c
+0x966b    0x5317
+0x966c    0x50d5
+0x966d    0x535c
+0x966e    0x58a8
+0x966f    0x64b2
+0x9670    0x6734
+0x9671    0x7267
+0x9672    0x7766
+0x9673    0x7a46
+0x9674    0x91e6
+0x9675    0x52c3
+0x9676    0x6ca1
+0x9677    0x6b86
+0x9678    0x5800
+0x9679    0x5e4c
+0x967a    0x5954
+0x967b    0x672c
+0x967c    0x7ffb
+0x967d    0x51e1
+0x967e    0x76c6
+0x9680    0x6469
+0x9681    0x78e8
+0x9682    0x9b54
+0x9683    0x9ebb
+0x9684    0x57cb
+0x9685    0x59b9
+0x9686    0x6627
+0x9687    0x679a
+0x9688    0x6bce
+0x9689    0x54e9
+0x968a    0x69d9
+0x968b    0x5e55
+0x968c    0x819c
+0x968d    0x6795
+0x968e    0x9baa
+0x968f    0x67fe
+0x9690    0x9c52
+0x9691    0x685d
+0x9692    0x4ea6
+0x9693    0x4fe3
+0x9694    0x53c8
+0x9695    0x62b9
+0x9696    0x672b
+0x9697    0x6cab
+0x9698    0x8fc4
+0x9699    0x4fad
+0x969a    0x7e6d
+0x969b    0x9ebf
+0x969c    0x4e07
+0x969d    0x6162
+0x969e    0x6e80
+0x969f    0x6f2b
+0x96a0    0x8513
+0x96a1    0x5473
+0x96a2    0x672a
+0x96a3    0x9b45
+0x96a4    0x5df3
+0x96a5    0x7b95
+0x96a6    0x5cac
+0x96a7    0x5bc6
+0x96a8    0x871c
+0x96a9    0x6e4a
+0x96aa    0x84d1
+0x96ab    0x7a14
+0x96ac    0x8108
+0x96ad    0x5999
+0x96ae    0x7c8d
+0x96af    0x6c11
+0x96b0    0x7720
+0x96b1    0x52d9
+0x96b2    0x5922
+0x96b3    0x7121
+0x96b4    0x725f
+0x96b5    0x77db
+0x96b6    0x9727
+0x96b7    0x9d61
+0x96b8    0x690b
+0x96b9    0x5a7f
+0x96ba    0x5a18
+0x96bb    0x51a5
+0x96bc    0x540d
+0x96bd    0x547d
+0x96be    0x660e
+0x96bf    0x76df
+0x96c0    0x8ff7
+0x96c1    0x9298
+0x96c2    0x9cf4
+0x96c3    0x59ea
+0x96c4    0x725d
+0x96c5    0x6ec5
+0x96c6    0x514d
+0x96c7    0x68c9
+0x96c8    0x7dbf
+0x96c9    0x7dec
+0x96ca    0x9762
+0x96cb    0x9eba
+0x96cc    0x6478
+0x96cd    0x6a21
+0x96ce    0x8302
+0x96cf    0x5984
+0x96d0    0x5b5f
+0x96d1    0x6bdb
+0x96d2    0x731b
+0x96d3    0x76f2
+0x96d4    0x7db2
+0x96d5    0x8017
+0x96d6    0x8499
+0x96d7    0x5132
+0x96d8    0x6728
+0x96d9    0x9ed9
+0x96da    0x76ee
+0x96db    0x6762
+0x96dc    0x52ff
+0x96dd    0x9905
+0x96de    0x5c24
+0x96df    0x623b
+0x96e0    0x7c7e
+0x96e1    0x8cb0
+0x96e2    0x554f
+0x96e3    0x60b6
+0x96e4    0x7d0b
+0x96e5    0x9580
+0x96e6    0x5301
+0x96e7    0x4e5f
+0x96e8    0x51b6
+0x96e9    0x591c
+0x96ea    0x723a
+0x96eb    0x8036
+0x96ec    0x91ce
+0x96ed    0x5f25
+0x96ee    0x77e2
+0x96ef    0x5384
+0x96f0    0x5f79
+0x96f1    0x7d04
+0x96f2    0x85ac
+0x96f3    0x8a33
+0x96f4    0x8e8d
+0x96f5    0x9756
+0x96f6    0x67f3
+0x96f7    0x85ae
+0x96f8    0x9453
+0x96f9    0x6109
+0x96fa    0x6108
+0x96fb    0x6cb9
+0x96fc    0x7652
+0x9740    0x8aed
+0x9741    0x8f38
+0x9742    0x552f
+0x9743    0x4f51
+0x9744    0x512a
+0x9745    0x52c7
+0x9746    0x53cb
+0x9747    0x5ba5
+0x9748    0x5e7d
+0x9749    0x60a0
+0x974a    0x6182
+0x974b    0x63d6
+0x974c    0x6709
+0x974d    0x67da
+0x974e    0x6e67
+0x974f    0x6d8c
+0x9750    0x7336
+0x9751    0x7337
+0x9752    0x7531
+0x9753    0x7950
+0x9754    0x88d5
+0x9755    0x8a98
+0x9756    0x904a
+0x9757    0x9091
+0x9758    0x90f5
+0x9759    0x96c4
+0x975a    0x878d
+0x975b    0x5915
+0x975c    0x4e88
+0x975d    0x4f59
+0x975e    0x4e0e
+0x975f    0x8a89
+0x9760    0x8f3f
+0x9761    0x9810
+0x9762    0x50ad
+0x9763    0x5e7c
+0x9764    0x5996
+0x9765    0x5bb9
+0x9766    0x5eb8
+0x9767    0x63da
+0x9768    0x63fa
+0x9769    0x64c1
+0x976a    0x66dc
+0x976b    0x694a
+0x976c    0x69d8
+0x976d    0x6d0b
+0x976e    0x6eb6
+0x976f    0x7194
+0x9770    0x7528
+0x9771    0x7aaf
+0x9772    0x7f8a
+0x9773    0x8000
+0x9774    0x8449
+0x9775    0x84c9
+0x9776    0x8981
+0x9777    0x8b21
+0x9778    0x8e0a
+0x9779    0x9065
+0x977a    0x967d
+0x977b    0x990a
+0x977c    0x617e
+0x977d    0x6291
+0x977e    0x6b32
+0x9780    0x6c83
+0x9781    0x6d74
+0x9782    0x7fcc
+0x9783    0x7ffc
+0x9784    0x6dc0
+0x9785    0x7f85
+0x9786    0x87ba
+0x9787    0x88f8
+0x9788    0x6765
+0x9789    0x83b1
+0x978a    0x983c
+0x978b    0x96f7
+0x978c    0x6d1b
+0x978d    0x7d61
+0x978e    0x843d
+0x978f    0x916a
+0x9790    0x4e71
+0x9791    0x5375
+0x9792    0x5d50
+0x9793    0x6b04
+0x9794    0x6feb
+0x9795    0x85cd
+0x9796    0x862d
+0x9797    0x89a7
+0x9798    0x5229
+0x9799    0x540f
+0x979a    0x5c65
+0x979b    0x674e
+0x979c    0x68a8
+0x979d    0x7406
+0x979e    0x7483
+0x979f    0x75e2
+0x97a0    0x88cf
+0x97a1    0x88e1
+0x97a2    0x91cc
+0x97a3    0x96e2
+0x97a4    0x9678
+0x97a5    0x5f8b
+0x97a6    0x7387
+0x97a7    0x7acb
+0x97a8    0x844e
+0x97a9    0x63a0
+0x97aa    0x7565
+0x97ab    0x5289
+0x97ac    0x6d41
+0x97ad    0x6e9c
+0x97ae    0x7409
+0x97af    0x7559
+0x97b0    0x786b
+0x97b1    0x7c92
+0x97b2    0x9686
+0x97b3    0x7adc
+0x97b4    0x9f8d
+0x97b5    0x4fb6
+0x97b6    0x616e
+0x97b7    0x65c5
+0x97b8    0x865c
+0x97b9    0x4e86
+0x97ba    0x4eae
+0x97bb    0x50da
+0x97bc    0x4e21
+0x97bd    0x51cc
+0x97be    0x5bee
+0x97bf    0x6599
+0x97c0    0x6881
+0x97c1    0x6dbc
+0x97c2    0x731f
+0x97c3    0x7642
+0x97c4    0x77ad
+0x97c5    0x7a1c
+0x97c6    0x7ce7
+0x97c7    0x826f
+0x97c8    0x8ad2
+0x97c9    0x907c
+0x97ca    0x91cf
+0x97cb    0x9675
+0x97cc    0x9818
+0x97cd    0x529b
+0x97ce    0x7dd1
+0x97cf    0x502b
+0x97d0    0x5398
+0x97d1    0x6797
+0x97d2    0x6dcb
+0x97d3    0x71d0
+0x97d4    0x7433
+0x97d5    0x81e8
+0x97d6    0x8f2a
+0x97d7    0x96a3
+0x97d8    0x9c57
+0x97d9    0x9e9f
+0x97da    0x7460
+0x97db    0x5841
+0x97dc    0x6d99
+0x97dd    0x7d2f
+0x97de    0x985e
+0x97df    0x4ee4
+0x97e0    0x4f36
+0x97e1    0x4f8b
+0x97e2    0x51b7
+0x97e3    0x52b1
+0x97e4    0x5dba
+0x97e5    0x601c
+0x97e6    0x73b2
+0x97e7    0x793c
+0x97e8    0x82d3
+0x97e9    0x9234
+0x97ea    0x96b7
+0x97eb    0x96f6
+0x97ec    0x970a
+0x97ed    0x9e97
+0x97ee    0x9f62
+0x97ef    0x66a6
+0x97f0    0x6b74
+0x97f1    0x5217
+0x97f2    0x52a3
+0x97f3    0x70c8
+0x97f4    0x88c2
+0x97f5    0x5ec9
+0x97f6    0x604b
+0x97f7    0x6190
+0x97f8    0x6f23
+0x97f9    0x7149
+0x97fa    0x7c3e
+0x97fb    0x7df4
+0x97fc    0x806f
+0x9840    0x84ee
+0x9841    0x9023
+0x9842    0x932c
+0x9843    0x5442
+0x9844    0x9b6f
+0x9845    0x6ad3
+0x9846    0x7089
+0x9847    0x8cc2
+0x9848    0x8def
+0x9849    0x9732
+0x984a    0x52b4
+0x984b    0x5a41
+0x984c    0x5eca
+0x984d    0x5f04
+0x984e    0x6717
+0x984f    0x697c
+0x9850    0x6994
+0x9851    0x6d6a
+0x9852    0x6f0f
+0x9853    0x7262
+0x9854    0x72fc
+0x9855    0x7bed
+0x9856    0x8001
+0x9857    0x807e
+0x9858    0x874b
+0x9859    0x90ce
+0x985a    0x516d
+0x985b    0x9e93
+0x985c    0x7984
+0x985d    0x808b
+0x985e    0x9332
+0x985f    0x8ad6
+0x9860    0x502d
+0x9861    0x548c
+0x9862    0x8a71
+0x9863    0x6b6a
+0x9864    0x8cc4
+0x9865    0x8107
+0x9866    0x60d1
+0x9867    0x67a0
+0x9868    0x9df2
+0x9869    0x4e99
+0x986a    0x4e98
+0x986b    0x9c10
+0x986c    0x8a6b
+0x986d    0x85c1
+0x986e    0x8568
+0x986f    0x6900
+0x9870    0x6e7e
+0x9871    0x7897
+0x9872    0x8155
+0x989f    0x5f0c
+0x98a0    0x4e10
+0x98a1    0x4e15
+0x98a2    0x4e2a
+0x98a3    0x4e31
+0x98a4    0x4e36
+0x98a5    0x4e3c
+0x98a6    0x4e3f
+0x98a7    0x4e42
+0x98a8    0x4e56
+0x98a9    0x4e58
+0x98aa    0x4e82
+0x98ab    0x4e85
+0x98ac    0x8c6b
+0x98ad    0x4e8a
+0x98ae    0x8212
+0x98af    0x5f0d
+0x98b0    0x4e8e
+0x98b1    0x4e9e
+0x98b2    0x4e9f
+0x98b3    0x4ea0
+0x98b4    0x4ea2
+0x98b5    0x4eb0
+0x98b6    0x4eb3
+0x98b7    0x4eb6
+0x98b8    0x4ece
+0x98b9    0x4ecd
+0x98ba    0x4ec4
+0x98bb    0x4ec6
+0x98bc    0x4ec2
+0x98bd    0x4ed7
+0x98be    0x4ede
+0x98bf    0x4eed
+0x98c0    0x4edf
+0x98c1    0x4ef7
+0x98c2    0x4f09
+0x98c3    0x4f5a
+0x98c4    0x4f30
+0x98c5    0x4f5b
+0x98c6    0x4f5d
+0x98c7    0x4f57
+0x98c8    0x4f47
+0x98c9    0x4f76
+0x98ca    0x4f88
+0x98cb    0x4f8f
+0x98cc    0x4f98
+0x98cd    0x4f7b
+0x98ce    0x4f69
+0x98cf    0x4f70
+0x98d0    0x4f91
+0x98d1    0x4f6f
+0x98d2    0x4f86
+0x98d3    0x4f96
+0x98d4    0x5118
+0x98d5    0x4fd4
+0x98d6    0x4fdf
+0x98d7    0x4fce
+0x98d8    0x4fd8
+0x98d9    0x4fdb
+0x98da    0x4fd1
+0x98db    0x4fda
+0x98dc    0x4fd0
+0x98dd    0x4fe4
+0x98de    0x4fe5
+0x98df    0x501a
+0x98e0    0x5028
+0x98e1    0x5014
+0x98e2    0x502a
+0x98e3    0x5025
+0x98e4    0x5005
+0x98e5    0x4f1c
+0x98e6    0x4ff6
+0x98e7    0x5021
+0x98e8    0x5029
+0x98e9    0x502c
+0x98ea    0x4ffe
+0x98eb    0x4fef
+0x98ec    0x5011
+0x98ed    0x5006
+0x98ee    0x5043
+0x98ef    0x5047
+0x98f0    0x6703
+0x98f1    0x5055
+0x98f2    0x5050
+0x98f3    0x5048
+0x98f4    0x505a
+0x98f5    0x5056
+0x98f6    0x506c
+0x98f7    0x5078
+0x98f8    0x5080
+0x98f9    0x509a
+0x98fa    0x5085
+0x98fb    0x50b4
+0x98fc    0x50b2
+0x9940    0x50c9
+0x9941    0x50ca
+0x9942    0x50b3
+0x9943    0x50c2
+0x9944    0x50d6
+0x9945    0x50de
+0x9946    0x50e5
+0x9947    0x50ed
+0x9948    0x50e3
+0x9949    0x50ee
+0x994a    0x50f9
+0x994b    0x50f5
+0x994c    0x5109
+0x994d    0x5101
+0x994e    0x5102
+0x994f    0x5116
+0x9950    0x5115
+0x9951    0x5114
+0x9952    0x511a
+0x9953    0x5121
+0x9954    0x513a
+0x9955    0x5137
+0x9956    0x513c
+0x9957    0x513b
+0x9958    0x513f
+0x9959    0x5140
+0x995a    0x5152
+0x995b    0x514c
+0x995c    0x5154
+0x995d    0x5162
+0x995e    0x7af8
+0x995f    0x5169
+0x9960    0x516a
+0x9961    0x516e
+0x9962    0x5180
+0x9963    0x5182
+0x9964    0x56d8
+0x9965    0x518c
+0x9966    0x5189
+0x9967    0x518f
+0x9968    0x5191
+0x9969    0x5193
+0x996a    0x5195
+0x996b    0x5196
+0x996c    0x51a4
+0x996d    0x51a6
+0x996e    0x51a2
+0x996f    0x51a9
+0x9970    0x51aa
+0x9971    0x51ab
+0x9972    0x51b3
+0x9973    0x51b1
+0x9974    0x51b2
+0x9975    0x51b0
+0x9976    0x51b5
+0x9977    0x51bd
+0x9978    0x51c5
+0x9979    0x51c9
+0x997a    0x51db
+0x997b    0x51e0
+0x997c    0x8655
+0x997d    0x51e9
+0x997e    0x51ed
+0x9980    0x51f0
+0x9981    0x51f5
+0x9982    0x51fe
+0x9983    0x5204
+0x9984    0x520b
+0x9985    0x5214
+0x9986    0x520e
+0x9987    0x5227
+0x9988    0x522a
+0x9989    0x522e
+0x998a    0x5233
+0x998b    0x5239
+0x998c    0x524f
+0x998d    0x5244
+0x998e    0x524b
+0x998f    0x524c
+0x9990    0x525e
+0x9991    0x5254
+0x9992    0x526a
+0x9993    0x5274
+0x9994    0x5269
+0x9995    0x5273
+0x9996    0x527f
+0x9997    0x527d
+0x9998    0x528d
+0x9999    0x5294
+0x999a    0x5292
+0x999b    0x5271
+0x999c    0x5288
+0x999d    0x5291
+0x999e    0x8fa8
+0x999f    0x8fa7
+0x99a0    0x52ac
+0x99a1    0x52ad
+0x99a2    0x52bc
+0x99a3    0x52b5
+0x99a4    0x52c1
+0x99a5    0x52cd
+0x99a6    0x52d7
+0x99a7    0x52de
+0x99a8    0x52e3
+0x99a9    0x52e6
+0x99aa    0x98ed
+0x99ab    0x52e0
+0x99ac    0x52f3
+0x99ad    0x52f5
+0x99ae    0x52f8
+0x99af    0x52f9
+0x99b0    0x5306
+0x99b1    0x5308
+0x99b2    0x7538
+0x99b3    0x530d
+0x99b4    0x5310
+0x99b5    0x530f
+0x99b6    0x5315
+0x99b7    0x531a
+0x99b8    0x5323
+0x99b9    0x532f
+0x99ba    0x5331
+0x99bb    0x5333
+0x99bc    0x5338
+0x99bd    0x5340
+0x99be    0x5346
+0x99bf    0x5345
+0x99c0    0x4e17
+0x99c1    0x5349
+0x99c2    0x534d
+0x99c3    0x51d6
+0x99c4    0x535e
+0x99c5    0x5369
+0x99c6    0x536e
+0x99c7    0x5918
+0x99c8    0x537b
+0x99c9    0x5377
+0x99ca    0x5382
+0x99cb    0x5396
+0x99cc    0x53a0
+0x99cd    0x53a6
+0x99ce    0x53a5
+0x99cf    0x53ae
+0x99d0    0x53b0
+0x99d1    0x53b6
+0x99d2    0x53c3
+0x99d3    0x7c12
+0x99d4    0x96d9
+0x99d5    0x53df
+0x99d6    0x66fc
+0x99d7    0x71ee
+0x99d8    0x53ee
+0x99d9    0x53e8
+0x99da    0x53ed
+0x99db    0x53fa
+0x99dc    0x5401
+0x99dd    0x543d
+0x99de    0x5440
+0x99df    0x542c
+0x99e0    0x542d
+0x99e1    0x543c
+0x99e2    0x542e
+0x99e3    0x5436
+0x99e4    0x5429
+0x99e5    0x541d
+0x99e6    0x544e
+0x99e7    0x548f
+0x99e8    0x5475
+0x99e9    0x548e
+0x99ea    0x545f
+0x99eb    0x5471
+0x99ec    0x5477
+0x99ed    0x5470
+0x99ee    0x5492
+0x99ef    0x547b
+0x99f0    0x5480
+0x99f1    0x5476
+0x99f2    0x5484
+0x99f3    0x5490
+0x99f4    0x5486
+0x99f5    0x54c7
+0x99f6    0x54a2
+0x99f7    0x54b8
+0x99f8    0x54a5
+0x99f9    0x54ac
+0x99fa    0x54c4
+0x99fb    0x54c8
+0x99fc    0x54a8
+0x9a40    0x54ab
+0x9a41    0x54c2
+0x9a42    0x54a4
+0x9a43    0x54be
+0x9a44    0x54bc
+0x9a45    0x54d8
+0x9a46    0x54e5
+0x9a47    0x54e6
+0x9a48    0x550f
+0x9a49    0x5514
+0x9a4a    0x54fd
+0x9a4b    0x54ee
+0x9a4c    0x54ed
+0x9a4d    0x54fa
+0x9a4e    0x54e2
+0x9a4f    0x5539
+0x9a50    0x5540
+0x9a51    0x5563
+0x9a52    0x554c
+0x9a53    0x552e
+0x9a54    0x555c
+0x9a55    0x5545
+0x9a56    0x5556
+0x9a57    0x5557
+0x9a58    0x5538
+0x9a59    0x5533
+0x9a5a    0x555d
+0x9a5b    0x5599
+0x9a5c    0x5580
+0x9a5d    0x54af
+0x9a5e    0x558a
+0x9a5f    0x559f
+0x9a60    0x557b
+0x9a61    0x557e
+0x9a62    0x5598
+0x9a63    0x559e
+0x9a64    0x55ae
+0x9a65    0x557c
+0x9a66    0x5583
+0x9a67    0x55a9
+0x9a68    0x5587
+0x9a69    0x55a8
+0x9a6a    0x55da
+0x9a6b    0x55c5
+0x9a6c    0x55df
+0x9a6d    0x55c4
+0x9a6e    0x55dc
+0x9a6f    0x55e4
+0x9a70    0x55d4
+0x9a71    0x5614
+0x9a72    0x55f7
+0x9a73    0x5616
+0x9a74    0x55fe
+0x9a75    0x55fd
+0x9a76    0x561b
+0x9a77    0x55f9
+0x9a78    0x564e
+0x9a79    0x5650
+0x9a7a    0x71df
+0x9a7b    0x5634
+0x9a7c    0x5636
+0x9a7d    0x5632
+0x9a7e    0x5638
+0x9a80    0x566b
+0x9a81    0x5664
+0x9a82    0x562f
+0x9a83    0x566c
+0x9a84    0x566a
+0x9a85    0x5686
+0x9a86    0x5680
+0x9a87    0x568a
+0x9a88    0x56a0
+0x9a89    0x5694
+0x9a8a    0x568f
+0x9a8b    0x56a5
+0x9a8c    0x56ae
+0x9a8d    0x56b6
+0x9a8e    0x56b4
+0x9a8f    0x56c2
+0x9a90    0x56bc
+0x9a91    0x56c1
+0x9a92    0x56c3
+0x9a93    0x56c0
+0x9a94    0x56c8
+0x9a95    0x56ce
+0x9a96    0x56d1
+0x9a97    0x56d3
+0x9a98    0x56d7
+0x9a99    0x56ee
+0x9a9a    0x56f9
+0x9a9b    0x5700
+0x9a9c    0x56ff
+0x9a9d    0x5704
+0x9a9e    0x5709
+0x9a9f    0x5708
+0x9aa0    0x570b
+0x9aa1    0x570d
+0x9aa2    0x5713
+0x9aa3    0x5718
+0x9aa4    0x5716
+0x9aa5    0x55c7
+0x9aa6    0x571c
+0x9aa7    0x5726
+0x9aa8    0x5737
+0x9aa9    0x5738
+0x9aaa    0x574e
+0x9aab    0x573b
+0x9aac    0x5740
+0x9aad    0x574f
+0x9aae    0x5769
+0x9aaf    0x57c0
+0x9ab0    0x5788
+0x9ab1    0x5761
+0x9ab2    0x577f
+0x9ab3    0x5789
+0x9ab4    0x5793
+0x9ab5    0x57a0
+0x9ab6    0x57b3
+0x9ab7    0x57a4
+0x9ab8    0x57aa
+0x9ab9    0x57b0
+0x9aba    0x57c3
+0x9abb    0x57c6
+0x9abc    0x57d4
+0x9abd    0x57d2
+0x9abe    0x57d3
+0x9abf    0x580a
+0x9ac0    0x57d6
+0x9ac1    0x57e3
+0x9ac2    0x580b
+0x9ac3    0x5819
+0x9ac4    0x581d
+0x9ac5    0x5872
+0x9ac6    0x5821
+0x9ac7    0x5862
+0x9ac8    0x584b
+0x9ac9    0x5870
+0x9aca    0x6bc0
+0x9acb    0x5852
+0x9acc    0x583d
+0x9acd    0x5879
+0x9ace    0x5885
+0x9acf    0x58b9
+0x9ad0    0x589f
+0x9ad1    0x58ab
+0x9ad2    0x58ba
+0x9ad3    0x58de
+0x9ad4    0x58bb
+0x9ad5    0x58b8
+0x9ad6    0x58ae
+0x9ad7    0x58c5
+0x9ad8    0x58d3
+0x9ad9    0x58d1
+0x9ada    0x58d7
+0x9adb    0x58d9
+0x9adc    0x58d8
+0x9add    0x58e5
+0x9ade    0x58dc
+0x9adf    0x58e4
+0x9ae0    0x58df
+0x9ae1    0x58ef
+0x9ae2    0x58fa
+0x9ae3    0x58f9
+0x9ae4    0x58fb
+0x9ae5    0x58fc
+0x9ae6    0x58fd
+0x9ae7    0x5902
+0x9ae8    0x590a
+0x9ae9    0x5910
+0x9aea    0x591b
+0x9aeb    0x68a6
+0x9aec    0x5925
+0x9aed    0x592c
+0x9aee    0x592d
+0x9aef    0x5932
+0x9af0    0x5938
+0x9af1    0x593e
+0x9af2    0x7ad2
+0x9af3    0x5955
+0x9af4    0x5950
+0x9af5    0x594e
+0x9af6    0x595a
+0x9af7    0x5958
+0x9af8    0x5962
+0x9af9    0x5960
+0x9afa    0x5967
+0x9afb    0x596c
+0x9afc    0x5969
+0x9b40    0x5978
+0x9b41    0x5981
+0x9b42    0x599d
+0x9b43    0x4f5e
+0x9b44    0x4fab
+0x9b45    0x59a3
+0x9b46    0x59b2
+0x9b47    0x59c6
+0x9b48    0x59e8
+0x9b49    0x59dc
+0x9b4a    0x598d
+0x9b4b    0x59d9
+0x9b4c    0x59da
+0x9b4d    0x5a25
+0x9b4e    0x5a1f
+0x9b4f    0x5a11
+0x9b50    0x5a1c
+0x9b51    0x5a09
+0x9b52    0x5a1a
+0x9b53    0x5a40
+0x9b54    0x5a6c
+0x9b55    0x5a49
+0x9b56    0x5a35
+0x9b57    0x5a36
+0x9b58    0x5a62
+0x9b59    0x5a6a
+0x9b5a    0x5a9a
+0x9b5b    0x5abc
+0x9b5c    0x5abe
+0x9b5d    0x5acb
+0x9b5e    0x5ac2
+0x9b5f    0x5abd
+0x9b60    0x5ae3
+0x9b61    0x5ad7
+0x9b62    0x5ae6
+0x9b63    0x5ae9
+0x9b64    0x5ad6
+0x9b65    0x5afa
+0x9b66    0x5afb
+0x9b67    0x5b0c
+0x9b68    0x5b0b
+0x9b69    0x5b16
+0x9b6a    0x5b32
+0x9b6b    0x5ad0
+0x9b6c    0x5b2a
+0x9b6d    0x5b36
+0x9b6e    0x5b3e
+0x9b6f    0x5b43
+0x9b70    0x5b45
+0x9b71    0x5b40
+0x9b72    0x5b51
+0x9b73    0x5b55
+0x9b74    0x5b5a
+0x9b75    0x5b5b
+0x9b76    0x5b65
+0x9b77    0x5b69
+0x9b78    0x5b70
+0x9b79    0x5b73
+0x9b7a    0x5b75
+0x9b7b    0x5b78
+0x9b7c    0x6588
+0x9b7d    0x5b7a
+0x9b7e    0x5b80
+0x9b80    0x5b83
+0x9b81    0x5ba6
+0x9b82    0x5bb8
+0x9b83    0x5bc3
+0x9b84    0x5bc7
+0x9b85    0x5bc9
+0x9b86    0x5bd4
+0x9b87    0x5bd0
+0x9b88    0x5be4
+0x9b89    0x5be6
+0x9b8a    0x5be2
+0x9b8b    0x5bde
+0x9b8c    0x5be5
+0x9b8d    0x5beb
+0x9b8e    0x5bf0
+0x9b8f    0x5bf6
+0x9b90    0x5bf3
+0x9b91    0x5c05
+0x9b92    0x5c07
+0x9b93    0x5c08
+0x9b94    0x5c0d
+0x9b95    0x5c13
+0x9b96    0x5c20
+0x9b97    0x5c22
+0x9b98    0x5c28
+0x9b99    0x5c38
+0x9b9a    0x5c39
+0x9b9b    0x5c41
+0x9b9c    0x5c46
+0x9b9d    0x5c4e
+0x9b9e    0x5c53
+0x9b9f    0x5c50
+0x9ba0    0x5c4f
+0x9ba1    0x5b71
+0x9ba2    0x5c6c
+0x9ba3    0x5c6e
+0x9ba4    0x4e62
+0x9ba5    0x5c76
+0x9ba6    0x5c79
+0x9ba7    0x5c8c
+0x9ba8    0x5c91
+0x9ba9    0x5c94
+0x9baa    0x599b
+0x9bab    0x5cab
+0x9bac    0x5cbb
+0x9bad    0x5cb6
+0x9bae    0x5cbc
+0x9baf    0x5cb7
+0x9bb0    0x5cc5
+0x9bb1    0x5cbe
+0x9bb2    0x5cc7
+0x9bb3    0x5cd9
+0x9bb4    0x5ce9
+0x9bb5    0x5cfd
+0x9bb6    0x5cfa
+0x9bb7    0x5ced
+0x9bb8    0x5d8c
+0x9bb9    0x5cea
+0x9bba    0x5d0b
+0x9bbb    0x5d15
+0x9bbc    0x5d17
+0x9bbd    0x5d5c
+0x9bbe    0x5d1f
+0x9bbf    0x5d1b
+0x9bc0    0x5d11
+0x9bc1    0x5d14
+0x9bc2    0x5d22
+0x9bc3    0x5d1a
+0x9bc4    0x5d19
+0x9bc5    0x5d18
+0x9bc6    0x5d4c
+0x9bc7    0x5d52
+0x9bc8    0x5d4e
+0x9bc9    0x5d4b
+0x9bca    0x5d6c
+0x9bcb    0x5d73
+0x9bcc    0x5d76
+0x9bcd    0x5d87
+0x9bce    0x5d84
+0x9bcf    0x5d82
+0x9bd0    0x5da2
+0x9bd1    0x5d9d
+0x9bd2    0x5dac
+0x9bd3    0x5dae
+0x9bd4    0x5dbd
+0x9bd5    0x5d90
+0x9bd6    0x5db7
+0x9bd7    0x5dbc
+0x9bd8    0x5dc9
+0x9bd9    0x5dcd
+0x9bda    0x5dd3
+0x9bdb    0x5dd2
+0x9bdc    0x5dd6
+0x9bdd    0x5ddb
+0x9bde    0x5deb
+0x9bdf    0x5df2
+0x9be0    0x5df5
+0x9be1    0x5e0b
+0x9be2    0x5e1a
+0x9be3    0x5e19
+0x9be4    0x5e11
+0x9be5    0x5e1b
+0x9be6    0x5e36
+0x9be7    0x5e37
+0x9be8    0x5e44
+0x9be9    0x5e43
+0x9bea    0x5e40
+0x9beb    0x5e4e
+0x9bec    0x5e57
+0x9bed    0x5e54
+0x9bee    0x5e5f
+0x9bef    0x5e62
+0x9bf0    0x5e64
+0x9bf1    0x5e47
+0x9bf2    0x5e75
+0x9bf3    0x5e76
+0x9bf4    0x5e7a
+0x9bf5    0x9ebc
+0x9bf6    0x5e7f
+0x9bf7    0x5ea0
+0x9bf8    0x5ec1
+0x9bf9    0x5ec2
+0x9bfa    0x5ec8
+0x9bfb    0x5ed0
+0x9bfc    0x5ecf
+0x9c40    0x5ed6
+0x9c41    0x5ee3
+0x9c42    0x5edd
+0x9c43    0x5eda
+0x9c44    0x5edb
+0x9c45    0x5ee2
+0x9c46    0x5ee1
+0x9c47    0x5ee8
+0x9c48    0x5ee9
+0x9c49    0x5eec
+0x9c4a    0x5ef1
+0x9c4b    0x5ef3
+0x9c4c    0x5ef0
+0x9c4d    0x5ef4
+0x9c4e    0x5ef8
+0x9c4f    0x5efe
+0x9c50    0x5f03
+0x9c51    0x5f09
+0x9c52    0x5f5d
+0x9c53    0x5f5c
+0x9c54    0x5f0b
+0x9c55    0x5f11
+0x9c56    0x5f16
+0x9c57    0x5f29
+0x9c58    0x5f2d
+0x9c59    0x5f38
+0x9c5a    0x5f41
+0x9c5b    0x5f48
+0x9c5c    0x5f4c
+0x9c5d    0x5f4e
+0x9c5e    0x5f2f
+0x9c5f    0x5f51
+0x9c60    0x5f56
+0x9c61    0x5f57
+0x9c62    0x5f59
+0x9c63    0x5f61
+0x9c64    0x5f6d
+0x9c65    0x5f73
+0x9c66    0x5f77
+0x9c67    0x5f83
+0x9c68    0x5f82
+0x9c69    0x5f7f
+0x9c6a    0x5f8a
+0x9c6b    0x5f88
+0x9c6c    0x5f91
+0x9c6d    0x5f87
+0x9c6e    0x5f9e
+0x9c6f    0x5f99
+0x9c70    0x5f98
+0x9c71    0x5fa0
+0x9c72    0x5fa8
+0x9c73    0x5fad
+0x9c74    0x5fbc
+0x9c75    0x5fd6
+0x9c76    0x5ffb
+0x9c77    0x5fe4
+0x9c78    0x5ff8
+0x9c79    0x5ff1
+0x9c7a    0x5fdd
+0x9c7b    0x60b3
+0x9c7c    0x5fff
+0x9c7d    0x6021
+0x9c7e    0x6060
+0x9c80    0x6019
+0x9c81    0x6010
+0x9c82    0x6029
+0x9c83    0x600e
+0x9c84    0x6031
+0x9c85    0x601b
+0x9c86    0x6015
+0x9c87    0x602b
+0x9c88    0x6026
+0x9c89    0x600f
+0x9c8a    0x603a
+0x9c8b    0x605a
+0x9c8c    0x6041
+0x9c8d    0x606a
+0x9c8e    0x6077
+0x9c8f    0x605f
+0x9c90    0x604a
+0x9c91    0x6046
+0x9c92    0x604d
+0x9c93    0x6063
+0x9c94    0x6043
+0x9c95    0x6064
+0x9c96    0x6042
+0x9c97    0x606c
+0x9c98    0x606b
+0x9c99    0x6059
+0x9c9a    0x6081
+0x9c9b    0x608d
+0x9c9c    0x60e7
+0x9c9d    0x6083
+0x9c9e    0x609a
+0x9c9f    0x6084
+0x9ca0    0x609b
+0x9ca1    0x6096
+0x9ca2    0x6097
+0x9ca3    0x6092
+0x9ca4    0x60a7
+0x9ca5    0x608b
+0x9ca6    0x60e1
+0x9ca7    0x60b8
+0x9ca8    0x60e0
+0x9ca9    0x60d3
+0x9caa    0x60b4
+0x9cab    0x5ff0
+0x9cac    0x60bd
+0x9cad    0x60c6
+0x9cae    0x60b5
+0x9caf    0x60d8
+0x9cb0    0x614d
+0x9cb1    0x6115
+0x9cb2    0x6106
+0x9cb3    0x60f6
+0x9cb4    0x60f7
+0x9cb5    0x6100
+0x9cb6    0x60f4
+0x9cb7    0x60fa
+0x9cb8    0x6103
+0x9cb9    0x6121
+0x9cba    0x60fb
+0x9cbb    0x60f1
+0x9cbc    0x610d
+0x9cbd    0x610e
+0x9cbe    0x6147
+0x9cbf    0x613e
+0x9cc0    0x6128
+0x9cc1    0x6127
+0x9cc2    0x614a
+0x9cc3    0x613f
+0x9cc4    0x613c
+0x9cc5    0x612c
+0x9cc6    0x6134
+0x9cc7    0x613d
+0x9cc8    0x6142
+0x9cc9    0x6144
+0x9cca    0x6173
+0x9ccb    0x6177
+0x9ccc    0x6158
+0x9ccd    0x6159
+0x9cce    0x615a
+0x9ccf    0x616b
+0x9cd0    0x6174
+0x9cd1    0x616f
+0x9cd2    0x6165
+0x9cd3    0x6171
+0x9cd4    0x615f
+0x9cd5    0x615d
+0x9cd6    0x6153
+0x9cd7    0x6175
+0x9cd8    0x6199
+0x9cd9    0x6196
+0x9cda    0x6187
+0x9cdb    0x61ac
+0x9cdc    0x6194
+0x9cdd    0x619a
+0x9cde    0x618a
+0x9cdf    0x6191
+0x9ce0    0x61ab
+0x9ce1    0x61ae
+0x9ce2    0x61cc
+0x9ce3    0x61ca
+0x9ce4    0x61c9
+0x9ce5    0x61f7
+0x9ce6    0x61c8
+0x9ce7    0x61c3
+0x9ce8    0x61c6
+0x9ce9    0x61ba
+0x9cea    0x61cb
+0x9ceb    0x7f79
+0x9cec    0x61cd
+0x9ced    0x61e6
+0x9cee    0x61e3
+0x9cef    0x61f6
+0x9cf0    0x61fa
+0x9cf1    0x61f4
+0x9cf2    0x61ff
+0x9cf3    0x61fd
+0x9cf4    0x61fc
+0x9cf5    0x61fe
+0x9cf6    0x6200
+0x9cf7    0x6208
+0x9cf8    0x6209
+0x9cf9    0x620d
+0x9cfa    0x620c
+0x9cfb    0x6214
+0x9cfc    0x621b
+0x9d40    0x621e
+0x9d41    0x6221
+0x9d42    0x622a
+0x9d43    0x622e
+0x9d44    0x6230
+0x9d45    0x6232
+0x9d46    0x6233
+0x9d47    0x6241
+0x9d48    0x624e
+0x9d49    0x625e
+0x9d4a    0x6263
+0x9d4b    0x625b
+0x9d4c    0x6260
+0x9d4d    0x6268
+0x9d4e    0x627c
+0x9d4f    0x6282
+0x9d50    0x6289
+0x9d51    0x627e
+0x9d52    0x6292
+0x9d53    0x6293
+0x9d54    0x6296
+0x9d55    0x62d4
+0x9d56    0x6283
+0x9d57    0x6294
+0x9d58    0x62d7
+0x9d59    0x62d1
+0x9d5a    0x62bb
+0x9d5b    0x62cf
+0x9d5c    0x62ff
+0x9d5d    0x62c6
+0x9d5e    0x64d4
+0x9d5f    0x62c8
+0x9d60    0x62dc
+0x9d61    0x62cc
+0x9d62    0x62ca
+0x9d63    0x62c2
+0x9d64    0x62c7
+0x9d65    0x629b
+0x9d66    0x62c9
+0x9d67    0x630c
+0x9d68    0x62ee
+0x9d69    0x62f1
+0x9d6a    0x6327
+0x9d6b    0x6302
+0x9d6c    0x6308
+0x9d6d    0x62ef
+0x9d6e    0x62f5
+0x9d6f    0x6350
+0x9d70    0x633e
+0x9d71    0x634d
+0x9d72    0x641c
+0x9d73    0x634f
+0x9d74    0x6396
+0x9d75    0x638e
+0x9d76    0x6380
+0x9d77    0x63ab
+0x9d78    0x6376
+0x9d79    0x63a3
+0x9d7a    0x638f
+0x9d7b    0x6389
+0x9d7c    0x639f
+0x9d7d    0x63b5
+0x9d7e    0x636b
+0x9d80    0x6369
+0x9d81    0x63be
+0x9d82    0x63e9
+0x9d83    0x63c0
+0x9d84    0x63c6
+0x9d85    0x63e3
+0x9d86    0x63c9
+0x9d87    0x63d2
+0x9d88    0x63f6
+0x9d89    0x63c4
+0x9d8a    0x6416
+0x9d8b    0x6434
+0x9d8c    0x6406
+0x9d8d    0x6413
+0x9d8e    0x6426
+0x9d8f    0x6436
+0x9d90    0x651d
+0x9d91    0x6417
+0x9d92    0x6428
+0x9d93    0x640f
+0x9d94    0x6467
+0x9d95    0x646f
+0x9d96    0x6476
+0x9d97    0x644e
+0x9d98    0x652a
+0x9d99    0x6495
+0x9d9a    0x6493
+0x9d9b    0x64a5
+0x9d9c    0x64a9
+0x9d9d    0x6488
+0x9d9e    0x64bc
+0x9d9f    0x64da
+0x9da0    0x64d2
+0x9da1    0x64c5
+0x9da2    0x64c7
+0x9da3    0x64bb
+0x9da4    0x64d8
+0x9da5    0x64c2
+0x9da6    0x64f1
+0x9da7    0x64e7
+0x9da8    0x8209
+0x9da9    0x64e0
+0x9daa    0x64e1
+0x9dab    0x62ac
+0x9dac    0x64e3
+0x9dad    0x64ef
+0x9dae    0x652c
+0x9daf    0x64f6
+0x9db0    0x64f4
+0x9db1    0x64f2
+0x9db2    0x64fa
+0x9db3    0x6500
+0x9db4    0x64fd
+0x9db5    0x6518
+0x9db6    0x651c
+0x9db7    0x6505
+0x9db8    0x6524
+0x9db9    0x6523
+0x9dba    0x652b
+0x9dbb    0x6534
+0x9dbc    0x6535
+0x9dbd    0x6537
+0x9dbe    0x6536
+0x9dbf    0x6538
+0x9dc0    0x754b
+0x9dc1    0x6548
+0x9dc2    0x6556
+0x9dc3    0x6555
+0x9dc4    0x654d
+0x9dc5    0x6558
+0x9dc6    0x655e
+0x9dc7    0x655d
+0x9dc8    0x6572
+0x9dc9    0x6578
+0x9dca    0x6582
+0x9dcb    0x6583
+0x9dcc    0x8b8a
+0x9dcd    0x659b
+0x9dce    0x659f
+0x9dcf    0x65ab
+0x9dd0    0x65b7
+0x9dd1    0x65c3
+0x9dd2    0x65c6
+0x9dd3    0x65c1
+0x9dd4    0x65c4
+0x9dd5    0x65cc
+0x9dd6    0x65d2
+0x9dd7    0x65db
+0x9dd8    0x65d9
+0x9dd9    0x65e0
+0x9dda    0x65e1
+0x9ddb    0x65f1
+0x9ddc    0x6772
+0x9ddd    0x660a
+0x9dde    0x6603
+0x9ddf    0x65fb
+0x9de0    0x6773
+0x9de1    0x6635
+0x9de2    0x6636
+0x9de3    0x6634
+0x9de4    0x661c
+0x9de5    0x664f
+0x9de6    0x6644
+0x9de7    0x6649
+0x9de8    0x6641
+0x9de9    0x665e
+0x9dea    0x665d
+0x9deb    0x6664
+0x9dec    0x6667
+0x9ded    0x6668
+0x9dee    0x665f
+0x9def    0x6662
+0x9df0    0x6670
+0x9df1    0x6683
+0x9df2    0x6688
+0x9df3    0x668e
+0x9df4    0x6689
+0x9df5    0x6684
+0x9df6    0x6698
+0x9df7    0x669d
+0x9df8    0x66c1
+0x9df9    0x66b9
+0x9dfa    0x66c9
+0x9dfb    0x66be
+0x9dfc    0x66bc
+0x9e40    0x66c4
+0x9e41    0x66b8
+0x9e42    0x66d6
+0x9e43    0x66da
+0x9e44    0x66e0
+0x9e45    0x663f
+0x9e46    0x66e6
+0x9e47    0x66e9
+0x9e48    0x66f0
+0x9e49    0x66f5
+0x9e4a    0x66f7
+0x9e4b    0x670f
+0x9e4c    0x6716
+0x9e4d    0x671e
+0x9e4e    0x6726
+0x9e4f    0x6727
+0x9e50    0x9738
+0x9e51    0x672e
+0x9e52    0x673f
+0x9e53    0x6736
+0x9e54    0x6741
+0x9e55    0x6738
+0x9e56    0x6737
+0x9e57    0x6746
+0x9e58    0x675e
+0x9e59    0x6760
+0x9e5a    0x6759
+0x9e5b    0x6763
+0x9e5c    0x6764
+0x9e5d    0x6789
+0x9e5e    0x6770
+0x9e5f    0x67a9
+0x9e60    0x677c
+0x9e61    0x676a
+0x9e62    0x678c
+0x9e63    0x678b
+0x9e64    0x67a6
+0x9e65    0x67a1
+0x9e66    0x6785
+0x9e67    0x67b7
+0x9e68    0x67ef
+0x9e69    0x67b4
+0x9e6a    0x67ec
+0x9e6b    0x67b3
+0x9e6c    0x67e9
+0x9e6d    0x67b8
+0x9e6e    0x67e4
+0x9e6f    0x67de
+0x9e70    0x67dd
+0x9e71    0x67e2
+0x9e72    0x67ee
+0x9e73    0x67b9
+0x9e74    0x67ce
+0x9e75    0x67c6
+0x9e76    0x67e7
+0x9e77    0x6a9c
+0x9e78    0x681e
+0x9e79    0x6846
+0x9e7a    0x6829
+0x9e7b    0x6840
+0x9e7c    0x684d
+0x9e7d    0x6832
+0x9e7e    0x684e
+0x9e80    0x68b3
+0x9e81    0x682b
+0x9e82    0x6859
+0x9e83    0x6863
+0x9e84    0x6877
+0x9e85    0x687f
+0x9e86    0x689f
+0x9e87    0x688f
+0x9e88    0x68ad
+0x9e89    0x6894
+0x9e8a    0x689d
+0x9e8b    0x689b
+0x9e8c    0x6883
+0x9e8d    0x6aae
+0x9e8e    0x68b9
+0x9e8f    0x6874
+0x9e90    0x68b5
+0x9e91    0x68a0
+0x9e92    0x68ba
+0x9e93    0x690f
+0x9e94    0x688d
+0x9e95    0x687e
+0x9e96    0x6901
+0x9e97    0x68ca
+0x9e98    0x6908
+0x9e99    0x68d8
+0x9e9a    0x6922
+0x9e9b    0x6926
+0x9e9c    0x68e1
+0x9e9d    0x690c
+0x9e9e    0x68cd
+0x9e9f    0x68d4
+0x9ea0    0x68e7
+0x9ea1    0x68d5
+0x9ea2    0x6936
+0x9ea3    0x6912
+0x9ea4    0x6904
+0x9ea5    0x68d7
+0x9ea6    0x68e3
+0x9ea7    0x6925
+0x9ea8    0x68f9
+0x9ea9    0x68e0
+0x9eaa    0x68ef
+0x9eab    0x6928
+0x9eac    0x692a
+0x9ead    0x691a
+0x9eae    0x6923
+0x9eaf    0x6921
+0x9eb0    0x68c6
+0x9eb1    0x6979
+0x9eb2    0x6977
+0x9eb3    0x695c
+0x9eb4    0x6978
+0x9eb5    0x696b
+0x9eb6    0x6954
+0x9eb7    0x697e
+0x9eb8    0x696e
+0x9eb9    0x6939
+0x9eba    0x6974
+0x9ebb    0x693d
+0x9ebc    0x6959
+0x9ebd    0x6930
+0x9ebe    0x6961
+0x9ebf    0x695e
+0x9ec0    0x695d
+0x9ec1    0x6981
+0x9ec2    0x696a
+0x9ec3    0x69b2
+0x9ec4    0x69ae
+0x9ec5    0x69d0
+0x9ec6    0x69bf
+0x9ec7    0x69c1
+0x9ec8    0x69d3
+0x9ec9    0x69be
+0x9eca    0x69ce
+0x9ecb    0x5be8
+0x9ecc    0x69ca
+0x9ecd    0x69dd
+0x9ece    0x69bb
+0x9ecf    0x69c3
+0x9ed0    0x69a7
+0x9ed1    0x6a2e
+0x9ed2    0x6991
+0x9ed3    0x69a0
+0x9ed4    0x699c
+0x9ed5    0x6995
+0x9ed6    0x69b4
+0x9ed7    0x69de
+0x9ed8    0x69e8
+0x9ed9    0x6a02
+0x9eda    0x6a1b
+0x9edb    0x69ff
+0x9edc    0x6b0a
+0x9edd    0x69f9
+0x9ede    0x69f2
+0x9edf    0x69e7
+0x9ee0    0x6a05
+0x9ee1    0x69b1
+0x9ee2    0x6a1e
+0x9ee3    0x69ed
+0x9ee4    0x6a14
+0x9ee5    0x69eb
+0x9ee6    0x6a0a
+0x9ee7    0x6a12
+0x9ee8    0x6ac1
+0x9ee9    0x6a23
+0x9eea    0x6a13
+0x9eeb    0x6a44
+0x9eec    0x6a0c
+0x9eed    0x6a72
+0x9eee    0x6a36
+0x9eef    0x6a78
+0x9ef0    0x6a47
+0x9ef1    0x6a62
+0x9ef2    0x6a59
+0x9ef3    0x6a66
+0x9ef4    0x6a48
+0x9ef5    0x6a38
+0x9ef6    0x6a22
+0x9ef7    0x6a90
+0x9ef8    0x6a8d
+0x9ef9    0x6aa0
+0x9efa    0x6a84
+0x9efb    0x6aa2
+0x9efc    0x6aa3
+0x9f40    0x6a97
+0x9f41    0x8617
+0x9f42    0x6abb
+0x9f43    0x6ac3
+0x9f44    0x6ac2
+0x9f45    0x6ab8
+0x9f46    0x6ab3
+0x9f47    0x6aac
+0x9f48    0x6ade
+0x9f49    0x6ad1
+0x9f4a    0x6adf
+0x9f4b    0x6aaa
+0x9f4c    0x6ada
+0x9f4d    0x6aea
+0x9f4e    0x6afb
+0x9f4f    0x6b05
+0x9f50    0x8616
+0x9f51    0x6afa
+0x9f52    0x6b12
+0x9f53    0x6b16
+0x9f54    0x9b31
+0x9f55    0x6b1f
+0x9f56    0x6b38
+0x9f57    0x6b37
+0x9f58    0x76dc
+0x9f59    0x6b39
+0x9f5a    0x98ee
+0x9f5b    0x6b47
+0x9f5c    0x6b43
+0x9f5d    0x6b49
+0x9f5e    0x6b50
+0x9f5f    0x6b59
+0x9f60    0x6b54
+0x9f61    0x6b5b
+0x9f62    0x6b5f
+0x9f63    0x6b61
+0x9f64    0x6b78
+0x9f65    0x6b79
+0x9f66    0x6b7f
+0x9f67    0x6b80
+0x9f68    0x6b84
+0x9f69    0x6b83
+0x9f6a    0x6b8d
+0x9f6b    0x6b98
+0x9f6c    0x6b95
+0x9f6d    0x6b9e
+0x9f6e    0x6ba4
+0x9f6f    0x6baa
+0x9f70    0x6bab
+0x9f71    0x6baf
+0x9f72    0x6bb2
+0x9f73    0x6bb1
+0x9f74    0x6bb3
+0x9f75    0x6bb7
+0x9f76    0x6bbc
+0x9f77    0x6bc6
+0x9f78    0x6bcb
+0x9f79    0x6bd3
+0x9f7a    0x6bdf
+0x9f7b    0x6bec
+0x9f7c    0x6beb
+0x9f7d    0x6bf3
+0x9f7e    0x6bef
+0x9f80    0x9ebe
+0x9f81    0x6c08
+0x9f82    0x6c13
+0x9f83    0x6c14
+0x9f84    0x6c1b
+0x9f85    0x6c24
+0x9f86    0x6c23
+0x9f87    0x6c5e
+0x9f88    0x6c55
+0x9f89    0x6c62
+0x9f8a    0x6c6a
+0x9f8b    0x6c82
+0x9f8c    0x6c8d
+0x9f8d    0x6c9a
+0x9f8e    0x6c81
+0x9f8f    0x6c9b
+0x9f90    0x6c7e
+0x9f91    0x6c68
+0x9f92    0x6c73
+0x9f93    0x6c92
+0x9f94    0x6c90
+0x9f95    0x6cc4
+0x9f96    0x6cf1
+0x9f97    0x6cd3
+0x9f98    0x6cbd
+0x9f99    0x6cd7
+0x9f9a    0x6cc5
+0x9f9b    0x6cdd
+0x9f9c    0x6cae
+0x9f9d    0x6cb1
+0x9f9e    0x6cbe
+0x9f9f    0x6cba
+0x9fa0    0x6cdb
+0x9fa1    0x6cef
+0x9fa2    0x6cd9
+0x9fa3    0x6cea
+0x9fa4    0x6d1f
+0x9fa5    0x884d
+0x9fa6    0x6d36
+0x9fa7    0x6d2b
+0x9fa8    0x6d3d
+0x9fa9    0x6d38
+0x9faa    0x6d19
+0x9fab    0x6d35
+0x9fac    0x6d33
+0x9fad    0x6d12
+0x9fae    0x6d0c
+0x9faf    0x6d63
+0x9fb0    0x6d93
+0x9fb1    0x6d64
+0x9fb2    0x6d5a
+0x9fb3    0x6d79
+0x9fb4    0x6d59
+0x9fb5    0x6d8e
+0x9fb6    0x6d95
+0x9fb7    0x6fe4
+0x9fb8    0x6d85
+0x9fb9    0x6df9
+0x9fba    0x6e15
+0x9fbb    0x6e0a
+0x9fbc    0x6db5
+0x9fbd    0x6dc7
+0x9fbe    0x6de6
+0x9fbf    0x6db8
+0x9fc0    0x6dc6
+0x9fc1    0x6dec
+0x9fc2    0x6dde
+0x9fc3    0x6dcc
+0x9fc4    0x6de8
+0x9fc5    0x6dd2
+0x9fc6    0x6dc5
+0x9fc7    0x6dfa
+0x9fc8    0x6dd9
+0x9fc9    0x6de4
+0x9fca    0x6dd5
+0x9fcb    0x6dea
+0x9fcc    0x6dee
+0x9fcd    0x6e2d
+0x9fce    0x6e6e
+0x9fcf    0x6e2e
+0x9fd0    0x6e19
+0x9fd1    0x6e72
+0x9fd2    0x6e5f
+0x9fd3    0x6e3e
+0x9fd4    0x6e23
+0x9fd5    0x6e6b
+0x9fd6    0x6e2b
+0x9fd7    0x6e76
+0x9fd8    0x6e4d
+0x9fd9    0x6e1f
+0x9fda    0x6e43
+0x9fdb    0x6e3a
+0x9fdc    0x6e4e
+0x9fdd    0x6e24
+0x9fde    0x6eff
+0x9fdf    0x6e1d
+0x9fe0    0x6e38
+0x9fe1    0x6e82
+0x9fe2    0x6eaa
+0x9fe3    0x6e98
+0x9fe4    0x6ec9
+0x9fe5    0x6eb7
+0x9fe6    0x6ed3
+0x9fe7    0x6ebd
+0x9fe8    0x6eaf
+0x9fe9    0x6ec4
+0x9fea    0x6eb2
+0x9feb    0x6ed4
+0x9fec    0x6ed5
+0x9fed    0x6e8f
+0x9fee    0x6ea5
+0x9fef    0x6ec2
+0x9ff0    0x6e9f
+0x9ff1    0x6f41
+0x9ff2    0x6f11
+0x9ff3    0x704c
+0x9ff4    0x6eec
+0x9ff5    0x6ef8
+0x9ff6    0x6efe
+0x9ff7    0x6f3f
+0x9ff8    0x6ef2
+0x9ff9    0x6f31
+0x9ffa    0x6eef
+0x9ffb    0x6f32
+0x9ffc    0x6ecc
+0xe040    0x6f3e
+0xe041    0x6f13
+0xe042    0x6ef7
+0xe043    0x6f86
+0xe044    0x6f7a
+0xe045    0x6f78
+0xe046    0x6f81
+0xe047    0x6f80
+0xe048    0x6f6f
+0xe049    0x6f5b
+0xe04a    0x6ff3
+0xe04b    0x6f6d
+0xe04c    0x6f82
+0xe04d    0x6f7c
+0xe04e    0x6f58
+0xe04f    0x6f8e
+0xe050    0x6f91
+0xe051    0x6fc2
+0xe052    0x6f66
+0xe053    0x6fb3
+0xe054    0x6fa3
+0xe055    0x6fa1
+0xe056    0x6fa4
+0xe057    0x6fb9
+0xe058    0x6fc6
+0xe059    0x6faa
+0xe05a    0x6fdf
+0xe05b    0x6fd5
+0xe05c    0x6fec
+0xe05d    0x6fd4
+0xe05e    0x6fd8
+0xe05f    0x6ff1
+0xe060    0x6fee
+0xe061    0x6fdb
+0xe062    0x7009
+0xe063    0x700b
+0xe064    0x6ffa
+0xe065    0x7011
+0xe066    0x7001
+0xe067    0x700f
+0xe068    0x6ffe
+0xe069    0x701b
+0xe06a    0x701a
+0xe06b    0x6f74
+0xe06c    0x701d
+0xe06d    0x7018
+0xe06e    0x701f
+0xe06f    0x7030
+0xe070    0x703e
+0xe071    0x7032
+0xe072    0x7051
+0xe073    0x7063
+0xe074    0x7099
+0xe075    0x7092
+0xe076    0x70af
+0xe077    0x70f1
+0xe078    0x70ac
+0xe079    0x70b8
+0xe07a    0x70b3
+0xe07b    0x70ae
+0xe07c    0x70df
+0xe07d    0x70cb
+0xe07e    0x70dd
+0xe080    0x70d9
+0xe081    0x7109
+0xe082    0x70fd
+0xe083    0x711c
+0xe084    0x7119
+0xe085    0x7165
+0xe086    0x7155
+0xe087    0x7188
+0xe088    0x7166
+0xe089    0x7162
+0xe08a    0x714c
+0xe08b    0x7156
+0xe08c    0x716c
+0xe08d    0x718f
+0xe08e    0x71fb
+0xe08f    0x7184
+0xe090    0x7195
+0xe091    0x71a8
+0xe092    0x71ac
+0xe093    0x71d7
+0xe094    0x71b9
+0xe095    0x71be
+0xe096    0x71d2
+0xe097    0x71c9
+0xe098    0x71d4
+0xe099    0x71ce
+0xe09a    0x71e0
+0xe09b    0x71ec
+0xe09c    0x71e7
+0xe09d    0x71f5
+0xe09e    0x71fc
+0xe09f    0x71f9
+0xe0a0    0x71ff
+0xe0a1    0x720d
+0xe0a2    0x7210
+0xe0a3    0x721b
+0xe0a4    0x7228
+0xe0a5    0x722d
+0xe0a6    0x722c
+0xe0a7    0x7230
+0xe0a8    0x7232
+0xe0a9    0x723b
+0xe0aa    0x723c
+0xe0ab    0x723f
+0xe0ac    0x7240
+0xe0ad    0x7246
+0xe0ae    0x724b
+0xe0af    0x7258
+0xe0b0    0x7274
+0xe0b1    0x727e
+0xe0b2    0x7282
+0xe0b3    0x7281
+0xe0b4    0x7287
+0xe0b5    0x7292
+0xe0b6    0x7296
+0xe0b7    0x72a2
+0xe0b8    0x72a7
+0xe0b9    0x72b9
+0xe0ba    0x72b2
+0xe0bb    0x72c3
+0xe0bc    0x72c6
+0xe0bd    0x72c4
+0xe0be    0x72ce
+0xe0bf    0x72d2
+0xe0c0    0x72e2
+0xe0c1    0x72e0
+0xe0c2    0x72e1
+0xe0c3    0x72f9
+0xe0c4    0x72f7
+0xe0c5    0x500f
+0xe0c6    0x7317
+0xe0c7    0x730a
+0xe0c8    0x731c
+0xe0c9    0x7316
+0xe0ca    0x731d
+0xe0cb    0x7334
+0xe0cc    0x732f
+0xe0cd    0x7329
+0xe0ce    0x7325
+0xe0cf    0x733e
+0xe0d0    0x734e
+0xe0d1    0x734f
+0xe0d2    0x9ed8
+0xe0d3    0x7357
+0xe0d4    0x736a
+0xe0d5    0x7368
+0xe0d6    0x7370
+0xe0d7    0x7378
+0xe0d8    0x7375
+0xe0d9    0x737b
+0xe0da    0x737a
+0xe0db    0x73c8
+0xe0dc    0x73b3
+0xe0dd    0x73ce
+0xe0de    0x73bb
+0xe0df    0x73c0
+0xe0e0    0x73e5
+0xe0e1    0x73ee
+0xe0e2    0x73de
+0xe0e3    0x74a2
+0xe0e4    0x7405
+0xe0e5    0x746f
+0xe0e6    0x7425
+0xe0e7    0x73f8
+0xe0e8    0x7432
+0xe0e9    0x743a
+0xe0ea    0x7455
+0xe0eb    0x743f
+0xe0ec    0x745f
+0xe0ed    0x7459
+0xe0ee    0x7441
+0xe0ef    0x745c
+0xe0f0    0x7469
+0xe0f1    0x7470
+0xe0f2    0x7463
+0xe0f3    0x746a
+0xe0f4    0x7476
+0xe0f5    0x747e
+0xe0f6    0x748b
+0xe0f7    0x749e
+0xe0f8    0x74a7
+0xe0f9    0x74ca
+0xe0fa    0x74cf
+0xe0fb    0x74d4
+0xe0fc    0x73f1
+0xe140    0x74e0
+0xe141    0x74e3
+0xe142    0x74e7
+0xe143    0x74e9
+0xe144    0x74ee
+0xe145    0x74f2
+0xe146    0x74f0
+0xe147    0x74f1
+0xe148    0x74f8
+0xe149    0x74f7
+0xe14a    0x7504
+0xe14b    0x7503
+0xe14c    0x7505
+0xe14d    0x750c
+0xe14e    0x750e
+0xe14f    0x750d
+0xe150    0x7515
+0xe151    0x7513
+0xe152    0x751e
+0xe153    0x7526
+0xe154    0x752c
+0xe155    0x753c
+0xe156    0x7544
+0xe157    0x754d
+0xe158    0x754a
+0xe159    0x7549
+0xe15a    0x755b
+0xe15b    0x7546
+0xe15c    0x755a
+0xe15d    0x7569
+0xe15e    0x7564
+0xe15f    0x7567
+0xe160    0x756b
+0xe161    0x756d
+0xe162    0x7578
+0xe163    0x7576
+0xe164    0x7586
+0xe165    0x7587
+0xe166    0x7574
+0xe167    0x758a
+0xe168    0x7589
+0xe169    0x7582
+0xe16a    0x7594
+0xe16b    0x759a
+0xe16c    0x759d
+0xe16d    0x75a5
+0xe16e    0x75a3
+0xe16f    0x75c2
+0xe170    0x75b3
+0xe171    0x75c3
+0xe172    0x75b5
+0xe173    0x75bd
+0xe174    0x75b8
+0xe175    0x75bc
+0xe176    0x75b1
+0xe177    0x75cd
+0xe178    0x75ca
+0xe179    0x75d2
+0xe17a    0x75d9
+0xe17b    0x75e3
+0xe17c    0x75de
+0xe17d    0x75fe
+0xe17e    0x75ff
+0xe180    0x75fc
+0xe181    0x7601
+0xe182    0x75f0
+0xe183    0x75fa
+0xe184    0x75f2
+0xe185    0x75f3
+0xe186    0x760b
+0xe187    0x760d
+0xe188    0x7609
+0xe189    0x761f
+0xe18a    0x7627
+0xe18b    0x7620
+0xe18c    0x7621
+0xe18d    0x7622
+0xe18e    0x7624
+0xe18f    0x7634
+0xe190    0x7630
+0xe191    0x763b
+0xe192    0x7647
+0xe193    0x7648
+0xe194    0x7646
+0xe195    0x765c
+0xe196    0x7658
+0xe197    0x7661
+0xe198    0x7662
+0xe199    0x7668
+0xe19a    0x7669
+0xe19b    0x766a
+0xe19c    0x7667
+0xe19d    0x766c
+0xe19e    0x7670
+0xe19f    0x7672
+0xe1a0    0x7676
+0xe1a1    0x7678
+0xe1a2    0x767c
+0xe1a3    0x7680
+0xe1a4    0x7683
+0xe1a5    0x7688
+0xe1a6    0x768b
+0xe1a7    0x768e
+0xe1a8    0x7696
+0xe1a9    0x7693
+0xe1aa    0x7699
+0xe1ab    0x769a
+0xe1ac    0x76b0
+0xe1ad    0x76b4
+0xe1ae    0x76b8
+0xe1af    0x76b9
+0xe1b0    0x76ba
+0xe1b1    0x76c2
+0xe1b2    0x76cd
+0xe1b3    0x76d6
+0xe1b4    0x76d2
+0xe1b5    0x76de
+0xe1b6    0x76e1
+0xe1b7    0x76e5
+0xe1b8    0x76e7
+0xe1b9    0x76ea
+0xe1ba    0x862f
+0xe1bb    0x76fb
+0xe1bc    0x7708
+0xe1bd    0x7707
+0xe1be    0x7704
+0xe1bf    0x7729
+0xe1c0    0x7724
+0xe1c1    0x771e
+0xe1c2    0x7725
+0xe1c3    0x7726
+0xe1c4    0x771b
+0xe1c5    0x7737
+0xe1c6    0x7738
+0xe1c7    0x7747
+0xe1c8    0x775a
+0xe1c9    0x7768
+0xe1ca    0x776b
+0xe1cb    0x775b
+0xe1cc    0x7765
+0xe1cd    0x777f
+0xe1ce    0x777e
+0xe1cf    0x7779
+0xe1d0    0x778e
+0xe1d1    0x778b
+0xe1d2    0x7791
+0xe1d3    0x77a0
+0xe1d4    0x779e
+0xe1d5    0x77b0
+0xe1d6    0x77b6
+0xe1d7    0x77b9
+0xe1d8    0x77bf
+0xe1d9    0x77bc
+0xe1da    0x77bd
+0xe1db    0x77bb
+0xe1dc    0x77c7
+0xe1dd    0x77cd
+0xe1de    0x77d7
+0xe1df    0x77da
+0xe1e0    0x77dc
+0xe1e1    0x77e3
+0xe1e2    0x77ee
+0xe1e3    0x77fc
+0xe1e4    0x780c
+0xe1e5    0x7812
+0xe1e6    0x7926
+0xe1e7    0x7820
+0xe1e8    0x792a
+0xe1e9    0x7845
+0xe1ea    0x788e
+0xe1eb    0x7874
+0xe1ec    0x7886
+0xe1ed    0x787c
+0xe1ee    0x789a
+0xe1ef    0x788c
+0xe1f0    0x78a3
+0xe1f1    0x78b5
+0xe1f2    0x78aa
+0xe1f3    0x78af
+0xe1f4    0x78d1
+0xe1f5    0x78c6
+0xe1f6    0x78cb
+0xe1f7    0x78d4
+0xe1f8    0x78be
+0xe1f9    0x78bc
+0xe1fa    0x78c5
+0xe1fb    0x78ca
+0xe1fc    0x78ec
+0xe240    0x78e7
+0xe241    0x78da
+0xe242    0x78fd
+0xe243    0x78f4
+0xe244    0x7907
+0xe245    0x7912
+0xe246    0x7911
+0xe247    0x7919
+0xe248    0x792c
+0xe249    0x792b
+0xe24a    0x7940
+0xe24b    0x7960
+0xe24c    0x7957
+0xe24d    0x795f
+0xe24e    0x795a
+0xe24f    0x7955
+0xe250    0x7953
+0xe251    0x797a
+0xe252    0x797f
+0xe253    0x798a
+0xe254    0x799d
+0xe255    0x79a7
+0xe256    0x9f4b
+0xe257    0x79aa
+0xe258    0x79ae
+0xe259    0x79b3
+0xe25a    0x79b9
+0xe25b    0x79ba
+0xe25c    0x79c9
+0xe25d    0x79d5
+0xe25e    0x79e7
+0xe25f    0x79ec
+0xe260    0x79e1
+0xe261    0x79e3
+0xe262    0x7a08
+0xe263    0x7a0d
+0xe264    0x7a18
+0xe265    0x7a19
+0xe266    0x7a20
+0xe267    0x7a1f
+0xe268    0x7980
+0xe269    0x7a31
+0xe26a    0x7a3b
+0xe26b    0x7a3e
+0xe26c    0x7a37
+0xe26d    0x7a43
+0xe26e    0x7a57
+0xe26f    0x7a49
+0xe270    0x7a61
+0xe271    0x7a62
+0xe272    0x7a69
+0xe273    0x9f9d
+0xe274    0x7a70
+0xe275    0x7a79
+0xe276    0x7a7d
+0xe277    0x7a88
+0xe278    0x7a97
+0xe279    0x7a95
+0xe27a    0x7a98
+0xe27b    0x7a96
+0xe27c    0x7aa9
+0xe27d    0x7ac8
+0xe27e    0x7ab0
+0xe280    0x7ab6
+0xe281    0x7ac5
+0xe282    0x7ac4
+0xe283    0x7abf
+0xe284    0x9083
+0xe285    0x7ac7
+0xe286    0x7aca
+0xe287    0x7acd
+0xe288    0x7acf
+0xe289    0x7ad5
+0xe28a    0x7ad3
+0xe28b    0x7ad9
+0xe28c    0x7ada
+0xe28d    0x7add
+0xe28e    0x7ae1
+0xe28f    0x7ae2
+0xe290    0x7ae6
+0xe291    0x7aed
+0xe292    0x7af0
+0xe293    0x7b02
+0xe294    0x7b0f
+0xe295    0x7b0a
+0xe296    0x7b06
+0xe297    0x7b33
+0xe298    0x7b18
+0xe299    0x7b19
+0xe29a    0x7b1e
+0xe29b    0x7b35
+0xe29c    0x7b28
+0xe29d    0x7b36
+0xe29e    0x7b50
+0xe29f    0x7b7a
+0xe2a0    0x7b04
+0xe2a1    0x7b4d
+0xe2a2    0x7b0b
+0xe2a3    0x7b4c
+0xe2a4    0x7b45
+0xe2a5    0x7b75
+0xe2a6    0x7b65
+0xe2a7    0x7b74
+0xe2a8    0x7b67
+0xe2a9    0x7b70
+0xe2aa    0x7b71
+0xe2ab    0x7b6c
+0xe2ac    0x7b6e
+0xe2ad    0x7b9d
+0xe2ae    0x7b98
+0xe2af    0x7b9f
+0xe2b0    0x7b8d
+0xe2b1    0x7b9c
+0xe2b2    0x7b9a
+0xe2b3    0x7b8b
+0xe2b4    0x7b92
+0xe2b5    0x7b8f
+0xe2b6    0x7b5d
+0xe2b7    0x7b99
+0xe2b8    0x7bcb
+0xe2b9    0x7bc1
+0xe2ba    0x7bcc
+0xe2bb    0x7bcf
+0xe2bc    0x7bb4
+0xe2bd    0x7bc6
+0xe2be    0x7bdd
+0xe2bf    0x7be9
+0xe2c0    0x7c11
+0xe2c1    0x7c14
+0xe2c2    0x7be6
+0xe2c3    0x7be5
+0xe2c4    0x7c60
+0xe2c5    0x7c00
+0xe2c6    0x7c07
+0xe2c7    0x7c13
+0xe2c8    0x7bf3
+0xe2c9    0x7bf7
+0xe2ca    0x7c17
+0xe2cb    0x7c0d
+0xe2cc    0x7bf6
+0xe2cd    0x7c23
+0xe2ce    0x7c27
+0xe2cf    0x7c2a
+0xe2d0    0x7c1f
+0xe2d1    0x7c37
+0xe2d2    0x7c2b
+0xe2d3    0x7c3d
+0xe2d4    0x7c4c
+0xe2d5    0x7c43
+0xe2d6    0x7c54
+0xe2d7    0x7c4f
+0xe2d8    0x7c40
+0xe2d9    0x7c50
+0xe2da    0x7c58
+0xe2db    0x7c5f
+0xe2dc    0x7c64
+0xe2dd    0x7c56
+0xe2de    0x7c65
+0xe2df    0x7c6c
+0xe2e0    0x7c75
+0xe2e1    0x7c83
+0xe2e2    0x7c90
+0xe2e3    0x7ca4
+0xe2e4    0x7cad
+0xe2e5    0x7ca2
+0xe2e6    0x7cab
+0xe2e7    0x7ca1
+0xe2e8    0x7ca8
+0xe2e9    0x7cb3
+0xe2ea    0x7cb2
+0xe2eb    0x7cb1
+0xe2ec    0x7cae
+0xe2ed    0x7cb9
+0xe2ee    0x7cbd
+0xe2ef    0x7cc0
+0xe2f0    0x7cc5
+0xe2f1    0x7cc2
+0xe2f2    0x7cd8
+0xe2f3    0x7cd2
+0xe2f4    0x7cdc
+0xe2f5    0x7ce2
+0xe2f6    0x9b3b
+0xe2f7    0x7cef
+0xe2f8    0x7cf2
+0xe2f9    0x7cf4
+0xe2fa    0x7cf6
+0xe2fb    0x7cfa
+0xe2fc    0x7d06
+0xe340    0x7d02
+0xe341    0x7d1c
+0xe342    0x7d15
+0xe343    0x7d0a
+0xe344    0x7d45
+0xe345    0x7d4b
+0xe346    0x7d2e
+0xe347    0x7d32
+0xe348    0x7d3f
+0xe349    0x7d35
+0xe34a    0x7d46
+0xe34b    0x7d73
+0xe34c    0x7d56
+0xe34d    0x7d4e
+0xe34e    0x7d72
+0xe34f    0x7d68
+0xe350    0x7d6e
+0xe351    0x7d4f
+0xe352    0x7d63
+0xe353    0x7d93
+0xe354    0x7d89
+0xe355    0x7d5b
+0xe356    0x7d8f
+0xe357    0x7d7d
+0xe358    0x7d9b
+0xe359    0x7dba
+0xe35a    0x7dae
+0xe35b    0x7da3
+0xe35c    0x7db5
+0xe35d    0x7dc7
+0xe35e    0x7dbd
+0xe35f    0x7dab
+0xe360    0x7e3d
+0xe361    0x7da2
+0xe362    0x7daf
+0xe363    0x7ddc
+0xe364    0x7db8
+0xe365    0x7d9f
+0xe366    0x7db0
+0xe367    0x7dd8
+0xe368    0x7ddd
+0xe369    0x7de4
+0xe36a    0x7dde
+0xe36b    0x7dfb
+0xe36c    0x7df2
+0xe36d    0x7de1
+0xe36e    0x7e05
+0xe36f    0x7e0a
+0xe370    0x7e23
+0xe371    0x7e21
+0xe372    0x7e12
+0xe373    0x7e31
+0xe374    0x7e1f
+0xe375    0x7e09
+0xe376    0x7e0b
+0xe377    0x7e22
+0xe378    0x7e46
+0xe379    0x7e66
+0xe37a    0x7e3b
+0xe37b    0x7e35
+0xe37c    0x7e39
+0xe37d    0x7e43
+0xe37e    0x7e37
+0xe380    0x7e32
+0xe381    0x7e3a
+0xe382    0x7e67
+0xe383    0x7e5d
+0xe384    0x7e56
+0xe385    0x7e5e
+0xe386    0x7e59
+0xe387    0x7e5a
+0xe388    0x7e79
+0xe389    0x7e6a
+0xe38a    0x7e69
+0xe38b    0x7e7c
+0xe38c    0x7e7b
+0xe38d    0x7e83
+0xe38e    0x7dd5
+0xe38f    0x7e7d
+0xe390    0x8fae
+0xe391    0x7e7f
+0xe392    0x7e88
+0xe393    0x7e89
+0xe394    0x7e8c
+0xe395    0x7e92
+0xe396    0x7e90
+0xe397    0x7e93
+0xe398    0x7e94
+0xe399    0x7e96
+0xe39a    0x7e8e
+0xe39b    0x7e9b
+0xe39c    0x7e9c
+0xe39d    0x7f38
+0xe39e    0x7f3a
+0xe39f    0x7f45
+0xe3a0    0x7f4c
+0xe3a1    0x7f4d
+0xe3a2    0x7f4e
+0xe3a3    0x7f50
+0xe3a4    0x7f51
+0xe3a5    0x7f55
+0xe3a6    0x7f54
+0xe3a7    0x7f58
+0xe3a8    0x7f5f
+0xe3a9    0x7f60
+0xe3aa    0x7f68
+0xe3ab    0x7f69
+0xe3ac    0x7f67
+0xe3ad    0x7f78
+0xe3ae    0x7f82
+0xe3af    0x7f86
+0xe3b0    0x7f83
+0xe3b1    0x7f88
+0xe3b2    0x7f87
+0xe3b3    0x7f8c
+0xe3b4    0x7f94
+0xe3b5    0x7f9e
+0xe3b6    0x7f9d
+0xe3b7    0x7f9a
+0xe3b8    0x7fa3
+0xe3b9    0x7faf
+0xe3ba    0x7fb2
+0xe3bb    0x7fb9
+0xe3bc    0x7fae
+0xe3bd    0x7fb6
+0xe3be    0x7fb8
+0xe3bf    0x8b71
+0xe3c0    0x7fc5
+0xe3c1    0x7fc6
+0xe3c2    0x7fca
+0xe3c3    0x7fd5
+0xe3c4    0x7fd4
+0xe3c5    0x7fe1
+0xe3c6    0x7fe6
+0xe3c7    0x7fe9
+0xe3c8    0x7ff3
+0xe3c9    0x7ff9
+0xe3ca    0x98dc
+0xe3cb    0x8006
+0xe3cc    0x8004
+0xe3cd    0x800b
+0xe3ce    0x8012
+0xe3cf    0x8018
+0xe3d0    0x8019
+0xe3d1    0x801c
+0xe3d2    0x8021
+0xe3d3    0x8028
+0xe3d4    0x803f
+0xe3d5    0x803b
+0xe3d6    0x804a
+0xe3d7    0x8046
+0xe3d8    0x8052
+0xe3d9    0x8058
+0xe3da    0x805a
+0xe3db    0x805f
+0xe3dc    0x8062
+0xe3dd    0x8068
+0xe3de    0x8073
+0xe3df    0x8072
+0xe3e0    0x8070
+0xe3e1    0x8076
+0xe3e2    0x8079
+0xe3e3    0x807d
+0xe3e4    0x807f
+0xe3e5    0x8084
+0xe3e6    0x8086
+0xe3e7    0x8085
+0xe3e8    0x809b
+0xe3e9    0x8093
+0xe3ea    0x809a
+0xe3eb    0x80ad
+0xe3ec    0x5190
+0xe3ed    0x80ac
+0xe3ee    0x80db
+0xe3ef    0x80e5
+0xe3f0    0x80d9
+0xe3f1    0x80dd
+0xe3f2    0x80c4
+0xe3f3    0x80da
+0xe3f4    0x80d6
+0xe3f5    0x8109
+0xe3f6    0x80ef
+0xe3f7    0x80f1
+0xe3f8    0x811b
+0xe3f9    0x8129
+0xe3fa    0x8123
+0xe3fb    0x812f
+0xe3fc    0x814b
+0xe440    0x968b
+0xe441    0x8146
+0xe442    0x813e
+0xe443    0x8153
+0xe444    0x8151
+0xe445    0x80fc
+0xe446    0x8171
+0xe447    0x816e
+0xe448    0x8165
+0xe449    0x8166
+0xe44a    0x8174
+0xe44b    0x8183
+0xe44c    0x8188
+0xe44d    0x818a
+0xe44e    0x8180
+0xe44f    0x8182
+0xe450    0x81a0
+0xe451    0x8195
+0xe452    0x81a4
+0xe453    0x81a3
+0xe454    0x815f
+0xe455    0x8193
+0xe456    0x81a9
+0xe457    0x81b0
+0xe458    0x81b5
+0xe459    0x81be
+0xe45a    0x81b8
+0xe45b    0x81bd
+0xe45c    0x81c0
+0xe45d    0x81c2
+0xe45e    0x81ba
+0xe45f    0x81c9
+0xe460    0x81cd
+0xe461    0x81d1
+0xe462    0x81d9
+0xe463    0x81d8
+0xe464    0x81c8
+0xe465    0x81da
+0xe466    0x81df
+0xe467    0x81e0
+0xe468    0x81e7
+0xe469    0x81fa
+0xe46a    0x81fb
+0xe46b    0x81fe
+0xe46c    0x8201
+0xe46d    0x8202
+0xe46e    0x8205
+0xe46f    0x8207
+0xe470    0x820a
+0xe471    0x820d
+0xe472    0x8210
+0xe473    0x8216
+0xe474    0x8229
+0xe475    0x822b
+0xe476    0x8238
+0xe477    0x8233
+0xe478    0x8240
+0xe479    0x8259
+0xe47a    0x8258
+0xe47b    0x825d
+0xe47c    0x825a
+0xe47d    0x825f
+0xe47e    0x8264
+0xe480    0x8262
+0xe481    0x8268
+0xe482    0x826a
+0xe483    0x826b
+0xe484    0x822e
+0xe485    0x8271
+0xe486    0x8277
+0xe487    0x8278
+0xe488    0x827e
+0xe489    0x828d
+0xe48a    0x8292
+0xe48b    0x82ab
+0xe48c    0x829f
+0xe48d    0x82bb
+0xe48e    0x82ac
+0xe48f    0x82e1
+0xe490    0x82e3
+0xe491    0x82df
+0xe492    0x82d2
+0xe493    0x82f4
+0xe494    0x82f3
+0xe495    0x82fa
+0xe496    0x8393
+0xe497    0x8303
+0xe498    0x82fb
+0xe499    0x82f9
+0xe49a    0x82de
+0xe49b    0x8306
+0xe49c    0x82dc
+0xe49d    0x8309
+0xe49e    0x82d9
+0xe49f    0x8335
+0xe4a0    0x8334
+0xe4a1    0x8316
+0xe4a2    0x8332
+0xe4a3    0x8331
+0xe4a4    0x8340
+0xe4a5    0x8339
+0xe4a6    0x8350
+0xe4a7    0x8345
+0xe4a8    0x832f
+0xe4a9    0x832b
+0xe4aa    0x8317
+0xe4ab    0x8318
+0xe4ac    0x8385
+0xe4ad    0x839a
+0xe4ae    0x83aa
+0xe4af    0x839f
+0xe4b0    0x83a2
+0xe4b1    0x8396
+0xe4b2    0x8323
+0xe4b3    0x838e
+0xe4b4    0x8387
+0xe4b5    0x838a
+0xe4b6    0x837c
+0xe4b7    0x83b5
+0xe4b8    0x8373
+0xe4b9    0x8375
+0xe4ba    0x83a0
+0xe4bb    0x8389
+0xe4bc    0x83a8
+0xe4bd    0x83f4
+0xe4be    0x8413
+0xe4bf    0x83eb
+0xe4c0    0x83ce
+0xe4c1    0x83fd
+0xe4c2    0x8403
+0xe4c3    0x83d8
+0xe4c4    0x840b
+0xe4c5    0x83c1
+0xe4c6    0x83f7
+0xe4c7    0x8407
+0xe4c8    0x83e0
+0xe4c9    0x83f2
+0xe4ca    0x840d
+0xe4cb    0x8422
+0xe4cc    0x8420
+0xe4cd    0x83bd
+0xe4ce    0x8438
+0xe4cf    0x8506
+0xe4d0    0x83fb
+0xe4d1    0x846d
+0xe4d2    0x842a
+0xe4d3    0x843c
+0xe4d4    0x855a
+0xe4d5    0x8484
+0xe4d6    0x8477
+0xe4d7    0x846b
+0xe4d8    0x84ad
+0xe4d9    0x846e
+0xe4da    0x8482
+0xe4db    0x8469
+0xe4dc    0x8446
+0xe4dd    0x842c
+0xe4de    0x846f
+0xe4df    0x8479
+0xe4e0    0x8435
+0xe4e1    0x84ca
+0xe4e2    0x8462
+0xe4e3    0x84b9
+0xe4e4    0x84bf
+0xe4e5    0x849f
+0xe4e6    0x84d9
+0xe4e7    0x84cd
+0xe4e8    0x84bb
+0xe4e9    0x84da
+0xe4ea    0x84d0
+0xe4eb    0x84c1
+0xe4ec    0x84c6
+0xe4ed    0x84d6
+0xe4ee    0x84a1
+0xe4ef    0x8521
+0xe4f0    0x84ff
+0xe4f1    0x84f4
+0xe4f2    0x8517
+0xe4f3    0x8518
+0xe4f4    0x852c
+0xe4f5    0x851f
+0xe4f6    0x8515
+0xe4f7    0x8514
+0xe4f8    0x84fc
+0xe4f9    0x8540
+0xe4fa    0x8563
+0xe4fb    0x8558
+0xe4fc    0x8548
+0xe540    0x8541
+0xe541    0x8602
+0xe542    0x854b
+0xe543    0x8555
+0xe544    0x8580
+0xe545    0x85a4
+0xe546    0x8588
+0xe547    0x8591
+0xe548    0x858a
+0xe549    0x85a8
+0xe54a    0x856d
+0xe54b    0x8594
+0xe54c    0x859b
+0xe54d    0x85ea
+0xe54e    0x8587
+0xe54f    0x859c
+0xe550    0x8577
+0xe551    0x857e
+0xe552    0x8590
+0xe553    0x85c9
+0xe554    0x85ba
+0xe555    0x85cf
+0xe556    0x85b9
+0xe557    0x85d0
+0xe558    0x85d5
+0xe559    0x85dd
+0xe55a    0x85e5
+0xe55b    0x85dc
+0xe55c    0x85f9
+0xe55d    0x860a
+0xe55e    0x8613
+0xe55f    0x860b
+0xe560    0x85fe
+0xe561    0x85fa
+0xe562    0x8606
+0xe563    0x8622
+0xe564    0x861a
+0xe565    0x8630
+0xe566    0x863f
+0xe567    0x864d
+0xe568    0x4e55
+0xe569    0x8654
+0xe56a    0x865f
+0xe56b    0x8667
+0xe56c    0x8671
+0xe56d    0x8693
+0xe56e    0x86a3
+0xe56f    0x86a9
+0xe570    0x86aa
+0xe571    0x868b
+0xe572    0x868c
+0xe573    0x86b6
+0xe574    0x86af
+0xe575    0x86c4
+0xe576    0x86c6
+0xe577    0x86b0
+0xe578    0x86c9
+0xe579    0x8823
+0xe57a    0x86ab
+0xe57b    0x86d4
+0xe57c    0x86de
+0xe57d    0x86e9
+0xe57e    0x86ec
+0xe580    0x86df
+0xe581    0x86db
+0xe582    0x86ef
+0xe583    0x8712
+0xe584    0x8706
+0xe585    0x8708
+0xe586    0x8700
+0xe587    0x8703
+0xe588    0x86fb
+0xe589    0x8711
+0xe58a    0x8709
+0xe58b    0x870d
+0xe58c    0x86f9
+0xe58d    0x870a
+0xe58e    0x8734
+0xe58f    0x873f
+0xe590    0x8737
+0xe591    0x873b
+0xe592    0x8725
+0xe593    0x8729
+0xe594    0x871a
+0xe595    0x8760
+0xe596    0x875f
+0xe597    0x8778
+0xe598    0x874c
+0xe599    0x874e
+0xe59a    0x8774
+0xe59b    0x8757
+0xe59c    0x8768
+0xe59d    0x876e
+0xe59e    0x8759
+0xe59f    0x8753
+0xe5a0    0x8763
+0xe5a1    0x876a
+0xe5a2    0x8805
+0xe5a3    0x87a2
+0xe5a4    0x879f
+0xe5a5    0x8782
+0xe5a6    0x87af
+0xe5a7    0x87cb
+0xe5a8    0x87bd
+0xe5a9    0x87c0
+0xe5aa    0x87d0
+0xe5ab    0x96d6
+0xe5ac    0x87ab
+0xe5ad    0x87c4
+0xe5ae    0x87b3
+0xe5af    0x87c7
+0xe5b0    0x87c6
+0xe5b1    0x87bb
+0xe5b2    0x87ef
+0xe5b3    0x87f2
+0xe5b4    0x87e0
+0xe5b5    0x880f
+0xe5b6    0x880d
+0xe5b7    0x87fe
+0xe5b8    0x87f6
+0xe5b9    0x87f7
+0xe5ba    0x880e
+0xe5bb    0x87d2
+0xe5bc    0x8811
+0xe5bd    0x8816
+0xe5be    0x8815
+0xe5bf    0x8822
+0xe5c0    0x8821
+0xe5c1    0x8831
+0xe5c2    0x8836
+0xe5c3    0x8839
+0xe5c4    0x8827
+0xe5c5    0x883b
+0xe5c6    0x8844
+0xe5c7    0x8842
+0xe5c8    0x8852
+0xe5c9    0x8859
+0xe5ca    0x885e
+0xe5cb    0x8862
+0xe5cc    0x886b
+0xe5cd    0x8881
+0xe5ce    0x887e
+0xe5cf    0x889e
+0xe5d0    0x8875
+0xe5d1    0x887d
+0xe5d2    0x88b5
+0xe5d3    0x8872
+0xe5d4    0x8882
+0xe5d5    0x8897
+0xe5d6    0x8892
+0xe5d7    0x88ae
+0xe5d8    0x8899
+0xe5d9    0x88a2
+0xe5da    0x888d
+0xe5db    0x88a4
+0xe5dc    0x88b0
+0xe5dd    0x88bf
+0xe5de    0x88b1
+0xe5df    0x88c3
+0xe5e0    0x88c4
+0xe5e1    0x88d4
+0xe5e2    0x88d8
+0xe5e3    0x88d9
+0xe5e4    0x88dd
+0xe5e5    0x88f9
+0xe5e6    0x8902
+0xe5e7    0x88fc
+0xe5e8    0x88f4
+0xe5e9    0x88e8
+0xe5ea    0x88f2
+0xe5eb    0x8904
+0xe5ec    0x890c
+0xe5ed    0x890a
+0xe5ee    0x8913
+0xe5ef    0x8943
+0xe5f0    0x891e
+0xe5f1    0x8925
+0xe5f2    0x892a
+0xe5f3    0x892b
+0xe5f4    0x8941
+0xe5f5    0x8944
+0xe5f6    0x893b
+0xe5f7    0x8936
+0xe5f8    0x8938
+0xe5f9    0x894c
+0xe5fa    0x891d
+0xe5fb    0x8960
+0xe5fc    0x895e
+0xe640    0x8966
+0xe641    0x8964
+0xe642    0x896d
+0xe643    0x896a
+0xe644    0x896f
+0xe645    0x8974
+0xe646    0x8977
+0xe647    0x897e
+0xe648    0x8983
+0xe649    0x8988
+0xe64a    0x898a
+0xe64b    0x8993
+0xe64c    0x8998
+0xe64d    0x89a1
+0xe64e    0x89a9
+0xe64f    0x89a6
+0xe650    0x89ac
+0xe651    0x89af
+0xe652    0x89b2
+0xe653    0x89ba
+0xe654    0x89bd
+0xe655    0x89bf
+0xe656    0x89c0
+0xe657    0x89da
+0xe658    0x89dc
+0xe659    0x89dd
+0xe65a    0x89e7
+0xe65b    0x89f4
+0xe65c    0x89f8
+0xe65d    0x8a03
+0xe65e    0x8a16
+0xe65f    0x8a10
+0xe660    0x8a0c
+0xe661    0x8a1b
+0xe662    0x8a1d
+0xe663    0x8a25
+0xe664    0x8a36
+0xe665    0x8a41
+0xe666    0x8a5b
+0xe667    0x8a52
+0xe668    0x8a46
+0xe669    0x8a48
+0xe66a    0x8a7c
+0xe66b    0x8a6d
+0xe66c    0x8a6c
+0xe66d    0x8a62
+0xe66e    0x8a85
+0xe66f    0x8a82
+0xe670    0x8a84
+0xe671    0x8aa8
+0xe672    0x8aa1
+0xe673    0x8a91
+0xe674    0x8aa5
+0xe675    0x8aa6
+0xe676    0x8a9a
+0xe677    0x8aa3
+0xe678    0x8ac4
+0xe679    0x8acd
+0xe67a    0x8ac2
+0xe67b    0x8ada
+0xe67c    0x8aeb
+0xe67d    0x8af3
+0xe67e    0x8ae7
+0xe680    0x8ae4
+0xe681    0x8af1
+0xe682    0x8b14
+0xe683    0x8ae0
+0xe684    0x8ae2
+0xe685    0x8af7
+0xe686    0x8ade
+0xe687    0x8adb
+0xe688    0x8b0c
+0xe689    0x8b07
+0xe68a    0x8b1a
+0xe68b    0x8ae1
+0xe68c    0x8b16
+0xe68d    0x8b10
+0xe68e    0x8b17
+0xe68f    0x8b20
+0xe690    0x8b33
+0xe691    0x97ab
+0xe692    0x8b26
+0xe693    0x8b2b
+0xe694    0x8b3e
+0xe695    0x8b28
+0xe696    0x8b41
+0xe697    0x8b4c
+0xe698    0x8b4f
+0xe699    0x8b4e
+0xe69a    0x8b49
+0xe69b    0x8b56
+0xe69c    0x8b5b
+0xe69d    0x8b5a
+0xe69e    0x8b6b
+0xe69f    0x8b5f
+0xe6a0    0x8b6c
+0xe6a1    0x8b6f
+0xe6a2    0x8b74
+0xe6a3    0x8b7d
+0xe6a4    0x8b80
+0xe6a5    0x8b8c
+0xe6a6    0x8b8e
+0xe6a7    0x8b92
+0xe6a8    0x8b93
+0xe6a9    0x8b96
+0xe6aa    0x8b99
+0xe6ab    0x8b9a
+0xe6ac    0x8c3a
+0xe6ad    0x8c41
+0xe6ae    0x8c3f
+0xe6af    0x8c48
+0xe6b0    0x8c4c
+0xe6b1    0x8c4e
+0xe6b2    0x8c50
+0xe6b3    0x8c55
+0xe6b4    0x8c62
+0xe6b5    0x8c6c
+0xe6b6    0x8c78
+0xe6b7    0x8c7a
+0xe6b8    0x8c82
+0xe6b9    0x8c89
+0xe6ba    0x8c85
+0xe6bb    0x8c8a
+0xe6bc    0x8c8d
+0xe6bd    0x8c8e
+0xe6be    0x8c94
+0xe6bf    0x8c7c
+0xe6c0    0x8c98
+0xe6c1    0x621d
+0xe6c2    0x8cad
+0xe6c3    0x8caa
+0xe6c4    0x8cbd
+0xe6c5    0x8cb2
+0xe6c6    0x8cb3
+0xe6c7    0x8cae
+0xe6c8    0x8cb6
+0xe6c9    0x8cc8
+0xe6ca    0x8cc1
+0xe6cb    0x8ce4
+0xe6cc    0x8ce3
+0xe6cd    0x8cda
+0xe6ce    0x8cfd
+0xe6cf    0x8cfa
+0xe6d0    0x8cfb
+0xe6d1    0x8d04
+0xe6d2    0x8d05
+0xe6d3    0x8d0a
+0xe6d4    0x8d07
+0xe6d5    0x8d0f
+0xe6d6    0x8d0d
+0xe6d7    0x8d10
+0xe6d8    0x9f4e
+0xe6d9    0x8d13
+0xe6da    0x8ccd
+0xe6db    0x8d14
+0xe6dc    0x8d16
+0xe6dd    0x8d67
+0xe6de    0x8d6d
+0xe6df    0x8d71
+0xe6e0    0x8d73
+0xe6e1    0x8d81
+0xe6e2    0x8d99
+0xe6e3    0x8dc2
+0xe6e4    0x8dbe
+0xe6e5    0x8dba
+0xe6e6    0x8dcf
+0xe6e7    0x8dda
+0xe6e8    0x8dd6
+0xe6e9    0x8dcc
+0xe6ea    0x8ddb
+0xe6eb    0x8dcb
+0xe6ec    0x8dea
+0xe6ed    0x8deb
+0xe6ee    0x8ddf
+0xe6ef    0x8de3
+0xe6f0    0x8dfc
+0xe6f1    0x8e08
+0xe6f2    0x8e09
+0xe6f3    0x8dff
+0xe6f4    0x8e1d
+0xe6f5    0x8e1e
+0xe6f6    0x8e10
+0xe6f7    0x8e1f
+0xe6f8    0x8e42
+0xe6f9    0x8e35
+0xe6fa    0x8e30
+0xe6fb    0x8e34
+0xe6fc    0x8e4a
+0xe740    0x8e47
+0xe741    0x8e49
+0xe742    0x8e4c
+0xe743    0x8e50
+0xe744    0x8e48
+0xe745    0x8e59
+0xe746    0x8e64
+0xe747    0x8e60
+0xe748    0x8e2a
+0xe749    0x8e63
+0xe74a    0x8e55
+0xe74b    0x8e76
+0xe74c    0x8e72
+0xe74d    0x8e7c
+0xe74e    0x8e81
+0xe74f    0x8e87
+0xe750    0x8e85
+0xe751    0x8e84
+0xe752    0x8e8b
+0xe753    0x8e8a
+0xe754    0x8e93
+0xe755    0x8e91
+0xe756    0x8e94
+0xe757    0x8e99
+0xe758    0x8eaa
+0xe759    0x8ea1
+0xe75a    0x8eac
+0xe75b    0x8eb0
+0xe75c    0x8ec6
+0xe75d    0x8eb1
+0xe75e    0x8ebe
+0xe75f    0x8ec5
+0xe760    0x8ec8
+0xe761    0x8ecb
+0xe762    0x8edb
+0xe763    0x8ee3
+0xe764    0x8efc
+0xe765    0x8efb
+0xe766    0x8eeb
+0xe767    0x8efe
+0xe768    0x8f0a
+0xe769    0x8f05
+0xe76a    0x8f15
+0xe76b    0x8f12
+0xe76c    0x8f19
+0xe76d    0x8f13
+0xe76e    0x8f1c
+0xe76f    0x8f1f
+0xe770    0x8f1b
+0xe771    0x8f0c
+0xe772    0x8f26
+0xe773    0x8f33
+0xe774    0x8f3b
+0xe775    0x8f39
+0xe776    0x8f45
+0xe777    0x8f42
+0xe778    0x8f3e
+0xe779    0x8f4c
+0xe77a    0x8f49
+0xe77b    0x8f46
+0xe77c    0x8f4e
+0xe77d    0x8f57
+0xe77e    0x8f5c
+0xe780    0x8f62
+0xe781    0x8f63
+0xe782    0x8f64
+0xe783    0x8f9c
+0xe784    0x8f9f
+0xe785    0x8fa3
+0xe786    0x8fad
+0xe787    0x8faf
+0xe788    0x8fb7
+0xe789    0x8fda
+0xe78a    0x8fe5
+0xe78b    0x8fe2
+0xe78c    0x8fea
+0xe78d    0x8fef
+0xe78e    0x9087
+0xe78f    0x8ff4
+0xe790    0x9005
+0xe791    0x8ff9
+0xe792    0x8ffa
+0xe793    0x9011
+0xe794    0x9015
+0xe795    0x9021
+0xe796    0x900d
+0xe797    0x901e
+0xe798    0x9016
+0xe799    0x900b
+0xe79a    0x9027
+0xe79b    0x9036
+0xe79c    0x9035
+0xe79d    0x9039
+0xe79e    0x8ff8
+0xe79f    0x904f
+0xe7a0    0x9050
+0xe7a1    0x9051
+0xe7a2    0x9052
+0xe7a3    0x900e
+0xe7a4    0x9049
+0xe7a5    0x903e
+0xe7a6    0x9056
+0xe7a7    0x9058
+0xe7a8    0x905e
+0xe7a9    0x9068
+0xe7aa    0x906f
+0xe7ab    0x9076
+0xe7ac    0x96a8
+0xe7ad    0x9072
+0xe7ae    0x9082
+0xe7af    0x907d
+0xe7b0    0x9081
+0xe7b1    0x9080
+0xe7b2    0x908a
+0xe7b3    0x9089
+0xe7b4    0x908f
+0xe7b5    0x90a8
+0xe7b6    0x90af
+0xe7b7    0x90b1
+0xe7b8    0x90b5
+0xe7b9    0x90e2
+0xe7ba    0x90e4
+0xe7bb    0x6248
+0xe7bc    0x90db
+0xe7bd    0x9102
+0xe7be    0x9112
+0xe7bf    0x9119
+0xe7c0    0x9132
+0xe7c1    0x9130
+0xe7c2    0x914a
+0xe7c3    0x9156
+0xe7c4    0x9158
+0xe7c5    0x9163
+0xe7c6    0x9165
+0xe7c7    0x9169
+0xe7c8    0x9173
+0xe7c9    0x9172
+0xe7ca    0x918b
+0xe7cb    0x9189
+0xe7cc    0x9182
+0xe7cd    0x91a2
+0xe7ce    0x91ab
+0xe7cf    0x91af
+0xe7d0    0x91aa
+0xe7d1    0x91b5
+0xe7d2    0x91b4
+0xe7d3    0x91ba
+0xe7d4    0x91c0
+0xe7d5    0x91c1
+0xe7d6    0x91c9
+0xe7d7    0x91cb
+0xe7d8    0x91d0
+0xe7d9    0x91d6
+0xe7da    0x91df
+0xe7db    0x91e1
+0xe7dc    0x91db
+0xe7dd    0x91fc
+0xe7de    0x91f5
+0xe7df    0x91f6
+0xe7e0    0x921e
+0xe7e1    0x91ff
+0xe7e2    0x9214
+0xe7e3    0x922c
+0xe7e4    0x9215
+0xe7e5    0x9211
+0xe7e6    0x925e
+0xe7e7    0x9257
+0xe7e8    0x9245
+0xe7e9    0x9249
+0xe7ea    0x9264
+0xe7eb    0x9248
+0xe7ec    0x9295
+0xe7ed    0x923f
+0xe7ee    0x924b
+0xe7ef    0x9250
+0xe7f0    0x929c
+0xe7f1    0x9296
+0xe7f2    0x9293
+0xe7f3    0x929b
+0xe7f4    0x925a
+0xe7f5    0x92cf
+0xe7f6    0x92b9
+0xe7f7    0x92b7
+0xe7f8    0x92e9
+0xe7f9    0x930f
+0xe7fa    0x92fa
+0xe7fb    0x9344
+0xe7fc    0x932e
+0xe840    0x9319
+0xe841    0x9322
+0xe842    0x931a
+0xe843    0x9323
+0xe844    0x933a
+0xe845    0x9335
+0xe846    0x933b
+0xe847    0x935c
+0xe848    0x9360
+0xe849    0x937c
+0xe84a    0x936e
+0xe84b    0x9356
+0xe84c    0x93b0
+0xe84d    0x93ac
+0xe84e    0x93ad
+0xe84f    0x9394
+0xe850    0x93b9
+0xe851    0x93d6
+0xe852    0x93d7
+0xe853    0x93e8
+0xe854    0x93e5
+0xe855    0x93d8
+0xe856    0x93c3
+0xe857    0x93dd
+0xe858    0x93d0
+0xe859    0x93c8
+0xe85a    0x93e4
+0xe85b    0x941a
+0xe85c    0x9414
+0xe85d    0x9413
+0xe85e    0x9403
+0xe85f    0x9407
+0xe860    0x9410
+0xe861    0x9436
+0xe862    0x942b
+0xe863    0x9435
+0xe864    0x9421
+0xe865    0x943a
+0xe866    0x9441
+0xe867    0x9452
+0xe868    0x9444
+0xe869    0x945b
+0xe86a    0x9460
+0xe86b    0x9462
+0xe86c    0x945e
+0xe86d    0x946a
+0xe86e    0x9229
+0xe86f    0x9470
+0xe870    0x9475
+0xe871    0x9477
+0xe872    0x947d
+0xe873    0x945a
+0xe874    0x947c
+0xe875    0x947e
+0xe876    0x9481
+0xe877    0x947f
+0xe878    0x9582
+0xe879    0x9587
+0xe87a    0x958a
+0xe87b    0x9594
+0xe87c    0x9596
+0xe87d    0x9598
+0xe87e    0x9599
+0xe880    0x95a0
+0xe881    0x95a8
+0xe882    0x95a7
+0xe883    0x95ad
+0xe884    0x95bc
+0xe885    0x95bb
+0xe886    0x95b9
+0xe887    0x95be
+0xe888    0x95ca
+0xe889    0x6ff6
+0xe88a    0x95c3
+0xe88b    0x95cd
+0xe88c    0x95cc
+0xe88d    0x95d5
+0xe88e    0x95d4
+0xe88f    0x95d6
+0xe890    0x95dc
+0xe891    0x95e1
+0xe892    0x95e5
+0xe893    0x95e2
+0xe894    0x9621
+0xe895    0x9628
+0xe896    0x962e
+0xe897    0x962f
+0xe898    0x9642
+0xe899    0x964c
+0xe89a    0x964f
+0xe89b    0x964b
+0xe89c    0x9677
+0xe89d    0x965c
+0xe89e    0x965e
+0xe89f    0x965d
+0xe8a0    0x965f
+0xe8a1    0x9666
+0xe8a2    0x9672
+0xe8a3    0x966c
+0xe8a4    0x968d
+0xe8a5    0x9698
+0xe8a6    0x9695
+0xe8a7    0x9697
+0xe8a8    0x96aa
+0xe8a9    0x96a7
+0xe8aa    0x96b1
+0xe8ab    0x96b2
+0xe8ac    0x96b0
+0xe8ad    0x96b4
+0xe8ae    0x96b6
+0xe8af    0x96b8
+0xe8b0    0x96b9
+0xe8b1    0x96ce
+0xe8b2    0x96cb
+0xe8b3    0x96c9
+0xe8b4    0x96cd
+0xe8b5    0x894d
+0xe8b6    0x96dc
+0xe8b7    0x970d
+0xe8b8    0x96d5
+0xe8b9    0x96f9
+0xe8ba    0x9704
+0xe8bb    0x9706
+0xe8bc    0x9708
+0xe8bd    0x9713
+0xe8be    0x970e
+0xe8bf    0x9711
+0xe8c0    0x970f
+0xe8c1    0x9716
+0xe8c2    0x9719
+0xe8c3    0x9724
+0xe8c4    0x972a
+0xe8c5    0x9730
+0xe8c6    0x9739
+0xe8c7    0x973d
+0xe8c8    0x973e
+0xe8c9    0x9744
+0xe8ca    0x9746
+0xe8cb    0x9748
+0xe8cc    0x9742
+0xe8cd    0x9749
+0xe8ce    0x975c
+0xe8cf    0x9760
+0xe8d0    0x9764
+0xe8d1    0x9766
+0xe8d2    0x9768
+0xe8d3    0x52d2
+0xe8d4    0x976b
+0xe8d5    0x9771
+0xe8d6    0x9779
+0xe8d7    0x9785
+0xe8d8    0x977c
+0xe8d9    0x9781
+0xe8da    0x977a
+0xe8db    0x9786
+0xe8dc    0x978b
+0xe8dd    0x978f
+0xe8de    0x9790
+0xe8df    0x979c
+0xe8e0    0x97a8
+0xe8e1    0x97a6
+0xe8e2    0x97a3
+0xe8e3    0x97b3
+0xe8e4    0x97b4
+0xe8e5    0x97c3
+0xe8e6    0x97c6
+0xe8e7    0x97c8
+0xe8e8    0x97cb
+0xe8e9    0x97dc
+0xe8ea    0x97ed
+0xe8eb    0x9f4f
+0xe8ec    0x97f2
+0xe8ed    0x7adf
+0xe8ee    0x97f6
+0xe8ef    0x97f5
+0xe8f0    0x980f
+0xe8f1    0x980c
+0xe8f2    0x9838
+0xe8f3    0x9824
+0xe8f4    0x9821
+0xe8f5    0x9837
+0xe8f6    0x983d
+0xe8f7    0x9846
+0xe8f8    0x984f
+0xe8f9    0x984b
+0xe8fa    0x986b
+0xe8fb    0x986f
+0xe8fc    0x9870
+0xe940    0x9871
+0xe941    0x9874
+0xe942    0x9873
+0xe943    0x98aa
+0xe944    0x98af
+0xe945    0x98b1
+0xe946    0x98b6
+0xe947    0x98c4
+0xe948    0x98c3
+0xe949    0x98c6
+0xe94a    0x98e9
+0xe94b    0x98eb
+0xe94c    0x9903
+0xe94d    0x9909
+0xe94e    0x9912
+0xe94f    0x9914
+0xe950    0x9918
+0xe951    0x9921
+0xe952    0x991d
+0xe953    0x991e
+0xe954    0x9924
+0xe955    0x9920
+0xe956    0x992c
+0xe957    0x992e
+0xe958    0x993d
+0xe959    0x993e
+0xe95a    0x9942
+0xe95b    0x9949
+0xe95c    0x9945
+0xe95d    0x9950
+0xe95e    0x994b
+0xe95f    0x9951
+0xe960    0x9952
+0xe961    0x994c
+0xe962    0x9955
+0xe963    0x9997
+0xe964    0x9998
+0xe965    0x99a5
+0xe966    0x99ad
+0xe967    0x99ae
+0xe968    0x99bc
+0xe969    0x99df
+0xe96a    0x99db
+0xe96b    0x99dd
+0xe96c    0x99d8
+0xe96d    0x99d1
+0xe96e    0x99ed
+0xe96f    0x99ee
+0xe970    0x99f1
+0xe971    0x99f2
+0xe972    0x99fb
+0xe973    0x99f8
+0xe974    0x9a01
+0xe975    0x9a0f
+0xe976    0x9a05
+0xe977    0x99e2
+0xe978    0x9a19
+0xe979    0x9a2b
+0xe97a    0x9a37
+0xe97b    0x9a45
+0xe97c    0x9a42
+0xe97d    0x9a40
+0xe97e    0x9a43
+0xe980    0x9a3e
+0xe981    0x9a55
+0xe982    0x9a4d
+0xe983    0x9a5b
+0xe984    0x9a57
+0xe985    0x9a5f
+0xe986    0x9a62
+0xe987    0x9a65
+0xe988    0x9a64
+0xe989    0x9a69
+0xe98a    0x9a6b
+0xe98b    0x9a6a
+0xe98c    0x9aad
+0xe98d    0x9ab0
+0xe98e    0x9abc
+0xe98f    0x9ac0
+0xe990    0x9acf
+0xe991    0x9ad1
+0xe992    0x9ad3
+0xe993    0x9ad4
+0xe994    0x9ade
+0xe995    0x9adf
+0xe996    0x9ae2
+0xe997    0x9ae3
+0xe998    0x9ae6
+0xe999    0x9aef
+0xe99a    0x9aeb
+0xe99b    0x9aee
+0xe99c    0x9af4
+0xe99d    0x9af1
+0xe99e    0x9af7
+0xe99f    0x9afb
+0xe9a0    0x9b06
+0xe9a1    0x9b18
+0xe9a2    0x9b1a
+0xe9a3    0x9b1f
+0xe9a4    0x9b22
+0xe9a5    0x9b23
+0xe9a6    0x9b25
+0xe9a7    0x9b27
+0xe9a8    0x9b28
+0xe9a9    0x9b29
+0xe9aa    0x9b2a
+0xe9ab    0x9b2e
+0xe9ac    0x9b2f
+0xe9ad    0x9b32
+0xe9ae    0x9b44
+0xe9af    0x9b43
+0xe9b0    0x9b4f
+0xe9b1    0x9b4d
+0xe9b2    0x9b4e
+0xe9b3    0x9b51
+0xe9b4    0x9b58
+0xe9b5    0x9b74
+0xe9b6    0x9b93
+0xe9b7    0x9b83
+0xe9b8    0x9b91
+0xe9b9    0x9b96
+0xe9ba    0x9b97
+0xe9bb    0x9b9f
+0xe9bc    0x9ba0
+0xe9bd    0x9ba8
+0xe9be    0x9bb4
+0xe9bf    0x9bc0
+0xe9c0    0x9bca
+0xe9c1    0x9bb9
+0xe9c2    0x9bc6
+0xe9c3    0x9bcf
+0xe9c4    0x9bd1
+0xe9c5    0x9bd2
+0xe9c6    0x9be3
+0xe9c7    0x9be2
+0xe9c8    0x9be4
+0xe9c9    0x9bd4
+0xe9ca    0x9be1
+0xe9cb    0x9c3a
+0xe9cc    0x9bf2
+0xe9cd    0x9bf1
+0xe9ce    0x9bf0
+0xe9cf    0x9c15
+0xe9d0    0x9c14
+0xe9d1    0x9c09
+0xe9d2    0x9c13
+0xe9d3    0x9c0c
+0xe9d4    0x9c06
+0xe9d5    0x9c08
+0xe9d6    0x9c12
+0xe9d7    0x9c0a
+0xe9d8    0x9c04
+0xe9d9    0x9c2e
+0xe9da    0x9c1b
+0xe9db    0x9c25
+0xe9dc    0x9c24
+0xe9dd    0x9c21
+0xe9de    0x9c30
+0xe9df    0x9c47
+0xe9e0    0x9c32
+0xe9e1    0x9c46
+0xe9e2    0x9c3e
+0xe9e3    0x9c5a
+0xe9e4    0x9c60
+0xe9e5    0x9c67
+0xe9e6    0x9c76
+0xe9e7    0x9c78
+0xe9e8    0x9ce7
+0xe9e9    0x9cec
+0xe9ea    0x9cf0
+0xe9eb    0x9d09
+0xe9ec    0x9d08
+0xe9ed    0x9ceb
+0xe9ee    0x9d03
+0xe9ef    0x9d06
+0xe9f0    0x9d2a
+0xe9f1    0x9d26
+0xe9f2    0x9daf
+0xe9f3    0x9d23
+0xe9f4    0x9d1f
+0xe9f5    0x9d44
+0xe9f6    0x9d15
+0xe9f7    0x9d12
+0xe9f8    0x9d41
+0xe9f9    0x9d3f
+0xe9fa    0x9d3e
+0xe9fb    0x9d46
+0xe9fc    0x9d48
+0xea40    0x9d5d
+0xea41    0x9d5e
+0xea42    0x9d64
+0xea43    0x9d51
+0xea44    0x9d50
+0xea45    0x9d59
+0xea46    0x9d72
+0xea47    0x9d89
+0xea48    0x9d87
+0xea49    0x9dab
+0xea4a    0x9d6f
+0xea4b    0x9d7a
+0xea4c    0x9d9a
+0xea4d    0x9da4
+0xea4e    0x9da9
+0xea4f    0x9db2
+0xea50    0x9dc4
+0xea51    0x9dc1
+0xea52    0x9dbb
+0xea53    0x9db8
+0xea54    0x9dba
+0xea55    0x9dc6
+0xea56    0x9dcf
+0xea57    0x9dc2
+0xea58    0x9dd9
+0xea59    0x9dd3
+0xea5a    0x9df8
+0xea5b    0x9de6
+0xea5c    0x9ded
+0xea5d    0x9def
+0xea5e    0x9dfd
+0xea5f    0x9e1a
+0xea60    0x9e1b
+0xea61    0x9e1e
+0xea62    0x9e75
+0xea63    0x9e79
+0xea64    0x9e7d
+0xea65    0x9e81
+0xea66    0x9e88
+0xea67    0x9e8b
+0xea68    0x9e8c
+0xea69    0x9e92
+0xea6a    0x9e95
+0xea6b    0x9e91
+0xea6c    0x9e9d
+0xea6d    0x9ea5
+0xea6e    0x9ea9
+0xea6f    0x9eb8
+0xea70    0x9eaa
+0xea71    0x9ead
+0xea72    0x9761
+0xea73    0x9ecc
+0xea74    0x9ece
+0xea75    0x9ecf
+0xea76    0x9ed0
+0xea77    0x9ed4
+0xea78    0x9edc
+0xea79    0x9ede
+0xea7a    0x9edd
+0xea7b    0x9ee0
+0xea7c    0x9ee5
+0xea7d    0x9ee8
+0xea7e    0x9eef
+0xea80    0x9ef4
+0xea81    0x9ef6
+0xea82    0x9ef7
+0xea83    0x9ef9
+0xea84    0x9efb
+0xea85    0x9efc
+0xea86    0x9efd
+0xea87    0x9f07
+0xea88    0x9f08
+0xea89    0x76b7
+0xea8a    0x9f15
+0xea8b    0x9f21
+0xea8c    0x9f2c
+0xea8d    0x9f3e
+0xea8e    0x9f4a
+0xea8f    0x9f52
+0xea90    0x9f54
+0xea91    0x9f63
+0xea92    0x9f5f
+0xea93    0x9f60
+0xea94    0x9f61
+0xea95    0x9f66
+0xea96    0x9f67
+0xea97    0x9f6c
+0xea98    0x9f6a
+0xea99    0x9f77
+0xea9a    0x9f72
+0xea9b    0x9f76
+0xea9c    0x9f95
+0xea9d    0x9f9c
+0xea9e    0x9fa0
+0xea9f    0x582f
+0xeaa0    0x69c7
+0xeaa1    0x9059
+0xeaa2    0x7464
+0xeaa3    0x51dc
+0xeaa4    0x7199
--- a/make/tools/CharsetMapping/dbcs	Wed Aug 01 11:06:44 2012 -0400
+++ b/make/tools/CharsetMapping/dbcs	Wed Aug 01 11:08:11 2012 -0400
@@ -10,6 +10,8 @@
 MS949	  x-windows-949 MS949 basic     sun.nio.cs.ext    true    0x81   0xfe   0x41  0xfe
 MS950	  x-windows-950 MS950 basic     sun.nio.cs.ext    true    0x81   0xfe   0x40  0xfe
 GBK	  GBK        GBK      basic     sun.nio.cs.ext    true    0x81   0xfe   0x40  0xfe
+SJIS	  Shift_JIS  SJIS     basic     sun.nio.cs.ext    true    0x81   0xfc   0x40  0xfc
+PCK	  x-PCK      PCK      basic     sun.nio.cs.ext    true    0x81   0xfc   0x40  0xfc
 IBM1364	  x-IBM1364  Cp1364   ebcdic	sun.nio.cs.ext	  false   0x40   0xde   0x40  0xfe
 IBM1381	  x-IBM1381  Cp1381   basic     sun.nio.cs.ext    true    0x8c   0xf7   0xa1  0xfe
 IBM1383	  x-IBM1383  Cp1383   euc_sim   sun.nio.cs.ext    true    0xa1   0xfe   0xa1  0xfe
@@ -24,3 +26,10 @@
 IBM949	  x-IBM949   Cp949    basic     sun.nio.cs.ext    false   0x8f   0xfe   0xa1  0xfe
 IBM950	  x-IBM950   Cp950    basic     sun.nio.cs.ext    true    0x81   0xfe   0x40  0xfe
 IBM970	  x-IBM970   Cp970    euc_sim   sun.nio.cs.ext    true    0xa1   0xfe   0xa1  0xfe
+JIS_X_0208          x-JIS0208          JIS0208          dbcsonly  sun.nio.cs.ext  false  0x21  0x7e  0x21  0x7e
+JIS_X_0212          JIS_X0212-1990     JIS0212          dbcsonly  sun.nio.cs.ext  false  0x21  0x7e  0x21  0x7e
+JIS_X_0208_Solaris  x-JIS0208_Solaris  JIS0208_Solaris  dbcsonly  sun.nio.cs.ext  false  0x21  0x9e  0x21  0x7e
+JIS_X_0208_MS5022X  x-JIS0208_MS5022X  JIS0208_MS5022X  dbcsonly  sun.nio.cs.ext  false  0x21  0x7e  0x21  0x7e
+JIS_X_0208_MS932    x-JIS0208_MS932    JIS0208_MS932    dbcsonly  sun.nio.cs.ext  false  0x21  0x7e  0x21  0x7e
+JIS_X_0212_Solaris  x-JIS0212_Solaris  JIS0212_Solaris  dbcsonly  sun.nio.cs.ext  false  0x21  0x7e  0x21  0x7e
+JIS_X_0212_MS5022X  x-JIS0212_MS5022X  JIS0212_MS5022X  dbcsonly  sun.nio.cs.ext  false  0x21  0x7e  0x21  0x7e
--- a/make/tools/CharsetMapping/extsbcs	Wed Aug 01 11:06:44 2012 -0400
+++ b/make/tools/CharsetMapping/extsbcs	Wed Aug 01 11:08:11 2012 -0400
@@ -53,7 +53,7 @@
 ISO_8859_3	ISO-8859-3	ISO8859_3	true		sun.nio.cs.ext
 ISO_8859_6	ISO-8859-6	ISO8859_6	true		sun.nio.cs.ext
 ISO_8859_8	ISO-8859-8	ISO8859_8	true		sun.nio.cs.ext
-#JIS_X_0201	JIS_X0201	JIS_X0201	true		sun.nio.cs.ext
+JIS_X_0201	JIS_X0201	JIS_X0201	true		sun.nio.cs.ext
 MS1255		windows-1255	Cp1255		true		sun.nio.cs.ext
 MS1256		windows-1256	Cp1256		true		sun.nio.cs.ext
 MS1258		windows-1258	Cp1258		true		sun.nio.cs.ext
--- a/make/tools/src/build/tools/charsetmapping/DBCS.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/make/tools/src/build/tools/charsetmapping/DBCS.java	Wed Aug 01 11:08:11 2012 -0400
@@ -194,6 +194,15 @@
         if (hisName == null)
             hisName = "";
 
+        // (5) c2b replacement, only used for JIs0208/0212, which
+        // are two pure db charsets so default '3f' does not work
+        String c2bRepl = "";
+        if (clzName.startsWith("JIS_X_0208")) {
+            c2bRepl = "new byte[]{ (byte)0x21, (byte)0x29 },";
+        } else if (clzName.startsWith("JIS_X_0212")) {
+            c2bRepl = "new byte[]{ (byte)0x22, (byte)0x44 },";
+        }
+
         while (s.hasNextLine()) {
             String line = s.nextLine();
             if (line.indexOf("$") == -1) {
@@ -227,7 +236,8 @@
                        .replace("$B2C$", b2c)
                        .replace("$C2BLENGTH$", "0x" + Integer.toString(c2bOff, 16))
                        .replace("$NONROUNDTRIP_B2C$", b2cNR)
-                       .replace("$NONROUNDTRIP_C2B$", c2bNR);
+                       .replace("$NONROUNDTRIP_C2B$", c2bNR)
+                       .replace("$ENC_REPLACEMENT$", c2bRepl);
 
             ops.println(line);
         }
--- a/make/tools/src/build/tools/charsetmapping/SBCS.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/make/tools/src/build/tools/charsetmapping/SBCS.java	Wed Aug 01 11:08:11 2012 -0400
@@ -106,7 +106,7 @@
         }
     }
 
-    static Pattern sbmap = Pattern.compile("0x(\\p{XDigit}++)\\s++U\\+(\\p{XDigit}++)(\\s++#.*)?");
+    static Pattern sbmap = Pattern.compile("0x(\\p{XDigit}++)\\s++(?:U\\+|0x)?(\\p{XDigit}++)(?:\\s++#.*)?");
 
     private static void genClass0(String srcDir, String dstDir,
                                   String template,
--- a/makefiles/CompileDemos.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ b/makefiles/CompileDemos.gmk	Wed Aug 01 11:08:11 2012 -0400
@@ -215,7 +215,7 @@
      # Param 5 = libs for posix
      # Param 6 = libs for winapi
      # Param 7 = libs for solaris
-     BUILD_DEMO_JVMTI_$1_EXTRA_SRC:=	$$(wildcard $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/demo/jvmti/$1) \
+     BUILD_DEMO_JVMTI_$1_EXTRA_SRC:=	$$(wildcard $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/demo/jvmti/$1) \
 					$$(wildcard $$(addprefix $(JDK_TOPDIR)/src/share/demo/jvmti/,$2))
      BUILD_DEMO_JVMTI_$1_EXTRA_INC:=$$(addprefix -I,$$(BUILD_DEMO_JVMTI_$1_EXTRA_SRC))
      BUILD_DEMO_JVMTI_$1_LANG:=C
@@ -227,18 +227,26 @@
          $1_EXTRA_CXX:=$(LIBCXX)
          BUILD_DEMO_JVMTI_$1_O_FLAG:=$(CXX_O_FLAG_NORM)
      endif
+
+     $1_CXXFLAGS:=$(CXXFLAGS_JDKLIB) $$(BUILD_DEMO_JVMTI_$1_O_FLAG) -I$(JDK_TOPDIR)/src/share/demo/jvmti/$1 $$(BUILD_DEMO_JVMTI_$1_EXTRA_INC) $3
+     ifeq ($1-$(OPENJDK_TARGET_CPU_ARCH),waiters-sparc)
+       $1_FILTER:=-xregs=no%appl
+       $1_CXXFLAGS:=$$(filter-out $$($1_FILTER),$$($1_CXXFLAGS))
+     endif
+
      $$(eval $$(call SetupNativeCompilation,BUILD_DEMO_JVMTI_$1,\
 		SRC:=$(JDK_TOPDIR)/src/share/demo/jvmti/$1 $$(BUILD_DEMO_JVMTI_$1_EXTRA_SRC),\
 		LANG:=$$(BUILD_DEMO_JVMTI_$1_LANG),\
 		CFLAGS:=$(CFLAGS_JDKLIB) $$(BUILD_DEMO_JVMTI_$1_O_FLAG) -I$(JDK_TOPDIR)/src/share/demo/jvmti/$1 $$(BUILD_DEMO_JVMTI_$1_EXTRA_INC) $3,\
-		CXXFLAGS:=$(CXXFLAGS_JDKLIB) $$(BUILD_DEMO_JVMTI_$1_O_FLAG) -I$(JDK_TOPDIR)/src/share/demo/jvmti/$1 $$(BUILD_DEMO_JVMTI_$1_EXTRA_INC) $3,\
+		CXXFLAGS:=$$($1_CXXFLAGS),\
 		LDFLAGS:=$(LDFLAGS_JDKLIB),\
 		LDFLAGS_SUFFIX:=$$($1_EXTRA_CXX),\
 		LDFLAGS_SUFFIX_posix:=$5,\
 		LDFLAGS_SUFFIX_winapi:=$6,\
 		LDFLAGS_SUFFIX_solaris:=-lc $7,\
-		BIN:=$(JDK_OUTPUTDIR)/newdemoobjs/jvmti/$1,\
-		LIB:=$(JDK_OUTPUTDIR)/newdemo/jvmti/$1/lib/$(LIBRARY_PREFIX)$1$(SHARED_LIBRARY_SUFFIX)))
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/newdemoobjs/jvmti/$1,\
+		OUTPUT_DIR:=$(JDK_OUTPUTDIR)/newdemo/jvmti/$1/lib,\
+		LIBRARY:=$1))
 
     $$(eval $$(call SetupZipArchive,BUILD_DEMO_JVMTI_SRC_$1,\
 		SRC:=$(JDK_TOPDIR)/src/share/demo/jvmti/$1 $$(BUILD_DEMO_JVMTI_$1_EXTRA_SRC),\
@@ -262,7 +270,7 @@
          BUILD_DEMOS += $(JDK_OUTPUTDIR)/newdemo/jvmti/$1/$1.jar
      endif
 
-     BUILD_DEMOS += 	$(JDK_OUTPUTDIR)/newdemo/jvmti/$1/lib/$(LIBRARY_PREFIX)$1$(SHARED_LIBRARY_SUFFIX) \
+     BUILD_DEMOS += 	$$(BUILD_DEMO_JVMTI_$1) \
 			$(JDK_OUTPUTDIR)/newdemo/jvmti/$1/src.zip \
 			$(JDK_OUTPUTDIR)/newdemo/jvmti/$1/README.txt
 endef
@@ -274,7 +282,7 @@
 # hprof contains error messages using __FILE__ macro. These expand to the absolute path
 # in the new build system and relative in the old, causing the binaries to differ.
 $(eval $(call SetupJVMTIDemo,hprof,			java_crw_demo,\
-		-I$(JDK_TOPDIR)/src/share/npt -I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/npt,C,\
+		-I$(JDK_TOPDIR)/src/share/npt -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/npt,C,\
 		-ldl,ws2_32.lib winmm.lib,-lsocket -lnsl))
 
 $(eval $(call SetupJVMTIDemo,minst,			agent_util java_crw_demo))
@@ -349,7 +357,7 @@
 
 ##################################################################################################
 
-ifeq ($(PLATFORM), solaris)
+ifeq ($(OPENJDK_TARGET_OS), solaris)
 
 $(JDK_OUTPUTDIR)/newdemoclasses/jni/Poller/% : $(JDK_TOPDIR)/src/solaris/demo/jni/Poller/%
 		$(MKDIR) -p $(@D)
@@ -386,8 +394,9 @@
 		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
                         -I$(JDK_OUTPUTDIR)/newdemoclasses/jni/Poller, \
 		LDFLAGS:=$(LDFLAGS_JDKLIB), \
-		BIN:=$(JDK_OUTPUTDIR)/newdemoobjs/jni/Poller,\
-		LIB:=$(JDK_OUTPUTDIR)/newdemoobjs/$(LIBRARY_PREFIX)Poller$(SHARED_LIBRARY_SUFFIX)))
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/newdemoobjs/jni/Poller,\
+                OUTPUT_DIR:=$(JDK_OUTPUTDIR)/newdemoobjs, \
+		LIBRARY:=Poller))
 
 #
 # We can only compile native code after jar has been build (since we depend on generated .h files)
--- a/makefiles/CompileJavaClasses.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ b/makefiles/CompileJavaClasses.gmk	Wed Aug 01 11:08:11 2012 -0400
@@ -45,7 +45,7 @@
 		com/sun/tools/example/debug/gui \
 		com/oracle/security
 
-ifeq ($(PLATFORM)-$(ARCH_DATA_MODEL),windows-64)
+ifeq ($(OPENJDK_TARGET_OS)-$(ARCH_DATA_MODEL),windows-64)
      EXCLUDES += sun/security/pkcs11
 endif
 
@@ -61,7 +61,7 @@
    EXFILES := $(JDK_TOPDIR)/src/share/classes/javax/crypto/JarVerifier.java
 endif
 
-ifneq ($(PLATFORM),solaris)
+ifneq ($(OPENJDK_TARGET_OS),solaris)
    # Exclude Solaris nio and two security related files in src/share/classes
    EXFILES += SolarisAclFileAttributeView.java \
 	SolarisFileStore.java \
@@ -71,37 +71,34 @@
 	SolarisUserDefinedFileAttributeView.java \
 	SolarisWatchService.java \
 	SolarisAclFileAttributeView.java \
-	SolarisFileStore.java \
-	SolarisFileSystem.java \
-	SolarisFileSystemProvider.java \
-	SolarisUserDefinedFileAttributeView.java \
-	SolarisNativeDispatcher.java \
-	SolarisWatchService.java \
 	SolarisLoginModule.java \
 	SolarisSystem.java \
+	sun/nio/ch/EventPortSelectorImpl.java \
+	sun/nio/ch/EventPortSelectorProvider.java \
+	sun/nio/ch/EventPortWrapper.java \
 	sun/tools/attach/SolarisAttachProvider.java \
 	sun/tools/attach/SolarisVirtualMachine.java
 endif
 
 # In the old build, this isn't excluded on macosx, even though it probably
 # should be.
-ifneq ($(PLATFORM),macosx)
+ifneq ($(OPENJDK_TARGET_OS),macosx)
 	EXFILES+=WrapperGenerator.java
 endif
 
-ifneq ($(PLATFORM),windows)
+ifneq ($(OPENJDK_TARGET_OS),windows)
     # Exclude Window security related files in src/share/classes
     EXFILES+=NTLoginModule.java \
              NTSystem.java
 
 endif
 
-ifeq ($(PLATFORM),windows)
+ifeq ($(OPENJDK_TARGET_OS),windows)
     # Don't build GTK L&F on Windows
     EXCLUDES+=	com/sun/java/swing/plaf/gtk
 endif
 
-ifneq ($(PLATFORM),linux)
+ifneq ($(OPENJDK_TARGET_OS),linux)
     EXFILES+=sun/tools/attach/LinuxAttachProvider.java \
 	sun/tools/attach/LinuxVirtualMachine.java \
 	sun/nio/fs/LinuxDosFileAttributeView.java \
@@ -113,7 +110,7 @@
 	sun/nio/fs/LinuxWatchService.java
 endif
 
-ifneq ($(PLATFORM),macosx)
+ifneq ($(OPENJDK_TARGET_OS),macosx)
     EXFILES+=sun/nio/fs/BsdFileStore.java \
 	     sun/nio/fs/BsdFileSystem.java \
              sun/nio/fs/BsdFileSystemProvider.java \
@@ -137,11 +134,11 @@
 endif
 
 # Used on windows and macosx
-ifeq (,$(filter $(PLATFORM), windows macosx))
+ifeq (,$(filter $(OPENJDK_TARGET_OS), windows macosx))
     EXFILES+=sun/awt/AWTCharset.java
 endif
 
-ifneq ($(PLATFORM), macosx)
+ifneq ($(OPENJDK_TARGET_OS), macosx)
 #
 # Not in rt.jar on solaris and linux...(windows not checked)
 #     in rt.jar on macosx ??
@@ -192,7 +189,7 @@
 # Exclude another implicitly not included file.
 EXFILES+=sun/util/locale/AsciiUtil.java
 
-ifeq (,$(filter $(PLATFORM), solaris macosx))
+ifeq (,$(filter $(OPENJDK_TARGET_OS), solaris macosx))
 #
 # only solaris and macosx
 #
@@ -205,7 +202,7 @@
 	 -linux-ppc.java
 
 # TODO: Is this necessary?
-ifeq ($(PLATFORM), windows)
+ifeq ($(OPENJDK_TARGET_OS), windows)
     EXFILES+=sun/nio/ch/AbstractPollSelectorImpl.java \
 	sun/nio/ch/DevPollArrayWrapper.java \
 	sun/nio/ch/DevPollSelectorImpl.java \
@@ -248,18 +245,24 @@
 
 ifndef OPENJDK
     CLOSED_SRC_DIRS:=$(JDK_TOPDIR)/src/closed/share/classes \
-		     $(JDK_TOPDIR)/src/closed/$(LEGACY_HOST_OS_API)/classes
+		     $(JDK_TOPDIR)/src/closed/$(LEGACY_OPENJDK_TARGET_OS_API)/classes
 endif
 
 MACOSX_SRC_DIRS :=
-ifeq ($(PLATFORM),macosx)
+ifeq ($(OPENJDK_TARGET_OS),macosx)
      MACOSX_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/classes
 
      # this files are duplicated in MACOSX_SRC_DIRS
      EXFILES+= $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/DefaultSelectorProvider.java \
                $(JDK_TOPDIR)/src/solaris/classes/sun/java2d/BackBufferCapsProvider.java \
                $(JDK_TOPDIR)/src/solaris/classes/java/net/DefaultInterface.java \
-	       $(JDK_TOPDIR)/src/solaris/classes/java/lang/ClassLoaderHelper.java
+               $(JDK_TOPDIR)/src/solaris/classes/java/lang/ClassLoaderHelper.java
+
+     # JObjC.jar contains 1.5 byte-code...so skip it here :-(
+     # MACOSX_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/native/jobjc/src
+     # EXCLUDES+= tests/java/com/apple/jobjc
+
+     EXCLUDES+= com/apple/jobjc
 endif
 
 # The exception handling of swing beaninfo
@@ -272,7 +275,7 @@
 $(eval $(call SetupJavaCompilation,BUILD_JDK,\
                 SETUP:=GENERATE_JDKBYTECODE,\
 		SRC:=$(JDK_TOPDIR)/src/share/classes \
-		     $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/classes \
+		     $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/classes \
 		     $(MACOSX_SRC_DIRS) \
 		     $(JDK_OUTPUTDIR)/gensrc \
 		     $(JDK_OUTPUTDIR)/gensrc_swing/javax/swing/beaninfo \
@@ -297,7 +300,7 @@
 JDK_BASE_HEADER_JAVA_FILES:=$(patsubst %,$(JDK_TOPDIR)/src/share/classes/%.java,\
 				$(subst .,/,$(JDK_BASE_HEADER_CLASSES)))
 
-ifeq ($(PLATFORM),windows)
+ifeq ($(OPENJDK_TARGET_OS),windows)
     JDK_BASE_HEADER_CLASSES_WINDOWS:=sun.nio.ch.PollArrayWrapper
     JDK_BASE_HEADER_CLASSES+=$(JDK_BASE_HEADER_CLASSES_WINDOWS)
     JDK_BASE_HEADER_JAVA_FILES+=$(patsubst %,$(JDK_TOPDIR)/src/windows/classes/%.java,\
@@ -348,6 +351,53 @@
 
 ##########################################################################################
 
+ifeq ($(OPENJDK_TARGET_OS),macosx)
+#
+# JObjC.jar is compiled with BOOT_JAVAC which (may) not support the "-h" flag.
+#   so we first compile classes with BOOT_JAVAC and then with JDK_JAVAC :-(
+#
+$(eval $(call SetupJavaCompiler,GENERATE_15BYTECODE,\
+     JAVAC:=$(JAVAC),\
+     FLAGS:=-source 1.5 -target 1.5 -g -bootclasspath $(BOOT_RTJAR) -cp $(JDK_OUTPUTDIR)/../langtools/dist/lib/classes.jar $(DISABLE_WARNINGS),\
+     SERVER_DIR:=$(JAVAC_SERVERS),\
+     SERVER_JVM:=$(SERVER_JAVA),\
+     MODE:=$(JAVAC_USE_MODE),\
+     USE_DEPS:=$(JAVAC_USE_DEPS)))
+
+$(eval $(call SetupJavaCompilation,BUILD_JOBJC_JAR,\
+		SETUP:=GENERATE_15BYTECODE,\
+		SRC:=$(JDK_TOPDIR)/src/macosx/native/jobjc/src/core/java \
+		     $(JDK_TOPDIR)/src/macosx/native/jobjc/src/runtime-additions/java \
+		     $(JDK_OUTPUTDIR)/gensrc, \
+		INCLUDES := com/apple/jobjc,\
+                EXCLUDES := tests/java/com/apple/jobjc,\
+		BIN:=$(JDK_OUTPUTDIR)/jobjc_classes,\
+		JAR:=$(JDK_OUTPUTDIR)/lib/JObjC.jar, \
+		JARINDEX := true))
+
+$(BUILD_JOBJC_JAR) : $(BUILD_JDK)
+
+JARS += $(JDK_OUTPUTDIR)/lib/JObjC.jar
+
+$(eval $(call SetupJavaCompilation,BUILD_JOBJC_HEADERS_JAR,\
+		SETUP:=GENERATE_JDKBYTECODE,\
+		SRC:=$(JDK_TOPDIR)/src/macosx/native/jobjc/src/core/java \
+		     $(JDK_TOPDIR)/src/macosx/native/jobjc/src/runtime-additions/java \
+		     $(JDK_OUTPUTDIR)/gensrc, \
+		INCLUDES := com/apple/jobjc,\
+                EXCLUDES := tests/java/com/apple/jobjc,\
+		BIN:=$(JDK_OUTPUTDIR)/jobjc_classes_headers,\
+		JAR:=$(JDK_OUTPUTDIR)/jobjc_classes_headers/dummy.jar, \
+		HEADERS:=$(JDK_OUTPUTDIR)/gensrc_headers))
+
+$(BUILD_JOBJC_HEADERS_JAR) : $(BUILD_JDK)
+
+JARS += $(JDK_OUTPUTDIR)/jobjc_classes_headers/dummy.jar
+
+endif
+
+##########################################################################################
+
 # copy with -a to preserve timestamps so dependencies down the line aren't messed up
 all: $(BUILD_JDK) $(JARS) $(COPY_EXTRA) $(JDK_OUTPUTDIR)/classes/META-INF/services/com.sun.tools.xjc.Plugin \
 	$(JDK_OUTPUTDIR)/classes/_the.jdk.base.headers
--- a/makefiles/CompileLaunchers.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ b/makefiles/CompileLaunchers.gmk	Wed Aug 01 11:08:11 2012 -0400
@@ -32,17 +32,25 @@
 # Setup the java compilers for the JDK build.
 include Setup.gmk
 
+# Build tools
+include Tools.gmk
+
 BUILD_LAUNCHERS=
 
 define SetupLauncher
     # TODO: Fix mapfile on solaris. Won't work with ld as linker.
     # Parameter 1 is the name of the launcher (java,javac,jar...)
-    # Parameter 2 are extra CFLAGS
-    # Parameter 3 are extra LDFLAGS
-    # Parameter 4 are extra LDFLAGS_SUFFIX_posix
-    # Parameter 5 are extra LDFLAGS_SUFFIX_winapi
+    # Parameter 2 is extra CFLAGS
+    # Parameter 3 is extra LDFLAGS
+    # Parameter 4 is extra LDFLAGS_SUFFIX_posix
+    # Parameter 5 is extra LDFLAGS_SUFFIX_winapi
+    # Parameter 6 is optional Windows JLI library (full path)
+    # Parameter 7 is optional Windows resource (RC) flags
+    # Parameter 8 is optional Windows version resource file (.rc)
+    # Parameter 9  is different output dir
+    # Parameter 10 is FULL DEBUG SYMBOLS (set value to turn OFF, since most(all) seems to have it)
 
-    $1_WINDOWS_JLI_LIB:=$(JDK_OUTPUTDIR)/objs/jli.lib
+    $1_WINDOWS_JLI_LIB:=$(JDK_OUTPUTDIR)/objs/libjli/jli.lib
     ifneq ($6,)
         $1_WINDOWS_JLI_LIB:=$6
     endif
@@ -51,33 +59,73 @@
         $1_VERSION_INFO_RESOURCE:=$8
     endif
 
+    $1_LDFLAGS := $3
+    ifeq ($(OPENJDK_TARGET_OS), macosx)
+        $1_LDFLAGS += -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
+                       -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks
+    endif
+
+    $1_LDFLAGS_SUFFIX :=
+    ifeq ($(USE_EXTERNAL_LIBZ), true)
+        $1_LDFLAGS_SUFFIX += -lz
+    endif
+
+    ifeq ($(OPENJDK_TARGET_OS), macosx)
+        $1_LDFLAGS_SUFFIX += -Wl,-all_load $(JDK_OUTPUTDIR)/objs/libjli_static.a \
+                             -framework Cocoa -framework Security -framework ApplicationServices \
+                             -sectcreate __TEXT __info_plist $(JDK_TOPDIR)/src/macosx/lib/Info-cmdline.plist
+    endif
+
+
+    $1_OUTPUT_DIR_ARG:=$9
+    ifeq (,$$($1_OUTPUT_DIR_ARG))
+        $1_OUTPUT_DIR_ARG:=$(JDK_OUTPUTDIR)/bin
+    endif
+
+    $1_DEBUG_SYMBOLS:=yes
+    ifneq (,$(10))
+      $1_DEBUG_SYMBOLS:=
+    endif
+
+    $1_OPTIMIZATION:= LOW
+
+    # TODO: maybe it's better to move this if-statement out of this function
+    ifeq ($(1),java)
+      $1_OPTIMIZATION:=HIGH
+    endif
+
     $(call SetupNativeCompilation,BUILD_LAUNCHER_$1,\
 	SRC:=$(JDK_TOPDIR)/src/share/bin,\
 	INCLUDE_FILES:=main.c,\
 	LANG:=C,\
-	CFLAGS:=$(CFLAGS_JDKEXE) $(C_O_FLAG_NORM) \
+	OPTIMIZATION :=$$($1_OPTIMIZATION), \
+	CFLAGS:=$(CFLAGS_JDKEXE) \
 		-I$(JDK_TOPDIR)/src/share/bin \
-		-I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/bin \
-		-I$(JDK_TOPDIR)/src/$(PLATFORM)/bin \
+		-I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/bin \
+		-I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS)/bin \
                 -DFULL_VERSION='"$(FULL_VERSION)"' \
                 -DJDK_MAJOR_VERSION='"$(JDK_MAJOR_VERSION)"' \
                 -DJDK_MINOR_VERSION='"$(JDK_MINOR_VERSION)"' \
 		-DLIBARCHNAME='"$(ARCH)"' \
-		-DLAUNCHER_NAME='"openjdk"' \
+		-DLAUNCHER_NAME='"java"' \
 		-DPROGNAME='"$1"' $(DPACKAGEPATH) \
 		$2,\
 	CFLAGS_linux:=-fPIC,\
+        CFLAGS_solaris:=-KPIC -DHAVE_GETHRTIME,\
 	LDFLAGS:=$(LDFLAGS_JDKEXE) \
                  $(call SET_SHARED_LIBRARY_ORIGIN,../lib/$(LIBARCH)/jli) \
                  $(call SET_SHARED_LIBRARY_ORIGIN,../jre/lib/$(LIBARCH)/jli) \
-		 $3,\
+		 $$($1_LDFLAGS),\
 	MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/launchers/mapfile-$(ARCH), \
-        LDFLAGS_SUFFIX:=$(LDFLAGS_JDKEXE_SUFFIX),\
+        LDFLAGS_SUFFIX:=$(LDFLAGS_JDKEXE_SUFFIX) $$($1_LDFLAGS_SUFFIX),\
 	LDFLAGS_SUFFIX_posix:=$4 -lc,\
 	LDFLAGS_SUFFIX_winapi:=$$($1_WINDOWS_JLI_LIB) \
-			       $(JDK_OUTPUTDIR)/objs/java.lib advapi32.lib $5,\
-	BIN:=$(JDK_OUTPUTDIR)/objs/$1_objs,\
-	EXE:=$(JDK_OUTPUTDIR)/objs/$1$(EXE_SUFFIX),\
+			       $(JDK_OUTPUTDIR)/objs/libjava/java.lib advapi32.lib $5,\
+	LDFLAGS_SUFFIX_solaris := -lthread $(LIBDL), \
+	OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/$1_objs,\
+	OUTPUT_DIR:=$$($1_OUTPUT_DIR_ARG),\
+	PROGRAM:=$1,\
+	DEBUG_SYMBOLS:=$$($1_DEBUG_SYMBOLS),\
 	VERSIONINFO_RESOURCE:=$$($1_VERSION_INFO_RESOURCE),\
 	RC_FLAGS:=$(RC_FLAGS)\
 		  /D "JDK_FNAME=$1$(EXE_SUFFIX)" \
@@ -86,13 +134,22 @@
 		  $7,\
 	MANIFEST:=$(JDK_TOPDIR)/src/windows/resource/java.manifest)
 
-    BUILD_LAUNCHERS += $(JDK_OUTPUTDIR)/bin/$1$(EXE_SUFFIX)
+    BUILD_LAUNCHERS += $$(BUILD_LAUNCHER_$1)
+
+    ifeq ($(OPENJDK_TARGET_OS),macosx)
+        $$(BUILD_LAUNCHER_$1) : $(JDK_OUTPUTDIR)/objs/libjli_static.a
+    endif
+
+    ifeq ($(OPENJDK_TARGET_OS),windows)
+        $$(BUILD_LAUNCHER_$1) : $(JDK_OUTPUTDIR)/objs/libjava/java.lib \
+				$$($1_WINDOWS_JLI_LIB)
+    endif    	 
 endef
 
 ##########################################################################################
 
-XLIBS:=-lX11
-ifeq ($(PLATFORM),macosx)
+XLIBS:=$(X_LIBS) -lX11
+ifeq ($(OPENJDK_TARGET_OS),macosx)
     DPACKAGEPATH:=-DPACKAGE_PATH='"$(PACKAGE_PATH)"'
     XLIBS:=
 endif
@@ -108,17 +165,17 @@
     $(JDK_OUTPUTDIR)/objs/jli_static.lib,$(JAVA_RC_FLAGS),\
     $(JDK_TOPDIR)/src/windows/resource/java.rc))
 
-ifeq ($(HOST_OS),windows)
+ifeq ($(OPENJDK_TARGET_OS),windows)
     $(eval $(call SetupLauncher,javaw,\
         -DEXPAND_CLASSPATH_WILDCARDS,,,user32.lib comctl32.lib,\
         $(JDK_OUTPUTDIR)/objs/jli_static.lib,$(JAVA_RC_FLAGS),\
         $(JDK_TOPDIR)/src/windows/resource/java.rc))
 endif
 
-ifeq ($(PLATFORM),solaris)
+ifeq ($(OPENJDK_TARGET_OS),solaris)
     THREAD_LIB:=-lthread
 endif
-ifeq ($(PLATFORM),linux)
+ifeq ($(OPENJDK_TARGET_OS),linux)
     THREAD_LIB:=-lpthread
 endif
 
@@ -271,7 +328,7 @@
 $(eval $(call SetupLauncher,jcmd,\
     -DJAVA_ARGS='{	"-J-ms8m"$(COMMA) "sun.tools.jcmd.JCmd"$(COMMA) }'))
 
-ifeq ($(PLATFORM),windows)
+ifeq ($(OPENJDK_TARGET_OS),windows)
     $(eval $(call SetupLauncher,kinit,\
         -DJAVA_ARGS='{	"-J-ms8m"$(COMMA) "sun.security.krb5.internal.tools.Kinit"$(COMMA) }'))
 
@@ -286,8 +343,10 @@
 # The order of the object files on the link command line affects the size of the resulting
 # binary (at least on linux) which causes the size to differ between old and new build.
 ifeq ($(USE_EXTERNAL_LIBZ), true)
+UNPACKEXE_CFLAGS := -DSYSTEM_ZLIB
 UNPACKEXE_ZIPOBJS := -lz
 else
+UNPACKEXE_CFLAGS := -I$(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5
 UNPACKEXE_ZIPOBJS := 	$(JDK_OUTPUTDIR)/objs/libzip/zcrc32$(OBJ_SUFFIX) \
 		     	$(JDK_OUTPUTDIR)/objs/libzip/deflate$(OBJ_SUFFIX) \
 			$(JDK_OUTPUTDIR)/objs/libzip/trees$(OBJ_SUFFIX) \
@@ -299,27 +358,31 @@
 			$(JDK_OUTPUTDIR)/objs/libzip/inftrees$(OBJ_SUFFIX) \
 			$(JDK_OUTPUTDIR)/objs/libzip/inffast$(OBJ_SUFFIX)
 
+endif
 
-$(JDK_OUTPUTDIR)/bin/unpack200$(EXE_SUFFIX): $(UNPACKEXE_ZIPOBJS)
-
+ifeq ($(OPENJDK_TARGET_CPU_ARCH), sparc)
+     UNPACKEXE_CFLAGS += -xregs=no%appl
 endif
 
 $(eval $(call SetupNativeCompilation,BUILD_UNPACKEXE,\
                 SRC:=$(JDK_TOPDIR)/src/share/native/com/sun/java/util/jar/pack,\
 		EXCLUDE_FILES:=jni.cpp,\
 		LANG:=C,\
-		CFLAGS:=$(CXXFLAGS_JDKEXE) $(CXX_O_FLAG_NORM) \
-			 -DFULL \
-			 -I$(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5,\
+		OPTIMIZATION := LOW, \
+		CFLAGS:=$(UNPACKEXE_CFLAGS) $(CXXFLAGS_JDKEXE)\
+			 -DFULL, \
 		CFLAGS_release:=-DPRODUCT,\
 		CFLAGS_linux:=-fPIC,\
+		CFLAGS_solaris := -KPIC, \
+		CFLAGS_macosx := -fPIC, \
 		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libunpack/mapfile-vers-unpack200, \
 		LDFLAGS:=$(LDFLAGS_JDKEXE) \
 			 $(call SET_SHARED_LIBRARY_ORIGIN), \
 		LDFLAGS_SUFFIX:=$(UNPACKEXE_ZIPOBJS) $(LIBCXX),\
 		LDFLAGS_SUFFIX_solaris:=-lc,\
-		BIN:=$(JDK_OUTPUTDIR)/objs/unpackexe,\
-		EXE:=$(JDK_OUTPUTDIR)/objs/unpack200$(EXE_SUFFIX),\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/unpackexe,\
+		OUTPUT_DIR:=$(JDK_OUTPUTDIR)/bin,\
+		PROGRAM:=unpack200,\
 		VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
 		RC_FLAGS:=$(RC_FLAGS)\
 			  /D "JDK_FNAME=unpack200.exe" \
@@ -327,7 +390,13 @@
 			  /D "JDK_FTYPE=0x1L",\
 		MANIFEST:=$(JDK_TOPDIR)/src/windows/resource/unpack200_proto.exe.manifest))
 
-BUILD_LAUNCHERS += $(JDK_OUTPUTDIR)/bin/unpack200$(EXE_SUFFIX)
+ifneq ($(USE_EXTERNAL_LIBZ), true)
+
+$(BUILD_UNPACKEXE) : $(UNPACKEXE_ZIPOBJS)
+
+endif
+
+BUILD_LAUNCHERS += $(BUILD_UNPACKEXE)
 
 ##########################################################################################
 
@@ -335,7 +404,7 @@
 BUILD_JEXEC := 
 BUILD_JEXEC_SRC :=
 BUILD_JEXEC_INC :=
-BUILD_JEXEC_DST := $(JDK_OUTPUTDIR)/lib/$(LIBARCH)/jexec$(EXE_SUFFIX)
+BUILD_JEXEC_DST_DIR := $(JDK_OUTPUTDIR)/lib/$(LIBARCH)
 
 #
 # UNHANDLED:
@@ -345,30 +414,30 @@
 #
 # jdk/make/java/Makefile
 #
-ifeq ($(PLATFORM), solaris)
+ifeq ($(OPENJDK_TARGET_OS), solaris)
 	ifeq ($(ARCH_DATA_MODEL), 32)
 		BUILD_JEXEC := 1
 	endif
 endif
 
-ifeq ($(PLATFORM), linux)
+ifeq ($(OPENJDK_TARGET_OS), linux)
 	BUILD_JEXEC := 1
-endif # PLATFORM
+endif # OPENJDK_TARGET_OS
 
 #
 # jdk/make/java/jexec/Makefile
 #
 ifeq ($(BUILD_JEXEC), 1)
 
-	ifeq ($(PLATFORM),windows)
-	else ifeq ($(PLATFORM),macosx)
+	ifeq ($(OPENJDK_TARGET_OS),windows)
+	else ifeq ($(OPENJDK_TARGET_OS),macosx)
 		BUILD_JEXEC_SRC := $(JDK_TOPDIR)/src/macosx/bin
 	else
 		BUILD_JEXEC_SRC := $(JDK_TOPDIR)/src/solaris/bin
 	endif
 
-	ifeq ($(PLATFORM), linux)
-		BUILD_JEXEC_DST := $(JDK_OUTPUTDIR)/lib/jexec$(EXE_SUFFIX)
+	ifeq ($(OPENJDK_TARGET_OS), linux)
+                BUILD_JEXEC_DST_DIR := $(JDK_OUTPUTDIR)/lib
 		BUILD_JEXEC_INC += -I$(JDK_TOPDIR)/src/share/bin
 	endif
 endif
@@ -382,13 +451,15 @@
 		SRC:=$(BUILD_JEXEC_SRC),\
 		INCLUDE_FILES:=jexec.c,\
 		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKEXE) $(C_O_FLAG_NORM) \
+		OPTIMIZATION := LOW, \
+		CFLAGS:=$(CFLAGS_JDKEXE)\
                         $(BUILD_JEXEC_INC), \
 		LDFLAGS:=$(LDFLAGS_JDKEXE), \
-		BIN:=$(JDK_OUTPUTDIR)/objs/jexec_obj,\
-		EXE:=$(BUILD_JEXEC_DST)))
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/jexec_obj,\
+		OUTPUT_DIR:=$(BUILD_JEXEC_DST_DIR),\
+		PROGRAM:=jexec))
 
-	BUILD_LAUNCHERS += $(BUILD_JEXEC_DST)
+	BUILD_LAUNCHERS += $(BUILD_JEXEC)
 endif
 
 ##########################################################################################
@@ -397,10 +468,10 @@
 # The java-rmi.cgi script in bin/ only gets delivered in certain situations
 #
 JAVA_RMI_CGI:=$(JDK_OUTPUTDIR)/bin/java-rmi.cgi
-ifeq ($(PLATFORM), linux)
+ifeq ($(OPENJDK_TARGET_OS), linux)
   BUILD_LAUNCHERS += $(JAVA_RMI_CGI)
 endif
-ifeq ($(PLATFORM), solaris)
+ifeq ($(OPENJDK_TARGET_OS), solaris)
   ifeq ($(ARCH_DATA_MODEL), 32)
     BUILD_LAUNCHERS += $(JAVA_RMI_CGI)
   endif
@@ -413,12 +484,13 @@
 # images bin dir. This weird behavior is mimicked here in the converted makefiles for
 # now. Should probably just be deleted.
 # http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6512052
-ifeq ($(HOST_OS_API),winapi)
+ifeq ($(OPENJDK_TARGET_OS_API),winapi)
     $(eval $(call SetupLauncher,java-rmi,\
         -DEXPAND_CLASSPATH_WILDCARDS,\
-        $(call SET_SHARED_LIBRARY_MAPFILE,$(JDK_TOPDIR)/makefiles/java/main/java/mapfile-$(ARCH))))
+        $(call SET_SHARED_LIBRARY_MAPFILE,$(JDK_TOPDIR)/makefiles/java/main/java/mapfile-$(ARCH)),\
+        ,,,,,$(JDK_OUTPUTDIR)/objs))
 
-    $(JAVA_RMI_CGI): $(JDK_OUTPUTDIR)/objs/java-rmi$(EXE_SUFFIX)
+    $(JAVA_RMI_CGI): $(BUILD_LAUNCHER_java-rmi)
 	$(MKDIR) -p $(@D)
 	$(CP) $< $@
 
@@ -432,11 +504,6 @@
 
 ##########################################################################################
 
-$(JDK_OUTPUTDIR)/bin/% : $(JDK_OUTPUTDIR)/objs/%
-	$(ECHO) Copying $(@F)
-	$(MKDIR) -p $(@D)
-	$(CP) $< $@
-
 $(BUILD_LAUNCHERS) : $(JDK_TOPDIR)/makefiles/CompileLaunchers.gmk
 
 all: $(BUILD_LAUNCHERS)
--- a/makefiles/CompileNativeLibraries.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ b/makefiles/CompileNativeLibraries.gmk	Wed Aug 01 11:08:11 2012 -0400
@@ -35,13 +35,16 @@
 # Copy files (can now depend on $(COPY_FILES))
 include CopyFiles.gmk
 
+# Build tools
+include Tools.gmk
+
 # Include the javah generated headers.
 CFLAGS_JDKLIB += -I$(JDK_OUTPUTDIR)/gensrc_headers
 CXXFLAGS_JDKLIB += -I$(JDK_OUTPUTDIR)/gensrc_headers
 
-# Put the libraries here. Different locations for different host apis.
-ifeq ($(HOST_OS_API),posix)
-    ifneq ($(HOST_OS),macosx)
+# Put the libraries here. Different locations for different target apis.
+ifeq ($(OPENJDK_TARGET_OS_API),posix)
+    ifneq ($(OPENJDK_TARGET_OS),macosx)
         INSTALL_LIBRARIES_HERE:=$(JDK_OUTPUTDIR)/lib/$(LIBARCH)
         LIBARCHDIR=$(LIBARCH)/
     else
@@ -52,465 +55,213 @@
     INSTALL_LIBRARIES_HERE:=$(JDK_OUTPUTDIR)/bin
 endif
 
-$(INSTALL_LIBRARIES_HERE)/%$(SHARED_LIBRARY_SUFFIX) : $(JDK_OUTPUTDIR)/objs/%$(SHARED_LIBRARY_SUFFIX)
-	$(ECHO) Copying $(@F)
-	$(CP) $< $@
-
 BUILD_LIBRARIES=
 
-# TODO: Temporary until awt is converted:
-# OBJDIRNAME is the name of the directory where the object code is to
-#   be placed. It's name depends on whether the data model architecture 
-#   is 32-bit or not.
-ifneq ($(ARCH_DATA_MODEL), 32)
-  OBJDIRNAME  = obj$(ARCH_DATA_MODEL)$(OBJDIRNAME_SUFFIX)
-else
-  OBJDIRNAME  = obj$(OBJDIRNAME_SUFFIX)
-endif
+# Absolute paths to lib files on windows for use in LDFLAGS. Should figure out a more
+# elegant solution to this.
+WIN_VERIFY_LIB := $(JDK_OUTPUTDIR)/objs/libverify/verify.lib
+WIN_JAVA_LIB := $(JDK_OUTPUTDIR)/objs/libjava/java.lib
+WIN_AWT_LIB := $(JDK_OUTPUTDIR)/objs/libawt/awt.lib
 
 ##########################################################################################
 
-BUILD_LIBZIP_FILES := \
-        CRC32.c \
-	Adler32.c \
-	Deflater.c \
-	Inflater.c \
-	ZipFile.c \
-	zip_util.c
-
-ifeq ($(USE_EXTERNAL_LIBZ),true)
-	LIBZ := -lz
-else
-BUILD_LIBZIP_FILES += \
-	compress.c \
-	deflate.c \
-	gzclose.c \
-	gzlib.c \
-	gzread.c \
-	gzwrite.c \
-	infback.c \
-	inffast.c \
-	inflate.c \
-	inftrees.c \
-	trees.c \
-	uncompr.c \
-	zadler32.c \
-	zcrc32.c \
-	zutil.c
-	LIBZ_INCLUDE := -I$(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5
+BUILD_LIBFDLIBM_OPTIMIZATION:=HIGH
+
+ifneq ($(OPENJDK_TARGET_OS), solaris)
+      BUILD_LIBFDLIBM_OPTIMIZATION:=NONE
 endif
 
-$(eval $(call SetupNativeCompilation,BUILD_LIBZIP,\
-                SRC:=$(JDK_TOPDIR)/src/share/native/java/util/zip \
-                     $(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5,\
-		INCLUDE_FILES := $(BUILD_LIBZIP_FILES), \
-		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
-                        $(LIBZ_INCLUDE) \
-		        -I$(JDK_TOPDIR)/src/share/native/java/io \
-                        -I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/java/io,\
-		CFLAGS_posix:=-DUSE_MMAP -UDEBUG,\
-		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libzip/mapfile-vers, \
-		LDFLAGS:=$(LDFLAGS_JDKLIB) \
-			 $(EXPORT_ZIP_FUNCS), \
-		LDFLAGS_winapi:=-export:ZIP_Open -export:ZIP_Close -export:ZIP_FindEntry \
-                                -export:ZIP_ReadEntry -export:ZIP_GetNextEntry jvm.lib \
-                                java.lib,\
-		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) $(LIBZ),\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libzip,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)zip$(SHARED_LIBRARY_SUFFIX)))
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)zip$(SHARED_LIBRARY_SUFFIX) : \
-  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)zip$(SHARED_LIBRARY_SUFFIX)
-
-##########################################################################################
-
-LIBUNPACK_LIB_FILE := $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)unpack$(SHARED_LIBRARY_SUFFIX)
-
-$(eval $(call SetupNativeCompilation,BUILD_LIBUNPACK,\
-                SRC:=$(JDK_TOPDIR)/src/share/native/com/sun/java/util/jar/pack,\
-		EXCLUDE_FILES:=main.cpp,\
-		LANG:=C++,\
-		CFLAGS:=$(CXXFLAGS_JDKLIB) $(CXX_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
-			 -DNO_ZLIB -DUNPACK_JNI -DFULL,\
-		CFLAGS_release:=-DPRODUCT,\
-		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libunpack/mapfile-vers, \
-		LDFLAGS:=$(LDFLAGS_JDKLIB)\
-			 $(call SET_SHARED_LIBRARY_ORIGIN),\
-		LDFLAGS_winapi:=-map:$(JDK_OUTPUTDIR)/objs/unpack.map /debug \
-				jvm.lib java.lib,\
-		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
-		LDFLAGS_SUFFIX_posix:=$(LIBCXX),\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libunpack,\
-		LIB:=$(LIBUNPACK_LIB_FILE),\
-		VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
-		RC_FLAGS:=$(RC_FLAGS)\
-			  /D "JDK_FNAME=unpack.dll" \
-			  /D "JDK_INTERNAL_NAME=unpack" \
-			  /D "JDK_FTYPE=0x2L"))
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)unpack$(SHARED_LIBRARY_SUFFIX) : \
-  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)unpack$(SHARED_LIBRARY_SUFFIX)
-
-ifeq ($(HOST_OS_API),winapi)
-    $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)unpack.map: $(LIBUNPACK_LIB_FILE)
-	$(ECHO) Copying $(@F)
-	$(CP) $(patsubst %$(SHARED_LIBRARY_SUFFIX),%.map,$<) $@
-
-    $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)unpack.pdb: $(LIBUNPACK_LIB_FILE)
-	$(ECHO) Copying $(@F)
-	$(CP) $(patsubst %$(SHARED_LIBRARY_SUFFIX),%.pdb,$<) $@
-endif
-
-##########################################################################################
-
-BUILD_LIBFDLIBM_OPTIMIZATION:= $(C_O_FLAG_HI)
-
-ifneq ($(PLATFORM), solaris)
-      BUILD_LIBFDLIBM_OPTIMIZATION := $(C_O_FLAG_NONE)
-endif
-
-ifneq ($(PLATFORM),macosx)
+ifneq ($(OPENJDK_TARGET_OS),macosx)
 $(eval $(call SetupNativeCompilation,BUILD_LIBFDLIBM,\
+                STATIC_LIBRARY:=fdlibm,\
+                OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs,\
                 SRC:=$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/src,\
 		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBFDLIBM_OPTIMIZATION) \
+		OPTIMIZATION:=$(BUILD_LIBFDLIBM_OPTIMIZATION), \
+		CFLAGS:=$(CFLAGS_JDKLIB) \
 			-I$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/include,\
 		CFLAGS_winapi_debug:=-DLOGGING,\
 		ARFLAGS:=$(ARFLAGS),\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libfdlibm,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)fdlibm$(STATIC_LIBRARY_SUFFIX)))
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libfdlibm))
+
+BUILD_LIBRARIES += $(BUILD_LIBFDLIBM)
+
 else
 #
 # On macosx they do partial (incremental) linking of fdlibm
 #   code it here...rather than add support to NativeCompilation
 #   as this is firt time I see it
 $(eval $(call SetupNativeCompilation,BUILD_LIBFDLIBM,\
+                LIBRARY:=fdlibm,\
+                OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs/libfdlibm,\
                 SRC:=$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/src,\
 		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBFDLIBM_OPTIMIZATION) \
+		CFLAGS:=$(CFLAGS_JDKLIB) \
 			-I$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/include,\
-		LDFLAGS := -nostdlib -r,\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libfdlibm,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)fdlibm$(SHARED_LIBRARY_SUFFIX)))
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)fdlibm$(STATIC_LIBRARY_SUFFIX) : \
-	$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)fdlibm$(SHARED_LIBRARY_SUFFIX)
+		LDFLAGS:=-nostdlib -r,\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libfdlibm))
+
+$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)fdlibm$(STATIC_LIBRARY_SUFFIX) : $(BUILD_LIBFDLIBM)
 	$(CP) -a $< $@
-endif
-
 
 BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)fdlibm$(STATIC_LIBRARY_SUFFIX)
-
-##########################################################################################
-
-LIBATTACH_EXCLUDE_FILES:=
-ifneq ($(PLATFORM),solaris)
-    LIBATTACH_EXCLUDE_FILES+=SolarisVirtualMachine.c
-endif
-ifneq ($(PLATFORM),linux)
-    LIBATTACH_EXCLUDE_FILES+=LinuxVirtualMachine.c
-endif
-ifneq ($(PLATFORM),macosx)
-    LIBATTACH_EXCLUDE_FILES+=BsdVirtualMachine.c
-endif
-
-$(eval $(call SetupNativeCompilation,BUILD_LIBATTACH,\
-                SRC:=$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/tools/attach,\
-		EXCLUDE_FILES:=$(LIBATTACH_EXCLUDE_FILES),\
-		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS),\
-		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libattach/mapfile-$(PLATFORM), \
-		LDFLAGS:=$(LDFLAGS_JDKLIB) \
-			 $(call SET_SHARED_LIBRARY_ORIGIN),\
-		LDFLAGS_solaris:=-ldoor,\
-		LDFLAGS_winapi:=psapi.lib advapi32.lib java.lib jvm.lib,\
-		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libattach,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)attach$(SHARED_LIBRARY_SUFFIX)))
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)attach$(SHARED_LIBRARY_SUFFIX) : \
-  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)attach$(SHARED_LIBRARY_SUFFIX)
-
-##########################################################################################
-
-$(eval $(call SetupNativeCompilation,BUILD_LIBDT_SOCKET,\
-                SRC:=$(JDK_TOPDIR)/src/share/transport/socket \
-			$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/transport/socket,\
-		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) -DUSE_MMAP $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
-                        -I$(INCLUDEDIR) -I$(JDK_OUTPUTDIR)/include/$(PLATFORM) \
-                        -I$(JDK_TOPDIR)/src/share/transport/socket \
-		        -I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/transport/socket \
-                        -I$(JDK_TOPDIR)/src/share/back/export \
-                        -I$(JDK_TOPDIR)/src/share/back,\
-		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libdt_socket/mapfile-vers, \
-		LDFLAGS:=$(LDFLAGS_JDKLIB), \
-		LDFLAGS_SUFFIX_linux:=-lpthread,\
-		LDFLAGS_SUFFIX_solaris:=-lnsl -lsocket,\
-		LDFLAGS_SUFFIX_winapi:=-export:jdwpTransport_OnLoad ws2_32.lib,\
-		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libdt_socket,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)dt_socket$(SHARED_LIBRARY_SUFFIX)))
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)dt_socket$(SHARED_LIBRARY_SUFFIX) : \
-  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)dt_socket$(SHARED_LIBRARY_SUFFIX)
-
-##########################################################################################
-
-ifeq ($(HOST_OS_API),winapi)
-
-  $(eval $(call SetupNativeCompilation,BUILD_LIBDT_SHMEM,\
-                SRC:= $(JDK_TOPDIR)/src/share/native/com/sun/tools/jdi \
-			$(JDK_TOPDIR)/src/share/transport/shmem \
-			$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/transport/shmem,\
-		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) -DUSE_MMAP $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS)\
-                        -I$(INCLUDEDIR) -I$(JDK_OUTPUTDIR)/include/$(PLATFORM) \
-                        -I$(JDK_TOPDIR)/src/share/transport/shmem \
-		        -I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/transport/shmem \
-                        -I$(JDK_TOPDIR)/src/share/back/export, \
-		LDFLAGS:=$(LDFLAGS_JDKLIB),\
-		LDFLAGS_winapi:=-export:jdwpTransport_OnLoad,\
-		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libdt_shmem,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)dt_shmem$(SHARED_LIBRARY_SUFFIX)))
-
-  BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)dt_shmem$(SHARED_LIBRARY_SUFFIX)
-
-endif # PLATFORM
-
-##########################################################################################
-# JDWP_LOGGING causes log messages to be compiled into the library. These reference the 
-# __FILE__ macro which here expands to the absolute path of the file while the old build 
-# system used a relative path. This causes the binaries to differ in size.
-$(eval $(call SetupNativeCompilation,BUILD_LIBJDWP,\
-                SRC:=$(JDK_TOPDIR)/src/share/back $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/back,\
-		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) -DJDWP_LOGGING $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS)\
-		 -I$(JDK_TOPDIR)/src/share/transport/export \
-                 -I$(JDK_TOPDIR)/src/share/back/export \
-                 -I$(JDK_TOPDIR)/src/share/npt \
-                 -I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/npt \
-                 -I$(JDK_TOPDIR)/src/share/back \
-                 -I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/back \
-		 -I$(JDK_OUTPUTDIR)/gensrc_jdwp_headers,\
-		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libjdwp/mapfile-vers, \
-		LDFLAGS:=$(filter-out -ljava,$(LDFLAGS_JDKLIB)), \
-		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
-		LDFLAGS_SUFFIX_linux:=$(LIBDL),\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libjdwp,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jdwp$(SHARED_LIBRARY_SUFFIX)))
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jdwp$(SHARED_LIBRARY_SUFFIX) : \
-  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)jdwp$(SHARED_LIBRARY_SUFFIX)
-
-##########################################################################################
-
-LIBJAAS_MAPFILE :=
-ifneq ($(PLATFORM),solaris)
-   LIBJAAS_EXCLUDE_FILES:=Solaris.c
-else
-   # only on solaris...wonder why
-   LIBJAAS_MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libjaas/mapfile-vers
-endif
-
-$(eval $(call SetupNativeCompilation,BUILD_LIBJAAS,\
-                SRC:=$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/com/sun/security/auth/module,\
-		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS),\
-		MAPFILE := $(LIBJAAS_MAPFILE),\
-		LDFLAGS:=$(filter-out -ljava,$(LDFLAGS_JDKLIB)) \
-			 $(call SET_SHARED_LIBRARY_ORIGIN),\
-		LDFLAGS_winapi:=netapi32.lib user32.lib mpr.lib advapi32.lib,\
-		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
-		EXCLUDE_FILES:=$(LIBJAAS_EXCLUDE_FILES),\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libjaas,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jaas$(SHARED_LIBRARY_SUFFIX)))
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jaas$(SHARED_LIBRARY_SUFFIX) : \
-  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
-
-BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jaas$(SHARED_LIBRARY_SUFFIX)
-
-# Oddly enough, it is called jaas_nt.dll under winapi and libjaas_unix.so under posix.
-ifeq ($(PLATFORM),windows)
-    $(INSTALL_LIBRARIES_HERE)/jaas_nt.dll : $(JDK_OUTPUTDIR)/objs/jaas.dll
-	$(ECHO) Copying $(@F)
-	$(CP) $< $@
-    BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/jaas_nt.dll
-else
-    $(INSTALL_LIBRARIES_HERE)/libjaas_unix$(SHARED_LIBRARY_SUFFIX) : $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jaas$(SHARED_LIBRARY_SUFFIX)
-	$(ECHO) Copying $(@F)
-	$(CP) $< $@
-    BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/libjaas_unix$(SHARED_LIBRARY_SUFFIX)
 endif
 
 ##########################################################################################
 
-ifeq ($(HOST_OS_API),posix)
-  # TODO make this work on macosx
-  ifneq ($(HOST_OS),macosx)
-
-    $(eval $(call SetupNativeCompilation,BUILD_LIBSCTP,\
-                SRC:=$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/nio/ch/sctp,\
+BUILD_LIBVERIFY_SRC:=check_code.c check_format.c
+
+ifeq ($(OPENJDK_TARGET_OS), solaris)
+	ifneq ($(ARCH), amd64)
+		BUILD_LIBVERIFY_REORDER:=$(JDK_TOPDIR)/makefiles/mapfiles/libverify/reorder-$(ARCH)
+	endif
+endif
+
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBVERIFY,\
+		LIBRARY:=verify, \
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+		SRC:=$(JDK_TOPDIR)/src/share/native/common,\
+		INCLUDE_FILES:=$(BUILD_LIBVERIFY_SRC),\
 		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS)\
-			-I$(JDK_TOPDIR)/src/share/native/sun/nio/ch \
-			-I$(JDK_TOPDIR)/src/share/native/sun/nio/ch/sctp \
-			-I$(JDK_TOPDIR)/src/share/native/java/net \
-			-I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/nio/ch \
-			-I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/java/net,\
-		CFLAGS_linux:=-Werror,\
-		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libsctp/mapfile-vers, \
+		OPTIMIZATION:=HIGH, \
+		CFLAGS:=$(CFLAGS_JDKLIB),\
+		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libverify/mapfile-vers, \
 		LDFLAGS:=$(LDFLAGS_JDKLIB) \
-			 $(call SET_SHARED_LIBRARY_ORIGIN),\
-		LDFLAGS_SUFFIX_linux:=-lpthread,\
-		LDFLAGS_SUFFIX_posix:=$(LIBDL) -lnio -lnet,\
-		LDFLAGS_SUFFIX_solaris:=-lsocket,\
-		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
-		INCLUDE_FILES:=SctpNet.c SctpChannelImpl.c SctpServerChannelImpl.c,\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libsctp,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)sctp$(SHARED_LIBRARY_SUFFIX)))
-
-    BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)sctp$(SHARED_LIBRARY_SUFFIX)
-
-    $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)sctp$(SHARED_LIBRARY_SUFFIX) : $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)nio$(SHARED_LIBRARY_SUFFIX)
-  endif
-endif
-
-##########################################################################################
-
-$(eval $(call SetupNativeCompilation,BUILD_LIBJSDT,\
-                SRC:=$(JDK_TOPDIR)/src/share/native/sun/tracing/dtrace\
-			$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/tracing/dtrace,\
-		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS)\
-			-I$(JDK_TOPDIR)/src/share/native/sun/tracing/dtrace,\
-		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libjsdt/mapfile-vers, \
-		LDFLAGS:=$(LDFLAGS_JDKLIB) \
-			 $(call SET_SHARED_LIBRARY_ORIGIN),\
-		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) $(LIBDL),\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libjsdt,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jsdt$(SHARED_LIBRARY_SUFFIX)))
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jsdt$(SHARED_LIBRARY_SUFFIX) : \
-  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)jsdt$(SHARED_LIBRARY_SUFFIX)
+			 $(call SET_SHARED_LIBRARY_ORIGIN), \
+		LDFLAGS_SUFFIX_posix:=-ljvm -lc,\
+		LDFLAGS_SUFFIX_windows:=jvm.lib,\
+		REORDER:=$(BUILD_LIBVERIFY_REORDER),\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libverify,\
+		DEBUG_SYMBOLS:=true))
+
+BUILD_LIBRARIES += $(BUILD_LIBVERIFY)
 
 ##########################################################################################
 
-ifdef OPENJDK
-    # TODO: Update awt lib path when awt is converted
-    $(eval $(call SetupNativeCompilation,BUILD_LIBLCMS,\
-                SRC:=$(JDK_TOPDIR)/src/share/native/sun/java2d/cmm/lcms \
-		     $(JDK_TOPDIR)/src/share/native/sun/java2d/,\
-		INCLUDE_FILES:=cmscam02.c cmscgats.c cmscnvrt.c cmserr.c \
-			       cmsgamma.c cmsgmt.c cmsintrp.c cmsio0.c \
-			       cmsio1.c cmslut.c cmsmd5.c cmsmtrx.c \
-			       cmsnamed.c cmsopt.c cmspack.c cmspcs.c \
-			       cmsplugin.c cmsps2.c cmssamp.c cmssm.c \
-			       cmstypes.c cmsvirt.c cmswtpnt.c cmsxform.c \
-			       LCMS.c,\
+LIBJAVA_SRC_DIRS:=$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/java/lang \
+		$(JDK_TOPDIR)/src/share/native/java/lang \
+		$(JDK_TOPDIR)/src/share/native/java/lang/ref \
+		$(JDK_TOPDIR)/src/share/native/java/lang/reflect \
+		$(JDK_TOPDIR)/src/share/native/java/io \
+		$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/java/io \
+		$(JDK_TOPDIR)/src/share/native/java/nio \
+		$(JDK_TOPDIR)/src/share/native/java/security \
+		$(JDK_TOPDIR)/src/share/native/common \
+		$(JDK_TOPDIR)/src/share/native/sun/misc \
+		$(JDK_TOPDIR)/src/share/native/sun/reflect \
+		$(JDK_TOPDIR)/src/share/native/java/sql \
+		$(JDK_TOPDIR)/src/share/native/java/util \
+		$(JDK_TOPDIR)/src/share/native/java/util/concurrent/atomic \
+		$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/common \
+		$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/java/util \
+		$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/security/provider \
+		$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/io
+
+#
+# TODO
+#
+ARCHPROPNAME:=$(LIBARCH)
+ifeq ($(OPENJDK_TARGET_OS)-$(ARCH), solaris-i586)
+     ARCHPROPNAME:=x86
+else ifeq ($(OPENJDK_TARGET_OS)-$(ARCH_DATA_MODEL), windows-32)
+     ARCHPROPNAME:=x86
+else ifeq ($(OPENJDK_TARGET_OS), macosx)
+     ARCHPROPNAME:=$(ARCH)
+endif
+
+LIBJAVA_CFLAGS:=$(foreach dir,$(LIBJAVA_SRC_DIRS),-I$(dir)) \
+		  -I$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/include \
+                  -DARCHPROPNAME='"$(ARCHPROPNAME)"'
+
+LIBJAVA_CFLAGS += -DJDK_MAJOR_VERSION='"$(JDK_MAJOR_VERSION)"' \
+                  -DJDK_MINOR_VERSION='"$(JDK_MINOR_VERSION)"' \
+                  -DJDK_MICRO_VERSION='"$(JDK_MICRO_VERSION)"' \
+                  -DJDK_BUILD_NUMBER='"$(JDK_BUILD_NUMBER)"' 
+
+ifneq (,$(JDK_UPDATE_VERSION))
+	LIBJAVA_CFLAGS += -DJDK_UPDATE_VERSION='"$(JDK_UPDATE_VERSION)"'
+endif
+
+LIBJAVA_EXCLUDE_FILES:=check_code.c check_format.c
+
+ifneq ($(OPENJDK_TARGET_OS),macosx)
+	LIBJAVA_EXCLUDE_FILES += java_props_macosx.c
+else
+	BUILD_LIBJAVA_java_props_md.c_CFLAGS:=-x objective-c
+endif
+
+ifeq ($(OPENJDK_TARGET_OS),windows)
+        LIBJAVA_EXCLUDE_FILES += \
+		UNIXProcess_md.c \
+		UnixFileSystem_md.c \
+		FileSystemPreferences.c
+else
+	LIBJAVA_EXCLUDE_FILES += \
+		ProcessImpl_md.c \
+		Win32FileSystem_md.c \
+		WinNTFileSystem_md.c \
+		dirent_md.c \
+		WindowsPreferences.c \
+		sun/security/provider/WinCAPISeedGenerator.c \
+		sun/io/Win32ErrorMode.c
+endif
+
+ifeq ($(OPENJDK_TARGET_OS), solaris)
+    ifneq ($(ARCH), amd64)
+        LIBJAVA_REORDER:=$(JDK_TOPDIR)/makefiles/mapfiles/libjava/reorder-$(ARCH)
+    endif
+endif
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBJAVA,\
+		LIBRARY:=java,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+		SRC:=$(LIBJAVA_SRC_DIRS),\
+		EXCLUDES:=fdlibm/src zip, \
+		EXCLUDE_FILES:=$(LIBJAVA_EXCLUDE_FILES), \
 		LANG:=C,\
-		CFLAGS:=$(filter-out -xc99=%none,$(CFLAGS_JDKLIB)) $(C_O_FLAG_NORM) \
-			$(SHARED_LIBRARY_FLAGS) \
-			-I$(JDK_TOPDIR)/src/share/native/sun/java2d \
-			-I$(JDK_TOPDIR)/src/share/native/sun/awt/debug,\
-		CFLAGS_solaris:=-xc99=no_lib,\
-		CFLAGS_winapi:=-DCMS_IS_WINDOWS_,\
-		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/liblcms/mapfile-vers, \
-		LDFLAGS:=$(LDFLAGS_JDKLIB), \
-		LDFLAGS_solaris:=/usr/lib$(ISA_DIR)/libm.so.2,\
-		LDFLAGS_winapi:=awt.lib java.lib,\
-		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
-		LDFLAGS_SUFFIX_posix:=-lawt,\
-		LDFLAGS_SUFFIX_linux:=-lm,\
-		BIN:=$(JDK_OUTPUTDIR)/objs/liblcms,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)lcms$(SHARED_LIBRARY_SUFFIX)))
-
-    BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)lcms$(SHARED_LIBRARY_SUFFIX)
-
-    $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)lcms$(SHARED_LIBRARY_SUFFIX) : \
-	$(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt$(SHARED_LIBRARY_SUFFIX)
-endif
+		OPTIMIZATION:=HIGH, \
+		CFLAGS:=$(CFLAGS_JDKLIB) \
+                        $(LIBJAVA_CFLAGS),\
+		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjava/mapfile-vers, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN), \
+		LDFLAGS_windows:=-export:winFileHandleOpen -export:handleLseek \
+				 $(BUILD_LIBFDLIBM) $(WIN_VERIFY_LIB) jvm.lib \
+				 shell32.lib delayimp.lib /DELAYLOAD:shell32.dll \
+				 advapi32.lib,\
+		LDFLAGS_SUFFIX_posix:=-ljvm -lverify, \
+		LDFLAGS_SUFFIX_solaris:=-lnsl -lsocket -lscf $(LIBDL) $(BUILD_LIBFDLIBM) -lc,\
+		LDFLAGS_SUFFIX_linux:=$(LIBDL) $(BUILD_LIBFDLIBM),\
+		LDFLAGS_SUFFIX_macosx:=$(BUILD_LIBFDLIBM) \
+                                         -framework CoreFoundation \
+                                         -framework Security -framework SystemConfiguration, \
+		REORDER:=$(LIBJAVA_REORDER), \
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjava))
+
+BUILD_LIBRARIES += $(BUILD_LIBJAVA)
+
+$(BUILD_LIBJAVA) : $(LIBJLI_BINARY)
+
+$(BUILD_LIBJAVA) : $(BUILD_LIBVERIFY)
+
+$(BUILD_LIBJAVA) : $(BUILD_LIBFDLIBM)
 
 ##########################################################################################
 
-ifdef OPENJDK
-    BUILD_LIBJPEG_MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/mapfile-vers
-else
-    BUILD_LIBJPEG_MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/mapfile-vers-closed
-    BUILD_LIBJPEG_CLOSED_SRC := $(JDK_TOPDIR)/src/closed/share/native/sun/awt/image/jpeg
-    BUILD_LIBJPEG_CLOSED_INCLUDES := -I$(BUILD_LIBJPEG_CLOSED_SRC)
-endif
-
-BUILD_LIBJPEG_REORDER :=
-ifeq ($(PLATFORM), solaris)
-    ifneq ($(ARCH), amd64)
-        BUILD_LIBJPEG_REORDER := $(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/reorder-$(ARCH)
-    endif
-endif
-
-# Suppress gcc warnings like "variable might be clobbered by 'longjmp'
-# or 'vfork'": this warning indicates that some variable is placed to
-# a register by optimized compiler and it's value might be lost on longjmp().
-# Recommended way to avoid such warning is to declare the variable as
-# volatile to prevent the optimization. However, this approach does not
-# work because we have to declare all variables as volatile in result.
-#ifndef CROSS_COMPILE_ARCH
-#    CC_43_OR_NEWER := \
-#        $(shell $(EXPR) $(CC_MAJORVER) \> 4 \| \
-#              \( $(CC_MAJORVER) = 4 \& $(CC_MINORVER) \>= 3 \) )
-#    ifeq ($(CC_43_OR_NEWER),1)
-#        BUILD_LIBJPEG_CFLAGS_linux += -Wno-clobbered
-#    endif
-#endif
-
-$(eval $(call SetupNativeCompilation,BUILD_LIBJPEG,\
-                SRC:=$(BUILD_LIBJPEG_CLOSED_SRC) \
-		     $(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg,\
-		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_HIGHEST) $(SHARED_LIBRARY_FLAGS) \
-			$(BUILD_LIBJPEG_CLOSED_INCLUDES) \
-			-I$(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg,\
-		MAPFILE := $(BUILD_LIBJPEG_MAPFILE), \
-		LDFLAGS:=$(LDFLAGS_JDKLIB) \
-			 $(call SET_SHARED_LIBRARY_ORIGIN),\
-		LDFLAGS_linux:=$(LIBDL),\
-		LDFLAGS_winapi:=java.lib jvm.lib,\
-		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
-		REORDER := $(BUILD_LIBJPEG_REORDER),\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libjpeg,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jpeg$(SHARED_LIBRARY_SUFFIX)))
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jpeg$(SHARED_LIBRARY_SUFFIX) : \
-  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)jpeg$(SHARED_LIBRARY_SUFFIX)
-
-##########################################################################################
-
-BUILD_LIBMLIB_SRC := $(JDK_TOPDIR)/src/share/native/sun/awt/medialib
-BUILD_LIBMLIB_CFLAGS := -D__USE_J2D_NAMES -D__MEDIALIB_OLD_NAMES \
+BUILD_LIBMLIB_SRC:=$(JDK_TOPDIR)/src/share/native/sun/awt/medialib
+BUILD_LIBMLIB_CFLAGS:=-D__USE_J2D_NAMES -D__MEDIALIB_OLD_NAMES \
 			-I$(BUILD_LIBMLIB_SRC) \
-			-I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/awt/medialib 
-
-BUILD_LIBMLIB_LDLIBS :=
-BUILD_LIBMLIB_IMAGE_MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libmlib_image/mapfile-vers
-
-ifneq ($(PLATFORM), sparc)
+			-I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/awt/medialib 
+
+BUILD_LIBMLIB_LDLIBS:=
+BUILD_LIBMLIB_IMAGE_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libmlib_image/mapfile-vers
+
+ifneq ($(OPENJDK_TARGET_OS), sparc)
+#
+# Yes, this will always be true (until someone makes an OS called sparc)
+#   but this is how it was writtin in old system...keep it like this for now
+#
 	BUILD_LIBMLIB_CFLAGS += -DMLIB_NO_LIBSUNMATH
 endif
 
@@ -518,43 +269,44 @@
 	BUILD_LIBMLIB_CFLAGS += -DMLIB_OS64BIT
 endif
 
-ifneq ($(PLATFORM), windows)
+ifneq ($(OPENJDK_TARGET_OS), windows)
 	BUILD_LIBMLIB_LDLIBS += $(LIBM) $(LIBDL)
 endif
 
 $(eval $(call SetupNativeCompilation,BUILD_LIBMLIB_IMAGE,\
-		SRC:=$(BUILD_LIBMLIB_SRC),\
+		LIBRARY:=mlib_image,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+                SRC:=$(BUILD_LIBMLIB_SRC),\
 		EXCLUDE_FILES:=awt_ImagingLib.c mlib_c_ImageBlendTable.c,\
 		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_HIGHEST) $(SHARED_LIBRARY_FLAGS) \
+		OPTIMIZATION:=HIGHEST, \
+		CFLAGS:=$(CFLAGS_JDKLIB) \
                         $(BUILD_LIBMLIB_CFLAGS),\
-		MAPFILE := $(BUILD_LIBMLIB_IMAGE_MAPFILE), \
+		MAPFILE:=$(BUILD_LIBMLIB_IMAGE_MAPFILE), \
 		LDFLAGS:=$(LDFLAGS_JDKLIB) \
                          $(BUILD_LIBMLIB_LDLIBS) \
 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
 		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
-                LDFLAGS_SUFFIX_posix := -lm,\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libmlib_image,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)mlib_image$(SHARED_LIBRARY_SUFFIX)))
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)mlib_image$(SHARED_LIBRARY_SUFFIX) : \
-  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)mlib_image$(SHARED_LIBRARY_SUFFIX)
+                LDFLAGS_SUFFIX_posix:=-lm,\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libmlib_image))
+
+$(BUILD_LIBMLIB_IMAGE) : $(BUILD_LIBJAVA)
+
+BUILD_LIBRARIES += $(BUILD_LIBMLIB_IMAGE)
 
 ##########################################################################################
 
-ifeq ($(PLATFORM),solaris)
+ifeq ($(OPENJDK_TARGET_OS),solaris)
 ifeq ($(ARCH),sparc)
-	BUILD_LIBMLIB_IMAGE_V := 1
+	BUILD_LIBMLIB_IMAGE_V:=1
 else ifeq ($(ARCH), sparcv9)
-	BUILD_LIBMLIB_IMAGE_V := 1
+	BUILD_LIBMLIB_IMAGE_V:=1
 endif
 endif
 
 ifeq ($(BUILD_LIBMLIB_IMAGE_V), 1)
 
-BUILD_LIBMLIB_IMAGE_V_FILES :=  \
+BUILD_LIBMLIB_IMAGE_V_FILES:=\
         mlib_v_ImageLookUp.c \
         mlib_ImageCreate.c \
         mlib_ImageAffine.c \
@@ -648,1185 +400,355 @@
         mlib_ImageUtils.c \
         mlib_ImageDivTables.c
 
-#
-# TODO
-#
-# ASFLAGS += -P
-# INLINE = $(PLATFORM_SRC)/native/sun/awt/medialib/vis_$(ARCH_DATA_MODEL).il
+BUILD_LIBMLIB_V_CFLAGS := $(filter-out -DMLIB_NO_LIBSUNMATH,$(BUILD_LIBMLIB_CFLAGS))
 
 $(eval $(call SetupNativeCompilation,BUILD_LIBMLIB_IMAGE_V,\
-		SRC:=$(JDK_TOPDIR)/src/share/native/sun/awt/medialib \
+		LIBRARY:=mlib_image_v, \
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+                SRC:=$(JDK_TOPDIR)/src/share/native/sun/awt/medialib \
 		     $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib,\
 		LANG:=C,\
-		INCLUDE_FILES := $(BUILD_LIBMLIB_IMAGE_V_FILES),\
-		CFLAGS:=$(BUILD_LIBMLIB_CFLAGS) \
-                        $(CFLAGS_JDKLIB) $(C_O_FLAG_HI) $(SHARED_LIBRARY_FLAGS) \
-		MAPFILE := $(JDK_TOPDIR)/$(BUILD_LIBMLIB_IMAGE_MAPFILE), \
+		INCLUDE_FILES:=$(BUILD_LIBMLIB_IMAGE_V_FILES),\
+		OPTIMIZATION:=HIGHEST, \
+		CFLAGS:=-xarch=sparcvis \
+                      $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib/vis_$(ARCH_DATA_MODEL).il\
+                      $(BUILD_LIBMLIB_V_CFLAGS) \
+                      $(CFLAGS_JDKLIB), \
+		MAPFILE:=$(BUILD_LIBMLIB_IMAGE_MAPFILE), \
 		LDFLAGS:=$(LDFLAGS_JDKLIB) \
                          $(BUILD_LIBMLIB_LDLIBS) \
 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libmlib_image_v,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)mlib_image_v$(SHARED_LIBRARY_SUFFIX)))
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)mlib_image_v$(SHARED_LIBRARY_SUFFIX)
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libmlib_image_v))
+
+BUILD_LIBRARIES += $(BUILD_LIBMLIB_IMAGE_V)
 
 endif
 
 ##########################################################################################
 
-ifndef OPENJDK
-    FONT_HEADERS := -I$(CLOSED_SRC)/share/native/$(PKGDIR)/t2k
-    BUILD_LIBFONTMANAGER_MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libfontmanager/mapfile-vers
-    LIBFONTMANAGER_EXCLUDE_FILES += freetypeScaler.c
-else
-    FONT_HEADERS := $(FREETYPE2_CFLAGS)
-    BUILD_LIBFONTMANAGER_MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libfontmanager/mapfile-vers.openjdk
-    BUILD_LIBFONTMANAGER_FONTLIB := $(FREETYPE2_LIBS)
-endif
-
-ifeq ($(PLATFORM),windows)
-    LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \
-				    X11TextRenderer.c
-else
-    LIBFONTMANAGER_EXCLUDE_FILES += fontpath.c \
-				    lcdglyph.c
-endif
-
-BUILD_LIBFONTMANAGER_CFLAGS_COMMON := $(SHARED_LIBRARY_FLAGS) \
-			-DLE_STANDALONE -DHEADLESS \
-			$(FONT_HEADERS) \
-			-I$(JDK_TOPDIR)/src/share/native/sun/font \
-			-I$(JDK_TOPDIR)/src/share/native/sun/font/layout \
-			-I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
-			-I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/awt \
-			-I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
-			-I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
-			-I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
-			-I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/java2d \
-			-I$(JDK_TOPDIR)/src/share/native/sun/java2d
-
-$(eval $(call SetupNativeCompilation,BUILD_LIBFONTMANAGER,\
-                SRC:=$(JDK_TOPDIR)/src/share/native/sun/font\
-		     $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/font,\
-		EXCLUDE_FILES:=$(LIBFONTMANAGER_EXCLUDE_FILES) \
-			       AccelGlyphCache.c,\
-		LANG:=C++,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBFONTMANAGER_CFLAGS_COMMON),\
-		CXXFLAGS:=$(CXXFLAGS_JDKLIB) $(BUILD_LIBFONTMANAGER_CFLAGS_COMMON),\
-		CFLAGS_posix:=$(C_O_FLAG_HI),\
-		CXXFLAGS_posix:=$(CXX_O_FLAG_HI),\
-		CFLAGS_windows=$(C_O_FLAG_NORM)\
-				-I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/windows \
-				-DCC_NOEX, \
-		MAPFILE := $(BUILD_LIBFONTMANAGER_MAPFILE), \
-		LDFLAGS:=$(subst -Xlinker -z -Xlinker defs,,$(LDFLAGS_JDKLIB)) \
-			 $(call SET_SHARED_LIBRARY_ORIGIN),\
-		LDFLAGS_windows:=advapi32.lib user32.lib gdi32.lib awt.lib java.lib,\
-		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) \
-				$(BUILD_LIBFONTMANAGER_FONTLIB),\
-		LDFLAGS_SUFFIX_linux:=-lawt $(LIBM) $(LIBCXX),\
-		LDFLAGS_SUFFIX_solaris:=-lawt -lawt_xawt -lc $(LIBM) $(LIBCXX),\
-		LDFLAGS_SUFFIX_macosx:=-lawt $(LIBM) $(LIBCXX) -undefined dynamic_lookup,\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libfontmanager,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)fontmanager$(SHARED_LIBRARY_SUFFIX)))
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)fontmanager$(SHARED_LIBRARY_SUFFIX) : \
-	$(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt$(SHARED_LIBRARY_SUFFIX)
-
-ifneq (,$(findstring $(PLATFORM),solaris macosx))
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)fontmanager$(SHARED_LIBRARY_SUFFIX) : \
-	$(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_xawt$(SHARED_LIBRARY_SUFFIX)
-endif
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)fontmanager$(SHARED_LIBRARY_SUFFIX)
-
-##########################################################################################
-
-ifndef OPENJDK
-
-#    ifeq ($(PLATFORM), linux)
-#        ifeq ("$(CC_VER_MAJOR)", "3")
-#            OTHER_LDLIBS  += -Wl,-Bstatic -lgcc_eh -Wl,-Bdynamic
-#        endif                           
-#    endif
-#
-# The resulting size of the t2k lib file is (at least on linux) dependant on the order of 
-# the input .o files. Because of this the new build will differ in size to the old build.
-    BUILD_LIBT2K_CFLAGS_COMMON:=-I$(JDK_TOPDIR)/src/share/native/sun/font \
-		            -I$(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k \
-		            -I$(JDK_TOPDIR)/src/closed/share/native/sun/font \
-		            -I$(JDK_TOPDIR)/src/share/share/native/sun/font \
-		            -I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/font \
-		            -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
-		            -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
-		            -I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/java2d \
-		            -I$(JDK_TOPDIR)/src/share/native/sun/java2d
-
-    $(eval $(call SetupNativeCompilation,BUILD_LIBT2K,\
-                SRC:=$(JDK_TOPDIR)/src/closed/share/native/sun/font \
-		     $(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k \
-		     $(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k/ttHints,\
-		EXCLUDE_FILES:=orion.c,\
-		LANG:=C++,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBT2K_CFLAGS_COMMON) $(C_O_FLAG_HI),\
-		CXXFLAGS:=$(CXXFLAGS_JDKLIB) $(BUILD_LIBT2K_CFLAGS_COMMON) $(CXX_O_FLAG_HI),\
-		CFLAGS_windows=-DCC_NOEX, \
-		CXXFLAGS_windows=-DCC_NOEX, \
-		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libt2k/mapfile-vers, \
-		LDFLAGS:=$(LDFLAGS_JDKLIB) \
-			 $(call SET_SHARED_LIBRARY_ORIGIN),\
-		LDFLAGS_windows:=user32.lib $(JDK_OUTPUTDIR)/objs/fontmanager.lib,\
-		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
-		LDFLAGS_SUFFIX_macosx:=$(LIBCXX) $(LIBM) -lfontmanager,\
-		LDFLAGS_SUFFIX_linux:=$(LIBCXX) $(LIBM) -lfontmanager,\
-		LDFLAGS_SUFFIX_solaris:=$(LIBCXX) $(LIBM) -lfontmanager -lawt \
-					-lawt_xawt,\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libt2k,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)t2k$(SHARED_LIBRARY_SUFFIX)))
-
-    # t2k is linked against fontmanager
-    $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)t2k$(SHARED_LIBRARY_SUFFIX): \
-	$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)fontmanager$(SHARED_LIBRARY_SUFFIX)
-
-    BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)t2k$(SHARED_LIBRARY_SUFFIX)
+LIBAWT_DIRS:=\
+	$(JDK_TOPDIR)/src/share/native/sun/awt \
+	$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/awt \
+	$(JDK_TOPDIR)/src/share/native/sun/awt/image \
+	$(JDK_TOPDIR)/src/share/native/sun/awt/image/gif \
+	$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
+	$(JDK_TOPDIR)/src/share/native/sun/awt/shell \
+	$(JDK_TOPDIR)/src/share/native/sun/awt/medialib \
+	$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
+	$(JDK_TOPDIR)/src/share/native/sun/awt/utility \
+	$(JDK_TOPDIR)/src/share/native/sun/java2d \
+	$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/java2d \
+	$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
+	$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
+	$(JDK_TOPDIR)/src/share/native/sun/awt/image \
+	$(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
+	$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/java2d/opengl \
+	$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/java2d/x11 \
+	$(JDK_TOPDIR)/src/share/native/sun/font \
+	$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/windows \
+	$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/java2d/windows \
+	$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/java2d/d3d
+
+
+LIBAWT_CFLAGS:=-D__MEDIALIB_OLD_NAMES -D__USE_J2D_NAMES \
+	$(X_CFLAGS) \
+	$(foreach dir,$(LIBAWT_DIRS),-I$(dir))
+
+LIBAWT_FILES:=\
+	gifdecoder.c \
+	imageInitIDs.c \
+	img_globals.c \
+	SurfaceData.c \
+	Region.c \
+	BufImgSurfaceData.c \
+	Disposer.c \
+	Trace.c \
+	GraphicsPrimitiveMgr.c \
+	Blit.c \
+	BlitBg.c \
+	ScaledBlit.c \
+	FillRect.c \
+	FillSpans.c \
+	FillParallelogram.c \
+	DrawParallelogram.c \
+	DrawLine.c \
+	DrawRect.c \
+	DrawPolygons.c \
+	DrawPath.c \
+	FillPath.c \
+	ProcessPath.c \
+	MaskBlit.c \
+	MaskFill.c \
+	TransformHelper.c \
+	AlphaMath.c \
+	AlphaMacros.c \
+	AnyByte.c \
+	ByteBinary1Bit.c \
+	ByteBinary2Bit.c \
+	ByteBinary4Bit.c \
+	ByteIndexed.c \
+	ByteGray.c \
+	Index8Gray.c \
+	Index12Gray.c \
+	AnyShort.c \
+	Ushort555Rgb.c \
+	Ushort565Rgb.c \
+	Ushort4444Argb.c \
+	Ushort555Rgbx.c \
+	UshortGray.c \
+	UshortIndexed.c \
+	Any3Byte.c \
+	ThreeByteBgr.c \
+	AnyInt.c \
+	IntArgb.c \
+	IntArgbPre.c \
+	IntArgbBm.c \
+	IntRgb.c \
+	IntBgr.c \
+	IntRgbx.c \
+	Any4Byte.c \
+	FourByteAbgr.c \
+	FourByteAbgrPre.c \
+	BufferedMaskBlit.c \
+	BufferedRenderPipe.c \
+	ShapeSpanIterator.c \
+	SpanClipRenderer.c \
+	awt_ImageRep.c \
+	awt_ImagingLib.c \
+	awt_Mlib.c \
+	awt_parseImage.c \
+	DataBufferNative.c \
+	dither.c \
+	debug_assert.c \
+	debug_mem.c \
+	debug_trace.c \
+	debug_util.c
+
+ifneq (,$(filter $(OPENJDK_TARGET_OS), solaris linux macosx))
+	LIBAWT_FILES += awt_LoadLibrary.c initIDs.c img_colors.c
 endif
 
-##########################################################################################
-
-#
-# TODO replace with X_FLAGS / X_LIBS
-#   and add them to configure
-#
-OPENWIN_LIB := $(OPENWIN_HOME)/lib
-
-BUILD_LIBJAWT_LIB := $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jawt$(SHARED_LIBRARY_SUFFIX)
-
-ifeq ($(PLATFORM), windows)
-    ifeq ($(ARCH_DATA_MODEL), 32)
-        KERNEL32_LIB := kernel32.lib
-    endif
-    $(eval $(call SetupNativeCompilation,BUILD_LIBJAWT,\
-                SRC:=$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/windows,\
-		INCLUDE_FILES:=jawt.cpp,\
-		LANG:=C++,\
-		CFLAGS:=$(CXXFLAGS_JDKLIB) $(CXX_O_FLAG_NORM) \
-			-EHsc -DUNICODE -D_UNICODE \
-			-I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/windows \
-		        -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
-		        -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
-			-I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
-			-I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/java2d/windows, \
-		LDFLAGS:=$(LDFLAGS_JDKLIB) $(KERNEL32_LIB) \
-			 advapi32.lib awt.lib,\
-		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libjawt,\
-		LIB:=$(BUILD_LIBJAWT_LIB)))
-
-$(BUILD_LIBJAWT_LIB) : $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt$(SHARED_LIBRARY_SUFFIX)
-
-$(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX): $(BUILD_LIBJAWT_LIB)
-	$(ECHO) Copying $(@F)
-	$(CP) $< $@
-
-BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX)
-
-else # PLATFORM not windows
-
-    JAWT_LIBS := -lawt
-    ifndef BUILD_HEADLESS_ONLY
-        JAWT_LIBS += -lawt_xawt
-    else
-        JAWT_LIBS += -lawt_headless
-        HEADLESS_CFLAG += -DHEADLESS
-    endif
-
-    JAWT_FILES := jawt.c
-    ifeq ($(PLATFORM), macosx)
-	JAWT_FILES := jawt.m
-	JAWT_LIBS := -lawt_lwawt
-    endif
-
-    $(eval $(call SetupNativeCompilation,BUILD_LIBJAWT,\
-                SRC:=$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/awt \
-                     $(JDK_TOPDIR)/src/macosx/native/sun/awt,\
-		INCLUDE_FILES:=$(JAWT_FILES),\
-		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM), \
-		CFLAGS_linux:=$(HEADLESS_CFLAG),\
-		CFLAGS_macosx := -I$(JDK_TOPDIR)/src/solaris/native/sun/awt ,\
-		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libjawt/mapfile-vers, \
-		LDFLAGS:=$(LDFLAGS_JDKLIB) \
-			 $(call SET_SHARED_LIBRARY_ORIGIN),\
-		LDFLAGS_solaris:=-L$(OPENWIN_HOME)/sfw/lib$(ISA_DIR) -L$(OPENWIN_LIB)$(ISA_DIR),\
-		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) $(JAWT_LIBS),\
-		LDFLAGS_SUFFIX_solaris:=-lXrender,\
-		LDFLAGS_SUFFIX_macosx:= -framework Cocoa, \
-		BIN:=$(JDK_OUTPUTDIR)/objs/libjawt,\
-		LIB:=$(BUILD_LIBJAWT_LIB)))
-
-ifndef BUILD_HEADLESS_ONLY
-$(BUILD_LIBJAWT_LIB) : $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_xawt$(SHARED_LIBRARY_SUFFIX)
-else
-$(BUILD_LIBJAWT_LIB) : $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_headless$(SHARED_LIBRARY_SUFFIX)
+ifeq ($(OPENJDK_TARGET_OS),macosx)
+	LIBAWT_DIRS += $(JDK_TOPDIR)/src/macosx/native/com/apple/resources
+	LIBAWT_FILES += awt_LoadLibrary.c MacOSXResourceBundle.m
+	LIBAWT_CFLAGS += -F/System/Library/Frameworks/JavaVM.framework/Frameworks
+
+	LIBAWT_MacOSXResourceBundle.m_CFLAGS:=-O0
 endif
 
-endif # PLATFORM
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)jawt$(SHARED_LIBRARY_SUFFIX)
-
-
-##########################################################################################
-
-BUILD_LIBVERIFY_SRC := check_code.c check_format.c
-
-ifeq ($(PLATFORM), solaris)
-	ifneq ($(ARCH), amd64)
-		BUILD_LIBVERIFY_REORDER := $(JDK_TOPDIR)/makefiles/mapfiles/libverify/reorder-$(ARCH)
+ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH), solaris-sparc)
+        LIBAWT_CFLAGS += -DMLIB_ADD_SUFF
+        LIBAWT_CFLAGS += -xarch=sparcvis
+	LIBAWT_CFLAGS += $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib/vis_$(ARCH_DATA_MODEL).il
+        LIBAWT_CFLAGS += \
+            -I$(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib \
+            -I$(JDK_TOPDIR)/src/solaris/native/sun/java2d/medialib \
+            -I$(JDK_TOPDIR)/src/solaris/native/sun/java2d/loops
+
+	LIBAWT_DIRS += $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib \
+                       $(JDK_TOPDIR)/src/solaris/native/sun/java2d/loops
+
+	LIBAWT_FILES += \
+                vis_FuncArray.c           \
+                java2d_Mlib.c             \
+                mlib_ImageCreate.c        \
+                mlib_ImageZoom_NN.c       \
+                mlib_ImageCopy_Bit.c      \
+                mlib_sys.c                \
+                mlib_v_ImageClear.c       \
+                mlib_v_ImageClear_f.c     \
+                mlib_v_ImageConstXor.c    \
+                mlib_v_ImageCopy.c        \
+                mlib_v_ImageCopy_f.c      \
+                mlib_v_ImageXor.c         \
+                mlib_v_ImageZoom_NN_f.c   \
+                vis_Interp.c              \
+                vis_AlphaMacros.c         \
+                vis_AlphaMaskBlit.c       \
+                vis_AlphaMaskFill.c       \
+                vis_ByteGray.c            \
+                vis_ByteGray_FromRgb.c    \
+                vis_ByteGray_Mask.c       \
+                vis_ByteIndexed.c         \
+                vis_DrawLine.c            \
+                vis_FourByteAbgr.c        \
+                vis_IntArgb.c             \
+                vis_IntArgbPre.c          \
+                vis_IntArgbPre_Mask.c     \
+                vis_IntBgr.c              \
+                vis_IntRgb.c              \
+                vis_IntRgbx.c             \
+                vis_SrcMaskFill.c         \
+                vis_SrcOverMaskBlit.c     \
+                vis_SrcOverMaskFill.c     \
+                vis_FourByteAbgrPre.c     \
+                vis_GlyphList.c           \
+                vis_GlyphListXor.c        \
+                vis_IntArgbBm.c           \
+                vis_ThreeByteBgr.c        \
+                vis_UshortGray.c          \
+                vis_UshortGray_FromRgb.c  \
+                vis_XorBlit.c             \
+                mlib_v_ImageCopy_blk.s
+
+	ifeq ($(OPENJDK_TARGET_CPU_BITS),64)
+		LIBAWT_ASFLAGS=-P -xarch=v9a
+	else
+		LIBAWT_ASFLAGS=-P -xarch=v8plusa
 	endif
-endif
-
-
-$(eval $(call SetupNativeCompilation,BUILD_LIBVERIFY,\
-		SRC:=$(JDK_TOPDIR)/src/share/native/common,\
-		INCLUDE_FILES:=$(BUILD_LIBVERIFY_SRC),\
-		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_HI) $(SHARED_LIBRARY_FLAGS),\
-		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libverify/mapfile-vers, \
-		LDFLAGS:=$(LDFLAGS_JDKLIB) \
-			 $(call SET_SHARED_LIBRARY_ORIGIN), \
-		LDFLAGS_SUFFIX_posix:=-ljvm -lc,\
-		LDFLAGS_SUFFIX_windows:=jvm.lib,\
-		REORDER := $(BUILD_LIBVERIFY_REORDER),\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libverify,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)verify$(SHARED_LIBRARY_SUFFIX)))
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)verify$(SHARED_LIBRARY_SUFFIX)
-
-##########################################################################################
-
-ifndef OPENJDK
-ifneq ($(PLATFORM), macosx)
-
-BUILD_LIBJDBCODBC_DIR     := $(JDK_OUTPUTDIR)/objs/libjdbcodbc
-BUILD_LIBJDBCODBC_NAME    := $(LIBRARY_PREFIX)JdbcOdbc$(SHARED_LIBRARY_SUFFIX)
-BUILD_LIBJDBCODBC_CFLAGS  := 
-BUILD_LIBJDBCODBC_TARGET  := $(JDK_OUTPUTDIR)/objs/$(BUILD_LIBJDBCODBC_NAME)
-BUILD_LIBJDBCODBC_LIBS    :=
-BUILD_LIBJDBCODBC_LDFLAGS :=
-
-ifeq ($(PLATFORM), windows)
-	BUILD_LIBJDBCODBC_LDFLAGS := $(LDFLAGS_JDKLIB)
-	BUILD_LIBJDBCODBC_LIBS += odbc32.lib odbccp32.lib java.lib advapi32.lib
 else
-	BUILD_LIBJDBCODBC_CFLAGS := -DUNIX
-
-#
-# This mimics "current" build system exactly. Link against fake -lodbcinst -lodbc
-#   but...those are linked with the -soname, causing the dependency to be dropped on linux (gnu ld)
-#   but kept with other linker (solaris)
-#
-# IMO very weird behaviour...very weird
-#
-	BUILD_LIBJDBCODBC_LDFLAGS += $(patsubst defs,nodefs,$(LDFLAGS_JDKLIB)) \
-				      -Xlinker -z -Xlinker nodefs
-	BUILD_LIBJDBCODBC_LIBS += -L$(BUILD_LIBJDBCODBC_DIR) -lodbcinst -lodbc
-	BUILD_LIBJDBCODBC_FAKE_LIBS := $(BUILD_LIBJDBCODBC_DIR)/$(LIBRARY_PREFIX)odbcinst$(SHARED_LIBRARY_SUFFIX) \
-                                       $(BUILD_LIBJDBCODBC_DIR)/$(LIBRARY_PREFIX)odbc$(SHARED_LIBRARY_SUFFIX)
-
-	BUILD_LIBJDBCODBC_SONAME := $(call SET_SHARED_LIBRARY_NAME,$(BUILD_LIBJDBCODBC_NAME))
-endif
-
-ifneq ($(PLATFORM), windows)
-
-$(eval $(call SetupNativeCompilation,BUILD_FAKEODBCINST,\
-		SRC:=$(JDK_OUTPUTDIR)/gensrc_c/libjdbcodbc,\
-		INCLUDE_FILES := dummyodbc1.c,\
-		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS),\
-		LDFLAGS:=$(LDFLAGS_JDKLIB) $(call SET_SHARED_LIBRARY_ORIGIN) $(BUILD_LIBJDBCODBC_LDFLAGS),\
-		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) $(BUILD_LIBJDBCODBC_SONAME),\
-		BIN:=$(BUILD_LIBJDBCODBC_DIR),\
-		LIB:=$(BUILD_LIBJDBCODBC_DIR)/$(LIBRARY_PREFIX)odbcinst$(SHARED_LIBRARY_SUFFIX)))
-
-$(eval $(call SetupNativeCompilation,BUILD_FAKEODBC,\
-		SRC:=$(JDK_OUTPUTDIR)/gensrc_c/libjdbcodbc,\
-		INCLUDE_FILES := dummyodbc2.c,\
-		LANG:=C,\
-		CFLAGS:=$(BUILD_LIBJDBCODBC_CFLAGS) $(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS),\
-		LDFLAGS:=$(LDFLAGS_JDKLIB) $(call SET_SHARED_LIBRARY_ORIGIN) $(BUILD_LIBJDBCODBC_LDFLAGS),\
-		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) $(BUILD_LIBJDBCODBC_SONAME),\
-		BIN:=$(BUILD_LIBJDBCODBC_DIR),\
-		LIB:=$(BUILD_LIBJDBCODBC_DIR)/$(LIBRARY_PREFIX)odbc$(SHARED_LIBRARY_SUFFIX)))
-
-$(BUILD_LIBJDBCODBC_FAKE_LIBS) : \
-  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
-
-$(BUILD_LIBJDBCODBC_TARGET) : $(BUILD_LIBJDBCODBC_FAKE_LIBS)
-
+	LIBAWT_FILES += MapAccelFunc.c
 endif
 
-$(eval $(call SetupNativeCompilation,BUILD_LIBJDBCODBC,\
-		SRC:=$(JDK_TOPDIR)/src/closed/share/classes/sun/jdbc/odbc,\
-		EXCLUDE_FILES := dummyodbc.c,\
-		LANG:=C,\
-		CFLAGS:=$(BUILD_LIBJDBCODBC_CFLAGS) $(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) \
-			$(SHARED_LIBRARY_FLAGS),\
-		LDFLAGS:=$(BUILD_LIBJDBCODBC_LDFLAGS) \
-			 $(call SET_SHARED_LIBRARY_ORIGIN) $(BUILD_LIBJDBCODBC_LIBS),\
-		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) $(BUILD_LIBJDBCODBC_SONAME),\
-		BIN:=$(BUILD_LIBJDBCODBC_DIR),\
-		LIB:=$(BUILD_LIBJDBCODBC_TARGET)))
-
-$(BUILD_LIBJDBCODBC_TARGET) : \
-  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)JdbcOdbc$(SHARED_LIBRARY_SUFFIX)
-
-endif
-endif
-
-##########################################################################################
-
-BUILD_LIBINSTRUMENT_SRC     := $(JDK_TOPDIR)/src/share/instrument \
-                               $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/java/io \
-                               $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/instrument
-
-BUILD_LIBINSTRUMENT_FILES   := \
-	EncodingSupport.c \
-	EncodingSupport_md.c \
-	FileSystemSupport_md.c \
-	InstrumentationImplNativeMethods.c \
-	InvocationAdapter.c \
-	JarFacade.c \
-	JPLISAgent.c \
-	JPLISAssert.c \
-	JavaExceptions.c \
-	PathCharsValidator.c \
-	Reentrancy.c \
-	Utilities.c \
-	canonicalize_md.c
-
-BUILD_LIBINSTRUMENT_DIR     := $(JDK_OUTPUTDIR)/objs/libinstrument
-BUILD_LIBINSTRUMENT_NAME    := $(LIBRARY_PREFIX)instrument$(SHARED_LIBRARY_SUFFIX)
-BUILD_LIBINSTRUMENT_CFLAGS  := -I$(JDK_TOPDIR)/src/share/instrument \
-                               -I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/instrument \
-                               -I$(JDK_TOPDIR)/src/share/bin
-
-BUILD_LIBINSTRUMENT_TARGET  := $(JDK_OUTPUTDIR)/objs/$(BUILD_LIBINSTRUMENT_NAME)
-BUILD_LIBINSTRUMENT_LDFLAGS :=
-BUILD_LIBINSTRUMENT_LDFLAGS_SUFFIX :=
-
-ifeq ($(PLATFORM), windows)
-  BUILD_LIBINSTRUMENT_LDFLAGS += jli_static.lib java.lib \
-				 -export:Agent_OnAttach
-  # equivalent of strcasecmp is stricmp on Windows
-  BUILD_LIBINSTRUMENT_CFLAGS += -Dstrcasecmp=stricmp
-else
-
-ifneq (,$(findstring $(PLATFORM), macosx))
-	ifneq ($(ARCH), universal)
-		BUILD_LIBINSTRUMENT_LDFLAGS += -Wl,-all_load
-	endif
-
-	BUILD_LIBINSTRUMENT_LDFLAGS += $(JDK_OUTPUTDIR)/objs/libjli_static.a
-	BUILD_LIBINSTRUMENT_LDFLAGS += -liconv
-	BUILD_LIBINSTRUMENT_LDFLAGS += -framework Cocoa -framework Security -framework ApplicationServices
-	BUILD_LIBINSTRUMENT_LDFLAGS += $(LIBZ)
-else
-	BUILD_LIBINSTRUMENT_LDFLAGS_SUFFIX += -ljli $(LIBDL)
-endif
+ifneq ($(OPENJDK_TARGET_OS),solaris)
+	LIBAWT_CFLAGS += -DMLIB_NO_LIBSUNMATH
 endif
 
-$(eval $(call SetupNativeCompilation,BUILD_LIBINSTRUMENT,\
-		SRC:=$(BUILD_LIBINSTRUMENT_SRC),\
-		INCLUDE_FILES:=$(BUILD_LIBINSTRUMENT_FILES),\
-		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
-                        $(BUILD_LIBINSTRUMENT_CFLAGS),\
-		CFLAGS_debug := -DJPLIS_LOGGING,\
-		CFLAGS_release := -DNO_JPLIS_LOGGING,\
-		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libinstrument/mapfile-vers, \
-		LDFLAGS:=$(LDFLAGS_JDKLIB) $(call SET_SHARED_LIBRARY_ORIGIN)\
-			 $(call SET_SHARED_LIBRARY_ORIGIN,jli) \
-                         $(BUILD_LIBINSTRUMENT_LDFLAGS),\
-		LDFLAGS_SUFFIX:=$(LIBZ) $(BUILD_LIBINSTRUMENT_LDFLAGS_SUFFIX),\
-		BIN:=$(BUILD_LIBINSTRUMENT_DIR),\
-		LIB:=$(BUILD_LIBINSTRUMENT_TARGET)))
-
-$(BUILD_LIBINSTRUMENT_TARGET) : $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jli_static$(STATIC_LIBRARY_SUFFIX)
-$(BUILD_LIBINSTRUMENT_TARGET) : $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jli$(SHARED_LIBRARY_SUFFIX)
-$(BUILD_LIBINSTRUMENT_TARGET) : $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX)
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(BUILD_LIBINSTRUMENT_NAME)
-
-##########################################################################################
-
-BUILD_LIBMANAGEMENT_SRC := $(JDK_TOPDIR)/src/share/native/sun/management \
-                           $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/management \
-                           $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/com/sun/management
-
-BUILD_LIBMANAGEMENT_EXCLUDES :=
-
-BUILD_LIBMANAGEMENT_CFLAGS := -I$(JDK_TOPDIR)/src/share/native/sun/management
-
-ifneq ($(PLATFORM), windows)
-	BUILD_LIBMANAGEMENT_EXCLUDES += OperatingSystem_md.c
-else
-	BUILD_LIBMANAGEMENT_EXCLUDES += UnixOperatingSystem_md.c
-endif
-
-ifneq ($(PLATFORM),solaris)
-	BUILD_LIBMANAGEMENT_EXCLUDES += SolarisOperatingSystem.c
-endif
-
-ifneq ($(PLATFORM),linux)
-	BUILD_LIBMANAGEMENT_EXCLUDES += LinuxOperatingSystem.c
-endif
-
-ifneq ($(PLATFORM),macosx)
-	BUILD_LIBMANAGEMENT_EXCLUDES += MacosxOperatingSystem.c
+LIBAWT_LANG:=C
+
+ifeq ($(OPENJDK_TARGET_OS),windows)
+	LIBAWT_FILES += AccelGlyphCache.c \
+			ShaderList.c \
+			CmdIDList.cpp \
+			Hashtable.cpp \
+			GDIHashtable.cpp \
+			Devices.cpp \
+			ObjectList.cpp \
+			GDIBlitLoops.cpp \
+			GDIRenderer.cpp \
+			GDIWindowSurfaceData.cpp \
+			WindowsFlags.cpp \
+			WPrinterJob.cpp \
+			awt_%.cpp \
+			D3DBlitLoops.cpp \
+			D3DBufImgOps.cpp \
+			D3DContext.cpp \
+			D3DGlyphCache.cpp \
+			D3DGraphicsDevice.cpp \
+			D3DMaskBlit.cpp \
+			D3DMaskCache.cpp \
+			D3DMaskFill.cpp \
+			D3DPipelineManager.cpp \
+			D3DPaints.cpp \
+			D3DRenderer.cpp \
+			D3DRenderQueue.cpp \
+			D3DResourceManager.cpp \
+			D3DSurfaceData.cpp \
+			D3DTextRenderer.cpp \
+			D3DVertexCacher.cpp \
+			ShellFolder2.cpp \
+			ThemeReader.cpp \
+			ComCtl32Util.cpp \
+			DllUtil.cpp \
+			initIDs.cpp \
+			MouseInfo.cpp \
+			rect.c
+	LIBAWT_LANG:=C++
+	LIBAWT_CFLAGS += $(GX_OPTION) -DUNICODE -D_UNICODE
+	ifeq ($(ARCH_DATA_MODEL), 64)
+		LIBAWT_CFLAGS += -DMLIB_OS64BIT
+	endif
+
+	ifdef OPENJDK
+		LIBAWT_RC_FLAGS:=-i "$(JDK_TOPDIR)/src/windows/resource/icons"
+	else
+		LIBAWT_RC_FLAGS:=-i "$(JDK_TOPDIR)/src/closed/windows/native/sun/windows"
+	endif
+	LIBAWT_VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/native/sun/windows/awt.rc
 endif
 
-
-$(eval $(call SetupNativeCompilation,BUILD_LIBMANAGEMENT,\
-		SRC:=$(BUILD_LIBMANAGEMENT_SRC),\
-		EXCLUDE_FILES:=$(BUILD_LIBMANAGEMENT_EXCLUDES),\
-		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_HI) $(SHARED_LIBRARY_FLAGS) $(BUILD_LIBMANAGEMENT_CFLAGS),\
-		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libmanagement/mapfile-vers, \
-		LDFLAGS:=$(LDFLAGS_JDKLIB) \
-			 $(call SET_SHARED_LIBRARY_ORIGIN),\
-		LDFLAGS_windows := java.lib jvm.lib advapi32.lib psapi.lib,\
-		LDFLAGS_solaris := -lkstat,\
-		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libmanagement,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)management$(SHARED_LIBRARY_SUFFIX)))
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)management$(SHARED_LIBRARY_SUFFIX) : \
-  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)management$(SHARED_LIBRARY_SUFFIX)
-
-##########################################################################################
-
-BUILD_LIBHPROF_SRC := $(JDK_TOPDIR)/src/share/demo/jvmti/hprof $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/demo/jvmti/hprof
-BUILD_LIBHPROF_CFLAGS := -I$(JDK_TOPDIR)/src/share/demo/jvmti/hprof \
-                         -I$(JDK_TOPDIR)/src/share/npt \
-                         -I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/npt \
-                         -I$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo
-
-BUILD_LIBHPROF_LDFLAGS :=
-
-ifeq ($(PLATFORM),solaris)
-     BUILD_LIBHPROF_LDFLAGS += -lsocket -lnsl
+ifeq ($(MILESTONE), internal)
+	LIBAWT_CFLAGS += -DINTERNAL_BUILD
 endif
 
-ifneq ($(PLATFORM),windows)
-     BUILD_LIBHPROF_LDFLAGS += $(LIBDL)
+LIBAWT_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt/mapfile-vers
+ifeq ($(OPENJDK_TARGET_OS),linux)
+	LIBAWT_MAPFILE:=
 endif
 
-$(eval $(call SetupNativeCompilation,BUILD_LIBHPROF,\
-		SRC:=$(BUILD_LIBHPROF_SRC),\
-		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_HIGHEST) $(SHARED_LIBRARY_FLAGS) \
-                         $(BUILD_LIBHPROF_CFLAGS),\
-		CFLAGS_debug := -DHPROF_LOGGING,\
-		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libhprof/mapfile-vers, \
-		LDFLAGS:=$(LDFLAGS_JDKLIB) \
-			 $(call SET_SHARED_LIBRARY_ORIGIN),\
-		LDFLAGS_windows:=wsock32.lib winmm.lib advapi32.lib,\
-		LDFLAGS_SUFFIX:=$(BUILD_LIBHPROF_LDFLAGS),\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libhprof,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)hprof$(SHARED_LIBRARY_SUFFIX)))
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)hprof$(SHARED_LIBRARY_SUFFIX)
-
-##########################################################################################
-
-$(eval $(call SetupNativeCompilation,BUILD_LIBJAVA_CRW_DEMO,\
-		SRC:=$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo,\
-		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
-                        -I$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo,\
-		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libjava_crw_demo/mapfile-vers, \
-		LDFLAGS:=$(LDFLAGS_JDKLIB) \
-			 $(call SET_SHARED_LIBRARY_ORIGIN),\
-		LDFLAGS_SUFFIX:=,\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libjava_crw_demo,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)java_crw_demo$(SHARED_LIBRARY_SUFFIX)))
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java_crw_demo$(SHARED_LIBRARY_SUFFIX)
-
-##########################################################################################
-
-$(eval $(call SetupNativeCompilation,BUILD_LIBNPT,\
-		SRC:=$(JDK_TOPDIR)/src/share/npt $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/npt,\
-		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
-                        -I$(JDK_TOPDIR)/src/share/npt \
-                        -I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/npt,\
-		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libnpt/mapfile-vers, \
-		LDFLAGS:=$(LDFLAGS_JDKLIB) \
-			 $(call SET_SHARED_LIBRARY_ORIGIN),\
-		LDFLAGS_macosx := -liconv,\
-		LDFLAGS_SUFFIX_windows := -export:nptInitialize -export:nptTerminate,\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libnpt,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)npt$(SHARED_LIBRARY_SUFFIX)))
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)npt$(SHARED_LIBRARY_SUFFIX)
+$(eval $(call SetupNativeCompilation,BUILD_LIBAWT,\
+		LIBRARY:=awt,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+		SRC:=$(LIBAWT_DIRS),\
+		INCLUDE_FILES:=$(LIBAWT_FILES),\
+		LANG:=$(LIBAWT_LANG),\
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB) $(LIBAWT_CFLAGS),\
+		ASFLAGS:=$(LIBAWT_ASFLAGS),\
+		MAPFILE:=$(LIBAWT_MAPFILE), \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) $(call SET_SHARED_LIBRARY_ORIGIN),\
+		LDFLAGS_windows:=advapi32.lib kernel32.lib user32.lib gdi32.lib winspool.lib \
+				 imm32.lib ole32.lib uuid.lib shell32.lib \
+				 comdlg32.lib winmm.lib comctl32.lib \
+				 shlwapi.lib delayimp.lib $(WIN_JAVA_LIB) jvm.lib \
+				 /DELAYLOAD:user32.dll /DELAYLOAD:gdi32.dll \
+				 /DELAYLOAD:shell32.dll /DELAYLOAD:winmm.dll \
+				 /DELAYLOAD:winspool.drv /DELAYLOAD:imm32.dll \
+				 /DELAYLOAD:ole32.dll /DELAYLOAD:comdlg32.dll \
+				 /DELAYLOAD:comctl32.dll /DELAYLOAD:shlwapi.dll,\
+		LDFLAGS_macosx:=-lmlib_image \
+                                 -framework Cocoa \
+				 -framework OpenGL \
+				 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
+				 -framework JavaNativeFoundation \
+				 -framework JavaRuntimeSupport \
+				 -framework ApplicationServices \
+				 -framework AudioToolbox,\
+		LDFLAGS_solaris:=-R/usr/dt/lib$(ISA_DIR) -R$(OPENWIN_LIB)$(ISA_DIR),\
+		LDFLAGS_SUFFIX_posix:=-ljvm $(LIBM) -ljava $(LIBDL),\
+		VERSIONINFO_RESOURCE:=$(LIBAWT_VERSIONINFO_RESOURCE),\
+		RC_FLAGS:=$(RC_FLAGS) $(LIBAWT_RC_FLAGS) \
+			  /D "JDK_FNAME=awt.dll" \
+			  /D "JDK_INTERNAL_NAME=awt" \
+			  /D "JDK_FTYPE=0x2L",\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libawt))
+
+$(BUILD_LIBAWT) : $(BUILD_LIBJAVA)
+
+ifeq ($(OPENJDK_TARGET_OS), macosx)
+$(BUILD_LIBAWT) : $(BUILD_LIBMLIB_IMAGE)
+endif
+
+BUILD_LIBRARIES += $(BUILD_LIBAWT)
 
 ##########################################################################################
 
-BUILD_LIBNIO_SRC := \
-        $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/java/nio \
-	$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/nio/ch \
-	$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/nio/fs
-
-BUILD_LIBNIO_CFLAGS := \
-	-I$(JDK_TOPDIR)/src/share/native/sun/nio/ch \
-	-I$(JDK_TOPDIR)/src/share/native/java/io \
-	-I$(JDK_TOPDIR)/src/share/native/java/net \
-        -I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/java/net
-
-BUILD_LIBNIO_FILES := \
-        DatagramChannelImpl.c \
-        DatagramDispatcher.c \
-	FileChannelImpl.c \
-	FileDispatcherImpl.c \
-	FileKey.c \
-	IOUtil.c \
-        MappedByteBuffer.c \
-	Net.c \
-	ServerSocketChannelImpl.c \
-	SocketChannelImpl.c \
-	SocketDispatcher.c
-
-ifeq ($(PLATFORM), windows)
-	BUILD_LIBNIO_FILES += \
-		Iocp.c \
-		RegistryFileTypeDetector.c \
-		WindowsAsynchronousFileChannelImpl.c \
-		WindowsAsynchronousServerSocketChannelImpl.c \
-		WindowsAsynchronousSocketChannelImpl.c \
-		WindowsNativeDispatcher.c \
-	        WindowsSelectorImpl.c
-endif
-
-ifeq ($(PLATFORM), linux)
-	BUILD_LIBNIO_LDFLAGS_SUFFIX := -lpthread $(LIBDL)
-	BUILD_LIBNIO_MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-linux
-	BUILD_LIBNIO_FILES += \
-		EPoll.c \
-		EPollArrayWrapper.c \
-		EPollPort.c \
-		InheritedChannel.c \
-		NativeThread.c \
-	        PollArrayWrapper.c \
-		UnixAsynchronousServerSocketChannelImpl.c \
-		UnixAsynchronousSocketChannelImpl.c \
-		GnomeFileTypeDetector.c \
-		LinuxNativeDispatcher.c \
-		LinuxWatchService.c \
-		UnixCopyFile.c \
-		UnixNativeDispatcher.c
-endif
-
-ifeq ($(PLATFORM), macosx)
-	BUILD_LIBNIO_MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-bsd
-	BUILD_LIBNIO_SRC += $(JDK_TOPDIR)/src/macosx/native/sun/nio/ch
-	BUILD_LIBNIO_FILES += \
-		InheritedChannel.c \
-		NativeThread.c \
-	        PollArrayWrapper.c \
-		UnixAsynchronousServerSocketChannelImpl.c \
-		UnixAsynchronousSocketChannelImpl.c \
-		GnomeFileTypeDetector.c \
-		BsdNativeDispatcher.c \
-		UnixCopyFile.c \
-		UnixNativeDispatcher.c \
-		KQueue.c \
-		KQueuePort.c \
-		KQueueArrayWrapper.c
-endif
-
-ifeq ($(PLATFORM), solaris)
-	BUILD_LIBNIO_LDFLAGS_SUFFIX := $(LIBDL)
-	BUILD_LIBNIO_MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-solaris
-	BUILD_LIBNIO_FILES += \
-		DevPollArrayWrapper.c \
-		InheritedChannel.c \
-		NativeThread.c \
-		PollArrayWrapper.c \
-		SolarisEventPort.c \
-		UnixAsynchronousServerSocketChannelImpl.c \
-		UnixAsynchronousSocketChannelImpl.c \
-		GnomeFileTypeDetector.c \
-		SolarisNativeDispatcher.c \
-		SolarisWatchService.c \
-		UnixCopyFile.c \
-		UnixNativeDispatcher.c
-endif
-
-BUILD_LIBNIO_LDFLAGS :=
-ifeq ($(PLATFORM),windows)
-	BUILD_LIBNIO_LDFLAGS += \
-		java.lib net.lib advapi32.lib jvm.lib ws2_32.lib\
-		$(JDK_OUTPUTDIR)/objs/libjava/io_util.obj \
-		$(JDK_OUTPUTDIR)/objs/libjava/FileDescriptor_md.obj
-endif
-
-ifeq ($(PLATFORM), linux)
-	BUILD_LIBNIO_LDFLAGS_SUFFIX += -ljava -lnet -lpthread $(LIBDL)
-endif
-ifeq ($(PLATFORM), macosx)
-	BUILD_LIBNIO_LDFLAGS_SUFFIX += -ljava -lnet -pthread
-endif
-
-ifeq ($(PLATFORM), solaris)
-	BUILD_LIBNIO_LDFLAGS_SUFFIX += $(JVMLIB) $(LIBSOCKET) -lposix4 $(LIBDL) -lsendfile \
-				       -ljava -lnet
-endif # PLATFORM
-
-
-$(eval $(call SetupNativeCompilation,BUILD_LIBNIO,\
-		SRC:=$(BUILD_LIBNIO_SRC),\
-		INCLUDE_FILES := $(BUILD_LIBNIO_FILES), \
-		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_HI) $(SHARED_LIBRARY_FLAGS) \
-                        $(BUILD_LIBNIO_CFLAGS),\
-		MAPFILE := $(BUILD_LIBNIO_MAPFILE), \
-		LDFLAGS:=$(LDFLAGS_JDKLIB) $(BUILD_LIBNIO_LDFLAGS) \
-			 $(call SET_SHARED_LIBRARY_ORIGIN),\
-		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) $(BUILD_LIBNIO_LDFLAGS_SUFFIX),\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libnio,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)nio$(SHARED_LIBRARY_SUFFIX)))
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)nio$(SHARED_LIBRARY_SUFFIX)
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)nio$(SHARED_LIBRARY_SUFFIX) : $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)net$(SHARED_LIBRARY_SUFFIX) $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
-
-
-##########################################################################################
-
-LIBNET_SRC_DIRS := $(JDK_TOPDIR)/src/share/native/java/net \
-                   $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/java/net \
-                   $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/net/dns \
-                   $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/net/www/protocol/http/ntlm \
-                   $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/net/sdp \
-                   $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/net/spi
-
-LIBNET_CFLAGS := $(foreach dir,$(LIBNET_SRC_DIRS),-I$(dir))
-
-LIBNET_EXCLUDE_FILES:=
-ifneq ($(PLATFORM),linux)
-	LIBNET_EXCLUDE_FILES += linux_close.c
-endif
-
-ifneq ($(PLATFORM),macosx)
-	LIBNET_EXCLUDE_FILES += bsd_close.c
-endif
-
-ifeq ($(PLATFORM),windows)
-	LIBNET_EXCLUDE_FILES += PlainSocketImpl.c PlainDatagramSocketImpl.c SdpSupport.c
-else
-	LIBNET_EXCLUDE_FILES += TwoStacksPlainSocketImpl.c DualStackPlainSocketImpl.c \
-                                TwoStacksPlainDatagramSocketImpl.c DualStackPlainDatagramSocketImpl.c \
-				NTLMAuthSequence.c NetworkInterface_winXP.c
-endif
-
-LIBNET_LDFLAGS_SUFFIX :=
-
-$(eval $(call SetupNativeCompilation,BUILD_LIBNET,\
-		SRC:=$(LIBNET_SRC_DIRS),\
-		EXCLUDE_FILES := $(LIBNET_EXCLUDE_FILES), \
-		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
-                        $(LIBNET_CFLAGS),\
-		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libnet/mapfile-vers, \
-		LDFLAGS:=$(LDFLAGS_JDKLIB) \
-			 $(call SET_SHARED_LIBRARY_ORIGIN),\
-		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) $(LIBNET_LDFLAGS_SUFFIX),\
-		LDFLAGS_SUFFIX_solaris := -lnsl -lsocket $(LIBDL) ,\
-		LDFLAGS_SUFFIX_linux := $(LIBDL) -lpthread ,\
-		LDFLAGS_SUFFIX_windows := ws2_32.lib $(JVMLIB) secur32.lib iphlpapi.lib \
-					  delayimp.lib java.lib jvm.lib advapi32.lib \
-                                          /DELAYLOAD:secur32.dll /DELAYLOAD:iphlpapi.dll, \
-		BIN:=$(JDK_OUTPUTDIR)/objs/libnet,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)net$(SHARED_LIBRARY_SUFFIX)))
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)net$(SHARED_LIBRARY_SUFFIX) : \
-  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)net$(SHARED_LIBRARY_SUFFIX)
-
-$(JDK_OUTPUTDIR)/lib/net.properties: $(JDK_TOPDIR)/src/share/lib/net.properties
-	$(ECHO) Copying $(@F)
-	$(MKDIR) -p $(@D)
-	$(CP) $< $@
-
-COPY_FILES += $(JDK_OUTPUTDIR)/lib/net.properties
-
-ifeq ($(PLATFORM), solaris)
-$(JDK_OUTPUTDIR)/lib/sdp/sdp.conf.template : $(JDK_TOPDIR)/src/${LEGACY_HOST_OS_API}/lib/sdp/sdp.conf.template
-	$(ECHO) Copying $(@F)
-	$(MKDIR) -p $(@D)
-	$(CP) $< $@
-
-COPY_FILES += $(JDK_OUTPUTDIR)/lib/sdp/sdp.conf.template
-endif
-
-##########################################################################################
-
-LIBJAVA_SRC_DIRS := $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/java/lang \
-		$(JDK_TOPDIR)/src/share/native/java/lang \
-		$(JDK_TOPDIR)/src/share/native/java/lang/ref \
-		$(JDK_TOPDIR)/src/share/native/java/lang/reflect \
-		$(JDK_TOPDIR)/src/share/native/java/io \
-		$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/java/io \
-		$(JDK_TOPDIR)/src/share/native/java/nio \
-		$(JDK_TOPDIR)/src/share/native/java/security \
-		$(JDK_TOPDIR)/src/share/native/common \
-		$(JDK_TOPDIR)/src/share/native/sun/misc \
-		$(JDK_TOPDIR)/src/share/native/sun/reflect \
-		$(JDK_TOPDIR)/src/share/native/java/sql \
-		$(JDK_TOPDIR)/src/share/native/java/util \
-		$(JDK_TOPDIR)/src/share/native/java/util/concurrent/atomic \
-		$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/common \
-		$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/java/util \
-		$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/security/provider \
-		$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/io
-
-LIBJAVA_CFLAGS := $(foreach dir,$(LIBJAVA_SRC_DIRS),-I$(dir)) \
-		  -I$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/include \
-                  -DARCHPROPNAME='"$(ARCH)"'
-
-LIBJAVA_CFLAGS += -DJDK_MAJOR_VERSION='"$(JDK_MAJOR_VERSION)"' \
-                  -DJDK_MINOR_VERSION='"$(JDK_MINOR_VERSION)"' \
-                  -DJDK_MICRO_VERSION='"$(JDK_MICRO_VERSION)"' \
-                  -DJDK_BUILD_NUMBER='"$(JDK_BUILD_NUMBER)"' 
-
-ifneq (,$(JDK_UPDATE_VERSION))
-	LIBJAVA_CFLAGS += -DJDK_UPDATE_VERSION='"$(JDK_UPDATE_VERSION)"'
-endif
-
-LIBJAVA_EXCLUDE_FILES:= check_code.c check_format.c
-
-ifneq ($(PLATFORM),macosx)
-	LIBJAVA_EXCLUDE_FILES += java_props_macosx.c
-else
-	BUILD_LIBJAVA_java_props_md.c_CFLAGS := -x objective-c
-endif
-
-ifeq ($(PLATFORM),windows)
-        LIBJAVA_EXCLUDE_FILES += \
-		UNIXProcess_md.c \
-		UnixFileSystem_md.c \
-		FileSystemPreferences.c
-else
-	LIBJAVA_EXCLUDE_FILES += \
-		ProcessImpl_md.c \
-		Win32FileSystem_md.c \
-		WinNTFileSystem_md.c \
-		dirent_md.c \
-		WindowsPreferences.c \
-		sun/security/provider/WinCAPISeedGenerator.c \
-		sun/io/Win32ErrorMode.c
-endif
-
-ifeq ($(PLATFORM), solaris)
-    ifneq ($(ARCH), amd64)
-        LIBJAVA_REORDER := $(JDK_TOPDIR)/makefiles/mapfiles/libjava/reorder-$(ARCH)
-    endif
-endif
-
-LIBJAVA_FDLIBM := $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)fdlibm$(STATIC_LIBRARY_SUFFIX)
-LIBJAVA_VERIFY := $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)verify$(STATIC_LIBRARY_SUFFIX)
-
-$(eval $(call SetupNativeCompilation,BUILD_LIBJAVA,\
-		SRC:=$(LIBJAVA_SRC_DIRS),\
-		EXCLUDES := fdlibm/src zip, \
-		EXCLUDE_FILES := $(LIBJAVA_EXCLUDE_FILES), \
-		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_HI) $(SHARED_LIBRARY_FLAGS) \
-                        $(LIBJAVA_CFLAGS),\
-		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libjava/mapfile-vers, \
-		LDFLAGS:=$(LDFLAGS_JDKLIB) \
-			 $(call SET_SHARED_LIBRARY_ORIGIN), \
-		LDFLAGS_windows:=-export:winFileHandleOpen -export:handleLseek \
-				 $(LIBJAVA_FDLIBM) $(LIBJAVA_VERIFY) jvm.lib \
-				 shell32.lib delayimp.lib /DELAYLOAD:shell32.dll \
-				 advapi32.lib,\
-		LDFLAGS_SUFFIX_posix:=-ljvm -lverify, \
-		LDFLAGS_SUFFIX_solaris := -lnsl -lsocket -lscf $(LIBDL) $(LIBJAVA_FDLIBM) -lc,\
-		LDFLAGS_SUFFIX_linux := $(LIBDL) $(LIBJAVA_FDLIBM),\
-		LDFLAGS_SUFFIX_macosx := $(LIBJAVA_FDLIBM) \
-                                         -framework CoreFoundation \
-                                         -framework Security -framework SystemConfiguration, \
-		REORDER := $(LIBJAVA_REORDER), \
-		BIN:=$(JDK_OUTPUTDIR)/objs/libjava,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX)))
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX)
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) : $(LIBJLI_BINARY)
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) : \
-  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)verify$(SHARED_LIBRARY_SUFFIX)
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) : $(LIBJAVA_FDLIBM)
-
-##########################################################################################
-
-BUILD_LIBJLI_SRC_DIRS := $(JDK_TOPDIR)/src/share/bin $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/bin
-BUILD_LIBJLI_CFLAGS := $(foreach dir,$(BUILD_LIBJLI_SRC_DIRS),-I$(dir))
-
-BUILD_LIBJLI_FILES := \
-	java.c \
-	splashscreen_stubs.c \
-	parse_manifest.c \
-	version_comp.c \
-	wildcard.c \
-	jli_util.c
-
-ifeq ($(JVM_VARIANT_ZERO), true)
-	ERGO_FAMILY := zero
-else # !ZERO_BUILD
-	ifneq (,$(findstring $(ARCH), amd64 x86_64))
-		ERGO_FAMILY := i586
-	else # !X86 FAMILY
-		ERGO_FAMILY := $(ARCH)
-	endif #ARCH_FAMILY
-endif # ZERO_BUILD
-
-ifeq ($(PLATFORM), macosx)
-	BUILD_LIBJLI_CFLAGS += -I$(JDK_TOPDIR)/src/macosx/bin
-	BUILD_LIBJLI_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/bin
-	BUILD_LIBJLI_FILES += java_md_common.c java_md_macosx.c
-
-	BUILD_LIBJLI_java_md_macosx.c_CFLAGS := -x objective-c
-	BUILD_LIBJLI_A_java_md_macosx.c_CFLAGS := -x objective-c
-endif
-
-ifeq ($(PLATFORM), windows)
-	BUILD_LIBJLI_FILES += java_md.c
-else ifneq ($(PLATFORM), macosx)
-
-	BUILD_LIBJLI_FILES += java_md_common.c
-	BUILD_LIBJLI_FILES += java_md_solinux.c ergo.c 
-
-	ERGO_ARCH_FILE = ergo_$(ERGO_FAMILY).c
-
-        # if the architecture specific ergo file exists then
-        # use it, else use the generic definitions from ergo.c
-	ifneq ($(wildcard $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/bin/$(ERGO_ARCH_FILE)),)
-		BUILD_LIBJLI_FILES += $(ERGO_ARCH_FILE)
-	else # !ERGO_ARCH_FILE
-		BUILD_LIBJLI_CFLAGS += -DUSE_GENERIC_ERGO
-	endif # ERGO_ARCH_FILE
-endif #WINDOWS
-
-# Names of arch directories
-BUILD_LIBJLI_CFLAGS += -DLIBARCHNAME='"$(LIBARCH)"'
-ifeq ($(PLATFORM), solaris)
-	ifneq (,$(findstring $(ARCH),sparc))
-		BUILD_LIBJLI_CFLAGS += -DLIBARCH32NAME='"sparc"'
-		BUILD_LIBJLI_CFLAGS += -DLIBARCH64NAME='"sparcv9"'
-	else
-		BUILD_LIBJLI_CFLAGS += -DLIBARCH32NAME='"i386"'
-		BUILD_LIBJLI_CFLAGS += -DLIBARCH64NAME='"amd64"'
-	endif
-endif # PLATFORM
-
-ifeq ($(PLATFORM), macosx)
-	BUILD_LIBJLI_CFLAGS += -DPACKAGE_PATH=\"$(PACKAGE_PATH)\"
-endif
-
-ifneq ($(USE_EXTERNAL_LIBZ),true)
-	BUILD_LIBJLI_SRC_DIRS += $(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5
-	BUILD_LIBJLI_CFLAGS += $(LIBZ_INCLUDE)
-	BUILD_LIBJLI_FILES += \
-		inflate.c \
-		inftrees.c \
-		inffast.c \
-		zadler32.c \
-		zcrc32.c \
-		zutil.c
-endif
-
-$(eval $(call SetupNativeCompilation,BUILD_LIBJLI,\
-		SRC:=$(BUILD_LIBJLI_SRC_DIRS),\
-		INCLUDE_FILES := $(BUILD_LIBJLI_FILES),\
-		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_HI) $(SHARED_LIBRARY_FLAGS) $(BUILD_LIBJLI_CFLAGS),\
-		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libjli/mapfile-vers, \
-		LDFLAGS:=$(LDFLAGS_JDKLIB) \
-			 $(call SET_SHARED_LIBRARY_ORIGIN),\
-		LDFLAGS_SUFFIX := $(LIBZ),\
-		LDFLAGS_SUFFIX_posix := $(LIBDL) -lc,\
-		LDFLAGS_SUFFIX_linux := -lpthread,\
-		LDFLAGS_SUFFIX_windows := \
-			-export:JLI_Launch \
-			-export:JLI_ManifestIterate \
-			-export:JLI_SetTraceLauncher \
-			-export:JLI_ReportErrorMessage \
-			-export:JLI_ReportErrorMessageSys \
-			-export:JLI_ReportMessage \
-			-export:JLI_ReportExceptionDescription \
-			advapi32.lib \
-			comctl32.lib \
-			user32.lib,\
-		LDFLAGS_SUFFIX_macosx := -framework Cocoa -framework Security -framework ApplicationServices, \
-		BIN:=$(JDK_OUTPUTDIR)/objs/libjli,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jli$(SHARED_LIBRARY_SUFFIX)))
-
-ifeq ($(HOST_OS), windows)
-    LIBJLI_BINARY := $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)jli$(SHARED_LIBRARY_SUFFIX)
-else
-    LIBJLI_BINARY := $(INSTALL_LIBRARIES_HERE)/jli/$(LIBRARY_PREFIX)jli$(SHARED_LIBRARY_SUFFIX)
-
-    $(LIBJLI_BINARY) : $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jli$(SHARED_LIBRARY_SUFFIX)
-	$(MKDIR) -p $(@D)
-	$(ECHO) Copying $(@F)
-	$(CP) $< $@
-endif
-BUILD_LIBRARIES += $(LIBJLI_BINARY)
-
-# On windows, the static library has the same suffix as the import library created by
-# with the shared library, so the static library is given a different name. No harm
-# in doing it for all platform to reduce complexity.
-ifneq ($(HOST_OS),macosx)
-    $(eval $(call SetupNativeCompilation,BUILD_LIBJLI_STATIC,\
-		SRC:=$(BUILD_LIBJLI_SRC_DIRS),\
-		INCLUDE_FILES := $(BUILD_LIBJLI_FILES),\
-		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_HI) $(STATIC_LIBRARY_FLAGS) $(BUILD_LIBJLI_CFLAGS),\
-		ARFLAGS:=$(ARFLAGS),\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libjli_static,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jli_static$(STATIC_LIBRARY_SUFFIX)))
-else
-    #
-    # On macosx they do partial (incremental) linking of fdlibm
-    #   code it here...rather than add support to NativeCompilation
-    #   as this is first time I see it
-    $(eval $(call SetupNativeCompilation,BUILD_LIBJLI_A,\
-		SRC:=$(BUILD_LIBJLI_SRC_DIRS),\
-		INCLUDE_FILES := $(BUILD_LIBJLI_FILES),\
-		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_HI) $(BUILD_LIBJLI_CFLAGS),\
-		LDFLAGS := -nostdlib -r,\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libjli_static,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jli_static$(STATIC_LIBRARY_SUFFIX)))
-endif
-
-BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jli_static$(STATIC_LIBRARY_SUFFIX)
-
-##########################################################################################
-
-ifndef OPENJDK
-ifndef JAVASE_EMBEDDED
-
-$(eval $(call SetupNativeCompilation,BUILD_LIBJFR,\
-		SRC:=$(JDK_TOPDIR)/src/closed/share/native/oracle/jfr,\
-		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
-                        -I$(JDK_TOPDIR)/src/closed/share/javavm/export, \
-		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libjfr/mapfile-vers, \
-		LDFLAGS:=$(LDFLAGS_JDKLIB) \
-			 $(call SET_SHARED_LIBRARY_ORIGIN),\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libjfr,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jfr$(SHARED_LIBRARY_SUFFIX)))
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)jfr$(SHARED_LIBRARY_SUFFIX)
-
-endif
-endif
-
-##########################################################################################
-
-ifndef OPENJDK
-
-BUILD_LIBKCMS_EXCLUDE_FILES :=
-ifeq ($(PLATFORM),windows)
-	BUILD_LIBKCMS_EXCLUDE_FILES += ukcpmgr.c unixmem.c
-else
-	BUILD_LIBKCMS_EXCLUDE_FILES += cmmdll.c registry.c spxffile.c sysinfo.c winmem.c wkcpmgr.c
-endif
-
-$(eval $(call SetupNativeCompilation,BUILD_LIBKCMS,\
-		SRC:=$(JDK_TOPDIR)/src/closed/share/native/sun/java2d/cmm/kcms,\
-		LANG:=C,\
-		EXCLUDE_FILES := $(BUILD_LIBKCMS_EXCLUDE_FILES),\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
-                        -DJAVACMM -DFUT_CALC_EX -DNO_FUT_GCONST,\
-		CFLAGS_linux := -Wno-missing-field-initializers,\
-		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libkcms/mapfile-vers, \
-		LDFLAGS:=$(LDFLAGS_JDKLIB) \
-			 $(call SET_SHARED_LIBRARY_ORIGIN),\
-		LDFLAGS_SUFFIX_linux := -lpthread,\
-		LDFLAGS_SUFFIX_windows := java.lib advapi32.lib user32.lib version.lib, \
-		LDFLAGS_SUFFIX:= -lm $(LDFLAGS_JDKLIB_SUFFIX),\
-		VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/closed/share/native/sun/java2d/cmm/kcms/cmm.rc,\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libkcms,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)kcms$(SHARED_LIBRARY_SUFFIX)))
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)kcms$(SHARED_LIBRARY_SUFFIX) : \
-  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)kcms$(SHARED_LIBRARY_SUFFIX)
-
-endif
-
-##########################################################################################
-
-ifndef OPENJDK
-ifeq ($(PLATFORM), solaris)
-ifneq ($(ARCH), amd64)
-
-ifeq ($(shell if test "$(OS_VERSION_MAJOR)" -eq 5 -a "$(OS_VERSION_MINOR)" -le 10; then $(ECHO) ok; fi), ok)
-
-SUNWJDGA_MAPFILE :=
-ifneq (,$(findstring $(ARCH),sparc))
-	SUNWJDGA_MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libjdga/mapfile-vers
-endif
-
-$(eval $(call SetupNativeCompilation,BUILD_LIBSUNWJDGA, \
-		SRC:=$(JDK_TOPDIR)/src/solaris/native/sun/jdga, \
-		LANG:=C, \
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
-			-I$(JDK_TOPDIR)/src/share/javavm/export \
-			-I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/javavm/export \
-			-I$(OPENWIN_HOME)/include, \
-		MAPFILE := $(SUNWJDGA_MAPFILE), \
-		LDFLAGS:=$(LDFLAGS_JDKLIB) \
-			 $(call SET_SHARED_LIBRARY_ORIGIN), \
-		LDFLAGS_SUFFIX:= -L$(OPENWIN_LIB)$(ISA_DIR) -R$(OPENWIN_LIB)$(ISA_DIR) -ldga -lX11 $(LIBDL) -lc, \
-		BIN:=$(JDK_OUTPUTDIR)/objs/libsunwjdga, \
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)sunwjdga$(SHARED_LIBRARY_SUFFIX)))
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)sunwjdga$(SHARED_LIBRARY_SUFFIX)
-
-endif
-endif
-endif
-endif
-
-##########################################################################################
-
-ifeq ($(BUILD_HEADLESS), true)
-ifneq ($(PLATFORM), windows)
-
 # TODO!!
-X11_PATH := /usr/X11R6
-
-LIBAWT_HEADLESS_DIRS := $(JDK_TOPDIR)/src/share/native/sun/font \
-                        $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
-			$(JDK_TOPDIR)/src/solaris/native/sun/font \
-			$(JDK_TOPDIR)/src/solaris/native/sun/awt \
-			$(JDK_TOPDIR)/src/solaris/native/sun/java2d/opengl \
-			$(JDK_TOPDIR)/src/solaris/native/sun/java2d/x11
-
-LIBAWT_HEADLESS_CFLAGS := -DHEADLESS=true \
-                          -DX11_PATH=\"$(X11_PATH)\" -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" \
-			  $(CUPS_CFLAGS) \
-			  -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
-			  -I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/java2d \
-			  -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
-			  -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
-			  -I$(JDK_TOPDIR)/src/share/native/sun/awt/image \
-			  -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
-			  -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
-			  -I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/jdga \
-                          $(foreach dir,$(LIBAWT_HEADLESS_DIRS),-I$(dir))
-
-LIBAWT_HEADLESS_FILES := \
-	awt_Font.c \
-	HeadlessToolkit.c \
-	fontpath.c \
-	VDrawingArea.c \
-	X11Color.c \
-	X11Renderer.c \
-	X11PMBlitLoops.c \
-	X11SurfaceData.c \
-	X11FontScaler_md.c \
-	X11TextRenderer_md.c \
-        OGLBlitLoops.c \
-        OGLBufImgOps.c \
-        OGLContext.c \
-        OGLFuncs.c \
-        OGLMaskBlit.c \
-        OGLMaskFill.c \
-        OGLPaints.c \
-        OGLRenderQueue.c \
-        OGLRenderer.c \
-        OGLSurfaceData.c \
-        OGLTextRenderer.c \
-        OGLVertexCache.c \
-        GLXGraphicsConfig.c \
-        GLXSurfaceData.c \
-        AccelGlyphCache.c \
-	CUPSfuncs.c
-
-LIBAWT_HEADLESS_LDFLAGS_SUFFIX := $(LDFLAGS_JDKLIB_SUFFIX) -lawt -lm
-
-LIBAWT_HEADLESS_REORDER := 
-ifeq ($(PLATFORM), solaris)
-	ifneq ($(ARCH), amd64)
-		LIBAWT_HEADLESS_REORDER := $(JDK_TOPDIR)/makefiles/mapfiles/libawt_headless/reorder-$(ARCH)
-	endif
-endif
-
-$(eval $(call SetupNativeCompilation,BUILD_LIBAWT_HEADLESS,\
-		SRC:=$(LIBAWT_HEADLESS_DIRS),\
-		INCLUDE_FILES := $(LIBAWT_HEADLESS_FILES),\
-		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) $(LIBAWT_HEADLESS_CFLAGS),\
-		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libawt_headless/mapfile-vers, \
-		LDFLAGS:=$(LDFLAGS_JDKLIB) \
-			 $(call SET_SHARED_LIBRARY_ORIGIN),\
-		REORDER := $(LIBAWT_HEADLESS_REORDER), \
-		LDFLAGS_SUFFIX := $(LIBAWT_HEADLESS_LDFLAGS_SUFFIX),\
-		LDFLAGS_SUFFIX_posix := $(LIBDL),\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libawt_headless,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)awt_headless$(SHARED_LIBRARY_SUFFIX)))
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)awt_headless$(SHARED_LIBRARY_SUFFIX) : \
-	$(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt$(SHARED_LIBRARY_SUFFIX)
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_headless$(SHARED_LIBRARY_SUFFIX)
-
-endif
-endif
-
-##########################################################################################
-
-ifneq ($(PLATFORM), windows)
+# Even though this variable as a general name, it is
+# only used on macos, in fontpath.c, as prefix for where to find fonts.
+#
+# It's used for libawt_headless _and_ libawt_xawt
+#
+X11_PATH:=/usr/X11R6
+
+ifneq ($(OPENJDK_TARGET_OS), windows)
 ifndef BUILD_HEADLESS_ONLY
 
-LIBAWT_XAWT_DIRS := \
+LIBAWT_XAWT_DIRS:=\
 		$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
 		$(JDK_TOPDIR)/src/share/native/sun/awt/utility \
 		$(JDK_TOPDIR)/src/share/native/sun/font \
-		$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/font \
+		$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/font \
 		$(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
-		$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/awt \
-		$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/java2d/opengl \
-		$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/java2d/x11 \
-		$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/xawt \
-
-LIBAWT_XAWT_CFLAGS := -DXAWT -DXAWT_HACK \
+		$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/awt \
+		$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/java2d/opengl \
+		$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/java2d/x11 \
+		$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/xawt \
+
+LIBAWT_XAWT_CFLAGS:=-DXAWT -DXAWT_HACK \
         -DX11_PATH=\"$(X11_PATH)\" -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" \
 	$(CUPS_CFLAGS) \
 	$(foreach dir,$(LIBAWT_XAWT_DIRS),-I$(dir)) \
 	-I$(JDK_TOPDIR)/src/share/native/sun/java2d \
-	-I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/java2d \
+	-I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/java2d \
 	-I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
 	-I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
 	-I$(JDK_TOPDIR)/src/share/native/sun/awt/image \
 	-I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
 	-I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
-	-I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/jdga
-
-ifeq ($(PLATFORM),solaris)
+	-I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/jdga
+
+ifeq ($(OPENJDK_TARGET_OS),solaris)
 	LIBAWT_XAWT_CFLAGS += -DFUNCPROTO=15
 endif
 
@@ -1834,7 +756,7 @@
 	LIBAWT_XAWT_CFLAGS += -DINTERNAL_BUILD
 endif
 
-LIBAWT_XAWT_FILES := \
+LIBAWT_XAWT_FILES:=\
 	XlibWrapper.c \
 	XWindow.c \
 	XToolkit.c \
@@ -1891,40 +813,1505 @@
 	XRSurfaceData.c \
 	XRBackendNative.c
 
-LIBAWT_XAWT_LDFLAGS_SUFFIX := $(LIBM) -lawt -lXext -lX11 -lXrender $(LIBDL) -lXtst -lXi  -ljava -lverify -ljvm -lc
-
-ifeq ($(PLATFORM), linux)
+LIBAWT_XAWT_LDFLAGS_SUFFIX:=$(LIBM) -lawt -lXext -lX11 -lXrender $(LIBDL) -lXtst -lXi  -ljava -ljvm -lc
+
+ifeq ($(OPENJDK_TARGET_OS), linux)
 	LIBAWT_XAWT_LDFLAGS_SUFFIX += -lpthread
 endif
 
-ifeq ($(PLATFORM), macosx)
+ifeq ($(OPENJDK_TARGET_OS), macosx)
 	LIBAWT_XAWT_LDFLAGS_SUFFIX += -lpthread
 endif
 
 $(eval $(call SetupNativeCompilation,BUILD_LIBAWT_XAWT,\
+		LIBRARY:=awt_xawt,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
 		SRC:=$(LIBAWT_XAWT_DIRS),\
-		INCLUDE_FILES := $(LIBAWT_XAWT_FILES),\
+		INCLUDE_FILES:=$(LIBAWT_XAWT_FILES),\
 		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) $(LIBAWT_XAWT_CFLAGS) \
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB) $(LIBAWT_XAWT_CFLAGS) \
                         $(X_CFLAGS),\
-		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libawt_xawt/mapfile-vers, \
+		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt_xawt/mapfile-vers, \
 		LDFLAGS:=$(LDFLAGS_JDKLIB) \
 			 $(call SET_SHARED_LIBRARY_ORIGIN) \
 			 $(X_LIBS),\
-		LDFLAGS_solaris:=-L$(OPENWIN_HOME)/sfw/lib$(ISA_DIR) -L$(OPENWIN_LIB)$(ISA_DIR) \
-				 -R$(OPENWIN_HOME)/sfw/lib$(ISA_DIR) -R$(OPENWIN_LIB)$(ISA_DIR) \
+		LDFLAGS_solaris:=-L$(OPENWIN_HOME)/sfw/lib$(ISA_DIR) -L$(OPENWIN_HOME)/lib$(ISA_DIR) \
+				 -R$(OPENWIN_HOME)/sfw/lib$(ISA_DIR) -R$(OPENWIN_HOME)/lib$(ISA_DIR) \
 				 -R/usr/dt/lib$(ISA_DIR),\
-		LDFLAGS_SUFFIX := $(LIBAWT_XAWT_LDFLAGS_SUFFIX),\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libawt_xawt,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)awt_xawt$(SHARED_LIBRARY_SUFFIX)))
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)awt_xawt$(SHARED_LIBRARY_SUFFIX) : \
-	$(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX)
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)awt_xawt$(SHARED_LIBRARY_SUFFIX) : \
-	$(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt$(SHARED_LIBRARY_SUFFIX)
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_xawt$(SHARED_LIBRARY_SUFFIX)
+		LDFLAGS_SUFFIX:=$(LIBAWT_XAWT_LDFLAGS_SUFFIX),\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libawt_xawt))
+
+$(BUILD_LIBAWT_XAWT) : $(BUILD_LIBJAVA)
+
+$(BUILD_LIBAWT_XAWT) : $(BUILD_LIBAWT)
+
+BUILD_LIBRARIES += $(BUILD_LIBAWT_XAWT)
+
+endif
+endif
+
+##########################################################################################
+
+BUILD_LIBZIP_FILES:=\
+        CRC32.c \
+	Adler32.c \
+	Deflater.c \
+	Inflater.c \
+	ZipFile.c \
+	zip_util.c
+
+ifeq ($(USE_EXTERNAL_LIBZ),true)
+	LIBZ:=-lz
+else
+BUILD_LIBZIP_FILES += \
+	compress.c \
+	deflate.c \
+	gzclose.c \
+	gzlib.c \
+	gzread.c \
+	gzwrite.c \
+	infback.c \
+	inffast.c \
+	inflate.c \
+	inftrees.c \
+	trees.c \
+	uncompr.c \
+	zadler32.c \
+	zcrc32.c \
+	zutil.c
+LIBZ_INCLUDE:=-I$(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5
+endif
+
+BUILD_LIBZIP_REORDER:=
+ifeq ($(OPENJDK_TARGET_OS), solaris)
+    ifneq ($(ARCH), amd64)
+        BUILD_LIBZIP_REORDER:=$(JDK_TOPDIR)/makefiles/mapfiles/libzip/reorder-$(ARCH)
+    endif
+endif
+
+ifeq ($(LIBZIP_CAN_USE_MMAP), true)
+     BUILD_LIBZIP_MMAP:=-DUSE_MMAP
+endif
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBZIP,\
+                LIBRARY:=zip,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+                SRC:=$(JDK_TOPDIR)/src/share/native/java/util/zip \
+                     $(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5,\
+		INCLUDE_FILES:=$(BUILD_LIBZIP_FILES), \
+		LANG:=C,\
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB) \
+                        $(LIBZ_INCLUDE) \
+		        -I$(JDK_TOPDIR)/src/share/native/java/io \
+                        -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/java/io,\
+		CFLAGS_posix:=$(BUILD_LIBZIP_MMAP) -UDEBUG,\
+		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libzip/mapfile-vers, \
+		REORDER:=$(BUILD_LIBZIP_REORDER), \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) \
+			 $(EXPORT_ZIP_FUNCS), \
+		LDFLAGS_winapi:=-export:ZIP_Open -export:ZIP_Close -export:ZIP_FindEntry \
+                                -export:ZIP_ReadEntry -export:ZIP_GetNextEntry jvm.lib \
+                                $(WIN_JAVA_LIB),\
+		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) $(LIBZ),\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libzip))
+
+$(BUILD_LIBZIP) : $(BUILD_LIBJAVA)
+
+BUILD_LIBRARIES += $(BUILD_LIBZIP)
+
+##########################################################################################
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBUNPACK,\
+		LIBRARY:=unpack, \
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+                SRC:=$(JDK_TOPDIR)/src/share/native/com/sun/java/util/jar/pack,\
+		EXCLUDE_FILES:=main.cpp,\
+		LANG:=C++,\
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CXXFLAGS_JDKLIB) \
+			 -DNO_ZLIB -DUNPACK_JNI -DFULL,\
+		CFLAGS_release:=-DPRODUCT,\
+		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libunpack/mapfile-vers, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB)\
+			 $(call SET_SHARED_LIBRARY_ORIGIN),\
+		LDFLAGS_winapi:=-map:$(JDK_OUTPUTDIR)/objs/unpack.map /debug \
+				jvm.lib $(WIN_JAVA_LIB),\
+		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
+		LDFLAGS_SUFFIX_posix:=$(LIBCXX),\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libunpack,\
+		VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
+		RC_FLAGS:=$(RC_FLAGS)\
+			  /D "JDK_FNAME=unpack.dll" \
+			  /D "JDK_INTERNAL_NAME=unpack" \
+			  /D "JDK_FTYPE=0x2L"))
+
+$(BUILD_LIBUNPACK) : $(BUILD_LIBJAVA)
+
+BUILD_LIBRARIES += $(BUILD_LIBUNPACK)
+
+ifeq ($(OPENJDK_TARGET_OS_API),winapi)
+    $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)unpack.map: $(BUILD_LIBUNPACK)
+	$(ECHO) Copying $(@F)
+	$(CP) $(patsubst %$(SHARED_LIBRARY_SUFFIX),%.map,$<) $@
+
+    $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)unpack.pdb: $(BUILD_LIBUNPACK)
+	$(ECHO) Copying $(@F)
+	$(CP) $(patsubst %$(SHARED_LIBRARY_SUFFIX),%.pdb,$<) $@
+endif
+
+##########################################################################################
+
+LIBATTACH_EXCLUDE_FILES:=
+ifneq ($(OPENJDK_TARGET_OS),solaris)
+    LIBATTACH_EXCLUDE_FILES+=SolarisVirtualMachine.c
+endif
+ifneq ($(OPENJDK_TARGET_OS),linux)
+    LIBATTACH_EXCLUDE_FILES+=LinuxVirtualMachine.c
+endif
+ifneq ($(OPENJDK_TARGET_OS),macosx)
+    LIBATTACH_EXCLUDE_FILES+=BsdVirtualMachine.c
+endif
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBATTACH,\
+		LIBRARY:=attach, \
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+                SRC:=$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/tools/attach,\
+		EXCLUDE_FILES:=$(LIBATTACH_EXCLUDE_FILES),\
+		LANG:=C,\
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB),\
+		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libattach/mapfile-$(OPENJDK_TARGET_OS), \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN),\
+		LDFLAGS_solaris:=-ldoor,\
+		LDFLAGS_winapi:=psapi.lib advapi32.lib $(WIN_JAVA_LIB) jvm.lib,\
+		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libattach,\
+		DEBUG_SYMBOLS:=true))
+
+$(BUILD_LIBATTACH) : $(BUILD_LIBJAVA)
+
+BUILD_LIBRARIES += $(BUILD_LIBATTACH)
+
+##########################################################################################
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBDT_SOCKET,\
+		LIBRARY:=dt_socket,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+                SRC:=$(JDK_TOPDIR)/src/share/transport/socket \
+			$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/transport/socket,\
+		LANG:=C,\
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB) -DUSE_MMAP \
+                        -I$(INCLUDEDIR) -I$(JDK_OUTPUTDIR)/include/$(OPENJDK_TARGET_OS) \
+                        -I$(JDK_TOPDIR)/src/share/transport/socket \
+		        -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/transport/socket \
+                        -I$(JDK_TOPDIR)/src/share/back/export \
+                        -I$(JDK_TOPDIR)/src/share/back,\
+		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libdt_socket/mapfile-vers, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB), \
+		LDFLAGS_SUFFIX_linux:=$(LDFLAGS_JDKLIB_SUFFIX) -lpthread,\
+		LDFLAGS_SUFFIX_solaris:=-lnsl -lsocket,\
+		LDFLAGS_SUFFIX_winapi:=$(LDFLAGS_JDKLIB_SUFFIX) -export:jdwpTransport_OnLoad ws2_32.lib,\
+		LDFLAGS_SUFFIX:=,\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libdt_socket,\
+		DEBUG_SYMBOLS:=true))
+
+$(BUILD_LIBDT_SOCKET) : $(BUILD_LIBJAVA)
+
+BUILD_LIBRARIES += $(BUILD_LIBDT_SOCKET)
+
+##########################################################################################
+
+ifeq ($(OPENJDK_TARGET_OS_API),winapi)
+
+  $(eval $(call SetupNativeCompilation,BUILD_LIBDT_SHMEM,\
+		LIBRARY:=dt_shmem,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+                SRC:=$(JDK_TOPDIR)/src/share/native/com/sun/tools/jdi \
+			$(JDK_TOPDIR)/src/share/transport/shmem \
+			$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/transport/shmem,\
+		LANG:=C,\
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB) -DUSE_MMAP\
+                        -I$(INCLUDEDIR) -I$(JDK_OUTPUTDIR)/include/$(OPENJDK_TARGET_OS) \
+                        -I$(JDK_TOPDIR)/src/share/transport/shmem \
+		        -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/transport/shmem \
+                        -I$(JDK_TOPDIR)/src/share/back/export, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB),\
+		LDFLAGS_winapi:=-export:jdwpTransport_OnLoad,\
+		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libdt_shmem))
+
+  BUILD_LIBRARIES += $(BUILD_LIBDT_SHMEM)
+
+endif # OPENJDK_TARGET_OS
+
+##########################################################################################
+# JDWP_LOGGING causes log messages to be compiled into the library. These reference the 
+# __FILE__ macro which here expands to the absolute path of the file while the old build 
+# system used a relative path. This causes the binaries to differ in size.
+$(eval $(call SetupNativeCompilation,BUILD_LIBJDWP,\
+		LIBRARY:=jdwp, \
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+                SRC:=$(JDK_TOPDIR)/src/share/back $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/back,\
+		LANG:=C,\
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB) -DJDWP_LOGGING\
+		 -I$(JDK_TOPDIR)/src/share/transport/export \
+                 -I$(JDK_TOPDIR)/src/share/back/export \
+                 -I$(JDK_TOPDIR)/src/share/npt \
+                 -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/npt \
+                 -I$(JDK_TOPDIR)/src/share/back \
+                 -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/back \
+		 -I$(JDK_OUTPUTDIR)/gensrc_jdwp_headers,\
+		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjdwp/mapfile-vers, \
+		LDFLAGS:=$(filter-out -ljava,$(LDFLAGS_JDKLIB)), \
+		LDFLAGS_SUFFIX_linux:=$(LDFLAGS_JDKLIB_SUFFIX) $(LIBDL),\
+		LDFLAGS_SUFFIX_solaris:=$(LIBDL),\
+		LDFLAGS_SUFFIX_windows:=$(LDFLAGS_JDKLIB_SUFFIX),\
+		LDFLAGS_SUFFIX:=,\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjdwp))
+
+$(BUILD_LIBJDWP) : $(BUILD_LIBJAVA)
+
+BUILD_LIBRARIES += $(BUILD_LIBJDWP)
+
+##########################################################################################
+
+LIBJAAS_MAPFILE:=
+ifneq ($(OPENJDK_TARGET_OS),solaris)
+   LIBJAAS_EXCLUDE_FILES:=Solaris.c
+else
+   # only on solaris...wonder why
+   LIBJAAS_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjaas/mapfile-vers
+endif
+
+LIBJAAS_NAME:=jaas_unix
+ifeq ($(OPENJDK_TARGET_OS), windows)
+     LIBJAAS_NAME:=jaas_nt
+endif
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBJAAS,\
+		LIBRARY:=$(LIBJAAS_NAME),\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+                SRC:=$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/com/sun/security/auth/module,\
+		LANG:=C,\
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB),\
+		MAPFILE:=$(LIBJAAS_MAPFILE),\
+		LDFLAGS:=$(filter-out -ljava,$(LDFLAGS_JDKLIB)) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN),\
+		LDFLAGS_winapi:=netapi32.lib user32.lib mpr.lib advapi32.lib,\
+		LDFLAGS_SUFFIX_linux:=$(LDFLAGS_JDKLIB_SUFFIX),\
+		LDFLAGS_SUFFIX_windows:=$(LDFLAGS_JDKLIB_SUFFIX),\
+		LDFLAGS_SUFFIX:=,\
+		EXCLUDE_FILES:=$(LIBJAAS_EXCLUDE_FILES),\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjaas))
+
+$(BUILD_LIBJAAS) : $(BUILD_LIBJAVA)
+
+BUILD_LIBRARIES += $(BUILD_LIBJAAS)
+
+##########################################################################################
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBJSDT,\
+		LIBRARY:=jsdt,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+                SRC:=$(JDK_TOPDIR)/src/share/native/sun/tracing/dtrace\
+			$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/tracing/dtrace,\
+		LANG:=C,\
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB)\
+			-I$(JDK_TOPDIR)/src/share/native/sun/tracing/dtrace,\
+		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjsdt/mapfile-vers, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN),\
+		LDFLAGS_SUFFIX_linux:=$(LDFLAGS_JDKLIB_SUFFIX)  $(LIBDL),\
+		LDFLAGS_SUFFIX_winapi:=$(LDFLAGS_JDKLIB_SUFFIX) $(LIBDL),\
+		LDFLAGS_SUFFIX_macosx:=                         $(LIBDL),\
+		LDFLAGS_SUFFIX:=,\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsdt, \
+                DEBUG_SYMBOLS:= yes))
+
+$(BUILD_LIBJSDT) : $(BUILD_LIBJAVA)
+
+BUILD_LIBRARIES += $(BUILD_LIBJSDT)
+
+##########################################################################################
+
+ifdef OPENJDK
+    # TODO: Update awt lib path when awt is converted
+    $(eval $(call SetupNativeCompilation,BUILD_LIBLCMS,\
+                LIBRARY:=lcms,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+                SRC:=$(JDK_TOPDIR)/src/share/native/sun/java2d/cmm/lcms \
+		     $(JDK_TOPDIR)/src/share/native/sun/java2d/,\
+		INCLUDE_FILES:=cmscam02.c cmscgats.c cmscnvrt.c cmserr.c \
+			       cmsgamma.c cmsgmt.c cmsintrp.c cmsio0.c \
+			       cmsio1.c cmslut.c cmsmd5.c cmsmtrx.c \
+			       cmsnamed.c cmsopt.c cmspack.c cmspcs.c \
+			       cmsplugin.c cmsps2.c cmssamp.c cmssm.c \
+			       cmstypes.c cmsvirt.c cmswtpnt.c cmsxform.c \
+			       LCMS.c,\
+		LANG:=C,\
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(filter-out -xc99=%none,$(CFLAGS_JDKLIB)) \
+			$(SHARED_LIBRARY_FLAGS) \
+			-I$(JDK_TOPDIR)/src/share/native/sun/java2d \
+			-I$(JDK_TOPDIR)/src/share/native/sun/awt/debug,\
+		CFLAGS_solaris:=-xc99=no_lib,\
+		CFLAGS_winapi:=-DCMS_IS_WINDOWS_,\
+		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/liblcms/mapfile-vers, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB), \
+		LDFLAGS_solaris:=/usr/lib$(ISA_DIR)/libm.so.2,\
+		LDFLAGS_winapi:=$(WIN_AWT_LIB) $(WIN_JAVA_LIB),\
+		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
+		LDFLAGS_SUFFIX_posix:=-lawt,\
+		LDFLAGS_SUFFIX_linux:=-lm,\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/liblcms))
+
+    BUILD_LIBRARIES += $(BUILD_LIBLCMS)
+
+    $(BUILD_LIBLCMS) : $(BUILD_LIBAWT)
+endif
+
+##########################################################################################
+
+ifdef OPENJDK
+    BUILD_LIBJPEG_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/mapfile-vers
+else
+    BUILD_LIBJPEG_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/mapfile-vers-closed
+    BUILD_LIBJPEG_CLOSED_SRC:=$(JDK_TOPDIR)/src/closed/share/native/sun/awt/image/jpeg
+    BUILD_LIBJPEG_CLOSED_INCLUDES:=-I$(BUILD_LIBJPEG_CLOSED_SRC)
+endif
+
+BUILD_LIBJPEG_REORDER:=
+ifeq ($(OPENJDK_TARGET_OS), solaris)
+    ifneq ($(ARCH), amd64)
+        BUILD_LIBJPEG_REORDER:=$(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/reorder-$(ARCH)
+    endif
+endif
+
+# Suppress gcc warnings like "variable might be clobbered by 'longjmp'
+# or 'vfork'": this warning indicates that some variable is placed to
+# a register by optimized compiler and it's value might be lost on longjmp().
+# Recommended way to avoid such warning is to declare the variable as
+# volatile to prevent the optimization. However, this approach does not
+# work because we have to declare all variables as volatile in result.
+#ifndef CROSS_COMPILE_ARCH
+#    CC_43_OR_NEWER:=\
+#        $(shell $(EXPR) $(CC_MAJORVER) \> 4 \| \
+#              \( $(CC_MAJORVER) = 4 \& $(CC_MINORVER) \>= 3 \) )
+#    ifeq ($(CC_43_OR_NEWER),1)
+#        BUILD_LIBJPEG_CFLAGS_linux += -Wno-clobbered
+#    endif
+#endif
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBJPEG,\
+                LIBRARY:=jpeg, \
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+                SRC:=$(BUILD_LIBJPEG_CLOSED_SRC) \
+		     $(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg,\
+		LANG:=C,\
+		OPTIMIZATION:=HIGHEST, \
+		CFLAGS:=$(CFLAGS_JDKLIB) \
+			$(BUILD_LIBJPEG_CLOSED_INCLUDES) \
+			-I$(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg,\
+		MAPFILE:=$(BUILD_LIBJPEG_MAPFILE), \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN),\
+		LDFLAGS_linux:=$(LIBDL),\
+		LDFLAGS_winapi:=$(WIN_JAVA_LIB) jvm.lib,\
+		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
+		REORDER:=$(BUILD_LIBJPEG_REORDER),\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjpeg))
+
+$(BUILD_LIBJPEG) : $(BUILD_LIBJAVA)
+
+BUILD_LIBRARIES += $(BUILD_LIBJPEG)
+
+##########################################################################################
+
+ifndef OPENJDK
+    FONT_HEADERS:=-I$(CLOSED_SRC)/share/native/$(PKGDIR)/t2k
+    BUILD_LIBFONTMANAGER_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libfontmanager/mapfile-vers
+    LIBFONTMANAGER_EXCLUDE_FILES += freetypeScaler.c
+else
+    FONT_HEADERS:=$(FREETYPE2_CFLAGS)
+    BUILD_LIBFONTMANAGER_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libfontmanager/mapfile-vers.openjdk
+    BUILD_LIBFONTMANAGER_FONTLIB:=$(FREETYPE2_LIBS)
+endif
+
+LIBFONTMANAGER_OPTIMIZATION:=HIGH
+
+ifeq ($(OPENJDK_TARGET_OS),windows)
+    LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \
+				    X11TextRenderer.c
+    LIBFONTMANAGER_OPTIMIZATION:=LOW
+else
+    LIBFONTMANAGER_EXCLUDE_FILES += fontpath.c \
+				    lcdglyph.c
+endif
+
+BUILD_LIBFONTMANAGER_CFLAGS_COMMON:=\
+			$(X_CFLAGS) \
+			-DLE_STANDALONE -DHEADLESS \
+			$(FONT_HEADERS) \
+			-I$(JDK_TOPDIR)/src/share/native/sun/font \
+			-I$(JDK_TOPDIR)/src/share/native/sun/font/layout \
+			-I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
+			-I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/awt \
+			-I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
+			-I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
+			-I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
+			-I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/java2d \
+			-I$(JDK_TOPDIR)/src/share/native/sun/java2d
+
+# Turn off aliasing with GCC for ExtensionSubtables.cpp
+ifeq ($(OPENJDK_TARGET_OS), linux)
+    BUILD_LIBFONTMANAGER_ExtensionSubtables.cpp_CXXFLAGS:=-fno-strict-aliasing
+endif
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBFONTMANAGER,\
+		LIBRARY:=fontmanager, \
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+                SRC:=$(JDK_TOPDIR)/src/share/native/sun/font\
+		     $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/font,\
+		EXCLUDE_FILES:=$(LIBFONTMANAGER_EXCLUDE_FILES) \
+			       AccelGlyphCache.c,\
+		LANG:=C++,\
+		CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBFONTMANAGER_CFLAGS_COMMON),\
+		CXXFLAGS:=$(CXXFLAGS_JDKLIB) $(BUILD_LIBFONTMANAGER_CFLAGS_COMMON),\
+		OPTIMIZATION:=$(LIBFONTMANAGER_OPTIMIZATION), \
+		CFLAGS_windows= -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/windows \
+				-DCC_NOEX, \
+		MAPFILE:=$(BUILD_LIBFONTMANAGER_MAPFILE), \
+		LDFLAGS:=$(subst -Xlinker -z -Xlinker defs,,$(LDFLAGS_JDKLIB)) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN),\
+		LDFLAGS_windows:=advapi32.lib user32.lib gdi32.lib $(WIN_AWT_LIB) $(WIN_JAVA_LIB),\
+		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) \
+				$(BUILD_LIBFONTMANAGER_FONTLIB),\
+		LDFLAGS_SUFFIX_linux:=-lawt $(LIBM) $(LIBCXX),\
+		LDFLAGS_SUFFIX_solaris:=-lawt -lawt_xawt -lc $(LIBM) $(LIBCXX),\
+		LDFLAGS_SUFFIX_macosx:=-lawt $(LIBM) $(LIBCXX) -undefined dynamic_lookup,\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libfontmanager))
+
+$(BUILD_LIBFONTMANAGER) : $(BUILD_LIBAWT)
+
+ifneq (,$(findstring $(OPENJDK_TARGET_OS),solaris macosx))
+$(BUILD_LIBFONTMANAGER) : $(BUILD_LIBAWT_XAWT)
+endif
+
+BUILD_LIBRARIES += $(BUILD_LIBFONTMANAGER)
+
+##########################################################################################
+
+ifndef OPENJDK
+
+#    ifeq ($(OPENJDK_TARGET_OS), linux)
+#        ifeq ("$(CC_VER_MAJOR)", "3")
+#            OTHER_LDLIBS  += -Wl,-Bstatic -lgcc_eh -Wl,-Bdynamic
+#        endif                           
+#    endif
+#
+# The resulting size of the t2k lib file is (at least on linux) dependant on the order of 
+# the input .o files. Because of this the new build will differ in size to the old build.
+    BUILD_LIBT2K_CFLAGS_COMMON:=-I$(JDK_TOPDIR)/src/share/native/sun/font \
+		            -I$(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k \
+		            -I$(JDK_TOPDIR)/src/closed/share/native/sun/font \
+		            -I$(JDK_TOPDIR)/src/share/share/native/sun/font \
+		            -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/font \
+		            -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
+		            -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
+		            -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/java2d \
+		            -I$(JDK_TOPDIR)/src/share/native/sun/java2d
+
+    $(eval $(call SetupNativeCompilation,BUILD_LIBT2K,\
+                LIBRARY:=t2k, \
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+                SRC:=$(JDK_TOPDIR)/src/closed/share/native/sun/font \
+		     $(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k \
+		     $(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k/ttHints,\
+		EXCLUDE_FILES:=orion.c,\
+		LANG:=C++,\
+		OPTIMIZATION:=HIGH, \
+		CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBT2K_CFLAGS_COMMON),\
+		CXXFLAGS:=$(CXXFLAGS_JDKLIB) $(BUILD_LIBT2K_CFLAGS_COMMON),\
+		CFLAGS_windows=-DCC_NOEX, \
+		CXXFLAGS_windows=-DCC_NOEX, \
+		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libt2k/mapfile-vers, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN),\
+		LDFLAGS_windows:=user32.lib $(JDK_OUTPUTDIR)/objs/libfontmanager/fontmanager.lib,\
+		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
+		LDFLAGS_SUFFIX_macosx:=$(LIBCXX) $(LIBM) -lfontmanager,\
+		LDFLAGS_SUFFIX_linux:=$(LIBCXX) $(LIBM) -lfontmanager,\
+		LDFLAGS_SUFFIX_solaris:=$(LIBCXX) $(LIBM) -lfontmanager -lawt \
+					-lawt_xawt,\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libt2k))
+
+    # t2k is linked against fontmanager
+    $(BUILD_LIBT2K) : $(BUILD_LIBFONTMANAGER)
+
+    BUILD_LIBRARIES += $(BUILD_LIBT2K)
+endif
+
+##########################################################################################
+
+#
+# TODO replace with X_FLAGS / X_LIBS
+#   and add them to configure
+#
+OPENWIN_LIB:=$(OPENWIN_HOME)/lib
+
+ifeq ($(OPENJDK_TARGET_OS), windows)
+    ifeq ($(ARCH_DATA_MODEL), 32)
+        KERNEL32_LIB:=kernel32.lib
+    endif
+    $(eval $(call SetupNativeCompilation,BUILD_LIBJAWT,\
+                LIBRARY:=jawt, \
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+                SRC:=$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/windows,\
+		INCLUDE_FILES:=jawt.cpp,\
+		LANG:=C++,\
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CXXFLAGS_JDKLIB) \
+			-EHsc -DUNICODE -D_UNICODE \
+			-I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/windows \
+		        -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
+		        -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
+			-I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
+			-I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/java2d/windows, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) $(KERNEL32_LIB) \
+			 advapi32.lib $(WIN_AWT_LIB),\
+		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjawt))
+
+$(BUILD_LIBJAWT) : $(BUILD_LIBAWT)
+
+$(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX): $(BUILD_LIBJAWT)
+	$(ECHO) Copying $(@F)
+	$(CP) $< $@
+
+BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX)
+
+else # OPENJDK_TARGET_OS not windows
+
+    JAWT_LIBS:=
+    ifneq ($(OPENJDK_TARGET_OS), solaris)
+        JAWT_LIBS += -lawt
+    endif
+
+    ifndef BUILD_HEADLESS_ONLY
+        JAWT_LIBS += -lawt_xawt
+    else
+        JAWT_LIBS += -lawt_headless
+        HEADLESS_CFLAG += -DHEADLESS
+    endif
+
+    JAWT_FILES:=jawt.c
+    ifeq ($(OPENJDK_TARGET_OS), macosx)
+	JAWT_FILES:=jawt.m
+	JAWT_LIBS:=-lawt_lwawt
+    endif
+
+    $(eval $(call SetupNativeCompilation,BUILD_LIBJAWT,\
+                LIBRARY:=jawt, \
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+                SRC:=$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/awt \
+                     $(JDK_TOPDIR)/src/macosx/native/sun/awt,\
+		INCLUDE_FILES:=$(JAWT_FILES),\
+		LANG:=C,\
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB), \
+		CFLAGS_linux:=$(HEADLESS_CFLAG),\
+		CFLAGS_macosx:=-I$(JDK_TOPDIR)/src/solaris/native/sun/awt ,\
+		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjawt/mapfile-vers, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN),\
+		LDFLAGS_solaris:=-L$(OPENWIN_HOME)/sfw/lib$(ISA_DIR) -L$(OPENWIN_LIB)$(ISA_DIR),\
+		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) $(JAWT_LIBS),\
+		LDFLAGS_SUFFIX_solaris:=-lXrender,\
+		LDFLAGS_SUFFIX_macosx:=-framework Cocoa, \
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjawt))
+
+ifndef BUILD_HEADLESS_ONLY
+$(BUILD_LIBJAWT) : $(BUILD_LIBAWT_XAWT)
+else
+$(BUILD_LIBJAWT) : $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_headless$(SHARED_LIBRARY_SUFFIX)
+endif
+
+ifeq ($(OPENJDK_TARGET_OS),macosx)
+$(BUILD_LIBJAWT) : $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_lwawt$(SHARED_LIBRARY_SUFFIX)
+endif
+
+endif # OPENJDK_TARGET_OS
+
+BUILD_LIBRARIES += $(BUILD_LIBJAWT)
+
+##########################################################################################
+
+ifndef OPENJDK
+ifneq ($(OPENJDK_TARGET_OS), macosx)
+
+LIBJDBCODBC_DIR   :=$(JDK_OUTPUTDIR)/objs/libjdbcodbc
+LIBJDBCODBC_NAME  :=$(LIBRARY_PREFIX)JdbcOdbc$(SHARED_LIBRARY_SUFFIX)
+LIBJDBCODBC_CFLAGS:=
+LIBJDBCODBC_LIBS   :=
+LIBJDBCODBC_LDFLAGS:=
+
+ifeq ($(OPENJDK_TARGET_OS), windows)
+	LIBJDBCODBC_LDFLAGS:=$(LDFLAGS_JDKLIB)
+	LIBJDBCODBC_LIBS += odbc32.lib odbccp32.lib $(WIN_JAVA_LIB) advapi32.lib
+else
+	LIBJDBCODBC_CFLAGS:=-DUNIX
+
+#
+# This mimics "current" build system exactly. Link against fake -lodbcinst -lodbc
+#   but...those are linked with the -soname, causing the dependency to be dropped on linux (gnu ld)
+#   but kept with other linker (solaris)
+#
+# IMO very weird behaviour...very weird
+#
+	LIBJDBCODBC_LDFLAGS:=$(patsubst defs,nodefs,$(LDFLAGS_JDKLIB)) \
+				      -Xlinker -z -Xlinker nodefs
+	LIBJDBCODBC_LIBS += -L$(LIBJDBCODBC_DIR) -lodbcinst -lodbc
+	LIBJDBCODBC_SONAME:=$(call SET_SHARED_LIBRARY_NAME,$(LIBJDBCODBC_NAME))
+endif
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBJDBCODBC,\
+		LIBRARY:=JdbcOdbc,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+		SRC:=$(JDK_TOPDIR)/src/closed/share/classes/sun/jdbc/odbc,\
+		EXCLUDE_FILES:=dummyodbc.c,\
+		LANG:=C,\
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(LIBJDBCODBC_CFLAGS) $(CFLAGS_JDKLIB) \
+			$(SHARED_LIBRARY_FLAGS),\
+		LDFLAGS:=$(LIBJDBCODBC_LDFLAGS) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN) $(LIBJDBCODBC_LIBS),\
+		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) $(LIBJDBCODBC_SONAME),\
+		OBJECT_DIR:=$(LIBJDBCODBC_DIR)))
+
+$(BUILD_LIBJDBCODBC) : $(BUILD_LIBJAVA)
+
+BUILD_LIBRARIES += $(BUILD_LIBJDBCODBC)
+
+ifneq ($(OPENJDK_TARGET_OS), windows)
+
+$(eval $(call SetupNativeCompilation,BUILD_FAKEODBCINST,\
+		LIBRARY:=odbcinst,\
+                OUTPUT_DIR:=$(LIBJDBCODBC_DIR),\
+		SRC:=$(JDK_OUTPUTDIR)/gensrc_c/libjdbcodbc,\
+		INCLUDE_FILES:=dummyodbc1.c,\
+		LANG:=C,\
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB),\
+		LDFLAGS:=$(LDFLAGS_JDKLIB) $(call SET_SHARED_LIBRARY_ORIGIN) $(LIBJDBCODBC_LDFLAGS),\
+		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) $(LIBJDBCODBC_SONAME),\
+		OBJECT_DIR:=$(LIBJDBCODBC_DIR)))
+
+$(eval $(call SetupNativeCompilation,BUILD_FAKEODBC,\
+		LIBRARY:=odbc,\
+                OUTPUT_DIR:=$(LIBJDBCODBC_DIR),\
+		SRC:=$(JDK_OUTPUTDIR)/gensrc_c/libjdbcodbc,\
+		INCLUDE_FILES:=dummyodbc2.c,\
+		LANG:=C,\
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(LIBJDBCODBC_CFLAGS) $(CFLAGS_JDKLIB),\
+		LDFLAGS:=$(LDFLAGS_JDKLIB) $(call SET_SHARED_LIBRARY_ORIGIN) $(LIBJDBCODBC_LDFLAGS),\
+		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) $(LIBJDBCODBC_SONAME),\
+		OBJECT_DIR:=$(LIBJDBCODBC_DIR)))
+
+$(BUILD_FAKEODBCINST) $(BUILD_FAKEODBC) : \
+  $(BUILD_LIBJAVA)
+
+$(BUILD_LIBJDBCODBC) : $(BUILD_FAKEODBCINST) $(BUILD_FAKEODBC)
+
+endif
+
+endif
+endif
+
+##########################################################################################
+
+BUILD_LIBINSTRUMENT_SRC   :=$(JDK_TOPDIR)/src/share/instrument \
+                               $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/java/io \
+                               $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/instrument
+
+BUILD_LIBINSTRUMENT_FILES :=\
+	EncodingSupport.c \
+	EncodingSupport_md.c \
+	FileSystemSupport_md.c \
+	InstrumentationImplNativeMethods.c \
+	InvocationAdapter.c \
+	JarFacade.c \
+	JPLISAgent.c \
+	JPLISAssert.c \
+	JavaExceptions.c \
+	PathCharsValidator.c \
+	Reentrancy.c \
+	Utilities.c \
+	canonicalize_md.c
+
+BUILD_LIBINSTRUMENT_DIR   :=$(JDK_OUTPUTDIR)/objs/libinstrument
+BUILD_LIBINSTRUMENT_CFLAGS:=-I$(JDK_TOPDIR)/src/share/instrument \
+                               -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/instrument \
+                               -I$(JDK_TOPDIR)/src/share/bin
+
+BUILD_LIBINSTRUMENT_LDFLAGS:=
+BUILD_LIBINSTRUMENT_LDFLAGS_SUFFIX:=
+
+ifeq ($(OPENJDK_TARGET_OS), windows)
+  BUILD_LIBINSTRUMENT_LDFLAGS += $(JDK_OUTPUTDIR)/objs/jli_static.lib $(WIN_JAVA_LIB) \
+				 -export:Agent_OnAttach
+  # equivalent of strcasecmp is stricmp on Windows
+  BUILD_LIBINSTRUMENT_CFLAGS += -Dstrcasecmp=stricmp
+else ifneq (,$(findstring $(OPENJDK_TARGET_OS), macosx))
+	ifneq ($(ARCH), universal)
+		BUILD_LIBINSTRUMENT_LDFLAGS += -Wl,-all_load
+	endif
+
+	BUILD_LIBINSTRUMENT_LDFLAGS += $(JDK_OUTPUTDIR)/objs/libjli_static.a
+	BUILD_LIBINSTRUMENT_LDFLAGS += -liconv
+	BUILD_LIBINSTRUMENT_LDFLAGS += -framework Cocoa -framework Security -framework ApplicationServices
+	BUILD_LIBINSTRUMENT_LDFLAGS += $(LIBZ)
+else
+	BUILD_LIBINSTRUMENT_LDFLAGS += -L $(INSTALL_LIBRARIES_HERE)/jli
+	BUILD_LIBINSTRUMENT_LDFLAGS_SUFFIX += -ljli $(LIBDL)
+endif
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBINSTRUMENT,\
+		LIBRARY:=instrument, \
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+		SRC:=$(BUILD_LIBINSTRUMENT_SRC),\
+		INCLUDE_FILES:=$(BUILD_LIBINSTRUMENT_FILES),\
+		LANG:=C,\
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB) \
+                        $(BUILD_LIBINSTRUMENT_CFLAGS),\
+		CFLAGS_debug:=-DJPLIS_LOGGING,\
+		CFLAGS_release:=-DNO_JPLIS_LOGGING,\
+		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libinstrument/mapfile-vers, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) $(call SET_SHARED_LIBRARY_ORIGIN)\
+			 $(call SET_SHARED_LIBRARY_ORIGIN,jli) \
+                         $(BUILD_LIBINSTRUMENT_LDFLAGS),\
+		LDFLAGS_SUFFIX:=$(LIBZ) $(BUILD_LIBINSTRUMENT_LDFLAGS_SUFFIX),\
+		OBJECT_DIR:=$(BUILD_LIBINSTRUMENT_DIR),\
+		DEBUG_SYMBOLS:=true))
+
+ifneq (,$(findstring $(OPENJDK_TARGET_OS), macosx windows))
+$(BUILD_LIBINSTRUMENT) : $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jli_static$(STATIC_LIBRARY_SUFFIX)
+else
+$(BUILD_LIBINSTRUMENT) : $(INSTALL_LIBRARIES_HERE)/jli/$(LIBRARY_PREFIX)jli$(SHARED_LIBRARY_SUFFIX)
+endif
+$(BUILD_LIBINSTRUMENT) : $(BUILD_LIBJAVA)
+
+BUILD_LIBRARIES += $(BUILD_LIBINSTRUMENT)
+
+##########################################################################################
+
+BUILD_LIBMANAGEMENT_SRC:=$(JDK_TOPDIR)/src/share/native/sun/management \
+                           $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/management \
+                           $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/com/sun/management
+
+BUILD_LIBMANAGEMENT_EXCLUDES:=
+
+BUILD_LIBMANAGEMENT_CFLAGS:=-I$(JDK_TOPDIR)/src/share/native/sun/management
+
+ifneq ($(OPENJDK_TARGET_OS), windows)
+	BUILD_LIBMANAGEMENT_EXCLUDES += OperatingSystem_md.c
+else
+	BUILD_LIBMANAGEMENT_EXCLUDES += UnixOperatingSystem_md.c
+endif
+
+ifneq ($(OPENJDK_TARGET_OS),solaris)
+	BUILD_LIBMANAGEMENT_EXCLUDES += SolarisOperatingSystem.c
+endif
+
+ifneq ($(OPENJDK_TARGET_OS),linux)
+	BUILD_LIBMANAGEMENT_EXCLUDES += LinuxOperatingSystem.c
+endif
+
+ifneq ($(OPENJDK_TARGET_OS),macosx)
+	BUILD_LIBMANAGEMENT_EXCLUDES += MacosxOperatingSystem.c
+endif
+
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBMANAGEMENT,\
+		LIBRARY:=management,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+		SRC:=$(BUILD_LIBMANAGEMENT_SRC),\
+		EXCLUDE_FILES:=$(BUILD_LIBMANAGEMENT_EXCLUDES),\
+		LANG:=C,\
+		OPTIMIZATION:=HIGH, \
+		CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBMANAGEMENT_CFLAGS),\
+		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libmanagement/mapfile-vers, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN),\
+		LDFLAGS_windows:=$(WIN_JAVA_LIB) jvm.lib advapi32.lib psapi.lib,\
+		LDFLAGS_solaris:=-lkstat,\
+		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libmanagement,\
+		DEBUG_SYMBOLS:=true))
+
+$(BUILD_LIBMANAGEMENT) : $(BUILD_LIBJAVA)
+
+BUILD_LIBRARIES += $(BUILD_LIBMANAGEMENT)
+
+##########################################################################################
+
+BUILD_LIBHPROF_SRC:=$(JDK_TOPDIR)/src/share/demo/jvmti/hprof $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/demo/jvmti/hprof
+BUILD_LIBHPROF_CFLAGS:=-I$(JDK_TOPDIR)/src/share/demo/jvmti/hprof \
+                         -I$(JDK_TOPDIR)/src/share/npt \
+                         -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/npt \
+                         -I$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo
+
+BUILD_LIBHPROF_LDFLAGS:=
+
+ifeq ($(OPENJDK_TARGET_OS),solaris)
+     BUILD_LIBHPROF_LDFLAGS += -lsocket -lnsl
+endif
+
+ifneq ($(OPENJDK_TARGET_OS),windows)
+     BUILD_LIBHPROF_LDFLAGS += $(LIBDL)
+endif
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBHPROF,\
+		LIBRARY:=hprof, \
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+		SRC:=$(BUILD_LIBHPROF_SRC),\
+		LANG:=C,\
+		OPTIMIZATION:=HIGHEST, \
+		CFLAGS:=$(CFLAGS_JDKLIB) \
+                         $(BUILD_LIBHPROF_CFLAGS),\
+		CFLAGS_debug:=-DHPROF_LOGGING,\
+		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libhprof/mapfile-vers, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN),\
+		LDFLAGS_windows:=wsock32.lib winmm.lib advapi32.lib,\
+		LDFLAGS_SUFFIX:=$(BUILD_LIBHPROF_LDFLAGS),\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libhprof_jvmti,\
+		DEBUG_SYMBOLS:=true))
+
+BUILD_LIBRARIES += $(BUILD_LIBHPROF)
+
+##########################################################################################
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBJAVA_CRW_DEMO,\
+		LIBRARY:=java_crw_demo, \
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+		SRC:=$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo,\
+		LANG:=C,\
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB) \
+                        -I$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo,\
+		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjava_crw_demo/mapfile-vers, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN),\
+		LDFLAGS_SUFFIX:=,\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjava_crw_demo,\
+		DEBUG_SYMBOLS:=true))
+
+BUILD_LIBRARIES += $(BUILD_LIBJAVA_CRW_DEMO)
+
+##########################################################################################
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBNPT,\
+		LIBRARY:=npt, \
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+		SRC:=$(JDK_TOPDIR)/src/share/npt $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/npt,\
+		LANG:=C,\
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB) \
+                        -I$(JDK_TOPDIR)/src/share/npt \
+                        -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/npt,\
+		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnpt/mapfile-vers, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN),\
+		LDFLAGS_macosx:=-liconv,\
+		LDFLAGS_SUFFIX_windows:=-export:nptInitialize -export:nptTerminate,\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libnpt,\
+		DEBUG_SYMBOLS:=true))
+
+BUILD_LIBRARIES += $(BUILD_LIBNPT)
+
+##########################################################################################
+
+LIBNET_SRC_DIRS:=$(JDK_TOPDIR)/src/share/native/java/net \
+                   $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/java/net \
+                   $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/net/dns \
+                   $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/net/www/protocol/http/ntlm \
+                   $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/net/sdp \
+                   $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/net/spi
+
+LIBNET_CFLAGS:=$(foreach dir,$(LIBNET_SRC_DIRS),-I$(dir))
+
+LIBNET_EXCLUDE_FILES:=
+ifneq ($(OPENJDK_TARGET_OS),linux)
+	LIBNET_EXCLUDE_FILES += linux_close.c
+endif
+
+ifneq ($(OPENJDK_TARGET_OS),macosx)
+	LIBNET_EXCLUDE_FILES += bsd_close.c
+endif
+
+ifeq ($(OPENJDK_TARGET_OS),windows)
+	LIBNET_EXCLUDE_FILES += PlainSocketImpl.c PlainDatagramSocketImpl.c SdpSupport.c
+else
+	LIBNET_EXCLUDE_FILES += TwoStacksPlainSocketImpl.c DualStackPlainSocketImpl.c \
+                                TwoStacksPlainDatagramSocketImpl.c DualStackPlainDatagramSocketImpl.c \
+				NTLMAuthSequence.c NetworkInterface_winXP.c
+endif
+
+LIBNET_LDFLAGS_SUFFIX:=
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBNET,\
+		LIBRARY:=net,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+		SRC:=$(LIBNET_SRC_DIRS),\
+		EXCLUDE_FILES:=$(LIBNET_EXCLUDE_FILES), \
+		LANG:=C,\
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB) \
+                        $(LIBNET_CFLAGS),\
+		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnet/mapfile-vers, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN),\
+		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) $(LIBNET_LDFLAGS_SUFFIX),\
+		LDFLAGS_SUFFIX_solaris:=-lnsl -lsocket $(LIBDL) ,\
+		LDFLAGS_SUFFIX_linux:=$(LIBDL) -lpthread ,\
+		LDFLAGS_SUFFIX_windows:=ws2_32.lib $(JVMLIB) secur32.lib iphlpapi.lib \
+					  delayimp.lib $(WIN_JAVA_LIB) jvm.lib advapi32.lib \
+                                          /DELAYLOAD:secur32.dll /DELAYLOAD:iphlpapi.dll, \
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libnet))
+
+$(BUILD_LIBNET) : $(BUILD_LIBJAVA)
+
+BUILD_LIBRARIES += $(BUILD_LIBNET)
+
+$(JDK_OUTPUTDIR)/lib/net.properties: $(JDK_TOPDIR)/src/share/lib/net.properties
+	$(ECHO) Copying $(@F)
+	$(MKDIR) -p $(@D)
+	$(CP) $< $@
+
+COPY_FILES += $(JDK_OUTPUTDIR)/lib/net.properties
+
+ifeq ($(OPENJDK_TARGET_OS), solaris)
+$(JDK_OUTPUTDIR)/lib/sdp/sdp.conf.template : $(JDK_TOPDIR)/src/${LEGACY_OPENJDK_TARGET_OS_API}/lib/sdp/sdp.conf.template
+	$(ECHO) Copying $(@F)
+	$(MKDIR) -p $(@D)
+	$(CP) $< $@
+
+COPY_FILES += $(JDK_OUTPUTDIR)/lib/sdp/sdp.conf.template
+endif
+
+##########################################################################################
+
+BUILD_LIBNIO_SRC:=\
+        $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/java/nio \
+	$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/nio/ch \
+	$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/nio/fs
+
+BUILD_LIBNIO_CFLAGS:=\
+	-I$(JDK_TOPDIR)/src/share/native/sun/nio/ch \
+	-I$(JDK_TOPDIR)/src/share/native/java/io \
+	-I$(JDK_TOPDIR)/src/share/native/java/net \
+        -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/java/net
+
+BUILD_LIBNIO_FILES:=\
+        DatagramChannelImpl.c \
+        DatagramDispatcher.c \
+	FileChannelImpl.c \
+	FileDispatcherImpl.c \
+	FileKey.c \
+	IOUtil.c \
+        MappedByteBuffer.c \
+	Net.c \
+	ServerSocketChannelImpl.c \
+	SocketChannelImpl.c \
+	SocketDispatcher.c
+
+ifeq ($(OPENJDK_TARGET_OS), windows)
+	BUILD_LIBNIO_FILES += \
+		Iocp.c \
+		RegistryFileTypeDetector.c \
+		WindowsAsynchronousFileChannelImpl.c \
+		WindowsAsynchronousServerSocketChannelImpl.c \
+		WindowsAsynchronousSocketChannelImpl.c \
+		WindowsNativeDispatcher.c \
+	        WindowsSelectorImpl.c
+endif
+
+ifeq ($(OPENJDK_TARGET_OS), linux)
+	BUILD_LIBNIO_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-linux
+	BUILD_LIBNIO_FILES += \
+		EPoll.c \
+		EPollArrayWrapper.c \
+		EPollPort.c \
+		InheritedChannel.c \
+		NativeThread.c \
+	        PollArrayWrapper.c \
+		UnixAsynchronousServerSocketChannelImpl.c \
+		UnixAsynchronousSocketChannelImpl.c \
+		GnomeFileTypeDetector.c \
+		LinuxNativeDispatcher.c \
+		LinuxWatchService.c \
+		UnixCopyFile.c \
+		UnixNativeDispatcher.c
+endif
+
+ifeq ($(OPENJDK_TARGET_OS), macosx)
+	BUILD_LIBNIO_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-bsd
+	BUILD_LIBNIO_SRC += $(JDK_TOPDIR)/src/macosx/native/sun/nio/ch
+	BUILD_LIBNIO_FILES += \
+		InheritedChannel.c \
+		NativeThread.c \
+	        PollArrayWrapper.c \
+		UnixAsynchronousServerSocketChannelImpl.c \
+		UnixAsynchronousSocketChannelImpl.c \
+		GnomeFileTypeDetector.c \
+		BsdNativeDispatcher.c \
+		UnixCopyFile.c \
+		UnixNativeDispatcher.c \
+		KQueue.c \
+		KQueuePort.c \
+		KQueueArrayWrapper.c
+endif
+
+ifeq ($(OPENJDK_TARGET_OS), solaris)
+	BUILD_LIBNIO_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-solaris
+	BUILD_LIBNIO_FILES += \
+		DevPollArrayWrapper.c \
+		InheritedChannel.c \
+		NativeThread.c \
+		PollArrayWrapper.c \
+		SolarisEventPort.c \
+		UnixAsynchronousServerSocketChannelImpl.c \
+		UnixAsynchronousSocketChannelImpl.c \
+		GnomeFileTypeDetector.c \
+		SolarisNativeDispatcher.c \
+		SolarisWatchService.c \
+		UnixCopyFile.c \
+		UnixNativeDispatcher.c
+endif
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBNIO,\
+		LIBRARY:=nio,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+		SRC:=$(BUILD_LIBNIO_SRC),\
+		INCLUDE_FILES:=$(BUILD_LIBNIO_FILES), \
+		LANG:=C,\
+		OPTIMIZATION:=HIGH, \
+		CFLAGS:=$(CFLAGS_JDKLIB) \
+                        $(BUILD_LIBNIO_CFLAGS),\
+		MAPFILE:=$(BUILD_LIBNIO_MAPFILE), \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) $(BUILD_LIBNIO_LDFLAGS) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN),\
+		LDFLAGS_SUFFIX_linux:=-ljava -lnet -lpthread $(LIBDL),\
+		LDFLAGS_SUFFIX_solaris:=$(LDFLAGS_JDKLIB_SUFFIX) \
+                                        $(JVMLIB) -lsocket -lposix4 $(LIBDL) -lsendfile \
+		                        -ljava -lnet,\
+		LDFLAGS_SUFFIX_windows:=$(LDFLAGS_JDKLIB_SUFFIX) \
+                                        $(WIN_JAVA_LIB) $(JDK_OUTPUTDIR)/objs/libnet/net.lib \
+					advapi32.lib jvm.lib ws2_32.lib\
+                                        $(JDK_OUTPUTDIR)/objs/libjava/io_util.obj \
+		                        $(JDK_OUTPUTDIR)/objs/libjava/FileDescriptor_md.obj ,\
+		LDFLAGS_SUFFIX_macosx:=-ljava -lnet -pthread,\
+		LDFLAGS_SUFFIX:=,\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libnio))
+
+BUILD_LIBRARIES += $(BUILD_LIBNIO)
+
+$(BUILD_LIBNIO) : $(BUILD_LIBNET)
+
+##########################################################################################
+
+ifeq ($(OPENJDK_TARGET_OS_API),posix)
+  # TODO make this work on macosx
+  ifneq ($(OPENJDK_TARGET_OS),macosx)
+
+    SCTP_WERROR := -Werror
+    ifeq ($(OPENJDK_TARGET_CPU_ARCH), ppc)
+      SCTP_WERROR :=
+    endif
+
+    $(eval $(call SetupNativeCompilation,BUILD_LIBSCTP,\
+                LIBRARY:=sctp,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+                SRC:=$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/nio/ch/sctp,\
+		LANG:=C,\
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB)\
+			-I$(JDK_TOPDIR)/src/share/native/sun/nio/ch \
+			-I$(JDK_TOPDIR)/src/share/native/sun/nio/ch/sctp \
+			-I$(JDK_TOPDIR)/src/share/native/java/net \
+			-I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/nio/ch \
+			-I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/java/net,\
+		CFLAGS_linux:=$(SCTP_WERROR),\
+		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libsctp/mapfile-vers, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN),\
+		LDFLAGS_SUFFIX_linux:=$(LIBDL) -lpthread,\
+		LDFLAGS_SUFFIX_posix:=-lnio -lnet,\
+		LDFLAGS_SUFFIX_solaris:=-lsocket,\
+		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
+		INCLUDE_FILES:=SctpNet.c SctpChannelImpl.c SctpServerChannelImpl.c,\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsctp))
+
+    BUILD_LIBRARIES += $(BUILD_LIBSCTP)
+
+    $(BUILD_LIBSCTP) : $(BUILD_LIBNIO)
+  endif
+endif
+
+##########################################################################################
+
+BUILD_LIBJLI_SRC_DIRS:=$(JDK_TOPDIR)/src/share/bin $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/bin
+BUILD_LIBJLI_CFLAGS:=$(foreach dir,$(BUILD_LIBJLI_SRC_DIRS),-I$(dir))
+
+BUILD_LIBJLI_FILES:=\
+	java.c \
+	splashscreen_stubs.c \
+	parse_manifest.c \
+	version_comp.c \
+	wildcard.c \
+	jli_util.c
+
+ifeq ($(JVM_VARIANT_ZERO), true)
+	ERGO_FAMILY:=zero
+else # !ZERO_BUILD
+	ifneq (,$(findstring $(ARCH), amd64 x86_64))
+		ERGO_FAMILY:=i586
+	else # !X86 FAMILY
+		ERGO_FAMILY:=$(ARCH)
+	endif #ARCH_FAMILY
+endif # ZERO_BUILD
+
+ifeq ($(OPENJDK_TARGET_OS), macosx)
+	BUILD_LIBJLI_CFLAGS += -I$(JDK_TOPDIR)/src/macosx/bin
+	BUILD_LIBJLI_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/bin
+	BUILD_LIBJLI_FILES += java_md_common.c java_md_macosx.c
+
+	BUILD_LIBJLI_java_md_macosx.c_CFLAGS:=-x objective-c
+	BUILD_LIBJLI_STATIC_java_md_macosx.c_CFLAGS:=-x objective-c
+endif
+
+ifeq ($(OPENJDK_TARGET_OS), windows)
+	BUILD_LIBJLI_FILES += java_md.c
+else ifneq ($(OPENJDK_TARGET_OS), macosx)
+
+	BUILD_LIBJLI_FILES += java_md_common.c
+	BUILD_LIBJLI_FILES += java_md_solinux.c ergo.c 
+
+	ERGO_ARCH_FILE = ergo_$(ERGO_FAMILY).c
+
+        # if the architecture specific ergo file exists then
+        # use it, else use the generic definitions from ergo.c
+	ifneq ($(wildcard $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/bin/$(ERGO_ARCH_FILE)),)
+		BUILD_LIBJLI_FILES += $(ERGO_ARCH_FILE)
+	else # !ERGO_ARCH_FILE
+		BUILD_LIBJLI_CFLAGS += -DUSE_GENERIC_ERGO
+	endif # ERGO_ARCH_FILE
+endif #WINDOWS
+
+# Names of arch directories
+ifneq ($(OPENJDK_TARGET_OS), macosx)
+	BUILD_LIBJLI_CFLAGS += -DLIBARCHNAME='"$(LIBARCH)"'
+else
+	BUILD_LIBJLI_CFLAGS += -DLIBARCHNAME='"$(ARCH)"'
+endif
+ifeq ($(OPENJDK_TARGET_OS), solaris)
+	ifeq ($(OPENJDK_TARGET_CPU_ARCH), sparc)
+		BUILD_LIBJLI_CFLAGS += -DLIBARCH32NAME='"sparc"'
+		BUILD_LIBJLI_CFLAGS += -DLIBARCH64NAME='"sparcv9"'
+	else
+		BUILD_LIBJLI_CFLAGS += -DLIBARCH32NAME='"i386"'
+		BUILD_LIBJLI_CFLAGS += -DLIBARCH64NAME='"amd64"'
+	endif
+endif # OPENJDK_TARGET_OS
+
+ifeq ($(OPENJDK_TARGET_OS), macosx)
+	BUILD_LIBJLI_CFLAGS += -DPACKAGE_PATH=\"$(PACKAGE_PATH)\"
+endif
+
+ifneq ($(USE_EXTERNAL_LIBZ),true)
+	BUILD_LIBJLI_SRC_DIRS += $(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5
+	BUILD_LIBJLI_CFLAGS += $(LIBZ_INCLUDE)
+	BUILD_LIBJLI_FILES += \
+		inflate.c \
+		inftrees.c \
+		inffast.c \
+		zadler32.c \
+		zcrc32.c \
+		zutil.c
+endif
+
+ifeq ($(OPENJDK_TARGET_OS), windows)
+    LIBJLI_OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE)
+else
+    LIBJLI_OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE)/jli
+endif
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBJLI,\
+		LIBRARY:=jli,\
+                OUTPUT_DIR:=$(LIBJLI_OUTPUT_DIR),\
+		SRC:=$(BUILD_LIBJLI_SRC_DIRS),\
+		INCLUDE_FILES:=$(BUILD_LIBJLI_FILES),\
+		LANG:=C,\
+		OPTIMIZATION:=HIGH, \
+		CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBJLI_CFLAGS),\
+		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjli/mapfile-vers, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN),\
+		LDFLAGS_SUFFIX:=$(LIBZ),\
+		LDFLAGS_SUFFIX_posix:=$(LIBDL) -lc,\
+		LDFLAGS_SUFFIX_linux:=-lpthread,\
+		LDFLAGS_SUFFIX_windows:=\
+			-export:JLI_Launch \
+			-export:JLI_ManifestIterate \
+			-export:JLI_SetTraceLauncher \
+			-export:JLI_ReportErrorMessage \
+			-export:JLI_ReportErrorMessageSys \
+			-export:JLI_ReportMessage \
+			-export:JLI_ReportExceptionDescription \
+			advapi32.lib \
+			comctl32.lib \
+			user32.lib,\
+		LDFLAGS_SUFFIX_macosx:=-framework Cocoa -framework Security -framework ApplicationServices, \
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjli))
+
+BUILD_LIBRARIES += $(BUILD_LIBJLI)
+
+# On windows, the static library has the same suffix as the import library created by
+# with the shared library, so the static library is given a different name. No harm
+# in doing it for all platform to reduce complexity.
+ifeq ($(OPENJDK_TARGET_OS), windows)
+    $(eval $(call SetupNativeCompilation,BUILD_LIBJLI_STATIC,\
+		STATIC_LIBRARY:=jli_static,\
+                OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs,\
+		SRC:=$(BUILD_LIBJLI_SRC_DIRS),\
+		INCLUDE_FILES:=$(BUILD_LIBJLI_FILES),\
+		LANG:=C,\
+		OPTIMIZATION:=HIGH, \
+		CFLAGS:=$(CFLAGS_JDKLIB) $(STATIC_LIBRARY_FLAGS) $(BUILD_LIBJLI_CFLAGS),\
+		ARFLAGS:=$(ARFLAGS),\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjli_static))
+
+BUILD_LIBRARIES += $(BUILD_LIBJLI_STATIC)
+
+else ifeq ($(OPENJDK_TARGET_OS),macosx)
+    #
+    # On macosx they do partial (incremental) linking of libjli_static.a
+    #   code it here...rather than add support to NativeCompilation
+    #   as this is first time I see it
+    $(eval $(call SetupNativeCompilation,BUILD_LIBJLI_STATIC,\
+		LIBRARY:=jli_static, \
+                OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs,\
+		SRC:=$(BUILD_LIBJLI_SRC_DIRS),\
+		INCLUDE_FILES:=$(BUILD_LIBJLI_FILES),\
+		LANG:=C,\
+		OPTIMIZATION:=HIGH, \
+		CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBJLI_CFLAGS),\
+		LDFLAGS:=-nostdlib -r,\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjli_static))
+
+$(JDK_OUTPUTDIR)/objs/libjli_static.a : $(BUILD_LIBJLI_STATIC)
+	$(CP) -a $< $@
+
+BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/objs/libjli_static.a
+endif
+
+##########################################################################################
+
+ifeq ($(ENABLE_JFR), true)
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBJFR,\
+		LIBRARY:=jfr,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+		SRC:=$(JDK_TOPDIR)/src/closed/share/native/oracle/jfr,\
+		LANG:=C,\
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB) \
+                        -I$(JDK_TOPDIR)/src/closed/share/javavm/export, \
+		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjfr/mapfile-vers, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN),\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjfr))
+
+BUILD_LIBRARIES += $(BUILD_LIBJFR)
+
+endif
+
+##########################################################################################
+
+ifndef OPENJDK
+
+BUILD_LIBKCMS_EXCLUDE_FILES:=
+ifeq ($(OPENJDK_TARGET_OS),windows)
+	BUILD_LIBKCMS_EXCLUDE_FILES += ukcpmgr.c unixmem.c
+else
+	BUILD_LIBKCMS_EXCLUDE_FILES += cmmdll.c registry.c spxffile.c sysinfo.c winmem.c wkcpmgr.c
+endif
+
+BUILD_LIBKCMS_FLAGS:=$(CFLAGS_JDKLIB)
+
+ifeq ($(OPENJDK_TARGET_OS),solaris)
+     # This particular library uses a feature called PIC_CODE_SMALL (on solaris)
+     #   implement it like this...since it's only used here
+     BUILD_LIBKCMS_FLAGS:=$(patsubst -KPIC,-Kpic,$(BUILD_LIBKCMS_FLAGS))
+else ifeq ($(OPENJDK_TARGET_CPU_ARCH), ppc)
+     BUILD_LIBKCMS_FLAGS:=$(patsubst -fPIC,-fpic,$(BUILD_LIBKCMS_FLAGS))
+endif
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBKCMS,\
+		LIBRARY:=kcms,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+		SRC:=$(JDK_TOPDIR)/src/closed/share/native/sun/java2d/cmm/kcms,\
+		LANG:=C,\
+		EXCLUDE_FILES:=$(BUILD_LIBKCMS_EXCLUDE_FILES),\
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(BUILD_LIBKCMS_FLAGS) \
+                        -DJAVACMM -DFUT_CALC_EX -DNO_FUT_GCONST,\
+		CFLAGS_linux:=-Wno-missing-field-initializers,\
+		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libkcms/mapfile-vers, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN),\
+		LDFLAGS_SUFFIX_linux:=-lpthread,\
+		LDFLAGS_SUFFIX_windows:=$(WIN_JAVA_LIB) advapi32.lib user32.lib version.lib, \
+		LDFLAGS_SUFFIX:=-lm $(LDFLAGS_JDKLIB_SUFFIX),\
+		VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/closed/share/native/sun/java2d/cmm/kcms/cmm.rc,\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libkcms))
+
+$(BUILD_LIBKCMS) : $(BUILD_LIBJAVA)
+
+BUILD_LIBRARIES += $(BUILD_LIBKCMS)
+
+endif
+
+##########################################################################################
+
+ifndef OPENJDK
+ifeq ($(OPENJDK_TARGET_OS), solaris)
+ifneq ($(ARCH), amd64)
+
+ifeq ($(shell if test "$(OS_VERSION_MAJOR)" -eq 5 -a "$(OS_VERSION_MINOR)" -le 10; then $(ECHO) ok; fi), ok)
+
+SUNWJDGA_MAPFILE:=
+ifneq (,$(findstring $(ARCH),sparc))
+	SUNWJDGA_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjdga/mapfile-vers
+endif
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBSUNWJDGA, \
+		LIBRARY:=sunwjdga,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+		SRC:=$(JDK_TOPDIR)/src/solaris/native/sun/jdga, \
+		LANG:=C, \
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB) \
+			-I$(JDK_TOPDIR)/src/share/javavm/export \
+			-I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/javavm/export \
+			-I$(OPENWIN_HOME)/include, \
+		MAPFILE:=$(SUNWJDGA_MAPFILE), \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN), \
+		LDFLAGS_SUFFIX:=-L$(OPENWIN_LIB)$(ISA_DIR) -R$(OPENWIN_LIB)$(ISA_DIR) -ldga -lX11 $(LIBDL) -lc, \
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsunwjdga))
+
+BUILD_LIBRARIES += $(BUILD_LIBSUNWJDGA)
+
+endif
+endif
+endif
+endif
+
+##########################################################################################
+
+ifeq ($(BUILD_HEADLESS), true)
+ifneq ($(OPENJDK_TARGET_OS), windows)
+
+LIBAWT_HEADLESS_DIRS:=$(JDK_TOPDIR)/src/share/native/sun/font \
+                        $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
+			$(JDK_TOPDIR)/src/solaris/native/sun/font \
+			$(JDK_TOPDIR)/src/solaris/native/sun/awt \
+			$(JDK_TOPDIR)/src/solaris/native/sun/java2d/opengl \
+			$(JDK_TOPDIR)/src/solaris/native/sun/java2d/x11
+
+LIBAWT_HEADLESS_CFLAGS:=-DHEADLESS=true \
+                          -DX11_PATH=\"$(X11_PATH)\" -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" \
+			  $(CUPS_CFLAGS) \
+			  $(X_CFLAGS) \
+			  -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
+			  -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/java2d \
+			  -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
+			  -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
+			  -I$(JDK_TOPDIR)/src/share/native/sun/awt/image \
+			  -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
+			  -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
+			  -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/jdga \
+                          $(foreach dir,$(LIBAWT_HEADLESS_DIRS),-I$(dir))
+
+LIBAWT_HEADLESS_FILES:=\
+	awt_Font.c \
+	HeadlessToolkit.c \
+	fontpath.c \
+	VDrawingArea.c \
+	X11Color.c \
+	X11Renderer.c \
+	X11PMBlitLoops.c \
+	X11SurfaceData.c \
+	X11FontScaler_md.c \
+	X11TextRenderer_md.c \
+        OGLBlitLoops.c \
+        OGLBufImgOps.c \
+        OGLContext.c \
+        OGLFuncs.c \
+        OGLMaskBlit.c \
+        OGLMaskFill.c \
+        OGLPaints.c \
+        OGLRenderQueue.c \
+        OGLRenderer.c \
+        OGLSurfaceData.c \
+        OGLTextRenderer.c \
+        OGLVertexCache.c \
+        GLXGraphicsConfig.c \
+        GLXSurfaceData.c \
+        AccelGlyphCache.c \
+	CUPSfuncs.c
+
+LIBAWT_HEADLESS_LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) -lawt -lm
+
+LIBAWT_HEADLESS_REORDER:=
+ifeq ($(OPENJDK_TARGET_OS), solaris)
+	ifneq ($(ARCH), amd64)
+		LIBAWT_HEADLESS_REORDER:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt_headless/reorder-$(ARCH)
+	endif
+endif
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBAWT_HEADLESS,\
+		LIBRARY:=awt_headless,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+		SRC:=$(LIBAWT_HEADLESS_DIRS),\
+		INCLUDE_FILES:=$(LIBAWT_HEADLESS_FILES),\
+		LANG:=C,\
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB) $(LIBAWT_HEADLESS_CFLAGS),\
+		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt_headless/mapfile-vers, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN),\
+		REORDER:=$(LIBAWT_HEADLESS_REORDER), \
+		LDFLAGS_SUFFIX:=$(LIBAWT_HEADLESS_LDFLAGS_SUFFIX),\
+		LDFLAGS_SUFFIX_posix:=$(LIBDL),\
+		LDFLAGS_SUFFIX_macosx:=$(LIBCXX), \
+		LDFLAGS_SUFFIX_solaris:=$(LIBCXX), \
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libawt_headless))
+
+$(BUILD_LIBAWT_HEADLESS) : $(BUILD_LIBAWT)
+
+BUILD_LIBRARIES += $(BUILD_LIBAWT_HEADLESS)
 
 endif
 endif
@@ -1932,38 +2319,38 @@
 ##########################################################################################
 
 ifndef BUILD_HEADLESS_ONLY
-LIBSPLASHSCREEN_DIRS := \
+LIBSPLASHSCREEN_DIRS:=\
 	$(JDK_TOPDIR)/src/share/native/sun/awt/giflib \
 	$(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg \
 	$(JDK_TOPDIR)/src/share/native/sun/awt/libpng \
 	$(JDK_TOPDIR)/src/share/native/sun/awt/splashscreen \
-        $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/awt/splashscreen
-
-LIBSPLASHSCREEN_CFLAGS := -DSPLASHSCREEN -DPNG_NO_MMX_CODE \
+        $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/awt/splashscreen
+
+LIBSPLASHSCREEN_CFLAGS:=-DSPLASHSCREEN -DPNG_NO_MMX_CODE \
 	$(foreach dir,$(LIBSPLASHSCREEN_DIRS),-I$(dir))
 
-ifeq ($(PLATFORM), macosx)
-	LIBSPLASHSCREEN_CFLAGS := -I$(JDK_TOPDIR)/src/macosx/native/sun/awt/splashscreen \
+ifeq ($(OPENJDK_TARGET_OS), macosx)
+	LIBSPLASHSCREEN_CFLAGS:=-I$(JDK_TOPDIR)/src/macosx/native/sun/awt/splashscreen \
                                   $(LIBSPLASHSCREEN_CFLAGS) \
                                   -F/System/Library/Frameworks/JavaVM.framework/Frameworks
 	LIBSPLASHSCREEN_CFLAGS += -DWITH_MACOSX
 	LIBSPLASHSCREEN_CFLAGS += -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp
 
-	LIBSPLASHSCREEN_java_awt_SplashScreen.c_CFLAGS := -x objective-c -O0
-	LIBSPLASHSCREEN_splashscreen_gfx_impl.c_CFLAGS := -x objective-c -O0
-	LIBSPLASHSCREEN_splashscreen_gif.c_CFLAGS := -x objective-c -O0
-	LIBSPLASHSCREEN_splashscreen_impl.c_CFLAGS := -x objective-c -O0
-	LIBSPLASHSCREEN_splashscreen_jpeg.c_CFLAGS := -x objective-c -O0
-	LIBSPLASHSCREEN_splashscreen_png.c_CFLAGS := -x objective-c -O0
-	LIBSPLASHSCREEN_splashscreen_sys.m_CFLAGS := -O0
-
-else ifneq ($(PLATFORM), windows)
+	LIBSPLASHSCREEN_java_awt_SplashScreen.c_CFLAGS:=-x objective-c -O0
+	LIBSPLASHSCREEN_splashscreen_gfx_impl.c_CFLAGS:=-x objective-c -O0
+	LIBSPLASHSCREEN_splashscreen_gif.c_CFLAGS:=-x objective-c -O0
+	LIBSPLASHSCREEN_splashscreen_impl.c_CFLAGS:=-x objective-c -O0
+	LIBSPLASHSCREEN_splashscreen_jpeg.c_CFLAGS:=-x objective-c -O0
+	LIBSPLASHSCREEN_splashscreen_png.c_CFLAGS:=-x objective-c -O0
+	LIBSPLASHSCREEN_splashscreen_sys.m_CFLAGS:=-O0
+
+else ifneq ($(OPENJDK_TARGET_OS), windows)
 	LIBSPLASHSCREEN_CFLAGS += -DWITH_X11 -I$(OPENWIN_HOME)/include -I$(OPENWIN_HOME)/include/X11/extensions
 else
 	LIBSPLASHSCREEN_CFLAGS += -DWITH_WIN32
 endif
 
-LIBSPLASHSCREEN_FILES := \
+LIBSPLASHSCREEN_FILES:=\
 	java_awt_SplashScreen.c \
 	splashscreen_gfx_impl.c \
 	splashscreen_gif.c \
@@ -2033,14 +2420,14 @@
 	jfdctfst.c \
 	jfdctint.c
 
-ifneq ($(PLATFORM), macosx)
+ifneq ($(OPENJDK_TARGET_OS), macosx)
 LIBSPLASHSCREEN_FILES += splashscreen_sys.c
 else
 LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/macosx/native/sun/awt/splashscreen
 LIBSPLASHSCREEN_FILES += splashscreen_sys.m
 endif
 
-LIBSPLASHSCREEN_LDFLAGS_SUFFIX :=
+LIBSPLASHSCREEN_LDFLAGS_SUFFIX:=
 
 ifneq ($(USE_EXTERNAL_LIBZ),true)
 	LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5
@@ -2063,422 +2450,205 @@
 		zutil.c
 endif
 
-ifeq ($(PLATFORM), macosx)
+ifeq ($(OPENJDK_TARGET_OS), macosx)
 	LIBSPLASHSCREEN_LDFLAGS_SUFFIX += $(LIBM) -lpthread -liconv -losxapp \
 				  -framework ApplicationServices \
 				  -framework Foundation \
 				  -framework Cocoa \
                                   -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
 				  -framework JavaNativeFoundation
-else ifneq ($(PLATFORM), windows)
-	LIBSPLASHSCREEN_LDFLAGS_SUFFIX += -L$(OPENWIN_LIB)$(ISA_DIR) -lX11 -lXext $(LIBM) -lpthread $(LIBDL)
-else # PLATFORM
+else ifneq ($(OPENJDK_TARGET_OS), windows)
+	LIBSPLASHSCREEN_LDFLAGS_SUFFIX += -L$(OPENWIN_LIB)$(ISA_DIR) -lX11 -lXext $(LIBM) -lpthread
+else # OPENJDK_TARGET_OS
 	LIBSPLASHSCREEN_LDFLAGS_SUFFIX += kernel32.lib user32.lib gdi32.lib delayimp.lib /DELAYLOAD:user32.dll
-endif # PLATFORM
+endif # OPENJDK_TARGET_OS
 
 $(eval $(call SetupNativeCompilation,LIBSPLASHSCREEN,\
+		LIBRARY:=splashscreen,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
 		SRC:=$(LIBSPLASHSCREEN_DIRS),\
-		INCLUDE_FILES := $(LIBSPLASHSCREEN_FILES),\
+		INCLUDE_FILES:=$(LIBSPLASHSCREEN_FILES),\
 		LANG:=C,\
-		CFLAGS:= $(LIBSPLASHSCREEN_CFLAGS) $(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS),\
-		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libsplashscreen/mapfile-vers, \
-		LDFLAGS:= $(LDFLAGS_JDKLIB) \
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(LIBSPLASHSCREEN_CFLAGS) $(CFLAGS_JDKLIB),\
+		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libsplashscreen/mapfile-vers, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) \
 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
-		LDFLAGS_SUFFIX := $(LIBSPLASHSCREEN_LDFLAGS_SUFFIX) $(LIBZ),\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libsplashscreen,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)splashscreen$(SHARED_LIBRARY_SUFFIX)))
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)splashscreen$(SHARED_LIBRARY_SUFFIX)
-
-ifeq ($(PLATFORM),macosx)
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)splashscreen$(SHARED_LIBRARY_SUFFIX) : \
-  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)osxapp$(SHARED_LIBRARY_SUFFIX) 
+		LDFLAGS_SUFFIX_linux:=$(LIBDL), \
+		LDFLAGS_SUFFIX:=$(LIBSPLASHSCREEN_LDFLAGS_SUFFIX) $(LIBZ),\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsplashscreen))
+
+BUILD_LIBRARIES += $(LIBSPLASHSCREEN)
+
+ifeq ($(OPENJDK_TARGET_OS),macosx)
+$(LIBSPLASHSCREEN) :  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)osxapp$(SHARED_LIBRARY_SUFFIX) 
 endif
 
 endif
 
 ##########################################################################################
 
-LIBAWT_DIRS := \
-	$(JDK_TOPDIR)/src/share/native/sun/awt \
-	$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/awt \
-	$(JDK_TOPDIR)/src/share/native/sun/awt/image \
-	$(JDK_TOPDIR)/src/share/native/sun/awt/image/gif \
-	$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
-	$(JDK_TOPDIR)/src/share/native/sun/awt/shell \
-	$(JDK_TOPDIR)/src/share/native/sun/awt/medialib \
-	$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
-	$(JDK_TOPDIR)/src/share/native/sun/awt/utility \
-	$(JDK_TOPDIR)/src/share/native/sun/java2d \
-	$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/java2d \
-	$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
-	$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
-	$(JDK_TOPDIR)/src/share/native/sun/awt/image \
-	$(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
-	$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/java2d/opengl \
-	$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/java2d/x11 \
-	$(JDK_TOPDIR)/src/share/native/sun/font \
-	$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/windows \
-	$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/java2d/windows \
-	$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/java2d/d3d
-
-
-LIBAWT_CFLAGS := -D__MEDIALIB_OLD_NAMES -D__USE_J2D_NAMES \
-	$(foreach dir,$(LIBAWT_DIRS),-I$(dir))
-
-LIBAWT_FILES := \
-	gifdecoder.c \
-	imageInitIDs.c \
-	img_globals.c \
-	SurfaceData.c \
-	Region.c \
-	BufImgSurfaceData.c \
-	Disposer.c \
-	Trace.c \
-	GraphicsPrimitiveMgr.c \
-	Blit.c \
-	BlitBg.c \
-	ScaledBlit.c \
-	FillRect.c \
-	FillSpans.c \
-	FillParallelogram.c \
-	DrawParallelogram.c \
-	DrawLine.c \
-	DrawRect.c \
-	DrawPolygons.c \
-	DrawPath.c \
-	FillPath.c \
-	ProcessPath.c \
-	MaskBlit.c \
-	MaskFill.c \
-	TransformHelper.c \
-	AlphaMath.c \
-	AlphaMacros.c \
-	AnyByte.c \
-	ByteBinary1Bit.c \
-	ByteBinary2Bit.c \
-	ByteBinary4Bit.c \
-	ByteIndexed.c \
-	ByteGray.c \
-	Index8Gray.c \
-	Index12Gray.c \
-	AnyShort.c \
-	Ushort555Rgb.c \
-	Ushort565Rgb.c \
-	Ushort4444Argb.c \
-	Ushort555Rgbx.c \
-	UshortGray.c \
-	UshortIndexed.c \
-	Any3Byte.c \
-	ThreeByteBgr.c \
-	AnyInt.c \
-	IntArgb.c \
-	IntArgbPre.c \
-	IntArgbBm.c \
-	IntRgb.c \
-	IntBgr.c \
-	IntRgbx.c \
-	Any4Byte.c \
-	FourByteAbgr.c \
-	FourByteAbgrPre.c \
-	BufferedMaskBlit.c \
-	BufferedRenderPipe.c \
-	ShapeSpanIterator.c \
-	SpanClipRenderer.c \
-	awt_ImageRep.c \
-	awt_ImagingLib.c \
-	awt_Mlib.c \
-	awt_parseImage.c \
-	DataBufferNative.c \
-	dither.c \
-	debug_assert.c \
-	debug_mem.c \
-	debug_trace.c \
-	debug_util.c
-
-ifneq (,$(filter $(PLATFORM), solaris linux))
-	LIBAWT_FILES += awt_LoadLibrary.c initIDs.c img_colors.c
-endif
-
-ifeq ($(PLATFORM),macosx)
-	LIBAWT_DIRS += $(JDK_TOPDIR)/src/macosx/native/com/apple/resources
-	LIBAWT_FILES += awt_LoadLibrary.c MacOSXResourceBundle.m
-	LIBAWT_CFLAGS += -F/System/Library/Frameworks/JavaVM.framework/Frameworks
-
-	LIBAWT_MacOSXResourceBundle.m_CFLAGS := -O0
-endif
-
-ifeq ($(PLATFORM)-$(ARCH_FAMILY), solaris-sparc)
-#
-# TODO...
-#
-
-#	FILES_c += $(FILES_2D_vis)
-#	ASFLAGS += -P
-#	FILES_s += mlib_v_ImageCopy_blk.s
-#	INLINE_VIS = $(PLATFORM_SRC)/native/sun/awt/medialib/vis_$(ARCH_DATA_MODEL).il
-#	CFLAGS_sparcv9 = -DMLIB_OS64BIT
-#	CFLAGS += $(CFLAGS_$(ARCH)) -DMLIB_ADD_SUFF $(INLINE_VIS)
-else
-	LIBAWT_FILES += MapAccelFunc.c
-endif
-
-ifneq ($(PLATFORM),solaris)
-	LIBAWT_CFLAGS += -DMLIB_NO_LIBSUNMATH
-endif
-
-LIBAWT_LANG := C
-
-ifeq ($(PLATFORM),windows)
-	LIBAWT_FILES += AccelGlyphCache.c \
-			ShaderList.c \
-			CmdIDList.cpp \
-			Hashtable.cpp \
-			GDIHashtable.cpp \
-			Devices.cpp \
-			ObjectList.cpp \
-			GDIBlitLoops.cpp \
-			GDIRenderer.cpp \
-			GDIWindowSurfaceData.cpp \
-			WindowsFlags.cpp \
-			WPrinterJob.cpp \
-			awt_%.cpp \
-			D3DBlitLoops.cpp \
-			D3DBufImgOps.cpp \
-			D3DContext.cpp \
-			D3DGlyphCache.cpp \
-			D3DGraphicsDevice.cpp \
-			D3DMaskBlit.cpp \
-			D3DMaskCache.cpp \
-			D3DMaskFill.cpp \
-			D3DPipelineManager.cpp \
-			D3DPaints.cpp \
-			D3DRenderer.cpp \
-			D3DRenderQueue.cpp \
-			D3DResourceManager.cpp \
-			D3DSurfaceData.cpp \
-			D3DTextRenderer.cpp \
-			D3DVertexCacher.cpp \
-			ShellFolder2.cpp \
-			ThemeReader.cpp \
-			ComCtl32Util.cpp \
-			DllUtil.cpp \
-			initIDs.cpp \
-			MouseInfo.cpp \
-			rect.c
-	LIBAWT_LANG := C++
-	LIBAWT_CFLAGS += $(GX_OPTION) -DUNICODE -D_UNICODE
-	ifeq ($(ARCH_DATA_MODEL), 64)
-		LIBAWT_CFLAGS += -DMLIB_OS64BIT
-	endif
-
-	ifdef OPENJDK
-		LIBAWT_RC_FLAGS := -i "$(JDK_TOPDIR)/src/windows/resource/icons"
-	else
-		LIBAWT_RC_FLAGS := -i "$(JDK_TOPDIR)/src/closed/windows/native/sun/windows"
-	endif
-	LIBAWT_VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/native/sun/windows/awt.rc
-endif
-
-ifeq ($(MILESTONE), internal)
-	LIBAWT_CFLAGS += -DINTERNAL_BUILD
-endif
-
-LIBAWT_MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libawt/mapfile-vers
-ifeq ($(PLATFORM),linux)
-	LIBAWT_MAPFILE :=
-endif
-
-$(eval $(call SetupNativeCompilation,BUILD_LIBAWT,\
-		SRC:=$(LIBAWT_DIRS),\
-		INCLUDE_FILES := $(LIBAWT_FILES),\
-		LANG:=$(LIBAWT_LANG),\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) $(LIBAWT_CFLAGS),\
-		MAPFILE := $(LIBAWT_MAPFILE), \
-		LDFLAGS:=$(LDFLAGS_JDKLIB) $(call SET_SHARED_LIBRARY_ORIGIN),\
-		LDFLAGS_windows:=advapi32.lib kernel32.lib user32.lib gdi32.lib winspool.lib \
-				 imm32.lib ole32.lib uuid.lib shell32.lib \
-				 comdlg32.lib winmm.lib comctl32.lib \
-				 shlwapi.lib delayimp.lib java.lib jvm.lib \
-				 /DELAYLOAD:user32.dll /DELAYLOAD:gdi32.dll \
-				 /DELAYLOAD:shell32.dll /DELAYLOAD:winmm.dll \
-				 /DELAYLOAD:winspool.drv /DELAYLOAD:imm32.dll \
-				 /DELAYLOAD:ole32.dll /DELAYLOAD:comdlg32.dll \
-				 /DELAYLOAD:comctl32.dll /DELAYLOAD:shlwapi.dll,\
-		LDFLAGS_macosx :=-framework Cocoa \
-				 -framework OpenGL \
-				 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
-				 -framework JavaNativeFoundation \
-				 -framework JavaRuntimeSupport \
-				 -framework ApplicationServices \
-				 -framework AudioToolbox,\
-		LDFLAGS_solaris := -R/usr/dt/lib$(ISA_DIR) -R$(OPENWIN_LIB)$(ISA_DIR),\
-		LDFLAGS_SUFFIX_posix := -ljvm $(LIBM) -ljava $(LIBDL),\
-		VERSIONINFO_RESOURCE := $(LIBAWT_VERSIONINFO_RESOURCE),\
-		RC_FLAGS := $(RC_FLAGS) $(LIBAWT_RC_FLAGS) \
-			  /D "JDK_FNAME=awt.dll" \
-			  /D "JDK_INTERNAL_NAME=awt" \
-			  /D "JDK_FTYPE=0x2L",\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libawt,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)awt$(SHARED_LIBRARY_SUFFIX)))
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)awt$(SHARED_LIBRARY_SUFFIX) : \
-  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt$(SHARED_LIBRARY_SUFFIX)
-
-##########################################################################################
-
 ifndef OPENJDK
 
-LIBDCPR_SRC_DIRS := \
+LIBDCPR_SRC_DIRS:=\
 	$(JDK_TOPDIR)/src/closed/share/native/sun/dc/doe \
 	$(JDK_TOPDIR)/src/closed/share/native/sun/dc/path \
 	$(JDK_TOPDIR)/src/closed/share/native/sun/dc/pr \
 	$(JDK_TOPDIR)/src/closed/share/native/sun/dc/util
 
-LIBDCPR_CFLAGS := $(foreach dir,$(LIBDCPR_SRC_DIRS),-I$(dir)) \
+LIBDCPR_CFLAGS:=$(foreach dir,$(LIBDCPR_SRC_DIRS),-I$(dir)) \
 	          -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe
 
 $(eval $(call SetupNativeCompilation,BUILD_LIBDCPR,\
+		LIBRARY:=dcpr,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
 		SRC:=$(LIBDCPR_SRC_DIRS),\
 		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB) \
 			$(LIBDCPR_CFLAGS), \
-		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libdcpr/mapfile-vers, \
+		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libdcpr/mapfile-vers, \
 		LDFLAGS:=$(LDFLAGS_JDKLIB) $(LIBM)\
 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
 		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
-		LDFLAGS_SUFFIX_posix := $(LIBDL) -lm,\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libdcpr,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)dcpr$(SHARED_LIBRARY_SUFFIX)))
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)dcpr$(SHARED_LIBRARY_SUFFIX) : \
-  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)dcpr$(SHARED_LIBRARY_SUFFIX)
+		LDFLAGS_SUFFIX_posix:=-lm,\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libdcpr))
+
+$(BUILD_LIBDCPR) : $(BUILD_LIBJAVA)
+
+BUILD_LIBRARIES += $(BUILD_LIBDCPR)
 
 endif
 
 ##########################################################################################
 
 $(eval $(call SetupNativeCompilation,BUILD_LIBJ2PCSC,\
+		LIBRARY:=j2pcsc,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
 		SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/smartcardio \
-                     $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/security/smartcardio,\
+                     $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/security/smartcardio,\
 		LANG:=C,\
-		CFLAGS_posix:= -D__sun_jdk,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
+		CFLAGS_posix:=-D__sun_jdk,\
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB) \
                      -I$(JDK_TOPDIR)/src/share/native/sun/security/smartcardio \
-                     -I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/security/smartcardio\
-                     -I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/security/smartcardio/MUSCLE,\
-		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libj2pcsc/mapfile-vers, \
+                     -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/security/smartcardio\
+                     -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/security/smartcardio/MUSCLE,\
+		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2pcsc/mapfile-vers, \
 		LDFLAGS:=$(LDFLAGS_JDKLIB) \
 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
-		LDFLAGS_SUFFIX_posix := $(LIBDL), \
-		LDFLAGS_SUFFIX_windows := winscard.lib,\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libj2pcsc,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)j2pcsc$(SHARED_LIBRARY_SUFFIX)))
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)j2pcsc$(SHARED_LIBRARY_SUFFIX)
+		LDFLAGS_SUFFIX_posix:=$(LIBDL), \
+		LDFLAGS_SUFFIX_windows:=winscard.lib,\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2pcsc))
+
+BUILD_LIBRARIES += $(BUILD_LIBJ2PCSC)
 
 ##########################################################################################
 
-ifneq ($(PLATFORM), windows)
+ifneq ($(OPENJDK_TARGET_OS), windows)
 $(eval $(call SetupNativeCompilation,BUILD_LIBJ2GSS,\
+		LIBRARY:=j2gss,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
 		SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/jgss/wrapper \
-                     $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/security/jgss/wrapper,\
+                     $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/security/jgss/wrapper,\
 		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB) \
                      -I$(JDK_TOPDIR)/src/share/native/sun/security/jgss/wrapper \
-                     -I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/security/jgss/wrapper,\
-		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libj2gss/mapfile-vers, \
+                     -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/security/jgss/wrapper,\
+		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2gss/mapfile-vers, \
 		LDFLAGS:=$(LDFLAGS_JDKLIB) \
 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
-		LDFLAGS_SUFFIX := $(LIBDL), \
-		BIN:=$(JDK_OUTPUTDIR)/objs/libj2gss,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)j2gss$(SHARED_LIBRARY_SUFFIX)))
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)j2gss$(SHARED_LIBRARY_SUFFIX)
+		LDFLAGS_SUFFIX:=$(LIBDL), \
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2gss))
+
+BUILD_LIBRARIES += $(BUILD_LIBJ2GSS)
 endif
 
 ##########################################################################################
 
-BUILD_LIBKRB5_NAME :=
-ifeq ($(PLATFORM), windows)
-     BUILD_LIBKRB5_NAME := w2k_lsa_auth
-     BUILD_LIBKRB5_FILES := NativeCreds.c WindowsDirectory.c
-     BUILD_LIBKRB5_SRC := $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/security/krb5
-     BUILD_LIBKRB5_LIBS := Secur32.lib netapi32.lib \
+BUILD_LIBKRB5_NAME:=
+ifeq ($(OPENJDK_TARGET_OS), windows)
+     BUILD_LIBKRB5_NAME:=w2k_lsa_auth
+     BUILD_LIBKRB5_FILES:=NativeCreds.c WindowsDirectory.c
+     BUILD_LIBKRB5_SRC:=$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/security/krb5
+     BUILD_LIBKRB5_LIBS:=Secur32.lib netapi32.lib \
 	kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib \
 	advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib \
 	odbccp32.lib wsock32.lib
-else ifeq ($(PLATFORM), macosx)
-     BUILD_LIBKRB5_NAME := osxkrb5
-     BUILD_LIBKRB5_FILES := nativeccache.c
-     BUILD_LIBKRB5_LIBS := -framework Kerberos
+else ifeq ($(OPENJDK_TARGET_OS), macosx)
+     BUILD_LIBKRB5_NAME:=osxkrb5
+     BUILD_LIBKRB5_FILES:=nativeccache.c
+     BUILD_LIBKRB5_LIBS:=-framework Kerberos
 endif
 
 ifneq ($(BUILD_LIBKRB5_NAME),)
 $(eval $(call SetupNativeCompilation,BUILD_LIBKRB5,\
+		LIBRARY:=$(BUILD_LIBKRB5_NAME),\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
 		SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/krb5 \
                      $(BUILD_LIBKRB5_SRC) ,\
-		INCLUDE_FILES := $(BUILD_LIBKRB5_FILES),\
+		INCLUDE_FILES:=$(BUILD_LIBKRB5_FILES),\
 		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB) \
 		        -I$(JDK_TOPDIR)/src/share/native/sun/security/krb5 \
-                        -I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/security/krb5 ,\
+                        -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/security/krb5 ,\
 		LDFLAGS:=$(LDFLAGS_JDKLIB) \
 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
-		LDFLAGS_SUFFIX := $(BUILD_LIBKRB5_LIBS) ,\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libkrb5,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)$(BUILD_LIBKRB5_NAME)$(SHARED_LIBRARY_SUFFIX)))
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)$(BUILD_LIBKRB5_NAME)$(SHARED_LIBRARY_SUFFIX)
+		LDFLAGS_SUFFIX:=$(BUILD_LIBKRB5_LIBS) ,\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libkrb5))
+
+BUILD_LIBRARIES += $(BUILD_LIBKRB5)
 endif
 
 ##########################################################################################
 
-ifeq ($(PLATFORM), windows)
+ifeq ($(OPENJDK_TARGET_OS), windows)
 
 $(eval $(call SetupNativeCompilation,BUILD_LIBSUNMSCAPI,\
+		LIBRARY:=sunmscapi,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
 		SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/mscapi \
-		     $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/security/mscapi,\
-		INCLUDE_FILES := security.cpp, \
+		     $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/security/mscapi,\
+		INCLUDE_FILES:=security.cpp, \
 		LANG:=C++,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB) \
 		        -I$(JDK_TOPDIR)/src/share/native/sun/security/mscapi \
-                        -I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/security/mscapi ,\
+                        -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/security/mscapi ,\
 		LDFLAGS:=$(LDFLAGS_JDKLIB) \
 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
-		LDFLAGS_SUFFIX := Crypt32.Lib advapi32.lib,\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libsunmscapi,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)sunmscapi$(SHARED_LIBRARY_SUFFIX)))
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)sunmscapi$(SHARED_LIBRARY_SUFFIX)
+		LDFLAGS_SUFFIX:=Crypt32.Lib advapi32.lib,\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsunmscapi))
+
+BUILD_LIBRARIES += $(BUILD_LIBSUNMSCAPI)
 endif
 
 ##########################################################################################
 
-ifneq ($(PLATFORM)-$(ARCH_DATA_MODEL), windows-64)
+ifneq ($(OPENJDK_TARGET_OS)-$(ARCH_DATA_MODEL), windows-64)
 $(eval $(call SetupNativeCompilation,BUILD_LIBJ2PKCS11,\
+		LIBRARY:=j2pkcs11,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
 		SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/pkcs11 \
-                     $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/security/pkcs11 \
+                     $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/security/pkcs11 \
                      $(JDK_TOPDIR)/src/share/native/sun/security/pkcs11/wrapper \
-                     $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/security/pkcs11/wrapper,\
+                     $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/security/pkcs11/wrapper,\
 		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB) \
 		        -I$(JDK_TOPDIR)/src/share/native/sun/security/pkcs11 \
-		        -I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/security/pkcs11 \
+		        -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/security/pkcs11 \
 		        -I$(JDK_TOPDIR)/src/share/native/sun/security/pkcs11/wrapper \
-                        -I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/security/pkcs11/wrapper,\
-		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libj2pkcs11/mapfile-vers, \
+                        -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/security/pkcs11/wrapper,\
+		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2pkcs11/mapfile-vers, \
 		LDFLAGS:=$(LDFLAGS_JDKLIB) \
 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
-		LDFLAGS_SUFFIX_posix := $(LIBDL), \
-		BIN:=$(JDK_OUTPUTDIR)/objs/libj2pkcs11,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)j2pkcs11$(SHARED_LIBRARY_SUFFIX)))
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)j2pkcs11$(SHARED_LIBRARY_SUFFIX)
+		LDFLAGS_SUFFIX_posix:=$(LIBDL), \
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2pkcs11))
+
+BUILD_LIBRARIES += $(BUILD_LIBJ2PKCS11)
 endif
 
 ##########################################################################################
@@ -2488,40 +2658,56 @@
 # TODO Set DISABLE_INTREE_EC in configure if src/share/native/sun/security/ec/impl
 #      is not present
 #
-BUILD_LIBSUNEC_FLAGS := -DMP_API_COMPATIBLE -DNSS_ECC_MORE_THAN_SUITE_B \
-                        -I$(JDK_TOPDIR)/src/share/native/sun/security/ec \
-                        -I$(JDK_TOPDIR)/src/share/native/sun/security/ec/impl
+BUILD_LIBSUNEC_FLAGS:= -I$(JDK_TOPDIR)/src/share/native/sun/security/ec \
+                       -I$(JDK_TOPDIR)/src/share/native/sun/security/ec/impl
+
+#
+# On sol-sparc...all libraries are compiled with -xregs=no%appl
+#   (set in CFLAGS_REQUIRED_sparc)
+#
+# except!!! libsunec.so
+#
+ECC_JNI_SOLSPARC_FILTER:=
+ifeq ($(OPENJDK_TARGET_CPU_ARCH), sparc)
+     ECC_JNI_SOLSPARC_FILTER:=-xregs=no%appl
+endif
 
 $(eval $(call SetupNativeCompilation,BUILD_LIBSUNEC,\
+		LIBRARY:=sunec,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
 		SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/ec \
                      $(JDK_TOPDIR)/src/share/native/sun/security/ec/impl, \
-		LANG := C++, \
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) $(BUILD_LIBSUNEC_FLAGS),\
-		CXXFLAGS:=$(CXXFLAGS_JDKLIB) $(CXX_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) $(BUILD_LIBSUNEC_FLAGS),\
-		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libsunec/mapfile-vers, \
+		LANG:=C++, \
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(filter-out $(ECC_JNI_SOLSPARC_FILTER), $(CFLAGS_JDKLIB))\
+                        $(BUILD_LIBSUNEC_FLAGS) \
+                        -DMP_API_COMPATIBLE -DNSS_ECC_MORE_THAN_SUITE_B,\
+		CXXFLAGS:=$(filter-out $(ECC_JNI_SOLSPARC_FILTER), $(CXXFLAGS_JDKLIB)) \
+                          $(BUILD_LIBSUNEC_FLAGS),\
+		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libsunec/mapfile-vers, \
 		LDFLAGS:=$(LDFLAGS_JDKLIB) \
 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
-		LDFLAGS_SUFFIX := $(LIBCXX),\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libsunec,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)sunec$(SHARED_LIBRARY_SUFFIX)))
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)sunec$(SHARED_LIBRARY_SUFFIX)
+		LDFLAGS_SUFFIX:=$(LIBCXX),\
+                LDFLAGS_SUFFIX_solaris:=-lc ,\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsunec))
+
+BUILD_LIBRARIES += $(BUILD_LIBSUNEC)
 endif
 
 ##########################################################################################
 
-LIBJSOUND_SRC_DIRS := \
+LIBJSOUND_SRC_DIRS:=\
 	$(JDK_TOPDIR)/src/share/native/com/sun/media/sound \
-	$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/com/sun/media/sound
-
-LIBJSOUND_SRC_FILES := Utilities.c Platform.c
-
-LIBJSOUND_LANG := C
-LIBJSOUND_CFLAGS := $(foreach dir,$(LIBJSOUND_SRC_DIRS),-I$(dir))
-
-EXTRA_SOUND_JNI_LIBS := 
-
-LIBJSOUND_MIDIFILES := \
+	$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/com/sun/media/sound
+
+LIBJSOUND_SRC_FILES:=Utilities.c Platform.c
+
+LIBJSOUND_LANG:=C
+LIBJSOUND_CFLAGS:=$(foreach dir,$(LIBJSOUND_SRC_DIRS),-I$(dir))
+
+EXTRA_SOUND_JNI_LIBS:=
+
+LIBJSOUND_MIDIFILES:=\
 	MidiInDevice.c \
 	MidiInDeviceProvider.c \
 	MidiOutDevice.c \
@@ -2529,16 +2715,16 @@
 	PlatformMidi.c
 
 # files needed for ports
-LIBJSOUND_PORTFILES := \
+LIBJSOUND_PORTFILES:=\
 	PortMixerProvider.c \
 	PortMixer.c
 
 # files needed for direct audio
-LIBJSOUND_DAUDIOFILES := \
+LIBJSOUND_DAUDIOFILES:=\
 	DirectAudioDeviceProvider.c \
 	DirectAudioDevice.c
 
-ifeq ($(PLATFORM), windows)
+ifeq ($(OPENJDK_TARGET_OS), windows)
 	EXTRA_SOUND_JNI_LIBS += jsoundds
 	LIBJSOUND_CFLAGS += -DX_PLATFORM=X_WINDOWS \
                             -DUSE_PLATFORM_MIDI_OUT=TRUE \
@@ -2551,15 +2737,15 @@
 		PLATFORM_API_WinOS_Ports.c
 	LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES)
 	LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES)
-endif # PLATFORM windows
-
-ifeq ($(PLATFORM), linux)
+endif # OPENJDK_TARGET_OS windows
+
+ifeq ($(OPENJDK_TARGET_OS), linux)
 	EXTRA_SOUND_JNI_LIBS += jsoundalsa
 	LIBJSOUND_CFLAGS += -DX_PLATFORM=X_LINUX
-endif # PLATFORM linux
-
-ifeq ($(PLATFORM), macosx)
-	LIBJSOUND_LANG := C++
+endif # OPENJDK_TARGET_OS linux
+
+ifeq ($(OPENJDK_TARGET_OS), macosx)
+	LIBJSOUND_LANG:=C++
 	LIBJSOUND_CFLAGS += -DX_PLATFORM=X_MACOSX \
                             -DUSE_PORTS=TRUE \
                             -DUSE_DAUDIO=TRUE \
@@ -2576,9 +2762,9 @@
 	LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES)
 	LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES)
 	LIBJSOUND_SRC_FILES += $(LIBJSOUND_DAUDIOFILES)
-endif # PLATFORM macosx
-
-ifeq ($(PLATFORM), solaris)
+endif # OPENJDK_TARGET_OS macosx
+
+ifeq ($(OPENJDK_TARGET_OS), solaris)
 	LIBJSOUND_CFLAGS += -DX_PLATFORM=X_SOLARIS \
                             -DUSE_PORTS=TRUE \
                             -DUSE_DAUDIO=TRUE
@@ -2589,7 +2775,7 @@
 	LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES)
 	LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES)
 	LIBJSOUND_SRC_FILES += $(LIBJSOUND_DAUDIOFILES)
-endif # PLATFORM solaris
+endif # OPENJDK_TARGET_OS solaris
 
 
 ifeq ($(JVM_VARIANT_ZERO), true)
@@ -2623,37 +2809,38 @@
 LIBJSOUND_CFLAGS += -DEXTRA_SOUND_JNI_LIBS='"$(EXTRA_SOUND_JNI_LIBS)"'
 
 $(eval $(call SetupNativeCompilation,BUILD_LIBJSOUND,\
+		LIBRARY:=jsound,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
 		SRC:=$(LIBJSOUND_SRC_DIRS),\
-		INCLUDE_FILES := $(LIBJSOUND_SRC_FILES),\
+		INCLUDE_FILES:=$(LIBJSOUND_SRC_FILES),\
 		LANG:=$(LIBJSOUND_LANG),\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
-			$(LIBJSOUND_CFLAGS), \
-		CXXFLAGS:=$(CXXFLAGS_JDKLIB) $(CXX_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
-			$(LIBJSOUND_CFLAGS), \
-		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libjsound/mapfile-vers, \
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB) $(LIBJSOUND_CFLAGS), \
+		CXXFLAGS:=$(CXXFLAGS_JDKLIB) $(LIBJSOUND_CFLAGS), \
+		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjsound/mapfile-vers, \
 		LDFLAGS:=$(LDFLAGS_JDKLIB)\
 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
-		LDFLAGS_windows:=java.lib advapi32.lib winmm.lib,\
+		LDFLAGS_windows:=$(WIN_JAVA_LIB) advapi32.lib winmm.lib,\
 		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
 		LDFLAGS_SUFFIX_solaris:=-lc ,\
-		LDFLAGS_SUFFIX_macosx := -framework CoreAudio -framework CoreFoundation \
+		LDFLAGS_SUFFIX_macosx:=-framework CoreAudio -framework CoreFoundation \
              -framework CoreServices -framework AudioUnit $(LIBCXX) \
              -framework CoreMIDI -framework AudioToolbox ,\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libjsound,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jsound$(SHARED_LIBRARY_SUFFIX)))
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jsound$(SHARED_LIBRARY_SUFFIX) : \
-  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)jsound$(SHARED_LIBRARY_SUFFIX)
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsound))
+
+$(BUILD_LIBJSOUND) : $(BUILD_LIBJAVA)
+
+BUILD_LIBRARIES += $(BUILD_LIBJSOUND)
 
 ##########################################################################################
 
 ifneq ($(filter jsoundalsa, $(EXTRA_SOUND_JNI_LIBS)),)
 
 $(eval $(call SetupNativeCompilation,BUILD_LIBJSOUNDALSA,\
+		LIBRARY:=jsoundalsa,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
 		SRC:=$(LIBJSOUND_SRC_DIRS),\
-		INCLUDE_FILES := Utilities.c $(LIBJSOUND_MIDIFILES) $(LIBJSOUND_PORTFILES) \
+		INCLUDE_FILES:=Utilities.c $(LIBJSOUND_MIDIFILES) $(LIBJSOUND_PORTFILES) \
                                 $(LIBJSOUND_DAUDIOFILES) \
 				PLATFORM_API_LinuxOS_ALSA_CommonUtils.c   \
 				PLATFORM_API_LinuxOS_ALSA_PCM.c     \
@@ -2662,24 +2849,23 @@
 				PLATFORM_API_LinuxOS_ALSA_MidiOut.c \
 				PLATFORM_API_LinuxOS_ALSA_MidiUtils.c \
 				PLATFORM_API_LinuxOS_ALSA_Ports.c,\
-		LANG := C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
+		LANG:=C,\
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB) \
 			$(LIBJSOUND_CFLAGS) \
 			-DUSE_DAUDIO=TRUE \
 			-DUSE_PORTS=TRUE  \
 			-DUSE_PLATFORM_MIDI_OUT=TRUE \
 			-DUSE_PLATFORM_MIDI_IN=TRUE, \
-		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libjsoundalsa/mapfile-vers, \
+		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjsoundalsa/mapfile-vers, \
 		LDFLAGS:=$(LDFLAGS_JDKLIB)\
 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
 		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) -lasound,\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libjsoundalsa,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jsoundalsa$(SHARED_LIBRARY_SUFFIX)))
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jsoundalsa$(SHARED_LIBRARY_SUFFIX) : \
-  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)jsoundalsa$(SHARED_LIBRARY_SUFFIX)
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsoundalsa))
+
+$(BUILD_LIBJSOUNDALSA) : $(BUILD_LIBJAVA)
+
+BUILD_LIBRARIES += $(BUILD_LIBJSOUNDALSA)
 
 endif
 
@@ -2688,104 +2874,113 @@
 ifneq ($(filter jsoundds, $(EXTRA_SOUND_JNI_LIBS)),)
 
 $(eval $(call SetupNativeCompilation,BUILD_LIBJSOUNDDS,\
+		LIBRARY:=jsoundds,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
 		SRC:=$(LIBJSOUND_SRC_DIRS),\
-		INCLUDE_FILES := Utilities.c $(LIBJSOUND_DAUDIOFILES) \
+		INCLUDE_FILES:=Utilities.c $(LIBJSOUND_DAUDIOFILES) \
 				PLATFORM_API_WinOS_DirectSound.cpp, \
-		LANG := C++,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
+		LANG:=C++,\
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB) \
 			$(LIBJSOUND_CFLAGS) \
 			-DUSE_DAUDIO=TRUE, \
 		LDFLAGS:=$(LDFLAGS_JDKLIB)\
 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
 		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) dsound.lib winmm.lib user32.lib ole32.lib,\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libjsoundds,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jsoundds$(SHARED_LIBRARY_SUFFIX)))
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jsoundds$(SHARED_LIBRARY_SUFFIX) : \
-  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)jsoundds$(SHARED_LIBRARY_SUFFIX)
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsoundds))
+
+$(BUILD_LIBJSOUNDDS) : $(BUILD_LIBJAVA)
+
+BUILD_LIBRARIES += $(BUILD_LIBJSOUNDDS)
 
 endif
 
 ##########################################################################################
 
-ifeq ($(PLATFORM), solaris)
+ifeq ($(OPENJDK_TARGET_OS), solaris)
 ifndef OPENJDK
 
 $(eval $(call SetupNativeCompilation,BUILD_LIBJ2UCRYPTO,\
+		LIBRARY:=j2ucrypto,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
 		SRC:=$(JDK_TOPDIR)/src/closed/solaris/native/com/oracle/security/ucrypto,\
-		LANG := C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
+		LANG:=C,\
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB) \
 			-I$(JDK_TOPDIR)/src/closed/solaris/native/com/oracle/security/ucrypto ,\
-		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libj2ucrypto/mapfile-vers, \
+		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2ucrypto/mapfile-vers, \
 		LDFLAGS:=$(LDFLAGS_JDKLIB)\
 			 $(call SET_SHARED_LIBRARY_ORIGIN), \
 		LDFLAGS_SUFFIX:=$(LIBDL),\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libj2ucrypto,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)j2ucrypto$(SHARED_LIBRARY_SUFFIX)))
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)j2ucrypto$(SHARED_LIBRARY_SUFFIX) : \
-  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)j2ucrypto$(SHARED_LIBRARY_SUFFIX)
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2ucrypto))
+
+$(BUILD_LIBJ2UCRYPTO) : $(BUILD_LIBJAVA)
+
+BUILD_LIBRARIES += $(BUILD_LIBJ2UCRYPTO)
 
 endif
 endif
 
 ##########################################################################################
 
-ifeq ($(PLATFORM), macosx)
-
-LIBAPPLESCRIPTENGINE_FILES := \
+ifeq ($(OPENJDK_TARGET_OS), macosx)
+
+LIBAPPLESCRIPTENGINE_FILES:=\
 	AppleScriptEngine.m \
         AppleScriptExecutionContext.m \
         AS_NS_ConversionUtils.m \
         NS_Java_ConversionUtils.m
 
 $(eval $(call SetupNativeCompilation,BUILD_LIBAPPLESCRIPTENGINE,\
+		LIBRARY:=AppleScriptEngine,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
 		SRC:=$(JDK_TOPDIR)/src/macosx/native/apple/applescript,\
-		LANG := C,\
+		LANG:=C,\
 		INCLUDE_FILES:=$(LIBAPPLESCRIPTENGINE_FILES),\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB) \
 			-I$(JDK_TOPDIR)/src/macosx/native/apple/applescript \
 			-F/System/Library/Frameworks/JavaVM.framework/Frameworks \
                         -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks, \
 		LDFLAGS:=$(LDFLAGS_JDKLIB)\
 			 $(call SET_SHARED_LIBRARY_ORIGIN), \
-		LDFLAGS_SUFFIX:= \
+		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) \
     -framework Cocoa \
     -framework Carbon \
     -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
     -framework JavaNativeFoundation, \
-		BIN:=$(JDK_OUTPUTDIR)/objs/libAppleScriptEngine,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)AppleScriptEngine$(SHARED_LIBRARY_SUFFIX)))
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)AppleScriptEngine$(SHARED_LIBRARY_SUFFIX)
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libAppleScriptEngine))
+
+$(BUILD_LIBAPPLESCRIPTENGINE) : $(BUILD_LIBJAVA)
+
+BUILD_LIBRARIES += $(BUILD_LIBAPPLESCRIPTENGINE)
 
 endif
 
 ##########################################################################################
 
-ifeq ($(PLATFORM), macosx)
-
-LIBOSXAPP_FILES := \
+ifeq ($(OPENJDK_TARGET_OS), macosx)
+
+LIBOSXAPP_FILES:=\
 	NSApplicationAWT.m \
 	QueuingApplicationDelegate.m \
 	PropertiesUtilities.m \
 	ThreadUtilities.m
 
 $(eval $(call SetupNativeCompilation,BUILD_LIBOSXAPP,\
+		LIBRARY:=osxapp,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
 		SRC:=$(JDK_TOPDIR)/src/macosx/native/sun/osxapp,\
-		LANG := C,\
+		LANG:=C,\
 		INCLUDE_FILES:=$(LIBOSXAPP_FILES),\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB) \
 			-I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
                         -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
                         -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks,\
 		LDFLAGS:=$(LDFLAGS_JDKLIB)\
 			 $(call SET_SHARED_LIBRARY_ORIGIN), \
-		LDFLAGS_SUFFIX_macosx := \
+		LDFLAGS_SUFFIX_macosx:=\
 	-framework Accelerate \
 	-framework ApplicationServices \
 	-framework AudioToolbox \
@@ -2799,18 +2994,17 @@
 	-framework OpenGL \
 	-framework IOSurface \
 	-framework QuartzCore, \
-		BIN:=$(JDK_OUTPUTDIR)/objs/libosxapp,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)osxapp$(SHARED_LIBRARY_SUFFIX)))
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)osxapp$(SHARED_LIBRARY_SUFFIX)
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libosxapp))
+
+BUILD_LIBRARIES += $(BUILD_LIBOSXAPP)
 
 endif
 
 ##########################################################################################
 
-ifeq ($(PLATFORM), macosx)
-
-LIBOSX_FILES := \
+ifeq ($(OPENJDK_TARGET_OS), macosx)
+
+LIBOSX_FILES:=\
     Dispatch.m \
     CFileManager.m \
     KeystoreImpl.m \
@@ -2818,7 +3012,7 @@
     MacOSXPreferencesFile.m \
     SCDynamicStoreConfig.m
 
-LIBOSX_DIRS := \
+LIBOSX_DIRS:=\
   $(JDK_TOPDIR)/src/macosx/native/com/apple/concurrent \
   $(JDK_TOPDIR)/src/macosx/native/java/util \
   $(JDK_TOPDIR)/src/macosx/native/com/apple/eio \
@@ -2826,17 +3020,20 @@
   $(JDK_TOPDIR)/src/macosx/native/apple/launcher
 
 $(eval $(call SetupNativeCompilation,BUILD_LIBOSX,\
+		LIBRARY:=osx,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
 		SRC:=$(LIBOSX_DIRS),\
-		LANG := C,\
+		LANG:=C,\
 		INCLUDE_FILES:=$(LIBOSX_FILES),\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB) \
                         $(foreach dir,$(LIBOSX_DIRS),-I$(dir)) \
                         -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
                         -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
                         -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks,\
 		LDFLAGS:=$(LDFLAGS_JDKLIB)\
 			 $(call SET_SHARED_LIBRARY_ORIGIN), \
-		LDFLAGS_SUFFIX_macosx := \
+		LDFLAGS_SUFFIX_macosx:=\
     -losxapp \
     -framework Cocoa \
     -framework ApplicationServices \
@@ -2846,24 +3043,21 @@
     -framework Security \
     -framework SystemConfiguration \
     $(LDFLAGS_JDKLIB_SUFFIX), \
-		BIN:=$(JDK_OUTPUTDIR)/objs/libosx,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)osx$(SHARED_LIBRARY_SUFFIX)))
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)osx$(SHARED_LIBRARY_SUFFIX)
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)osx$(SHARED_LIBRARY_SUFFIX) : \
-  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)osxapp$(SHARED_LIBRARY_SUFFIX) 
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)osx$(SHARED_LIBRARY_SUFFIX) : \
-  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libosx))
+
+BUILD_LIBRARIES += $(BUILD_LIBOSX)
+
+$(BUILD_LIBOSX) : $(BUILD_LIBOSXAPP)
+
+$(BUILD_LIBOSX) : $(BUILD_LIBJAVA)
 
 endif
 
 ##########################################################################################
 
-ifeq ($(PLATFORM), macosx)
-
-LIBAWT_LWAWT_FILES := \
+ifeq ($(OPENJDK_TARGET_OS), macosx)
+
+LIBAWT_LWAWT_FILES:=\
         awt.m \
         ApplicationDelegate.m \
         CFRetainedResource.m \
@@ -2938,7 +3132,7 @@
         CUPSfuncs.c
 
 
-LIBAWT_LWAWT_DIRS := \
+LIBAWT_LWAWT_DIRS:=\
   $(JDK_TOPDIR)/src/macosx/native/sun/awt \
   $(JDK_TOPDIR)/src/macosx/native/sun/font \
   $(JDK_TOPDIR)/src/macosx/native/sun/java2d/opengl \
@@ -2947,10 +3141,13 @@
   $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
 
 $(eval $(call SetupNativeCompilation,BUILD_LIBAWT_LWAWT,\
+		LIBRARY:=awt_lwawt,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
 		SRC:=$(LIBAWT_LWAWT_DIRS),\
-		LANG := C,\
+		LANG:=C,\
 		INCLUDE_FILES:=$(LIBAWT_LWAWT_FILES),\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB) \
                         $(foreach dir,$(LIBAWT_LWAWT_DIRS),-I$(dir)) \
                         -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
                         -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
@@ -2964,7 +3161,7 @@
                         -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks,\
 		LDFLAGS:=$(LDFLAGS_JDKLIB)\
 			 $(call SET_SHARED_LIBRARY_ORIGIN), \
-		LDFLAGS_SUFFIX_macosx := \
+		LDFLAGS_SUFFIX_macosx:=\
 	-lawt -lmlib_image -losxapp $(LDFLAGS_JDKLIB_SUFFIX) $(LIBM) \
 	-framework Accelerate \
 	-framework ApplicationServices \
@@ -2978,30 +3175,25 @@
 	-framework JavaRuntimeSupport \
 	-framework OpenGL \
         -framework QuartzCore ,\
-		BIN:=$(JDK_OUTPUTDIR)/objs/libawt_lwawt,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)awt_lwawt$(SHARED_LIBRARY_SUFFIX)))
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_lwawt$(SHARED_LIBRARY_SUFFIX)
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)awt_lwawt$(SHARED_LIBRARY_SUFFIX) : \
-  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt$(SHARED_LIBRARY_SUFFIX) 
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)awt_lwawt$(SHARED_LIBRARY_SUFFIX) : \
-  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)mlib_image$(SHARED_LIBRARY_SUFFIX) 
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)awt_lwawt$(SHARED_LIBRARY_SUFFIX) : \
-  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)osxapp$(SHARED_LIBRARY_SUFFIX) 
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)awt_lwawt$(SHARED_LIBRARY_SUFFIX) : \
-  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libawt_lwawt))
+
+BUILD_LIBRARIES += $(BUILD_LIBAWT_LWAWT)
+
+$(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBAWT) 
+
+$(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBMLIB_IMAGE)
+
+$(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBOSXAPP)
+
+$(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBJAVA)
 
 endif
 
 ##########################################################################################
 
-ifeq ($(PLATFORM), macosx)
-
-LIBOSXUI_FILES := \
+ifeq ($(OPENJDK_TARGET_OS), macosx)
+
+LIBOSXUI_FILES:=\
         AquaFileView.m \
         AquaLookAndFeel.m \
         AquaNativeResources.m \
@@ -3012,17 +3204,21 @@
         ScreenMenu.m
 
 $(eval $(call SetupNativeCompilation,BUILD_LIBOSXUI,\
+		LIBRARY:=osxui,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
 		SRC:=$(JDK_TOPDIR)/src/macosx/native/com/apple/laf,\
-		LANG := C,\
+		LANG:=C,\
 		INCLUDE_FILES:=$(LIBOSXUI_FILES),\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=$(CFLAGS_JDKLIB) \
                         -I$(JDK_TOPDIR)/src/macosx/native/com/apple/laf \
 			-I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
 			-I$(JDK_TOPDIR)/src/macosx/native/sun/awt \
                         -F/System/Library/Frameworks/JavaVM.framework/Frameworks, \
 		LDFLAGS:=$(LDFLAGS_JDKLIB)\
 			 $(call SET_SHARED_LIBRARY_ORIGIN), \
-		LDFLAGS_SUFFIX_macosx := \
+		LDFLAGS_SUFFIX_macosx:=\
+    $(LDFLAGS_JDKLIB_SUFFIX) \
     -lawt -losxapp -lawt_lwawt \
     -framework Cocoa \
     -framework Carbon \
@@ -3030,22 +3226,49 @@
     -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
     -framework JavaNativeFoundation \
     -framework JavaRuntimeSupport, \
-		BIN:=$(JDK_OUTPUTDIR)/objs/libosxui,\
-		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)osxui$(SHARED_LIBRARY_SUFFIX)))
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)osxui$(SHARED_LIBRARY_SUFFIX)
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)osxui$(SHARED_LIBRARY_SUFFIX) : \
-  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt$(SHARED_LIBRARY_SUFFIX) 
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)osxui$(SHARED_LIBRARY_SUFFIX) : \
-  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)osxapp$(SHARED_LIBRARY_SUFFIX) 
-
-$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)osxui$(SHARED_LIBRARY_SUFFIX) : \
-  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_lwawt$(SHARED_LIBRARY_SUFFIX) 
-
-#$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)osxui$(SHARED_LIBRARY_SUFFIX) : \
-#  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libosxui))
+
+BUILD_LIBRARIES += $(BUILD_LIBOSXUI)
+
+$(BUILD_LIBOSXUI) : $(BUILD_LIBAWT) 
+
+$(BUILD_LIBOSXUI) : $(BUILD_LIBOSXAPP)
+
+$(BUILD_LIBOSXUI) : $(BUILD_LIBAWT_LWAWT)
+
+#$(BUILD_LIBOSXUI) : $(BUILD_LIBJAVA)
+
+endif
+
+##########################################################################################
+
+ifeq ($(OPENJDK_TARGET_OS), macosx)
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBJOBJC,\
+		LIBRARY:=JObjC,\
+                OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
+		SRC:=$(JDK_TOPDIR)/src/macosx/native/jobjc/src/core/native \
+                     $(JDK_TOPDIR)/src/macosx/native/jobjc/src/runtime-additions/native ,\
+		LANG:=C,\
+		OPTIMIZATION:=LOW, \
+		CFLAGS:=-fpascal-strings \
+                        -fobjc-gc \
+                        -gdwarf-2 \
+                        $(CFLAGS_JDKLIB) \
+                        -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
+			, \
+		LDFLAGS:=-fpascal-strings \
+                         -fobjc-gc \
+                         -gdwarf-2 \
+                         $(LDFLAGS_JDKLIB)\
+			 $(call SET_SHARED_LIBRARY_ORIGIN), \
+		LDFLAGS_SUFFIX:=-framework Foundation -framework JavaVM \
+                                  -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
+                                  -framework JavaNativeFoundation \
+                                  -lffi, \
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjobjc))
+
+BUILD_LIBRARIES += $(BUILD_LIBJOBJC)
 
 endif
 
--- a/makefiles/CopyFiles.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ b/makefiles/CopyFiles.gmk	Wed Aug 01 11:08:11 2012 -0400
@@ -25,12 +25,12 @@
 
 INCLUDEDIR = $(JDK_OUTPUTDIR)/include
 
-PLATFORM_INCLUDE = $(INCLUDEDIR)/$(PLATFORM)
+OPENJDK_TARGET_OS_INCLUDE = $(INCLUDEDIR)/$(OPENJDK_TARGET_OS)
 
-ifeq ($(PLATFORM), windows)
-     PLATFORM_INCLUDE = $(INCLUDEDIR)/win32
-else ifeq ($(PLATFORM), macosx)
-     PLATFORM_INCLUDE = $(INCLUDEDIR)/darwin
+ifeq ($(OPENJDK_TARGET_OS), windows)
+     OPENJDK_TARGET_OS_INCLUDE = $(INCLUDEDIR)/win32
+else ifeq ($(OPENJDK_TARGET_OS), macosx)
+     OPENJDK_TARGET_OS_INCLUDE = $(INCLUDEDIR)/darwin
 endif
 
 #
@@ -42,15 +42,15 @@
 		$(INCLUDEDIR)/jvmticmlr.h		\
 		$(INCLUDEDIR)/classfile_constants.h	\
 		$(INCLUDEDIR)/jawt.h			\
-		$(PLATFORM_INCLUDE)/jni_md.h		\
-		$(PLATFORM_INCLUDE)/jawt_md.h
+		$(OPENJDK_TARGET_OS_INCLUDE)/jni_md.h		\
+		$(OPENJDK_TARGET_OS_INCLUDE)/jawt_md.h
 
 $(INCLUDEDIR)/%.h: $(JDK_TOPDIR)/src/share/javavm/export/%.h
 	$(MKDIR) -p $(@D)
 	$(RM) -f $@
 	$(CP) $< $@
 
-$(PLATFORM_INCLUDE)/%.h: $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/javavm/export/%.h
+$(OPENJDK_TARGET_OS_INCLUDE)/%.h: $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/javavm/export/%.h
 	$(MKDIR) -p $(@D)
 	$(RM) -f $@
 	$(CP) $< $@
@@ -83,6 +83,13 @@
 	$(CP) $< $@
 	$(CHMOD) 644 $@
 
+# this file has different permissions...don't know why...
+$(MGMT_LIBDIR)/jmxremote.access: $(MGMT_LIB_SRC)/jmxremote.access
+	$(MKDIR) -p $(@D)
+	$(RM) -f $@
+	$(CP) $< $@
+	$(CHMOD) 644 $@
+
 $(MGMT_LIBDIR)/%: $(MGMT_LIB_SRC)/%
 	$(MKDIR) -p $(@D)
 	$(RM) -f $@
@@ -121,9 +128,13 @@
 #
 # Copy flavormap.properties, cursor.properties and cursors gif files to LIBDIR
 #
-PLATFORM_LIB_SRC = $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/lib
+ifneq ($(OPENJDK_TARGET_OS), macosx)
+OPENJDK_TARGET_OS_LIB_SRC = $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/lib
+else
+OPENJDK_TARGET_OS_LIB_SRC = $(JDK_TOPDIR)/src/macosx/lib
+endif
 
-$(LIBDIR)/flavormap.properties: $(PLATFORM_LIB_SRC)/flavormap.properties
+$(LIBDIR)/flavormap.properties: $(OPENJDK_TARGET_OS_LIB_SRC)/flavormap.properties
 	$(MKDIR) -p $(@D)
 	$(RM) -f $@
 	$(CP) $< $@
@@ -131,9 +142,9 @@
 COPY_FILES += $(LIBDIR)/flavormap.properties
 
 CURSORS_DEST_DIR = $(LIBDIR)/images/cursors
-CURSORS_PLATFORM_LIB_SRC = $(PLATFORM_LIB_SRC)/images/cursors
+CURSORS_OPENJDK_TARGET_OS_LIB_SRC = $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/lib/images/cursors
 
-$(CURSORS_DEST_DIR)/cursors.properties: $(CURSORS_PLATFORM_LIB_SRC)/cursors.properties
+$(CURSORS_DEST_DIR)/cursors.properties: $(CURSORS_OPENJDK_TARGET_OS_LIB_SRC)/cursors.properties
 	$(MKDIR) -p $(@D)
 	$(RM) -f $@
 	$(CP) $< $@
@@ -141,11 +152,11 @@
 COPY_FILES += $(CURSORS_DEST_DIR)/cursors.properties
 
 CURSORS_LIB_SRC = $(JDK_TOPDIR)/src/share/lib/images/cursors
-ifeq ($(PLATFORM), windows)
+ifeq ($(OPENJDK_TARGET_OS), windows)
 CURSORS_SRC_FILES = $(CURSORS_LIB_SRC)/invalid32x32.gif $(wildcard $(CURSORS_LIB_SRC)/win32_*.gif)
-else # PLATFORM
+else # OPENJDK_TARGET_OS
 CURSORS_SRC_FILES = $(CURSORS_LIB_SRC)/invalid32x32.gif $(wildcard $(CURSORS_LIB_SRC)/motif_*.gif)
-endif # PLATFORM
+endif # OPENJDK_TARGET_OS
 CURSORS_TARGET_FILES =  $(subst $(CURSORS_LIB_SRC),$(CURSORS_DEST_DIR),$(CURSORS_SRC_FILES))
 
 $(CURSORS_DEST_DIR)/%: $(CURSORS_LIB_SRC)/%
@@ -157,7 +168,7 @@
 
 ##########################################################################################
 
-CONTENT_TYPES_SRC=$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/lib
+CONTENT_TYPES_SRC=$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/lib
 
 $(LIBDIR)/content-types.properties: $(CONTENT_TYPES_SRC)/content-types.properties
 	$(MKDIR) -p $(@D)
@@ -179,9 +190,9 @@
 
 ##########################################################################################
 
-ifeq ($(PLATFORM),windows)
+ifeq ($(OPENJDK_TARGET_OS),windows)
 
-TZMAPPINGS_SRC := $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/lib
+TZMAPPINGS_SRC := $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/lib
 
 $(LIBDIR)/tzmappings: $(TZMAPPINGS_SRC)/tzmappings
 	$(MKDIR) -p $(@D)
@@ -233,7 +244,7 @@
 #TODO: rework this to avoid hardcoding library name in the makefile
 #
 ifdef OPENJDK
-    ifeq ($(PLATFORM), windows)
+    ifeq ($(OPENJDK_TARGET_OS), windows)
         FREETYPE_LIB = $(JDK_OUTPUTDIR)/bin/$(call SHARED_LIBRARY,freetype)
     else 
         ifeq ($(USING_SYSTEM_FT_LIB), false)
@@ -243,7 +254,7 @@
 
     $(FREETYPE_LIB): $(FREETYPE2_LIB_PATH)/$(call SHARED_LIBRARY,freetype)
 	$(CP) $(FREETYPE2_LIB_PATH)/$(call SHARED_LIBRARY,freetype) $@
-    ifeq ($(BUILD_OS), windows)
+    ifeq ($(OPENJDK_BUILD_OS), windows)
 	$(CHMOD) +rx $@
     endif
 
@@ -254,7 +265,7 @@
 
 # Copy msvcr100.dll on windows
 
-ifeq ($(PLATFORM),windows)
+ifeq ($(OPENJDK_TARGET_OS),windows)
     MSVCRNN_TARGET := $(JDK_OUTPUTDIR)/bin/$(notdir $(MSVCRNN_DLL))
     $(MSVCRNN_TARGET): $(MSVCRNN_DLL)
 	$(MKDIR) -p $(@D)
@@ -286,14 +297,14 @@
     JVMCFG_ARCH := $(ARCH)
 endif
 
-ifeq ($(PLATFORM),macosx)
+ifeq ($(OPENJDK_TARGET_OS),macosx)
   ifeq ($(JVMCFG_ARCH),amd64)
       JVMCFG_ARCH := x86_64
   endif
   JVMCFG_SRC := $(JDK_TOPDIR)/src/macosx/bin/$(JVMCFG_ARCH)/jvm.cfg
   JVMCFG_DIR := $(JDK_OUTPUTDIR)/lib
 else
-  JVMCFG_SRC := $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/bin/$(JVMCFG_ARCH)/jvm.cfg
+  JVMCFG_SRC := $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/bin/$(JVMCFG_ARCH)/jvm.cfg
   JVMCFG_DIR := $(JDK_OUTPUTDIR)/lib/$(LIBARCH)
 endif
 
@@ -353,15 +364,15 @@
 PROPS_SRC := $(JDK_TOPDIR)/src/share/lib/security/java.security
 PROPS_DST := $(JDK_OUTPUTDIR)/lib/security/java.security
 
-ifeq ($(PLATFORM), solaris)
+ifeq ($(OPENJDK_TARGET_OS), solaris)
 	PROPS_SRC := $(JDK_TOPDIR)/src/share/lib/security/java.security-solaris
 endif
 
-ifeq ($(PLATFORM), windows)
+ifeq ($(OPENJDK_TARGET_OS), windows)
 	PROPS_SRC := $(JDK_TOPDIR)/src/share/lib/security/java.security-windows
 endif
 
-ifeq ($(PLATFORM), macosx)
+ifeq ($(OPENJDK_TARGET_OS), macosx)
 	PROPS_SRC := $(JDK_TOPDIR)/src/share/lib/security/java.security-macosx
 endif
 
@@ -453,7 +464,7 @@
 
 COPY_FILES += $(SHARED_FONTS_DST) $(SHARED_FONTS_DST_DIR)/fonts.dir
 
-ifeq ($(PLATFORM), linux)
+ifeq ($(OPENJDK_TARGET_OS), linux)
 
 # The oblique fonts are only needed/wanted on Linux.
 
@@ -532,11 +543,13 @@
 	$(MKDIR) -p $(@D)
 	$(RM) $@
 	$(CP) $< $@
+	$(CHMOD) 755 $@
 
 $(JDK_OUTPUTDIR)/lib/$(LIBARCH)/libjdgaSUNW%.so: $(JDK_TOPDIR)/src/closed/solaris/lib/$(ARCH)/libjdgaSUNW%.so
 	$(MKDIR) -p $(@D)
 	$(RM) $@
 	$(CP) $< $@
+	$(CHMOD) 755 $@
 
 $(JDK_OUTPUTDIR)/lib/$(LIBARCH)/libjdgaSUNWafb.so: $(JDK_OUTPUTDIR)/lib/$(LIBARCH)/libjdgaSUNWffb.so
 	$(MKDIR) -p $(@D)
@@ -549,7 +562,7 @@
 
 ##########################################################################################
 
-ifeq ($(PLATFORM), solaris)
+ifeq ($(OPENJDK_TARGET_OS), solaris)
 
 SUNPKCS11_CFG_SRC := $(JDK_TOPDIR)/src/share/lib/security/sunpkcs11-solaris.cfg
 SUNPKCS11_CFG_DST := $(JDK_OUTPUTDIR)/lib/security/sunpkcs11-solaris.cfg
@@ -566,7 +579,7 @@
 ##########################################################################################
 
 ifndef OPENJDK
-ifeq ($(PLATFORM), solaris)
+ifeq ($(OPENJDK_TARGET_OS), solaris)
 
 UCRYPTO_CFG_SRC := $(JDK_TOPDIR)/src/closed/share/lib/security/ucrypto-solaris.cfg
 UCRYPTO_CFG_DST := $(JDK_OUTPUTDIR)/lib/security/ucrypto-solaris.cfg
--- a/makefiles/CopyIntoClasses.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ b/makefiles/CopyIntoClasses.gmk	Wed Aug 01 11:08:11 2012 -0400
@@ -133,7 +133,7 @@
   $(wildcard $(SWING_PLAF_METAL_RESOURCES_DIR)/icons/ocean/*.png) \
   $(wildcard $(SWING_PLAF_METAL_RESOURCES_DIR)/sounds/*.wav)
 
-ifneq ($(PLATFORM), windows)
+ifneq ($(OPENJDK_TARGET_OS), windows)
   # Only copy GTK resources on Solaris/Linux
   SWING_PLAF_GTK_RESOURCES_DIR = $(JDK_TOPDIR)/src/share/classes/com/sun/java/swing/plaf/gtk
   COPY_FILES += \
@@ -174,11 +174,11 @@
 $(shell $(MKDIR) -p $(JDK_OUTPUTDIR)/classes/META-INF/services)
 # Find all META-INF/services/* files
 ALL_META-INF_DIRS_share:=$(shell $(FIND) $(JDK_TOPDIR)/src/share/classes -type d -a -name META-INF)
-ALL_META-INF_DIRS_hostapi:=$(shell $(FIND) $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/classes -type d -a -name META-INF)
+ALL_META-INF_DIRS_targetapi:=$(shell $(FIND) $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/classes -type d -a -name META-INF)
 # Platform specific overrides shared
-ifneq ($(ALL_META-INF_DIRS_hostapi),)
-    ALL_META-INF_DIRS:=$(ALL_META-INF_DIRS_hostapi) \
-	$(filter-out %$(patsubst $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/classes%,%,$(ALL_META-INF_DIRS_hostapi)),\
+ifneq ($(ALL_META-INF_DIRS_targetapi),)
+    ALL_META-INF_DIRS:=$(ALL_META-INF_DIRS_targetapi) \
+	$(filter-out %$(patsubst $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/classes%,%,$(ALL_META-INF_DIRS_targetapi)),\
 		$(ALL_META-INF_DIRS_share))
 else
     ALL_META-INF_DIRS:=$(ALL_META-INF_DIRS_share)
@@ -189,7 +189,7 @@
 endif
 
 ifndef OPENJDK
-ifneq ($(PLATFORM), macosx)
+ifneq ($(OPENJDK_TARGET_OS), macosx)
     ALL_META-INF_DIRS += $(JDK_TOPDIR)/src/closed/share/classes/sun/jdbc/odbc/META-INF
 endif
 endif
@@ -216,9 +216,9 @@
 	$(shell $(PRINTF) "$(SRC_SERVICES_FILES)\n" | $(SED) -e 's|/[^ ]*/META-INF/services/||g'))
 OUT_SERVICES_FILES_COLON:=$(addsuffix :,$(OUT_SERVICES_FILES))
 # Exception handling for print services with no META-INF directory
-SRC_SERVICES_FILES_PRINT = $(wildcard $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/classes/sun/print/services/*)
+SRC_SERVICES_FILES_PRINT = $(wildcard $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/classes/sun/print/services/*)
 OUT_SERVICES_FILES_PRINT = $(addprefix $(JDK_OUTPUTDIR)/classes/META-INF/services/,\
-	$(patsubst $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/classes/sun/print/services/%,%,\
+	$(patsubst $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/classes/sun/print/services/%,%,\
 		$(SRC_SERVICES_FILES_PRINT)))
 OUT_SERVICES_FILES_PRINT_COLON = $(addsuffix :,$(OUT_SERVICES_FILES_PRINT))
 RULES_SERVICES_PRINT = $(join $(OUT_SERVICES_FILES_PRINT_COLON),$(SRC_SERVICES_FILES_PRINT))
@@ -229,7 +229,7 @@
 define addto_meta-inf_services
 $1
 	echo Installing META-INF/services/$$(@F) 
-	$(CAT) $$< | $(SED) -e "s/^#\[$(PLATFORM)\]//" > $$@
+	$(CAT) $$< | $(SED) -e "s/^#\[$(OPENJDK_TARGET_OS)\]//" > $$@
 endef
 $(foreach i,$(META-INF_RULES_SERVICES),$(eval $(call addto_meta-inf_services,$i)))
 # Here is the generic rule, whose receipt the above rules will trigger.
@@ -261,13 +261,13 @@
 
 COPY_EXTRA += $(foreach F,$(notdir $(JAVAX_SOUND_SRC_FILES)),$(JDK_OUTPUTDIR)/classes/META-INF/services/${F})
 
-ifeq ($(PLATFORM)-$(ARCH),windows-ia64)
+ifeq ($(OPENJDK_TARGET_OS)-$(ARCH),windows-ia64)
 	JAVAX_SOUND_SRC_FILES += windows-ia64/javax.sound.sampled.spi.MixerProvider
 	COPY_EXTRA += $(JDK_OUTPUTDIR)/classes/META-INF/services/javax.sound.sampled.spi.MixerProvider
-else ifeq ($(PLATFORM),windows)
+else ifeq ($(OPENJDK_TARGET_OS),windows)
 	JAVAX_SOUND_SRC_FILES += windows-i586/javax.sound.sampled.spi.MixerProvider
 	COPY_EXTRA += $(JDK_OUTPUTDIR)/classes/META-INF/services/javax.sound.sampled.spi.MixerProvider
-else ifeq ($(PLATFORM)-$(ARCH),linux-i586)
+else ifeq ($(OPENJDK_TARGET_OS)-$(ARCH),linux-i586)
 	JAVAX_SOUND_SRC_FILES += linux-i586/javax.sound.sampled.spi.MixerProvider
 	COPY_EXTRA += $(JDK_OUTPUTDIR)/classes/META-INF/services/javax.sound.sampled.spi.MixerProvider
 else
--- a/makefiles/CopySamples.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ b/makefiles/CopySamples.gmk	Wed Aug 01 11:08:11 2012 -0400
@@ -46,7 +46,7 @@
     SAMPLE_TARGET += $(SAMPLE_CLOSED_TARGET)
 endif
 
-ifneq (, $(filter $(PLATFORM), solaris macosx))
+ifneq (, $(filter $(OPENJDK_TARGET_OS), solaris macosx))
     SAMPLE_SOLARIS_SOURCE := $(shell $(FIND) $(SAMPLE_SOLARIS_SOURCE_DIR) -type f -print)
     SAMPLE_SOLARIS_TARGET := $(subst $(SAMPLE_SOLARIS_SOURCE_DIR),$(SAMPLE_TARGET_DIR),$(SAMPLE_SOLARIS_SOURCE))
     SAMPLE_TARGET += $(SAMPLE_SOLARIS_TARGET)
@@ -72,4 +72,3 @@
 all: $(COPY_FILES) 
 
 .PHONY: all
-
--- a/makefiles/CreateJars.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ b/makefiles/CreateJars.gmk	Wed Aug 01 11:08:11 2012 -0400
@@ -32,6 +32,10 @@
 
 include Tools.gmk
 
+#
+# This makefile...so that altering will trigger rebuilding include/exclude-lists => jars
+#
+MAKEFILE=$(JDK_TOPDIR)/makefiles/CreateJars.gmk
 
 MAINMANIFEST := $(JDK_TOPDIR)/make/tools/manifest.mf
 BEANMANIFEST := $(JDK_TOPDIR)/make/javax/swing/beaninfo/manifest
@@ -46,7 +50,7 @@
 
 $(eval $(call SetupArchive,BUILD_JCONSOLE_JAR,$(JCONSOLE_JAR_DEPS),\
 		SRCS:=$(JDK_OUTPUTDIR)/classes,\
-		SUFFIXES:=.class .gif .png,\
+		SUFFIXES:=.class .gif .png .properties,\
 		INCLUDES:=sun/tools/jconsole com/sun/tools/jconsole,\
 		JARMAIN:=sun.tools.jconsole.JConsole,\
 		JAR:=$(JDK_OUTPUTDIR)/lib/jconsole.jar,\
@@ -242,12 +246,35 @@
 	sun/swing/BeanInfoUtils.class \
 	$(LOCALEDATA_INCLUDES)
 
-ifndef OPENJDK
-ifndef JAVASE_EMBEDDED
+# These files should never be put into rt.jar
+# but due to a misstake...some are put there if embedded
+#
+ifneq ($(JAVASE_EMBEDDED), true)
+# normal (correct) case
 RT_JAR_EXCLUDES += \
 	com/oracle/jrockit/jfr \
 	oracle/jrockit/jfr
+else
+# embedded (broken) case
+RT_JAR_EXCLUDES += \
+  oracle/jrockit/jfr/parser \
+  oracle/jrockit/jfr/tools \
+  oracle/jrockit/jfr/NativeOptions.class \
+  oracle/jrockit/jfr/RepositoryChunkHandler.class
 endif
+
+ifeq ($(OPENJDK_TARGET_OS), macosx)
+        RT_JAR_EXCLUDES += com/sun/nio/sctp \
+                           sun/nio/ch/sctp \
+                           sun/jdbc \
+                           sun/nio/ch/DevPollArrayWrapper\$$$$Updator.class \
+                           sun/nio/ch/DevPollArrayWrapper.class \
+                           sun/nio/ch/DevPollSelectorImpl.class \
+                           sun/nio/ch/DevPollSelectorProvider.class \
+                           sun/nio/ch/EPollArrayWrapper\$$$$Updator.class \
+                           sun/nio/ch/EPollArrayWrapper.class \
+                           sun/nio/ch/EPollSelectorImpl.class \
+                           sun/nio/ch/EPollSelectorProvider.class
 endif
 
 # Find all files in the classes dir to use as dependencies. This could be more fine granular.
@@ -271,12 +298,19 @@
 	       -e "s#@@COMPANY_NAME@@#$(COMPANY_NAME)#" \
 	       $(MAINMANIFEST) >> $@
 
-$(JDK_OUTPUTDIR)/lib/_the.jars.exclude:
+$(JDK_OUTPUTDIR)/lib/_the.jars.exclude: $(MAKEFILE)
 	$(MKDIR) -p $(@D)
 	$(call ListPathsSafely,RT_JAR_EXCLUDES,\n, >> $@)
 
+$(JDK_OUTPUTDIR)/lib/classlist : $(JDK_TOPDIR)/make/tools/sharing/classlist.$(OPENJDK_TARGET_OS) \
+  $(MAKEFILE)
+	$(MKDIR) -p $(@D)
+	$(RM) -f $@.temp
+	$(TOOL_ADDJSUM) $< $@.temp
+	$(MV) $@.temp $@
+
 $(JDK_OUTPUTDIR)/lib/_the.jars.contents: $(BUILD_TOOLS) $(JDK_OUTPUTDIR)/lib/_the.jars.exclude \
-					 $(ALL_FILES_IN_CLASSES)
+					 $(ALL_FILES_IN_CLASSES) $(JDK_OUTPUTDIR)/lib/classlist
 	$(MKDIR) -p $(@D)
 	$(RM) $@.temp
 	($(CD) $(JDK_OUTPUTDIR)/classes && \
@@ -290,17 +324,22 @@
 $(JDK_OUTPUTDIR)/lib/_the.resources.jar.contents: $(JDK_OUTPUTDIR)/lib/_the.jars.contents
 	$(GREP) -v -e '\.class$$' -e '/_the\.*' -e '^_the\.*' $(JDK_OUTPUTDIR)/lib/_the.jars.contents > $@
 
+RT_JAR_CREATE_OPTIONS := c0fm
+ifeq ($(COMPRESS_JARS), true)
+    RT_JAR_CREATE_OPTIONS := cfm
+endif
+
 $(JDK_OUTPUTDIR)/lib/rt.jar: $(JDK_OUTPUTDIR)/lib/_the.rt.jar.contents $(RT_JAR_MANIFEST_FILE)
 	$(ECHO) Creating rt.jar
 	$(CD) $(JDK_OUTPUTDIR)/classes && \
-	    $(JAR) cfm $@ $(RT_JAR_MANIFEST_FILE) \
+	    $(JAR) $(RT_JAR_CREATE_OPTIONS) $@ $(RT_JAR_MANIFEST_FILE) \
 	        @$(JDK_OUTPUTDIR)/lib/_the.rt.jar.contents
 
 $(JDK_OUTPUTDIR)/lib/resources.jar: $(JDK_OUTPUTDIR)/lib/_the.resources.jar.contents \
 				    $(RESOURCE_JAR_MANIFEST_FILE)
 	$(ECHO) Creating resources.jar
 	$(CD) $(JDK_OUTPUTDIR)/classes && \
-	    $(JAR) cfm $@ $(RESOURCE_JAR_MANIFEST_FILE) \
+	    $(JAR) $(RT_JAR_CREATE_OPTIONS) $@ $(RESOURCE_JAR_MANIFEST_FILE) \
 	        @$(JDK_OUTPUTDIR)/lib/_the.resources.jar.contents
 
 JARS+=$(JDK_OUTPUTDIR)/lib/rt.jar $(JDK_OUTPUTDIR)/lib/resources.jar
@@ -309,7 +348,7 @@
 
 CHARSETS_JAR_DEPS :=
 
-ifneq ($(HOST_OS), windows)
+ifneq ($(OPENJDK_TARGET_OS), windows)
     CHARSETS_EXTRA_FILES:=sun/awt/motif/X11GBK.class \
                           sun/awt/motif/X11GB2312\$$$$Decoder.class \
                           sun/awt/motif/X11GB2312.class \
@@ -328,20 +367,22 @@
 			       $(CHARSETS_EXTRA_FILES) \
                                META-INF/services/java.nio.charset.spi.CharsetProvider, \
 		JAR:=$(JDK_OUTPUTDIR)/lib/charsets.jar, \
-		SKIP_METAINF := true))
+		SKIP_METAINF := true, \
+                CHECK_COMPRESS_JAR:=true))
 
 JARS+=$(JDK_OUTPUTDIR)/lib/charsets.jar
 
 ##########################################################################################
 
-ifndef OPENJDK
+ifeq ($(ENABLE_JFR), true)
     $(eval $(call SetupArchive,BUILD_JFR_JAR,,\
 		SRCS:=$(JDK_OUTPUTDIR)/classes,\
 		INCLUDES:=com/oracle/jrockit/jfr \
 			  oracle/jrockit/jfr,\
 		JAR:=$(JDK_OUTPUTDIR)/lib/jfr.jar,\
 		SKIP_METAINF:=true,\
-		MANIFEST:=$(MAINMANIFEST)))
+		MANIFEST:=$(MAINMANIFEST), \
+                CHECK_COMPRESS_JAR:=true))
 
     JARS+=$(JDK_OUTPUTDIR)/lib/jfr.jar
 endif
@@ -356,13 +397,14 @@
 			  com/sun/net/ssl/internal/ssl,\
 		JAR:=$(JDK_OUTPUTDIR)/lib/jsse.jar,\
 		SKIP_METAINF:=true,\
-		MANIFEST:=$(MAINMANIFEST)))
+		MANIFEST:=$(MAINMANIFEST), \
+                CHECK_COMPRESS_JAR:=true))
 
 JARS+=$(JDK_OUTPUTDIR)/lib/jsse.jar
 
 ##########################################################################################
 
-ifneq ($(PLATFORM)-$(ARCH_DATA_MODEL),windows-64)
+ifneq ($(OPENJDK_TARGET_OS)-$(ARCH_DATA_MODEL),windows-64)
     SUNPKCS11_JAR_DST := $(JDK_OUTPUTDIR)/lib/ext/sunpkcs11.jar
 
     ifndef OPENJDK
@@ -544,7 +586,7 @@
 
 ##########################################################################################
 
-ifeq ($(PLATFORM),windows)
+ifeq ($(OPENJDK_TARGET_OS),windows)
 
 SUNMSCAPI_JAR_DST := $(JDK_OUTPUTDIR)/lib/ext/sunmscapi.jar
 
@@ -574,7 +616,7 @@
 
 ##########################################################################################
 
-ifeq ($(PLATFORM),solaris)
+ifeq ($(OPENJDK_TARGET_OS),solaris)
 ifndef OPENJDK
 
 UCRYPTO_JAR_DST := $(JDK_OUTPUTDIR)/lib/ext/ucrypto.jar
@@ -661,7 +703,8 @@
 			     META-INF/services/com.sun.tools.internal.ws.wscompile.Plugin \
 			     META-INF/services/com.sun.tools.internal.xjc.Plugin,\
 		JAR:=$(JDK_OUTPUTDIR)/lib/tools.jar,\
-		SKIP_METAINF:=true))
+		SKIP_METAINF:=true, \
+                CHECK_COMPRESS_JAR:=true))
 
 JARS+=$(JDK_OUTPUTDIR)/lib/tools.jar
 
@@ -696,6 +739,7 @@
                         com.oracle.nio
 
 $(IMAGES_OUTPUTDIR)/symbols/_the.symbols: $(JDK_OUTPUTDIR)/lib/rt.jar
+	$(RM) -rf $(IMAGES_OUTPUTDIR)/symbols/META-INF/sym
 	$(MKDIR) -p $(IMAGES_OUTPUTDIR)/symbols/META-INF/sym
 	$(JAVA) \
 		-Xbootclasspath/a:$(JDK_OUTPUTDIR)/classes \
@@ -711,7 +755,8 @@
 $(eval $(call SetupArchive,BUILD_CT_SYM,$(IMAGES_OUTPUTDIR)/symbols/_the.symbols,\
 		SRCS:=$(IMAGES_OUTPUTDIR)/symbols,\
 		INCLUDES:=META-INF/sym,\
-		JAR:=$(JDK_OUTPUTDIR)/lib/ct.sym))
+		JAR:=$(JDK_OUTPUTDIR)/lib/ct.sym, \
+		CHECK_COMPRESS_JAR:=true))
 
 JARS+=$(JDK_OUTPUTDIR)/lib/ct.sym
 
@@ -765,7 +810,7 @@
 	org/xml/sax			\
 	sunw
 
-SRC_ZIP_SRCS = $(JDK_TOPDIR)/src/share/classes $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/classes
+SRC_ZIP_SRCS = $(JDK_TOPDIR)/src/share/classes $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/classes
 SRC_ZIP_SRCS += $(JDK_OUTPUTDIR)/gensrc
 SRC_ZIP_SRCS += $(JDK_OUTPUTDIR)/impsrc
 SRC_ZIP_SRCS += $(JDK_OUTPUTDIR)/gendocsrc_rmic
@@ -776,16 +821,16 @@
 # Need to copy launcher src files into desired directory structure
 # before zipping the sources.
 LAUNCHER_SRC_FILES := $(wildcard $(JDK_TOPDIR)/src/share/bin/*) \
-                      $(wildcard $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/bin/java_md*)
+                      $(wildcard $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/bin/java_md*)
 LAUNCHER_ZIP_SRC := $(patsubst $(JDK_TOPDIR)/src/share/bin/%,$(IMAGES_OUTPUTDIR)/src/launcher/%,\
-		    $(patsubst $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/bin/%,$(IMAGES_OUTPUTDIR)/src/launcher/%,\
+		    $(patsubst $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/bin/%,$(IMAGES_OUTPUTDIR)/src/launcher/%,\
 			$(LAUNCHER_SRC_FILES)))
 
 $(IMAGES_OUTPUTDIR)/src/launcher/%: $(JDK_TOPDIR)/src/share/bin/%
 	$(MKDIR) -p $(@D)
 	$(CP) $< $@
 
-$(IMAGES_OUTPUTDIR)/src/launcher/%: $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/bin/%
+$(IMAGES_OUTPUTDIR)/src/launcher/%: $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/bin/%
 	$(MKDIR) -p $(@D)
 	$(CP) $< $@
 
--- a/makefiles/GendataBreakIterator.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ b/makefiles/GendataBreakIterator.gmk	Wed Aug 01 11:08:11 2012 -0400
@@ -35,10 +35,10 @@
 #
 TEXT_SRCDIR = $(JDK_TOPDIR)/src/share/classes
 TEXT_PKG  = sun/text/resources
-TEXT_SOURCES = 	%$(TEXT_PKG)/BreakIteratorRules.java \
-		%$(TEXT_PKG)/BreakIteratorInfo.java \
-		%$(TEXT_PKG)/BreakIteratorRules_th.java \
-		%$(TEXT_PKG)/BreakIteratorInfo_th.java
+TEXT_SOURCES = 	$(TEXT_PKG)/BreakIteratorRules.java \
+		$(TEXT_PKG)/BreakIteratorInfo.java \
+		$(TEXT_PKG)/BreakIteratorRules_th.java \
+		$(TEXT_PKG)/BreakIteratorInfo_th.java
 
 # Generate BreakIteratorData
 BREAK_ITERATOR_DIR = $(JDK_OUTPUTDIR)/break_iterator
--- a/makefiles/GendataFontConfig.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ b/makefiles/GendataFontConfig.gmk	Wed Aug 01 11:08:11 2012 -0400
@@ -25,13 +25,13 @@
 
 GENDATA_FONT_CONFIG_DST := $(JDK_OUTPUTDIR)/lib
 
-ifeq ($(PLATFORM), windows)
+ifeq ($(OPENJDK_TARGET_OS), windows)
 GENDATA_FONT_CONFIG_SRC_DIR    := $(JDK_TOPDIR)/src/windows/classes/sun/awt/windows
 GENDATA_FONT_CONFIG_SRC_FILES  := fontconfig.properties
 GENDATA_FONT_CONFIG_SRC_PREFIX := 
 endif
 
-ifeq ($(PLATFORM), linux)
+ifeq ($(OPENJDK_TARGET_OS), linux)
 GENDATA_FONT_CONFIG_SRC_PREFIX := linux.
 ifdef OPENJDK
 GENDATA_FONT_CONFIG_SRC_DIR   := $(JDK_TOPDIR)/src/solaris/classes/sun/awt/fontconfigs
@@ -52,27 +52,29 @@
 endif
 endif
 
-ifeq ($(PLATFORM), solaris)
+ifeq ($(OPENJDK_TARGET_OS), solaris)
 GENDATA_FONT_CONFIG_SRC_DIR    := $(JDK_TOPDIR)/src/solaris/classes/sun/awt/fontconfigs
 GENDATA_FONT_CONFIG_SRC_FILES  := fontconfig.properties
 GENDATA_FONT_CONFIG_SRC_PREFIX := solaris.
 endif
 
-ifeq ($(PLATFORM), macosx)
+ifeq ($(OPENJDK_TARGET_OS), macosx)
 GENDATA_FONT_CONFIG_SRC_DIR    := $(JDK_TOPDIR)/src/macosx/classes/sun/awt/fontconfigs
 GENDATA_FONT_CONFIG_SRC_FILES  := fontconfig.properties
 GENDATA_FONT_CONFIG_SRC_PREFIX := macosx.
-endif # PLATFORM
+endif # OPENJDK_TARGET_OS
 
 ###
 
 $(GENDATA_FONT_CONFIG_DST)/%.src : $(GENDATA_FONT_CONFIG_SRC_DIR)/$(GENDATA_FONT_CONFIG_SRC_PREFIX)%
 	$(MKDIR) -p $(@D)
 	$(CP) $< $@
+	$(CHMOD) 644 $@
 
 $(GENDATA_FONT_CONFIG_DST)/%.bfc : $(GENDATA_FONT_CONFIG_SRC_DIR)/$(GENDATA_FONT_CONFIG_SRC_PREFIX)%.properties
 	$(MKDIR) -p $(@D)
 	$(TOOL_COMPILEFONTCONFIG) $< $@
+	$(CHMOD) 444 $@
 
 ###
 
--- a/makefiles/GendataHtml32dtd.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ b/makefiles/GendataHtml32dtd.gmk	Wed Aug 01 11:08:11 2012 -0400
@@ -32,5 +32,4 @@
 	$(RM) $@
 	($(TOOL_DTDBUILDER) html32 > $@) || exit 1
 
-GENDATA_HTML32DTD += $(HTML32DTD)
-
+GENDATA_HTML32DTD += $(HTML32DTD)
\ No newline at end of file
--- a/makefiles/GenerateClasses.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ b/makefiles/GenerateClasses.gmk	Wed Aug 01 11:08:11 2012 -0400
@@ -27,7 +27,13 @@
 
 include $(SPEC)
 include MakeBase.gmk
-include RMICompile.gmk
+include RMICompilation.gmk
+
+# To ensure the latest stub generator files are picked up from corba repo
+# when available, we need to run with latest rmic version available. 
+ifeq ($(CROSS_COMPILE_ARCH),)
+    RMIC := $(UNCYGDRIVE) $(JDK_OUTPUTDIR)/bin/rmic
+endif  
 
 CLASSES_DIR := $(JDK_OUTPUTDIR)/classes
 # NOTE: If the smart javac dependency management is reintroduced, these classes risk 
--- a/makefiles/GenerateData.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ b/makefiles/GenerateData.gmk	Wed Aug 01 11:08:11 2012 -0400
@@ -69,6 +69,7 @@
 	$(RM) $@
 	$(TOOL_GENERATECURRENCYDATA) -o $@.temp < $<
 	$(MV) $@.temp $@
+	$(CHMOD) 444 $@
 
 GENDATA += $(GENDATA_CURDATA)
 
--- a/makefiles/GenerateJavaSources.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ b/makefiles/GenerateJavaSources.gmk	Wed Aug 01 11:08:11 2012 -0400
@@ -65,7 +65,7 @@
 include GensrcExceptions.gmk
 GENSRC += $(GENSRC_EXCEPTIONS)
 
-ifneq ($(HOST_OS),windows)
+ifneq ($(OPENJDK_TARGET_OS),windows)
 include GensrcIcons.gmk
 GENSRC += $(GENSRC_ICONS)
 
@@ -78,6 +78,11 @@
   GENSRC += $(GENSRC_SWING_NIMBUS)
 endif
 
+ifeq ($(OPENJDK_TARGET_OS), macosx)
+     include GensrcJObjC.gmk
+     GENSRC += $(GENSRC_JOBJC)
+endif
+
 $(GENSRC) : $(BUILD_TOOLS)
 
 # The exception handling of swing beaninfo
@@ -100,7 +105,10 @@
 		$(MKDIR) -p gensrc/javax/swing/plaf && \
 		$(CP) -rp gensrc_swing/javax/swing/plaf/* gensrc/javax/swing/plaf) \
 	fi
-ifneq ($(HOST_OS),windows)
+	if [ -d $(JDK_OUTPUTDIR)/gensrc_jobjc ] ; then \
+		(cd $(JDK_OUTPUTDIR) && cp -rp gensrc_jobjc/src/* gensrc) \
+	fi
+ifneq ($(OPENJDK_TARGET_OS),windows)
 	(cd $(JDK_OUTPUTDIR) && \
 		$(CP) -rp gensrc_icons/* gensrc && \
 		$(CP) -rp gensrc_x11wrappers/classes/* gensrc)
--- a/makefiles/GensrcBuffer.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ b/makefiles/GensrcBuffer.gmk	Wed Aug 01 11:08:11 2012 -0400
@@ -198,6 +198,7 @@
 	$(if $(12),$1_$(strip $(12)))
 	$(if $(13),$1_$(strip $(13)))
 	$(if $(14),$1_$(strip $(14)))
+	$(if $(15),$(error Internal makefile error: Too many arguments to SetupGenBuffer, please update GensrcBuffer.gmk))
 
 	$(call fixRw,$1,$$($1_RW))
 	$(call typesAndBits,$1,$$($1_type),$$($1_BO))
--- a/makefiles/GensrcIcons.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ b/makefiles/GensrcIcons.gmk	Wed Aug 01 11:08:11 2012 -0400
@@ -29,7 +29,7 @@
 GENSRC_ICONS_DST := $(GENSRC_ICONS_TMP)/sun/awt/X11
 
 ifdef OPENJDK
-	ICONS_PATH_PREFIX := $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)
+	ICONS_PATH_PREFIX := $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)
 else
 	ICONS_PATH_PREFIX := $(JDK_TOPDIR)/src/closed/solaris
 endif
@@ -41,7 +41,7 @@
     $(ICONS_PATH_PREFIX)/classes/sun/awt/X11/java-icon48.png
 
 
-ICONPATH := $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/classes/sun/awt/X11
+ICONPATH := $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/classes/sun/awt/X11
 
 GENSRC_ICONS_SRC += \
    $(ICONPATH)/security-icon-bw16.png \
@@ -86,7 +86,7 @@
 	$(ECHO) "public class $$($1_NAME32) {" >> $$@.tmp
 	$(ECHO) "public static int[] $$($1_SHORTNAME) = { " >> $$@.tmp
 # TODO FIX FIX FIX
-ifneq ($(PLATFORM),macosx)
+ifneq ($(OPENJDK_TARGET_OS),macosx)
 	$(CAT) $$< | $(TOOL_TOBIN) >> $$@.tmp
 endif
 	$(ECHO) "}; }" >> $$@.tmp
@@ -100,7 +100,7 @@
 	$(ECHO) "public class $$($1_NAME64) {" >> $$@.tmp
 	$(ECHO) "public static long[] $$($1_SHORTNAME) = { " >> $$@.tmp
 # TODO FIX FIX FIX
-ifneq ($(PLATFORM),macosx)
+ifneq ($(OPENJDK_TARGET_OS),macosx)
 	$(CAT) $$< | $(TOOL_TOBIN) >> $$@.tmp
 endif
 	$(ECHO) "}; }" >> $$@.tmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/makefiles/GensrcJObjC.gmk	Wed Aug 01 11:08:11 2012 -0400
@@ -0,0 +1,80 @@
+#
+# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# This code is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License version 2 only, as
+# published by the Free Software Foundation.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# This code 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
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+# or visit www.oracle.com if you need additional information or have any
+# questions.
+#
+
+GENSRC_JOBJC :=
+
+JOBJC_FRAMEWORKS := Foundation CoreFoundation AppKit
+FRAMEWORKS_DIR := /System/Library/Frameworks
+GBM := /usr/bin/gen_bridge_metadata
+
+JOBJC_SRC := $(JDK_TOPDIR)/src/macosx/native/jobjc
+JOBJC_TMP := $(JDK_OUTPUTDIR)/gensrc_jobjc
+JOBJC_DST := $(JDK_OUTPUTDIR)/gensrc_jobjc/src
+
+#
+# Build generator
+#
+$(eval $(call SetupJavaCompilation,BUILD_JOBJC_PRIMITIVE_CODER,\
+		SETUP:=GENERATE_OLDBYTECODE,\
+		INCLUDES:=core/java \
+                          com/apple,\
+                HEADERS :=$(JOBJC_DST)/jni_headers/core ,\
+		SRC:=$(JOBJC_SRC)/src \
+                     $(JOBJC_SRC)/src/generator/java, \
+		BIN:=$(JOBJC_TMP)/bin))
+
+GENSRC_JOBJC += $(JOBJC_TMP)/bin/_the.batch
+
+#
+# Generate bridge support
+#
+BRIDGESUPPORT := $(addprefix $(JOBJC_TMP)/bridge/,$(addsuffix Full.bridgesupport,$(JOBJC_FRAMEWORKS)))
+
+$(JOBJC_TMP)/bridge/%Full.bridgesupport : $(FRAMEWORKS_DIR)/%.framework/Headers/*.h
+	$(MKDIR) -p $(@D)
+	if [ -f $(FRAMEWORKS_DIR)/$*.framework/Resources/BridgeSupport/$(@F) ]; then \
+		cp $(FRAMEWORKS_DIR)/$*.framework/Resources/BridgeSupport/$(@F) $@ ;\
+	else \
+		$(GBM) -F complete --framework $* -o $@ ; \
+	fi
+
+#
+# Find Xbootclasspath
+#
+$(JOBJC_TMP)/_the.generator_bootclasspath : $(JOBJC_TMP)/bin/_the.batch
+	$(JAVA) -cp $(JOBJC_TMP)/bin com.apple.internal.jobjc.generator.BootClassPathMinus JObjC.jar > $@.tmp
+	$(MV) $@.tmp $@
+
+
+#
+# Run generator
+#
+TOOL_JOBJC := $(JAVA) -cp $(JOBJC_TMP)/bin -ea com.apple.internal.jobjc.generator.Generator
+
+$(JOBJC_TMP)/_the.generator : $(JOBJC_TMP)/bin/_the.batch $(JOBJC_TMP)/_the.generator_bootclasspath $(BRIDGESUPPORT)
+	$(JAVA) -d64 -Xbootclasspath:`$(CAT) $(JOBJC_TMP)/_the.generator_bootclasspath` -cp $(JOBJC_TMP)/bin -ea com.apple.internal.jobjc.generator.Generator dst=$(JOBJC_DST) frameworks=$(JOBJC_TMP)/bridge
+	$(TOUCH) $@
+
+GENSRC_JOBJC += $(JOBJC_TMP)/_the.generator
--- a/makefiles/GensrcMisc.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ b/makefiles/GensrcMisc.gmk	Wed Aug 01 11:08:11 2012 -0400
@@ -53,9 +53,9 @@
 
 ##########################################################################################
 
-ifeq ($(HOST_OS_API),posix)
-    UPSUFFIX:=$(PLATFORM)
-    ifeq ($(PLATFORM),macosx)
+ifeq ($(OPENJDK_TARGET_OS_API),posix)
+    UPSUFFIX:=$(OPENJDK_TARGET_OS)
+    ifeq ($(OPENJDK_TARGET_OS),macosx)
         UPSUFFIX:=bsd
     endif
     # UNIXProcess.java is different for solaris and linux. We need to copy
@@ -64,7 +64,7 @@
     $(JDK_OUTPUTDIR)/gensrc_misc/java/lang/UNIXProcess.java : \
               $(JDK_TOPDIR)/src/solaris/classes/java/lang/UNIXProcess.java.$(UPSUFFIX)
 	$(MKDIR) -p $(@D)
-	$(ECHO) Copying UNIXProcess.java.$(PLATFORM) to java/lang/UNIXProcess.java
+	$(ECHO) Copying UNIXProcess.java.$(OPENJDK_TARGET_OS) to java/lang/UNIXProcess.java
 	$(CP) $< $@
 	$(CHMOD) u+rw $@
 
@@ -74,8 +74,8 @@
 ##########################################################################################
 
 ifndef OPENJDK
-ifneq ($(PLATFORM), windows)
-ifneq ($(PLATFORM), macosx)
+ifneq ($(OPENJDK_TARGET_OS), windows)
+ifneq ($(OPENJDK_TARGET_OS), macosx)
     # These file(s) are needed for building fake .so libs on !windows for jdbcodbc
 
     $(JDK_OUTPUTDIR)/gensrc_c/libjdbcodbc/dummyodbc1.c : 
@@ -101,85 +101,98 @@
 
 GENSRC_SOR_SRC := $(JDK_TOPDIR)/src/share/native/sun/nio/ch
 GENSRC_SOR_SRC_FILE := genSocketOptionRegistry.c
-GENSRC_SOR_BIN := $(JDK_OUTPUTDIR)/objs/gensrc/genSocketOptionRegistry
-GENSRC_SOR_EXE := $(GENSRC_SOR_BIN)/genSocketOptionRegistry$(EXE_SUFFIX)
+GENSRC_SOR_BIN := $(JDK_OUTPUTDIR)/gensrc_misc/genSocketOptionRegistry
 
 SOR_COPYRIGHT_YEARS = $(shell $(CAT) $(GENSRC_SOR_SRC)/$(GENSRC_SOR_SRC_FILE) | \
 	$(NAWK) '/^.*Copyright.*Oracle/ { printf "%s %s",$$4,$$5 }') 
 
-$(JDK_OUTPUTDIR)/gensrc_misc/sun/nio/ch/SocketOptionRegistry.java : $(GENSRC_SOR_EXE)
-	$(MKDIR) -p $(@D)
-	NAWK="$(NAWK)" SH="$(SH)" $(SH) -e $(JDK_TOPDIR)/makefiles/scripts/addNotices.sh "$(SOR_COPYRIGHT_YEARS)" > $@.tmp
-	$(GENSRC_SOR_EXE) >> $@.tmp
-	$(MV) $@.tmp $@
-
-
 $(eval $(call SetupNativeCompilation,BUILD_GENSRC_SOR_EXE,\
 		SRC:=$(GENSRC_SOR_SRC),\
 		INCLUDE_FILES:=$(GENSRC_SOR_SRC_FILE),\
 		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB),\
-		BIN:=$(GENSRC_SOR_BIN),\
-		EXE:=$(GENSRC_SOR_EXE)))
+		CC:=$(HOST_CC),\
+		LDEXE:=$(HOST_LD),\
+		OBJECT_DIR:=$(GENSRC_SOR_BIN),\
+		OUTPUT_DIR:=$(GENSRC_SOR_BIN),\
+                PROGRAM:=genSocketOptionRegistry))
+
+ifneq ($(JAVASE_EMBEDDED), true)
+$(JDK_OUTPUTDIR)/gensrc_misc/sun/nio/ch/SocketOptionRegistry.java : $(BUILD_GENSRC_SOR_EXE)
+	$(MKDIR) -p $(@D)
+	NAWK="$(NAWK)" SH="$(SH)" $(SH) -e $(JDK_TOPDIR)/makefiles/scripts/addNotices.sh "$(SOR_COPYRIGHT_YEARS)" > $@.tmp
+	$(BUILD_GENSRC_SOR_EXE) >> $@.tmp
+	$(MV) $@.tmp $@
+else
+$(JDK_OUTPUTDIR)/gensrc_misc/sun/nio/ch/SocketOptionRegistry.java : $(JDK_TOPDIR)/src/closed/solaris/classes/sun/nio/ch/SocketOptionRegistry-$(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH).java
+	$(MKDIR) -p $(@D)
+	$(CP) $< $@
+endif
 
 ##########################################################################################
 
-ifneq ($(PLATFORM),windows)
+ifneq ($(OPENJDK_TARGET_OS),windows)
 
 GENSRC_MISC += $(JDK_OUTPUTDIR)/gensrc_misc/sun/nio/fs/UnixConstants.java
 
-GENSRC_UC_SRC := $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/nio/fs
+GENSRC_UC_SRC := $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/nio/fs
 GENSRC_UC_SRC_FILE := genUnixConstants.c
-GENSRC_UC_BIN := $(JDK_OUTPUTDIR)/objs/gensrc/genUnixConstants
-GENSRC_UC_EXE := $(GENSRC_UC_BIN)/genUnixConstants$(EXE_SUFFIX)
+GENSRC_UC_BIN := $(JDK_OUTPUTDIR)/gensrc_misc/genUnixConstants
 
 UC_COPYRIGHT_YEARS = $(shell $(CAT) $(GENSRC_UC_SRC)/$(GENSRC_UC_SRC_FILE) | \
 	$(NAWK) '/^.*Copyright.*Oracle/ { printf "%s %s",$$4,$$5 }') 
 
-$(JDK_OUTPUTDIR)/gensrc_misc/sun/nio/fs/UnixConstants.java : $(GENSRC_UC_EXE)
-	$(MKDIR) -p $(@D)
-	NAWK="$(NAWK)" SH="$(SH)" $(SH) -e $(JDK_TOPDIR)/makefiles/scripts/addNotices.sh "$(UC_COPYRIGHT_YEARS)" > $@.tmp
-	$(GENSRC_UC_EXE) >> $@.tmp
-	$(MV) $@.tmp $@
-
-
 $(eval $(call SetupNativeCompilation,BUILD_GENSRC_UC_EXE,\
 		SRC:=$(GENSRC_UC_SRC),\
 		INCLUDE_FILES:=$(GENSRC_UC_SRC_FILE),\
 		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB),\
-		BIN:=$(GENSRC_UC_BIN),\
-		EXE:=$(GENSRC_UC_EXE)))
+		CC:=$(HOST_CC),\
+		LDEXE:=$(HOST_CC),\
+		OBJECT_DIR:=$(GENSRC_UC_BIN),\
+                OUTPUT_DIR:=$(GENSRC_UC_BIN),\
+		PROGRAM:=genUnixConstants))
+
+ifneq ($(JAVASE_EMBEDDED), true)
+$(JDK_OUTPUTDIR)/gensrc_misc/sun/nio/fs/UnixConstants.java : $(BUILD_GENSRC_UC_EXE)
+	$(MKDIR) -p $(@D)
+	NAWK="$(NAWK)" SH="$(SH)" $(SH) -e $(JDK_TOPDIR)/makefiles/scripts/addNotices.sh "$(UC_COPYRIGHT_YEARS)" > $@.tmp
+	$(BUILD_GENSRC_UC_EXE) >> $@.tmp
+	$(MV) $@.tmp $@
+else
+$(JDK_OUTPUTDIR)/gensrc_misc/sun/nio/fs/UnixConstants.java : $(JDK_TOPDIR)/src/closed/solaris/classes/sun/nio/fs/UnixConstants-$(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH).java
+	$(MKDIR) -p $(@D)
+	$(CP) $< $@
+endif
 
 endif
 
 ##########################################################################################
 
-ifeq ($(PLATFORM),solaris)
+ifeq ($(OPENJDK_TARGET_OS),solaris)
 
 GENSRC_MISC += $(JDK_OUTPUTDIR)/gensrc_misc/sun/nio/fs/SolarisConstants.java
 
-GENSRC_SOL_SRC := $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/nio/fs
+GENSRC_SOL_SRC := $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/nio/fs
 GENSRC_SOL_SRC_FILE := genSolarisConstants.c
-GENSRC_SOL_BIN := $(JDK_OUTPUTDIR)/objs/gensrc/genSolarisConstants
-GENSRC_SOL_EXE := $(GENSRC_SOL_BIN)/genSolarisConstants$(EXE_SUFFIX)
+GENSRC_SOL_BIN := $(JDK_OUTPUTDIR)/gensrc_misc/genSolarisConstants
 
 SOL_COPYRIGHT_YEARS = $(shell $(CAT) $(GENSRC_SOL_SRC)/$(GENSRC_SOL_SRC_FILE) | \
 	$(NAWK) '/^.*Copyright.*Oracle/ { printf "%s %s",$$4,$$5 }') 
 
-$(JDK_OUTPUTDIR)/gensrc_misc/sun/nio/fs/SolarisConstants.java : $(GENSRC_SOL_EXE)
-	$(MKDIR) -p $(@D)
-	NAWK="$(NAWK)" SH="$(SH)" $(SH) -e $(JDK_TOPDIR)/makefiles/scripts/addNotices.sh "$(SOL_COPYRIGHT_YEARS)" > $@.tmp
-	$(GENSRC_SOL_EXE) >> $@.tmp
-	$(MV) $@.tmp $@
-
-
 $(eval $(call SetupNativeCompilation,BUILD_GENSRC_SOL_EXE,\
 		SRC:=$(GENSRC_SOL_SRC),\
 		INCLUDE_FILES:=$(GENSRC_SOL_SRC_FILE),\
 		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB),\
-		BIN:=$(GENSRC_SOL_BIN),\
-		EXE:=$(GENSRC_SOL_EXE)))
+		CC:=$(HOST_CC),\
+		LDEXE:=$(HOST_CC),\
+		OBJECT_DIR:=$(GENSRC_SOL_BIN),\
+		OUTPUT_DIR:=$(GENSRC_SOL_BIN),\
+		PROGRAM:=genSolarisConstants))
+
+$(JDK_OUTPUTDIR)/gensrc_misc/sun/nio/fs/SolarisConstants.java : $(BUILD_GENSRC_SOL_EXE)
+	$(MKDIR) -p $(@D)
+	NAWK="$(NAWK)" SH="$(SH)" $(SH) -e $(JDK_TOPDIR)/makefiles/scripts/addNotices.sh "$(SOL_COPYRIGHT_YEARS)" > $@.tmp
+	$(BUILD_GENSRC_SOL_EXE) >> $@.tmp
+	$(MV) $@.tmp $@
+
 
 endif
--- a/makefiles/GensrcProperties.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ b/makefiles/GensrcProperties.gmk	Wed Aug 01 11:08:11 2012 -0400
@@ -46,7 +46,7 @@
 
   # Strip away prefix and suffix,
   # leaving for example: sun/util/resources/CurrencyNames_sv
-  $1_PROPPATHS:=$$(patsubst $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/classes/%.properties,%,\
+  $1_PROPPATHS:=$$(patsubst $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/classes/%.properties,%,\
                 $$(patsubst $(JDK_TOPDIR)/src/share/classes/%.properties,%,$2))
 
   # Apply optional name transformation, example: hz_TW -> hz_HK
@@ -75,7 +75,7 @@
 
   # Strip away prefix and suffix,
   # leaving for example: sun/util/resources/CurrencyNames_sv
-  $1_PROPPATHS:=$$(patsubst $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/classes/%.properties,%,\
+  $1_PROPPATHS:=$$(patsubst $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/classes/%.properties,%,\
                 $$(patsubst $(JDK_TOPDIR)/src/share/classes/%.properties,%,$2))
 
   # Apply optional name transformation, example: hz_TW -> hz_HK
@@ -124,7 +124,7 @@
 $(eval $(call add_properties_to_clean,COM_SUN_IMAGEIO,\
 	$(shell find $(JDK_TOPDIR)/src/share/classes/com/sun/imageio -name "*.properties")))
 #com/sun/java/swing/plaf/gtk/resources
-ifneq ($(PLATFORM), windows)
+ifneq ($(OPENJDK_TARGET_OS), windows)
 # Only compile GTK resource bundles on Solaris/Linux
 $(eval $(call add_properties_to_compile,COM_SUN_SWING_PLAF_GTK,\
 	$(shell find $(JDK_TOPDIR)/src/share/classes/com/sun/java/swing/plaf/gtk/resources -name "*.properties"),\
@@ -264,6 +264,10 @@
 $(eval $(call add_properties_to_clean,SUN_TOOLS_SERIALVER,\
 	$(shell find $(JDK_TOPDIR)/src/share/classes/sun/tools/javac/resources -name "javac.properties")))
 
+#sun/tools/jconsole/resources
+$(eval $(call add_properties_to_clean,SUN_TOOLS_JCONSOLE,\
+	$(shell find $(JDK_TOPDIR)/src/share/classes/sun/tools/jconsole/resources -name "*.properties")))
+
 #sun/tools/serialver
 $(eval $(call add_properties_to_clean,SUN_TOOLS_SERIALVER,\
 	$(shell find $(JDK_TOPDIR)/src/share/classes/sun/tools/serialver -name "*.properties"),,,resources))
--- a/makefiles/GensrcX11Wrappers.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ b/makefiles/GensrcX11Wrappers.gmk	Wed Aug 01 11:08:11 2012 -0400
@@ -30,10 +30,10 @@
 
 GENSRC_SIZES :=
 
-ifeq ($(PLATFORM)-$(LIBARCH), solaris-i386)
+ifeq ($(OPENJDK_TARGET_OS)-$(LIBARCH), solaris-i386)
 GENSRC_SIZES := sizes.32 sizes.64
-else ifeq ($(PLATFORM), solaris)
-isalist:=$(shell $(ISAINFO))
+else ifeq ($(OPENJDK_TARGET_OS), solaris)
+isalist:=$(shell isainfo)
 ifneq (,$(findstring sparcv9, $(isalist)))
 # On sparcv9 we generate both 32 and 64-bit sizers in spite of ARCH_DATA_MODEL.
 GENSRC_SIZES := sizes.32 sizes.64
@@ -46,7 +46,7 @@
 endif # amd64
 endif # sparcv9
 else # !solaris
-ifeq ($(PLATFORM), macosx)
+ifeq ($(OPENJDK_TARGET_OS), macosx)
 GENSRC_SIZES := sizes.32 sizes.64
 else # !macosx
 GENSRC_SIZES := sizes.$(ARCH_DATA_MODEL)
@@ -62,18 +62,23 @@
 	$(TOOL_WRAPPERGENERATOR) $(@D) $< "sizer" $*
 
 $(GENSRC_X11WRAPPERS_TMP)/sizer/sizer.%.exe : $(GENSRC_X11WRAPPERS_TMP)/sizer/sizer.%.c
-	(cd $(@D) && $(CC) -m$* -o $@ $< $(CFLAGS_JDKLIB) \
+	(cd $(@D) && $(HOST_CC) -m$* -o $@ $< \
+              -I$(JDK_OUTPUTDIR)/include \
+              -I$(JDK_TOPDIR)/src/share/javavm/export \
+              -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/javavm/export \
+              -I$(JDK_TOPDIR)//src/share/native/common \
+              -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/common \
               -I$(JDK_TOPDIR)/src/solaris/native/sun/awt \
 	      -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
 	      -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils -lc)
 
-ifeq ($(PLATFORM)-$(LIBARCH), solaris-i386)
+ifeq ($(OPENJDK_TARGET_OS)-$(LIBARCH), solaris-i386)
 
 $(GENSRC_X11WRAPPERS_TMP)/sizer/sizes.32 : $(GENSRC_X11WRAPPERS_TMP)/sizer/sizer.32.exe
 	$< > $@.tmp
 	$(MV) $@.tmp $@
 
-$(GENSRC_X11WRAPPERS_TMP)/sizer/sizes.64 : $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/classes/sun/awt/X11/generator/sizes.64-$(PLATFORM)-$(LIBARCH)
+$(GENSRC_X11WRAPPERS_TMP)/sizer/sizes.64 : $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/classes/sun/awt/X11/generator/sizes.64-$(OPENJDK_TARGET_OS)-$(LIBARCH)
 	$(MKDIR) -p $(@D)
 	$(CP) $< $@
 else
@@ -88,9 +93,9 @@
 	$(MKDIR) -p $(@D)/sun/awt/X11
 	$(RM) $(@D)/sun/awt/X11/*
 	$(TOOL_WRAPPERGENERATOR) $(@D)/sun/awt/X11 $(GENSRC_SIZER_SRC)/xlibtypes.txt "gen" $(GENSRC_X11WRAPPERS_TMP)/sizer/sizes
-ifeq ($(PLATFORM)-$(LIBARCH), solaris-amd64)
-	$(ECHO) COMPARING $@ and $(GENSRC_SIZER_SRC)/sizes.64-$(PLATFORM)-i386
-	$(DIFF) $(GENSRC_X11WRAPPERS_TMP)/sizes.64 $(GENSRC_SIZER_SRC)/sizes.64-$(PLATFORM)-i386
+ifeq ($(OPENJDK_TARGET_OS)-$(LIBARCH), solaris-amd64)
+	$(ECHO) COMPARING $(GENSRC_X11WRAPPERS_TMP)/sizer/sizes.64 and $(GENSRC_SIZER_SRC)/sizes.64-$(OPENJDK_TARGET_OS)-i386
+	$(DIFF) $(GENSRC_X11WRAPPERS_TMP)/sizer/sizes.64 $(GENSRC_SIZER_SRC)/sizes.64-$(OPENJDK_TARGET_OS)-i386
 endif
 	$(TOUCH) $@
 
--- a/makefiles/Images.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ b/makefiles/Images.gmk	Wed Aug 01 11:08:11 2012 -0400
@@ -34,15 +34,20 @@
 
 images: jre-image jdk-image
 
-ifeq ($(HOST_OS),solaris)
+ifeq ($(OPENJDK_TARGET_OS),solaris)
 define install-file
 	$(MKDIR) -p $(@D)
-	$(CP) -r -P '$<' '$(@D)'
+	$(CP) -f -r -P '$<' '$(@D)'
+endef
+else ifeq ($(OPENJDK_TARGET_OS),macosx)
+define install-file
+	$(MKDIR) -p $(@D)
+	$(CP) -fpRP '$<' '$@'
 endef
 else
 define install-file
 	$(MKDIR) -p $(@D)
-	$(CP) -P '$<' '$@'
+	$(CP) -fP '$<' '$@'
 endef
 endif
 
@@ -67,7 +72,7 @@
 	$(ECHO) Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@)
 	$(install-file)
 
-NOT_JRE_BIN_FILES = \
+NOT_JRE_BIN_FILES := \
 	appletviewer$(EXE_SUFFIX) \
 	extcheck$(EXE_SUFFIX) \
 	idlj$(EXE_SUFFIX) \
@@ -107,7 +112,12 @@
 
 # Find all files in bin dir
 ALL_BIN_LIST := $(shell $(FIND) $(JDK_OUTPUTDIR)/bin -type f)
-ifeq ($(HOST_OS),windows)
+
+# For unknown reason the debuginfo files for binaries are not put into images
+# e.g filter them out
+ALL_BIN_LIST := $(filter-out %.debuginfo %.diz, $(ALL_BIN_LIST))
+
+ifeq ($(OPENJDK_TARGET_OS),windows)
     JDK_BIN_LIST := $(filter $(addprefix %,$(WINDOWS_JDK_BIN_FILES)), $(ALL_BIN_LIST))
 else
     JDK_BIN_LIST := $(ALL_BIN_LIST)
@@ -147,7 +157,7 @@
 	ct.sym
 
 JDK_LIB_FILES := $(NOT_JRE_LIB_FILES)
-ifeq ($(HOST_OS), linux)
+ifeq ($(OPENJDK_TARGET_OS), linux)
     JDK_LIB_FILES += jexec
 endif
 
@@ -236,14 +246,21 @@
         wsimport.1         \
         xjc.1
 
-ifeq ($(HOST_OS), linux)
+ifeq ($(OPENJDK_TARGET_OS), linux)
     MAN_SRC_DIR:=$(JDK_TOPDIR)/src/linux/doc
     MAN1_SUBDIR:=man
 endif
-ifeq ($(HOST_OS), solaris)
+ifeq ($(OPENJDK_TARGET_OS), solaris)
     MAN_SRC_DIR:=$(JDK_TOPDIR)/src/solaris/doc
     MAN1_SUBDIR:=sun/man/man1
 endif
+ifeq ($(OPENJDK_TARGET_OS), macosx)
+    MAN_SRC_DIR:=$(JDK_TOPDIR)/src/bsd/doc
+    MAN1_SUBDIR:=man
+    JDK_MAN_PAGES := $(filter-out jcmd.1, $(JDK_MAN_PAGES))
+    JDK_MAN_PAGES := $(filter-out jvisualvm.1, $(JDK_MAN_PAGES))
+endif
+
 
 $(JRE_IMAGE_DIR)/man/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/%
 	$(ECHO) Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@)
@@ -286,7 +303,7 @@
 	$(ECHO) Converting $(patsubst $(OUTPUT_ROOT)/%,%,$@)
 	$(call install-ja-manpage,PCK)
 
-ifeq ($(HOST_OS), solaris)
+ifeq ($(OPENJDK_TARGET_OS), solaris)
     $(JRE_IMAGE_DIR)/man/ja/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/ja/%
 	$(ECHO) Converting $(patsubst $(OUTPUT_ROOT)/%,%,$@)
 	$(install-file)
@@ -302,7 +319,17 @@
 	$(MKDIR) -p $(@D)
 	$(TOUCH) $@
 
-ifeq ($(HOST_OS), linux)
+ifeq ($(OPENJDK_TARGET_OS), linux)
+    $(JRE_IMAGE_DIR)/man/ja:
+	$(ECHO) Creating $(patsubst $(OUTPUT_ROOT)/%,%,$@)
+	$(CD) $(@D) && $(RM) ja && $(LN) -s ja_JP.UTF-8 ja
+
+    $(JDK_IMAGE_DIR)/man/ja:
+	$(ECHO) Creating $(patsubst $(OUTPUT_ROOT)/%,%,$@)
+	$(CD) $(@D) && $(RM) ja && $(LN) -s ja_JP.UTF-8 ja
+endif
+
+ifeq ($(OPENJDK_TARGET_OS), macosx)
     $(JRE_IMAGE_DIR)/man/ja:
 	$(ECHO) Creating $(patsubst $(OUTPUT_ROOT)/%,%,$@)
 	$(CD) $(@D) && $(RM) ja && $(LN) -s ja_JP.UTF-8 ja
@@ -312,7 +339,7 @@
 	$(CD) $(@D) && $(RM) ja && $(LN) -s ja_JP.UTF-8 ja
 endif
 
-ifeq ($(HOST_OS), linux)
+ifeq ($(OPENJDK_TARGET_OS), linux)
     JRE_MAN_PAGE_LIST := $(addprefix $(JRE_IMAGE_DIR)/man/man1/,$(JRE_MAN_PAGES)) \
 			 $(addprefix $(JRE_IMAGE_DIR)/man/ja_JP.UTF-8/man1/,$(JRE_MAN_PAGES)) \
 			 $(JRE_IMAGE_DIR)/man/ja
@@ -322,7 +349,7 @@
 			 $(JDK_IMAGE_DIR)/man/ja
 endif
 
-ifeq ($(HOST_OS), solaris)
+ifeq ($(OPENJDK_TARGET_OS), solaris)
     JRE_MAN_PAGE_LIST := $(addprefix $(JRE_IMAGE_DIR)/man/man1/,$(JRE_MAN_PAGES)) \
 			 $(addprefix $(JRE_IMAGE_DIR)/man/ja/man1/,$(JRE_MAN_PAGES)) \
 			 $(addprefix $(JRE_IMAGE_DIR)/man/ja_JP.UTF-8/man1/,$(JRE_MAN_PAGES)) \
@@ -334,6 +361,16 @@
 			 $(addprefix $(JDK_IMAGE_DIR)/man/ja_JP.PCK/man1/,$(JDK_MAN_PAGES))
 endif
 
+ifeq ($(OPENJDK_TARGET_OS), macosx)
+    JRE_MAN_PAGE_LIST := $(addprefix $(JRE_IMAGE_DIR)/man/man1/,$(JRE_MAN_PAGES)) \
+			 $(addprefix $(JRE_IMAGE_DIR)/man/ja_JP.UTF-8/man1/,$(JRE_MAN_PAGES)) \
+			 $(JRE_IMAGE_DIR)/man/ja
+
+    JDK_MAN_PAGE_LIST := $(addprefix $(JDK_IMAGE_DIR)/man/man1/,$(JDK_MAN_PAGES)) \
+			 $(addprefix $(JDK_IMAGE_DIR)/man/ja_JP.UTF-8/man1/,$(JDK_MAN_PAGES)) \
+			 $(JDK_IMAGE_DIR)/man/ja
+endif
+
 ################################################################################
 # /demo dir
 
@@ -383,6 +420,7 @@
     $(JDK_IMAGE_DIR)/db/README-JDK.html: $(JDK_TOPDIR)/src/closed/share/db/README-JDK.html
 	$(ECHO) Copying '$(patsubst $(OUTPUT_ROOT)/%,%,$@)'
 	$(install-file)
+	$(CHMOD) 644 $(@)
 
     JDK_DB_TARGETS := $(patsubst $(JDK_TOPDIR)/src/closed/share/db/%,$(IMAGES_OUTPUTDIR)/_unzip/%.unzipped,\
 			$(shell $(FIND) $(JDK_TOPDIR)/src/closed/share/db -name "*.zip" ! -name "*demo*")) \
@@ -411,7 +449,7 @@
 else
     JRE_DOC_FILES := COPYRIGHT Welcome.html LICENSE THIRDPARTYLICENSEREADME.txt
     JDK_DOC_FILES := COPYRIGHT README.html  LICENSE THIRDPARTYLICENSEREADME.txt
-    ifeq ($(HOST_OS), windows)
+    ifeq ($(OPENJDK_TARGET_OS), windows)
         JRE_DOC_FILES += README.txt
     else
         JRE_DOC_FILES += README
@@ -432,32 +470,39 @@
 $(JRE_IMAGE_DIR)/%: $(JRE_DOC_LOCATION)/%
 	$(ECHO) Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@)
 	$(install-file)
+	$(CHMOD) 444 $(@)
 
 $(JDK_IMAGE_DIR)/jre/%: $(JRE_DOC_LOCATION)/%
 	$(ECHO) Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@)
 	$(install-file)
+	$(CHMOD) 444 $(@)
 
 $(JRE_IMAGE_DIR)/README.txt: $(JRE_DOC_LOCATION)/README
 	$(ECHO) Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@)
 	$(MKDIR) -p $(@D)
 	$(CP) $< $@
+	$(CHMOD) 444 $(@)
 
 $(JDK_IMAGE_DIR)/jre/README.txt: $(JRE_DOC_LOCATION)/README
 	$(ECHO) Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@)
 	$(MKDIR) -p $(@D)
 	$(CP) $< $@
+	$(CHMOD) 444 $(@)
 
 $(JDK_IMAGE_DIR)/%: $(JDK_DOC_LOCATION)/%
 	$(ECHO) Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@)
 	$(install-file)
+	$(CHMOD) 444 $(@)
 
 $(JDK_IMAGE_DIR)/demo/%: $(JDK_DOC_LOCATION)/%
 	$(ECHO) Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@)
 	$(install-file)
+	$(CHMOD) 444 $(@)
 
 $(JDK_IMAGE_DIR)/sample/%: $(JDK_DOC_LOCATION)/%
 	$(ECHO) Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@)
 	$(install-file)
+	$(CHMOD) 444 $(@)
 
 JRE_INFO_FILE := $(JRE_IMAGE_DIR)/release
 JDK_INFO_FILE := $(JDK_IMAGE_DIR)/release
@@ -500,7 +545,7 @@
 # Post processing (strip etc)
 
 ifneq ($(POST_STRIP_CMD),)
-    ifeq ($(HOST_OS), windows)
+    ifeq ($(OPENJDK_TARGET_OS), windows)
         EXEC_LIST:=$(shell $(FIND) $(JDK_OUTPUTDIR)/bin -type f -name \*.exe \
 		-o -name \*.dll | $(EGREP) -v -i "$(MSVCRNN_DLL)")
     else
@@ -510,17 +555,43 @@
 		| $(EGREP) 'ELF' | $(CUT) -d':' -f1)
     endif
     # Filter out non JRE files and convert to unique touch files to depend on
-    JRE_EXEC_TOUCH_LIST:=$(patsubst $(JDK_OUTPUTDIR)/%,$(IMAGES_OUTPUTDIR)/_strip/%.stripped,\
+    JRE_EXEC_TOUCH_LIST:=$(patsubst $(JDK_OUTPUTDIR)/%,$(IMAGES_OUTPUTDIR)/_strip_jre/%.stripped,\
+			$(filter-out $(addprefix %,$(NOT_JRE_BIN_FILES) $(NOT_JRE_LIB_FILES)), $(EXEC_LIST)))
+
+    JDK_JRE_EXEC_TOUCH_LIST:=$(patsubst $(JDK_OUTPUTDIR)/%, \
+                        $(IMAGES_OUTPUTDIR)/_strip_jdk/jre/%.stripped, \
 			$(filter-out $(addprefix %,$(NOT_JRE_BIN_FILES) $(NOT_JRE_LIB_FILES)), $(EXEC_LIST)))
 
+    JDK_BIN_EXEC_TOUCH_LIST := $(patsubst $(JDK_OUTPUTDIR)/%, \
+                          $(IMAGES_OUTPUTDIR)/_strip_jdk/%.stripped, \
+                          $(filter-out $(JDK_OUTPUTDIR)/lib/%, $(EXEC_LIST)))
+
     # Setup a rule for stripping files based on touch files
-    $(IMAGES_OUTPUTDIR)/_strip/%.stripped: $(JRE_IMAGE_DIR)/%
+    $(IMAGES_OUTPUTDIR)/_strip_jre/%.stripped: $(JRE_IMAGE_DIR)/%
 	$(ECHO) Stripping $(patsubst $(OUTPUT_ROOT)/%,%,$<)
 	$(CHMOD) u+w $<
 	$(POST_STRIP_CMD) $<
 	$(CHMOD) go-w $<
 	$(MKDIR) -p $(@D)
 	$(TOUCH) $@
+
+    $(IMAGES_OUTPUTDIR)/_strip_jdk/bin/%.stripped: $(JDK_IMAGE_DIR)/bin/%
+	$(ECHO) Stripping $(patsubst $(OUTPUT_ROOT)/%,%,$<)
+	$(CHMOD) u+w $<
+	$(POST_STRIP_CMD) $<
+	$(CHMOD) go-w $<
+	$(MKDIR) -p $(@D)
+	$(TOUCH) $@
+
+    # Setup a rule for stripping files based on touch files
+    $(IMAGES_OUTPUTDIR)/_strip_jdk/jre/%.stripped: $(JDK_IMAGE_DIR)/jre/%
+	$(ECHO) Stripping $(patsubst $(OUTPUT_ROOT)/%,%,$<)
+	$(CHMOD) u+w $<
+	$(POST_STRIP_CMD) $<
+	$(CHMOD) go-w $<
+	$(MKDIR) -p $(@D)
+	$(TOUCH) $@
+
 endif
 
 ################################################################################
@@ -538,7 +609,8 @@
 	$(JDK_MAN_PAGE_LIST) $(JDK_SAMPLE_TARGETS) \
 	$(JDK_DB_TARGETS) $(JDK_INCLUDE_TARGETS) \
 	$(JDKJRE_DOC_TARGETS) $(JDK_DOC_TARGETS) \
-	$(JDK_INFO_FILE) $(JDK_IMAGE_DIR)/src.zip
+	$(JDK_INFO_FILE) $(JDK_JRE_EXEC_TOUCH_LIST) $(JDK_BIN_EXEC_TOUCH_LIST) \
+        $(JDK_IMAGE_DIR)/src.zip
 
 ################################################################################
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/makefiles/Import.gmk	Wed Aug 01 11:08:11 2012 -0400
@@ -0,0 +1,243 @@
+#
+# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# This code is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License version 2 only, as
+# published by the Free Software Foundation.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# This code 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
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+# or visit www.oracle.com if you need additional information or have any
+# questions.
+#
+
+default: all
+
+include $(SPEC)
+include MakeBase.gmk
+
+#######
+
+IMPORT_TARGET_FILES :=
+
+IMPORT_CLASSES := CORBA JAXP JAXWS LANGTOOLS
+IMPORT_SOURCES := CORBA JAXP JAXWS LANGTOOLS
+# Only Corba has binaries
+IMPORT_BINARIES := CORBA
+
+#######
+
+# Put the libraries here. Different locations for different target apis.
+ifeq ($(OPENJDK_TARGET_OS_API),posix)
+    ifneq ($(OPENJDK_TARGET_OS),macosx)
+        INSTALL_LIBRARIES_HERE:=$(JDK_OUTPUTDIR)/lib/$(LIBARCH)
+    else
+        INSTALL_LIBRARIES_HERE:=$(JDK_OUTPUTDIR)/lib
+    endif
+    HOTSPOT_LIB_DIR:=$(HOTSPOT_DIST)/jre/lib/$(LIBARCH)
+else
+    INSTALL_LIBRARIES_HERE:=$(JDK_OUTPUTDIR)/bin
+    HOTSPOT_LIB_DIR:=$(HOTSPOT_DIST)/jre/bin
+endif
+
+#######
+
+#
+# jar xf/unzip fails when executing them all in parallel
+#   introduce artificial dependency (_DEP) buuhhh 
+
+define ImportClasses
+$1_CLASSES_DEP := $$(IMPORT_TARGET_CLASSES)
+IMPORT_TARGET_CLASSES += $(JDK_OUTPUTDIR)/classes/_the.$1.classes.imported
+
+$(JDK_OUTPUTDIR)/classes/_the.$1.classes.imported : $$($1_DIST)/lib/classes.jar $$($1_CLASSES_DEP)
+	$(ECHO) Importing $1 classes.jar
+	$(MKDIR) -p $$(@D)
+	($(CD) $$(@D) && $(JAR) xvf $$< > $$@.tmp)
+	$(MV) $$@.tmp $$@
+endef
+
+define ImportSources
+$1_SOURCES_DEP := $$(IMPORT_TARGET_SOURCES)
+IMPORT_TARGET_SOURCES += $(JDK_OUTPUTDIR)/impsrc/_the.$1.src.imported
+
+$(JDK_OUTPUTDIR)/impsrc/_the.$1.src.imported : $$($1_DIST)/lib/src.zip $$($1_SOURCES_DEP)
+	$(ECHO) Importing $1 src.zip
+	$(MKDIR) -p $$(@D)
+	($(CD) $$(@D) && $(JAR) xvf $$< > $$@.tmp)
+	$(MV) $$@.tmp $$@
+endef
+
+define ImportBinaries
+$1_BINARIES_DEP := $$(IMPORT_TARGET_BINARIES)
+IMPORT_TARGET_BINARIES += $(JDK_OUTPUTDIR)/_the.$1.binaries.imported
+
+$(JDK_OUTPUTDIR)/_the.$1.binaries.imported : $$($1_DIST)/lib/bin.zip $$($1_BINARIES_DEP)
+	$(ECHO) Importing $1 bin.zip
+	$(MKDIR) -p $$(@D)
+	($(CD) $$(@D) && $(JAR) xvf $$< > $$@.tmp)
+	$(MV) $$@.tmp $$@
+endef
+
+#######
+
+$(foreach I,$(IMPORT_CLASSES), $(eval $(call ImportClasses,$I)))
+$(foreach I,$(IMPORT_SOURCES), $(eval $(call ImportSources,$I)))
+$(foreach I,$(IMPORT_BINARIES), $(eval $(call ImportBinaries,$I)))
+
+IMPORT_TARGET_FILES += $(IMPORT_TARGET_CLASSES) $(IMPORT_TARGET_SOURCES) $(IMPORT_TARGET_BINARIES)
+
+#######
+
+ifeq ($(OPENJDK_TARGET_OS),solaris)
+define do-install-file
+	$(MKDIR) -p $$(@D)
+	$(CP) -r -P '$$<' '$$(@D)'
+endef
+else ifeq ($(OPENJDK_TARGET_OS),macosx)
+define do-install-file
+	$(MKDIR) -p $$(@D)
+	$(CP) -pRP '$$<' '$$@'
+endef
+else
+define do-install-file
+	$(MKDIR) -p $$(@D)
+	$(CP) -P '$$<' '$$@'
+endef
+endif
+
+define CopyDir
+        $1_SRC_FILES := $(shell $(FIND) $2 -type f)
+        $1_DST_FILES := $$(patsubst $2/%,$3/%,$$($1_SRC_FILES))
+        IMPORT_TARGET_FILES += $$($1_DST_FILES)
+$3/% : $2/%
+	$(ECHO) Copying $$(@F)
+	$(do-install-file)
+endef
+
+#######
+
+#
+# Import hotspot
+#
+
+$(eval $(call CopyDir,HOTSPOT0, $(HOTSPOT_LIB_DIR), $(INSTALL_LIBRARIES_HERE)))
+$(eval $(call CopyDir,HOTSPOT1, $(HOTSPOT_DIST)/lib, $(JDK_OUTPUTDIR)/lib))
+
+JSIG_DEBUGINFO := $(wildcard $(HOTSPOT_DIST)/jre/lib/$(LIBARCH)/libjsig.debuginfo) \
+                  $(wildcard $(HOTSPOT_DIST)/jre/lib/$(LIBARCH)/libjsig.diz)
+
+ifneq ($(OPENJDK_TARGET_OS), windows)
+    ifeq ($(JVM_VARIANT_SERVER), true)
+        IMPORT_TARGET_FILES += $(INSTALL_LIBRARIES_HERE)/server/$(LIBRARY_PREFIX)jsig$(SHARED_LIBRARY_SUFFIX)
+        ifneq (,$(JSIG_DEBUGINFO))
+            IMPORT_TARGET_FILES += $(INSTALL_LIBRARIES_HERE)/server/$(foreach I,$(JSIG_DEBUGINFO),$(notdir $I))
+        endif
+    endif
+    ifeq ($(JVM_VARIANT_CLIENT), true)
+        IMPORT_TARGET_FILES += $(INSTALL_LIBRARIES_HERE)/client/$(LIBRARY_PREFIX)jsig$(SHARED_LIBRARY_SUFFIX)
+        ifneq (,$(JSIG_DEBUGINFO))
+            IMPORT_TARGET_FILES += $(INSTALL_LIBRARIES_HERE)/client/$(foreach I,$(JSIG_DEBUGINFO),$(notdir $I))
+        endif
+    endif
+endif
+
+$(INSTALL_LIBRARIES_HERE)/server/%$(SHARED_LIBRARY_SUFFIX) : $(INSTALL_LIBRARIES_HERE)/%$(SHARED_LIBRARY_SUFFIX)
+	$(RM) -f $@
+	$(LN) -s ../$(@F) $@
+
+$(INSTALL_LIBRARIES_HERE)/server/%.debuginfo : $(INSTALL_LIBRARIES_HERE)/%.debuginfo
+	$(RM) -f $@
+	$(LN) -s ../$(@F) $@
+
+$(INSTALL_LIBRARIES_HERE)/server/%.diz : $(INSTALL_LIBRARIES_HERE)/%.diz
+	$(RM) -f $@
+ifeq (REALLY_WEIRD,1)
+	$(LN) -s ../$(@F) $@
+else
+#
+# TODO: Check if this is what they really want...a zip containing a symlink
+#
+	$(RM) -f $(basename $@).debuginfo
+	$(LN) -s ../$(basename $(@F)).debuginfo $(basename $@).debuginfo
+	$(ZIP) -q -y $@ $(basename $@).debuginfo
+	$(RM) -f $(basename $@).debuginfo
+endif
+
+$(INSTALL_LIBRARIES_HERE)/client/%$(SHARED_LIBRARY_SUFFIX) : $(INSTALL_LIBRARIES_HERE)/%$(SHARED_LIBRARY_SUFFIX)
+	$(RM) -f $@
+	$(LN) -s ../$(@F) $@
+
+$(INSTALL_LIBRARIES_HERE)/client/%.debuginfo : $(INSTALL_LIBRARIES_HERE)/%.debuginfo
+	$(RM) -f $@
+	$(LN) -s ../$(@F) $@
+
+$(INSTALL_LIBRARIES_HERE)/client/%.diz : $(INSTALL_LIBRARIES_HERE)/%.diz
+	$(RM) -f $@
+ifeq (REALLY_WEIRD,1)
+	$(LN) -s ../$(@F) $@
+else
+#
+# TODO: Check if this is what they really want...a zip containing a symlink
+#
+	$(RM) -f $(basename $@).debuginfo
+	$(LN) -s ../$(basename $(@F)).debuginfo $(basename $@).debuginfo
+	$(ZIP) -q -y $@ $(basename $@).debuginfo
+	$(RM) -f $(basename $@).debuginfo
+endif
+
+#######
+
+ifeq ($(OPENJDK_TARGET_OS),solaris)
+define install-file
+	$(MKDIR) -p $(@D)
+	$(CP) -r -P '$<' '$(@D)'
+endef
+else ifeq ($(OPENJDK_TARGET_OS),macosx)
+define install-file
+	$(MKDIR) -p $(@D)
+	$(CP) -pRP '$<' '$@'
+endef
+else
+define install-file
+	$(MKDIR) -p $(@D)
+	$(CP) -P '$<' '$@'
+endef
+endif
+
+ifndef OPENJDK
+
+IMPORT_TARGET_FILES += \
+            $(JDK_OUTPUTDIR)/lib/security/US_export_policy.jar \
+            $(JDK_OUTPUTDIR)/lib/security/local_policy.jar \
+            $(JDK_OUTPUTDIR)/lib/jce.jar
+
+$(JDK_OUTPUTDIR)/lib/jce.jar : $(JDK_TOPDIR)/make/closed/tools/crypto/jce/jce.jar
+	$(ECHO) Copying $(@F)
+	$(install-file)
+
+$(JDK_OUTPUTDIR)/lib/security/local_policy.jar: $(JDK_TOPDIR)/make/closed/tools/crypto/jce/local_policy.jar
+	$(ECHO) Copying $(@F)
+	$(install-file)
+
+$(JDK_OUTPUTDIR)/lib/security/US_export_policy.jar: $(JDK_TOPDIR)/make/closed/tools/crypto/jce/US_export_policy.jar
+	$(ECHO) Copying $(@F)
+	$(install-file)
+
+endif # OPENJDK
+
+#######
+
+all: $(IMPORT_TARGET_FILES)
--- a/makefiles/LegacyMakefiles.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-#
-# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code 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
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-include $(SPEC)
-include MakeBase.gmk
-
-all: $(JDK_OUTPUTDIR)/_the.legacy_make
-
-DEPS:=	$(shell $(FIND) $(JDK_TOPDIR)/makefiles/java -type f) \
-		$(shell $(FIND) $(JDK_TOPDIR)/makefiles/javax -type f) \
-		$(shell $(FIND) $(JDK_TOPDIR)/makefiles/sun -type f) \
-		$(shell $(FIND) $(JDK_TOPDIR)/makefiles/com -type f)
-
-$(JDK_OUTPUTDIR)/_the.legacy_make: $(DEPS)
-	(echo Building single threaded Java subdir && \
-        $(MAKE) -j1 -C java all && \
-	touch $@)
-
-.PHONY: all
-
--- a/makefiles/Makefile	Wed Aug 01 11:06:44 2012 -0400
+++ b/makefiles/Makefile	Wed Aug 01 11:08:11 2012 -0400
@@ -38,21 +38,21 @@
 include Tools.gmk
 
 all: $(BUILD_TOOLS)
+#       Import (corba jaxp jaxws langtools hotspot)
+	+$(MAKE) -f Import.gmk
+#
 	+$(MAKE) -f GenerateJavaSources.gmk
-#       Drop back to the old makefiles for
-#       packages/libs that have not yet been converted.
-	+$(MAKE) -f LegacyMakefiles.gmk
 #       Ok, now gensrc is fully populated.
 	+$(MAKE) -f GenerateData.gmk
 	+$(MAKE) -f CompileJavaClasses.gmk
-#	The classes have been built, now generate
-#	classes that have other sources.
-	+$(MAKE) -f GenerateClasses.gmk
 #       The classes are now built and
 #       any javah files have now been generated.
 	+$(MAKE) -f CompileNativeLibraries.gmk
 #       Finally compile the launchers.
 	+$(MAKE) -f CompileLaunchers.gmk
+#	Generate classes that have other sources. Needs
+#       to execute launchers.
+	+$(MAKE) -f GenerateClasses.gmk
 #       Now we have a complete jdk, which you can run.
 #       It is not yet wrapped up as an installed image.
 #       The demos are compiled against this jdk.
@@ -64,16 +64,11 @@
 	+$(MAKE) -f CopySamples.gmk
 endif
 
-# Create the final jdk and jre images in the old way. Kept for reference
-# until conversion is fully done.
-old-images:
-	+$(MAKE) $(IMAGES_MAKE_ARGS) -f OldImages.gmk 
-
 # Create the final jdk and jre images, to be wrapped up
 # into packages, or installed.
 images:
 	+$(MAKE) -f CreateJars.gmk
-	+$(MAKE) $(IMAGES_MAKE_ARGS) -f Images.gmk 
+	+$(MAKE) -f Images.gmk 
 
 
 BINARIES:=$(shell if test -d $(IMAGES_OUTPUTDIR)/j2sdk-image/bin; then cd $(IMAGES_OUTPUTDIR)/j2sdk-image/bin && $(LS) ; fi)
@@ -90,9 +85,4 @@
 	$(RM) $(addprefix $(INSTALL_PREFIX)/bin/,$(BINARIES))
 	$(foreach b,$(BINARIES),$(LN) -s $(INSTALL_PREFIX)/jvm/$(INSTALLDIR)/bin/$b $(INSTALL_PREFIX)/bin/$b &&) true
 
-# Create the deb,rpm,tgz,zip, packages.
-packages: images
-	echo Creating packages...well, in the future.
-	$(MKDIR) -p $(OUTPUT_ROOT)/packages
-
 .PHONY: all install images
--- a/makefiles/OldImages.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,175 +0,0 @@
-#
-# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code 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
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-include $(SPEC)
-include MakeBase.gmk
-include JavaCompilation.gmk
-include Setup.gmk
-
-default: $(IMAGES_OUTPUTDIR)/_the.images
-
-include Tools.gmk
-
-JARS:=
-
-##########################################################################################
-
-JCONSOLE_JAR_DEPS := \
-  $(shell $(FIND) $(JDK_OUTPUTDIR)/newclasses/sun/tools/jconsole/ -name "_the.package") \
-  $(shell $(FIND) $(JDK_OUTPUTDIR)/newclasses/com/sun/tools/jconsole/ -name "_the.package")
-
-$(eval $(call SetupArchive,BUILD_JCONSOLE_JAR,$(JCONSOLE_JAR_DEPS),\
-		SRCS:=$(JDK_OUTPUTDIR)/newclasses,\
-		SUFFIXES:=.class .gif .png,\
-		INCLUDES:=sun/tools/jconsole com/sun/tools/jconsole,\
-		JARMAIN:=sun.tools.jconsole.JConsole,\
-		JAR:=$(JDK_OUTPUTDIR)/lib/jconsole.jar,\
-		SKIP_METAINF:=true))
-
-JARS+=$(JDK_OUTPUTDIR)/lib/jconsole.jar
-
-##########################################################################################
-
-CHARSETS_JAR_DEPS :=
-
-$(eval $(call SetupArchive,BUILD_CHARSETS_JAR,$(CHARSETS_JAR_DEPS),\
-		SRCS:=$(JDK_OUTPUTDIR)/newclasses, \
-		SUFFIXES:=.class .dat,\
-		INCLUDES:=sun/nio/cs/ext,\
-		EXTRA_FILES := sun/awt/HKSCS.class \
-                               sun/awt/motif/X11GBK.class \
-                               'sun/awt/motif/X11GB2312$$$$Decoder.class' \
-                               sun/awt/motif/X11GB2312.class \
-                               'sun/awt/motif/X11KSC5601$$$$Decoder.class' \
-                               'sun/awt/motif/X11KSC5601$$$$Encoder.class' \
-                               'sun/awt/motif/X11GB2312$$$$Encoder.class' \
-                               'sun/awt/motif/X11GBK$$$$Encoder.class' \
-                               sun/awt/motif/X11KSC5601.class \
-                               META-INF/services/java.nio.charset.spi.CharsetProvider, \
-		JAR:=$(JDK_OUTPUTDIR)/lib/charsets.jar, \
-		JARMAIN := NONE, \
-		SKIP_METAINF := true))
-
-JARS+=$(JDK_OUTPUTDIR)/lib/charsets.jar
-
-##########################################################################################
-
-SUNPKCS11_JAR_DST := $(JDK_OUTPUTDIR)/lib/ext/sunpkcs11.jar
-
-ifndef OPENJDK
-
-SUNPKCS11_JAR_SRC := $(JDK_TOPDIR)/make/closed/tools/crypto/pkcs11/sunpkcs11.jar
-
-$(SUNPKCS11_JAR_DST) : $(SUNPKCS11_JAR_SRC)
-	@$(ECHO) "\n>>>Installing prebuilt SunPKCS11 provider..."
-	$(RM) $@
-	$(CP) $< $@
-
-else
-
-$(eval $(call SetupArchive,BUILD_SUNPKCS11_JAR,$(SUNPKCS11_JAR_DEPS),\
-		SRCS:=$(JDK_OUTPUTDIR)/newclasses, \
-		SUFFIXES:=.class,\
-		INCLUDES:=sun/security/pkcs11,\
-		JAR:=$(SUNPKCS11_JAR_DST), \
-		JARMAIN := NONE, \
-		SKIP_METAINF := true))
-
-endif
-
-JARS += $(SUNPKCS11_JAR_DST)
-
-##########################################################################################
-
-SUNEC_JAR_DST := $(JDK_OUTPUTDIR)/lib/ext/sunec.jar
-
-ifndef OPENJDK
-
-SUNEC_JAR_SRC := $(JDK_TOPDIR)/make/closed/tools/crypto/ec/sunec.jar
-
-$(SUNEC_JAR_DST) : $(SUNEC_JAR_SRC)
-	@$(ECHO) "\n>>>Installing prebuilt SunEC provider..."
-	$(RM) $@
-	$(CP) $< $@
-
-else
-
-$(eval $(call SetupArchive,BUILD_SUNEC_JAR,$(SUNEC_JAR_DEPS),\
-		SRCS:=$(JDK_OUTPUTDIR)/newclasses, \
-		SUFFIXES:=.class,\
-		INCLUDES:=sun/security/ec,\
-		EXCLUDE_FILES := \
-			sun/security/ec/ECKeyFactory.class \
-			sun/security/ec/ECParameters.class \
-			sun/security/ec/ECPrivateKeyImpl.class \
-			sun/security/ec/ECPublicKeyImpl.class \
-			sun/security/ec/NamedCurve.class \
-			'sun/security/ec/ECKeyFactory$$$$1.class' \
-			'sun/security/ec/ECKeyFactory$$$$2.class' ,\
-		JAR:=$(SUNEC_JAR_DST), \
-		JARMAIN := NONE, \
-		SKIP_METAINF := true))
-
-endif
-
-JARS += $(SUNEC_JAR_DST)
-
-##########################################################################################
-
-# TODO: deps?
-$(eval $(call SetupArchive,BUILD_SWINGBEANS_JAR,$(SWINGBEANS_JAR_DEPS),\
-		SRCS:=$(JDK_OUTPUTDIR)/newclasses,\
-		SUFFIXES:=BeanInfo.class .gif,\
-		INCLUDES:=javax/swing sun/swing,\
-		EXCLUDES:=javax/swing/plaf,\
-		EXTRA_FILES:=javax/swing/SwingBeanInfoBase.class sun/swing/BeanInfoUtils.class,\
-		JAR:=$(JDK_OUTPUTDIR)/lib/dt.jar,\
-		JARMAIN:=NONE,\
-		SKIP_METAINF:=true))
-
-JARS+=$(JDK_OUTPUTDIR)/lib/dt.jar
-
-##########################################################################################
-
-# Need to define BUILDDIR for Release.gmk to work
-BUILDDIR=$(JDK_TOPDIR)/makefiles
-include common/Defs.gmk
-include common/Release.gmk
-
-# A rudimentary attempt at band-aiding the dependency tracking.
-DEPS:=	$(shell $(FIND) $(JDK_OUTPUTDIR)/newclasses -name "*.class" -type f) \
-	$(shell $(FIND) $(JDK_OUTPUTDIR)/bin -type f) \
-	$(shell $(FIND) $(JDK_OUTPUTDIR)/lib -type f) 
-
-$(IMAGES_OUTPUTDIR)/_the.images : $(DEPS) $(JARS)
-	$(MKDIR) -p $(@D)
-# 	Restart this makefile, ugly, but since double colon (::) rules
-# 	have been used in Release.gmk, it is impossible to craft on
-# 	dependencies on these. I.e. -do-not-use- :: rules!!!!!
-#       Repeat after me: -do-not-use- :: rules!!!!!
-	$(MAKE) -j1 -f OldImages.gmk $(IMAGES_MAKE_ARGS) images
-	$(TOUCH) $@
-
-.PHONY: default
--- a/makefiles/Tools.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ b/makefiles/Tools.gmk	Wed Aug 01 11:08:11 2012 -0400
@@ -123,3 +123,27 @@
 
 TOOL_TOBIN=$(JAVA) -Djava.awt.headless=true -cp $(JDK_OUTPUTDIR)/btclasses \
 	sun.awt.X11.ToBin
+
+##########################################################################################
+
+# Tools needed on solaris because OBJCOPY is broken.
+
+$(eval $(call SetupNativeCompilation,ADD_GNU_DEBUGLINK,\
+		SRC:=$(JDK_TOPDIR)/make/tools/add_gnu_debuglink,\
+		LANG:=C,\
+		CC:=$(HOST_CC),\
+		LDEXE:=$(HOST_LD),\
+		LDFLAGS:=-lelf,\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/add_gnu_debuglink,\
+		OUTPUT_DIR:=$(JDK_OUTPUTDIR)/btbin,\
+                PROGRAM:=add_gnu_debuglink))
+
+$(eval $(call SetupNativeCompilation,FIX_EMPTY_SEC_HDR_FLAGS,\
+		SRC:=$(JDK_TOPDIR)/make/tools/fix_empty_sec_hdr_flags,\
+		LANG:=C,\
+		CC:=$(HOST_CC),\
+		LDEXE:=$(HOST_LD),\
+		LDFLAGS:=-lelf,\
+		OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/fix_empty_sec_hdr_flags,\
+		OUTPUT_DIR:=$(JDK_OUTPUTDIR)/btbin,\
+                PROGRAM:=fix_empty_sec_hdr_flags))
--- a/makefiles/com/sun/crypto/provider/Makefile	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,275 +0,0 @@
-#
-# Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code 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
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-#
-# Makefile for building sunjce_provider.jar.
-#
-# This file was derived from make/javax/crypto/Makefile.
-#
-
-#
-# (The terms "OpenJDK" and "JDK" below refer to OpenJDK and Sun JDK builds
-# respectively.)
-#
-# JCE builds are very different between OpenJDK and JDK.  The OpenJDK JCE
-# jar files do not require signing, but those for JDK do.  If an unsigned
-# jar file is installed into JDK, things will break when the crypto
-# routines are called.
-#
-# This Makefile does the "real" build of the JCE files.  There are some
-# javac options currently specific to JCE, so we recompile now to make
-# sure any implicit compilations didn't use any incorrect flags.
-#
-# For OpenJDK, the jar files built here are installed directly into the
-# OpenJDK.
-#
-# For JDK, the binaries use pre-built/pre-signed binary files stored in
-# the closed workspace that are not shipped in the OpenJDK workspaces.
-# We still build the JDK files here to verify the files compile, and in
-# preparation for possible signing.  Developers working on JCE in JDK
-# must sign the JCE files before testing.  The JCE signing key is kept
-# separate from the JDK workspace to prevent its disclosure.
-# 
-# SPECIAL NOTE TO JCE/JDK developers:  The source files must eventually
-# be built and signed, and the resulting jar files MUST BE CHECKED INTO
-# THE CLOSED PART OF THE WORKSPACE*.  This separate step *MUST NOT BE
-# FORGOTTEN*, otherwise a bug fixed in the source code will not be
-# reflected in the shipped binaries.  The "release" target should be
-# used to generate the required files.
-#
-# There are a number of targets to help both JDK/OpenJDK developers.
-#
-# Main Targets (JDK/OPENJDK):
-#
-#     all/clobber/clean        The usual.
-#                                  If OpenJDK, installs sunjce_provider.jar.
-#                                  If JDK, installs prebuilt
-#                                      sunjce_provider.jar.
-#
-#     jar                      Builds/installs sunjce_provider.jar
-#                                  If OpenJDK, does not sign.
-#                                  If JDK, tries to sign.
-#
-# Other lesser-used Targets (JDK/OPENJDK):
-#
-#     build-jar                Builds sunjce_provider.jar
-#                                  (does not sign/install)
-#
-#     install-jar              Alias for "jar" above.
-#
-# Other targets (JDK only):
-#
-#     sign                     Alias for sign-jar
-#         sign-jar             Builds/signs sunjce_provider.jar (no install)
-#
-#     release                  Builds all targets in preparation
-#                              for workspace integration.
-#
-#     install-prebuilt         Installs the pre-built jar files
-#
-# This makefile was written to support parallel target execution.
-#
-
-BUILDDIR = ../../../..
-PACKAGE = com.sun.crypto.provider
-PRODUCT = sun
-
-#
-# The following is for when we need to do postprocessing
-# (signing) against a read-only build.  If the OUTPUTDIR
-# isn't writable, the build currently crashes out.
-#
-ifndef OPENJDK
-  ifdef ALT_JCE_BUILD_DIR
-    # =====================================================
-    # Where to place the output, in case we're building from a read-only
-    # build area.  (e.g. a release engineering build.)
-    JCE_BUILD_DIR=${ALT_JCE_BUILD_DIR}
-    IGNORE_WRITABLE_OUTPUTDIR_TEST=true
-  else
-    JCE_BUILD_DIR=${TEMPDIR}
-  endif
-endif
-
-JAVAC_MAX_WARNINGS = false
-JAVAC_LINT_OPTIONS = -Xlint:all,-deprecation
-JAVAC_WARNINGS_FATAL = true
-include $(BUILDDIR)/common/Defs.gmk
-
-#
-# Location for the newly built classfiles.
-#
-CLASSDESTDIR = $(TEMPDIR)/classes
-
-#
-# Subdirectories of these are automatically included.
-#
-AUTO_FILES_JAVA_DIRS = \
-    com/sun/crypto/provider
-
-include $(BUILDDIR)/common/Classes.gmk
-
-#
-# Rules
-#
-
-#
-# Some licensees do not get the security sources, but we still need to
-# be able to build "all" for them.  Check here to see if the sources were
-# available.  If not, then we don't need to continue this rule.
-#
-
-ifdef OPENJDK
-all: build-jar install-jar
-else  # OPENJDK
-ifeq ($(strip $(FILES_java)),)
-all: install-prebuilt
-	$(no-source-warning)
-else  # FILES_java available
-all: build-jar install-prebuilt
-	$(build-warning)
-endif # $(FILES_java) available
-endif # OPENJDK
-
-#
-# We use a variety of subdirectories in the $(TEMPDIR) depending on what
-# part of the build we're doing.  Both OPENJDK/JDK builds are initially
-# done in the unsigned area.  When files are signed in JDK, they will be
-# placed in the appropriate areas.
-#
-UNSIGNED_DIR = $(TEMPDIR)/unsigned
-
-include $(BUILDDIR)/javax/crypto/Defs-jce.gmk
-
-
-# =====================================================
-# Build the unsigned sunjce_provider.jar file.
-#
-
-JAR_DESTFILE = $(EXTDIR)/sunjce_provider.jar
-
-#
-# The sunjce_provider.jar needs to be in the extension class directory,
-# therefore none of its classes should appear in $(CLASSBINDIR).
-# Currently no one is using any of the SunJCE internals, so these files
-# should not have been built.
-#
-
-#
-# Since the -C option to jar is used below, each directory entry must be
-# preceded with the appropriate directory to "cd" into.
-#
-JAR_DIRS = $(patsubst %, -C $(CLASSDESTDIR) %, $(AUTO_FILES_JAVA_DIRS))
-
-build-jar: $(UNSIGNED_DIR)/sunjce_provider.jar
-
-#
-# Build sunjce_provider.jar.
-#
-$(UNSIGNED_DIR)/sunjce_provider.jar: build $(JCE_MANIFEST_FILE)
-	$(prep-target)
-	$(BOOT_JAR_CMD) cmf $(JCE_MANIFEST_FILE) $@ $(JAR_DIRS) \
-	    $(BOOT_JAR_JFLAGS)
-	@$(java-vm-cleanup)
-
-
-ifndef OPENJDK
-# =====================================================
-# Sign the provider jar file.  Not needed for OpenJDK.
-#
-
-SIGNED_DIR = $(JCE_BUILD_DIR)/signed
-
-sign: sign-jar
-
-sign-jar: $(SIGNED_DIR)/sunjce_provider.jar
-
-ifndef ALT_JCE_BUILD_DIR
-$(SIGNED_DIR)/sunjce_provider.jar: $(UNSIGNED_DIR)/sunjce_provider.jar
-else
-#
-# We have to remove the build dependency, otherwise, we'll try to rebuild it
-# which we can't do on a read-only filesystem.
-#
-$(SIGNED_DIR)/sunjce_provider.jar:
-	@if [ ! -r $(UNSIGNED_DIR)/sunjce_provider.jar ] ; then \
-	    $(ECHO) "Couldn't find $(UNSIGNED_DIR)/sunjce_provider.jar"; \
-	    exit 1; \
-	fi
-endif
-	$(call sign-file, $(UNSIGNED_DIR)/sunjce_provider.jar)
-
-
-# =====================================================
-# Create the Release Engineering files.  Signed builds, etc.
-#
-
-release: $(SIGNED_DIR)/sunjce_provider.jar
-	$(RM) $(JCE_BUILD_DIR)/release/sunjce_provider.jar
-	$(MKDIR) -p $(JCE_BUILD_DIR)/release
-	$(CP) $(SIGNED_DIR)/sunjce_provider.jar $(JCE_BUILD_DIR)/release
-	$(release-warning)
-
-endif # OPENJDK
-
-
-# =====================================================
-# Install routines.
-#
-
-#
-# Install sunjce_provider.jar, depending on which type is requested.
-#
-install-jar jar: $(JAR_DESTFILE)
-ifndef OPENJDK
-	$(release-warning)
-endif
-
-ifdef OPENJDK
-$(JAR_DESTFILE): $(UNSIGNED_DIR)/sunjce_provider.jar
-else
-$(JAR_DESTFILE): $(SIGNED_DIR)/sunjce_provider.jar
-endif
-	$(install-file)
-
-ifndef OPENJDK
-install-prebuilt:
-	@$(ECHO) "\n>>>Installing prebuilt SunJCE provider..."
-	$(RM) $(JAR_DESTFILE)
-	$(CP) $(PREBUILT_DIR)/jce/sunjce_provider.jar $(JAR_DESTFILE)
-endif
-
-
-# =====================================================
-# Support routines.
-#
-
-clobber clean::
-	$(RM) -r $(JAR_DESTFILE) $(TEMPDIR) $(JCE_BUILD_DIR)
-
-.PHONY: build-jar jar install-jar
-ifndef OPENJDK
-.PHONY: sign sign-jar release install-prebuilt
-endif
--- a/makefiles/common/Classes.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +0,0 @@
-#
-# Copyright (c) 1995, 2005, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code 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
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-# WARNING: This file is shared with other workspaces.
-#          So when it includes other files, it must use JDK_TOPDIR.
-#
-
-include $(JDK_TOPDIR)/makefiles/common/Rules.gmk
-
-#
-# Say you built classes into $(ALT_CLASSBINDIR) and then at the end of
-# the build you might want to copy them over to $(ALT_CLASSDESTDIR);
-# this rule takes care of that.  No one should really set these
-# variables except the bootstrap/recompile stage of the java compiler.
-#
-ifdef ALT_CLASSBINDIR
-
-# By default post-processing is copying.  Suppose you want to build
-# a jar file then set ALT_CLASSES_DISPOSITION to '../../dest/nameof.jar'
-# before including this file.
-ifndef ALT_CLASSES_DISPOSITION
-ALT_CLASSES_DISPOSITION = copy-classes
-endif
-
-build : $(ALT_CLASSES_DISPOSITION)
-
-copy-classes: 
-ifneq ($(ALT_CLASSBINDIR), $(ALT_CLASSDESTDIR))
-	@if [ -s $(TEMPDIR)/.classes.list ]; then \
-	  mkdir -p $(ALT_CLASSDESTDIR); \
-	  echo "Copying $(ALT_CLASSBINDIR)..."; \
-	  echo "(cd $(ALT_CLASSBINDIR); tar cf - .) | \
-			(cd $(ALT_CLASSDESTDIR); tar xf -)"; \
-	  (cd $(ALT_CLASSBINDIR); tar cf - .) | \
-			(cd $(ALT_CLASSDESTDIR); tar xf -); \
-	fi
-else # ALT_CLASSBINDIR
-	@if [ -s $(TEMPDIR)/.classes.list ]; then \
-	  echo "Copy source and destination are the same: $(ALT_CLASSBINDIR) -- Copy skipped..."; \
-	fi
-endif # ALT_CLASSBINDIR
-
-.PHONY: copy-classes
-endif # ALT_CLASSBINDIR
-
--- a/makefiles/common/Cscope.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,100 +0,0 @@
-#
-# Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code 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
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-#
-# The cscope.out file is made in the current directory and spans the entire
-# source tree.
-#
-# Things to note:
-#	1. We use relative names for cscope.
-#	2. We *don't* remove the old cscope.out file, because cscope is smart
-#	   enough to only build what has changed.  It can be confused, however,
-#	   if files are renamed or removed, so it may be necessary to manually
-#	   remove cscope.out if a lot of reorganization has occurred.
-#
-CSDIRS	= $(JDK_TOPDIR)/src $(JDK_TOPDIR)/build
-CSINCS	= $(CSDIRS:%=-I%)
-
-#
-# Set CSFLAGS env variable to -b when using fast cscope to build the fast
-# (but large) cscope data bases.
-#
-CSCOPE	= cscope-fast
-ifeq ($(CSCOPE), cscope-fast)
-CSFLAGS	= -b
-endif
-
-#
-# Adding .java files pushes the file count of a full workspace up about 2500
-# files, which slows database lookup.  Thus allow these files to be added from
-# the environment (CSCLASSES=yes).
-#
-ifdef	CSCLASSES
-ADDCLASSES=	-o -name '*.java'
-endif
-
-#
-# Adding CClassHeaders also pushes the file count of a full workspace up about
-# 200 files (these files also don't exist in a new workspace, and thus will
-# cause the recreation of the database as they get created, which might seem
-# A little confusing).  Thus allow these files to be added from the environment
-# (CSHEADERS=yes).
-#
-ifndef	CSHEADERS
-RMCCHEADERS=	-o -name CClassHeaders
-endif
-
-
-.PRECIOUS:	cscope.out
-
-cscope.out: cscope.files FRC
-	$(CSCOPE) $(CSFLAGS)
-
-#
-# What files should we include?  A simple rule might be just those files under
-# SCM control, however this would miss files we create like the opcodes and
-# CClassHeaders.  The following attempts to find everything that is *useful*.
-# (demo directories contain many .java files
-# that probably aren't useful for development, and the pkgarchive may contain
-# duplicates of files within the source hierarchy).  The ordering of the .raw
-# file is an attempt to make cscope display the most relevant files first.
-#
-cscope.files: FRC
-	@-$(RM) cscope.files cscope.files.raw
-	echo "$(CSINCS)" > cscope.files
-	-find $(CSDIRS) $(SCM_DIRS_prune) -o -type d \( -name '.del-*' -o \
-	    -name '*demo' -o -name pkgarchive $(RMCCHEADERS) \) -prune -o \
-	    -type f \( -name '*.[Ccshlxy]' -o -name '*.il' -o -name '*.cc' -o \
-	    -name 'Makefile*' -o -name GNUmakefile -o -name '*.gmk' -o \
-	    -name '*.cpp' $(ADDCLASSES) \) -print > cscope.files.raw
-	-egrep -v "\.java|\/build\/"	cscope.files.raw >> cscope.files
-	-fgrep ".java"			cscope.files.raw >> cscope.files
-	-fgrep "/build/"		cscope.files.raw >> cscope.files
-	@-$(RM) cscope.files.raw
-
-cscope.clean:
-	-$(RM) cscope.files cscope.files.raw cscope.out
-
-FRC:
--- a/makefiles/common/Defs-embedded.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,76 +0,0 @@
-#
-# Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code 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
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-#
-# Variable definitions for SE Embedded builds.  This file should
-# not contain rules.
-#
-ifdef JAVASE_EMBEDDED
-
-# Compress jar files
-COMPRESS_JARS = true
-
-# Don't mmap zip files
-LIBZIP_CAN_USE_MMAP = false
-
-# Disable ALSA version check
-REQUIRED_ALSA_VERSION =
-
-# Compilation settings
-OTHER_CPPFLAGS += -DJAVASE_EMBEDDED
-
-# Product naming
-PRODUCT_SUFFIX = SE Runtime Environment for Embedded
-RUNTIME_NAME = $(PRODUCT_NAME) $(PRODUCT_SUFFIX)
-
-# Reduced JRE locations
-JRE_REDUCED_HEADLESS_IMAGE_DIR = $(ABS_OUTPUTDIR)/j2re-reduced-headless-image
-JRE_REDUCED_IMAGE_DIR = $(ABS_OUTPUTDIR)/j2re-reduced-image
-
-# Override on linux to further reduce binary/lib sizes in product build
-ifeq ($(PLATFORM), linux)
-  ifeq ($(VARIANT), OPT)
-    ifneq ($(NO_STRIP), true)
-      ifneq ($(DEBUG_BINARIES), true)
-        POST_STRIP_PROCESS = $(STRIP) --strip-unneeded
-      endif
-    endif
-  endif
-endif
-
-# NIO Platform specific source file location
-ifdef CROSS_COMPILE_ARCH
-  NIO_PLATFORM_CLASSES_ROOT_DIR = $(CLOSED_PLATFORM_SRC)/classes/
-endif
-
-# For ARM sflt we need to link to a library with improved FP accuracy
-# and it must be linked after fdlibm - this places it at the end after libc
-# -z muldefs avoids linker errors for duplicate symbols.
-ifeq ($(CROSS_COMPILE_ARCH), arm)
-  EXTRA_LIBS +=  $(EXT_LIBS_PATH)/sflt_glibc_jdk.a -Xlinker -z -Xlinker muldefs
-endif
-
-endif # JAVASE_EMBEDDED
-
--- a/makefiles/common/Defs-linux.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,430 +0,0 @@
-#
-# Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code 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
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-#
-# Makefile to specify compiler flags for programs and libraries
-# targeted to Linux.  Should not contain any rules.
-#
-# WARNING: This file is shared with other workspaces. 
-#          So when it includes other files, it must use JDK_TOPDIR.
-#
-
-# Warning: the following variables are overriden by Defs.gmk. Set
-# values will be silently ignored:
-#   CFLAGS        (set $(OTHER_CFLAGS) instead)
-#   CPPFLAGS      (set $(OTHER_CPPFLAGS) instead)
-#   CXXFLAGS      (set $(OTHER_CXXFLAGS) instead)
-#   LDFLAGS       (set $(OTHER_LDFAGS) instead)
-#   LDLIBS        (set $(EXTRA_LIBS) instead)
-#   LDLIBS_COMMON (set $(EXTRA_LIBS) instead)
-
-# Get shared JDK settings
-include $(JDK_MAKE_SHARED_DIR)/Defs.gmk
-
-# Part of INCREMENTAL_BUILD mechanism.
-#   Compiler emits things like:  path/file.o: file.h
-#   We want something like: relative_path/file.o relative_path/file.d: file.h
-CC_DEPEND	 = -MM
-CC_DEPEND_FILTER = $(SED) -e 's!$*\.$(OBJECT_SUFFIX)!$(dir $@)& $(dir $@)$*.$(DEPEND_SUFFIX)!g'
-
-ifndef PLATFORM_SRC
-  PLATFORM_SRC = $(BUILDDIR)/../src/solaris
-endif # PLATFORM_SRC
-
-# Platform specific closed sources
-ifndef OPENJDK
-  ifndef CLOSED_PLATFORM_SRC
-    CLOSED_PLATFORM_SRC = $(BUILDDIR)/../src/closed/solaris
-  endif
-endif
-
-# platform specific include files
-PLATFORM_INCLUDE_NAME = $(PLATFORM)
-PLATFORM_INCLUDE      = $(INCLUDEDIR)/$(PLATFORM_INCLUDE_NAME)
-
-# suffix used for make dependencies files.
-DEPEND_SUFFIX = d
-# The suffix applied to the library name for FDLIBM
-FDDLIBM_SUFFIX = a
-# The suffix applied to scripts (.bat for windows, nothing for unix)
-SCRIPT_SUFFIX =
-# CC compiler object code output directive flag value
-CC_OBJECT_OUTPUT_FLAG = -o #trailing blank required!
-
-# Default OBJCOPY comes from GNU Binutils on Linux:
-DEF_OBJCOPY=/usr/bin/objcopy
-ifdef CROSS_COMPILE_ARCH
-  # don't try to generate .debuginfo files when cross compiling
-  _JUNK_ := $(shell \
-    echo >&2 "INFO: cross compiling for ARCH $(CROSS_COMPILE_ARCH)," \
-      "skipping .debuginfo generation.")
-  OBJCOPY=
-else
-  OBJCOPY=$(shell test -x $(DEF_OBJCOPY) && echo $(DEF_OBJCOPY))
-  ifneq ($(ALT_OBJCOPY),)
-    _JUNK_ := $(shell echo >&2 "INFO: ALT_OBJCOPY=$(ALT_OBJCOPY)")
-    # disable .debuginfo support by setting ALT_OBJCOPY to a non-existent path
-    OBJCOPY=$(shell test -x $(ALT_OBJCOPY) && echo $(ALT_OBJCOPY))
-  endif
-endif
-
-ifdef LIBRARY_SUPPORTS_FULL_DEBUG_SYMBOLS
-# The setting of OBJCOPY above enables the JDK build to import
-# .debuginfo files from the HotSpot build. However, adding FDS
-# support to the JDK build will occur in phases so a different
-# make variable is used to indicate that a particular library
-# supports FDS.
-
-ifeq ($(OBJCOPY),)
-  _JUNK_ := $(shell \
-    echo >&2 "INFO: no objcopy cmd found so cannot create .debuginfo files.")
-else
-  _JUNK_ := $(shell \
-    echo >&2 "INFO: $(OBJCOPY) cmd found so will create .debuginfo files.")
-
-  # Library stripping policies for .debuginfo configs:
-  #   all_strip - strips everything from the library
-  #   min_strip - strips most stuff from the library; leaves minimum symbols
-  #   no_strip  - does not strip the library at all
-  #
-  # Oracle security policy requires "all_strip". A waiver was granted on
-  # 2011.09.01 that permits using "min_strip" in the Java JDK and Java JRE.
-  #
-  DEF_STRIP_POLICY="min_strip"
-  ifeq ($(ALT_STRIP_POLICY),)
-    STRIP_POLICY=$(DEF_STRIP_POLICY)
-  else
-    STRIP_POLICY=$(ALT_STRIP_POLICY)
-  endif
-
-  _JUNK_ := $(shell \
-    echo >&2 "INFO: STRIP_POLICY=$(STRIP_POLICY)")
-endif
-endif
-
-#
-# Default optimization
-#
-
-ifndef OPTIMIZATION_LEVEL
-  ifeq ($(PRODUCT), java)
-    OPTIMIZATION_LEVEL = HIGHER
-  else
-    OPTIMIZATION_LEVEL = LOWER
-  endif
-endif
-ifndef FASTDEBUG_OPTIMIZATION_LEVEL
-  FASTDEBUG_OPTIMIZATION_LEVEL = LOWER
-endif
-
-CC_OPT/NONE     = 
-CC_OPT/LOWER    = -O2
-CC_OPT/HIGHER   = -O3
-CC_OPT/HIGHEST  = -O3
-
-CC_OPT          = $(CC_OPT/$(OPTIMIZATION_LEVEL))
-
-# For all platforms, do not omit the frame pointer register usage. 
-#    We need this frame pointer to make it easy to walk the stacks.
-#    This should be the default on X86, but ia64 and amd64 may not have this
-#    as the default.
-CFLAGS_REQUIRED_amd64   += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
-CFLAGS_REQUIRED_i586    += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
-CFLAGS_REQUIRED_ia64    += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
-CFLAGS_REQUIRED_sparcv9 += -m64 -mcpu=v9
-LDFLAGS_COMMON_sparcv9  += -m64 -mcpu=v9
-CFLAGS_REQUIRED_sparc   += -m32 -mcpu=v9
-LDFLAGS_COMMON_sparc    += -m32 -mcpu=v9
-CFLAGS_REQUIRED_arm     += -fsigned-char -D_LITTLE_ENDIAN
-CFLAGS_REQUIRED_ppc     += -fsigned-char -D_BIG_ENDIAN
-ifeq ($(ZERO_BUILD), true)
-  CFLAGS_REQUIRED       =  $(ZERO_ARCHFLAG)
-  ifeq ($(ZERO_ENDIANNESS), little)
-    CFLAGS_REQUIRED     += -D_LITTLE_ENDIAN
-  endif
-  LDFLAGS_COMMON        += $(ZERO_ARCHFLAG)
-else
-  CFLAGS_REQUIRED       =  $(CFLAGS_REQUIRED_$(ARCH))
-  LDFLAGS_COMMON        += $(LDFLAGS_COMMON_$(ARCH))
-endif
-
-# If this is a --hash-style=gnu system, use --hash-style=both
-#   The gnu .hash section won't work on some Linux systems like SuSE 10.
-_HAS_HASH_STYLE_GNU:=$(shell $(CC) -dumpspecs | $(GREP) -- '--hash-style=gnu')
-ifneq ($(_HAS_HASH_STYLE_GNU),)
-  LDFLAGS_HASH_STYLE = -Wl,--hash-style=both
-endif
-LDFLAGS_COMMON          += $(LDFLAGS_HASH_STYLE)
-
-#
-# Selection of warning messages
-#
-GCC_INHIBIT	= -Wno-unused -Wno-parentheses
-GCC_STYLE	= 
-GCC_WARNINGS	= -W -Wall $(GCC_STYLE) $(GCC_INHIBIT)
-
-#
-# Treat compiler warnings as errors, if warnings not allowed
-#
-ifeq ($(COMPILER_WARNINGS_FATAL),true)
-  GCC_WARNINGS += -Werror
-endif
-
-#
-# Misc compiler options
-#
-ifneq ($(ARCH),ppc)
-  CFLAGS_COMMON   = -fno-strict-aliasing
-endif 
-PIC_CODE_LARGE = -fPIC
-PIC_CODE_SMALL = -fpic
-GLOBAL_KPIC = $(PIC_CODE_LARGE)
-CFLAGS_COMMON   += $(GLOBAL_KPIC) $(GCC_WARNINGS)
-ifeq ($(ARCH), amd64)
- CFLAGS_COMMON += -pipe
-endif
-
-# Linux 64bit machines use Dwarf2, which can be HUGE, have fastdebug use -g1
-DEBUG_FLAG = -g
-ifeq ($(FASTDEBUG), true)
-  ifeq ($(ARCH_DATA_MODEL), 64)
-    DEBUG_FLAG = -g1
-  endif
-endif
-
-# DEBUG_BINARIES overrides everything, use full -g debug information
-ifeq ($(DEBUG_BINARIES), true)
-  DEBUG_FLAG = -g
-  CFLAGS_REQUIRED += $(DEBUG_FLAG)
-endif
-
-CFLAGS_OPT      = $(CC_OPT)
-CFLAGS_DBG      = $(DEBUG_FLAG)
-CFLAGS_COMMON += $(CFLAGS_REQUIRED)
-
-CXXFLAGS_COMMON = $(GLOBAL_KPIC) -DCC_NOEX $(GCC_WARNINGS)
-CXXFLAGS_OPT	= $(CC_OPT)
-CXXFLAGS_DBG	= $(DEBUG_FLAG)
-CXXFLAGS_COMMON += $(CFLAGS_REQUIRED)
-
-# FASTDEBUG: Optimize the code in the -g versions, gives us a faster debug java
-ifeq ($(FASTDEBUG), true)
-  CFLAGS_DBG    += $(CC_OPT/$(FASTDEBUG_OPTIMIZATION_LEVEL))
-  CXXFLAGS_DBG	+= $(CC_OPT/$(FASTDEBUG_OPTIMIZATION_LEVEL))
-endif
-
-CPP_ARCH_FLAGS = -DARCH='"$(ARCH)"'
-
-# Alpha arch does not like "alpha" defined (potential general arch cleanup issue here)
-ifneq ($(ARCH),alpha)
-  CPP_ARCH_FLAGS += -D$(ARCH)
-else
-  CPP_ARCH_FLAGS += -D_$(ARCH)_
-endif
-
-CPPFLAGS_COMMON = $(CPP_ARCH_FLAGS) -DLINUX $(VERSION_DEFINES) \
-		  -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -D_REENTRANT
-
-ifeq ($(ARCH_DATA_MODEL), 64)
-CPPFLAGS_COMMON += -D_LP64=1
-endif
-
-CPPFLAGS_OPT    = -DNDEBUG
-CPPFLAGS_DBG    = -DDEBUG
-ifneq ($(PRODUCT), java)
-  CPPFLAGS_DBG    += -DLOGGING 
-endif
-
-ifdef LIBRARY
-  # Libraries need to locate other libraries at runtime, and you can tell
-  #   a library where to look by way of the dynamic runpaths (RPATH or RUNPATH)
-  #   buried inside the .so. The $ORIGIN says to look relative to where
-  #   the library itself is and it can be followed with relative paths from
-  #   that. By default we always look in $ORIGIN, optionally we add relative
-  #   paths if the Makefile sets LD_RUNPATH_EXTRAS to those relative paths.
-  #   On Linux we add a flag -z origin, not sure if this is necessary, but 
-  #   doesn't seem to hurt.
-  #   The environment variable LD_LIBRARY_PATH will over-ride these runpaths.
-  #   Try: 'readelf -d lib*.so' to see these settings in a library.
-  #
-  Z_ORIGIN_FLAG/sparc = -Xlinker -z -Xlinker origin
-  Z_ORIGIN_FLAG/i586  = -Xlinker -z -Xlinker origin
-  Z_ORIGIN_FLAG/amd64 = -Xlinker -z -Xlinker origin 
-  Z_ORIGIN_FLAG/ia64  = -Xlinker -z -Xlinker origin
-  Z_ORIGIN_FLAG/arm   = 
-  Z_ORIGIN_FLAG/ppc   =
-  Z_ORIGIN_FLAG/zero  = -Xlinker -z -Xlinker origin
-
-  LDFLAG_Z_ORIGIN = $(Z_ORIGIN_FLAG/$(ARCH_FAMILY))
-
-  LDFLAGS_COMMON += $(LDFLAG_Z_ORIGIN) -Xlinker -rpath -Xlinker \$$ORIGIN
-  LDFLAGS_COMMON += $(LD_RUNPATH_EXTRAS:%=$(LDFLAG_Z_ORIGIN) -Xlinker -rpath -Xlinker \$$ORIGIN/%)
-
-endif
-
-EXTRA_LIBS += -lc
-
-LDFLAGS_DEFS_OPTION  = -Xlinker -z -Xlinker defs
-#LDFLAGS_COMMON  += $(LDFLAGS_DEFS_OPTION)
-
-#
-# -L paths for finding and -ljava
-#
-LDFLAGS_OPT     = -Xlinker -O1
-LDFLAGS_COMMON += -L$(LIBDIR)/$(LIBARCH)
-LDFLAGS_COMMON += -Wl,-soname=$(LIB_PREFIX)$(LIBRARY).$(LIBRARY_SUFFIX)
-
-#
-# -static-libgcc is a gcc-3 flag to statically link libgcc, gcc-2.9x always
-# statically link libgcc but will print a warning with the flag. We don't 
-# want the warning, so check gcc version first.
-#
-ifeq ($(CC_MAJORVER),3)
-  OTHER_LDFLAGS  += -static-libgcc
-endif
-
-# Automatic precompiled header option to use (if COMPILE_APPROACH=batch)
-#   (See Rules.gmk) The gcc 5 compiler might have an option for this?
-AUTOMATIC_PCH_OPTION = 
-
-#
-# Post Processing of libraries/executables
-#
-ifeq ($(VARIANT), OPT)
-  ifneq ($(NO_STRIP), true)
-    ifneq ($(DEBUG_BINARIES), true)
-      # Debug 'strip -g' leaves local function Elf symbols (better stack
-      # traces)
-      POST_STRIP_PROCESS = $(STRIP) -g
-    endif
-  endif
-endif
-
-#
-# Use: ld $(LD_MAPFILE_FLAG) mapfile *.o
-#
-LD_MAPFILE_FLAG = -Xlinker --version-script -Xlinker
-
-#
-# Support for Quantify.
-#
-ifdef QUANTIFY
-QUANTIFY_CMD = quantify
-QUANTIFY_OPTIONS = -cache-dir=/tmp/quantify -always-use-cache-dir=yes
-LINK_PRE_CMD = $(QUANTIFY_CMD) $(QUANTIFY_OPTIONS)
-endif
-
-#
-# Path and option to link against the VM, if you have to.  Note that
-# there are libraries that link against only -ljava, but they do get
-# -L to the -ljvm, this is because -ljava depends on -ljvm, whereas
-# the library itself should not.
-#
-VM_NAME         = server
-# First try to link against server, if that does not exist link against client.
-JVMLIB          = -L$(LIBDIR)/$(LIBARCH)/server -L$(LIBDIR)/$(LIBARCH)/client -ljvm
-JAVALIB         = -ljava $(JVMLIB)
-
-#
-# We want to privatize JVM symbols on Solaris. This is so the user can
-# write a function called FindClass and this should not override the 
-# FindClass that is inside the JVM. At this point in time we are not
-# concerned with other JNI libraries because we hope that there will
-# not be as many clashes there.
-#
-PRIVATIZE_JVM_SYMBOLS = false
-
-USE_PTHREADS = true
-override ALT_CODESET_KEY         = _NL_CTYPE_CODESET_NAME
-override AWT_RUNPATH             =
-override HAVE_ALTZONE            = false
-override HAVE_FILIOH             = false
-override HAVE_GETHRTIME          = false
-override HAVE_GETHRVTIME         = false
-override HAVE_SIGIGNORE          = true
-override LEX_LIBRARY             = -lfl
-ifeq ($(STATIC_CXX),true)
-override LIBCXX                  = -Wl,-Bstatic -lstdc++ -lgcc -Wl,-Bdynamic
-else
-override LIBCXX                  = -lstdc++
-endif
-override LIBPOSIX4               =
-override LIBSOCKET               =
-override LIBNSL                  =
-override LIBSCF                  =
-override LIBTHREAD               =
-override LIBDL                   = -ldl
-override MOOT_PRIORITIES         = true
-override NO_INTERRUPTIBLE_IO     = true
-ifeq ($(ARCH), amd64)
-override OPENWIN_LIB             = $(OPENWIN_HOME)/lib64
-else
-override OPENWIN_LIB             = $(OPENWIN_HOME)/lib
-endif
-override OTHER_M4FLAGS           = -D__GLIBC__ -DGNU_ASSEMBLER
-override SUN_CMM_SUBDIR          =
-override THREADS_FLAG            = native
-override USE_GNU_M4              = true
-override USING_GNU_TAR           = true
-override WRITE_LIBVERSION        = false
-
-# USE_EXECNAME forces the launcher to look up argv[0] on $PATH, and put the
-# resulting resolved absolute name of the executable in the environment
-# variable EXECNAME.  That executable name is then used that to locate the
-# installation area.
-override USE_EXECNAME            = true
-
-# If your platform has DPS, it will have Type1 fonts too, in which case
-# it is best to enable DPS support until such time as 2D's rasteriser
-# can fully handle Type1 fonts in all cases. Default is "yes".
-# HAVE_DPS should only be "no" if the platform has no DPS headers or libs
-# DPS (Displayable PostScript) is available on Solaris machines
-HAVE_DPS = no
-
-#
-# Japanese manpages
-#
-JA_SOURCE_ENCODING = eucJP
-JA_TARGET_ENCODINGS = UTF-8
-
-# Settings for the JDI - Serviceability Agent binding.
-HOTSPOT_SALIB_PATH   = $(HOTSPOT_IMPORT_PATH)/jre/lib/$(LIBARCH)
-SALIB_NAME = $(LIB_PREFIX)saproc.$(LIBRARY_SUFFIX)
-SA_DEBUGINFO_NAME = $(LIB_PREFIX)saproc.debuginfo
-
-# The JDI - Serviceability Agent binding is not currently supported
-# on Linux-ia64.
-ifeq ($(ARCH), ia64)
-  INCLUDE_SA = false
-else
-  INCLUDE_SA = true
-endif
-
-ifdef CROSS_COMPILE_ARCH
-  # X11 headers are not under /usr/include
-  OTHER_CFLAGS += -I$(OPENWIN_HOME)/include
-  OTHER_CXXFLAGS += -I$(OPENWIN_HOME)/include
-  OTHER_CPPFLAGS += -I$(OPENWIN_HOME)/include
-endif
--- a/makefiles/common/Defs-macosx.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,402 +0,0 @@
-#
-# Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code 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
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-#
-# Makefile to specify compiler flags for programs and libraries
-# targeted to MACOSX.  Should not contain any rules.
-#
-# WARNING: This file is shared with other workspaces. 
-#          So when it includes other files, it must use JDK_TOPDIR.
-#
-
-# Warning: the following variables are overriden by Defs.gmk. Set
-# values will be silently ignored:
-#   CFLAGS        (set $(OTHER_CFLAGS) instead)
-#   CPPFLAGS      (set $(OTHER_CPPFLAGS) instead)
-#   CXXFLAGS      (set $(OTHER_CXXFLAGS) instead)
-#   LDFLAGS       (set $(OTHER_LDFAGS) instead)
-#   LDLIBS        (set $(EXTRA_LIBS) instead)
-#   LDLIBS_COMMON (set $(EXTRA_LIBS) instead)
-
-# Get shared JDK settings
-include $(JDK_MAKE_SHARED_DIR)/Defs.gmk
-
-# Part of INCREMENTAL_BUILD mechanism.
-#   Compiler emits things like:  path/file.o: file.h
-#   We want something like: relative_path/file.o relative_path/file.d: file.h
-CC_DEPEND	 = -MM
-CC_DEPEND_FILTER = $(SED) -e 's!$*\.$(OBJECT_SUFFIX)!$(dir $@)& $(dir $@)$*.$(DEPEND_SUFFIX)!g'
-
-ifndef PLATFORM_SRC
-  PLATFORM_SRC = $(BUILDDIR)/../src/solaris
-endif # PLATFORM_SRC
-
-PLATFORM_SRC_MACOS = $(BUILDDIR)/../src/macosx
-
-# BSD build pulls its platform sources from the solaris tree.
-JAVA_SRCDIR_LIST = src/$(PLATFORM) src/solaris src/share
-NATIVE_SRCDIR_LIST = src/$(PLATFORM) src/solaris src/share
-
-# Platform specific closed sources
-ifndef OPENJDK
-  ifndef CLOSED_PLATFORM_SRC
-    CLOSED_PLATFORM_SRC = $(BUILDDIR)/../src/closed/solaris
-  endif
-endif
-
-# platform specific include files
-PLATFORM_INCLUDE_NAME = $(OS_NAME)
-PLATFORM_INCLUDE      = $(INCLUDEDIR)/$(PLATFORM_INCLUDE_NAME)
-
-# suffix used for make dependencies files.
-DEPEND_SUFFIX = d
-# The suffix applied to the library name for FDLIBM
-FDDLIBM_SUFFIX = a
-# The suffix applied to scripts (.bat for windows, nothing for unix)
-SCRIPT_SUFFIX =
-# CC compiler object code output directive flag value
-CC_OBJECT_OUTPUT_FLAG = -o #trailing blank required!
-CC_PROGRAM_OUTPUT_FLAG = -o #trailing blank required!
-
-#
-# Default optimization
-#
-
-ifndef OPTIMIZATION_LEVEL
-  ifeq ($(PRODUCT), java)
-    OPTIMIZATION_LEVEL = HIGHER
-  else
-    OPTIMIZATION_LEVEL = LOWER
-  endif
-endif
-ifndef FASTDEBUG_OPTIMIZATION_LEVEL
-  FASTDEBUG_OPTIMIZATION_LEVEL = LOWER
-endif
-
-# For macosx use -Os by default, unless -O3 can be proved to be worth the cost, as per policy
-# <http://wikis.sun.com/display/OpenJDK/Mac+OS+X+Port+Compilers>
-CC_OPT/NONE     = 
-CC_OPT/LOWER    = -Os
-CC_OPT/HIGHER   = -Os
-CC_OPT/HIGHEST  = -Os
-
-CC_OPT          = $(CC_OPT/$(OPTIMIZATION_LEVEL))
-
-# For all platforms, do not omit the frame pointer register usage. 
-#    We need this frame pointer to make it easy to walk the stacks.
-#    This should be the default on X86, but ia64, and x86_64
-#    may not have this as the default.
-CFLAGS_REQUIRED_x86_64  += -m64 -fno-omit-frame-pointer -D_LITTLE_ENDIAN
-LDFLAGS_COMMON_x86_64   += -m64
-CFLAGS_REQUIRED_i586    += -m32 -fno-omit-frame-pointer -D_LITTLE_ENDIAN
-LDFLAGS_COMMON_i586     += -m32
-CFLAGS_REQUIRED_ia64    += -m64 -fno-omit-frame-pointer -D_LITTLE_ENDIAN
-CFLAGS_REQUIRED_sparcv9 += -m64 -mcpu=v9
-LDFLAGS_COMMON_sparcv9  += -m64 -mcpu=v9
-CFLAGS_REQUIRED_sparc   += -m32 -mcpu=v9
-LDFLAGS_COMMON_sparc    += -m32 -mcpu=v9
-CFLAGS_REQUIRED_arm     += -fsigned-char -D_LITTLE_ENDIAN
-CFLAGS_REQUIRED_ppc     += -fsigned-char -D_BIG_ENDIAN
-ifeq ($(ZERO_BUILD), true)
-  CFLAGS_REQUIRED       =  $(ZERO_ARCHFLAG)
-  ifeq ($(ZERO_ENDIANNESS), little)
-    CFLAGS_REQUIRED     += -D_LITTLE_ENDIAN
-  endif
-  LDFLAGS_COMMON        += $(ZERO_ARCHFLAG)
-else ifeq ($(ARCH), universal)
-  CFLAGS_REQUIRED       += -arch i386 -arch x86_64 -D_LITTLE_ENDIAN
-  LDFLAGS_COMMON        += -arch i386 -arch x86_64
-else
-  CFLAGS_REQUIRED       =  $(CFLAGS_REQUIRED_$(ARCH))
-  LDFLAGS_COMMON        += $(LDFLAGS_COMMON_$(ARCH))
-endif
-# 16-byte stack re-alignment on 32-bit Darwin
-CFLAGS_REQUIRED_i586 += -mstackrealign
-
-OTHER_CFLAGS = \
-         -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
-	     -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks
-
-#
-# Selection of warning messages
-#
-GCC_INHIBIT	= -Wno-unused -Wno-parentheses
-GCC_STYLE	= 
-GCC_WARNINGS	= -W -Wall $(GCC_STYLE) $(GCC_INHIBIT)
-
-#
-# Treat compiler warnings as errors, if warnings not allowed
-#
-ifeq ($(COMPILER_WARNINGS_FATAL),true)
-  GCC_WARNINGS += -Werror
-endif
-
-#
-# Misc compiler options
-#
-ifneq ($(ARCH),ppc)
-  CFLAGS_COMMON   = -fno-strict-aliasing
-endif 
-PIC_CODE_LARGE = -fPIC
-PIC_CODE_SMALL = -fpic
-GLOBAL_KPIC = $(PIC_CODE_LARGE)
-CFLAGS_COMMON   += $(GLOBAL_KPIC) $(GCC_WARNINGS)
-ifeq ($(ARCH), x86_64)
- CFLAGS_COMMON += -pipe
-endif
-
-# BSD 64bit machines use Dwarf2, which can be HUGE, have fastdebug use -g1
-DEBUG_FLAG = -g
-ifeq ($(FASTDEBUG), true)
-  ifeq ($(ARCH_DATA_MODEL), 64)
-    DEBUG_FLAG = -g1
-  endif
-endif
-
-# DEBUG_BINARIES overrides everything, use full -g debug information
-ifeq ($(DEBUG_BINARIES), true)
-  DEBUG_FLAG = -g
-  CFLAGS_REQUIRED += $(DEBUG_FLAG)
-endif
-
-CFLAGS_OPT      = $(CC_OPT)
-CFLAGS_DBG      = $(DEBUG_FLAG)
-CFLAGS_COMMON += $(CFLAGS_REQUIRED)
-
-CXXFLAGS_COMMON = $(GLOBAL_KPIC) -DCC_NOEX $(GCC_WARNINGS)
-CXXFLAGS_OPT	= $(CC_OPT)
-CXXFLAGS_DBG	= $(DEBUG_FLAG)
-CXXFLAGS_COMMON += $(CFLAGS_REQUIRED)
-
-# FASTDEBUG: Optimize the code in the -g versions, gives us a faster debug java
-ifeq ($(FASTDEBUG), true)
-  CFLAGS_DBG    += $(CC_OPT/$(FASTDEBUG_OPTIMIZATION_LEVEL))
-  CXXFLAGS_DBG	+= $(CC_OPT/$(FASTDEBUG_OPTIMIZATION_LEVEL))
-endif
-
-CPP_ARCH_FLAGS = -DARCH='"$(ARCH)"'
-
-# Alpha arch does not like "alpha" defined (potential general arch cleanup issue here)
-ifneq ($(ARCH),alpha)
-  CPP_ARCH_FLAGS += -D$(ARCH)
-else
-  CPP_ARCH_FLAGS += -D_$(ARCH)_
-endif
-CPPFLAGS_COMMON = $(CPP_ARCH_FLAGS) -D_ALLBSD_SOURCE $(VERSION_DEFINES) \
-		  -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -D_REENTRANT
-
-CPPFLAGS_COMMON += -DMACOSX
-
-ifeq ($(ARCH_DATA_MODEL), 64)
-CPPFLAGS_COMMON += -D_LP64=1
-endif
-
-CPPFLAGS_OPT    = -DNDEBUG
-CPPFLAGS_DBG    = -DDEBUG
-ifneq ($(PRODUCT), java)
-  CPPFLAGS_DBG    += -DLOGGING 
-endif
-
-# Libraries need to locate other libraries at runtime, and you can tell
-#   a library where to look by way of the dynamic runpaths (RPATH or RUNPATH)
-#   buried inside the .{so,dylib}. The {$ORIGIN,@loader_path/} says to look
-#   relative to where the library itself is and it can be followed
-#   with relative paths from that. By default we always look in
-#   {$ORIGIN,@loader_path/}, optionally we add relative paths if the Makefile
-#   sets LD_RUNPATH_EXTRAS to those relative paths.
-#   Except on MacOS X we add a flag -z origin, not sure if this is necessary,
-#   but doesn't seem to hurt.
-#   The environment variable LD_LIBRARY_PATH will over-ride these runpaths.
-#   See 'man {dyld,rtld}' for more information.
-#   Try: 'readelf -d lib*.so' to see these settings in a library.
-#
-LDFLAGS_COMMON += -Xlinker -rpath -Xlinker @loader_path/.
-LDFLAGS_COMMON += $(LD_RUNPATH_EXTRAS:%=-Xlinker -rpath -Xlinker @loader_path/%)
-LDFLAGS_COMMON += -Xlinker -install_name -Xlinker @rpath/$(@F)
-
-#
-# -L paths for finding and -ljava
-#
-LDFLAGS_COMMON += -L$(LIBDIR)
-
-#
-# -static-libgcc is a gcc-3 flag to statically link libgcc, gcc-2.9x always
-# statically link libgcc but will print a warning with the flag. We don't 
-# want the warning, so check gcc version first.
-#
-ifeq ($(CC_MAJORVER),3)
-  OTHER_LDFLAGS  += -static-libgcc
-endif
-
-# Automatic precompiled header option to use (if COMPILE_APPROACH=batch)
-#   (See Rules.gmk) The gcc 5 compiler might have an option for this?
-AUTOMATIC_PCH_OPTION = 
-
-#
-# Post Processing of libraries/executables
-#
-ifeq ($(VARIANT), OPT)
-  ifneq ($(NO_STRIP), true)
-    ifneq ($(DEBUG_BINARIES), true)
-      # Debug 'strip -S' leaves local function Elf symbols (better stack
-      # traces)
-      POST_STRIP_PROCESS = $(STRIP) -S
-    endif
-  endif
-endif
-
-#
-# Use: ld $(LD_MAPFILE_FLAG) mapfile *.o
-#
-LD_MAPFILE_FLAG = -Xlinker --version-script -Xlinker
-
-#
-# Support for Quantify.
-#
-ifdef QUANTIFY
-QUANTIFY_CMD = quantify
-QUANTIFY_OPTIONS = -cache-dir=/tmp/quantify -always-use-cache-dir=yes
-LINK_PRE_CMD = $(QUANTIFY_CMD) $(QUANTIFY_OPTIONS)
-endif
-
-# Darwin does not support linker map files.
-LDNOMAP=true
-
-#
-# Path and option to link against the VM, if you have to.  Note that
-# there are libraries that link against only -ljava, but they do get
-# -L to the -ljvm, this is because -ljava depends on -ljvm, whereas
-# the library itself should not.
-#
-VM_NAME         = server
-JVMLIB          = -L$(LIBDIR)/server -L$(LIBDIR)/client -ljvm
-JAVALIB         = -ljava $(JVMLIB)
-
-#
-# We want to privatize JVM symbols on Solaris. This is so the user can
-# write a function called FindClass and this should not override the 
-# FindClass that is inside the JVM. At this point in time we are not
-# concerned with other JNI libraries because we hope that there will
-# not be as many clashes there.
-#
-PRIVATIZE_JVM_SYMBOLS = false
-
-USE_PTHREADS = true
-override ALT_CODESET_KEY         = _NL_CTYPE_CODESET_NAME
-override AWT_RUNPATH             =
-override HAVE_ALTZONE            = false
-override HAVE_FILIOH             = false
-override HAVE_GETHRTIME          = false
-override HAVE_GETHRVTIME         = false
-override HAVE_SIGIGNORE          = true
-override LEX_LIBRARY             = -lfl
-ifeq ($(STATIC_CXX),true)
-override LIBCXX                  = -Wl,-Bstatic -lstdc++ -lgcc -Wl,-Bdynamic
-else
-override LIBCXX                  = -lstdc++
-endif
-override LIBPOSIX4               =
-override LIBSOCKET               =
-override LIBNSL                  =
-override LIBTHREAD               =
-override LIBDL                   =
-override MOOT_PRIORITIES         = true
-override NO_INTERRUPTIBLE_IO     = true
-override OPENWIN_HOME            = $(X11_PATH)
-override OPENWIN_LIB             = $(OPENWIN_HOME)/lib
-override OTHER_M4FLAGS           = -D__GLIBC__ -DGNU_ASSEMBLER
-override SUN_CMM_SUBDIR          =
-override THREADS_FLAG            = native
-override USE_GNU_M4              = true
-override USING_GNU_TAR           = true
-override WRITE_LIBVERSION        = false
-
-ifdef ALT_X11_PATH
-  X11_PATH = $(ALT_X11_PATH)
-else
-  X11_PATH = /usr/X11R6
-endif
-
-ifdef ALT_PACKAGE_PATH
-  PACKAGE_PATH = $(ALT_PACKAGE_PATH)
-else
-  PACKAGE_PATH = /opt/local
-endif
-
-# ALSA
-ifdef ALT_ALSA_LIB_PATH
-  ALSA_LIB_PATH = $(ALT_ALSA_LIB_PATH)
-else
-  ALSA_LIB_PATH = $(PACKAGE_PATH)/lib
-endif
-
-ifdef ALT_ALSA_HEADERS_PATH
-  ALSA_HEADERS_PATH = $(ALT_ALSA_HEADERS_PATH)
-else
-  ALSA_HEADERS_PATH = $(PACKAGE_PATH)/include
-endif
-
-# USE_EXECNAME forces the launcher to look up argv[0] on $PATH, and put the
-# resulting resolved absolute name of the executable in the environment
-# variable EXECNAME.  That executable name is then used that to locate the
-# installation area.
-override USE_EXECNAME            = true
-
-# If your platform has DPS, it will have Type1 fonts too, in which case
-# it is best to enable DPS support until such time as 2D's rasteriser
-# can fully handle Type1 fonts in all cases. Default is "yes".
-# HAVE_DPS should only be "no" if the platform has no DPS headers or libs
-# DPS (Displayable PostScript) is available on Solaris machines
-HAVE_DPS = no
-
-SYSTEM_ZLIB = true
-
-#
-# Japanese manpages
-#
-JA_SOURCE_ENCODING = eucJP
-JA_TARGET_ENCODINGS = UTF-8
-
-# Settings for the JDI - Serviceability Agent binding.
-
-HOTSPOT_SALIB_PATH = $(HOTSPOT_IMPORT_PATH)/jre/lib/$(LIBARCH)
-SALIB_NAME = $(LIB_PREFIX)saproc.$(LIBRARY_SUFFIX)
-
-# The JDI - Serviceability Agent binding is not currently supported
-# on ia64.
-ifeq ($(ARCH), ia64)
-  INCLUDE_SA = false
-else
-  INCLUDE_SA = true
-endif
-
-ifdef CROSS_COMPILE_ARCH
-  # X11 headers are not under /usr/include
-  OTHER_CFLAGS += -I$(OPENWIN_HOME)/include
-  OTHER_CXXFLAGS += -I$(OPENWIN_HOME)/include
-  OTHER_CPPFLAGS += -I$(OPENWIN_HOME)/include
-endif
-
-LIB_LOCATION ?= $(LIBDIR)
--- a/makefiles/common/Defs-solaris.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,757 +0,0 @@
-#
-# Copyright (c) 1995, 2011, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code 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
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-#
-# Makefile to specify compiler flags for programs and libraries
-# targeted to Solaris.  Should not contain any rules.
-#
-# WARNING: This file is shared with other workspaces. 
-#          So when it includes other files, it must use JDK_TOPDIR.
-#
-
-# Warning: the following variables are overridden by Defs.gmk. Set
-# values will be silently ignored:
-#   CFLAGS        (set $(OTHER_CFLAGS) instead)
-#   CPPFLAGS      (set $(OTHER_CPPFLAGS) instead)
-#   CXXFLAGS      (set $(OTHER_CXXFLAGS) instead)
-#   LDFLAGS       (set $(OTHER_LDFAGS) instead)
-#   LDLIBS        (set $(EXTRA_LIBS) instead)
-#   LDLIBS_COMMON (set $(EXTRA_LIBS) instead)
-#   LINTFLAGS     (set $(OTHER_LINTFLAGS) instead)
-#
-# Note: CPPFLAGS are used in C and C++ compiles.
-#
-
-# Get shared JDK settings
-include $(JDK_MAKE_SHARED_DIR)/Defs.gmk
-
-ifndef PLATFORM_SRC
-PLATFORM_SRC = $(BUILDDIR)/../src/solaris
-endif # PLATFORM_SRC
-
-# Platform specific closed sources
-ifndef OPENJDK
-  ifndef CLOSED_PLATFORM_SRC
-    CLOSED_PLATFORM_SRC = $(BUILDDIR)/../src/closed/solaris
-  endif
-endif
-
-# platform specific include files
-PLATFORM_INCLUDE_NAME = $(PLATFORM)
-PLATFORM_INCLUDE      = $(INCLUDEDIR)/$(PLATFORM_INCLUDE_NAME)
-
-# suffix used for make dependencies files
-DEPEND_SUFFIX = d
-# suffix used for lint files
-LINT_SUFFIX = ln
-# The suffix applied to the library name for FDLIBM
-FDDLIBM_SUFFIX = a
-# The suffix applied to scripts (.bat for windows, nothing for unix)
-SCRIPT_SUFFIX =
-# CC compiler object code output directive flag value
-CC_OBJECT_OUTPUT_FLAG = -o #trailing blank required!
-
-ifdef ENABLE_FULL_DEBUG_SYMBOLS
-# Only check for Full Debug Symbols support on Solaris if it is
-# specifically enabled. Hopefully, it can be enabled by default
-# once the .debuginfo size issues are worked out.
-
-# Default OBJCOPY comes from the SUNWbinutils package:
-DEF_OBJCOPY=/usr/sfw/bin/gobjcopy
-ifeq ($(PLATFORM)-$(LIBARCH), solaris-amd64)
-  # On Solaris AMD64/X64, gobjcopy is not happy and fails:
-  #
-  # usr/sfw/bin/gobjcopy --add-gnu-debuglink=<lib>.debuginfo <lib>.so
-  # BFD: stKPaiop: Not enough room for program headers, try linking with -N
-  # /usr/sfw/bin/gobjcopy: stKPaiop: Bad value
-  # BFD: stKPaiop: Not enough room for program headers, try linking with -N
-  # /usr/sfw/bin/gobjcopy: libsaproc.debuginfo: Bad value
-  # BFD: stKPaiop: Not enough room for program headers, try linking with -N
-  # /usr/sfw/bin/gobjcopy: stKPaiop: Bad value
-  _JUNK_ := $(shell \
-    echo >&2 "INFO: $(DEF_OBJCOPY) is not working on Solaris AMD64/X64")
-  OBJCOPY=
-else
-  OBJCOPY=$(shell test -x $(DEF_OBJCOPY) && echo $(DEF_OBJCOPY))
-  ifneq ($(ALT_OBJCOPY),)
-    _JUNK_ := $(shell echo >&2 "INFO: ALT_OBJCOPY=$(ALT_OBJCOPY)")
-    # disable .debuginfo support by setting ALT_OBJCOPY to a non-existent path
-    OBJCOPY=$(shell test -x $(ALT_OBJCOPY) && echo $(ALT_OBJCOPY))
-  endif
-endif
-
-ifdef LIBRARY_SUPPORTS_FULL_DEBUG_SYMBOLS
-# The setting of OBJCOPY above enables the JDK build to import
-# .debuginfo files from the HotSpot build. However, adding FDS
-# support to the JDK build will occur in phases so a different
-# make variable is used to indicate that a particular library
-# supports FDS.
-
-ifeq ($(OBJCOPY),)
-  _JUNK_ := $(shell \
-    echo >&2 "INFO: no objcopy cmd found so cannot create .debuginfo files.")
-else
-  _JUNK_ := $(shell \
-    echo >&2 "INFO: $(OBJCOPY) cmd found so will create .debuginfo files.")
-
-  # Library stripping policies for .debuginfo configs:
-  #   all_strip - strips everything from the library
-  #   min_strip - strips most stuff from the library; leaves minimum symbols
-  #   no_strip  - does not strip the library at all
-  #
-  # Oracle security policy requires "all_strip". A waiver was granted on
-  # 2011.09.01 that permits using "min_strip" in the Java JDK and Java JRE.
-  #
-  DEF_STRIP_POLICY="min_strip"
-  ifeq ($(ALT_STRIP_POLICY),)
-    STRIP_POLICY=$(DEF_STRIP_POLICY)
-  else
-    STRIP_POLICY=$(ALT_STRIP_POLICY)
-  endif
-  _JUNK_ := $(shell \
-    echo >&2 "INFO: STRIP_POLICY=$(STRIP_POLICY)")
-endif
-endif
-endif
-
-#
-# Java default optimization (-x04/-O2) etc.  Applies to the VM.
-#
-ifndef OPTIMIZATION_LEVEL
-  ifeq ($(PRODUCT), java)
-    OPTIMIZATION_LEVEL = HIGHER
-  else
-    OPTIMIZATION_LEVEL = LOWER
-  endif
-endif
-ifndef FASTDEBUG_OPTIMIZATION_LEVEL
-  FASTDEBUG_OPTIMIZATION_LEVEL = LOWER
-endif
-
-#
-# If -Xa is in CFLAGS_COMMON it will end up ahead of $(CC_OPT) for the
-# optimized build, and that ordering of the flags completely freaks
-# out cc.  Hence, -Xa is instead in each CFLAGS variant.
-#
-# The more unusual options to the Sun C compiler:
-#	-v		Stricter type checking, more error checking
-#			(To turn ALL warnings into fatals, use -errwarn=%all)
-#	-xstrconst	Place string literals and constants in read-only area
-#			(means you can't write on your string literals)
-#	-xs		Force debug information (stabs) into the .so or a.out
-#			(makes the library/executable debuggable without the
-#			.o files needing to be around, but at a space cost)
-#	-g & -O		If you add the -g option to the optimized compiles
-#			you will get better stack retraces, the code is
-#			still optimized. This includes a space cost too.
-#       -xc99=%none     Do NOT allow for c99 extensions to be used.
-#                       e.g. declarations must precede statements
-#       -xCC            Allow the C++ style of comments in C: //
-#                       Required with many of the source files.
-#       -mt             Assume multi-threaded (important)
-#
-# The more unusual options to the Sun C compiler:
-#       +w              Print more warnings
-#       +w2             Maximum warnings
-#
-
-#
-# Debug flag for C and C++ compiler
-#
-CFLAGS_DEBUG_OPTION    = -g $(CC_OPT/NONE)
-CXXFLAGS_DEBUG_OPTION  = -g $(CXX_OPT/NONE)
-
-# Turn off -g if we are doing tcov build
-ifdef TCOV_BUILD
-  CFLAGS_DEBUG_OPTION=
-  CXXFLAGS_DEBUG_OPTION=
-endif
-
-# FASTDEBUG: Optimize the -g builds, gives us a faster debug java
-#        If true adds -O to the debug compiles. This allows for any assert
-#        tests to remain and debug checking. The resulting code is faster
-#        but less debuggable.  Stack traces are still valid, although only
-#        approximate line numbers are given. Printing of local variables
-#        during a debugging session is not possible, but stepping and
-#        printing of global or static variables should be possible.
-#        Performance/size of files should be about the same, maybe smaller.
-#
-ifeq ($(FASTDEBUG), true)
-  CFLAGS_DEBUG_OPTION    = -g  $(CC_OPT/$(FASTDEBUG_OPTIMIZATION_LEVEL))
-  CXXFLAGS_DEBUG_OPTION  = -g0 $(CXX_OPT/$(FASTDEBUG_OPTIMIZATION_LEVEL))
-endif
-
-CFLAGS_COMMON   = -L$(OBJDIR)
-
-# Do not allow C99 language features like declarations in code etc.
-CFLAGS_COMMON  += -xc99=%none
-
-# Allow C++ comments in C code
-CFLAGS_COMMON  += -xCC
-
-# Show error message tags on errors
-CFLAGS_COMMON   += -errshort=tags
-CXXFLAGS_COMMON += -errtags=yes
-
-# Optimization flags
-CFLAGS_OPT      = $(CC_OPT)
-
-# Debug version flags
-CFLAGS_DBG      = $(CFLAGS_DEBUG_OPTION)
-
-# Required C compiler flags
-CFLAGS_COMMON  += -Xa $(CFLAGS_REQUIRED)
-
-# Maximum warnings all the time
-CXXFLAGS_COMMON += +w
-CFLAGS_COMMON   += -v
-
-# Assume MT behavior all the time (important)
-CXXFLAGS_COMMON += -mt
-CFLAGS_COMMON   += -mt
-
-# Assume no C++ exceptions are used
-CXXFLAGS_COMMON += -features=no%except -DCC_NOEX
-
-# For C++, these options tell it to assume nothing about locating libraries
-#    either at compile time, or at runtime. Use of these options will likely
-#    require the use of -L and -R options to indicate where libraries will
-#    be found at compile time (-L) and at runtime (-R).
-#    The /usr/lib location comes for free, so no need to specify that one.
-#    Note: C is much simplier and there is no need for these options. This
-#          is mostly needed to avoid dependencies on libraries in the
-#          Compiler install area, also see LIBCXX and LIBM.
-CXXFLAGS_COMMON += -norunpath -xnolib
-
-#
-# Treat compiler warnings as errors, if requested
-#
-ifeq ($(COMPILER_WARNINGS_FATAL),true)
-  CFLAGS_COMMON += -errwarn=%all
-  CXXFLAGS_COMMON += -errwarn=%all
-endif
-
-CXXFLAGS_OPT	= $(CXX_OPT)
-CXXFLAGS_DBG	= $(CXXFLAGS_DEBUG_OPTION)
-CXXFLAGS_COMMON += $(CFLAGS_REQUIRED)
-
-# Add -xstrconst to the library compiles. This forces all string
-#  literals into the read-only data section, which prevents them from
-#  being written to and increases the runtime pages shared on the system.
-#
-ifdef LIBRARY
-  CFLAGS_COMMON +=-xstrconst
-endif
-
-# Source browser database
-#
-# COMPILE_WITH_SB    
-#        If defined adds -xsb to compiles and creates a
-#        source browsing database during compilation.
-#
-ifdef COMPILE_WITH_SB
-  ifeq ($(LIBRARY), java)
-    CFLAGS_DBG +=   -xsb
-  endif
-endif
-
-# Lint Flags:
-#	-Xa			ANSI C plus K&R, favor ANSI rules
-#	-fd			report on old style func defs
-#	-errchk=structarg	report on 64bit struct args by value
-#	-errchk=longptr64	report on 64bit to 32bit issues (ignores casts)
-#	-errchk=parentheses	report on suggested use of extra parens
-#	-v 			suppress unused args
-#	-x			suppress unused externs
-#	-u			suppress extern func/vars used/defined
-#	-errfmt=simple		use one line errors with position info
-#       $(LINT_XARCH_OPTION)    See Compiler-sun.gwk
-
-LINTFLAGS_COMMON  = -Xa
-LINTFLAGS_COMMON += -fd 
-LINTFLAGS_COMMON += -errchk=structarg,longptr64,parentheses
-LINTFLAGS_COMMON += -v
-LINTFLAGS_COMMON += -x 
-LINTFLAGS_COMMON += -u
-LINTFLAGS_COMMON += -errfmt=simple 
-LINTFLAGS_OPT   = 
-LINTFLAGS_DBG   =
-
-# The -W0,-noglobal tells the compiler to NOT generate mangled global
-#    ELF data symbols for file local static data.
-#    This can break fix&continue, but we'd rather do the same compilations
-#    for deliverable bits as we do for non-deliverable bits
-#    Tell the compilers to never generate globalized names, all the time.
-CFLAGS_COMMON += -W0,-noglobal
-
-# If we have a specific arch value to use, add it
-CFLAGS_COMMON    += $(XARCH_OPTION)
-CXXFLAGS_COMMON  += $(XARCH_OPTION)
-ASFLAGS_COMMON   += $(AS_XARCH_OPTION)
-EXTRA_LIBS       += $(XARCH_OPTION)
-LINTFLAGS_COMMON += $(LINT_XARCH_OPTION)
-
-#
-# uncomment the following to build with PERTURBALOT set
-#
-# OTHER_CFLAGS += -DPERTURBALOT
-#
-
-CPPFLAGS_COMMON = -D__solaris__  -D$(ARCH_FAMILY)
-CPPFLAGS_OPT    = -DNDEBUG
-CPPFLAGS_DBG    = -DDEBUG
-
-ifneq ($(PRODUCT), java)
-  CPPFLAGS_DBG    += -DLOGGING -DDBINFO
-endif
-
-ifeq ($(ARCH_FAMILY), i586)
-  # The macro _LITTLE_ENDIAN needs to be defined the same to avoid the
-  #   Sun C compiler warning message: warning: macro redefined: _LITTLE_ENDIAN
-  #   (The Solaris X86 system defines this in file /usr/include/sys/isa_defs.h).
-  #   Note: -Dmacro         is the same as    #define macro 1
-  #         -Dmacro=	    is the same as    #define macro
-  #
-  CPPFLAGS_COMMON +=  -DcpuIntel -D_LITTLE_ENDIAN= -D$(LIBARCH)
-  # Turn off a superfluous compiler error message on Intel
-  CFLAGS_COMMON += -erroff=E_BAD_PRAGMA_PACK_VALUE
-endif
-
-# Java memory management is based on memory mapping by default, but a
-# system only assuming malloc/free can be built by adding -DUSE_MALLOC 
-
-CPPFLAGS_COMMON	+= -DTRACING -DMACRO_MEMSYS_OPS -DBREAKPTS
-CPPFLAGS_OPT	+= -DTRIMMED
-
-LDFLAGS_DEFS_OPTION  = -z defs
-LDFLAGS_COMMON  += $(LDFLAGS_DEFS_OPTION)
-
-#
-# -L paths for finding and -ljava
-#
-LDFLAGS_COMMON += -L$(LIBDIR)/$(LIBARCH)
-LDFLAGS_OPT     =
-LDFLAGS_DBG     =
-
-#
-# We never really want the incremental linker, ever
-#    The -xildoff option tells Sun's compilers to NOT use incremental linker
-#
-LDFLAGS_COMMON  += -xildoff
-
-ifdef LIBRARY
-  # Libraries need to locate other libraries at runtime, and you can tell
-  #   a library where to look by way of the dynamic runpaths (RPATH or RUNPATH)
-  #   buried inside the .so. The $ORIGIN says to look relative to where
-  #   the library itself is and it can be followed with relative paths from
-  #   that. By default we always look in $ORIGIN, optionally we add relative
-  #   paths if the Makefile sets LD_RUNPATH_EXTRAS to those relative paths.
-  #   The environment variable LD_LIBRARY_PATH will over-ride these runpaths.
-  #   Try: 'dump -Lv lib*.so' to see these settings in a library.
-  #
-  LDFLAGS_COMMON += -R\$$ORIGIN
-  LDFLAGS_COMMON += $(LD_RUNPATH_EXTRAS:%=-R\$$ORIGIN/%)
-endif
-
-EXTRA_LIBS += -lc
-
-# Postprocessing is done on the images directories only
-#
-ifeq ($(VARIANT), OPT)
-  ifeq ($(PARTIAL_GPROF), true)
-    NO_STRIP = true
-  endif
-  ifeq ($(GPROF), true)
-    NO_STRIP = true
-  endif
-  ifneq ($(NO_STRIP), true)
-    # Debug 'strip -x' leaves local function Elf symbols (better stack traces)
-    POST_STRIP_PROCESS = $(STRIP) -x
-  endif
-endif
-POST_MCS_PROCESS=$(MCS) -d -a "JDK $(FULL_VERSION)"
-
-#
-# Sun C compiler will take -M and pass it on to ld.
-# Usage: ld $(LD_MAPFILE_FLAG) mapfile *.o
-#
-ifeq ($(CC_VERSION),gcc)
-LD_MAPFILE_FLAG = -Xlinker -M -Xlinker
-else
-LD_MAPFILE_FLAG = -M
-endif
-
-#
-# Variables globally settable from the make command line (default
-# values in brackets):
-#	GPROF (false)
-# Eg: 	% gnumake GPROF=true
-GPROF = false
-ifeq ($(GPROF), true)
-    CFLAGS_COMMON += -DGPROF -xpg
-    EXTRA_LIBS += -xpg
-endif
-
-# PARTIAL_GPROF is to be used ONLY during compilation - it should not
-# appear during linking of libraries or programs.  It also should
-# prevent linking with -z defs to allow a symbol to remain undefined.
-#
-PARTIAL_GPROF = false
-ifeq ($(PARTIAL_GPROF), true)
-  CFLAGS_GPROF += -xpg
-  LDFLAGS_DEFS_OPTION  = -z nodefs
-endif
-
-#
-# For a TCOV build we add in the TCOV_OPTION
-#
-ifdef TCOV_BUILD
-  TCOV_OPTION		= -xprofile=tcov
-  LDFLAGS_COMMON 	+= $(TCOV_OPTION) -Kpic
-  CFLAGS_COMMON  	+= $(TCOV_OPTION)
-  CXXFLAGS_COMMON 	+= $(TCOV_OPTION)
-  EXTRA_LIBS 	+= $(TCOV_OPTION)
-  LDNOMAP=true
-endif
-
-#
-# Solaris only uses native threads. 
-#
-THREADS_FLAG=	native
-THREADS_DIR=	threads
-
-#
-# Support for Quantify.
-#
-ifdef QUANTIFY
-  QUANTIFY_CMD = quantify
-  QUANTIFY_OPTIONS = -cache-dir=/tmp/quantify -always-use-cache-dir=yes
-  LINK_PRE_CMD = $(QUANTIFY_CMD) $(QUANTIFY_OPTIONS)
-  ifdef LIBRARY
-    CFLAGS_COMMON += -K PIC
-  endif
-endif
-
-#
-# Support for Purify.
-#
-ifdef PURIFY
-  PURIFY_CMD = /net/suntools.eng/export/tools/sparc/bin/purify
-  PURIFY_OPTIONS = -cache-dir=/tmp/quantify -always-use-cache-dir=yes
-  LINK_PRE_CMD = $(PURIFY_CMD) $(PURIFY_OPTIONS)
-  ifdef LIBRARY
-    CFLAGS_COMMON += -K PIC
-  endif
-endif
-
-#
-# Different "levels" of optimization.
-#
-ifeq ($(CC_VERSION),gcc)
-  
-  CC_OPT/NONE     =
-  CC_OPT/LOWER    = -O2
-  CC_OPT/HIGHER   = -O3
-  CC_OPT/HIGHEST  = -O3
-
-  CXX_OPT/NONE    =
-  CXX_OPT/LOWER   = -O2
-  CXX_OPT/HIGHER  = -O3
-  CXX_OPT/HIGHEST = -O3
-
-  CFLAGS_REQUIRED_i586  += -fno-omit-frame-pointer
-  CFLAGS_REQUIRED_amd64 += -fno-omit-frame-pointer
-  
-  # Automatic precompiled header option to use (if COMPILE_APPROACH=batch)
-  #   (See Rules.gmk) May need to wait for gcc 5?
-  AUTOMATIC_PCH_OPTION = 
-
-else
-  
-  # Highest could be -xO5, but indications are that -xO5 should be reserved
-  #    for a per-file use, on sources with known performance impacts.
-  OPT_LEVEL/LOWER    = 2
-  OPT_LEVEL/HIGHER   = 4
-  OPT_LEVEL/HIGHEST  = 4
-  
-  CC_OPT/NONE     =
-  CC_OPT/LOWER    = $(OPT_LEVEL/LOWER:%=-xO%)
-  CC_OPT/HIGHER   = $(OPT_LEVEL/HIGHER:%=-xO%)
-  CC_OPT/HIGHEST  = $(OPT_LEVEL/HIGHEST:%=-xO%)
-  
-  CXX_OPT/NONE    =
-  CXX_OPT/LOWER   = $(OPT_LEVEL/LOWER:%=-xO%)
-  CXX_OPT/HIGHER  = $(OPT_LEVEL/HIGHER:%=-xO%)
-  CXX_OPT/HIGHEST = $(OPT_LEVEL/HIGHEST:%=-xO%)
-    
-  # We need stack frames at all times
-  USE_XKEEPFRAME_OPTION = false
-  ifeq ($(USE_XKEEPFRAME_OPTION),true)
-    
-    # Unknown spelling on this option at this time (Maybe in SS13?)
-    CC_XKEEPFRAME_OPTIONS  = -xkeepframe
-    CXX_XKEEPFRAME_OPTIONS = -xkeepframe
-  
-  else
-  
-    # On X86, make sure tail call optimization is off
-    #    The z and y are the tail call optimizations.
-    ifeq ($(ARCH_FAMILY), i586)
-      CC_NEWER_THAN_58 := \
-        $(shell $(EXPR) $(CC_MAJORVER) \> 5 \| \
-	    \( $(CC_MAJORVER) = 5 \& $(CC_MINORVER) \> 8 \) )
-      ifeq ($(CC_NEWER_THAN_58),1)
-        #    Somehow, tail call optimization is creeping in.
-        #    Make sure it is off.
-        # WARNING: These may cause compiler warnings about duplicate -O options
-        CC_XKEEPFRAME_OPTIONS  += -Wu,-O$(OPT_LEVEL/$(OPTIMIZATION_LEVEL))~yz
-        CXX_XKEEPFRAME_OPTIONS += -Qoption ube -O$(OPT_LEVEL/$(OPTIMIZATION_LEVEL))~yz
-      endif
-    endif
-  
-    #  On i586 we need to tell the code generator to ALWAYS use a
-    #   frame pointer.
-    ifeq ($(ARCH_FAMILY), i586)
-      # Note that in 5.7, this is done with -xregs=no%frameptr
-      ifeq ($(CC_VER), 5.5)
-        # It's not exactly clear when this optimization kicks in, the
-        #   current assumption is -xO4 or greater and for C++ with
-        #   the -features=no%except option and -xO4 and greater.
-        #   Bottom line is, we ALWAYS want a frame pointer!
-        CC_XKEEPFRAME_OPTIONS  += -Wu,-Z~B
-        CXX_XKEEPFRAME_OPTIONS += -Qoption ube -Z~B
-      endif
-
-      CC_NEWER_THAN_56 := \
-        $(shell $(EXPR) $(CC_MAJORVER) \> 5 \| \
-	    \( $(CC_MAJORVER) = 5 \& $(CC_MINORVER) \> 6 \) )
-      ifeq ($(CC_NEWER_THAN_56),1)
-        # Do NOT use frame pointer register as a general purpose opt register
-        CC_OPT/NONE            += -xregs=no%frameptr
-        CXX_OPT/NONE           += -xregs=no%frameptr
-        CC_XKEEPFRAME_OPTIONS  += -xregs=no%frameptr
-        CXX_XKEEPFRAME_OPTIONS += -xregs=no%frameptr
-      endif
-    endif
-  
-    #  Optimizer for sparc needs to be told not to do certain things
-    #   related to frames or save instructions.
-    ifeq ($(ARCH_FAMILY), sparc)
-      #  Do not use save instructions instead of add instructions
-      #  This was an optimization starting in SC5.0 that made it hard for us to
-      #    find the "save" instruction (which got turned into an "add")
-      CC_XKEEPFRAME_OPTIONS  += -Wc,-Qrm-s
-      CXX_XKEEPFRAME_OPTIONS += -Qoption cg -Qrm-s
-      # Don't allow tail call code optimization. Started in SC5.0.
-      #    We don't like code of this form:
-      #	save
-      #	<code>
-      #	call foo
-      #	   restore
-      #   because we can't tell if the method will have a stack frame
-      #   and register windows or not.
-      CC_XKEEPFRAME_OPTIONS  += -Wc,-Qiselect-T0
-      CXX_XKEEPFRAME_OPTIONS += -Qoption cg -Qiselect-T0
-    endif
-  
-  endif
-
-  # Extra options used with HIGHEST
-  #
-  # WARNING: Use of OPTIMIZATION_LEVEL=HIGHEST in your Makefile needs to be
-  #          done with care, there are some assumptions below that need to
-  #          be understood about the use of pointers, and IEEE behavior.
-  #
-  # Use non-standard floating point mode (not IEEE 754)
-  CC_HIGHEST_EXTRAS += -fns
-  # Do some simplification of floating point arithmetic (not IEEE 754)
-  CC_HIGHEST_EXTRAS += -fsimple
-  # Use single precision floating point with 'float'
-  CC_HIGHEST_EXTRAS += -fsingle
-  # Assume memory references via basic pointer types do not alias
-  #   (Source with excessing pointer casting and data access with mixed 
-  #    pointer types are not recommended)
-  CC_HIGHEST_EXTRAS += -xalias_level=basic
-  # Use intrinsic or inline versions for math/std functions
-  #   (If you expect perfect errno behavior, do not use this)
-  CC_HIGHEST_EXTRAS += -xbuiltin=%all
-  # Loop data dependency optimizations (need -xO3 or higher)
-  CC_HIGHEST_EXTRAS += -xdepend
-  # Pointer parameters to functions do not overlap
-  #   (Similar to -xalias_level=basic usage, but less obvious sometimes.
-  #    If you pass in multiple pointers to the same data, do not use this)
-  CC_HIGHEST_EXTRAS += -xrestrict
-  # Inline some library routines
-  #   (If you expect perfect errno behavior, do not use this)
-  CC_HIGHEST_EXTRAS += -xlibmil
-  # Use optimized math routines
-  #   (If you expect perfect errno behavior, do not use this)
-  #  Can cause undefined external on Solaris 8 X86 on __sincos, removing for now
-  #  CC_HIGHEST_EXTRAS += -xlibmopt
-  ifeq ($(ARCH_FAMILY), sparc)
-    # Assume at most 8byte alignment, raise SIGBUS on error
-    ### Presents an ABI issue with customer JNI libs?
-    ####CC_HIGHEST_EXTRAS  += -xmemalign=8s
-    # Automatic prefetch instructions, explicit prefetch macros
-    CC_HIGHEST_EXTRAS += -xprefetch=auto,explicit
-    # Pick ultra as the chip to optimize to
-    CC_HIGHEST_EXTRAS += -xchip=ultra
-  endif
-  ifeq ($(ARCH), i586)
-    # Pick pentium as the chip to optimize to
-    CC_HIGHEST_EXTRAS += -xchip=pentium
-  endif
-  ifdef LIBRARY
-    # The Solaris CBE (Common Build Environment) requires that the use
-    # of appl registers be disabled when compiling a public library (or
-    # a library that's loaded by a public library) on sparc.
-    CFLAGS_REQUIRED_sparc    += -xregs=no%appl
-    CFLAGS_REQUIRED_sparcv9  += -xregs=no%appl
-  endif
-  CC_NEWER_THAN_56 := \
-    $(shell $(EXPR) $(CC_MAJORVER) \> 5 \| \
-         \( $(CC_MAJORVER) = 5 \& $(CC_MINORVER) \> 6 \) )
-  ifeq ($(CC_NEWER_THAN_56),1)
-    #     Presents an ABI issue with customer JNI libs? We must be able to
-    #     to handle 4byte aligned objects? (rare occurance, but possible?)
-    CFLAGS_REQUIRED_sparc += -xmemalign=4s
-  endif
-  # Just incase someone trys to use the SOS9 compilers
-  ifeq ($(CC_VER), 5.6)
-    # We MUST allow data alignment of 4 for sparc (sparcv9 is ok at 8s)
-    CFLAGS_REQUIRED_sparc += -xmemalign=4s
-  endif
-  # Automatic precompiled header option to use (if COMPILE_APPROACH=batch)
-  #   (See Rules.gmk) The SS11 -xpch=auto* options appear to be broken.
-  AUTOMATIC_PCH_OPTION =
-  
-  # Add in keep frame options
-  CC_OPT/LOWER    += $(CC_XKEEPFRAME_OPTIONS)
-  CC_OPT/HIGHER   += $(CC_XKEEPFRAME_OPTIONS)
-  CC_OPT/HIGHEST  += $(CC_XKEEPFRAME_OPTIONS)
-  CXX_OPT/LOWER   += $(CXX_XKEEPFRAME_OPTIONS)
-  CXX_OPT/HIGHER  += $(CXX_XKEEPFRAME_OPTIONS)
-  CXX_OPT/HIGHEST += $(CXX_XKEEPFRAME_OPTIONS)
- 
-  # Add in highest optimization settings
-  CC_OPT/HIGHEST  += $(CC_HIGHEST_EXTRAS)
-  CXX_OPT/HIGHEST += $(CC_HIGHEST_EXTRAS)
-  
-endif
-
-# Default optimization settings based on level.
-CC_OPT  = $(CC_OPT/$(OPTIMIZATION_LEVEL))
-CXX_OPT = $(CXX_OPT/$(OPTIMIZATION_LEVEL))
-
-# Flags required all the time
-CFLAGS_REQUIRED = $(CFLAGS_REQUIRED_$(ARCH))
-
-#
-# Path and option to link against the VM, if you have to.  Note that
-# there are libraries that link against only -ljava, but they do get
-# -L to the -ljvm, this is because -ljava depends on -ljvm, whereas
-# the library itself should not.
-#
-VM_NAME         = server
-JVMLIB          = -L$(LIBDIR)/$(LIBARCH)/server -L$(LIBDIR)/$(LIBARCH)/client -ljvm
-JAVALIB         = -ljava $(JVMLIB)
-
-# Part of INCREMENTAL_BUILD mechanism.
-#   Compiler emits things like:  path/file.o: file.h
-#   We want something like: relative_path/file.o relative_path/file.d: file.h
-#   In addition on Solaris, any include file starting with / is deleted,
-#   this gets rid of things like /usr/include files, which never change.
-CC_DEPEND	 = -xM1
-CC_DEPEND_FILTER = $(SED) -e '/:[ 	]*[/]/d' -e 's!$*\.$(OBJECT_SUFFIX)!$(dir $@)& $(dir $@)$*.$(DEPEND_SUFFIX)!g' | $(SORT) -u
-
-# Location of openwin libraries (do we really need this anymore?)
-OPENWIN_HOME    = /usr/openwin
-OPENWIN_LIB     = $(OPENWIN_HOME)/lib$(ISA_DIR)
-
-# Runtime graphics library search paths...
-OPENWIN_RUNTIME_LIB = /usr/openwin/lib$(ISA_DIR)
-AWT_RUNPATH = -R/usr/dt/lib$(ISA_DIR) -R$(OPENWIN_RUNTIME_LIB)
-
-# C++ Runtime library (libCrun.so), use instead of -lCrun.
-#    Originally used instead of -lCrun to guarantee use of the system
-#    .so version and not the .a or .so that came with the compilers.
-#    With the newer compilers this could probably change back to -lCrun but
-#    in general this is ok to continue to do.
-LIBCXX = /usr/lib$(ISA_DIR)/libCrun.so.1
-
-# JDK now requires Solaris 10, so pick up libm.so.2
-LIBM = /usr/lib$(ISA_DIR)/libm.so.2
-
-# Socket library
-LIBSOCKET = -lsocket
-
-# Network Services library
-LIBNSL = -lnsl
-
-# service configuration facility library
-LIBSCF = -lscf
-
-# Dynamic Loading library
-LIBDL = -ldl
-
-# GLOBAL_KPIC: If set means all libraries are PIC, position independent code
-#    EXCEPT for select compiles
-#    If a .o file is compiled non-PIC then it should be forced
-#	   into the RW data segment with a mapfile option. This is done
-#    with object files which generated from .s files.
-#    The -ztext enforces that no relocations remain in the text segment
-#    so that it remains purely read-only for optimum system performance.
-#    Some libraries may use a smaller size (13bit -Kpic) on sparc instead of 
-#    (32 bit -KPIC) and will override GLOBAL_KPIC appropriately.
-#
-PIC_CODE_LARGE   = -KPIC
-PIC_CODE_SMALL   = -Kpic
-ifndef TCOV_BUILD
-    GLOBAL_KPIC      = $(PIC_CODE_LARGE)
-    CXXFLAGS_COMMON += $(GLOBAL_KPIC)
-    CFLAGS_COMMON   += $(GLOBAL_KPIC)
-    LDFLAGS_COMMON  += -ztext
-endif # TCOV_BUILD
-
-# If your platform has DPS, it will have Type1 fonts too, in which case
-# it is best to enable DPS support until such time as 2D's rasteriser
-# can fully handle Type1 fonts in all cases. Default is "yes".
-# HAVE_DPS should only be "no" if the platform has no DPS headers or libs
-# DPS (Displayable PostScript) is available on Solaris machines
-
-HAVE_DPS = yes
-
-#
-# Japanese manpages
-#
-JA_SOURCE_ENCODING = eucJP
-JA_TARGET_ENCODINGS = eucJP UTF-8 PCK
-
-# Settings for the JDI - Serviceability Agent binding.
-HOTSPOT_SALIB_PATH   = $(HOTSPOT_IMPORT_PATH)/jre/lib/$(LIBARCH)
-SALIB_NAME = $(LIB_PREFIX)saproc.$(LIBRARY_SUFFIX)
-SA_DEBUGINFO_NAME = $(LIB_PREFIX)saproc.debuginfo
-INCLUDE_SA=true
-
--- a/makefiles/common/Defs-windows.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,418 +0,0 @@
-#
-# Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code 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
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-#
-# Makefile to specify compiler flags for programs and libraries
-# targeted to Windows builds.  Should not contain any rules.
-#
-# WARNING: This file is shared with other workspaces. 
-#          So when it includes other files, it must use JDK_TOPDIR.
-#
-
-# Get shared JDK settings
-include $(JDK_MAKE_SHARED_DIR)/Defs.gmk
-
-# CC compiler object code output directive flag value
-CC_OBJECT_OUTPUT_FLAG = -Fo
-
-# The suffix applied to the library name for FDLIBM
-FDDLIBM_SUFFIX = lib
-# The suffix applied to scripts (.bat for windows, nothing for unix)
-SCRIPT_SUFFIX = .bat
-
-# LIB_LOCATION, which for windows identifies where .exe files go, may be
-# set by each GNUmakefile. The default is BINDIR.
-ifndef LIB_LOCATION
-  LIB_LOCATION = $(BINDIR)
-endif # LIB_LOCATION
-
-ifndef PLATFORM_SRC
-  PLATFORM_SRC  = $(BUILDDIR)/../src/windows
-endif # PLATFORM_SRC
-
-# Platform specific closed sources
-ifndef OPENJDK
-  ifndef CLOSED_PLATFORM_SRC
-    CLOSED_PLATFORM_SRC  = $(BUILDDIR)/../src/closed/windows
-  endif
-endif
-
-# for backwards compatability, the old "win32" is used here instead of 
-# the more proper "windows"
-PLATFORM_INCLUDE_NAME = win32
-PLATFORM_INCLUDE      = $(INCLUDEDIR)/$(PLATFORM_INCLUDE_NAME)
-
-# The following DLL's are considered MS runtime libraries and should
-#     not to be REBASEd, see deploy/make/common/Release.gmk.
-#     msvcr*.dll: Microsoft runtimes
-ifeq ($(COMPILER_VERSION), VS2010)
-  MSVCRNN_DLL = msvcr100.dll
-  MSVCPNN_DLL = msvcp100.dll
-endif
-
-EXTRA_LFLAGS += /LIBPATH:$(DXSDK_LIB_PATH)
-
-# C Compiler flag definitions
-
-#
-# Default optimization
-#
-
-ifndef OPTIMIZATION_LEVEL
-  ifeq ($(PRODUCT), java)
-    OPTIMIZATION_LEVEL = HIGHER
-  else
-    OPTIMIZATION_LEVEL = LOWER
-  endif
-endif
-ifndef FASTDEBUG_OPTIMIZATION_LEVEL
-  FASTDEBUG_OPTIMIZATION_LEVEL = LOWER
-endif
-
-ifeq ($(CC_VERSION),msvc)
-  # Visual Studio compiler option definitions:
-  #   -O1      Favors reduced size over speed (-Og     -Os -Oy -Ob2 -Gs -GF -Gy)
-  #   -O2      Favors speed over reduced size (-Og -Oi -Ot -Oy -Ob2 -Gs -GF -Gy)
-  #   -Ob2     More aggressive inlining
-  #   -Og      Global optimizations
-  #   -Oi      Replace some functions with intrinsic or special forms
-  #   -fp:precise (should be the default)
-  #            Improve floating point calculations (disables some optimizations)
-  #   -Os      Favor small code
-  #   -Ot      Favor faster code
-  #   -Oy      Frame pointer omission
-  #   -G6      Used to be -GB?
-  #   -GF      Pool strings in read-only memory
-  #   -Gf      Pool strings in read-write memory (the default)
-  #   -Gs      Controls stack probess
-  #   -GS      Adds buffer overflow checks on stacks (the default)
-  #   -EHsc    Enables exception handling 
-  #   -Gy      Function level linking only
-  #
-
-  CC_OPT/NONE    = -Od
-  CC_OPT/LOWER   = -O2
-  CC_OPT/HIGHER  = -O3
-  CC_OPT/HIGHEST = -O3
-  
-  ifeq ($(COMPILER_VERSION), VS2010)
-    # Automatic precompiled header option to use (if COMPILE_APPROACH=batch)
-    AUTOMATIC_PCH_OPTION =
-    GX_OPTION = -EHsc
-    GZ_OPTION = -RTC1
-    ifeq ($(ARCH_DATA_MODEL), 32)
-      CC_OPT/HIGHEST = -O2
-      CC_OPT/HIGHER  = -O1
-      CC_OPT/LOWER   = -O1
-    else
-      CC_OPT/HIGHEST = -O2
-      CC_OPT/HIGHER  = -O1
-      CC_OPT/LOWER   = -O1
-    endif
-  endif
-
-else # CC_VERSION
-  # GCC not supported, but left for historical reference...
-  CC_OPT/NONE     =
-  CC_OPT/LOWER    = -O2
-  CC_OPT/HIGHER   = -O2
-  CC_OPT/HIGHEST  = -O3
-
-endif
-
-CC_OPT = $(CC_OPT/$(OPTIMIZATION_LEVEL))
-
-# Select the runtime support library carefully, need to be consistent
-#
-# Visual Studio Runtime compiler option definitions:
-#   -MD        Use dynamic multi-threaded runtime library
-#   -MDd       Use debug version (don't use, doesn't mix with -MD DLL's)
-#   -MT        Use static multi-threaded runtime library (-ML is going away)
-#   -MTd       Use static debug version (better than -MDd, no runtime issues)
-#   -D_DEBUG   Change use of malloc/free/etc to use special debug ones (-MTd)
-#
-#      NOTE: We also will use /D _STATIC_CPPLIB  so we don't need msvcpnn.dll
-#
-# If MS_RUNTIME_STATIC is requested we may have a problem, it is no longer
-#     supported by VS2010
-ifneq ($(MS_RUNTIME_STATIC),true)
-  MS_RUNTIME_OPTION=-MD
-endif
-# The _DEBUG macro option (changes things like malloc to use debug version)
-MS_RUNTIME_DEBUG_OPTION=
-MS_RC_DEBUG_OPTION=
-# Externally set environment variable can force any build to use the debug vers
-ifeq ($(MFC_DEBUG), true)
-  ifeq ($(MS_RUNTIME_STATIC),true)
-    MS_RUNTIME_OPTION=-MTd
-  else
-    # This MS debugging flag forces a dependence on the debug
-    #     version of the runtime library (MSVCR*D.DLL), as does -MDd.
-    #     We cannot re-distribute this debug runtime.
-    MS_RUNTIME_OPTION=-MDd
-  endif
-  MS_RUNTIME_DEBUG_OPTION= -D_DEBUG
-  MS_RC_DEBUG_OPTION= -d _DEBUG
-endif
-
-# Always add _STATIC_CPPLIB definition
-STATIC_CPPLIB_OPTION = /D _STATIC_CPPLIB
-
-# Silence the warning about using _STATIC_CPPLIB
-ifneq ($(SHOW_ALL_WARNINGS),true)
-  # Needed with VS2010 to turn off the deprecated warning.
-  STATIC_CPPLIB_OPTION += /D _DISABLE_DEPRECATE_STATIC_CPPLIB
-endif
-
-MS_RUNTIME_OPTION += $(STATIC_CPPLIB_OPTION)
-
-ifeq ($(CC_VERSION),msvc)
-  # Visual Studio compiler option definitions:
-  #   -Zi      Cause *.pdb file to be created, full debug information
-  #   -Z7      Full debug inside the .obj, no .pdb
-  #   -Zd      Basic debug, no local variables? In the .obj
-  #   -Zl      Don't add runtime library name to obj file?
-  #   -Od      Turns off optimization and speeds compilation
-  #   -YX -Fp/.../foobar.pch   Use precompiled headers (try someday?)
-  #   -nologo  Don't print out startup message
-  #   /D _STATIC_CPPLIB
-  #            Use static link for the C++ runtime (so msvcpnn.dll not needed)
-  #   
-  CFLAGS_COMMON  += -Zi -nologo
-  CFLAGS_OPT      = $(CC_OPT)
-  CFLAGS_DBG      = -Od $(MS_RUNTIME_DEBUG_OPTION)
-
-  CFLAGS_VS2010 += -Zc:wchar_t-
-
-  # All builds get the same runtime setting
-  CFLAGS_COMMON += $(MS_RUNTIME_OPTION) $(CFLAGS_$(COMPILER_VERSION))
-
-  LDEBUG = /debug
-  
-  ifeq ($(VTUNE_SUPPORT), true)
-    OTHER_CFLAGS = -Z7 -Ox 
-    LDEBUG += /pdb:NONE
-  endif
-  
-  # VS2010, always need safe exception handlers, not needed on 64bit
-  ifeq ($(ARCH_DATA_MODEL), 32)
-    LFLAGS_VS2010 +=  -SAFESEH
-  endif
-
-  # LFLAGS are the flags given to $(LINK) and used to build the actual DLL file
-  BASELFLAGS = -nologo /opt:REF /incremental:no
-
-  LFLAGS = $(BASELFLAGS) $(LDEBUG) $(EXTRA_LFLAGS) $(LFLAGS_$(COMPILER_VERSION))
-  LDDFLAGS += $(LFLAGS_$(COMPILER_VERSION))
-  
-endif
-
-#
-# Preprocessor macro definitions
-#
-CPPFLAGS_COMMON = -DWIN32 -DIAL -D_LITTLE_ENDIAN
-ifeq ($(ARCH), amd64)
-  CPPFLAGS_COMMON += -D_AMD64_ -Damd64
-else
-  CPPFLAGS_COMMON += -D_X86_ -Dx86 
-endif
-CPPFLAGS_COMMON += -DWIN32_LEAN_AND_MEAN
-
-#
-# Output options (use specific filenames to avoid parallel compile errors)
-#
-CFLAGS_COMMON += -Fd$(OBJDIR)/$(basename $(@F)).pdb -Fm$(OBJDIR)/$(basename $(@F)).map
-
-#
-# Use -wdNNNN to disable warning NNNN.
-#   C4800 is a warning about bool performance casts (can't make go away)
-#
-COMPILER_WARNINGS_TO_IGNORE = 4800
-CFLAGS_COMMON += $(COMPILER_WARNINGS_TO_IGNORE:%=-wd%)
-
-#
-# Treat compiler warnings as errors, if requested
-#
-CFLAGS_COMMON += -W$(COMPILER_WARNING_LEVEL)
-ifeq ($(COMPILER_WARNINGS_FATAL),true)
-  CFLAGS_COMMON += -WX
-endif
-
-# Turn off some warnings by default, enable them all if asked.
-ifneq ($(SHOW_ALL_WARNINGS),true)
-  # The -D _CRT_SECURE_NO_DEPRECATE turns off security/deprecated warnings on
-  #    the standard C library functions like strcpy.
-  CFLAGS_COMMON += -D _CRT_SECURE_NO_DEPRECATE
-  # The -D _CRT_NONSTDC_NO_DEPRECATE turns off deprecation warnings about using
-  #    non-standard C POSIX functions.
-  CFLAGS_COMMON += -D _CRT_NONSTDC_NO_DEPRECATE
-endif
-
-CPPFLAGS_OPT    = -DNDEBUG
-CPPFLAGS_DBG    = -DDEBUG -DLOGGING
-
-CXXFLAGS_COMMON = $(CFLAGS_COMMON)
-CXXFLAGS_OPT    = $(CFLAGS_OPT)
-CXXFLAGS_DBG    = $(CFLAGS_DBG)
-
-ifneq ($(LIBRARY),fdlibm)
-  EXTRA_LIBS += advapi32.lib
-endif
-
-#
-# Path and option to link against the VM, if you have to. 
-#
-JVMLIB = $(LIBDIR)/jvm.lib
-JAVALIB = $(LIBDIR)/java.lib
-
-ifeq ($(CC_VERSION), msvc)
-  CC_DEPEND        = -FD
-  CC_DEPEND_FILTER = 
-else # CC_VERSION
-# not supported, but left for historical reference...
-  CC_DEPEND        = -MM
-  CC_DEPEND_FILTER = $(SED) -e 's!$*\.$(OBJECT_SUFFIX)!$(dir $@)&!g'
-endif # CC_VERSION
-
-LIBRARY_SUFFIX = dll
-LIB_SUFFIX     = lib
-
-# Settings for the JDI - Serviceability Agent binding.
-HOTSPOT_SALIB_PATH   = $(HOTSPOT_IMPORT_PATH)/jre/bin
-SALIB_NAME = $(LIB_PREFIX)sawindbg.$(LIBRARY_SUFFIX)
-SAMAP_NAME = $(LIB_PREFIX)sawindbg.map
-SAPDB_NAME = $(LIB_PREFIX)sawindbg.pdb
-
-ifeq ($(ARCH), ia64)
-  # SA will never be supported here.
-  INCLUDE_SA = false
-else
-  INCLUDE_SA = true
-endif
-
-# Settings for the VERSIONINFO tap on windows. 
-VERSIONINFO_RESOURCE = $(BUILDDIR)/../src/windows/resource/version.rc
-
-ifneq ($(JDK_BUILD_NUMBER),)
- COOKED_BUILD_NUMBER = $(shell $(ECHO) $(JDK_BUILD_NUMBER) | $(SED) -e 's/^b//' -e 's/^0//')
-else
- COOKED_BUILD_NUMBER = 0
-endif
-
-# If the update version contains non-numeric characters, we need
-# to massage it into a numeric format. 
-# We use the following formula:
-# JDK_UPDATE_VER = JDK_UPDATE_VERSION * 10 + EXCEPTION_VERSION
-#
-# Here are some examples:
-#     1.5.0    b01  ->  5,0,0,1
-#     1.5.0_10 b01  ->  5,0,100,1
-#     1.4.2 b01     ->  4,2,0,1
-#     1.4.2_02 b01  ->  4,2,20,1
-#     1.4.2_02a b01 ->  4,2,21,1
-#     1.4.2_02b b01 ->  4,2,22,1
-ifdef JDK_UPDATE_VERSION
-  VTMP := $(shell $(ECHO) $(JDK_UPDATE_VERSION) | $(TR) "abcde" "12345")
-  CAB_CHAR1 := $(shell $(ECHO) $(VTMP) | $(NAWK) '{print substr($$1, 1, 1);}')
-  CAB_CHAR2 := $(shell $(ECHO) $(VTMP) | $(NAWK) '{print substr($$1, 2, 1);}')
-  CAB_CHAR3 := $(shell $(ECHO) $(VTMP) | $(NAWK) '{print substr($$1, 3, 1);}')
-  JDK_UPDATE_META_TAG := U$(MARKETING_NUMBER)
-  ifeq ($(CAB_CHAR3),)
-    CAB_CHAR3 := 0
-  endif
-  ifeq ($(CAB_CHAR1), 0)
-    JDK_UPDATE_VER := $(CAB_CHAR2)$(CAB_CHAR3)
-  else
-    JDK_UPDATE_VER := $(CAB_CHAR1)$(CAB_CHAR2)$(CAB_CHAR3)
-  endif
-else
-  JDK_UPDATE_VER := 0
-endif
-
-#RC_FLAGS = /l 0x409 /r
-
-#ifeq ($(VARIANT), OPT)
-#  RC_FLAGS += -d NDEBUG 
-#else
-#  RC_FLAGS += $(MS_RC_DEBUG_OPTION)
-#endif 
-
-# Values for the RC variables defined in RC_FLAGS
-#JDK_RC_BUILD_ID = $(FULL_VERSION)
-#JDK_RC_COMPANY = $(COMPANY_NAME)
-#JDK_RC_COMPONENT = $(PRODUCT_NAME) $(JDK_RC_PLATFORM_NAME) binary
-#JDK_RC_VER = \
-#    $(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION).$(JDK_UPDATE_VER).$(COOKED_BUILD_NUMBER)
-#JDK_RC_COPYRIGHT = Copyright \xA9 $(COPYRIGHT_YEAR)
-#JDK_RC_NAME = \
-#    $(PRODUCT_NAME) $(JDK_RC_PLATFORM_NAME) $(JDK_MINOR_VERSION) $(JDK_UPDATE_META_TAG)
-#JDK_RC_FVER = \
-#    $(JDK_MINOR_VERSION),$(JDK_MICRO_VERSION),$(JDK_UPDATE_VER),$(COOKED_BUILD_NUMBER)
-
-# JDK name required here
-#RC_FLAGS += -d "JDK_BUILD_ID=$(JDK_RC_BUILD_ID)" \
-#            -d "JDK_COMPANY=$(JDK_RC_COMPANY)" \
-#            -d "JDK_COMPONENT=$(JDK_RC_COMPONENT)" \
-#            -d "JDK_VER=$(JDK_RC_VER)" \
-#            -d "JDK_COPYRIGHT=$(JDK_RC_COPYRIGHT)" \
-#            -d "JDK_NAME=$(JDK_RC_NAME)" \
-#            -d "JDK_FVER=$(JDK_RC_FVER)"
-
-# Enable 7-Zip LZMA file (de)compression for Java Kernel if it is available
-ifeq ($(ARCH_DATA_MODEL), 32)
-  ifneq ($(KERNEL), off)
-    # This is a hack to use until  7-Zip (and UPX) bundles can be put
-    # under /java/devtools.
-    ifndef DEPLOY_TOPDIR
-      DEPLOY_TOPDIR=$(JDK_TOPDIR)/../deploy
-    endif
-    # Uncomment this block to cause build failure if above assumption false
-    #DCHK = $(shell if [ ! -d $(DEPLOY_TOPDIR) ] ; then \
-    #  $(ECHO) deploy_not_a_peer_of_j2se ; \
-    #fi )
-    #ifeq ($(DCHK), deploy_not_a_peer_of_j2se)
-    #  If a build failure points to control coming here it means
-    #  it means deploy is not in the same directory
-    #  as j2se. Java Kernel can't tolerate that for the time being.
-    #endif
-    EC_TMP = $(shell if [ -d $(DEPLOY_TOPDIR)/make/lzma ] ; then \
-      $(ECHO) true ; \
-    else \
-      $(ECHO) false ; \
-    fi )
-    ifeq ($(EC_TMP), true)
-      EXTRA_COMP_INSTALL_PATH = lib\\\\deploy\\\\lzma.dll
-      # Crazy but true: deploy/make/plugin/jinstall/Makefile.jkernel does
-      # not include deploy/make/common/Defs-windows.gmk, either directly
-      # or indirectly. But it does include this file, so redundantly declare
-      # these variables that are in deploy/make/common/Defs-windows.gmk for
-      # the sake of the Java Kernel part of the deploy build. Whew!
-      EXTRA_COMP_LIB_NAME = lzma.dll
-      EXTRA_COMP_PATH = $(OUTPUTDIR)/tmp/deploy/lzma/win32/obj
-      EXTRA_COMP_CMD_PATH = $(EXTRA_COMP_PATH)/lzma.exe
-      EXTRA_COMP_LIB_PATH = $(EXTRA_COMP_PATH)/$(EXTRA_COMP_LIB_NAME)
-    endif
-  endif
-endif
--- a/makefiles/common/Defs.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,577 +0,0 @@
-#
-# Copyright (c) 1995, 2011, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code 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
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-#
-# Common variables used by all the Java makefiles.  This file should
-# not contain rules.
-#
-
-# WARNING: This file is shared with other workspaces.
-#          So when it includes other files, it must use JDK_TOPDIR.
-#
-
-# Check for strange explicit settings (change to empty or true)
-ifdef OPENJDK
-  ifneq ($(OPENJDK),true)
-    x:=$(error "OPENJDK (if defined) can only be set to true")
-  endif
-endif
-
-#
-# On Solaris, the 'make' utility from Sun will not work with these makefiles.
-#    This little rule is only understood by Sun's make, and is harmless
-#    when seen by the GNU make tool. If using Sun's make, this causes the
-#    make command to fail.
-#
-SUN_MAKE_TEST:sh = echo "ERROR: PLEASE USE GNU VERSION OF MAKE"; exit 33
-
-include $(SPEC)
-include $(JDK_MAKE_SHARED_DIR)/Platform.gmk
-
-# Historically PLATFORM_SRC used to be src/$(PLATFORM), but we switched it to
-# src/solaris so if you want to build on Linux you didn't need a src/linux
-# directory.  In an ideal world it would be called src/genunix but we are not
-# there yet.
-#
-ifndef SHARE_SRC
-  SHARE_SRC    = $(BUILDDIR)/../src/share
-endif
-
-# Files that cannot be included in the OpenJDK distribution are
-# collected under a parent directory which contains just those files.
-ifndef CLOSED_SRC
-  CLOSED_SRC  = $(BUILDDIR)/../src/closed
-endif
-
-# If CLOSE_SRC_INCLUDED isn't set to true, check if there's any
-# closed directory.
-ifneq ($(CLOSED_SRC_INCLUDED), true)
-  CLOSED_SRC_INCLUDED := $(shell \
-    if [ -d $(CLOSED_SRC) ] ; then \
-      echo true; \
-    else \
-      echo false; \
-    fi)
-endif
-
-# Set OPENJDK based on CLOSED_SRC_INCLUDED
-ifeq ($(CLOSED_SRC_INCLUDED), false)
-  OPENJDK = true
-endif
-
-# Define where closed directories are
-ifdef OPENJDK
-  CLOSED_SRC =
-  CLOSED_SHARE_SRC =
-else
-  ifndef CLOSED_SHARE_SRC
-    CLOSED_SHARE_SRC    = $(CLOSED_SRC)/share
-  endif
-endif
-
-#
-# Get platform definitions
-#
-
-include $(JDK_TOPDIR)/makefiles/common/Defs-$(PLATFORM).gmk
-
-#
-# SE-Embedded support, if enabled
-#
-
-include $(JDK_TOPDIR)/makefiles/common/Defs-embedded.gmk
-
-#
-# Cross-compilation Settings
-#
-ifdef CROSS_COMPILE_ARCH
-  # Can't run the tools we just built
-  USE_ONLY_BOOTDIR_TOOLS = true
-
-  # When cross-compiling CC generates code for the target, but
-  # some parts of the build generate C code that has to be compiled
-  # and executed on the build host - HOST_CC is the 'local' compiler.
-  # For linux the default is /usr/bin/gcc; other platforms need to
-  # set it explicitly
-  ifeq ($(PLATFORM), linux)
-    ifndef HOST_CC
-      HOST_CC = $(USRBIN_PATH)gcc
-    endif
-  endif
-else
-  # Must set HOST_CC if not already set
-  ifndef HOST_CC
-    HOST_CC = $(CC)
-  endif
-endif
-
-# Reset the VM name for client-only builds
-ifeq ($(JVM_VARIANT),client)
-  VM_NAME = client
-endif
-
-#
-# Freetype logic is applicable to OpenJDK only
-#
-ifdef OPENJDK
-
-ifeq ($(PLATFORM), windows)
-  DEVTOOLS_FT_DIR=$(JDK_DEVTOOLS_DIR)/win32/freetype-$(ARCH)
-endif
-ifeq ($(PLATFORM), linux)
-  DEVTOOLS_FT_DIR=$(JDK_DEVTOOLS_DIR)/$(PLATFORM)/freetype-$(ARCH)
-endif
-ifeq ($(PLATFORM), solaris)
-  # historically for Solaris we have slightly different devtools 
-  # naming conventions
-  DEVTOOLS_FT_DIR=$(JDK_DEVTOOLS_DIR)/$(ARCH_FAMILY)/freetype-$(ARCH)
-endif
-
-DEVTOOLS_FT_DIR_EXISTS = $(shell \
-  if [ -f $(DEVTOOLS_FT_DIR)/include/ft2build.h ] ; then \
-    echo true; \
-  else \
-    echo false; \
-  fi)
-
-  ifdef ALT_FREETYPE_LIB_PATH
-    FREETYPE_LIB_PATH = $(ALT_FREETYPE_LIB_PATH)
-    ifeq ($(PLATFORM), macosx)
-      USING_SYSTEM_FT_LIB=true
-    endif
-  else
-    ifeq ($(DEVTOOLS_FT_DIR_EXISTS), true)
-      FREETYPE_LIB_PATH = $(DEVTOOLS_FT_DIR)/lib
-    else
-      ifeq ($(PLATFORM), macosx)
-        FREETYPE_LIB_PATH = /usr/X11R6/lib
-      else
-        FREETYPE_LIB_PATH = /usr/lib
-      endif
-      USING_SYSTEM_FT_LIB=true
-    endif
-  endif 
-
-  ifdef ALT_FREETYPE_HEADERS_PATH
-    FREETYPE_HEADERS_PATH = $(ALT_FREETYPE_HEADERS_PATH)
-  else
-    ifeq ($(DEVTOOLS_FT_DIR_EXISTS), true)
-      FREETYPE_HEADERS_PATH = $(DEVTOOLS_FT_DIR)/include
-    else
-      ifeq ($(PLATFORM), macosx)
-        FREETYPE_HEADERS_PATH = /usr/X11R6/include
-      else
-        FREETYPE_HEADERS_PATH = /usr/include
-      endif
-    endif
-  endif
-endif
-
-#
-# zlib version
-#
-ZLIB_VERSION = 1.2.5
-
-
-#
-# Localizations for the different parts of the product beyond English
-#
-
-JRE_LOCALES   = de es fr it ja ko pt_BR sv zh_CN zh_TW zh_HK
-PLUGIN_LOCALES = de es fr it ja ko pt_BR sv zh_CN zh_TW zh_HK
-JDK_LOCALES  = ja zh_CN
-
-#
-# A list of locales we support but don't have resource files.
-# This is defined to optimize the search of resource bundles.
-#
-JRE_NONEXIST_LOCALES = en en_US de_DE es_ES fr_FR it_IT ja_JP ko_KR sv_SE zh
-
-#
-# For now, most libraries except libjava and libjvm itself link against libjvm
-# and libjava, the latter for its exported common utilities. libjava only
-# links against libjvm. Programs' makefiles take their own responsibility for
-# adding other libs.
-#
-# The makefiles for these packages do not link against libjvm and libjava.
-# This list will eventually go away and each Programs' makefiles
-# will have to explicitly declare that they want to link to libjava/libjvm
-#
-NO_JAVALIB_PKGS = \
-		sun.security.mscapi \
-		sun.security.krb5 \
-		sun.security.pkcs11 \
-		sun.security.jgss \
-		sun.security.jgss.wrapper \
-		sun.security.ec \
-		sun.security.smartcardio \
-		com.sun.security.auth.module
-
-ifdef PACKAGE
-# put JAVALIB first, but do not lose any platform specific values....
-  ifeq (,$(findstring $(PACKAGE),$(NO_JAVALIB_PKGS)))
-    LDLIBS_COMMON = $(JAVALIB)
-  endif
-endif # PACKAGE
-
-#
-# Libraries that must appear ahead of libc.so on the link command line
-#
-ifdef PROGRAM
-
-  ifeq ($(PLATFORM), solaris)
-    LDLIBS_COMMON = -lthread -ldl
-  endif
-
-  ifeq ($(PLATFORM), linux)
-    LDLIBS_COMMON = -ldl
-  endif
-
-  ifeq ($(PLATFORM), macosx)
-    LDLIBS_COMMON = -pthread
-  endif
-
-endif # PROGRAM
-
-LDLIBS_COMMON += $(EXTRA_LIBS)
-
-# for generated binaries
-BINDIR              = $(OUTPUTDIR)/bin$(ISA_DIR)
-# for generated libraries
-LIBDIR              = $(OUTPUTDIR)/lib
-ABS_LIBDIR          = $(ABS_OUTPUTDIR)/lib
-# Optional place to save the windows .lib files
-LIBFILES_DIR        = $(OUTPUTDIR)/libfiles
-# for ext jre files
-EXTDIR              = $(LIBDIR)/ext
-# for generated include files
-INCLUDEDIR          = $(OUTPUTDIR)/include
-# for generated class files
-CLASSBINDIR         = $(OUTPUTDIR)/classes
-DEMOCLASSDIR        = $(OUTPUTDIR)/democlasses
-# for generated tool class files
-BUILDTOOLCLASSDIR   = $(OUTPUTDIR)/btclasses
-# for build tool jar files
-BUILDTOOLJARDIR     = $(OUTPUTDIR)/btjars
-ABS_BUILDTOOLJARDIR = $(ABS_OUTPUTDIR)/btjars
-# for generated tool class files
-BUILDTOOLBINDIR     = $(OUTPUTDIR)/btbins
-# for generated java source files
-GENSRCDIR           = $(OUTPUTDIR)/gensrc
-# for generated C source files (not javah)
-GENNATIVESRCDIR     = $(OUTPUTDIR)/gennativesrc
-# for imported source files
-IMPORTSRCDIR        = $(OUTPUTDIR)/impsrc
-# for imported documents
-IMPORTDOCDIR        = $(OUTPUTDIR)/impdoc
-# for generated demo
-DEMODIR             = $(OUTPUTDIR)/demo
-NEWDEMODIR	    = $(OUTPUTDIR)/newdemo
-# for sample code
-SAMPLEDIR           = $(OUTPUTDIR)/sample
-# for generated documentation
-DOCSDIR             = $(OUTPUTDIR)/docs$(DOCSDIRSUFFIX)
-DOCSDIRSUFFIX       =
-
-# The MESSAGE, WARNING and ERROR files are used to store sanityck and 
-# warnings and errors. 
-ifndef ERROR_FILE
-  ERROR_FILE   = $(OUTPUTDIR)/sanityCheckErrors.txt
-endif
-ifndef WARNING_FILE
-  WARNING_FILE = $(OUTPUTDIR)/sanityCheckWarnings.txt
-endif
-ifndef MESSAGE_FILE
-  MESSAGE_FILE = $(OUTPUTDIR)/sanityCheckMessages.txt
-endif
-
-#where the demo source can be found
-DEMOSRCDIR          = $(SHARE_SRC)/demo
-
-#where the sample source can be found
-SAMPLESRCDIR          = $(SHARE_SRC)/sample
-
-# An attempt is made to generate unique enough directories for the
-# generated files to not have name collisisons. Most build units
-# defines PRODUCT (except Release.gmk), but then they may or may 
-# not define PACKAGE, PROGRAM, and LIBRARY. This code attempts to
-# generate a unique OBJDIR/CLASSHDRDIR for each build unit based
-# on which of those values are set within each build unit.
-
-UNIQUE_LOCATION_STRING = tmp
-
-ifneq ($(PRODUCT),)
-  UNIQUE_LOCATION_STRING += /$(PRODUCT)
-endif
-
-ifneq ($(PACKAGE),)
-  UNIQUE_LOCATION_STRING += /$(PACKAGE)
-endif
-
-ifneq ($(PROGRAM),)
-  UNIQUE_LOCATION_STRING += /$(PROGRAM)
-endif
-
-ifneq ($(LIBRARY),)
-  ifneq ($(LIBRARY_OUTPUT),)
-    UNIQUE_LOCATION_STRING += /$(LIBRARY_OUTPUT)
-  else
-    UNIQUE_LOCATION_STRING += /$(LIBRARY)
-  endif
-endif
-
-# the use of += above makes a space separated list which we need to 
-# remove for filespecs.
-#
-NULLSTRING :=
-ONESPACE := $(NULLSTRING) # space before this comment is required.
-UNIQUE_PATH = $(subst $(ONESPACE),,$(UNIQUE_LOCATION_STRING))
-
-# TEMPDIR is a unique general purpose directory
-# need to use 'override' because GNU Make on Linux exports the wrong
-# value.
-TEMPDIR      ?= $(OUTPUTDIR)/$(UNIQUE_PATH)
-ABS_TEMPDIR  ?= $(ABS_OUTPUTDIR)/$(UNIQUE_PATH)
-
-# This must be created right away for pattern rules in Sanity.gmk to work.
-dummy1:=$(shell $(MKDIR) -p $(TEMPDIR))
-dummy2:=$(shell $(MKDIR) -p $(TEMP_DISK))
-
-# OBJDIRNAME is the name of the directory where the object code is to
-#   be placed. It's name depends on whether the data model architecture 
-#   is 32-bit or not.
-ifneq ($(ARCH_DATA_MODEL), 32)
-  OBJDIRNAME  = obj$(ARCH_DATA_MODEL)$(OBJDIRNAME_SUFFIX)
-else
-  OBJDIRNAME  = obj$(OBJDIRNAME_SUFFIX)
-endif
-OBJDIR      = $(TEMPDIR)/$(OBJDIRNAME)
-
-# CLASSHDRDIR is where the generated C Class Header files go.
-CLASSHDRDIR = $(TEMPDIR)/CClassHeaders
-
-#
-# CLASSDESTDIR can be used to specify the directory where generated classes
-# are to be placed. The default is CLASSBINDIR.
-#
-ifndef CLASSDESTDIR
-CLASSDESTDIR = $(CLASSBINDIR)
-endif
-
-INCLUDES = -I. -I$(CLASSHDRDIR) \
-	$(patsubst %,-I%,$(subst $(CLASSPATH_SEPARATOR), ,$(VPATH.h))) $(OTHER_INCLUDES)
-OTHER_CPPFLAGS += $(INCLUDES)
-
-#
-# vpaths.  These are the default locations searched for source files.
-# GNUmakefiles of individual areas often override the default settings.
-# There are no longer default vpath entries for C and assembler files
-# so we can ensure that libraries don't get their hands on JVM files.
-#
-# We define an intermediate variable for Java files because
-# we use its value later to help define $SOURCEPATH
-
-ifeq ($(PLATFORM), macosx)
-  VPATH0.java = $(subst $(ONESPACE),:,$(GENSRCDIR) $(call JavaSrcDirList,,classes))
-else
-  VPATH0.java = $(GENSRCDIR)$(CLASSPATH_SEPARATOR)$(PLATFORM_SRC)/classes$(CLASSPATH_SEPARATOR)$(SHARE_SRC)/classes
-endif
-
-ifdef OPENJDK
-  VPATH.java = $(VPATH0.java)
-else
-  #
-  # If filenames are duplicated between open/closed workspaces, prefer
-  # the closed files.
-  #
-  # Source ordering is important: some targets depend on closed files
-  # replacing open ones, and thus the closed file sources must be found
-  # before the open ones.
-  #
-  # Don't reorder without consulting the teams that depend on this behavior.
-  #
-  VPATH.java = $(CLOSED_PLATFORM_SRC)/classes$(CLASSPATH_SEPARATOR)$(CLOSED_SHARE_SRC)/classes$(CLASSPATH_SEPARATOR)$(VPATH0.java)
-endif
-vpath %.java $(VPATH.java)
-vpath %.class $(CLASSBINDIR)
-vpath %.$(OBJECT_SUFFIX) $(OBJDIR)
-
-#
-# VPATH.h is used elsewhere to generate include flags.  By default, 
-# anyone has access to the include files that the JVM area exports,
-# namely jni.h, jvm.h, and jni_utils.h, plus their platform-specific
-# relatives.
-#
-VPATH0.h =   $(PLATFORM_SRC)/javavm/export$(CLASSPATH_SEPARATOR)$(SHARE_SRC)/javavm/export
-ifdef OPENJDK
-  VPATH.h = $(VPATH0.h)
-else
-  VPATH.h = $(CLOSED_SHARE_SRC)/javavm/export$(CLASSPATH_SEPARATOR)$(VPATH0.h)
-endif
-vpath %.h   $(VPATH.h)
-
-#
-# Used in two ways: helps link against libjava.so. Also if overridden
-# determines where your shared library is installed.
-#
-ifndef LIB_LOCATION
-  LIB_LOCATION    =  $(LIBDIR)/$(LIBARCH)
-endif
-
-#
-# Java header and stub variables
-#
-CLASSHDRS     = $(patsubst %,$(CLASSHDRDIR)/%.h,$(subst .,_,$(CLASSES.export)))
-CLASSSTUBOBJS = classstubs.$(OBJECT_SUFFIX)
-STUBPREAMBLE  = $(INCLUDEDIR)/StubPreamble.h
-
-#
-# Classpath seen by javac (different from the one seen by the VM
-# running javac), and useful variables.
-#
-SOURCEPATH	= $(VPATH.java)
-PKG		= $(shell $(EXPR) $(PACKAGE) : '\([a-z]*\)')
-PKGDIR		= $(subst .,/,$(PACKAGE))
-
-#
-# The java/javac/jdk variables (JAVAC_CMD, JAVA_CMD, etc.)
-#
-include $(JDK_MAKE_SHARED_DIR)/Defs-java.gmk
-
-UNIQUE_PATH_PATTERN = $(subst /,.,$(UNIQUE_PATH))
-
-# Run MAKE $@ for a launcher:
-#   $(call make-launcher, name, mainclass, java-args, main-args)
-define make-launcher
-$(CD) $(BUILDDIR)/launchers && \
-$(MAKE) -f Makefile.launcher \
-        PROGRAM=$(strip $1) \
-        MAIN_CLASS=$(strip $2) \
-        MAIN_JAVA_ARGS="$(strip $3)" \
-        MAIN_ARGS="$(strip $4)"
-endef
-
-#
-# Convenient macros
-#
-
-# Prepare $@ target, remove old one and making sure directory exists
-define prep-target
-mkdir -p $(@D)
-rm -f $@
-endef
-
-# Simple install of $< file to $@
-define install-file
-$(prep-target)
-$(CP) $< $@
-endef
-
-define chmod-file
-$(CHMOD) $1 $@
-endef
-
-define install-sym-link
-$(LN) -s $1 $@
-endef
-
-define install-manifest-file
-$(install-file)
-endef
-
-# Cleanup rule for after debug java run (hotspot.log file is left around)
-#   (This could be an old leftover file in a read-only area, use the @- prefix)
-HOTSPOT_LOG_NAME = hotspot.log
-define java-vm-cleanup
-if [ -w $(HOTSPOT_LOG_NAME) ] ; then rm -f $(HOTSPOT_LOG_NAME); fi
-endef
-
-# Current directory
-CURRENT_DIRECTORY := $(shell $(PWD))
-
-#
-# Create BYFILE OPT and DBG settings, if CFLAGS_OPT/foobar.o is set then it is
-#    used for this file, otherwise the default settings are used.
-#
-CFLAGS_$(VARIANT)/BYFILE    = $(CFLAGS_$(VARIANT)/$(@F)) \
-                              $(CFLAGS_$(VARIANT)$(CFLAGS_$(VARIANT)/$(@F)))
-CXXFLAGS_$(VARIANT)/BYFILE  = $(CXXFLAGS_$(VARIANT)/$(@F)) \
-                              $(CXXFLAGS_$(VARIANT)$(CXXFLAGS_$(VARIANT)/$(@F)))
-
-#
-# Tool flags
-#
-# EXTRA_CFLAGS are used to define cross-compilation options
-#
-ASFLAGS         = $(ASFLAGS_$(VARIANT)) $(ASFLAGS_COMMON) $(OTHER_ASFLAGS)
-CFLAGS          = $(CFLAGS_$(VARIANT)/BYFILE)   $(CFLAGS_COMMON) $(OTHER_CFLAGS) $(EXTRA_CFLAGS)
-CXXFLAGS        = $(CXXFLAGS_$(VARIANT)/BYFILE) $(CXXFLAGS_COMMON) $(OTHER_CXXFLAGS) $(EXTRA_CFLAGS)
-CPPFLAGS        = $(CPPFLAGS_$(VARIANT)) $(CPPFLAGS_COMMON) $(OTHER_CPPFLAGS) \
-		  $(DEFINES) $(OPTIONS:%=-D%) 
-LDFLAGS         = $(LDFLAGS_$(VARIANT)) $(LDFLAGS_COMMON) $(OTHER_LDFLAGS)
-LDLIBS          = $(OTHER_LDLIBS) $(LDLIBS_$(VARIANT)) $(LDLIBS_COMMON)
-LINTFLAGS       = $(LINTFLAGS_$(VARIANT)) $(LINTFLAGS_COMMON) \
-		  $(OTHER_LINTFLAGS)
-
-VERSION_DEFINES = -DRELEASE='"$(RELEASE)"'
-
-ifdef INSANE
-  export INSANE
-endif
-
-ifdef ALT_COPYRIGHT_YEAR
-  COPYRIGHT_YEAR = $(ALT_COPYRIGHT_YEAR)
-else
-  COPYRIGHT_YEAR := $(shell $(DATE) '+%Y')
-endif
-
-ifndef OPENJDK
-include $(JDK_TOPDIR)/make/closed/common/Defs.gmk
-endif
-
-# Install of imported file (JDK_IMPORT_PATH, or some other external location)
-define install-importonly-file
-@$(ECHO) "ASSEMBLY_IMPORT: $@"
-$(prep-target)
-$(CP) $< $@
-@if [ "$(PLATFORM)" = "linux" -a "$(@F)" = "libjvm.so" ] ; then     \
-  if [ -x /usr/sbin/selinuxenabled ] ; then                         \
-    /usr/sbin/selinuxenabled;                                       \
-    if [ $$? = 0 ] ; then                                           \
-      $(ECHO) "/usr/bin/chcon -t textrel_shlib_t $@";               \
-      /usr/bin/chcon -t textrel_shlib_t $@;                         \
-      if [ $$? != 0 ]; then                                         \
-        echo "ERROR: Cannot chcon $@";                              \
-      fi;                                                           \
-    fi;                                                             \
-  fi;                                                               \
-fi
-endef
-
-define install-import-file
-$(install-importonly-file)
-endef
-
-.PHONY: all build clean clobber
--- a/makefiles/common/Demo.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,415 +0,0 @@
-#
-# Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code 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
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-COMPILE.c = $(CC) $(CFLAGS) $(CPPFLAGS) -c
-COMPILE.cc = $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c
-LINK.c = $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) 
-LINK.cc = $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS) 
-
-# JDK Demo building jar file.
-  
-# Some names are defined with LIBRARY inside the Defs.gmk file
-LIBRARY=$(DEMONAME)
-OBJDIR=$(TEMPDIR)/$(DEMONAME)
-
-# Input:
-#    DEMONAME           - name of the demo
-#    DEMO_ROOT          - path to root of all demo files
-#    DEMO_DESTDIR       - path to final demo destination directory
-#
-# Optional Input:
-#    DEMO_SRCDIR        - path to source if different from DEMO_ROOT
-#    DEMO_PSRCDIR       - path to additional platform specific source
-#    DEMO_PKGDIR        - sub directory of sources we want
-#    DEMO_TOPFILES      - names of top-level files relative to DEMO_ROOT
-#    DEMO_MAINCLASS     - name of the main class for the jar manifest
-#    DEMO_NATIVECLASS   - name of the class with native methods
-#    DEMO_DESCRIPTOR    - name of service file for jar (relative to DEMO_SRCDIR)
-#    DEMO_EXTRA_SRCDIR  - path to directory that holds extra sources to add
-#    DEMO_EXTRA_FILES   - extra sources relative to DEMO_EXTRA_SRCDIR
-#    DEMO_OBJECTS       - extra native object files needed
-#    DEMO_MANIFEST_ATTR - extra line to add to the jar manifest file
-
-# Assume the source directory is the root directory if not set
-ifndef DEMO_SRCDIR
-  DEMO_SRCDIR = $(DEMO_ROOT)
-endif
-ifndef DEMO_PKGDIR
-  DEMO_PKGDIR = .
-endif
-
-# Some demos have special needs
-ifneq ($(DEMONAME),agent_util)
-  DEMO_NEEDS_AGENT_UTIL    = $(findstring agent_util,$(DEMO_OBJECTS))
-endif
-ifneq ($(DEMONAME),java_crw_demo)
-  DEMO_NEEDS_JAVA_CRW_DEMO = $(findstring java_crw_demo,$(DEMO_OBJECTS))
-endif
-ifeq ($(DEMONAME),hprof)
-  DEMO_NEEDS_NPT           = true
-endif
-
-# Place to hold the build area (kind of a temp area)
-DEMO_BUILD_AREA     = $(DEMOCLASSDIR)/$(PRODUCT)/$(DEMONAME)
-
-# Destination "src" directory
-DEMO_BUILD_SRCDIR     = $(DEMO_BUILD_AREA)/src
-
-ifndef DEMO_SKIP_SRCZIP
-  DEMO_BUILD_SRCZIP     = $(DEMO_BUILD_AREA)/src.zip
-  DEMO_SOURCE_ZIP       = $(DEMO_DESTDIR)/src.zip
-endif
-
-# Place to hold the jar image we are creating
-DEMO_JAR_IMAGE      = $(DEMO_BUILD_AREA)/jar_image
-
-# The jar manifest file we will create and use
-DEMO_MANIFEST       = $(DEMO_BUILD_AREA)/manifest.mf
-
-# The list of source files or options we will supply to javac
-DEMO_JAVAC_INPUT    = $(DEMO_BUILD_AREA)/javac_input.txt
-
-# Any name of javah file
-DEMO_JAVAH_FILE = $(DEMO_NATIVECLASS:%=$(DEMO_BUILD_SRCDIR)/%.h)
-
-# Get complete list of files for this demo
-ifdef DEMO_PSRCDIR
-  DEMO_ALL_FILES2  := $(shell ( $(CD) $(DEMO_PSRCDIR) \
-    && $(FIND) $(DEMO_PKGDIR) $(SCM_DIRS_prune) -o -type f -print ) \
-    | $(SED) 's@^\./@@' )
-  DEMO_ALL_FILES   += $(DEMO_ALL_FILES2)
-endif
-ifdef DEMO_EXTRA_SRCDIR
-  DEMO_ALL_FILES   += $(DEMO_EXTRA_FILES)
-endif
-DEMO_ALL_FILES1    := $(shell ( $(CD) $(DEMO_SRCDIR) \
-  && $(FIND) $(DEMO_PKGDIR) $(SCM_DIRS_prune) -o -type f -print ) \
-  | $(SED) 's@^\./@@' )
-DEMO_ALL_FILES      += $(DEMO_ALL_FILES1)
-
-# Just the java sources
-DEMO_JAVA_SOURCES = $(filter %.java,$(DEMO_ALL_FILES))
-
-# Just the C and C++ sources
-DEMO_C_SRC_FILES   = $(filter %.c,$(DEMO_ALL_FILES))
-DEMO_CPP_SRC_FILES = $(filter %.cpp,$(DEMO_ALL_FILES))
-
-# All the native source files
-DEMO_ALL_NATIVE_SOURCES  = $(DEMO_C_SRC_FILES)
-DEMO_ALL_NATIVE_SOURCES += $(DEMO_CPP_SRC_FILES)
-DEMO_ALL_NATIVE_SOURCES += $(filter %.h,$(DEMO_ALL_FILES))
-DEMO_ALL_NATIVE_SOURCES += $(filter %.hpp,$(DEMO_ALL_FILES))
-
-# If we have java sources, then define the jar file we will create
-ifndef DEMO_JAR_NAME
-  DEMO_JAR_NAME = $(DEMONAME).jar
-endif
-ifneq ($(strip $(DEMO_JAVA_SOURCES)),)
-  DEMO_JAR            = $(DEMO_DESTDIR)/$(DEMO_JAR_NAME)
-endif
-
-# If we have native sources, define the native library we will create
-ifneq ($(strip $(DEMO_ALL_NATIVE_SOURCES)),)
-  # Path to native library we will create
-  DEMO_LIBRARY = \
-      $(DEMO_DESTDIR)/lib$(ISA_DIR)/$(LIB_PREFIX)$(DEMONAME).$(LIBRARY_SUFFIX)
-  # C and C++ compiler flags we need to add to standard flags
-  DEMO_CPPFLAGS     += -I$(DEMO_BUILD_SRCDIR)
-  # If the npt library is used we need to find the npt.h file
-  ifneq ($(DEMO_NEEDS_NPT),)
-    # The npt library is delivered as part of the JRE
-    DEMO_CPPFLAGS   += -I$(SHARE_SRC)/npt -I$(PLATFORM_SRC)/npt
-  endif
-  # Is the shared agent_util code needed
-  ifneq ($(DEMO_NEEDS_AGENT_UTIL),)
-    DEMO_FULL_SOURCES  += $(DEMO_BUILD_SRCDIR)/agent_util.c
-    DEMO_FULL_SOURCES  += $(DEMO_BUILD_SRCDIR)/agent_util.h
-  endif
-  # Is the shared java_crw_demo code needed
-  ifneq ($(DEMO_NEEDS_JAVA_CRW_DEMO),)
-    DEMO_FULL_SOURCES  += $(DEMO_BUILD_SRCDIR)/java_crw_demo.c
-    DEMO_FULL_SOURCES  += $(DEMO_BUILD_SRCDIR)/java_crw_demo.h
-  endif
-  # All the native object files we need to build the library
-  DEMO_OBJECTS += $(DEMO_C_SRC_FILES:%.c=%.$(OBJECT_SUFFIX)) \
-                  $(DEMO_CPP_SRC_FILES:%.cpp=%.$(OBJECT_SUFFIX))
-  # Linking is special depending on whether we had C++ code or on windows
-  DEMO_NEEDS_CPP = $(strip $(DEMO_CPP_SRC_FILES))
-  CPPFLAGS      += $(DEMO_CPPFLAGS)
-  ifeq ($(PLATFORM),windows)
-    # Note: This is a link with cl.exe, not link.exe, options differ quite
-    #       bit between them.
-    LINK.demo   = $(LINK.c)
-    LDLIBS.demo = $(EXTRA_LIBS) $(LFLAGS_$(COMPILER_VERSION))
-    DEMO_VERSION_INFO = $(OBJDIR)/$(LIBRARY).res
-    LDLIBS.demo += $(DEMO_VERSION_INFO)
-  else
-    ifneq ($(DEMO_NEEDS_CPP),)
-      LINK.demo   = $(LINK.cpp)
-      LDLIBS.demo = $(LIBCXX)
-      ifeq ($(PLATFORM),solaris)
-        LDLIBS.demo += -lc
-      endif
-    else
-      LINK.demo   = $(LINK.c)
-      LDLIBS.demo = $(LDLIBS)
-    endif
-  endif
-endif
-
-# Files that are considered resources (need to be in the jar file)
-DEMO_RESOURCES        += $(filter-out %.java,$(DEMO_ALL_FILES))
-
-# All destination files (top level readme files and all sources)
-#   Note: We exclude the topfiles from the src tree.
-DEMO_DEST_TOPFILES     = $(DEMO_TOPFILES:%=$(DEMO_DESTDIR)/%)
-DEMO_FILTERED_SOURCES  = $(filter-out $(DEMO_TOPFILES),$(DEMO_ALL_FILES))
-DEMO_FULL_SOURCES     += $(DEMO_FILTERED_SOURCES:%=$(DEMO_BUILD_SRCDIR)/%)
-
-# Default rule
-all: build demo_info
-
-# Used to populate the destination directories
-$(DEMO_DESTDIR)/%: $(DEMO_ROOT)/%
-	$(install-file)
-ifneq ($(DEMO_SRCDIR),$(DEMO_ROOT))
-$(DEMO_DESTDIR)/%: $(DEMO_SRCDIR)/%
-	$(install-file)
-endif
-$(DEMO_BUILD_SRCDIR)/%: $(DEMO_SRCDIR)/%
-	$(install-file)
-ifdef DEMO_PSRCDIR
-$(DEMO_BUILD_SRCDIR)/%: $(DEMO_PSRCDIR)/%
-	$(install-file)
-endif
-ifdef DEMO_EXTRA_SRCDIR
-$(DEMO_BUILD_SRCDIR)/%: $(DEMO_EXTRA_SRCDIR)/%
-	$(install-file)
-endif
-ifneq ($(DEMO_NEEDS_AGENT_UTIL),)
-$(DEMO_BUILD_SRCDIR)/%: $(DEMO_SRCDIR)/../agent_util/%
-	$(install-file)
-endif
-ifneq ($(DEMO_NEEDS_JAVA_CRW_DEMO),)
-$(DEMO_BUILD_SRCDIR)/%: $(DEMO_SRCDIR)/../java_crw_demo/%
-	$(install-file)
-endif
-
-# Jar manifest file
-MAINMANIFEST  = $(JDK_TOPDIR)/make/tools/manifest.mf
-$(DEMO_MANIFEST): $(MAINMANIFEST)
-	@$(prep-target)
-	$(SED) -e "s#@@RELEASE@@#$(RELEASE)#"           \
-               -e "s#@@COMPANY_NAME@@#$(COMPANY_NAME)#" \
-               $(MAINMANIFEST) >> $@
-	$(ECHO) "Main-Class: $(DEMO_MAINCLASS)" >> $@
-ifdef DEMO_MANIFEST_ATTR
-	$(ECHO) "$(DEMO_MANIFEST_ATTR)" >> $@
-endif
-
-# Populating the jar image directory
-$(DEMO_JAR_IMAGE)/%: $(DEMO_SRCDIR)/%
-	$(install-file)
-ifdef DEMO_PSRCDIR
-$(DEMO_JAR_IMAGE)/%: $(DEMO_PSRCDIR)/%
-	$(install-file)
-endif
-ifdef DEMO_EXTRA_SRCDIR
-$(DEMO_JAR_IMAGE)/%: $(DEMO_EXTRA_SRCDIR)/%
-	$(install-file)
-endif
-ifdef DEMO_DESCRIPTOR
-$(DEMO_JAR_IMAGE)/META-INF/services/$(DEMO_DESCRIPTOR): \
-    $(DEMO_SRCDIR)/$(DEMO_DESCRIPTOR)
-	$(install-file)
-endif
-
-# If we are creating a jar file (we have java code)
-ifdef DEMO_JAR
-
-# Input file for javac
-$(DEMO_JAVAC_INPUT): $(DEMO_JAVA_SOURCES:%=$(DEMO_BUILD_SRCDIR)/%)
-	@$(prep-target)
-	@for i in $(DEMO_JAVA_SOURCES) ; do \
-	  $(ECHO) "$(DEMO_BUILD_SRCDIR)/$$i" >> $@ ; \
-	done
-
-# Jar file creation
-$(DEMO_JAR): \
-    $(DEMO_JAVAC_INPUT) \
-    $(DEMO_MANIFEST) \
-    $(DEMO_DESCRIPTOR:%=$(DEMO_JAR_IMAGE)/META-INF/services/%) \
-    $(DEMO_RESOURCES:%=$(DEMO_JAR_IMAGE)/%)
-	@$(prep-target)
-	$(MKDIR) -p $(DEMO_JAR_IMAGE)
-	$(JAVAC_CMD) -d $(DEMO_JAR_IMAGE) -sourcepath $(DEMO_BUILD_SRCDIR) \
-	    @$(DEMO_JAVAC_INPUT)
-  ifeq ($(DEMO_INCL_SRC),true)
-	$(CP) $(DEMO_JAVA_SOURCES:%=$(DEMO_BUILD_SRCDIR)/%) $(DEMO_JAR_IMAGE)
-  endif
-  ifeq ($(DEMO_ONLY_SRC),true)
-	$(RM) -r $(DEMO_JAR_IMAGE)
-	$(MKDIR) -p $(DEMO_JAR_IMAGE)
-	$(CP) -r $(DEMO_BUILD_SRCDIR)/* $(DEMO_JAR_IMAGE)
-    ifneq ($(DEMO_TOPFILES),)
-	$(CP) $(DEMO_ROOT)/$(DEMO_TOPFILES) $(DEMO_JAR_IMAGE)
-    endif
-  endif
-	$(BOOT_JAR_CMD) -cfm $@ $(DEMO_MANIFEST) \
-	     -C $(DEMO_JAR_IMAGE) . \
-	     $(BOOT_JAR_JFLAGS)
-	@$(java-vm-cleanup)
-
-endif
-
-ifndef DEMO_SKIP_SRCZIP
-  # Create a src.zip file
-  $(DEMO_BUILD_SRCZIP): $(DEMO_FULL_SOURCES)
-	@$(prep-target)
-	$(CD) $(DEMO_BUILD_AREA)/src && $(ZIPEXE) -q -r ../$(@F) .
-
-  # Install the destination src.zip file and create the src tree
-  $(DEMO_SOURCE_ZIP): $(DEMO_BUILD_SRCZIP)
-	$(install-file)
-endif
-
-ifeq ($(PLATFORM),windows)
-# JDK name required here
-RC_FLAGS += /D "JDK_FNAME=$(LIBRARY).dll" \
-            /D "JDK_INTERNAL_NAME=$(LIBRARY)" \
-            /D "JDK_FTYPE=0x2L"
-endif
-
-# Native library building
-ifdef DEMO_LIBRARY
-
-  # Full paths to object files
-  DEMO_FULL_OBJECTS = $(DEMO_OBJECTS:%=$(OBJDIR)/%)
-  VPATH=
-
-# Native compile rules
-$(OBJDIR)/%.$(OBJECT_SUFFIX): $(DEMO_BUILD_SRCDIR)/%.c
-	@$(prep-target)
-	$(COMPILE.c) $(CC_OBJECT_OUTPUT_FLAG)$@ $<
-  ifneq ($(DEMO_NEEDS_CPP),)
-$(OBJDIR)/%.$(OBJECT_SUFFIX): $(DEMO_BUILD_SRCDIR)/%.cpp
-	@$(prep-target)
-	$(COMPILE.cpp) $(CC_OBJECT_OUTPUT_FLAG)$@ $<
-  endif
-
-  # Actual creation of the native shared library (C++ and C are different)
-$(DEMO_LIBRARY): $(DEMO_FULL_OBJECTS)
-	@$(prep-target)
-  ifeq ($(PLATFORM),windows)
-	$(RC) $(RC_FLAGS) $(CC_OBJECT_OUTPUT_FLAG)$(DEMO_VERSION_INFO) $(VERSIONINFO_RESOURCE)
-	$(LINK.demo) $(SHARED_LIBRARY_FLAG) -Fe$@ \
-	    $(DEMO_FULL_OBJECTS) $(LDLIBS.demo)
-  else
-	$(LINK.demo) $(SHARED_LIBRARY_FLAG) -o $@ \
-	    $(DEMO_FULL_OBJECTS) $(LDLIBS.demo)
-  endif
-	@$(call binary_file_verification,$@)
-
-  # Generation of any javah include file, make sure objects are dependent on it
-  ifdef DEMO_NATIVECLASS
-$(DEMO_JAVAH_FILE): $(DEMO_JAR)
-	@$(prep-target)
-	$(JAVAH_CMD) -d $(DEMO_BUILD_SRCDIR) -classpath $(DEMO_JAR) \
-	    $(DEMO_NATIVECLASS)
-	@$(java-vm-cleanup)
-$(DEMO_FULL_OBJECTS): $(DEMO_JAVAH_FILE)
-  endif
-
-endif
-
-# Build involves populating the destination "src" tree, building the jar and
-#     native library, and creating a source bundle
-
-sources:  $(DEMO_FULL_SOURCES)
-	@$(ECHO) "Created $@"
-
-objects: 
-	@$(ECHO) "Created $@"
-
-# Why the nested make here? It only works this way, don't know why.
-bundles: $(DEMO_BUILD_SRCZIP)
-	$(RM) -r $(DEMO_DESTDIR)
-	$(MKDIR) -p $(DEMO_DESTDIR)
-	$(MAKE) $(DEMO_LIBRARY) $(DEMO_JAR) $(DEMO_SOURCE_ZIP) $(DEMO_DEST_TOPFILES)
-# Applets are special, no jar file, no src.zip, everything expanded.
-ifdef DEMO_IS_APPLET
-	@$(ECHO) "Expanding jar file into demos area at $(DEMO_DESTDIR)"
-	( $(CD) $(DEMO_DESTDIR) && \
-	  $(BOOT_JAR_CMD) -xfv $(DEMO_JAR_NAME) \
-	     $(BOOT_JAR_JFLAGS) && \
-	  $(RM) -r META-INF $(DEMO_JAR_NAME) && \
-	  $(java-vm-cleanup) )
-	@( $(CD) $(DEMO_DESTDIR) && $(java-vm-cleanup) )
-	@$(ECHO) "Expanding source into demos area at $(DEMO_DESTDIR)"
-	( $(CD) $(DEMO_DESTDIR) && $(UNZIP) -o src.zip && $(RM) src.zip )
-endif
-
-build: sources bundles
-
-# Printing out a demo information line
-define printDemoSetting
-if [ "$2" != "" ] ; then $(PRINTF) "%-20s %s\n" "$1:" "$2"; fi
-endef
-
-# Print out the demo information
-demo_info:
-	@$(ECHO) "========================================================="
-	@$(call printDemoSetting,DEMONAME,$(DEMONAME))
-	@$(call printDemoSetting,DEMO_ROOT,$(DEMO_ROOT))
-	@$(call printDemoSetting,DEMO_SRCDIR,$(DEMO_SRCDIR))
-	@$(call printDemoSetting,DEMO_DESTDIR,$(DEMO_DESTDIR))
-	@$(call printDemoSetting,DEMO_JAR,$(DEMO_JAR))
-	@$(call printDemoSetting,DEMO_MANIFEST_ATTR,$(DEMO_MANIFEST_ATTR))
-	@$(call printDemoSetting,DEMO_PSRCDIR,$(DEMO_PSRCDIR))
-	@$(call printDemoSetting,DEMO_EXTRA_SRCDIR,$(DEMO_EXTRA_SRCDIR))
-	@$(call printDemoSetting,DEMO_EXTRA_FILES,$(DEMO_EXTRA_FILES))
-	@$(call printDemoSetting,DEMO_TOPFILES,$(DEMO_TOPFILES))
-	@$(call printDemoSetting,DEMO_MAINCLASS,$(DEMO_MAINCLASS))
-	@$(call printDemoSetting,DEMO_DESCRIPTOR,$(DEMO_DESCRIPTOR))
-	@$(call printDemoSetting,DEMO_NATIVECLASS,$(DEMO_NATIVECLASS))
-	@$(call printDemoSetting,DEMO_LIBRARY,$(DEMO_LIBRARY))
-	@$(call printDemoSetting,DEMO_OBJECTS,$(DEMO_OBJECTS))
-	@$(call printDemoSetting,DEMO_SOURCE_ZIP,$(DEMO_SOURCE_ZIP))
-	@$(ECHO) "========================================================="
-
-# Clean rule
-clean clobber:
-	$(RM) -r $(DEMO_BUILD_AREA)
-	$(RM) -r $(DEMO_DESTDIR)
-
-# This should not be needed, but some versions of GNU make have a bug that
-#   sometimes deleted these files  for some strange  and unknown reason 
-#   (GNU make version 3.78.1 has the problem, GNU make version 3.80 doesn't?)
-.PRECIOUS: $(DEMO_FULL_SOURCES) $(DEMO_BUILD_SRCZIP) $(DEMO_SOURCE_ZIP)
-
-# List phony targets
-.PHONY: all build clean clobber demo_info \
-	sources bundles
-
--- a/makefiles/common/Library.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,326 +0,0 @@
-#
-# Copyright (c) 1995, 2011, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code 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
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-#
-# Generic makefile for building shared libraries.
-#
-
-# WARNING: This file is shared with other workspaces.
-#          So when it includes other files, it must use JDK_TOPDIR.
-#
-
-include $(JDK_TOPDIR)/makefiles/common/Classes.gmk
-
-#
-# It is important to define these *after* including Classes.gmk
-# in order to override the values defined inthat makefile.
-#
-
-ifeq ($(LIBRARY), fdlibm)
-ifeq ($(PLATFORM),windows)
-ACTUAL_LIBRARY_NAME = $(LIB_PREFIX)$(LIBRARY).$(FDDLIBM_SUFFIX)
-ACTUAL_LIBRARY_DIR = $(OBJDIR)
-else # PLATFORM
-ACTUAL_LIBRARY_NAME = $(LIB_PREFIX)$(LIBRARY).$(ARCH).$(FDDLIBM_SUFFIX)
-ACTUAL_LIBRARY_DIR = $(OBJDIR)
-endif #PLATFORM
-else # LIBRARY
-ACTUAL_LIBRARY_NAME = $(LIB_PREFIX)$(LIBRARY).$(LIBRARY_SUFFIX)
-ACTUAL_LIBRARY_DIR = $(LIB_LOCATION)
-endif
-ACTUAL_LIBRARY = $(ACTUAL_LIBRARY_DIR)/$(ACTUAL_LIBRARY_NAME)
-
-library:: $(ACTUAL_LIBRARY)
-
-FILES_o   = $(patsubst %.c,   %.$(OBJECT_SUFFIX), $(addprefix $(OBJDIR)/, $(notdir $(FILES_c))))
-FILES_o  += $(patsubst %.s,   %.$(OBJECT_SUFFIX), $(addprefix $(OBJDIR)/, $(notdir $(FILES_s))))
-FILES_o  += $(patsubst %.cpp, %.$(OBJECT_SUFFIX), $(addprefix $(OBJDIR)/, $(notdir $(FILES_cpp))))
-
-ifeq ($(PLATFORM), macosx)
-FILES_o  += $(patsubst %.m,   %.$(OBJECT_SUFFIX), $(addprefix $(OBJDIR)/, $(notdir $(FILES_objc))))
-FILES_o  += $(patsubst %.mm,  %.$(OBJECT_SUFFIX), $(addprefix $(OBJDIR)/, $(notdir $(FILES_objcpp))))
-
-INCREMENTAL_BUILD=false
-
-endif # PLATFORM
-
-ifeq ($(INCREMENTAL_BUILD),true)
-FILES_d   = $(patsubst %.c,   %.$(DEPEND_SUFFIX), $(addprefix $(OBJDIR)/, $(notdir $(FILES_c))))
-FILES_d  += $(patsubst %.cpp, %.$(DEPEND_SUFFIX), $(addprefix $(OBJDIR)/, $(notdir $(FILES_cpp))))
-endif # INCREMENTAL_BUILD
-
-ifeq ($(PLATFORM),solaris)
-# List of all lint files, one for each .c file (only for C)
-FILES_ln   = $(patsubst %.c,   %.$(LINT_SUFFIX), $(addprefix $(OBJDIR)/, $(notdir $(FILES_c))))
-endif
-
-LINK.cc = $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS) 
-LINK.c = $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) 
-
-#
-# C++ libraries must be linked with CC.
-#
-ifdef CPLUSPLUSLIBRARY
-LINKER=$(LINK.cc)
-else
-LINKER=$(LINK.c)
-endif
-
-$(ACTUAL_LIBRARY):: $(INIT) $(TEMPDIR) $(LIBDIR) $(BINDIR) $(EXTDIR) classheaders
-	@$(ECHO) Building lib:$(ACTUAL_LIBRARY) 
-#
-# COMPILE_APPROACH: Different approaches to compile up the native object
-#   files as quickly as possible.
-#   The setting of parallel works best on Unix, batch on Windows.
-#
-
-COMPILE_FILES_o = $(OBJDIR)/.files_compiled
-$(COMPILE_FILES_o): $(FILES_d) $(FILES_o)
-	@$(ECHO) "$<" >> $@
-clean::
-	$(RM) $(COMPILE_FILES_o)
-
-#
-# COMPILE_APPROACH=parallel: Will trigger compilations (just compilations) to
-#   happen in parallel. Greatly decreases Unix build time, even on single CPU
-#   machines, more so on multiple CPU machines. Default is 2 compiles
-#   at a time, but can be adjusted with ALT_PARALLEL_COMPILE_JOBS.
-#   Note that each .d file will also be dependent on it's .o file, see
-#   Rules.gmk.
-#   Note this does not depend on Rules.gmk to work like batch (below)
-#   and this technique doesn't seem to help Windows build time nor does
-#   it work very well, it's possible the Windows Visual Studio compilers
-#   don't work well in a parallel situation, this needs investigation.
-#
-
-ifeq ($(COMPILE_APPROACH),parallel)
-
-.PHONY: library_parallel_compile
-
-library_parallel_compile:
-	@$(ECHO) "Begin parallel compiles: $(shell $(PWD))"
-	$(MAKE) -j $(PARALLEL_COMPILE_JOBS) $(COMPILE_FILES_o)
-	@$(ECHO) "Done with parallel compiles: $(shell $(PWD))"
-
-$(ACTUAL_LIBRARY):: library_parallel_compile
-
-endif
-
-#
-# COMPILE_APPROACH=batch: Will trigger compilations (just compilations) to
-#   happen in batch mode. Greatly decreases Windows build time.
-#   See logic in Rules.gmk for how compiles happen, the $(MAKE) in
-#   library_batch_compile below triggers the actions in Rules.gmk.
-#   Note that each .d file will also be dependent on it's .o file, see
-#   Rules.gmk.
-#
-ifeq ($(COMPILE_APPROACH),batch)
-
-.PHONY: library_batch_compile
-
-library_batch_compile:
-	@$(ECHO) "Begin BATCH compiles: $(shell $(PWD))"
-	$(MAKE) $(COMPILE_FILES_o)
-	$(MAKE) batch_compile
-	@$(ECHO) "Done with BATCH compiles: $(shell $(PWD))"
-	$(MAKE) COMPILE_APPROACH=normal $(COMPILE_FILES_o)
-
-$(ACTUAL_LIBRARY):: library_batch_compile
-
-endif
-
-ifeq ($(PLATFORM), windows)
-
-#
-# Library building rules.
-#
-
-$(LIBRARY).lib:: $(OBJDIR)
-
-ifeq ($(LIBRARY), fdlibm)
-$(ACTUAL_LIBRARY):: $(OBJDIR)/$(LIBRARY).lib
-
-$(OBJDIR)/$(LIBRARY).lib:: $(OBJDIR)/$(LIBRARY).lcf
-	@$(prep-target)
-	$(AR) -NODEFAULTLIB:MSVCRT -out:$@ -nologo \
-		@$(OBJDIR)/$(LIBRARY).lcf $(OTHER_LCF) $(LDLIBS_COMMON)
-else # LIBRARY
-# build it into $(OBJDIR) so that the other generated files get put 
-# there, then copy just the DLL (and MAP file) to the requested directory.
-#
-$(ACTUAL_LIBRARY):: $(OBJDIR)/$(LIBRARY).lcf
-	@$(prep-target)
-	@$(MKDIR) -p $(OBJDIR)
-	$(LD) -dll -out:$(OBJDIR)/$(@F) \
-	  -map:$(OBJDIR)/$(LIBRARY).map \
-	  $(LFLAGS) @$(OBJDIR)/$(LIBRARY).lcf \
-	  $(OTHER_LCF) $(LDLIBS)
-	$(CP) $(OBJDIR)/$(@F) $@
-	@$(call binary_file_verification,$@)
-	$(CP) $(OBJDIR)/$(LIBRARY).map $(@D)
-	$(CP) $(OBJDIR)/$(LIBRARY).pdb $(@D)
-
-endif # LIBRARY
-
-$(OBJDIR)/$(LIBRARY).lcf: $(OBJDIR)/$(LIBRARY).res $(COMPILE_FILES_o) $(FILES_m)
-	@$(prep-target)
-	@$(MKDIR) -p $(TEMPDIR)
-	@$(ECHO) $(FILES_o) > $@ 
-ifndef LOCAL_RESOURCE_FILE
-	@$(ECHO) $(OBJDIR)/$(LIBRARY).res >> $@
-endif
-	@$(ECHO) Created $@ 
-
-# JDK name required here
-RC_FLAGS += /D "JDK_FNAME=$(LIBRARY).dll" \
-            /D "JDK_INTERNAL_NAME=$(LIBRARY)" \
-            /D "JDK_FTYPE=0x2L"
-
-$(OBJDIR)/$(LIBRARY).res: $(VERSIONINFO_RESOURCE)
-ifndef LOCAL_RESOURCE_FILE
-	@$(prep-target)
-	$(RC) $(RC_FLAGS) $(CC_OBJECT_OUTPUT_FLAG)$(@) $(VERSIONINFO_RESOURCE)
-endif
-
-#
-# Install a .lib file if required.
-#
-ifeq ($(INSTALL_DOT_LIB), true)
-$(ACTUAL_LIBRARY):: $(LIBDIR)/$(LIBRARY).lib
-
-clean:: 
-	-$(RM) $(LIBDIR)/$(LIBRARY).lib
-
-$(LIBDIR)/$(LIBRARY).lib:: $(OBJDIR)/$(LIBRARY).lib
-	$(install-file)
-
-$(LIBDIR)/$(LIBRARY).dll:: $(OBJDIR)/$(LIBRARY).dll
-	$(install-file)
-
-endif # INSTALL_DOT_LIB
-
-else # PLATFORM
-
-#
-# On Solaris, use mcs to write the version into the comment section of
-# the shared library.  On other platforms set this to false at the
-# make command line.
-#
-
-ifneq ($(PLATFORM), macosx)
-  ARFLAGS = -r
-endif
-
-$(ACTUAL_LIBRARY):: $(COMPILE_FILES_o) $(FILES_m) $(FILES_reorder)
-	@$(prep-target)
-	@$(ECHO) "STATS: LIBRARY=$(LIBRARY), PRODUCT=$(PRODUCT), OPTIMIZATION_LEVEL=$(OPTIMIZATION_LEVEL)"
-	@$(ECHO) "Rebuilding $@ because of $?"
-ifeq ($(LIBRARY), fdlibm)
-	$(AR) $(ARFLAGS) $@ $(FILES_o)
-else # LIBRARY
-	$(LINKER) $(SHARED_LIBRARY_FLAG) -o $@ $(FILES_o) $(LDLIBS)
-	@$(call binary_file_verification,$@)
-ifeq ($(WRITE_LIBVERSION),true)
-	$(MCS) -d -a "$(FULL_VERSION)" $@
-endif # WRITE_LIBVERSION
-endif # LIBRARY
-
-endif # PLATFORM
-
-#
-# Cross check all linted files against each other
-#
-ifeq ($(PLATFORM),solaris)
-lint.errors : $(FILES_ln)
-	$(LINT.c) $(FILES_ln) $(LDLIBS) 
-endif
-
-#
-# Class libraries with JNI native methods get a include to the package.
-#
-ifdef PACKAGE
-vpath %.c $(PLATFORM_SRC)/native/$(PKGDIR)
-vpath %.c $(SHARE_SRC)/native/$(PKGDIR)
-OTHER_INCLUDES += -I$(SHARE_SRC)/native/common -I$(PLATFORM_SRC)/native/common
-OTHER_INCLUDES += -I$(SHARE_SRC)/native/$(PKGDIR) \
-		  -I$(PLATFORM_SRC)/native/$(PKGDIR)
-endif
-
-#
-# Clean/clobber rules
-#
-clean::
-	$(RM) -r $(ACTUAL_LIBRARY)
-
-clobber:: clean
-
-#
-# INCREMENTAL_BUILD means that this workspace will be built over and over
-#   possibly incrementally. This means tracking the object file dependencies
-#   on include files so that sources get re-compiled when the include files
-#   change. When building from scratch and doing a one time build (like
-#   release engineering or nightly builds) set INCREMENTAL_BUILD=false.
-#
-
-ifeq ($(INCREMENTAL_BUILD),true)
-
-#
-# Workaround: gnumake sometimes says files is empty when it shouldn't
-#    was:  files := $(foreach file, $(wildcard $(OBJDIR)/*.$(DEPEND_SUFFIX)), $(file))
-#
-files := $(shell $(LS) $(OBJDIR)/*.$(DEPEND_SUFFIX) 2>/dev/null)
-
-#
-# Only include these files if we have any.
-#
-ifneq ($(strip $(files)),)
-
-include $(files)
-
-endif # files
-
-endif # INCREMENTAL_BUILD
-
-#
-# Default dependencies
-#
-
-all: build
-
-build: library
-
-debug:
-	$(MAKE) VARIANT=DBG build
-
-fastdebug:
-	$(MAKE) VARIANT=DBG FASTDEBUG=true build
-
-openjdk:
-	$(MAKE) OPENJDK=true build
-
-FORCE:
-
-.PHONY: all build debug fastdebug
-
--- a/makefiles/common/Mapfile-vers.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,97 +0,0 @@
-#
-# Copyright (c) 1998, 2005, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code 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
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-#
-# Makefile for linking with mapfiles.
-#
-# NOTE: Not using a mapfile will expose all your extern functions and
-#	extern data symbols as part of your interface, so unless your
-#	extern names are safe from being mistaken as names from other
-#	libraries, you better use a mapfile, or use a unique naming
-#	convention on all your extern symbols.
-#
-# The mapfile will establish versioning by defining the exported interface.
-#
-# The mapfile can also force certain .o files or elf sections into the 
-#   the different segments of the resulting library/program image.
-#
-# The macro FILES_m can contain any number of mapfiles.
-#
-
-# Always make sure 'all' is the default rule
-mapfile_default_rule: all
-
-ifeq ($(PLATFORM), solaris)
-
-ifeq ($(VARIANT), OPT)
-  # OPT build MUST have a mapfile?
-  ifndef FILES_m
-    FILES_m =        mapfile-vers
-  endif
-  
-  # If we are re-ordering functions in this solaris library, we need to make
-  # sure that -xF is added to the compile lines. This option is critical and
-  # enables the functions to be reordered.
-  ifdef FILES_reorder
-    CFLAGS_OPT   += -xF
-    CXXFLAGS_OPT += -xF
-  endif
-
-INIT += $(TEMPDIR)/mapfile-vers
-
-$(TEMPDIR)/mapfile-vers : $(FILES_m) $(FILES_reorder)
-	$(prep-target)
-	$(CAT) $(FILES_m) > $@
-  ifdef FILES_reorder
-	$(SED) -e 's=OUTPUTDIR=$(OUTPUTDIR)=' $(FILES_reorder) >> $@
-  endif
-endif # VARIANT
-
-ifndef LDNOMAP
-  LDMAPFLAGS_OPT =  -M$(TEMPDIR)/mapfile-vers
-  LDMAPFLAGS_DBG =  $(FILES_m:%=-M%)
-endif
-
-endif # PLATFORM
-
-ifeq ($(PLATFORM), linux)
-
-ifeq ($(VARIANT), OPT)
-  # OPT build MUST have a mapfile?
-  ifndef FILES_m
-    FILES_m =        mapfile-vers
-  endif
-endif # VARIANT
-
-ifndef LDNOMAP
-  LDMAPFLAGS_OPT =  $(FILES_m:%=-Xlinker -version-script=%)
-  LDMAPFLAGS_DBG =  $(FILES_m:%=-Xlinker -version-script=%)
-endif
-
-endif # PLATFORM
-  
-LDFLAGS_OPT +=  $(LDMAPFLAGS_OPT)
-LDFLAGS_DBG +=  $(LDMAPFLAGS_DBG)
-
--- a/makefiles/common/Modules.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,479 +0,0 @@
-#
-# Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code 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
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-JDK_MODULE_IMAGE_DIR = $(ABS_OUTPUTDIR)/jdk-module-image
-JRE_MODULE_IMAGE_DIR = $(ABS_OUTPUTDIR)/jre-module-image
-
-#
-# modules   Target to build jdk and jre module image
-#
-#           There is one jar file per module containing classes only.
-#           All module jars are currently placed under jre/lib directory.
-#
-# Open issues that need further investigation:
-# 1. Classes in jre/lib/ext/dnsns.jar are currently put in jre/lib/jndi-dns
-#    module.  META-INF/services file is not installed.
-# 2. Signed jars
-#    For JDK build, signed jars are copied to the build.
-#    All jars in the module image are unsigned.
-
-MODULE_IMAGEBINDIR = bin
-
-#
-# Targets.
-#
-INITIAL_MODULE_IMAGE_JRE=initial-module-image-jre
-INITIAL_MODULE_IMAGE_JDK=initial-module-image-jdk
-ifeq ($(PLATFORM), solaris)
-  ifeq ($(ARCH_DATA_MODEL), 64)
-    INITIAL_MODULE_IMAGE_JRE=initial-module-image-jre-sol64
-    INITIAL_MODULE_IMAGE_JDK=initial-module-image-jdk-sol64
-  endif
-endif
-
-modules modules-clobber \
-initial-module-image-jre initial-module-image-jdk \
-initial-module-image-jre-sol64 initial-module-image-jdk-sol64 \
-trim-module-image-jre trim-module-image-jdk \
-process-module-image-jre process-module-image-jdk ::
-	@$(ECHO) ">>>Making "$@" @ `$(DATE)` ..."
-
-# Order is important here, trim jre after jdk image is created
-modules:: gen-modules \
-	 $(INITIAL_MODULE_IMAGE_JRE) $(INITIAL_MODULE_IMAGE_JDK) \
-	 trim-module-image-jre trim-module-image-jdk \
-	 process-module-image-jre process-module-image-jdk
-
-# Don't use these
-module-image-jre:: initial-module-image-jre trim-module-image-jre process-module-image-jre
-module-image-jdk:: initial-module-image-jdk trim-module-image-jdk process-module-image-jdk
-
-#
-# Paths to these files we need
-JDK_MODULE_LICENSES   = $(LICENSE_DOCLIST_JDK:%=$(JDK_MODULE_IMAGE_DIR)/%)
-JDK_MODULE_64_LICENSES = $(LICENSE_DOCLIST_JDK:%=$(JDK_MODULE_IMAGE_DIR)/%64)
-JDK_MODULE_DOCFILES   = $(OTHER_DOCLIST_JDK:%=$(JDK_MODULE_IMAGE_DIR)/%)
-
-JRE_MODULE_LICENSES   = $(LICENSE_DOCLIST_JRE:%=$(JRE_MODULE_IMAGE_DIR)/%)
-JRE_MODULE_64_LICENSES = $(LICENSE_DOCLIST_JRE:%=$(JRE_MODULE_IMAGE_DIR)/%64)
-JRE_MODULE_DOCFILES   = $(OTHER_DOCLIST_JRE:%=$(JRE_MODULE_IMAGE_DIR)/%)
-JRE_MODULE_DOCFILES  += $(JRE_NAMECHANGE_DOCLIST:%=$(JRE_MODULE_IMAGE_DIR)/%$(TEXT_SUFFIX))
-
-###### RULES
-
-# JDK files
-$(JDK_MODULE_IMAGE_DIR)/%: $(SHARE_JDK_DOC_SRC)/%
-	$(process-doc-file)
-# Removes LICENSE_VERSION or not
-ifdef LICENSE_VERSION
-$(JDK_MODULE_IMAGE_DIR)/%: $(SHARE_JDK_DOC_SRC)/%$(LICENSE_VERSION)
-	$(process-doc-file)
-$(JDK_MODULE_IMAGE_DIR)/%64: $(SHARE_JDK_DOC_SRC)/%$(LICENSE_VERSION)
-	$(process-doc-file)
-else
-$(JDK_MODULE_IMAGE_DIR)/%64: $(SHARE_JDK_DOC_SRC)/%
-	$(process-doc-file)
-endif
-
-# JRE files 
-$(JRE_MODULE_IMAGE_DIR)/%: $(SHARE_JRE_DOC_SRC)/%
-	$(process-doc-file)
-# Add $(TEXT_SUFFIX) suffix
-ifdef TEXT_SUFFIX
-$(JRE_MODULE_IMAGE_DIR)/%$(TEXT_SUFFIX): $(SHARE_JRE_DOC_SRC)/%
-	$(process-doc-file)
-endif
-# Removes LICENSE_VERSION or not
-ifdef LICENSE_VERSION
-$(JRE_MODULE_IMAGE_DIR)/%: $(SHARE_JRE_DOC_SRC)/%$(LICENSE_VERSION)
-	$(process-doc-file)
-$(JRE_MODULE_IMAGE_DIR)/%64: $(SHARE_JRE_DOC_SRC)/%$(LICENSE_VERSION)
-	$(process-doc-file)
-else
-$(JRE_MODULE_IMAGE_DIR)/%64: $(SHARE_JRE_DOC_SRC)/%
-	$(process-doc-file)
-endif
-
-######################################################
-# JRE Image
-######################################################
-
-MODULES_LIST = $(MODULES_TEMPDIR)/classlist/modules.list
-
-# Modules in the jre/lib/security directory
-POLICY_MODULES = US_export_policy local_policy
-
-# Modules in the modules/ext directory
-EXT_MODULES = localedata security-sunec security-sunjce
-
-# Build PKCS#11 on all platforms except 64-bit Windows.
-PKCS11 = security-sunpkcs11
-ifeq ($(ARCH_DATA_MODEL), 64)
-  ifeq ($(PLATFORM), windows)
-    PKCS11 =
-  endif
-endif
-
-EXT_MODULES += $(PKCS11)
-
-# Build Microsoft CryptoAPI provider only on (non-64-bit) Windows platform.
-ifeq ($(PLATFORM), windows)
-  ifneq ($(ARCH_DATA_MODEL), 64)
-    EXT_MODULES += security-sunmscapi
-  endif
-endif
-
-# Modules for JDK only
-JDK_MODULES = tools
-
-gen-modules:
-	$(CD) modules; $(MAKE) all
-
-initial-module-image-jre-setup:
-	$(RM) -r $(JRE_MODULE_IMAGE_DIR)
-	$(MKDIR) -p $(JRE_MODULE_IMAGE_DIR)
-
-# 64-bit solaris jre image contains only the 64-bit add-on files.
-initial-module-image-jre-sol64:: initial-module-image-jre-setup \
-			  $(JRE_MODULE_LICENSES) $(JRE_MODULE_64_LICENSES)
-	@# Use tar instead of cp to preserve the symbolic links
-	for dir in bin lib ; do \
-	  ( $(CD) $(OUTPUTDIR) && \
-		$(TAR) cf - `$(FIND) $$dir -name '$(ARCH)' -print` | \
-		($(CD) $(JRE_MODULE_IMAGE_DIR) && $(TAR) xf -) ) ; \
-	done
-	@# Remove some files from the jre area
-	for t in $(NOTJRETOOLS) ; do \
-	    $(RM) $(JRE_MODULE_IMAGE_DIR)/bin$(ISA_DIR)/$$t ; \
-	done
-	$(RM) `$(FIND) $(JRE_MODULE_IMAGE_DIR)/lib -name 'orb.idl'`
-	$(RM) `$(FIND) $(JRE_MODULE_IMAGE_DIR)/lib -name 'ir.idl'`
-
-# Construct an initial jre image (initial jdk jre) no trimming or stripping
-initial-module-image-jre:: initial-module-image-jre-setup \
-		    $(JRE_LICENSES) $(JRE_MODULE_DOCFILES) \
-		    $(BUILDMETAINDEX_JARFILE)
-	@# Copy in bin directory
-	$(CD) $(OUTPUTDIR) && $(FIND) bin -depth | $(CPIO) -pdum $(JRE_MODULE_IMAGE_DIR)
-	@# CTE plugin security change require new empty directory lib/applet
-	$(MKDIR) -p $(JRE_MODULE_IMAGE_DIR)/lib/applet
-	@# Copy files but not .jar in lib directory 
-	$(CD) $(OUTPUTDIR) && $(FIND) lib -depth | $(EGREP) -v ".jar$$" | $(CPIO) -pdum $(JRE_MODULE_IMAGE_DIR)
-	@#
-	@# copy modules to jre/lib
-	@#
-	for m in `$(NAWK) '{print $$1}' $(MODULES_LIST)` ; do \
-	    $(CP) $(MODULES_DIR)/$$m/lib/$$m.jar $(JRE_MODULE_IMAGE_DIR)/lib ; \
-	done
-	$(MKDIR) -p $(JRE_MODULE_IMAGE_DIR)/lib/ext
-	for m in $(EXT_MODULES) ; do \
-           $(MV) $(JRE_MODULE_IMAGE_DIR)/lib/$$m.jar $(JRE_MODULE_IMAGE_DIR)/lib/ext ; \
-        done
-	for m in $(POLICY_MODULES) ; do \
-           $(MV) $(JRE_MODULE_IMAGE_DIR)/lib/$$m.jar $(JRE_MODULE_IMAGE_DIR)/lib/security; \
-        done
-	@# Remove jdk modules
-	for m in $(JDK_MODULES) ; do \
-           $(RM) $(JRE_MODULE_IMAGE_DIR)/lib/$$m.jar ; \
-        done
-
-	@# Make sure all directories are read/execute for everyone
-	$(CHMOD) a+rx `$(FIND) $(JRE_MODULE_IMAGE_DIR) -type d`
-	@# Remove some files from the jre area
-	for t in $(NOTJRETOOLS) ; do \
-	    $(RM) $(JRE_MODULE_IMAGE_DIR)/bin$(ISA_DIR)/$$t ; \
-	done
-	@# Remove orb.idl and ir.idl from jre
-	$(FIND) $(JRE_MODULE_IMAGE_DIR)/lib -name 'orb.idl' -exec $(RM) \{} \;
-	$(FIND) $(JRE_MODULE_IMAGE_DIR)/lib -name 'ir.idl' -exec $(RM) \{} \;
-	@# Generate meta-index to make boot and extension class loaders lazier
-	$(CD) $(JRE_MODULE_IMAGE_DIR)/lib && \
-	    $(BOOT_JAVA_CMD) -jar $(BUILDMETAINDEX_JARFILE) \
-		-o meta-index *.jar
-	@$(CD) $(JRE_MODULE_IMAGE_DIR)/lib && $(java-vm-cleanup)
-	$(CD) $(JRE_MODULE_IMAGE_DIR)/lib/ext && \
-	    $(BOOT_JAVA_CMD) -jar $(BUILDMETAINDEX_JARFILE) \
-		-o meta-index *.jar
-	@$(CD) $(JRE_MODULE_IMAGE_DIR)/lib/ext && $(java-vm-cleanup)
-ifeq ($(PLATFORM), windows)
-	@# Remove certain *.lib files
-	$(CD) $(JRE_MODULE_IMAGE_DIR)/lib && \
-            $(RM) java.$(LIB_SUFFIX) jvm.$(LIB_SUFFIX) \
-                  hpi.$(LIB_SUFFIX) awt.$(LIB_SUFFIX) jawt.$(LIB_SUFFIX)
-  ifeq ($(ARCH_DATA_MODEL), 32)
-	@# The Java Kernel JRE image ships with a special VM.  It is not included
-	@# in the full JRE image, so remove it.  Also, is it only for 32-bit windows.
-	$(CD) $(JRE_MODULE_IMAGE_DIR)/bin && $(RM) -r kernel
-  endif
-endif # Windows
-ifneq ($(PLATFORM), windows)
-	$(call copy-man-pages,$(JRE_MODULE_IMAGE_DIR),$(JRE_MAN_PAGES))
-endif # !windows
-
-# Trim out any extra files not for the jre shipment but wanted in the jdk jre.
-#   (Note the jdk WILL want the jre image before this trimming)
-#   Removes server VM on Windows 32bit.
-#   Remove certain shared libraries that should not be in the jre image
-#      but should be in the jdk jre image.
-trim-module-image-jre::
-ifeq ($(PLATFORM), windows)
-  ifeq ($(ARCH_DATA_MODEL), 32)
-	$(RM) -r $(JRE_MODULE_IMAGE_DIR)/bin/server
-  endif
-  ifdef NOTJRE_SHARED_LIBS
-	for l in $(NOTJRE_SHARED_LIBS) ; do \
-	    $(RM) $(JRE_MODULE_IMAGE_DIR)/bin/$$l ; \
-	done ;
-  endif
-else # PLATFORM
-  ifdef NOTJRE_SHARED_LIBS
-	for l in $(NOTJRE_SHARED_LIBS) ; do \
-	    $(RM) $(JRE_MODULE_IMAGE_DIR)/lib/$(LIBARCH)/$$l ; \
-	done ;
-  endif
-endif # PLATFORM
-
-# Get list of all Elf files in the jre
-JRE_MODULE_ELF_LIST=$(MODULES_TEMPDIR)/jre-elf-files.list
-$(JRE_MODULE_ELF_LIST):
-	@$(prep-target)
-ifneq ($(PLATFORM), windows)
-	$(RM) $@
-	$(FIND) $(JRE_MODULE_IMAGE_DIR)/lib -type f -name \*.$(LIB_SUFFIX) >> $@
-	$(FILE) `$(FIND) $(JRE_MODULE_IMAGE_DIR)/bin -type f -name \*$(EXE_SUFFIX)` \
-	    | $(EGREP) 'ELF' | $(CUT) -d':' -f1 >> $@
-endif
-
-# Post process the image (strips and mcs on Elf files we are shipping)
-#   (Note the jdk WILL want the jre image before this processing)
-process-module-image-jre:: $(JRE_MODULE_ELF_LIST)
-ifneq ($(POST_STRIP_PROCESS), )
-	for f in `$(CAT) $(JRE_MODULE_ELF_LIST)`; do \
-	  $(CHMOD) u+w $${f}; \
-	  $(ECHO) $(POST_STRIP_PROCESS) $${f}; \
-	  $(POST_STRIP_PROCESS) $${f}; \
-	  $(CHMOD) go-w $${f}; \
-	done
-endif
-ifneq ($(POST_MCS_PROCESS), )
-	for f in `$(CAT) $(JRE_MODULE_ELF_LIST)`; do \
-	  $(CHMOD) u+w $${f}; \
-	  $(ECHO) $(POST_MCS_PROCESS) $${f}; \
-	  $(POST_MCS_PROCESS) $${f}; \
-	  $(CHMOD) go-w $${f}; \
-	done
-endif
-	$(RM) $(JRE_MODULE_ELF_LIST)
-
-######################################################
-# JDK Image
-######################################################
-# Note: cpio ($(CPIO)) sometimes leaves directories without rx access.
-
-initial-module-image-jdk-setup:
-	$(RM) -r $(JDK_MODULE_IMAGE_DIR)
-	$(MKDIR) -p $(JDK_MODULE_IMAGE_DIR)/jre
-	($(CD) $(JRE_MODULE_IMAGE_DIR) && $(FIND) . -depth -print \
-	      | $(CPIO) -pdum $(JDK_MODULE_IMAGE_DIR)/jre )
-	$(RM) -rf $(JDK_MODULE_IMAGE_DIR)/jre/man
-	$(CHMOD) a+rx `$(FIND) $(JDK_MODULE_IMAGE_DIR) -type d`
-
-initial-module-image-jdk64-bindemos:
-	for dir in bin demo ; do \
-	  ( $(CD) $(OUTPUTDIR) && \
-		$(TAR) cf - `$(FIND) $$dir -name '$(LIBARCH)' -print` | \
-		($(CD) $(JDK_MODULE_IMAGE_DIR) && $(TAR) xf -) ) ; \
-        done
-
-# Solaris 64 bit image is special
-initial-module-image-jdk-sol64:: initial-module-image-jdk-setup \
-			  initial-module-image-jdk64-bindemos \
-			  $(JDK_MODULE_LICENSES) $(JDK_MODULARLIZED_64_LICENSES)
-
-# DB files to add
-ifeq ($(OPENJDK),true)
-
-initial-module-image-jdk-db:
-
-else
-
-# Create the list of db *.zip files to bundle with jdk
-ABS_DB_PATH  :=$(call FullPath,$(CLOSED_SHARE_SRC)/db)
-DB_ZIP_LIST = $(shell $(LS) $(ABS_DB_PATH)/*.zip 2>/dev/null)
-
-initial-module-image-jdk-db: $(DB_ZIP_LIST)
-	$(MKDIR) -p $(JDK_MODULE_IMAGE_DIR)/db
-	for d in $(DB_ZIP_LIST); do \
-          ($(CD) $(JDK_MODULE_IMAGE_DIR)/db && $(UNZIP) -o $$d); \
-	done
-
-endif
-
-# Standard jdk image
-initial-module-image-jdk:: initial-module-image-jdk-setup \
-		    initial-module-image-jdk-db \
-		    $(JDK_MODULE_LICENSES) $(JDK_MODULE_DOCFILES)
-	$(MKDIR) $(JDK_MODULE_IMAGE_DIR)/lib
-	@#
-	@# copy jdk modules to jdk/lib
-	@#
-	$(MKDIR) -p $(JDK_MODULE_IMAGE_DIR)/lib
-	for m in $(JDK_MODULES) ; do \
-	    $(CP) $(MODULES_DIR)/$$m/lib/$$m.jar $(JDK_MODULE_IMAGE_DIR)/lib ; \
-        done
-  ifeq ($(PLATFORM), windows)
-	@#
-	@# lib/
-	@#
-	$(CP) $(LIBDIR)/$(LIB_PREFIX)jvm.$(LIB_SUFFIX) $(JDK_MODULE_IMAGE_DIR)/lib
-	$(CP) $(LIBDIR)/$(LIB_PREFIX)jawt.$(LIB_SUFFIX) $(JDK_MODULE_IMAGE_DIR)/lib
-	@#
-	@# bin/
-	@#
-	@# copy all EXE files and only certain DLL files from BINDIR
-	$(MKDIR) -p $(JDK_MODULE_IMAGE_DIR)/bin
-	$(CP) $(BINDIR)/*$(EXE_SUFFIX) $(JDK_MODULE_IMAGE_DIR)/bin
-	$(CP) $(BINDIR)/jli.$(LIBRARY_SUFFIX) $(JDK_MODULE_IMAGE_DIR)/bin
-    ifeq ($(COMPILER_VERSION), VS2010)
-	$(CP) $(BINDIR)/msvc*100.$(LIBRARY_SUFFIX) $(JDK_MODULE_IMAGE_DIR)/bin
-    endif
-    ifeq ($(ARCH_DATA_MODEL), 32)
-      ifeq ($(COMPILER_VERSION), VS2003)
-	$(CP) $(BINDIR)/msvc*71.$(LIBRARY_SUFFIX) $(JDK_MODULE_IMAGE_DIR)/bin
-      endif
-    endif
-  else # PLATFORM
-	@#
-	@# bin/
-	@#
-	($(CD) $(BINDIR)/.. && $(TAR) cf - \
-	    `$(FIND) bin \( -type f -o -type l \) -print `) | \
-	    ($(CD) $(JDK_MODULE_IMAGE_DIR) && $(TAR) xf -)
-  endif # PLATFORM
-	@#
-	@# lib/ct.sym
-	@#
-	$(MKDIR) -p $(OUTPUTDIR)/symbols/META-INF/sym
-	$(JAVAC_CMD) -XDprocess.packages -proc:only \
-	    -processor com.sun.tools.javac.sym.CreateSymbols \
-	    -Acom.sun.tools.javac.sym.Jar=$(RT_JAR) \
-	    -Acom.sun.tools.javac.sym.Dest=$(OUTPUTDIR)/symbols/META-INF/sym/rt.jar \
-	    $(CORE_PKGS) $(NON_CORE_PKGS) $(EXCLUDE_PROPWARN_PKGS)
-	$(BOOT_JAR_CMD) c0f $(LIBDIR)/ct.sym \
-	    -C $(OUTPUTDIR)/symbols META-INF $(BOOT_JAR_JFLAGS)
-	@$(java-vm-cleanup)
-	$(CP) $(LIBDIR)/ct.sym $(JDK_MODULE_IMAGE_DIR)/lib/ct.sym
-	@#
-	@# CORBA supported orb.idl and ir.idl should be copied to lib
-	@#
-	$(CP) $(LIBDIR)/orb.idl $(JDK_MODULE_IMAGE_DIR)/lib/orb.idl
-	$(CP) $(LIBDIR)/ir.idl $(JDK_MODULE_IMAGE_DIR)/lib/ir.idl
-  ifeq ($(PLATFORM), linux)
-	@#
-	@# on Linux copy jexec from jre/lib to /lib
-	@#
-	$(CP) $(LIBDIR)/jexec $(JDK_MODULE_IMAGE_DIR)/lib/jexec
-  endif # PLATFORM
-	@#
-	@# demo, include
-	@#
-	$(CP) -r -f $(DEMODIR) $(JDK_MODULE_IMAGE_DIR)
-	$(CP) -r -f $(SAMPLEDIR) $(JDK_MODULE_IMAGE_DIR)
-	$(CP) -r $(INCLUDEDIR) $(JDK_MODULE_IMAGE_DIR)
-	@#
-	@# Swing BeanInfo generation
-	@#
-	$(CD) javax/swing/beaninfo && $(MAKE) JDK_IMAGE_DIR=$(JDK_MODULE_IMAGE_DIR) swing-1.2-beans
-ifneq ($(PLATFORM), windows)
-	$(call copy-man-pages,$(JDK_MODULE_IMAGE_DIR),$(JDK_MAN_PAGES))
-endif # !windows
-
-# Trim out files we don't want to ship
-trim-module-image-jdk::
-	@# Remove tools that should not be part of SDK.
-	for t in $(NOTJDKTOOLS); do \
-	    $(RM) $(JDK_MODULE_IMAGE_DIR)/bin/$${t}$(EXE_SUFFIX) \
-		  $(JDK_MODULE_IMAGE_DIR)/bin/*/native_threads/$${t}$(EXE_SUFFIX); \
-	done
-
-# Get list of Elf files in the jdk
-JDK_MODULE_ELF_LIST=$(MODULES_TEMPDIR)/jdk-elf-files.list
-$(JDK_MODULE_ELF_LIST):
-	@$(prep-target)
-ifneq ($(PLATFORM), windows)
-	$(RM) $@
-	$(FIND) $(JDK_MODULE_IMAGE_DIR)/jre/lib -type f -name \*.$(LIB_SUFFIX) >> $@
-	$(FILE) `$(FIND) $(JDK_MODULE_IMAGE_DIR)/jre/bin -type f -name \*$(EXE_SUFFIX)` \
-	    | $(EGREP) 'ELF' | $(CUT) -d':' -f1 >> $@
-	file `$(FIND) $(JDK_MODULE_IMAGE_DIR)/bin -type f -name \*$(EXE_SUFFIX)` \
-	    | $(EGREP) 'ELF' | $(CUT) -d':' -f1 >> $@
-endif
-
-# Post process the image (strips and mcs on files we are shipping)
-process-module-image-jdk:: $(JDK_MODULE_ELF_LIST)
-ifneq ($(POST_STRIP_PROCESS), )
-	for f in `$(CAT) $(JDK_MODULE_ELF_LIST)`; do \
-	  $(CHMOD) u+w $${f}; \
-	  $(ECHO) $(POST_STRIP_PROCESS) $${f}; \
-	  $(POST_STRIP_PROCESS) $${f}; \
-	  $(CHMOD) go-w $${f}; \
-	done
-endif
-ifneq ($(POST_MCS_PROCESS), )
-	for f in `$(CAT) $(JDK_MODULE_ELF_LIST)`; do \
-	  $(CHMOD) u+w $${f}; \
-	  $(ECHO) $(POST_MCS_PROCESS) $${f}; \
-	  $(POST_MCS_PROCESS) $${f}; \
-	  $(CHMOD) go-w $${f}; \
-	done
-endif
-	$(RM) $(JDK_MODULE_ELF_LIST)
-
-######################################################
-# clobber
-######################################################
-modules-clobber::
-	$(RM) -r $(JDK_MODULE_IMAGE_DIR)
-	$(RM) -r $(JRE_MODULE_IMAGE_DIR)
-
-modules modules-clobber::
-	@$(ECHO) ">>>Finished making "$@" @ `$(DATE)` ..."
-	@$(java-vm-cleanup)
-
-.PHONY: modules module-image-jre module-image-jdk \
-	initial-module-image-jre initial-module-image-jdk \
-	initial-module-image-jre-sol64 initial-module-image-jdk-sol64 \
-        initial-module-image-jdk-setup \
-	initial-module-image-jdk-db \
-        initial-module-image-jdk64-bindemos \
-        initial-module-image-jre-setup \
-	trim-module-image-jre trim-module-image-jdk \
-	process-module-image-jre process-module-image-jdk \
-	install-previous-jre install-previous-jdk \
-	modules-clobber
-
-# Force rule
-FRC:
-
--- a/makefiles/common/Program.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,319 +0,0 @@
-#
-# Copyright (c) 1995, 2011, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code 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
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-#
-# Generic makefile for building executables.
-#
-
-# WARNING: This file is shared with other workspaces.
-#          So when it includes other files, it must use JDK_TOPDIR.
-#
-
-#
-# If building programs, use a normal compile approach
-#
-ifeq ($(COMPILE_APPROACH),batch)
-  override COMPILE_APPROACH = normal
-endif
-
-# set the platform specific directory for macosx, also this platform shares
-# substantial family ties with its siblings (solaris and linux), thus we add
-# solaris src path to its compilation dependencies.
-ifeq ($(PLATFORM), macosx)
-  LAUNCHER_PLATFORM_SRC = $(BUILDDIR)/../src/macosx
-  LAUNCHER_SOLARIS_PLATFORM_SRC  = $(BUILDDIR)/../src/solaris
-else
-  LAUNCHER_PLATFORM_SRC = $(PLATFORM_SRC)
-endif
-
-ifndef LAUNCHER_SHARE_SRC
-  LAUNCHER_SHARE_SRC = $(SHARE_SRC)
-endif
-
-ACTUAL_PROGRAM_NAME = $(PROGRAM)$(EXE_SUFFIX)
-ACTUAL_PROGRAM_DIR  = $(BINDIR)
-ACTUAL_PROGRAM      = $(ACTUAL_PROGRAM_DIR)/$(ACTUAL_PROGRAM_NAME)
-
-# Make sure the default rule is all
-program_default_rule: all
-
-program: $(ACTUAL_PROGRAM)
-
-# Work-around for missing processor specific mapfiles
-ifndef CROSS_COMPILE_ARCH
-  # reuse the mapfiles in the launcher's directory, the same should
-  # be applicable to the tool launchers as well.
-  FILES_m = $(BUILDDIR)/java/main/java/mapfile-$(ARCH)
-  include $(BUILDDIR)/common/Mapfile-vers.gmk
-endif
-
-include $(JDK_TOPDIR)/makefiles/common/Rules.gmk
-
-ifdef NEVER_ACT_AS_SERVER_CLASS_MACHINE
-  OTHER_CPPFLAGS += -DNEVER_ACT_AS_SERVER_CLASS_MACHINE
-endif
-
-#
-# Create a dependency on libjli (Java Launcher Infrastructure)
-#
-# On UNIX, this is a relative dependency using $ORIGIN. Unfortunately, to
-# do this reliably on Linux takes a different syntax than Solaris.
-#
-# On Windows, this is done by using the same directory as the executable
-# itself, as with all the Windows libraries.
-#
-ifeq ($(PLATFORM), macosx)
-  ifneq ($(ARCH), universal)
-    LDFLAGS += -Wl,-all_load
-  endif
-  LDFLAGS += $(OUTPUTDIR)/tmp/java/jli/$(OBJDIRNAME)/static/libjli.a
-
-  ifeq ($(SYSTEM_ZLIB),true)
-    OTHER_LDLIBS += -lz
-  endif
-endif
-
-ifneq (,$(findstring $(PLATFORM), linux solaris)) # UNIX systems
-  LDFLAGS += -L $(LIBDIR)/$(LIBARCH)/jli
-  OTHER_LDLIBS += -ljli
-  ifeq ($(PLATFORM), solaris)
-    ifeq ($(ARCH_DATA_MODEL), 32)
-      LDFLAGS += -R \$$ORIGIN/../lib/$(LIBARCH)/jli
-      LDFLAGS += -R \$$ORIGIN/../jre/lib/$(LIBARCH)/jli
-    else
-      LDFLAGS += -R \$$ORIGIN/../../lib/$(LIBARCH)/jli
-      LDFLAGS += -R \$$ORIGIN/../../jre/lib/$(LIBARCH)/jli
-    endif
-  endif
-  ifeq ($(PLATFORM), linux)
-    LDFLAGS += $(LDFLAG_Z_ORIGIN)
-    LDFLAGS += -Wl,--allow-shlib-undefined
-    LDFLAGS += -Wl,-rpath -Wl,\$$ORIGIN/../lib/$(LIBARCH)/jli
-    LDFLAGS += -Wl,-rpath -Wl,\$$ORIGIN/../jre/lib/$(LIBARCH)/jli
-  endif
-endif
-
-ifeq ($(PLATFORM), windows)
-  JLI_LCF = $(OUTPUTDIR)/tmp/java/jli/$(OBJDIRNAME)/jli.lcf
-  ifdef STATIC_JLI
-    LDFLAGS += -libpath:$(OUTPUTDIR)/tmp/java/jli/$(OBJDIRNAME)/static
-  else
-    LDFLAGS += -libpath:$(OUTPUTDIR)/tmp/java/jli/$(OBJDIRNAME)
-  endif
-  OTHER_LDLIBS += jli.lib
-endif
-
-#
-# Launcher specific files.
-#
-FILES_o = $(OBJDIR)/main.$(OBJECT_SUFFIX)
-
-$(ACTUAL_PROGRAM):: classes $(INIT) 
-
-#
-# Windows only
-#
-ifeq ($(PLATFORM), windows)
-  # JDK name required here
-  RC_FLAGS += /D "JDK_FNAME=$(PROGRAM)$(EXE_SUFFIX)" \
-              /D "JDK_INTERNAL_NAME=$(PROGRAM)" \
-              /D "JDK_FTYPE=0x1L"
-
-  $(OBJDIR)/$(PROGRAM).res: $(VERSIONINFO_RESOURCE)
-	@$(prep-target)
-  ifndef LOCAL_RESOURCE_FILE
-	$(RC) $(RC_FLAGS) $(CC_OBJECT_OUTPUT_FLAG)$(@) $(VERSIONINFO_RESOURCE)
-  endif
-
-  $(OBJDIR)/$(PROGRAM).lcf: $(OBJDIR)/$(PROGRAM).res $(FILES_o)
-	@$(prep-target)
-	@$(ECHO) $(FILES_o) > $@ 
-  ifndef LOCAL_RESOURCE_FILE
-	@$(ECHO) $(OBJDIR)/$(PROGRAM).res >> $@
-  endif
-	@$(ECHO) setargv.obj >> $@
-	@$(ECHO) Created $@ 
-
-  $(ACTUAL_PROGRAM):: $(OBJDIR)/$(PROGRAM)$(EXE_SUFFIX)
-	@$(install-file)
-
-  ifeq ($(ARCH_DATA_MODEL), 32)
-    STACK_SIZE=327680
-  else
-    # We need more Stack for Windows 64bit
-    STACK_SIZE=1048576
-  endif
-
-  IMVERSION=$(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION).$(JDK_UPDATE_VER).$(COOKED_BUILD_NUMBER)
-  $(OBJDIR)/$(PROGRAM).exe.manifest: $(JDK_TOPDIR)/src/windows/resource/java.manifest
-	@$(prep-target)
-	$(SED) 's%IMVERSION%$(IMVERSION)%g;s%PROGRAM%$(PROGRAM)%g' $< > $@
-
-  # We used a hand-crafted manifest file for all executables.
-  # It is tweaked to embed the build number and executable name.
-  # Use ";#2" for .dll and ";#1" for .exe in the MT command below:
-  $(OBJDIR)/$(PROGRAM)$(EXE_SUFFIX):: $(OBJDIR)/$(PROGRAM).lcf $(FILES_o) $(JLI_LCF) $(OBJDIR)/$(PROGRAM).exe.manifest
-	@$(prep-target)
-	@set -- $?; \
-	    $(ECHO) Rebuilding $@ because of $$1 $$2 $$3 $$4 $$5 $$6 $${7:+...};
-	$(LD) -out:$@ /STACK:$(STACK_SIZE) \
-	    -map:$(OBJDIR)/$(PROGRAM).map $(LFLAGS) $(LDFLAGS) \
-	    @$(OBJDIR)/$(PROGRAM).lcf $(LDLIBS)
-  ifdef MT
-	$(MT) /manifest $(OBJDIR)/$(PROGRAM).exe.manifest /outputresource:$@;#1
-  endif
-	@$(call binary_file_verification,$@)
-else
-  #
-  # Note that we have to link -lthread even when USE_PTHREADS is true.
-  # This is becuase checkForCorrectLibthread() croaks otherwise.
-  #
-  LIBTHREAD = -lthread
-  ifeq ($(USE_PTHREADS),true)
-    THREADLIBS = -lpthread $(LIBTHREAD)
-  else
-    THREADLIBS = $(LIBTHREAD)
-  endif
-
-  ifeq ($(PLATFORM), macosx)
-    THREADLIBS = -pthread
-    # Needed for linking the various launchers
-    LDFLAGS += -framework Cocoa -framework Security \
-               -framework ApplicationServices
-    OTHER_CPPFLAGS += -DPACKAGE_PATH='"$(PACKAGE_PATH)"'
-
-    # Default Info.plist file for the command line tools. This gets overridden by
-    # some of the jvmstat tools so that they have task_for_pid() privileges
-    ifndef INFO_PLIST_FILE
-      INFO_PLIST_FILE = Info-cmdline.plist
-    endif
-    LDFLAGS += -sectcreate __TEXT __info_plist $(LAUNCHER_PLATFORM_SRC)/lib/$(INFO_PLIST_FILE)
-  else 
-    INFO_PLIST_FILE=
-  endif
-
-  #
-  # This rule only applies on unix.  It supports quantify and its ilk.
-  #
-  $(ACTUAL_PROGRAM):: $(FILES_o)
-	@$(prep-target)
-	@set -- $?; \
-	$(ECHO) Rebuilding $@ because of $$1 $$2 $$3 $$4 $$5 $$6 $${7:+...};
-	@$(MKDIR) -p $(TEMPDIR)
-	$(LINK_PRE_CMD) $(CC) $(CC_OBJECT_OUTPUT_FLAG)$@ $(LDFLAGS) \
-	$(FILES_o) $(THREADLIBS) $(LDLIBS)
-  ifeq ($(findstring privileged, $(INFO_PLIST_FILE)), privileged)
-	-codesign -s openjdk_codesign $@
-  endif
-	@$(call binary_file_verification,$@)
-endif # PLATFORM
-
-clean:: 
-ifeq ($(PLATFORM), windows)
-	$(RM) $(OBJDIR)/$(PROGRAM).rc
-	$(RM) $(OBJDIR)/$(PROGRAM).ico
-	$(RM) $(OBJDIR)/$(PROGRAM).lcf
-	$(RM) $(OBJDIR)/$(PROGRAM).map
-	$(RM) $(OBJDIR)/$(PROGRAM).exp
-	$(RM) $(OBJDIR)/$(PROGRAM).lib
-	$(RM) $(OBJDIR)/$(PROGRAM)$(EXE_SUFFIX)
-	$(RM) $(OBJDIR)/$(PROGRAM).ilk
-	$(RM) *.pdb
-endif
-
-
-clobber:: 
-	$(RM) $(ACTUAL_PROGRAM)
-
-#
-# Now include make dependencies (created during compilation, see Rules.gmk)
-#
-ifeq ($(INCREMENTAL_BUILD),true)
-  # Workaround: gnumake sometimes says files is empty when it shouldn't
-  #    was:  files := $(foreach file, $(wildcard */$(ARCH)/*.$(DEPEND_SUFFIX)), $(file))
-  files := $(shell $(LS) $(OBJDIR)/*.$(DEPEND_SUFFIX) 2>/dev/null)
-  ifneq ($(strip $(files)),)
-    include $(files)
-  endif
-endif
-
-ifdef JAVA_ARGS
-  OTHER_CPPFLAGS += -DJAVA_ARGS='$(JAVA_ARGS)'
-  OTHER_CPPFLAGS += -DLAUNCHER_NAME='"$(LAUNCHER_NAME)"'
-endif
-
-ifeq ($(PLATFORM), windows)
-  ifdef RELEASE
-    OTHER_CPPFLAGS += -DVERSION='"$(RELEASE)"'
-  endif
-endif
-
-
-ifneq ($(PLATFORM), windows)
-  HAVE_GETHRTIME=true
-endif
-
-ifeq ($(HAVE_GETHRTIME),true)
-  OTHER_CPPFLAGS += -DHAVE_GETHRTIME
-endif
-
-OTHER_INCLUDES += -I$(LAUNCHER_SHARE_SRC)/bin -I$(LAUNCHER_PLATFORM_SRC)/bin
-ifeq ($(PLATFORM), macosx)
-  OTHER_INCLUDES += -I$(LAUNCHER_SOLARIS_PLATFORM_SRC)/bin
-  ifneq ($(SYSTEM_ZLIB), true)
-    OTHER_INCLUDES += -I$(SHARE_SRC)/native/java/util/zip/zlib-1.1.3
-  endif
-else
-  OTHER_INCLUDES += -I$(SHARE_SRC)/native/java/util/zip/zlib-1.1.3
-endif
-
-OTHER_CPPFLAGS  += -DPROGNAME='"$(PROGRAM)"'
-VERSION_DEFINES += -DFULL_VERSION='"$(FULL_VERSION)"'
-
-VERSION_DEFINES += -DJDK_MAJOR_VERSION='"$(JDK_MAJOR_VERSION)"' \
-                   -DJDK_MINOR_VERSION='"$(JDK_MINOR_VERSION)"'
-
-
-
-$(OBJDIR)/main.$(OBJECT_SUFFIX): $(LAUNCHER_SHARE_SRC)/bin/main.c
-	@$(prep-target)
-	$(COMPILE.c) $(CC_OBJECT_OUTPUT_FLAG)$(OBJDIR)/main.$(OBJECT_SUFFIX) \
-		$(VERSION_DEFINES) $<
-
-#
-# Default dependencies
-#
-
-all: build
-
-build: program
-
-debug:
-	$(MAKE) VARIANT=DBG build
-
-fastdebug:
-	$(MAKE) VARIANT=DBG FASTDEBUG=true build
-
-.PHONY: all build program clean clobber debug fastdebug
--- a/makefiles/common/Release-embedded.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,230 +0,0 @@
-#
-# Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code 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
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-#
-# SE-Embedded Reduced JRE targets
-#
-ifdef JAVASE_EMBEDDED
-
-reduced-image-jre reduced-headless-image-jre ::
-	@$(ECHO) ">>>Making "$@" @ `$(DATE)` ..."
-
-# Add the reduced-jre images as pre-reqs. These will be processed last
-images:: reduced-image-jre reduced-headless-image-jre
-
-
-######################################################
-# Create the headless rt.jar
-######################################################
-
-NOT_HEADLESS_RT_JAR_LIST = $(ABS_TEMPDIR)/not_hl_rt_jar.list
-HEADLESS_RT_JAR_FILELIST=$(JARFILELISTS_TEMPDIR)/hl_rt_jar_list
-TOTAL_HEADLESS_JAR_FILELIST=$(REORDER_TEMPDIR)/hl_file_list
-HEADLESS_CLASSLIST=$(ABS_TEMPDIR)/headless_classlist
-
-# Add the jar file directories that we don't want in the
-# headless JRE.  If you want to remove most classes in a
-# directory, put the directory in the NOT_HEADLESS_RT_JAR_LIST
-# and put the individual classes you want to keep in the 
-# HEADLESS_CLASSLIST file. 
-$(NOT_HEADLESS_RT_JAR_LIST): $(NOT_RT_JAR_LIST)
-	$(RM) $(HEADLESS_CLASSLIST)
-	$(RM) $(NOT_HEADLESS_RT_JAR_LIST)
-	$(CP) $(NOT_RT_JAR_LIST) $(NOT_HEADLESS_RT_JAR_LIST)
-# List all the packages to be excluded
-	$(ECHO) "sun/awt/motif/" >> $@
-	$(ECHO) "sun/awt/X11/" >> $@
-	$(ECHO) "sun/applet/" >> $@
-	$(ECHO) "sun/java2d/opengl/" >> $@
-	$(ECHO) "com/sun/java/swing/plaf/" >> $@
-# List all the individual classes to be included
-	$(ECHO) "sun/awt/motif/MFontConfiguration.class" >$(HEADLESS_CLASSLIST)
-	$(ECHO) "sun/applet/AppContextCreator.class" >>$(HEADLESS_CLASSLIST)
-	$(ECHO) "sun/applet/AppletAudioClip.class" >>$(HEADLESS_CLASSLIST)
-	$(ECHO) "sun/java2d/opengl/GLXSurfaceData.class" >>$(HEADLESS_CLASSLIST)
-	$(ECHO) "sun/java2d/opengl/GLXSurfaceData"\$$"GLXOffScreenSurfaceData.class" >>$(HEADLESS_CLASSLIST)
-	$(ECHO) "sun/java2d/opengl/GLXVolatileSurfaceManager.class" >>$(HEADLESS_CLASSLIST)
-	$(ECHO) "sun/java2d/opengl/OGLSurfaceData.class" >>$(HEADLESS_CLASSLIST)
-
-
-$(TOTAL_HEADLESS_JAR_FILELIST): $(JARREORDER_JARFILE) $(NOT_HEADLESS_RT_JAR_LIST)
-	$(prep-target)
-	$(RM) $@.temp
-	$(CD) $(CLASSBINDIR) ; \
-		$(BOOT_JAVA_CMD) -jar $(JARREORDER_JARFILE) \
-		-o  $@.temp - $(NOT_HEADLESS_RT_JAR_LIST)  .
-# Add on the explicitly included class files from the otherwise excluded packages
-	$(CAT) $(HEADLESS_CLASSLIST) >> $@.temp
-	$(MV) $@.temp $@
-	@$(CD) $(CLASSBINDIR); $(java-vm-cleanup)
-
-# Create the headless rt.jar file list & non-class files list
-MakeHeadlessJarFileList: $(TOTAL_HEADLESS_JAR_FILELIST) $(JARSPLIT_JARFILE)
-	@$(RM) $(HEADLESS_RT_JAR_FILELIST) $(RES_JAR_FILELIST)
-	$(BOOT_JAVA_CMD) -jar $(JARSPLIT_JARFILE) $(TOTAL_HEADLESS_JAR_FILELIST) \
-		-o  $(HEADLESS_RT_JAR_FILELIST) $(RES_JAR_FILELIST)
-	@$(java-vm-cleanup)
-
-# Create headless rt.jar
-HL_RT_JAR=$(ABS_TEMPDIR)/rt-hl-orig.jar
-$(HL_RT_JAR): MakeHeadlessJarFileList $(RT_JAR_MANIFEST_FILE)
-	$(prep-target)
-	$(CD) $(CLASSBINDIR) ; \
-		$(BOOT_JAR_CMD) $(CREATE_JAR_OPTS) $(RT_JAR_MANIFEST_FILE) $@ @$(HEADLESS_RT_JAR_FILELIST) \
-		 $(JAR_JFLAGS)
-	@$(CD) $(CLASSBINDIR); $(java-vm-cleanup)
-
-
-#
-# Produce a reduced Headful JRE for Embedded Devices
-#
-# The deployment binaries are added during the deployment build process
-#
-
-# Binaries that don't get included in reduced jre image bin directory
-NOT_REDUCEDJRE_BIN = \
- java_vm \
- kinit \
- klist \
- ktab \
- orbd \
- policytool \
- rmid \
- rmiregistry \
- servertool \
- tnameserv \
- pack200 \
- unpack200
-
-# jars/resources/libs that don't get included in reduced jre image lib directory
-NOT_REDUCEDJRE_LIB = \
- charsets.jar \
- ext/dnsns.jar \
- ext/localedata.jar \
- $(LIBARCH)/client/classes.jsa \
- $(LIBARCH)/libjavaplugin_jni.so \
- $(LIBARCH)/libjavaplugin_nscp_gcc29.so \
- $(LIBARCH)/libjavaplugin_nscp.so \
- $(LIBARCH)/libjavaplugin_oji.so
-
-# JRE docs that don't get included in reduced jre image top directory
-NOT_REDUCEDJRE_DOC = \
- Welcome.html
-
-reduced-image-jre::
-	@$(ECHO) Starting to Produce Reduced JRE
-	@#
-	@# First make a copy of the full JRE
-	@#
-	$(RM) -r $(JRE_REDUCED_IMAGE_DIR)
-	$(MKDIR) -p $(JRE_REDUCED_IMAGE_DIR)
-	$(CD) $(JRE_IMAGE_DIR); \
-	    $(TAR) cf - . | ($(CD) $(JRE_REDUCED_IMAGE_DIR); $(TAR) xf - ); 
-
-	@#
-	@# Remove all of the files that are not needed for the
-	@# reduced JRE
-	@#
-	for l in $(NOT_REDUCEDJRE_BIN) ; do \
-	    $(RM) $(JRE_REDUCED_IMAGE_DIR)/bin/$$l ; \
-	done
-	for l in $(NOT_REDUCEDJRE_LIB) ; do \
-	    $(RM) $(JRE_REDUCED_IMAGE_DIR)/lib/$$l ; \
-	done
-	for l in $(NOT_REDUCEDJRE_DOC) ; do \
-	    $(RM) $(JRE_REDUCED_IMAGE_DIR)/$$l ; \
-	done
-
-	@# Remove misc. other files
-	$(RM) -r $(JRE_REDUCED_IMAGE_DIR)/man
-	$(RM) -f $(JRE_REDUCED_IMAGE_DIR)/CHANGES
-
-	@$(ECHO) Done Creating Reduced JRE
-
-#
-# Produce a reduced Headless JRE
-#
-reduced-headless-image-jre:: $(RT_JAR) $(RESOURCES_JAR) $(BUILD_META_INDEX) $(HL_RT_JAR)
-	@$(ECHO) Starting to Produce Reduced Headless JRE
-	@#
-	@# First make a copy of the reduced JRE we just built
-	@#
-	$(RM) -r $(JRE_REDUCED_HEADLESS_IMAGE_DIR)
-	$(MKDIR) -p $(JRE_REDUCED_HEADLESS_IMAGE_DIR)
-	$(CD) $(JRE_REDUCED_IMAGE_DIR); \
-	    $(TAR) cf - . | ($(CD) $(JRE_REDUCED_HEADLESS_IMAGE_DIR); $(TAR) xf - ); 
-
-	@# Replace the full rt.jar with the headless rt.jar
-	$(RM) -f $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/rt.jar
-	$(CP) $(HL_RT_JAR) $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/rt.jar
-
-	@#
-	@# Remove all of the files that are not needed for the
-	@# reduced Headless JRE
-	@#
-	$(RM) -f $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/$(LIBARCH)/gtkhelper
-	$(RM)  $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/$(LIBARCH)/libjsoundalsa.so
-	$(RM) -r $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/audio
-	$(RM) -fr $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/applet
-	$(RM)  $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/$(LIBARCH)/awt_robot
-	$(RM)  $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/$(LIBARCH)/libawt_xawt.so
-	$(RM) -r $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/$(LIBARCH)/libsplashscreen.so
-	@# Remove oblique fonts and reduce font support to LucidaSansRegular only
-	$(RM) -fr $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/oblique-fonts
-	$(RM) -f $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/LucidaBrightDemiBold.ttf
-	$(RM) -f $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/LucidaBrightDemiItalic.ttf
-	$(RM) -f $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/LucidaBrightItalic.ttf
-	$(RM) -f $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/LucidaBrightRegular.ttf
-	$(RM) -f $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/LucidaSansDemiBold.ttf
-	$(RM) -f $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/LucidaTypewriterBold.ttf
-	$(RM) -f $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/LucidaTypewriterRegular.ttf
-
-ifeq ($(PLATFORM), linux)
-# put out minimal fonts.dir file for the remaining font
-	$(RM) -f $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/fonts.dir
-	$(ECHO) 6>$(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/fonts.dir
-	$(ECHO) "LucidaSansRegular.ttf -b&h-lucidasans-medium-r-normal-sans-0-0-0-0-p-0-iso8859-1">>$(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/fonts.dir
-	$(ECHO) "LucidaSansRegular.ttf -b&h-lucidasans-medium-r-normal-sans-0-0-0-0-p-0-iso8859-2">>$(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/fonts.dir
-	$(ECHO) "LucidaSansRegular.ttf -b&h-lucidasans-medium-r-normal-sans-0-0-0-0-p-0-iso8859-4">>$(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/fonts.dir
-	$(ECHO) "LucidaSansRegular.ttf -b&h-lucidasans-medium-r-normal-sans-0-0-0-0-p-0-iso8859-5">>$(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/fonts.dir
-	$(ECHO) "LucidaSansRegular.ttf -b&h-lucidasans-medium-r-normal-sans-0-0-0-0-p-0-iso8859-7">>$(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/fonts.dir
-	$(ECHO) "LucidaSansRegular.ttf -b&h-lucidasans-medium-r-normal-sans-0-0-0-0-p-0-iso8859-9">>$(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/fonts.dir
-
-endif # Linux
-
-	@#
-	@# all done with JRE reduced headless image
-	@#
-
-	@$(ECHO) Done Creating Reduced Headless JRE
-
-images-clobber::
-	$(RM) -r $(JRE_REDUCED_IMAGE_DIR)
-	$(RM) -r $(JRE_REDUCED_HEADLESS_IMAGE_DIR)
-
-.PHONY: reduced-image-jre reduced-headless-image-jre 
-
-endif # JAVASE_EMBEDDED
-
--- a/makefiles/common/Release-macosx.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,75 +0,0 @@
-#
-# Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code 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
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-MANBASEDIRS=$(JDK_TOPDIR)/src/bsd/doc $(IMPORTDOCDIR)
-MAN1SUBDIR = man
-JA_DIRNAME=ja_JP.UTF-8
-
-# Defines the release targets for Mac OS X build products
-
-JDK_BUNDLE_DIR = $(ABS_OUTPUTDIR)/j2sdk-bundle/jdk$(JDK_VERSION).jdk/Contents
-JRE_BUNDLE_DIR = $(ABS_OUTPUTDIR)/j2re-bundle/jre$(JDK_VERSION).jre/Contents
-
-MACOSX_SRC	 = $(JDK_TOPDIR)/src/macosx
-
-BUNDLE_ID ?= net.java.openjdk
-BUNDLE_ID_JRE ?= $(BUNDLE_ID).jre
-BUNDLE_ID_JDK ?= $(BUNDLE_ID).jdk
-
-BUNDLE_NAME ?= OpenJDK $(JDK_MINOR_VERSION)
-BUNDLE_NAME_JRE ?= $(BUNDLE_NAME)
-BUNDLE_NAME_JDK ?= $(BUNDLE_NAME)
-
-BUNDLE_INFO ?= OpenJDK ($(JDK_VERSION))
-BUNDLE_INFO_JRE ?= $(BUNDLE_INFO)
-BUNDLE_INFO_JDK ?= $(BUNDLE_INFO)
-
-BUNDLE_PLATFORM_VERSION ?= $(JDK_MAJOR_VERSION).$(JDK_MINOR_VERSION)
-BUNDLE_VERSION ?= $(JDK_VERSION)
-BUNDLE_VENDOR ?= UNDEFINED
-
-jre-bundle-setup:
-	$(RM) -r $(JRE_BUNDLE_DIR)
-
-jdk-bundle-setup:
-	$(RM) -r $(JDK_BUNDLE_DIR)
-
-jre-bundle-files:
-	$(MKDIR) -p $(JRE_BUNDLE_DIR)/MacOS
-	ln -s ../Home/lib/jli/libjli.dylib $(JRE_BUNDLE_DIR)/MacOS/
-	$(CP) -r $(JRE_IMAGE_DIR) $(JRE_BUNDLE_DIR)/Home
-	$(SED) -e "s/@@ID@@/$(BUNDLE_ID_JRE)/g" -e "s/@@NAME@@/$(BUNDLE_NAME_JRE)/g" -e "s/@@INFO@@/$(BUNDLE_INFO_JRE)/g" -e "s/@@PLATFORM_VERSION@@/$(BUNDLE_PLATFORM_VERSION)/g" -e "s/@@VERSION@@/$(BUNDLE_VERSION)/g" -e "s/@@VENDOR@@/$(BUNDLE_VENDOR)/g" < $(MACOSX_SRC)/bundle/JRE-Info.plist > $(JRE_BUNDLE_DIR)/Info.plist
-	/usr/bin/SetFile -a B $(JRE_BUNDLE_DIR)/../
-
-jdk-bundle-files:
-	$(MKDIR) -p $(JDK_BUNDLE_DIR)/MacOS
-	ln -s ../Home/jre/lib/jli/libjli.dylib $(JDK_BUNDLE_DIR)/MacOS/
-	$(CP) -r $(JDK_IMAGE_DIR) $(JDK_BUNDLE_DIR)/Home
-	$(SED) -e "s/@@ID@@/$(BUNDLE_ID_JDK)/g" -e "s/@@NAME@@/$(BUNDLE_NAME_JDK)/g" -e "s/@@INFO@@/$(BUNDLE_INFO_JDK)/g" -e "s/@@PLATFORM_VERSION@@/$(BUNDLE_PLATFORM_VERSION)/g" -e "s/@@VERSION@@/$(BUNDLE_VERSION)/g" -e "s/@@VENDOR@@/$(BUNDLE_VENDOR)/g" < $(MACOSX_SRC)/bundle/JDK-Info.plist > $(JDK_BUNDLE_DIR)/Info.plist
-	/usr/bin/SetFile -a B $(JDK_BUNDLE_DIR)/../
-
-EXTRA_IMAGE_TARGETS += jre-bundle-setup jdk-bundle-setup jre-bundle-files jdk-bundle-files
-
-.PHONY: $(EXTRA_JRE_TARGETS) $(EXTRA_IMAGE_TARGETS)
--- a/makefiles/common/Release.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1401 +0,0 @@
-#
-# Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code 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
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-include $(JDK_TOPDIR)/makefiles/docs/CORE_PKGS.gmk
-include $(JDK_TOPDIR)/makefiles/docs/NON_CORE_PKGS.gmk
-include $(JDK_TOPDIR)/makefiles/Tools.gmk
-
-# What jdk version are we building
-THIS_JDK_VERSION := $(JDK_MAJOR_VERSION).$(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION)
-
-#
-# Perform release engineering tasks.
-#
-# images    An image is what the product looks like when it is
-#           installed.
-#
-
-IMAGE_BINDIR = bin
-
-# The compiler should not issue a "Proprietary" warning when compiling
-# classes in the com.sun.java.swing.plaf packages, since we've always
-# allowed, and even advocated, extending them (see bug 6476749).
-#
-# This approach is NOT to be used as a general purpose way to avoid such
-# compiler warnings for non-core packages. The correct way is to document
-# the packages in NON_CORE_PKGS.gmk, and include them in the NON_CORE_PKGS
-# definition.
-#
-# Swing has taken this approach only as a temporary measure to avoid
-# the compiler warnings until we can properly document these packages.
-# This is covered under 6491853.
-EXCLUDE_PROPWARN_PKGS = com.sun.java.swing.plaf.windows  \
-                        com.sun.java.swing.plaf.motif    \
-                        com.sun.java.swing.plaf.gtk
-
-#
-# Include the exported private packages in ct.sym.
-# This is an interim solution until the ct.sym is replaced
-# with a new module system (being discussed for JDK 8).
-#
-EXPORTED_PRIVATE_PKGS = com.sun.servicetag \
-                        com.oracle.net \
-                        com.oracle.nio
-
-# 64-bit solaris has a few special cases. We define the variable
-# SOLARIS64 for use in this Makefile to easily test those cases
-ifeq ($(PLATFORM), solaris)
-  ifeq ($(ARCH_DATA_MODEL), 64)
-    SOLARIS64 = true
-    IMAGE_BINDIR = bin/$(ARCH)
-  endif
-endif
-
-JTG_DOCS            = $(JDK_TOPDIR)/src/solaris/doc
-
-ifeq ($(PLATFORM), macosx)
-  include $(JDK_TOPDIR)/make/common/Release-$(PLATFORM).gmk
-endif
-
-# The base names of all the license and document files for the jdk and jre
-#   (These files get placed in the jdk and jre install images)
-ifdef OPENJDK
-  # Where to find these files
-  SHARE_JDK_DOC_SRC = $(JDK_TOPDIR)
-  SHARE_JRE_DOC_SRC = $(JDK_TOPDIR)
-  # Same files for jdk and jre, no name changes
-  IMAGE_DOCLIST_JDK = LICENSE ASSEMBLY_EXCEPTION THIRD_PARTY_README
-  IMAGE_DOCLIST_JDK_DEMOS_AND_SAMPLES =
-  IMAGE_DOCLIST_JRE = LICENSE ASSEMBLY_EXCEPTION THIRD_PARTY_README
-else
-  # make/closed/common/Defs.gmk for closed location of SHARE_JDK_DOC_SRC
-
-  IMAGE_DOCLIST_JDK = COPYRIGHT README.html  LICENSE THIRDPARTYLICENSEREADME.txt
-  IMAGE_DOCLIST_JDK_DEMOS_AND_SAMPLES = demo/DEMOS_LICENSE sample/SAMPLES_LICENSE
-  IMAGE_DOCLIST_JRE = COPYRIGHT Welcome.html LICENSE THIRDPARTYLICENSEREADME.txt
-  ifeq ($(PLATFORM), windows)
-    IMAGE_DOCLIST_JRE += README.txt
-  else
-    IMAGE_DOCLIST_JRE += README
-  endif
-endif
-
-# Paths to these files we need
-JDK_DOCFILES   = $(IMAGE_DOCLIST_JDK:%=$(JDK_IMAGE_DIR)/%)
-JRE_DOCFILES   = $(IMAGE_DOCLIST_JRE:%=$(JRE_IMAGE_DIR)/%)
-JDK_DEMOS_AND_SAMPLES_DOCFILES = $(IMAGE_DOCLIST_JDK_DEMOS_AND_SAMPLES:%=$(JDK_IMAGE_DIR)/%)
-
-# absolute directory names: note, these must exist prior to build
-# time - they are created in the main Makefile.
-JRE_IMAGE_BINDIR   = $(JRE_IMAGE_DIR)/bin
-
-MAINMANIFEST  = $(JDK_TOPDIR)/make/tools/manifest.mf
-BEANMANIFEST  = $(JDK_TOPDIR)/make/javax/swing/beaninfo/manifest
-
-#
-# Man pages
-#
-
-JRE_MAN_PAGES =         \
-	java.1		\
-	keytool.1	\
-	orbd.1          \
-	pack200.1	\
-	policytool.1    \
-	rmid.1		\
-	rmiregistry.1	\
-	servertool.1    \
-	tnameserv.1     \
-	unpack200.1
-
-ifndef OPENJDK
-  JRE_MAN_PAGES += javaws.1
-endif
-
-JDK_MAN_PAGES =            \
-	$(JRE_MAN_PAGES)   \
-	appletviewer.1     \
-	extcheck.1         \
-	idlj.1             \
-	jar.1              \
-	jarsigner.1        \
-	javac.1            \
-	javadoc.1          \
-	javah.1            \
-	javap.1            \
-	jconsole.1         \
-	jdb.1              \
-	jhat.1             \
-        jinfo.1            \
-        jmap.1             \
-        jps.1              \
-	jrunscript.1       \
-        jsadebugd.1        \
-        jstack.1           \
-        jstat.1            \
-        jstatd.1           \
-	native2ascii.1     \
-	rmic.1             \
-        schemagen.1        \
-	serialver.1        \
-        wsgen.1            \
-        wsimport.1         \
-        xjc.1
-
-ifeq ($(PLATFORM), solaris)
-  MANBASEDIRS=$(JDK_TOPDIR)/src/solaris/doc $(IMPORTDOCDIR)
-  MAN1SUBDIR=sun/man/man1
-endif # solaris
-
-ifeq ($(PLATFORM), linux)
-  MANBASEDIRS=$(JDK_TOPDIR)/src/linux/doc $(IMPORTDOCDIR)
-  MAN1SUBDIR=man
-  JA_DIRNAME=ja_JP.UTF-8
-endif # linux
-
-define copy-man-pages
-$(MKDIR) -p $1/man/man1
-for manbase in $(MANBASEDIRS:%=%/$(MAN1SUBDIR)) ; do \
-  for manpage in $2; do \
-    if [ -f $${manbase}/$${manpage} ] ; then \
-      $(CP) $${manbase}/$${manpage} $1/man/man1 ; \
-      for ja_encoding in $(JA_TARGET_ENCODINGS); do \
-        ja_dir="ja"; \
-        if [ "$${ja_encoding}" != "$(JA_SOURCE_ENCODING)" ]; then \
-          ja_dir="ja_JP.$${ja_encoding}"; \
-	fi; \
-        $(MKDIR) -p $1/man/$${ja_dir}/man1; \
-        $(CAT) $${manbase}/ja/$${manpage} \
-          | $(NATIVE2ASCII) -encoding $(JA_SOURCE_ENCODING) \
-          | $(SED) 's/@@VERSION@@/$(THIS_JDK_VERSION)/g' \
-          | $(NATIVE2ASCII) -reverse -encoding $${ja_encoding} \
-            > $1/man/$${ja_dir}/man1/$${manpage}; \
-      done; \
-    fi; \
-  done; \
-done
-$(java-vm-cleanup)
-if [ "$(JA_DIRNAME)" != "" ] ; then \
-  $(CD) $1/man && $(RM) ja && $(LN) -s $(JA_DIRNAME) ja; \
-fi
-endef
-
-
-# no compression unless requested
-ifndef COMPRESS_JARS
-  CREATE_JAR_OPTS = c0mf
-  CREATE_JAR_OPTS_NOMANIFEST = c0f
-else
-  CREATE_JAR_OPTS = cmf
-  CREATE_JAR_OPTS_NOMANIFEST = cf
-endif
-
-#
-# Targets.
-#
-INITIAL_IMAGE_JRE=initial-image-jre
-INITIAL_IMAGE_JDK=initial-image-jdk
-ifeq ($(PLATFORM), solaris)
-  ifeq ($(ARCH_DATA_MODEL), 64)
-    INITIAL_IMAGE_JRE=initial-image-jre-sol64
-    INITIAL_IMAGE_JDK=initial-image-jdk-sol64
-  endif
-endif
-
-images images-clobber \
-initial-image-jre initial-image-jdk \
-initial-image-jre-sol64 initial-image-jdk-sol64 \
-trim-image-jre trim-image-jdk \
-identify-image-jre identify-image-jdk \
-process-image-jre process-image-jdk \
-sec-files sec-files-win jgss-files ::
-	$(ECHO) ">>>Making "$@" @ `$(DATE)` ..."
-
-install: images
-
-# Order is important here, trim jre after jdk image is created
-ifeq ($(PLATFORM), macosx)
-
-images:: $(INITIAL_IMAGE_JRE) $(EXTRA_JRE_TARGETS) $(INITIAL_IMAGE_JDK) \
-	 trim-image-jre trim-image-jdk \
-     identify-image-jre identify-image-jdk \
-	 process-image-jre process-image-jdk sec-files sec-files-win jgss-files \
-	 $(EXTRA_IMAGE_TARGETS)
-else
-
-images:: $(INITIAL_IMAGE_JRE) $(INITIAL_IMAGE_JDK) \
-	 trim-image-jre trim-image-jdk \
-         identify-image-jre identify-image-jdk \
-	 process-image-jre process-image-jdk sec-files sec-files-win jgss-files 
-endif
-
-# Don't use these
-image-jre:: initial-image-jre trim-image-jre identify-image-jre process-image-jre
-image-jdk:: initial-image-jdk trim-image-jdk identify-image-jdk process-image-jdk
-
-#
-# Sources we ship in the SDK.
-#
-SOURCES = \
-	java/applet			\
-	java/awt			\
-	java/beans			\
-	java/io				\
-	java/lang			\
-	java/math			\
-	java/net			\
-	java/nio			\
-	java/rmi			\
-	java/security			\
-	java/sql			\
-	java/text			\
-	java/util			\
-	com/sun/corba			\
-	com/sun/image/codec/jpeg	\
-	com/sun/imageio                 \
-	com/sun/java/swing		\
-	com/sun/javadoc			\
-	com/sun/jmx			\
-	com/sun/source			\
-	com/sun/naming			\
-	com/sun/security/auth		\
-	com/sun/security/jgss		\
-	javax/accessibility		\
-	javax/annotation		\
-	javax/script			\
-	javax/imageio			\
-	javax/lang			\
-	javax/management		\
-	javax/naming			\
-	javax/print			\
-	javax/rmi			\
-	javax/security			\
-	javax/sound			\
-	javax/sql			\
-	javax/swing			\
-	javax/tools			\
-	javax/xml			\
-	com/sun/org/apache		\
-	com/sun/java_cup		\
-	com/sun/jlex	        	\
-	org/ietf			\
-	org/omg				\
-	org/w3c/dom			\
-	org/xml/sax			\
-	sunw
-#
-# Directories where sources may be found.  If a file with the same path
-# name exists in more than one of these places, the one found last on this
-# list wins.
-#
-SOURCE_DIRS = $(SHARE_SRC)/classes $(PLATFORM_SRC)/classes
-SOURCE_DIRS += $(GENSRCDIR)
-SOURCE_DIRS += $(IMPORTSRCDIR)
-SOURCE_DIRS += $(JDK_OUTPUTDIR)/gendocsrc_rmic
-ifndef OPENJDK
-  SOURCE_DIRS += $(CLOSED_SRC)/share/classes
-endif
-
-
-#
-# Specific files and directories that will be filtered out from above areas.
-#
-SOURCE_FILTERs = $(SCM_DIRs) ',*'
-SOURCE_FILES_filter = $(SOURCE_FILTERs:%=-name % -prune -o)
-
-#
-# Bug 4249883 - excluding some unnecessary packages from com.sun.tools
-#
-# Bug 5008685 - exclude jconsole from sun/tools
-#
-TOOLS = \
-	META-INF/services/com.sun.jdi.connect.Connector \
-	META-INF/services/com.sun.jdi.connect.spi.TransportService \
-	sun/tools/asm		\
-	sun/tools/jar		\
-	sun/tools/java		\
-	sun/tools/javac		\
-	sun/tools/jcmd		\
-	sun/tools/jps		\
-	sun/tools/jstat		\
-	sun/tools/jstatd	\
-	sun/tools/native2ascii	\
-	sun/tools/serialver	\
-	sun/tools/tree		\
-	sun/tools/util		\
-	sun/security/tools/JarBASE64Encoder.class \
-	sun/security/tools/JarSigner.class \
-	sun/security/tools/JarSignerParameters.class \
-	sun/security/tools/JarSignerResources.class \
-	sun/security/tools/JarSignerResources_ja.class \
-	sun/security/tools/JarSignerResources_zh_CN.class \
-	sun/security/tools/SignatureFile\$$Block.class \
-	sun/security/tools/SignatureFile.class \
-	sun/security/tools/TimestampedSigner.class \
-	sun/rmi/rmic		\
-	sun/applet		\
-	sun/jvmstat		\
-	com/sun/javadoc		\
-	com/sun/jdi		\
-	com/sun/jarsigner	\
-	com/sun/source          \
-	com/sun/tools/classfile \
-	com/sun/tools/doclets   \
-	com/sun/tools/example/debug/expr \
-	com/sun/tools/example/debug/tty  \
-	com/sun/tools/extcheck  \
-	com/sun/tools/hat       \
-	com/sun/tools/javac     \
-	com/sun/tools/javadoc   \
-	com/sun/tools/javah     \
-	com/sun/tools/javap     \
-	com/sun/tools/corba     \
-	com/sun/tools/internal/xjc       \
-	com/sun/tools/internal/ws       \
-	META-INF/services/com.sun.tools.internal.ws.wscompile.Plugin \
-	META-INF/services/com.sun.tools.internal.xjc.Plugin \
-	com/sun/istack/internal/tools       \
-	com/sun/tools/internal/jxc/ap   \
-	com/sun/tools/internal/ws/wscompile/plugin/at_generated \
-        com/sun/codemodel       \
-        com/sun/tools/internal/jxc             \
-        com/sun/xml/internal/rngom       \
-        com/sun/xml/internal/xsom       \
-        org/relaxng/datatype   \
-	com/sun/xml/internal/dtdparser \
-	com/sun/tools/jdi	\
-	com/sun/tools/script/shell	\
-	META-INF/services/com.sun.tools.attach.spi.AttachProvider \
-	com/sun/tools/attach	\
-	sun/tools/attach	\
-	sun/tools/jstack        \
-	sun/tools/jinfo         \
-	sun/tools/jmap
-
-# classes that go into jfr.jar
-JFR_CLASSES_DIRS= \
-	com/oracle/jrockit/jfr \
-	oracle/jrockit/jfr
-
-# classes that go into jsse.jar
-JSSE_CLASSES_DIRS = \
-	sun/security/provider/Sun.class \
-	sun/security/rsa/SunRsaSign.class \
-	sun/security/ssl \
-	com/sun/net/ssl/internal/ssl
-
-# classes that go into dnsns.jar
-DNS_CLASSES_DIRS = \
-        sun/net/spi/nameservice/dns \
-        META-INF/services/sun.net.spi.nameservice.NameServiceDescriptor
-
-# classes and files that go into localedata.jar
-LOCALEDATA_JAR_DIRS = \
-	sun/text/resources/*_ar* \
-	sun/text/resources/*_hi* \
-	sun/text/resources/*_iw* \
-	sun/text/resources/*_iw* \
-	sun/text/resources/*_ja* \
-	sun/text/resources/*_ko* \
-	sun/text/resources/*_th.* \
-	sun/text/resources/*_th_* \
-	sun/text/resources/*_vi* \
-	sun/text/resources/*_zh* \
-	sun/text/resources/*Data_th \
-	sun/text/resources/thai_dict \
-	sun/util/resources/*_ar* \
-	sun/util/resources/*_hi* \
-	sun/util/resources/*_iw* \
-	sun/util/resources/*_iw* \
-	sun/util/resources/*_ja* \
-	sun/util/resources/*_ko* \
-	sun/util/resources/*_th_* \
-	sun/util/resources/*_th.* \
-	sun/util/resources/*_vi* \
-	sun/util/resources/*_zh*
-
-LOCALEDATA_JAR_FILES = $(foreach i,$(LOCALEDATA_JAR_DIRS), $(wildcard $(CLASSBINDIR)/$i))
-
-# files under $(OUTPUTDIR) that need to go into sec-bin.zip for builds
-# where the corresponding sources are not available
-SEC_FILES_DIRS = \
-	classes/javax/net \
-	classes/javax/security/cert \
-	classes/com/sun/net/ssl \
-	classes/com/sun/security/cert \
-	classes/sun/net/www/protocol/https \
-	classes/sun/security/pkcs12 \
-	classes/sun/security/ssl \
-	classes/sun/security/krb5/*.class \
-	classes/sun/security/krb5/internal/*.class \
-	classes/sun/security/krb5/internal/ccache \
-	classes/sun/security/krb5/internal/crypto \
-	classes/sun/security/krb5/internal/ktab \
-	classes/sun/security/krb5/internal/rcache \
-	classes/sun/security/krb5/internal/util \
-	classes/sun/security/jgss/spi/GSSContextSpi.class
-
-# files under $(OUTPUTDIR) that need to go into sec-windows-win.zip for builds
-# where the corresponding sources are not available
-SEC_FILES_WIN_DIRS = \
-	classes/sun/security/krb5/internal/tools
-
-# files under $(BINDIR) that need to go into jgss_files.zip for builds
-# where the corresponding sources are not available
-JGSS_FILES_DIRS = \
-	bin/w2k_lsa_auth.dll \
-	bin/w2k_lsa_auth.map \
-	bin/w2k_lsa_auth.pdb
-
-# The following get removed from the SDK image.
-NOTJDKTOOLS = \
-	java_vm
-
-# The following get removed from the JRE after the bulk-copy of BINDIR...
-NOTJRETOOLS = \
-	appletviewer$(EXE_SUFFIX) \
-	extcheck$(EXE_SUFFIX) \
-	idlj$(EXE_SUFFIX) \
-	jar$(EXE_SUFFIX) \
-	jarsigner$(EXE_SUFFIX) \
-	java-rmi.cgi \
-	javac$(EXE_SUFFIX) \
-	javadoc$(EXE_SUFFIX) \
-	javah$(EXE_SUFFIX) \
-	javap$(EXE_SUFFIX) \
-	jcmd$(EXE_SUFFIX) \
-	jdb$(EXE_SUFFIX) \
-	jps$(EXE_SUFFIX) \
-	jrunscript$(EXE_SUFFIX) \
-	jstat$(EXE_SUFFIX) \
-	jstatd$(EXE_SUFFIX) \
-	jstack$(EXE_SUFFIX) \
-	packagebean$(SCRIPT_SUFFIX) \
-	rmic$(EXE_SUFFIX) \
-	serialver$(EXE_SUFFIX) \
-	unregbean$(EXE_SUFFIX) \
-	jconsole$(EXE_SUFFIX) \
-	jinfo$(EXE_SUFFIX) \
-	jmap$(EXE_SUFFIX) \
-	native2ascii$(EXE_SUFFIX) \
-	xjc$(EXE_SUFFIX) \
-	wsgen$(EXE_SUFFIX) \
-	wsimport$(EXE_SUFFIX) \
-        schemagen$(EXE_SUFFIX) \
-	jsadebugd$(EXE_SUFFIX) \
-	jhat$(EXE_SUFFIX)
-
-# The following get removed from the JRE after the bulk-copy of LIBDIR...
-NOTJRELIBS = tools.jar \
-        jconsole.jar \
-	dt.jar
-
-ifeq ($(INCLUDE_SA), true)
-  NOTJRELIBS += sa-jdi.jar
-
-  # The following get removed from the JRE after the bulk-copy of LIBDIR...
-  NOTJRE_SHARED_LIBS = $(SALIB_NAME)
-else
-  NOTJRE_SHARED_LIBS =
-endif
-
-# Attach library is JDK only
-NOTJRE_SHARED_LIBS += $(LIB_PREFIX)attach.$(LIBRARY_SUFFIX)
-
-#
-###### RULES
-
-# Processing license files from source area to image area
-#    These will be modified to have the platform specific EOL chars.
-define process-doc-file
-$(prep-target)
-$(SED) 's/$$//g' $< > $@
-$(CHMOD) 444 $@
-endef
-
-# JDK files
-$(JDK_IMAGE_DIR)/%: $(SHARE_JDK_DOC_SRC)/%
-	$(process-doc-file)
-
-$(JDK_IMAGE_DIR)/demo/DEMOS_LICENSE: $(SHARE_JDK_DOC_SRC)/DEMOS_LICENSE
-	$(process-doc-file)
-
-$(JDK_IMAGE_DIR)/sample/SAMPLES_LICENSE: $(SHARE_JDK_DOC_SRC)/SAMPLES_LICENSE
-	$(process-doc-file)
-
-# JRE files 
-$(JRE_IMAGE_DIR)/%: $(SHARE_JRE_DOC_SRC)/%
-	$(process-doc-file)
-ifeq ($(PLATFORM), windows)
-$(JRE_IMAGE_DIR)/README.txt: $(SHARE_JRE_DOC_SRC)/README
-	$(process-doc-file)
-endif
-
-
-######################################################
-# List of directories in classes directory that should NOT be in rt.jar
-######################################################
-
-NOT_RT_JAR_LIST = $(IMAGES_OUTPUTDIR)/tmp/not_rt_jar.list
-
-$(NOT_RT_JAR_LIST): FRC
-	$(prep-target)
-	$(ECHO) "#\n" >> $@
-	$(ECHO) "# List of subdirectories not in include in rt.jar" >> $@
-	$(ECHO) "# Directories must contain trailing '/'." >> $@
-	$(ECHO) "com/sun/javadoc/" >> $@
-	$(ECHO) "com/sun/jdi/" >> $@
-	$(ECHO) "com/sun/jarsigner/" >> $@
-	$(ECHO) "com/sun/source/" >> $@
-	$(ECHO) "com/sun/istack/internal/tools/" >> $@
-	$(ECHO) "META-INF/services/com.sun.jdi.connect.Connector" >> $@
-	$(ECHO) "META-INF/services/com.sun.jdi.connect.spi.TransportService" >> $@
-	$(ECHO) "META-INF/services/com.sun.tools.xjc.Plugin" >> $@
-	$(ECHO) "com/sun/tools/" >> $@
-	$(ECHO) "sun/jvmstat/" >> $@
-	$(ECHO) "sun/nio/cs/ext/" >> $@
-	$(ECHO) "sun/awt/HKSCS.class" >> $@
-	$(ECHO) "sun/awt/motif/X11GB2312\$$Decoder.class" >> $@
-	$(ECHO) "sun/awt/motif/X11GB2312\$$Encoder.class" >> $@
-	$(ECHO) "sun/awt/motif/X11GB2312.class" >> $@
-	$(ECHO) "sun/awt/motif/X11GBK\$$Encoder.class" >> $@
-	$(ECHO) "sun/awt/motif/X11GBK.class" >> $@
-	$(ECHO) "sun/awt/motif/X11KSC5601\$$Decoder.class" >> $@
-	$(ECHO) "sun/awt/motif/X11KSC5601\$$Encoder.class" >> $@
-	$(ECHO) "sun/awt/motif/X11KSC5601.class" >> $@
-	$(ECHO) "META-INF/services/java.nio.charset.spi.CharsetProvider" >> $@
-	$(ECHO) "sun/rmi/rmic/" >> $@
-	$(ECHO) "sun/tools/asm/" >> $@
-	$(ECHO) "sun/tools/java/" >> $@
-	$(ECHO) "sun/tools/javac/" >> $@
-	$(ECHO) "com/sun/tools/classfile/" >> $@
-	$(ECHO) "com/sun/tools/javap/" >> $@
-	$(ECHO) "sun/tools/jcmd/" >> $@
-	$(ECHO) "sun/tools/jconsole/" >> $@
-	$(ECHO) "sun/tools/jps/" >> $@
-	$(ECHO) "sun/tools/jstat/" >> $@
-	$(ECHO) "sun/tools/jstatd/" >> $@
-	$(ECHO) "sun/tools/native2ascii/" >> $@
-	$(ECHO) "sun/tools/serialver/" >> $@
-	$(ECHO) "sun/tools/tree/" >> $@
-	$(ECHO) "sun/tools/util/" >> $@
-	$(ECHO) "sun/security/tools/JarBASE64Encoder.class" >> $@
-	$(ECHO) "sun/security/tools/JarSigner.class" >> $@
-	$(ECHO) "sun/security/tools/JarSignerParameters.class" >> $@
-	$(ECHO) "sun/security/tools/JarSignerResources.class" >> $@
-	$(ECHO) "sun/security/tools/JarSignerResources_ja.class" >> $@
-	$(ECHO) "sun/security/tools/JarSignerResources_zh_CN.class" >> $@
-	$(ECHO) "sun/security/tools/SignatureFile\$$Block.class" >> $@
-	$(ECHO) "sun/security/tools/SignatureFile.class" >> $@
-	$(ECHO) "sun/security/tools/TimestampedSigner.class" >> $@
-	$(ECHO) "sun/security/provider/Sun.class" >> $@
-	$(ECHO) "sun/security/rsa/SunRsaSign.class" >> $@
-	$(ECHO) "sun/security/ssl/" >> $@
-	$(ECHO) "sun/security/pkcs11/" >> $@
-	$(ECHO) "sun/security/ec/ECDHKeyAgreement.class" >> $@
-	$(ECHO) "sun/security/ec/ECDSASignature.class" >> $@
-	$(ECHO) "sun/security/ec/ECKeyPairGenerator.class" >> $@
-	$(ECHO) "sun/security/ec/SunEC\$$1.class" >> $@
-	$(ECHO) "sun/security/ec/SunEC.class" >> $@
-	$(ECHO) "sun/security/ec/SunECEntries.class" >> $@
-	$(ECHO) "sun/security/ec/ECDSASignature\$$Raw.class" >> $@
-	$(ECHO) "sun/security/ec/ECDSASignature\$$SHA1.class" >> $@
-	$(ECHO) "sun/security/ec/ECDSASignature\$$SHA256.class" >> $@
-	$(ECHO) "sun/security/ec/ECDSASignature\$$SHA384.class" >> $@
-	$(ECHO) "sun/security/ec/ECDSASignature\$$SHA512.class" >> $@
-	$(ECHO) "com/sun/net/ssl/internal/ssl/" >> $@
-	$(ECHO) "javax/crypto/" >> $@
-	$(ECHO) "sun/security/internal/" >> $@
-	$(ECHO) "com/sun/crypto/provider/" >> $@
-	$(ECHO) "META-INF/services/com.sun.tools.attach.spi.AttachProvider" >> $@
-	$(ECHO) "com/sun/tools/attach/" >> $@
-	$(ECHO) "org/relaxng/datatype/" >> $@
-	$(ECHO) "com/sun/codemodel/" >> $@
-	$(ECHO) "com/sun/xml/internal/dtdparser/" >> $@
-	$(ECHO) "com/sun/xml/internal/rngom/" >> $@
-	$(ECHO) "com/sun/xml/internal/xsom/" >> $@
-	$(ECHO) "com/sun/tools/script/shell/" >> $@
-	$(ECHO) "sun/tools/attach/" >> $@
-	$(ECHO) "sun/tools/jstack/" >> $@
-	$(ECHO) "sun/tools/jinfo/" >> $@
-	$(ECHO) "sun/tools/jmap/" >> $@
-	$(ECHO) "sun/net/spi/nameservice/dns/" >> $@
-	$(ECHO) "META-INF/services/sun.net.spi.nameservice.NameServiceDescriptor" >> $@
-	$(ECHO) "javax/swing/AbstractButtonBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/BoxBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JAppletBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JButtonBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JCheckBoxBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JCheckBoxMenuItemBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JColorChooserBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JComboBoxBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JComponentBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JDesktopPaneBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JDialogBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JEditorPaneBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JFileChooserBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JFormattedTextFieldBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JFrameBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JInternalFrameBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JLabelBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JLayeredPaneBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JListBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JMenuBarBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JMenuBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JMenuItemBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JOptionPaneBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JPanelBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JPasswordFieldBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JPopupMenuBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JProgressBarBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JRadioButtonBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JRadioButtonMenuItemBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JScrollBarBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JScrollPaneBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JSeparatorBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JSliderBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JSpinnerBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JSplitPaneBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JTabbedPaneBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JTableBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JTextAreaBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JTextFieldBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JTextPaneBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JToggleButtonBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JToolBarBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JTreeBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/JWindowBeanInfo.class" >> $@
-	$(ECHO) "javax/swing/SwingBeanInfoBase.class" >> $@
-	$(ECHO) "javax/swing/text/JTextComponentBeanInfo.class" >> $@
-	$(ECHO) "sun/swing/BeanInfoUtils.class" >> $@
-	$(ECHO) $(patsubst $(CLASSBINDIR)/%,%,$(LOCALEDATA_JAR_FILES)) | $(TR) " " "\n" >> $@
-ifndef OPENJDK
-ifndef JAVASE_EMBEDDED
-	$(ECHO) "com/oracle/jrockit/jfr/" >> $@
-	$(ECHO) "com/oracle/jrockit/jfr/client/" >> $@
-	$(ECHO) "com/oracle/jrockit/jfr/management/" >> $@
-	$(ECHO) "oracle/jrockit/jfr/" >> $@
-	$(ECHO) "oracle/jrockit/jfr/events/" >> $@
-	$(ECHO) "oracle/jrockit/jfr/openmbean/" >> $@
-	$(ECHO) "oracle/jrockit/jfr/parser/" >> $@
-	$(ECHO) "oracle/jrockit/jfr/settings/" >> $@
-	$(ECHO) "oracle/jrockit/jfr/tools/" >> $@
-	$(ECHO) "oracle/jrockit/jfr/util/" >> $@
-	$(ECHO) "oracle/jrockit/jfr/util/log/" >> $@
-	$(ECHO) "oracle/jrockit/jfr/util/os/" >> $@
-	$(ECHO) "oracle/jrockit/jfr/util/text/" >> $@
-endif
-endif
-	(cd $(JDK_OUTPUTDIR)/classes && $(FIND) . -name "_the.*") >> $@
-ifeq ($(PLATFORM), macosx)
-	$(ECHO) "com/sun/nio/sctp/" >> $@
-	$(ECHO) "sun/nio/ch/sctp/" >> $@
-	$(ECHO) "sun/jdbc/" >> $@
-	$(ECHO) "sun/nio/ch/DevPollArrayWrapper\$$Updator.class" >> $@
-	$(ECHO) "sun/nio/ch/DevPollArrayWrapper.class" >> $@
-	$(ECHO) "sun/nio/ch/DevPollSelectorImpl.class" >> $@
-	$(ECHO) "sun/nio/ch/DevPollSelectorProvider.class" >> $@
-	$(ECHO) "sun/nio/ch/EPollArrayWrapper\$$Updator.class" >> $@
-	$(ECHO) "sun/nio/ch/EPollArrayWrapper.class" >> $@
-	$(ECHO) "sun/nio/ch/EPollSelectorImpl.class" >> $@
-	$(ECHO) "sun/nio/ch/EPollSelectorProvider.class" >> $@
-endif
-
-######################################################
-# List of directories in classes directory that should NOT be in resources.jar
-######################################################
-
-NOT_RESOURCES_JAR_LIST = $(IMAGES_OUTPUTDIR)/tmp/not_resources_jar.list
-
-$(NOT_RESOURCES_JAR_LIST): FRC
-	$(prep-target)
-	$(ECHO) "#\n" >> $@
-	$(ECHO) "# List of subdirectories not in include in resources.jar" >> $@
-	$(ECHO) "# Directories must contain trailing '/'." >> $@
-	$(ECHO) "javax/swing/beaninfo/" >> $@
-
-TOTAL_JAR_EXCLUDE_LIST = $(IMAGES_OUTPUTDIR)/tmp/total_jar_exclude.list
-
-######################################################
-# Total exclude list
-######################################################
-
-$(TOTAL_JAR_EXCLUDE_LIST): $(NOT_RT_JAR_LIST) $(NOT_RESOURCES_JAR_LIST)
-	$(prep-target)
-	$(ECHO) "#\n" >> $@
-	$(ECHO) "# List of subdirectories not in include in resources.jar" >> $@	
-	$(CAT) $(NOT_RT_JAR_LIST) >>$@
-	$(CAT) $(NOT_RESOURCES_JAR_LIST) >>$@ 
-
-# File order list for rt.jar
-#     - sun.applet is included, till hotjava stops relying on it.
-#     - sun.tools.jar is included, needs cleanup.
-#
-REORDER_TEMPDIR=$(IMAGES_OUTPUTDIR)/tmp/reorder
-TOTAL_JAR_FILELIST=$(REORDER_TEMPDIR)/file_list
-
-JARFILELISTS_TEMPDIR=$(IMAGES_OUTPUTDIR)/tmp/jarfilelists
-RT_JAR_FILELIST=$(JARFILELISTS_TEMPDIR)/rt_jar_list
-RES_JAR_FILELIST=$(JARFILELISTS_TEMPDIR)/resources_jar_list
-
-$(TOTAL_JAR_FILELIST): $(BUILD_TOOLS) $(TOTAL_JAR_EXCLUDE_LIST)
-	$(prep-target)
-	$(RM) $@.temp
-	($(CD) $(CLASSBINDIR) && \
-	    $(TOOL_JARREORDER) \
-		-o  $@.temp $(ABS_LIBDIR)/classlist $(TOTAL_JAR_EXCLUDE_LIST) . )
-	$(MV) $@.temp $@
-	($(CD) $(CLASSBINDIR) && $(java-vm-cleanup))
-
-# Create the jfr.jar containing Java Flight Recorder implementation
-JFR_JAR=
-ifndef OPENJDK
-ifndef JAVASE_EMBEDDED
-JFR_JAR=$(ABS_TEMPDIR)/jfr-orig.jar
-$(JFR_JAR): $(OTHER_JAR_MANIFEST_FILE)
-	$(prep-target)
-	$(CD) $(CLASSBINDIR) && \
-	    $(BOOT_JAR_CMD) $(CREATE_JAR_OPTS) $(OTHER_JAR_MANIFEST_FILE) $@ \
-		$(JFR_CLASSES_DIRS) $(BOOT_JAR_JFLAGS)
-	@$(CD) $(CLASSBINDIR) && $(java-vm-cleanup)
-endif
-endif
-
-# Create the rt.jar file list & non-class files list
-
-$(RT_JAR_FILELIST) + $(RES_JAR_FILELIST): \
-    $(TOTAL_JAR_FILELIST) $(BUILD_TOOLS)
-	$(RM) $(RT_JAR_FILELIST) $(RES_JAR_FILELIST)
-	$(MKDIR) -p $(JARFILELISTS_TEMPDIR)
-	$(TOOL_JARSPLIT) \
-		$(TOTAL_JAR_FILELIST) \
-		-o  $(RT_JAR_FILELIST) $(RES_JAR_FILELIST)
-	$(java-vm-cleanup)
-
-# Create the manifest file.
-RT_JAR_MANIFEST_FILE=$(IMAGES_OUTPUTDIR)/tmp/rt_manifest.tmp
-$(RT_JAR_MANIFEST_FILE): $(MAINMANIFEST) $(BEANMANIFEST)
-	$(prep-target)
-	$(SED) -e "s#@@RELEASE@@#$(RELEASE)#" 		\
-	       -e "s#@@COMPANY_NAME@@#$(COMPANY_NAME)#" \
-	       $(MAINMANIFEST) >> $@
-	$(ECHO) >> $@
-	$(CAT) $(BEANMANIFEST) >> $@
-
-OTHER_JAR_MANIFEST_FILE=$(IMAGES_OUTPUTDIR)/tmp/other_manifest.tmp
-$(OTHER_JAR_MANIFEST_FILE): $(MAINMANIFEST)
-	$(prep-target)
-	$(SED) -e "s#@@RELEASE@@#$(RELEASE)#" 		\
-	       -e "s#@@COMPANY_NAME@@#$(COMPANY_NAME)#" \
-	       $(MAINMANIFEST) >> $@
-
-# Create resources.jar containing non-class files
-RESOURCES_JAR=$(IMAGES_OUTPUTDIR)/tmp/resources-orig.jar
-$(RESOURCES_JAR): $(RES_JAR_FILELIST) $(OTHER_JAR_MANIFEST_FILE)
-	$(prep-target)
-	$(CD) $(CLASSBINDIR) && \
-	    $(BOOT_JAR_CMD) $(CREATE_JAR_OPTS) $(OTHER_JAR_MANIFEST_FILE) $@ \
-	        @$(RES_JAR_FILELIST) $(BOOT_JAR_JFLAGS)
-	$(CD) $(CLASSBINDIR) && $(java-vm-cleanup)
-
-# Create jsse.jar containing SunJSSE implementation classes
-JSSE_JAR=$(IMAGES_OUTPUTDIR)/tmp/jsse-orig.jar
-$(JSSE_JAR): $(OTHER_JAR_MANIFEST_FILE)
-	$(prep-target)
-	$(CD) $(CLASSBINDIR) && \
-	    $(BOOT_JAR_CMD) $(CREATE_JAR_OPTS) $(OTHER_JAR_MANIFEST_FILE) $@ \
-		$(JSSE_CLASSES_DIRS) $(BOOT_JAR_JFLAGS)
-	@$(CD) $(CLASSBINDIR) && $(java-vm-cleanup)
-
-# Create dnsns.jar 
-# Create without manifest for now to not differ with old buildsystem.
-DNS_JAR=$(IMAGES_OUTPUTDIR)/tmp/dns-orig.jar
-$(DNS_JAR): $(OTHER_JAR_MANIFEST_FILE)
-	$(prep-target)
-	$(CD) $(CLASSBINDIR) && \
-	    $(BOOT_JAR_CMD) $(CREATE_JAR_OPTS_NOMANIFEST) $@ \
-		$(DNS_CLASSES_DIRS) $(BOOT_JAR_JFLAGS)
-	@$(CD) $(CLASSBINDIR) && $(java-vm-cleanup)
-
-# Create localedata.jar containing localedata for non european languages
-LOCALEDATA_JAR=$(IMAGES_OUTPUTDIR)/localedata-orig.jar
-$(LOCALEDATA_JAR): $(LOCALEDATA_JAR_FILES)
-	$(prep-target)
-# Create without manifest for now to not differ with old buildsystem.
-#	$(CD) $(CLASSBINDIR) && \
-#	    $(BOOT_JAR_CMD) $(CREATE_JAR_OPTS) $(OTHER_JAR_MANIFEST_FILE) $@ \
-#	        $(LOCALEDATA_JAR_DIRS) $(BOOT_JAR_JFLAGS)
-	$(CD) $(CLASSBINDIR) && \
-	    $(BOOT_JAR_CMD) $(CREATE_JAR_OPTS_NOMANIFEST) $@ \
-	        $(LOCALEDATA_JAR_DIRS) $(BOOT_JAR_JFLAGS)
-	$(CD) $(CLASSBINDIR) && $(java-vm-cleanup)
-
-# Create sec-bin.zip
-SEC_FILES_ZIP=$(IMAGES_OUTPUTDIR)/tmp/sec-bin.zip
-sec-files::
-	$(prep-target)
-	$(RM) $(SEC_FILES_ZIP)
-	$(CD) $(OUTPUTDIR) && \
-		$(ZIPEXE) -rq9 $(SEC_FILES_ZIP) $(SEC_FILES_DIRS)
-	$(java-vm-cleanup)
-
-# Create sec-windows-bin.zip
-SEC_FILES_WIN_ZIP=$(IMAGES_OUTPUTDIR)/tmp/sec-windows-bin.zip
-sec-files-win::
-ifeq ($(PLATFORM), windows)
-	$(prep-target)
-	$(RM) $(SEC_FILES_WIN_ZIP)
-	$(CD) $(OUTPUTDIR) && \
-		$(ZIPEXE) -rq9 $(SEC_FILES_WIN_ZIP) $(SEC_FILES_WIN_DIRS)
-	$(java-vm-cleanup)
-endif
-
-# Create JGSS files that contains the native Kerberos library
-JGSS_WIN32_FILES_ZIP=$(IMAGES_OUTPUTDIR)/tmp/jgss-windows-i586-bin.zip
-JGSS_WIN64_FILES_ZIP=$(IMAGES_OUTPUTDIR)/tmp/jgss-windows-x64-bin.zip
-jgss-files::
-ifeq ($(PLATFORM), windows)
-	$(prep-target)
-  ifeq ($(ARCH_DATA_MODEL), 32)
-	$(RM) $(JGSS_WIN32_FILES_ZIP)
-	$(CD) $(OUTPUTDIR) && \
-		$(ZIPEXE) -rq9 $(JGSS_WIN32_FILES_ZIP) $(JGSS_FILES_DIRS)
-  else
-	$(RM) $(JGSS_WIN64_FILES_ZIP)
-	$(CD) $(OUTPUTDIR) && \
-		$(ZIPEXE) -rq9 $(JGSS_WIN64_FILES_ZIP) $(JGSS_FILES_DIRS)
-  endif
-	$(java-vm-cleanup)
-endif
-
-# Create rt.jar
-RT_JAR=$(IMAGES_OUTPUTDIR)/tmp/rt-orig.jar
-$(RT_JAR): $(RT_JAR_FILELIST) $(RT_JAR_MANIFEST_FILE)
-	$(prep-target)
-	$(CD) $(CLASSBINDIR) && \
-	    $(BOOT_JAR_CMD) $(CREATE_JAR_OPTS) $(RT_JAR_MANIFEST_FILE) $@ \
-	        @$(RT_JAR_FILELIST) $(BOOT_JAR_JFLAGS)
-	$(CD) $(CLASSBINDIR) && $(java-vm-cleanup)
-
-# SE-Embedded targets if enabled
-include $(JDK_TOPDIR)/makefiles/common/Release-embedded.gmk
-
-
-######################################################
-# JRE Image
-######################################################
-
-initial-image-jre-setup:
-	$(RM) -r $(JRE_IMAGE_DIR)
-	$(MKDIR) -p $(JRE_IMAGE_DIR)
-
-# 64-bit solaris jre image contains only the 64-bit add-on files.
-initial-image-jre-sol64:: initial-image-jre-setup
-	@# Use tar instead of cp to preserve the symbolic links
-	for dir in bin lib ; do \
-	  ( $(CD) $(OUTPUTDIR) && \
-		$(TAR) cf - `$(FIND) $$dir -name '$(ARCH)' -print` | \
-		($(CD) $(JRE_IMAGE_DIR) && $(TAR) xf -) ) ; \
-	done
-	@# Remove some files from the jre area
-	for t in $(NOTJRETOOLS) ; do \
-	    $(RM) $(JRE_IMAGE_DIR)/bin$(ISA_DIR)/$$t ; \
-	done
-	for l in $(NOTJRELIBS) ; do \
-	    $(RM) $(JRE_IMAGE_DIR)/lib/$$l ; \
-	done
-	$(RM) `$(FIND) $(JRE_IMAGE_DIR)/lib -name 'orb.idl'`
-	$(RM) `$(FIND) $(JRE_IMAGE_DIR)/lib -name 'ir.idl'`
-
-# Construct an initial jre image (initial jdk jre) no trimming or stripping
-# See "initial-image-jdk-setup" for an explanation of the rm of
-# drive names like C:
-initial-image-jre:: initial-image-jre-setup \
-		    $(JRE_DOCFILES) \
-		    $(RT_JAR) $(RESOURCES_JAR) $(JSSE_JAR) $(JFR_JAR) $(DNS_JAR) $(LOCALEDATA_JAR) \
-		    $(BUILD_TOOLS)
-	@# Copy in bin directory
-	$(CD) $(OUTPUTDIR) && $(FIND) bin -depth | $(CPIO) -pdum $(JRE_IMAGE_DIR)
-	@# CTE plugin security change require new empty directory lib/applet
-	$(MKDIR) -p $(JRE_IMAGE_DIR)/lib/applet
-	@# Copy in lib directory
-	$(CD) $(OUTPUTDIR) && $(FIND) lib -depth | $(CPIO) -pdum $(JRE_IMAGE_DIR)
-  ifeq ($(USING_CYGWIN),true)
-	  $(RM) -rf $(JRE_IMAGE_DIR)/[A-Za-z]:
-	  $(RM) -rf $(OUTPUTDIR)/[A-Za-z]:
-  endif
-	@# Make sure all directories are read/execute for everyone
-	$(CHMOD) a+rx `$(FIND) $(JRE_IMAGE_DIR) -type d`
-	@# Remove some files from the jre area
-	for t in $(NOTJRETOOLS) ; do \
-	    $(RM) $(JRE_IMAGE_DIR)/bin$(ISA_DIR)/$$t ; \
-	done
-	for l in $(NOTJRELIBS) ; do \
-	    $(RM) $(JRE_IMAGE_DIR)/lib/$$l ; \
-	done
-	@# Remove orb.idl and ir.idl from jre
-	$(FIND) $(JRE_IMAGE_DIR)/lib -name 'orb.idl' -exec $(RM) \{} \;
-	$(FIND) $(JRE_IMAGE_DIR)/lib -name 'ir.idl' -exec $(RM) \{} \;
-	@# Copy in rt.jar & resources.jar file
-	$(CP) $(RT_JAR) $(JRE_IMAGE_DIR)/lib/rt.jar
-	$(CP) $(RESOURCES_JAR) $(JRE_IMAGE_DIR)/lib/resources.jar
-	$(CP) $(JSSE_JAR) $(JRE_IMAGE_DIR)/lib/jsse.jar
-ifneq ($(JFR_JAR),)
-	$(CP) $(JFR_JAR) $(JRE_IMAGE_DIR)/lib/jfr.jar
-endif
-	$(CP) $(DNS_JAR) $(JRE_IMAGE_DIR)/lib/ext/dnsns.jar
-	$(CP) $(LOCALEDATA_JAR) $(JRE_IMAGE_DIR)/lib/ext/localedata.jar
-	@# Generate meta-index to make boot and extension class loaders lazier
-	$(CD) $(JRE_IMAGE_DIR)/lib && \
-	    $(TOOL_BUILDMETAINDEX) \
-		-o meta-index *.jar
-	$(CD) $(JRE_IMAGE_DIR)/lib && $(java-vm-cleanup)
-	$(CD) $(JRE_IMAGE_DIR)/lib/ext && \
-	    $(TOOL_BUILDMETAINDEX) \
-		-o meta-index *.jar
-	$(CD) $(JRE_IMAGE_DIR)/lib/ext && $(java-vm-cleanup)
-ifeq ($(PLATFORM), macosx)
-	@#install jobjc, apple mac only
-	$(CP) $(OUTPUTDIR)/JObjC.build/JObjC.jar $(JRE_IMAGE_DIR)/lib/JObjC.jar
-endif
-ifeq ($(PLATFORM), windows)
-	@# Remove certain *.lib files
-	$(CD) $(JRE_IMAGE_DIR)/lib && \
-            $(RM) java.$(LIB_SUFFIX) jvm.$(LIB_SUFFIX) \
-                  awt.$(LIB_SUFFIX) jawt.$(LIB_SUFFIX)
-  ifeq ($(ARCH_DATA_MODEL), 32)
-	@# The Java Kernel JRE image ships with a special VM.  It is not included
-	@# in the full JRE image, so remove it.  Also, is it only for 32-bit windows.
-	$(CD) $(JRE_IMAGE_DIR)/bin && $(RM) -r kernel
-  endif
-endif # Windows
-ifneq ($(PLATFORM), windows)
-	$(call copy-man-pages,$(JRE_IMAGE_DIR),$(JRE_MAN_PAGES))
-endif # !windows
-
-# Trim out any extra files not for the jre shipment but wanted in the jdk jre.
-#   (Note the jdk WILL want the jre image before this trimming)
-#   Removes server VM on Windows 32bit.
-#   Remove certain shared libraries that should not be in the jre image
-#      but should be in the jdk jre image.
-trim-image-jre::
-	@# Clean out all _the. files.
-	$(FIND) $(JRE_IMAGE_DIR) -name "_the.*" $(FIND_DELETE)
-ifeq ($(PLATFORM), windows)
-  ifeq ($(ARCH_DATA_MODEL), 32)
-	$(RM) -r $(JRE_IMAGE_DIR)/bin/server
-  endif
-  ifdef NOTJRE_SHARED_LIBS
-	for l in $(NOTJRE_SHARED_LIBS) ; do \
-	    $(RM) $(JRE_IMAGE_DIR)/bin/$$l ; \
-	done ;
-  endif
-else # PLATFORM
-  ifdef NOTJRE_SHARED_LIBS
-	for l in $(NOTJRE_SHARED_LIBS) ; do \
-	    $(RM) $(JRE_IMAGE_DIR)/lib/$(LIBARCH)/$$l ; \
-	done ;
-  endif
-endif # PLATFORM
-
-# Get list of all binary (COFF or Elf) files in the jre
-JRE_BIN_LIST=$(TEMPDIR)/jre-bin-files.list
-$(JRE_BIN_LIST):
-	$(RM) $@
-ifeq ($(PLATFORM), windows)
-	$(FIND) $(JRE_IMAGE_DIR)/bin -type f -name \*.exe \
-	   -o -name \*.dll | $(EGREP) -v -i "$(MSVCRNN_DLL)" > $@
-else
-	$(FIND) $(JRE_IMAGE_DIR)/lib -type f -name \*.$(LIB_SUFFIX) >> $@
-	$(FILE) `$(FIND) $(JRE_IMAGE_DIR)/bin -type f -name \*$(EXE_SUFFIX)` \
-	    | $(EGREP) 'ELF' | $(CUT) -d':' -f1 >> $@
-endif
-
-# Post process the image (strips and mcs on Elf files we are shipping)
-#   (Note the jdk WILL want the jre image before this processing)
-process-image-jre:: $(JRE_BIN_LIST)
-ifneq ($(POST_STRIP_PROCESS), )
-	@for f in `$(CAT) $(JRE_BIN_LIST)`; do \
-	  $(CHMOD) u+w $${f}; \
-	  $(ECHO) $(POST_STRIP_PROCESS) $${f}; \
-	  $(POST_STRIP_PROCESS) $${f}; \
-	  $(CHMOD) go-w $${f}; \
-	done
-endif
-ifneq ($(POST_MCS_PROCESS), )
-	@for f in `$(CAT) $(JRE_BIN_LIST)`; do \
-	  $(CHMOD) u+w $${f}; \
-	  $(ECHO) $(POST_MCS_PROCESS) $${f}; \
-	  $(POST_MCS_PROCESS) $${f}; \
-	  $(CHMOD) go-w $${f}; \
-	done
-endif
-	@for f in `$(CAT) $(JRE_BIN_LIST)`; do \
-	  $(call binary_file_verification,$${f}); \
-	done
-	$(RM) $(JRE_BIN_LIST)
-
-######################################################
-# JDK Image
-######################################################
-# Note: cpio ($(CPIO)) sometimes leaves directories without rx access.
-
-# REMIND: the $(RM) calls for patterns like c:, d: following $(CPIO)
-# are because the 1.7.x versions of cygwin's cpio command drops these
-# in the working directory if the output path begins with that pattern
-# The one for the output jre subdirectory gets there because cpio sees its
-# own dropping in the input jre subdirectory. Need to remove both of these.
-# We can remove these RM's if someone figures out how to stop cpio from
-# leaving these there.
-# Note that its a real problem not because this directory can end up in the
-# bundle (I think it won't since it not in bin or lib and those are the
-# only places from which we copy everything), but because the presence
-# of this file causes cygwin's find to bomb out, thus breaking the build
-# in "install".
-initial-image-jdk-setup:
-	$(RM) -r $(JDK_IMAGE_DIR)
-	$(MKDIR) -p $(JDK_IMAGE_DIR)/jre
-	($(CD) $(JRE_IMAGE_DIR) && $(FIND) . -depth -print \
-	      | $(CPIO) -pdum $(JDK_IMAGE_DIR)/jre )
-  ifeq ($(USING_CYGWIN),true)
-	  $(RM) -rf $(JRE_IMAGE_DIR)/[A-Za-z]:
-	  $(RM) -rf $(JDK_IMAGE_DIR)/jre/[A-Za-z]:
-  endif
-	$(RM) -rf $(JDK_IMAGE_DIR)/jre/man
-	$(CHMOD) a+rx `$(FIND) $(JDK_IMAGE_DIR) -type d`
-
-initial-image-jdk64-bindemos:
-	for dir in bin demo ; do \
-	  ( $(CD) $(OUTPUTDIR) && \
-		$(TAR) cf - `$(FIND) $$dir -name '$(LIBARCH)' -print` | \
-		($(CD) $(JDK_IMAGE_DIR) && $(TAR) xf -) ) ; \
-        done
-
-# Solaris 64 bit image is special
-initial-image-jdk-sol64:: initial-image-jdk-setup \
-			  initial-image-jdk64-bindemos
-
-# DB files to add
-ifdef OPENJDK
-
-initial-image-jdk-db:
-
-else
-
-# Create the list of db *.zip files to bundle with jdk
-ABS_DB_PATH  :=$(call FullPath,$(CLOSED_SHARE_SRC)/db)
-DB_ZIP_LIST := $(shell $(LS) $(ABS_DB_PATH)/*.zip 2>/dev/null)
-# Can't have : in these file names as they are used in a rule
-# below.
-ifdef USING_CYGWIN
-    DB_ZIP_LIST:=$(shell $(CYGPATH) -a -u $(DB_ZIP_LIST))
-endif
-
-# Java DB image. Move the Java DB demo directory into the JDK's demo
-# dir and in the process, rename it to db.  Also remove index.html,
-# since it presumes docs are co-located. Also remove register.html (no
-# longer relevant).
-initial-image-jdk-db: $(DB_ZIP_LIST)
-	$(MKDIR) -p $(JDK_IMAGE_DIR)/db
-	for d in $(DB_ZIP_LIST); do \
-          ($(CD) $(JDK_IMAGE_DIR)/db && $(UNZIP) -o $$d); \
-	done
-	$(CP) $(ABS_DB_PATH)/README-JDK.html $(JDK_IMAGE_DIR)/db
-ifndef NO_DEMOS
-	$(RM) -rf $(NEWDEMODIR)/db
-	$(MV) $(JDK_IMAGE_DIR)/db/demo $(NEWDEMODIR)/db
-	$(CP) $(ABS_DB_PATH)/README-JDK-DEMOS.html $(NEWDEMODIR)/db/
-else
-	$(RM) -rf $(JDK_IMAGE_DIR)/db/demo
-endif
-	$(RM) $(JDK_IMAGE_DIR)/db/index.html $(JDK_IMAGE_DIR)/db/register.html
-endif
-
-# The launcher source files we need for src.zip
-FILES_launcher = $(wildcard $(SHARE_SRC)/bin/*) \
-                 $(wildcard $(PLATFORM_SRC)/bin/java_md*)
-
-# Standard jdk image
-initial-image-jdk:: initial-image-jdk-setup \
-		    initial-image-jdk-db \
-		    $(JDK_DOCFILES) \
-		    $(JDK_DEMOS_AND_SAMPLES_DOCFILES)
-	$(MKDIR) $(JDK_IMAGE_DIR)/lib
-	@#
-	@# Copy in the jars in lib that only belong in the JDK
-	@#
-	for l in $(NOTJRELIBS); do \
-	    if [ -r $(LIBDIR)/$$l ]; then \
-	        $(CP) $(LIBDIR)/$$l $(JDK_IMAGE_DIR)/lib; \
-	    fi; \
-	done
-  ifeq ($(PLATFORM), windows)
-	@#
-	@# lib/
-	@#
-	$(CP) $(LIBDIR)/$(LIB_PREFIX)jvm.$(LIB_SUFFIX) $(JDK_IMAGE_DIR)/lib
-	$(CP) $(LIBDIR)/$(LIB_PREFIX)jawt.$(LIB_SUFFIX) $(JDK_IMAGE_DIR)/lib
-	@#
-	@# bin/
-	@#
-	@# copy all EXE files and only certain DLL files from BINDIR
-	$(MKDIR) -p $(JDK_IMAGE_DIR)/bin
-	$(CP) $(BINDIR)/*$(EXE_SUFFIX) $(JDK_IMAGE_DIR)/bin
-	$(CP) $(BINDIR)/jli.$(LIBRARY_SUFFIX) $(JDK_IMAGE_DIR)/bin
-    ifeq ($(COMPILER_VERSION), VS2010)
-	$(CP) $(BINDIR)/msvc*100.$(LIBRARY_SUFFIX) $(JDK_IMAGE_DIR)/bin
-    endif
-  else # PLATFORM
-	@#
-	@# bin/
-	@#
-	($(CD) $(BINDIR)/.. && $(TAR) cf - \
-	    `$(FIND) bin \( -type f -o -type l \) -print `) | \
-	    ($(CD) $(JDK_IMAGE_DIR) && $(TAR) xf -)
-  endif # PLATFORM
-	@#
-	@# lib/tools.jar
-	@#
-	$(MKDIR) -p $(IMAGES_OUTPUTDIR)/lib
-	$(CD) $(CLASSBINDIR) && \
-	    $(BOOT_JAR_CMD) $(CREATE_JAR_OPTS_NOMANIFEST) $(IMAGES_OUTPUTDIR)/lib/tools.jar \
-	        $(TOOLS) $(BOOT_JAR_JFLAGS)
-	$(CD) $(CLASSBINDIR) && $(java-vm-cleanup)
-	$(CP) $(IMAGES_OUTPUTDIR)/lib/tools.jar $(JDK_IMAGE_DIR)/lib/tools.jar
-	@#
-	@# lib/ct.sym
-	@#
-	$(MKDIR) -p $(IMAGES_OUTPUTDIR)/symbols/META-INF/sym
-	$(BOOT_JAVA_CMD) \
-		-Xbootclasspath/p:$(JAVAC_JAR) \
-		-Xbootclasspath/a:$(JDK_OUTPUTDIR)/classes \
-		-jar $(JAVAC_JAR) $(JAVACFLAGS) \
-	    -XDprocess.packages -proc:only \
-	    -processor com.sun.tools.javac.sym.CreateSymbols \
-	    -Acom.sun.tools.javac.sym.Jar=$(RT_JAR) \
-	    -Acom.sun.tools.javac.sym.Dest=$(IMAGES_OUTPUTDIR)/symbols/META-INF/sym/rt.jar \
-	    $(CORE_PKGS) $(NON_CORE_PKGS) $(EXCLUDE_PROPWARN_PKGS) $(EXPORTED_PRIVATE_PKGS)
-	$(BOOT_JAR_CMD) $(CREATE_JAR_OPTS_NOMANIFEST) $(IMAGES_OUTPUTDIR)/lib/ct.sym \
-	    -C $(IMAGES_OUTPUTDIR)/symbols META-INF $(BOOT_JAR_JFLAGS)
-	$(java-vm-cleanup)
-	$(CP) $(IMAGES_OUTPUTDIR)/lib/ct.sym $(JDK_IMAGE_DIR)/lib/ct.sym
-	@#
-	@# CORBA supported orb.idl and ir.idl should be copied to lib
-	@#
-	$(CP) $(LIBDIR)/orb.idl $(JDK_IMAGE_DIR)/lib/orb.idl
-	$(CP) $(LIBDIR)/ir.idl $(JDK_IMAGE_DIR)/lib/ir.idl
-  ifeq ($(PLATFORM), linux)
-	@#
-	@# on Linux copy jexec from jre/lib to /lib
-	@#
-	$(CP) $(LIBDIR)/jexec $(JDK_IMAGE_DIR)/lib/jexec
-  endif # PLATFORM
-	@#
-	@# src.zip
-	@#
-	$(MKDIR) -p $(JDK_IMAGE_DIR)/src
-	@#
-	@# The '*-*' pattern in the find command excludes files named with dashes,
-	@# such as the java.nio templates for generated classes
-	@#
-	@# The Linux 'tar' command cannot handle the huge command line argument
-	@# generated by the more efficient solaris/windows method of copying files.
-	@# So for Linux, make use of the -T option (like Solaris' -I option) of
-	@# obtaining the list of files from a file. MKS tar has no such option.
-
-  ifneq (,$(findstring $(PLATFORM), linux macosx))
-	for d in $(SOURCE_DIRS); do \
-	  $(RM) $(IMAGES_OUTPUTDIR)/tmp/src-files.list; \
-	  ($(CD) $$d &&  \
-	    for sd in $(SOURCES) ; do \
-              if [ -d $$sd ] ; then \
-	        $(FIND) $$sd $(SOURCE_FILES_filter) \
-		        -name '*.java' -print \
-		        >> $(IMAGES_OUTPUTDIR)/tmp/src-files.list ; \
-	      fi; \
-	    done ; \
-	  ) ; \
-	  if [ -f  $(IMAGES_OUTPUTDIR)/tmp/src-files.list ] ; then \
-	    ($(CD) $$d && $(TAR) cf - -T $(IMAGES_OUTPUTDIR)/tmp/src-files.list ) \
-	       | ($(CD) $(JDK_IMAGE_DIR)/src && $(TAR) xf -); \
-	  fi; \
-	done
-  else
-	for d in $(SOURCE_DIRS); do \
-	  $(RM) $(IMAGES_OUTPUTDIR)/tmp/src-files.list; \
-	  ($(CD) $$d && \
-	    for sd in $(SOURCES) ; do \
-              if [ -d $$sd ] ; then \
-	        $(FIND) $$sd $(SOURCE_FILES_filter) \
-		        -name '*.java' -print \
-		        >> $(IMAGES_OUTPUTDIR)/tmp/src-files.list ; \
-	      fi; \
-	    done ; \
-	  ) ; \
-	  if [ -f  $(IMAGES_OUTPUTDIR)/tmp/src-files.list ] ; then \
-	    ($(CD) $$d && $(TAR) cf - `$(CAT) $(IMAGES_OUTPUTDIR)/tmp/src-files.list`) \
-	      | ($(CD) $(JDK_IMAGE_DIR)/src && $(TAR) xf -); \
-	  fi; \
-	done
-  endif
-	$(RM) $(IMAGES_OUTPUTDIR)/tmp/src-files.list
-	$(CHMOD) -R +w $(JDK_IMAGE_DIR)/src
-	$(MKDIR) -p $(JDK_IMAGE_DIR)/src/launcher
-	$(CP) $(FILES_launcher) $(JDK_IMAGE_DIR)/src/launcher
-	$(CD) $(JDK_IMAGE_DIR)/src && $(ZIPEXE) -qr ../src.zip *
-	$(RM) -r $(JDK_IMAGE_DIR)/src
-	@#
-	@# demo, include
-	@#
-ifndef NO_DEMOS
-	mkdir -p $(JDK_IMAGE_DIR)/demo
-	$(CP) -r -f $(NEWDEMODIR)/* $(JDK_IMAGE_DIR)/demo
-	$(FIND) $(JDK_IMAGE_DIR)/demo -name "_the.*" $(FIND_DELETE)
-endif
-ifndef NO_SAMPLES
-	$(CP) -r -f $(SAMPLEDIR) $(JDK_IMAGE_DIR)
-endif
-	$(CP) -r $(INCLUDEDIR) $(JDK_IMAGE_DIR)
-	@#
-	@# Swing BeanInfo generation
-	@#
-	$(CP) $(JDK_OUTPUTDIR)/lib/dt.jar $(JDK_IMAGE_DIR)/lib/dt.jar
-ifneq ($(PLATFORM), windows)
-	$(call copy-man-pages,$(JDK_IMAGE_DIR),$(JDK_MAN_PAGES))
-endif # !windows
-
-# Trim out files we don't want to ship
-trim-image-jdk::
-	@# Clean out all _the. files.
-	$(FIND) $(JDK_IMAGE_DIR) -name "_the.*" $(FIND_DELETE)
-	@# Remove tools that should not be part of SDK.
-	for t in $(NOTJDKTOOLS); do \
-	    $(RM) $(JDK_IMAGE_DIR)/bin/$${t}$(EXE_SUFFIX); \
-	done
-
-# Get list of binary (COFF or Elf) files in the jdk
-JDK_BIN_LIST=$(TEMPDIR)/jdk-bin-files.list
-$(JDK_BIN_LIST):
-ifeq ($(PLATFORM), windows)
-	$(FIND) $(JDK_IMAGE_DIR)/jre/bin -type f -name \*.exe \
-	   -o -name \*.dll | $(EGREP) -v -i "$(MSVCRNN_DLL)" > $@
-	$(FIND) $(JDK_IMAGE_DIR)/bin -type f -name \*.exe \
-	   -o -name \*.dll | $(EGREP) -v -i "$(MSVCRNN_DLL)" >> $@
-else
-	$(RM) $@
-	$(FIND) $(JDK_IMAGE_DIR)/jre/lib -type f -name \*.$(LIB_SUFFIX) >> $@
-	$(FILE) `$(FIND) $(JDK_IMAGE_DIR)/jre/bin -type f -name \*$(EXE_SUFFIX)` \
-	    | $(EGREP) 'ELF' | $(CUT) -d':' -f1 >> $@
-	$(FILE) `$(FIND) $(JDK_IMAGE_DIR)/bin -type f -name \*$(EXE_SUFFIX)` \
-	    | $(EGREP) 'ELF' | $(CUT) -d':' -f1 >> $@
-endif
-
-# Post process the image (strips and mcs on files we are shipping)
-process-image-jdk:: $(JDK_BIN_LIST)
-ifneq ($(POST_STRIP_PROCESS), )
-	@for f in `$(CAT) $(JDK_BIN_LIST)`; do \
-	  $(CHMOD) u+w $${f}; \
-	  $(ECHO) $(POST_STRIP_PROCESS) $${f}; \
-	  $(POST_STRIP_PROCESS) $${f}; \
-	  $(CHMOD) go-w $${f}; \
-	done
-endif
-ifneq ($(POST_MCS_PROCESS), )
-	@for f in `$(CAT) $(JDK_BIN_LIST)`; do \
-	  $(CHMOD) u+w $${f}; \
-	  $(ECHO) $(POST_MCS_PROCESS) $${f}; \
-	  $(POST_MCS_PROCESS) $${f}; \
-	  $(CHMOD) go-w $${f}; \
-	done
-endif
-	@for f in `$(CAT) $(JDK_BIN_LIST)`; do \
-	  $(call binary_file_verification,$${f}); \
-	done
-	$(RM) $(JDK_BIN_LIST)
-
-###################################################################
-# What did we build
-###################################################################
-
-# The jdk text info file that lives at the root of the install image.
-
-JDK_INFO_FILE = $(JDK_IMAGE_DIR)/release
-JRE_INFO_FILE = $(JRE_IMAGE_DIR)/release
-
-# Common way to emit a line into the release or info file
-define info-file-item # name value
-$(PRINTF) '%s="%s"\n' $1 $2 >> $@
-endef
-
-# Values to emit
-MINIMUM_OS_NAME    := $(REQUIRED_OS_NAME)
-MINIMUM_OS_VERSION := $(REQUIRED_OS_VERSION)
-MINIMUM_OS_ARCH    := $(ARCH)
-ALL_SOURCE_TIPS     = $(shell \
-  if [ -f $(SOURCE_TIPS) ] ; then \
-    $(CAT) $(SOURCE_TIPS) ; \
-  fi)
-
-$(JDK_INFO_FILE): FRC
-	$(prep-target)
-	$(call info-file-item, "JAVA_VERSION", "$(THIS_JDK_VERSION)")
-	$(call info-file-item, "OS_NAME",      "$(MINIMUM_OS_NAME)")
-	$(call info-file-item, "OS_VERSION",   "$(MINIMUM_OS_VERSION)")
-	$(call info-file-item, "OS_ARCH",      "$(MINIMUM_OS_ARCH)")
-	$(call info-file-item, "SOURCE",       "$(ALL_SOURCE_TIPS)")
-
-# Create release file to identify this image
-identify-image-jdk:: $(JDK_INFO_FILE)
-
-$(JRE_INFO_FILE): FRC
-	$(prep-target)
-	$(call info-file-item, "JAVA_VERSION", "$(THIS_JDK_VERSION)")
-	$(call info-file-item, "OS_NAME",      "$(MINIMUM_OS_NAME)")
-	$(call info-file-item, "OS_VERSION",   "$(MINIMUM_OS_VERSION)")
-	$(call info-file-item, "OS_ARCH",      "$(MINIMUM_OS_ARCH)")
-	$(call info-file-item, "SOURCE",       "$(ALL_SOURCE_TIPS)")
-
-# Create release file to identify this image
-identify-image-jre:: $(JRE_INFO_FILE)
-
-images images-clobber::
-	$(ECHO) ">>>Finished making "$@" @ `$(DATE)` ..."
-	$(java-vm-cleanup)
-
-.PHONY: images image-jre image-jdk \
-	initial-image-jre initial-image-jdk \
-	initial-image-jre-sol64 initial-image-jdk-sol64 \
-        initial-image-jdk-setup \
-	initial-image-jdk-db \
-        initial-image-jdk64-bindemos \
-        initial-image-jre-setup \
-	trim-image-jre trim-image-jdk \
-	process-image-jre process-image-jdk \
-	identify-image-jre identify-image-jdk \
-	images-clobber
-
-# Force rule
-FRC:
-
--- a/makefiles/common/Rules.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,357 +0,0 @@
-#
-# Copyright (c) 1995, 2008, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code 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
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-#
-#
-# Rules shared by all Java makefiles.
-#
-# Used to apply to source file $<, checks code conventions, issues warnings.
-define check-conventions
-  if [ "$(CONVENTION_WATCH)" = "true" ] ; then \
-    if [ "`$(CAT) -n -v -t $< | $(EGREP) -v '\@\(\#\)' | $(EGREP) '\^[MLI]'`" != "" ] ; then \
-      $(ECHO) "WARNING: File contains tabs, ^M, or ^L characters: $<"; \
-      if [ "$(CONVENTION_DETAILS)" = "true" ] ; then \
-        $(CAT) -n -v -t $< | $(EGREP) -v '\@\(\#\)' | $(EGREP) '\^[MLI]' ; \
-      fi; \
-    fi; \
-  fi
-endef
-
-# Make sure the default rule is all
-rules_default_rule: all
-
-#
-# Directory set up.  (Needed by deploy workspace)
-# 
-$(CLASSDESTDIR) $(CLASSHDRDIR) $(OBJDIR) $(OUTPUTDIR) $(BINDIR) $(LIBDIR) $(LIBDIR)/$(LIBARCH) $(TEMPDIR) $(EXTDIR):
-	$(MKDIR) -p $@ 
-
-#
-# All source tree areas for java/properties files (a few may be closed)
-#
-ifeq ($(PLATFORM), macosx)
-  ifdef OPENJDK
-    ALL_CLASSES_SRC = $(call JavaSrcDirList,,classes)
-  else
-    ALL_CLASSES_SRC = \
-	  $(CLOSED_SHARE_SRC)/classes $(CLOSED_PLATFORM_SRC)/classes \
-	  $(call JavaSrcDirList,,classes)
-  endif
-else
-  ifdef OPENJDK
-    ALL_CLASSES_SRC = $(SHARE_SRC)/classes $(PLATFORM_SRC)/classes
-  else
-    ALL_CLASSES_SRC = \
-	  $(CLOSED_SHARE_SRC)/classes $(CLOSED_PLATFORM_SRC)/classes \
-	  $(SHARE_SRC)/classes $(PLATFORM_SRC)/classes
-  endif
-endif
-
-#
-# If AUTO_FILES_PROPERTIES_DIRS used, automatically find properties files
-#
-ifdef AUTO_FILES_PROPERTIES_DIRS
-  AUTO_FILES_PROPERTIES_FILTERS1  = $(SCM_DIRs) ',*'
-  AUTO_FILES_PROPERTIES_FILTERS1 += $(AUTO_PROPERTIES_PRUNE)
-  FILES_properties_find_filters1 = $(AUTO_FILES_PROPERTIES_FILTERS1:%=-name % -prune -o)
-  FILES_properties_auto1 := \
-     $(shell \
-        for dir in $(ALL_CLASSES_SRC) ; do \
-          if [ -d $$dir ] ; then \
-            ( $(CD) $$dir; \
-              for sdir in $(AUTO_FILES_PROPERTIES_DIRS); do \
-                if [ -d $$sdir ] ; then \
-                  $(FIND) $$sdir $(FILES_properties_find_filters1) \
-                                 -name '*.properties' -print ; \
-                fi ; \
-              done \
-            ); \
-          fi; \
-        done \
-      )
-else
-  FILES_properties_auto1 =
-endif # AUTO_FILES_PROPERTIES_DIRS
-
-# Add any automatically found properties files to the properties file list
-FILES_properties += $(FILES_properties_auto1)
-
-#
-# Get Resources help
-#
-include $(JDK_TOPDIR)/makefiles/common/internal/Resources.gmk
-
-#
-# Compiling .java files.
-#
-
-#
-# Automatically add to FILES_java if AUTO_FILES_JAVA_DIRS is defined
-#
-#    There are two basic types of sources, normal source files and the
-#    generated ones. The Normal sources will be located in:
-#         $(ALL_CLASSES_SRC)
-#    The generated sources, which might show up late to dinner, are at:
-#         $(GENSRCDIR)
-#    and since they could be generated late, we need to be careful that
-#    we look for these sources late and not use the ':=' assignment which
-#    might miss their generation.
-
-ifdef AUTO_FILES_JAVA_DIRS
-  # Filter out these files or directories
-  AUTO_FILES_JAVA_SOURCE_FILTERS1  = $(SCM_DIRs) ',*'
-  AUTO_FILES_JAVA_SOURCE_FILTERS2  = 
-  AUTO_FILES_JAVA_SOURCE_FILTERS1 += $(AUTO_JAVA_PRUNE)
-  AUTO_FILES_JAVA_SOURCE_FILTERS2 += $(AUTO_JAVA_PRUNE)
-
-  # First list is the normal sources that should always be there,
-  #   by using the ':=', which means we do this processing once.
-  FILES_java_find_filters1 = $(AUTO_FILES_JAVA_SOURCE_FILTERS1:%=-name % -prune -o)
-  FILES_java_auto1 := \
-     $(shell \
-        for dir in $(ALL_CLASSES_SRC) ; do \
-          if [ -d $$dir ] ; then \
-            ( $(CD) $$dir; \
-              for sdir in $(AUTO_FILES_JAVA_DIRS); do \
-                if [ -d $$sdir ] ; then \
-                  $(FIND) $$sdir $(FILES_java_find_filters1) \
-                                 -name '*.java' -print ; \
-                fi ; \
-              done \
-            ); \
-          fi; \
-        done \
-      )
-  # Second list is the generated sources that should be rare, but will likely
-  #   show up late and we need to look for them at the last minute, so we
-  #   cannot use the ':=' assigment here. But if this gets expanded multiple
-  #   times, the if tests should make them relatively cheap.
-  FILES_java_find_filters2 = $(AUTO_FILES_JAVA_SOURCE_FILTERS2:%=-name % -prune -o)
-  FILES_java_auto2 = \
-     $(shell \
-        for dir in $(GENSRCDIR); do \
-          if [ -d $$dir ] ; then \
-            ( $(CD) $$dir; \
-              for sdir in $(AUTO_FILES_JAVA_DIRS); do \
-                if [ -d $$sdir ] ; then \
-                  $(FIND) $$sdir $(FILES_java_find_filters2) \
-                                 -name '*.java' -print ; \
-                fi ; \
-              done \
-            ); \
-          fi; \
-        done \
-      )
-else
-  FILES_java_auto1 =
-  FILES_java_auto2 =
-endif
-
-# Add all found java sources to FILES_java macro (if AUTO_FILES_JAVA_DIRS used)
-FILES_java += $(FILES_java_auto1) $(FILES_java_auto2)
-
-# File that will hold java source names that need compiling
-JAVA_SOURCE_LIST=$(TEMPDIR)/.classes.list
-
-# Add a java source to the list
-define add-java-file
-$(ECHO) "$?" >> $(JAVA_SOURCE_LIST)
-$(check-conventions)
-endef
-
-ifdef DEMOS
-$(CLASSDESTDIR)/%.class: $(SOURCEPATH)/%.java
-	$(add-java-file)
-#Redirect zh_HK java files to tmp directory which created from zh_TW
-#$(CLASSDESTDIR)/%_zh_HK.class: $(JDK_L10N_TMP_OUTPUTDIR)/%_zh_HK.java
-#	$(add-java-file)
-else
-
-#
-# Rules for closed files
-#
-# If filenames are duplicated between open/closed workspaces, prefer
-# the closed files.
-#
-# Rule ordering in this Makefile is important: some targets depend
-# on closed files replacing open ones, and thus the closed file rules
-# must be found before the open ones.
-#
-# Don't reorder without consulting teams that depend on this behavior.
-#
-ifndef OPENJDK
-$(CLASSDESTDIR)/%.class: $(CLOSED_PLATFORM_SRC)/classes/%.java
-	$(add-java-file)
-$(CLASSDESTDIR)/%.class: $(CLOSED_SHARE_SRC)/classes/%.java
-	$(add-java-file)
-endif
-
-$(CLASSDESTDIR)/%.class: $(GENSRCDIR)/%.java
-	$(add-java-file)
-
-ifeq ($(PLATFORM), macosx)
-$(CLASSDESTDIR)/%.class: $(JDK_TOPDIR)/src/macosx/classes/%.java
-	$(add-java-file)
-endif
-$(CLASSDESTDIR)/%.class: $(PLATFORM_SRC)/classes/%.java
-	$(add-java-file)
-
-$(CLASSDESTDIR)/%.class: $(SHARE_SRC)/classes/%.java
-	$(add-java-file)
-
-#Redirect zh_HK java files to tmp directory which created from zh_TW
-$(CLASSDESTDIR)/%_zh_HK.class: $(JDK_L10N_TMP_OUTPUTDIR)/%_zh_HK.java
-	$(add-java-file)
-endif
-
-# List of class files needed
-FILES_class = $(FILES_java:%.java=$(CLASSDESTDIR)/%.class)
-
-# Got to include exported files.
-FILES_class += $(FILES_export:%.java=$(CLASSDESTDIR)/%.class)
-
-# Construct list of java sources we need to compile
-source_list_prime:
-	mkdir -p $(TEMPDIR)
-# Note that we slip resources in so that compiled properties files get created:
-$(JAVA_SOURCE_LIST) : source_list_prime resources $(FILES_class)
-	touch $@
-
-.delete.classlist:
-	rm -f $(JAVA_SOURCE_LIST)
-
-# Make sure all newer sources are compiled (in a batch)
-classes : $(CLASSES_INIT) .delete.classlist .compile.classlist
-
-.compile.classlist : $(JAVA_SOURCE_LIST)
-	$(MKDIR) -p $(CLASSDESTDIR)
-	$(RM) $<.filtered
-	$(CAT) $< | $(NAWK) 'length>0' | $(SORT) -u > $<.filtered
-	numfiles=`$(WC) -l < $<.filtered` ; \
-	  if [ $$numfiles -ge 1 ] ; then \
-	    $(ECHO) "# Java sources to be compiled: (listed in file $<)"; \
-	    $(CAT) $<.filtered; \
-	    $(ECHO) "# Running javac: $$numfiles files; in $(CURDIR)"; \
-	    $(ECHO) $(JAVAC_CMD) -sourcepath "$(SOURCEPATH)" -d $(CLASSDESTDIR) @$<.filtered; \
-	    $(JAVAC_CMD) -sourcepath "$(SOURCEPATH)" -d $(CLASSDESTDIR) @$<.filtered && \
-	    $(ECHO) "# javac finished"; \
-	  fi
-	$(java-vm-cleanup)
-
-clobber clean::
-	rm -f $(JAVA_SOURCE_LIST)
-
-ifndef DONT_CLOBBER_CLASSES
-  ifndef PACKAGE
-    DONT_CLOBBER_CLASSES = true
-  else
-    DONT_CLOBBER_CLASSES = false
-  endif
-endif
-
-packages.clean:
-ifeq ($(DONT_CLOBBER_CLASSES),false)
-  ifdef AUTO_FILES_JAVA_DIRS
-	for sdir in $(AUTO_FILES_JAVA_DIRS); do \
-	  echo "rm -f -r $(CLASSDESTDIR)/$$sdir"; \
-	  rm -f -r $(CLASSDESTDIR)/$$sdir; \
-        done
-  else
-	rm -f -r $(CLASSDESTDIR)/$(PKGDIR)
-  endif
-endif
-
-ifdef DEMOS
-classes.clean:
-	rm -f -r $(DEMODST) $(CLASSDESTDIR)
-else
-classes.clean: packages.clean
-	rm -f $(JAVA_SOURCE_LIST)
-endif
-
-#
-# C and C++ make dependencies
-#
-include $(JDK_TOPDIR)/makefiles/common/internal/NativeCompileRules.gmk
-
-#
-# Running Javah to generate stuff into CClassHeaders.
-#
-
-ifdef FILES_export
-
-CLASSES.export  = $(subst /,.,$(FILES_export:%.java=%))
-CLASSES.export += $(subst /,.,$(FILES_export2:%.java=%))
-CLASSES.export += $(subst /,.,$(FILES_export3:%.java=%))
-CLASSES_export  = $(FILES_export:%.java=$(CLASSDESTDIR)/%.class)
-CLASSES_export += $(FILES_export2:%.java=$(CLASSDESTDIR)/%.class)
-CLASSES_export += $(FILES_export3:%.java=$(CLASSDESTDIR)/%.class)
-
-# Fix when deploy workspace makefiles don't depend on this name
-#CLASSHDR_DOTFILE=$(CLASSHDRDIR)/.classheaders
-
-CLASSHDR_DOTFILE=$(OBJDIR)/.class.headers.$(ARCH)
-
-classheaders: classes $(CLASSHDR_DOTFILE)
-
-$(CLASSHDR_DOTFILE): $(CLASSES_export)
-	$(prep-target)
-	echo "# Running javah:"
-	echo $(UNCYGDRIVE) $(JAVAH_CMD) -d $(CLASSHDRDIR)/ \
-		$(CLASSES.export) $(subst $$,\$$,$(EXPORTED_inner))
-	$(UNCYGDRIVE) $(JAVAH_CMD) -d $(CLASSHDRDIR)/ \
-		$(CLASSES.export) $(subst $$,\$$,$(EXPORTED_inner))
-	$(java-vm-cleanup)
-	touch $@
-
-classheaders.clean:
-	rm -f $(CLASSHDR_DOTFILE)
-	rm -f -r $(CLASSHDRDIR)
-
-else # FILES_export
-
-classheaders: classes
-
-classheaders.clean: 
-
-endif # FILES_export
-
-clean clobber:: classheaders.clean classes.clean .delete.classlist
-
-# 
-# Default dependencies
-#
-
-all: build
-
-build: classheaders
-
-default: all
-
-.PHONY: all build clean clobber \
-        .delete.classlist classes .compile.classlist classes.clean \
-	 classheaders classheaders.clean \
-	 batch_compile
-
--- a/makefiles/common/Subdirs.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,148 +0,0 @@
-# Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code 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
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-#
-# Generic makefile for building subdirectories.
-#
-# SUBDIRS variables to specify the subdirectories to build recursively.
-# Makefile has to include Subdirs.gmk AFTER all SUBDIRS variables are
-# defined.
-#
-# This file does not contain any rule.
-#
-# WARNING: This file is shared with other workspaces.
-#          So when it includes other files, it must use JDK_TOPDIR.
-
-#
-# SUBDIRS          subdirs for the base module always get built
-# SUBDIRS_<group>  subdirs for the named group
-#
-# By default, subdirs specified in the SUBDIRS and all SUBDIRS_* 
-# variables will be built.
-#
-# Variables of the currently supported groups are:
-#  SUBDIRS_desktop    
-#  SUBDIRS_management
-#  SUBDIRS_enterprise
-#  SUBDIRS_misc
-#  SUBDIRS_tools
-# 
-# Change to the above list also need to update 
-# make/common/shared/Sanity.gmk.  NOTE: this list is subject
-# to change.
-# 
-# Eventually we want to restructure the make directory
-# according to these grouping (e.g. make/desktop/...) and
-# the SUBDIRS_<group> variables would not be needed.
-# 
-
-# Iterate the subdirectories specified in $1.
-# - cd into each subdir and make them
-
-# Given a SUBDIRS* list (first argument), cd into them and make them
-#   SUBDIRS_MAKEFLAGS      Make settings for a subdir make
-#   SUBDIRS_MAKEFLAGS-$@   Make settings specific to this target
-#
-define subdirs-group-loop
-$(ECHO) "Begin Processing SUBDIRS: $($1)"
-for i in DUMMY $($1) ; do \
-  if [ "$$i" != "DUMMY" ] ; then \
-    $(MAKE) -C $$i $@ $(SUBDIRS_MAKEFLAGS) $(SUBDIRS_MAKEFLAGS-$@) \
-            FULL_VERSION=$(FULL_VERSION) RELEASE=$(RELEASE) || exit 1; \
-  fi ; \
-done
-$(ECHO) "Done Processing SUBDIRS: $($1)"
-endef
-
-# Given a OTHERSUBDIRS list, cd into them and make them (extra loop define)
-#   OTHERSUBDIRS_MAKEFLAGS      Make settings for a subdir make
-define OTHERSUBDIRS-loop
-$(ECHO) "Begin Processing OTHERSUBDIRS: $(OTHERSUBDIRS)"
-for i in DUMMY $(OTHERSUBDIRS) ; do \
-  if [ "$$i" != "DUMMY" ] ; then \
-    $(MAKE) -C $$i $@ $(OTHERSUBDIRS_MAKEFLAGS) \
-            FULL_VERSION=$(FULL_VERSION) RELEASE=$(RELEASE) || exit 1; \
-  fi ; \
-done
-$(ECHO) "Done Processing OTHERSUBDIRS: $(OTHERSUBDIRS)"
-endef
-
-#
-# Iterate the list specified in SUBDIRS_<group> only if
-# SUBDIRS_<group> is set.
-#
-ifdef SUBDIRS_desktop 
-  define subdirs-desktop-loop
-      $(call subdirs-group-loop,SUBDIRS_desktop)
-  endef
-else   
-  define subdirs-desktop-loop
-  endef
-endif   # SUBDIRS_desktop 
-
-ifdef SUBDIRS_enterprise 
-  define subdirs-enterprise-loop
-      $(call subdirs-group-loop,SUBDIRS_enterprise)
-  endef
-else   
-define subdirs-enterprise-loop
-endef
-endif   # SUBDIRS_enterprise 
-
-ifdef SUBDIRS_management 
-  define subdirs-management-loop
-      $(call subdirs-group-loop,SUBDIRS_management)
-  endef
-else   
-  define subdirs-management-loop
-  endef
-endif   # SUBDIRS_management 
-
-ifdef SUBDIRS_misc 
-  define subdirs-misc-loop
-      $(call subdirs-group-loop,SUBDIRS_misc)
-  endef
-else   
-  define subdirs-misc-loop
-  endef
-endif   # SUBDIRS_misc 
-
-ifdef SUBDIRS_tools 
-  define subdirs-tools-loop
-      $(call subdirs-group-loop,SUBDIRS_tools)
-  endef
-else   
-  define subdirs-tools-loop
-  endef
-endif   # SUBDIRS_tools 
-
-#
-# If BUILD_MODULES is not set or it's set to "all",
-# iterate all groups.
-SUBDIRS_all = $(SUBDIRS) $(SUBDIRS_desktop) $(SUBDIRS_enterprise) \
-	      $(SUBDIRS_management) $(SUBDIRS_misc) $(SUBDIRS_tools)
-
-define SUBDIRS-loop
-  $(call subdirs-group-loop,SUBDIRS_all)
-endef
--- a/makefiles/common/internal/Defs-corba.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-#
-# Copyright (c) 1997, 2007, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code 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
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-# The specific packages that come from or go to rt.jar and tools.jar
-IMPORT_RT_PACKAGES +=  \
-     org/omg/CORBA \
-     org/omg/CORBA_2_3 \
-     org/omg/CosNaming \
-     org/omg/Dynamic \
-     org/omg/DynamicAny \
-     org/omg/IOP \
-     org/omg/Messaging \
-     org/omg/PortableInterceptor \
-     org/omg/PortableServer \
-     org/omg/SendingContext \
-     org/omg/stub/java/rmi \
-     javax/rmi \
-     javax/rmi/CORBA \
-     javax/activity \
-     javax/transaction \
-     com/sun/corba/se/GiopIDL \
-     com/sun/corba/se/PortableActivationIDL \
-     com/sun/corba/se/impl \
-     com/sun/corba/se/internal \
-     com/sun/corba/se/org/omg/CORBA \
-     com/sun/corba/se/pept \
-     com/sun/corba/se/spi \
-     com/sun/org/omg/CORBA \
-     com/sun/org/omg/SendingContext \
-     com/sun/tools/corba/se/logutil \
-     sun/corba \
-     sun/rmi/rmic/iiop
-
-IMPORT_TOOLS_PACKAGES += \
-     com/sun/tools/corba/se/idl \
-     sun/rmi/rmic/iiop
-
-IMPORT_CORBA_BINARIES += \
-     lib/orb.idl \
-     lib/ir.idl
-
--- a/makefiles/common/internal/Defs-jaxp.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-#
-# Copyright (c) 1997, 2007, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code 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
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-# The specific packages that come from or go to rt.jar and tools.jar
-IMPORT_RT_PACKAGES += \
-     org/w3c/dom \
-     org/xml/sax \
-     javax/xml/XMLConstants.class \
-     javax/xml/datatype \
-     javax/xml/namespace \
-     javax/xml/parsers \
-     javax/xml/stream \
-     javax/xml/transform \
-     javax/xml/validation \
-     javax/xml/xpath \
-     com/sun/java_cup \
-     com/sun/org/apache/bcel \
-     com/sun/org/apache/regexp \
-     com/sun/org/apache/xalan \
-     com/sun/org/apache/xerces \
-     com/sun/org/apache/xml/internal/dtm \
-     com/sun/org/apache/xml/internal/res \
-     com/sun/org/apache/xml/internal/resolver \
-     com/sun/org/apache/xml/internal/serialize \
-     com/sun/org/apache/xml/internal/serializer \
-     com/sun/org/apache/xml/internal/utils \
-     com/sun/org/apache/xpath \
-     com/sun/xml/internal/stream
-
-IMPORT_TOOLS_PACKAGES +=
-
--- a/makefiles/common/internal/Defs-jaxws.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-#
-# Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code 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
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-# The specific packages that come from or go to rt.jar and tools.jar
-IMPORT_RT_PACKAGES += \
-     META-INF/mailcap.default \
-     META-INF/mimetypes.default \
-     javax/activation \
-     com/sun/activation \
-     javax/xml/bind \
-     javax/xml/soap \
-     javax/xml/ws \
-     javax/jws \
-     javax/annotation \
-     com/sun/xml/internal/bind \
-     com/sun/xml/internal/fastinfoset \
-     com/sun/xml/internal/messaging \
-     com/sun/xml/internal/org/jvnet \
-     com/sun/xml/internal/txw2 \
-     com/sun/xml/internal/ws \
-     com/sun/xml/internal/stream/buffer
-
-NOT_USED_PACKAGES += \
-     com/sun/tools/internal/txw2
-
-IMPORT_TOOLS_PACKAGES += \
-     com/sun/codemodel \
-     com/sun/istack/internal/tools \
-     com/sun/xml/internal/rngom \
-     com/sun/xml/internal/xsom \
-     com/sun/xml/internal/dtdparser \
-     com/sun/tools/internal/xjc \
-     com/sun/tools/internal/ws \
-     com/sun/tools/internal/jxc \
-     org/relaxng \
-     META-INF/services/com.sun.tools.internal.ws.wscompile.Plugin \
-     META-INF/services/com.sun.tools.internal.xjc.Plugin \
-     com/sun/tools/internal/jxc/ap \
-     com/sun/tools/internal/ws/wscompile/plugin/at_generated
-
-
--- a/makefiles/common/internal/Defs-langtools.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-#
-# Copyright (c) 1997, 2008, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code 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
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-# The specific packages that come from or go to rt.jar and tools.jar
-
-IMPORT_RT_PACKAGES +=               \
-      javax/annotation/processing   \
-      javax/lang/model              \
-      javax/tools
-
-IMPORT_TOOLS_PACKAGES +=            \
-      com/sun/javadoc               \
-      com/sun/source                \
-      com/sun/tools/classfile       \
-      com/sun/tools/doclets         \
-      com/sun/tools/javac           \
-      com/sun/tools/javadoc         \
-      com/sun/tools/javah           \
-      com/sun/tools/javap
-
--- a/makefiles/common/internal/ImportComponents.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,173 +0,0 @@
-#
-# Copyright (c) 1997, 2008, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code 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
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
--include $(SPEC)
-
-# JDK jars where component classes come from as second choice
-JDK_RT_JAR    = $(JDK_IMPORT_PATH)/jre/lib/rt.jar
-JDK_TOOLS_JAR = $(JDK_IMPORT_PATH)/lib/tools.jar
-JDK_RESOURCES_JAR = $(JDK_IMPORT_PATH)/jre/lib/resources.jar
-
-# The specific packages that come from or go to rt.jar and tools.jar
-#   IF the component deliverables are not available.
-IMPORT_TOOLS_PACKAGES =
-IMPORT_RT_PACKAGES =
-
-# The following will add to IMPORT_TOOLS_PACKAGES and/or IMPORT_RT_PACKAGES
-ifndef LANGTOOLS_DIST
-  include $(BUILDDIR)/common/internal/Defs-langtools.gmk
-endif
-ifndef CORBA_DIST
-  include $(BUILDDIR)/common/internal/Defs-corba.gmk
-endif
-ifndef JAXP_DIST
-  include $(BUILDDIR)/common/internal/Defs-jaxp.gmk
-endif
-ifndef JAXWS_DIST
-  include $(BUILDDIR)/common/internal/Defs-jaxws.gmk
-endif
-
-# Clean up these lists so empty lists are empty
-IMPORT_TOOLS_PACKAGES := $(strip $(IMPORT_TOOLS_PACKAGES))
-IMPORT_RT_PACKAGES    := $(strip $(IMPORT_RT_PACKAGES))
-
-# Relative paths to import component deliverables
-CLASSES_JAR_FILE=lib/classes.jar
-SRC_ZIP_FILE=lib/src.zip
-BIN_ZIP_FILE=lib/bin.zip
-DOC_ZIP_FILE=lib/doc.zip
-
-#################################################################
-# Macros:
-
-# Importing component class files
-define import-one-classes
-if [ "$($1)" != "" ] ; then \
-  $(ECHO) "Importing classes from component $1"; \
-  $(call Unjar,$2,$($1)/$(CLASSES_JAR_FILE),); \
-fi
-endef
-
-# Importing optional component doc files (for man pages?)
-define import-one-docs
-if [ "$($1)" != "" -a -f $($1)/$(DOC_ZIP_FILE) ] ; then \
-  $(ECHO) "Importing docs from component $1"; \
-  $(call Unzipper,$2,$($1)/$(DOC_ZIP_FILE)); \
-fi
-endef
-
-# Importing optional component src files (for jdk src.zip and javadoc)
-define import-one-sources
-if [ "$($1)" != "" ] ; then \
-  $(ECHO) "Importing sources from component $1"; \
-  $(call Unzipper,$2,$($1)/$(SRC_ZIP_FILE)); \
-fi
-endef
-
-# Importing optional component bin files (for install image)
-define import-one-binaries
-if [ "$($1)" != "" -a -f $($1)/$(BIN_ZIP_FILE) ] ; then \
-  $(ECHO) "Importing binaries from component $1"; \
-  $(call Unzipper,$2,$($1)/$(BIN_ZIP_FILE)); \
-fi
-endef
-
-# Unzip zip file $2 into directory $1 (if $2 exists)
-#   Warning: $2 must be absolute path not relative
-define Unzipper
-( \
-  $(MKDIR) -p $1; \
-  ( $(CD) $1 && $(UNZIP) -o $2 > /dev/null ) \
-)
-endef
-
-# Unjar directories $3 from jar file $2 into directory $1 (if $2 exists)
-#   Warning: $2 must be absolute path not relative
-define Unjar
-( \
-  $(MKDIR) -p $1; \
-  ( $(CD) $1 && $(BOOT_JAR_CMD) xf $2 $3 $(BOOT_JAR_JFLAGS) ) && \
-  ( $(CD) $1 && $(java-vm-cleanup) ) \
-)
-endef
-
-# Import all component sources into directory $1
-define import-component-sources
-$(call import-one-sources,LANGTOOLS_DIST,$1)
-$(call import-one-sources,CORBA_DIST,$1)
-$(call import-one-sources,JAXP_DIST,$1)
-$(call import-one-sources,JAXWS_DIST,$1)
-endef
-
-# Import all component docs into directory $1 (optional)
-define import-component-docs
-$(call import-one-docs,LANGTOOLS_DIST,$1)
-$(call import-one-docs,CORBA_DIST,$1)
-$(call import-one-docs,JAXP_DIST,$1)
-$(call import-one-docs,JAXWS_DIST,$1)
-endef
-
-# Import all component bins into directory $1 (optional)
-define import-component-binaries
-$(call import-one-binaries,LANGTOOLS_DIST,$1)
-$(call import-one-binaries,CORBA_DIST,$1)
-$(call import-one-binaries,JAXP_DIST,$1)
-$(call import-one-binaries,JAXWS_DIST,$1)
-if [ "$(CORBA_DIST)" = "" ] ; then \
-  $(MKDIR) -p $(OUTPUTDIR)/lib ; \
-  ( $(CD) $(JDK_IMPORT_PATH) && $(CP) $(IMPORT_CORBA_BINARIES) $(ABS_OUTPUTDIR)/lib ) ; \
-fi 
-endef
-
-# Import all component classes into directory $1
-#   Here we special case classes coming from JDK when component not supplied
-define import-component-classes
-$(ECHO) "Import classes from $(JDK_IMPORT_PATH)"
-if [ "$(IMPORT_TOOLS_PACKAGES)" != "" ] ; then \
-  $(call Unjar,$1,$(JDK_RESOURCES_JAR),$(IMPORT_TOOLS_PACKAGES)); \
-  $(call Unjar,$1,$(JDK_TOOLS_JAR),$(IMPORT_TOOLS_PACKAGES)); \
-fi
-if [ "$(IMPORT_RT_PACKAGES)" != "" ] ; then \
-  $(call Unjar,$1,$(JDK_RESOURCES_JAR),$(IMPORT_RT_PACKAGES)); \
-  $(call Unjar,$1,$(JDK_RT_JAR),$(IMPORT_RT_PACKAGES)); \
-fi
-$(call import-one-classes,LANGTOOLS_DIST,$1)
-$(call import-one-classes,CORBA_DIST,$1)
-$(call import-one-classes,JAXP_DIST,$1)
-$(call import-one-classes,JAXWS_DIST,$1)
-endef
-
-# Clean up import files
-define import-component-sources-clean
-$(RM) -r $1
-endef
-define import-component-docs-clean
-$(RM) -r $1
-endef
-define import-component-classes-clean
-$(RM) -r $(IMPORT_TOOLS_PACKAGES:%=$1/%)
-$(RM) -r $(IMPORT_RT_PACKAGES:%=$1/%)
-endef
-
--- a/makefiles/common/internal/NativeCompileRules.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,238 +0,0 @@
-#
-# Copyright (c) 1995, 2007, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code 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
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-#
-# Native C/C++ Compile Rules
-#
-
--include $(SPEC)
--include $(VARS)
-
-COMPILE.c = $(CC) $(CFLAGS) $(CPPFLAGS) -c
-COMPILE.cc = $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c
-
-#
-# INCREMENTAL_BUILD: Record the #include file dependencies.
-#
-# NOTE: We build make include files with the suffix
-#       $(DEPEND_SUFFIX) on every compilation. These are initially 
-#       created as temp files just in case a ^C kills it in the middle.
-#	Compiler is smart enough to handle ^C and not create the .o file, or
-#	is supposed to be that smart, but the .$(DEPEND_SUFFIX) file 
-#       creation here isn't.
-#	These .$(DEPEND_SUFFIX) files are included by Library.gmk and 
-#       Program.gmk, when they exist (Search for 'make dependencies').
-#
-
-ifeq ($(INCREMENTAL_BUILD),true)
-
-$(OBJDIR)/%.$(DEPEND_SUFFIX): %.c
-	@$(prep-target)
-	@$(ECHO) "Creating $@"
-	@$(RM) $@.temp
-	@$(CC) $(CC_DEPEND) $(CPPFLAGS) $< 2> $(DEV_NULL) | \
-	    $(CC_DEPEND_FILTER) > $@.temp
-	@$(MV) $@.temp $@
-
-$(OBJDIR)/%.$(DEPEND_SUFFIX): %.cpp
-	@$(prep-target)
-	@$(ECHO) "Creating $@"
-	@$(RM) $@.temp
-	@$(CXX) $(CC_DEPEND) $(CPPFLAGS) $(CXXFLAGS) $< 2> $(DEV_NULL) | \
-	    $(CC_DEPEND_FILTER) > $@.temp
-	@$(MV) $@.temp $@
-
-endif # INCREMENTAL_BUILD
-
-#
-# C, C++, asm files.
-#
-# Normal or parallel compile rule is the same, but batch compiles require
-#  we save up the sources files that use the same compile line so that we
-#  can do one compile line.
-#
-
-ifneq ($(COMPILE_APPROACH), batch)
-
-$(OBJDIR)/%.$(OBJECT_SUFFIX): %.c
-	@$(prep-target)
-	$(COMPILE.c) $(CC_OBJECT_OUTPUT_FLAG)$@ $(CFLAGS_GPROF) $<
-	@$(check-conventions)
-
-$(OBJDIR)/%.$(OBJECT_SUFFIX): %.cpp
-	@$(prep-target)
-	$(COMPILE.cc) $(CC_OBJECT_OUTPUT_FLAG)$@ $(CFLAGS_GPROF) $<
-	@$(check-conventions)
-
-else
-  
-  #
-  # Batch compiling might be faster if the compiler was smart about recognizing
-  #   optimization opportunities available when all files are being compiled
-  #   the same way. Unfortunately this is rare.
-  #   Automatic pre-compiled headers (pch) might be a possibility so we
-  #   add any auto pch options here.
-  # So we save all the source files that have the same compile line as the
-  #   first file. A normal compile pass is made after the batch compile
-  #   to catch anything missed.
-  # If the compilers had a -o option that allowed us to direct where to
-  #   write the object files to, then we would not need to save the object
-  #   file list or move them from the make directory to the build directory.
-  #
-
-  # Source names
-  COMPILE_LIST.c         = $(OBJDIR)/.source_names_c
-  COMPILE_LIST.cpp       = $(OBJDIR)/.source_names_cpp
-
-  # Object file list
-  COMPILE_OBJ_LIST.c     = $(OBJDIR)/.obj_names_c
-  COMPILE_OBJ_LIST.cpp   = $(OBJDIR)/.obj_names_cpp
-  
-  # The compile line
-  COMPILE_BATCH.c        = $(OBJDIR)/.compile_c
-  COMPILE_BATCH.cpp      = $(OBJDIR)/.compile_cpp
-
-  # The compile line for the current target
-  THIS_COMPILE_BATCH.c   = $(COMPILE_BATCH.c)-$(@F)
-  THIS_COMPILE_BATCH.cpp = $(COMPILE_BATCH.cpp)-$(@F)
-
-$(OBJDIR)/%.$(OBJECT_SUFFIX): %.c
-	@$(prep-target)
-	@$(ECHO) "$(COMPILE.c) $(CFLAGS_GPROF)" > $(THIS_COMPILE_BATCH.c)
-	@if [ ! -s $(COMPILE_BATCH.c) ] ; then \
-	  $(CP) $(THIS_COMPILE_BATCH.c) $(COMPILE_BATCH.c) ; \
-	  $(ECHO) $< > $(COMPILE_LIST.c); \
-	  $(ECHO) $(@F) > $(COMPILE_OBJ_LIST.c); \
-	elif [ "`$(DIFF) -w -b $(THIS_COMPILE_BATCH.c) $(COMPILE_BATCH.c)`" \
-	       = "" ] ; then \
-	  $(ECHO) $< >> $(COMPILE_LIST.c); \
-	  $(ECHO) $(@F) >> $(COMPILE_OBJ_LIST.c); \
-	fi
-	@$(RM) $(THIS_COMPILE_BATCH.c)
-	@$(check-conventions)
-
-$(OBJDIR)/%.$(OBJECT_SUFFIX): %.cpp
-	@$(prep-target)
-	@$(ECHO) "$(COMPILE.cc) $(CFLAGS_GPROF)" > $(THIS_COMPILE_BATCH.cpp)
-	@if [ ! -s $(COMPILE_BATCH.cpp) ] ; then \
-	  $(CP) $(THIS_COMPILE_BATCH.cpp) $(COMPILE_BATCH.cpp) ; \
-	  $(ECHO) $< > $(COMPILE_LIST.cpp); \
-	  $(ECHO) $(@F) > $(COMPILE_OBJ_LIST.cpp); \
-	elif [ "`$(DIFF) -w -b $(THIS_COMPILE_BATCH.cpp) $(COMPILE_BATCH.cpp)`"\
-	       = "" ] ; then \
-	  $(ECHO) $< >> $(COMPILE_LIST.cpp); \
-	  $(ECHO) $(@F) >> $(COMPILE_OBJ_LIST.cpp); \
-	fi
-	@$(RM) $(THIS_COMPILE_BATCH.cpp)
-	@$(check-conventions)
-
-batch_compile: $(FILES_o)
-	@$(ECHO) "Doing batch compilations"
-	@if [ -s $(COMPILE_LIST.c) ] ; then \
-	  $(ECHO) "$(COMPILE.c) $(CFLAGS_GPROF) $(AUTOMATIC_PCH_OPTION) \
-	   `$(CAT) $(COMPILE_LIST.c)`" ; \
-	  ( $(COMPILE.c) $(CFLAGS_GPROF) $(AUTOMATIC_PCH_OPTION) \
-	    `$(CAT) $(COMPILE_LIST.c)` && \
-	    $(ECHO) "$(MV) `$(CAT) $(COMPILE_OBJ_LIST.c)` $(OBJDIR)" && \
-	    $(MV) `$(CAT) $(COMPILE_OBJ_LIST.c)` $(OBJDIR) ) || exit 1 ; \
-	fi
-	@if [ -s $(COMPILE_LIST.cpp) ] ; then \
-	  $(ECHO) "$(COMPILE.cc) $(CFLAGS_GPROF) $(AUTOMATIC_PCH_OPTION) \
-	   `$(CAT) $(COMPILE_LIST.cpp)`" ; \
-	  ( $(COMPILE.cc) $(CFLAGS_GPROF) $(AUTOMATIC_PCH_OPTION) \
-	    `$(CAT) $(COMPILE_LIST.cpp)` && \
-	    $(ECHO) "$(MV) `$(CAT) $(COMPILE_OBJ_LIST.cpp)` $(OBJDIR)" && \
-	    $(MV) `$(CAT) $(COMPILE_OBJ_LIST.cpp)` $(OBJDIR) ) || exit 1 ; \
-	fi
-	@$(RM) $(COMPILE_BATCH.c)   $(COMPILE_LIST.c)   $(COMPILE_OBJ_LIST.c)
-	@$(RM) $(COMPILE_BATCH.cpp) $(COMPILE_LIST.cpp) $(COMPILE_OBJ_LIST.cpp)
-
-endif
-
-# newer as does not handle c++ style comments
-$(OBJDIR)/%.$(OBJECT_SUFFIX): %.s
-    ifneq ($(CC_VERSION), gcc)
-	@$(prep-target)
-	$(COMPILE.s) $(CC_OBJECT_OUTPUT_FLAG)$@ $<
-    else
-	@$(prep-target)
-	$(CPP) -x assembler-with-cpp $< | $(COMPILE.s) -o $@
-    endif
-	@$(check-conventions)
-
-# Obj-C files (Mac OS X only).
-ifeq ($(PLATFORM), macosx)
-$(OBJDIR)/%.$(OBJECT_SUFFIX): %.m
-	@$(prep-target)
-	$(COMPILE.c) $(CC_OBJECT_OUTPUT_FLAG)$@ $(CFLAGS_GPROF) $<
-	@$(check-conventions)
-
-$(OBJDIR)/%.$(OBJECT_SUFFIX): %.mm
-	@$(prep-target)
-	$(COMPILE.cc) $(CC_OBJECT_OUTPUT_FLAG)$@ $(CFLAGS_GPROF) $<
-	@$(check-conventions)
-
-$(OBJDIR)/%.$(OBJECT_SUFFIX): %.c
-	@$(prep-target)
-	$(COMPILE.c) $(CC_OBJECT_OUTPUT_FLAG)$@ $(CFLAGS_GPROF) $<
-	@$(check-conventions)
-endif # PLATFORM
-
-#
-# Quick hack for making the compiler generate just the assembly file.
-#	$ gnumake obj/sparc/myfile.s
-#
-$(OBJDIR)/%.s: %.c
-	@$(prep-target)
-	$(COMPILE.c) $(CC_OBJECT_OUTPUT_FLAG)$@ -S $<
-	@$(check-conventions)
-
-# remove the intermediate files from the directories.
-#    (If VARIANT=OPT, this removes all debug and fastdebug files too)
-clobber clean::
-	$(RM) -r $(OBJDIR)
-	$(RM) -r $(OBJDIR)_*
-
-#
-# Lint support
-# (The 'lint' rule below is an older rule not using the .$(LINT_SUFFIX) files)
-#
-
-ifeq ($(PLATFORM), solaris)
-$(OBJDIR)/%.$(LINT_SUFFIX): %.c
-	@$(prep-target)
-	$(LINT.c) -dirout=$(OBJDIR) -c $<
-lint.clean:
-	$(RM) $(OBJDIR)/*.$(LINT_SUFFIX)
-# Old rule
-lint: $(FILES_c)
-        ifneq ($(FILES_c),)
-	  $(LINT.c) -Ncheck -Nlevel=3 $? $(LDLIBS) > lint.$(ARCH) 2>&1
-        endif
-endif
-
-.PHONY: batch_compile
-
-
--- a/makefiles/common/internal/Resources.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,262 +0,0 @@
-#
-# Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code 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
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-# 
-# Generic mechanism for installing properties files, resource bundles,
-#   and other resource files.
-#
-# FILES_properties should be defined.
-# FILES_compiled_properties should be defined.
-# 
-# If COMPILED_PROPERTIES_SUPERCLASS is defined, ALL the FILES_properties
-# files will be compiled into java with this super class.
-#
-# You can add locales to LOCALE_SUFFIXES explicitly, or use the
-# LOCALE_SET_DEFINITION variable to add some pre-defined locale lists.
-# The LOCALE_SET_DEFINITION can have the value: jre, plugin, or jdk.
-#
-# Resource bundles to be installed are identified using the following variables.
-# Note that only the file name of the base bundle is given; localized versions
-# are added automatically. For Java files, use a format suitable for inclusion
-# in the FILES_java list; dito for properties, all relative paths.
-#
-#   NEW_RESOURCE_BUNDLES_JAVA        - new resource bundles implemented in
-#                                      Java, not localized
-#   RESOURCE_BUNDLES_JAVA            - resource bundles implemented in
-#                                      Java, localized
-#
-# The following variable is now used for most .properties files in the JDK. 
-# These properties files are converted into java and compiled with javac.
-# The resulting .class files are usually smaller and are always faster to load. 
-# The relative path to the properties file becomes a relative path to a
-# java source file.
-#
-#   RESOURCE_BUNDLES_COMPILED_PROPERTIES - resource bundles implemented as
-#                                          properties files, localized
-#   NEW_RESOURCE_BUNDLES_COMPILED_PROPERTIES - same as above, not localized
-#
-# For non-compiled properties files, use the following variables:
-#
-#   NEW_RESOURCE_BUNDLES_UNCOMPILED_PROPERTIES  - new resource bundles implemented as
-#                                      properties files, not localized
-#   RESOURCE_BUNDLES_UNCOMPILED_PROPERTIES      - resource bundles implemented as
-#                                      properties files, localized
-#
-# Other properties files to be installed are identified using the variable:
-#
-#   OTHER_PROPERTIES
-#
-
-include $(SPEC)
-include $(SRC_ROOT)/jdk/makefiles/Tools.gmk
-
-# Compile properties files into java source?
-ifdef COMPILED_PROPERTIES_SUPERCLASS
-  # Add all properties files to the compiled properties list (all or nothing)
-  COMPILED_PROPERTIES += $(FILES_compiled_properties) $(FILES_properties)
-else
-  COMPILED_PROPERTIES_SUPERCLASS = ListResourceBundle
-  COMPILED_PROPERTIES += $(FILES_compiled_properties)
-endif
-
-# Determine the locale suffixes needed beyond the base bundle
-
-ifeq ($(LOCALE_SET_DEFINITION), plugin)
-  LOCALE_SUFFIXES += $(PLUGIN_LOCALES)
-endif
-ifeq ($(LOCALE_SET_DEFINITION), jdk)
-  LOCALE_SUFFIXES += $(JDK_LOCALES)
-endif
-ifeq ($(LOCALE_SET_DEFINITION), jre)
-  LOCALE_SUFFIXES += $(JRE_LOCALES)
-endif
-
-# Java files get tacked onto the standard list of files to compile
-RESOURCE_BUNDLE_FILES_java += $(NEW_RESOURCE_BUNDLES_JAVA)
-RESOURCE_BUNDLE_FILES_java += $(RESOURCE_BUNDLES_JAVA) \
-    $(foreach file,$(RESOURCE_BUNDLES_JAVA), \
-       $(foreach locale,$(LOCALE_SUFFIXES), \
-	  $(basename $(file))_$(locale).java))
-
-# Add to java sources list
-FILES_java += $(RESOURCE_BUNDLE_FILES_java)
-
-# Compiled properties files are translated to .java.
-#   The .java files are generated into GENSRCDIR.
-COMPILED_PROPERTIES += $(NEW_RESOURCE_BUNDLES_COMPILED_PROPERTIES)
-COMPILED_PROPERTIES += $(RESOURCE_BUNDLES_COMPILED_PROPERTIES) \
-    $(foreach file,$(RESOURCE_BUNDLES_COMPILED_PROPERTIES),\
-      $(foreach locale,$(LOCALE_SUFFIXES),\
-	 $(basename $(file))_$(locale)$(suffix $(file))))
-
-# Add to java sources list
-FILES_java += $(COMPILED_PROPERTIES:%.properties=%.java)
-
-# Non-compiled files
-PROPERTIES_FILES += $(NEW_RESOURCE_BUNDLES_UNCOMPILED_PROPERTIES)
-PROPERTIES_FILES += $(RESOURCE_BUNDLES_UNCOMPILED_PROPERTIES) \
-    $(foreach file,$(RESOURCE_BUNDLES_UNCOMPILED_PROPERTIES), \
-       $(foreach locale,$(LOCALE_SUFFIXES), \
-	  $(basename $(file))_$(locale)$(suffix $(file))))
-# other properties
-PROPERTIES_FILES += $(OTHER_PROPERTIES)
-
-#
-# Process and strip all non-compiled properties files (in a batch mode)
-#
-STRIP_PROP_FILES = $(PROPERTIES_FILES:%=$(CLASSDESTDIR)/%)
-# To efficiently strip properties we use one run of StripProperties. 
-# This macro gathers an option for use later.
-STRIP_PROP_options=$(TEMPDIR)/strip_prop_options
-define install-properties-file
-$(install-file)
-$(call chmod-file, a+rw)
-@$(ECHO) "# Adding to strip properties list: $@"
-$(ECHO) "$@" >> $(STRIP_PROP_options)
-endef
-
-# Constructs command line options file
-$(STRIP_PROP_options): $(STRIP_PROP_FILES)
-	@$(TOUCH) $@
-strip_prop_options_clean:
-	@$(RM) $(STRIP_PROP_options)
-
-# Strip the properties files
-strip_all_props: $(BUILD_TOOLS) $(STRIP_PROP_options)
-	@if [ -s $(STRIP_PROP_options) ] ; then \
-          $(ECHO) "$(TOOL_STRIPPROPERTIES) @$(STRIP_PROP_options)" ; \
-          $(TOOL_STRIPPROPERTIES) @$(STRIP_PROP_options) ; \
-        fi
-	@$(java-vm-cleanup)
-
-#
-# Creates files in CLASSDESTDIR
-#
-
-# In some cases, we move files from package to resources subdir
-$(CLASSDESTDIR)/$(PKGDIR)/resources/%.properties: \
-	     $(SHARE_SRC)/classes/$(PKGDIR)/%.properties
-	$(install-properties-file)
-$(CLASSDESTDIR)/%.properties: $(SHARE_SRC)/classes/%.properties
-	$(install-properties-file)
-$(CLASSDESTDIR)/%.res: $(SHARE_SRC)/classes/%.res
-	$(install-file)
-$(CLASSDESTDIR)/%.dtd: $(SHARE_SRC)/classes/%.dtd
-	$(install-file)
-$(CLASSDESTDIR)/%.xml: $(SHARE_SRC)/classes/%.xml
-	$(install-file)
-$(CLASSDESTDIR)/%.prp: $(SHARE_SRC)/classes/%.prp
-	$(install-file)
-
-#
-# To efficiently compile properties into java sources we use one run
-#   of compileproperties. This macro gathers an option for use later.
-#   Note: The properties file and java source name can be different
-#         locales, e.g. zh_TW and zh_HK. The java source filename
-#         determines the name of the class.
-COMPILE_PROP_options=$(TEMPDIR)/compile_prop_options
-define add-property-java-file
-@$(prep-target)
-@$(ECHO) "# Adding to compile properties list: $? -> $@"
-$(ECHO) "-compile $? $@ $(COMPILED_PROPERTIES_SUPERCLASS)" \
-   >> $(COMPILE_PROP_options)
-endef
-
-$(GENSRCDIR)/%.java: $(PLATFORM_SRC)/classes/%.properties
-	$(add-property-java-file)
-$(GENSRCDIR)/%.java: $(SHARE_SRC)/classes/%.properties
-	$(add-property-java-file)
-$(GENSRCDIR)/%.java: $(GENSRCDIR)/%.properties
-	$(add-property-java-file)
-ifndef OPENJDK
-$(GENSRCDIR)/%.java: $(CLOSED_PLATFORM_SRC)/classes/%.properties
-	$(add-property-java-file)
-$(GENSRCDIR)/%.java: $(CLOSED_SHARE_SRC)/classes/%.properties
-	$(add-property-java-file)
-endif
-
-# Create HK java file from zh_TW (explicit resource bundles only)
-define create-hk-java-file
-@$(prep-target)
-$(CAT) $< | $(SED) -e '/class/s/_zh_TW/_zh_HK/' > $@
-endef
-
-# Explicit resource bundles
-$(GENSRCDIR)/%_zh_HK.java: $(PLATFORM_SRC)/classes/%_zh_TW.java
-	$(create-hk-java-file)
-$(GENSRCDIR)/%_zh_HK.java: $(SHARE_SRC)/classes/%_zh_TW.java
-	$(create-hk-java-file)
-
-# Compile of zh_HK properties just uses the zh_TW properties files
-$(GENSRCDIR)/%_zh_HK.java: $(PLATFORM_SRC)/classes/%_zh_TW.properties
-	$(add-property-java-file)
-$(GENSRCDIR)/%_zh_HK.java: $(SHARE_SRC)/classes/%_zh_TW.properties
-	$(add-property-java-file)
-
-# Simple delivery of zh_HK properties files just copies zh_TW properties files
-$(CLASSDESTDIR)/%_zh_HK.properties: \
-             $(PLATFORM_SRC)/classes/%_zh_TW.properties
-	$(install-properties-file)
-$(CLASSDESTDIR)/%_zh_HK.properties: \
-             $(SHARE_SRC)/classes/%_zh_TW.properties
-	$(install-properties-file)
-
-# List of java files converted from properties files needed
-COMPILE_PROP_JAVA_FILES = $(COMPILED_PROPERTIES:%.properties=$(GENSRCDIR)/%.java)
-
-# Constructs command line options file
-$(COMPILE_PROP_options): $(COMPILE_PROP_JAVA_FILES)
-	@$(TOUCH) $@
-compile_prop_options_clean:
-	@$(RM) $(COMPILE_PROP_options)
-
-# Make sure all are compiled, one compiler run
-compile_all_props: $(BUILD_TOOLS) $(COMPILE_PROP_options)
-	@if [ `$(CAT) $(COMPILE_PROP_options) | $(WC) -l` -ge 1 ] ; then \
-	  $(MKDIR) -p $(GENSRCDIR); \
-	  $(ECHO) "$(TOOL_COMPILEPROPERTIES) @$(COMPILE_PROP_options)";\
-	  $(TOOL_COMPILEPROPERTIES) @$(COMPILE_PROP_options) ; \
-	  $(java-vm-cleanup); \
-	fi
-
-# Make sure the build rule creates all the properties
-resources:
-
-ifneq ($(strip $(PROPERTIES_FILES)),)
-  resources: strip_prop_options_clean   strip_all_props
-  clobber clean:: 
-	$(RM) $(STRIP_PROP_FILES) $(STRIP_PROP_options)
-endif
-
-ifneq ($(strip $(COMPILED_PROPERTIES)),)
-  resources: compile_prop_options_clean compile_all_props
-  clobber clean:: 
-	$(RM) $(COMPILE_PROP_JAVA_FILES) $(COMPILE_PROP_options)
-endif
-
-.PHONY: resources \
-	compile_prop_options_clean compile_all_props \
-	strip_prop_options_clean   strip_all_props
-
--- a/makefiles/common/shared/Compiler-gcc.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,98 +0,0 @@
-#
-# Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code 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
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-#
-# GCC Compiler settings
-#
-
-ifeq ($(PLATFORM), windows)
-
-  # Settings specific to Windows, pretty stale, hasn't been used
-  CC           ?= $(COMPILER_PATH)gcc
-  CPP          ?= $(COMPILER_PATH)gcc -E
-  CXX          ?= $(COMPILER_PATH)g++
-  CCC          ?= $(COMPILER_PATH)g++
-  AR           ?= $(COMPILER_PATH)lib
-  LINK         ?= $(COMPILER_PATH)link
-  RC           ?= $(COMPILER_PATH)rc
-  LINK32       = $(LINK)
-  RSC          = $(RC)
-  # unset any GNU Make settings of MFLAGS and MAKEFLAGS which may mess up nmake
-  NMAKE          = MFLAGS= MAKEFLAGS= $(COMPILER_PATH)nmake -nologo
-  ifeq ($(ARCH_DATA_MODEL), 32)
-    CC_VER  = UNKNOWN
-  else
-    CC_VER  = UNKNOWN
-  endif
-  _LINK_VER :=$(shell $(LINK) 2>&1 | $(HEAD) -n 1)
-  LINK_VER  :=$(call GetVersion,"$(_LINK_VER)")
-
-endif
-
-ifeq ($(PLATFORM), linux)
-
-# Settings specific to Linux
-  CC             ?= $(COMPILER_PATH)gcc
-  CPP            ?= $(COMPILER_PATH)gcc -E
-# Acquire the paths to the compilers and tools
-  # statically link libstdc++ before C++ ABI is stablized on Linux
-  STATIC_CXX     = true
-  ifeq ($(STATIC_CXX),true)
-    # g++ always dynamically links libstdc++, even we use "-Wl,-Bstatic -lstdc++"
-    # We need to use gcc to statically link the C++ runtime. gcc and g++ use
-    # the same subprocess to compile C++ files, so it is OK to build using gcc.
-    CXX            ?= $(CC)
-    #$(COMPILER_PATH)gcc
-  else
-#    CXX            = $(COMPILER_PATH)g++
-  endif
-  # Option used to create a shared library
-  SHARED_LIBRARY_FLAG = -shared
-  SUN_COMP_VER := $(shell $(CC) --verbose 2>&1 )
-
-endif
-
-ifeq ($(PLATFORM), solaris)
-
-  # Settings specific to Solaris
-  CC             ?= $(COMPILER_PATH)gcc
-  CPP            ?= $(COMPILER_PATH)gcc -E
-  CXX            ?= $(COMPILER_PATH)g++
-
-  # Option used to create a shared library
-  SHARED_LIBRARY_FLAG = -G
-  
-endif
-
-# Get gcc version
-_CC_VER :=$(shell $(CC) -dumpversion 2>&1 )
-CC_VER  :=$(call GetVersion,"$(_CC_VER)")
-CC_MAJORVER  :=$(call MajorVersion,$(CC_VER))
-CC_MINORVER  :=$(call MinorVersion,$(CC_VER))
-
-# Name of compiler
-COMPILER_NAME = GCC$(call MajorVersion,$(CC_VER))
-COMPILER_VERSION = $(COMPILER_NAME)
-
--- a/makefiles/common/shared/Compiler-llvm.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-#
-# Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code 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
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-#
-# LLVM Compiler settings
-#
-
-ifeq ($(PLATFORM), macosx)
-
-  # Settings specific to Mac OS X
-  ifeq ($(origin CC), default)
-   CC             = $(COMPILER_PATH)llvm-gcc
-  endif
-  CPP             = $(COMPILER_PATH)llvm-gcc -E
-  ifeq ($(origin CXX), default)
-   CXX            = $(COMPILER_PATH)llvm-g++
-  endif
-
-  REQUIRED_CC_VER = 4.2.1
-
-  # Option used to create a shared library
-  SHARED_LIBRARY_FLAG = -Wl,-install_name,@rpath/$(@F) -dynamiclib -compatibility_version 1.0.0 -current_version 1.0.0
-  SUN_COMP_VER := $(shell $(CC) --verbose 2>&1 )
-
-  AR = $(CC)
-  ARFLAGS = -nostdlib -r -arch i386 -arch x86_64 -o
-
-endif
-
-# Get llvm version
-_CC_VER :=$(shell $(CC) -dumpversion 2>&1 )
-CC_VER  :=$(call GetVersion,"$(_CC_VER)")
-
-# Name of compiler
-COMPILER_NAME = LLVM-GCC$(call MajorVersion,$(CC_VER))
-COMPILER_VERSION = $(COMPILER_NAME)
-
--- a/makefiles/common/shared/Compiler-msvc.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,93 +0,0 @@
-#
-# Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code 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
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-#
-# MSVC Compiler settings
-#
-
-ifeq ($(PLATFORM), windows)
-  CC           ?= $(COMPILER_PATH)cl
-  CPP          ?= $(COMPILER_PATH)cl
-  CXX          ?= $(COMPILER_PATH)cl
-  CCC          ?= $(COMPILER_PATH)cl
-  AR           ?= $(COMPILER_PATH)lib
-  LINK         ?= $(COMPILER_PATH)link
-  LINK32       ?= $(LINK)
-# TODO Add dumpbin.exe to configure
-  DUMPBIN      ?= $(COMPILER_PATH)dumpbin.exe
- 
-  # Fill in unknown values
-  COMPILER_NAME=Unknown MSVC Compiler
-  COMPILER_VERSION=
-  
-  # unset any GNU Make settings of MFLAGS and MAKEFLAGS which may mess up nmake
-  NMAKE          = MFLAGS= MAKEFLAGS= $(COMPILER_PATH)nmake -nologo
-
-  # Compiler version and type (Always get word after "Version")
-  CC_VER  := $(shell $(CC) 2>&1 | $(HEAD) -n 1 | $(SED) 's/.*\(Version.*\)/\1/' | $(NAWK) '{print $$2}')
-
-  LINK_VER := $(shell $(LINK) | $(HEAD) -n 1 | $(NAWK) '{print $$6}')
-  CC_MAJORVER :=$(call MajorVersion,$(CC_VER))
-  
-  # The VS2010 compiler is the same one used on both 32bit and 64bit
-  ifeq ($(CC_MAJORVER), 16)
-    COMPILER_NAME=Microsoft Visual Studio 10 (16.00.30319.01)
-    COMPILER_VERSION=VS2010
-    ifeq ($(WINDOWSSDKDIR),)
-      WINDOWSSDKDIR := $(error WINDOWSSDKDIR cannot be empty here)
-    endif
-    ifeq ($(ARCH_DATA_MODEL), 32)
-      _OTHER_TOOLS_BIN = $(WINDOWSSDKDIR)/Bin
-    else
-      ifeq ($(ARCH), ia64)
-        _OTHER_TOOLS_BIN = $(WINDOWSSDKDIR)/Bin/ia64
-      else
-        _OTHER_TOOLS_BIN = $(WINDOWSSDKDIR)/Bin/x64
-      endif
-    endif
-    RC     = $(_OTHER_TOOLS_BIN)/RC.Exe
-    REBASE = $(_OTHER_TOOLS_BIN)/ReBase.Exe
-    MT     = $(_OTHER_TOOLS_BIN)/mt.exe
-    MTL    = $(_OTHER_TOOLS_BIN)/midl.exe
-  endif
-  
-  # These variables can never be empty
-  ifndef COMPILER_PATH
-    COMPILER_PATH := $(error COMPILER_PATH cannot be empty here)
-  endif
-  ifndef COMPILER_VERSION
-    COMPILER_VERSION := $(error COMPILER_VERSION cannot be empty here)
-  endif
-  ifneq ($(COMPILER_VERSION),VS2010)
-    COMPILER_VERSION := $(error COMPILER_VERSION must be VS2010)
-  endif
-  
-  # Shared library generation flag
-  SHARED_LIBRARY_FLAG = -LD
-  # RSC is always same as RC (Not sure who uses this RSC variable)
-  RSC = $(RC)
-
-endif
-
--- a/makefiles/common/shared/Compiler-sun.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,138 +0,0 @@
-#
-# Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code 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
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-#
-# Sun Studio Compiler settings
-#
-
-# Sun Studio Compiler settings specific to Solaris
-ifeq ($(PLATFORM), solaris)
-  CC             ?= $(COMPILER_PATH)cc
-  CPP            ?= $(COMPILER_PATH)cc -E
-  CXX            ?= $(COMPILER_PATH)CC
-  LINT           ?= $(COMPILER_PATH)lint
-  # Option used to create a shared library
-  SHARED_LIBRARY_FLAG = -G
-  GCC =$(GCC_COMPILER_PATH)gcc
-endif
-
-# Sun Studio Compiler settings specific to Linux
-ifeq ($(PLATFORM), linux)
-  # This has not been tested
-  CC             ?= $(COMPILER_PATH)cc
-  CPP            ?= $(COMPILER_PATH)cc -E
-  CXX            ?= $(COMPILER_PATH)CC
-  LINT           ?= $(COMPILER_PATH)lint
-  # statically link libstdc++ before C++ ABI is stablized on Linux
-  STATIC_CXX     = true
-  ifeq ($(STATIC_CXX),true)
-    # CC always dynamically links libstdc++, even we use "-Wl,-Bstatic -lstdc++"
-    # We need to use cc to statically link the C++ runtime.
-    CXX            ?= $(COMPILER_PATH)cc
-  else
-    CXX            ?= $(COMPILER_PATH)CC
-  endif
-  # Option used to create a shared library
-  SHARED_LIBRARY_FLAG = -G
-endif
-
-# Get compiler version
-_CC_VER :=$(shell $(CC) -V 2>&1 | $(HEAD) -n 1)
-CC_VER  :=$(call GetVersion,"$(_CC_VER)")
-CC_MAJORVER  :=$(call MajorVersion,$(CC_VER))
-CC_MINORVER  :=$(call MinorVersion,$(CC_VER))
-
-# Name of compilers being used
-COMPILER_VERSION-5.7  = SS10
-COMPILER_NAME-5.7     = Sun Studio 10
-COMPILER_VERSION-5.8  = SS11
-COMPILER_NAME-5.8     = Sun Studio 11
-COMPILER_VERSION-5.9  = SS12
-COMPILER_NAME-5.9     = Sun Studio 12
-COMPILER_VERSION-5.10 = SS12u1
-COMPILER_NAME-5.10    = Sun Studio 12 Update 1
-COMPILER_VERSION-5.11 = OSS12u2
-COMPILER_NAME-5.11    = Oracle Solaris Studio 12 Update 2
-COMPILER_VERSION      = $(COMPILER_VERSION-$(CC_VER))
-COMPILER_NAME         = $(COMPILER_NAME-$(CC_VER))
-
-# Arch specific settings (determines type of .o files and instruction set)
-#  Starting in SS12 (5.9), the arch options changed.
-#  The assembler /usr/ccs/bin/as wants older SS11 (5.8) style options.
-#   Note: We need to have both 32 and 64 values at all times for awt Makefiles.
-#
-XARCH_OPTION_OLD/32 =
-XARCH_OPTION_OLD/64 =
-XARCH_OPTION_NEW/32 = -m32
-XARCH_OPTION_NEW/64 = -m64
-# Lint options are slightly different
-LINT_XARCH_OPTION_OLD/32 =
-LINT_XARCH_OPTION_OLD/64 =
-LINT_XARCH_OPTION_NEW/32 = -m32
-LINT_XARCH_OPTION_NEW/64 = -m64
-ifeq ($(ARCH_FAMILY), sparc)
-  ifdef VIS_NEEDED
-    XARCH_OPTION_OLD/32 += -xarch=v8plusa
-    XARCH_OPTION_OLD/64 += -xarch=v9a
-    XARCH_OPTION_NEW/32 += -xarch=sparcvis
-    XARCH_OPTION_NEW/64 += -xarch=sparcvis
-  else
-    # Someday this should change to improve optimization on UltraSPARC
-    #    and abandon v8, even change to sparcvis or sparcvis2, this
-    #    abandons machines like the SPARCstation 10.
-    #    Indications with jdk6 is that alacrity runs do not show a
-    #    big improvement using v8plus over v8, but other benchmarks might.
-    XARCH_OPTION_OLD/32 += -xarch=v8
-    XARCH_OPTION_OLD/64 += -xarch=v9
-    # Note that this new option (SS12+) effectively means v8plus
-    XARCH_OPTION_NEW/32 += -xarch=sparc
-    XARCH_OPTION_NEW/64 += -xarch=sparc
-  endif
-  LINT_XARCH_OPTION_OLD/64 += -Xarch=v9
-endif
-ifeq ($(ARCH_FAMILY), i586)
-  XARCH_OPTION_OLD/64      += -xarch=amd64
-  LINT_XARCH_OPTION_OLD/64 += -Xarch=amd64
-endif
-# Pick the options we want based on the compiler being used. (5.9 or newer)
-CC_59_OR_NEWER := \
-  $(shell expr $(CC_MAJORVER) \> 5 \| \
-      \( $(CC_MAJORVER) = 5 \& $(CC_MINORVER) \>= 9 \) )
-ifeq ($(CC_59_OR_NEWER), 1)
-  XARCH_OPTION/32 = $(XARCH_OPTION_NEW/32)
-  XARCH_OPTION/64 = $(XARCH_OPTION_NEW/64)
-  LINT_XARCH_OPTION/32 = $(LINT_XARCH_OPTION_NEW/32)
-  LINT_XARCH_OPTION/64 = $(LINT_XARCH_OPTION_NEW/64)
-else
-  XARCH_OPTION/32 = $(XARCH_OPTION_OLD/32)
-  XARCH_OPTION/64 = $(XARCH_OPTION_OLD/64)
-  LINT_XARCH_OPTION/32 = $(LINT_XARCH_OPTION_OLD/32)
-  LINT_XARCH_OPTION/64 = $(LINT_XARCH_OPTION_OLD/64)
-endif
-XARCH_OPTION = $(XARCH_OPTION/$(ARCH_DATA_MODEL))
-LINT_XARCH_OPTION = $(LINT_XARCH_OPTION/$(ARCH_DATA_MODEL))
-# The /usr/ccs/bin/as assembler always wants the older SS11 (5.8) options.
-AS_XARCH_OPTION = $(XARCH_OPTION_OLD/$(ARCH_DATA_MODEL))
-
--- a/makefiles/common/shared/Defs-control.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,143 +0,0 @@
-#
-# Copyright (c) 1995, 2011, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code 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
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-#
-# Common variables used by all the Java makefiles.  This file should
-# not contain rules.
-#
-
-# WARNING: This file is shared with other components.
-#
-
-ifndef JDK_MAKE_SHARED_DIR
-  JDK_MAKE_SHARED_DIR = $(JDK_TOPDIR)/makefiles/common/shared
-endif
-
-ifndef HOTSPOT_TOPDIR
-  HOTSPOT_TOPDIR=$(TOPDIR)/hotspot
-endif
-ifndef LANGTOOLS_TOPDIR
-  LANGTOOLS_TOPDIR=$(TOPDIR)/langtools
-endif
-ifndef CORBA_TOPDIR
-  CORBA_TOPDIR=$(TOPDIR)/corba
-endif
-ifndef JAXP_TOPDIR
-  JAXP_TOPDIR=$(TOPDIR)/jaxp
-endif
-ifndef JAXWS_TOPDIR
-  JAXWS_TOPDIR=$(TOPDIR)/jaxws
-endif
-ifndef JDK_TOPDIR
-  JDK_TOPDIR=$(TOPDIR)/jdk
-endif
-ifndef INSTALL_TOPDIR
-  INSTALL_TOPDIR=$(TOPDIR)/install
-endif
-ifndef SPONSORS_TOPDIR
-  SPONSORS_TOPDIR=$(TOPDIR)/sponsors
-endif
-ifndef DEPLOY_TOPDIR
-  DEPLOY_TOPDIR=$(TOPDIR)/deploy
-endif
-
-# Get shared platform settings
-include $(JDK_MAKE_SHARED_DIR)/Platform.gmk
-
-# Default directory immediately above the "build" output directory (OUTPUTDIR)
-BUILD_PARENT_DIRECTORY=$(TOPDIR)
-
-# Get platform specific settings
-include $(JDK_MAKE_SHARED_DIR)/Defs.gmk
-
-SRC_BUNDLEDIR       = $(OUTPUTDIR)/source-bundles
-ABS_SRC_BUNDLEDIR   = $(ABS_OUTPUTDIR)/source-bundles
-BIN_BUNDLEDIR       = $(OUTPUTDIR)/bundles
-BIN_DEMOS_BUNDLEDIR = $(OUTPUTDIR)/demos-bundles
-ABS_BIN_BUNDLEDIR   = $(ABS_OUTPUTDIR)/bundles
-
-dummy := $(shell $(MKDIR) -p $(BIN_BUNDLEDIR))
-dummy := $(shell $(MKDIR) -p $(BIN_DEMOS_BUNDLEDIR) )
-dummy := $(shell $(MKDIR) -p $(SRC_BUNDLEDIR) )
-
-TEMP_DIR = $(OUTPUTDIR)/tmp
-ABS_TEMP_DIR = $(ABS_OUTPUTDIR)/tmp
-
-dummy := $(shell $(MKDIR) -p $(TEMP_DIR))
-
-# The language version we want for this jdk build
-SOURCE_LANGUAGE_VERSION=7
-# The class version we want for this jdk build
-TARGET_CLASS_VERSION=7
-
-# The MESSAGE, WARNING and ERROR files are used to store sanity check and 
-# source check messages, warnings and errors. 
-export ERROR_FILE   := $(ABS_OUTPUTDIR)/sanityCheckErrors.txt
-export WARNING_FILE := $(ABS_OUTPUTDIR)/sanityCheckWarnings.txt
-export MESSAGE_FILE := $(ABS_OUTPUTDIR)/sanityCheckMessages.txt
-
-# source bundle generation definitions
-BUNDLE_DATE := $(shell $(DATE) '+%d_%b_%Y' | $(TR) "[A-Z]" "[a-z]")
-ifdef ALT_BUNDLE_DATE
-  BUNDLE_DATE := $(ALT_BUNDLE_DATE)
-endif
-
-# If the update version contains non-numeric characters, we need
-# to massage it into a numeric format.  Unfortunately, the
-# Windows VERSIONINFO resource that we stick in jvm.dll cannot
-# handle non-numeric characters.  We have to do this here because
-# Hotspot (nmake) cannot handle calculations.  So we use the
-# following formula:
-# COOKED_JDK_UPDATE_VERSION = JDK_UPDATE_VERSION * 10 + EXCEPTION_VERSION
-# 
-# Here are some examples:
-#     1.5.0    b01  ->  5,0,0,1
-#     1.5.0_10 b01  ->  5,0,100,1 
-#     1.4.2 b01     ->  4,2,0,1
-#     1.4.2_02 b01  ->  4,2,20,1
-#     1.4.2_02a b01 ->  4,2,21,1
-#     1.4.2_02b b01 ->  4,2,22,1
-ifdef JDK_UPDATE_VERSION
-  VTMP := $(shell $(ECHO) $(JDK_UPDATE_VERSION) | $(TR) "abcde" "12345")
-  CHAR1 := $(shell $(ECHO) $(VTMP) | $(NAWK) '{print substr($$1, 1, 1);}')
-  CHAR2 := $(shell $(ECHO) $(VTMP) | $(NAWK) '{print substr($$1, 2, 1);}')
-  CHAR3 := $(shell $(ECHO) $(VTMP) | $(NAWK) '{print substr($$1, 3, 1);}')
-  ifeq ($(CHAR3),)
-    CHAR3 := 0
-  endif
-  ifeq ($(CHAR1), 0)
-    COOKED_JDK_UPDATE_VERSION := $(CHAR2)$(CHAR3)
-  else
-    COOKED_JDK_UPDATE_VERSION := $(CHAR1)$(CHAR2)$(CHAR3)
-  endif
-endif
-
-ifneq ($(JDK_BUILD_NUMBER),)
- COOKED_BUILD_NUMBER = $(shell $(ECHO) $(JDK_BUILD_NUMBER) \
-			       | $(SED) -e 's/^b//' | $(SED) -e 's/^0//')
-else
- COOKED_BUILD_NUMBER = 0
-endif
-
--- a/makefiles/common/shared/Defs-java.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,249 +0,0 @@
-#
-# Copyright (c) 2007, 2012, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code 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
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-#
-# Common java/javac/jdk variables used by all the Java makefiles.
-# This file should not contain rules.
-#
-
-# WARNING: This file is shared with other workspaces.
-#          So when it includes other files, it must use JDK_TOPDIR.
-#
-
--include $(SPEC)
-
-#
-# Memory related -J flags that all uses of java tools should use.
-#
-#JAVA_MEM_FLAGS   = -Xmx$(MAX_VM_MEMORY)m
-#ifeq ($(ARCH), ia64)
-  # Special flags for javac on ia64 to work around a VM problem with
-  #   bad code generation during inlining (what version had this problem?):
-  #   Suspect this may not be needed anymore.
-#  JAVA_MEM_FLAGS   += -Xms$(MAX_VM_MEMORY)m -XX:-Inline
-#else
-#  JAVA_MEM_FLAGS   += -Xms$(MIN_VM_MEMORY)m -XX:PermSize=32m -XX:MaxPermSize=160m
-#endif
-
-#
-# All java tools (javac, javah, and javadoc) run faster with certain java
-#    options, this macro should be used with all these tools.
-#    In particular, the client VM makes these tools run faster when
-#    it's available.
-#
-ADD_CLIENT_VM_OPTION = false
-ifeq ($(PLATFORM), solaris)
-  ADD_CLIENT_VM_OPTION = true
-else
-  ifeq ($(ARCH_DATA_MODEL), 32)
-    ADD_CLIENT_VM_OPTION = true
-  endif
-endif
-
-# Options for hotspot to turn off printing of options with fastdebug version
-#   and creating the hotspot.log file.
-#JAVA_HOTSPOT_DISABLE_PRINT_VMOPTIONS = \
-#   -XX:-PrintVMOptions -XX:+UnlockDiagnosticVMOptions -XX:-LogVMOutput
-
-# JVM options
-ifeq ($(PLATFORM), macosx)
-  JAVA_JVM_FLAGS = $(JAVA_HOTSPOT_DISABLE_PRINT_VMOPTIONS) -Djava.awt.headless=true
-else
-  JAVA_JVM_FLAGS = $(JAVA_HOTSPOT_DISABLE_PRINT_VMOPTIONS)
-endif
-
-#ifeq ($(ADD_CLIENT_VM_OPTION), true)
-#  JAVA_JVM_FLAGS += -client
-#endif
-#ifdef USE_HOTSPOT_INTERPRETER_MODE
-#  JAVA_JVM_FLAGS += -Xint
-#endif
-
-# Various VM flags
-JAVA_TOOLS_FLAGS  = $(JAVA_JVM_FLAGS) $(JAVA_MEM_FLAGS)
-
-# The VM flags for javac
-JAVAC_JVM_FLAGS =
-
-# 64-bit builds require a larger thread stack size.
-#ifeq ($(ARCH_DATA_MODEL), 32)
-#  JAVAC_JVM_FLAGS    += -J-XX:ThreadStackSize=768
-#else
-#  JAVAC_JVM_FLAGS    += -J-XX:ThreadStackSize=1536
-#endif
-JAVAC_JVM_FLAGS    += $(JAVA_TOOLS_FLAGS:%=-J%)
-
-# The jar -J options are special, must be added at the end of the command line
-JAR_JFLAGS       = $(JAVA_TOOLS_FLAGS:%=-J%)
-
-# JAVA_TOOLS_DIR is the default location to find Java tools to run, if
-#    langtools is not available.
-#    This should be the latest promoted JDK javac.
-ifndef JAVA_TOOLS_DIR
-  JAVA_TOOLS_DIR = $(JDK_IMPORT_PATH)/bin
-endif
-
-#
-# Invoking the Java compiler.   In leaf makefiles, choose as follows:
-#  -- Use JAVAC if you want to take full control of what options get
-#     passed to javac.
-#  -- Use JAVAC_CMD if you want to take the defaults given to you.
-#
-
-ifndef DEBUG_CLASSFILES
-  ifeq ($(VARIANT), DBG)
-    DEBUG_CLASSFILES = true
-  endif
-endif
-JAVACFLAGS =
-ifeq ($(DEBUG_CLASSFILES),true)
-  JAVACFLAGS += -g
-endif
-ifeq ($(JAVAC_MAX_WARNINGS), true)
-  JAVAC_LINT_OPTIONS += -Xlint:all
-endif
-ifeq ($(JAVAC_WARNINGS_FATAL), true)
-  JAVACFLAGS  += -Werror
-endif
-
-# TODO: Workaround for CR 7063027. Remove -path eventually.
-JAVAC_LINT_OPTIONS += -Xlint:-path
-
-JAVACFLAGS += $(JAVAC_LINT_OPTIONS)
-
-#
-# Some licensees do not get the Security Source bundles.  We will
-# fall back on the prebuilt jce.jar so that we can do a best
-# attempt at building.  If sources exist, we always want to
-# build/use the most recent source instead of an older jce.jar, whether
-# built implicitly/explicitly.
-#
-ifeq ($(wildcard $(SHARE_SRC)/classes/javax/crypto/Cipher.java),)
-  JCE_PATH = $(CLASSPATH_SEPARATOR)$(LIBDIR)/jce.jar
-endif
-
-# Add the source level
-SOURCE_LANGUAGE_VERSION = 7
-LANGUAGE_VERSION = -source $(SOURCE_LANGUAGE_VERSION)
-JAVACFLAGS  += $(LANGUAGE_VERSION)
-
-# Add the class version we want
-TARGET_CLASS_VERSION = 7
-CLASS_VERSION = -target $(TARGET_CLASS_VERSION)
-JAVACFLAGS  += $(CLASS_VERSION)
-JAVACFLAGS  += -encoding ascii
-JAVACFLAGS  += "-Xbootclasspath:$(CLASSBINDIR)$(JCE_PATH)"
-JAVACFLAGS  += $(OTHER_JAVACFLAGS)
-
-# Needed for javah
-JAVAHFLAGS += -bootclasspath "$(CLASSBINDIR)$(JCE_PATH)"
-
-# Needed for javadoc to ensure it builds documentation
-# against the newly built classes
-JAVADOCFLAGS += -bootclasspath $(CLASSBINDIR)
-
-# Needed for JAVADOC and BOOT_JAVACFLAGS
-NO_PROPRIETARY_API_WARNINGS = -XDignore.symbol.file=true
-
-# Langtools
-LANGTOOLS_DIST ?= $(ALT_LANGTOOLS_DIST)
-
-ifdef LANGTOOLS_DIST
-  JAVAC_JAR   = $(LANGTOOLS_DIST)/bootstrap/lib/javac.jar
-  JAVAH_JAR   = $(LANGTOOLS_DIST)/bootstrap/lib/javah.jar
-  JAVADOC_JAR = $(LANGTOOLS_DIST)/bootstrap/lib/javadoc.jar
-  DOCLETS_JAR = $(LANGTOOLS_DIST)/bootstrap/lib/doclets.jar
-  JAVAC_CMD   = $(BOOT_JAVA_CMD) \
-		"-Xbootclasspath/p:$(JAVAC_JAR)" \
-		-jar $(JAVAC_JAR) $(JAVACFLAGS)
-  JAVAH_CMD   = $(BOOT_JAVA_CMD) \
-		"-Xbootclasspath/p:$(JAVAH_JAR)$(CLASSPATH_SEPARATOR)$(JAVAC_JAR)"  \
-		-jar $(JAVAH_JAR) $(JAVAHFLAGS)
-  JAVADOC_CMD = $(BOOT_JAVA_CMD) \
-		"-Xbootclasspath/p:$(JAVADOC_JAR)$(CLASSPATH_SEPARATOR)$(JAVAC_JAR)$(CLASSPATH_SEPARATOR)$(DOCLETS_JAR)" \
-		-jar $(JAVADOC_JAR) $(JAVADOCFLAGS)
-else
-  # If no explicit tools, use boot tools (add VM flags in this case)
-  JAVAC_CMD     = $(UNCYGDRIVE) $(JAVA_TOOLS_DIR)/javac $(JAVAC_JVM_FLAGS) \
-		  $(JAVACFLAGS)
-  JAVAH_CMD     = $(UNCYGDRIVE) $(JAVA_TOOLS_DIR)/javah \
-		  $(JAVAHFLAGS)
-  JAVADOC_CMD   = $(UNCYGDRIVE) $(JAVA_TOOLS_DIR)/javadoc $(JAVA_TOOLS_FLAGS:%=-J%) \
-		  $(JAVADOCFLAGS)
-endif
-
-# Override of what javac to use (see deploy workspace)
-#ifdef JAVAC
-#  JAVAC_CMD     = $(JAVAC)
-#endif
-
-#
-# The bootstrap java compiler (defined as the javac in the ALT_BOOTDIR jdk).
-#   Will be used to compile java code used to build the jdk, e.g. class files
-#   created by this compiler will NOT become part of this built jdk, but just
-#   used to build this jdk, e.g. run with the java in the ALT_BOOTDIR jdk.
-#
-# The javac supplied with the LANGTOOLS_DIST should be used to build the
-#   classes that will be put into the built jdk. But note that this javac
-#   will use the ALT_BOOTDIR java runtime. Any classes created by the
-#   LANGTOOLS_DIST javac should not be run during this jdk build and indeed
-#   may not even run with the ALT_BOOTDIR jdk because they may be a newer
-#   class file version that the ALT_BOOTDIR jdk doesn't understand.
-#
-# The important observation here is that the built jdk is NOT run during
-#   the build. If the built jdk needs to be verified that it can build this
-#   same jdk, then it should be supplied to the build process as the ALT_BOOTDIR
-#   jdk, and this resulting built jdk should be compared to the first one.
-#   (They should be the same). Re-using this built jdk as the ALT_BOOTDIR
-#   jdk will be the only way and the recommeneded way to verify the built jdk
-#   can bootstrap itself.
-#
-
-# The javac options supplied to the boot javac is limited. This compiler
-#   should only be used to build the 'make/tools' sources, which are not
-#   class files that end up in the classes directory.
-BOOT_JAVACFLAGS += $(JAVAC_LINT_OPTIONS)
-ifeq ($(JAVAC_WARNINGS_FATAL), true)
-  BOOT_JAVACFLAGS  += -Werror
-endif
-
-BOOT_JAVACFLAGS  += -encoding ascii
-BOOT_JAR_JFLAGS += $(JAR_JFLAGS)
-
-BOOT_JAVACFLAGS  += $(NO_PROPRIETARY_API_WARNINGS)
-
-BOOT_JAVA_CMD      = $(UNCYGDRIVE) $(BOOTDIR)/bin/java $(JAVA_TOOLS_FLAGS)
-BOOT_JAVAC_CMD     = $(UNCYGDRIVE) $(BOOTDIR)/bin/javac $(JAVAC_JVM_FLAGS) $(BOOT_JAVACFLAGS)
-BOOT_JAR_CMD       = $(UNCYGDRIVE) $(BOOTDIR)/bin/jar
-BOOT_JARSIGNER_CMD = $(UNCYGDRIVE) $(BOOTDIR)/bin/jarsigner
-
-# Various tools we need to run (FIXUP: Are these the right ones?)
-NATIVE2ASCII    = $(UNCYGDRIVE) $(BOOTDIR)/bin/native2ascii $(JAVA_TOOLS_FLAGS:%=-J%)
-RMIC		= $(UNCYGDRIVE) $(BOOTDIR)/bin/rmic $(JAVA_TOOLS_FLAGS:%=-J%)
-IDLJ		= $(UNCYGDRIVE) $(BOOTDIR)/bin/idlj $(JAVA_TOOLS_FLAGS:%=-J%)
-
-# Should not be used
-#JAVA		= /should/not/be/used
-
--- a/makefiles/common/shared/Defs-javadoc.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-#
-# Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code 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
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-# Copyright year for beginning of Java and some of the apis
-#   (Needed when creating the javadocs)
-FIRST_COPYRIGHT_YEAR                = 1993
-DOMAPI_FIRST_COPYRIGHT_YEAR         = 2005
-MIRROR_FIRST_COPYRIGHT_YEAR         = 2004
-DOCLETAPI_FIRST_COPYRIGHT_YEAR      = 1993
-TAGLETAPI_FIRST_COPYRIGHT_YEAR      = 1993
-JDI_FIRST_COPYRIGHT_YEAR            = 1999
-JAAS_FIRST_COPYRIGHT_YEAR           = 1998
-JGSS_FIRST_COPYRIGHT_YEAR           = 2000
-SMARTCARDIO_FIRST_COPYRIGHT_YEAR    = 2005
-HTTPSERVER_FIRST_COPYRIGHT_YEAR     = 2005
-MGMT_FIRST_COPYRIGHT_YEAR           = 2003
-ATTACH_FIRST_COPYRIGHT_YEAR         = 2005
-JCONSOLE_FIRST_COPYRIGHT_YEAR       = 2006
-SCTPAPI_FIRST_COPYRIGHT_YEAR        = 2009
-TRACING_FIRST_COPYRIGHT_YEAR        = 2008
-TREEAPI_FIRST_COPYRIGHT_YEAR        = 2005
-JNLP_FIRST_COPYRIGHT_YEAR           = 1998
-PLUGIN2_FIRST_COPYRIGHT_YEAR        = 2007
-
-# Oracle name
-FULL_COMPANY_NAME = Oracle and/or its affiliates
-
-# Copyright address
-COMPANY_ADDRESS = 500 Oracle Parkway<br>Redwood Shores, CA 94065 USA.
-
-# The trademark symbol
-TRADEMARK = &trade;
-
-# Common copyright lines used
-#   The word "Copyright" might optionally be a link to the file cpyr.html.
-#   The first year of copyright may vary or not be available.
-#   The address to the company might be optional.
-COMMA:= ,
-EMPTY:=
-SPACE:=$(EMPTY) $(EMPTY)
-COPYRIGHT_SYMBOL = &\#x00a9;
-# Macro to construct the copyright line
-#   (The GNU make 3.78.1 "if" conditional is broken, fixed in GNU make 3.81)
-define CopyrightLine # optionalurl optionalfirstyear optionaladdress
-$(if $(strip $1),<a href="$(strip $1)">Copyright</a>,Copyright) \
-$(COPYRIGHT_SYMBOL) $(if $2,$2${COMMA},) $(COPYRIGHT_YEAR),\
-$(FULL_COMPANY_NAME). $3 All rights reserved.
-endef
-
--- a/makefiles/common/shared/Defs-linux.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,213 +0,0 @@
-#
-# Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code 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
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-#
-# Definitions for Linux.
-#
-
-# Default for COMPILER_WARNINGS_FATAL on Linux (C & C++ compiler warnings)
-ifndef COMPILER_WARNINGS_FATAL
-  COMPILER_WARNINGS_FATAL=false
-endif
-
-# Linux should use parallel compilation for best build times
-ifndef COMPILE_APPROACH
-  COMPILE_APPROACH = parallel
-endif
-
-# Indication that we are doing an incremental build.
-#    This may trigger the creation of make depend files.
-ifndef INCREMENTAL_BUILD
-  INCREMENTAL_BUILD = false
-endif
-
-# FullPath just makes sure it never ends with a / and no duplicates
-define FullPath
-$(shell cd $1 2> $(DEV_NULL) && pwd)
-endef
-
-# OptFullPath: Absolute path name of a dir that might not initially exist.
-define OptFullPath
-$(shell if [ "$1" != "" -a -d "$1" ]; then (cd $1 && pwd); else echo "$1"; fi)
-endef
-
-# Location on system where jdk installs might be
-USRJDKINSTANCES_PATH =/opt/java
-
-# UNIXCOMMAND_PATH: path to where the most common Unix commands are.
-#  NOTE: Must end with / so that it could be empty, allowing PATH usage.
-ifneq "$(origin ALT_UNIXCOMMAND_PATH)" "undefined"
-  UNIXCOMMAND_PATH :=$(call PrefixPath,$(ALT_UNIXCOMMAND_PATH))
-else
-  UNIXCOMMAND_PATH  = /bin/
-endif
-
-# USRBIN_PATH: path to where the most common Unix commands are.
-#  NOTE: Must end with / so that it could be empty, allowing PATH usage.
-ifneq "$(origin ALT_USRBIN_PATH)" "undefined"
-  USRBIN_PATH :=$(call PrefixPath,$(ALT_USRBIN_PATH))
-else
-  USRBIN_PATH  = /usr/bin/
-endif
-
-# UNIXCCS_PATH: path to where the Solaris ported UNIX commands can be found
-#  NOTE: Must end with / so that it could be empty, allowing PATH usage.
-ifneq "$(origin ALT_UNIXCCS_PATH)" "undefined"
-  UNIXCCS_PATH :=$(call PrefixPath,$(ALT_UNIXCCS_PATH))
-else
-  UNIXCCS_PATH = /usr/ccs/bin/
-endif
-
-# SLASH_JAVA: location of all network accessable files
-ifdef ALT_SLASH_JAVA
-  SLASH_JAVA  :=$(ALT_SLASH_JAVA)
-else
-  SLASH_JAVA  := $(call DirExists,/java,/java,/NOT-SET)
-endif
-
-# JDK_DEVTOOLS_DIR: common path for all the java devtools
-ifdef ALT_JDK_DEVTOOLS_DIR
-  JDK_DEVTOOLS_DIR  =$(ALT_JDK_DEVTOOLS_DIR)
-else
-  JDK_DEVTOOLS_DIR =$(SLASH_JAVA)/devtools
-endif
-
-# COMPILER_PATH: path to where the compiler and tools are installed.
-#  NOTE: Must end with / so that it could be empty, allowing PATH usage.
-ifneq "$(origin ALT_COMPILER_PATH)" "undefined"
-  COMPILER_PATH :=$(call PrefixPath,$(ALT_COMPILER_PATH))
-else
-  COMPILER_PATH  =/usr/bin/
-endif
-
-# OPENWIN_HOME: path to where the X11 environment is installed.
-#  NOTE: Must end with / so that it could be empty, allowing PATH usage.
-ifneq ($(ALT_OPENWIN_HOME),)
-  OPENWIN_HOME :=$(call PrefixPath,$(ALT_OPENWIN_HOME))
-else
-  OPENWIN_HOME  ?=$(SYS_ROOT)/usr/X11R6/
-endif
-
-# DEVTOOLS_PATH: for other tools required for building (such as zip, etc.)
-#  NOTE: Must end with / so that it could be empty, allowing PATH usage.
-ifneq "$(origin ALT_DEVTOOLS_PATH)" "undefined"
-  DEVTOOLS_PATH :=$(call PrefixPath,$(ALT_DEVTOOLS_PATH))
-else
-  DEVTOOLS_PATH =/usr/bin/
-endif
-
-# _BOOTDIR1: First choice for a Bootstrap JDK, previous released JDK.
-# _BOOTDIR2: Second choice
-ifndef ALT_BOOTDIR
-  _BOOTDIR1  =$(SLASH_JAVA)/re/jdk/$(PREVIOUS_JDK_VERSION)/archive/fcs/binaries/$(PLATFORM)-$(ARCH)
-  _BOOTDIR2  =$(USRJDKINSTANCES_PATH)/jdk$(PREVIOUS_JDK_VERSION)
-endif
-
-# Always build headless on Linux
-BUILD_HEADLESS = true
-LIBM=-lm
-
-# GCC29_COMPILER_PATH: is the path to where the gcc 2.9 compiler is installed
-#  NOTE: Must end with / so that it could be empty, allowing PATH usage.
-ifdef ALT_GCC29_COMPILER_PATH
-  GCC29_COMPILER_PATH :=$(call PrefixPath,$(ALT_GCC29_COMPILER_PATH))
-else
-  GCC29_COMPILER_PATH = $(JDK_DEVTOOLS_DIR)/$(PLATFORM)/gcc29/usr/
-endif
-
-_CUPS_HEADERS_PATH=/usr/include
-
-# Import JDK images allow for partial builds, components not built are
-#    imported (or copied from) these import areas when needed.
-
-# BUILD_JDK_IMPORT_PATH: location of JDK install trees to import for 
-#   multiple platforms, e.g. windows-i586, solaris-sparc, linux-586, etc.
-ifdef ALT_BUILD_JDK_IMPORT_PATH
-  BUILD_JDK_IMPORT_PATH  :=$(call FullPath,$(ALT_BUILD_JDK_IMPORT_PATH))
-else
-  BUILD_JDK_IMPORT_PATH   = $(PROMOTED_BUILD_BINARIES)
-endif
-
-# JDK_IMPORT_PATH: location of JDK install tree (this version) to import
-ifdef ALT_JDK_IMPORT_PATH
-  JDK_IMPORT_PATH  :=$(call FullPath,$(ALT_JDK_IMPORT_PATH))
-else
-  JDK_IMPORT_PATH   = $(BUILD_JDK_IMPORT_PATH)/$(PLATFORM)-$(ARCH)$(_JDK_IMPORT_VARIANT)
-endif
-
-# HOTSPOT_IMPORT_PATH: location of hotspot pre-built files
-ifdef ALT_HOTSPOT_IMPORT_PATH
-  HOTSPOT_IMPORT_PATH :=$(call FullPath,$(ALT_HOTSPOT_IMPORT_PATH))
-else
-  HOTSPOT_IMPORT_PATH ?=$(JDK_IMPORT_PATH)
-endif
-
-# HOTSPOT_CLIENT_PATH: location of client jvm library file.
-ifeq ($(ARCH_DATA_MODEL), 32)
-  ifdef ALT_HOTSPOT_CLIENT_PATH
-    HOTSPOT_CLIENT_PATH :=$(call FullPath,$(ALT_HOTSPOT_CLIENT_PATH))
-  else
-    HOTSPOT_CLIENT_PATH   =$(HOTSPOT_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/client
-  endif
-endif
-
-# HOTSPOT_SERVER_PATH: location of server jvm library file.
-ifdef ALT_HOTSPOT_SERVER_PATH
-  HOTSPOT_SERVER_PATH :=$(call FullPath,$(ALT_HOTSPOT_SERVER_PATH))
-else
-  HOTSPOT_SERVER_PATH   =$(HOTSPOT_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/server
-endif
-
-# Special define for checking the binaries
-
-# Debug builds should downgrade warnings to just info
-MAPFILE_WARNING-DBG=INFO
-MAPFILE_WARNING-OPT=WARNING
-MAPFILE_WARNING-=WARNING
-MAPFILE_WARNING=$(MAPFILE_WARNING-$(VARIANT))
-
-# Macro to check it's input file for banned dependencies and verify the
-#   binary built properly. Relies on process exit code.
-ifndef CROSS_COMPILE_ARCH
-define binary_file_verification # binary_file
-( \
-  $(ECHO) "Checking for mapfile use in: $1" && \
-  if [ "`$(NM) -D -g --defined-only $1 | $(EGREP) 'SUNWprivate'`" = "" ] ; then \
-    $(ECHO) "$(MAPFILE_WARNING): File was not built with a mapfile: $1"; \
-  fi && \
-  $(ECHO) "Library loads for: $1" && \
-  $(LDD) $1 && \
-  $(ECHO) "RUNPATH for: $1" && \
-  ( $(READELF) -d $1 | $(EGREP) 'NEEDED|RUNPATH|RPATH' ) \
-)
-endef
-else
-define binary_file_verification 
-( \
-  $(ECHO) "Skipping binary file verification for cross-compile build" \
-)
-endef
-endif
-
--- a/makefiles/common/shared/Defs-macosx.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,252 +0,0 @@
-#
-# Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code 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
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-#
-# Definitions for Bsd.
-#
-
-# Default for COMPILER_WARNINGS_FATAL on Bsd (C & C++ compiler warnings)
-ifndef COMPILER_WARNINGS_FATAL
-  COMPILER_WARNINGS_FATAL=false
-endif
-
-# Bsd should use parallel compilation for best build times
-ifndef COMPILE_APPROACH
-  COMPILE_APPROACH = parallel
-endif
-
-# Indication that we are doing an incremental build.
-#    This may trigger the creation of make depend files.
-ifndef INCREMENTAL_BUILD
-  INCREMENTAL_BUILD = false
-endif
-
-# FullPath just makes sure it never ends with a / and no duplicates
-define FullPath
-$(shell cd $1 2> $(DEV_NULL) && pwd)
-endef
-
-# OptFullPath: Absolute path name of a dir that might not initially exist.
-define OptFullPath
-$(shell if [ "$1" != "" -a -d "$1" ]; then (cd $1 && pwd); else echo "$1"; fi)
-endef
-
-# Location on system where jdk installs might be
-USRJDKINSTANCES_PATH = $(PACKAGE_PATH)
-
-# UNIXCOMMAND_PATH: path to where the most common Unix commands are.
-#  NOTE: Must end with / so that it could be empty, allowing PATH usage.
-ifneq "$(origin ALT_UNIXCOMMAND_PATH)" "undefined"
-  UNIXCOMMAND_PATH :=$(call PrefixPath,$(ALT_UNIXCOMMAND_PATH))
-else
-  UNIXCOMMAND_PATH  = /bin/
-endif
-
-# USRBIN_PATH: path to where the most common Unix commands are.
-#  NOTE: Must end with / so that it could be empty, allowing PATH usage.
-ifneq "$(origin ALT_USRBIN_PATH)" "undefined"
-  USRBIN_PATH :=$(call PrefixPath,$(ALT_USRBIN_PATH))
-else
-  USRBIN_PATH  = /usr/bin/
-endif
-
-# UNIXCCS_PATH: path to where the Solaris ported UNIX commands can be found
-#  NOTE: Must end with / so that it could be empty, allowing PATH usage.
-ifneq "$(origin ALT_UNIXCCS_PATH)" "undefined"
-  UNIXCCS_PATH :=$(call PrefixPath,$(ALT_UNIXCCS_PATH))
-else
-  UNIXCCS_PATH = /usr/ccs/bin/
-endif
-
-# SLASH_JAVA: location of all network accessable files
-ifdef ALT_SLASH_JAVA
-  SLASH_JAVA  :=$(ALT_SLASH_JAVA)
-else
-  SLASH_JAVA  := $(call DirExists,/java,/java,/NOT-SET)
-endif
-
-# JDK_DEVTOOLS_DIR: common path for all the java devtools
-ifdef ALT_JDK_DEVTOOLS_DIR
-  JDK_DEVTOOLS_DIR  =$(ALT_JDK_DEVTOOLS_DIR)
-else
-  JDK_DEVTOOLS_DIR =$(SLASH_JAVA)/devtools
-endif
-
-# COMPILER_PATH: path to where the compiler and tools are installed.
-#  NOTE: Must end with / so that it could be empty, allowing PATH usage.
-ifneq "$(origin ALT_COMPILER_PATH)" "undefined"
-  COMPILER_PATH :=$(call PrefixPath,$(ALT_COMPILER_PATH))
-else
- ifeq ($(OS_VENDOR), Apple)
-  ifndef DEVELOPER_DIR
-   DEVELOPER_DIR = $(shell /usr/bin/xcode-select -print-path)/usr/bin/
-  endif
-  
-  COMPILER_PATH  := $(call DirExists,$(DEVELOPER_DIR),/usr/bin/,/NOT-SET)
- else
-  COMPILER_PATH  =/usr/bin/
- endif
-endif
-
-# OPENWIN_HOME: path to where the X11 environment is installed.
-#  NOTE: Must end with / so that it could be empty, allowing PATH usage.
-ifneq ($(ALT_OPENWIN_HOME),)
-  OPENWIN_HOME :=$(call PrefixPath,$(ALT_OPENWIN_HOME))
-else
-  OPENWIN_HOME  ?=$(X11_PATH)
-endif
-
-# DEVTOOLS_PATH: for other tools required for building (such as zip, etc.)
-#  NOTE: Must end with / so that it could be empty, allowing PATH usage.
-ifneq "$(origin ALT_DEVTOOLS_PATH)" "undefined"
-  DEVTOOLS_PATH :=$(call PrefixPath,$(ALT_DEVTOOLS_PATH))
-else
-  DEVTOOLS_PATH =$(PACKAGE_PATH)/bin/
-endif
-
-# _BOOTDIR1: First choice for a Bootstrap JDK, previous released JDK.
-# _BOOTDIR2: Second choice
-ifndef ALT_BOOTDIR
-  _BOOTDIR1  =$(SLASH_JAVA)/re/jdk/$(PREVIOUS_JDK_VERSION)/archive/fcs/binaries/$(PLATFORM)-$(ARCH)
-  _BOOTDIR2  =$(USRJDKINSTANCES_PATH)/jdk$(PREVIOUS_JDK_VERSION)
-endif
-
-# Always build headless on Bsd
-BUILD_HEADLESS = true
-LIBM=-lm
-
-ifeq ($(OS_VENDOR), Apple)
-  _CUPS_HEADERS_PATH=/usr/include
-else
-  _CUPS_HEADERS_PATH=$(PACKAGE_PATH)/include
-endif
-
-# Import JDK images allow for partial builds, components not built are
-#    imported (or copied from) these import areas when needed.
-
-# BUILD_JDK_IMPORT_PATH: location of JDK install trees to import for 
-#   multiple platforms, e.g. windows-i586, solaris-sparc, bsd-586, etc.
-ifdef ALT_BUILD_JDK_IMPORT_PATH
-  BUILD_JDK_IMPORT_PATH  :=$(call FullPath,$(ALT_BUILD_JDK_IMPORT_PATH))
-else
-  BUILD_JDK_IMPORT_PATH   = $(PROMOTED_BUILD_BINARIES)
-endif
-BUILD_JDK_IMPORT_PATH:=$(call AltCheckValue,BUILD_JDK_IMPORT_PATH)
-
-# JDK_IMPORT_PATH: location of JDK install tree (this version) to import
-ifdef ALT_JDK_IMPORT_PATH
-  JDK_IMPORT_PATH  :=$(call FullPath,$(ALT_JDK_IMPORT_PATH))
-else
-  JDK_IMPORT_PATH   = $(BUILD_JDK_IMPORT_PATH)/$(PLATFORM)-$(ARCH)$(_JDK_IMPORT_VARIANT)
-endif
-JDK_IMPORT_PATH:=$(call AltCheckValue,JDK_IMPORT_PATH)
-
-# HOTSPOT_IMPORT_PATH: location of hotspot pre-built files
-ifdef ALT_HOTSPOT_IMPORT_PATH
-  HOTSPOT_IMPORT_PATH :=$(call FullPath,$(ALT_HOTSPOT_IMPORT_PATH))
-else
-  HOTSPOT_IMPORT_PATH ?=$(JDK_IMPORT_PATH)
-endif
-HOTSPOT_IMPORT_PATH:=$(call AltCheckValue,HOTSPOT_IMPORT_PATH)
-
-# HOTSPOT_CLIENT_PATH: location of client jvm library file.
-ifeq ($(ARCH_DATA_MODEL), 32)
-  ifdef ALT_HOTSPOT_CLIENT_PATH
-    HOTSPOT_CLIENT_PATH :=$(call FullPath,$(ALT_HOTSPOT_CLIENT_PATH))
-  else
-    HOTSPOT_CLIENT_PATH   =$(HOTSPOT_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/client
-  endif
-  HOTSPOT_CLIENT_PATH:=$(call AltCheckValue,HOTSPOT_CLIENT_PATH)
-endif
-
-# HOTSPOT_SERVER_PATH: location of server jvm library file.
-ifdef ALT_HOTSPOT_SERVER_PATH
-  HOTSPOT_SERVER_PATH :=$(call FullPath,$(ALT_HOTSPOT_SERVER_PATH))
-else
-  HOTSPOT_SERVER_PATH   =$(HOTSPOT_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/server
-endif
-HOTSPOT_SERVER_PATH:=$(call AltCheckValue,HOTSPOT_SERVER_PATH)
-
-# Special define for checking the binaries
-
-# Debug builds should downgrade warnings to just info
-MAPFILE_WARNING-DBG=INFO
-MAPFILE_WARNING-OPT=WARNING
-MAPFILE_WARNING-=WARNING
-MAPFILE_WARNING=$(MAPFILE_WARNING-$(VARIANT))
-
-# Macro to check it's input file for banned dependencies and verify the
-#   binary built properly. Relies on process exit code.
-ifndef CROSS_COMPILE_ARCH
-ifeq ($(OS_VENDOR), Apple)
-define binary_file_verification # binary_file
-( \
-  $(ECHO) "Checking for mapfile use in: $1" && \
-  if [ "`$(NM) -g $1 | $(EGREP) 'SUNWprivate'`" = "" ] ; then \
-    $(ECHO) "WARNING: File was not built with a mapfile: $1"; \
-  fi && \
-  $(ECHO) "Library loads for: $1" && \
-  $(OTOOL) -L $1 && \
-  $(ECHO) "RUNPATH for: $1" && \
-  ( $(OTOOL) -l $1 | $(EGREP) 'path ' ) \
-) || true
-endef
-else
-ifeq ($(OS_VENDOR), OpenBSD)
-define binary_file_verification # binary_file
-( \
-  $(ECHO) "Checking for mapfile use in: $1" && \
-  if [ "`$(OBJDUMP) -T $1 | $(EGREP) '[0-9a-f]* g *DF \.text.*SUNWprivate'`" = "" ] ; then \
-    $(ECHO) "$(MAPFILE_WARNING): File was not built with a mapfile: $1"; \
-  fi && \
-  $(ECHO) "Library loads for: $1" && \
-  $(LDD) $1 && \
-  $(ECHO) "RUNPATH for: $1" && \
-  ( $(READELF) -d $1 | $(EGREP) 'NEEDED|RUNPATH|RPATH' ) \
-) || true
-endef
-else
-define binary_file_verification # binary_file
-( \
-  $(ECHO) "Checking for mapfile use in: $1" && \
-  if [ "`$(NM) -D -g --defined-only $1 | $(EGREP) 'SUNWprivate'`" = "" ] ; then \
-    $(ECHO) "$(MAPFILE_WARNING): File was not built with a mapfile: $1"; \
-  fi && \
-  $(ECHO) "Library loads for: $1" && \
-  $(LDD) $1 && \
-  $(ECHO) "RUNPATH for: $1" && \
-  ( $(READELF) -d $1 | $(EGREP) 'NEEDED|RUNPATH|RPATH' ) \
-)
-endef
-endif # OS_VENDOR == OpenBSD
-endif # OS_VENDOR == Apple
-else
-define binary_file_verification 
-( \
-  $(ECHO) "Skipping binary file verification for cross-compile build" \
-)
-endef
-endif
-
--- a/makefiles/common/shared/Defs-solaris.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,239 +0,0 @@
-#
-# Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code 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
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-#
-# Definitions for Solaris.
-#
-
-# Default for COMPILER_WARNINGS_FATAL on Solaris (C & C++ compiler warnings)
-ifndef COMPILER_WARNINGS_FATAL
-  COMPILER_WARNINGS_FATAL=false
-endif
-
-# Solaris should use parallel compilation for best build times
-ifndef COMPILE_APPROACH
-  COMPILE_APPROACH = parallel
-endif
-
-# Indication that we are doing an incremental build.
-#    This may trigger the creation of make depend files.
-ifndef INCREMENTAL_BUILD
-  INCREMENTAL_BUILD = false
-endif
-
-# FullPath just makes sure it never ends with a / and no duplicates
-define FullPath
-$(shell cd $1 2> $(DEV_NULL) && pwd)
-endef
-
-# OptFullPath: Absolute path name of a dir that might not initially exist.
-define OptFullPath
-$(shell if [ "$1" != "" -a -d "$1" ]; then (cd $1 && pwd); else echo "$1"; fi)
-endef
-
-# Location on system where jdk installs might be
-USRJDKINSTANCES_PATH =/usr/jdk/instances
-
-# UNIXCOMMAND_PATH: path to where the most common Unix commands are.
-#  NOTE: Must end with / so that it could be empty, allowing PATH usage.
-ifneq "$(origin ALT_UNIXCOMMAND_PATH)" "undefined"
-  UNIXCOMMAND_PATH :=$(call PrefixPath,$(ALT_UNIXCOMMAND_PATH))
-else
-  UNIXCOMMAND_PATH  = /usr/bin/
-endif
-
-# UNIXCCS_PATH: path to where the less common UNIX commands can be found
-#  NOTE: Must end with / so that it could be empty, allowing PATH usage.
-ifneq "$(origin ALT_UNIXCCS_PATH)" "undefined"
-  UNIXCCS_PATH :=$(call PrefixPath,$(ALT_UNIXCCS_PATH))
-else
-  UNIXCCS_PATH = /usr/ccs/bin/
-endif
-
-# SLASH_JAVA: location of all network accessable files
-ifdef ALT_SLASH_JAVA
-  SLASH_JAVA  :=$(ALT_SLASH_JAVA)
-else
-  SLASH_JAVA  := $(call DirExists,/java,/java,/NOT-SET)
-endif
-
-# JDK_DEVTOOLS_DIR: common path for all the java devtools
-ifdef ALT_JDK_DEVTOOLS_DIR
-  JDK_DEVTOOLS_DIR  =$(ALT_JDK_DEVTOOLS_DIR)
-else
-  JDK_DEVTOOLS_DIR =$(SLASH_JAVA)/devtools
-endif
-
-# COMPILER_PATH: path to where the compiler and tools are installed.
-#  NOTE: Must end with / so that it could be empty, allowing PATH usage.
-ifneq "$(origin ALT_COMPILER_PATH)" "undefined"
-  COMPILER_PATH :=$(call PrefixPath,$(ALT_COMPILER_PATH))
-else
-  # If the place where we keep a set of Sun Studio compilers doesn't exist,
-  #  try and use /opt/SUNWspro, the default location for the SS compilers.
-  #  (DirExists checks for this path twice, an automount double check)
-  _SUNSTUDIO_SET_ROOT=$(JDK_DEVTOOLS_DIR)/$(ARCH_FAMILY)/SUNWspro
-  SUNSTUDIO_SET_ROOT:=$(call DirExists,$(_SUNSTUDIO_SET_ROOT),$(_SUNSTUDIO_SET_ROOT),)
-  ifneq ($(SUNSTUDIO_SET_ROOT),)
-    COMPILER_PATH =$(SUNSTUDIO_SET_ROOT)/$(REQUIRED_COMPILER_VERSION)/bin/
-  else
-    COMPILER_PATH =/opt/SUNWspro/bin/
-  endif
-endif
-
-# DEVTOOLS_PATH: for other tools required for building (such as zip, etc.)
-#  NOTE: Must end with / so that it could be empty, allowing PATH usage.
-ifneq "$(origin ALT_DEVTOOLS_PATH)" "undefined"
-  DEVTOOLS_PATH :=$(call PrefixPath,$(ALT_DEVTOOLS_PATH))
-else
-  ifdef ALT_JDK_DEVTOOLS_DIR
-    DEVTOOLS_PATH =$(JDK_DEVTOOLS_DIR)/$(ARCH_FAMILY)/bin/
-  else
-    ifdef OPENJDK
-      DEVTOOLS_PATH = /usr/bin/
-    else
-      DEVTOOLS_PATH =$(JDK_DEVTOOLS_DIR)/$(ARCH_FAMILY)/bin/
-    endif
-  endif
-endif
-
-# _BOOTDIR1: First choice for a Bootstrap JDK, previous released JDK.
-# _BOOTDIR2: Second choice
-ifndef ALT_BOOTDIR
-  _BOOTDIR1  =$(SLASH_JAVA)/re/jdk/$(PREVIOUS_JDK_VERSION)/archive/fcs/binaries/$(PLATFORM)-$(ARCH)
-  _BOOTDIR2  =$(USRJDKINSTANCES_PATH)/jdk$(PREVIOUS_JDK_VERSION)
-endif
-
-# GCC_COMPILER_PATH: path to where the gcc/g++ compiler and tools are installed
-#  NOTE: Must end with / so that it could be empty, allowing PATH usage.
-ifneq "$(origin ALT_GCC_COMPILER_PATH)" "undefined"
-  GCC_COMPILER_PATH :=$(call PrefixPath,$(ALT_GCC_COMPILER_PATH))
-else
-  GCC_COMPILER_PATH = $(JDK_DEVTOOLS_DIR)/$(ARCH_FAMILY)/gnucc/bin/
-endif
-
-
-# Always build headless on Solaris
-BUILD_HEADLESS = true
-
-_CUPS_HEADERS_PATH=/opt/sfw/cups/include
-
-# Import JDK images allow for partial builds, components not built are
-#    imported (or copied from) these import areas when needed.
-
-# BUILD_JDK_IMPORT_PATH: location of JDK install trees to import for 
-#   multiple platforms, e.g. windows-i586, solaris-sparc, linux-586, etc.
-ifdef ALT_BUILD_JDK_IMPORT_PATH
-  BUILD_JDK_IMPORT_PATH  :=$(call FullPath,$(ALT_BUILD_JDK_IMPORT_PATH))
-else
-  BUILD_JDK_IMPORT_PATH   = $(PROMOTED_BUILD_BINARIES)
-endif
-
-# JDK_IMPORT_PATH: location of previously built JDK (this version) to import
-ifdef ALT_JDK_IMPORT_PATH
-  JDK_IMPORT_PATH  :=$(call FullPath,$(ALT_JDK_IMPORT_PATH))
-else
-  JDK_IMPORT_PATH   = $(BUILD_JDK_IMPORT_PATH)/$(PLATFORM)-$(ARCH)$(_JDK_IMPORT_VARIANT)
-endif
-
-# HOTSPOT_IMPORT_PATH: location of hotspot pre-built files
-ifdef ALT_HOTSPOT_IMPORT_PATH
-  HOTSPOT_IMPORT_PATH :=$(call FullPath,$(ALT_HOTSPOT_IMPORT_PATH))
-else
-  HOTSPOT_IMPORT_PATH ?=$(JDK_IMPORT_PATH)
-endif
-
-# HOTSPOT_CLIENT_PATH: location of client jvm library file.
-ifeq ($(ARCH_DATA_MODEL), 32)
-  ifdef ALT_HOTSPOT_CLIENT_PATH
-    HOTSPOT_CLIENT_PATH :=$(call FullPath,$(ALT_HOTSPOT_CLIENT_PATH))
-  else
-    HOTSPOT_CLIENT_PATH   =$(HOTSPOT_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/client
-  endif
-endif
-
-# HOTSPOT_SERVER_PATH: location of server jvm library file.
-ifdef ALT_HOTSPOT_SERVER_PATH
-  HOTSPOT_SERVER_PATH :=$(call FullPath,$(ALT_HOTSPOT_SERVER_PATH))
-else
-  HOTSPOT_SERVER_PATH   =$(HOTSPOT_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/server
-endif
-
-# Special define for checking the binaries
-
-# Debug builds should downgrade warnings to just info
-MAPFILE_WARNING-DBG=INFO
-MAPFILE_WARNING-OPT=WARNING
-MAPFILE_WARNING-=WARNING
-MAPFILE_WARNING=$(MAPFILE_WARNING-$(VARIANT))
-
-# Some libraries do not have mapfiles for multiple reasons.
-#   These libraries for sparc and sparcv9 are exceptions to the mapfile rule:
-#     libjdgaSUNWafb.so
-#     libjdgaSUNWcg6.so
-#     libjdgaSUNWffb.so
-#     libjdgaSUNWm64.so
-#     libxinerama.so
-#   The library libJdbcOdbc.so has also been given an exception.
-#   The JNI/JVMTI demo libraries are also missing mapfiles, no exceptions yet.
-ifeq ($(ARCH_FAMILY),sparc)
-  MAPFILE_EXCEPTIONS = \
-    (libJdbcOdbc|libjdgaSUNWafb|libjdgaSUNWcg6|libjdgaSUNWffb|libjdgaSUNWm64|libxinerama)
-else
-  MAPFILE_EXCEPTIONS = (libJdbcOdbc)
-endif
-
-# Macro to check it's input file for banned dependencies and verify the
-#   binary built properly. Relies on process exit code.
-ifndef CROSS_COMPILE_ARCH
-ifneq (,$(DUMP))
-define binary_file_verification # binary_file
-( \
-  $(ECHO) "Checking for mapfile use in: $1" && \
-  if [ "`$(ECHO) $(basename $(notdir $1)) | $(EGREP) '$(MAPFILE_EXCEPTIONS)'`" = "" \
-       -a "`$(NM) -g -D $1 | $(EGREP) -v 'UNDEF' | $(EGREP) 'SUNWprivate'`" = "" ] ; then \
-    $(ECHO) "$(MAPFILE_WARNING): File was not built with a mapfile: $1"; \
-  fi && \
-  $(ECHO) "Library loads for: $1" && \
-  $(LDD) $1 && \
-  $(ECHO) "RUNPATH for: $1" && \
-  ( $(DUMP) -L -v $1 | $(EGREP) 'NEEDED|RUNPATH|RPATH' ) \
-)
-endef
-else
-define binary_file_verification 
-( \
-  $(ECHO) "Skipping binary file verification since no dump command found" \
-)
-endef
-endif
-else
-define binary_file_verification 
-( \
-  $(ECHO) "Skipping binary file verification for cross-compile build" \
-)
-endef
-endif
-
--- a/makefiles/common/shared/Defs-versions.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,215 +0,0 @@
-#
-# Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code 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
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-#
-# WARNING: This file is shared with other workspaces.
-#
-
-# This file needs these set: PLATFORM, ARCH_FAMILY, and ARCH_DATA_MODEL.
-
-# Windows uses Microsoft compilers by default
-ifeq ($(PLATFORM), windows)
-  override CC_VERSION = msvc
-endif
-
-# Solaris uses Sun Studio compilers by default
-ifeq ($(PLATFORM), solaris)
-  override CC_VERSION = sun
-endif
-
-# Linux uses GNU compilers by default
-ifeq ($(PLATFORM), linux)
-  override CC_VERSION = gcc
-endif
-
-# Mac OS X uses LLVM by default
-ifeq ($(PLATFORM), macosx)
-  override CC_VERSION = llvm
-endif
-
-##########################################################################
-#
-# List of JDK official minimum, expected, or required versions:
-#
-# REQUIRED_ALSA_VERSION
-#   Linux only: The ALSA sound library version expected.
-#
-# REQUIRED_ANT_VER
-#   The minimum 'ant' version.
-#
-# REQUIRED_BOOT_VER
-#   The minimum boot jdk version.
-#
-# REQUIRED_CC_VER
-#   The primary C compiler version expected.
-#
-# REQUIRED_COMPILER_NAME
-#   The long descriptive name of the compiler we should use
-#
-# REQUIRED_COMPILER_VERSION
-#   The one word name that identifies the compilers being used.
-#
-# REQUIRED_CYGWIN_VER
-#   Windows only: If CYGWIN is used, the minimum CYGWIN version.
-#
-# REQUIRED_DXSDK_VER
-#   Windows only: The version of DirectX SDK expected.
-#
-# REQUIRED_FREETYPE_VERSION
-#   If we are using freetype, the freetype version expected.
-#
-# REQUIRED_GCC_VER
-#   Solaris and Linux only. The required version of gcc/g++ for the legacy OJI plugin.
-#
-# REQUIRED_LINK_VER
-#   Windows only: The version of link.exe expected.
-#
-# REQUIRED_MAKE_VER
-#   The minimum version of GNU make.
-#
-# REQUIRED_MKS_VER
-#   Windows only: If MKS used instead of CYGWIN, the minimum version of MKS.
-#
-# REQUIRED_OS_VARIANT_NAME
-#   The OS variation name required.
-#     Solaris: Solaris or OpenSolaris
-#     Windows: Windows2000, WindowsXP, Windows2003, etc.
-#     Linux: Fedora, RedHat, SuSE, Ubuntu, etc.
-#
-# REQUIRED_OS_VARIANT_VERSION
-#   The version number associated with the above OS variant name.
-#     Solaris: output of uname -r
-#     Windows: 5.0 for Windows2000, 5.1 for WindowsXP, 5.2 for Windows2003, etc.
-#     Linux: number for the variant, e.g. 9 for Fedora 9
-#
-# REQUIRED_OS_VERSION
-#   The formal OS version number.
-#     Solaris & Windows: same as REQUIRED_OS_VARIANT_VERSION
-#     Linux: the kernel version, or output of uname -r
-#
-# REQUIRED_UNZIP_VER
-#   The minimum version of unzip.
-#
-# REQUIRED_ZIP_VER
-#   The minimum version of unzip.
-#
-###########
-#
-# Differences in the build platform from these versions may trigger warnings
-#   messages during the sanity checking when building the JDK.
-#
-# When building the OpenJDK most of these required or expected  versions are 
-#  ignored or allowed to vary widely to accomodate the many build situations
-#  of the OpenJDK.
-#
-##########################################################################
-
-# Solaris specific
-ifeq ($(PLATFORM), solaris)
-  REQUIRED_OS_NAME            = SunOS
-  REQUIRED_OS_VERSION         = 5.10
-  REQUIRED_OS_VARIANT_NAME    = Solaris
-  REQUIRED_OS_VARIANT_VERSION = $(REQUIRED_OS_VERSION)
-  REQUIRED_COMPILER_NAME      = Sun Studio 12 Update 1
-  REQUIRED_COMPILER_VERSION   = SS12u1
-  # Cross-compilation compiler versions are target specific
-  # so don't set a required version if cross-compiling
-  ifndef CROSS_COMPILE_ARCH
-    ifeq ($(CC_VERSION),sun)
-      REQUIRED_CC_VER           = 5.10
-    endif
-    ifeq ($(CC_VERSION),gcc)
-      REQUIRED_CC_VER           = 3.4.3
-    endif
-  endif
-  REQUIRED_GCC_VER            = 2.95.2
-endif
-
-# Linux specific
-ifeq ($(PLATFORM), linux)
-  REQUIRED_OS_NAME            = Linux
-  REQUIRED_OS_VERSION         = 2.6
-  REQUIRED_OS_VARIANT_NAME    = Fedora
-  REQUIRED_OS_VARIANT_VERSION = 9
-  REQUIRED_ALSA_VERSION       = 0.9.1
-  REQUIRED_COMPILER_NAME      = GCC4
-  REQUIRED_COMPILER_VERSION   = GCC4
-  REQUIRED_GCC_VER            = 2.95
-  # Cross-compilation compiler versions are target specific
-  # so don't set a required version if cross-compiling
-  ifndef CROSS_COMPILE_ARCH
-    ifeq ($(CC_VERSION),gcc)
-      REQUIRED_CC_VER           = 4.3.0
-    endif
-    ifeq ($(CC_VERSION),sun)
-      REQUIRED_CC_VER           = 5.10
-    endif
-  endif
-endif
-
-# Mac specific
-ifeq ($(PLATFORM), macosx)
-  REQUIRED_OS_NAME            = Darwin
-  REQUIRED_OS_VERSION         = 11.2
-  REQUIRED_OS_VARIANT_NAME    = MacOSX
-  REQUIRED_OS_VARIANT_VERSION = 10.7.2
-  REQUIRED_COMPILER_NAME      = GCC4
-  REQUIRED_COMPILER_VERSION   = GCC4
-  REQUIRED_CC_VER             = 4.2.1
-endif
-
-# Windows specific
-ifeq ($(PLATFORM), windows)
-  REQUIRED_OS_NAME            = Windows
-  ifeq ($(ARCH_DATA_MODEL),64)
-    REQUIRED_OS_VERSION       = 5.2
-    REQUIRED_OS_VARIANT_NAME  = Windows2003
-  else
-    REQUIRED_OS_VERSION       = 5.1
-    REQUIRED_OS_VARIANT_NAME  = WindowsXP
-  endif
-  REQUIRED_OS_VARIANT_VERSION = $(REQUIRED_OS_VERSION)
-  REQUIRED_CYGWIN_VER         = 4.0
-  REQUIRED_MKS_VER            = 6.1
-  REQUIRED_DXSDK_VER          = 0x0900
-  ifeq ($(CC_VERSION),msvc)
-    REQUIRED_COMPILER_NAME    = Visual Studio 10
-    REQUIRED_COMPILER_VERSION = VS2010
-    REQUIRED_CC_VER           = 16.00.30319.01
-    REQUIRED_LINK_VER         = 10.00.30319.01
-  endif
-  ifeq ($(CC_VERSION),gcc)
-    REQUIRED_CC_VER           = 3.4.3
-  endif
-endif
-
-# Generic
-REQUIRED_ANT_VER          = 1.7.1
-REQUIRED_BOOT_VER         = 1.7
-REQUIRED_FREETYPE_VERSION = 2.3.0
-REQUIRED_MAKE_VER         = 3.81
-REQUIRED_UNZIP_VER        = 5.12
-REQUIRED_ZIP_VER          = 2.2
-
--- a/makefiles/common/shared/Defs-windows.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,696 +0,0 @@
-#
-# Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code 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
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-#
-# Definitions for Windows.
-#
-
-# Default for COMPILER_WARNINGS_FATAL on Windows (C++ compiler warnings)
-#    Level: Default is 3, 0 means none, 4 is the most but may be unreliable
-#    Some makefiles may have set this to 0 to turn off warnings completely,
-#    which also effectively creates a COMPILER_WARNINGS_FATAL=false situation.
-#    Program.gmk may turn this down to 2 (building .exe's).
-#    Windows 64bit platforms are less likely to be warning free.
-#    Historically, Windows 32bit builds should be mostly warning free.
-#    VS2010 introduced a large number of security warnings that are off by
-#    default but will be turned back on with SHOW_ALL_WARNINGS=true.
-ifndef COMPILER_WARNING_LEVEL
-  COMPILER_WARNING_LEVEL=3
-endif
-ifndef COMPILER_WARNINGS_FATAL
-  COMPILER_WARNINGS_FATAL=false
-endif
-ifndef SHOW_ALL_WARNINGS
-  SHOW_ALL_WARNINGS = false
-endif
-
-# Windows should use parallel compilation for best build times
-ifndef COMPILE_APPROACH
-  COMPILE_APPROACH = normal
-endif
-
-# Indication that we are doing an incremental build.
-#    This may trigger the creation of make depend files.
-#    (This may not be working on windows yet, always force to false.)
-override INCREMENTAL_BUILD = false
-
-# WARNING: This is extremely touch stuff, between CYGWIN vs. MKS and all
-#          variations of MKS and CYGWIN releases, and 32bit vs 64bit,
-#          this file can give you nightmares.
-#
-# Notes:
-#   Keep all paths in the windows "mixed" style except CYGWIN UNXIXCOMMAND_PATH.
-#   Use of PrefixPath is critical, some variables must end with / (see NOTE).
-#   Use of quotes is critical due to possible spaces in paths coming from
-#     the environment variables, be careful.
-#   First convert \ to / with subst, keep it quoted due to blanks, then
-#     use cygpath -s or dosname -s to get the short non-blank name.
-#   If the MKS is old and doesn't have a dosname -s, you will be forced
-#     to set ALT variables with the short non-space directory names.
-#     If dosname doesn't appear to work, we won't use it.
-#     The dosname utility also wants to accept stdin if it is not supplied
-#     any path on the command line, this is really dangerous when using
-#     make variables that can easily become empty, so I use:
-#        echo $1 | dosname -s     instead of    dosname -s $1
-#     to prevent dosname from hanging up the make process when $1 is empty.
-#     The cygpath utility does not have this problem.
-#   The ALT values should never really have spaces or use \.
-#   Suspect these environment variables to have spaces and/or \ characters:
-#     SYSTEMROOT, SystemRoot, WINDIR, windir, PROGRAMFILES, ProgramFiles,
-#     DXSDK_DIR, MSTOOLS, Mstools, MSSDK, MSSdk, VCnnCOMNTOOLS, 
-#     MSVCDIR, MSVCDir.
-#     So use $(subst \,/,) on them first adding quotes and placing them in
-#         their own variable assigned with :=, then use FullPath.
-#
-
-ifdef USING_CYGWIN
-# Macro to effectively do a toupper without an exec
-define ToUpper
-$(subst a,A,$(subst b,B,$(subst c,C,$(subst d,D,$(subst e,E,$(subst f,F,\
-$(subst g,G,$(subst h,H,$(subst i,I,$(subst j,J,$(subst k,K,$(subst l,L,\
-$(subst m,M,$(subst n,N,$(subst o,O,$(subst p,P,$(subst q,Q,$(subst r,R,\
-$(subst s,S,$(subst t,T,$(subst u,U,$(subst v,V,$(subst w,W,$(subst x,X,\
-$(subst y,Y,$(subst z,Z,$1))))))))))))))))))))))))))
-endef
-# All possible drive letters
-drives=a b c d e f g h i j k l m n o p q r s t v u w x y z
-# Convert /cygdrive/ paths to the mixed style without an exec of cygpath
-#   Must be a path with no spaces. /cygdrive/letter is always lowercase
-#   and letter:/ is always uppercase coming from cygpath.
-define MixedPath
-$(patsubst /%,$(CYGWIN_HOME)/%,$(sort $(filter-out /cygdrive/%,$(foreach drive,$(drives),$(patsubst /cygdrive/$(drive)/%,$(call ToUpper,$(drive)):/%,$1)))))
-endef
-# Use FullPath to get C:/ style non-spaces path. Never ends with a /!
-# We assume cygpath is available in the search path
-#    NOTE: Use of 'pwd' with CYGWIN will not get you a mixed style path!
-define FullPath
-$(if $(word 2,$1),$(shell $(CYGPATH_CMD) $1 2> $(DEV_NULL)),$(call MixedPath,$(realpath $(subst ",,$1))))
-endef
-define OptFullPath
-$(shell if [ "$1" != "" -a -d "$1" ]; then $(CYGPATH_CMD) "$1" 2> $(DEV_NULL); else echo "$1"; fi)
-endef
-else
-# Temporary until we upgrade to MKS 8.7, MKS pwd returns mixed mode path
-define FullPath
-$(shell cd $1 2> $(DEV_NULL) && pwd)
-endef
-define OptFullPath
-$(shell if [ "$1" != "" -a -d "$1" ]; then (cd $1 && pwd); else echo "$1"; fi)
-endef
-endif
-
-# System drive
-ifdef SYSTEMDRIVE
-  _system_drive =$(SYSTEMDRIVE)
-else
-  ifdef SystemDrive
-    _system_drive =$(SystemDrive)
-  endif
-endif
-_system_drive:=$(call CheckValue,_system_drive,C:)
-
-# UNIXCOMMAND_PATH: path to where the most common Unix commands are.
-#  NOTE: Must end with / so that it could be empty, allowing PATH usage.
-#        With cygwin, just use this as is don't use FullPath on it.
-ifdef ALT_UNIXCOMMAND_PATH
-  ifdef USING_CYGWIN
-    UNIXCOMMAND_PATH       :=$(call PrefixPath,$(ALT_UNIXCOMMAND_PATH))
-  else
-    xALT_UNIXCOMMAND_PATH  :="$(subst \,/,$(ALT_UNIXCOMMAND_PATH))"
-    fxALT_UNIXCOMMAND_PATH :=$(call FullPath,$(xALT_UNIXCOMMAND_PATH))
-    UNIXCOMMAND_PATH       :=$(call PrefixPath,$(fxALT_UNIXCOMMAND_PATH))
-  endif
-else
-  ifdef USING_CYGWIN
-    UNIXCOMMAND_PATH :=$(call PrefixPath,/usr/bin)
-  else
-    ifdef ROOTDIR
-      xROOTDIR :="$(subst \,/,$(ROOTDIR))"
-      _rootdir :=$(call FullPath,$(xROOTDIR))
-    else
-      xROOTDIR :="$(_system_drive)/mksnt"
-      _rootdir :=$(call FullPath,$(xROOTDIR))
-    endif
-    ifneq ($(_rootdir),)
-      UNIXCOMMAND_PATH :=$(call PrefixPath,$(_rootdir)/mksnt)
-    endif
-  endif
-endif
-UNIXCOMMAND_PATH:=$(call AltCheckSpaces,UNIXCOMMAND_PATH)
-
-# Get version of MKS or CYGWIN
-ifndef USING_CYGWIN
-_MKS_VER :=$(shell $(MKSINFO) 2>&1 | $(GREP) Release | $(TAIL) -1 | $(SED) -e 's@.*\(Release.*\)@\1@')
-MKS_VER  :=$(call GetVersion,$(_MKS_VER))
-# At this point, we can re-define FullPath to use DOSNAME_CMD
-CHECK_MKS87:=$(call CheckVersions,$(MKS_VER),8.7)
-TRY_DOSNAME:=false
-ifeq ($(CHECK_MKS87),same)
-TRY_DOSNAME:=true
-endif
-# Newer should be ok
-ifeq ($(CHECK_MKS87),newer)
-TRY_DOSNAME:=true
-endif
-ifeq ($(TRY_DOSNAME),true)
-ifeq ($(shell $(UNIXCOMMAND_PATH)dosname -s $(_system_drive)/ 2> $(DEV_NULL)),$(_system_drive)/)
-_DOSNAME=$(UNIXCOMMAND_PATH)dosname
-DOSNAME_CMD:=$(_DOSNAME) -s
-define FullPath
-$(subst //,/,$(shell echo $1 | $(DOSNAME_CMD) 2> $(DEV_NULL)))
-endef
-endif # test dosname -s
-endif # TRY_DOSNAME
-endif # MKS
-
-# We try to get references to what we need via the default component
-#    environment variables, or what was used historically.
-
-# Process Windows values into FullPath values, these paths may have \ chars
-
-# System root
-ifdef SYSTEMROOT
-  xSYSTEMROOT  :="$(subst \,/,$(SYSTEMROOT))"
-  _system_root :=$(call FullPath,$(xSYSTEMROOT))
-else
-  ifdef SystemRoot
-     xSYSTEMROOT :="$(subst \,/,$(SystemRoot))"
-    _system_root :=$(call FullPath,$(xSYSTEMROOT))
-  else
-    ifdef WINDIR
-      xWINDIR      :="$(subst \,/,$(WINDIR))"
-      _system_root :=$(call FullPath,$(xWINDIR))
-    else
-      ifdef windir
-        xWINDIR      :="$(subst \,/,$(windir))"
-        _system_root :=$(call FullPath,$(xWINDIR))
-      endif
-    endif
-  endif
-endif
-_system_root:=$(call CheckValue,_system_root,$(_system_drive)/WINNT)
-
-# Program Files directory
-ifdef PROGRAMFILES
-  xPROGRAMFILES      :="$(subst \,/,$(PROGRAMFILES))"
-else
-  ifeq ($(ARCH_DATA_MODEL), 32)
-    xPROGRAMFILES    :="$(_system_drive)/Program Files"
-  else
-    xPROGRAMFILES    :="$(_system_drive)/Program Files (x86)"
-  endif
-endif
-ifeq ($(ARCH_DATA_MODEL), 32)
-  _program_files     :=$(call FullPath,$(xPROGRAMFILES))
-  _program_files32   :=$(_program_files)
-else
-  ifdef PROGRAMW6432
-    xPROGRAMW6432    :="$(subst \,/,$(PROGRAMW6432))"
-  else
-    xPROGRAMW6432    :="$(_system_drive)/Program Files"
-  endif
-  _program_files     :=$(call FullPath,$(xPROGRAMW6432))
-  _program_files32   :=$(call FullPath,$(xPROGRAMFILES))
-  ifneq ($(word 1,$(_program_files32)),$(_program_files32))
-    _program_files32:=
-  endif
-endif
-ifneq ($(word 1,$(_program_files)),$(_program_files))
-  _program_files:=
-endif
-
-# DirectX SDK
-ifdef ALT_DXSDK_DRIVE
-  _dx_sdk_dir  =$(ALT_DXSDK_DRIVE):/DXSDK
-else
-  ifdef DXSDK_DIR
-    xDXSDK_DIR  :="$(subst \,/,$(DXSDK_DIR))"
-  else
-    xDXSDK_DIR  :="$(_system_drive)/DXSDK"
-  endif
-  _dx_sdk_dir :=$(call FullPath,$(xDXSDK_DIR))
-endif
-
-# Use of the Visual Studio compilers requires certain env variables be set:
-#   PATH should include the path to cl.exe
-#   INCLUDE should be defined
-#   LIB     should be defined
-#   LIBPATH should be defined
-#   VS100COMNTOOLS should be defined
-#   WINDOWSSDKDIR should be defined
-#     The 7.0a path is from VS2010 Pro, the 7.1 path is the standalone SDK.
-#     For 64bit either will work for us.
-#     If a developer chooses to install the standalone SDK in some other
-#     location, then they need to set WINDOWSSDKDIR.
-#
-# Compilers for 64bit may be from the free SDK, or Visual Studio Professional.
-#   The free Express compilers don't contain 64 bit compilers, which is why
-#   you instead need the SDK.
-#   Release enginering will use VS2010 Pro, so the frequency of testing of
-#     SDK based builds will depend entirely on individual usage.
-
-# We only need to do this once
-ifndef VS2010_EXISTS
-  # The 2 key paths we need are WINDOWSSDKDIR and VS100COMNTOOLS.
-  #   If not defined try to see if default location exists.
-  #   If defined make sure that the path has no spaces.
-  #   Finally, export path with no spaces so logic minimizes FullPath calls.
-  ifndef WINDOWSSDKDIR
-    # The 7.0a SDK is the second choice.
-    xWINDOWSSDKDIR :="$(_program_files32)/Microsoft SDKs/Windows/v7.0a/"
-    fWINDOWSSDKDIR :=$(call FullPath,$(xWINDOWSSDKDIR))
-    # The 7.1 SDK is the second choice.
-    ifeq ($(fWINDOWSSDKDIR),)
-      xWINDOWSSDKDIR :="$(_program_files32)/Microsoft SDKs/Windows/v7.1/"
-      fWINDOWSSDKDIR :=$(call FullPath,$(xWINDOWSSDKDIR))
-    endif
-  else
-    ifneq ($(word 2,$(WINDOWSSDKDIR)),)
-      xWINDOWSSDKDIR :="$(subst \,/,$(WINDOWSSDKDIR))"
-      fWINDOWSSDKDIR :=$(call FullPath,$(xWINDOWSSDKDIR))
-    else
-      fWINDOWSSDKDIR :=$(WINDOWSSDKDIR)
-    endif
-  endif
-  ifneq ($(fWINDOWSSDKDIR),)
-    WINDOWSSDKDIR  :=$(fWINDOWSSDKDIR)/
-  endif
-  ifndef VS100COMNTOOLS
-    xVS100COMNTOOLS :="$(_program_files32)/Microsoft Visual Studio 10.0/Common7/Tools/"
-    fVS100COMNTOOLS :=$(call FullPath,$(xVS100COMNTOOLS))
-  else
-    xVS100COMNTOOLS :="$(subst \,/,$(VS100COMNTOOLS))"
-    ifneq ($(word 2,$(VS100COMNTOOLS)),)
-      fVS100COMNTOOLS :=$(call FullPath,$(xVS100COMNTOOLS))
-    else
-      fVS100COMNTOOLS :=$(xVS100COMNTOOLS)
-    endif
-  endif
-  ifneq ($(fVS100COMNTOOLS),)
-    VS100COMNTOOLS :=$(fVS100COMNTOOLS)/
-  endif
-  # Check to see that both exist
-  ifeq ($(WINDOWSSDKDIR),)
-    _vs2010_message := No WINDOWSSDKDIR found on system. $(_vs2010_message)
-    VS2010_EXISTS   := false
-  endif
-  ifeq ($(VS100COMNTOOLS),)
-    _vs2010_message := No VS100COMNTOOLS found on system. $(_vs2010_message)
-    VS2010_EXISTS   := false
-  endif
-  ifeq ($(VS2010_EXISTS),false)
-    x:=$(warning WARNING: No VS2010 available. $(_vs2010_message))
-    VS100COMNTOOLS :=
-    WINDOWSSDKDIR  :=
-  else
-    VS2010_EXISTS := true
-    _msvc_dir     :=$(VS100COMNTOOLS)/../../Vc
-  endif
-  export VS2010_EXISTS
-  export VS100COMNTOOLS
-  export WINDOWSSDKDIR
-endif
-
-ifneq ($(VS2010_EXISTS),true)
-  x:=$(error ERROR: No VS2010 found on system.)
-endif 
-
-# VS2010 Compiler root directory
-_msvc_dir :=$(VS100COMNTOOLS)/../../Vc
-# SDK root directory
-_ms_sdk   :=$(WINDOWSSDKDIR)
-# Compiler bin directory and redist directory
-ifeq ($(ARCH_DATA_MODEL), 32)
-  _compiler_bin :=$(_msvc_dir)/Bin
-  _redist_sdk   :=$(call FullPath,$(_msvc_dir)/redist/x86/Microsoft.VC100.CRT)
-endif
-ifeq ($(ARCH_DATA_MODEL), 64)
-  _compiler_bin :=$(_msvc_dir)/bin/amd64
-  _redist_sdk   :=$(call FullPath,$(_msvc_dir)/redist/x64/Microsoft.VC100.CRT)
-endif
-ifeq ($(_redist_sdk),)
-  _redist_sdk   :=$(_system_root)/system32
-endif
-
-# Location on system where jdk installs might be
-ifneq ($(_program_files),)
-  USRJDKINSTANCES_PATH =$(_program_files)/Java
-else
-  USRJDKINSTANCES_PATH =$(_system_drive)/
-endif
-
-# SLASH_JAVA: location of all network accessable files
-# NOTE: Do not use FullPath on this because it's often a drive letter and
-#       plain drive letters are ambiguous, so just use this 'as is'.
-ifdef ALT_SLASH_JAVA
-  xALT_SLASH_JAVA :="$(subst \,/,$(ALT_SLASH_JAVA))"
-  SLASH_JAVA      :=$(xALT_SLASH_JAVA)
-else
-  ifdef ALT_JDK_JAVA_DRIVE
-    SLASH_JAVA  =$(JDK_JAVA_DRIVE)
-  else
-    SLASH_JAVA  =J:
-  endif
-endif
-#SLASH_JAVA:=$(call AltCheckSpaces,SLASH_JAVA)
-
-# JDK_DEVTOOLS_DIR: common path for all the java devtools
-ifdef ALT_JDK_DEVTOOLS_DIR
-  xALT_JDK_DEVTOOLS_DIR :="$(subst \,/,$(ALT_JDK_DEVTOOLS_DIR))"
-  JDK_DEVTOOLS_DIR      :=$(call FullPath,$(xALT_JDK_DEVTOOLS_DIR))
-else
-  JDK_DEVTOOLS_DIR =$(SLASH_JAVA)/devtools
-endif
-JDK_DEVTOOLS_DIR:=$(call AltCheckSpaces,JDK_DEVTOOLS_DIR)
-
-# COMPILER_PATH: path to where the compiler and tools are installed.
-#  NOTE: Must end with / so that it could be empty, allowing PATH usage.
-ifdef ALT_COMPILER_PATH
-  xALT_COMPILER_PATH  :="$(subst \,/,$(ALT_COMPILER_PATH))"
-  fxALT_COMPILER_PATH :=$(call FullPath,$(xALT_COMPILER_PATH))
-  COMPILER_PATH       :=$(call PrefixPath,$(fxALT_COMPILER_PATH))
-else
-  COMPILER_PATH :=$(call PrefixPath,$(_compiler_bin))
-endif
-COMPILER_PATH :=$(call AltCheckSpaces,COMPILER_PATH)
-
-# MSDEVTOOLS_PATH: path to where the additional MS Compiler tools are.
-#  NOTE: Must end with / so that it could be empty, allowing PATH usage.
-ifdef ALT_MSDEVTOOLS_PATH
-  xALT_MSDEVTOOLS_PATH  :="$(subst \,/,$(ALT_MSDEVTOOLS_PATH))"
-  fxALT_MSDEVTOOLS_PATH :=$(call FullPath,$(xALT_MSDEVTOOLS_PATH))
-  MSDEVTOOLS_PATH       :=$(call PrefixPath,$(fxALT_MSDEVTOOLS_PATH))
-else
-  ifeq ($(ARCH_DATA_MODEL), 64)
-    ifdef MSTOOLS
-      xMSTOOLS  :="$(subst \,/,$(MSTOOLS))"
-      _ms_tools :=$(call FullPath,$(xMSTOOLS))
-    else
-      ifdef Mstools
-        xMSTOOLS  :="$(subst \,/,$(Mstools))"
-        _ms_tools :=$(call FullPath,$(xMSTOOLS))
-      else
-        _ms_tools :=
-      endif
-    endif
-    ifneq ($(_ms_tools),)
-      _ms_tools_bin :=$(_ms_tools)/Bin
-    else
-      # Assumes compiler bin is .../Bin/win64/x86/AMD64, rc.exe is 3 levels up
-      _ms_tools_bin :=$(_compiler_bin)/../../..
-    endif
-  else
-    _ms_tools_bin :=$(_compiler_bin)
-  endif
-  MSDEVTOOLS_PATH :=$(call PrefixPath,$(_ms_tools_bin))
-endif
-MSDEVTOOLS_PATH:=$(call AltCheckSpaces,MSDEVTOOLS_PATH)
-
-# DEVTOOLS_PATH: for other tools required for building (such as zip, etc.)
-#  NOTE: Must end with / so that it could be empty, allowing PATH usage.
-ifdef ALT_DEVTOOLS_PATH
-  xALT_DEVTOOLS_PATH  :="$(subst \,/,$(ALT_DEVTOOLS_PATH))"
-  fxALT_DEVTOOLS_PATH :=$(call FullPath,$(xALT_DEVTOOLS_PATH))
-  DEVTOOLS_PATH       :=$(call PrefixPath,$(fxALT_DEVTOOLS_PATH))
-else
-  ifdef USING_CYGWIN
-    DEVTOOLS_PATH :=$(UNIXCOMMAND_PATH)
-  else
-    xDEVTOOLS_PATH  :="$(_system_drive)/utils"
-    fxDEVTOOLS_PATH :=$(call FullPath,$(xDEVTOOLS_PATH))
-    DEVTOOLS_PATH  :=$(call PrefixPath,$(fxDEVTOOLS_PATH))
-  endif
-endif
-DEVTOOLS_PATH:=$(call AltCheckSpaces,DEVTOOLS_PATH)
-
-# _BOOTDIR1: First choice for a Bootstrap JDK, previous released JDK.
-# _BOOTDIR2: Second choice
-# The _BOOTDIR3 is defind optionally.
-ifndef ALT_BOOTDIR
-  _BOOTDIR1  =$(_system_drive)/jdk$(PREVIOUS_JDK_VERSION)
-  _BOOTDIR2  =$(USRJDKINSTANCES_PATH)/jdk$(PREVIOUS_JDK_VERSION)
-  _BOOTDIR3  =$(SLASH_JAVA)/re/jdk/$(PREVIOUS_JDK_VERSION)/archive/fcs/binaries/$(PLATFORM)-$(ARCH)
-endif
-
-# Everybody needs the MSVCRNN runtime starting with VS2010
-_NEEDS_MSVCRNN = true
-
-ifeq ($(_NEEDS_MSVCRNN), true)
-  # MSVCRNN_DLL_PATH: location of msvcrnn.dll that will be re-distributed
-  ifdef ALT_MSVCRNN_DLL_PATH
-    xALT_MSVCRNN_DLL_PATH :="$(subst \,/,$(ALT_MSVCRNN_DLL_PATH))"
-    MSVCRNN_DLL_PATH      :=$(call FullPath,$(xALT_MSVCRNN_DLL_PATH))
-  else
-    MSVCRNN_DLL_PATH :=$(_redist_sdk)
-  endif
-  MSVCRNN_DLL_PATH :=$(call AltCheckSpaces,MSVCRNN_DLL_PATH)
-endif
-
-# DXSDK_PATH: path to Microsoft DirectX SDK Include and Lib
-ifdef ALT_DXSDK_PATH
-  xALT_DXSDK_PATH :="$(subst \,/,$(ALT_DXSDK_PATH))"
-  DXSDK_PATH      :=$(call FullPath,$(xALT_DXSDK_PATH))
-else
-  _DXSDK_PATH1 :=$(_dx_sdk_dir)
-  _DXSDK_PATH2 :=$(JDK_DEVTOOLS_DIR)/windows/dxsdk
-  DXSDK_PATH  :=$(call DirExists,$(_DXSDK_PATH1),$(_DXSDK_PATH2),$(_dx_sdk_dir))
-endif
-DXSDK_PATH :=$(call AltCheckSpaces,DXSDK_PATH)
-
-# DXSDK_INCLUDE_PATH: path to Microsoft DirectX SDK Include
-ifdef ALT_DXSDK_INCLUDE_PATH
-  xALT_DXSDK_INCLUDE_PATH :="$(subst \,/,$(ALT_DXSDK_INCLUDE_PATH))"
-  DXSDK_INCLUDE_PATH      :=$(call FullPath,$(xALT_DXSDK_INCLUDE_PATH))
-else
-  DXSDK_INCLUDE_PATH =$(subst //,/,$(DXSDK_PATH)/Include)
-endif
-
-# DXSDK_LIB_PATH: path to Microsoft DirectX SDK Lib
-ifdef ALT_DXSDK_LIB_PATH
-  xALT_DXSDK_LIB_PATH :="$(subst \,/,$(ALT_DXSDK_LIB_PATH))"
-  DXSDK_LIB_PATH      :=$(call FullPath,$(xALT_DXSDK_LIB_PATH))
-else
-  ifeq ($(ARCH_DATA_MODEL), 64)
-    # 64bit libs are located in "Lib/x64" subdir
-    DXSDK_LIB_PATH =$(subst //,/,$(DXSDK_PATH)/Lib/x64)
-  else
-    DXSDK_LIB_PATH =$(subst //,/,$(DXSDK_PATH)/Lib)
-  endif
-endif
-
-# DEPLOY_MSSDK: Microsoft SDK for this platform (for deploy)
-ifdef ALT_DEPLOY_MSSDK
-  xALT_DEPLOY_MSSDK :="$(subst \,/,$(ALT_DEPLOY_MSSDK))"
-  DEPLOY_MSSDK      :=$(call FullPath,$(xALT_DEPLOY_MSSDK))
-else
-  DEPLOY_MSSDK      :=$(_ms_sdk)
-endif
-DEPLOY_MSSDK:=$(call AltCheckSpaces,DEPLOY_MSSDK)
-
-# INSTALL_MSSDK: Microsoft Installer SDK for this platform (for install)
-ifdef ALT_INSTALL_MSSDK
-  xALT_INSTALL_MSSDK :="$(subst \,/,$(ALT_INSTALL_MSSDK))"
-  INSTALL_MSSDK      :=$(call FullPath,$(xALT_INSTALL_MSSDK))
-else
-  INSTALL_MSSDK      :=$(_ms_sdk)
-endif
-INSTALL_MSSDK:=$(call AltCheckSpaces,INSTALL_MSSDK)
-
-# WSCRIPT: path to wscript.exe (used in creating install bundles)
-ifdef ALT_WSCRIPT
-  xALT_WSCRIPT :="$(subst \,/,$(ALT_WSCRIPT))"
-  WSCRIPT  =$(xALT_WSCRIPT)
-else
-  _WSCRIPT1 :=$(_system_root)/system32/wscript.exe
-  _WSCRIPT2 :=$(DEVTOOLS_PATH)wscript.exe
-  WSCRIPT  :=$(call FileExists,$(_WSCRIPT1),$(_WSCRIPT2))
-endif
-WSCRIPT:=$(call AltCheckSpaces,WSCRIPT)
-# batch mode no modal dialogs on errors, please.
-WSCRIPT += -B
-
-# CSCRIPT: path to cscript.exe (used in creating install bundles)
-ifdef ALT_CSCRIPT
-  xALT_CSCRIPT :="$(subst \,/,$(ALT_CSCRIPT))"
-  CSCRIPT  =$(xALT_CSCRIPT)
-else
-  _CSCRIPT1 :=$(_system_root)/system32/cscript.exe
-  _CSCRIPT2 :=$(DEVTOOLS_PATH)cscript.exe
-  CSCRIPT  :=$(call FileExists,$(_CSCRIPT1),$(_CSCRIPT2))
-endif
-CSCRIPT:=$(call AltCheckSpaces,CSCRIPT)
-
-# CABARC: path to cabarc.exe (used in creating install bundles)
-ifdef ALT_CABARC
-  xALT_CABARC :="$(subst \,/,$(ALT_CABARC))"
-  CABARC  =$(xALT_CABARC)
-else
-  _CABARC1 :=$(_system_root)/system32/cabarc.exe
-  _CABARC2 :=$(DEVTOOLS_PATH)cabarc.exe
-  CABARC  :=$(call FileExists,$(_CABARC1),$(_CABARC2))
-endif
-CABARC:=$(call AltCheckSpaces,CABARC)
-
-# MSICERT: path to msicert.exe (used in creating install bundles)
-ifdef ALT_MSICERT
-  xALT_MSICERT :="$(subst \,/,$(ALT_MSICERT))"
-  MSICERT  =$(xALT_MSICERT)
-else
-  _MSICERT1 :=$(INSTALL_MSSDK)/Bin/msicert.exe
-  _MSICERT2 :=$(DEVTOOLS_PATH)msicert.exe
-  MSICERT   :=$(call FileExists,$(_MSICERT1),$(_MSICERT2))
-endif
-MSICERT:=$(call AltCheckSpaces,MSICERT)
-
-# Import JDK images allow for partial builds, components not built are
-#    imported (or copied from) these import areas when needed.
-
-# BUILD_JDK_IMPORT_PATH: location of JDK install trees to import for
-#   multiple platforms, e.g. windows-i586, solaris-sparc, linux-586, etc.
-ifdef ALT_BUILD_JDK_IMPORT_PATH
-  BUILD_JDK_IMPORT_PATH  :=$(call FullPath,$(ALT_BUILD_JDK_IMPORT_PATH))
-else
-  BUILD_JDK_IMPORT_PATH   = $(PROMOTED_BUILD_BINARIES)
-endif
-BUILD_JDK_IMPORT_PATH:=$(call AltCheckSpaces,BUILD_JDK_IMPORT_PATH)
-
-# JDK_IMPORT_PATH: location of previously built JDK (this version) to import
-ifdef ALT_JDK_IMPORT_PATH
-  JDK_IMPORT_PATH  :=$(call FullPath,$(ALT_JDK_IMPORT_PATH))
-else
-  JDK_IMPORT_PATH   = $(BUILD_JDK_IMPORT_PATH)/$(PLATFORM)-$(ARCH)$(_JDK_IMPORT_VARIANT)
-endif
-JDK_IMPORT_PATH:=$(call AltCheckSpaces,JDK_IMPORT_PATH)
-
-# HOTSPOT_CLIENT_PATH: location of client jvm library file.
-ifeq ($(ARCH_DATA_MODEL), 32)
-  ifdef ALT_HOTSPOT_CLIENT_PATH
-    HOTSPOT_CLIENT_PATH :=$(call FullPath,$(ALT_HOTSPOT_CLIENT_PATH))
-  else
-    HOTSPOT_CLIENT_PATH   =$(HOTSPOT_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/client
-  endif
-  HOTSPOT_CLIENT_PATH:=$(call AltCheckSpaces,HOTSPOT_CLIENT_PATH)
-endif
-
-# HOTSPOT_SERVER_PATH: location of server jvm library file.
-ifdef ALT_HOTSPOT_SERVER_PATH
-  HOTSPOT_SERVER_PATH :=$(call FullPath,$(ALT_HOTSPOT_SERVER_PATH))
-else
-  HOTSPOT_SERVER_PATH   =$(HOTSPOT_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/server
-endif
-HOTSPOT_SERVER_PATH:=$(call AltCheckSpaces,HOTSPOT_SERVER_PATH)
-
-# HOTSPOT_LIB_PATH: location of jvm.lib file.
-ifdef ALT_HOTSPOT_LIB_PATH
-  xALT_HOTSPOT_LIB_PATH :="$(subst \,/,$(ALT_HOTSPOT_LIB_PATH))"
-  HOTSPOT_LIB_PATH      :=$(call FullPath,$(xALT_HOTSPOT_LIB_PATH))
-else
-  HOTSPOT_LIB_PATH  =$(HOTSPOT_IMPORT_PATH)/lib
-endif
-HOTSPOT_LIB_PATH:=$(call AltCheckSpaces,HOTSPOT_LIB_PATH)
-
-# Special define for checking the binaries
-
-# All windows dll and exe files should have been built with /NXCOMPAT
-#   and be setup for dynamic base addresses.
-#   In addition, we should not be dependent on certain dll files that
-#   we do not or cannot redistribute.
-
-# List of filenames we should NOT be dependent on
-ifeq ($(MFC_DEBUG),true)
-  BANNED_DLLS=msvcp100[.]dll
-else
-  BANNED_DLLS=msvcp100[.]dll|msvcr100d[.]dll|msvcrtd[.]dll
-endif
-
-# Check for /safeseh (only used on 32bit)
-define binary_file_safeseh_verification # binary_file
-( \
-  $(ECHO) "Checking for /SAFESEH usage in: $1" && \
-  if [ "`$(DUMPBIN) /loadconfig $1 | $(EGREP) -i 'Safe Exception Handler Table'`" = "" ] ; then \
-    $(ECHO) "ERROR: Did not find 'Safe Exception Handler Table' in loadconfig: $1" ; \
-    $(DUMPBIN) /loadconfig $1 ; \
-    exit 6 ; \
-  fi ; \
-)
-endef
-
-# Check for /NXCOMPAT usage
-define binary_file_nxcompat_verification # binary_file
-( \
-  $(ECHO) "Checking for /NXCOMPAT usage in: $1" && \
-  if [ "`$(DUMPBIN) /headers $1 | $(EGREP) -i 'NX compatible'`" = "" ] ; then \
-    $(ECHO) "ERROR: Did not find 'NX compatible' in headers: $1" ; \
-    $(DUMPBIN) /headers $1 ; \
-    exit 7 ; \
-  fi ; \
-)
-endef
-
-# Check for /DYNAMICBASE usage
-define binary_file_dynamicbase_verification # binary_file
-( \
-  $(ECHO) "Checking for /DYNAMICBASE usage in: $1" && \
-  if [ "`$(DUMPBIN) /headers $1 | $(EGREP) -i 'Dynamic base'`" = "" ] ; then \
-    $(ECHO) "ERROR: Did not find 'Dynamic base' in headers: $1" ; \
-    $(DUMPBIN) /headers $1 ; \
-    exit 8 ; \
-  fi ; \
-)
-endef
-
-# Check for banned dll usage
-define binary_file_dll_verification # binary_file
-( \
-  $(ECHO) "Checking for banned dependencies in: $1" && \
-  if [ "`$(DUMPBIN) /dependents $1 | $(EGREP) -i '$(BANNED_DLLS)'`" != "" ] ; then \
-    $(ECHO) "ERROR: Found use of $(BANNED_DLLS)"; \
-    $(DUMPBIN) /dependents $1 ; \
-    exit 9 ; \
-  fi ; \
-)
-endef
-
-# Macro to check it's input file for properly built executables.
-#   Relies on process exit code. Different for 32bit vs 64bit.
-ifeq ($(ARCH_DATA_MODEL),32)
-define binary_file_verification # binary_file
-( \
-  $(call binary_file_safeseh_verification,$1); \
-  $(call binary_file_nxcompat_verification,$1); \
-  $(call binary_file_dynamicbase_verification,$1); \
-  $(call binary_file_dll_verification,$1); \
-)
-endef
-else
-define binary_file_verification # binary_file
-( \
-  $(call binary_file_nxcompat_verification,$1); \
-  $(call binary_file_dynamicbase_verification,$1); \
-  $(call binary_file_dll_verification,$1); \
-)
-endef
-endif
-
--- a/makefiles/common/shared/Defs.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,662 +0,0 @@
-#
-# Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code 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
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-#
-# Definitions for all platforms.
-#
-# Normally the convention is that these alternate definitions of
-#   primary make variables are never defined inside the Makefiles anywhere
-#   but are defined via environment variables or set on the make command
-#   line. So you should never see an ALT_* variable defined in any
-#   makefiles, just used. This is the convention and there are some
-#   exceptions, either mistakes or unusual circumstances.
-#
-# The naming convention for the default value of one of these variables
-#   that has an ALT_* override capability is to name the default value with a
-#   leading underscore (_). So for XXX you would have:
-#      _XXX      default value
-#      ALT_XXX   any override the user is providing if any
-#      XXX       the final value, either the default _XXX or the ALT_XXX value.
-#
-
-# On Directory names. In very rare cases should the Windows directory
-#    names use the backslash, please use the C:/ style of windows paths.
-#    Avoid duplicating the // characters in paths, this has known to cause
-#    strange problems with jar and other utilities, e.g. /a//b/ != /a/b/.
-#    Some of these variables have an explicit trailing / character, but in
-#    general, they should NOT have the trailing / character.
-
--include $(SPEC)
--include $(VARS)
-
-# Assumes ARCH, PLATFORM, ARCH_VM_SUBDIR, JDK_TOPDIR, etc. have been defined.
-
-# Simple pwd path
-# NOTE: Just use the shell's cd and pwd here, more reliable at sanity time.
-define PwdPath
-$(shell cd $1 2> $(DEV_NULL) && pwd)
-endef
-define AbsPwdPathCheck
-$(shell cd .. 2> $(DEV_NULL) && cd $1 2> $(DEV_NULL) && pwd)
-endef
-
-# Checks an ALT value for spaces (should be one word), 
-#       warns and returns Check_ALT_$1 if spaces
-define AltCheckSpaces
-$(if $(word 2,$($1)),$(warning "WARNING: Value of $1 contains a space: '$($1)', check or set ALT_$1")Check_ALT_$1,$($1))
-endef
-
-# Checks an ALT value for empty, warns and returns Check_ALT_$1 if empty
-define AltCheckValue
-$(if $($1),$($1),$(warning "WARNING: Value of $1 cannot be empty, check or set ALT_$1")Check_ALT_$1)
-endef
-
-# Checks any value for empty, warns and returns $2 if empty
-define CheckValue
-$(if $($1),$($1),$(warning "WARNING: Value of $1 cannot be empty, will use '$2'")$2)
-endef
-
-# Prefix for a utility prefix path, if empty leave alone, otherwise end with a /
-define PrefixPath
-$(if $1,$(subst //,/,$1/),)
-endef
-
-# Select a directory if it exists, or the alternate 2 or the alternate 3
-define DirExists
-$(shell \
-  if [ -d "$1" ]; then  \
-    echo "$1"; \
-  elif [ -d "$2" ]; then \
-    echo "$2"; \
-  else \
-    echo "$3"; \
-  fi)
-endef
-
-# Select a directory if it exists, or the alternate 2, or the alternate 3, or the alternate 4
-define DirExists4
-$(shell \
-  if [ -d "$1" ]; then  \
-    echo "$1"; \
-  elif [ -d "$2" ]; then \
-    echo "$2"; \
-  elif [ -d "$3" ]; then \
-    echo "$3"; \
-  else \
-    echo "$4"; \
-  fi)
-endef
-
-
-# Select a writable directory if it exists and is writable, or the alternate
-define WriteDirExists
-$(shell \
-  if [ -d "$1" -a -w "$1" ]; then  \
-    echo "$1"; \
-  else \
-    echo "$2"; \
-  fi)
-endef
-
-# Select a file if it exists, or the alternate 1, or the alternate 2
-define FileExists
-$(shell \
-  if [ -r "$1" ]; then \
-    echo "$1"; \
-  elif [ -r "$2" ]; then \
-    echo "$2"; \
-  else \
-    echo "NO_FILE_EXISTS"; \
-  fi)
-endef
-
-# Given a line of text, get the version number from it
-define GetVersion
-$(shell echo $1 | sed -e 's@[^0-9]*\([0-9][0-9]*\.[0-9][.0-9]*\).*@\1@' )
-endef
-
-# Return one part of the version numbers, watch out for non digits.
-define VersionWord # Number Version
-$(word $1,$(subst ., ,$(subst -, ,$2)))
-endef
-
-# Given a major.minor.micro version, return the major, minor, or micro number
-define MajorVersion
-$(if $(call VersionWord,1,$1),$(call VersionWord,1,$1),0)
-endef
-define MinorVersion
-$(if $(call VersionWord,2,$1),$(call VersionWord,2,$1),0)
-endef
-define MicroVersion
-$(if $(call VersionWord,3,$1),$(call VersionWord,3,$1),0)
-endef
-
-# Macro that returns missing, same, newer, or older $1=version $2=required
-define CheckVersions
-$(shell \
-  if [ "$1" = "" -o "$2" = "" ]; then \
-    echo missing; \
-  elif [ "$1" = "$2" ]; then \
-    echo same; \
-  elif [ $(call MajorVersion,$1) -lt $(call MajorVersion,$2) ] ; then \
-    echo older; \
-  elif [ $(call MajorVersion,$1) -gt $(call MajorVersion,$2) ] ; then \
-    echo newer; \
-  elif [ $(call MinorVersion,$1) -lt $(call MinorVersion,$2) ]; then \
-    echo older; \
-  elif [ $(call MinorVersion,$1) -gt $(call MinorVersion,$2) ]; then \
-    echo newer; \
-  elif [ $(call MicroVersion,$1) -lt $(call MicroVersion,$2) ]; then \
-    echo older; \
-  elif [ $(call MicroVersion,$1) -gt $(call MicroVersion,$2) ]; then \
-    echo newer; \
-  else \
-    echo same; \
-  fi)
-endef
-
-# Expand SRCDIR_LIST, which is used to automatically include various
-# platform and shared sources/headers.  This is mainly useful for the
-# Mac OS X build, which pulls its platform sources from the solaris and/or
-# macosx trees, depending on the component.
-ifeq ($(PLATFORM), macosx)
-  define JavaSrcDirList
-  $(JAVA_SRCDIR_LIST:%=$1$(JDK_TOPDIR)/%/$2)
-  endef
-  define NativeSrcDirList
-  $(NATIVE_SRCDIR_LIST:%=$1$(JDK_TOPDIR)/%/$2)
-  endef
-endif
-
-# Make sure certain variables are non-empty at this point
-_check_values:=\
-$(call CheckValue,ARCH,),\
-$(call CheckValue,ARCH_DATA_MODEL,),\
-$(call CheckValue,ARCH_VM_SUBDIR,),\
-$(call CheckValue,JDK_TOPDIR,),\
-$(call CheckValue,JDK_MAKE_SHARED_DIR,),\
-$(call CheckValue,VARIANT,),\
-$(call CheckValue,PLATFORM,)
-
-# Misc common settings for all workspaces
-#   This determines the version of the product, and the previous version or boot
-ifndef JDK_MAJOR_VERSION
-  JDK_MAJOR_VERSION      = 1
-  PREVIOUS_MAJOR_VERSION = 1
-endif
-
-ifndef JDK_MINOR_VERSION
-  JDK_MINOR_VERSION      = 8
-  PREVIOUS_MINOR_VERSION = 7
-endif
-
-ifndef JDK_MICRO_VERSION
-  JDK_MICRO_VERSION      = 0
-  PREVIOUS_MICRO_VERSION = 0
-endif
-
-ifndef MILESTONE
-  MILESTONE = internal
-endif
-
-# Default names
-ifdef OPENJDK
-  LAUNCHER_NAME = openjdk
-  PRODUCT_NAME = OpenJDK
-  PRODUCT_SUFFIX = Runtime Environment
-  JDK_RC_PLATFORM_NAME = Platform
-  COMPANY_NAME = N/A
-else
-  LAUNCHER_NAME = java
-  PRODUCT_NAME = Java(TM)
-  PRODUCT_SUFFIX = SE Runtime Environment
-  JDK_RC_PLATFORM_NAME = Platform SE
-  COMPANY_NAME = Oracle Corporation
-endif
-
-RUNTIME_NAME = $(PRODUCT_NAME) $(PRODUCT_SUFFIX)
-
-ifndef BUILD_NUMBER
-  JDK_BUILD_NUMBER = b00
-else
-  ifndef JDK_BUILD_NUMBER
-    JDK_BUILD_NUMBER = $(BUILD_NUMBER)
-  endif
-endif
-
-# Default variant is the optimized version of everything
-#    can be OPT or DBG,  default is OPT
-#    Determine the extra pattern to add to the release name for debug/fastdebug.
-#    Determine the JDK_IMPORT_VARIANT, so we get the right VM files copied over.
-#    Determine suffix for obj directory or OBJDIR, for .o files.
-#    (by keeping .o files separate, just .o files, they don't clobber each
-#     other, however, the library files will clobber each other).
-#
-ifeq ($(VARIANT), DBG)
-  BUILD_VARIANT_RELEASE=-debug
-  OBJDIRNAME_SUFFIX=_g
-else
-  BUILD_VARIANT_RELEASE=
-  OBJDIRNAME_SUFFIX=
-endif
-ifeq ($(FASTDEBUG), true)
-  VARIANT=DBG
-  BUILD_VARIANT_RELEASE=-fastdebug
-  OBJDIRNAME_SUFFIX=_gO
-  _JDK_IMPORT_VARIANT=/fastdebug
-endif
-
-# Depending on the flavor of the build, add a -debug or -fastdebug to the name
-ifdef DEBUG_NAME
-  BUILD_VARIANT_RELEASE=-$(DEBUG_NAME)
-endif
-
-# These default values are redefined during a release build.
-#    CTE can set JDK_UPDATE_VERSION during the update release
-ifdef JDK_UPDATE_VERSION
-  JDK_VERSION  = $(JDK_MAJOR_VERSION).$(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION)_$(JDK_UPDATE_VERSION)
-  MARKETING_NUMBER := $(shell \
-	$(ECHO) $(JDK_UPDATE_VERSION) | $(NAWK) '{if (substr($$0,1,1)=="0") print substr($$0, 2); else print $$0;}')
-  MARKET_NAME= $(shell $(ECHO) " Update $(MARKETING_NUMBER)")
-  JDK_MKTG_VERSION  = $(JDK_MINOR_VERSION)u$(MARKETING_NUMBER)
-else
-  JDK_VERSION  = $(JDK_MAJOR_VERSION).$(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION)
-  JDK_MKTG_VERSION  = $(JDK_MINOR_VERSION)
-  MARKET_NAME=
-endif
-JDK_UNDERSCORE_VERSION =  $(subst .,_,$(JDK_VERSION))
-JDK_MKTG_UNDERSCORE_VERSION =  $(subst .,_,$(JDK_MKTG_VERSION))
-
-# RELEASE is JDK_VERSION and -MILESTONE if MILESTONE is set
-ifneq ($(MILESTONE),fcs)
-  RELEASE      = $(JDK_VERSION)-$(MILESTONE)$(BUILD_VARIANT_RELEASE)
-else
-  RELEASE      = $(JDK_VERSION)$(BUILD_VARIANT_RELEASE)
-endif
-
-# FULL_VERSION is RELEASE and -BUILD_NUMBER if BUILD_NUMBER is set
-ifdef BUILD_NUMBER
-  FULL_VERSION = $(RELEASE)-$(BUILD_NUMBER)
-else
-  BUILD_NUMBER = b00
-  ifndef USER_RELEASE_SUFFIX
-    BUILD_DATE := $(shell $(DATE) '+%Y_%m_%d_%H_%M')
-    # Avoid [:alnum:] since it depends on the locale.
-    CLEAN_USERNAME := $(shell $(ECHO) "$(USER)" | $(TR) -d -c 'abcdefghijklmnopqrstuvqxyz0123456789')
-    USER_RELEASE_SUFFIX := $(shell $(ECHO) "$(CLEAN_USERNAME)_$(BUILD_DATE)" | $(TR) 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvqxyz')
-  endif
-  export USER_RELEASE_SUFFIX
-  FULL_VERSION = $(RELEASE)-$(USER_RELEASE_SUFFIX)-$(BUILD_NUMBER)
-endif
-
-# Promoted build location
-PROMOTED_RE_AREA = $(SLASH_JAVA)/re/jdk/$(JDK_VERSION)/promoted
-PROMOTED_BUILD_LATEST = latest
-PROMOTED_BUILD_BASEDIR = $(PROMOTED_RE_AREA)/$(PROMOTED_BUILD_LATEST)
-PROMOTED_BUILD_DISTDIR = $(PROMOTED_BUILD_BASEDIR)/dist/$(PLATFORM)-$(ARCH)
-PROMOTED_BUILD_BINARIES = $(PROMOTED_BUILD_BASEDIR)/binaries
-
-# PARALLEL_COMPILE_JOBS: is the number of compiles done in parallel.
-#  If the user sets ALT_PARALLEL_COMPILE_JOBS, then COMPILE_APPROACH is set
-#  to parallel.
-#
-#  Recommended setting: 2 seems to be ideal for single cpu machines,
-#                       2 times the number of CPU's is a basic formula, 
-#                       but probably not more than 4 if the machine is 
-#                       being shared by others, or the machine is limited 
-#                       in RAM or swap.
-#
-ifdef ALT_PARALLEL_COMPILE_JOBS
-  PARALLEL_COMPILE_JOBS=$(ALT_PARALLEL_COMPILE_JOBS)
-else
-  PARALLEL_COMPILE_JOBS=2
-endif
-
-# Previous JDK release (version of BOOTDIR version)
-ifdef ALT_PREVIOUS_JDK_VERSION
-  PREVIOUS_JDK_VERSION = $(ALT_PREVIOUS_JDK_VERSION)
-else
-  PREVIOUS_JDK_VERSION  = $(PREVIOUS_MAJOR_VERSION).$(PREVIOUS_MINOR_VERSION).$(PREVIOUS_MICRO_VERSION)
-endif
-export PREVIOUS_JDK_VERSION
-PREVIOUS_JDK_VERSION:=$(call AltCheckSpaces,PREVIOUS_JDK_VERSION)
-
-# Version with _ instead of . in number
-ifeq ($(PREVIOUS_MINOR_VERSION),5)
-  PREVIOUS_JDK_UNDERSCORE_VERSION =  $(subst .,_,$(PREVIOUS_JDK_VERSION))
-else
-  PREVIOUS_JDK_UNDERSCORE_VERSION = $(PREVIOUS_MINOR_VERSION)
-endif
-
-# Include any private definitions for this set of workspaces
-_PRIVATE_DEFS_FILE=$(JDK_MAKE_SHARED_DIR)/PrivateDefs.gmk
-ifeq ($(USING_PRIVATE_DEFS),)
-  USING_PRIVATE_DEFS:=$(shell if [ -f $(_PRIVATE_DEFS_FILE) ]; then echo true; else echo false; fi)
-endif
-ifeq ($(USING_PRIVATE_DEFS),true)
-dummy:=$(warning "WARNING: Using definitions from $(_PRIVATE_DEFS_FILE)")
-include $(_PRIVATE_DEFS_FILE)
-endif
-
-# OUTPUTDIR: Location of all output for the build
-ifdef ALT_OUTPUTDIR
-  OUTPUTDIR:=$(subst \,/,$(ALT_OUTPUTDIR))
-  # Assumes this is absolute (checks later)
-  ABS_OUTPUTDIR:=$(OUTPUTDIR)
-else
-  ifndef _OUTPUTDIR
-    # Default:  Get "build" parent directory, which should always exist
-    ifndef BUILD_PARENT_DIRECTORY
-      BUILD_PARENT_DIRECTORY=$(BUILDDIR)/..
-    endif
-    ifdef OPENJDK
-      _OUTPUTDIRNAME=$(PLATFORM)-$(ARCH)$(OPENJDK_SUFFIX)
-    else
-      _OUTPUTDIRNAME=$(PLATFORM)-$(ARCH)
-    endif
-    _OUTPUTDIR=$(BUILD_PARENT_DIRECTORY)/build/$(_OUTPUTDIRNAME)
-  endif
-  OUTPUTDIR:=$(_OUTPUTDIR)
-endif
-# Check for spaces and null value
-OUTPUTDIR:=$(call AltCheckSpaces,OUTPUTDIR)
-
-# Get platform specific settings
-# NB: OUTPUTDIR must be defined. Otherwise hotspot import detection will not work correctly
-# On other hand this must be included early as it provides platform specific defines such as FullPath
-include $(JDK_MAKE_SHARED_DIR)/Defs-versions.gmk
-
-# Get platform specific settings (defines COMPILER_PATH)
-include $(JDK_MAKE_SHARED_DIR)/Defs-$(PLATFORM).gmk
-
-# Components
-ifdef ALT_LANGTOOLS_DIST
-  LANGTOOLS_DIST :=$(call FullPath,$(ALT_LANGTOOLS_DIST))
-else
-  LANGTOOLS_DIST =
-endif
-ifdef ALT_CORBA_DIST
-  CORBA_DIST :=$(call FullPath,$(ALT_CORBA_DIST))
-else
-  CORBA_DIST =
-endif
-ifdef ALT_JAXP_DIST
-  JAXP_DIST :=$(call FullPath,$(ALT_JAXP_DIST))
-else
-  JAXP_DIST =
-endif
-ifdef ALT_JAXWS_DIST
-  JAXWS_DIST :=$(call FullPath,$(ALT_JAXWS_DIST))
-else
-  JAXWS_DIST =
-endif
-
-# HOTSPOT_DOCS_IMPORT_PATH: Path to hotspot docs files to import into the docs generation
-ifdef ALT_HOTSPOT_DOCS_IMPORT_PATH
-  HOTSPOT_DOCS_IMPORT_PATH :=$(call FullPath,$(ALT_HOTSPOT_DOCS_IMPORT_PATH))
-else
-  HOTSPOT_DOCS_IMPORT_PATH :=$(call DirExists,$(HOTSPOT_IMPORT_PATH)/docs,$(PROMOTED_BUILD_BASEDIR)/docs,/NO_DOCS_DIR)
-endif
-
-# These are the same on all platforms but require the above platform include 1st
-
-# BOOTDIR: Bootstrap JDK, previous released JDK.
-#   _BOOTDIR1 and _BOOTDIR2 picked by platform
-#   Platform may optionally define _BOOTDIR3 as well.
-ifdef ALT_BOOTDIR
-  BOOTDIR =$(ALT_BOOTDIR)
-else
-  ifdef _BOOTDIR3
-    BOOTDIR  :=$(call DirExists4,$(_BOOTDIR1),$(_BOOTDIR2),$(_BOOTDIR3),/NO_BOOTDIR)
-  else
-    BOOTDIR  :=$(call DirExists,$(_BOOTDIR1),$(_BOOTDIR2),/NO_BOOTDIR)
-  endif
-endif
-export BOOTDIR
-BOOTDIR:=$(call AltCheckSpaces,BOOTDIR)
-
-# PREVIOUS_FCS_RE_AREA: re path to where previous release binaries/bundles are
-PREVIOUS_FCS_RE_AREA = $(SLASH_JAVA)/re/jdk/$(PREVIOUS_JDK_VERSION)/archive/fcs
-
-# PREVIOUS_RELEASE_IMAGE: Previous install image to compare against
-ifdef ALT_PREVIOUS_RELEASE_IMAGE
-  
-  # Explicit image provided, no bundle access needed
-  PREVIOUS_RELEASE_IMAGE :=$(call FullPath,$(ALT_PREVIOUS_RELEASE_IMAGE))
-
-else
-  
-  # PREVIOUS_RELEASE_PATH: path to where previous release bundles are
-  ifdef ALT_PREVIOUS_RELEASE_PATH
-    PREVIOUS_RELEASE_PATH :=$(call OptFullPath,$(ALT_PREVIOUS_RELEASE_PATH))
-  else
-    PREVIOUS_RELEASE_PATH := \
-	$(call DirExists,$(PREVIOUS_FCS_RE_AREA)/bundles/$(PLATFORM)-$(ARCH),,)
-  endif
-
-  # Depending on if we have access to these bundles
-  ifeq ($(PREVIOUS_RELEASE_PATH),)
-    # Use images in re area or BOOTDIR (which is normally the previous release)
-    PREVIOUS_RELEASE_IMAGE := \
-         $(call DirExists,$(PREVIOUS_FCS_RE_AREA)/binaries/$(PLATFORM)-$(ARCH),$(BOOTDIR),)
-  else
-    # Get names of and paths to bundles
-    PREVIOUS_RELEASE_PATH:=$(call AltCheckSpaces,PREVIOUS_RELEASE_PATH)
-    export PREVIOUS_RELEASE_PATH
-  
-    # PREVIOUS_JDK_FILE: filename of install bundle for previous JDK
-    ifdef ALT_PREVIOUS_JDK_FILE
-      PREVIOUS_JDK_FILE  =$(ALT_PREVIOUS_JDK_FILE)
-    else
-      PREVIOUS_JDK_FILE = \
-	  jdk-$(PREVIOUS_JDK_UNDERSCORE_VERSION)-$(PLATFORM)-$(ARCH)$(BUNDLE_FILE_SUFFIX)
-    endif
-    export PREVIOUS_JDK_FILE
-    PREVIOUS_JDK_FILE:=$(call AltCheckSpaces,PREVIOUS_JDK_FILE)
-
-    # PREVIOUS_JRE_FILE: filename of install bundle for previous JRE
-    ifdef ALT_PREVIOUS_JRE_FILE
-      PREVIOUS_JRE_FILE  =$(ALT_PREVIOUS_JRE_FILE)
-    else
-      PREVIOUS_JRE_FILE = \
-	  jre-$(PREVIOUS_JDK_UNDERSCORE_VERSION)-$(PLATFORM)-$(ARCH)$(BUNDLE_FILE_SUFFIX)
-    endif
-    export PREVIOUS_JRE_FILE
-    PREVIOUS_JRE_FILE:=$(call AltCheckSpaces,PREVIOUS_JRE_FILE)
-   
-    # Paths to these bundles
-    PREVIOUS_JRE_BUNDLE = $(PREVIOUS_RELEASE_PATH)/$(PREVIOUS_JRE_FILE)
-    PREVIOUS_JDK_BUNDLE = $(PREVIOUS_RELEASE_PATH)/$(PREVIOUS_JDK_FILE)
-  endif
-
-endif
-
-# Indicate we are using an image comparison
-ifneq ($(PREVIOUS_RELEASE_IMAGE),)
-    PREVIOUS_RELEASE_PATH = USING-PREVIOUS_RELEASE_IMAGE
-    PREVIOUS_JRE_BUNDLE   = USING-PREVIOUS_RELEASE_IMAGE
-    PREVIOUS_JDK_BUNDLE   = USING-PREVIOUS_RELEASE_IMAGE
-endif
-
-# CACERTS_FILE: if OPENJDK is false and the internal version of the file 
-#		(that is, non-empty) is available, use it, otherwise use an 
-#		empty keystore.
-#
-# We put this variable here for sanity checks and in case another
-# components will need to know which cacerts file is being used.
-#
-ifdef ALT_CACERTS_FILE
-  CACERTS_FILE = $(ALT_CACERTS_FILE)
-else
-  CACERTS_EXT   = $(SHARE_SRC)/lib/security/cacerts
-  ifdef OPENJDK
-    CACERTS_FILE  :=$(CACERTS_EXT)
-  else # (!OPENJDK)
-    CACERTS_INT   = $(CLOSED_SHARE_SRC)/lib/security/cacerts.internal
-    CACERTS_FILE  :=$(call FileExists,$(CACERTS_INT),$(CACERTS_EXT))
-  endif # (OPENJDK)
-endif
-CACERTS_FILE:=$(call AltCheckSpaces,CACERTS_FILE)
-
-#
-# When signing the JCE framework and provider, we could be using built
-# bits on a read-only filesystem.  If so, this test will fail and crash
-# the build.
-#
-ifndef IGNORE_WRITABLE_OUTPUTDIR_TEST
-# Create the output directory and make sure it exists and is writable
-_create_outputdir:=$(shell $(MKDIR) -p "$(OUTPUTDIR)" > $(DEV_NULL) 2>&1)
-ifeq ($(call WriteDirExists,$(OUTPUTDIR),/dev/null),/dev/null)
-  _outputdir_error:=$(error "ERROR: OUTPUTDIR '$(OUTPUTDIR)' not created or not writable")
-endif
-endif
-
-# Define absolute path if needed and check for spaces and null value
-ifndef ABS_OUTPUTDIR
-  ifdef _OUTPUTDIRNAME
-    #Could not define this at the same time as _OUTPUTDIRNAME as FullPath is not defined at that point
-    ABS_BUILD_PARENT_DIRECTORY:=$(call FullPath,$(BUILD_PARENT_DIRECTORY))
-    ABS_OUTPUTDIR:=$(ABS_BUILD_PARENT_DIRECTORY)/build/$(_OUTPUTDIRNAME)
-  else
-    ABS_OUTPUTDIR:=$(call FullPath,$(OUTPUTDIR))
-  endif
-endif
-ABS_OUTPUTDIR:=$(call AltCheckSpaces,ABS_OUTPUTDIR)
-# Make doubly sure this is a full path
-ifeq ($(call AbsPwdPathCheck,$(ABS_OUTPUTDIR)), )
-  ifdef ALT_OUTPUTDIR
-    _outputdir_error:=$(error "ERROR: Trouble with the absolute path for OUTPUTDIR '$(OUTPUTDIR)', was ALT_OUTPUTDIR '$(ALT_OUTPUTDIR)' an absolute path?")
-  else
-    _outputdir_error:=$(error "ERROR: Trouble with the absolute path for OUTPUTDIR '$(OUTPUTDIR)'")
-  endif
-endif
-_dir1:=$(call FullPath,$(ABS_OUTPUTDIR))
-_dir2:=$(call FullPath,$(OUTPUTDIR))
-ifneq ($(_dir1),$(_dir2))
-  _outputdir_error:=$(error "ERROR: ABS_OUTPUTDIR '$(ABS_OUTPUTDIR)' is not the same directory as OUTPUTDIR '$(OUTPUTDIR)', '$(_dir1)'!='$(_dir2)'")
-endif
-
-# Bin directory
-#   NOTE: ISA_DIR is usually empty, on Solaris it might be /sparcv9 or /amd64
-BINDIR      = $(OUTPUTDIR)/bin$(ISA_DIR)
-
-# MOZILLA_HEADERS_PATH: path to mozilla header files for plugin
-ifdef ALT_MOZILLA_HEADERS_PATH
-  MOZILLA_HEADERS_PATH :=$(call FullPath,$(ALT_MOZILLA_HEADERS_PATH))
-else
-  MOZILLA_HEADERS_PATH  =$(JDK_DEVTOOLS_DIR)/share/plugin
-endif
-MOZILLA_HEADERS_PATH:=$(call AltCheckSpaces,MOZILLA_HEADERS_PATH)
-
-# CUPS_HEADERS_PATH: path to Cups headers files for Unix printing
-#ifneq ($(PLATFORM), windows)
-#JDK_CUPS_HEADERS_PATH=$(JDK_DEVTOOLS_DIR)/share/cups/include
-#  ifdef ALT_CUPS_HEADERS_PATH
-#     CUPS_HEADERS_PATH:=$(call FullPath,$(ALT_CUPS_HEADERS_PATH))
-#     CUPS_HEADERS_PATH:=$(call AltCheckValue,CUPS_HEADERS_PATH)
-#  else 
-#    CUPS_HEADERS_PATH:= \
-#      $(shell if [ -d "$(JDK_CUPS_HEADERS_PATH)" ]; then \
-#        echo "$(JDK_CUPS_HEADERS_PATH)"; \
-#      else \
-#         echo "$(_CUPS_HEADERS_PATH)";\
-#      fi)
-#  endif
-#endif
-
-# Utilities ant
-ifeq ($(PLATFORM), windows)
-  ifeq ($(ANT_HOME),)
-    ANT_HOME := $(call DirExists,$(JDK_DEVTOOLS_DIR)/share/ant/latest,,)
-  endif
-endif
-
-# There are few problems with ant we need to workaround:
-#  1) ant is using temporary directory java.io.tmpdir
-#     However, this directory is not unique enough and two separate ant processes
-#     can easily end up using the exact same temp directory. This may lead to weird build failures
-#     To workaround this we will define tmp dir explicitly
-#  2) ant attempts to detect JDK location based on java.exe location
-#     This is fragile as developer may have JRE first on the PATH. 
-#     To workaround this we will specify JAVA_HOME explicitly
-
-ANT_TMPDIR = $(ABS_OUTPUTDIR)/tmp
-ANT_WORKAROUNDS = ANT_OPTS=-Djava.io.tmpdir='$(ANT_TMPDIR)' JAVA_HOME='$(BOOTDIR)'
-
-ifeq ($(ANT_HOME),)
-  ANT = $(ANT_WORKAROUNDS) ant
-else
-  ANT = $(ANT_WORKAROUNDS) $(ANT_HOME)/bin/ant
-endif
-
-ifdef ALT_COPYRIGHT_YEAR
-  COPYRIGHT_YEAR = $(ALT_COPYRIGHT_YEAR)
-else
-  COPYRIGHT_YEAR = $(shell $(DATE) '+%Y')
-endif
-
-# Create file with source information
-SOURCE_TIPS=$(ABS_OUTPUTDIR)/source_tips
-
-# The source tips can come from the Mercurial repository, or in the files
-#   $(HGTIP_FILENAME) which contains the tip but is also positioned in the same
-#   directory as the original $(HGDIR) directory.
-#   These should not be := assignments, only used from the root Makefile.
-HG_VERSION = $(shell $(HG) version 2> $(DEV_NULL))
-HG_DIRECTORY=.hg
-HGTIP_FILENAME=.hgtip
-HG_SEARCH = ./REPO ./*/REPO ./*/*/REPO ./*/*/*/REPO
-REPO_LIST = $(patsubst ./%,%,$(patsubst %/,%,$(sort $(dir \
-    $(shell ( $(LS) -d $(HG_SEARCH:%/REPO=%/$(HG_DIRECTORY)) ; \
-              $(LS)    $(HG_SEARCH:%/REPO=%/$(HGTIP_FILENAME)) ) \
-	        2> $(DEV_NULL))))))
-
-# Emit the repo:tip pairs to $@
-define GetSourceTips
-for i in $(REPO_LIST) IGNORE ; do \
-  if [ "$${i}" = "IGNORE" ] ; then \
-    continue; \
-  elif [ -d $${i}/$(HG_DIRECTORY) -a "$(HG_VERSION)" != "" ] ; then \
-    $(PRINTF) " %s:%s" \
-      "$${i}" `$(HG) tip --repository $${i} --template '{node|short}\n'` ; \
-  elif [ -f $${i}/$(HGTIP_FILENAME) ] ; then \
-    $(PRINTF) " %s:%s" \
-      "$${i}" `$(CAT) $${i}/$(HGTIP_FILENAME)` ; \
-  fi; \
-done >> $@
-$(PRINTF) "\n" >> $@
-endef
-
-# Create the HGTIP_FILENAME file
-define CreateHgTip
-$(HG) tip --repository $1 --template '{node|short}\n' > $1/$(HGTIP_FILENAME);\
-$(ECHO) $1/$(HGTIP_FILENAME)
-endef
-
-# Get the compiler specific settings (will run the compiler to find out)
-#   NOTE: COMPILER_PATH must be set by this time.
-#   Up until we include this file, we don't know what specific compiler
-#   version is actually being used (i.e. what is in PATH or COMPILER_PATH).
-include $(JDK_MAKE_SHARED_DIR)/Compiler-$(CC_VERSION).gmk
--- a/makefiles/common/shared/Platform.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,526 +0,0 @@
-#
-# Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code 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
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-#
-# Shared platform (OS/ARCH) variable settings for the JDK builds.
-#
-# Includes basic system requirements, versions of utilities required,
-#   suffixes on files, and basic defaults attributed to the build platform.
-#
-
-#
-# Assumes some basic unix system utilities (e.g. uname) are in the search path
-#   in order to figure out the system.
-#
-
-ifndef PLATFORM_SHARED
-
-PLATFORM_SHARED=done
-
-# Possible Input variables:
-#     ARCH_DATA_MODEL             32 or 64, default to 32
-#     USER, LOGNAME               user name (runs logname, or id if not set)
-#     PROCESSOR_IDENTIFIER        windows only: needed in environment
-#
-# (Also gets input by running the utilities uname, logname, isainfo, or id.)
-#
-# Variables set by this file:
-#     SYSTEM_UNAME                what 'uname' says this system is
-#     USER                        login name of user (minus blanks)
-#     PLATFORM                    windows, solaris, or linux
-#     VARIANT                     OPT or DBG, OPT is the default
-#     TEMP_DISK                   /tmp or C:/temp
-#     ARCH_DATA_MODEL             32 or 64
-#     ARCH                        sparc, sparcv9, i586, amd64, or ia64
-#     ARCH_FAMILY                 sparc or i586
-#     ARCHPROP                    sparc or x86
-#     ARCH_VM_SUBDIR              jre/bin, jre/lib/sparc, etc.
-#     LIBARCH                     sparc, sparcv9, i386, amd64, or ia64
-#     DEV_NULL                    destination of /dev/null, NUL or /dev/NULL
-#     CLASSPATH_SEPARATOR         separator in classpath, ; or :
-#     LIB_PREFIX                  dynamic or static library prefix, lib or empty
-#     LIB_SUFFIX                  static library file suffix, .lib or .a?
-#     LIBRARY_SUFFIX              dynamic library file suffix, .dll or .so
-#     OBJECT_SUFFIX               object file suffix, .o or .obj
-#     EXE_SUFFIX                  executable file suffix, .exe or empty
-#     BUNDLE_FILE_SUFFIX          suffix for bundles: .tar or .tar.gz
-#     ISA_DIR                     solaris only: /sparcv9 or /amd64
-#     LIBARCH32                   solaris only: sparc or i386
-#     LIBARCH64                   solaris only: sparcv9 or amd64
-#     USING_CYGWIN                windows only: true or false
-#     ISHIELD_TEMP_MIN            windows only: minimum disk space in temp area
-
-# Only run uname once in this make session.
-ifndef SYSTEM_UNAME
-  SYSTEM_UNAME := $(shell uname)
-  export SYSTEM_UNAME
-endif
-
-#
-# Prune out all known SCM (Source Code Management) directories
-# so they will not be included when copying directory trees
-# or packaging up .jar files, etc.  This applies to all workspaces.
-#
-SCM_DIRs = .hg .svn CVS RCS SCCS Codemgr_wsdata deleted_files .hgignore .hgtags
-# When changing SCM_DIRs also change SCM_DIRS_rexp and SCM_DIRS_prune:
-SCM_DIRS_rexp = ".hg|.svn|CVS|RCS|SCCS|Codemgr_wsdata|deleted_files|.hgignore|.hgtags"
-SCM_DIRS_prune = \( -name .hg -o -name .svn -o -name CVS -o -name RCS -o -name SCCS -o -name Codemgr_wsdata -o -name deleted_files -o -name .hgignore -o -name .hgtags \) -prune
-
-# Don't define this unless it's not defined
-ifndef VARIANT
-  VARIANT=OPT
-endif
-
-# Platform settings specific to Solaris
-ifeq ($(SYSTEM_UNAME), SunOS)
-  PLATFORM = solaris
-  # Solaris sparc build can be either 32-bit or 64-bit.
-  #   Default to 32, but allow explicit setting to 32 or 64.
-  ifndef ARCH_DATA_MODEL
-    ARCH_DATA_MODEL=32
-  endif
-  ifeq ($(ARCH_DATA_MODEL), 32)
-    processor := $(shell uname -p)
-    archExpr = case "$(processor)" in  \
-                i[3-9]86) \
-                    echo i586 \
-                    ;; \
-                sparc*)  \
-                    echo sparc \
-                    ;; \
-                *) \
-                    echo $(processor)  \
-                    ;; \
-        esac
-    ARCH        := $(shell $(archExpr))
-  else
-    ARCH := $(shell isainfo -n)
-    # ISA_DIR is used to locate 64-bit specific libraries which are generally
-    # in the same general place as other libraries under the ./$(ARCH) directory
-    ISA_DIR = /$(ARCH)
-  endif
-  # Need to maintain the jre/lib/i386 location for 32-bit Intel
-  ifeq ($(ARCH), i586)
-     ARCH_FAMILY = $(ARCH)
-     LIBARCH     = i386
-     # Value of Java os.arch property
-     ARCHPROP    = x86
-  else
-     ifeq ($(ARCH), amd64)
-        ARCH_FAMILY = i586
-     else
-        ARCH_FAMILY = sparc
-     endif
-     LIBARCH  = $(ARCH)
-     # Value of Java os.arch property
-     ARCHPROP = $(LIBARCH)
-  endif
-  # The two LIBARCH names
-  ifeq ($(ARCH_FAMILY), sparc)
-    LIBARCH32 = sparc
-    LIBARCH64 = sparcv9
-  else
-    LIBARCH32 = i386
-    LIBARCH64 = amd64
-  endif
-  # Suffix for file bundles used in previous release
-  BUNDLE_FILE_SUFFIX=.tar
-  # How much RAM does this machine have (zones send an error to stderr):
-  MB_OF_MEMORY:=$(shell /usr/sbin/prtconf 2>/dev/null | fgrep 'Memory size:' | expand | cut -d' ' -f3)
-endif
-
-# Platform settings specific to Linux
-ifeq ($(SYSTEM_UNAME), Linux)
-  PLATFORM = linux
-  # Arch and OS name/version
-  ifdef CROSS_COMPILE_ARCH
-    mach := $(CROSS_COMPILE_ARCH)
-  else
-    mach := $(shell uname -m)
-  endif
-  archExpr = case "$(mach)" in \
-                i[3-9]86) \
-                    echo i586 \
-                    ;; \
-                ia64) \
-                    echo ia64 \
-                    ;; \
-                x86_64) \
-                    echo amd64 \
-                    ;; \
-                sparc*) \
-                    echo sparc \
-                    ;; \
-                arm*) \
-                    echo arm \
-                    ;; \
-                *) \
-                    echo $(mach) \
-                    ;; \
-      esac
-  ARCH        := $(shell $(archExpr) )
-  ARCH_FAMILY := $(ARCH)
-
-  # Linux builds may be 32-bit or 64-bit data model.
-  ifeq ($(ARCH), sparc)
-    # Linux sparc build can be either 32-bit or 64-bit.
-    #   Default to 32, but allow explicit setting to 32 or 64.
-    ifndef ARCH_DATA_MODEL
-      ARCH_DATA_MODEL=32
-    endif
-    ifeq ($(ARCH_DATA_MODEL), 32)
-      ARCH=sparc
-    else
-      ARCH=sparcv9
-    endif
-  else
-    # Most archs are 32-bit
-    ifndef ARCH_DATA_MODEL
-      ARCH_DATA_MODEL=32
-      ifeq ($(ARCH), amd64)
-        ARCH_DATA_MODEL=64
-      endif
-      ifeq ($(ARCH), ia64)
-        ARCH_DATA_MODEL=64
-      endif
-    endif
-  endif
-
-  # Need to maintain the jre/lib/i386 location for 32-bit Intel
-  ifeq ($(ARCH), i586)
-    LIBARCH = i386
-  else
-    LIBARCH = $(ARCH)
-  endif
-
-  # Value of Java os.arch property
-  ARCHPROP  = $(LIBARCH)
-
-  # Suffix for file bundles used in previous release
-  BUNDLE_FILE_SUFFIX=.tar.gz
-  # How much RAM does this machine have:
-  MB_OF_MEMORY := $(shell free -m | fgrep Mem: | awk '{print $$2;}' )
-endif
-
-ifeq ($(SYSTEM_UNAME), Darwin)
-  PLATFORM = macosx
-  OS_NAME = darwin
-  OS_VENDOR = Apple
-  GB_OF_MEMORY := $(shell system_profiler SPHardwareDataType | fgrep Memory: | awk '{print $$2}')
-  MB_OF_MEMORY := $(shell expr ${GB_OF_MEMORY} '*' 1024)
-endif
-
-# Platform settings specific to BSD/Mac OS X
-ifeq ($(PLATFORM), macosx)
-  OS_VERSION := $(shell uname -r)
-
-  # Arch and OS name/version
-  # Darwin x86 builds are i386/amd64 universal by default.
-  # Allow arch to be set from the environment to avoid this.
-  ifeq ($(origin ARCH), undefined)
-   ifeq ($(PLATFORM), macosx)
-#     ifdef OPENJDK -- when universal 32/64 binaries available in Hotspot
-#        mach := universal
-#     else
-        mach := x86_64
-#     endif
-   else
-    mach := $(shell uname -m)
-   endif
-  else
-   mach := $(ARCH)
-  endif
-
-  archExpr = case "$(mach)" in \
-                i[3-9]86) \
-                    echo i586 \
-                    ;; \
-                sparc64) \
-                    echo sparcv9 \
-                    ;; \
-                sparc*) \
-                    echo sparc \
-                    ;; \
-                x86_64) \
-                    echo amd64 \
-                    ;; \
-                universal) \
-                    echo universal \
-                    ;; \
-                "Power Macintosh") \
-                    echo ppc \
-                    ;; \
-                *) \
-                    echo $(mach) \
-                    ;; \
-      esac
-  ARCH        := $(shell $(archExpr) )
-  ARCH_FAMILY := $(ARCH)
-
-  # i586, sparc, and ppc are 32 bit, amd64 and sparc64 are 64
-  # ARCH_DATA_MODEL does not exactly mean anything in universal
-  # but it has to be one or the other, so pick 32
-  ifneq (,$(findstring $(ARCH), i586 sparc ppc universal))
-    ARCH_DATA_MODEL=32
-  else
-    ARCH_DATA_MODEL=64
-  endif
-
-  # Need to maintain the jre/lib/i386 location for 32-bit Intel
-  ifeq ($(ARCH), i586)
-    LIBARCH = i386
-  else
-    LIBARCH = $(ARCH)
-  endif
-
-  # Value of Java os.arch property
-  ARCHPROP  = $(LIBARCH)
-
-  # Suffix for file bundles used in previous release
-  BUNDLE_FILE_SUFFIX=.tar.gz
-  # How much RAM does this machine have:
-endif
-
-# Windows with and without CYGWIN will be slightly different
-ifeq ($(SYSTEM_UNAME), Windows_NT)
-  PLATFORM = windows
-endif
-ifneq (,$(findstring CYGWIN,$(SYSTEM_UNAME)))
-  PLATFORM = windows
-  USING_CYGWIN = true
-  export USING_CYGWIN
-  CYGPATH_CMD=cygpath -a -s -m
-  # Only run "cygpath /" once in this make session.
-  ifndef CYGWIN_HOME
-    CYGWIN_HOME := $(shell $(CYGPATH_CMD) /)
-    export CYGWIN_HOME
-  endif
-endif
-
-# Platform settings specific to Windows
-ifeq ($(PLATFORM), windows)
-  # Windows builds default to the appropriate for the underlaying
-  # architecture.
-  # Temporary disk area
-  TEMP_DISK=C:/temp
-  # GNU Make or MKS overrides $(PROCESSOR_ARCHITECTURE) to always
-  #  return "x86". Use the first word of $(PROCESSOR_IDENTIFIER) instead.
-  #  And sometimes PROCESSOR_IDENTIFIER is not defined at all
-  #  (in some restricted shells), so we use uname if we have to.
-  ifeq ($(PROCESSOR_IDENTIFIER),)
-    # Only run uname -m once in this make session.
-    ifndef SYSTEM_UNAME_M
-      SYSTEM_UNAME_M := $(shell uname -m)
-      export SYSTEM_UNAME_M
-    endif
-    PROC_ARCH:=$(SYSTEM_UNAME_M)
-  else
-    PROC_ARCH:=$(word 1, $(PROCESSOR_IDENTIFIER))
-  endif
-  # Cover all the possibilities, MKS uname, CYGWIN uname, PROCESSOR_IDENTIFIER
-  #    Get: X86, X64, or IA64
-  PROC_ARCH:=$(patsubst 386,X86,$(PROC_ARCH))
-  PROC_ARCH:=$(patsubst 486,X86,$(PROC_ARCH))
-  PROC_ARCH:=$(patsubst 586,X86,$(PROC_ARCH))
-  PROC_ARCH:=$(patsubst 686,X86,$(PROC_ARCH))
-  PROC_ARCH:=$(patsubst i386,X86,$(PROC_ARCH))
-  PROC_ARCH:=$(patsubst i486,X86,$(PROC_ARCH))
-  PROC_ARCH:=$(patsubst i586,X86,$(PROC_ARCH))
-  PROC_ARCH:=$(patsubst i686,X86,$(PROC_ARCH))
-  PROC_ARCH:=$(patsubst x86,X86,$(PROC_ARCH))
-  PROC_ARCH:=$(patsubst intel64,X64,$(PROC_ARCH))
-  PROC_ARCH:=$(patsubst Intel64,X64,$(PROC_ARCH))
-  PROC_ARCH:=$(patsubst INTEL64,X64,$(PROC_ARCH))
-  PROC_ARCH:=$(patsubst em64t,X64,$(PROC_ARCH))
-  PROC_ARCH:=$(patsubst EM64T,X64,$(PROC_ARCH))
-  PROC_ARCH:=$(patsubst amd64,X64,$(PROC_ARCH))
-  PROC_ARCH:=$(patsubst AMD64,X64,$(PROC_ARCH))
-  PROC_ARCH:=$(patsubst 8664,X64,$(PROC_ARCH))
-  PROC_ARCH:=$(patsubst x86_64,X64,$(PROC_ARCH))
-  PROC_ARCH:=$(patsubst ia64,IA64,$(PROC_ARCH))
-  ifndef ARCH_DATA_MODEL
-    ifeq ($(PROC_ARCH),IA64)
-      ARCH_DATA_MODEL=64
-    else
-      ifeq ($(PROC_ARCH),X64)
-        ARCH_DATA_MODEL=64
-      else
-        ARCH_DATA_MODEL=32
-      endif
-    endif
-  endif
-  export ARCH_DATA_MODEL
-  ifeq ($(ARCH_DATA_MODEL), 64)
-    # If the user wants to perform a cross compile build then they must
-    # - set ARCH_DATA_MODEL=64 and either
-    #      + set ARCH to ia64 or amd64, or
-    ifeq ($(PROC_ARCH),X64)
-      ARCH=amd64
-    else
-      ifeq ($(PROC_ARCH),IA64)
-        ARCH=ia64
-      endif
-    endif
-    LIBARCH=$(ARCH)
-    # Value of Java os.arch property
-    ARCHPROP=$(LIBARCH)
-  else
-    # LIBARCH is used to preserve the jre/lib/i386 directory name for 32-bit intel
-    ARCH=i586
-    LIBARCH=i386
-    # Value of Java os.arch property
-    ARCHPROP=x86
-  endif
-  ARCH_FAMILY = $(ARCH)
-  # Where is unwanted output to be delivered?
-  # MKS uses the special file "NUL", cygwin uses the customary unix file.
-  ifeq ($(USING_CYGWIN),true)
-    DEV_NULL = /dev/null
-  else
-    DEV_NULL = NUL
-  endif
-  export DEV_NULL
-  # Classpath separator
-  CLASSPATH_SEPARATOR = ;
-  # The suffix used for object file (.o for unix .obj for windows)
-  OBJECT_SUFFIX = obj
-  # The suffix applied to executables (.exe for windows, nothing for solaris)
-  EXE_SUFFIX = .exe
-  # The prefix applied to library files (lib for solaris, nothing for windows)
-  LIB_PREFIX=
-  LIBRARY_SUFFIX = dll
-  LIB_SUFFIX     = lib
-  # User name determination (set _USER)
-  ifndef USER
-    ifdef USERNAME
-      _USER := $(USERNAME)
-    else
-      ifdef LOGNAME
-        _USER := $(LOGNAME)
-      else
-        _USER := $(shell id -un)
-      endif
-    endif
-  else
-    _USER:=$(USER)
-  endif
-  # Location of client/server directories
-  ARCH_VM_SUBDIR=jre/bin
-  # Suffix for file bundles used in previous release
-  BUNDLE_FILE_SUFFIX=.tar
-  # ISHIELD_TEMP_MIN is the difference of an empty C:\TEMP vs. one after a
-  #     bundles build on windows.
-  ISHIELD_TEMP_MIN=250000
-  # How much RAM does this machine have:
-  ifeq ($(JDK_HAS_MEM_INFO),)
-    MB_OF_MEMORY := 1024
-  endif
-endif
-
-# Unix type settings (same for all unix platforms)
-ifneq ($(PLATFORM), windows)
-  # Temporary disk area
-  TEMP_DISK=/tmp
-  # Where is unwanted output to be delivered?
-  DEV_NULL = /dev/null
-  export DEV_NULL
-  # Character used between entries in classpath 
-  CLASSPATH_SEPARATOR = :
-  # suffix used for object file (.o for unix .obj for windows)
-  OBJECT_SUFFIX = o
-  # The suffix applied to runtime libraries
-  LIBRARY_SUFFIX = so
-  # The suffix applied to link libraries
-  LIB_SUFFIX = so
-  # The suffix applied to executables (.exe for windows, nothing for solaris)
-  EXE_SUFFIX =
-  # The prefix applied to library files (lib for solaris, nothing for windows)
-  LIB_PREFIX = lib
-  # User name determination (set _USER)
-  ifndef USER
-    ifdef LOGNAME
-      _USER := $(LOGNAME)
-    else
-      _USER := $(shell logname)
-    endif
-  else
-    _USER:=$(USER)
-  endif
-  # Location of client/server directories
-  ARCH_VM_SUBDIR=jre/lib/$(LIBARCH)
-endif
-
-# Darwin-specific Overrides
-ifeq ($(SYSTEM_UNAME),Darwin)
-  # The suffix applied to runtime libraries
-  LIBRARY_SUFFIX = dylib
-  # The suffix applied to link libraries
-  ifeq ($(ARCH), universal)
-    LIB_SUFFIX = o
-  else
-    LIB_SUFFIX = a
-  endif
-
-  ifeq ($(PLATFORM), macosx)
-  	ARCH_VM_SUBDIR=jre/lib/$(LIBARCH)
-  endif
-endif
-
-# Machines with 512Mb or less of real memory are considered low memory
-#    build machines and adjustments will be made to prevent excessing
-#    system swapping during the build.
-ifeq ($(JDK_HAS_MEM_INFO),)
-  JDK_HAS_MEM_INFO=true
-  export JDK_HAS_MEM_INFO
-  ifneq ($(MB_OF_MEMORY),)
-    LOW_MEMORY_MACHINE := $(shell \
-      if [ $(MB_OF_MEMORY) -le 512 ] ; then \
-        echo "true"; \
-      else \
-        echo "false"; \
-      fi)
-    MAX_VM_MEMORY := 512
-    MIN_VM_MEMORY := $(MAX_VM_MEMORY)
-  else
-    MB_OF_MEMORY       := unknown
-    LOW_MEMORY_MACHINE := true
-    MAX_VM_MEMORY      := 384
-    MIN_VM_MEMORY      := 128
-  endif
-  export MB_OF_MEMORY
-  export LOW_MEMORY_MACHINE
-  export MAX_VM_MEMORY
-  export MIN_VM_MEMORY
-endif
-
-# If blanks in the username, use the first 4 words and pack them together
-_USER1:=$(subst ', ,$(_USER))
-_USER2:=$(subst ", ,$(_USER1))
-USER:=$(word 1,$(_USER2))$(word 2,$(_USER2))$(word 3,$(_USER2))$(word 4,$(_USER2))
-export USER
-
-export PLATFORM
-endif
-
--- a/makefiles/common/shared/PrivateDefs.gmk-example	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
-
-# This file, when re-named to PrivateDefs.gmk will get included in the
-#   makefile definitions (before the ALT_ variables are read) so that you can
-#   override makefile settings permanently for a workspace.
-#   Use of this file will cause WARNING errors, repeatedly, for a reason.
-#
-# WARNING: Use with caution.
-#
-
-# EXAMPLE: Testing a special build of hotspot
-#    (this is the build/solaris/export-solaris-sparc directory from doing
-#     a 'cd hotspot/make; gnumake' build)
-#
-ifeq ($(PLATFORM),solaris)
-  ifeq ($(ARCH),sparc)
-    ALT_HOTSPOT_IMPORT_PATH=$(JDK_TOPDIR)/../export-solaris-sparc
-  endif
-endif
-
--- a/makefiles/common/shared/Sanity-Settings.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,267 +0,0 @@
-#
-# Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code 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
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-#
-# Shared sanity settings file. Fills in the variable ALL_SETTINGS.
-#
-
-# On Windows in particular, it can happen that quotes get into the PATH
-#    variable. This is very bad, and must be caught early or you can
-#    see errors like: sh: -c: line 0: syntax error near unexpected token
-#
-ifneq ($(PATH), $(subst ",,$(PATH)))
-  dummy1:=$(error ERROR: PATH variable contains double quotes, fix your PATH.)
-endif
-ifneq ($(PATH), $(subst ',,$(PATH)))
-  dummy1:=$(error ERROR: PATH variable contains single quotes, fix your PATH.)
-endif
-
-# Used to add a heading to ALL_SETTINGS
-define addHeading
-"\n$1:\n"
-endef
-
-# Used to add a line to ALL_SETTINGS for an optional value
-#   (need if test for windows which has issues with ; characters in values)
-define addOptionalSetting
-$(if $($1)," $1 = $($1)\n"," $1 = $($1)\n")
-endef
-
-# Used to add a line to ALL_SETTINGS for something that must have a value
-define addRequiredSetting
-$(if $($1)," $1 = $($1)\n",$(warning WARNING: $1 should not be empty [Sanity-Settings.gmk]))
-endef
-
-# Used to add a line to ALL_SETTINGS for something that must have a value
-define addRequiredVersionSetting
-$(if $($1)," $1 = $($1) [requires at least $(REQUIRED_$1)]\n",$(warning WARNING: $1 should not be empty [Sanity-Settings.gmk]))
-endef
-
-# Used to add a series of lines to ALL_SETTINGS
-define addAltSetting
-" $1 = $($1)\n    ALT_$1 = $(ALT_$1)\n"
-endef
-
-# Variable that contains a string of all information
-
-# Make sure this is a 'do it now' variable.
-ALL_SETTINGS:=$(call addHeading,Bootstrap Settings)
-ALL_SETTINGS+=$(call addAltSetting,BOOTDIR)
-ALL_SETTINGS+=$(call addRequiredVersionSetting,BOOT_VER)
-ALL_SETTINGS+=$(call addAltSetting,OUTPUTDIR)
-ALL_SETTINGS+=$(call addRequiredSetting,ABS_OUTPUTDIR)
-
-
-ALL_SETTINGS+=$(call addHeading,Build Tool Settings)
-ALL_SETTINGS+=$(call addAltSetting,SLASH_JAVA)
-ALL_SETTINGS+=$(call addRequiredSetting,VARIANT)
-ALL_SETTINGS+=$(call addAltSetting,JDK_DEVTOOLS_DIR)
-ALL_SETTINGS+=$(call addOptionalSetting,ANT_HOME)
-ALL_SETTINGS+=$(call addAltSetting,UNIXCOMMAND_PATH)
-ALL_SETTINGS+=$(call addAltSetting,COMPILER_PATH)
-ALL_SETTINGS+=$(call addAltSetting,DEVTOOLS_PATH)
-ifeq ($(PLATFORM),linux)
-  ALL_SETTINGS+=$(call addAltSetting,UNIXCCS_PATH)
-  ALL_SETTINGS+=$(call addAltSetting,USRBIN_PATH)
-  ifndef OPENJDK
-    ALL_SETTINGS+=$(call addAltSetting,GCC29_COMPILER_PATH)
-  endif
-endif
-ifeq ($(PLATFORM),solaris)
-  ALL_SETTINGS+=$(call addAltSetting,UNIXCCS_PATH)
-  ifndef OPENJDK
-    ALL_SETTINGS+=$(call addAltSetting,GCC_COMPILER_PATH)
-  endif
-endif
-ifeq ($(PLATFORM),windows)
-  ifneq ($(MSVCRNN_DLL),)
-    ALL_SETTINGS+=$(call addAltSetting,MSVCRNN_DLL_PATH)
-  endif
-  ALL_SETTINGS+=$(call addRequiredSetting,INCLUDE)
-  ALL_SETTINGS+=$(call addRequiredSetting,LIB)
-endif
-ALL_SETTINGS+=$(call addOptionalSetting,COMPILER_NAME)
-ALL_SETTINGS+=$(call addOptionalSetting,COMPILER_VERSION)
-ifdef REQUIRED_CC_VER
-  ALL_SETTINGS+=$(call addRequiredVersionSetting,CC_VER)
-else
-  ALL_SETTINGS+=$(call addOptionalSetting,CC_VER)
-endif
-ifeq ($(PLATFORM),solaris)
-  ifeq ($(ARCH_DATA_MODEL), 32)
-    ifndef OPENJDK
-      ALL_SETTINGS+=$(call addRequiredVersionSetting,GCC_VER)
-    endif
-  endif
-endif
-ALL_SETTINGS+=$(call addRequiredVersionSetting,ZIP_VER)
-ALL_SETTINGS+=$(call addRequiredVersionSetting,UNZIP_VER)
-ifeq ($(PLATFORM),windows)
-  ALL_SETTINGS+=$(call addRequiredVersionSetting,LINK_VER)
-  ALL_SETTINGS+=$(call addRequiredSetting,CC)
-  ALL_SETTINGS+=$(call addRequiredSetting,LINK)
-  ALL_SETTINGS+=$(call addRequiredSetting,DUMPBIN)
-endif
-ALL_SETTINGS+=$(call addRequiredVersionSetting,ANT_VER)
-ALL_SETTINGS+=$(call addRequiredSetting,TEMPDIR)
-
-
-ALL_SETTINGS+=$(call addHeading,Build Directives)
-ALL_SETTINGS+=$(call addOptionalSetting,OPENJDK)
-ALL_SETTINGS+=$(call addOptionalSetting,USE_HOTSPOT_INTERPRETER_MODE)
-ALL_SETTINGS+=$(call addOptionalSetting,PEDANTIC)
-ALL_SETTINGS+=$(call addOptionalSetting,DEV_ONLY)
-ALL_SETTINGS+=$(call addOptionalSetting,NO_DOCS)
-ALL_SETTINGS+=$(call addOptionalSetting,NO_DEMOS)
-ALL_SETTINGS+=$(call addOptionalSetting,NO_SAMPLES)
-ALL_SETTINGS+=$(call addOptionalSetting,NO_IMAGES)
-ALL_SETTINGS+=$(call addOptionalSetting,TOOLS_ONLY)
-ALL_SETTINGS+=$(call addOptionalSetting,INSANE)
-ALL_SETTINGS+=$(call addRequiredSetting,COMPILE_APPROACH)
-ifeq ($(COMPILE_APPROACH), parallel)
-  ALL_SETTINGS+=$(call addAltSetting,PARALLEL_COMPILE_JOBS)
-endif
-ALL_SETTINGS+=$(call addOptionalSetting,FASTDEBUG)
-ALL_SETTINGS+=$(call addRequiredSetting,COMPILER_WARNINGS_FATAL)
-ALL_SETTINGS+=$(call addOptionalSetting,COMPILER_WARNING_LEVEL)
-ALL_SETTINGS+=$(call addOptionalSetting,SHOW_ALL_WARNINGS)
-ALL_SETTINGS+=$(call addRequiredSetting,INCREMENTAL_BUILD)
-ALL_SETTINGS+=$(call addOptionalSetting,CC_HIGHEST_OPT)
-ALL_SETTINGS+=$(call addOptionalSetting,CC_HIGHER_OPT)
-ALL_SETTINGS+=$(call addOptionalSetting,CC_LOWER_OPT)
-ALL_SETTINGS+=$(call addOptionalSetting,CXXFLAGS)
-ALL_SETTINGS+=$(call addOptionalSetting,CFLAGS)
-
-ALL_SETTINGS+=$(call addOptionalSetting,BOOT_JAVA_CMD)
-ALL_SETTINGS+=$(call addOptionalSetting,BOOT_JAVAC_CMD)
-ALL_SETTINGS+=$(call addOptionalSetting,BOOT_JAR_CMD)
-ALL_SETTINGS+=$(call addOptionalSetting,BOOT_JARSIGNER_CMD)
-
-# These don't print out well with windows due to the ';' characters
-ifneq ($(PLATFORM),windows)
-  ALL_SETTINGS+=$(call addOptionalSetting,JAVAC_CMD)
-  ALL_SETTINGS+=$(call addOptionalSetting,JAVAH_CMD)
-  ALL_SETTINGS+=$(call addOptionalSetting,JAVADOC_CMD)
-endif
-
-ALL_SETTINGS+=$(call addHeading,Build Platform Settings)
-ALL_SETTINGS+=$(call addRequiredSetting,USER)
-ALL_SETTINGS+=$(call addRequiredSetting,PLATFORM)
-ALL_SETTINGS+=$(call addRequiredSetting,ARCH)
-ALL_SETTINGS+=$(call addRequiredSetting,LIBARCH)
-ALL_SETTINGS+=$(call addRequiredSetting,ARCH_FAMILY)
-ALL_SETTINGS+=$(call addRequiredSetting,ARCH_DATA_MODEL)
-ALL_SETTINGS+=$(call addRequiredSetting,ARCHPROP)
-ifeq ($(PLATFORM),windows)
-  ALL_SETTINGS+=$(call addRequiredSetting,PROCESSOR_ARCHITECTURE)
-  ALL_SETTINGS+=$(call addRequiredSetting,PROCESSOR_IDENTIFIER)
-  ifdef USING_CYGWIN
-    ALL_SETTINGS+=$(call addRequiredSetting,USING_CYGWIN)
-    ALL_SETTINGS+=$(call addRequiredVersionSetting,CYGWIN_VER)
-    ALL_SETTINGS+=$(call addRequiredSetting,CYGPATH_CMD)
-  else
-    ALL_SETTINGS+=$(call addRequiredVersionSetting,MKS_VER)
-    ALL_SETTINGS+=$(call addOptionalSetting,DOSNAME_CMD)
-  endif
-endif
-ifeq ($(PLATFORM),linux)
-  ifdef REQUIRED_ALSA_VERSION
-    ALL_SETTINGS+=$(call addRequiredSetting,ALSA_VERSION)
-  endif
-endif
-ALL_SETTINGS+=$(call addRequiredVersionSetting,OS_VERSION)
-ALL_SETTINGS+=$(call addOptionalSetting,OS_VARIANT_NAME)
-ALL_SETTINGS+=$(call addOptionalSetting,OS_VARIANT_VERSION)
-ALL_SETTINGS+=$(call addRequiredSetting,MB_OF_MEMORY)
-
-
-ALL_SETTINGS+=$(call addHeading,GNU Make Settings)
-ALL_SETTINGS+=$(call addRequiredSetting,MAKE)
-ALL_SETTINGS+=$(call addRequiredVersionSetting,MAKE_VER)
-ALL_SETTINGS+=$(call addOptionalSetting,MAKECMDGOALS)
-ALL_SETTINGS+=$(call addOptionalSetting,MAKEFLAGS)
-ALL_SETTINGS+=$(call addRequiredSetting,SHELL)
-
-
-ALL_SETTINGS+=$(call addHeading,Target Build Versions)
-ALL_SETTINGS+=$(call addRequiredSetting,JDK_VERSION)
-ALL_SETTINGS+=$(call addOptionalSetting,MILESTONE)
-ALL_SETTINGS+=$(call addOptionalSetting,RELEASE)
-ALL_SETTINGS+=$(call addRequiredSetting,FULL_VERSION)
-ALL_SETTINGS+=$(call addOptionalSetting,BUILD_NUMBER)
-
-
-ALL_SETTINGS+=$(call addHeading,External File/Binary Locations)
-ALL_SETTINGS+=$(call addRequiredSetting,USRJDKINSTANCES_PATH)
-ALL_SETTINGS+=$(call addAltSetting,BUILD_JDK_IMPORT_PATH)
-ALL_SETTINGS+=$(call addAltSetting,JDK_IMPORT_PATH)
-ALL_SETTINGS+=$(call addAltSetting,LANGTOOLS_DIST)
-ALL_SETTINGS+=$(call addAltSetting,CORBA_DIST)
-ALL_SETTINGS+=$(call addAltSetting,JAXP_DIST)
-ALL_SETTINGS+=$(call addAltSetting,JAXWS_DIST)
-ALL_SETTINGS+=$(call addAltSetting,HOTSPOT_DOCS_IMPORT_PATH)
-ALL_SETTINGS+=$(call addAltSetting,HOTSPOT_IMPORT_PATH)
-ifeq ($(ARCH_DATA_MODEL), 32)
-  ALL_SETTINGS+=$(call addAltSetting,HOTSPOT_CLIENT_PATH)
-endif
-ALL_SETTINGS+=$(call addAltSetting,HOTSPOT_SERVER_PATH)
-ifeq ($(PLATFORM),windows)
-  ALL_SETTINGS+=$(call addAltSetting,HOTSPOT_LIB_PATH)
-  ALL_SETTINGS+=$(call addRequiredSetting,DXSDK_VER)
-  ALL_SETTINGS+=$(call addAltSetting,DXSDK_PATH)
-  ALL_SETTINGS+=$(call addAltSetting,DXSDK_INCLUDE_PATH)
-  ALL_SETTINGS+=$(call addAltSetting,DXSDK_LIB_PATH)
-  ALL_SETTINGS+=$(call addAltSetting,WINDOWSSDKDIR)
-  ALL_SETTINGS+=$(call addRequiredSetting,RC)
-  ALL_SETTINGS+=$(call addRequiredSetting,REBASE)
-  ifndef OPENJDK
-    ALL_SETTINGS+=$(call addAltSetting,DEPLOY_MSSDK)
-    ALL_SETTINGS+=$(call addAltSetting,INSTALL_MSSDK)
-    ALL_SETTINGS+=$(call addAltSetting,WSCRIPT)
-    ALL_SETTINGS+=$(call addAltSetting,MSICERT)
-  endif
-endif
-ALL_SETTINGS+=$(call addAltSetting,CACERTS_FILE)
-ifndef OPENJDK
-  ALL_SETTINGS+=$(call addAltSetting,MOZILLA_HEADERS_PATH)
-endif
-ifneq ($(PLATFORM),windows)
-  ALL_SETTINGS+=$(call addAltSetting,CUPS_HEADERS_PATH)
-endif
-
-ifdef OPENJDK
-  ALL_SETTINGS+=$(call addHeading,OpenJDK-specific settings)
-  ALL_SETTINGS+=$(call addAltSetting,FREETYPE_HEADERS_PATH)
-  ALL_SETTINGS+=$(call addAltSetting,FREETYPE_LIB_PATH)
-endif
-
-ifdef OPENJDK
-  ALL_SETTINGS+=$(call addHeading,Previous JDK Settings)
-  ALL_SETTINGS+=$(call addAltSetting,PREVIOUS_RELEASE_PATH)
-  ALL_SETTINGS+=$(call addAltSetting,PREVIOUS_JDK_VERSION)
-  ALL_SETTINGS+=$(call addAltSetting,PREVIOUS_JDK_FILE)
-  ALL_SETTINGS+=$(call addAltSetting,PREVIOUS_JRE_FILE)
-  ALL_SETTINGS+=$(call addAltSetting,PREVIOUS_RELEASE_IMAGE)
-endif
--- a/makefiles/java/Makefile	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +0,0 @@
-#
-# Copyright (c) 1995, 2011, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code 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
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-#
-# Makefile for building all of java
-#
-
-PRODUCT=java
-BUILDDIR=..
-include $(BUILDDIR)/common/Defs.gmk
-
-#
-# The order of subdirs here is important
-#
-SUBDIRS += redist
-
-# Others
-#    Note: java_crw_demo java_hprof_demo are demos but must be delivered built in sdk
-
-SUBDIRS +=
-
-SUBDIRS_management =
-SUBDIRS_misc       =
-
-#TODO Check invoke
-#                     logging instrument invoke sql rmi
-
-ifeq ($(PLATFORM), macosx)
-  SUBDIRS += jobjc
-endif # PLATFORM
-
-include $(BUILDDIR)/common/Subdirs.gmk
-
-all build clean clobber::
-	$(SUBDIRS-loop)
-
--- a/makefiles/java/invoke/Makefile	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-#
-# Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code 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
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-BUILDDIR = ../..
-
-PACKAGE = java.lang.invoke
-PRODUCT = java
-include $(BUILDDIR)/common/Defs.gmk
-
-AUTO_FILES_JAVA_DIRS = java/lang/invoke sun/invoke
-FILES_java = \
-    java/lang/ClassValue.java \
-    java/lang/BootstrapMethodError.java
-
-# The sources built here use new language syntax to generate
-# method handle calls.  Let's be sure we are using that format.
-LANGUAGE_VERSION = -source 7
-CLASS_VERSION = -target 7
-
-include $(BUILDDIR)/common/Classes.gmk
--- a/makefiles/java/redist/Makefile	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,497 +0,0 @@
-#
-# Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code 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
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-#
-# Imports files exported by a hotspot build or provided from an external
-#   location into the OUTPUTDIR, and also primes the OUTPUTDIR with files
-#   that are provided inside this workspace.
-#
-# IMPORT_LIST contains the list of destination files that are copied 
-#     from external places (outside this workspace).
-#
-# INTERNAL_IMPORT_LIST is the list of destination files from BUILDDIR.
-# 
-
-BUILDDIR = ../..
-PRODUCT  = java
-include $(BUILDDIR)/common/Defs.gmk
-include $(BUILDDIR)/Tools.gmk
-
-$(info ENTERING redist)
-
-SERVER_LOCATION = server
-CLIENT_LOCATION = client
-KERNEL_LOCATION = kernel
-
-DB_SUFFIX = _db
-DTRACE_SUFFIX = _dtrace
-
-ifeq ($(PLATFORM), windows)
-  LIB_LOCATION = $(BINDIR)
-else ifeq ($(PLATFORM), macosx)
-  LIB_LOCATION = $(LIBDIR)
-else
-  LIB_LOCATION = $(LIBDIR)/$(LIBARCH)
-endif
-
-JVM_NAME               = $(LIB_PREFIX)jvm.$(LIBRARY_SUFFIX)
-JVMLIB_NAME            = $(LIB_PREFIX)jvm.$(LIB_SUFFIX)
-JVMMAP_NAME            = $(LIB_PREFIX)jvm.map
-JVMPDB_NAME            = $(LIB_PREFIX)jvm.pdb
-LIBJSIG_NAME           = $(LIB_PREFIX)jsig.$(LIBRARY_SUFFIX)
-JVMDB_NAME             = $(LIB_PREFIX)jvm$(DB_SUFFIX).$(LIBRARY_SUFFIX)
-JVMDTRACE_NAME         = $(LIB_PREFIX)jvm$(DTRACE_SUFFIX).$(LIBRARY_SUFFIX)
-
-JVM_DEBUGINFO_NAME       = $(LIB_PREFIX)jvm.debuginfo
-LIBJSIG_DEBUGINFO_NAME   = $(LIB_PREFIX)jsig.debuginfo
-JVMDB_DEBUGINFO_NAME     = $(LIB_PREFIX)jvm$(DB_SUFFIX).debuginfo
-JVMDTRACE_DEBUGINFO_NAME = $(LIB_PREFIX)jvm$(DTRACE_SUFFIX).debuginfo
-
-CLASSSHARINGDATA_DIR   = $(BUILDDIR)/../make/tools/sharing
-
-# Needed to do file copy
-ABS_BUILDDIR :=$(call FullPath,$(BUILDDIR))
-
-SUBDIRS_desktop =
-SUBDIRS_tools   = sajdi
-include $(BUILDDIR)/common/Subdirs.gmk
-
-all clean clobber::
-	$(SUBDIRS-loop)
-
-all:: build
-
-# List of files created here or coming from BUILDDIR area (this workspace)
-INTERNAL_IMPORT_LIST = $(LIBDIR)/classlist
-
-# List of files coming from outside this workspace
-ifeq ($(JVM_VARIANT_SERVER),true)
-    IMPORT_LIST = $(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVM_NAME) \
-                  $(LIB_LOCATION)/$(SERVER_LOCATION)/Xusage.txt
-    ifneq ($(OBJCOPY),)
-        # the import JDK may not contain .debuginfo files
-        ifneq ($(wildcard $(HOTSPOT_SERVER_PATH)/$(JVM_DEBUGINFO_NAME)),)
-           IMPORT_LIST += $(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVM_DEBUGINFO_NAME)
-        endif
-    endif
-endif
-ifeq ($(JVM_VARIANT_CLIENT),true)
-    IMPORT_LIST += $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVM_NAME) \
-                   $(LIB_LOCATION)/$(CLIENT_LOCATION)/Xusage.txt
-    ifneq ($(OBJCOPY),)
-        # the import JDK may not contain .debuginfo files
-        ifneq ($(wildcard $(HOTSPOT_CLIENT_PATH)/$(JVM_DEBUGINFO_NAME)),)
-            IMPORT_LIST += $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVM_DEBUGINFO_NAME)
-        endif
-    endif
-endif
-
-$(info ENTERING redist 2)
-ifeq ($(PLATFORM), windows)
-    IMPORT_LIST += $(BINDIR)/$(notdir $(MSVCR100DLL))
-
-    $(BINDIR)/$(notdir $(MSVCR100DLL)): $(MSVCR100DLL)
-	$(install-import-file)
-	$(call chmod-file, a+x)
-
-    # Get the hotspot .map and .pdb files for client and server
-    ifeq ($(JVM_VARIANT_SERVER),true)
-        IMPORT_LIST += \
-		$(LIBDIR)/$(JVMLIB_NAME) \
-		$(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMMAP_NAME) \
-		$(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMPDB_NAME)
-    endif
-
-    # Add .map and .pdb files to the import path for client and kernel VMs. 
-    ifeq ($(JVM_VARIANT_CLIENT),true)
-        IMPORT_LIST += $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMMAP_NAME) \
-                       $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMPDB_NAME)
-    endif
-    ifeq ($(JVM_VARIANT_KERNEL),true)
-        IMPORT_LIST += $(LIB_LOCATION)/$(KERNEL_LOCATION)/$(JVMMAP_NAME) \
-                       $(LIB_LOCATION)/$(KERNEL_LOCATION)/$(JVMPDB_NAME)
-    endif
-
-    $(info XXXX $(LIBDIR)/$(JVMLIB_NAME): $(HOTSPOT_LIB_PATH)/$(JVMLIB_NAME))
-    $(LIBDIR)/$(JVMLIB_NAME): $(HOTSPOT_LIB_PATH)/$(JVMLIB_NAME)
-	$(install-import-file)
-
-    # it is OK for the .map and .pdb files to not exist, so do not force a 
-    # dependency on them from the bootstrap location, and allow the copy to fail.
-    $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMMAP_NAME):
-	@$(prep-target)
-	-$(CP) $(HOTSPOT_CLIENT_PATH)/$(JVMMAP_NAME)  $@
-
-    $(LIB_LOCATION)/$(KERNEL_LOCATION)/$(JVMMAP_NAME):
-	@$(prep-target)
-	-$(CP) $(HOTSPOT_KERNEL_PATH)/$(JVMMAP_NAME)  $@
-
-    $(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMMAP_NAME):
-	@$(prep-target)
-	-$(CP) $(HOTSPOT_SERVER_PATH)/$(JVMMAP_NAME) $@
-
-    $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMPDB_NAME):
-	@$(prep-target)
-	-$(CP) $(HOTSPOT_CLIENT_PATH)/$(JVMPDB_NAME)  $@
-
-    $(LIB_LOCATION)/$(KERNEL_LOCATION)/$(JVMPDB_NAME):
-	@$(prep-target)
-	-$(CP) $(HOTSPOT_KERNEL_PATH)/$(JVMPDB_NAME)  $@
-
-    $(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMPDB_NAME): 
-	@$(prep-target)
-	-$(CP) $(HOTSPOT_SERVER_PATH)/$(JVMPDB_NAME) $@
-
-else
-    # Posix like systems
-    IMPORT_LIST += $(LIB_LOCATION)/$(LIBJSIG_NAME)
-    ifneq ($(OBJCOPY),)
-        # the import JDK may not contain .debuginfo files
-        ifneq ($(wildcard $(HOTSPOT_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/$(LIBJSIG_DEBUGINFO_NAME)),)
-            IMPORT_LIST += $(LIB_LOCATION)/$(LIBJSIG_DEBUGINFO_NAME)
-        endif
-    endif
-    ifeq ($(JVM_VARIANT_CLIENT),true)
-        IMPORT_LIST += $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(LIBJSIG_NAME)
-        ifneq ($(OBJCOPY),)
-            # the import JDK may not contain the target of the symlink
-            ifneq ($(wildcard $(HOTSPOT_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/$(LIBJSIG_DEBUGINFO_NAME)),)
-                IMPORT_LIST += $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(LIBJSIG_DEBUGINFO_NAME)
-            endif
-        endif
-    endif
-    ifeq ($(JVM_VARIANT_SERVER),true)
-        IMPORT_LIST += $(LIB_LOCATION)/$(SERVER_LOCATION)/$(LIBJSIG_NAME)
-        ifneq ($(OBJCOPY),)
-            # the import JDK may not contain the target of the symlink
-            ifneq ($(wildcard $(HOTSPOT_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/$(LIBJSIG_DEBUGINFO_NAME)),)
-                IMPORT_LIST += $(LIB_LOCATION)/$(SERVER_LOCATION)/$(LIBJSIG_DEBUGINFO_NAME)
-            endif
-        endif
-    endif
-
-    ifeq ($(PLATFORM), solaris)
-
-        ifeq ($(JVM_VARIANT_CLIENT),true)
-            IMPORT_LIST += $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMDB_NAME)
-
-            # The conditional can be removed when import JDKs contain these files.
-            ifneq ($(wildcard $(HOTSPOT_CLIENT_PATH)/$(JVMDTRACE_NAME)),)
-                IMPORT_LIST += $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMDTRACE_NAME)
-                IMPORT_LIST += $(LIB_LOCATION)/$(CLIENT_LOCATION)/64/$(JVMDB_NAME)
-                IMPORT_LIST += $(LIB_LOCATION)/$(CLIENT_LOCATION)/64/$(JVMDTRACE_NAME)
-                ifneq ($(OBJCOPY),)
-                    # the import JDK may not contain .debuginfo files
-                    ifneq ($(wildcard $(HOTSPOT_CLIENT_PATH)/$(JVMDTRACE_DEBUGINFO_NAME)),)
-                        IMPORT_LIST += $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMDTRACE_DEBUGINFO_NAME)
-                        IMPORT_LIST += $(LIB_LOCATION)/$(CLIENT_LOCATION)/64/$(JVMDB_DEBUGINFO_NAME)
-                        IMPORT_LIST += $(LIB_LOCATION)/$(CLIENT_LOCATION)/64/$(JVMDTRACE_DEBUGINFO_NAME)
-                    endif
-                endif
-            else
-                $(warning WARNING: $(HOTSPOT_CLIENT_PATH)/$(JVMDTRACE_NAME) not found!)
-            endif
-
-            $(LIB_LOCATION)/$(JVM_NAME): $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVM_NAME)
-			@$(prep-target)
-        endif 
-
-        ifeq ($(JVM_VARIANT_SERVER),true)
-            IMPORT_LIST += $(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMDB_NAME)
-            ifneq ($(OBJCOPY),)
-                # the import JDK may not contain .debuginfo files
-                ifneq ($(wildcard $(HOTSPOT_SERVER_PATH)/$(JVMDB_DEBUGINFO_NAME)),)
-                    IMPORT_LIST += $(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMDB_DEBUGINFO_NAME)
-                endif
-            endif
-            # The conditional can be removed when import JDKs contain these files.
-            ifneq ($(wildcard $(HOTSPOT_SERVER_PATH)/$(JVMDTRACE_NAME)),)
-                IMPORT_LIST += $(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMDTRACE_NAME)
-                ifneq ($(OBJCOPY),)
-                    # the import JDK may not contain .debuginfo files
-                    ifneq ($(wildcard $(HOTSPOT_SERVER_PATH)/$(JVMDTRACE_DEBUGINFO_NAME)),)
-                        IMPORT_LIST += $(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMDTRACE_DEBUGINFO_NAME)
-                    endif
-                endif
-            else
-                $(warning WARNING: $(HOTSPOT_SERVER_PATH)/$(JVMDB_NAME) not found!)
-            endif 
-
-            # The conditional can be removed when import JDKs contain these files.
-            ifneq ($(wildcard $(HOTSPOT_SERVER_PATH)/64/$(JVMDB_NAME)),)
-                IMPORT_LIST += $(LIB_LOCATION)/$(SERVER_LOCATION)/64/$(JVMDB_NAME)
-                ifneq ($(OBJCOPY),)
-                    # the import JDK may not contain .debuginfo files
-                    ifneq ($(wildcard $(HOTSPOT_SERVER_PATH)/64/$(JVMDB_DEBUGINFO_NAME)),)
-                        IMPORT_LIST += $(LIB_LOCATION)/$(SERVER_LOCATION)/64/$(JVMDB_DEBUGINFO_NAME)
-                    endif
-                endif
-            else
-                $(warning WARNING: $(HOTSPOT_SERVER_PATH)/64/$(JVMDB_NAME) not found!)
-            endif
-
-            # The conditional can be removed when import JDKs contain these files.
-            ifneq ($(wildcard $(HOTSPOT_SERVER_PATH)/64/$(JVMDTRACE_NAME)),)
-                IMPORT_LIST += $(LIB_LOCATION)/$(SERVER_LOCATION)/64/$(JVMDTRACE_NAME)
-                ifneq ($(OBJCOPY),)
-                    # the import JDK may not contain .debuginfo files
-                    ifneq ($(wildcard $(HOTSPOT_SERVER_PATH)/64/$(JVMDTRACE_DEBUGINFO_NAME)),)
-                        IMPORT_LIST += $(LIB_LOCATION)/$(SERVER_LOCATION)/64/$(JVMDTRACE_DEBUGINFO_NAME)
-                    endif
-                endif
-            else
-                $(warning WARNING: $(HOTSPOT_SERVER_PATH)/64/$(JVMDTRACE_NAME) not found!)
-            endif
-        endif
-    endif 
-endif 
-
-$(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVM_NAME): $(HOTSPOT_CLIENT_PATH)/$(JVM_NAME)
-	$(install-import-file)
-	@$(call binary_file_verification,$@)
-
-ifneq ($(OBJCOPY),)
-$(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVM_DEBUGINFO_NAME): $(HOTSPOT_CLIENT_PATH)/$(JVM_DEBUGINFO_NAME)
-	$(install-import-file)
-endif
-
-$(LIB_LOCATION)/$(KERNEL_LOCATION)/$(JVM_NAME): $(HOTSPOT_KERNEL_PATH)/$(JVM_NAME)
-	$(install-file)
-	@$(call binary_file_verification,$@)
-
-$(LIB_LOCATION)/$(LIBJSIG_NAME): $(HOTSPOT_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/$(LIBJSIG_NAME)
-	$(install-import-file)
-	@$(call binary_file_verification,$@)
-
-ifneq ($(OBJCOPY),)
-$(LIB_LOCATION)/$(LIBJSIG_DEBUGINFO_NAME): $(HOTSPOT_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/$(LIBJSIG_DEBUGINFO_NAME)
-	$(install-import-file)
-endif
-
-$(LIB_LOCATION)/$(SERVER_LOCATION)/$(LIBJSIG_NAME):
-	@$(prep-target)
-	$(call install-sym-link, ../$(LIBJSIG_NAME))
-
-ifneq ($(OBJCOPY),)
-$(LIB_LOCATION)/$(CLIENT_LOCATION)/$(LIBJSIG_DEBUGINFO_NAME) \
-$(LIB_LOCATION)/$(SERVER_LOCATION)/$(LIBJSIG_DEBUGINFO_NAME):
-	@$(prep-target)
-	$(call install-sym-link, ../$(LIBJSIG_DEBUGINFO_NAME))
-endif
-$(LIB_LOCATION)/$(CLIENT_LOCATION)/$(LIBJSIG_NAME):
-	@$(prep-target)
-	$(call install-sym-link, ../$(LIBJSIG_NAME))
-
-ifneq ($(OBJCOPY),)
-$(LIB_LOCATION)/$(CLIENT_LOCATION)/$(LIBJSIG_DEBUGINFO_NAME):
-	@$(prep-target)
-	$(call install-sym-link, ../$(LIBJSIG_DEBUGINFO_NAME))
-endif
-
-$(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMDB_NAME): $(HOTSPOT_CLIENT_PATH)/$(JVMDB_NAME)
-	$(install-import-file)
-	@$(call binary_file_verification,$@)
-
-$(LIB_LOCATION)/$(CLIENT_LOCATION)/64/$(JVMDB_NAME): $(HOTSPOT_CLIENT_PATH)/64/$(JVMDB_NAME)
-	$(install-import-file)
-	@$(call binary_file_verification,$@)
-
-ifneq ($(OBJCOPY),)
-$(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMDB_DEBUGINFO_NAME): $(HOTSPOT_CLIENT_PATH)/$(JVMDB_DEBUGINFO_NAME)
-	$(install-import-file)
-
-$(LIB_LOCATION)/$(CLIENT_LOCATION)/64/$(JVMDB_DEBUGINFO_NAME): $(HOTSPOT_CLIENT_PATH)/64/$(JVMDB_DEBUGINFO_NAME)
-	$(install-import-file)
-endif
-
-$(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMDB_NAME): $(HOTSPOT_SERVER_PATH)/$(JVMDB_NAME)
-	$(install-import-file)
-	@$(call binary_file_verification,$@)
-
-$(LIB_LOCATION)/$(SERVER_LOCATION)/64/$(JVMDB_NAME): $(HOTSPOT_SERVER_PATH)/64/$(JVMDB_NAME)
-	$(install-import-file)
-	@$(call binary_file_verification,$@)
-
-ifneq ($(OBJCOPY),)
-$(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMDB_DEBUGINFO_NAME): $(HOTSPOT_SERVER_PATH)/$(JVMDB_DEBUGINFO_NAME)
-	$(install-import-file)
-
-$(LIB_LOCATION)/$(SERVER_LOCATION)/64/$(JVMDB_DEBUGINFO_NAME): $(HOTSPOT_SERVER_PATH)/64/$(JVMDB_DEBUGINFO_NAME)
-	$(install-import-file)
-endif
-
-$(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMDTRACE_NAME): $(HOTSPOT_CLIENT_PATH)/$(JVMDTRACE_NAME)
-	$(install-import-file)
-	@$(call binary_file_verification,$@)
-
-$(LIB_LOCATION)/$(CLIENT_LOCATION)/64/$(JVMDTRACE_NAME): $(HOTSPOT_CLIENT_PATH)/64/$(JVMDTRACE_NAME)
-	$(install-import-file)
-	@$(call binary_file_verification,$@)
-
-ifneq ($(OBJCOPY),)
-$(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMDTRACE_DEBUGINFO_NAME): $(HOTSPOT_CLIENT_PATH)/$(JVMDTRACE_DEBUGINFO_NAME)
-	$(install-import-file)
-
-$(LIB_LOCATION)/$(CLIENT_LOCATION)/64/$(JVMDTRACE_DEBUGINFO_NAME): $(HOTSPOT_CLIENT_PATH)/64/$(JVMDTRACE_DEBUGINFO_NAME)
-	$(install-import-file)
-endif
-
-$(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMDTRACE_NAME): $(HOTSPOT_SERVER_PATH)/$(JVMDTRACE_NAME)
-	$(install-import-file)
-	@$(call binary_file_verification,$@)
-
-$(LIB_LOCATION)/$(SERVER_LOCATION)/64/$(JVMDTRACE_NAME): $(HOTSPOT_SERVER_PATH)/64/$(JVMDTRACE_NAME)
-	$(install-import-file)
-	@$(call binary_file_verification,$@)
-
-$(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVM_NAME): $(HOTSPOT_SERVER_PATH)/$(JVM_NAME)
-	$(install-import-file)
-	@$(call binary_file_verification,$@)
-
-ifneq ($(OBJCOPY),)
-$(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMDTRACE_DEBUGINFO_NAME): $(HOTSPOT_SERVER_PATH)/$(JVMDTRACE_DEBUGINFO_NAME)
-	$(install-import-file)
-
-$(LIB_LOCATION)/$(SERVER_LOCATION)/64/$(JVMDTRACE_DEBUGINFO_NAME): $(HOTSPOT_SERVER_PATH)/64/$(JVMDTRACE_DEBUGINFO_NAME)
-	$(install-import-file)
-
-$(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVM_DEBUGINFO_NAME): $(HOTSPOT_SERVER_PATH)/$(JVM_DEBUGINFO_NAME)
-	$(install-import-file)
-endif
-
-$(LIB_LOCATION)/$(SERVER_LOCATION)/Xusage.txt : $(HOTSPOT_SERVER_PATH)/Xusage.txt
-	$(install-import-file)
-
-
-$(LIB_LOCATION)/$(CLIENT_LOCATION)/Xusage.txt : $(HOTSPOT_CLIENT_PATH)/Xusage.txt
-	$(install-import-file)
-
-$(LIB_LOCATION)/$(KERNEL_LOCATION)/Xusage.txt : $(HOTSPOT_KERNEL_PATH)/Xusage.txt
-	$(install-file)
-
-#
-# Specific to non-OpenJDK building
-#
-ifndef OPENJDK
-
-INTERNAL_IMPORT_LIST += \
-            $(LIBDIR)/security/US_export_policy.jar \
-            $(LIBDIR)/security/local_policy.jar \
-            $(LIBDIR)/jce.jar
-
-$(LIBDIR)/jce.jar: \
-	    $(JDK_TOPDIR)/make/closed/tools/crypto/jce/jce.jar
-	$(install-file)
-$(LIBDIR)/security/US_export_policy.jar: \
-	    $(JDK_TOPDIR)/make/closed/tools/crypto/jce/US_export_policy.jar
-	$(install-file)
-$(LIBDIR)/security/local_policy.jar: \
-	    $(JDK_TOPDIR)/make/closed/tools/crypto/jce/local_policy.jar
-	$(install-file)
-
-endif # OPENJDK
-
-# Construct classlist file
-$(LIBDIR)/classlist: \
-    $(CLASSSHARINGDATA_DIR)/classlist.$(PLATFORM) \
-    $(ADDJSUM_JARFILE)
-	@$(prep-target)
-	@$(RM) -f $@.temp
-	$(TOOL_ADDJSUM) \
-	    $(CLASSSHARINGDATA_DIR)/classlist.$(PLATFORM) $@.temp
-	$(MV) $@.temp $@
-
-# Import internal files (ones that are stashed in this source tree)
-import_internal_files : $(INTERNAL_IMPORT_LIST)
-
-# Import files from the JDK that we are not building
-import_files: $(IMPORT_LIST)
-
-# Get component information variables and rules
-include $(BUILDDIR)/common/internal/ImportComponents.gmk
-
-# Security files we need to import
-SEC_FILES_ZIP=$(ABS_BUILDDIR)/tools/crypto/sec-bin.zip
-SEC_FILES_WIN_ZIP=$(ABS_BUILDDIR)/tools/crypto/sec-windows-bin.zip
-JGSS_WIN32_FILES_ZIP=$(ABS_BUILDDIR)/tools/crypto/jgss-windows-i586-bin.zip
-JGSS_WIN64_FILES_ZIP=$(ABS_BUILDDIR)/tools/crypto/jgss-windows-x64-bin.zip
-
-# Unzip zip file $2 into directory $1 (if $2 exists)
-#   Warning: $2 must be absolute path not relative
-define SecUnzipper
-if [ -f $2 ] ; then \
-  $(MKDIR) -p $1; \
-  $(ECHO) "( $(CD) $1 && $(UNZIP) -o $2 )"; \
-  ( $(CD) $1 && $(UNZIP) -o $2 ); \
-fi
-endef
-
-# If sec-bin exists, unpack it into the build directory
-#   Also, the library recompile build indirectly depends on two SSL classes,
-#   so copy those as well   FIXUP
-#   if sec-windows-bin exists, unpack it into the build directory
-#   if JGSS files exists, unpack it into the build directory
-$(TEMPDIR)/security_imported:
-	@$(prep-target)
-	@$(call SecUnzipper,$(OUTPUTDIR),$(SEC_FILES_ZIP))
-ifeq ($(PLATFORM), windows)
-	@$(call SecUnzipper,$(OUTPUTDIR),$(SEC_FILES_WIN_ZIP))
-endif
-ifeq ($(PLATFORM), windows)
-    ifeq ($(ARCH_DATA_MODEL), 32)
-	@$(call SecUnzipper,$(OUTPUTDIR),$(JGSS_WIN32_FILES_ZIP))
-    else
-	@$(call SecUnzipper,$(OUTPUTDIR),$(JGSS_WIN64_FILES_ZIP))
-    endif
-endif
-	@$(ECHO) "Imported on `$(DATE)`" > $@
-
-# Import all files from other components
-$(TEMPDIR)/components_imported:
-	@$(prep-target)
-	$(call import-component-binaries,$(ABS_OUTPUTDIR))
-	$(call import-component-sources,$(IMPORTSRCDIR))
-	$(call import-component-docs,$(IMPORTDOCDIR))
-	$(call import-component-classes,$(CLASSDESTDIR))
-	@$(ECHO) "Imported on `$(DATE)`" > $@
-
-# Do pretty much everything
-build : import_files \
-	import_internal_files \
-	$(TEMPDIR)/components_imported \
-	$(TEMPDIR)/security_imported
-
-# Clean up what we imported (except for component files)
-clean clobber::
-	$(RM) $(IMPORT_LIST)
-	$(RM) $(INTERNAL_IMPORT_LIST)
-	$(call import-component-sources-clean,$(IMPORTSRCDIR))
-	$(call import-component-docs-clean,$(IMPORTDOCDIR))
-	$(call import-component-classes-clean,$(CLASSDESTDIR))
-	$(RM) $(TEMPDIR)/components_imported
-	$(RM) $(TEMPDIR)/security_imported
-
-.PHONY: import_files import_internal_files
-
--- a/makefiles/java/redist/sajdi/Makefile	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,116 +0,0 @@
-#
-# Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code 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
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-BUILDDIR = ../../..
-PRODUCT  = java
-include $(BUILDDIR)/common/Defs.gmk
-
-ifeq ($(PLATFORM), windows)
-  LIB_LOCATION = $(BINDIR)
-else ifeq ($(PLATFORM), macosx)
-  LIB_LOCATION = $(LIBDIR)
-else
-  LIB_LOCATION = $(LIBDIR)/$(LIBARCH)
-endif
-
-# INCLUDE_SA is false on platforms where SA is not supported.
-# On platforms where it is supported, we want to allow it to
-# not be present, at least temporarily.  So,
-# if the SA files (well, just sa-jdi.jar) do not exist
-# in the HOTSPOT_IMPORT_PATH, then we won't build SA.
-SA_EXISTS := $(shell if [ -r $(HOTSPOT_IMPORT_PATH)/lib/sa-jdi.jar ] ; then \
-                          $(ECHO) true; \
-                        else \
-                          $(ECHO) false; \
-                        fi)
-
-ifeq ($(SA_EXISTS), false)
-  INCLUDE_SA := false
-endif
-
-IMPORT_LIST =
-ifeq ($(INCLUDE_SA), true)
-  IMPORT_LIST += $(LIBDIR)/sa-jdi.jar \
-                 $(LIB_LOCATION)/$(SALIB_NAME)
-  ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
-    ifeq ($(ZIP_DEBUGINFO_FILES),1)
-      # the import JDK may not contain .diz files
-      ifneq ($(wildcard $(HOTSPOT_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/$(SA_DIZ_NAME)),)
-        IMPORT_LIST += $(LIB_LOCATION)/$(SA_DIZ_NAME)
-      endif
-    else
-      ifeq ($(PLATFORM), windows)
-        # the import JDK may not contain .pdb files
-        ifneq ($(wildcard $(HOTSPOT_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/$(SAPDB_NAME)),)
-          # assume .map file is present if .pdb is present
-          IMPORT_LIST += $(LIB_LOCATION)/$(SAMAP_NAME) \
-                         $(LIB_LOCATION)/$(SAPDB_NAME)
-        endif
-      else
-        # the import JDK may not contain .debuginfo files
-        ifneq ($(wildcard $(HOTSPOT_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/$(SA_DEBUGINFO_NAME)),)
-          IMPORT_LIST += $(LIB_LOCATION)/$(SA_DEBUGINFO_NAME)
-        endif
-      endif
-    endif
-  endif
-endif # INCLUDE_SA
-
-
-ifeq ($(INCLUDE_SA), true)
-# The Serviceability Agent is built in the Hotspot workspace.
-# It contains two files:
-#  - sa-jdi.jar:  This goes into the same dir as tools.jar.
-#  - a shared library:  sawindbg.dll on windows / libproc.sa on unix
-#		        This goes into the same dir as the other
-#			shared libs, eg. libjdwp.so.
-$(LIBDIR)/sa-jdi.jar: $(HOTSPOT_IMPORT_PATH)/lib/sa-jdi.jar
-	$(install-importonly-file)
-
-$(LIB_LOCATION)/$(SALIB_NAME): $(HOTSPOT_SALIB_PATH)/$(SALIB_NAME)
-	$(install-import-file)
-
-  ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
-    ifeq ($(ZIP_DEBUGINFO_FILES),1)
-$(LIB_LOCATION)/$(SA_DIZ_NAME): $(HOTSPOT_SALIB_PATH)/$(SA_DIZ_NAME)
-	$(install-import-file)
-    else
-      ifeq ($(PLATFORM), windows)
-$(LIB_LOCATION)/$(SAPDB_NAME): $(HOTSPOT_SALIB_PATH)/$(SAPDB_NAME)
-	$(install-import-file)
-
-$(LIB_LOCATION)/$(SAMAP_NAME): $(HOTSPOT_SALIB_PATH)/$(SAMAP_NAME)
-	$(install-import-file)
-      else
-$(LIB_LOCATION)/$(SA_DEBUGINFO_NAME): $(HOTSPOT_SALIB_PATH)/$(SA_DEBUGINFO_NAME)
-	$(install-import-file)
-      endif
-    endif
-  endif
-endif # INCLUDE_SA
-
-all: $(IMPORT_LIST)
-
-clean clobber::
--- a/makefiles/javax/crypto/Defs-jce.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,105 +0,0 @@
-#
-# Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code 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
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-include $(BUILDDIR)/common/Release.gmk
-
-#
-# Include these extra attributes for now, should probably take out.
-#
-JCE_MANIFEST_FILE    = $(TEMPDIR)/manifest.mf
-$(JCE_MANIFEST_FILE): $(MAINMANIFEST)
-	$(prep-target)
-	$(SED) -e "s#@@RELEASE@@#$(RELEASE)#"           \
-               -e "s#@@COMPANY_NAME@@#$(COMPANY_NAME)#" \
-               $(MAINMANIFEST) >> $@
-	$(ECHO) "Extension-Name: javax.crypto" >> $@
-	$(ECHO) "Implementation-Vendor-Id: com.sun" >> $@
-
-README-MAKEFILE_WARNING = \
-    "\nPlease read make/javax/crypto/Makefile for further build instructions."
-
-define no-source-warning
-	@$(ECHO) "\n***JCE sources are not available, skipping build.***" \
-	    $(README-MAKEFILE_WARNING)
-endef
-
-ifndef OPENJDK
-
-PREBUILT_DIR = $(JDK_TOPDIR)/make/closed/tools/crypto
-
-define build-warning
-	@$(ECHO) "\n***JCE in JDK builds require special tools/procedures.***" \
-	    $(README-MAKEFILE_WARNING)
-endef
-
-#
-# Location for JCE codesigning key.
-#
-SIGNING_KEY_DIR    = /security/ws/JCE-signing/src
-SIGNING_KEYSTORE   = $(SIGNING_KEY_DIR)/KeyStore.jks
-SIGNING_PASSPHRASE = $(SIGNING_KEY_DIR)/passphrase.txt
-SIGNING_ALIAS      = oracle_jce_rsa
-
-#
-# Defines for signing the various jar files.
-#
-
-define presign
-    @if [ ! -f $(SIGNING_KEYSTORE) -o ! -f $(SIGNING_PASSPHRASE) ]; then \
-	$(ECHO) "\n$(SIGNING_KEYSTORE): Signing mechanism *NOT* available..." \
-	    $(README-MAKEFILE_WARNING); \
-	exit 2; \
-    fi
-endef
-
-define sign-target
-	$(BOOT_JARSIGNER_CMD) -keystore $(SIGNING_KEYSTORE) \
-	    $@ $(SIGNING_ALIAS) < $(SIGNING_PASSPHRASE)
-	@$(java-vm-cleanup)
-	@$(ECHO) "\nJar codesigning finished."
-endef
-
-RELEASE_DIR = $(OUTPUTDIR)/jce-release
-
-define release-warning
-	@$(ECHO) \
-	    "\n***The jar files built by the 'release' target must***" \
-	    "\n***still be checked into the closed workspace!     ***" \
-	    $(README-MAKEFILE_WARNING)
-endef
-
-#
-# Convenience macros for signing a jar file.
-#
-# Call through $(call sign-file, target file)
-#
-define sign-file
-	$(presign)
-	$(prep-target)
-	$(CP) $1 $@
-	$(sign-target)
-endef
-
-endif  # !OPENJDK
--- a/makefiles/javax/crypto/Makefile	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,484 +0,0 @@
-#
-# Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code 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
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-#
-# Makefile for building jce.jar and the various cryptographic strength
-# policy jar files.
-#
-
-#
-# (The terms "OpenJDK" and "JDK" below refer to OpenJDK and Sun JDK builds
-# respectively.)
-#
-# JCE builds are very different between OpenJDK and JDK.  The OpenJDK JCE
-# jar files do not require signing, but those for JDK do.  If an unsigned
-# jar file is installed into JDK, things will break when the crypto
-# routines are called.
-#
-# This Makefile does the "real" build of the JCE files.  There are some
-# javac options currently specific to JCE, so we recompile now to make
-# sure any implicit compilations didn't use any incorrect flags.
-#
-# For OpenJDK, the jar files built here are installed directly into the
-# OpenJDK.
-#
-# For JDK, the binaries use pre-built/pre-signed binary files stored in
-# the closed workspace that are not shipped in the OpenJDK workspaces.
-# We still build the JDK files here to verify the files compile, and in
-# preparation for possible signing.  Developers working on JCE in JDK
-# must sign the JCE files before testing.  The JCE signing key is kept
-# separate from the JDK workspace to prevent its disclosure.
-#
-# SPECIAL NOTE TO JCE/JDK developers:  The source files must eventually
-# be built and signed, and the resulting jar files *MUST BE CHECKED INTO
-# THE CLOSED PART OF THE WORKSPACE*.  This separate step *MUST NOT BE
-# FORGOTTEN*, otherwise a bug fixed in the source code will not be
-# reflected in the shipped binaries.  The "release" target should be
-# used to generate the required files.
-#
-# There are a number of targets to help both JDK/OpenJDK developers.
-#
-# Main Targets (JDK/OPENJDK):
-#
-#     all/clobber/clean        The usual.
-#                                  If OpenJDK: builds/installs the
-#                                      jce.jar/limited policy files.
-#                                  If JDK: builds but does not install.
-#                                     During full tops-down builds,
-#                                     prebuilt/presigned jce.jar &
-#                                     limited policy files are copied
-#                                     in by make/java/redist/Makefile.
-#                                     If you are working in this directory
-#                                     and want to install the prebuilts,
-#                                     use the "install-prebuilt" target.
-#
-#     jar                      Builds/installs jce.jar
-#                                  If OpenJDK, does not sign
-#                                  If JDK, tries to sign
-#
-# Other lesser-used Targets (JDK/OPENJDK):
-#
-#     build-jar                Builds jce.jar (does not sign/install)
-#
-#     build-policy             Builds policy files (does not sign/install)
-#
-#     install-jar              Alias for "jar" above
-#
-#     install-limited          Builds/installs limited policy files
-#                                  If OpenJDK, does not sign
-#                                  If JDK, tries to sign
-#     install-unlimited        Builds/nstalls unlimited policy files
-#                                  If OpenJDK, does not sign
-#                                  If JDK, tries to sign
-#
-# Other targets (JDK only):
-#
-#     sign                     Alias for sign-jar and sign-policy
-#          sign-jar            Builds/signs jce.jar file (no install)
-#          sign-policy         Builds/signs policy files (no install)
-#
-#     release                  Builds all targets in preparation
-#                              for workspace integration.
-#
-#     install-prebuilt         Installs the pre-built jar files
-#
-# This makefile was written to support parallel target execution.
-#
-
-BUILDDIR = ../..
-PACKAGE = javax.crypto
-PRODUCT = sun
-
-#
-# The following is for when we need to do postprocessing
-# (signing) against a read-only build.  If the OUTPUTDIR
-# isn't writable, the build currently crashes out.
-#
-ifndef OPENJDK
-  ifdef ALT_JCE_BUILD_DIR
-    # =====================================================
-    # Where to place the output, in case we're building from a read-only
-    # build area.  (e.g. a release engineering build.)
-    JCE_BUILD_DIR=${ALT_JCE_BUILD_DIR}
-    IGNORE_WRITABLE_OUTPUTDIR_TEST=true
-  else
-    JCE_BUILD_DIR=${TEMPDIR}
-  endif
-endif
-
-JAVAC_MAX_WARNINGS = true
-JAVAC_WARNINGS_FATAL = true
-include $(BUILDDIR)/common/Defs.gmk
-
-#
-# Location for the newly built classfiles.
-#
-CLASSDESTDIR = $(TEMPDIR)/classes
-
-#
-# Subdirectories of these are automatically included.
-#
-AUTO_FILES_JAVA_DIRS = \
-    javax/crypto \
-    sun/security/internal/interfaces \
-    sun/security/internal/spec
-
-include $(BUILDDIR)/common/Classes.gmk
-
-#
-# Rules
-#
-
-#
-# Some licensees do not get the security sources, but we still need to
-# be able to build "all" for them.  Check here to see if the sources were
-# available.  If not, then we don't need to continue this rule.
-#
-
-ifdef OPENJDK
-all: build-jar install-jar build-policy install-limited
-else  # OPENJDK
-ifeq ($(strip $(FILES_java)),)
-all:
-	$(no-source-warning)
-else  # FILES_java/policy files available
-all: build-jar build-policy
-	$(build-warning)
-endif # $(FILES_java)/policy files available
-endif # OPENJDK
-
-#
-# We use a variety of subdirectories in the $(TEMPDIR) depending on what
-# part of the build we're doing.  Both OPENJDK/JDK builds are initially
-# done in the unsigned area.  When files are signed in JDK, they will be
-# placed in the appropriate areas.
-#
-UNSIGNED_DIR = $(TEMPDIR)/unsigned
-
-include Defs-jce.gmk
-
-
-# =====================================================
-# Build the unsigned jce.jar file.  Signing comes later.
-#
-
-JAR_DESTFILE = $(LIBDIR)/jce.jar
-
-#
-# JCE building is somewhat involved.
-#
-# OpenJDK:  Since we do not ship prebuilt JCE files, previous compiles
-# in the build may have needed JCE class signatures.  There were then
-# implicitly built by javac (likely using the boot javac).  While using
-# those class files was fine for signatures, we need to rebuild using
-# the right compiler.
-#
-# JDK:  Even through the jce.jar was previously installed, since the
-# source files are accessible in the source directories, they will
-# always be "newer" than the prebuilt files inside the jar, and thus
-# make will always rebuild them.  (We could "hide" the JCE source in a
-# separate directory, but that would make the build logic for JDK and
-# OpenJDK more complicated.)
-#
-# Thus in either situation, we shouldn't use these files.
-#
-# To make sure the classes were built with the right compiler options,
-# delete the existing files in $(CLASSBINDIR), rebuild the right way in a
-# directory under $(TEMPDIR), then copy the files back to
-# $(CLASSBINDIR).   Building in $(TEMPDIR) allows us to use our make
-# infrastructure without modification:  .classes.list, macros, etc.
-#
-
-#
-# The list of directories that will be remade from scratch, using the
-# right compilers/options.
-#
-DELETE_DIRS = $(patsubst %, $(CLASSBINDIR)/%, $(AUTO_FILES_JAVA_DIRS))
-
-#
-# Since the -C option to jar is used below, each directory entry must be
-# preceded with the appropriate directory to "cd" into.
-#
-JAR_DIRS = $(patsubst %, -C $(CLASSDESTDIR) %, $(AUTO_FILES_JAVA_DIRS))
-
-build-jar: $(UNSIGNED_DIR)/jce.jar
-
-#
-# Build jce.jar, then replace the previously built JCE files in the
-# classes directory with these.  This ensures we have consistently built
-# files throughout the workspaces.
-#
-$(UNSIGNED_DIR)/jce.jar: prebuild build $(JCE_MANIFEST_FILE)
-	$(prep-target)
-	$(BOOT_JAR_CMD) cmf $(JCE_MANIFEST_FILE) $@ $(JAR_DIRS) \
-	    $(BOOT_JAR_JFLAGS)
-	$(CP) -r $(CLASSDESTDIR)/* $(CLASSBINDIR)
-	@$(java-vm-cleanup)
-
-build: prebuild
-
-prebuild:
-	$(RM) -r $(DELETE_DIRS)
-
-
-# =====================================================
-# Build the unsigned policy files.
-#
-# Given the current state of world export/import policies,
-# these settings work for Sun's situation.  This note is not
-# legal guidance, you must still resolve any export/import issues
-# applicable for your situation.  Contact your export/import
-# counsel for more information.
-#
-
-POLICY_DESTDIR			= $(LIBDIR)/security
-UNSIGNED_POLICY_BUILDDIR	= $(UNSIGNED_DIR)/policy
-
-build-policy: unlimited limited
-
-#
-# Build the unsigned unlimited policy files.
-#
-unlimited: \
-	    $(UNSIGNED_POLICY_BUILDDIR)/unlimited/US_export_policy.jar	\
-	    $(UNSIGNED_POLICY_BUILDDIR)/unlimited/local_policy.jar
-
-$(UNSIGNED_POLICY_BUILDDIR)/unlimited/US_export_policy.jar:		\
-	    policy/unlimited/default_US_export.policy			\
-	    policy/unlimited/UNLIMITED
-	$(prep-target)
-	$(BOOT_JAR_CMD) cmf policy/unlimited/UNLIMITED $@		\
-	    -C policy/unlimited default_US_export.policy		\
-	    $(BOOT_JAR_JFLAGS)
-	@$(java-vm-cleanup)
-
-$(UNSIGNED_POLICY_BUILDDIR)/unlimited/local_policy.jar:			\
-	    policy/unlimited/default_local.policy			\
-	    policy/unlimited/UNLIMITED
-	$(prep-target)
-	$(BOOT_JAR_CMD) cmf policy/unlimited/UNLIMITED $@		\
-	    -C policy/unlimited default_local.policy			\
-	    $(BOOT_JAR_JFLAGS)
-	@$(java-vm-cleanup)
-
-#
-# Build the unsigned limited policy files.
-#
-# NOTE:  We currently do not place restrictions on our limited export
-# policy.  This was not a typo.
-#
-limited: \
-	    $(UNSIGNED_POLICY_BUILDDIR)/limited/US_export_policy.jar	\
-	    $(UNSIGNED_POLICY_BUILDDIR)/limited/local_policy.jar
-
-$(UNSIGNED_POLICY_BUILDDIR)/limited/US_export_policy.jar:		\
-	    $(UNSIGNED_POLICY_BUILDDIR)/unlimited/US_export_policy.jar
-	$(install-file)
-
-$(UNSIGNED_POLICY_BUILDDIR)/limited/local_policy.jar:			\
-	    policy/limited/default_local.policy				\
-	    policy/limited/exempt_local.policy				\
-	    policy/limited/LIMITED
-	$(prep-target)
-	$(BOOT_JAR_CMD) cmf policy/limited/LIMITED $@			\
-	    -C policy/limited default_local.policy			\
-	    -C policy/limited exempt_local.policy			\
-	    $(BOOT_JAR_JFLAGS)
-	@$(java-vm-cleanup)
-
-UNSIGNED_POLICY_FILES = \
-    $(UNSIGNED_POLICY_BUILDDIR)/unlimited/US_export_policy.jar		\
-    $(UNSIGNED_POLICY_BUILDDIR)/unlimited/local_policy.jar		\
-    $(UNSIGNED_POLICY_BUILDDIR)/limited/US_export_policy.jar		\
-    $(UNSIGNED_POLICY_BUILDDIR)/limited/local_policy.jar		\
-
-
-ifndef OPENJDK
-# =====================================================
-# Sign the various jar files.  Not needed for OpenJDK.
-#
-
-SIGNED_DIR		= $(JCE_BUILD_DIR)/signed
-SIGNED_POLICY_BUILDDIR	= $(SIGNED_DIR)/policy
-
-SIGNED_POLICY_FILES = \
-    $(patsubst $(UNSIGNED_POLICY_BUILDDIR)/%,$(SIGNED_POLICY_BUILDDIR)/%, \
-	$(UNSIGNED_POLICY_FILES))
-
-sign: sign-jar sign-policy
-
-sign-jar: $(SIGNED_DIR)/jce.jar
-
-sign-policy: $(SIGNED_POLICY_FILES)
-
-ifndef ALT_JCE_BUILD_DIR
-$(SIGNED_DIR)/jce.jar: $(UNSIGNED_DIR)/jce.jar
-else
-#
-# We have to remove the build dependency, otherwise, we'll try to rebuild it
-# which we can't do on a read-only filesystem.
-#
-$(SIGNED_DIR)/jce.jar:
-	@if [ ! -r $(UNSIGNED_DIR)/jce.jar ] ; then \
-	    $(ECHO) "Couldn't find $(UNSIGNED_DIR)/jce.jar"; \
-	    exit 1; \
-	fi
-endif
-	$(call sign-file, $(UNSIGNED_DIR)/jce.jar)
-
-$(SIGNED_POLICY_BUILDDIR)/unlimited/US_export_policy.jar:	\
-	    $(UNSIGNED_POLICY_BUILDDIR)/unlimited/US_export_policy.jar
-	$(call sign-file, $<)
-
-$(SIGNED_POLICY_BUILDDIR)/unlimited/local_policy.jar:		\
-	    $(UNSIGNED_POLICY_BUILDDIR)/unlimited/local_policy.jar
-	$(call sign-file, $<)
-
-$(SIGNED_POLICY_BUILDDIR)/limited/US_export_policy.jar:		\
-	    $(UNSIGNED_POLICY_BUILDDIR)/limited/US_export_policy.jar
-	$(call sign-file, $<)
-
-$(SIGNED_POLICY_BUILDDIR)/limited/local_policy.jar:		\
-	    $(UNSIGNED_POLICY_BUILDDIR)/limited/local_policy.jar
-	$(call sign-file, $<)
-
-
-# =====================================================
-# Create the Release Engineering files.  Signed builds,
-# unlimited policy file distribution, etc.
-#
-
-CLOSED_DIR = $(BUILDDIR)/closed/javax/crypto
-
-release: $(SIGNED_DIR)/jce.jar sign-policy $(CLOSED_DIR)/doc/README.txt
-	$(RM) -r \
-	    $(JCE_BUILD_DIR)/release/UnlimitedJCEPolicy              \
-	    $(JCE_BUILD_DIR)/release/jce.jar                         \
-	    $(JCE_BUILD_DIR)/release/US_export_policy.jar            \
-	    $(JCE_BUILD_DIR)/release/local_policy.jar                \
-	    $(JCE_BUILD_DIR)/release/UnlimitedJCEPolicy.zip
-	$(MKDIR) -p $(JCE_BUILD_DIR)/release/UnlimitedJCEPolicy
-	$(CP) $(SIGNED_DIR)/jce.jar $(JCE_BUILD_DIR)/release
-	$(CP) \
-	    $(SIGNED_POLICY_BUILDDIR)/limited/US_export_policy.jar   \
-	    $(SIGNED_POLICY_BUILDDIR)/limited/local_policy.jar       \
-	    $(JCE_BUILD_DIR)/release
-	$(CP) \
-	    $(SIGNED_POLICY_BUILDDIR)/unlimited/US_export_policy.jar \
-	    $(SIGNED_POLICY_BUILDDIR)/unlimited/local_policy.jar     \
-	    $(CLOSED_DIR)/doc/README.txt                             \
-	    $(JCE_BUILD_DIR)/release/UnlimitedJCEPolicy
-	cd $(JCE_BUILD_DIR)/release ; \
-	$(ZIPEXE) -qr UnlimitedJCEPolicy.zip UnlimitedJCEPolicy
-	$(release-warning)
-
-endif # OPENJDK
-
-
-# =====================================================
-# Install routines.
-#
-
-#
-# Install jce.jar, depending on which type is requested.
-#
-install-jar jar: $(JAR_DESTFILE)
-ifndef OPENJDK
-	$(release-warning)
-endif
-
-ifdef OPENJDK
-$(JAR_DESTFILE): $(UNSIGNED_DIR)/jce.jar
-else
-$(JAR_DESTFILE): $(SIGNED_DIR)/jce.jar
-endif
-	$(install-file)
-
-#
-# Install the appropriate policy file, depending on the type of build.
-#
-ifdef OPENJDK
-INSTALL_POLICYDIR = $(UNSIGNED_POLICY_BUILDDIR)
-else
-INSTALL_POLICYDIR = $(SIGNED_POLICY_BUILDDIR)
-endif
-
-install-limited-jars: \
-	    $(INSTALL_POLICYDIR)/limited/US_export_policy.jar	\
-	    $(INSTALL_POLICYDIR)/limited/local_policy.jar
-	$(MKDIR) -p $(POLICY_DESTDIR)
-	$(RM) \
-	    $(POLICY_DESTDIR)/US_export_policy.jar		\
-	    $(POLICY_DESTDIR)/local_policy.jar
-	$(CP) $^ $(POLICY_DESTDIR)
-
-install-limited: install-limited-jars
-ifndef OPENJDK
-	$(release-warning)
-endif
-
-install-unlimited-jars: \
-	    $(INSTALL_POLICYDIR)/unlimited/US_export_policy.jar	\
-	    $(INSTALL_POLICYDIR)/unlimited/local_policy.jar 
-	$(MKDIR) -p $(POLICY_DESTDIR)
-	$(RM) \
-	    $(POLICY_DESTDIR)/US_export_policy.jar		\
-	    $(POLICY_DESTDIR)/local_policy.jar
-	$(CP) $^ $(POLICY_DESTDIR)
-
-install-unlimited: install-unlimited-jars
-ifndef OPENJDK
-	$(release-warning)
-endif
-
-ifndef OPENJDK
-install-prebuilt-jars:
-	@$(ECHO) "\n>>>Installing prebuilt JCE framework..."
-	$(RM) $(JAR_DESTFILE) \
-	    $(POLICY_DESTDIR)/US_export_policy.jar \
-	    $(POLICY_DESTDIR)/local_policy.jar
-	$(CP) $(PREBUILT_DIR)/jce/jce.jar $(JAR_DESTFILE)
-	$(CP) \
-	    $(PREBUILT_DIR)/jce/US_export_policy.jar \
-	    $(PREBUILT_DIR)/jce/local_policy.jar \
-	    $(POLICY_DESTDIR)
-
-install-prebuilt: install-prebuilt-jars
-endif
-
-# =====================================================
-# Support routines.
-#
-
-clobber clean::
-	$(RM) -r $(JAR_DESTFILE) $(POLICY_DESTDIR)/US_export_policy.jar \
-	    $(POLICY_DESTDIR)/local_policy.jar $(DELETE_DIRS) $(TEMPDIR) \
-	    $(JCE_BUILD_DIR)
-
-.PHONY: build-jar jar build-policy unlimited limited install-jar \
-	install-limited install-unlimited
-ifndef OPENJDK
-.PHONY: sign sign-jar sign-policy release install-prebuilt
-endif
--- a/makefiles/javax/crypto/policy/limited/LIMITED	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-Crypto-Strength: limited
--- a/makefiles/javax/crypto/policy/limited/default_local.policy	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-// Some countries have import limits on crypto strength. This policy file
-// is worldwide importable.
-
-grant {
-    permission javax.crypto.CryptoPermission "DES", 64;
-    permission javax.crypto.CryptoPermission "DESede", *;
-    permission javax.crypto.CryptoPermission "RC2", 128, 
-                                     "javax.crypto.spec.RC2ParameterSpec", 128;
-    permission javax.crypto.CryptoPermission "RC4", 128;
-    permission javax.crypto.CryptoPermission "RC5", 128, 
-          "javax.crypto.spec.RC5ParameterSpec", *, 12, *;
-    permission javax.crypto.CryptoPermission "RSA", *;
-    permission javax.crypto.CryptoPermission *, 128;
-};
--- a/makefiles/javax/crypto/policy/limited/exempt_local.policy	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-// Some countries have import limits on crypto strength. So this file
-// will be useful.
-
-grant {
-    // There is no restriction to any algorithms if KeyRecovery is enforced.
-    permission javax.crypto.CryptoPermission *, "KeyRecovery"; 
-
-    // There is no restriction to any algorithms if KeyEscrow is enforced.
-    permission javax.crypto.CryptoPermission *, "KeyEscrow"; 
-
-    // There is no restriction to any algorithms if KeyWeakening is enforced. 
-    permission javax.crypto.CryptoPermission *, "KeyWeakening";
-};
--- a/makefiles/javax/crypto/policy/unlimited/UNLIMITED	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-Crypto-Strength: unlimited
--- a/makefiles/javax/crypto/policy/unlimited/default_US_export.policy	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-// Manufacturing policy file.
-grant {
-    // There is no restriction to any algorithms.
-    permission javax.crypto.CryptoAllPermission; 
-};
--- a/makefiles/javax/crypto/policy/unlimited/default_local.policy	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-// Country-specific policy file for countries with no limits on crypto strength.
-grant {
-    // There is no restriction to any algorithms.
-    permission javax.crypto.CryptoAllPermission; 
-};
--- a/makefiles/mapfiles/libjava/mapfile-vers	Wed Aug 01 11:06:44 2012 -0400
+++ b/makefiles/mapfiles/libjava/mapfile-vers	Wed Aug 01 11:08:11 2012 -0400
@@ -232,7 +232,6 @@
 		Java_java_security_AccessController_doPrivileged__Ljava_security_PrivilegedExceptionAction_2Ljava_security_AccessControlContext_2;
 		Java_java_security_AccessController_getStackAccessControlContext;
 		Java_java_security_AccessController_getInheritedAccessControlContext;
-		Java_java_sql_DriverManager_getCallerClassLoader;
 		Java_java_util_ResourceBundle_getClassContext;
 		Java_java_util_TimeZone_getSystemTimeZoneID;
 		Java_java_util_TimeZone_getSystemGMTOffsetID;
--- a/makefiles/mapfiles/libjfr/mapfile-vers	Wed Aug 01 11:06:44 2012 -0400
+++ b/makefiles/mapfiles/libjfr/mapfile-vers	Wed Aug 01 11:08:11 2012 -0400
@@ -6,34 +6,34 @@
 # Define library interface.
 
 SUNWprivate_1.1 {
-	global:
-	    Java_oracle_jrockit_jfr_util_os_Process_getpid;
-	    Java_oracle_jrockit_jfr_util_os_Timing_counterTime;
-	    Java_oracle_jrockit_jfr_util_os_Timing_init;
-	    Java_oracle_jrockit_jfr_util_log_NativeLogger_output0;
-	    Java_oracle_jrockit_jfr_VMJFR_isEnabled;
-	    Java_oracle_jrockit_jfr_VMJFR_options;
-	    Java_oracle_jrockit_jfr_VMJFR_init;
-	    Java_oracle_jrockit_jfr_VMJFR_addConstPool;
-	    Java_oracle_jrockit_jfr_VMJFR_removeConstPool;
-	    Java_oracle_jrockit_jfr_VMJFR_storeConstPool;
-	    Java_oracle_jrockit_jfr_VMJFR_classID;
-	    Java_oracle_jrockit_jfr_VMJFR_stackTraceID;
-	    Java_oracle_jrockit_jfr_VMJFR_threadID;
-	    Java_oracle_jrockit_jfr_VMJFR_rotate;
-	    Java_oracle_jrockit_jfr_VMJFR_shutdown;
-	    Java_oracle_jrockit_jfr_VMJFR_start;
-	    Java_oracle_jrockit_jfr_VMJFR_stop;
-	    Java_oracle_jrockit_jfr_VMJFR_buffer;
-	    Java_oracle_jrockit_jfr_VMJFR_flush;
-	    Java_oracle_jrockit_jfr_VMJFR_write;
-	    Java_oracle_jrockit_jfr_VMJFR_add;
-	    Java_oracle_jrockit_jfr_VMJFR_remove;
-	    Java_oracle_jrockit_jfr_VMJFR_setThreshold;
-	    Java_oracle_jrockit_jfr_VMJFR_setPeriod;
-	    Java_oracle_jrockit_jfr_VMJFR_getPeriod;
-	    Java_oracle_jrockit_jfr_VMJFR_descriptors;
+  global:
+      Java_oracle_jrockit_jfr_Process_getpid;
+      Java_oracle_jrockit_jfr_Timing_counterTime;
+      Java_oracle_jrockit_jfr_Timing_init;
+      Java_oracle_jrockit_jfr_NativeLogger_output0;
+      Java_oracle_jrockit_jfr_VMJFR_isEnabled;
+      Java_oracle_jrockit_jfr_VMJFR_options;
+      Java_oracle_jrockit_jfr_VMJFR_init;
+      Java_oracle_jrockit_jfr_VMJFR_addConstPool;
+      Java_oracle_jrockit_jfr_VMJFR_removeConstPool;
+      Java_oracle_jrockit_jfr_VMJFR_storeConstPool;
+      Java_oracle_jrockit_jfr_VMJFR_classID;
+      Java_oracle_jrockit_jfr_VMJFR_stackTraceID;
+      Java_oracle_jrockit_jfr_VMJFR_threadID;
+      Java_oracle_jrockit_jfr_VMJFR_rotate;
+      Java_oracle_jrockit_jfr_VMJFR_shutdown;
+      Java_oracle_jrockit_jfr_VMJFR_start;
+      Java_oracle_jrockit_jfr_VMJFR_stop;
+      Java_oracle_jrockit_jfr_VMJFR_buffer;
+      Java_oracle_jrockit_jfr_VMJFR_flush;
+      Java_oracle_jrockit_jfr_VMJFR_write;
+      Java_oracle_jrockit_jfr_VMJFR_add;
+      Java_oracle_jrockit_jfr_VMJFR_remove;
+      Java_oracle_jrockit_jfr_VMJFR_setThreshold;
+      Java_oracle_jrockit_jfr_VMJFR_setPeriod;
+      Java_oracle_jrockit_jfr_VMJFR_getPeriod;
+      Java_oracle_jrockit_jfr_VMJFR_descriptors;
             JNI_OnLoad;
-	local:
-	    *;
+  local:
+      *;
 };
--- a/makefiles/mapfiles/libnio/mapfile-linux	Wed Aug 01 11:06:44 2012 -0400
+++ b/makefiles/mapfiles/libnio/mapfile-linux	Wed Aug 01 11:08:11 2012 -0400
@@ -39,7 +39,6 @@
                 Java_sun_nio_ch_EPollArrayWrapper_epollCreate;
                 Java_sun_nio_ch_EPollArrayWrapper_epollCtl;
                 Java_sun_nio_ch_EPollArrayWrapper_epollWait;
-		Java_sun_nio_ch_EPollArrayWrapper_fdLimit;
 		Java_sun_nio_ch_EPollArrayWrapper_init;
 		Java_sun_nio_ch_EPollArrayWrapper_interrupt;
 		Java_sun_nio_ch_EPollArrayWrapper_offsetofData;
@@ -87,7 +86,9 @@
                 Java_sun_nio_ch_IOUtil_configureBlocking;
                 Java_sun_nio_ch_IOUtil_drain;
                 Java_sun_nio_ch_IOUtil_fdVal;
+		Java_sun_nio_ch_IOUtil_fdLimit;
                 Java_sun_nio_ch_IOUtil_initIDs;
+		Java_sun_nio_ch_IOUtil_iovMax;
                 Java_sun_nio_ch_IOUtil_makePipe;
                 Java_sun_nio_ch_IOUtil_randomBytes;
                 Java_sun_nio_ch_IOUtil_setfdVal;
--- a/makefiles/mapfiles/libnio/mapfile-solaris	Wed Aug 01 11:06:44 2012 -0400
+++ b/makefiles/mapfiles/libnio/mapfile-solaris	Wed Aug 01 11:08:11 2012 -0400
@@ -36,7 +36,6 @@
                 Java_sun_nio_ch_DatagramDispatcher_readv0;
                 Java_sun_nio_ch_DatagramDispatcher_write0;
                 Java_sun_nio_ch_DatagramDispatcher_writev0;
-                Java_sun_nio_ch_DevPollArrayWrapper_fdLimit;
                 Java_sun_nio_ch_DevPollArrayWrapper_init;
                 Java_sun_nio_ch_DevPollArrayWrapper_interrupt;
                 Java_sun_nio_ch_DevPollArrayWrapper_poll0;
@@ -74,8 +73,10 @@
 		Java_sun_nio_ch_InheritedChannel_soType0;
                 Java_sun_nio_ch_IOUtil_configureBlocking;
                 Java_sun_nio_ch_IOUtil_drain;
+		Java_sun_nio_ch_IOUtil_fdLimit;
                 Java_sun_nio_ch_IOUtil_fdVal;
                 Java_sun_nio_ch_IOUtil_initIDs;
+		Java_sun_nio_ch_IOUtil_iovMax;
                 Java_sun_nio_ch_IOUtil_makePipe;
                 Java_sun_nio_ch_IOUtil_randomBytes;
                 Java_sun_nio_ch_IOUtil_setfdVal;
@@ -112,13 +113,13 @@
 		Java_sun_nio_ch_UnixAsynchronousServerSocketChannelImpl_accept0;
 		Java_sun_nio_ch_UnixAsynchronousServerSocketChannelImpl_initIDs;
 		Java_sun_nio_ch_UnixAsynchronousSocketChannelImpl_checkConnect;
-		Java_sun_nio_ch_SolarisEventPort_init;
-		Java_sun_nio_ch_SolarisEventPort_portCreate;
-		Java_sun_nio_ch_SolarisEventPort_portClose;
-		Java_sun_nio_ch_SolarisEventPort_portAssociate;
-		Java_sun_nio_ch_SolarisEventPort_portGet;
-		Java_sun_nio_ch_SolarisEventPort_portGetn;
-		Java_sun_nio_ch_SolarisEventPort_portSend;
+		Java_sun_nio_ch_SolarisEventPort_port_1create;
+		Java_sun_nio_ch_SolarisEventPort_port_1close;
+		Java_sun_nio_ch_SolarisEventPort_port_1associate;
+		Java_sun_nio_ch_SolarisEventPort_port_1dissociate;
+		Java_sun_nio_ch_SolarisEventPort_port_1get;
+		Java_sun_nio_ch_SolarisEventPort_port_1getn;
+		Java_sun_nio_ch_SolarisEventPort_port_1send;
 		Java_sun_nio_fs_GnomeFileTypeDetector_initializeGio;
 		Java_sun_nio_fs_GnomeFileTypeDetector_probeUsingGio;
 		Java_sun_nio_fs_GnomeFileTypeDetector_initializeGnomeVfs;
--- a/makefiles/mkdemo/Makefile	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-#
-# Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code 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
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-#
-# Makefile for building all the demos
-#
-
-BUILDDIR = ..
-PRODUCT = demos
-include $(BUILDDIR)/common/Defs.gmk
-
-SUBDIRS            = jni
-SUBDIRS_desktop    = 
-SUBDIRS_management = 
-SUBDIRS_misc       = 
-SUBDIRS_tools      = jvmti
-
-include $(BUILDDIR)/common/Subdirs.gmk
-
-TOPLEVEL_FILES =							\
-	$(DEMODIR)/README
-
-all build:: nbproject
-	$(SUBDIRS-loop)
-
-all build:: $(TOPLEVEL_FILES)
-
-nbproject:
-	$(RM) -r $(DEMODIR)/nbproject
-	$(MKDIR) -p $(DEMODIR)
-	( $(CD) $(SHARE_SRC)/demo && $(TAR) -cf - \
-	  `$(FIND) nbproject $(SCM_DIRS_prune) -o -type f -print` ) | \
-	  ( $(CD) $(DEMODIR) && $(TAR) -xf - )
-ifndef OPENJDK
-	( $(CD) $(CLOSED_SHARE_SRC)/demo && $(TAR) -cf - \
-	  `$(FIND) nbproject $(SCM_DIRS_prune) -o -type f -print` ) | \
-	  ( $(CD) $(DEMODIR) && $(TAR) -xf - )
-endif
-
-$(DEMODIR)/%: $(DEMOSRCDIR)/%
-	$(install-file)
-
-clean clobber::
-	$(SUBDIRS-loop)
-	$(RM) -r $(DEMODIR)
-	$(RM) -r $(DEMOCLASSDIR)
--- a/makefiles/mkdemo/jni/Makefile	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-#
-# Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code 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
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-#
-# Makefile for building the jni demo(s)
-#
-
-BUILDDIR = ../..
-PRODUCT = demos
-include $(BUILDDIR)/common/Defs.gmk
-
-SUBDIRS =
-
-ifeq ($(PLATFORM),solaris)
-  SUBDIRS += Poller
-endif
-
-include $(BUILDDIR)/common/Subdirs.gmk
-
-all build clean clobber::
-	$(SUBDIRS-loop)
-
--- a/makefiles/mkdemo/jni/Poller/Makefile	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-#
-# Copyright (c) 1999, 2006, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code 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
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-#
-# Build Poller class demo.
-#
-
-BUILDDIR = ../../..
-PRODUCT = demo/jni
-DEMONAME = Poller
-include $(BUILDDIR)/common/Defs.gmk
-
-DEMO_ROOT       = $(PLATFORM_SRC)/demo/jni/$(DEMONAME)
-DEMO_TOPFILES   = ./README.txt
-DEMO_MAINCLASS  = Client
-DEMO_NATIVECLASS= $(DEMONAME)
-DEMO_DESTDIR    = $(DEMODIR)/jni/$(DEMONAME)
-
-#
-# Demo jar building rules.
-#
-include $(BUILDDIR)/common/Demo.gmk
-
--- a/makefiles/mkdemo/jvmti/Makefile	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-#
-# Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code 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
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-#
-# Makefile for building the jvmti demo(s)
-#
-
-BUILDDIR = ../..
-PRODUCT = demos
-include $(BUILDDIR)/common/Defs.gmk
-
-# Can be built in any order, the JRE version of hprof and java_crw_demo are
-#   really built in make/java.
-#   The hprof target here just delivers the sources and README files.
-#   The java_crw_demo and agent_util files are copied into each demo that
-#   uses them.
-SUBDIRS = \
-	  hprof
-
-include $(BUILDDIR)/common/Subdirs.gmk
-
-all build clean clobber::
-	$(SUBDIRS-loop)
-
-all build :: $(DEMODIR)/jvmti/index.html
-
-$(DEMODIR)/jvmti/index.html: $(SHARE_SRC)/demo/jvmti/index.html
-	$(install-file)
-
--- a/makefiles/mkdemo/jvmti/README.txt	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +0,0 @@
-#
-# Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code 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
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-Instructions on adding a jvmti demo agent.
-
-Basically you want to mimic the jvmti demo agent "mtrace".
-
-* Create and populate a source directory at src/share/demo/jvmti
-  (Try and re-use code in agent_util area like src/share/demo/jvmti/mtrace)
-  (This should include a small README.txt document on what this demo is)
-
-* Make sure the appropriate "demo" copyright notice is added to all the
-  source files.
-
-* Edit src/share/demo/jvmti/index.html and add in reference to this demo.
-
-* Create make directory at make/mkdemo/jvmti
-  (Mimic make/mkdemo/jvmti/mtrace/Makefile)
-
-* Edit make/mkdemo/jvmti/Makefile and add in the new demo
-
-* Create test directory at test/demo/jvmti, create at least one test
-  (Use test/demo/jvmti/mtrace as a template)
-
-* Don't forget to check in all the new files
-
-* Build and create images (cd make && gnumake && gnumake images)
-  (Do this on Solaris, Linux, and at least one Windows platform)
-
-* Verify that browsing build/*/j2sdk-images/demo/jvmti looks right
-
-* Run the tests: cd test/demo/jvmti && runregress .
-  (Do this on Solaris, Linux, and at least one Windows platform)
-
-Contact: serviceability-dev@openjdk.java.net for more information or help.
-
--- a/makefiles/mkdemo/jvmti/hprof/Makefile	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-#
-# Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code 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
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-BUILDDIR = ../../..
-PRODUCT = demo/jvmti
-DEMONAME = hprof
-include $(BUILDDIR)/common/Defs.gmk
-
-DEMO_ROOT       = $(SHARE_SRC)/demo/jvmti/$(DEMONAME)
-DEMO_TOPFILES   = ./README.txt
-DEMO_PSRCDIR    = $(PLATFORM_SRC)/demo/jvmti/$(DEMONAME)
-DEMO_DESTDIR    = $(DEMODIR)/jvmti/$(DEMONAME)
-
-DEMO_OBJECTS    = java_crw_demo.$(OBJECT_SUFFIX)
-
-ifeq ($(PLATFORM), windows)
-  EXTRA_LIBS += wsock32.lib winmm.lib
-endif
-ifeq ($(PLATFORM), solaris)
-  OTHER_LDLIBS += $(LIBSOCKET) $(LIBNSL) -ldl
-endif
-ifeq ($(PLATFORM), linux)
-  OTHER_LDLIBS += $(LIBSOCKET) $(LIBNSL) -ldl -lpthread
-endif
-
-#
-# Demo jar building rules.
-#
-include $(BUILDDIR)/common/Demo.gmk
-
--- a/makefiles/mkdemo/jvmti/mapfile-vers	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-#
-# Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code 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
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-# Define public interface for a Java JVMTI agent library (Solaris & Linux).
-
-SUNWprivate_1.1 {
-	global:
-	    Agent_OnLoad;
-	    Agent_OnUnload;
-	local:
-	    *;
-};
--- a/makefiles/mkdemo/management/README.txt	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-#
-# Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code 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
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-Instructions on adding a java.lang.management demo.
-
-Basically you want to mimic the java.lang.management demo "FullThreadDump".
-
-* Create and populate a source directory at src/demo/management
-  (This should include a small README.txt document on what this demo is)
-
-* Make sure the appropriate "demo" copyright notice is added to all the
-  source files.
-
-* Edit src/share/demo/management/index.html and add in reference to this demo.
-
-* Create make directory at make/mkdemo/management
-  (Mimic make/mkdemo/management/FullThreadDump/Makefile)
-
-* Edit make/mkdemo/management/Makefile and add in the new demo
-
-* Create test directory at test/demo/management, create at least one test
-  (Use test/demo/management/FullThreadDump as a template)
-
-* Don't forget to put all files under SCM control
-
-* Build and create images (cd make && gnumake && gnumake images)
-  (Do this on Solaris, Linux, and at least one Windows platform)
-
-* Verify that browsing build/*/j2sdk-images/demo/management looks right
-
-* Run the tests: cd test/demo/management && runregress .
-  (Do this on Solaris, Linux, and at least one Windows platform)
-
-Contact: jk-svc-group@sun.com for more information or help.
-
--- a/makefiles/sun/jkernel/Makefile	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,94 +0,0 @@
-#
-# Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code 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
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-BUILDDIR = ../..
-MODULE  = jkernel
-PACKAGE = sun.jkernel
-LIBRARY = jkernel
-PRODUCT = sun
-
-include $(BUILDDIR)/common/Defs.gmk
-
-#
-# Use highest optimization level
-#
-_OPT = $(CC_HIGHEST_OPT)
-
-#
-# Java source files
-#
-include FILES_java.gmk
-AUTO_FILES_JAVA_DIRS = sun/jkernel
-
-LOCALE_SUFFIXES = $(JDK_LOCALES)
-
-#
-# Native source files
-#
-
-ifeq ($(ARCH_DATA_MODEL), 32) 
-
-ifeq ($(PLATFORM), windows)
-
-# If this is the VS Express compiler it will lack vc/atlmfc/
-ATL_MFC_DIR :=$(call DirExists,$(COMPILER_PATH)/../atlmfc,,)
-
-ifneq ($(ATL_MFC_DIR),)
-
-include FILES_c_windows.gmk
-
-vpath %.cpp   $(PLATFORM_SRC)/native/sun/jkernel
-
-
-VERSIONINFO_RESOURCE = $(PLATFORM_SRC)/native/sun/jkernel/kernel.rc
-
-LDLIBS += urlmon.lib wininet.lib shlwapi.lib version.lib comctl32.lib gdi32.lib -def:$(PLATFORM_SRC)/native/sun/jkernel/kernel.def
-
-include $(BUILDDIR)/common/Library.gmk
-
-endif
-
-endif
-
-endif
-
-#
-# Resources
-#
-include $(JDK_TOPDIR)/makefiles/common/internal/Resources.gmk
-
-#
-# Rules
-#
-include $(BUILDDIR)/common/Classes.gmk
-
-# If extra compression is going to be available in the deploy build enable 
-# its use here by defining the JRE-relative pathname of the shared library
-
-ifeq ($(PLATFORM), windows)
-  ifdef EXTRA_COMP_INSTALL_PATH
-    CPPFLAGS += -DEXTRA_COMP_INSTALL_PATH=$(EXTRA_COMP_INSTALL_PATH)
-  endif
-endif
--- a/makefiles/sun/security/ec/Makefile	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,333 +0,0 @@
-#
-# Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code 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
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-#
-# Makefile for building sunec.jar and sunec native library.
-#
-# This file was derived from make/com/sun/crypto/provider/Makefile.
-#
-
-#
-# (The terms "OpenJDK" and "JDK" below refer to OpenJDK and Sun JDK builds
-# respectively.)
-#
-# JCE builds are very different between OpenJDK and JDK.  The OpenJDK JCE
-# jar files do not require signing, but those for JDK do.  If an unsigned
-# jar file is installed into JDK, things will break when the crypto
-# routines are called.
-#
-# This Makefile does the "real" build of the JCE files.  For OpenJDK,
-# the jar files built here are installed directly into the OpenJDK.
-#
-# For JDK, the binaries use pre-built/pre-signed binary files stored in
-# the closed workspace that are not shipped in the OpenJDK workspaces.
-# We still build the JDK files here to verify the files compile, and in
-# preparation for possible signing.  Developers working on JCE in JDK
-# must sign the JCE files before testing.  The JCE signing key is kept
-# separate from the JDK workspace to prevent its disclosure.
-#
-# SPECIAL NOTE TO JCE/JDK developers:  The source files must eventually
-# be built, signed, and then the resulting jar files MUST BE CHECKED
-# INTO THE CLOSED PART OF THE WORKSPACE*.  This separate step *MUST NOT
-# BE FORGOTTEN*, otherwise a bug fixed in the source code will not be
-# reflected in the shipped binaries.  The "release" target should be
-# used to generate the required files.
-#
-# There are a number of targets to help both JDK/OpenJDK developers.
-#
-# Main Targets (JDK/OPENJDK):
-#
-#     all/clobber/clean		The usual, plus the native libraries.
-#				    If OpenJDK, installs sunec.jar.
-#				    If JDK, installs prebuilt
-#				    sunec.jar.
-#
-#     jar			Builds/installs sunec.jar
-#				    If OpenJDK, does not sign.
-#				    If JDK, tries to sign.
-#
-# Other lesser-used Targets (JDK/OPENJDK):
-#
-#     build-jar			Builds sunec.jar
-#				    (does not sign/install)
-#
-#     install-jar		Alias for "jar" above.
-#
-# Other targets (JDK only):
-#
-#     sign			Alias for sign-jar
-#	  sign-jar		Builds/signs sunec.jar (no install)
-#
-#     release			Builds all targets in preparation
-#				for workspace integration.
-#
-#     install-prebuilt		Installs the pre-built jar files
-#
-# This makefile was written to support parallel target execution.
-#
-
-BUILDDIR = ../../..
-PACKAGE = sun.security.ec
-PRODUCT = sun
-
-#
-# The following is for when we need to do postprocessing
-# (signing) against a read-only build.  If the OUTPUTDIR
-# isn't writable, the build currently crashes out.
-#
-ifndef OPENJDK
-  ifdef ALT_JCE_BUILD_DIR
-    # =====================================================
-    # Where to place the output, in case we're building from a read-only
-    # build area.  (e.g. a release engineering build.)
-    JCE_BUILD_DIR=${ALT_JCE_BUILD_DIR}
-    IGNORE_WRITABLE_OUTPUTDIR_TEST=true
-  else
-    JCE_BUILD_DIR=${TEMPDIR}
-  endif
-endif
-
-JAVAC_MAX_WARNINGS=false
-JAVAC_LINT_OPTIONS=-Xlint:all,-deprecation
-JAVAC_WARNINGS_FATAL=true
-include $(BUILDDIR)/common/Defs.gmk
-
-#
-# Location for the newly built classfiles.
-#
-CLASSDESTDIR = $(TEMPDIR)/classes
-
-#
-# Java files
-#
-AUTO_FILES_JAVA_DIRS = $(PKGDIR)
-
-#
-# Exclude the sources that get built by ../other/Makefile
-#
-AUTO_JAVA_PRUNE = \
-    ECKeyFactory.java \
-    ECParameters.java \
-    ECPrivateKeyImpl.java \
-    ECPublicKeyImpl.java \
-    NamedCurve.java
-
-#
-# Some licensees do not get the native ECC sources, but we still need to
-# be able to build "all" for them.  Check here to see if the sources are
-# available.  If not, then skip them.
-#
-
-NATIVE_ECC_AVAILABLE := $(shell \
-    if [ -d $(SHARE_SRC)/native/$(PKGDIR)/impl ] ; then \
-	$(ECHO) true; \
-    else \
-	$(ECHO) false; \
-    fi)
-
-ifeq ($(NATIVE_ECC_AVAILABLE), true)
-
-  LIBRARY = sunec
-
-  #
-  # Java files that define native methods
-  #
-  FILES_export = \
-      $(PKGDIR)/ECDHKeyAgreement.java \
-      $(PKGDIR)/ECDSASignature.java \
-      $(PKGDIR)/ECKeyPairGenerator.java
-
-  JAVAHFLAGS = -bootclasspath \
-    "$(CLASSDESTDIR)$(CLASSPATH_SEPARATOR)$(CLASSBINDIR)$(JCE_PATH)"
-
-  #
-  # C and C++ files
-  #
-  include FILES_c.gmk
-
-  FILES_cpp = ECC_JNI.cpp
-
-  CPLUSPLUSLIBRARY=true
-
-  FILES_m = mapfile-vers
-
-  #
-  # Find native code
-  #
-  vpath %.cpp $(SHARE_SRC)/native/$(PKGDIR)
-
-  vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/impl
-
-  #
-  # Find include files
-  #
-  OTHER_INCLUDES += -I$(SHARE_SRC)/native/$(PKGDIR)/impl
-
-  #
-  # Compiler flags
-  #
-  OTHER_CFLAGS += -DMP_API_COMPATIBLE -DNSS_ECC_MORE_THAN_SUITE_B
-
-  #
-  # Libraries to link
-  #
-  ifneq ($(PLATFORM), windows)
-    OTHER_LDLIBS = $(LIBCXX)
-  endif
-
-  include $(BUILDDIR)/common/Mapfile-vers.gmk
-
-  include $(BUILDDIR)/common/Library.gmk
-
-else # NATIVE_ECC_AVAILABLE
-
-  include $(BUILDDIR)/common/Classes.gmk
-
-endif # NATIVE_ECC_AVAILABLE
-
-#
-# We use a variety of subdirectories in the $(TEMPDIR) depending on what
-# part of the build we're doing.  Both OPENJDK/JDK builds are initially
-# done in the unsigned area.  When files are signed in JDK,
-# they will be placed in the appropriate area.
-#
-UNSIGNED_DIR = $(TEMPDIR)/unsigned
-
-include $(BUILDDIR)/javax/crypto/Defs-jce.gmk
-
-#
-# Rules
-#
-
-ifdef OPENJDK
-all: build-jar install-jar
-else
-all: build-jar install-prebuilt
-	$(build-warning)
-endif
-
-
-# =====================================================
-# Build the unsigned sunec.jar file.
-#
-
-JAR_DESTFILE = $(EXTDIR)/sunec.jar
-
-#
-# Since the -C option to jar is used below, each directory entry must be
-# preceded with the appropriate directory to "cd" into.
-#
-JAR_DIRS = $(patsubst %, -C $(CLASSDESTDIR) %, $(AUTO_FILES_JAVA_DIRS))
-
-build-jar: $(UNSIGNED_DIR)/sunec.jar
-
-#
-# Build sunec.jar.
-#
-$(UNSIGNED_DIR)/sunec.jar: build
-	$(prep-target)
-	$(BOOT_JAR_CMD) cf $@ $(JAR_DIRS) \
-	    $(BOOT_JAR_JFLAGS)
-	@$(java-vm-cleanup)
-
-
-ifndef OPENJDK
-# =====================================================
-# Sign the provider jar file.  Not needed for OpenJDK.
-#
-
-SIGNED_DIR = $(JCE_BUILD_DIR)/signed
-
-sign: sign-jar
-
-sign-jar: $(SIGNED_DIR)/sunec.jar
-
-ifndef ALT_JCE_BUILD_DIR
-$(SIGNED_DIR)/sunec.jar: $(UNSIGNED_DIR)/sunec.jar
-else
-#
-# We have to remove the build dependency, otherwise, we'll try to rebuild it
-# which we can't do on a read-only filesystem.
-#
-$(SIGNED_DIR)/sunec.jar:
-	@if [ ! -r $(UNSIGNED_DIR)/sunec.jar ] ; then \
-	    $(ECHO) "Couldn't find $(UNSIGNED_DIR)/sunec.jar"; \
-	    exit 1; \
-	fi
-endif
-	$(call sign-file, $(UNSIGNED_DIR)/sunec.jar)
-
-
-# =====================================================
-# Create the Release Engineering files.  Signed builds, etc.
-#
-
-release: $(SIGNED_DIR)/sunec.jar
-	$(RM) $(JCE_BUILD_DIR)/release/sunec.jar
-	$(MKDIR) -p $(JCE_BUILD_DIR)/release
-	$(CP) $(SIGNED_DIR)/sunec.jar $(JCE_BUILD_DIR)/release
-	$(release-warning)
-
-endif # OPENJDK
-
-
-# =====================================================
-# Install routines.
-#
-
-#
-# Install sunec.jar, depending on which type is requested.
-#
-install-jar jar: $(JAR_DESTFILE)
-ifndef OPENJDK
-	$(release-warning)
-endif
-
-ifdef OPENJDK
-$(JAR_DESTFILE): $(UNSIGNED_DIR)/sunec.jar
-else
-$(JAR_DESTFILE): $(SIGNED_DIR)/sunec.jar
-endif
-	$(install-file)
-
-ifndef OPENJDK
-install-prebuilt:
-	@$(ECHO) "\n>>>Installing prebuilt SunEC provider..."
-	$(RM) $(JAR_DESTFILE)
-	$(CP) $(PREBUILT_DIR)/ec/sunec.jar $(JAR_DESTFILE)
-endif
-
-
-# =====================================================
-# Support routines.
-#
-
-clobber clean::
-	$(RM) -r $(JAR_DESTFILE) $(TEMPDIR) $(JCE_BUILD_DIR)
-
-.PHONY: build-jar jar install-jar
-ifndef OPENJDK
-.PHONY: sign sign-jar release install-prebuilt
-endif
--- a/makefiles/sun/security/pkcs11/FILES_c.gmk	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-#
-# Copyright (c) 2003, 2007, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code 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
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-FILES_c = \
-	j2secmod.c \
-	j2secmod_md.c \
-	p11_convert.c \
-	p11_crypt.c \
-	p11_digest.c \
-	p11_dual.c \
-	p11_general.c \
-	p11_keymgmt.c \
-	p11_mutex.c \
-	p11_objmgmt.c \
-	p11_sessmgmt.c \
-	p11_sign.c \
-	p11_util.c \
-	p11_md.c
-
--- a/makefiles/sun/security/pkcs11/Makefile	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,313 +0,0 @@
-#
-# Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code 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
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-#
-# Makefile for building sunpkcs11.jar and native libraries.
-#
-# This file was derived from make/com/sun/crypto/provider/Makefile.
-#
-
-#
-# (The terms "OpenJDK" and "JDK" below refer to OpenJDK and Sun JDK builds
-# respectively.)
-#
-# JCE builds are very different between OpenJDK and JDK.  The OpenJDK JCE
-# jar files do not require signing, but those for JDK do.  If an unsigned
-# jar file is installed into JDK, things will break when the crypto
-# routines are called.
-#
-# This Makefile does the "real" build of the JCE files.  For OpenJDK,
-# the jar files built here are installed directly into the OpenJDK.
-#
-# For JDK, the binaries use pre-built/pre-signed binary files stored in
-# the closed workspace that are not shipped in the OpenJDK workspaces.
-# We still build the JDK files here to verify the files compile, and in
-# preparation for possible signing.  Developers working on JCE in JDK
-# must sign the JCE files before testing.  The JCE signing key is kept
-# separate from the JDK workspace to prevent its disclosure.
-#
-# SPECIAL NOTE TO JCE/JDK developers:  The source files must eventually
-# be built, signed, and then the resulting jar files MUST BE CHECKED
-# INTO THE CLOSED PART OF THE WORKSPACE*.  This separate step *MUST NOT
-# BE FORGOTTEN*, otherwise a bug fixed in the source code will not be
-# reflected in the shipped binaries.  The "release" target should be
-# used to generate the required files.
-#
-# There are a number of targets to help both JDK/OpenJDK developers.
-#
-# Main Targets (JDK/OPENJDK):
-#
-#     all/clobber/clean        The usual, plus the native libraries.
-#                                  If OpenJDK, installs sunpkcs11.jar.
-#                                  If JDK, installs prebuilt
-#                                      sunpkcs11.jar.
-#
-#     jar                      Builds/installs sunpkcs11.jar
-#                                  If OpenJDK, does not sign.
-#                                  If JDK, tries to sign.
-#
-# Other lesser-used Targets (JDK/OPENJDK):
-#
-#     build-jar                Builds sunpkcs11.jar
-#                                  (does not sign/install)
-#
-#     install-jar              Alias for "jar" above.
-#
-# Other targets (JDK only):
-#
-#     sign                     Alias for sign-jar
-#          sign-jar            Builds/signs sunpkcs11.jar (no install)
-#
-#     release                  Builds all targets in preparation
-#                              for workspace integration.
-#
-#     install-prebuilt         Installs the pre-built jar files
-#
-# This makefile was written to support parallel target execution.
-#
-
-BUILDDIR = ../../..
-PACKAGE = sun.security.pkcs11
-LIBRARY = j2pkcs11
-PRODUCT = sun
-
-#
-# The following is for when we need to do postprocessing
-# (signing/obfuscation) against a read-only build.  If the OUTPUTDIR
-# isn't writable, the build currently crashes out.
-#
-ifndef OPENJDK
-  ifdef ALT_JCE_BUILD_DIR
-    # =====================================================
-    # Where to place the output, in case we're building from a read-only
-    # build area.  (e.g. a release engineering build.)
-    JCE_BUILD_DIR=${ALT_JCE_BUILD_DIR}
-    IGNORE_WRITABLE_OUTPUTDIR_TEST=true
-  else
-    JCE_BUILD_DIR=${TEMPDIR}
-  endif
-endif
-
-JAVAC_MAX_WARNINGS=false
-JAVAC_LINT_OPTIONS=-Xlint:all,-deprecation
-JAVAC_WARNINGS_FATAL=true
-include $(BUILDDIR)/common/Defs.gmk
-
-#
-# C and Java Files
-#
-include FILES_c.gmk
-
-#
-# Subdirectories of these are automatically included.
-#
-AUTO_FILES_JAVA_DIRS = sun/security/pkcs11
-
-#
-# Java files that define native methods
-#
-FILES_export = \
-    sun/security/pkcs11/wrapper/PKCS11.java \
-    sun/security/pkcs11/Secmod.java
-
-#
-# Find native code
-#
-vpath %.c \
-  $(SHARE_SRC)/native/sun/security/pkcs11/wrapper \
-  $(PLATFORM_SRC)/native/sun/security/pkcs11/wrapper \
-
-#
-# Find include files
-#
-OTHER_INCLUDES += \
-  -I$(SHARE_SRC)/native/sun/security/pkcs11/wrapper \
-  -I$(PLATFORM_SRC)/native/sun/security/pkcs11/wrapper
-
-#
-# Rules
-#
-CLASSDESTDIR = $(TEMPDIR)/classes
-JAVAHFLAGS = -bootclasspath \
-  "$(CLASSDESTDIR)$(CLASSPATH_SEPARATOR)$(CLASSBINDIR)$(JCE_PATH)"
-
-include $(BUILDDIR)/common/Mapfile-vers.gmk
-
-include $(BUILDDIR)/common/Library.gmk
-
-#
-# Libraries to link
-#
-ifneq ($(PLATFORM), windows)
-  OTHER_LDLIBS = $(LIBDL)
-endif
-
-# Other config files
-SUNPKCS11_CFG   =
-
-ifeq ($(PLATFORM), solaris)
-#SUNPKCS11_CFG   = sunpkcs11-cfg
-endif # PLATFORM
-
-SUNPKCS11_CFG_SRC   = $(TOPDIR)/src/share/lib/security/sunpkcs11-solaris.cfg
-SUNPKCS11_CFG_BUILD = $(LIBDIR)/security/sunpkcs11-solaris.cfg
-
-#
-# We use a variety of subdirectories in the $(TEMPDIR) depending on what
-# part of the build we're doing.  Both OPENJDK/JDK builds are initially
-# done in the unsigned area.  When files are signed in JDK,
-# they will be placed in the appropriate area.
-#
-UNSIGNED_DIR = $(TEMPDIR)/unsigned
-
-#
-# Rules
-#
-
-ifdef OPENJDK
-all: $(SUNPKCS11_CFG) build-jar install-jar
-else
-all: $(SUNPKCS11_CFG) build-jar install-prebuilt
-	$(build-warning)
-endif
-
-sunpkcs11-cfg: $(SUNPKCS11_CFG_BUILD)
-
-$(SUNPKCS11_CFG_BUILD): $(SUNPKCS11_CFG_SRC)
-	$(install-file)
-
-include $(BUILDDIR)/javax/crypto/Defs-jce.gmk
-
-
-# =====================================================
-# Build the unsigned sunpkcs11.jar file.
-#
-
-JAR_DESTFILE = $(EXTDIR)/sunpkcs11.jar
-
-#
-# The sunpkcs11.jar needs to be in the extension class directory,
-# therefore none of its classes can appear in $(CLASSBINDIR). 
-# Currently no one is using any of the PKCS11 internals, so these files
-# should not have been built.
-#
-
-#
-# Since the -C option to jar is used below, each directory entry must be
-# preceded with the appropriate directory to "cd" into.
-#
-JAR_DIRS = $(patsubst %, -C $(CLASSDESTDIR) %, $(AUTO_FILES_JAVA_DIRS))
-
-build-jar: $(UNSIGNED_DIR)/sunpkcs11.jar
-
-#
-# Build sunpkcs11.jar.
-#
-$(UNSIGNED_DIR)/sunpkcs11.jar: build
-	$(prep-target)
-	$(BOOT_JAR_CMD) cf $@ $(JAR_DIRS) \
-	    $(BOOT_JAR_JFLAGS)
-	@$(java-vm-cleanup)
-
-
-ifndef OPENJDK
-# =====================================================
-# Sign the provider jar file.  Not needed for OpenJDK.
-#
-
-SIGNED_DIR = $(JCE_BUILD_DIR)/signed
-
-sign: sign-jar
-
-sign-jar: $(SIGNED_DIR)/sunpkcs11.jar
-
-ifndef ALT_JCE_BUILD_DIR
-$(SIGNED_DIR)/sunpkcs11.jar: $(UNSIGNED_DIR)/sunpkcs11.jar
-else
-#
-# We have to remove the build dependency, otherwise, we'll try to rebuild it
-# which we can't do on a read-only filesystem.
-#
-$(SIGNED_DIR)/sunpkcs11.jar:
-	@if [ ! -r $(UNSIGNED_DIR)/sunpkcs11.jar ] ; then \
-            $(ECHO) "Couldn't find $(UNSIGNED_DIR)/sunpkcs11.jar"; \
-            exit 1; \
-        fi
-endif
-	$(call sign-file, $(UNSIGNED_DIR)/sunpkcs11.jar)
-
-
-# =====================================================
-# Create the Release Engineering files.  Signed builds, etc.
-#
-
-release: $(SIGNED_DIR)/sunpkcs11.jar
-	$(RM) $(JCE_BUILD_DIR)/release/sunpkcs11.jar
-	$(MKDIR) -p $(JCE_BUILD_DIR)/release
-	$(CP) $(SIGNED_DIR)/sunpkcs11.jar $(JCE_BUILD_DIR)/release
-	$(release-warning)
-
-endif # OPENJDK
-
-
-# =====================================================
-# Install routines.
-#
-
-#
-# Install sunpkcs11.jar, depending on which type is requested.
-#
-install-jar jar: $(JAR_DESTFILE)
-ifndef OPENJDK
-	$(release-warning)
-endif
-
-ifdef OPENJDK
-$(JAR_DESTFILE): $(UNSIGNED_DIR)/sunpkcs11.jar
-else
-$(JAR_DESTFILE): $(SIGNED_DIR)/sunpkcs11.jar
-endif
-	$(install-file)
-
-ifndef OPENJDK
-install-prebuilt:
-	@$(ECHO) "\n>>>Installing prebuilt SunPKCS11 provider..."
-	$(RM) $(JAR_DESTFILE)
-	$(CP) $(PREBUILT_DIR)/pkcs11/sunpkcs11.jar $(JAR_DESTFILE)
-endif
-
-
-# =====================================================
-# Support routines.
-#
-
-clobber clean::
-	$(RM) -r $(JAR_DESTFILE) $(TEMPDIR) $(JCE_BUILD_DIR)
-	$(RM) $(SUNPKCS11_CFG_BUILD) 
-
-.PHONY: build-jar jar install-jar
-ifndef OPENJDK
-.PHONY: sign sign-jar release install-prebuilt
-endif
--- a/makefiles/sun/security/pkcs11/mapfile-vers	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,110 +0,0 @@
-#
-# Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code 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
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-# Define public interface.
-
-SUNWprivate_1.1 {
-	global:
-		JNI_OnLoad;
-		Java_sun_security_pkcs11_wrapper_PKCS11_initializeLibrary;
-		Java_sun_security_pkcs11_wrapper_PKCS11_finalizeLibrary;
-		Java_sun_security_pkcs11_wrapper_PKCS11_connect;
-		Java_sun_security_pkcs11_wrapper_PKCS11_disconnect;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1Initialize;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1Finalize;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1GetInfo;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1GetSlotList;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1GetSlotInfo;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1GetTokenInfo;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1GetMechanismList;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1GetMechanismInfo;
-#		Java_sun_security_pkcs11_wrapper_PKCS11_C_1InitToken;
-#		Java_sun_security_pkcs11_wrapper_PKCS11_C_1InitPIN;
-#		Java_sun_security_pkcs11_wrapper_PKCS11_C_1SetPIN;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1OpenSession;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1CloseSession;
-#		Java_sun_security_pkcs11_wrapper_PKCS11_C_1CloseAllSessions;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1GetSessionInfo;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1GetOperationState;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1SetOperationState;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1Login;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1Logout;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1CreateObject;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1CopyObject;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1DestroyObject;
-#		Java_sun_security_pkcs11_wrapper_PKCS11_C_1GetObjectSize;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1GetAttributeValue;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1SetAttributeValue;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1FindObjectsInit;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1FindObjects;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1FindObjectsFinal;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1EncryptInit;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1Encrypt;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1EncryptUpdate;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1EncryptFinal;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1DecryptInit;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1Decrypt;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1DecryptUpdate;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1DecryptFinal;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1DigestInit;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1DigestSingle;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1DigestUpdate;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1DigestKey;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1DigestFinal;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1SignInit;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1Sign;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1SignUpdate;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1SignFinal;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1SignRecoverInit;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1SignRecover;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1VerifyInit;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1Verify;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1VerifyUpdate;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1VerifyFinal;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1VerifyRecoverInit;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1VerifyRecover;
-#		Java_sun_security_pkcs11_wrapper_PKCS11_C_1DigestEncryptUpdate;
-#		Java_sun_security_pkcs11_wrapper_PKCS11_C_1DecryptDigestUpdate;
-#		Java_sun_security_pkcs11_wrapper_PKCS11_C_1SignEncryptUpdate;
-#		Java_sun_security_pkcs11_wrapper_PKCS11_C_1DecryptVerifyUpdate;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1GenerateKey;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1GenerateKeyPair;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1WrapKey;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1UnwrapKey;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1DeriveKey;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1SeedRandom;
-		Java_sun_security_pkcs11_wrapper_PKCS11_C_1GenerateRandom;
-#		Java_sun_security_pkcs11_wrapper_PKCS11_C_1GetFunctionStatus;
-#		Java_sun_security_pkcs11_wrapper_PKCS11_C_1CancelFunction;
-#		Java_sun_security_pkcs11_wrapper_PKCS11_C_1WaitForSlotEvent;
-		Java_sun_security_pkcs11_Secmod_nssGetLibraryHandle;
-		Java_sun_security_pkcs11_Secmod_nssLoadLibrary;
-		Java_sun_security_pkcs11_Secmod_nssVersionCheck;
-		Java_sun_security_pkcs11_Secmod_nssInit;
-		Java_sun_security_pkcs11_Secmod_nssGetModuleList;
-
-	local:
-		*;
-};
--- a/src/macosx/classes/com/apple/laf/AquaPanelUI.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/macosx/classes/com/apple/laf/AquaPanelUI.java	Wed Aug 01 11:08:11 2012 -0400
@@ -32,10 +32,20 @@
 import com.apple.laf.AquaUtils.RecyclableSingleton;
 import com.apple.laf.AquaUtils.RecyclableSingletonFromDefaultConstructor;
 
+import java.awt.Graphics;
+
 public class AquaPanelUI extends BasicPanelUI {
     static RecyclableSingleton<AquaPanelUI> instance = new RecyclableSingletonFromDefaultConstructor<AquaPanelUI>(AquaPanelUI.class);
 
     public static ComponentUI createUI(final JComponent c) {
         return instance.get();
     }
+
+    @Override
+    public final void update(final Graphics g, final JComponent c) {
+        if (c.isOpaque()) {
+            AquaUtils.fillRect(g, c);
+        }
+        paint(g, c);
+    }
 }
--- a/src/macosx/classes/com/apple/laf/AquaRootPaneUI.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/macosx/classes/com/apple/laf/AquaRootPaneUI.java	Wed Aug 01 11:08:11 2012 -0400
@@ -319,4 +319,12 @@
             updateComponentTreeUIActivation(element, active);
         }
     }
+
+    @Override
+    public final void update(final Graphics g, final JComponent c) {
+        if (c.isOpaque()) {
+            AquaUtils.fillRect(g, c);
+        }
+        paint(g, c);
+    }
 }
--- a/src/macosx/classes/com/apple/laf/AquaToolBarUI.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/macosx/classes/com/apple/laf/AquaToolBarUI.java	Wed Aug 01 11:08:11 2012 -0400
@@ -73,9 +73,7 @@
             g.translate(x, y);
 
             if (c.isOpaque()) {
-                final Color background = c.getBackground();
-                g.setColor(background);
-                g.fillRect(0, 0, w - 1, h - 1);
+                AquaUtils.fillRect(g, c, c.getBackground(), 0, 0, w - 1, h - 1);
             }
 
             final Color oldColor = g.getColor();
@@ -137,4 +135,12 @@
             return true;
         }
     }
+
+    @Override
+    public final void update(final Graphics g, final JComponent c) {
+        if (c.isOpaque()) {
+            AquaUtils.fillRect(g, c);
+        }
+        paint(g, c);
+    }
 }
--- a/src/macosx/classes/com/apple/laf/AquaUtils.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/macosx/classes/com/apple/laf/AquaUtils.java	Wed Aug 01 11:08:11 2012 -0400
@@ -28,18 +28,19 @@
 import java.awt.*;
 import java.awt.image.*;
 import java.lang.ref.SoftReference;
-import java.lang.ref.WeakReference;
 import java.lang.reflect.Method;
 import java.security.PrivilegedAction;
 import java.util.*;
 
 import javax.swing.*;
 import javax.swing.border.Border;
+import javax.swing.plaf.UIResource;
 
 import sun.awt.AppContext;
 
 import sun.lwawt.macosx.CImage;
 import sun.lwawt.macosx.CImage.Creator;
+import sun.lwawt.macosx.CPlatformWindow;
 import sun.swing.SwingUtilities2;
 
 import com.apple.laf.AquaImageFactory.SlicedImageControl;
@@ -389,4 +390,51 @@
             return false;
         }
     }
+
+    protected static boolean isWindowTextured(final Component c) {
+        if (!(c instanceof JComponent)) {
+            return false;
+        }
+        final JRootPane pane = ((JComponent) c).getRootPane();
+        if (pane == null) {
+            return false;
+        }
+        Object prop = pane.getClientProperty(
+                CPlatformWindow.WINDOW_BRUSH_METAL_LOOK);
+        if (prop != null) {
+            return Boolean.parseBoolean(prop.toString());
+        }
+        prop = pane.getClientProperty(CPlatformWindow.WINDOW_STYLE);
+        return prop != null && "textured".equals(prop);
+    }
+
+    private static Color resetAlpha(final Color color) {
+        return new Color(color.getRed(), color.getGreen(), color.getBlue(), 0);
+    }
+
+    protected static void fillRect(final Graphics g, final Component c) {
+        fillRect(g, c, c.getBackground(), 0, 0, c.getWidth(), c.getHeight());
+    }
+
+    protected static void fillRect(final Graphics g, final Component c,
+                                   final Color color, final int x, final int y,
+                                   final int w, final int h) {
+        if (!(g instanceof Graphics2D)) {
+            return;
+        }
+        final Graphics2D cg = (Graphics2D) g.create();
+        try {
+            if (color instanceof UIResource && isWindowTextured(c)
+                    && color.equals(SystemColor.window)) {
+                cg.setComposite(AlphaComposite.Src);
+                cg.setColor(resetAlpha(color));
+            } else {
+                cg.setColor(color);
+            }
+            cg.fillRect(x, y, w, h);
+        } finally {
+            cg.dispose();
+        }
+    }
 }
+
--- a/src/macosx/classes/java/util/prefs/MacOSXPreferences.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/macosx/classes/java/util/prefs/MacOSXPreferences.java	Wed Aug 01 11:08:11 2012 -0400
@@ -35,16 +35,16 @@
     private static final String defaultAppName = "com.apple.java.util.prefs";
 
     // true if this node is a child of userRoot or is userRoot
-    private boolean isUser;
+    private final boolean isUser;
 
     // true if this node is userRoot or systemRoot
-    private boolean isRoot;
+    private final boolean isRoot;
 
     // CF's storage location for this node and its keys
-    private MacOSXPreferencesFile file;
+    private final MacOSXPreferencesFile file;
 
     // absolutePath() + "/"
-    private String path;
+    private final String path;
 
     // User root and system root nodes
     private static MacOSXPreferences userRoot = null;
@@ -73,36 +73,40 @@
 
     // Create a new root node. Called by getUserRoot() and getSystemRoot()
     // Synchronization is provided by the caller.
-    private MacOSXPreferences(boolean newIsUser)
-    {
-        super(null, "");
-        isUser = newIsUser;
-        isRoot = true;
-
-        initFields();
+    private MacOSXPreferences(boolean newIsUser) {
+        this(null, "", false, true, newIsUser);
     }
 
 
     // Create a new non-root node with the given parent.
     // Called by childSpi().
-    private MacOSXPreferences(MacOSXPreferences parent, String name)
+    private MacOSXPreferences(MacOSXPreferences parent, String name) {
+        this(parent, name, false, false, false);
+    }
+
+    private MacOSXPreferences(MacOSXPreferences parent, String name,
+                              boolean isNew)
     {
-        super(parent, name);
-        isUser = isUserNode();
-        isRoot = false;
-
-        initFields();
+        this(parent, name, isNew, false, false);
     }
 
-
-    private void initFields()
+    private MacOSXPreferences(MacOSXPreferences parent, String name,
+                              boolean isNew, boolean isRoot, boolean isUser)
     {
+        super(parent, name);
+        this.isRoot = isRoot;
+        if (isRoot)
+            this.isUser = isUser;
+        else
+            this.isUser = isUserNode();
         path = isRoot ? absolutePath() : absolutePath() + "/";
         file = cfFileForNode(isUser);
-        newNode = file.addNode(path);
+        if (isNew)
+            newNode = isNew;
+        else
+            newNode = file.addNode(path);
     }
 
-
     // Create and return the MacOSXPreferencesFile for this node.
     // Does not write anything to the file.
     private MacOSXPreferencesFile cfFileForNode(boolean isUser)
@@ -160,7 +164,7 @@
     // AbstractPreferences implementation
     @Override
     protected void removeNodeSpi()
-        throws BackingStoreException
+    throws BackingStoreException
     {
         // Disallow flush or sync between these two operations
         // (they may be manipulating two different files)
@@ -180,7 +184,7 @@
     // AbstractPreferences implementation
     @Override
     protected String[] childrenNamesSpi()
-        throws BackingStoreException
+    throws BackingStoreException
     {
         String[] result = file.getChildrenForNode(path);
         if (result == null) throw new BackingStoreException("Couldn't get list of children for node '" + path + "'");
@@ -190,7 +194,7 @@
     // AbstractPreferences implementation
     @Override
     protected String[] keysSpi()
-        throws BackingStoreException
+    throws BackingStoreException
     {
         String[] result = file.getKeysForNode(path);
         if (result == null) throw new BackingStoreException("Couldn't get list of keys for node '" + path + "'");
@@ -204,22 +208,27 @@
         // Add to parent's child list here and disallow sync
         // because parent and child might be in different files.
         synchronized(MacOSXPreferencesFile.class) {
-            file.addChildToNode(path, name);
-            return new MacOSXPreferences(this, name);
+            boolean isNew = file.addChildToNode(path, name);
+            return new MacOSXPreferences(this, name, isNew);
         }
     }
 
     // AbstractPreferences override
     @Override
     public void flush()
-        throws BackingStoreException
+    throws BackingStoreException
     {
         // Flush should *not* check for removal, unlike sync, but should
         // prevent simultaneous removal.
         synchronized(lock) {
-            // fixme! overkill
-            if (!MacOSXPreferencesFile.flushWorld()) {
-                throw new BackingStoreException("Synchronization failed for node '" + path + "'");
+            if (isUser) {
+                if (!MacOSXPreferencesFile.flushUser()) {
+                    throw new BackingStoreException("Synchronization failed for node '" + path + "'");
+                }
+            } else {
+                if (!MacOSXPreferencesFile.flushWorld()) {
+                    throw new BackingStoreException("Synchronization failed for node '" + path + "'");
+                }
             }
         }
     }
@@ -227,7 +236,7 @@
     // AbstractPreferences implementation
     @Override
     protected void flushSpi()
-        throws BackingStoreException
+    throws BackingStoreException
     {
         // nothing here - overridden flush() doesn't call this
     }
@@ -235,7 +244,7 @@
     // AbstractPreferences override
     @Override
     public void sync()
-        throws BackingStoreException
+    throws BackingStoreException
     {
         synchronized(lock) {
             if (isRemoved())
@@ -256,7 +265,7 @@
     // AbstractPreferences implementation
     @Override
     protected void syncSpi()
-        throws BackingStoreException
+    throws BackingStoreException
     {
         // nothing here - overridden sync() doesn't call this
     }
--- a/src/macosx/classes/java/util/prefs/MacOSXPreferencesFile.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/macosx/classes/java/util/prefs/MacOSXPreferencesFile.java	Wed Aug 01 11:08:11 2012 -0400
@@ -233,7 +233,23 @@
         return ok;
     }
 
-
+    //Flush only current user preferences
+    static synchronized boolean flushUser() {
+        boolean ok = true;
+        if (changedFiles != null  &&  !changedFiles.isEmpty()) {
+            Iterator<MacOSXPreferencesFile> iterator = changedFiles.iterator();
+            while(iterator.hasNext()) {
+                MacOSXPreferencesFile f = iterator.next();
+                if (f.user == cfCurrentUser) {
+                    if (!f.synchronize())
+                        ok = false;
+                    else
+                        iterator.remove();
+                }
+            }
+        }
+        return ok;
+    }
 
     // Write all prefs changes to disk, but do not clear all cached prefs
     // values. Also kills any scheduled flush task.
@@ -360,11 +376,11 @@
         }
     }
 
-    void addChildToNode(String path, String child)
+    boolean addChildToNode(String path, String child)
     {
         synchronized(MacOSXPreferencesFile.class) {
             markChanged();
-            addChildToNode(path, child+"/", appName, user, host);
+            return addChildToNode(path, child+"/", appName, user, host);
         }
     }
 
@@ -433,7 +449,7 @@
         addNode(String path, String name, long user, long host);
     private static final native void
         removeNode(String path, String name, long user, long host);
-    private static final native void
+    private static final native boolean
         addChildToNode(String path, String child,
                        String name, long user, long host);
     private static final native void
--- a/src/macosx/classes/sun/awt/CGraphicsDevice.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/macosx/classes/sun/awt/CGraphicsDevice.java	Wed Aug 01 11:08:11 2012 -0400
@@ -48,6 +48,9 @@
 
     private static AWTPermission fullScreenExclusivePermission;
 
+    // Save/restore DisplayMode for the Full Screen mode
+    private DisplayMode originalMode;
+
     public CGraphicsDevice(int displayID) {
         this.displayID = displayID;
         configs = new GraphicsConfiguration[] {
@@ -124,18 +127,22 @@
         }
 
         boolean fsSupported = isFullScreenSupported();
+
         if (fsSupported && old != null) {
             // enter windowed mode (and restore original display mode)
             exitFullScreenExclusive(old);
-
-            // TODO: restore display mode
+            if (originalMode != null) {
+                setDisplayMode(originalMode);
+                originalMode = null;
+            }
         }
 
         super.setFullScreenWindow(w);
 
         if (fsSupported && w != null) {
-            // TODO: save current display mode
-
+            if (isDisplayChangeSupported()) {
+                originalMode = getDisplayMode();
+            }
             // enter fullscreen mode
             enterFullScreenExclusive(w);
         }
--- a/src/macosx/classes/sun/awt/CGraphicsEnvironment.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/macosx/classes/sun/awt/CGraphicsEnvironment.java	Wed Aug 01 11:08:11 2012 -0400
@@ -200,29 +200,25 @@
        return true;
     }
 
-    private Font[] allFontsWithLogical;
     static String[] sLogicalFonts = { "Serif", "SansSerif", "Monospaced", "Dialog", "DialogInput" };
 
     @Override
     public Font[] getAllFonts() {
-        if (allFontsWithLogical == null)
-        {
-            Font[] newFonts;
-            Font[] superFonts = super.getAllFonts();
 
-            int numLogical = sLogicalFonts.length;
-            int numOtherFonts = superFonts.length;
+        Font[] newFonts;
+        Font[] superFonts = super.getAllFonts();
+
+        int numLogical = sLogicalFonts.length;
+        int numOtherFonts = superFonts.length;
 
-            newFonts = new Font[numOtherFonts + numLogical];
-            System.arraycopy(superFonts,0,newFonts,numLogical,numOtherFonts);
+        newFonts = new Font[numOtherFonts + numLogical];
+        System.arraycopy(superFonts,0,newFonts,numLogical,numOtherFonts);
 
-            for (int i = 0; i < numLogical; i++)
-            {
-                newFonts[i] = new Font(sLogicalFonts[i], Font.PLAIN, 1);
-            }
-            allFontsWithLogical = newFonts;
+        for (int i = 0; i < numLogical; i++)
+        {
+            newFonts[i] = new Font(sLogicalFonts[i], Font.PLAIN, 1);
         }
-        return java.util.Arrays.copyOf(allFontsWithLogical, allFontsWithLogical.length);
+        return newFonts;
     }
 
 }
--- a/src/macosx/classes/sun/java2d/opengl/CGLLayer.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/macosx/classes/sun/java2d/opengl/CGLLayer.java	Wed Aug 01 11:08:11 2012 -0400
@@ -68,11 +68,12 @@
     }
 
     public boolean isOpaque() {
-        return peer.isOpaque();
+        return !peer.isTranslucent();
     }
 
     public int getTransparency() {
-        return (peer.isOpaque() ? Transparency.OPAQUE : Transparency.TRANSLUCENT);
+        return peer.isTranslucent() ? Transparency.TRANSLUCENT :
+               Transparency.OPAQUE;
     }
 
     public Object getDestination() {
--- a/src/macosx/classes/sun/lwawt/LWButtonPeer.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/macosx/classes/sun/lwawt/LWButtonPeer.java	Wed Aug 01 11:08:11 2012 -0400
@@ -47,8 +47,8 @@
     }
 
     @Override
-    public void initialize() {
-        super.initialize();
+    void initializeImpl() {
+        super.initializeImpl();
         setLabel(getTarget().getLabel());
         synchronized (getDelegateLock()) {
             getDelegate().addActionListener(this);
--- a/src/macosx/classes/sun/lwawt/LWCheckboxPeer.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/macosx/classes/sun/lwawt/LWCheckboxPeer.java	Wed Aug 01 11:08:11 2012 -0400
@@ -61,8 +61,8 @@
     }
 
     @Override
-    public void initialize() {
-        super.initialize();
+    void initializeImpl() {
+        super.initializeImpl();
         setLabel(getTarget().getLabel());
         setState(getTarget().getState());
         setCheckboxGroup(getTarget().getCheckboxGroup());
--- a/src/macosx/classes/sun/lwawt/LWChoicePeer.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/macosx/classes/sun/lwawt/LWChoicePeer.java	Wed Aug 01 11:08:11 2012 -0400
@@ -55,8 +55,8 @@
     }
 
     @Override
-    public void initialize() {
-        super.initialize();
+    void initializeImpl() {
+        super.initializeImpl();
         final Choice choice = getTarget();
         final JComboBox<String> combo = getDelegate();
         synchronized (getDelegateLock()) {
--- a/src/macosx/classes/sun/lwawt/LWComponentPeer.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/macosx/classes/sun/lwawt/LWComponentPeer.java	Wed Aug 01 11:08:11 2012 -0400
@@ -81,19 +81,10 @@
     // lock is not used as there are many peers related ops
     // to be done on the toolkit thread, and we don't want to
     // depend on a public lock on this thread
-    private final static Object peerTreeLock =
+    private static final Object peerTreeLock =
             new StringBuilder("LWComponentPeer.peerTreeLock");
 
-    /**
-     * A custom tree-lock used for the hierarchy of the delegate Swing
-     * components.
-     * The lock synchronizes access to the delegate
-     * internal state. Think of it as a 'virtual EDT'.
-     */
-//    private final Object delegateTreeLock =
-//        new StringBuilder("LWComponentPeer.delegateTreeLock");
-
-    private T target;
+    private final T target;
 
     // Container peer. It may not be the peer of the target's direct
     // parent, for example, in the case of hw/lw mixing. However,
@@ -108,10 +99,10 @@
     // be updated when the component is reparented to another container
     private LWWindowPeer windowPeer;
 
-    private AtomicBoolean disposed = new AtomicBoolean(false);
+    private final AtomicBoolean disposed = new AtomicBoolean(false);
 
     // Bounds are relative to parent peer
-    private Rectangle bounds = new Rectangle();
+    private final Rectangle bounds = new Rectangle();
     private Region region;
 
     // Component state. Should be accessed under the state lock
@@ -122,9 +113,11 @@
     private Color foreground;
     private Font font;
 
-    // Paint area to coalesce all the paint events and store
-    // the target dirty area
-    private RepaintArea targetPaintArea;
+    /**
+     * Paint area to coalesce all the paint events and store the target dirty
+     * area.
+     */
+    private final RepaintArea targetPaintArea;
 
     //   private volatile boolean paintPending;
     private volatile boolean isLayouting;
@@ -137,7 +130,7 @@
     private int fNumDropTargets = 0;
     private CDropTarget fDropTarget = null;
 
-    private PlatformComponent platformComponent;
+    private final PlatformComponent platformComponent;
 
     private final class DelegateContainer extends Container {
         {
@@ -175,6 +168,7 @@
     }
 
     public LWComponentPeer(T target, PlatformComponent platformComponent) {
+        targetPaintArea = new LWRepaintArea();
         this.target = target;
         this.platformComponent = platformComponent;
 
@@ -201,10 +195,13 @@
                 synchronized (getDelegateLock()) {
                     delegate = createDelegate();
                     if (delegate != null) {
+                        delegate.setVisible(false);
                         delegateContainer = new DelegateContainer();
                         delegateContainer.add(delegate);
                         delegateContainer.addNotify();
                         delegate.addNotify();
+                        resetColorsAndFont(delegate);
+                        delegate.setOpaque(true);
                     } else {
                         return;
                     }
@@ -278,27 +275,28 @@
         return getDelegate();
     }
 
-    /*
-     * Initializes this peer by fetching all the properties from the target.
-     * The call to initialize() is not placed to LWComponentPeer ctor to
-     * let the subclass ctor to finish completely first. Instead, it's the
-     * LWToolkit object who is responsible for initialization.
+    /**
+     * Initializes this peer. The call to initialize() is not placed to
+     * LWComponentPeer ctor to let the subclass ctor to finish completely first.
+     * Instead, it's the LWToolkit object who is responsible for initialization.
+     * Note that we call setVisible() at the end of initialization.
      */
-    public void initialize() {
+    public final void initialize() {
         platformComponent.initialize(target, this, getPlatformWindow());
-        targetPaintArea = new LWRepaintArea();
-        if (getDelegate() != null) {
-            synchronized (getDelegateLock()) {
-                resetColorsAndFont(delegate);
-                getDelegate().setOpaque(true);
-            }
-        }
+        initializeImpl();
+        setVisible(target.isVisible());
+    }
+
+    /**
+     * Fetching general properties from the target. Should be overridden in
+     * subclasses to initialize specific peers properties.
+     */
+    void initializeImpl() {
         setBackground(target.getBackground());
         setForeground(target.getForeground());
         setFont(target.getFont());
         setBounds(target.getBounds());
         setEnabled(target.isEnabled());
-        setVisible(target.isVisible());
     }
 
     private static void resetColorsAndFont(final Container c) {
@@ -314,15 +312,18 @@
         return stateLock;
     }
 
-    // Synchronize all operations with the Swing delegates under
-    // AWT tree lock, using a new separate lock to synchronize
-    // access to delegates may lead deadlocks
+    /**
+     * Synchronize all operations with the Swing delegates under AWT tree lock,
+     * using a new separate lock to synchronize access to delegates may lead
+     * deadlocks. Think of it as a 'virtual EDT'.
+     *
+     * @return DelegateLock
+     */
     final Object getDelegateLock() {
-        //return delegateTreeLock;
         return getTarget().getTreeLock();
     }
 
-    protected final static Object getPeerTreeLock() {
+    protected static final Object getPeerTreeLock() {
         return peerTreeLock;
     }
 
@@ -423,8 +424,7 @@
 
     @Override
     public final Graphics getGraphics() {
-        Graphics g = getWindowPeerOrSelf().isOpaque() ? getOnscreenGraphics()
-                                                      : getOffscreenGraphics();
+        final Graphics g = getOnscreenGraphics();
         if (g != null) {
             synchronized (getPeerTreeLock()){
                 applyConstrain(g);
@@ -442,13 +442,7 @@
         final LWWindowPeer wp = getWindowPeerOrSelf();
         return wp.getOnscreenGraphics(getForeground(), getBackground(),
                                       getFont());
-    }
 
-    public final Graphics getOffscreenGraphics() {
-        final LWWindowPeer wp = getWindowPeerOrSelf();
-
-        return wp.getOffscreenGraphics(getForeground(), getBackground(),
-                                       getFont());
     }
 
     private void applyConstrain(final Graphics g) {
@@ -462,7 +456,7 @@
     }
 
     //TODO Move this method to SG2D?
-    private void SG2DConstraint(final SunGraphics2D sg2d, Region r) {
+    void SG2DConstraint(final SunGraphics2D sg2d, Region r) {
         sg2d.constrainX = sg2d.transX;
         sg2d.constrainY = sg2d.transY;
 
@@ -709,7 +703,7 @@
         // Obtain the metrics from the offscreen window where this peer is
         // mostly drawn to.
         // TODO: check for "use platform metrics" settings
-        Graphics g = getWindowPeer().getOffscreenGraphics();
+        Graphics g = getWindowPeer().getGraphics();
         try {
             if (g != null) {
                 return g.getFontMetrics(f);
@@ -758,14 +752,17 @@
     }
 
     @Override
-    public void setVisible(boolean v) {
+    public void setVisible(final boolean v) {
         synchronized (getStateLock()) {
             if (visible == v) {
                 return;
             }
             visible = v;
         }
+        setVisibleImpl(v);
+    }
 
+    protected void setVisibleImpl(final boolean v) {
         final D delegate = getDelegate();
 
         if (delegate != null) {
@@ -1007,14 +1004,33 @@
     @Override
     public final void applyShape(final Region shape) {
         synchronized (getStateLock()) {
-            region = shape;
+            if (region == shape || (region != null && region.equals(shape))) {
+                return;
+            }
+        }
+        applyShapeImpl(shape);
+    }
+
+    void applyShapeImpl(final Region shape) {
+        synchronized (getStateLock()) {
+            if (shape != null) {
+                region = Region.WHOLE_REGION.getIntersection(shape);
+            } else {
+                region = null;
+            }
         }
         repaintParent(getBounds());
     }
 
     protected final Region getRegion() {
         synchronized (getStateLock()) {
-            return region == null ? Region.getInstance(getSize()) : region;
+            return isShaped() ? region : Region.getInstance(getSize());
+        }
+    }
+
+    public boolean isShaped() {
+        synchronized (getStateLock()) {
+            return region != null;
         }
     }
 
@@ -1355,7 +1371,7 @@
      *
      * @see #isVisible()
      */
-    protected boolean isShowing() {
+    protected final boolean isShowing() {
         synchronized (getPeerTreeLock()) {
             if (isVisible()) {
                 final LWContainerPeer container = getContainerPeer();
@@ -1382,11 +1398,6 @@
         }
     }
 
-    // Just a helper method, thus final
-    protected final void flushOffscreenGraphics() {
-        flushOffscreenGraphics(getSize());
-    }
-
     protected static final void flushOnscreenGraphics(){
         final OGLRenderQueue rq = OGLRenderQueue.getInstance();
         rq.lock();
@@ -1397,36 +1408,6 @@
         }
     }
 
-    /*
-     * Flushes the given rectangle from the back buffer to the screen.
-     */
-    protected void flushOffscreenGraphics(Rectangle r) {
-        flushOffscreenGraphics(r.x, r.y, r.width, r.height);
-    }
-
-    private void flushOffscreenGraphics(int x, int y, int width, int height) {
-        Image bb = getWindowPeerOrSelf().getBackBuffer();
-        if (bb != null) {
-            // g is a screen Graphics from the delegate
-            final Graphics g = getOnscreenGraphics();
-
-            if (g != null && g instanceof Graphics2D) {
-                try {
-                    Graphics2D g2d = (Graphics2D)g;
-                    Point p = localToWindow(new Point(0, 0));
-                    Composite composite = g2d.getComposite();
-                    g2d.setComposite(AlphaComposite.Src);
-                    g.drawImage(bb, x, y, x + width, y + height, p.x + x,
-                            p.y + y, p.x + x + width, p.y + y + height,
-                            null);
-                    g2d.setComposite(composite);
-                } finally {
-                    g.dispose();
-                }
-            }
-        }
-    }
-
     /**
      * Used by ContainerPeer to skip all the paint events during layout.
      *
--- a/src/macosx/classes/sun/lwawt/LWLabelPeer.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/macosx/classes/sun/lwawt/LWLabelPeer.java	Wed Aug 01 11:08:11 2012 -0400
@@ -60,8 +60,8 @@
     }
 
     @Override
-    public void initialize() {
-        super.initialize();
+    void initializeImpl() {
+        super.initializeImpl();
         setText(getTarget().getText());
         setAlignment(getTarget().getAlignment());
     }
--- a/src/macosx/classes/sun/lwawt/LWListPeer.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/macosx/classes/sun/lwawt/LWListPeer.java	Wed Aug 01 11:08:11 2012 -0400
@@ -49,8 +49,8 @@
     }
 
     @Override
-    public void initialize() {
-        super.initialize();
+    void initializeImpl() {
+        super.initializeImpl();
         setMultipleMode(getTarget().isMultipleMode());
         final int[] selectedIndices = getTarget().getSelectedIndexes();
         synchronized (getDelegateLock()) {
--- a/src/macosx/classes/sun/lwawt/LWRepaintArea.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/macosx/classes/sun/lwawt/LWRepaintArea.java	Wed Aug 01 11:08:11 2012 -0400
@@ -58,9 +58,6 @@
 
     private static void flushBuffers(final LWComponentPeer peer) {
         if (peer != null) {
-            if (!peer.getWindowPeerOrSelf().isOpaque()) {
-                peer.flushOffscreenGraphics();
-            }
             peer.flushOnscreenGraphics();
         }
     }
--- a/src/macosx/classes/sun/lwawt/LWScrollBarPeer.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/macosx/classes/sun/lwawt/LWScrollBarPeer.java	Wed Aug 01 11:08:11 2012 -0400
@@ -54,8 +54,8 @@
     }
 
     @Override
-    public void initialize() {
-        super.initialize();
+    void initializeImpl() {
+        super.initializeImpl();
         final Scrollbar target = getTarget();
         setValues(target.getValue(), target.getVisibleAmount(),
                   target.getMinimum(), target.getMaximum());
--- a/src/macosx/classes/sun/lwawt/LWScrollPanePeer.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/macosx/classes/sun/lwawt/LWScrollPanePeer.java	Wed Aug 01 11:08:11 2012 -0400
@@ -70,8 +70,8 @@
     }
 
     @Override
-    public void initialize() {
-        super.initialize();
+    void initializeImpl() {
+        super.initializeImpl();
         final int policy = getTarget().getScrollbarDisplayPolicy();
         synchronized (getDelegateLock()) {
             getDelegate().getViewport().setScrollMode(JViewport.SIMPLE_SCROLL_MODE);
--- a/src/macosx/classes/sun/lwawt/LWTextAreaPeer.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/macosx/classes/sun/lwawt/LWTextAreaPeer.java	Wed Aug 01 11:08:11 2012 -0400
@@ -59,8 +59,8 @@
     }
 
     @Override
-    public void initialize() {
-        super.initialize();
+    void initializeImpl() {
+        super.initializeImpl();
         final int visibility = getTarget().getScrollbarVisibility();
         synchronized (getDelegateLock()) {
             setScrollBarVisibility(visibility);
--- a/src/macosx/classes/sun/lwawt/LWTextComponentPeer.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/macosx/classes/sun/lwawt/LWTextComponentPeer.java	Wed Aug 01 11:08:11 2012 -0400
@@ -63,8 +63,8 @@
     }
 
     @Override
-    public void initialize() {
-        super.initialize();
+    void initializeImpl() {
+        super.initializeImpl();
         synchronized (getDelegateLock()) {
             // This listener should be added before setText().
             getTextComponent().getDocument().addDocumentListener(this);
--- a/src/macosx/classes/sun/lwawt/LWTextFieldPeer.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/macosx/classes/sun/lwawt/LWTextFieldPeer.java	Wed Aug 01 11:08:11 2012 -0400
@@ -58,8 +58,8 @@
     }
 
     @Override
-    public void initialize() {
-        super.initialize();
+    void initializeImpl() {
+        super.initializeImpl();
         setEchoChar(getTarget().getEchoChar());
         synchronized (getDelegateLock()) {
             getDelegate().addActionListener(this);
--- a/src/macosx/classes/sun/lwawt/LWToolkit.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/macosx/classes/sun/lwawt/LWToolkit.java	Wed Aug 01 11:08:11 2012 -0400
@@ -522,12 +522,6 @@
         postEvent(targetToAppContext(event.getSource()), event);
     }
 
-    // use peer's back buffer to implement non-opaque windows.
-    @Override
-    public boolean needUpdateWindow() {
-        return true;
-    }
-
     @Override
     public void grab(Window w) {
         if (w.getPeer() != null) {
--- a/src/macosx/classes/sun/lwawt/LWWindowPeer.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/macosx/classes/sun/lwawt/LWWindowPeer.java	Wed Aug 01 11:08:11 2012 -0400
@@ -37,6 +37,7 @@
 import sun.java2d.*;
 import sun.java2d.loops.Blit;
 import sun.java2d.loops.CompositeType;
+import sun.java2d.pipe.Region;
 import sun.util.logging.PlatformLogger;
 
 public class LWWindowPeer
@@ -109,6 +110,10 @@
 
     private volatile boolean skipNextFocusChange;
 
+    private static final Color nonOpaqueBackground = new Color(0, 0, 0, 0);
+
+    private volatile boolean textured;
+
     /**
      * Current modal blocker or null.
      *
@@ -145,8 +150,6 @@
             // similar to what Apple's Java do.
             // Since JDK7 we should rely on setOpacity() only.
             // this.opacity = c.getAlpha();
-            // System.out.println("Delegate assigns alpha (we ignore setOpacity()):"
-            // +this.opacity);
         }
 
         if (!target.isForegroundSet()) {
@@ -159,23 +162,34 @@
     }
 
     @Override
-    public void initialize() {
+    void initializeImpl() {
+        super.initializeImpl();
         if (getTarget() instanceof Frame) {
-            setTitle(((Frame)getTarget()).getTitle());
-            setState(((Frame)getTarget()).getExtendedState());
+            setTitle(((Frame) getTarget()).getTitle());
+            setState(((Frame) getTarget()).getExtendedState());
         } else if (getTarget() instanceof Dialog) {
-            setTitle(((Dialog)getTarget()).getTitle());
+            setTitle(((Dialog) getTarget()).getTitle());
         }
 
         setAlwaysOnTop(getTarget().isAlwaysOnTop());
         updateMinimumSize();
 
-        setOpacity(getTarget().getOpacity());
+        final Shape shape = getTarget().getShape();
+        if (shape != null) {
+            applyShape(Region.getInstance(shape, null));
+        }
+
+        final float opacity = getTarget().getOpacity();
+        if (opacity < 1.0f) {
+            setOpacity(opacity);
+        }
+
         setOpaque(getTarget().isOpaque());
 
-        super.initialize();
-
         updateInsets(platformWindow.getInsets());
+        if (getSurfaceData() == null) {
+            replaceSurfaceData(false);
+        }
     }
 
     // Just a helper method
@@ -213,50 +227,29 @@
     }
 
     @Override
-    public void setVisible(final boolean visible) {
-        if (getSurfaceData() == null) {
-            replaceSurfaceData();
-        }
-
-        if (isVisible() == visible) {
-            return;
-        }
-        super.setVisible(visible);
-
+    protected void setVisibleImpl(final boolean visible) {
+        super.setVisibleImpl(visible);
         // TODO: update graphicsConfig, see 4868278
-        // TODO: don't notify the delegate if our visibility is unchanged
+        platformWindow.setVisible(visible);
+        if (isSimpleWindow()) {
+            LWKeyboardFocusManagerPeer manager = LWKeyboardFocusManagerPeer.
+                getInstance(getAppContext());
 
-        // it is important to call this method on EDT
-        // to prevent the deadlocks during the painting of the lightweight delegates
-        //TODO: WHY? This is a native-system related call. Perhaps NOT calling
-        // the painting procedure right from the setVisible(), but rather relying
-        // on the native Expose event (or, scheduling the repainting asynchronously)
-        // is better?
-        SwingUtilities.invokeLater(new Runnable() {
-            @Override
-            public void run() {
-                platformWindow.setVisible(visible);
-                if (isSimpleWindow()) {
-                    LWKeyboardFocusManagerPeer manager = LWKeyboardFocusManagerPeer.
-                        getInstance(getAppContext());
-
-                    if (visible) {
-                        if (!getTarget().isAutoRequestFocus()) {
-                            return;
-                        } else {
-                            requestWindowFocus(CausedFocusEvent.Cause.ACTIVATION);
-                        }
-                    // Focus the owner in case this window is focused.
-                    } else if (manager.getCurrentFocusedWindow() == getTarget()) {
-                        // Transfer focus to the owner.
-                        LWWindowPeer owner = getOwnerFrameDialog(LWWindowPeer.this);
-                        if (owner != null) {
-                            owner.requestWindowFocus(CausedFocusEvent.Cause.ACTIVATION);
-                        }
-                    }
+            if (visible) {
+                if (!getTarget().isAutoRequestFocus()) {
+                    return;
+                } else {
+                    requestWindowFocus(CausedFocusEvent.Cause.ACTIVATION);
+                }
+            // Focus the owner in case this window is focused.
+            } else if (manager.getCurrentFocusedWindow() == getTarget()) {
+                // Transfer focus to the owner.
+                LWWindowPeer owner = getOwnerFrameDialog(LWWindowPeer.this);
+                if (owner != null) {
+                    owner.requestWindowFocus(CausedFocusEvent.Cause.ACTIVATION);
                 }
             }
-        });
+        }
     }
 
     @Override
@@ -297,7 +290,7 @@
             // "buffer", that's why numBuffers - 1
             assert numBuffers > 1;
 
-            replaceSurfaceData(numBuffers - 1, caps);
+            replaceSurfaceData(numBuffers - 1, caps, false);
         } catch (InvalidPipeException z) {
             throw new AWTException(z.toString());
         }
@@ -437,19 +430,44 @@
     public final void setOpaque(final boolean isOpaque) {
         if (this.isOpaque != isOpaque) {
             this.isOpaque = isOpaque;
-            getPlatformWindow().setOpaque(isOpaque);
-            replaceSurfaceData();
-            repaintPeer();
+            updateOpaque();
         }
     }
 
-    public final boolean isOpaque() {
-        return isOpaque;
+    private void updateOpaque() {
+        getPlatformWindow().setOpaque(!isTranslucent());
+        replaceSurfaceData(false);
+        repaintPeer();
     }
 
     @Override
     public void updateWindow() {
-        flushOffscreenGraphics();
+    }
+
+    public final boolean isTextured() {
+        return textured;
+    }
+
+    public final void setTextured(final boolean isTextured) {
+        textured = isTextured;
+    }
+
+    public final boolean isTranslucent() {
+        synchronized (getStateLock()) {
+            /*
+             * Textured window is a special case of translucent window.
+             * The difference is only in nswindow background. So when we set
+             * texture property our peer became fully translucent. It doesn't
+             * fill background, create non opaque backbuffers and layer etc.
+             */
+            return !isOpaque || isShaped() || isTextured();
+        }
+    }
+
+    @Override
+    final void applyShapeImpl(final Region shape) {
+        super.applyShapeImpl(shape);
+        updateOpaque();
     }
 
     @Override
@@ -604,7 +622,20 @@
                                                getFont());
         if (g != null) {
             try {
-                g.clearRect(0, 0, w, h);
+                if (g instanceof Graphics2D) {
+                    ((Graphics2D) g).setComposite(AlphaComposite.Src);
+                }
+                if (isTranslucent()) {
+                    g.setColor(nonOpaqueBackground);
+                    g.fillRect(0, 0, w, h);
+                }
+                if (!isTextured()) {
+                    if (g instanceof SunGraphics2D) {
+                        SG2DConstraint((SunGraphics2D) g, getRegion());
+                    }
+                    g.setColor(getBackground());
+                    g.fillRect(0, 0, w, h);
+                }
             } finally {
                 g.dispose();
             }
@@ -911,35 +942,6 @@
         });
     }
 
-    /**
-     * This method returns a back buffer Graphics to render all the
-     * peers to. After the peer is painted, the back buffer contents
-     * should be flushed to the screen. All the target painting
-     * (Component.paint() method) should be done directly to the screen.
-     */
-    protected final Graphics getOffscreenGraphics(Color fg, Color bg, Font f) {
-        final Image bb = getBackBuffer();
-        if (bb == null) {
-            return null;
-        }
-        if (fg == null) {
-            fg = SystemColor.windowText;
-        }
-        if (bg == null) {
-            bg = SystemColor.window;
-        }
-        if (f == null) {
-            f = DEFAULT_FONT;
-        }
-        final Graphics2D g = (Graphics2D) bb.getGraphics();
-        if (g != null) {
-            g.setColor(fg);
-            g.setBackground(bg);
-            g.setFont(f);
-        }
-        return g;
-    }
-
     /*
      * May be called by delegate to provide SD to Java2D code.
      */
@@ -950,11 +952,16 @@
     }
 
     private void replaceSurfaceData() {
-        replaceSurfaceData(backBufferCount, backBufferCaps);
+        replaceSurfaceData(true);
+    }
+
+    private void replaceSurfaceData(boolean blit) {
+        replaceSurfaceData(backBufferCount, backBufferCaps, blit);
     }
 
     private void replaceSurfaceData(int newBackBufferCount,
-                                                 BufferCapabilities newBackBufferCaps) {
+                                    BufferCapabilities newBackBufferCaps,
+                                    boolean blit) {
         synchronized (surfaceDataLock) {
             final SurfaceData oldData = getSurfaceData();
             surfaceData = platformWindow.replaceSurfaceData();
@@ -967,7 +974,10 @@
             if (getSurfaceData() != null && oldData != getSurfaceData()) {
                 clearBackground(size.width, size.height);
             }
-            blitSurfaceData(oldData, getSurfaceData());
+
+            if (blit) {
+                blitSurfaceData(oldData, getSurfaceData());
+            }
 
             if (oldData != null && oldData != getSurfaceData()) {
                 // TODO: drop oldData for D3D/WGL pipelines
@@ -982,8 +992,18 @@
                 Graphics g = backBuffer.getGraphics();
                 try {
                     Rectangle r = getBounds();
-                    g.setColor(getBackground());
+                    if (g instanceof Graphics2D) {
+                        ((Graphics2D) g).setComposite(AlphaComposite.Src);
+                    }
+                    g.setColor(nonOpaqueBackground);
                     g.fillRect(0, 0, r.width, r.height);
+                    if (g instanceof SunGraphics2D) {
+                        SG2DConstraint((SunGraphics2D) g, getRegion());
+                    }
+                    if (!isTextured()) {
+                        g.setColor(getBackground());
+                        g.fillRect(0, 0, r.width, r.height);
+                    }
                     if (oldBB != null) {
                         // Draw the old back buffer to the new one
                         g.drawImage(oldBB, 0, 0, null);
@@ -1007,7 +1027,7 @@
                                           CompositeType.Src,
                                           dst.getSurfaceType());
             if (blit != null) {
-                blit.Blit(src, dst, ((Graphics2D) getGraphics()).getComposite(),
+                blit.Blit(src, dst, AlphaComposite.Src,
                           getRegion(), 0, 0, 0, 0, size.width, size.height);
             }
         }
--- a/src/macosx/classes/sun/lwawt/macosx/CPlatformEmbeddedFrame.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/macosx/classes/sun/lwawt/macosx/CPlatformEmbeddedFrame.java	Wed Aug 01 11:08:11 2012 -0400
@@ -117,7 +117,7 @@
         Rectangle r = peer.getBounds();
         Image im = null;
         if (!r.isEmpty()) {
-            int transparency = (peer.isOpaque() ? Transparency.OPAQUE : Transparency.TRANSLUCENT);
+            int transparency = peer.isTranslucent() ? Transparency.TRANSLUCENT : Transparency.OPAQUE;
             im = peer.getGraphicsConfiguration().createCompatibleImage(r.width, r.height, transparency);
         }
         return im;
--- a/src/macosx/classes/sun/lwawt/macosx/CPlatformView.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/macosx/classes/sun/lwawt/macosx/CPlatformView.java	Wed Aug 01 11:08:11 2012 -0400
@@ -64,7 +64,7 @@
     }
 
     public boolean isOpaque() {
-        return peer.isOpaque();
+        return !peer.isTranslucent();
     }
 
     /*
--- a/src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java	Wed Aug 01 11:08:11 2012 -0400
@@ -56,7 +56,6 @@
     private static native void nativePushNSWindowToBack(long nsWindowPtr);
     private static native void nativePushNSWindowToFront(long nsWindowPtr);
     private static native void nativeSetNSWindowTitle(long nsWindowPtr, String title);
-    private static native void nativeSetNSWindowAlpha(long nsWindowPtr, float alpha);
     private static native void nativeRevalidateNSWindowShadow(long nsWindowPtr);
     private static native void nativeSetNSWindowMinimizedIcon(long nsWindowPtr, long nsImage);
     private static native void nativeSetNSWindowRepresentedFilename(long nsWindowPtr, String representedFilename);
@@ -210,6 +209,7 @@
     private boolean undecorated; // initialized in getInitialStyleBits()
     private Rectangle normalBounds = null; // not-null only for undecorated maximized windows
     private CPlatformResponder responder;
+    private volatile boolean zoomed = false; // from native perspective
 
     public CPlatformWindow(final PeerType peerType) {
         super(0, true);
@@ -244,17 +244,6 @@
         // TODO: implement on top of JObjC bridged class
     //    NSWindow window = JObjC.getInstance().AppKit().NSWindow().getInstance(nativeWindowPtr, JObjCRuntime.getInstance());
 
-        // Since JDK7 we have standard way to set opacity, so we should not pick
-        // background's alpha.
-        // TODO: set appropriate opacity value
-        //        this.opacity = target.getOpacity();
-        //        this.setOpacity(this.opacity);
-
-        final float windowAlpha = target.getOpacity();
-        if (windowAlpha != 1.0f) {
-            nativeSetNSWindowAlpha(nativeWindowPtr, windowAlpha);
-        }
-
         if (target instanceof javax.swing.RootPaneContainer) {
             final javax.swing.JRootPane rootpane = ((javax.swing.RootPaneContainer)target).getRootPane();
             if (rootpane != null) rootpane.addPropertyChangeListener("ancestor", new PropertyChangeListener() {
@@ -310,7 +299,7 @@
 
         // If the target is a dialog, popup or tooltip we want it to ignore the brushed metal look.
         if (isPopup) {
-            styleBits = SET(styleBits, TEXTURED, true);
+            styleBits = SET(styleBits, TEXTURED, false);
             // Popups in applets don't activate applet's process
             styleBits = SET(styleBits, NONACTIVATING, true);
         }
@@ -384,6 +373,8 @@
             }
         }
 
+        peer.setTextured(IS(TEXTURED, styleBits));
+
         return styleBits;
     }
 
@@ -419,15 +410,9 @@
         if (owner != null) {
             CWrapper.NSWindow.removeChildWindow(owner.getNSWindowPtr(), getNSWindowPtr());
         }
-        // Make sure window is ordered out before it is disposed, we could order it out right here or
-        // we could postpone the disposal, I think postponing is probably better.
-        EventQueue.invokeLater(new Runnable() {
-            public void run() {
-                contentView.dispose();
-                nativeDispose(getNSWindowPtr());
-                CPlatformWindow.super.dispose();
-            }
-        });
+        contentView.dispose();
+        nativeDispose(getNSWindowPtr());
+        CPlatformWindow.super.dispose();
     }
 
     @Override // PlatformWindow
@@ -485,26 +470,42 @@
         nativeSetNSWindowBounds(getNSWindowPtr(), x, y, w, h);
     }
 
-    private void zoom() {
+    private boolean isMaximized() {
+        return undecorated ? this.normalBounds != null : zoomed;
+    }
+
+    private void maximize() {
+        if (isMaximized()) {
+            return;
+        }
         if (!undecorated) {
+            zoomed = true;
             CWrapper.NSWindow.zoom(getNSWindowPtr());
         } else {
-            // OS X handles -zoom incorrectly for undecorated windows
-            final boolean isZoomed = this.normalBounds == null;
-            deliverZoom(isZoomed);
+            deliverZoom(true);
+
+            this.normalBounds = peer.getBounds();
+            long screen = CWrapper.NSWindow.screen(getNSWindowPtr());
+            Rectangle toBounds = CWrapper.NSScreen.visibleFrame(screen).getBounds();
+            // Flip the y coordinate
+            Rectangle frame = CWrapper.NSScreen.frame(screen).getBounds();
+            toBounds.y = frame.height - toBounds.y - toBounds.height;
+            setBounds(toBounds.x, toBounds.y, toBounds.width, toBounds.height);
+        }
+    }
 
-            Rectangle toBounds;
-            if (isZoomed) {
-                this.normalBounds = peer.getBounds();
-                long screen = CWrapper.NSWindow.screen(getNSWindowPtr());
-                toBounds = CWrapper.NSScreen.visibleFrame(screen).getBounds();
-                // Flip the y coordinate
-                Rectangle frame = CWrapper.NSScreen.frame(screen).getBounds();
-                toBounds.y = frame.height - toBounds.y - toBounds.height;
-            } else {
-                toBounds = normalBounds;
-                this.normalBounds = null;
-            }
+    private void unmaximize() {
+        if (!isMaximized()) {
+            return;
+        }
+        if (!undecorated) {
+            zoomed = false;
+            CWrapper.NSWindow.zoom(getNSWindowPtr());
+        } else {
+            deliverZoom(false);
+
+            Rectangle toBounds = this.normalBounds;
+            this.normalBounds = null;
             setBounds(toBounds.x, toBounds.y, toBounds.width, toBounds.height);
         }
     }
@@ -517,9 +518,9 @@
     public void setVisible(boolean visible) {
         final long nsWindowPtr = getNSWindowPtr();
 
-        // 1. Process parent-child relationship when hiding
+        // Process parent-child relationship when hiding
         if (!visible) {
-            // 1a. Unparent my children
+            // Unparent my children
             for (Window w : target.getOwnedWindows()) {
                 WindowPeer p = (WindowPeer)w.getPeer();
                 if (p instanceof LWWindowPeer) {
@@ -530,30 +531,17 @@
                 }
             }
 
-            // 1b. Unparent myself
+            // Unparent myself
             if (owner != null && owner.isVisible()) {
                 CWrapper.NSWindow.removeChildWindow(owner.getNSWindowPtr(), nsWindowPtr);
             }
         }
 
-        // 2. Configure stuff
+        // Configure stuff
         updateIconImages();
         updateFocusabilityForAutoRequestFocus(false);
 
-        // 3. Manage the extended state when hiding
-        if (!visible) {
-            // Cancel out the current native state of the window
-            switch (peer.getState()) {
-                case Frame.ICONIFIED:
-                    CWrapper.NSWindow.deminiaturize(nsWindowPtr);
-                    break;
-                case Frame.MAXIMIZED_BOTH:
-                    zoom();
-                    break;
-            }
-        }
-
-        // 4. Actually show or hide the window
+        // Actually show or hide the window
         LWWindowPeer blocker = peer.getBlocker();
         if (blocker == null || !visible) {
             // If it ain't blocked, or is being hidden, go regular way
@@ -582,16 +570,19 @@
         }
         this.visible = visible;
 
-        // 5. Manage the extended state when showing
+        // Manage the extended state when showing
         if (visible) {
-            // Re-apply the extended state as expected in shared code
+            // Apply the extended state as expected in shared code
             if (target instanceof Frame) {
                 switch (((Frame)target).getExtendedState()) {
                     case Frame.ICONIFIED:
                         CWrapper.NSWindow.miniaturize(nsWindowPtr);
                         break;
                     case Frame.MAXIMIZED_BOTH:
-                        zoom();
+                        maximize();
+                        break;
+                    default: // NORMAL
+                        unmaximize(); // in case it was maximized, otherwise this is a no-op
                         break;
                 }
             }
@@ -599,12 +590,12 @@
 
         nativeSynthesizeMouseEnteredExitedEvents(nsWindowPtr);
 
-        // 6. Configure stuff #2
+        // Configure stuff #2
         updateFocusabilityForAutoRequestFocus(true);
 
-        // 7. Manage parent-child relationship when showing
+        // Manage parent-child relationship when showing
         if (visible) {
-            // 7a. Add myself as a child
+            // Add myself as a child
             if (owner != null && owner.isVisible()) {
                 CWrapper.NSWindow.addChildWindow(owner.getNSWindowPtr(), nsWindowPtr, CWrapper.NSWindow.NSWindowAbove);
                 if (target.isAlwaysOnTop()) {
@@ -612,7 +603,7 @@
                 }
             }
 
-            // 7b. Add my own children to myself
+            // Add my own children to myself
             for (Window w : target.getOwnedWindows()) {
                 WindowPeer p = (WindowPeer)w.getPeer();
                 if (p instanceof LWWindowPeer) {
@@ -627,7 +618,7 @@
             }
         }
 
-        // 8. Deal with the blocker of the window being shown
+        // Deal with the blocker of the window being shown
         if (blocker != null && visible) {
             // Make sure the blocker is above its siblings
             ((CPlatformWindow)blocker.getPlatformWindow()).orderAboveSiblings();
@@ -751,10 +742,19 @@
     @Override
     public void setOpaque(boolean isOpaque) {
         CWrapper.NSWindow.setOpaque(getNSWindowPtr(), isOpaque);
-        if (!isOpaque) {
+        if (!isOpaque && !peer.isTextured()) {
             long clearColor = CWrapper.NSColor.clearColor();
             CWrapper.NSWindow.setBackgroundColor(getNSWindowPtr(), clearColor);
         }
+
+        //This is a temporary workaround. Looks like after 7124236 will be fixed
+        //the correct place for invalidateShadow() is CGLayer.drawInCGLContext.
+        SwingUtilities.invokeLater(new Runnable() {
+            @Override
+            public void run() {
+                invalidateShadow();
+            }
+        });
     }
 
     @Override
@@ -785,7 +785,7 @@
                 if (prevWindowState == Frame.MAXIMIZED_BOTH) {
                     // let's return into the normal states first
                     // the zoom call toggles between the normal and the max states
-                    zoom();
+                    unmaximize();
                 }
                 CWrapper.NSWindow.miniaturize(nsWindowPtr);
                 break;
@@ -794,14 +794,14 @@
                     // let's return into the normal states first
                     CWrapper.NSWindow.deminiaturize(nsWindowPtr);
                 }
-                zoom();
+                maximize();
                 break;
             case Frame.NORMAL:
                 if (prevWindowState == Frame.ICONIFIED) {
                     CWrapper.NSWindow.deminiaturize(nsWindowPtr);
                 } else if (prevWindowState == Frame.MAXIMIZED_BOTH) {
                     // the zoom call toggles between the normal and the max states
-                    zoom();
+                    unmaximize();
                 }
                 break;
             default:
@@ -823,6 +823,10 @@
         nativeSetEnabled(getNSWindowPtr(), !blocked);
     }
 
+    public final void invalidateShadow(){
+        nativeRevalidateNSWindowShadow(getNSWindowPtr());
+    }
+
     // ----------------------------------------------------------------------
     //                          UTILITY METHODS
     // ----------------------------------------------------------------------
--- a/src/macosx/classes/sun/lwawt/macosx/LWCToolkit.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/macosx/classes/sun/lwawt/macosx/LWCToolkit.java	Wed Aug 01 11:08:11 2012 -0400
@@ -216,7 +216,6 @@
     @Override
     public SystemTrayPeer createSystemTray(SystemTray target) {
         SystemTrayPeer peer = new CSystemTray();
-        targetCreatedPeer(target, peer);
         return peer;
     }
 
@@ -751,6 +750,11 @@
     }
 
     @Override
+    public boolean isWindowShapingSupported() {
+        return true;
+    }
+
+    @Override
     public boolean isWindowTranslucencySupported() {
         return true;
     }
@@ -760,6 +764,10 @@
         return true;
     }
 
+    public boolean isSwingBackbufferTranslucencySupported() {
+        return true;
+    }
+
     @Override
     public boolean enableInputMethodsForTextComponent() {
         return true;
--- a/src/macosx/native/java/util/MacOSXPreferencesFile.m	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/macosx/native/java/util/MacOSXPreferencesFile.m	Wed Aug 01 11:08:11 2012 -0400
@@ -641,7 +641,7 @@
 
 
 // child must end with '/'
-JNIEXPORT void JNICALL
+JNIEXPORT Boolean JNICALL
 Java_java_util_prefs_MacOSXPreferencesFile_addChildToNode
 (JNIEnv *env, jobject klass, jobject jpath, jobject jchild,
  jobject jname, jlong juser, jlong jhost)
@@ -656,6 +656,7 @@
     CFDictionaryRef node;
     CFStringRef topKey;
     CFMutableDictionaryRef topValue;
+    Boolean beforeAdd = false;
 
     if (!path  ||  !child  ||  !name) goto badparams;
 
@@ -665,9 +666,12 @@
     // copyMutableNode creates the node if necessary
     parent = copyMutableNode(path, name, user, host, &topKey, &topValue);
     throwIfNull(parent, "copyMutableNode failed");
-
+    beforeAdd = CFDictionaryContainsKey(parent, child);
     CFDictionaryAddValue(parent, child, node);
-
+    if (!beforeAdd)
+        beforeAdd = CFDictionaryContainsKey(parent, child);
+    else
+        beforeAdd = false;
     CFPreferencesSetValue(topKey, topValue, name, user, host);
 
     CFRelease(parent);
@@ -680,6 +684,7 @@
     if (path) CFRelease(path);
     if (child) CFRelease(child);
     if (name) CFRelease(name);
+    return beforeAdd;
 }
 
 
--- a/src/macosx/native/jobjc/build.xml	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/macosx/native/jobjc/build.xml	Wed Aug 01 11:08:11 2012 -0400
@@ -140,8 +140,16 @@
     <!-- Compile PrimitiveCoder first to work around javac bug. -->
     <javac srcdir="${core.src}" destdir="${core.bin}" source="1.5" target="1.5" debug="${compile.debug}"
            includes="**/PrimitiveCoder.java"
-           includeantruntime="false" />
-    <javac srcdir="${core.src}" destdir="${core.bin}" source="1.5" target="1.5" debug="${compile.debug}" includeantruntime="false" />
+           includeantruntime="false">
+      <classpath>
+        <path location="${obj}/../langtools/dist/lib/classes.jar"/>
+      </classpath>
+    </javac>
+    <javac srcdir="${core.src}" destdir="${core.bin}" source="1.5" target="1.5" debug="${compile.debug}" includeantruntime="false">
+      <classpath>
+        <path location="${obj}/../langtools/dist/lib/classes.jar"/>
+      </classpath>
+    </javac>
 
     <exec executable="/usr/bin/perl" outputproperty="core.classes" failonerror="true">
       <arg value="${src}/extract_classes.pl"/>
--- a/src/macosx/native/jobjc/src/core/PrimitiveCoder.hs	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/macosx/native/jobjc/src/core/PrimitiveCoder.hs	Wed Aug 01 11:08:11 2012 -0400
@@ -2,7 +2,7 @@
 
 {-
 /*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011,2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -196,6 +196,8 @@
 c2java ntype =
     unlines [
  "// native " ++ ntypeS ++ " -> java " ++ jprimS,
+ "/* No native methods here, but the constants are needed in the supporting JNI code */",
+ "@GenerateNativeHeader",
  "public static final class " ++ className ++ " extends PrimitiveCoder<" ++ jclassS ++ ">{",
  "\tpublic static final " ++ className ++ " INST = new " ++ className ++ "();",
  "\tpublic " ++ className ++ "(){ super("++ffitypeVal ntype++", \"" ++ [encoding ntype] ++ "\", "++jclassS++".class, "++jprimS++".class); }",
@@ -246,10 +248,13 @@
   putStrLn "package com.apple.jobjc;"
 
   putStrLn "import com.apple.jobjc.JObjCRuntime.Width;"
+  putStrLn "import javax.tools.annotation.GenerateNativeHeader;"
 
   putStrLn "// Auto generated by PrimitiveCoder.hs"
   putStrLn "// Do not edit by hand."
 
+  putStrLn "/* No native methods here, but the constants are needed in the supporting JNI code */"
+  putStrLn "@GenerateNativeHeader"
   putStrLn "public abstract class PrimitiveCoder<T> extends Coder<T>{"
 
   putStrLn "\tpublic PrimitiveCoder(int ffiTypeCode, String objCEncoding, Class jclass, Class jprim){"
--- a/src/macosx/native/jobjc/src/core/java/com/apple/jobjc/CFType.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/macosx/native/jobjc/src/core/java/com/apple/jobjc/CFType.java	Wed Aug 01 11:08:11 2012 -0400
@@ -24,6 +24,10 @@
  */
 package com.apple.jobjc;
 
+import javax.tools.annotation.GenerateNativeHeader;
+
+/* No native methods here, but the constants are needed in the supporting JNI code */
+@GenerateNativeHeader
 public class CFType extends Pointer<Void> {
     protected CFType(long ptr) { super(ptr); }
     protected CFType(Pointer<?> ptr) { super(ptr.ptr); }
--- a/src/macosx/native/jobjc/src/core/java/com/apple/jobjc/Coder.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/macosx/native/jobjc/src/core/java/com/apple/jobjc/Coder.java	Wed Aug 01 11:08:11 2012 -0400
@@ -35,6 +35,7 @@
 import com.apple.jobjc.PrimitiveCoder.SIntCoder;
 import com.apple.jobjc.PrimitiveCoder.SLongLongCoder;
 import com.apple.jobjc.PrimitiveCoder.SShortCoder;
+import javax.tools.annotation.GenerateNativeHeader;
 
 public abstract class Coder<T> {
     private static native long getNativeFFITypePtrForCode(final int code);
@@ -142,6 +143,8 @@
 
     //
 
+    /* No native methods here, but the constants are needed in the supporting JNI code */
+    @GenerateNativeHeader
     public static final class VoidCoder extends Coder<Object>{
         public static final VoidCoder INST = new VoidCoder();
         public VoidCoder(){ super(FFI_VOID, "v", Void.class, void.class); }
@@ -150,6 +153,8 @@
         @Override public void push(JObjCRuntime runtime, long addr, Object x) { throw new RuntimeException("Trying to push a Void."); }
     }
 
+    /* No native methods here, but the constants are needed in the supporting JNI code */
+    @GenerateNativeHeader
     public static final class UnknownCoder extends Coder<Object> {
         public static final UnknownCoder INST = new UnknownCoder();
         public UnknownCoder(){ super(-1, "?", null, null); }
@@ -158,6 +163,8 @@
         @Override public Object pop(JObjCRuntime runtime, long addr) { throw new RuntimeException("Coder not implemented"); }
     }
 
+    /* No native methods here, but the constants are needed in the supporting JNI code */
+    @GenerateNativeHeader
     public static final class PrimitivePointerCoder extends Coder<Long> {
         public static final PrimitivePointerCoder INST = new PrimitivePointerCoder();
         public PrimitivePointerCoder(){ super(Coder.FFI_PTR, "^?", Long.class, long.class); }
@@ -187,6 +194,8 @@
         @Override public void push(JObjCRuntime runtime, long addr, Long x) { push(runtime, addr, (long) x); }
     }
 
+    /* No native methods here, but the constants are needed in the supporting JNI code */
+    @GenerateNativeHeader
     public static final class PointerCoder extends Coder<Pointer> {
         public static final PointerCoder INST = new PointerCoder();
         public PointerCoder(){ super(FFI_PTR, "^?", Pointer.class); }
@@ -200,6 +209,8 @@
         }
     }
 
+    /* No native methods here, but the constants are needed in the supporting JNI code */
+    @GenerateNativeHeader
     public static final class SELCoder extends Coder<SEL> {
         public static final SELCoder INST = new SELCoder();
         public SELCoder(){ super(FFI_PTR, ":", SEL.class); }
@@ -213,6 +224,8 @@
         }
     }
 
+    /* No native methods here, but the constants are needed in the supporting JNI code */
+    @GenerateNativeHeader
     public static abstract class StructCoder extends Coder<Struct> {
         private final FFIType ffiType;
         final int sizeof;
@@ -254,6 +267,8 @@
         }
     }
 
+    /* No native methods here, but the constants are needed in the supporting JNI code */
+    @GenerateNativeHeader
     public static final class IDCoder extends Coder<ID>{
         public static final IDCoder INST = new IDCoder();
         public IDCoder(){ super(FFI_PTR, "@", ID.class); }
@@ -272,6 +287,8 @@
         }
     }
 
+    /* No native methods here, but the constants are needed in the supporting JNI code */
+    @GenerateNativeHeader
     public static final class NSClassCoder extends Coder<NSClass>{
         public static final NSClassCoder INST = new NSClassCoder();
         public NSClassCoder(){ super(FFI_PTR, "#", NSClass.class); }
--- a/src/macosx/native/jobjc/src/core/java/com/apple/jobjc/FFIType.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/macosx/native/jobjc/src/core/java/com/apple/jobjc/FFIType.java	Wed Aug 01 11:08:11 2012 -0400
@@ -26,6 +26,10 @@
 
 import com.apple.jobjc.Coder.PrimitivePointerCoder;
 
+import javax.tools.annotation.GenerateNativeHeader;
+
+/* No native methods here, but the constants are needed in the supporting JNI code */
+@GenerateNativeHeader
 class FFIType{
     private static native void makeFFIType(long ffi_type_buf, long elements_buf);
     private static native int  getFFITypeSizeof();
--- a/src/macosx/native/jobjc/src/core/java/com/apple/jobjc/Function.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/macosx/native/jobjc/src/core/java/com/apple/jobjc/Function.java	Wed Aug 01 11:08:11 2012 -0400
@@ -24,6 +24,10 @@
  */
 package com.apple.jobjc;
 
+import javax.tools.annotation.GenerateNativeHeader;
+
+/* No native methods here, but the constants are needed in the supporting JNI code */
+@GenerateNativeHeader
 public class Function {
     private static native long getFxnPtrForFunctionName(final String functionName);
     private static native long getFxnPtrForFunctionNameAndLib(final long libPtr, final String functionName);
--- a/src/macosx/native/jobjc/src/core/java/com/apple/jobjc/ID.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/macosx/native/jobjc/src/core/java/com/apple/jobjc/ID.java	Wed Aug 01 11:08:11 2012 -0400
@@ -29,6 +29,10 @@
 import java.util.LinkedHashMap;
 import java.util.Map;
 
+import javax.tools.annotation.GenerateNativeHeader;
+
+/* No native methods here, but the constants are needed in the supporting JNI code */
+@GenerateNativeHeader
 public class ID extends Pointer<Void>{
     static native String getNativeDescription(final long objPtr);
 
--- a/src/macosx/native/jobjc/src/core/java/com/apple/jobjc/Invoke.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/macosx/native/jobjc/src/core/java/com/apple/jobjc/Invoke.java	Wed Aug 01 11:08:11 2012 -0400
@@ -30,12 +30,18 @@
 import com.apple.jobjc.Coder.SELCoder;
 import com.apple.jobjc.Coder.StructCoder;
 
+import javax.tools.annotation.GenerateNativeHeader;
+
+/* No native methods here, but the constants are needed in the supporting JNI code */
+@GenerateNativeHeader
 public abstract class Invoke {
     public abstract void invoke(NativeArgumentBuffer argBuf);
     public abstract void invoke(NativeArgumentBuffer buffer, Struct retvalStruct);
 
     //
 
+    /* No native methods here, but the constants are needed in the supporting JNI code */
+    @GenerateNativeHeader
     public static final class FunCall extends Invoke{
         static native void invoke(long cifPtr, long fxnPtr, long retValPtr, long argsPtr);
 
@@ -72,6 +78,8 @@
         }
     }
 
+    /* No native methods here, but the constants are needed in the supporting JNI code */
+    @GenerateNativeHeader
     public static final class MsgSend extends Invoke{
         static{ System.load("/usr/lib/libobjc.dylib"); }
 
@@ -157,6 +165,8 @@
         }
     }
 
+    /* No native methods here, but the constants are needed in the supporting JNI code */
+    @GenerateNativeHeader
     public static final class MsgSendSuper extends Invoke{
         static{ System.load("/usr/lib/libobjc.dylib"); }
 
--- a/src/macosx/native/jobjc/src/core/java/com/apple/jobjc/JObjCRuntime.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/macosx/native/jobjc/src/core/java/com/apple/jobjc/JObjCRuntime.java	Wed Aug 01 11:08:11 2012 -0400
@@ -31,10 +31,16 @@
 
 import sun.misc.Unsafe;
 
+import javax.tools.annotation.GenerateNativeHeader;
+
+/* No native methods here, but the constants are needed in the supporting JNI code */
+@GenerateNativeHeader
 public final class JObjCRuntime {
     static { System.loadLibrary("JObjC"); }
 
+    @GenerateNativeHeader
     public static enum Arch{ ppc, i386, x86_64 };
+    @GenerateNativeHeader
     public static enum Width{ W32, W64 };
 
     public static final Arch ARCH = getArch();
--- a/src/macosx/native/jobjc/src/core/java/com/apple/jobjc/MacOSXFramework.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/macosx/native/jobjc/src/core/java/com/apple/jobjc/MacOSXFramework.java	Wed Aug 01 11:08:11 2012 -0400
@@ -25,6 +25,10 @@
 package com.apple.jobjc;
 
 
+import javax.tools.annotation.GenerateNativeHeader;
+
+/* No native methods here, but the constants are needed in the supporting JNI code */
+@GenerateNativeHeader
 public class MacOSXFramework {
     private static native long retainFramework(final String frameworkName);
     private static native void releaseFramework(final long frameworkPtr);
--- a/src/macosx/native/jobjc/src/core/java/com/apple/jobjc/NSClass.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/macosx/native/jobjc/src/core/java/com/apple/jobjc/NSClass.java	Wed Aug 01 11:08:11 2012 -0400
@@ -27,7 +27,13 @@
 import java.lang.ref.WeakReference;
 import java.lang.reflect.Constructor;
 
+import javax.tools.annotation.GenerateNativeHeader;
+
+/* No native methods here, but the constants are needed in the supporting JNI code */
+@GenerateNativeHeader
 public class NSClass<T extends ID> extends ID {
+    /* No native methods here, but the constants are needed in the supporting JNI code */
+    @GenerateNativeHeader
     public static class NSClassNotFoundException extends RuntimeException{
         public NSClassNotFoundException(String m){ super(m); }
         public NSClassNotFoundException(String m, Throwable cause){ super(m, cause); }
--- a/src/macosx/native/jobjc/src/core/java/com/apple/jobjc/NativeArgumentBuffer.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/macosx/native/jobjc/src/core/java/com/apple/jobjc/NativeArgumentBuffer.java	Wed Aug 01 11:08:11 2012 -0400
@@ -28,6 +28,10 @@
 
 import com.apple.jobjc.Coder.PrimitivePointerCoder;
 
+import javax.tools.annotation.GenerateNativeHeader;
+
+/* No native methods here, but the constants are needed in the supporting JNI code */
+@GenerateNativeHeader
 public final class NativeArgumentBuffer{
     private static final ThreadLocal<NativeArgumentBuffer> threadLocal = new ThreadLocal<NativeArgumentBuffer>();
 
--- a/src/macosx/native/jobjc/src/core/java/com/apple/jobjc/NativeBuffer.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/macosx/native/jobjc/src/core/java/com/apple/jobjc/NativeBuffer.java	Wed Aug 01 11:08:11 2012 -0400
@@ -27,9 +27,13 @@
 import java.nio.ByteBuffer;
 import java.nio.ByteOrder;
 
+import javax.tools.annotation.GenerateNativeHeader;
+
 /**
  * A wrapper around a direct ByteBuffer and its native pointer. For documentation, @see java.nio.ByteBuffer
  */
+/* No native methods here, but the constants are needed in the supporting JNI code */
+@GenerateNativeHeader
 public class NativeBuffer {
     static native long getPtrOfBuffer(final ByteBuffer byteBuffer);
 
--- a/src/macosx/native/jobjc/src/core/java/com/apple/jobjc/NativeObjectLifecycleManager.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/macosx/native/jobjc/src/core/java/com/apple/jobjc/NativeObjectLifecycleManager.java	Wed Aug 01 11:08:11 2012 -0400
@@ -24,6 +24,10 @@
  */
 package com.apple.jobjc;
 
+import javax.tools.annotation.GenerateNativeHeader;
+
+/* No native methods here, but the constants are needed in the supporting JNI code */
+@GenerateNativeHeader
 public abstract class NativeObjectLifecycleManager {
     private static native void retainNativeObject(final long ptr);
     private static native void releaseNativeObject(final long ptr);
@@ -33,6 +37,8 @@
     abstract void end(final long ptr);
     boolean shouldPreRetain() { return false; }
 
+    /* No native methods here, but the constants are needed in the supporting JNI code */
+    @GenerateNativeHeader
     public static class CFRetainRelease extends NativeObjectLifecycleManager {
         public static final NativeObjectLifecycleManager INST = new CFRetainRelease();
         @Override void begin(final long ptr) { retainNativeObject(ptr); }
@@ -40,12 +46,16 @@
         @Override boolean shouldPreRetain() { return true; }
     }
 
+    /* No native methods here, but the constants are needed in the supporting JNI code */
+    @GenerateNativeHeader
     public static class Free extends NativeObjectLifecycleManager {
         public static final NativeObjectLifecycleManager INST = new Free();
         @Override void begin(final long ptr) { }
         @Override void end(final long ptr) { freeNativeObject(ptr); }
     }
 
+    /* No native methods here, but the constants are needed in the supporting JNI code */
+    @GenerateNativeHeader
     public static class Nothing extends NativeObjectLifecycleManager {
         public static final NativeObjectLifecycleManager INST = new Nothing();
         @Override void begin(final long ptr) { }
--- a/src/macosx/native/jobjc/src/core/java/com/apple/jobjc/Opaque.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/macosx/native/jobjc/src/core/java/com/apple/jobjc/Opaque.java	Wed Aug 01 11:08:11 2012 -0400
@@ -24,6 +24,10 @@
  */
 package com.apple.jobjc;
 
+import javax.tools.annotation.GenerateNativeHeader;
+
+/* No native methods here, but the constants are needed in the supporting JNI code */
+@GenerateNativeHeader
 public class Opaque extends Pointer<Void> {
     protected Opaque(long ptr) { super(ptr); }
     protected Opaque(Pointer<?> ptr) { super(ptr.ptr); }
--- a/src/macosx/native/jobjc/src/core/java/com/apple/jobjc/Pointer.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/macosx/native/jobjc/src/core/java/com/apple/jobjc/Pointer.java	Wed Aug 01 11:08:11 2012 -0400
@@ -24,6 +24,10 @@
  */
 package com.apple.jobjc;
 
+import javax.tools.annotation.GenerateNativeHeader;
+
+/* No native methods here, but the constants are needed in the supporting JNI code */
+@GenerateNativeHeader
 public class Pointer <T> implements Comparable<Pointer<T>>{
     long ptr;
 
--- a/src/macosx/native/jobjc/src/core/java/com/apple/jobjc/PrimitiveCoder.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/macosx/native/jobjc/src/core/java/com/apple/jobjc/PrimitiveCoder.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011,2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -24,8 +24,11 @@
  */
 package com.apple.jobjc;
 import com.apple.jobjc.JObjCRuntime.Width;
+import javax.tools.annotation.GenerateNativeHeader;
 // Auto generated by PrimitiveCoder.hs
 // Do not edit by hand.
+/* No native methods here, but the constants are needed in the supporting JNI code */
+@GenerateNativeHeader
 public abstract class PrimitiveCoder<T> extends Coder<T>{
     public PrimitiveCoder(int ffiTypeCode, String objCEncoding, Class jclass, Class jprim){
         super(ffiTypeCode, objCEncoding, jclass, jprim);
@@ -127,6 +130,8 @@
 
 
 // native BOOL -> java boolean
+/* No native methods here, but the constants are needed in the supporting JNI code */
+@GenerateNativeHeader
 public static final class BoolCoder extends PrimitiveCoder<Boolean>{
     public static final BoolCoder INST = new BoolCoder();
     public BoolCoder(){ super(FFI_SINT8, "B", Boolean.class, boolean.class); }
@@ -170,6 +175,8 @@
 }
 
 // native schar -> java byte
+/* No native methods here, but the constants are needed in the supporting JNI code */
+@GenerateNativeHeader
 public static final class SCharCoder extends PrimitiveCoder<Byte>{
     public static final SCharCoder INST = new SCharCoder();
     public SCharCoder(){ super(FFI_SINT8, "c", Byte.class, byte.class); }
@@ -213,6 +220,8 @@
 }
 
 // native uchar -> java byte
+/* No native methods here, but the constants are needed in the supporting JNI code */
+@GenerateNativeHeader
 public static final class UCharCoder extends PrimitiveCoder<Byte>{
     public static final UCharCoder INST = new UCharCoder();
     public UCharCoder(){ super(FFI_UINT8, "C", Byte.class, byte.class); }
@@ -256,6 +265,8 @@
 }
 
 // native sshort -> java short
+/* No native methods here, but the constants are needed in the supporting JNI code */
+@GenerateNativeHeader
 public static final class SShortCoder extends PrimitiveCoder<Short>{
     public static final SShortCoder INST = new SShortCoder();
     public SShortCoder(){ super(FFI_SINT16, "s", Short.class, short.class); }
@@ -299,6 +310,8 @@
 }
 
 // native ushort -> java short
+/* No native methods here, but the constants are needed in the supporting JNI code */
+@GenerateNativeHeader
 public static final class UShortCoder extends PrimitiveCoder<Short>{
     public static final UShortCoder INST = new UShortCoder();
     public UShortCoder(){ super(FFI_UINT16, "S", Short.class, short.class); }
@@ -342,6 +355,8 @@
 }
 
 // native sint -> java int
+/* No native methods here, but the constants are needed in the supporting JNI code */
+@GenerateNativeHeader
 public static final class SIntCoder extends PrimitiveCoder<Integer>{
     public static final SIntCoder INST = new SIntCoder();
     public SIntCoder(){ super(FFI_SINT32, "i", Integer.class, int.class); }
@@ -385,6 +400,8 @@
 }
 
 // native uint -> java int
+/* No native methods here, but the constants are needed in the supporting JNI code */
+@GenerateNativeHeader
 public static final class UIntCoder extends PrimitiveCoder<Integer>{
     public static final UIntCoder INST = new UIntCoder();
     public UIntCoder(){ super(FFI_UINT32, "I", Integer.class, int.class); }
@@ -428,6 +445,8 @@
 }
 
 // native slong -> java long
+/* No native methods here, but the constants are needed in the supporting JNI code */
+@GenerateNativeHeader
 public static final class SLongCoder extends PrimitiveCoder<Long>{
     public static final SLongCoder INST = new SLongCoder();
     public SLongCoder(){ super((JObjCRuntime.IS64 ? (FFI_SINT64) : (FFI_SINT32)), "l", Long.class, long.class); }
@@ -477,6 +496,8 @@
 }
 
 // native ulong -> java long
+/* No native methods here, but the constants are needed in the supporting JNI code */
+@GenerateNativeHeader
 public static final class ULongCoder extends PrimitiveCoder<Long>{
     public static final ULongCoder INST = new ULongCoder();
     public ULongCoder(){ super((JObjCRuntime.IS64 ? (FFI_UINT64) : (FFI_UINT32)), "L", Long.class, long.class); }
@@ -526,6 +547,8 @@
 }
 
 // native slonglong -> java long
+/* No native methods here, but the constants are needed in the supporting JNI code */
+@GenerateNativeHeader
 public static final class SLongLongCoder extends PrimitiveCoder<Long>{
     public static final SLongLongCoder INST = new SLongLongCoder();
     public SLongLongCoder(){ super(FFI_SINT64, "q", Long.class, long.class); }
@@ -569,6 +592,8 @@
 }
 
 // native ulonglong -> java long
+/* No native methods here, but the constants are needed in the supporting JNI code */
+@GenerateNativeHeader
 public static final class ULongLongCoder extends PrimitiveCoder<Long>{
     public static final ULongLongCoder INST = new ULongLongCoder();
     public ULongLongCoder(){ super(FFI_UINT64, "Q", Long.class, long.class); }
@@ -612,6 +637,8 @@
 }
 
 // native float -> java float
+/* No native methods here, but the constants are needed in the supporting JNI code */
+@GenerateNativeHeader
 public static final class FloatCoder extends PrimitiveCoder<Float>{
     public static final FloatCoder INST = new FloatCoder();
     public FloatCoder(){ super(FFI_FLOAT, "f", Float.class, float.class); }
@@ -655,6 +682,8 @@
 }
 
 // native double -> java double
+/* No native methods here, but the constants are needed in the supporting JNI code */
+@GenerateNativeHeader
 public static final class DoubleCoder extends PrimitiveCoder<Double>{
     public static final DoubleCoder INST = new DoubleCoder();
     public DoubleCoder(){ super(FFI_DOUBLE, "d", Double.class, double.class); }
--- a/src/macosx/native/jobjc/src/core/java/com/apple/jobjc/SEL.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/macosx/native/jobjc/src/core/java/com/apple/jobjc/SEL.java	Wed Aug 01 11:08:11 2012 -0400
@@ -24,6 +24,10 @@
  */
 package com.apple.jobjc;
 
+import javax.tools.annotation.GenerateNativeHeader;
+
+/* No native methods here, but the constants are needed in the supporting JNI code */
+@GenerateNativeHeader
 public class SEL {
     static native long getSelectorPtr(String selectorName);
     static native String getSelectorName(long ptr);
--- a/src/macosx/native/jobjc/src/core/java/com/apple/jobjc/Struct.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/macosx/native/jobjc/src/core/java/com/apple/jobjc/Struct.java	Wed Aug 01 11:08:11 2012 -0400
@@ -24,9 +24,13 @@
  */
 package com.apple.jobjc;
 
+import javax.tools.annotation.GenerateNativeHeader;
+
 /**
  * A struct is malloced on the C heap and accessed in Java through a ByteBuffer.
  */
+/* No native methods here, but the constants are needed in the supporting JNI code */
+@GenerateNativeHeader
 public abstract class Struct{
     protected final NativeBuffer raw;
     private final JObjCRuntime runtime;
--- a/src/macosx/native/jobjc/src/core/java/com/apple/jobjc/Subclassing.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/macosx/native/jobjc/src/core/java/com/apple/jobjc/Subclassing.java	Wed Aug 01 11:08:11 2012 -0400
@@ -33,6 +33,10 @@
 import com.apple.jobjc.Coder.VoidCoder;
 import com.apple.jobjc.Invoke.MsgSend;
 
+import javax.tools.annotation.GenerateNativeHeader;
+
+/* No native methods here, but the constants are needed in the supporting JNI code */
+@GenerateNativeHeader
 final class Subclassing {
     static native long allocateClassPair(long superClass, String name);
     static native boolean addIVarForJObj(long clazz);
--- a/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/classes/FrameworkClassFile.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/classes/FrameworkClassFile.java	Wed Aug 01 11:08:11 2012 -0400
@@ -28,6 +28,7 @@
 import java.io.PrintStream;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.TreeSet;
 
 import com.apple.internal.jobjc.generator.FunctionGenerator;
 import com.apple.internal.jobjc.generator.Utils;
@@ -130,7 +131,11 @@
             }
         }
 
-        for (final Clazz clazz : framework.classes) {
+        /**
+         * Order classes to get stable output
+         */
+        TreeSet<Clazz> sortedClasses = new TreeSet<Clazz>(framework.classes);
+        for (final Clazz clazz : sortedClasses) {
             final String classClassName = clazz.name + "Class";
             out.println(JavaLang.makeSingleton("_" + classClassName, clazz.name, classClassName, "getRuntime()"));
         }
--- a/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/Clazz.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/Clazz.java	Wed Aug 01 11:08:11 2012 -0400
@@ -147,4 +147,8 @@
 
         return null;
     }
+
+    int compareTo(Clazz o) {
+      return toString().compareTo(o.toString());
+    }
 }
--- a/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/coders/ComplexCoderDescriptor.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/coders/ComplexCoderDescriptor.java	Wed Aug 01 11:08:11 2012 -0400
@@ -25,7 +25,7 @@
 package com.apple.internal.jobjc.generator.model.coders;
 
 import java.util.HashMap;
-import java.util.HashSet;
+import java.util.TreeSet;
 import java.util.Map;
 import java.util.Set;
 
@@ -40,7 +40,7 @@
  */
 public class ComplexCoderDescriptor extends CoderDescriptor {
     static Map<Pair<NType,NType>, ComplexCoderDescriptor> cache = new HashMap<Pair<NType,NType>, ComplexCoderDescriptor>();
-    static Set<MixedEncodingDescriptor> mixedEncodingDescriptors = new HashSet<MixedEncodingDescriptor>();
+    static Set<MixedEncodingDescriptor> mixedEncodingDescriptors = new TreeSet<MixedEncodingDescriptor>();
 
     public static Set<MixedEncodingDescriptor> getMixedEncoders() { return mixedEncodingDescriptors; }
 
@@ -76,7 +76,7 @@
     // ** Subclasses
     // -------------
 
-    public static class MixedEncodingDescriptor extends ComplexCoderDescriptor {
+    public static class MixedEncodingDescriptor extends ComplexCoderDescriptor implements java.lang.Comparable {
         protected final PrimitiveCoderDescriptor desc32;
 
         public MixedEncodingDescriptor(final PrimitiveCoderDescriptor desc32, final PrimitiveCoderDescriptor desc64) {
@@ -97,5 +97,6 @@
         }
 
         static String getBaseNameOfCoder(final String coderName) { return coderName.substring(0, coderName.indexOf("Coder")); }
+        public int compareTo(Object _o) { MixedEncodingDescriptor o = (MixedEncodingDescriptor)_o; return getMixedName().compareTo(o.getMixedName()); }
     }
 }
--- a/src/macosx/native/sun/awt/AWTWindow.m	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/macosx/native/sun/awt/AWTWindow.m	Wed Aug 01 11:08:11 2012 -0400
@@ -934,27 +934,6 @@
 
 /*
  * Class:     sun_lwawt_macosx_CPlatformWindow
- * Method:    nativeSetNSWindowAlpha
- * Signature: (JF)V
- */
-JNIEXPORT void JNICALL Java_sun_lwawt_macosx_CPlatformWindow_nativeSetNSWindowAlpha
-(JNIEnv *env, jclass clazz, jlong windowPtr, jfloat alpha)
-{
-JNF_COCOA_ENTER(env);
-AWT_ASSERT_NOT_APPKIT_THREAD;
-
-    NSWindow *nsWindow = OBJC(windowPtr);
-    [JNFRunLoop performOnMainThreadWaiting:NO withBlock:^(){
-        AWT_ASSERT_APPKIT_THREAD;
-
-        [nsWindow setAlphaValue:alpha];
-    }];
-
-JNF_COCOA_EXIT(env);
-}
-
-/*
- * Class:     sun_lwawt_macosx_CPlatformWindow
  * Method:    nativeRevalidateNSWindowShadow
  * Signature: (J)V
  */
@@ -962,14 +941,17 @@
 (JNIEnv *env, jclass clazz, jlong windowPtr)
 {
 JNF_COCOA_ENTER(env);
-AWT_ASSERT_NOT_APPKIT_THREAD;
 
     NSWindow *nsWindow = OBJC(windowPtr);
-    [JNFRunLoop performOnMainThreadWaiting:NO withBlock:^(){
-        AWT_ASSERT_APPKIT_THREAD;
+    if ([NSThread isMainThread]) {
+        [nsWindow invalidateShadow];
+    } else {
+        [JNFRunLoop performOnMainThreadWaiting:NO withBlock:^(){
+            AWT_ASSERT_APPKIT_THREAD;
 
-        [nsWindow invalidateShadow];
-    }];
+            [nsWindow invalidateShadow];
+        }];
+    }
 
 JNF_COCOA_EXIT(env);
 }
--- a/src/macosx/native/sun/awt/CGraphicsDevice.m	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/macosx/native/sun/awt/CGraphicsDevice.m	Wed Aug 01 11:08:11 2012 -0400
@@ -28,7 +28,7 @@
 /*
  * Convert the mode string to the more convinient bits per pixel value
  */
-static int getBPPFromModeString(CFStringRef mode) 
+static int getBPPFromModeString(CFStringRef mode)
 {
     if ((CFStringCompare(mode, CFSTR(kIO30BitDirectPixels), kCFCompareCaseInsensitive) == kCFCompareEqualTo)) {
         // This is a strange mode, where we using 10 bits per RGB component and pack it into 32 bits
@@ -44,7 +44,7 @@
     else if (CFStringCompare(mode, CFSTR(IO8BitIndexedPixels), kCFCompareCaseInsensitive) == kCFCompareEqualTo) {
         return 8;
     }
-    
+
     return 0;
 }
 
@@ -68,6 +68,11 @@
             // One of the key parameters does not match
             continue;
         }
+
+        if (refrate == 0) { // REFRESH_RATE_UNKNOWN
+            return cRef;
+        }
+
         // Refresh rate might be 0 in display mode and we ask for specific display rate
         // but if we do not find exact match then 0 refresh rate might be just Ok
         if (CGDisplayModeGetRefreshRate(cRef) == refrate) {
@@ -165,7 +170,10 @@
                 }
             }
         }];
+    } else {
+        [JNFException raise:env as:kIllegalArgumentException reason:"Invalid display mode"];
     }
+
     CFRelease(allModes);
     JNF_COCOA_EXIT(env);
 }
--- a/src/share/classes/com/sun/crypto/provider/OAEPParameters.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/com/sun/crypto/provider/OAEPParameters.java	Wed Aug 01 11:08:11 2012 -0400
@@ -105,22 +105,6 @@
         }
     }
 
-    private static String convertToStandardName(String internalName) {
-        if (internalName.equals("SHA")) {
-            return "SHA-1";
-        } else if (internalName.equals("SHA224")) {
-            return "SHA-224";
-        } else if (internalName.equals("SHA256")) {
-            return "SHA-256";
-        } else if (internalName.equals("SHA384")) {
-            return "SHA-384";
-        } else if (internalName.equals("SHA512")) {
-            return "SHA-512";
-        } else {
-            return internalName;
-        }
-    }
-
     protected void engineInit(byte[] encoded)
         throws IOException {
         DerInputStream der = new DerInputStream(encoded);
@@ -132,8 +116,8 @@
             DerValue data = datum[i];
             if (data.isContextSpecific((byte) 0x00)) {
                 // hash algid
-                mdName = convertToStandardName(AlgorithmId.parse
-                    (data.data.getDerValue()).getName());
+                mdName = AlgorithmId.parse
+                    (data.data.getDerValue()).getName();
             } else if (data.isContextSpecific((byte) 0x01)) {
                 // mgf algid
                 AlgorithmId val = AlgorithmId.parse(data.data.getDerValue());
@@ -142,7 +126,7 @@
                 }
                 AlgorithmId params = AlgorithmId.parse(
                     new DerValue(val.getEncodedParams()));
-                String mgfDigestName = convertToStandardName(params.getName());
+                String mgfDigestName = params.getName();
                 if (mgfDigestName.equals("SHA-1")) {
                     mgfSpec = MGF1ParameterSpec.SHA1;
                 } else if (mgfDigestName.equals("SHA-224")) {
--- a/src/share/classes/com/sun/java/swing/plaf/gtk/GTKLookAndFeel.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/com/sun/java/swing/plaf/gtk/GTKLookAndFeel.java	Wed Aug 01 11:08:11 2012 -0400
@@ -796,9 +796,10 @@
             "Menu.margin", zeroInsets,
             "Menu.cancelMode", "hideMenuTree",
             "Menu.alignAcceleratorText", Boolean.FALSE,
+            "Menu.useMenuBarForTopLevelMenus", Boolean.TRUE,
 
 
-            "MenuBar.windowBindings", new Object[] {
+                "MenuBar.windowBindings", new Object[] {
                 "F10", "takeFocus" },
             "MenuBar.font", new FontLazyValue(Region.MENU_BAR),
 
--- a/src/share/classes/com/sun/java/swing/plaf/gtk/GTKStyleFactory.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/com/sun/java/swing/plaf/gtk/GTKStyleFactory.java	Wed Aug 01 11:08:11 2012 -0400
@@ -92,7 +92,13 @@
                 boolean defaultCapable = btn.isDefaultCapable();
                 key = new ComplexKey(wt, toolButton, defaultCapable);
             }
+        } else if (id == Region.MENU) {
+            if (c instanceof JMenu && ((JMenu) c).isTopLevelMenu() &&
+                    UIManager.getBoolean("Menu.useMenuBarForTopLevelMenus")) {
+                wt = WidgetType.MENU_BAR;
+            }
         }
+
         if (key == null) {
             // Otherwise, just use the WidgetType as the key.
             key = wt;
--- a/src/share/classes/com/sun/java/util/jar/pack/Driver.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/com/sun/java/util/jar/pack/Driver.java	Wed Aug 01 11:08:11 2012 -0400
@@ -36,6 +36,7 @@
 import java.io.PrintStream;
 import java.text.MessageFormat;
 import java.nio.file.Files;
+import java.nio.file.Path;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.HashMap;
@@ -381,12 +382,15 @@
         String prefix = base.getName();
         if (prefix.length() < 3)  prefix += "tmp";
 
-        File where = base.getParentFile();
+        File where = (base.getParentFile() == null && suffix.equals(".bak"))
+                ? new File(".").getAbsoluteFile()
+                : base.getParentFile();
 
-        if ( base.getParentFile() == null && suffix.equals(".bak"))
-            where = new File(".").getAbsoluteFile();
+        Path tmpfile = (where == null)
+                ? Files.createTempFile(prefix, suffix)
+                : Files.createTempFile(where.toPath(), prefix, suffix);
 
-        return Files.createTempFile(where.toPath(), prefix, suffix).toFile();
+        return tmpfile.toFile();
     }
 
     static private
--- a/src/share/classes/com/sun/jndi/ldap/Connection.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/com/sun/jndi/ldap/Connection.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -680,9 +680,11 @@
                         ldr = ldr.next;
                     }
                 }
-                parent.processConnectionClosure();
             }
         }
+        if (nparent) {
+            parent.processConnectionClosure();
+        }
     }
 
 
--- a/src/share/classes/com/sun/jndi/ldap/LdapClient.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/com/sun/jndi/ldap/LdapClient.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -488,14 +488,16 @@
      */
     void processConnectionClosure() {
         // Notify listeners
-        if (unsolicited.size() > 0) {
-            String msg;
-            if (conn != null) {
-                msg = conn.host + ":" + conn.port + " connection closed";
-            } else {
-                msg = "Connection closed";
+        synchronized (unsolicited) {
+            if (unsolicited.size() > 0) {
+                String msg;
+                if (conn != null) {
+                    msg = conn.host + ":" + conn.port + " connection closed";
+                } else {
+                    msg = "Connection closed";
+                }
+                notifyUnsolicited(new CommunicationException(msg));
             }
-            notifyUnsolicited(new CommunicationException(msg));
         }
 
         // Remove from pool
--- a/src/share/classes/java/awt/image/DirectColorModel.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/java/awt/image/DirectColorModel.java	Wed Aug 01 11:08:11 2012 -0400
@@ -27,7 +27,6 @@
 
 import java.awt.color.ColorSpace;
 import java.awt.Transparency;
-import javax.tools.annotation.GenerateNativeHeader;
 
 /**
  * The <code>DirectColorModel</code> class is a <code>ColorModel</code>
@@ -107,8 +106,6 @@
  * @see ColorModel#getRGBdefault
  *
  */
-/* No native methods here, but the constants are needed in the supporting JNI code */
-@GenerateNativeHeader
 public class DirectColorModel extends PackedColorModel {
     private int red_mask;
     private int green_mask;
--- a/src/share/classes/java/net/HttpCookie.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/java/net/HttpCookie.java	Wed Aug 01 11:08:11 2012 -0400
@@ -137,7 +137,7 @@
 
     private HttpCookie(String name, String value, String header) {
         name = name.trim();
-        if (name.length() == 0 || !isToken(name) || isReserved(name)) {
+        if (name.length() == 0 || !isToken(name)) {
             throw new IllegalArgumentException("Illegal cookie name");
         }
 
@@ -782,33 +782,6 @@
     }
 
     /*
-     * @param  name
-     *         the name to be tested
-     *
-     * @return  {@code true} if the name is reserved by cookie specification,
-     *          {@code false} if it is not
-     */
-    private static boolean isReserved(String name) {
-        if (name.equalsIgnoreCase("Comment")
-            || name.equalsIgnoreCase("CommentURL")      // rfc2965 only
-            || name.equalsIgnoreCase("Discard")         // rfc2965 only
-            || name.equalsIgnoreCase("Domain")
-            || name.equalsIgnoreCase("Expires")         // netscape draft only
-            || name.equalsIgnoreCase("Max-Age")
-            || name.equalsIgnoreCase("Path")
-            || name.equalsIgnoreCase("Port")            // rfc2965 only
-            || name.equalsIgnoreCase("Secure")
-            || name.equalsIgnoreCase("Version")
-            || name.equalsIgnoreCase("HttpOnly")
-            || name.charAt(0) == '$')
-        {
-            return true;
-        }
-
-        return false;
-    }
-
-    /*
      * Parse header string to cookie object.
      *
      * @param  header
--- a/src/share/classes/java/net/NetworkInterface.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/java/net/NetworkInterface.java	Wed Aug 01 11:08:11 2012 -0400
@@ -326,8 +326,10 @@
     }
 
     /**
-     * Returns all the interfaces on this machine. Returns null if no
-     * network interfaces could be found on this machine.
+     * Returns all the interfaces on this machine. The {@code Enumeration}
+     * contains at least one element, possibly representing a loopback
+     * interface that only supports communication between entities on
+     * this machine.
      *
      * NOTE: can use getNetworkInterfaces()+getInetAddresses()
      *       to obtain all IP addresses for this node
--- a/src/share/classes/java/net/package.html	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/java/net/package.html	Wed Aug 01 11:08:11 2012 -0400
@@ -65,6 +65,7 @@
 <p>Sending and receiving with TCP sockets is done through InputStreams and OutputStreams which can be obtained via the {@link java.net.Socket#getInputStream} and {@link java.net.Socket#getOutputStream} methods.</p>
 <h2>Interfaces</h2>
 <p>The {@link java.net.NetworkInterface} class provides APIs to browse and query all the networking interfaces (e.g. ethernet connection or PPP endpoint) of the local machine. It is through that class that you can check if any of the local interfaces is configured to support IPv6.</p>
+<p>Note, all conforming implementations must support at least one {@code NetworkInterface} object, which must either be connected to a network, or be a "loopback" interface that can only communicate with entities on the same machine.</p>
 
 <h2>High level API</h2>
 <p>A number of classes in the java.net package do provide for a much higher level of abstraction and allow for easy access to resources on the network. The classes are:
--- a/src/share/classes/java/util/InvalidPropertiesFormatException.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/java/util/InvalidPropertiesFormatException.java	Wed Aug 01 11:08:11 2012 -0400
@@ -44,6 +44,9 @@
  */
 
 public class InvalidPropertiesFormatException extends IOException {
+
+    private static final long serialVersionUID = 7763056076009360219L;
+
     /**
      * Constructs an InvalidPropertiesFormatException with the specified
      * cause.
--- a/src/share/classes/java/util/regex/Pattern.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/java/util/regex/Pattern.java	Wed Aug 01 11:08:11 2012 -0400
@@ -2026,6 +2026,7 @@
         }
     }
 
+    @SuppressWarnings("fallthrough")
     /**
      * Parsing of sequences between alternations.
      */
@@ -2140,6 +2141,7 @@
         return head;
     }
 
+    @SuppressWarnings("fallthrough")
     /**
      * Parse and add a new Single or Slice.
      */
@@ -2978,6 +2980,7 @@
         return head;
     }
 
+    @SuppressWarnings("fallthrough")
     /**
      * Parses inlined match flags and set them appropriately.
      */
@@ -3019,6 +3022,7 @@
         }
     }
 
+    @SuppressWarnings("fallthrough")
     /**
      * Parses the second part of inlined match flags and turns off
      * flags appropriately.
--- a/src/share/classes/java/util/zip/GZIPInputStream.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/java/util/zip/GZIPInputStream.java	Wed Aug 01 11:08:11 2012 -0400
@@ -252,7 +252,7 @@
      */
     private int readUShort(InputStream in) throws IOException {
         int b = readUByte(in);
-        return ((int)readUByte(in) << 8) | b;
+        return (readUByte(in) << 8) | b;
     }
 
     /*
--- a/src/share/classes/javax/security/auth/kerberos/KerberosPrincipal.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/javax/security/auth/kerberos/KerberosPrincipal.java	Wed Aug 01 11:08:11 2012 -0400
@@ -26,7 +26,6 @@
 package javax.security.auth.kerberos;
 
 import java.io.*;
-import sun.security.krb5.Asn1Exception;
 import sun.security.krb5.KrbException;
 import sun.security.krb5.PrincipalName;
 import sun.security.krb5.Realm;
@@ -81,14 +80,12 @@
 
     public static final int KRB_NT_UID = 5;
 
-
     private transient String fullName;
 
     private transient String realm;
 
     private transient int nameType;
 
-    private static final char NAME_REALM_SEPARATOR = '@';
 
     /**
      * Constructs a KerberosPrincipal from the provided string input. The
@@ -233,41 +230,35 @@
      *          realm in their DER-encoded form as specified in Section 5.2.2 of
      *          <a href=http://www.ietf.org/rfc/rfc4120.txt> RFC4120</a>.
      */
-
     private void writeObject(ObjectOutputStream oos)
-        throws IOException {
+            throws IOException {
 
-        PrincipalName krb5Principal = null;
+        PrincipalName krb5Principal;
         try {
-            krb5Principal  = new PrincipalName(fullName,nameType);
+            krb5Principal  = new PrincipalName(fullName, nameType);
             oos.writeObject(krb5Principal.asn1Encode());
             oos.writeObject(krb5Principal.getRealm().asn1Encode());
         } catch (Exception e) {
-            IOException ioe = new IOException(e.getMessage());
-            ioe.initCause(e);
-            throw ioe;
+            throw new IOException(e);
         }
     }
 
     /**
      * Reads this object from a stream (i.e., deserializes it)
      */
-
     private void readObject(ObjectInputStream ois)
-         throws IOException, ClassNotFoundException {
+            throws IOException, ClassNotFoundException {
         byte[] asn1EncPrincipal = (byte [])ois.readObject();
         byte[] encRealm = (byte [])ois.readObject();
         try {
-           PrincipalName krb5Principal = new PrincipalName(new
-                                                DerValue(asn1EncPrincipal));
-           realm = (new Realm(new DerValue(encRealm))).toString();
-           fullName = krb5Principal.toString() + NAME_REALM_SEPARATOR +
-                         realm.toString();
+           Realm realmObject = new Realm(new DerValue(encRealm));
+           PrincipalName krb5Principal = new PrincipalName(
+                   new DerValue(asn1EncPrincipal), realmObject);
+           realm = realmObject.toString();
+           fullName = krb5Principal.toString();
            nameType = krb5Principal.getNameType();
         } catch (Exception e) {
-            IOException ioe = new IOException(e.getMessage());
-            ioe.initCause(e);
-            throw ioe;
+            throw new IOException(e);
         }
     }
 
@@ -288,9 +279,7 @@
      * <a href=http://www.ietf.org/rfc/rfc4120.txt> RFC4120</a>.
      *
      * @return the name type.
-     *
      */
-
     public int getNameType() {
         return nameType;
     }
--- a/src/share/classes/javax/swing/JViewport.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/javax/swing/JViewport.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1586,10 +1586,18 @@
         int bdx = blitToX - blitFromX;
         int bdy = blitToY - blitFromY;
 
+        Composite oldComposite = null;
         // Shift the scrolled region
+        if (g instanceof Graphics2D) {
+            Graphics2D g2d = (Graphics2D) g;
+            oldComposite = g2d.getComposite();
+            g2d.setComposite(AlphaComposite.Src);
+        }
         rm.copyArea(this, g, blitFromX, blitFromY, blitW, blitH, bdx, bdy,
                     false);
-
+        if (oldComposite != null) {
+            ((Graphics2D) g).setComposite(oldComposite);
+        }
         // Paint the newly exposed region.
         int x = view.getX();
         int y = view.getY();
--- a/src/share/classes/javax/swing/RepaintManager.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/javax/swing/RepaintManager.java	Wed Aug 01 11:08:11 2012 -0400
@@ -119,6 +119,11 @@
     // Whether or not a VolatileImage should be used for double-buffered painting
     static boolean volatileImageBufferEnabled = true;
     /**
+     * Type of VolatileImage which should be used for double-buffered
+     * painting.
+     */
+    private static final int volatileBufferType;
+    /**
      * Value of the system property awt.nativeDoubleBuffering.
      */
     private static boolean nativeDoubleBuffering;
@@ -204,6 +209,13 @@
             ((SunGraphicsEnvironment)ge).addDisplayChangedListener(
                     new DisplayChangedHandler());
         }
+        Toolkit tk = Toolkit.getDefaultToolkit();
+        if ((tk instanceof SunToolkit)
+                && ((SunToolkit) tk).isSwingBackbufferTranslucencySupported()) {
+            volatileBufferType = Transparency.TRANSLUCENT;
+        } else {
+            volatileBufferType = Transparency.OPAQUE;
+        }
     }
 
     /**
@@ -989,7 +1001,8 @@
             if (image != null) {
                 image.flush();
             }
-            image = config.createCompatibleVolatileImage(width, height);
+            image = config.createCompatibleVolatileImage(width, height,
+                                                         volatileBufferType);
             volatileMap.put(config, image);
         }
         return image;
@@ -1483,9 +1496,26 @@
                     for(y=clipY, maxy = clipY + clipH; y < maxy ; y += bh) {
                         osg.translate(-x, -y);
                         osg.setClip(x,y,bw,bh);
+                        if (volatileBufferType != Transparency.OPAQUE
+                                && osg instanceof Graphics2D) {
+                            final Graphics2D g2d = (Graphics2D) osg;
+                            final Color oldBg = g2d.getBackground();
+                            g2d.setBackground(c.getBackground());
+                            g2d.clearRect(x, y, bw, bh);
+                            g2d.setBackground(oldBg);
+                        }
                         c.paintToOffscreen(osg, x, y, bw, bh, maxx, maxy);
                         g.setClip(x, y, bw, bh);
-                        g.drawImage(image, x, y, c);
+                        if (volatileBufferType != Transparency.OPAQUE
+                                && g instanceof Graphics2D) {
+                            final Graphics2D g2d = (Graphics2D) g;
+                            final Composite oldComposite = g2d.getComposite();
+                            g2d.setComposite(AlphaComposite.Src);
+                            g2d.drawImage(image, x, y, c);
+                            g2d.setComposite(oldComposite);
+                        } else {
+                            g.drawImage(image, x, y, c);
+                        }
                         osg.translate(x, y);
                     }
                 }
--- a/src/share/classes/javax/swing/SwingUtilities.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/javax/swing/SwingUtilities.java	Wed Aug 01 11:08:11 2012 -0400
@@ -319,7 +319,8 @@
             newEvent = new MouseWheelEvent(newSource,
                                            sourceWheelEvent.getID(),
                                            sourceWheelEvent.getWhen(),
-                                           sourceWheelEvent.getModifiers(),
+                                           sourceWheelEvent.getModifiers()
+                                                   | sourceWheelEvent.getModifiersEx(),
                                            p.x,p.y,
                                            sourceWheelEvent.getXOnScreen(),
                                            sourceWheelEvent.getYOnScreen(),
@@ -334,7 +335,8 @@
             newEvent = new MenuDragMouseEvent(newSource,
                                               sourceMenuDragEvent.getID(),
                                               sourceMenuDragEvent.getWhen(),
-                                              sourceMenuDragEvent.getModifiers(),
+                                              sourceMenuDragEvent.getModifiers()
+                                                      | sourceMenuDragEvent.getModifiersEx(),
                                               p.x,p.y,
                                               sourceMenuDragEvent.getXOnScreen(),
                                               sourceMenuDragEvent.getYOnScreen(),
@@ -347,7 +349,8 @@
             newEvent = new MouseEvent(newSource,
                                       sourceEvent.getID(),
                                       sourceEvent.getWhen(),
-                                      sourceEvent.getModifiers(),
+                                      sourceEvent.getModifiers()
+                                              | sourceEvent.getModifiersEx(),
                                       p.x,p.y,
                                       sourceEvent.getXOnScreen(),
                                       sourceEvent.getYOnScreen(),
--- a/src/share/classes/javax/swing/border/TitledBorder.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/javax/swing/border/TitledBorder.java	Wed Aug 01 11:08:11 2012 -0400
@@ -440,7 +440,7 @@
      * @return the title-font of the titled border
      */
     public Font getTitleFont() {
-        return titleFont;
+        return titleFont == null ? UIManager.getFont("TitledBorder.font") : titleFont;
     }
 
     /**
@@ -449,7 +449,7 @@
      * @return the title-color of the titled border
      */
     public Color getTitleColor() {
-        return titleColor;
+        return titleColor == null ? UIManager.getColor("TitledBorder.titleColor") : titleColor;
     }
 
 
@@ -681,10 +681,6 @@
         if (font != null) {
             return font;
         }
-        font = UIManager.getFont("TitledBorder.font");
-        if (font != null) {
-            return font;
-        }
         if (c != null) {
             font = c.getFont();
             if (font != null) {
@@ -699,10 +695,6 @@
         if (color != null) {
             return color;
         }
-        color = UIManager.getColor("TitledBorder.titleColor");
-        if (color != null) {
-            return color;
-        }
         return (c != null)
                 ? c.getForeground()
                 : null;
--- a/src/share/classes/javax/swing/plaf/synth/SynthMenuUI.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/javax/swing/plaf/synth/SynthMenuUI.java	Wed Aug 01 11:08:11 2012 -0400
@@ -299,7 +299,8 @@
      */
     @Override
     public void propertyChange(PropertyChangeEvent e) {
-        if (SynthLookAndFeel.shouldUpdateStyle(e)) {
+        if (SynthLookAndFeel.shouldUpdateStyle(e) ||
+                (e.getPropertyName().equals("ancestor") && UIManager.getBoolean("Menu.useMenuBarForTopLevelMenus"))) {
             updateStyle((JMenu)e.getSource());
         }
     }
--- a/src/share/classes/sun/awt/CharsetString.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/sun/awt/CharsetString.java	Wed Aug 01 11:08:11 2012 -0400
@@ -24,10 +24,6 @@
  */
 package sun.awt;
 
-import javax.tools.annotation.GenerateNativeHeader;
-
-/* No native methods here, but the constants are needed in the supporting JNI code */
-@GenerateNativeHeader
 public class CharsetString {
     /**
      * chars for this string.  See also offset, length.
--- a/src/share/classes/sun/awt/SunToolkit.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/sun/awt/SunToolkit.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1985,6 +1985,13 @@
     }
 
     /**
+     * Returns true if swing backbuffer should be translucent.
+     */
+    public boolean isSwingBackbufferTranslucencySupported() {
+        return false;
+    }
+
+    /**
      * Returns whether or not a containing top level window for the passed
      * component is
      * {@link GraphicsDevice.WindowTranslucency#PERPIXEL_TRANSLUCENT PERPIXEL_TRANSLUCENT}.
@@ -2105,25 +2112,41 @@
     private EventQueueItem queueTail = null;
     private final EventQueue eventQueue;
 
+    // For the case when queue is cleared but events are not posted
+    private volatile boolean isFlushing = false;
+
     PostEventQueue(EventQueue eq) {
         eventQueue = eq;
     }
 
     public synchronized boolean noEvents() {
-        return queueHead == null;
+        return queueHead == null && !isFlushing;
     }
 
     /*
      * Continually post pending AWTEvents to the Java EventQueue. The method
      * is synchronized to ensure the flush is completed before a new event
      * can be posted to this queue.
+     *
+     * 7177040: The method couldn't be wholly synchronized because of calls
+     * of EventQueue.postEvent() that uses pushPopLock, otherwise it could
+     * potentially lead to deadlock
      */
-    public synchronized void flush() {
-        EventQueueItem tempQueue = queueHead;
-        queueHead = queueTail = null;
-        while (tempQueue != null) {
-            eventQueue.postEvent(tempQueue.event);
-            tempQueue = tempQueue.next;
+    public void flush() {
+        EventQueueItem tempQueue;
+        synchronized (this) {
+            tempQueue = queueHead;
+            queueHead = queueTail = null;
+            isFlushing = true;
+        }
+        try {
+            while (tempQueue != null) {
+                eventQueue.postEvent(tempQueue.event);
+                tempQueue = tempQueue.next;
+            }
+        }
+        finally {
+            isFlushing = false;
         }
     }
 
--- a/src/share/classes/sun/font/SunLayoutEngine.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/sun/font/SunLayoutEngine.java	Wed Aug 01 11:08:11 2012 -0400
@@ -137,8 +137,9 @@
 
         LayoutEngine e = (LayoutEngine)cache.get(key);
         if (e == null) {
-            e = new SunLayoutEngine(key.copy());
-            cache.put(key, e);
+            LayoutEngineKey copy = key.copy();
+            e = new SunLayoutEngine(copy);
+            cache.put(copy, e);
         }
         return e;
     }
--- a/src/share/classes/sun/java2d/pipe/RegionIterator.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/sun/java2d/pipe/RegionIterator.java	Wed Aug 01 11:08:11 2012 -0400
@@ -27,14 +27,10 @@
 
 import java.awt.Rectangle;
 
-import javax.tools.annotation.GenerateNativeHeader;
-
 /**
  * This class defines the API for iterating through the bands
  * of a region object.
  */
-/* No native methods here, but the constants are needed in the supporting JNI code */
-@GenerateNativeHeader
 public class RegionIterator {
     Region region;
     int curIndex;
--- a/src/share/classes/sun/nio/cs/SingleByte.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/sun/nio/cs/SingleByte.java	Wed Aug 01 11:08:11 2012 -0400
@@ -107,7 +107,7 @@
                 return decodeBufferLoop(src, dst);
         }
 
-        private final char decode(int b) {
+        public final char decode(int b) {
             return b2c[b + 128];
         }
 
@@ -221,7 +221,7 @@
                 return encodeBufferLoop(src, dst);
         }
 
-        private final int encode(char ch) {
+        public final int encode(char ch) {
             char index = c2bIndex[ch >> 8];
             if (index == UNMAPPABLE_ENCODING)
                 return UNMAPPABLE_ENCODING;
--- a/src/share/classes/sun/nio/cs/SingleByteDecoder.java	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,116 +0,0 @@
-/*
- * Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code 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
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- */
-
-package sun.nio.cs;
-
-import java.nio.ByteBuffer;
-import java.nio.CharBuffer;
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CoderResult;
-import java.nio.charset.CharacterCodingException;
-import java.nio.charset.MalformedInputException;
-import java.nio.charset.UnmappableCharacterException;
-
-
-public abstract class SingleByteDecoder
-    extends CharsetDecoder
-{
-
-    private final String byteToCharTable;
-
-    protected SingleByteDecoder(Charset cs, String byteToCharTable) {
-        super(cs, 1.0f, 1.0f);
-        this.byteToCharTable = byteToCharTable;
-    }
-
-    private CoderResult decodeArrayLoop(ByteBuffer src, CharBuffer dst) {
-        byte[] sa = src.array();
-        int sp = src.arrayOffset() + src.position();
-        int sl = src.arrayOffset() + src.limit();
-        assert (sp <= sl);
-        sp = (sp <= sl ? sp : sl);
-        char[] da = dst.array();
-        int dp = dst.arrayOffset() + dst.position();
-        int dl = dst.arrayOffset() + dst.limit();
-        assert (dp <= dl);
-        dp = (dp <= dl ? dp : dl);
-
-        try {
-            while (sp < sl) {
-                int b = sa[sp];
-
-                char c = decode(b);
-                if (c == '\uFFFD')
-                    return CoderResult.unmappableForLength(1);
-                if (dl - dp < 1)
-                    return CoderResult.OVERFLOW;
-                da[dp++] = c;
-                sp++;
-            }
-            return CoderResult.UNDERFLOW;
-        } finally {
-            src.position(sp - src.arrayOffset());
-            dst.position(dp - dst.arrayOffset());
-        }
-    }
-
-    private CoderResult decodeBufferLoop(ByteBuffer src, CharBuffer dst) {
-        int mark = src.position();
-        try {
-            while (src.hasRemaining()) {
-                int b = src.get();
-
-                char c = decode(b);
-                if (c == '\uFFFD')
-                    return CoderResult.unmappableForLength(1);
-                if (!dst.hasRemaining())
-                    return CoderResult.OVERFLOW;
-                mark++;
-                dst.put(c);
-            }
-            return CoderResult.UNDERFLOW;
-        } finally {
-            src.position(mark);
-        }
-    }
-
-    protected CoderResult decodeLoop(ByteBuffer src, CharBuffer dst) {
-        if (true && src.hasArray() && dst.hasArray())
-            return decodeArrayLoop(src, dst);
-        else
-            return decodeBufferLoop(src, dst);
-    }
-
-    public char decode(int byteIndex) {
-        int n = byteIndex + 128;
-        if (n >= byteToCharTable.length() || n < 0)
-            return '\uFFFD';
-        return byteToCharTable.charAt(n);
-    }
-}
--- a/src/share/classes/sun/nio/cs/SingleByteEncoder.java	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,158 +0,0 @@
-/*
- * Copyright (c) 2000, 2004, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code 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
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- */
-
-package sun.nio.cs;
-
-import java.nio.ByteBuffer;
-import java.nio.CharBuffer;
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetEncoder;
-import java.nio.charset.CoderResult;
-import java.nio.charset.CharacterCodingException;
-import java.nio.charset.MalformedInputException;
-import java.nio.charset.UnmappableCharacterException;
-import sun.nio.cs.Surrogate;
-
-
-public abstract class SingleByteEncoder
-    extends CharsetEncoder
-{
-
-    private final short index1[];
-    private final String index2;
-    private final int mask1;
-    private final int mask2;
-    private final int shift;
-
-    private final Surrogate.Parser sgp = new Surrogate.Parser();
-
-    protected SingleByteEncoder(Charset cs,
-                                short[] index1, String index2,
-                                int mask1, int mask2, int shift)
-    {
-        super(cs, 1.0f, 1.0f);
-        this.index1 = index1;
-        this.index2 = index2;
-        this.mask1 = mask1;
-        this.mask2 = mask2;
-        this.shift = shift;
-    }
-
-    public boolean canEncode(char c) {
-        char testEncode = index2.charAt(index1[(c & mask1) >> shift]
-                                        + (c & mask2));
-        return testEncode != '\u0000' || c == '\u0000';
-    }
-
-    private CoderResult encodeArrayLoop(CharBuffer src, ByteBuffer dst) {
-        char[] sa = src.array();
-        int sp = src.arrayOffset() + src.position();
-        int sl = src.arrayOffset() + src.limit();
-        assert (sp <= sl);
-        sp = (sp <= sl ? sp : sl);
-        byte[] da = dst.array();
-        int dp = dst.arrayOffset() + dst.position();
-        int dl = dst.arrayOffset() + dst.limit();
-        assert (dp <= dl);
-        dp = (dp <= dl ? dp : dl);
-
-        try {
-            while (sp < sl) {
-                char c = sa[sp];
-                if (Character.isSurrogate(c)) {
-                    if (sgp.parse(c, sa, sp, sl) < 0)
-                        return sgp.error();
-                    return sgp.unmappableResult();
-                }
-                if (c >= '\uFFFE')
-                    return CoderResult.unmappableForLength(1);
-                if (dl - dp < 1)
-                    return CoderResult.OVERFLOW;
-
-                char e = index2.charAt(index1[(c & mask1) >> shift]
-                                       + (c & mask2));
-
-                // If output byte is zero because input char is zero
-                // then character is mappable, o.w. fail
-                if (e == '\u0000' && c != '\u0000')
-                    return CoderResult.unmappableForLength(1);
-
-                sp++;
-                da[dp++] = (byte)e;
-            }
-            return CoderResult.UNDERFLOW;
-        } finally {
-            src.position(sp - src.arrayOffset());
-            dst.position(dp - dst.arrayOffset());
-        }
-    }
-
-    private CoderResult encodeBufferLoop(CharBuffer src, ByteBuffer dst) {
-        int mark = src.position();
-        try {
-            while (src.hasRemaining()) {
-                char c = src.get();
-                if (Character.isSurrogate(c)) {
-                    if (sgp.parse(c, src) < 0)
-                        return sgp.error();
-                    return sgp.unmappableResult();
-                }
-                if (c >= '\uFFFE')
-                    return CoderResult.unmappableForLength(1);
-                if (!dst.hasRemaining())
-                    return CoderResult.OVERFLOW;
-
-                char e = index2.charAt(index1[(c & mask1) >> shift]
-                                       + (c & mask2));
-
-                // If output byte is zero because input char is zero
-                // then character is mappable, o.w. fail
-                if (e == '\u0000' && c != '\u0000')
-                    return CoderResult.unmappableForLength(1);
-
-                mark++;
-                dst.put((byte)e);
-            }
-            return CoderResult.UNDERFLOW;
-        } finally {
-            src.position(mark);
-        }
-    }
-
-    protected CoderResult encodeLoop(CharBuffer src, ByteBuffer dst) {
-        if (true && src.hasArray() && dst.hasArray())
-            return encodeArrayLoop(src, dst);
-        else
-            return encodeBufferLoop(src, dst);
-    }
-
-    public byte encode(char inputChar) {
-        return (byte)index2.charAt(index1[(inputChar & mask1) >> shift] +
-                (inputChar & mask2));
-    }
-}
--- a/src/share/classes/sun/nio/cs/ext/DoubleByte.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/sun/nio/cs/ext/DoubleByte.java	Wed Aug 01 11:08:11 2012 -0400
@@ -33,6 +33,8 @@
 import java.nio.charset.CoderResult;
 import java.util.Arrays;
 import sun.nio.cs.Surrogate;
+import sun.nio.cs.ArrayDecoder;
+import sun.nio.cs.ArrayEncoder;
 import static sun.nio.cs.CharsetMapping.*;
 
 /*
@@ -107,7 +109,7 @@
     }
 
     public static class Decoder extends CharsetDecoder
-                                implements DelegatableDecoder
+                                implements DelegatableDecoder, ArrayDecoder
     {
 
         final char[][] b2c;
@@ -209,6 +211,29 @@
                 return decodeBufferLoop(src, dst);
         }
 
+        public int decode(byte[] src, int sp, int len, char[] dst) {
+            int dp = 0;
+            int sl = sp + len;
+            char repl = replacement().charAt(0);
+            while (sp < sl) {
+                int b1 = src[sp++] & 0xff;
+                char c = b2cSB[b1];
+                if (c == UNMAPPABLE_DECODING) {
+                    if (sp < sl) {
+                        int b2 = src[sp++] & 0xff;
+                        if (b2 >= b2Min && b2 <= b2Max) {
+                            c = b2c[b1][b2 - b2Min];
+                        }
+                    }
+                    if (c == UNMAPPABLE_DECODING) {
+                        c = repl;
+                    }
+                }
+                dst[dp++] = c;
+            }
+            return dp;
+        }
+
         public void implReset() {
             super.implReset();
         }
@@ -224,7 +249,8 @@
         }
 
         public char decodeDouble(int b1, int b2) {
-            if (b2 < b2Min || b2 > b2Max)
+            if (b1 < 0 || b1 > b2c.length ||
+                b2 < b2Min || b2 > b2Max)
                 return UNMAPPABLE_DECODING;
             return  b2c[b1][b2 - b2Min];
         }
@@ -367,17 +393,57 @@
                 src.position(mark);
             }
         }
+
+        public int decode(byte[] src, int sp, int len, char[] dst) {
+            int dp = 0;
+            int sl = sp + len;
+            currentState = SBCS;
+            char repl = replacement().charAt(0);
+            while (sp < sl) {
+                int b1 = src[sp++] & 0xff;
+                if (b1 == SO) {  // Shift out
+                    if (currentState != SBCS)
+                        dst[dp++] = repl;
+                    else
+                        currentState = DBCS;
+                } else if (b1 == SI) {
+                    if (currentState != DBCS)
+                        dst[dp++] = repl;
+                    else
+                        currentState = SBCS;
+                } else {
+                    char c =  UNMAPPABLE_DECODING;
+                    if (currentState == SBCS) {
+                        c = b2cSB[b1];
+                        if (c == UNMAPPABLE_DECODING)
+                            c = repl;
+                    } else {
+                        if (sl == sp) {
+                            c = repl;
+                        } else {
+                            int b2 = src[sp++] & 0xff;
+                            if (b2 < b2Min || b2 > b2Max ||
+                                (c = b2c[b1][b2 - b2Min]) == UNMAPPABLE_DECODING) {
+                                c = repl;
+                            }
+                        }
+                    }
+                    dst[dp++] = c;
+                }
+            }
+            return dp;
+        }
     }
 
-    // EBCDIC_DBCS_ONLY
-    public static class Decoder_EBCDIC_DBCSONLY extends Decoder {
-        static final char[] b2cSB;
+    // DBCS_ONLY
+    public static class Decoder_DBCSONLY extends Decoder {
+        static final char[] b2cSB_UNMAPPABLE;
         static {
-            b2cSB = new char[0x100];
-            Arrays.fill(b2cSB, UNMAPPABLE_DECODING);
+            b2cSB_UNMAPPABLE = new char[0x100];
+            Arrays.fill(b2cSB_UNMAPPABLE, UNMAPPABLE_DECODING);
         }
-        Decoder_EBCDIC_DBCSONLY(Charset cs, char[][] b2c, int b2Min, int b2Max) {
-            super(cs, 0.5f, 1.0f, b2c, b2cSB, b2Min, b2Max);
+        Decoder_DBCSONLY(Charset cs, char[][] b2c, char[] b2cSB, int b2Min, int b2Max) {
+            super(cs, 0.5f, 1.0f, b2c, b2cSB_UNMAPPABLE, b2Min, b2Max);
         }
     }
 
@@ -405,9 +471,37 @@
                 return CoderResult.malformedForLength(1);
             return CoderResult.unmappableForLength(2);
         }
+
+        public int decode(byte[] src, int sp, int len, char[] dst) {
+            int dp = 0;
+            int sl = sp + len;
+            char repl = replacement().charAt(0);
+            while (sp < sl) {
+                int b1 = src[sp++] & 0xff;
+                char c = b2cSB[b1];
+                if (c == UNMAPPABLE_DECODING) {
+                    if (sp < sl) {
+                        int b2 = src[sp++] & 0xff;
+                        if (b2 < b2Min || b2 > b2Max ||
+                            (c = b2c[b1][b2 - b2Min]) == UNMAPPABLE_DECODING) {
+                            if (b1 == SS2 || b1 == SS3) {
+                                sp--;
+                            }
+                            c = repl;
+                        }
+                    } else {
+                        c = repl;
+                    }
+                }
+                dst[dp++] = c;
+            }
+            return dp;
+        }
     }
 
-    public static class Encoder extends CharsetEncoder {
+    public static class Encoder extends CharsetEncoder
+                                implements ArrayEncoder
+    {
         final int MAX_SINGLEBYTE = 0xff;
         private final char[] c2b;
         private final char[] c2bIndex;
@@ -516,6 +610,35 @@
                 return encodeBufferLoop(src, dst);
         }
 
+        public int encode(char[] src, int sp, int len, byte[] dst) {
+            int dp = 0;
+            int sl = sp + len;
+            int dl = dst.length;
+            while (sp < sl) {
+                char c = src[sp++];
+                int bb = encodeChar(c);
+                if (bb == UNMAPPABLE_ENCODING) {
+                    if (Character.isHighSurrogate(c) && sp < sl &&
+                        Character.isLowSurrogate(src[sp])) {
+                        sp++;
+                    }
+                    byte[] repl = replacement();
+                    dst[dp++] = repl[0];
+                    if (repl.length > 1)
+                        dst[dp++] = repl[1];
+                    continue;
+                } //else
+                if (bb > MAX_SINGLEBYTE) { // DoubleByte
+                    dst[dp++] = (byte)(bb >> 8);
+                    dst[dp++] = (byte)bb;
+                } else {                          // SingleByte
+                    dst[dp++] = (byte)bb;
+                }
+
+            }
+            return dp;
+        }
+
         public int encodeChar(char ch) {
             return c2b[c2bIndex[ch >> 8] + (ch & 0xff)];
         }
@@ -604,10 +727,9 @@
         }
     }
 
-    // EBCDIC_DBCS_ONLY
-    public static class Encoder_EBCDIC_DBCSONLY extends Encoder {
-        Encoder_EBCDIC_DBCSONLY(Charset cs, byte[] repl,
-                                char[] c2b, char[] c2bIndex) {
+    public static class Encoder_DBCSONLY extends Encoder {
+        Encoder_DBCSONLY(Charset cs, byte[] repl,
+                         char[] c2b, char[] c2bIndex) {
             super(cs, 2.0f, 2.0f, repl, c2b, c2bIndex);
         }
 
@@ -619,7 +741,8 @@
         }
     }
 
-    // for IBM_EBCDIC_DBCS
+
+
     public static class Encoder_EBCDIC extends Encoder {
         static final int SBCS = 0;
         static final int DBCS = 1;
@@ -741,6 +864,47 @@
                 src.position(mark);
             }
         }
+
+        public int encode(char[] src, int sp, int len, byte[] dst) {
+            int dp = 0;
+            int sl = sp + len;
+            while (sp < sl) {
+                char c = src[sp++];
+                int bb = encodeChar(c);
+
+                if (bb == UNMAPPABLE_ENCODING) {
+                    if (Character.isHighSurrogate(c) && sp < sl &&
+                        Character.isLowSurrogate(src[sp])) {
+                        sp++;
+                    }
+                    byte[] repl = replacement();
+                    dst[dp++] = repl[0];
+                    if (repl.length > 1)
+                        dst[dp++] = repl[1];
+                    continue;
+                } //else
+                if (bb > MAX_SINGLEBYTE) {           // DoubleByte
+                    if (currentState == SBCS) {
+                        currentState = DBCS;
+                        dst[dp++] = SO;
+                    }
+                    dst[dp++] = (byte)(bb >> 8);
+                    dst[dp++] = (byte)bb;
+                } else {                             // SingleByte
+                    if (currentState == DBCS) {
+                         currentState = SBCS;
+                         dst[dp++] = SI;
+                    }
+                    dst[dp++] = (byte)bb;
+                }
+            }
+
+            if (currentState == DBCS) {
+                 currentState = SBCS;
+                 dst[dp++] = SI;
+            }
+            return dp;
+        }
     }
 
     // EUC_SIMPLE
@@ -749,4 +913,5 @@
             super(cs, c2b, c2bIndex);
         }
     }
+
 }
--- a/src/share/classes/sun/nio/cs/ext/DoubleByteDecoder.java	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,182 +0,0 @@
-/*
- * Copyright (c) 2002, 2005, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code 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
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- */
-
-package sun.nio.cs.ext;
-
-import java.nio.ByteBuffer;
-import java.nio.CharBuffer;
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CoderResult;
-
-abstract class DoubleByteDecoder
-    extends CharsetDecoder
-{
-
-    private short index1[];
-
-    /*
-     * 2nd level index, provided by subclass
-     * every string has 0x10*(end-start+1) characters.
-     */
-    private String  index2[];
-
-    protected int start;
-    protected int end;
-
-    protected static final char REPLACE_CHAR = '\uFFFD';
-    protected char highSurrogate;
-    protected char lowSurrogate;
-
-    protected DoubleByteDecoder(Charset cs, short[] index1, String[] index2,
-                                int start, int end ) {
-        super(cs, 0.5f, 1.0f);
-        this.index1 = index1;
-        this.index2 = index2;
-        this.start = start;
-        this.end = end;
-    }
-
-    private CoderResult decodeArrayLoop(ByteBuffer src, CharBuffer dst) {
-        byte[] sa = src.array();
-        int sp = src.arrayOffset() + src.position();
-        int sl = src.arrayOffset() + src.limit();
-        assert (sp <= sl);
-        sp = (sp <= sl ? sp : sl);
-        char[] da = dst.array();
-        int dp = dst.arrayOffset() + dst.position();
-        int dl = dst.arrayOffset() + dst.limit();
-        assert (dp <= dl);
-        dp = (dp <= dl ? dp : dl);
-
-        try {
-            while (sp < sl) {
-                int b1, b2;
-                b1 = sa[sp];
-                int inputSize = 1;
-                int outputSize = 1;
-                highSurrogate = lowSurrogate = 0;
-                char c = decodeSingle(b1);
-                if (c == REPLACE_CHAR) {
-                    b1 &= 0xff;
-                    if (sl - sp < 2)
-                        return CoderResult.UNDERFLOW;
-                    b2 = sa[sp + 1] & 0xff;
-                    c = decodeDouble(b1, b2);
-                    inputSize = 2;
-                    if (c == REPLACE_CHAR)
-                        return CoderResult.unmappableForLength(inputSize);
-                    outputSize = (highSurrogate > 0) ? 2: 1;
-                }
-
-                if (dl - dp < outputSize)
-                    return CoderResult.OVERFLOW;
-                if (outputSize == 2) {
-                    da[dp++] = highSurrogate;
-                    da[dp++] = lowSurrogate;
-                } else {
-                    da[dp++] = c;
-                }
-                sp += inputSize;
-            }
-            return CoderResult.UNDERFLOW;
-        } finally {
-            src.position(sp - src.arrayOffset());
-            dst.position(dp - dst.arrayOffset());
-        }
-    }
-
-    private CoderResult decodeBufferLoop(ByteBuffer src, CharBuffer dst) {
-        int mark = src.position();
-        int inputSize = 0;
-        int outputSize = 0;
-        try {
-            while (src.hasRemaining()) {
-                int b1 = src.get();
-                inputSize = 1;
-                outputSize = 1;
-                highSurrogate = lowSurrogate = 0;
-
-                char c = decodeSingle(b1);
-
-                if (c == REPLACE_CHAR) {
-                    if (src.remaining() < 1)
-                        return CoderResult.UNDERFLOW;
-                    b1 &= 0xff;
-                    int b2 = src.get() & 0xff;
-                    inputSize = 2;
-
-                    c = decodeDouble(b1, b2);
-
-                    if (c == REPLACE_CHAR)
-                        return CoderResult.unmappableForLength(2);
-
-                    outputSize =  (highSurrogate > 0) ? 2: 1;
-                }
-                if (dst.remaining() < outputSize)
-                    return CoderResult.OVERFLOW;
-                mark += inputSize;
-
-                if (outputSize == 2) {
-                    dst.put(highSurrogate);
-                    dst.put(lowSurrogate);
-                } else {
-                    dst.put(c);
-                }
-            }
-            return CoderResult.UNDERFLOW;
-        } finally {
-            src.position(mark);
-        }
-    }
-
-    protected CoderResult decodeLoop(ByteBuffer src, CharBuffer dst) {
-        if (src.hasArray() && dst.hasArray())
-            return decodeArrayLoop(src, dst);
-        else
-            return decodeBufferLoop(src, dst);
-    }
-
-    /*
-     * Can be changed by subclass
-     */
-    protected char decodeSingle(int b) {
-        if (b >= 0)
-            return (char) b;
-        return REPLACE_CHAR;
-    }
-
-    protected char decodeDouble(int byte1, int byte2) {
-        if (((byte1 < 0) || (byte1 > index1.length))
-            || ((byte2 < start) || (byte2 > end)))
-            return REPLACE_CHAR;
-
-        int n = (index1[byte1] & 0xf) * (end - start + 1) + (byte2 - start);
-        return index2[index1[byte1] >> 4].charAt(n);
-    }
-}
--- a/src/share/classes/sun/nio/cs/ext/EUC_JP.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/sun/nio/cs/ext/EUC_JP.java	Wed Aug 01 11:08:11 2012 -0400
@@ -23,9 +23,6 @@
  * questions.
  */
 
-/*
- */
-
 package sun.nio.cs.ext;
 
 import java.nio.ByteBuffer;
@@ -36,6 +33,8 @@
 import java.nio.charset.CoderResult;
 import sun.nio.cs.HistoricallyNamedCharset;
 import sun.nio.cs.Surrogate;
+import sun.nio.cs.SingleByte;
+import static sun.nio.cs.CharsetMapping.*;
 
 public class EUC_JP
     extends Charset
@@ -62,52 +61,47 @@
     }
 
     public CharsetEncoder newEncoder() {
-
-        // Need to force the replacement byte to 0x3f
-        // because JIS_X_0208_Encoder defines its own
-        // alternative 2 byte substitution to permit it
-        // to exist as a self-standing Encoder
-
-        byte[] replacementBytes = { (byte)0x3f };
-        return new Encoder(this).replaceWith(replacementBytes);
+        return new Encoder(this);
     }
 
-
-    static class Decoder extends JIS_X_0208_Decoder
+    static class Decoder extends CharsetDecoder
         implements DelegatableDecoder {
 
-        JIS_X_0201.Decoder decoderJ0201;
-        JIS_X_0212_Decoder decoderJ0212;
+        final static SingleByte.Decoder DEC0201 =
+            (SingleByte.Decoder)new JIS_X_0201().newDecoder();
+
+        final static DoubleByte.Decoder DEC0208 =
+            (DoubleByte.Decoder)new JIS_X_0208().newDecoder();
 
-        private static final short[] j0208Index1 =
-          JIS_X_0208_Decoder.getIndex1();
-        private static final String[] j0208Index2 =
-          JIS_X_0208_Decoder.getIndex2();
+        final static DoubleByte.Decoder DEC0212 =
+            (DoubleByte.Decoder)new JIS_X_0212().newDecoder();
+
+        private final SingleByte.Decoder dec0201;
+        private final DoubleByte.Decoder dec0208;
+        private final DoubleByte.Decoder dec0212;
 
         protected Decoder(Charset cs) {
-            super(cs);
-            decoderJ0201 = new JIS_X_0201.Decoder(cs);
-            decoderJ0212 = new JIS_X_0212_Decoder(cs);
-            start = 0xa1;
-            end = 0xfe;
+            this(cs, 0.5f, 1.0f, DEC0201, DEC0208, DEC0212);
         }
-        protected char decode0212(int byte1, int byte2) {
-             return decoderJ0212.decodeDouble(byte1, byte2);
+
+        protected Decoder(Charset cs, float avgCpb, float maxCpb,
+                          SingleByte.Decoder dec0201,
+                          DoubleByte.Decoder dec0208,
+                          DoubleByte.Decoder dec0212) {
+            super(cs, avgCpb, maxCpb);
+            this.dec0201 = dec0201;
+            this.dec0208 = dec0208;
+            this.dec0212 = dec0212;
         }
 
+
         protected char decodeDouble(int byte1, int byte2) {
             if (byte1 == 0x8e) {
-                return decoderJ0201.decode(byte2 - 256);
+                if (byte2 < 0x80)
+                    return UNMAPPABLE_DECODING;
+                return dec0201.decode((byte)byte2);
             }
-            // Fix for bug 4121358 - similar fix for bug 4117820 put
-            // into ByteToCharDoubleByte.getUnicode()
-            if (((byte1 < 0) || (byte1 > getIndex1().length))
-                || ((byte2 < start) || (byte2 > end)))
-                return REPLACE_CHAR;
-
-            int n = (j0208Index1[byte1 - 0x80] & 0xf) * (end - start + 1)
-                    + (byte2 - start);
-            return j0208Index2[j0208Index1[byte1 - 0x80] >> 4].charAt(n);
+            return dec0208.decodeDouble(byte1 - 0x80, byte2 - 0x80);
         }
 
         private CoderResult decodeArrayLoop(ByteBuffer src,
@@ -127,8 +121,7 @@
 
             int b1 = 0, b2 = 0;
             int inputSize = 0;
-            char outputChar = REPLACE_CHAR; // U+FFFD;
-
+            char outputChar = UNMAPPABLE_DECODING;
             try {
                 while (sp < sl) {
                     b1 = sa[sp] & 0xff;
@@ -136,17 +129,17 @@
 
                     if ((b1 & 0x80) == 0) {
                         outputChar = (char)b1;
-                    }
-                    else {      // Multibyte char
-                        if ((b1 & 0xff) == 0x8f) {   // JIS0212
+                    } else {                        // Multibyte char
+                        if (b1 == 0x8f) {           // JIS0212
                             if (sp + 3 > sl)
                                return CoderResult.UNDERFLOW;
                             b1 = sa[sp + 1] & 0xff;
                             b2 = sa[sp + 2] & 0xff;
                             inputSize += 2;
-                            outputChar = decode0212(b1-0x80, b2-0x80);
-                        } else {
-                          // JIS0208
+                            if (dec0212 == null)    // JIS02012 not supported
+                                return CoderResult.unmappableForLength(inputSize);
+                            outputChar = dec0212.decodeDouble(b1-0x80, b2-0x80);
+                        } else {                     // JIS0201, JIS0208
                             if (sp + 2 > sl)
                                return CoderResult.UNDERFLOW;
                             b2 = sa[sp + 1] & 0xff;
@@ -154,7 +147,7 @@
                             outputChar = decodeDouble(b1, b2);
                         }
                     }
-                    if (outputChar == REPLACE_CHAR) { // can't be decoded
+                    if (outputChar == UNMAPPABLE_DECODING) { // can't be decoded
                         return CoderResult.unmappableForLength(inputSize);
                     }
                     if (dp + 1 > dl)
@@ -175,26 +168,25 @@
             int mark = src.position();
             int b1 = 0, b2 = 0;
             int inputSize = 0;
-
-            char outputChar = REPLACE_CHAR; // U+FFFD;
+            char outputChar = UNMAPPABLE_DECODING;
 
             try {
                 while (src.hasRemaining()) {
                     b1 = src.get() & 0xff;
                     inputSize = 1;
-
                     if ((b1 & 0x80) == 0) {
                         outputChar = (char)b1;
-                    } else {    // Multibyte char
-                        if ((b1 & 0xff) == 0x8f) {   // JIS0212
+                    } else {                         // Multibyte char
+                        if (b1 == 0x8f) {   // JIS0212
                             if (src.remaining() < 2)
                                return CoderResult.UNDERFLOW;
                             b1 = src.get() & 0xff;
                             b2 = src.get() & 0xff;
                             inputSize += 2;
-                            outputChar = decode0212(b1-0x80, b2-0x80);
-                        } else {
-                          // JIS0208
+                            if (dec0212 == null)    // JIS02012 not supported
+                                return CoderResult.unmappableForLength(inputSize);
+                            outputChar = dec0212.decodeDouble(b1-0x80, b2-0x80);
+                        } else {                     // JIS0201 JIS0208
                             if (src.remaining() < 1)
                                return CoderResult.UNDERFLOW;
                             b2 = src.get() & 0xff;
@@ -202,8 +194,7 @@
                             outputChar = decodeDouble(b1, b2);
                         }
                     }
-
-                    if (outputChar == REPLACE_CHAR) {
+                    if (outputChar == UNMAPPABLE_DECODING) {
                         return CoderResult.unmappableForLength(inputSize);
                     }
                 if (dst.remaining() < 1)
@@ -233,65 +224,67 @@
     }
 
 
-    static class Encoder extends JIS_X_0208_Encoder {
+    static class Encoder extends CharsetEncoder {
 
-        JIS_X_0201.Encoder encoderJ0201;
-        JIS_X_0212_Encoder encoderJ0212;
+        final static SingleByte.Encoder ENC0201 =
+            (SingleByte.Encoder)new JIS_X_0201().newEncoder();
 
-        private static final short[] j0208Index1 =
-          JIS_X_0208_Encoder.getIndex1();
-        private static final String[] j0208Index2 =
-          JIS_X_0208_Encoder.getIndex2();
+        final static DoubleByte.Encoder ENC0208 =
+            (DoubleByte.Encoder)new JIS_X_0208().newEncoder();
+
+        final static DoubleByte.Encoder ENC0212 =
+            (DoubleByte.Encoder)new JIS_X_0212().newEncoder();
 
         private final Surrogate.Parser sgp = new Surrogate.Parser();
 
+
+        private final SingleByte.Encoder enc0201;
+        private final DoubleByte.Encoder enc0208;
+        private final DoubleByte.Encoder enc0212;
+
         protected Encoder(Charset cs) {
-            super(cs, 3.0f, 3.0f);
-            encoderJ0201 = new JIS_X_0201.Encoder(cs);
-            encoderJ0212 = new JIS_X_0212_Encoder(cs);
+            this(cs, 3.0f, 3.0f, ENC0201, ENC0208, ENC0212);
+        }
+
+        protected Encoder(Charset cs, float avgBpc, float maxBpc,
+                          SingleByte.Encoder enc0201,
+                          DoubleByte.Encoder enc0208,
+                          DoubleByte.Encoder enc0212) {
+            super(cs, avgBpc, maxBpc);
+            this.enc0201 = enc0201;
+            this.enc0208 = enc0208;
+            this.enc0212 = enc0212;
         }
 
         public boolean canEncode(char c) {
             byte[]  encodedBytes = new byte[3];
-
-            if (encodeSingle(c, encodedBytes) == 0) { //doublebyte
-                if (encodeDouble(c) == 0)
-                    return false;
-            }
-            return true;
+            return encodeSingle(c, encodedBytes) != 0 ||
+                   encodeDouble(c) != UNMAPPABLE_ENCODING;
         }
 
         protected int encodeSingle(char inputChar, byte[] outputByte) {
-            byte b;
-
-            if (inputChar == 0) {
-                outputByte[0] = (byte)0;
+            int b = enc0201.encode(inputChar);
+            if (b == UNMAPPABLE_ENCODING)
+                return 0;
+            if (b >= 0 && b < 128) {
+                outputByte[0] = (byte)b;
                 return 1;
             }
-
-            if ((b = encoderJ0201.encode(inputChar)) == 0)
-                return 0;
-
-            if (b > 0 && b < 128) {
-                outputByte[0] = b;
-                return 1;
-            }
-
             outputByte[0] = (byte)0x8e;
-            outputByte[1] = b;
+            outputByte[1] = (byte)b;
             return 2;
         }
 
         protected int encodeDouble(char ch) {
-            int offset = j0208Index1[((ch & 0xff00) >> 8 )] << 8;
-            int r = j0208Index2[offset >> 12].charAt((offset & 0xfff) +
-                    (ch & 0xff));
-            if (r != 0)
-                return r + 0x8080;
-            r = encoderJ0212.encodeDouble(ch);
-            if (r == 0)
-                return r;
-            return r + 0x8F8080;
+            int b = enc0208.encodeChar(ch);
+            if (b != UNMAPPABLE_ENCODING)
+                return b + 0x8080;
+            if (enc0212 != null) {
+                b = enc0212.encodeChar(ch);
+                if (b != UNMAPPABLE_ENCODING)
+                    b += 0x8F8080;
+            }
+            return b;
         }
 
         private CoderResult encodeArrayLoop(CharBuffer src,
@@ -317,18 +310,15 @@
                 while (sp < sl) {
                     outputByte = tmpBuf;
                     char c = sa[sp];
-
                     if (Character.isSurrogate(c)) {
                         if (sgp.parse(c, sa, sp, sl) < 0)
                             return sgp.error();
                         return sgp.unmappableResult();
                     }
-
                     outputSize = encodeSingle(c, outputByte);
-
                     if (outputSize == 0) { // DoubleByte
                         int ncode = encodeDouble(c);
-                        if (ncode != 0 ) {
+                        if (ncode != UNMAPPABLE_ENCODING) {
                             if ((ncode & 0xFF0000) == 0) {
                                 outputByte[0] = (byte) ((ncode & 0xff00) >> 8);
                                 outputByte[1] = (byte) (ncode & 0xff);
@@ -340,7 +330,7 @@
                                 outputSize = 3;
                             }
                         } else {
-                                return CoderResult.unmappableForLength(1);
+                            return CoderResult.unmappableForLength(1);
                         }
                     }
                     if (dl - dp < outputSize)
@@ -377,11 +367,10 @@
                             return sgp.error();
                         return sgp.unmappableResult();
                     }
-
                     outputSize = encodeSingle(c, outputByte);
                     if (outputSize == 0) { // DoubleByte
                         int ncode = encodeDouble(c);
-                        if (ncode != 0 ) {
+                        if (ncode != UNMAPPABLE_ENCODING) {
                             if ((ncode & 0xFF0000) == 0) {
                                 outputByte[0] = (byte) ((ncode & 0xff00) >> 8);
                                 outputByte[1] = (byte) (ncode & 0xff);
@@ -393,10 +382,9 @@
                                 outputSize = 3;
                             }
                         } else {
-                                return CoderResult.unmappableForLength(1);
+                            return CoderResult.unmappableForLength(1);
                         }
                     }
-
                     if (dst.remaining() < outputSize)
                         return CoderResult.OVERFLOW;
                     // Put the byte in the output buffer
--- a/src/share/classes/sun/nio/cs/ext/EUC_JP_LINUX.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/sun/nio/cs/ext/EUC_JP_LINUX.java	Wed Aug 01 11:08:11 2012 -0400
@@ -23,9 +23,6 @@
  * questions.
  */
 
-/*
- */
-
 package sun.nio.cs.ext;
 
 import java.nio.ByteBuffer;
@@ -35,7 +32,6 @@
 import java.nio.charset.CharsetEncoder;
 import java.nio.charset.CoderResult;
 import sun.nio.cs.HistoricallyNamedCharset;
-import sun.nio.cs.Surrogate;
 
 public class EUC_JP_LINUX
     extends Charset
@@ -63,308 +59,15 @@
         return new Encoder(this);
     }
 
-    private static class Decoder extends CharsetDecoder {
-        JIS_X_0201.Decoder decoderJ0201;
-        protected final char REPLACE_CHAR='\uFFFD';
-
-        private static final int start = 0xa1;
-        private static final int end = 0xfe;
-        private static final short[] jis0208Index1 =
-            JIS_X_0208_Decoder.getIndex1();
-        private static final String[] jis0208Index2 =
-            JIS_X_0208_Decoder.getIndex2();
-
+    private static class Decoder extends EUC_JP.Decoder {
         private Decoder(Charset cs) {
-            super(cs, 1.0f, 1.0f);
-            decoderJ0201 = new JIS_X_0201.Decoder(cs);
-        }
-
-        protected char convSingleByte(int b) {
-            if (b < 0 || b > 0x7f)
-                return REPLACE_CHAR;
-            return decoderJ0201.decode(b);
-        }
-
-        protected char decodeDouble(int byte1, int byte2) {
-            if (byte1 == 0x8e) {
-                return decoderJ0201.decode(byte2 - 256);
-            }
-
-            if (((byte1 < 0) || (byte1 > jis0208Index1.length))
-                || ((byte2 < start) || (byte2 > end)))
-                return REPLACE_CHAR;
-
-            int n = (jis0208Index1[byte1 - 0x80] & 0xf) * (end - start + 1)
-                    + (byte2 - start);
-            return jis0208Index2[jis0208Index1[byte1 - 0x80] >> 4].charAt(n);
-        }
-
-        private CoderResult decodeArrayLoop(ByteBuffer src,
-                                            CharBuffer dst)
-        {
-            byte[] sa = src.array();
-            int sp = src.arrayOffset() + src.position();
-            int sl = src.arrayOffset() + src.limit();
-            assert (sp <= sl);
-            sp = (sp <= sl ? sp : sl);
-
-            char[] da = dst.array();
-            int dp = dst.arrayOffset() + dst.position();
-            int dl = dst.arrayOffset() + dst.limit();
-            assert (dp <= dl);
-            dp = (dp <= dl ? dp : dl);
-
-            int b1 = 0, b2 = 0;
-            int inputSize = 0;
-            char outputChar = REPLACE_CHAR; // U+FFFD;
-
-            try {
-                while (sp < sl) {
-                    b1 = sa[sp] & 0xff;
-                    inputSize = 1;
-                    if ((b1 & 0x80) == 0) {
-                        outputChar = (char)b1;
-                    }
-                    else {      // Multibyte char
-                        if ((b1 & 0xff) == 0x8f) {   // JIS0212
-                            if (sp + 3 > sl)
-                               return CoderResult.UNDERFLOW;
-                            inputSize = 3;
-                            return CoderResult.unmappableForLength(inputSize); // substitute
-                        } else {
-                          // JIS0208
-                            if (sp + 2 > sl)
-                               return CoderResult.UNDERFLOW;
-                            b2 = sa[sp + 1] & 0xff;
-                            inputSize = 2;
-                            outputChar = decodeDouble(b1, b2);
-                        }
-                    }
-                    if (outputChar == REPLACE_CHAR) { // can't be decoded
-                        return CoderResult.unmappableForLength(inputSize);
-                    }
-                    if (dp + 1 > dl)
-                        return CoderResult.OVERFLOW;
-                    da[dp++] = outputChar;
-                    sp += inputSize;
-                }
-                return CoderResult.UNDERFLOW;
-            } finally {
-                src.position(sp - src.arrayOffset());
-                dst.position(dp - dst.arrayOffset());
-            }
-        }
-
-        private CoderResult decodeBufferLoop(ByteBuffer src,
-                                             CharBuffer dst)
-        {
-            int mark = src.position();
-            char outputChar = REPLACE_CHAR; // U+FFFD;
-
-            try {
-                while (src.hasRemaining()) {
-                    int b1 = src.get() & 0xff;
-                    int inputSize = 1;
-
-                    if ((b1 & 0x80) == 0) {
-                        outputChar = (char)b1;
-                    } else {    // Multibyte char
-
-                        if ((b1 & 0xff) == 0x8f) { // JIS0212 not supported
-                            if (src.remaining() < 2)
-                                return CoderResult.UNDERFLOW;
-                            return CoderResult.unmappableForLength(3);
-                        } else {
-                            // JIS0208
-                            if (src.remaining() < 1)
-                                return CoderResult.UNDERFLOW;
-                            int b2 = src.get() & 0xff;
-                            inputSize++;
-                            outputChar = decodeDouble(b1, b2);
-                        }
-                    }
-
-                    if (outputChar == REPLACE_CHAR)
-                        return CoderResult.unmappableForLength(inputSize);
-                    if (dst.remaining() < 1)
-                        return CoderResult.OVERFLOW;
-                    dst.put(outputChar);
-                    mark += inputSize;
-                }
-                return CoderResult.UNDERFLOW;
-            } finally {
-                src.position(mark);
-            }
-        }
-
-        protected CoderResult decodeLoop(ByteBuffer src,
-                                         CharBuffer dst)
-        {
-            if (src.hasArray() && dst.hasArray())
-                return decodeArrayLoop(src, dst);
-            else
-                return decodeBufferLoop(src, dst);
+            super(cs, 1.0f, 1.0f, DEC0201, DEC0208, null);
         }
     }
 
-
-    private static class Encoder extends CharsetEncoder {
-
-        JIS_X_0201.Encoder encoderJ0201;
-
-        private final Surrogate.Parser sgp = new Surrogate.Parser();
-        private static final short[] jis0208Index1 =
-            JIS_X_0208_Encoder.getIndex1();
-        private static final String[] jis0208Index2 =
-            JIS_X_0208_Encoder.getIndex2();
-
+    private static class Encoder extends EUC_JP.Encoder {
         private Encoder(Charset cs) {
-            super(cs, 2.0f, 2.0f);
-            encoderJ0201 = new JIS_X_0201.Encoder(cs);
-        }
-
-        public boolean canEncode(char c) {
-            byte[]  encodedBytes = new byte[2];
-
-            if (encodeSingle(c, encodedBytes) == 0) { //doublebyte
-                if (encodeDouble(c) == 0)
-                    return false;
-            }
-            return true;
-        }
-
-        protected int encodeSingle(char inputChar, byte[] outputByte) {
-            byte b;
-
-            if (inputChar == 0) {
-                outputByte[0] = (byte)0;
-                return 1;
-            }
-
-            if ((b = encoderJ0201.encode(inputChar)) == 0)
-                return 0;
-
-            if (b > 0 && b < 128) {
-                outputByte[0] = b;
-                return 1;
-            }
-            outputByte[0] = (byte)0x8e;
-            outputByte[1] = b;
-            return 2;
-        }
-
-        protected int encodeDouble(char ch) {
-            int offset = jis0208Index1[((ch & 0xff00) >> 8 )] << 8;
-            int r = jis0208Index2[offset >> 12].charAt((offset & 0xfff) + (ch & 0xff));
-            if (r != 0)
-                return r + 0x8080;
-            return r;
-        }
-
-        private CoderResult encodeArrayLoop(CharBuffer src,
-                                            ByteBuffer dst)
-        {
-            char[] sa = src.array();
-            int sp = src.arrayOffset() + src.position();
-            int sl = src.arrayOffset() + src.limit();
-            assert (sp <= sl);
-            sp = (sp <= sl ? sp : sl);
-            byte[] da = dst.array();
-            int dp = dst.arrayOffset() + dst.position();
-            int dl = dst.arrayOffset() + dst.limit();
-            assert (dp <= dl);
-            dp = (dp <= dl ? dp : dl);
-
-            final byte[]  outputByte = new byte[2];
-
-            try {
-                while (sp < sl) {
-                    char c = sa[sp];
-
-                    if (Character.isSurrogate(c)) {
-                        if (sgp.parse(c, sa, sp, sl) < 0)
-                            return sgp.error();
-                        return sgp.unmappableResult();
-                    }
-
-                    int outputSize = encodeSingle(c, outputByte);
-                    if (outputSize == 0) { // DoubleByte
-                        int ncode = encodeDouble(c);
-                        if (ncode != 0 && ((ncode & 0xFF0000) == 0)) {
-                                outputByte[0] = (byte) ((ncode & 0xff00) >> 8);
-                                outputByte[1] = (byte) (ncode & 0xff);
-                                outputSize = 2;
-                        } else {
-                                return CoderResult.unmappableForLength(1);
-                        }
-                    }
-
-                    if (dl - dp < outputSize)
-                        return CoderResult.OVERFLOW;
-                    // Put the byte in the output buffer
-                    for (int i = 0; i < outputSize; i++) {
-                        da[dp++] = outputByte[i];
-                    }
-                    sp++;
-                }
-                return CoderResult.UNDERFLOW;
-            } finally {
-                src.position(sp - src.arrayOffset());
-                dst.position(dp - dst.arrayOffset());
-            }
-        }
-
-        private CoderResult encodeBufferLoop(CharBuffer src,
-                                             ByteBuffer dst)
-        {
-            final byte[]  outputByte = new byte[4];
-            int mark = src.position();
-
-            try {
-                while (src.hasRemaining()) {
-                    char c = src.get();
-                    if (Character.isSurrogate(c)) {
-                        if (sgp.parse(c, src) < 0)
-                            return sgp.error();
-                        return sgp.unmappableResult();
-                    }
-
-                    int outputSize = encodeSingle(c, outputByte);
-                    if (outputSize == 0) { // DoubleByte
-                        int ncode = encodeDouble(c);
-                        if (ncode != 0 ) {
-                            if ((ncode & 0xFF0000) == 0) {
-                                outputByte[0] = (byte) ((ncode & 0xff00) >> 8);
-                                outputByte[1] = (byte) (ncode & 0xff);
-                                outputSize = 2;
-                            }
-                        } else {
-                                return CoderResult.unmappableForLength(1);
-                        }
-                    }
-
-                    if (dst.remaining() < outputSize)
-                        return CoderResult.OVERFLOW;
-
-                    // Put the byte in the output buffer
-                    for (int i = 0; i < outputSize; i++) {
-                        dst.put(outputByte[i]);
-                    }
-                    mark++;
-                }
-                return CoderResult.UNDERFLOW;
-            } finally {
-                src.position(mark);
-            }
-        }
-
-        protected CoderResult encodeLoop(CharBuffer src,
-                                         ByteBuffer dst)
-        {
-            if (src.hasArray() && dst.hasArray())
-                return encodeArrayLoop(src, dst);
-            else
-                return encodeBufferLoop(src, dst);
+            super(cs, 2.0f, 2.0f, ENC0201, ENC0208, null);
         }
     }
 }
--- a/src/share/classes/sun/nio/cs/ext/EUC_JP_Open.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/sun/nio/cs/ext/EUC_JP_Open.java	Wed Aug 01 11:08:11 2012 -0400
@@ -23,9 +23,6 @@
  * questions.
  */
 
-/*
- */
-
 package sun.nio.cs.ext;
 
 import java.nio.ByteBuffer;
@@ -35,7 +32,7 @@
 import java.nio.charset.CharsetEncoder;
 import java.nio.charset.CoderResult;
 import sun.nio.cs.HistoricallyNamedCharset;
-import sun.nio.cs.Surrogate;
+import static sun.nio.cs.CharsetMapping.*;
 
 public class EUC_JP_Open
     extends Charset
@@ -60,118 +57,55 @@
     }
 
     public CharsetEncoder newEncoder() {
-
-        // Need to force the replacement byte to 0x3f
-        // because JIS_X_0208_Encoder defines its own
-        // alternative 2 byte substitution to permit it
-        // to exist as a self-standing Encoder
-
-        byte[] replacementBytes = { (byte)0x3f };
-        return new Encoder(this).replaceWith(replacementBytes);
+        return new Encoder(this);
     }
 
     private static class Decoder extends EUC_JP.Decoder {
-        JIS_X_0201.Decoder decoderJ0201;
-        JIS_X_0212_Solaris_Decoder decodeMappingJ0212;
-        JIS_X_0208_Solaris_Decoder decodeMappingJ0208;
-
-        private static final short[] j0208Index1 =
-          JIS_X_0208_Solaris_Decoder.getIndex1();
-        private static final String[] j0208Index2 =
-          JIS_X_0208_Solaris_Decoder.getIndex2();
-        private static final int start = 0xa1;
-        private static final int end = 0xfe;
-
-        protected final char REPLACE_CHAR='\uFFFD';
+        private static DoubleByte.Decoder DEC0208_Solaris =
+            (DoubleByte.Decoder)new JIS_X_0208_Solaris().newDecoder();
+        private static DoubleByte.Decoder DEC0212_Solaris =
+            (DoubleByte.Decoder)new JIS_X_0212_Solaris().newDecoder();
 
         private Decoder(Charset cs) {
-            super(cs);
-            decoderJ0201 = new JIS_X_0201.Decoder(cs);
-            decodeMappingJ0212 = new JIS_X_0212_Solaris_Decoder(cs);
-        }
-
-
-        protected char decode0212(int byte1, int byte2) {
-             return decodeMappingJ0212.decodeDouble(byte1, byte2);
-
+            // JIS_X_0208_Solaris only has the "extra" mappings, it
+            // does not have the JIS_X_0208 entries
+            super(cs, 0.5f, 1.0f, DEC0201, DEC0208, DEC0212_Solaris);
         }
 
         protected char decodeDouble(int byte1, int byte2) {
-            if (byte1 == 0x8e) {
-                return decoderJ0201.decode(byte2 - 256);
-            }
-
-            if (((byte1 < 0)
-                || (byte1 > j0208Index1.length))
-                || ((byte2 < start)
-                || (byte2 > end)))
-                return REPLACE_CHAR;
-
-            char result = super.decodeDouble(byte1, byte2);
-            if (result != '\uFFFD') {
-                return result;
-            } else {
-                int n = (j0208Index1[byte1 - 0x80] & 0xf) *
-                        (end - start + 1)
-                        + (byte2 - start);
-                return j0208Index2[j0208Index1[byte1 - 0x80] >> 4].charAt(n);
-            }
+            char c = super.decodeDouble(byte1, byte2);
+            if (c == UNMAPPABLE_DECODING)
+                return DEC0208_Solaris.decodeDouble(byte1 - 0x80, byte2 - 0x80);
+            return c;
         }
     }
 
-
     private static class Encoder extends EUC_JP.Encoder {
-
-        JIS_X_0201.Encoder encoderJ0201;
-        JIS_X_0212_Solaris_Encoder encoderJ0212;
+        private static DoubleByte.Encoder ENC0208_Solaris =
+            (DoubleByte.Encoder)new JIS_X_0208_Solaris().newEncoder();
 
-        private static final short[] j0208Index1 =
-            JIS_X_0208_Solaris_Encoder.getIndex1();
-        private static final String[] j0208Index2 =
-            JIS_X_0208_Solaris_Encoder.getIndex2();
-
-        private final Surrogate.Parser sgp = new Surrogate.Parser();
+        private static DoubleByte.Encoder ENC0212_Solaris =
+            (DoubleByte.Encoder)new JIS_X_0212_Solaris().newEncoder();
 
         private Encoder(Charset cs) {
+            // The EUC_JP_Open has some interesting tweak for the
+            // encoding, so can't just pass the euc0208_solaris to
+            // the euc_jp. Have to override the encodeDouble() as
+            // showed below (mapping testing catches this).
+            // super(cs, 3.0f, 3.0f, ENC0201, ENC0208_Solaris, ENC0212_Solaris);
             super(cs);
-            encoderJ0201 = new JIS_X_0201.Encoder(cs);
-            encoderJ0212 = new JIS_X_0212_Solaris_Encoder(cs);
-        }
-
-        protected int encodeSingle(char inputChar, byte[] outputByte) {
-            byte b;
-
-            if (inputChar == 0) {
-                outputByte[0] = (byte)0;
-                return 1;
-            }
-
-            if ((b = encoderJ0201.encode(inputChar)) == 0)
-                return 0;
-
-            if (b > 0 && b < 128) {
-                outputByte[0] = b;
-                return 1;
-            }
-
-            outputByte[0] = (byte)0x8e;
-            outputByte[1] = b;
-            return 2;
         }
 
         protected int encodeDouble(char ch) {
-            int r = super.encodeDouble(ch);
-            if (r != 0) {
-                return r;
+            int b = super.encodeDouble(ch);
+            if (b != UNMAPPABLE_ENCODING)
+                return b;
+            b = ENC0208_Solaris.encodeChar(ch);
+            if (b != UNMAPPABLE_ENCODING && b > 0x7500) {
+                return 0x8F8080 + ENC0212_Solaris.encodeChar(ch);
             }
-            else {
-                int offset = j0208Index1[((ch & 0xff00) >> 8 )] << 8;
-                r = j0208Index2[offset >> 12].charAt((offset & 0xfff) +
-                    (ch & 0xFF));
-                if (r > 0x7500)
-                   return 0x8F8080 + encoderJ0212.encodeDouble(ch);
-                }
-                return (r==0 ? 0: r + 0x8080);
+            return b == UNMAPPABLE_ENCODING ? b : b + 0x8080;
+
         }
     }
 }
--- a/src/share/classes/sun/nio/cs/ext/HKSCS.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/sun/nio/cs/ext/HKSCS.java	Wed Aug 01 11:08:11 2012 -0400
@@ -175,6 +175,40 @@
             }
         }
 
+        public int decode(byte[] src, int sp, int len, char[] dst) {
+            int dp = 0;
+            int sl = sp + len;
+            char repl = replacement().charAt(0);
+            while (sp < sl) {
+                int b1 = src[sp++] & 0xff;
+                char c = decodeSingle(b1);
+                if (c == UNMAPPABLE_DECODING) {
+                    if (sl == sp) {
+                        c = repl;
+                    } else {
+                        int b2 = src[sp++] & 0xff;
+                        if (b2 < b2Min || b2 > b2Max) {
+                            c = repl;
+                        } else if ((c = decodeDouble(b1, b2)) == UNMAPPABLE_DECODING) {
+                            c = decodeDoubleEx(b1, b2);     //supp
+                            if (c == UNMAPPABLE_DECODING) {
+                                c = decodeBig5(b1, b2);     //big5
+                                if (c == UNMAPPABLE_DECODING)
+                                    c = repl;
+                            } else {
+                                // supplementary character in u+2xxxx area
+                                dst[dp++] = Surrogate.high(0x20000 + c);
+                                dst[dp++] = Surrogate.low(0x20000 + c);
+                                continue;
+                            }
+                        }
+                    }
+                }
+                dst[dp++] = c;
+            }
+            return dp;
+        }
+
         public CoderResult decodeLoop(ByteBuffer src, CharBuffer dst) {
             if (src.hasArray() && dst.hasArray())
                 return decodeArrayLoop(src, dst);
@@ -322,6 +356,36 @@
                 return encodeBufferLoop(src, dst);
         }
 
+        public int encode(char[] src, int sp, int len, byte[] dst) {
+            int dp = 0;
+            int sl = sp + len;
+            while (sp < sl) {
+                char c = src[sp++];
+                int bb = encodeChar(c);
+                if (bb == UNMAPPABLE_ENCODING) {
+                    if (!Character.isHighSurrogate(c) || sp == sl ||
+                        !Character.isLowSurrogate(src[sp]) ||
+                        (bb = encodeSupp(Character.toCodePoint(c, src[sp++])))
+                        == UNMAPPABLE_ENCODING) {
+                        byte[] repl = replacement();
+                        dst[dp++] = repl[0];
+                        if (repl.length > 1)
+                            dst[dp++] = repl[1];
+                        continue;
+                    }
+                    sp++;
+                }
+                if (bb > MAX_SINGLEBYTE) {        // DoubleByte
+                    dst[dp++] = (byte)(bb >> 8);
+                    dst[dp++] = (byte)bb;
+                } else {                          // SingleByte
+                    dst[dp++] = (byte)bb;
+                }
+            }
+            return dp;
+        }
+
+
         static char[] C2B_UNMAPPABLE = new char[0x100];
         static {
             Arrays.fill(C2B_UNMAPPABLE, (char)UNMAPPABLE_ENCODING);
--- a/src/share/classes/sun/nio/cs/ext/IBM834.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/sun/nio/cs/ext/IBM834.java	Wed Aug 01 11:08:11 2012 -0400
@@ -49,8 +49,8 @@
 
     public CharsetDecoder newDecoder() {
         IBM933.initb2c();
-        return new DoubleByte.Decoder_EBCDIC_DBCSONLY(
-            this, IBM933.b2c, 0x40, 0xfe);  // hardcode the b2min/max
+        return new DoubleByte.Decoder_DBCSONLY(
+            this, IBM933.b2c, null, 0x40, 0xfe);  // hardcode the b2min/max
     }
 
     public CharsetEncoder newEncoder() {
@@ -58,7 +58,7 @@
         return new Encoder(this);
     }
 
-    protected static class Encoder extends DoubleByte.Encoder_EBCDIC_DBCSONLY {
+    protected static class Encoder extends DoubleByte.Encoder_DBCSONLY {
         public Encoder(Charset cs) {
             super(cs, new byte[] {(byte)0xfe, (byte)0xfe},
                   IBM933.c2b, IBM933.c2bIndex);
--- a/src/share/classes/sun/nio/cs/ext/ISO2022_JP.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/sun/nio/cs/ext/ISO2022_JP.java	Wed Aug 01 11:08:11 2012 -0400
@@ -35,6 +35,7 @@
 import sun.nio.cs.HistoricallyNamedCharset;
 import sun.nio.cs.Surrogate;
 import sun.nio.cs.US_ASCII;
+import static sun.nio.cs.CharsetMapping.*;
 
 /*
  * Implementation notes:
@@ -154,73 +155,43 @@
     }
 
     public CharsetDecoder newDecoder() {
-        return new Decoder(this,
-                           getDecIndex1(),
-                           getDecIndex2(),
-                           get0212Decoder());
+        return new Decoder(this);
     }
 
     public CharsetEncoder newEncoder() {
-        return new Encoder(this,
-                           getEncIndex1(),
-                           getEncIndex2(),
-                           get0212Encoder(),
-                           doSBKANA());
-    }
-
-    protected short[] getDecIndex1() {
-        return JIS_X_0208_Decoder.getIndex1();
-    }
-
-    protected String[] getDecIndex2() {
-        return JIS_X_0208_Decoder.getIndex2();
-    }
-
-    protected DoubleByteDecoder get0212Decoder() {
-        return null;
-    }
-
-    protected short[] getEncIndex1() {
-        return JIS_X_0208_Encoder.getIndex1();
-    }
-
-    protected String[] getEncIndex2() {
-        return JIS_X_0208_Encoder.getIndex2();
-    }
-
-    protected DoubleByteEncoder get0212Encoder() {
-        return null;
+        return new Encoder(this);
     }
 
     protected boolean doSBKANA() {
         return true;
     }
 
-    private static class Decoder extends DoubleByteDecoder
+    static class Decoder extends CharsetDecoder
         implements DelegatableDecoder {
 
+        final static DoubleByte.Decoder DEC0208 =
+            (DoubleByte.Decoder)new JIS_X_0208().newDecoder();
+
         private int currentState;
         private int previousState;
-        private DoubleByteDecoder decoder0212;
+
+        private DoubleByte.Decoder dec0208;
+        private DoubleByte.Decoder dec0212;
+
+        private Decoder(Charset cs) {
+            this(cs, DEC0208, null);
+        }
 
         protected Decoder(Charset cs,
-                          short[] index1,
-                          String[] index2,
-                          DoubleByteDecoder decoder0212) {
-            super(cs,
-                  index1,
-                  index2,
-                  0x21,
-                  0x7e);
-            this.decoder0212 = decoder0212;
+                          DoubleByte.Decoder dec0208,
+                          DoubleByte.Decoder dec0212) {
+            super(cs, 0.5f, 1.0f);
+            this.dec0208 = dec0208;
+            this.dec0212 = dec0212;
             currentState = ASCII;
             previousState = ASCII;
         }
 
-        protected char convSingleByte(int b) {
-            return REPLACE_CHAR;
-        }
-
         public void implReset() {
             currentState = ASCII;
             previousState = ASCII;
@@ -231,7 +202,7 @@
         {
             int inputSize = 0;
             int b1 = 0, b2 = 0, b3 = 0, b4 = 0;
-            char c = REPLACE_CHAR;
+            char c = UNMAPPABLE_DECODING;
             byte[] sa = src.array();
             int sp = src.arrayOffset() + src.position();
             int sl = src.arrayOffset() + src.limit();
@@ -273,7 +244,7 @@
                                     currentState = JISX0208_1978;
                                 } else if (b3 == 'B'){
                                     currentState = JISX0208_1983;
-                                } else if (b3 == '(' && decoder0212 != null) {
+                                } else if (b3 == '(' && dec0212 != null) {
                                     if (sp + inputSize + 1 > sl)
                                         return CoderResult.UNDERFLOW;
                                     b4 = sa[sp + inputSize++] & 0xff;
@@ -322,8 +293,8 @@
                             if (sp + inputSize + 1 > sl)
                                 return CoderResult.UNDERFLOW;
                             b2 = sa[sp + inputSize++] & 0xff;
-                            c = decodeDouble(b1,b2);
-                            if (c == REPLACE_CHAR)
+                            c = dec0208.decodeDouble(b1,b2);
+                            if (c == UNMAPPABLE_DECODING)
                                 return CoderResult.unmappableForLength(inputSize);
                             da[dp++] = c;
                             break;
@@ -331,8 +302,8 @@
                             if (sp + inputSize + 1 > sl)
                                 return CoderResult.UNDERFLOW;
                             b2 = sa[sp + inputSize++] & 0xff;
-                            c = decoder0212.decodeDouble(b1,b2);
-                            if (c == REPLACE_CHAR)
+                            c = dec0212.decodeDouble(b1,b2);
+                            if (c == UNMAPPABLE_DECODING)
                                 return CoderResult.unmappableForLength(inputSize);
                             da[dp++] = c;
                             break;
@@ -358,7 +329,7 @@
         {
             int mark = src.position();
             int b1 = 0, b2 = 0, b3 = 0, b4=0;
-            char c = REPLACE_CHAR;
+            char c = UNMAPPABLE_DECODING;
             int inputSize = 0;
             try {
                 while (src.hasRemaining()) {
@@ -391,7 +362,7 @@
                                     currentState = JISX0208_1978;
                                 } else if (b3 == 'B'){
                                     currentState = JISX0208_1983;
-                                } else if (b3 == '(' && decoder0212 != null) {
+                                } else if (b3 == '(' && dec0212 != null) {
                                     if (!src.hasRemaining())
                                         return CoderResult.UNDERFLOW;
                                     b4 = src.get() & 0xff;
@@ -442,8 +413,8 @@
                                 return CoderResult.UNDERFLOW;
                             b2 = src.get() & 0xff;
                             inputSize++;
-                            c = decodeDouble(b1,b2);
-                            if (c == REPLACE_CHAR)
+                            c = dec0208.decodeDouble(b1,b2);
+                            if (c == UNMAPPABLE_DECODING)
                                 return CoderResult.unmappableForLength(inputSize);
                             dst.put(c);
                             break;
@@ -452,8 +423,8 @@
                                 return CoderResult.UNDERFLOW;
                             b2 = src.get() & 0xff;
                             inputSize++;
-                            c = decoder0212.decodeDouble(b1,b2);
-                            if (c == REPLACE_CHAR)
+                            c = dec0212.decodeDouble(b1,b2);
+                            if (c == UNMAPPABLE_DECODING)
                                 return CoderResult.unmappableForLength(inputSize);
                             dst.put(c);
                             break;
@@ -486,25 +457,29 @@
         }
     }
 
-    private static class Encoder extends DoubleByteEncoder {
+    static class Encoder extends CharsetEncoder {
+
+        final static DoubleByte.Encoder ENC0208 =
+            (DoubleByte.Encoder)new JIS_X_0208().newEncoder();
+
         private static byte[] repl = { (byte)0x21, (byte)0x29 };
         private int currentMode = ASCII;
         private int replaceMode = JISX0208_1983;
-        private DoubleByteEncoder encoder0212 = null;
+        private DoubleByte.Encoder enc0208;
+        private DoubleByte.Encoder enc0212;
         private boolean doSBKANA;
 
-        private Encoder(Charset cs,
-                        short[] index1,
-                        String[] index2,
-                        DoubleByteEncoder encoder0212,
-                        boolean doSBKANA) {
-            super(cs,
-                  index1,
-                  index2,
-                  repl,
-                  4.0f,
-                  (encoder0212 != null)? 9.0f : 8.0f);
-            this.encoder0212 = encoder0212;
+        private Encoder(Charset cs) {
+            this(cs, ENC0208, null, true);
+        }
+
+        Encoder(Charset cs,
+                DoubleByte.Encoder enc0208,
+                DoubleByte.Encoder enc0212,
+                boolean doSBKANA) {
+            super(cs, 4.0f, (enc0212 != null)? 9.0f : 8.0f, repl);
+            this.enc0208 = enc0208;
+            this.enc0212 = enc0212;
             this.doSBKANA = doSBKANA;
         }
 
@@ -545,8 +520,8 @@
                     (c >= 0xFF61 && c <= 0xFF9F) ||
                     (c == '\u00A5') ||
                     (c == '\u203E') ||
-                    super.canEncode(c) ||
-                    (encoder0212!=null && encoder0212.canEncode(c)));
+                    enc0208.canEncode(c) ||
+                    (enc0212!=null && enc0212.canEncode(c)));
         }
 
         private final Surrogate.Parser sgp = new Surrogate.Parser();
@@ -607,8 +582,8 @@
                             return CoderResult.OVERFLOW;
                         da[dp++] = (c == '\u00A5')?(byte)0x5C:(byte)0x7e;
                     } else {
-                        int index = encodeDouble(c);
-                        if (index != 0) {
+                        int index = enc0208.encodeChar(c);
+                        if (index != UNMAPPABLE_ENCODING) {
                             if (currentMode != JISX0208_1983) {
                                 if (dl - dp < 3)
                                     return CoderResult.OVERFLOW;
@@ -621,8 +596,8 @@
                                 return CoderResult.OVERFLOW;
                             da[dp++] = (byte)(index >> 8);
                             da[dp++] = (byte)(index & 0xff);
-                        } else if (encoder0212 != null &&
-                                   (index = encoder0212.encodeDouble(c)) != 0) {
+                        } else if (enc0212 != null &&
+                                   (index = enc0212.encodeChar(c)) != UNMAPPABLE_ENCODING) {
                             if (currentMode != JISX0212_1990) {
                                 if (dl - dp < 4)
                                     return CoderResult.OVERFLOW;
@@ -715,8 +690,8 @@
                             return CoderResult.OVERFLOW;
                         dst.put((c == '\u00A5')?(byte)0x5C:(byte)0x7e);
                     } else {
-                        int index = encodeDouble(c);
-                        if (index != 0) {
+                        int index = enc0208.encodeChar(c);
+                        if (index != UNMAPPABLE_ENCODING) {
                             if (currentMode != JISX0208_1983) {
                                 if (dst.remaining() < 3)
                                     return CoderResult.OVERFLOW;
@@ -729,8 +704,8 @@
                                 return CoderResult.OVERFLOW;
                             dst.put((byte)(index >> 8));
                             dst.put((byte)(index & 0xff));
-                        } else if (encoder0212 != null &&
-                                   (index = encoder0212.encodeDouble(c)) != 0) {
+                        } else if (enc0212 != null &&
+                                   (index = enc0212.encodeChar(c)) != UNMAPPABLE_ENCODING) {
                             if (currentMode != JISX0212_1990) {
                                 if (dst.remaining() < 4)
                                     return CoderResult.OVERFLOW;
--- a/src/share/classes/sun/nio/cs/ext/ISO2022_JP_2.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/sun/nio/cs/ext/ISO2022_JP_2.java	Wed Aug 01 11:08:11 2012 -0400
@@ -26,6 +26,8 @@
 package sun.nio.cs.ext;
 
 import java.nio.charset.Charset;
+import java.nio.charset.CharsetDecoder;
+import java.nio.charset.CharsetEncoder;
 
 public class ISO2022_JP_2 extends ISO2022_JP
 {
@@ -44,12 +46,18 @@
              (cs instanceof ISO2022_JP_2);
     }
 
-    protected DoubleByteDecoder get0212Decoder() {
-        return new JIS_X_0212_Decoder(this);
+    public CharsetDecoder newDecoder() {
+        return new Decoder(this, Decoder.DEC0208, DEC0212);
+    }
+
+    public CharsetEncoder newEncoder() {
+        return new Encoder(this, Encoder.ENC0208, ENC0212, true);
     }
 
-    protected DoubleByteEncoder get0212Encoder() {
-        return new JIS_X_0212_Encoder(this);
-    }
+    private final static DoubleByte.Decoder DEC0212 =
+        (DoubleByte.Decoder)new JIS_X_0212().newDecoder();
+
+    private final static DoubleByte.Encoder ENC0212 =
+        (DoubleByte.Encoder)new JIS_X_0212().newEncoder();
 
 }
--- a/src/share/classes/sun/nio/cs/ext/JIS_X_0201.java	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,226 +0,0 @@
-/*
- * Copyright (c) 2002, 2005, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code 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
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- */
-
-package sun.nio.cs.ext;
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.SingleByteDecoder;
-
-public class JIS_X_0201
-    extends Charset
-{
-
-    public JIS_X_0201() {
-        super("JIS_X0201", ExtendedCharsets.aliasesFor("JIS_X0201"));
-    }
-
-    public boolean contains(Charset cs) {
-        return ((cs.name().equals("US-ASCII"))
-                || (cs instanceof JIS_X_0201));
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-    public static class Decoder extends SingleByteDecoder {
-
-        public Decoder(Charset cs) {
-            super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +    // 0x80 - 0x87
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +    // 0x88 - 0x8F
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +    // 0x90 - 0x97
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +    // 0x98 - 0x9F
-        "\uFFFD\uFF61\uFF62\uFF63\uFF64\uFF65\uFF66\uFF67" +    // 0xA0 - 0xA7
-        "\uFF68\uFF69\uFF6A\uFF6B\uFF6C\uFF6D\uFF6E\uFF6F" +    // 0xA8 - 0xAF
-        "\uFF70\uFF71\uFF72\uFF73\uFF74\uFF75\uFF76\uFF77" +    // 0xB0 - 0xB7
-        "\uFF78\uFF79\uFF7A\uFF7B\uFF7C\uFF7D\uFF7E\uFF7F" +    // 0xB8 - 0xBF
-        "\uFF80\uFF81\uFF82\uFF83\uFF84\uFF85\uFF86\uFF87" +    // 0xC0 - 0xC7
-        "\uFF88\uFF89\uFF8A\uFF8B\uFF8C\uFF8D\uFF8E\uFF8F" +    // 0xC8 - 0xCF
-        "\uFF90\uFF91\uFF92\uFF93\uFF94\uFF95\uFF96\uFF97" +    // 0xD0 - 0xD7
-        "\uFF98\uFF99\uFF9A\uFF9B\uFF9C\uFF9D\uFF9E\uFF9F" +    // 0xD8 - 0xDF
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +    // 0xE0 - 0xE7
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +    // 0xE8 - 0xEF
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +    // 0xF0 - 0xF7
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +    // 0xF8 - 0xFF
-        "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +    // 0x00 - 0x07
-        "\b\t\n\u000B\f\r\u000E\u000F" +        // 0x08 - 0x0F
-        "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +    // 0x10 - 0x17
-        "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +    // 0x18 - 0x1F
-        "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +    // 0x20 - 0x27
-        "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +    // 0x28 - 0x2F
-        "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +    // 0x30 - 0x37
-        "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +    // 0x38 - 0x3F
-        "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +    // 0x40 - 0x47
-        "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +    // 0x48 - 0x4F
-        "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +    // 0x50 - 0x57
-        "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +        // 0x58 - 0x5F
-        "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +    // 0x60 - 0x67
-        "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +    // 0x68 - 0x6F
-        "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +    // 0x70 - 0x77
-        "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";     // 0x78 - 0x7F
-    }
-
-    public static class Encoder extends SingleByteEncoder {
-
-        public Encoder(Charset cs) {
-            super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-        }
-
-        private final static String index2 =
-
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
-            "\b\t\n\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\\\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u007E\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00A1\u00A2\u00A3\u00A4\u00A5\u00A6\u00A7\u00A8" +
-            "\u00A9\u00AA\u00AB\u00AC\u00AD\u00AE\u00AF\u00B0" +
-            "\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7\u00B8" +
-            "\u00B9\u00BA\u00BB\u00BC\u00BD\u00BE\u00BF\u00C0" +
-            "\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7\u00C8" +
-            "\u00C9\u00CA\u00CB\u00CC\u00CD\u00CE\u00CF\u00D0" +
-            "\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6\u00D7\u00D8" +
-            "\u00D9\u00DA\u00DB\u00DC\u00DD\u00DE\u00DF\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
-
-        private final static short index1[] = {
-            0, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
-            166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
-            360, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
-            166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
-            166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
-            166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
-            166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
-            166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
-            166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
-            166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
-            166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
-            166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
-            166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
-            166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
-            166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
-            166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 519,
-        };
-    }
-
-}
--- a/src/share/classes/sun/nio/cs/ext/JIS_X_0208.java	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-/*
- * Copyright (c) 2002, 2003, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code 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
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- */
-
-package sun.nio.cs.ext;
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-
-public class JIS_X_0208
-    extends Charset
-{
-
-    public JIS_X_0208() {
-        super("x-JIS0208", ExtendedCharsets.aliasesFor("x-JIS0208"));
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof JIS_X_0208);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new JIS_X_0208_Encoder(this);
-    }
-
-    private static class Decoder extends JIS_X_0208_Decoder {
-        protected char decodeSingle(int b) {
-            return DoubleByteDecoder.REPLACE_CHAR;
-        }
-
-        public Decoder(Charset cs) {
-            super(cs);
-        }
-    }
-}
--- a/src/share/classes/sun/nio/cs/ext/JIS_X_0208_Decoder.java	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1010 +0,0 @@
-/*
- * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code 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
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- */
-
-package sun.nio.cs.ext;
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-
-public class JIS_X_0208_Decoder extends DoubleByteDecoder
-{
-    public JIS_X_0208_Decoder(Charset cs) {
-        super(cs,
-              index1,
-              index2,
-              0x21,
-              0x7E);
-    }
-
-    private final static String innerIndex0=
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u3000\u3001"+
-        "\u3002\uFF0C\uFF0E\u30FB\uFF1A\uFF1B\uFF1F\uFF01"+
-        "\u309B\u309C\u00B4\uFF40\u00A8\uFF3E\uFFE3\uFF3F"+
-        "\u30FD\u30FE\u309D\u309E\u3003\u4EDD\u3005\u3006"+
-        "\u3007\u30FC\u2014\u2010\uFF0F\uFF3C\u301C\u2016"+
-        "\uFF5C\u2026\u2025\u2018\u2019\u201C\u201D\uFF08"+
-        "\uFF09\u3014\u3015\uFF3B\uFF3D\uFF5B\uFF5D\u3008"+
-        "\u3009\u300A\u300B\u300C\u300D\u300E\u300F\u3010"+
-        "\u3011\uFF0B\u2212\u00B1\u00D7\u00F7\uFF1D\u2260"+
-        "\uFF1C\uFF1E\u2266\u2267\u221E\u2234\u2642\u2640"+
-        "\u00B0\u2032\u2033\u2103\uFFE5\uFF04\u00A2\u00A3"+
-        "\uFF05\uFF03\uFF06\uFF0A\uFF20\u00A7\u2606\u2605"+
-        "\u25CB\u25CF\u25CE\u25C7\u25C6\u25A1\u25A0\u25B3"+
-        "\u25B2\u25BD\u25BC\u203B\u3012\u2192\u2190\u2191"+
-        "\u2193\u3013\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2208\u220B\u2286"+
-        "\u2287\u2282\u2283\u222A\u2229\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2227\u2228\u00AC"+
-        "\u21D2\u21D4\u2200\u2203\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2220"+
-        "\u22A5\u2312\u2202\u2207\u2261\u2252\u226A\u226B"+
-        "\u221A\u223D\u221D\u2235\u222B\u222C\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u212B\u2030\u266F"+
-        "\u266D\u266A\u2020\u2021\u00B6\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\u25EF\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFF10\uFF11\uFF12\uFF13\uFF14\uFF15\uFF16"+
-        "\uFF17\uFF18\uFF19\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFF21\uFF22\uFF23\uFF24\uFF25\uFF26"+
-        "\uFF27\uFF28\uFF29\uFF2A\uFF2B\uFF2C\uFF2D\uFF2E"+
-        "\uFF2F\uFF30\uFF31\uFF32\uFF33\uFF34\uFF35\uFF36"+
-        "\uFF37\uFF38\uFF39\uFF3A\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFF41\uFF42\uFF43\uFF44\uFF45\uFF46"+
-        "\uFF47\uFF48\uFF49\uFF4A\uFF4B\uFF4C\uFF4D\uFF4E"+
-        "\uFF4F\uFF50\uFF51\uFF52\uFF53\uFF54\uFF55\uFF56"+
-        "\uFF57\uFF58\uFF59\uFF5A\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\u3041\u3042\u3043\u3044\u3045\u3046\u3047\u3048"+
-        "\u3049\u304A\u304B\u304C\u304D\u304E\u304F\u3050"+
-        "\u3051\u3052\u3053\u3054\u3055\u3056\u3057\u3058"+
-        "\u3059\u305A\u305B\u305C\u305D\u305E\u305F\u3060"+
-        "\u3061\u3062\u3063\u3064\u3065\u3066\u3067\u3068"+
-        "\u3069\u306A\u306B\u306C\u306D\u306E\u306F\u3070"+
-        "\u3071\u3072\u3073\u3074\u3075\u3076\u3077\u3078"+
-        "\u3079\u307A\u307B\u307C\u307D\u307E\u307F\u3080"+
-        "\u3081\u3082\u3083\u3084\u3085\u3086\u3087\u3088"+
-        "\u3089\u308A\u308B\u308C\u308D\u308E\u308F\u3090"+
-        "\u3091\u3092\u3093\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u30A1\u30A2"+
-        "\u30A3\u30A4\u30A5\u30A6\u30A7\u30A8\u30A9\u30AA"+
-        "\u30AB\u30AC\u30AD\u30AE\u30AF\u30B0\u30B1\u30B2"+
-        "\u30B3\u30B4\u30B5\u30B6\u30B7\u30B8\u30B9\u30BA"+
-        "\u30BB\u30BC\u30BD\u30BE\u30BF\u30C0\u30C1\u30C2"+
-        "\u30C3\u30C4\u30C5\u30C6\u30C7\u30C8\u30C9\u30CA"+
-        "\u30CB\u30CC\u30CD\u30CE\u30CF\u30D0\u30D1\u30D2"+
-        "\u30D3\u30D4\u30D5\u30D6\u30D7\u30D8\u30D9\u30DA"+
-        "\u30DB\u30DC\u30DD\u30DE\u30DF\u30E0\u30E1\u30E2"+
-        "\u30E3\u30E4\u30E5\u30E6\u30E7\u30E8\u30E9\u30EA"+
-        "\u30EB\u30EC\u30ED\u30EE\u30EF\u30F0\u30F1\u30F2"+
-        "\u30F3\u30F4\u30F5\u30F6\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\u0391\u0392\u0393\u0394"+
-        "\u0395\u0396\u0397\u0398\u0399\u039A\u039B\u039C"+
-        "\u039D\u039E\u039F\u03A0\u03A1\u03A3\u03A4\u03A5"+
-        "\u03A6\u03A7\u03A8\u03A9\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\u03B1\u03B2\u03B3\u03B4"+
-        "\u03B5\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC"+
-        "\u03BD\u03BE\u03BF\u03C0\u03C1\u03C3\u03C4\u03C5"+
-        "\u03C6\u03C7\u03C8\u03C9\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\u0410\u0411\u0412\u0413\u0414\u0415"+
-        "\u0401\u0416\u0417\u0418\u0419\u041A\u041B\u041C"+
-        "\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424"+
-        "\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C"+
-        "\u042D\u042E\u042F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\u0430\u0431\u0432\u0433\u0434\u0435"+
-        "\u0451\u0436\u0437\u0438\u0439\u043A\u043B\u043C"+
-        "\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444"+
-        "\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C"+
-        "\u044D\u044E\u044F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\u2500\u2502\u250C\u2510\u2518\u2514\u251C\u252C"+
-        "\u2524\u2534\u253C\u2501\u2503\u250F\u2513\u251B"+
-        "\u2517\u2523\u2533\u252B\u253B\u254B\u2520\u252F"+
-        "\u2528\u2537\u253F\u251D\u2530\u2525\u2538\u2542"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u4E9C\u5516"+
-        "\u5A03\u963F\u54C0\u611B\u6328\u59F6\u9022\u8475"+
-        "\u831C\u7A50\u60AA\u63E1\u6E25\u65ED\u8466\u82A6"+
-        "\u9BF5\u6893\u5727\u65A1\u6271\u5B9B\u59D0\u867B"+
-        "\u98F4\u7D62\u7DBE\u9B8E\u6216\u7C9F\u88B7\u5B89"+
-        "\u5EB5\u6309\u6697\u6848\u95C7\u978D\u674F\u4EE5"+
-        "\u4F0A\u4F4D\u4F9D\u5049\u56F2\u5937\u59D4\u5A01"+
-        "\u5C09\u60DF\u610F\u6170\u6613\u6905\u70BA\u754F"+
-        "\u7570\u79FB\u7DAD\u7DEF\u80C3\u840E\u8863\u8B02"+
-        "\u9055\u907A\u533B\u4E95\u4EA5\u57DF\u80B2\u90C1"+
-        "\u78EF\u4E00\u58F1\u6EA2\u9038\u7A32\u8328\u828B"+
-        "\u9C2F\u5141\u5370\u54BD\u54E1\u56E0\u59FB\u5F15"+
-        "\u98F2\u6DEB\u80E4\u852D\u9662\u9670\u96A0\u97FB"+
-        "\u540B\u53F3\u5B87\u70CF\u7FBD\u8FC2\u96E8\u536F"+
-        "\u9D5C\u7ABA\u4E11\u7893\u81FC\u6E26\u5618\u5504"+
-        "\u6B1D\u851A\u9C3B\u59E5\u53A9\u6D66\u74DC\u958F"+
-        "\u5642\u4E91\u904B\u96F2\u834F\u990C\u53E1\u55B6"+
-        "\u5B30\u5F71\u6620\u66F3\u6804\u6C38\u6CF3\u6D29"+
-        "\u745B\u76C8\u7A4E\u9834\u82F1\u885B\u8A60\u92ED"+
-        "\u6DB2\u75AB\u76CA\u99C5\u60A6\u8B01\u8D8A\u95B2"+
-        "\u698E\u53AD\u5186\u5712\u5830\u5944\u5BB4\u5EF6"+
-        "\u6028\u63A9\u63F4\u6CBF\u6F14\u708E\u7114\u7159"+
-        "\u71D5\u733F\u7E01\u8276\u82D1\u8597\u9060\u925B"+
-        "\u9D1B\u5869\u65BC\u6C5A\u7525\u51F9\u592E\u5965"+
-        "\u5F80\u5FDC\u62BC\u65FA\u6A2A\u6B27\u6BB4\u738B"+
-        "\u7FC1\u8956\u9D2C\u9D0E\u9EC4\u5CA1\u6C96\u837B"+
-        "\u5104\u5C4B\u61B6\u81C6\u6876\u7261\u4E59\u4FFA"+
-        "\u5378\u6069\u6E29\u7A4F\u97F3\u4E0B\u5316\u4EEE"+
-        "\u4F55\u4F3D\u4FA1\u4F73\u52A0\u53EF\u5609\u590F"+
-        "\u5AC1\u5BB6\u5BE1\u79D1\u6687\u679C\u67B6\u6B4C"+
-        "\u6CB3\u706B\u73C2\u798D\u79BE\u7A3C\u7B87\u82B1"+
-        "\u82DB\u8304\u8377\u83EF\u83D3\u8766\u8AB2\u5629"+
-        "\u8CA8\u8FE6\u904E\u971E\u868A\u4FC4\u5CE8\u6211"+
-        "\u7259\u753B\u81E5\u82BD\u86FE\u8CC0\u96C5\u9913"+
-        "\u99D5\u4ECB\u4F1A\u89E3\u56DE\u584A\u58CA\u5EFB"+
-        "\u5FEB\u602A\u6094\u6062\u61D0\u6212\u62D0\u6539"+
-        "\u9B41\u6666\u68B0\u6D77\u7070\u754C\u7686\u7D75"+
-        "\u82A5\u87F9\u958B\u968E\u8C9D\u51F1\u52BE\u5916"+
-        "\u54B3\u5BB3\u5D16\u6168\u6982\u6DAF\u788D\u84CB"+
-        "\u8857\u8A72\u93A7\u9AB8\u6D6C\u99A8\u86D9\u57A3"+
-        "\u67FF\u86CE\u920E\u5283\u5687\u5404\u5ED3\u62E1"+
-        "\u64B9\u683C\u6838\u6BBB\u7372\u78BA\u7A6B\u899A"+
-        "\u89D2\u8D6B\u8F03\u90ED\u95A3\u9694\u9769\u5B66"+
-        "\u5CB3\u697D\u984D\u984E\u639B\u7B20\u6A2B\u6A7F"+
-        "\u68B6\u9C0D\u6F5F\u5272\u559D\u6070\u62EC\u6D3B"+
-        "\u6E07\u6ED1\u845B\u8910\u8F44\u4E14\u9C39\u53F6"+
-        "\u691B\u6A3A\u9784\u682A\u515C\u7AC3\u84B2\u91DC"+
-        "\u938C\u565B\u9D28\u6822\u8305\u8431\u7CA5\u5208"+
-        "\u82C5\u74E6\u4E7E\u4F83\u51A0\u5BD2\u520A\u52D8"+
-        "\u52E7\u5DFB\u559A\u582A\u59E6\u5B8C\u5B98\u5BDB"+
-        "\u5E72\u5E79\u60A3\u611F\u6163\u61BE\u63DB\u6562"+
-        "\u67D1\u6853\u68FA\u6B3E\u6B53\u6C57\u6F22\u6F97"+
-        "\u6F45\u74B0\u7518\u76E3\u770B\u7AFF\u7BA1\u7C21"+
-        "\u7DE9\u7F36\u7FF0\u809D\u8266\u839E\u89B3\u8ACC"+
-        "\u8CAB\u9084\u9451\u9593\u9591\u95A2\u9665\u97D3"+
-        "\u9928\u8218\u4E38\u542B\u5CB8\u5DCC\u73A9\u764C"+
-        "\u773C\u5CA9\u7FEB\u8D0B\u96C1\u9811\u9854\u9858"+
-        "\u4F01\u4F0E\u5371\u559C\u5668\u57FA\u5947\u5B09"+
-        "\u5BC4\u5C90\u5E0C\u5E7E\u5FCC\u63EE\u673A\u65D7"+
-        "\u65E2\u671F\u68CB\u68C4\u6A5F\u5E30\u6BC5\u6C17"+
-        "\u6C7D\u757F\u7948\u5B63\u7A00\u7D00\u5FBD\u898F"+
-        "\u8A18\u8CB4\u8D77\u8ECC\u8F1D\u98E2\u9A0E\u9B3C"+
-        "\u4E80\u507D\u5100\u5993\u5B9C\u622F\u6280\u64EC"+
-        "\u6B3A\u72A0\u7591\u7947\u7FA9\u87FB\u8ABC\u8B70"+
-        "\u63AC\u83CA\u97A0\u5409\u5403\u55AB\u6854\u6A58"+
-        "\u8A70\u7827\u6775\u9ECD\u5374\u5BA2\u811A\u8650"+
-        "\u9006\u4E18\u4E45\u4EC7\u4F11\u53CA\u5438\u5BAE"+
-        "\u5F13\u6025\u6551\u673D\u6C42\u6C72\u6CE3\u7078"+
-        "\u7403\u7A76\u7AAE\u7B08\u7D1A\u7CFE\u7D66\u65E7"+
-        "\u725B\u53BB\u5C45\u5DE8\u62D2\u62E0\u6319\u6E20"+
-        "\u865A\u8A31\u8DDD\u92F8\u6F01\u79A6\u9B5A\u4EA8"+
-        "\u4EAB\u4EAC\u4F9B\u4FA0\u50D1\u5147\u7AF6\u5171"+
-        "\u51F6\u5354\u5321\u537F\u53EB\u55AC\u5883\u5CE1"+
-        "\u5F37\u5F4A\u602F\u6050\u606D\u631F\u6559\u6A4B"+
-        "\u6CC1\u72C2\u72ED\u77EF\u80F8\u8105\u8208\u854E"+
-        "\u90F7\u93E1\u97FF\u9957\u9A5A\u4EF0\u51DD\u5C2D"+
-        "\u6681\u696D\u5C40\u66F2\u6975\u7389\u6850\u7C81"+
-        "\u50C5\u52E4\u5747\u5DFE\u9326\u65A4\u6B23\u6B3D"+
-        "\u7434\u7981\u79BD\u7B4B\u7DCA\u82B9\u83CC\u887F"+
-        "\u895F\u8B39\u8FD1\u91D1\u541F\u9280\u4E5D\u5036"+
-        "\u53E5\u533A\u72D7\u7396\u77E9\u82E6\u8EAF\u99C6"+
-        "\u99C8\u99D2\u5177\u611A\u865E\u55B0\u7A7A\u5076"+
-        "\u5BD3\u9047\u9685\u4E32\u6ADB\u91E7\u5C51\u5C48";
-
-    private final static String innerIndex1=
-        "\u6398\u7A9F\u6C93\u9774\u8F61\u7AAA\u718A\u9688"+
-        "\u7C82\u6817\u7E70\u6851\u936C\u52F2\u541B\u85AB"+
-        "\u8A13\u7FA4\u8ECD\u90E1\u5366\u8888\u7941\u4FC2"+
-        "\u50BE\u5211\u5144\u5553\u572D\u73EA\u578B\u5951"+
-        "\u5F62\u5F84\u6075\u6176\u6167\u61A9\u63B2\u643A"+
-        "\u656C\u666F\u6842\u6E13\u7566\u7A3D\u7CFB\u7D4C"+
-        "\u7D99\u7E4B\u7F6B\u830E\u834A\u86CD\u8A08\u8A63"+
-        "\u8B66\u8EFD\u981A\u9D8F\u82B8\u8FCE\u9BE8\u5287"+
-        "\u621F\u6483\u6FC0\u9699\u6841\u5091\u6B20\u6C7A"+
-        "\u6F54\u7A74\u7D50\u8840\u8A23\u6708\u4EF6\u5039"+
-        "\u5026\u5065\u517C\u5238\u5263\u55A7\u570F\u5805"+
-        "\u5ACC\u5EFA\u61B2\u61F8\u62F3\u6372\u691C\u6A29"+
-        "\u727D\u72AC\u732E\u7814\u786F\u7D79\u770C\u80A9"+
-        "\u898B\u8B19\u8CE2\u8ED2\u9063\u9375\u967A\u9855"+
-        "\u9A13\u9E78\u5143\u539F\u53B3\u5E7B\u5F26\u6E1B"+
-        "\u6E90\u7384\u73FE\u7D43\u8237\u8A00\u8AFA\u9650"+
-        "\u4E4E\u500B\u53E4\u547C\u56FA\u59D1\u5B64\u5DF1"+
-        "\u5EAB\u5F27\u6238\u6545\u67AF\u6E56\u72D0\u7CCA"+
-        "\u88B4\u80A1\u80E1\u83F0\u864E\u8A87\u8DE8\u9237"+
-        "\u96C7\u9867\u9F13\u4E94\u4E92\u4F0D\u5348\u5449"+
-        "\u543E\u5A2F\u5F8C\u5FA1\u609F\u68A7\u6A8E\u745A"+
-        "\u7881\u8A9E\u8AA4\u8B77\u9190\u4E5E\u9BC9\u4EA4"+
-        "\u4F7C\u4FAF\u5019\u5016\u5149\u516C\u529F\u52B9"+
-        "\u52FE\u539A\u53E3\u5411\u540E\u5589\u5751\u57A2"+
-        "\u597D\u5B54\u5B5D\u5B8F\u5DE5\u5DE7\u5DF7\u5E78"+
-        "\u5E83\u5E9A\u5EB7\u5F18\u6052\u614C\u6297\u62D8"+
-        "\u63A7\u653B\u6602\u6643\u66F4\u676D\u6821\u6897"+
-        "\u69CB\u6C5F\u6D2A\u6D69\u6E2F\u6E9D\u7532\u7687"+
-        "\u786C\u7A3F\u7CE0\u7D05\u7D18\u7D5E\u7DB1\u8015"+
-        "\u8003\u80AF\u80B1\u8154\u818F\u822A\u8352\u884C"+
-        "\u8861\u8B1B\u8CA2\u8CFC\u90CA\u9175\u9271\u783F"+
-        "\u92FC\u95A4\u964D\u9805\u9999\u9AD8\u9D3B\u525B"+
-        "\u52AB\u53F7\u5408\u58D5\u62F7\u6FE0\u8C6A\u8F5F"+
-        "\u9EB9\u514B\u523B\u544A\u56FD\u7A40\u9177\u9D60"+
-        "\u9ED2\u7344\u6F09\u8170\u7511\u5FFD\u60DA\u9AA8"+
-        "\u72DB\u8FBC\u6B64\u9803\u4ECA\u56F0\u5764\u58BE"+
-        "\u5A5A\u6068\u61C7\u660F\u6606\u6839\u68B1\u6DF7"+
-        "\u75D5\u7D3A\u826E\u9B42\u4E9B\u4F50\u53C9\u5506"+
-        "\u5D6F\u5DE6\u5DEE\u67FB\u6C99\u7473\u7802\u8A50"+
-        "\u9396\u88DF\u5750\u5EA7\u632B\u50B5\u50AC\u518D"+
-        "\u6700\u54C9\u585E\u59BB\u5BB0\u5F69\u624D\u63A1"+
-        "\u683D\u6B73\u6E08\u707D\u91C7\u7280\u7815\u7826"+
-        "\u796D\u658E\u7D30\u83DC\u88C1\u8F09\u969B\u5264"+
-        "\u5728\u6750\u7F6A\u8CA1\u51B4\u5742\u962A\u583A"+
-        "\u698A\u80B4\u54B2\u5D0E\u57FC\u7895\u9DFA\u4F5C"+
-        "\u524A\u548B\u643E\u6628\u6714\u67F5\u7A84\u7B56"+
-        "\u7D22\u932F\u685C\u9BAD\u7B39\u5319\u518A\u5237"+
-        "\u5BDF\u62F6\u64AE\u64E6\u672D\u6BBA\u85A9\u96D1"+
-        "\u7690\u9BD6\u634C\u9306\u9BAB\u76BF\u6652\u4E09"+
-        "\u5098\u53C2\u5C71\u60E8\u6492\u6563\u685F\u71E6"+
-        "\u73CA\u7523\u7B97\u7E82\u8695\u8B83\u8CDB\u9178"+
-        "\u9910\u65AC\u66AB\u6B8B\u4ED5\u4ED4\u4F3A\u4F7F"+
-        "\u523A\u53F8\u53F2\u55E3\u56DB\u58EB\u59CB\u59C9"+
-        "\u59FF\u5B50\u5C4D\u5E02\u5E2B\u5FD7\u601D\u6307"+
-        "\u652F\u5B5C\u65AF\u65BD\u65E8\u679D\u6B62\u6B7B"+
-        "\u6C0F\u7345\u7949\u79C1\u7CF8\u7D19\u7D2B\u80A2"+
-        "\u8102\u81F3\u8996\u8A5E\u8A69\u8A66\u8A8C\u8AEE"+
-        "\u8CC7\u8CDC\u96CC\u98FC\u6B6F\u4E8B\u4F3C\u4F8D"+
-        "\u5150\u5B57\u5BFA\u6148\u6301\u6642\u6B21\u6ECB"+
-        "\u6CBB\u723E\u74BD\u75D4\u78C1\u793A\u800C\u8033"+
-        "\u81EA\u8494\u8F9E\u6C50\u9E7F\u5F0F\u8B58\u9D2B"+
-        "\u7AFA\u8EF8\u5B8D\u96EB\u4E03\u53F1\u57F7\u5931"+
-        "\u5AC9\u5BA4\u6089\u6E7F\u6F06\u75BE\u8CEA\u5B9F"+
-        "\u8500\u7BE0\u5072\u67F4\u829D\u5C61\u854A\u7E1E"+
-        "\u820E\u5199\u5C04\u6368\u8D66\u659C\u716E\u793E"+
-        "\u7D17\u8005\u8B1D\u8ECA\u906E\u86C7\u90AA\u501F"+
-        "\u52FA\u5C3A\u6753\u707C\u7235\u914C\u91C8\u932B"+
-        "\u82E5\u5BC2\u5F31\u60F9\u4E3B\u53D6\u5B88\u624B"+
-        "\u6731\u6B8A\u72E9\u73E0\u7A2E\u816B\u8DA3\u9152"+
-        "\u9996\u5112\u53D7\u546A\u5BFF\u6388\u6A39\u7DAC"+
-        "\u9700\u56DA\u53CE\u5468\u5B97\u5C31\u5DDE\u4FEE"+
-        "\u6101\u62FE\u6D32\u79C0\u79CB\u7D42\u7E4D\u7FD2"+
-        "\u81ED\u821F\u8490\u8846\u8972\u8B90\u8E74\u8F2F"+
-        "\u9031\u914B\u916C\u96C6\u919C\u4EC0\u4F4F\u5145"+
-        "\u5341\u5F93\u620E\u67D4\u6C41\u6E0B\u7363\u7E26"+
-        "\u91CD\u9283\u53D4\u5919\u5BBF\u6DD1\u795D\u7E2E"+
-        "\u7C9B\u587E\u719F\u51FA\u8853\u8FF0\u4FCA\u5CFB"+
-        "\u6625\u77AC\u7AE3\u821C\u99FF\u51C6\u5FAA\u65EC"+
-        "\u696F\u6B89\u6DF3\u6E96\u6F64\u76FE\u7D14\u5DE1"+
-        "\u9075\u9187\u9806\u51E6\u521D\u6240\u6691\u66D9"+
-        "\u6E1A\u5EB6\u7DD2\u7F72\u66F8\u85AF\u85F7\u8AF8"+
-        "\u52A9\u53D9\u5973\u5E8F\u5F90\u6055\u92E4\u9664"+
-        "\u50B7\u511F\u52DD\u5320\u5347\u53EC\u54E8\u5546"+
-        "\u5531\u5617\u5968\u59BE\u5A3C\u5BB5\u5C06\u5C0F"+
-        "\u5C11\u5C1A\u5E84\u5E8A\u5EE0\u5F70\u627F\u6284"+
-        "\u62DB\u638C\u6377\u6607\u660C\u662D\u6676\u677E"+
-        "\u68A2\u6A1F\u6A35\u6CBC\u6D88\u6E09\u6E58\u713C"+
-        "\u7126\u7167\u75C7\u7701\u785D\u7901\u7965\u79F0"+
-        "\u7AE0\u7B11\u7CA7\u7D39\u8096\u83D6\u848B\u8549"+
-        "\u885D\u88F3\u8A1F\u8A3C\u8A54\u8A73\u8C61\u8CDE"+
-        "\u91A4\u9266\u937E\u9418\u969C\u9798\u4E0A\u4E08"+
-        "\u4E1E\u4E57\u5197\u5270\u57CE\u5834\u58CC\u5B22"+
-        "\u5E38\u60C5\u64FE\u6761\u6756\u6D44\u72B6\u7573"+
-        "\u7A63\u84B8\u8B72\u91B8\u9320\u5631\u57F4\u98FE"+
-        "\u62ED\u690D\u6B96\u71ED\u7E54\u8077\u8272\u89E6"+
-        "\u98DF\u8755\u8FB1\u5C3B\u4F38\u4FE1\u4FB5\u5507"+
-        "\u5A20\u5BDD\u5BE9\u5FC3\u614E\u632F\u65B0\u664B"+
-        "\u68EE\u699B\u6D78\u6DF1\u7533\u75B9\u771F\u795E"+
-        "\u79E6\u7D33\u81E3\u82AF\u85AA\u89AA\u8A3A\u8EAB"+
-        "\u8F9B\u9032\u91DD\u9707\u4EBA\u4EC1\u5203\u5875"+
-        "\u58EC\u5C0B\u751A\u5C3D\u814E\u8A0A\u8FC5\u9663"+
-        "\u976D\u7B25\u8ACF\u9808\u9162\u56F3\u53A8\u9017"+
-        "\u5439\u5782\u5E25\u63A8\u6C34\u708A\u7761\u7C8B"+
-        "\u7FE0\u8870\u9042\u9154\u9310\u9318\u968F\u745E"+
-        "\u9AC4\u5D07\u5D69\u6570\u67A2\u8DA8\u96DB\u636E"+
-        "\u6749\u6919\u83C5\u9817\u96C0\u88FE\u6F84\u647A"+
-        "\u5BF8\u4E16\u702C\u755D\u662F\u51C4\u5236\u52E2"+
-        "\u59D3\u5F81\u6027\u6210\u653F\u6574\u661F\u6674"+
-        "\u68F2\u6816\u6B63\u6E05\u7272\u751F\u76DB\u7CBE"+
-        "\u8056\u58F0\u88FD\u897F\u8AA0\u8A93\u8ACB\u901D"+
-        "\u9192\u9752\u9759\u6589\u7A0E\u8106\u96BB\u5E2D"+
-        "\u60DC\u621A\u65A5\u6614\u6790\u77F3\u7A4D\u7C4D"+
-        "\u7E3E\u810A\u8CAC\u8D64\u8DE1\u8E5F\u78A9\u5207"+
-        "\u62D9\u63A5\u6442\u6298\u8A2D\u7A83\u7BC0\u8AAC"+
-        "\u96EA\u7D76\u820C\u8749\u4ED9\u5148\u5343\u5360"+
-        "\u5BA3\u5C02\u5C16\u5DDD\u6226\u6247\u64B0\u6813"+
-        "\u6834\u6CC9\u6D45\u6D17\u67D3\u6F5C\u714E\u717D"+
-        "\u65CB\u7A7F\u7BAD\u7DDA\u7E4A\u7FA8\u817A\u821B"+
-        "\u8239\u85A6\u8A6E\u8CCE\u8DF5\u9078\u9077\u92AD"+
-        "\u9291\u9583\u9BAE\u524D\u5584\u6F38\u7136\u5168"+
-        "\u7985\u7E55\u81B3\u7CCE\u564C\u5851\u5CA8\u63AA"+
-        "\u66FE\u66FD\u695A\u72D9\u758F\u758E\u790E\u7956"+
-        "\u79DF\u7C97\u7D20\u7D44\u8607\u8A34\u963B\u9061"+
-        "\u9F20\u50E7\u5275\u53CC\u53E2\u5009\u55AA\u58EE"+
-        "\u594F\u723D\u5B8B\u5C64\u531D\u60E3\u60F3\u635C"+
-        "\u6383\u633F\u63BB\u64CD\u65E9\u66F9\u5DE3\u69CD"+
-        "\u69FD\u6F15\u71E5\u4E89\u75E9\u76F8\u7A93\u7CDF"+
-        "\u7DCF\u7D9C\u8061\u8349\u8358\u846C\u84BC\u85FB"+
-        "\u88C5\u8D70\u9001\u906D\u9397\u971C\u9A12\u50CF"+
-        "\u5897\u618E\u81D3\u8535\u8D08\u9020\u4FC3\u5074"+
-        "\u5247\u5373\u606F\u6349\u675F\u6E2C\u8DB3\u901F"+
-        "\u4FD7\u5C5E\u8CCA\u65CF\u7D9A\u5352\u8896\u5176"+
-        "\u63C3\u5B58\u5B6B\u5C0A\u640D\u6751\u905C\u4ED6"+
-        "\u591A\u592A\u6C70\u8A51\u553E\u5815\u59A5\u60F0"+
-        "\u6253\u67C1\u8235\u6955\u9640\u99C4\u9A28\u4F53"+
-        "\u5806\u5BFE\u8010\u5CB1\u5E2F\u5F85\u6020\u614B"+
-        "\u6234\u66FF\u6CF0\u6EDE\u80CE\u817F\u82D4\u888B"+
-        "\u8CB8\u9000\u902E\u968A\u9EDB\u9BDB\u4EE3\u53F0"+
-        "\u5927\u7B2C\u918D\u984C\u9DF9\u6EDD\u7027\u5353"+
-        "\u5544\u5B85\u6258\u629E\u62D3\u6CA2\u6FEF\u7422"+
-        "\u8A17\u9438\u6FC1\u8AFE\u8338\u51E7\u86F8\u53EA"+
-        "\u53E9\u4F46\u9054\u8FB0\u596A\u8131\u5DFD\u7AEA"+
-        "\u8FBF\u68DA\u8C37\u72F8\u9C48\u6A3D\u8AB0\u4E39"+
-        "\u5358\u5606\u5766\u62C5\u63A2\u65E6\u6B4E\u6DE1"+
-        "\u6E5B\u70AD\u77ED\u7AEF\u7BAA\u7DBB\u803D\u80C6"+
-        "\u86CB\u8A95\u935B\u56E3\u58C7\u5F3E\u65AD\u6696"+
-        "\u6A80\u6BB5\u7537\u8AC7\u5024\u77E5\u5730\u5F1B"+
-        "\u6065\u667A\u6C60\u75F4\u7A1A\u7F6E\u81F4\u8718"+
-        "\u9045\u99B3\u7BC9\u755C\u7AF9\u7B51\u84C4\u9010"+
-        "\u79E9\u7A92\u8336\u5AE1\u7740\u4E2D\u4EF2\u5B99"+
-        "\u5FE0\u62BD\u663C\u67F1\u6CE8\u866B\u8877\u8A3B"+
-        "\u914E\u92F3\u99D0\u6A17\u7026\u732A\u82E7\u8457"+
-        "\u8CAF\u4E01\u5146\u51CB\u558B\u5BF5\u5E16\u5E33"+
-        "\u5E81\u5F14\u5F35\u5F6B\u5FB4\u61F2\u6311\u66A2"+
-        "\u671D\u6F6E\u7252\u753A\u773A\u8074\u8139\u8178"+
-        "\u8776\u8ABF\u8ADC\u8D85\u8DF3\u929A\u9577\u9802"+
-        "\u9CE5\u52C5\u6357\u76F4\u6715\u6C88\u73CD\u8CC3"+
-        "\u93AE\u9673\u6D25\u589C\u690E\u69CC\u8FFD\u939A"+
-        "\u75DB\u901A\u585A\u6802\u63B4\u69FB\u4F43\u6F2C"+
-        "\u67D8\u8FBB\u8526\u7DB4\u9354\u693F\u6F70\u576A"+
-        "\u58F7\u5B2C\u7D2C\u722A\u540A\u91E3\u9DB4\u4EAD"+
-        "\u4F4E\u505C\u5075\u5243\u8C9E\u5448\u5824\u5B9A"+
-        "\u5E1D\u5E95\u5EAD\u5EF7\u5F1F\u608C\u62B5\u633A"+
-        "\u63D0\u68AF\u6C40\u7887\u798E\u7A0B\u7DE0\u8247"+
-        "\u8A02\u8AE6\u8E44\u9013\u90B8\u912D\u91D8\u9F0E"+
-        "\u6CE5\u6458\u64E2\u6575\u6EF4\u7684\u7B1B\u9069"+
-        "\u93D1\u6EBA\u54F2\u5FB9\u64A4\u8F4D\u8FED\u9244"+
-        "\u5178\u586B\u5929\u5C55\u5E97\u6DFB\u7E8F\u751C"+
-        "\u8CBC\u8EE2\u985B\u70B9\u4F1D\u6BBF\u6FB1\u7530"+
-        "\u96FB\u514E\u5410\u5835\u5857\u59AC\u5C60\u5F92"+
-        "\u6597\u675C\u6E21\u767B\u83DF\u8CED\u9014\u90FD"+
-        "\u934D\u7825\u783A\u52AA\u5EA6\u571F\u5974\u6012"+
-        "\u5012\u515A\u51AC\u51CD\u5200\u5510\u5854\u5858"+
-        "\u5957\u5B95\u5CF6\u5D8B\u60BC\u6295\u642D\u6771"+
-        "\u6843\u68BC\u68DF\u76D7\u6DD8\u6E6F\u6D9B\u706F"+
-        "\u71C8\u5F53\u75D8\u7977\u7B49\u7B54\u7B52\u7CD6"+
-        "\u7D71\u5230\u8463\u8569\u85E4\u8A0E\u8B04\u8C46"+
-        "\u8E0F\u9003\u900F\u9419\u9676\u982D\u9A30\u95D8"+
-        "\u50CD\u52D5\u540C\u5802\u5C0E\u61A7\u649E\u6D1E"+
-        "\u77B3\u7AE5\u80F4\u8404\u9053\u9285\u5CE0\u9D07"+
-        "\u533F\u5F97\u5FB3\u6D9C\u7279\u7763\u79BF\u7BE4"+
-        "\u6BD2\u72EC\u8AAD\u6803\u6A61\u51F8\u7A81\u6934"+
-        "\u5C4A\u9CF6\u82EB\u5BC5\u9149\u701E\u5678\u5C6F"+
-        "\u60C7\u6566\u6C8C\u8C5A\u9041\u9813\u5451\u66C7"+
-        "\u920D\u5948\u90A3\u5185\u4E4D\u51EA\u8599\u8B0E"+
-        "\u7058\u637A\u934B\u6962\u99B4\u7E04\u7577\u5357"+
-        "\u6960\u8EDF\u96E3\u6C5D\u4E8C\u5C3C\u5F10\u8FE9"+
-        "\u5302\u8CD1\u8089\u8679\u5EFF\u65E5\u4E73\u5165";
-
-    private final static String innerIndex2=
-        "\u5982\u5C3F\u97EE\u4EFB\u598A\u5FCD\u8A8D\u6FE1"+
-        "\u79B0\u7962\u5BE7\u8471\u732B\u71B1\u5E74\u5FF5"+
-        "\u637B\u649A\u71C3\u7C98\u4E43\u5EFC\u4E4B\u57DC"+
-        "\u56A2\u60A9\u6FC3\u7D0D\u80FD\u8133\u81BF\u8FB2"+
-        "\u8997\u86A4\u5DF4\u628A\u64AD\u8987\u6777\u6CE2"+
-        "\u6D3E\u7436\u7834\u5A46\u7F75\u82AD\u99AC\u4FF3"+
-        "\u5EC3\u62DD\u6392\u6557\u676F\u76C3\u724C\u80CC"+
-        "\u80BA\u8F29\u914D\u500D\u57F9\u5A92\u6885\u6973"+
-        "\u7164\u72FD\u8CB7\u58F2\u8CE0\u966A\u9019\u877F"+
-        "\u79E4\u77E7\u8429\u4F2F\u5265\u535A\u62CD\u67CF"+
-        "\u6CCA\u767D\u7B94\u7C95\u8236\u8584\u8FEB\u66DD"+
-        "\u6F20\u7206\u7E1B\u83AB\u99C1\u9EA6\u51FD\u7BB1"+
-        "\u7872\u7BB8\u8087\u7B48\u6AE8\u5E61\u808C\u7551"+
-        "\u7560\u516B\u9262\u6E8C\u767A\u9197\u9AEA\u4F10"+
-        "\u7F70\u629C\u7B4F\u95A5\u9CE9\u567A\u5859\u86E4"+
-        "\u96BC\u4F34\u5224\u534A\u53CD\u53DB\u5E06\u642C"+
-        "\u6591\u677F\u6C3E\u6C4E\u7248\u72AF\u73ED\u7554"+
-        "\u7E41\u822C\u85E9\u8CA9\u7BC4\u91C6\u7169\u9812"+
-        "\u98EF\u633D\u6669\u756A\u76E4\u78D0\u8543\u86EE"+
-        "\u532A\u5351\u5426\u5983\u5E87\u5F7C\u60B2\u6249"+
-        "\u6279\u62AB\u6590\u6BD4\u6CCC\u75B2\u76AE\u7891"+
-        "\u79D8\u7DCB\u7F77\u80A5\u88AB\u8AB9\u8CBB\u907F"+
-        "\u975E\u98DB\u6A0B\u7C38\u5099\u5C3E\u5FAE\u6787"+
-        "\u6BD8\u7435\u7709\u7F8E\u9F3B\u67CA\u7A17\u5339"+
-        "\u758B\u9AED\u5F66\u819D\u83F1\u8098\u5F3C\u5FC5"+
-        "\u7562\u7B46\u903C\u6867\u59EB\u5A9B\u7D10\u767E"+
-        "\u8B2C\u4FF5\u5F6A\u6A19\u6C37\u6F02\u74E2\u7968"+
-        "\u8868\u8A55\u8C79\u5EDF\u63CF\u75C5\u79D2\u82D7"+
-        "\u9328\u92F2\u849C\u86ED\u9C2D\u54C1\u5F6C\u658C"+
-        "\u6D5C\u7015\u8CA7\u8CD3\u983B\u654F\u74F6\u4E0D"+
-        "\u4ED8\u57E0\u592B\u5A66\u5BCC\u51A8\u5E03\u5E9C"+
-        "\u6016\u6276\u6577\u65A7\u666E\u6D6E\u7236\u7B26"+
-        "\u8150\u819A\u8299\u8B5C\u8CA0\u8CE6\u8D74\u961C"+
-        "\u9644\u4FAE\u64AB\u6B66\u821E\u8461\u856A\u90E8"+
-        "\u5C01\u6953\u98A8\u847A\u8557\u4F0F\u526F\u5FA9"+
-        "\u5E45\u670D\u798F\u8179\u8907\u8986\u6DF5\u5F17"+
-        "\u6255\u6CB8\u4ECF\u7269\u9B92\u5206\u543B\u5674"+
-        "\u58B3\u61A4\u626E\u711A\u596E\u7C89\u7CDE\u7D1B"+
-        "\u96F0\u6587\u805E\u4E19\u4F75\u5175\u5840\u5E63"+
-        "\u5E73\u5F0A\u67C4\u4E26\u853D\u9589\u965B\u7C73"+
-        "\u9801\u50FB\u58C1\u7656\u78A7\u5225\u77A5\u8511"+
-        "\u7B86\u504F\u5909\u7247\u7BC7\u7DE8\u8FBA\u8FD4"+
-        "\u904D\u4FBF\u52C9\u5A29\u5F01\u97AD\u4FDD\u8217"+
-        "\u92EA\u5703\u6355\u6B69\u752B\u88DC\u8F14\u7A42"+
-        "\u52DF\u5893\u6155\u620A\u66AE\u6BCD\u7C3F\u83E9"+
-        "\u5023\u4FF8\u5305\u5446\u5831\u5949\u5B9D\u5CF0"+
-        "\u5CEF\u5D29\u5E96\u62B1\u6367\u653E\u65B9\u670B"+
-        "\u6CD5\u6CE1\u70F9\u7832\u7E2B\u80DE\u82B3\u840C"+
-        "\u84EC\u8702\u8912\u8A2A\u8C4A\u90A6\u92D2\u98FD"+
-        "\u9CF3\u9D6C\u4E4F\u4EA1\u508D\u5256\u574A\u59A8"+
-        "\u5E3D\u5FD8\u5FD9\u623F\u66B4\u671B\u67D0\u68D2"+
-        "\u5192\u7D21\u80AA\u81A8\u8B00\u8C8C\u8CBF\u927E"+
-        "\u9632\u5420\u982C\u5317\u50D5\u535C\u58A8\u64B2"+
-        "\u6734\u7267\u7766\u7A46\u91E6\u52C3\u6CA1\u6B86"+
-        "\u5800\u5E4C\u5954\u672C\u7FFB\u51E1\u76C6\u6469"+
-        "\u78E8\u9B54\u9EBB\u57CB\u59B9\u6627\u679A\u6BCE"+
-        "\u54E9\u69D9\u5E55\u819C\u6795\u9BAA\u67FE\u9C52"+
-        "\u685D\u4EA6\u4FE3\u53C8\u62B9\u672B\u6CAB\u8FC4"+
-        "\u4FAD\u7E6D\u9EBF\u4E07\u6162\u6E80\u6F2B\u8513"+
-        "\u5473\u672A\u9B45\u5DF3\u7B95\u5CAC\u5BC6\u871C"+
-        "\u6E4A\u84D1\u7A14\u8108\u5999\u7C8D\u6C11\u7720"+
-        "\u52D9\u5922\u7121\u725F\u77DB\u9727\u9D61\u690B"+
-        "\u5A7F\u5A18\u51A5\u540D\u547D\u660E\u76DF\u8FF7"+
-        "\u9298\u9CF4\u59EA\u725D\u6EC5\u514D\u68C9\u7DBF"+
-        "\u7DEC\u9762\u9EBA\u6478\u6A21\u8302\u5984\u5B5F"+
-        "\u6BDB\u731B\u76F2\u7DB2\u8017\u8499\u5132\u6728"+
-        "\u9ED9\u76EE\u6762\u52FF\u9905\u5C24\u623B\u7C7E"+
-        "\u8CB0\u554F\u60B6\u7D0B\u9580\u5301\u4E5F\u51B6"+
-        "\u591C\u723A\u8036\u91CE\u5F25\u77E2\u5384\u5F79"+
-        "\u7D04\u85AC\u8A33\u8E8D\u9756\u67F3\u85AE\u9453"+
-        "\u6109\u6108\u6CB9\u7652\u8AED\u8F38\u552F\u4F51"+
-        "\u512A\u52C7\u53CB\u5BA5\u5E7D\u60A0\u6182\u63D6"+
-        "\u6709\u67DA\u6E67\u6D8C\u7336\u7337\u7531\u7950"+
-        "\u88D5\u8A98\u904A\u9091\u90F5\u96C4\u878D\u5915"+
-        "\u4E88\u4F59\u4E0E\u8A89\u8F3F\u9810\u50AD\u5E7C"+
-        "\u5996\u5BB9\u5EB8\u63DA\u63FA\u64C1\u66DC\u694A"+
-        "\u69D8\u6D0B\u6EB6\u7194\u7528\u7AAF\u7F8A\u8000"+
-        "\u8449\u84C9\u8981\u8B21\u8E0A\u9065\u967D\u990A"+
-        "\u617E\u6291\u6B32\u6C83\u6D74\u7FCC\u7FFC\u6DC0"+
-        "\u7F85\u87BA\u88F8\u6765\u83B1\u983C\u96F7\u6D1B"+
-        "\u7D61\u843D\u916A\u4E71\u5375\u5D50\u6B04\u6FEB"+
-        "\u85CD\u862D\u89A7\u5229\u540F\u5C65\u674E\u68A8"+
-        "\u7406\u7483\u75E2\u88CF\u88E1\u91CC\u96E2\u9678"+
-        "\u5F8B\u7387\u7ACB\u844E\u63A0\u7565\u5289\u6D41"+
-        "\u6E9C\u7409\u7559\u786B\u7C92\u9686\u7ADC\u9F8D"+
-        "\u4FB6\u616E\u65C5\u865C\u4E86\u4EAE\u50DA\u4E21"+
-        "\u51CC\u5BEE\u6599\u6881\u6DBC\u731F\u7642\u77AD"+
-        "\u7A1C\u7CE7\u826F\u8AD2\u907C\u91CF\u9675\u9818"+
-        "\u529B\u7DD1\u502B\u5398\u6797\u6DCB\u71D0\u7433"+
-        "\u81E8\u8F2A\u96A3\u9C57\u9E9F\u7460\u5841\u6D99"+
-        "\u7D2F\u985E\u4EE4\u4F36\u4F8B\u51B7\u52B1\u5DBA"+
-        "\u601C\u73B2\u793C\u82D3\u9234\u96B7\u96F6\u970A"+
-        "\u9E97\u9F62\u66A6\u6B74\u5217\u52A3\u70C8\u88C2"+
-        "\u5EC9\u604B\u6190\u6F23\u7149\u7C3E\u7DF4\u806F"+
-        "\u84EE\u9023\u932C\u5442\u9B6F\u6AD3\u7089\u8CC2"+
-        "\u8DEF\u9732\u52B4\u5A41\u5ECA\u5F04\u6717\u697C"+
-        "\u6994\u6D6A\u6F0F\u7262\u72FC\u7BED\u8001\u807E"+
-        "\u874B\u90CE\u516D\u9E93\u7984\u808B\u9332\u8AD6"+
-        "\u502D\u548C\u8A71\u6B6A\u8CC4\u8107\u60D1\u67A0"+
-        "\u9DF2\u4E99\u4E98\u9C10\u8A6B\u85C1\u8568\u6900"+
-        "\u6E7E\u7897\u8155\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u5F0C\u4E10"+
-        "\u4E15\u4E2A\u4E31\u4E36\u4E3C\u4E3F\u4E42\u4E56"+
-        "\u4E58\u4E82\u4E85\u8C6B\u4E8A\u8212\u5F0D\u4E8E"+
-        "\u4E9E\u4E9F\u4EA0\u4EA2\u4EB0\u4EB3\u4EB6\u4ECE"+
-        "\u4ECD\u4EC4\u4EC6\u4EC2\u4ED7\u4EDE\u4EED\u4EDF"+
-        "\u4EF7\u4F09\u4F5A\u4F30\u4F5B\u4F5D\u4F57\u4F47"+
-        "\u4F76\u4F88\u4F8F\u4F98\u4F7B\u4F69\u4F70\u4F91"+
-        "\u4F6F\u4F86\u4F96\u5118\u4FD4\u4FDF\u4FCE\u4FD8"+
-        "\u4FDB\u4FD1\u4FDA\u4FD0\u4FE4\u4FE5\u501A\u5028"+
-        "\u5014\u502A\u5025\u5005\u4F1C\u4FF6\u5021\u5029"+
-        "\u502C\u4FFE\u4FEF\u5011\u5006\u5043\u5047\u6703"+
-        "\u5055\u5050\u5048\u505A\u5056\u506C\u5078\u5080"+
-        "\u509A\u5085\u50B4\u50B2\u50C9\u50CA\u50B3\u50C2"+
-        "\u50D6\u50DE\u50E5\u50ED\u50E3\u50EE\u50F9\u50F5"+
-        "\u5109\u5101\u5102\u5116\u5115\u5114\u511A\u5121"+
-        "\u513A\u5137\u513C\u513B\u513F\u5140\u5152\u514C"+
-        "\u5154\u5162\u7AF8\u5169\u516A\u516E\u5180\u5182"+
-        "\u56D8\u518C\u5189\u518F\u5191\u5193\u5195\u5196"+
-        "\u51A4\u51A6\u51A2\u51A9\u51AA\u51AB\u51B3\u51B1"+
-        "\u51B2\u51B0\u51B5\u51BD\u51C5\u51C9\u51DB\u51E0"+
-        "\u8655\u51E9\u51ED\u51F0\u51F5\u51FE\u5204\u520B"+
-        "\u5214\u520E\u5227\u522A\u522E\u5233\u5239\u524F"+
-        "\u5244\u524B\u524C\u525E\u5254\u526A\u5274\u5269"+
-        "\u5273\u527F\u527D\u528D\u5294\u5292\u5271\u5288"+
-        "\u5291\u8FA8\u8FA7\u52AC\u52AD\u52BC\u52B5\u52C1"+
-        "\u52CD\u52D7\u52DE\u52E3\u52E6\u98ED\u52E0\u52F3"+
-        "\u52F5\u52F8\u52F9\u5306\u5308\u7538\u530D\u5310"+
-        "\u530F\u5315\u531A\u5323\u532F\u5331\u5333\u5338"+
-        "\u5340\u5346\u5345\u4E17\u5349\u534D\u51D6\u535E"+
-        "\u5369\u536E\u5918\u537B\u5377\u5382\u5396\u53A0"+
-        "\u53A6\u53A5\u53AE\u53B0\u53B6\u53C3\u7C12\u96D9"+
-        "\u53DF\u66FC\u71EE\u53EE\u53E8\u53ED\u53FA\u5401"+
-        "\u543D\u5440\u542C\u542D\u543C\u542E\u5436\u5429"+
-        "\u541D\u544E\u548F\u5475\u548E\u545F\u5471\u5477"+
-        "\u5470\u5492\u547B\u5480\u5476\u5484\u5490\u5486"+
-        "\u54C7\u54A2\u54B8\u54A5\u54AC\u54C4\u54C8\u54A8"+
-        "\u54AB\u54C2\u54A4\u54BE\u54BC\u54D8\u54E5\u54E6"+
-        "\u550F\u5514\u54FD\u54EE\u54ED\u54FA\u54E2\u5539"+
-        "\u5540\u5563\u554C\u552E\u555C\u5545\u5556\u5557"+
-        "\u5538\u5533\u555D\u5599\u5580\u54AF\u558A\u559F"+
-        "\u557B\u557E\u5598\u559E\u55AE\u557C\u5583\u55A9"+
-        "\u5587\u55A8\u55DA\u55C5\u55DF\u55C4\u55DC\u55E4"+
-        "\u55D4\u5614\u55F7\u5616\u55FE\u55FD\u561B\u55F9"+
-        "\u564E\u5650\u71DF\u5634\u5636\u5632\u5638\u566B"+
-        "\u5664\u562F\u566C\u566A\u5686\u5680\u568A\u56A0"+
-        "\u5694\u568F\u56A5\u56AE\u56B6\u56B4\u56C2\u56BC"+
-        "\u56C1\u56C3\u56C0\u56C8\u56CE\u56D1\u56D3\u56D7"+
-        "\u56EE\u56F9\u5700\u56FF\u5704\u5709\u5708\u570B"+
-        "\u570D\u5713\u5718\u5716\u55C7\u571C\u5726\u5737"+
-        "\u5738\u574E\u573B\u5740\u574F\u5769\u57C0\u5788"+
-        "\u5761\u577F\u5789\u5793\u57A0\u57B3\u57A4\u57AA"+
-        "\u57B0\u57C3\u57C6\u57D4\u57D2\u57D3\u580A\u57D6"+
-        "\u57E3\u580B\u5819\u581D\u5872\u5821\u5862\u584B"+
-        "\u5870\u6BC0\u5852\u583D\u5879\u5885\u58B9\u589F"+
-        "\u58AB\u58BA\u58DE\u58BB\u58B8\u58AE\u58C5\u58D3"+
-        "\u58D1\u58D7\u58D9\u58D8\u58E5\u58DC\u58E4\u58DF"+
-        "\u58EF\u58FA\u58F9\u58FB\u58FC\u58FD\u5902\u590A"+
-        "\u5910\u591B\u68A6\u5925\u592C\u592D\u5932\u5938"+
-        "\u593E\u7AD2\u5955\u5950\u594E\u595A\u5958\u5962"+
-        "\u5960\u5967\u596C\u5969\u5978\u5981\u599D\u4F5E"+
-        "\u4FAB\u59A3\u59B2\u59C6\u59E8\u59DC\u598D\u59D9"+
-        "\u59DA\u5A25\u5A1F\u5A11\u5A1C\u5A09\u5A1A\u5A40"+
-        "\u5A6C\u5A49\u5A35\u5A36\u5A62\u5A6A\u5A9A\u5ABC"+
-        "\u5ABE\u5ACB\u5AC2\u5ABD\u5AE3\u5AD7\u5AE6\u5AE9"+
-        "\u5AD6\u5AFA\u5AFB\u5B0C\u5B0B\u5B16\u5B32\u5AD0"+
-        "\u5B2A\u5B36\u5B3E\u5B43\u5B45\u5B40\u5B51\u5B55"+
-        "\u5B5A\u5B5B\u5B65\u5B69\u5B70\u5B73\u5B75\u5B78"+
-        "\u6588\u5B7A\u5B80\u5B83\u5BA6\u5BB8\u5BC3\u5BC7"+
-        "\u5BC9\u5BD4\u5BD0\u5BE4\u5BE6\u5BE2\u5BDE\u5BE5"+
-        "\u5BEB\u5BF0\u5BF6\u5BF3\u5C05\u5C07\u5C08\u5C0D"+
-        "\u5C13\u5C20\u5C22\u5C28\u5C38\u5C39\u5C41\u5C46"+
-        "\u5C4E\u5C53\u5C50\u5C4F\u5B71\u5C6C\u5C6E\u4E62"+
-        "\u5C76\u5C79\u5C8C\u5C91\u5C94\u599B\u5CAB\u5CBB"+
-        "\u5CB6\u5CBC\u5CB7\u5CC5\u5CBE\u5CC7\u5CD9\u5CE9"+
-        "\u5CFD\u5CFA\u5CED\u5D8C\u5CEA\u5D0B\u5D15\u5D17"+
-        "\u5D5C\u5D1F\u5D1B\u5D11\u5D14\u5D22\u5D1A\u5D19"+
-        "\u5D18\u5D4C\u5D52\u5D4E\u5D4B\u5D6C\u5D73\u5D76"+
-        "\u5D87\u5D84\u5D82\u5DA2\u5D9D\u5DAC\u5DAE\u5DBD"+
-        "\u5D90\u5DB7\u5DBC\u5DC9\u5DCD\u5DD3\u5DD2\u5DD6"+
-        "\u5DDB\u5DEB\u5DF2\u5DF5\u5E0B\u5E1A\u5E19\u5E11"+
-        "\u5E1B\u5E36\u5E37\u5E44\u5E43\u5E40\u5E4E\u5E57"+
-        "\u5E54\u5E5F\u5E62\u5E64\u5E47\u5E75\u5E76\u5E7A"+
-        "\u9EBC\u5E7F\u5EA0\u5EC1\u5EC2\u5EC8\u5ED0\u5ECF";
-
-    private final static String innerIndex3=
-        "\u5ED6\u5EE3\u5EDD\u5EDA\u5EDB\u5EE2\u5EE1\u5EE8"+
-        "\u5EE9\u5EEC\u5EF1\u5EF3\u5EF0\u5EF4\u5EF8\u5EFE"+
-        "\u5F03\u5F09\u5F5D\u5F5C\u5F0B\u5F11\u5F16\u5F29"+
-        "\u5F2D\u5F38\u5F41\u5F48\u5F4C\u5F4E\u5F2F\u5F51"+
-        "\u5F56\u5F57\u5F59\u5F61\u5F6D\u5F73\u5F77\u5F83"+
-        "\u5F82\u5F7F\u5F8A\u5F88\u5F91\u5F87\u5F9E\u5F99"+
-        "\u5F98\u5FA0\u5FA8\u5FAD\u5FBC\u5FD6\u5FFB\u5FE4"+
-        "\u5FF8\u5FF1\u5FDD\u60B3\u5FFF\u6021\u6060\u6019"+
-        "\u6010\u6029\u600E\u6031\u601B\u6015\u602B\u6026"+
-        "\u600F\u603A\u605A\u6041\u606A\u6077\u605F\u604A"+
-        "\u6046\u604D\u6063\u6043\u6064\u6042\u606C\u606B"+
-        "\u6059\u6081\u608D\u60E7\u6083\u609A\u6084\u609B"+
-        "\u6096\u6097\u6092\u60A7\u608B\u60E1\u60B8\u60E0"+
-        "\u60D3\u60B4\u5FF0\u60BD\u60C6\u60B5\u60D8\u614D"+
-        "\u6115\u6106\u60F6\u60F7\u6100\u60F4\u60FA\u6103"+
-        "\u6121\u60FB\u60F1\u610D\u610E\u6147\u613E\u6128"+
-        "\u6127\u614A\u613F\u613C\u612C\u6134\u613D\u6142"+
-        "\u6144\u6173\u6177\u6158\u6159\u615A\u616B\u6174"+
-        "\u616F\u6165\u6171\u615F\u615D\u6153\u6175\u6199"+
-        "\u6196\u6187\u61AC\u6194\u619A\u618A\u6191\u61AB"+
-        "\u61AE\u61CC\u61CA\u61C9\u61F7\u61C8\u61C3\u61C6"+
-        "\u61BA\u61CB\u7F79\u61CD\u61E6\u61E3\u61F6\u61FA"+
-        "\u61F4\u61FF\u61FD\u61FC\u61FE\u6200\u6208\u6209"+
-        "\u620D\u620C\u6214\u621B\u621E\u6221\u622A\u622E"+
-        "\u6230\u6232\u6233\u6241\u624E\u625E\u6263\u625B"+
-        "\u6260\u6268\u627C\u6282\u6289\u627E\u6292\u6293"+
-        "\u6296\u62D4\u6283\u6294\u62D7\u62D1\u62BB\u62CF"+
-        "\u62FF\u62C6\u64D4\u62C8\u62DC\u62CC\u62CA\u62C2"+
-        "\u62C7\u629B\u62C9\u630C\u62EE\u62F1\u6327\u6302"+
-        "\u6308\u62EF\u62F5\u6350\u633E\u634D\u641C\u634F"+
-        "\u6396\u638E\u6380\u63AB\u6376\u63A3\u638F\u6389"+
-        "\u639F\u63B5\u636B\u6369\u63BE\u63E9\u63C0\u63C6"+
-        "\u63E3\u63C9\u63D2\u63F6\u63C4\u6416\u6434\u6406"+
-        "\u6413\u6426\u6436\u651D\u6417\u6428\u640F\u6467"+
-        "\u646F\u6476\u644E\u652A\u6495\u6493\u64A5\u64A9"+
-        "\u6488\u64BC\u64DA\u64D2\u64C5\u64C7\u64BB\u64D8"+
-        "\u64C2\u64F1\u64E7\u8209\u64E0\u64E1\u62AC\u64E3"+
-        "\u64EF\u652C\u64F6\u64F4\u64F2\u64FA\u6500\u64FD"+
-        "\u6518\u651C\u6505\u6524\u6523\u652B\u6534\u6535"+
-        "\u6537\u6536\u6538\u754B\u6548\u6556\u6555\u654D"+
-        "\u6558\u655E\u655D\u6572\u6578\u6582\u6583\u8B8A"+
-        "\u659B\u659F\u65AB\u65B7\u65C3\u65C6\u65C1\u65C4"+
-        "\u65CC\u65D2\u65DB\u65D9\u65E0\u65E1\u65F1\u6772"+
-        "\u660A\u6603\u65FB\u6773\u6635\u6636\u6634\u661C"+
-        "\u664F\u6644\u6649\u6641\u665E\u665D\u6664\u6667"+
-        "\u6668\u665F\u6662\u6670\u6683\u6688\u668E\u6689"+
-        "\u6684\u6698\u669D\u66C1\u66B9\u66C9\u66BE\u66BC"+
-        "\u66C4\u66B8\u66D6\u66DA\u66E0\u663F\u66E6\u66E9"+
-        "\u66F0\u66F5\u66F7\u670F\u6716\u671E\u6726\u6727"+
-        "\u9738\u672E\u673F\u6736\u6741\u6738\u6737\u6746"+
-        "\u675E\u6760\u6759\u6763\u6764\u6789\u6770\u67A9"+
-        "\u677C\u676A\u678C\u678B\u67A6\u67A1\u6785\u67B7"+
-        "\u67EF\u67B4\u67EC\u67B3\u67E9\u67B8\u67E4\u67DE"+
-        "\u67DD\u67E2\u67EE\u67B9\u67CE\u67C6\u67E7\u6A9C"+
-        "\u681E\u6846\u6829\u6840\u684D\u6832\u684E\u68B3"+
-        "\u682B\u6859\u6863\u6877\u687F\u689F\u688F\u68AD"+
-        "\u6894\u689D\u689B\u6883\u6AAE\u68B9\u6874\u68B5"+
-        "\u68A0\u68BA\u690F\u688D\u687E\u6901\u68CA\u6908"+
-        "\u68D8\u6922\u6926\u68E1\u690C\u68CD\u68D4\u68E7"+
-        "\u68D5\u6936\u6912\u6904\u68D7\u68E3\u6925\u68F9"+
-        "\u68E0\u68EF\u6928\u692A\u691A\u6923\u6921\u68C6"+
-        "\u6979\u6977\u695C\u6978\u696B\u6954\u697E\u696E"+
-        "\u6939\u6974\u693D\u6959\u6930\u6961\u695E\u695D"+
-        "\u6981\u696A\u69B2\u69AE\u69D0\u69BF\u69C1\u69D3"+
-        "\u69BE\u69CE\u5BE8\u69CA\u69DD\u69BB\u69C3\u69A7"+
-        "\u6A2E\u6991\u69A0\u699C\u6995\u69B4\u69DE\u69E8"+
-        "\u6A02\u6A1B\u69FF\u6B0A\u69F9\u69F2\u69E7\u6A05"+
-        "\u69B1\u6A1E\u69ED\u6A14\u69EB\u6A0A\u6A12\u6AC1"+
-        "\u6A23\u6A13\u6A44\u6A0C\u6A72\u6A36\u6A78\u6A47"+
-        "\u6A62\u6A59\u6A66\u6A48\u6A38\u6A22\u6A90\u6A8D"+
-        "\u6AA0\u6A84\u6AA2\u6AA3\u6A97\u8617\u6ABB\u6AC3"+
-        "\u6AC2\u6AB8\u6AB3\u6AAC\u6ADE\u6AD1\u6ADF\u6AAA"+
-        "\u6ADA\u6AEA\u6AFB\u6B05\u8616\u6AFA\u6B12\u6B16"+
-        "\u9B31\u6B1F\u6B38\u6B37\u76DC\u6B39\u98EE\u6B47"+
-        "\u6B43\u6B49\u6B50\u6B59\u6B54\u6B5B\u6B5F\u6B61"+
-        "\u6B78\u6B79\u6B7F\u6B80\u6B84\u6B83\u6B8D\u6B98"+
-        "\u6B95\u6B9E\u6BA4\u6BAA\u6BAB\u6BAF\u6BB2\u6BB1"+
-        "\u6BB3\u6BB7\u6BBC\u6BC6\u6BCB\u6BD3\u6BDF\u6BEC"+
-        "\u6BEB\u6BF3\u6BEF\u9EBE\u6C08\u6C13\u6C14\u6C1B"+
-        "\u6C24\u6C23\u6C5E\u6C55\u6C62\u6C6A\u6C82\u6C8D"+
-        "\u6C9A\u6C81\u6C9B\u6C7E\u6C68\u6C73\u6C92\u6C90"+
-        "\u6CC4\u6CF1\u6CD3\u6CBD\u6CD7\u6CC5\u6CDD\u6CAE"+
-        "\u6CB1\u6CBE\u6CBA\u6CDB\u6CEF\u6CD9\u6CEA\u6D1F"+
-        "\u884D\u6D36\u6D2B\u6D3D\u6D38\u6D19\u6D35\u6D33"+
-        "\u6D12\u6D0C\u6D63\u6D93\u6D64\u6D5A\u6D79\u6D59"+
-        "\u6D8E\u6D95\u6FE4\u6D85\u6DF9\u6E15\u6E0A\u6DB5"+
-        "\u6DC7\u6DE6\u6DB8\u6DC6\u6DEC\u6DDE\u6DCC\u6DE8"+
-        "\u6DD2\u6DC5\u6DFA\u6DD9\u6DE4\u6DD5\u6DEA\u6DEE"+
-        "\u6E2D\u6E6E\u6E2E\u6E19\u6E72\u6E5F\u6E3E\u6E23"+
-        "\u6E6B\u6E2B\u6E76\u6E4D\u6E1F\u6E43\u6E3A\u6E4E"+
-        "\u6E24\u6EFF\u6E1D\u6E38\u6E82\u6EAA\u6E98\u6EC9"+
-        "\u6EB7\u6ED3\u6EBD\u6EAF\u6EC4\u6EB2\u6ED4\u6ED5"+
-        "\u6E8F\u6EA5\u6EC2\u6E9F\u6F41\u6F11\u704C\u6EEC"+
-        "\u6EF8\u6EFE\u6F3F\u6EF2\u6F31\u6EEF\u6F32\u6ECC"+
-        "\u6F3E\u6F13\u6EF7\u6F86\u6F7A\u6F78\u6F81\u6F80"+
-        "\u6F6F\u6F5B\u6FF3\u6F6D\u6F82\u6F7C\u6F58\u6F8E"+
-        "\u6F91\u6FC2\u6F66\u6FB3\u6FA3\u6FA1\u6FA4\u6FB9"+
-        "\u6FC6\u6FAA\u6FDF\u6FD5\u6FEC\u6FD4\u6FD8\u6FF1"+
-        "\u6FEE\u6FDB\u7009\u700B\u6FFA\u7011\u7001\u700F"+
-        "\u6FFE\u701B\u701A\u6F74\u701D\u7018\u701F\u7030"+
-        "\u703E\u7032\u7051\u7063\u7099\u7092\u70AF\u70F1"+
-        "\u70AC\u70B8\u70B3\u70AE\u70DF\u70CB\u70DD\u70D9"+
-        "\u7109\u70FD\u711C\u7119\u7165\u7155\u7188\u7166"+
-        "\u7162\u714C\u7156\u716C\u718F\u71FB\u7184\u7195"+
-        "\u71A8\u71AC\u71D7\u71B9\u71BE\u71D2\u71C9\u71D4"+
-        "\u71CE\u71E0\u71EC\u71E7\u71F5\u71FC\u71F9\u71FF"+
-        "\u720D\u7210\u721B\u7228\u722D\u722C\u7230\u7232"+
-        "\u723B\u723C\u723F\u7240\u7246\u724B\u7258\u7274"+
-        "\u727E\u7282\u7281\u7287\u7292\u7296\u72A2\u72A7"+
-        "\u72B9\u72B2\u72C3\u72C6\u72C4\u72CE\u72D2\u72E2"+
-        "\u72E0\u72E1\u72F9\u72F7\u500F\u7317\u730A\u731C"+
-        "\u7316\u731D\u7334\u732F\u7329\u7325\u733E\u734E"+
-        "\u734F\u9ED8\u7357\u736A\u7368\u7370\u7378\u7375"+
-        "\u737B\u737A\u73C8\u73B3\u73CE\u73BB\u73C0\u73E5"+
-        "\u73EE\u73DE\u74A2\u7405\u746F\u7425\u73F8\u7432"+
-        "\u743A\u7455\u743F\u745F\u7459\u7441\u745C\u7469"+
-        "\u7470\u7463\u746A\u7476\u747E\u748B\u749E\u74A7"+
-        "\u74CA\u74CF\u74D4\u73F1\u74E0\u74E3\u74E7\u74E9"+
-        "\u74EE\u74F2\u74F0\u74F1\u74F8\u74F7\u7504\u7503"+
-        "\u7505\u750C\u750E\u750D\u7515\u7513\u751E\u7526"+
-        "\u752C\u753C\u7544\u754D\u754A\u7549\u755B\u7546"+
-        "\u755A\u7569\u7564\u7567\u756B\u756D\u7578\u7576"+
-        "\u7586\u7587\u7574\u758A\u7589\u7582\u7594\u759A"+
-        "\u759D\u75A5\u75A3\u75C2\u75B3\u75C3\u75B5\u75BD"+
-        "\u75B8\u75BC\u75B1\u75CD\u75CA\u75D2\u75D9\u75E3"+
-        "\u75DE\u75FE\u75FF\u75FC\u7601\u75F0\u75FA\u75F2"+
-        "\u75F3\u760B\u760D\u7609\u761F\u7627\u7620\u7621"+
-        "\u7622\u7624\u7634\u7630\u763B\u7647\u7648\u7646"+
-        "\u765C\u7658\u7661\u7662\u7668\u7669\u766A\u7667"+
-        "\u766C\u7670\u7672\u7676\u7678\u767C\u7680\u7683"+
-        "\u7688\u768B\u768E\u7696\u7693\u7699\u769A\u76B0"+
-        "\u76B4\u76B8\u76B9\u76BA\u76C2\u76CD\u76D6\u76D2"+
-        "\u76DE\u76E1\u76E5\u76E7\u76EA\u862F\u76FB\u7708"+
-        "\u7707\u7704\u7729\u7724\u771E\u7725\u7726\u771B"+
-        "\u7737\u7738\u7747\u775A\u7768\u776B\u775B\u7765"+
-        "\u777F\u777E\u7779\u778E\u778B\u7791\u77A0\u779E"+
-        "\u77B0\u77B6\u77B9\u77BF\u77BC\u77BD\u77BB\u77C7"+
-        "\u77CD\u77D7\u77DA\u77DC\u77E3\u77EE\u77FC\u780C"+
-        "\u7812\u7926\u7820\u792A\u7845\u788E\u7874\u7886"+
-        "\u787C\u789A\u788C\u78A3\u78B5\u78AA\u78AF\u78D1"+
-        "\u78C6\u78CB\u78D4\u78BE\u78BC\u78C5\u78CA\u78EC"+
-        "\u78E7\u78DA\u78FD\u78F4\u7907\u7912\u7911\u7919"+
-        "\u792C\u792B\u7940\u7960\u7957\u795F\u795A\u7955"+
-        "\u7953\u797A\u797F\u798A\u799D\u79A7\u9F4B\u79AA"+
-        "\u79AE\u79B3\u79B9\u79BA\u79C9\u79D5\u79E7\u79EC"+
-        "\u79E1\u79E3\u7A08\u7A0D\u7A18\u7A19\u7A20\u7A1F"+
-        "\u7980\u7A31\u7A3B\u7A3E\u7A37\u7A43\u7A57\u7A49"+
-        "\u7A61\u7A62\u7A69\u9F9D\u7A70\u7A79\u7A7D\u7A88"+
-        "\u7A97\u7A95\u7A98\u7A96\u7AA9\u7AC8\u7AB0\u7AB6"+
-        "\u7AC5\u7AC4\u7ABF\u9083\u7AC7\u7ACA\u7ACD\u7ACF"+
-        "\u7AD5\u7AD3\u7AD9\u7ADA\u7ADD\u7AE1\u7AE2\u7AE6"+
-        "\u7AED\u7AF0\u7B02\u7B0F\u7B0A\u7B06\u7B33\u7B18"+
-        "\u7B19\u7B1E\u7B35\u7B28\u7B36\u7B50\u7B7A\u7B04"+
-        "\u7B4D\u7B0B\u7B4C\u7B45\u7B75\u7B65\u7B74\u7B67"+
-        "\u7B70\u7B71\u7B6C\u7B6E\u7B9D\u7B98\u7B9F\u7B8D"+
-        "\u7B9C\u7B9A\u7B8B\u7B92\u7B8F\u7B5D\u7B99\u7BCB"+
-        "\u7BC1\u7BCC\u7BCF\u7BB4\u7BC6\u7BDD\u7BE9\u7C11"+
-        "\u7C14\u7BE6\u7BE5\u7C60\u7C00\u7C07\u7C13\u7BF3"+
-        "\u7BF7\u7C17\u7C0D\u7BF6\u7C23\u7C27\u7C2A\u7C1F"+
-        "\u7C37\u7C2B\u7C3D\u7C4C\u7C43\u7C54\u7C4F\u7C40"+
-        "\u7C50\u7C58\u7C5F\u7C64\u7C56\u7C65\u7C6C\u7C75"+
-        "\u7C83\u7C90\u7CA4\u7CAD\u7CA2\u7CAB\u7CA1\u7CA8"+
-        "\u7CB3\u7CB2\u7CB1\u7CAE\u7CB9\u7CBD\u7CC0\u7CC5"+
-        "\u7CC2\u7CD8\u7CD2\u7CDC\u7CE2\u9B3B\u7CEF\u7CF2"+
-        "\u7CF4\u7CF6\u7CFA\u7D06\u7D02\u7D1C\u7D15\u7D0A"+
-        "\u7D45\u7D4B\u7D2E\u7D32\u7D3F\u7D35\u7D46\u7D73"+
-        "\u7D56\u7D4E\u7D72\u7D68\u7D6E\u7D4F\u7D63\u7D93"+
-        "\u7D89\u7D5B\u7D8F\u7D7D\u7D9B\u7DBA\u7DAE\u7DA3"+
-        "\u7DB5\u7DC7\u7DBD\u7DAB\u7E3D\u7DA2\u7DAF\u7DDC"+
-        "\u7DB8\u7D9F\u7DB0\u7DD8\u7DDD\u7DE4\u7DDE\u7DFB"+
-        "\u7DF2\u7DE1\u7E05\u7E0A\u7E23\u7E21\u7E12\u7E31"+
-        "\u7E1F\u7E09\u7E0B\u7E22\u7E46\u7E66\u7E3B\u7E35"+
-        "\u7E39\u7E43\u7E37\u7E32\u7E3A\u7E67\u7E5D\u7E56"+
-        "\u7E5E\u7E59\u7E5A\u7E79\u7E6A\u7E69\u7E7C\u7E7B"+
-        "\u7E83\u7DD5\u7E7D\u8FAE\u7E7F\u7E88\u7E89\u7E8C"+
-        "\u7E92\u7E90\u7E93\u7E94\u7E96\u7E8E\u7E9B\u7E9C"+
-        "\u7F38\u7F3A\u7F45\u7F4C\u7F4D\u7F4E\u7F50\u7F51"+
-        "\u7F55\u7F54\u7F58\u7F5F\u7F60\u7F68\u7F69\u7F67"+
-        "\u7F78\u7F82\u7F86\u7F83\u7F88\u7F87\u7F8C\u7F94"+
-        "\u7F9E\u7F9D\u7F9A\u7FA3\u7FAF\u7FB2\u7FB9\u7FAE"+
-        "\u7FB6\u7FB8\u8B71\u7FC5\u7FC6\u7FCA\u7FD5\u7FD4"+
-        "\u7FE1\u7FE6\u7FE9\u7FF3\u7FF9\u98DC\u8006\u8004"+
-        "\u800B\u8012\u8018\u8019\u801C\u8021\u8028\u803F"+
-        "\u803B\u804A\u8046\u8052\u8058\u805A\u805F\u8062"+
-        "\u8068\u8073\u8072\u8070\u8076\u8079\u807D\u807F"+
-        "\u8084\u8086\u8085\u809B\u8093\u809A\u80AD\u5190"+
-        "\u80AC\u80DB\u80E5\u80D9\u80DD\u80C4\u80DA\u80D6"+
-        "\u8109\u80EF\u80F1\u811B\u8129\u8123\u812F\u814B";
-
-    private final static String innerIndex4=
-        "\u968B\u8146\u813E\u8153\u8151\u80FC\u8171\u816E"+
-        "\u8165\u8166\u8174\u8183\u8188\u818A\u8180\u8182"+
-        "\u81A0\u8195\u81A4\u81A3\u815F\u8193\u81A9\u81B0"+
-        "\u81B5\u81BE\u81B8\u81BD\u81C0\u81C2\u81BA\u81C9"+
-        "\u81CD\u81D1\u81D9\u81D8\u81C8\u81DA\u81DF\u81E0"+
-        "\u81E7\u81FA\u81FB\u81FE\u8201\u8202\u8205\u8207"+
-        "\u820A\u820D\u8210\u8216\u8229\u822B\u8238\u8233"+
-        "\u8240\u8259\u8258\u825D\u825A\u825F\u8264\u8262"+
-        "\u8268\u826A\u826B\u822E\u8271\u8277\u8278\u827E"+
-        "\u828D\u8292\u82AB\u829F\u82BB\u82AC\u82E1\u82E3"+
-        "\u82DF\u82D2\u82F4\u82F3\u82FA\u8393\u8303\u82FB"+
-        "\u82F9\u82DE\u8306\u82DC\u8309\u82D9\u8335\u8334"+
-        "\u8316\u8332\u8331\u8340\u8339\u8350\u8345\u832F"+
-        "\u832B\u8317\u8318\u8385\u839A\u83AA\u839F\u83A2"+
-        "\u8396\u8323\u838E\u8387\u838A\u837C\u83B5\u8373"+
-        "\u8375\u83A0\u8389\u83A8\u83F4\u8413\u83EB\u83CE"+
-        "\u83FD\u8403\u83D8\u840B\u83C1\u83F7\u8407\u83E0"+
-        "\u83F2\u840D\u8422\u8420\u83BD\u8438\u8506\u83FB"+
-        "\u846D\u842A\u843C\u855A\u8484\u8477\u846B\u84AD"+
-        "\u846E\u8482\u8469\u8446\u842C\u846F\u8479\u8435"+
-        "\u84CA\u8462\u84B9\u84BF\u849F\u84D9\u84CD\u84BB"+
-        "\u84DA\u84D0\u84C1\u84C6\u84D6\u84A1\u8521\u84FF"+
-        "\u84F4\u8517\u8518\u852C\u851F\u8515\u8514\u84FC"+
-        "\u8540\u8563\u8558\u8548\u8541\u8602\u854B\u8555"+
-        "\u8580\u85A4\u8588\u8591\u858A\u85A8\u856D\u8594"+
-        "\u859B\u85EA\u8587\u859C\u8577\u857E\u8590\u85C9"+
-        "\u85BA\u85CF\u85B9\u85D0\u85D5\u85DD\u85E5\u85DC"+
-        "\u85F9\u860A\u8613\u860B\u85FE\u85FA\u8606\u8622"+
-        "\u861A\u8630\u863F\u864D\u4E55\u8654\u865F\u8667"+
-        "\u8671\u8693\u86A3\u86A9\u86AA\u868B\u868C\u86B6"+
-        "\u86AF\u86C4\u86C6\u86B0\u86C9\u8823\u86AB\u86D4"+
-        "\u86DE\u86E9\u86EC\u86DF\u86DB\u86EF\u8712\u8706"+
-        "\u8708\u8700\u8703\u86FB\u8711\u8709\u870D\u86F9"+
-        "\u870A\u8734\u873F\u8737\u873B\u8725\u8729\u871A"+
-        "\u8760\u875F\u8778\u874C\u874E\u8774\u8757\u8768"+
-        "\u876E\u8759\u8753\u8763\u876A\u8805\u87A2\u879F"+
-        "\u8782\u87AF\u87CB\u87BD\u87C0\u87D0\u96D6\u87AB"+
-        "\u87C4\u87B3\u87C7\u87C6\u87BB\u87EF\u87F2\u87E0"+
-        "\u880F\u880D\u87FE\u87F6\u87F7\u880E\u87D2\u8811"+
-        "\u8816\u8815\u8822\u8821\u8831\u8836\u8839\u8827"+
-        "\u883B\u8844\u8842\u8852\u8859\u885E\u8862\u886B"+
-        "\u8881\u887E\u889E\u8875\u887D\u88B5\u8872\u8882"+
-        "\u8897\u8892\u88AE\u8899\u88A2\u888D\u88A4\u88B0"+
-        "\u88BF\u88B1\u88C3\u88C4\u88D4\u88D8\u88D9\u88DD"+
-        "\u88F9\u8902\u88FC\u88F4\u88E8\u88F2\u8904\u890C"+
-        "\u890A\u8913\u8943\u891E\u8925\u892A\u892B\u8941"+
-        "\u8944\u893B\u8936\u8938\u894C\u891D\u8960\u895E"+
-        "\u8966\u8964\u896D\u896A\u896F\u8974\u8977\u897E"+
-        "\u8983\u8988\u898A\u8993\u8998\u89A1\u89A9\u89A6"+
-        "\u89AC\u89AF\u89B2\u89BA\u89BD\u89BF\u89C0\u89DA"+
-        "\u89DC\u89DD\u89E7\u89F4\u89F8\u8A03\u8A16\u8A10"+
-        "\u8A0C\u8A1B\u8A1D\u8A25\u8A36\u8A41\u8A5B\u8A52"+
-        "\u8A46\u8A48\u8A7C\u8A6D\u8A6C\u8A62\u8A85\u8A82"+
-        "\u8A84\u8AA8\u8AA1\u8A91\u8AA5\u8AA6\u8A9A\u8AA3"+
-        "\u8AC4\u8ACD\u8AC2\u8ADA\u8AEB\u8AF3\u8AE7\u8AE4"+
-        "\u8AF1\u8B14\u8AE0\u8AE2\u8AF7\u8ADE\u8ADB\u8B0C"+
-        "\u8B07\u8B1A\u8AE1\u8B16\u8B10\u8B17\u8B20\u8B33"+
-        "\u97AB\u8B26\u8B2B\u8B3E\u8B28\u8B41\u8B4C\u8B4F"+
-        "\u8B4E\u8B49\u8B56\u8B5B\u8B5A\u8B6B\u8B5F\u8B6C"+
-        "\u8B6F\u8B74\u8B7D\u8B80\u8B8C\u8B8E\u8B92\u8B93"+
-        "\u8B96\u8B99\u8B9A\u8C3A\u8C41\u8C3F\u8C48\u8C4C"+
-        "\u8C4E\u8C50\u8C55\u8C62\u8C6C\u8C78\u8C7A\u8C82"+
-        "\u8C89\u8C85\u8C8A\u8C8D\u8C8E\u8C94\u8C7C\u8C98"+
-        "\u621D\u8CAD\u8CAA\u8CBD\u8CB2\u8CB3\u8CAE\u8CB6"+
-        "\u8CC8\u8CC1\u8CE4\u8CE3\u8CDA\u8CFD\u8CFA\u8CFB"+
-        "\u8D04\u8D05\u8D0A\u8D07\u8D0F\u8D0D\u8D10\u9F4E"+
-        "\u8D13\u8CCD\u8D14\u8D16\u8D67\u8D6D\u8D71\u8D73"+
-        "\u8D81\u8D99\u8DC2\u8DBE\u8DBA\u8DCF\u8DDA\u8DD6"+
-        "\u8DCC\u8DDB\u8DCB\u8DEA\u8DEB\u8DDF\u8DE3\u8DFC"+
-        "\u8E08\u8E09\u8DFF\u8E1D\u8E1E\u8E10\u8E1F\u8E42"+
-        "\u8E35\u8E30\u8E34\u8E4A\u8E47\u8E49\u8E4C\u8E50"+
-        "\u8E48\u8E59\u8E64\u8E60\u8E2A\u8E63\u8E55\u8E76"+
-        "\u8E72\u8E7C\u8E81\u8E87\u8E85\u8E84\u8E8B\u8E8A"+
-        "\u8E93\u8E91\u8E94\u8E99\u8EAA\u8EA1\u8EAC\u8EB0"+
-        "\u8EC6\u8EB1\u8EBE\u8EC5\u8EC8\u8ECB\u8EDB\u8EE3"+
-        "\u8EFC\u8EFB\u8EEB\u8EFE\u8F0A\u8F05\u8F15\u8F12"+
-        "\u8F19\u8F13\u8F1C\u8F1F\u8F1B\u8F0C\u8F26\u8F33"+
-        "\u8F3B\u8F39\u8F45\u8F42\u8F3E\u8F4C\u8F49\u8F46"+
-        "\u8F4E\u8F57\u8F5C\u8F62\u8F63\u8F64\u8F9C\u8F9F"+
-        "\u8FA3\u8FAD\u8FAF\u8FB7\u8FDA\u8FE5\u8FE2\u8FEA"+
-        "\u8FEF\u9087\u8FF4\u9005\u8FF9\u8FFA\u9011\u9015"+
-        "\u9021\u900D\u901E\u9016\u900B\u9027\u9036\u9035"+
-        "\u9039\u8FF8\u904F\u9050\u9051\u9052\u900E\u9049"+
-        "\u903E\u9056\u9058\u905E\u9068\u906F\u9076\u96A8"+
-        "\u9072\u9082\u907D\u9081\u9080\u908A\u9089\u908F"+
-        "\u90A8\u90AF\u90B1\u90B5\u90E2\u90E4\u6248\u90DB"+
-        "\u9102\u9112\u9119\u9132\u9130\u914A\u9156\u9158"+
-        "\u9163\u9165\u9169\u9173\u9172\u918B\u9189\u9182"+
-        "\u91A2\u91AB\u91AF\u91AA\u91B5\u91B4\u91BA\u91C0"+
-        "\u91C1\u91C9\u91CB\u91D0\u91D6\u91DF\u91E1\u91DB"+
-        "\u91FC\u91F5\u91F6\u921E\u91FF\u9214\u922C\u9215"+
-        "\u9211\u925E\u9257\u9245\u9249\u9264\u9248\u9295"+
-        "\u923F\u924B\u9250\u929C\u9296\u9293\u929B\u925A"+
-        "\u92CF\u92B9\u92B7\u92E9\u930F\u92FA\u9344\u932E"+
-        "\u9319\u9322\u931A\u9323\u933A\u9335\u933B\u935C"+
-        "\u9360\u937C\u936E\u9356\u93B0\u93AC\u93AD\u9394"+
-        "\u93B9\u93D6\u93D7\u93E8\u93E5\u93D8\u93C3\u93DD"+
-        "\u93D0\u93C8\u93E4\u941A\u9414\u9413\u9403\u9407"+
-        "\u9410\u9436\u942B\u9435\u9421\u943A\u9441\u9452"+
-        "\u9444\u945B\u9460\u9462\u945E\u946A\u9229\u9470"+
-        "\u9475\u9477\u947D\u945A\u947C\u947E\u9481\u947F"+
-        "\u9582\u9587\u958A\u9594\u9596\u9598\u9599\u95A0"+
-        "\u95A8\u95A7\u95AD\u95BC\u95BB\u95B9\u95BE\u95CA"+
-        "\u6FF6\u95C3\u95CD\u95CC\u95D5\u95D4\u95D6\u95DC"+
-        "\u95E1\u95E5\u95E2\u9621\u9628\u962E\u962F\u9642"+
-        "\u964C\u964F\u964B\u9677\u965C\u965E\u965D\u965F"+
-        "\u9666\u9672\u966C\u968D\u9698\u9695\u9697\u96AA"+
-        "\u96A7\u96B1\u96B2\u96B0\u96B4\u96B6\u96B8\u96B9"+
-        "\u96CE\u96CB\u96C9\u96CD\u894D\u96DC\u970D\u96D5"+
-        "\u96F9\u9704\u9706\u9708\u9713\u970E\u9711\u970F"+
-        "\u9716\u9719\u9724\u972A\u9730\u9739\u973D\u973E"+
-        "\u9744\u9746\u9748\u9742\u9749\u975C\u9760\u9764"+
-        "\u9766\u9768\u52D2\u976B\u9771\u9779\u9785\u977C"+
-        "\u9781\u977A\u9786\u978B\u978F\u9790\u979C\u97A8"+
-        "\u97A6\u97A3\u97B3\u97B4\u97C3\u97C6\u97C8\u97CB"+
-        "\u97DC\u97ED\u9F4F\u97F2\u7ADF\u97F6\u97F5\u980F"+
-        "\u980C\u9838\u9824\u9821\u9837\u983D\u9846\u984F"+
-        "\u984B\u986B\u986F\u9870\u9871\u9874\u9873\u98AA"+
-        "\u98AF\u98B1\u98B6\u98C4\u98C3\u98C6\u98E9\u98EB"+
-        "\u9903\u9909\u9912\u9914\u9918\u9921\u991D\u991E"+
-        "\u9924\u9920\u992C\u992E\u993D\u993E\u9942\u9949"+
-        "\u9945\u9950\u994B\u9951\u9952\u994C\u9955\u9997"+
-        "\u9998\u99A5\u99AD\u99AE\u99BC\u99DF\u99DB\u99DD"+
-        "\u99D8\u99D1\u99ED\u99EE\u99F1\u99F2\u99FB\u99F8"+
-        "\u9A01\u9A0F\u9A05\u99E2\u9A19\u9A2B\u9A37\u9A45"+
-        "\u9A42\u9A40\u9A43\u9A3E\u9A55\u9A4D\u9A5B\u9A57"+
-        "\u9A5F\u9A62\u9A65\u9A64\u9A69\u9A6B\u9A6A\u9AAD"+
-        "\u9AB0\u9ABC\u9AC0\u9ACF\u9AD1\u9AD3\u9AD4\u9ADE"+
-        "\u9ADF\u9AE2\u9AE3\u9AE6\u9AEF\u9AEB\u9AEE\u9AF4"+
-        "\u9AF1\u9AF7\u9AFB\u9B06\u9B18\u9B1A\u9B1F\u9B22"+
-        "\u9B23\u9B25\u9B27\u9B28\u9B29\u9B2A\u9B2E\u9B2F"+
-        "\u9B32\u9B44\u9B43\u9B4F\u9B4D\u9B4E\u9B51\u9B58"+
-        "\u9B74\u9B93\u9B83\u9B91\u9B96\u9B97\u9B9F\u9BA0"+
-        "\u9BA8\u9BB4\u9BC0\u9BCA\u9BB9\u9BC6\u9BCF\u9BD1"+
-        "\u9BD2\u9BE3\u9BE2\u9BE4\u9BD4\u9BE1\u9C3A\u9BF2"+
-        "\u9BF1\u9BF0\u9C15\u9C14\u9C09\u9C13\u9C0C\u9C06"+
-        "\u9C08\u9C12\u9C0A\u9C04\u9C2E\u9C1B\u9C25\u9C24"+
-        "\u9C21\u9C30\u9C47\u9C32\u9C46\u9C3E\u9C5A\u9C60"+
-        "\u9C67\u9C76\u9C78\u9CE7\u9CEC\u9CF0\u9D09\u9D08"+
-        "\u9CEB\u9D03\u9D06\u9D2A\u9D26\u9DAF\u9D23\u9D1F"+
-        "\u9D44\u9D15\u9D12\u9D41\u9D3F\u9D3E\u9D46\u9D48"+
-        "\u9D5D\u9D5E\u9D64\u9D51\u9D50\u9D59\u9D72\u9D89"+
-        "\u9D87\u9DAB\u9D6F\u9D7A\u9D9A\u9DA4\u9DA9\u9DB2"+
-        "\u9DC4\u9DC1\u9DBB\u9DB8\u9DBA\u9DC6\u9DCF\u9DC2"+
-        "\u9DD9\u9DD3\u9DF8\u9DE6\u9DED\u9DEF\u9DFD\u9E1A"+
-        "\u9E1B\u9E1E\u9E75\u9E79\u9E7D\u9E81\u9E88\u9E8B"+
-        "\u9E8C\u9E92\u9E95\u9E91\u9E9D\u9EA5\u9EA9\u9EB8"+
-        "\u9EAA\u9EAD\u9761\u9ECC\u9ECE\u9ECF\u9ED0\u9ED4"+
-        "\u9EDC\u9EDE\u9EDD\u9EE0\u9EE5\u9EE8\u9EEF\u9EF4"+
-        "\u9EF6\u9EF7\u9EF9\u9EFB\u9EFC\u9EFD\u9F07\u9F08"+
-        "\u76B7\u9F15\u9F21\u9F2C\u9F3E\u9F4A\u9F52\u9F54"+
-        "\u9F63\u9F5F\u9F60\u9F61\u9F66\u9F67\u9F6C\u9F6A"+
-        "\u9F77\u9F72\u9F76\u9F95\u9F9C\u9FA0\u582F\u69C7"+
-        "\u9059\u7464\u51DC\u7199\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD";
-
-    private final static short index1[] = {
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 0, 0, 0, 0, 0, 0,
-        9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
-        25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
-        41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
-        57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
-        73, 74, 75, 76, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
-    };
-
-    private final static String index2[] = {
-        innerIndex0,
-        innerIndex1,
-        innerIndex2,
-        innerIndex3,
-        innerIndex4
-    };
-
-
-    protected char convSingleByte(int b) {
-        return REPLACE_CHAR;
-    }
-
-    static short[] getIndex1() {
-       return index1;
-    }
-
-    static String[] getIndex2() {
-       return index2;
-    }
-}
--- a/src/share/classes/sun/nio/cs/ext/JIS_X_0208_Encoder.java	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3123 +0,0 @@
-/*
- * Copyright (c) 2003, 2005, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code 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
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- */
-
-package sun.nio.cs.ext;
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetEncoder;
-
-public class JIS_X_0208_Encoder extends DoubleByteEncoder
-{
-
-    /*
-     * default replacement defined merely for pseudo
-     * charset x-JIS-X-0208 to instantiate with a
-     * decodeable replacement byte sequence
-     * JIS X 0208(1987) 0x2129 maps to FULLWIDTH QUESTION MARK
-     *
-     */
-
-    private static byte[] repl = { (byte)0x21, (byte)0x29 };
-
-    public JIS_X_0208_Encoder(Charset cs) {
-        super(cs,
-              index1,
-              index2 ,
-              repl
-             );
-    }
-    public JIS_X_0208_Encoder(Charset cs, float avg, float max) {
-        super(cs,
-              index1,
-              index2 ,
-              repl,
-              avg,
-              max
-             );
-    }
-
-    protected int encodeSingle(char inputChar) {
-        return -1;
-    }
-
-    static short[] getIndex1() {
-       return index1;
-    }
-
-    static String[] getIndex2() {
-       return index2;
-    }
-
-    private final static String innerIndex0=
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u2171\u2172\u0000\u0000\u0000\u2178"+
-        "\u212F\u0000\u0000\u0000\u224C\u0000\u0000\u0000"+
-        "\u216B\u215E\u0000\u0000\u212D\u0000\u2279\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u215F"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u2160"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u2621\u2622\u2623\u2624\u2625\u2626\u2627"+
-        "\u2628\u2629\u262A\u262B\u262C\u262D\u262E\u262F"+
-        "\u2630\u2631\u0000\u2632\u2633\u2634\u2635\u2636"+
-        "\u2637\u2638\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u2641\u2642\u2643\u2644\u2645\u2646\u2647"+
-        "\u2648\u2649\u264A\u264B\u264C\u264D\u264E\u264F"+
-        "\u2650\u2651\u0000\u2652\u2653\u2654\u2655\u2656"+
-        "\u2657\u2658\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u2727\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u2721\u2722\u2723\u2724\u2725\u2726\u2728\u2729"+
-        "\u272A\u272B\u272C\u272D\u272E\u272F\u2730\u2731"+
-        "\u2732\u2733\u2734\u2735\u2736\u2737\u2738\u2739"+
-        "\u273A\u273B\u273C\u273D\u273E\u273F\u2740\u2741"+
-        "\u2751\u2752\u2753\u2754\u2755\u2756\u2758\u2759"+
-        "\u275A\u275B\u275C\u275D\u275E\u275F\u2760\u2761"+
-        "\u2762\u2763\u2764\u2765\u2766\u2767\u2768\u2769"+
-        "\u276A\u276B\u276C\u276D\u276E\u276F\u2770\u2771"+
-        "\u0000\u2757\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u213E\u0000\u0000\u0000\u213D\u0000\u2142\u0000"+
-        "\u2146\u2147\u0000\u0000\u2148\u2149\u0000\u0000"+
-        "\u2277\u2278\u0000\u0000\u0000\u2145\u2144\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u2273\u0000\u216C\u216D\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u2228\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u216E\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u2272\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u222B\u222C\u222A\u222D\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u224D\u0000\u224E\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u224F\u0000\u225F\u2250\u0000\u0000\u0000\u2260"+
-        "\u223A\u0000\u0000\u223B\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u215D\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u2265\u0000\u0000\u2267\u2167\u0000"+
-        "\u225C\u0000\u0000\u0000\u0000\u0000\u0000\u224A"+
-        "\u224B\u2241\u2240\u2269\u226A\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u2168\u2268\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u2266\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u2262\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u2162\u2261\u0000\u0000\u0000\u0000\u2165\u2166"+
-        "\u0000\u0000\u2263\u2264\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u223E\u223F\u0000\u0000\u223C\u223D"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u225D\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u225E\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u2821\u282C\u2822\u282D\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u2823\u0000\u0000\u282E"+
-        "\u2824\u0000\u0000\u282F\u2826\u0000\u0000\u2831"+
-        "\u2825\u0000\u0000\u2830\u2827\u283C\u0000\u0000"+
-        "\u2837\u0000\u0000\u2832\u2829\u283E\u0000\u0000"+
-        "\u2839\u0000\u0000\u2834\u2828\u0000\u0000\u2838"+
-        "\u283D\u0000\u0000\u2833\u282A\u0000\u0000\u283A"+
-        "\u283F\u0000\u0000\u2835\u282B\u0000\u0000\u283B"+
-        "\u0000\u0000\u2840\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u2836\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u2223\u2222\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u2225\u2224\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u2227\u2226\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u2221\u217E"+
-        "\u0000\u0000\u0000\u217B\u0000\u0000\u217D\u217C"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u227E"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u217A\u2179\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u216A\u0000\u2169\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u2276\u0000\u0000\u2275\u0000\u2274"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u2121\u2122\u2123\u2137\u0000\u2139\u213A\u213B"+
-        "\u2152\u2153\u2154\u2155\u2156\u2157\u2158\u2159"+
-        "\u215A\u215B\u2229\u222E\u214C\u214D\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u2141\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u2421\u2422\u2423\u2424\u2425\u2426\u2427"+
-        "\u2428\u2429\u242A\u242B\u242C\u242D\u242E\u242F"+
-        "\u2430\u2431\u2432\u2433\u2434\u2435\u2436\u2437"+
-        "\u2438\u2439\u243A\u243B\u243C\u243D\u243E\u243F"+
-        "\u2440\u2441\u2442\u2443\u2444\u2445\u2446\u2447"+
-        "\u2448\u2449\u244A\u244B\u244C\u244D\u244E\u244F"+
-        "\u2450\u2451\u2452\u2453\u2454\u2455\u2456\u2457"+
-        "\u2458\u2459\u245A\u245B\u245C\u245D\u245E\u245F"+
-        "\u2460\u2461\u2462\u2463\u2464\u2465\u2466\u2467"+
-        "\u2468\u2469\u246A\u246B\u246C\u246D\u246E\u246F"+
-        "\u2470\u2471\u2472\u2473\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u212B\u212C\u2135\u2136\u0000"+
-        "\u0000\u2521\u2522\u2523\u2524\u2525\u2526\u2527"+
-        "\u2528\u2529\u252A\u252B\u252C\u252D\u252E\u252F"+
-        "\u2530\u2531\u2532\u2533\u2534\u2535\u2536\u2537"+
-        "\u2538\u2539\u253A\u253B\u253C\u253D\u253E\u253F"+
-        "\u2540\u2541\u2542\u2543\u2544\u2545\u2546\u2547"+
-        "\u2548\u2549\u254A\u254B\u254C\u254D\u254E\u254F"+
-        "\u2550\u2551\u2552\u2553\u2554\u2555\u2556\u2557"+
-        "\u2558\u2559\u255A\u255B\u255C\u255D\u255E\u255F"+
-        "\u2560\u2561\u2562\u2563\u2564\u2565\u2566\u2567"+
-        "\u2568\u2569\u256A\u256B\u256C\u256D\u256E\u256F"+
-        "\u2570\u2571\u2572\u2573\u2574\u2575\u2576\u0000"+
-        "\u0000\u0000\u0000\u2126\u213C\u2133\u2134\u0000"+
-        "\u306C\u437A\u0000\u3C37\u0000\u0000\u0000\u4B7C"+
-        "\u3E66\u3B30\u3E65\u323C\u0000\u4954\u4D3F\u0000"+
-        "\u5022\u312F\u0000\u0000\u336E\u5023\u4024\u5242"+
-        "\u3556\u4A3A\u0000\u0000\u0000\u0000\u3E67\u0000"+
-        "\u0000\u4E3E\u0000\u0000\u0000\u0000\u4A42\u0000"+
-        "\u0000\u0000\u5024\u0000\u0000\u4366\u0000\u0000"+
-        "\u0000\u5025\u367A\u0000\u0000\u0000\u5026\u0000"+
-        "\u345D\u4330\u0000\u3C67\u5027\u0000\u0000\u5028"+
-        "\u0000\u0000\u5029\u4735\u0000\u3557\u0000\u0000"+
-        "\u0000\u0000\u0000\u4737\u0000\u4663\u3843\u4B33"+
-        "\u0000\u0000\u0000\u0000\u0000\u6949\u502A\u3E68"+
-        "\u502B\u3235\u0000\u0000\u0000\u3665\u3870\u4C69"+
-        "\u0000\u0000\u5626\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4D70\u0000\u467D\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3425\u0000"+
-        "\u3535\u0000\u502C\u0000\u0000\u502D\u4E3B\u0000"+
-        "\u4D3D\u4168\u502F\u3B76\u4673\u0000\u5032\u0000"+
-        "\u0000\u313E\u385F\u0000\u385E\u3066\u0000\u0000"+
-        "\u4F4B\u4F4A\u0000\u3A33\u3021\u0000\u5033\u5034"+
-        "\u5035\u4B34\u5036\u0000\u3872\u3067\u4B72\u0000"+
-        "\u357C\u0000\u0000\u357D\u357E\u4462\u4E3C\u0000"+
-        "\u5037\u0000\u0000\u5038\u0000\u0000\u5039\u0000"+
-        "\u0000\u0000\u3F4D\u0000\u0000\u0000\u0000\u0000"+
-        "\u3D3A\u3F4E\u503E\u0000\u503C\u0000\u503D\u3558"+
-        "\u0000\u0000\u3A23\u3270\u0000\u503B\u503A\u4A29"+
-        "\u0000\u0000\u0000\u0000\u3B46\u3B45\u423E\u503F"+
-        "\u4955\u4067\u0000\u0000\u0000\u2138\u5040\u5042"+
-        "\u0000\u0000\u0000\u4265\u4E61\u304A\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5041\u323E\u0000"+
-        "\u3644\u0000\u4367\u0000\u0000\u0000\u376F\u5043"+
-        "\u0000\u0000\u0000\u4724\u0000\u0000\u0000\u0000"+
-        "\u0000\u346B\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5044\u304B\u0000\u0000\u3860\u346C\u497A"+
-        "\u4832\u3559\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3271\u0000\u5067\u4541\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u476C"+
-        "\u5046\u0000\u0000\u0000\u483C\u0000\u4E62\u0000"+
-        "\u3F2D\u0000\u3B47\u0000\u3B77\u3240\u0000\u0000"+
-        "\u0000\u0000\u0000\u4451\u0000\u0000\u4322\u504A"+
-        "\u0000\u0000\u0000\u0000\u0000\u304C\u4463\u3D3B"+
-        "\u3A34\u4D24\u0000\u424E\u0000\u323F\u0000\u5049"+
-        "\u0000\u4D3E\u5045\u5047\u3A6E\u5048\u5524\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5050\u0000\u0000\u0000\u0000\u0000\u5053"+
-        "\u5051\u0000\u0000\u3242\u0000\u4A3B\u504B\u0000"+
-        "\u0000\u0000\u0000\u504F\u3873\u0000\u0000\u3B48"+
-        "\u0000\u0000\u0000\u3426\u0000\u0000\u5054\u0000"+
-        "\u504C\u0000\u0000\u4E63\u0000\u3B78\u0000\u504D"+
-        "\u0000\u5052\u0000\u0000\u0000\u0000\u5055\u0000"+
-        "\u504E\u0000\u0000\u3621\u0000\u304D\u0000\u0000"+
-        "\u3622\u3241\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5525\u0000\u4B79\u496E\u3874"+
-        "\u0000\u0000\u0000\u0000\u0000\u3F2F\u4E37\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4A58"+
-        "\u0000\u0000\u3738\u4225\u3264\u0000\u0000\u0000"+
-        "\u0000\u0000\u3D53\u0000\u0000\u0000\u5059\u0000"+
-        "\u505E\u505C\u0000\u0000\u5057\u0000\u0000\u422F"+
-        "\u505A\u0000\u505D\u505B\u0000\u4A5D\u0000\u5058"+
-        "\u0000\u3F2E\u0000\u4B73\u505F\u5060\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3D24\u506D"+
-        "\u0000\u0000\u0000\u4750\u0000\u4936\u5068\u0000"+
-        "\u4A70\u0000\u3236\u0000\u0000\u0000\u506C\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5066\u506F\u0000"+
-        "\u0000\u4152\u0000\u3844\u0000\u475C\u0000\u6047"+
-        "\u0000\u506E\u455D\u0000\u5063\u0000\u3876\u0000"+
-        "\u0000\u3875\u5061\u0000\u0000\u0000\u0000\u3C5A"+
-        "\u0000\u5069\u0000\u4A6F\u434D\u5065\u3771\u0000"+
-        "\u5062\u506A\u5064\u4E51\u506B\u4F41\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3666\u0000"+
-        "\u0000\u3770\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5070\u0000\u0000\u0000\u5071"+
-        "\u5075\u304E\u0000\u0000\u0000\u0000\u0000\u4A50"+
-        "\u5074\u0000\u0000\u0000\u0000\u5073\u5077\u0000"+
-        "\u0000\u0000\u5076\u0000\u4464\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3772\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5078\u0000\u0000\u0000"+
-        "\u0000\u0000\u3C45\u0000\u4226\u4465\u3676\u0000"+
-        "\u5079\u0000\u0000\u0000\u0000\u3536\u0000\u0000"+
-        "\u507A\u0000\u0000\u0000\u0000\u507C\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4B35\u0000\u0000"+
-        "\u0000\u3766\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3B31\u4877\u507B\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3A45\u4D43\u0000\u0000"+
-        "\u0000\u0000\u507E\u5123\u507D\u3A44\u0000\u3D7D"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3739\u0000"+
-        "\u0000\u0000\u5124\u0000\u0000\u364F\u0000\u0000"+
-        "\u0000\u5121\u5122\u0000\u0000\u462F\u0000\u417C"+
-        "\u0000\u3623\u0000\u0000\u0000\u4B4D\u5125\u0000"+
-        "\u0000\u0000\u4E3D\u0000\u0000\u0000\u5126\u0000"+
-        "\u0000\u0000\u0000\u5129\u0000\u5127\u0000\u414E"+
-        "\u0000\u0000\u0000\u0000\u0000\u5128\u512A\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u512C\u0000\u0000"+
-        "\u0000\u512B\u0000\u4A48\u0000\u0000\u0000\u0000"+
-        "\u3537\u512E\u512F\u0000\u322F\u0000\u0000\u0000"+
-        "\u0000\u512D\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3C74\u0000\u5132\u5131\u5130\u0000"+
-        "\u5056\u0000\u5133\u0000\u0000\u0000\u0000\u3D7E"+
-        "\u0000\u5134\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4D25\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4C59\u0000\u0000\u0000\u0000\u5136"+
-        "\u0000\u0000\u5135\u5138\u5137\u0000\u0000\u5139"+
-        "\u513A\u3074\u0000\u3835\u373B\u3D3C\u437B\u3624"+
-        "\u4068\u3877\u0000\u396E\u513C\u4C48\u4546\u0000"+
-        "\u3B79\u0000\u513B\u0000\u513D\u0000\u0000\u0000"+
-        "\u0000\u0000\u455E\u0000\u3375\u0000\u0000\u0000"+
-        "\u0000\u0000\u513E\u0000\u0000\u467E\u0000\u0000"+
-        "\u4134\u5140\u5141\u482C\u3878\u4F3B\u5142\u0000"+
-        "\u0000\u3626\u0000\u0000\u0000\u4A3C\u4236\u3671"+
-        "\u4535\u0000\u0000\u0000\u3773\u0000\u0000\u0000"+
-        "\u5143\u0000\u5144\u0000\u0000\u4662\u315F\u0000"+
-        "\u0000\u5147\u3A7D\u0000\u5146\u3A46\u0000\u5148"+
-        "\u666E\u5149\u4B41\u514A\u0000\u514B\u514C\u3E69"+
-        "\u0000\u3C4C\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3427\u0000\u514F\u0000\u514D\u4C3D\u514E\u0000"+
-        "\u495A\u5150\u5151\u5152\u455F\u0000\u0000\u0000"+
-        "\u5156\u5154\u5155\u5153\u3A63\u5157\u4C6A\u4E64"+
-        "\u0000\u0000\u0000\u0000\u0000\u5158\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u4028\u5159\u3D5A\u0000"+
-        "\u0000\u515A\u0000\u437C\u4E3F\u4560\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5245\u0000"+
-        "\u0000\u0000\u0000\u515B\u7425\u3645\u0000\u0000"+
-        "\u515C\u4B5E\u0000\u0000\u0000\u0000\u3D68\u427C"+
-        "\u0000\u515E\u4664\u0000\u0000\u515F\u0000\u0000"+
-        "\u5160\u332E\u0000\u0000\u0000\u5161\u3627\u0000"+
-        "\u464C\u317A\u3D50\u0000\u0000\u4821\u5162\u0000"+
-        "\u4561\u0000\u0000\u3F4F\u5163\u0000\u4A2C\u405A"+
-        "\u3422\u0000\u3429\u5164\u0000\u0000\u5166\u0000"+
-        "\u0000\u373A\u0000\u0000\u5165\u0000\u0000\u4E73"+
-        "\u0000\u0000\u0000\u0000\u0000\u3D69\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u483D\u4A4C\u0000\u5167"+
-        "\u0000\u4D78\u5168\u0000\u0000\u0000\u5169\u0000"+
-        "\u457E\u0000\u0000\u516A\u0000\u0000\u4029\u3A7E"+
-        "\u3774\u516B\u3B49\u396F\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4466\u516D\u0000\u0000\u4227"+
-        "\u0000\u0000\u3A6F\u516E\u516F\u4130\u0000\u516C"+
-        "\u0000\u0000\u0000\u0000\u5171\u0000\u4B36\u0000"+
-        "\u0000\u0000\u0000\u3964\u0000\u0000\u5170\u0000"+
-        "\u0000\u0000\u0000\u3775\u3A5E\u476D\u0000\u0000"+
-        "\u0000\u5174\u5172\u0000\u0000\u0000\u0000\u497B"+
-        "\u3E6A\u517B\u3364\u5175\u5173\u414F\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5177\u0000\u5176"+
-        "\u0000\u0000\u0000\u3344\u0000\u0000\u0000\u3760"+
-        "\u517C\u4E2D\u0000\u0000\u0000\u5178\u0000\u0000"+
-        "\u0000\u517D\u517A\u0000\u5179\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4E4F\u0000\u0000\u0000\u3879"+
-        "\u3243\u0000\u0000\u4E74\u0000\u0000\u0000\u0000"+
-        "\u0000\u3D75\u4558\u3965\u5222\u5223\u0000\u0000"+
-        "\u0000\u4E65\u0000\u0000\u4F2B\u5225\u0000\u0000"+
-        "\u0000\u387A\u0000\u0000\u5224\u0000\u332F\u0000"+
-        "\u0000\u5226\u0000\u4B56\u0000\u443C\u0000\u4D26"+
-        "\u0000\u4A59\u0000\u0000\u0000\u5227\u0000\u0000"+
-        "\u0000\u0000\u7055\u0000\u0000\u4630\u0000\u5228"+
-        "\u342A\u4C33\u0000\u0000\u0000\u3E21\u5229\u4A67"+
-        "\u522D\u0000\u402A\u522A\u3650\u0000\u522B\u342B"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u372E\u522E\u0000\u522F\u0000\u0000"+
-        "\u5230\u5231\u3C5B\u0000\u0000\u0000\u387B\u4C5E";
-
-    private final static String innerIndex1=
-        "\u0000\u4C68\u4677\u0000\u0000\u4A71\u5232\u0000"+
-        "\u5233\u0000\u0000\u0000\u0000\u5235\u0000\u5237"+
-        "\u5236\u0000\u0000\u0000\u0000\u5238\u323D\u4B4C"+
-        "\u0000\u3A7C\u5239\u0000\u0000\u4159\u0000\u0000"+
-        "\u3E22\u3629\u0000\u523A\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u485B\u0000\u0000\u0000\u0000\u523B"+
-        "\u0000\u523C\u0000\u523D\u0000\u0000\u0000\u0000"+
-        "\u523E\u4924\u3668\u3065\u0000\u0000\u0000\u463F"+
-        "\u523F\u3D3D\u0000\u4069\u0000\u5241\u5240\u3E23"+
-        "\u3861\u5243\u483E\u0000\u0000\u5244\u0000\u0000"+
-        "\u0000\u485C\u4234\u426E\u3628\u0000\u0000\u466E"+
-        "\u4331\u0000\u476E\u0000\u4B4E\u0000\u5246\u0000"+
-        "\u406A\u0000\u0000\u0000\u0000\u0000\u3735\u0000"+
-        "\u0000\u5247\u0000\u0000\u0000\u0000\u5248\u312C"+
-        "\u3075\u346D\u0000\u4228\u3551\u4D71\u0000\u524B"+
-        "\u3237\u0000\u0000\u524A\u0000\u0000\u0000\u362A"+
-        "\u0000\u0000\u524C\u0000\u4C71\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u524D\u0000"+
-        "\u4E52\u0000\u387C\u0000\u0000\u0000\u0000\u3836"+
-        "\u524E\u0000\u0000\u0000\u0000\u5250\u524F\u0000"+
-        "\u3F5F\u3139\u0000\u0000\u0000\u315E\u5251\u0000"+
-        "\u5252\u0000\u0000\u3837\u0000\u0000\u5253\u0000"+
-        "\u0000\u0000\u0000\u356E\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3B32\u5254\u0000\u0000\u0000\u0000"+
-        "\u4B74\u3A35\u355A\u4D27\u4150\u483F\u3C7D\u0000"+
-        "\u0000\u0000\u0000\u0000\u3D47\u0000\u3C68\u3C75"+
-        "\u0000\u3D76\u0000\u4840\u0000\u0000\u0000\u5257"+
-        "\u0000\u3143\u4151\u387D\u3845\u3667\u0000\u0000"+
-        "\u525B\u4321\u427E\u362B\u3E24\u525C\u525A\u3244"+
-        "\u4266\u3C38\u3B4B\u3126\u0000\u0000\u3370\u3966"+
-        "\u3B4A\u0000\u525D\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u525E\u0000\u3549\u3346\u0000\u0000\u0000"+
-        "\u3967\u3548\u445F\u3125\u4631\u4C3E\u3921\u4D79"+
-        "\u4547\u387E\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u372F\u0000\u5267\u0000\u3663"+
-        "\u4B4A\u0000\u0000\u0000\u0000\u0000\u485D\u0000"+
-        "\u0000\u5266\u0000\u345E\u5261\u5262\u5264\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5265\u0000"+
-        "\u355B\u3F61\u0000\u4A2D\u5263\u525F\u3863\u0000"+
-        "\u5260\u0000\u4F24\u0000\u0000\u0000\u4A72\u0000"+
-        "\u4468\u3862\u3970\u0000\u0000\u0000\u5268\u0000"+
-        "\u0000\u465D\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u526C"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3C7E\u0000\u3C76\u0000\u0000\u0000\u0000\u0000"+
-        "\u526F\u526D\u0000\u4C23\u0000\u526A\u5273\u526E"+
-        "\u0000\u0000\u0000\u5271\u3846\u4C3F\u0000\u0000"+
-        "\u5272\u0000\u0000\u0000\u5274\u0000\u5276\u0000"+
-        "\u0000\u0000\u0000\u3A70\u4F42\u0000\u526B\u5269"+
-        "\u5275\u0000\u5270\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u5278\u0000\u5323\u527A\u0000\u0000"+
-        "\u527E\u0000\u0000\u5321\u527B\u0000\u0000\u533E"+
-        "\u0000\u0000\u3A69\u3331\u0000\u0000\u0000\u0000"+
-        "\u5279\u0000\u0000\u0000\u5325\u3076\u5324\u0000"+
-        "\u3025\u494A\u5322\u0000\u527C\u0000\u0000\u5277"+
-        "\u527D\u3A48\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5326\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3077\u532F\u0000\u0000\u5327\u5328\u0000"+
-        "\u3E25\u4B69\u0000\u0000\u0000\u532D\u532C\u0000"+
-        "\u0000\u0000\u452F\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u532E\u0000\u0000\u532B\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3134\u0000\u3A36\u3F30"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5329"+
-        "\u4562\u0000\u0000\u0000\u532A\u0000\u3022\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5334\u4D23"+
-        "\u0000\u3E27\u0000\u533A\u0000\u0000\u0000\u0000"+
-        "\u5339\u5330\u0000\u0000\u0000\u0000\u4243\u0000"+
-        "\u5331\u0000\u0000\u0000\u426F\u5336\u3E26\u0000"+
-        "\u0000\u0000\u0000\u0000\u5333\u0000\u0000\u4C64"+
-        "\u0000\u0000\u0000\u373C\u0000\u0000\u5337\u5338"+
-        "\u0000\u0000\u0000\u0000\u5335\u533B\u0000\u0000"+
-        "\u0000\u0000\u0000\u5332\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5341\u5346\u0000\u5342\u0000"+
-        "\u533D\u0000\u0000\u5347\u4131\u0000\u0000\u5349"+
-        "\u0000\u3922\u533F\u437D\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5343\u533C\u342D\u0000\u346E\u3365\u5344\u5340"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3776"+
-        "\u534A\u5348\u4153\u354A\u362C\u0000\u5345\u0000"+
-        "\u3674\u0000\u0000\u0000\u0000\u0000\u3144\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u534E\u534C\u0000\u5427"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5351\u0000\u0000\u0000"+
-        "\u0000\u0000\u534B\u0000\u534F\u0000\u0000\u534D"+
-        "\u0000\u0000\u0000\u3B4C\u5350\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5353"+
-        "\u0000\u5358\u0000\u0000\u0000\u5356\u5355\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4332\u0000"+
-        "\u0000\u3245\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5352\u0000\u5354\u3E28"+
-        "\u3133\u0000\u0000\u5357\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u325E\u0000\u0000\u0000\u0000\u0000\u5362"+
-        "\u0000\u3E7C\u535E\u0000\u535C\u0000\u535D\u0000"+
-        "\u535F\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u313D\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u4139\u0000\u5359\u0000"+
-        "\u535A\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u337A\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5361\u0000\u0000\u0000"+
-        "\u346F\u0000\u5364\u5360\u5363\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u4A2E\u0000\u0000\u0000"+
-        "\u4655\u0000\u4838\u0000\u0000\u0000\u0000\u0000"+
-        "\u5366\u0000\u0000\u0000\u0000\u0000\u5365\u3345"+
-        "\u0000\u0000\u5367\u0000\u0000\u0000\u0000\u536A"+
-        "\u0000\u0000\u0000\u0000\u5369\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5368\u0000\u4739\u0000\u0000\u536B\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u536C\u0000"+
-        "\u0000\u0000\u0000\u0000\u536E\u0000\u536D\u0000"+
-        "\u0000\u0000\u0000\u0000\u5370\u0000\u0000\u0000"+
-        "\u5373\u5371\u536F\u5372\u0000\u0000\u0000\u0000"+
-        "\u5374\u0000\u0000\u0000\u0000\u0000\u5375\u0000"+
-        "\u0000\u5376\u0000\u5377\u0000\u0000\u0000\u5378"+
-        "\u5145\u0000\u3C7C\u3B4D\u0000\u0000\u3273\u0000"+
-        "\u3078\u0000\u0000\u4344\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5379\u0000"+
-        "\u3A24\u0000\u304F\u3F5E\u0000\u0000\u0000\u0000"+
-        "\u0000\u537A\u3847\u0000\u0000\u3971\u0000\u537C"+
-        "\u537B\u0000\u0000\u4A60\u537D\u0000\u0000\u0000"+
-        "\u5421\u537E\u0000\u5422\u0000\u5423\u0000\u3777"+
-        "\u0000\u0000\u3160\u5424\u0000\u0000\u5426\u0000"+
-        "\u5425\u0000\u0000\u0000\u5428\u0000\u0000\u455A"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5429\u3035"+
-        "\u3A5F\u0000\u0000\u0000\u0000\u373D\u0000\u0000"+
-        "\u434F\u0000\u0000\u0000\u0000\u0000\u0000\u542A"+
-        "\u542B\u0000\u0000\u542D\u0000\u0000\u0000\u0000"+
-        "\u542E\u0000\u3A64\u0000\u0000\u0000\u0000\u3651"+
-        "\u0000\u0000\u4B37\u0000\u0000\u0000\u542C\u542F"+
-        "\u3A41\u3923\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5433\u0000\u0000\u3A25\u0000\u4333\u0000"+
-        "\u0000\u5430\u445A\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5434"+
-        "\u0000\u0000\u3F62\u0000\u0000\u0000\u0000\u0000"+
-        "\u5432\u5435\u0000\u373F\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5436\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5437\u0000\u3924\u3340\u5439\u0000\u0000\u0000"+
-        "\u0000\u0000\u543A\u0000\u0000\u0000\u0000\u0000"+
-        "\u543B\u0000\u0000\u5438\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5431\u0000\u0000\u543C\u0000\u0000\u543D\u0000"+
-        "\u0000\u0000\u0000\u4B64\u0000\u0000\u3E6B\u0000"+
-        "\u0000\u0000\u543F\u5440\u543E\u0000\u5442\u0000"+
-        "\u0000\u0000\u0000\u0000\u4738\u0000\u0000\u3068"+
-        "\u4956\u0000\u0000\u5443\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3E7D\u0000\u0000\u3C39"+
-        "\u0000\u475D\u3470\u0000\u3A6B\u0000\u0000\u0000"+
-        "\u4B59\u0000\u4632\u0000\u0000\u3778\u424F\u0000"+
-        "\u0000\u0000\u5441\u5444\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4244\u0000\u0000"+
-        "\u0000\u5445\u0000\u0000\u0000\u5446\u0000\u0000"+
-        "\u0000\u5448\u0000\u0000\u4469\u0000\u0000\u0000"+
-        "\u0000\u0000\u342E\u0000\u0000\u0000\u0000\u7421"+
-        "\u3161\u4A73\u0000\u0000\u3E6C\u4548\u0000\u0000"+
-        "\u0000\u0000\u3A66\u0000\u0000\u544E\u0000\u0000"+
-        "\u4A3D\u4E5D\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3274\u544A\u0000\u0000\u0000\u0000"+
-        "\u0000\u413A\u544D\u0000\u4563\u0000\u0000\u4549"+
-        "\u4564\u4839\u444D\u0000\u0000\u0000\u3A49\u0000"+
-        "\u0000\u0000\u5449\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3176\u0000\u4536\u0000\u0000\u0000\u0000"+
-        "\u544B\u0000\u5447\u0000\u0000\u3F50\u0000\u0000"+
-        "\u0000\u544F\u0000\u0000\u0000\u0000\u3D4E\u0000"+
-        "\u0000\u0000\u0000\u362D\u0000\u5450\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4A68\u0000\u0000\u0000\u417D"+
-        "\u0000\u0000\u0000\u0000\u4446\u0000\u0000\u5452"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4B4F\u0000\u0000\u5453\u0000\u0000\u5458\u0000"+
-        "\u0000\u0000\u0000\u4A2F\u0000\u0000\u0000\u0000"+
-        "\u5457\u5451\u5454\u5456\u0000\u0000\u3A26\u0000"+
-        "\u0000\u4A49\u0000\u0000\u0000\u5459\u0000\u4345"+
-        "\u0000\u0000\u3275\u0000\u3E6D\u0000\u0000\u0000"+
-        "\u0000\u545B\u0000\u545A\u0000\u3968\u0000\u545C"+
-        "\u545E\u545D\u0000\u0000\u5460\u0000\u5455\u5462"+
-        "\u0000\u0000\u0000\u0000\u5461\u545F\u0000\u0000"+
-        "\u0000\u0000\u0000\u3B4E\u3F51\u0000\u4154\u5463"+
-        "\u403C\u306D\u4764\u0000\u0000\u0000\u0000\u445B"+
-        "\u0000\u5465\u5464\u5466\u5467\u5468\u0000\u0000"+
-        "\u0000\u0000\u5469\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4A51\u546A\u0000\u0000\u0000\u0000\u3246"+
-        "\u546B\u0000\u0000\u0000\u0000\u4D3C\u3330\u0000"+
-        "\u5249\u3D48\u423F\u546C\u4C6B\u0000\u0000\u0000"+
-        "\u0000\u0000\u4C34\u0000\u0000\u546E\u0000\u4267"+
-        "\u0000\u4537\u4240\u4957\u546F\u5470\u317B\u0000"+
-        "\u0000\u3C3A\u5471\u0000\u0000\u0000\u0000\u3050"+
-        "\u5472\u0000\u0000\u0000\u0000\u0000\u5473\u0000"+
-        "\u0000\u0000\u0000\u0000\u3162\u0000\u0000\u3471"+
-        "\u4660\u4A74\u0000\u0000\u0000\u0000\u5477\u4155"+
-        "\u5476\u3740\u0000\u0000\u4B5B\u5475\u0000\u4565"+
-        "\u5479\u0000\u5478\u0000\u0000\u0000\u0000\u0000"+
-        "\u547B\u0000\u547A\u0000\u0000\u317C\u0000\u547C"+
-        "\u3E29\u547E\u4325\u0000\u547D\u0000\u4A33\u0000"+
-        "\u0000\u0000\u0000\u3D77\u455B\u0000\u0000\u0000"+
-        "\u5521\u0000\u0000\u0000\u0000\u3925\u0000\u0000"+
-        "\u0000\u5522\u4721\u485E\u4C51\u0000\u0000\u0000"+
-        "\u0000\u0000\u4725\u0000\u0000\u552B\u0000\u0000"+
-        "\u0000\u0000\u0000\u3538\u0000\u0000\u4D45\u0000"+
-        "\u0000\u4C2F\u0000\u562C\u0000\u5523\u0000\u0000"+
-        "\u0000\u0000\u0000\u5526\u0000\u4245\u0000\u0000"+
-        "\u4B38\u0000\u0000\u0000\u454A\u0000\u0000\u0000"+
-        "\u0000\u0000\u5527\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4B65\u0000\u3A4A\u0000\u0000\u3E2A\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5528\u0000"+
-        "\u0000\u3B50\u0000\u3B4F\u0000\u0000\u0000\u0000"+
-        "\u3039\u3848\u0000\u402B\u3051\u0000\u0000\u0000"+
-        "\u0000\u552C\u552D\u0000\u552A\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3138\u342F\u0000"+
-        "\u5529\u0000\u4C45\u4931\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3028\u0000"+
-        "\u0000\u0000\u0000\u3079\u0000\u0000\u0000\u3B51"+
-        "\u0000\u3052\u0000\u3023\u0000\u0000\u0000\u0000"+
-        "\u0000\u5532\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5530\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4C3C\u0000\u5533\u0000\u5531\u0000\u0000\u552F"+
-        "\u3F31\u0000\u0000\u0000\u0000\u552E\u0000\u0000"+
-        "\u0000\u4A5A\u0000\u0000\u0000\u0000\u0000\u3864"+
-        "\u0000\u0000\u0000\u0000\u0000\u5537\u5538\u0000"+
-        "\u0000\u0000\u0000\u0000\u3E2B\u0000\u0000\u0000"+
-        "\u5534\u4F2C\u0000\u0000\u0000\u0000\u474C\u0000"+
-        "\u0000\u5536\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3A27\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u5539\u0000\u0000\u0000\u4958\u0000"+
-        "\u0000\u0000\u553A\u0000\u5535\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4C3B"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u475E\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u553B\u4932\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u553C\u5540\u553D\u0000"+
-        "\u0000\u3247\u553F\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3C3B\u0000\u553E\u3779\u0000\u0000\u0000"+
-        "\u554C\u0000\u0000\u0000\u0000\u0000\u5545\u5542"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4364\u0000\u5541\u0000\u0000\u5543\u0000"+
-        "\u0000\u5544\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u5546\u5547\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3472\u0000\u5549\u5548\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u554A\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3E6E\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u554D\u0000\u445C\u0000\u0000\u0000"+
-        "\u3145\u0000\u554B\u0000\u0000\u0000\u554E\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u554F\u0000"+
-        "\u5552\u0000\u0000\u5550\u0000\u5551\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3B52\u5553\u0000\u0000\u3926\u5554\u0000\u3B7A"+
-        "\u4238\u0000\u5555\u5556\u3B5A\u3927\u0000\u4C52"+
-        "\u0000\u0000\u0000\u3528\u3849\u5557\u3358\u0000"+
-        "\u0000\u5558\u0000\u4239\u0000\u0000\u0000\u0000"+
-        "\u5559\u5623\u0000\u555A\u0000\u555B\u0000\u0000"+
-        "\u555C\u0000\u555E\u0000\u0000\u0000\u0000\u0000"+
-        "\u555F\u0000\u0000\u5560\u0000\u4270\u0000\u3127"+
-        "\u3C69\u3042\u0000\u4157\u3430\u3C35\u0000\u3928"+
-        "\u0000\u0000\u0000\u0000\u0000\u4566\u0000\u3D21"+
-        "\u3431\u4368\u446A\u3038\u3539\u4A75\u0000\u3C42"+
-        "\u0000\u0000\u3552\u406B\u3C3C\u4D28\u5561\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u355C\u0000"+
-        "\u3A4B\u0000\u0000\u3332\u3163\u3E2C\u3248\u0000"+
-        "\u5562\u4D46\u0000\u0000\u0000\u0000\u0000\u3D49"+
-        "\u0000\u0000\u3C64\u5563\u3473\u4652\u4C29\u5564"+
-        "\u0000\u5565\u0000\u0000\u4959\u0000\u0000\u0000"+
-        "\u5567\u0000\u3428\u3677\u5566\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3432\u0000\u3F32\u556B\u3B21"+
-        "\u0000\u3249\u556A\u0000\u5568\u556C\u5569\u472B"+
-        "\u5C4D\u3F33\u0000\u556D\u0000\u0000\u4E40\u0000"+
-        "\u556E\u0000\u0000\u5570\u0000\u437E\u556F\u0000"+
-        "\u4023\u0000\u3B7B\u0000\u0000\u0000\u4250\u3C77"+
-        "\u0000\u4975\u406C\u0000\u3C4D\u5571\u3E2D\u5572"+
-        "\u5573\u3053\u423A\u3F52\u0000\u5574\u4633\u3E2E"+
-        "\u0000\u3E2F\u0000\u5575\u0000\u0000\u406D\u0000"+
-        "\u0000\u0000\u3E30\u0000\u0000\u0000\u0000\u0000"+
-        "\u5576\u0000\u5577\u0000\u4C60\u0000\u0000\u0000"+
-        "\u5578\u0000\u0000\u0000\u0000\u3646\u0000\u0000"+
-        "\u0000\u3D22\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5579\u557A\u3C5C\u3F2C\u4674\u3F54\u4878\u4722"+
-        "\u3649\u557B\u0000\u0000\u0000\u356F\u557C\u0000"+
-        "\u367E\u0000\u464F\u3230\u0000\u3B53\u557D\u5622"+
-        "\u5621\u367D\u0000\u557E\u0000\u4538\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4230\u0000"+
-        "\u454B\u3C48\u0000\u0000\u4158\u4D7A\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5624\u0000\u5625\u4656"+
-        "\u0000\u3B33\u0000\u0000\u0000\u0000\u5627\u0000"+
-        "\u0000\u5628\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5629\u0000\u0000\u0000"+
-        "\u3474\u562A\u0000\u0000\u562B\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u322C\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u413B\u3464\u0000\u562D\u4C28\u0000\u0000\u0000"+
-        "\u0000\u4252\u0000\u3359\u0000\u0000\u562F\u5631"+
-        "\u345F\u0000\u0000\u562E\u5630\u0000\u5633\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5632\u0000\u5634"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5635\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u463D\u362E\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3265\u5636\u563B\u0000\u0000\u5639\u0000\u4A77"+
-        "\u4A76\u0000\u0000\u0000\u0000\u0000\u4567\u0000"+
-        "\u0000\u0000\u5638\u3D54\u0000\u5637\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3F72"+
-        "\u0000\u0000\u0000\u563C\u0000\u0000\u3A6A\u0000"+
-        "\u0000\u5642\u0000\u0000\u5643\u563D\u3333\u563E"+
-        "\u5647\u5646\u5645\u5641\u0000\u0000\u0000\u5640"+
-        "\u0000\u0000\u5644\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4A78\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u564B\u5648\u0000\u564A\u0000"+
-        "\u4D72\u0000\u5649\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u563F\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3F73\u0000\u0000\u564C\u0000\u0000\u3A37"+
-        "\u0000\u0000\u0000\u564D\u0000\u0000\u564E\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u5651\u0000\u5650\u0000\u0000\u564F"+
-        "\u0000\u0000\u0000\u4568\u563A\u0000\u0000\u0000"+
-        "\u5657\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5653\u0000\u0000"+
-        "\u0000\u0000\u5652\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5654\u0000\u5655\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5658"+
-        "\u0000\u0000\u4E66\u0000\u5659\u5656\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u565A\u0000\u0000\u3460\u565B\u0000\u0000"+
-        "\u0000\u0000\u565D\u565C\u0000\u0000\u565E\u0000"+
-        "\u0000\u0000\u0000\u565F\u0000\u406E\u3D23\u0000"+
-        "\u0000\u3D64\u0000\u4163\u0000\u3929\u3A38\u392A"+
-        "\u3570\u0000\u0000\u5660\u0000\u0000\u3A39\u0000"+
-        "\u0000\u384A\u5661\u4C26\u4743\u5662\u0000\u392B"+
-        "\u0000\u0000\u0000\u342C\u0000\u4327\u3652\u0000"+
-        "\u0000\u0000\u3B54\u495B\u0000\u0000\u4841\u0000"+
-        "\u0000\u0000\u0000\u5663\u3475\u0000\u0000\u0000"+
-        "\u0000\u5666\u0000\u0000\u0000\u0000\u4421\u0000"+
-        "\u0000\u5665\u5664\u5667\u0000\u446B\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3F63\u0000\u0000"+
-        "\u0000\u0000\u0000\u3B55\u0000\u404A\u0000\u4253"+
-        "\u3522\u0000\u0000\u4422\u0000\u0000\u5668\u5669"+
-        "\u3E6F\u0000\u0000\u0000\u0000\u4B39\u0000\u0000"+
-        "\u566C\u0000\u0000\u566B\u566A\u497D\u0000\u5673"+
-        "\u0000\u0000\u0000\u0000\u4B5A\u0000\u566D\u0000"+
-        "\u0000\u0000\u0000\u0000\u566F\u4B6B\u0000\u566E"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5670"+
-        "\u0000\u4828\u5671\u4A3E\u5672\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3433\u4A3F\u472F\u5674\u5675\u0000"+
-        "\u392C\u3434\u5676\u3838\u4D44\u4D29\u3476\u5678"+
-        "\u0000\u4423\u0000\u392D\u3E31\u0000\u0000\u485F"+
-        "\u0000\u0000\u3E32\u0000\u0000\u0000\u0000\u3D78"+
-        "\u0000\u0000\u0000\u0000\u0000\u446C\u4A79\u4539"+
-        "\u0000\u0000\u392E\u0000\u495C\u0000\u0000\u0000"+
-        "\u5679\u0000\u0000\u0000\u0000\u0000\u4559\u3A42"+
-        "\u0000\u0000\u0000\u384B\u0000\u446D\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3043\u3D6E\u392F"+
-        "\u4D47\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u567A\u567B\u4751\u0000\u0000\u0000\u0000"+
-        "\u567C\u4E77\u4F2D\u0000\u0000\u0000\u0000\u567E"+
-        "\u567D\u0000\u0000\u3347\u0000\u0000\u5721\u0000"+
-        "\u0000\u0000\u5724\u5725\u0000\u5723\u0000\u4940"+
-        "\u3E33\u5727\u5726\u5722\u0000\u0000\u0000\u0000"+
-        "\u5728\u5729\u0000\u0000\u572A\u0000\u0000\u0000"+
-        "\u572D\u572B\u0000\u572C\u572E\u0000\u3164\u446E"+
-        "\u572F\u0000\u377A\u3276\u4736\u0000\u5730\u467B"+
-        "\u0000\u4A5B\u0000\u5731\u4F2E\u0000\u0000\u0000"+
-        "\u0000\u5732\u4A40\u5735\u5021\u5031\u0000\u3C30"+
-        "\u4675\u5736\u0000\u355D\u4424\u307A\u5737\u4A26"+
-        "\u3930\u0000\u0000\u4350\u0000\u0000\u0000\u446F"+
-        "\u0000\u0000\u0000\u0000\u0000\u4C6F\u3839\u384C"+
-        "\u0000\u5738\u0000\u0000\u0000\u5739\u0000\u573F"+
-        "\u0000\u3C65\u0000\u0000\u0000\u4425\u0000\u362F"+
-        "\u573A\u0000\u0000\u0000\u492B\u0000\u4346\u0000"+
-        "\u0000\u573B\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u573C\u0000\u3630\u0000\u573D\u0000\u573E\u0000"+
-        "\u0000\u5740\u0000\u4576\u0000\u0000\u5741\u5742"+
-        "\u0000\u5743\u0000\u0000\u5734\u5733\u0000\u0000"+
-        "\u0000\u5744\u3741\u0000\u0000\u0000\u4927\u0000"+
-        "\u0000\u3A4C\u4937\u4426\u494B\u5745\u0000\u0000"+
-        "\u3E34\u3146\u0000\u5746\u0000\u0000\u0000\u5747"+
-        "\u0000\u4C72\u0000\u0000\u4860\u0000\u0000\u574A"+
-        "\u317D\u402C\u5749\u5748\u3742\u4254\u0000\u574E"+
-        "\u574C\u0000\u574B\u4E27\u3865\u0000\u0000\u0000"+
-        "\u3D79\u574D\u454C\u3D3E\u0000\u0000\u0000\u4640"+
-        "\u5751\u5750\u0000\u0000\u0000\u0000\u574F\u0000"+
-        "\u5752\u3866\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5753\u497C\u3D5B\u0000\u0000\u5754\u4879\u0000"+
-        "\u0000\u0000\u0000\u4641\u4427\u0000\u0000\u0000"+
-        "\u0000\u4530\u0000\u0000\u5755\u352B\u0000\u0000"+
-        "\u0000\u0000\u0000\u3F34\u0000\u492C\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3477\u4726\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5756\u3B56"+
-        "\u4B3A\u4B3B\u0000\u0000\u317E\u575B\u0000\u0000"+
-        "\u4369\u0000\u0000\u0000\u5758\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3277\u0000\u0000\u0000\u0000"+
-        "\u582D\u575A\u0000\u0000\u0000\u4730\u0000\u0000"+
-        "\u5759\u0000\u0000\u5757\u0000\u397A\u0000\u575D"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5763\u5769"+
-        "\u5761\u0000\u455C\u0000\u0000\u5766\u495D\u0000"+
-        "\u0000\u5760\u0000\u5765\u4E67\u3B57\u0000\u0000"+
-        "\u4255\u575E\u0000\u0000\u0000\u355E\u5768\u402D"+
-        "\u3165\u5762\u3278\u5767\u0000\u0000\u0000\u3631"+
-        "\u0000\u5764\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u576A\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u576C\u5776\u5774\u0000\u0000\u5771\u0000"+
-        "\u0000\u0000\u5770\u4E78\u0000\u5772\u0000\u0000"+
-        "\u3632\u0000\u3931\u0000\u0000\u3D7A\u0000\u0000"+
-        "\u0000\u5779\u576B\u0000\u0000\u0000\u0000\u576F"+
-        "\u575F\u0000\u327A\u5773\u5775\u4351\u0000\u0000"+
-        "\u3A28\u3238\u576D\u5778\u5777\u3633\u0000\u4229"+
-        "\u3366\u0000\u0000\u0000\u0000\u3743\u0000\u576E"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u577A\u0000\u577D\u5821\u0000\u0000\u0000"+
-        "\u0000\u3C3D\u0000\u5827\u4470\u577B\u0000\u0000"+
-        "\u0000\u0000\u5825\u0000\u3279\u0000\u5823\u5824"+
-        "\u0000\u0000\u577E\u5822\u0000\u0000\u0000\u3867"+
-        "\u4D2A\u0000\u0000\u3435\u0000\u0000\u3159\u5826"+
-        "\u0000\u473A\u302D\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4861\u575C\u582C\u5830\u4C65\u0000"+
-        "\u5829\u0000\u0000\u0000\u4569\u582E\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3E70\u582F\u4657"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4F47\u0000\u582B\u0000\u0000\u0000\u0000"+
-        "\u5831\u0000\u397B\u0000\u404B\u0000\u0000\u3054"+
-        "\u582A\u5828\u0000\u415A\u0000\u0000\u0000\u577C"+
-        "\u3B34\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4246\u583D\u0000\u415B\u5838\u0000\u5835\u5836"+
-        "\u0000\u3C66\u5839\u583C\u0000\u0000\u0000\u0000"+
-        "\u5837\u3D25\u0000\u583A\u0000\u0000\u5834\u0000"+
-        "\u4C7C\u4C7B\u0000\u0000\u0000\u583E\u583F\u3055"+
-        "\u0000\u0000\u0000\u0000\u0000\u5833\u0000\u0000"+
-        "\u0000\u0000\u3672\u3026\u0000\u0000\u0000\u3436"+
-        "\u0000\u583B\u0000\u0000\u0000\u0000\u0000\u5843"+
-        "\u5842\u0000\u0000\u0000\u5847\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5848\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5846\u5849\u5841\u5845"+
-        "\u0000\u0000\u584A\u0000\u584B\u0000\u0000\u5840"+
-        "\u3B7C\u0000\u5844\u4256\u3932\u5832\u3F35\u0000"+
-        "\u0000\u0000\u0000\u5858\u0000\u4A69\u0000\u0000"+
-        "\u584E\u584F\u5850\u0000\u0000\u5857\u0000\u5856"+
-        "\u0000\u0000\u4B7D\u3437\u0000\u5854\u0000\u3745"+
-        "\u3334\u0000\u0000\u5851\u0000\u0000\u4E38\u5853"+
-        "\u3056\u5855\u0000\u584C\u5852\u5859\u3744\u584D"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4D5D\u0000"+
-        "\u0000\u0000\u4D2B\u0000\u0000\u0000\u0000\u585C"+
-        "\u0000\u0000\u5860\u0000\u0000\u0000\u417E\u0000"+
-        "\u4E79\u5861\u0000\u0000\u585E\u0000\u585B\u0000"+
-        "\u0000\u585A\u585F\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u4A30\u0000\u0000\u4634"+
-        "\u0000\u3746\u0000\u5862\u585D\u0000\u5863\u0000"+
-        "\u0000\u0000\u377B\u0000\u0000\u0000\u3231\u0000"+
-        "\u0000\u0000\u586B\u0000\u0000\u0000\u3438\u0000"+
-        "\u0000\u0000\u0000\u5869\u0000\u0000\u586A\u3A29"+
-        "\u5868\u5866\u5865\u586C\u5864\u586E\u0000\u0000"+
-        "\u327B\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5870\u0000\u0000\u586F\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4428\u0000\u5873\u0000\u5871\u5867"+
-        "\u377C\u0000\u5872\u0000\u5876\u5875\u5877\u5874"+
-        "\u5878\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5879\u587A\u4A6A\u0000\u587C\u587B\u3D3F\u0000"+
-        "\u402E\u3266\u327C\u0000\u587D\u0000\u303F\u0000"+
-        "\u0000\u0000\u404C\u587E\u0000\u6C43\u5921\u3761"+
-        "\u0000\u5922\u0000\u0000\u0000\u0000\u406F\u0000"+
-        "\u0000\u0000\u5923\u0000\u0000\u0000\u5924\u353A"+
-        "\u5925\u0000\u5926\u5927\u4257\u0000\u0000\u0000"+
-        "\u384D\u0000\u0000\u4C61\u0000\u0000\u0000\u4B3C"+
-        "\u3D6A\u5928\u0000\u0000\u0000\u0000\u0000\u4070"+
-        "\u6E3D\u4862\u0000\u3C6A\u0000\u3A4D\u5929\u0000"+
-        "\u0000\u0000\u0000\u4247\u0000\u4A27\u0000\u0000"+
-        "\u4271\u0000\u0000\u592C\u0000\u0000\u592A\u0000"+
-        "\u592D\u0000\u0000\u592B\u0000\u0000\u0000\u0000"+
-        "\u592E\u0000\u0000\u0000\u0000\u0000\u4A31\u0000"+
-        "\u0000\u3037\u0000\u0000\u0000\u0000\u495E\u0000"+
-        "\u0000\u4863\u0000\u0000\u592F\u0000\u5932\u3E35"+
-        "\u353B\u0000\u5930\u5937\u3E36\u0000\u0000\u0000"+
-        "\u0000\u5931\u4744\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4D5E\u5933\u5934\u5938\u456A\u5935\u3933"+
-        "\u405E\u0000\u0000\u5946\u4834\u0000\u4272\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4864\u5A2D\u0000\u0000\u0000"+
-        "\u0000\u4A7A\u0000\u0000\u0000\u4471\u0000\u0000"+
-        "\u0000\u4B75\u0000\u593B\u3221\u436A\u0000\u0000"+
-        "\u0000\u0000\u5944\u0000\u0000\u4334\u593E\u5945"+
-        "\u5940\u5947\u5943\u0000\u5942\u476F\u0000\u593C"+
-        "\u327D\u593A\u3571\u4273\u5936\u0000\u0000\u5939"+
-        "\u3934\u405B\u0000\u3E37\u5941\u4752\u0000\u0000"+
-        "\u3572\u3348\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3367\u3F21\u5949\u594E"+
-        "\u0000\u594A\u0000\u377D\u0000\u594F\u3B22\u3969"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3D26\u593D";
-
-    private final static String innerIndex2=
-        "\u0000\u3B7D\u594C\u0000\u0000\u0000\u0000\u3B58"+
-        "\u594D\u3044\u0000\u0000\u5948\u0000\u0000\u0000"+
-        "\u0000\u4429\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3573\u0000\u0000\u0000\u0000\u0000\u3634"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u594B"+
-        "\u3027\u0000\u0000\u3A43\u0000\u0000\u0000\u3F36"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4472\u0000\u0000\u4854\u5951\u415E"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u422A\u0000\u0000\u3B2B\u5952\u0000\u5954"+
-        "\u5950\u0000\u0000\u0000\u0000\u4A61\u0000\u443D"+
-        "\u0000\u0000\u0000\u0000\u415C\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4A7B"+
-        "\u3C4E\u5960\u0000\u595F\u0000\u0000\u3F78\u0000"+
-        "\u0000\u0000\u377E\u0000\u0000\u0000\u5959\u3E39"+
-        "\u0000\u0000\u4668\u4731\u0000\u0000\u0000\u0000"+
-        "\u5957\u0000\u0000\u415D\u0000\u0000\u0000\u0000"+
-        "\u3C78\u595C\u0000\u0000\u3E38\u0000\u5956\u595B"+
-        "\u0000\u0000\u4753\u0000\u0000\u0000\u5955\u0000"+
-        "\u3721\u0000\u0000\u335D\u0000\u0000\u0000\u595D"+
-        "\u4E2B\u3A4E\u4335\u595A\u0000\u405C\u0000\u3935"+
-        "\u3F64\u3166\u413C\u5958\u3545\u0000\u0000\u0000"+
-        "\u0000\u0000\u3747\u0000\u444F\u595E\u0000\u0000"+
-        "\u0000\u0000\u0000\u415F\u0000\u0000\u5961\u0000"+
-        "\u5963\u0000\u0000\u4237\u5969\u0000\u5964\u0000"+
-        "\u0000\u5966\u0000\u0000\u0000\u0000\u0000\u4941"+
-        "\u4473\u0000\u5967\u0000\u0000\u0000\u4D2C\u0000"+
-        "\u0000\u0000\u4D48\u3439\u0000\u0000\u0000\u0000"+
-        "\u0000\u302E\u0000\u5965\u0000\u0000\u0000\u0000"+
-        "\u0000\u5962\u0000\u0000\u0000\u0000\u3478\u0000"+
-        "\u0000\u0000\u0000\u0000\u3167\u0000\u5968\u0000"+
-        "\u0000\u0000\u4D49\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u596C\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u423B\u0000\u5973"+
-        "\u0000\u0000\u0000\u596D\u0000\u0000\u596A\u5971"+
-        "\u0000\u0000\u0000\u0000\u5953\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u596E\u0000"+
-        "\u5972\u0000\u0000\u0000\u4842\u456B\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u596B\u0000\u596F\u0000"+
-        "\u0000\u0000\u3748\u0000\u0000\u0000\u3A71\u0000"+
-        "\u0000\u0000\u405D\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5977\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4526\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5974"+
-        "\u0000\u4B60\u0000\u0000\u0000\u0000\u0000\u5975"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5976\u0000"+
-        "\u4C4E\u0000\u4022\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3762\u0000\u0000\u0000\u0000"+
-        "\u597D\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3B35\u597A\u0000\u5979\u0000\u0000"+
-        "\u0000\u0000\u4732\u0000\u0000\u0000\u4635\u0000"+
-        "\u0000\u0000\u0000\u0000\u4531\u597B\u0000\u0000"+
-        "\u0000\u597C\u0000\u496F\u0000\u4745\u3B23\u0000"+
-        "\u4071\u0000\u4B50\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3349\u0000\u5A25\u597E\u0000\u0000\u0000"+
-        "\u0000\u4D4A\u5A27\u0000\u0000\u5A23\u0000\u5A24"+
-        "\u0000\u0000\u0000\u0000\u0000\u4160\u0000\u0000"+
-        "\u0000\u0000\u5A22\u0000\u593F\u0000\u0000\u0000"+
-        "\u5A26\u0000\u5A21\u0000\u0000\u0000\u0000\u0000"+
-        "\u5A2B\u5A2C\u4527\u5A2E\u0000\u0000\u3B24\u5A29"+
-        "\u0000\u0000\u0000\u0000\u353C\u0000\u0000\u5A2F"+
-        "\u0000\u5A28\u5A33\u0000\u5A32\u0000\u5A31\u0000"+
-        "\u0000\u0000\u5A34\u0000\u0000\u5A36\u3E71\u0000"+
-        "\u5A35\u0000\u0000\u0000\u0000\u5A39\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5A37\u0000\u0000\u0000\u5A38\u5970\u0000\u0000"+
-        "\u0000\u0000\u0000\u5A3B\u5A3A\u0000\u0000\u0000"+
-        "\u0000\u0000\u5978\u5A3C\u5A30\u0000\u0000\u3B59"+
-        "\u0000\u0000\u0000\u0000\u5A3D\u5A3E\u5A40\u5A3F"+
-        "\u5A41\u327E\u0000\u3936\u0000\u0000\u4A7C\u402F"+
-        "\u0000\u0000\u0000\u0000\u0000\u384E\u0000\u0000"+
-        "\u5A43\u0000\u0000\u0000\u0000\u5A46\u0000\u4952"+
-        "\u0000\u355F\u0000\u0000\u0000\u5A45\u5A44\u4754"+
-        "\u5A47\u3635\u0000\u0000\u0000\u5A49\u5A48\u0000"+
-        "\u0000\u0000\u343A\u3B36\u0000\u0000\u4658\u0000"+
-        "\u0000\u0000\u0000\u0000\u3749\u0000\u0000\u0000"+
-        "\u3F74\u0000\u5A4A\u0000\u4030\u4528\u0000\u495F"+
-        "\u5A4B\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u5A4C\u5A4D\u0000\u0000\u0000\u4A38"+
-        "\u555D\u4046\u0000\u0000\u494C\u0000\u3A58\u0000"+
-        "\u4865\u4843\u0000\u0000\u0000\u0000\u0000\u454D"+
-        "\u0000\u4E41\u0000\u5A4F\u3C50\u0000\u0000\u5A50"+
-        "\u0000\u3036\u0000\u0000\u3654\u404D\u0000\u4960"+
-        "\u0000\u0000\u0000\u5A51\u3B42\u4347\u0000\u3B5B"+
-        "\u3F37\u0000\u0000\u0000\u0000\u0000\u0000\u5A52"+
-        "\u0000\u4A7D\u0000\u0000\u3177\u3B5C\u0000\u0000"+
-        "\u0000\u5A55\u0000\u5A53\u5A56\u4E39\u5A54\u0000"+
-        "\u0000\u0000\u0000\u407B\u5A57\u0000\u0000\u4232"+
-        "\u0000\u0000\u5A58\u0000\u0000\u0000\u0000\u347A"+
-        "\u0000\u5A5A\u0000\u5A59\u0000\u0000\u0000\u0000"+
-        "\u5A5B\u5A5C\u347B\u0000\u0000\u467C\u4336\u356C"+
-        "\u3B5D\u4161\u0000\u0000\u3D5C\u3030\u0000\u0000"+
-        "\u0000\u5A5D\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3222\u5A61\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3937\u5A60\u0000\u0000\u3A2B\u3E3A"+
-        "\u0000\u0000\u5A5F\u0000\u3E3B\u0000\u4C40\u3A2A"+
-        "\u0000\u0000\u0000\u3057\u404E\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5A66\u0000\u0000\u4031"+
-        "\u3147\u0000\u0000\u0000\u0000\u3D55\u0000\u4B66"+
-        "\u3A72\u0000\u0000\u0000\u0000\u3E3C\u0000\u4027"+
-        "\u0000\u0000\u0000\u0000\u5A65\u5A63\u5A64\u0000"+
-        "\u0000\u0000\u0000\u0000\u436B\u0000\u0000\u5B26"+
-        "\u0000\u5A6A\u3B7E\u3938\u5A68\u0000\u0000\u0000"+
-        "\u0000\u5A69\u0000\u3F38\u0000\u0000\u0000\u5A67"+
-        "\u0000\u0000\u3B2F\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5A6C\u5A6B\u5A70"+
-        "\u0000\u0000\u5A71\u0000\u5A6D\u0000\u3322\u5A6E"+
-        "\u5A6F\u4855\u0000\u0000\u0000\u0000\u4961\u374A"+
-        "\u5A72\u0000\u0000\u0000\u4032\u0000\u3E3D\u0000"+
-        "\u0000\u0000\u4352\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3647\u0000\u5A73\u5A77\u0000\u0000\u324B"+
-        "\u5A74\u5A76\u0000\u0000\u0000\u0000\u5A75\u0000"+
-        "\u0000\u3D6B\u0000\u0000\u0000\u0000\u4348\u3045"+
-        "\u5A78\u0000\u0000\u0000\u0000\u5A79\u0000\u0000"+
-        "\u0000\u0000\u442A\u0000\u0000\u0000\u4E71\u0000"+
-        "\u0000\u0000\u0000\u3B43\u0000\u0000\u4A6B\u0000"+
-        "\u0000\u0000\u0000\u0000\u4B3D\u0000\u0000\u0000"+
-        "\u5B22\u5A7B\u0000\u0000\u5A7E\u0000\u5A7D\u0000"+
-        "\u0000\u5A7A\u0000\u0000\u5B21\u0000\u0000\u465E"+
-        "\u0000\u5A7C\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5B23\u0000"+
-        "\u0000\u3D6C\u5B24\u0000\u4D4B\u4778\u0000\u0000"+
-        "\u5B25\u0000\u0000\u0000\u0000\u0000\u5B27\u0000"+
-        "\u0000\u5B28\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5B29\u0000\u364A\u3148\u3939\u5B2A\u0000\u5B2B"+
-        "\u3D71\u4162\u0000\u0000\u5258\u413E\u413D\u4258"+
-        "\u3A47\u0000\u0000\u5072\u0000\u0000\u0000\u0000"+
-        "\u376E\u4D2D\u0000\u4A7E\u0000\u497E\u0000\u5B2C"+
-        "\u0000\u0000\u0000\u0000\u3A73\u443F\u5B2D\u4F2F"+
-        "\u0000\u0000\u0000\u4B3E\u0000\u442B\u5B2E\u347C"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5B2F\u5B30"+
-        "\u4C5A\u0000\u4C24\u4B76\u4B5C\u3B25\u5B32\u0000"+
-        "\u0000\u3C6B\u0000\u0000\u4B51\u0000\u5B34\u5B37"+
-        "\u5B36\u0000\u3479\u0000\u0000\u3560\u0000\u5B33"+
-        "\u0000\u5B35\u0000\u0000\u0000\u0000\u5B38\u0000"+
-        "\u0000\u3F79\u0000\u0000\u0000\u0000\u4D7B\u3049"+
-        "\u3A60\u423C\u0000\u3C5D\u0000\u0000\u3E73\u0000"+
-        "\u0000\u5B3B\u0000\u0000\u454E\u0000\u5B39\u422B"+
-        "\u5B3A\u3E72\u4C5D\u5B3C\u5B3D\u4D68\u0000\u0000"+
-        "\u0000\u0000\u5B42\u0000\u0000\u393A\u0000\u4755"+
-        "\u5B3F\u456C\u5A5E\u5A62\u0000\u354F\u0000\u4747"+
-        "\u0000\u0000\u0000\u0000\u5B41\u0000\u3E3E\u4844"+
-        "\u0000\u0000\u0000\u0000\u0000\u5B47\u0000\u487A"+
-        "\u0000\u5B3E\u0000\u5B44\u5B43\u0000\u0000\u0000"+
-        "\u404F\u0000\u0000\u0000\u0000\u4B6D\u0000\u4E53"+
-        "\u0000\u0000\u4B67\u0000\u324C\u3B5E\u0000\u0000"+
-        "\u4F48\u5B46\u3F75\u0000\u0000\u0000\u5B45\u0000"+
-        "\u0000\u5B40\u0000\u0000\u0000\u0000\u0000\u384F"+
-        "\u0000\u0000\u0000\u5B4C\u5B4A\u0000\u324D\u5B48"+
-        "\u5B4E\u5B54\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4248\u0000\u0000\u4A41\u0000\u5B56\u0000"+
-        "\u0000\u0000\u4922\u0000\u0000\u0000\u5B55\u4770"+
-        "\u4B3F\u343B\u0000\u4077\u3D40\u0000\u0000\u0000"+
-        "\u4453\u0000\u4D2E\u0000\u0000\u5B51\u5B50\u0000"+
-        "\u0000\u0000\u5B52\u0000\u5B4F\u0000\u0000\u5B57"+
-        "\u0000\u5B4D\u0000\u0000\u5B4B\u0000\u5B53\u5B49"+
-        "\u0000\u436C\u0000\u4C78\u3C46\u3A74\u0000\u0000"+
-        "\u0000\u0000\u0000\u3A3A\u0000\u0000\u4B6F\u3341"+
-        "\u0000\u0000\u444E\u464A\u3149\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4072\u0000\u0000\u4034\u372A"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5B59\u0000"+
-        "\u0000\u393B\u337C\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5B5B\u3374\u5B61\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u5B5E\u0000\u4073\u0000\u0000\u0000"+
-        "\u334B\u3A2C\u0000\u0000\u334A\u3A4F\u0000\u0000"+
-        "\u5B5C\u3765\u374B\u456D\u0000\u0000\u5B5A\u0000"+
-        "\u3046\u0000\u0000\u0000\u0000\u5B5D\u5B5F\u0000"+
-        "\u364D\u372C\u0000\u343C\u354B\u0000\u0000\u0000"+
-        "\u0000\u5B62\u0000\u0000\u3A79\u4B71\u0000\u3B37"+
-        "\u0000\u0000\u0000\u5B63\u0000\u0000\u0000\u4930"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5B6F\u0000\u3233\u5B64"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5B75\u5B65"+
-        "\u0000\u4E42\u0000\u5B6C\u0000\u475F\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5B74\u0000\u5B67"+
-        "\u0000\u0000\u0000\u3034\u5B69\u0000\u0000\u393C"+
-        "\u0000\u0000\u0000\u5B6B\u0000\u5B6A\u0000\u5B66"+
-        "\u5B71\u0000\u3E3F\u0000\u0000\u0000\u546D\u3868"+
-        "\u4D7C\u0000\u0000\u0000\u0000\u5B68\u0000\u4474"+
-        "\u3323\u3A2D\u0000\u5B60\u0000\u5B70\u3361\u0000"+
-        "\u0000\u5B6E\u5B72\u0000\u456E\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u347E\u0000\u5C32\u0000"+
-        "\u0000\u4C49\u5B77\u347D\u0000\u5B7E\u0000\u0000"+
-        "\u0000\u0000\u4B40\u0000\u5C21\u5C23\u0000\u5C27"+
-        "\u5B79\u0000\u432A\u0000\u0000\u0000\u0000\u456F"+
-        "\u5C2B\u5B7C\u0000\u5C28\u0000\u0000\u0000\u5C22"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3F39\u5C2C"+
-        "\u0000\u0000\u4033\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5C2A\u343D\u0000\u0000\u0000\u0000\u0000"+
-        "\u4F50\u5B76\u0000\u0000\u5C26\u3058\u0000\u0000"+
-        "\u5B78\u0000\u0000\u4C3A\u5B7D\u3F22\u4447\u5B73"+
-        "\u0000\u0000\u5C25\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3F7A\u5C2F\u3371\u3821\u0000\u0000\u0000"+
-        "\u0000\u5C31\u5B7A\u5C30\u0000\u5C29\u5B7B\u0000"+
-        "\u5C2D\u0000\u5C2E\u0000\u0000\u0000\u0000\u0000"+
-        "\u5C3F\u0000\u0000\u0000\u464E\u0000\u5C24\u0000"+
-        "\u0000\u5C3B\u0000\u0000\u0000\u5C3D\u0000\u4458"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4D4C\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4976\u5C38\u424A\u0000\u0000"+
-        "\u0000\u5C3E\u413F\u0000\u5C35\u5C42\u5C41\u0000"+
-        "\u466F\u5C40\u466A\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u5C44\u5C37\u0000\u3648\u5C3A\u3D5D"+
-        "\u0000\u0000\u0000\u4760\u5C3C\u364B\u0000\u5C34"+
-        "\u5C36\u5C33\u0000\u0000\u4F30\u335A\u5C39\u0000"+
-        "\u0000\u5C43\u3335\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3A67\u0000\u0000\u0000\u315D\u0000"+
-        "\u0000\u5C54\u0000\u0000\u4F31\u5C57\u0000\u0000"+
-        "\u0000\u0000\u0000\u3F3A\u5C56\u0000\u0000\u0000"+
-        "\u5C55\u0000\u0000\u0000\u0000\u0000\u0000\u5C52"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5C46\u0000"+
-        "\u0000\u5C63\u5C45\u0000\u5C58\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5C50\u0000\u0000\u5C4B\u5C48"+
-        "\u0000\u5C49\u0000\u5C51\u0000\u0000\u0000\u7422"+
-        "\u0000\u0000\u5C4E\u393D\u4448\u4164\u5C4C\u0000"+
-        "\u5C47\u0000\u0000\u5C4A\u0000\u0000\u0000\u0000"+
-        "\u4D4D\u4B6A\u0000\u0000\u0000\u5C4F\u5C59\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5C61"+
-        "\u5C5A\u0000\u0000\u5C67\u0000\u5C65\u0000\u0000"+
-        "\u0000\u0000\u5C60\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5C5F\u0000\u4450\u0000\u4165\u0000\u5C5D"+
-        "\u0000\u0000\u5C5B\u0000\u0000\u5C62\u0000\u0000"+
-        "\u0000\u0000\u5C68\u4875\u5C6E\u0000\u0000\u0000"+
-        "\u0000\u0000\u5C69\u5C6C\u5C66\u0000\u0000\u4374"+
-        "\u0000\u4938\u0000\u5C5C\u0000\u0000\u5C64\u3E40"+
-        "\u0000\u4C4F\u5C78\u5C6B\u0000\u0000\u0000\u0000"+
-        "\u0000\u3822\u3223\u335F\u0000\u0000\u5C53\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3E41\u5C70\u0000"+
-        "\u5C77\u3C79\u3372\u0000\u0000\u432E\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5C6D\u0000\u0000\u5C72"+
-        "\u5C76\u0000\u0000\u3636\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u354C\u5C74\u0000\u0000\u0000\u0000\u0000\u3521"+
-        "\u0000\u464B\u5C73\u0000\u0000\u0000\u5C75\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u5C6F\u0000\u0000\u0000\u0000\u0000"+
-        "\u5C71\u0000\u0000\u0000\u0000\u0000\u0000\u3360"+
-        "\u4349\u0000\u0000\u0000\u5C7C\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5C7A\u3869\u0000"+
-        "\u5C79\u0000\u0000\u0000\u0000\u0000\u0000\u5D21"+
-        "\u0000\u0000\u0000\u0000\u5B58\u0000\u0000\u0000"+
-        "\u5C7B\u0000\u5C7D\u5C7E\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u5D2C\u0000\u5D28\u0000\u5B6D\u0000"+
-        "\u0000\u0000\u0000\u5D27\u0000\u0000\u0000\u0000"+
-        "\u5D26\u0000\u0000\u5D23\u0000\u0000\u0000\u0000"+
-        "\u0000\u5C6A\u5D25\u5D24\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5D2A\u0000\u4F26\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u5D2D\u367B\u0000\u0000\u5D29\u5D2B"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4827\u0000\u5D2E\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u5D32\u5D2F\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u4D73\u5D30\u0000\u0000"+
-        "\u0000\u0000\u5C5E\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u5D33\u0000\u0000\u0000\u5D34\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3135\u0000\u5D36"+
-        "\u3767\u3C21\u0000\u3655\u0000\u0000\u0000\u3224"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4D5F\u0000\u0000\u0000\u0000\u5D38"+
-        "\u5D37\u5D3A\u353D\u0000\u0000\u3656\u343E\u0000"+
-        "\u0000\u0000\u0000\u5D3D\u0000\u0000\u0000\u5D3C"+
-        "\u0000\u5D3E\u0000\u0000\u324E\u0000\u4337\u0000"+
-        "\u5D3F\u0000\u0000\u343F\u5D41\u0000\u0000\u0000"+
-        "\u0000\u5D40\u0000\u5D42\u0000\u0000\u0000\u5D43"+
-        "\u0000\u5D44\u3B5F\u4035\u3A21\u0000\u4970\u0000"+
-        "\u0000\u4A62\u4F44\u0000\u0000\u0000\u0000\u3B75"+
-        "\u0000\u0000\u0000\u3A50\u4E72\u0000\u0000\u0000"+
-        "\u5D45\u5D46\u0000\u3B60\u0000\u0000\u0000\u5D47"+
-        "\u5D48\u0000\u0000\u5D4A\u5D49\u0000\u4B58\u0000"+
-        "\u0000\u3D5E\u3C6C\u3B44\u0000\u5D4B\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5D4D\u3F23\u0000"+
-        "\u5D4C\u0000\u0000\u0000\u0000\u0000\u5D4E\u0000"+
-        "\u0000\u0000\u0000\u0000\u5D4F\u0000\u0000\u0000"+
-        "\u0000\u0000\u5D50\u5D51\u0000\u0000\u0000\u5D52"+
-        "\u0000\u5D54\u5D53\u5D55\u3225\u434A\u0000\u5D56"+
-        "\u0000\u0000\u3B26\u334C\u5D57\u0000\u0000\u4542"+
-        "\u544C\u0000\u0000\u0000\u0000\u3523\u5D58\u0000"+
-        "\u0000\u0000\u0000\u5D59\u0000\u4A6C\u4B68\u0000"+
-        "\u0000\u0000\u4647\u5D5A\u4866\u0000\u0000\u0000"+
-        "\u487B\u0000\u0000\u4C53\u0000\u0000\u0000\u5D5B"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5D5D\u5D5C\u0000\u0000\u5D5F"+
-        "\u0000\u0000\u0000\u5D5E\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5D61\u0000\u0000\u0000\u0000\u0000\u0000\u3B61"+
-        "\u0000\u4C31\u0000\u5D62\u5D63\u0000\u0000\u3524"+
-        "\u0000\u0000\u0000\u5D64\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5D66\u5D65\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3F65\u0000\u0000\u4939"+
-        "\u314A\u0000\u0000\u0000\u0000\u0000\u4845\u0000"+
-        "\u4475\u3D41\u3561\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4846\u0000"+
-        "\u3C2E\u0000\u0000\u0000\u0000\u5D68\u0000\u3440"+
-        "\u0000\u0000\u3178\u0000\u0000\u4672\u5D67\u393E"+
-        "\u4353\u0000\u5D69\u0000\u0000\u0000\u0000\u0000"+
-        "\u5D71\u0000\u5D6A\u0000\u0000\u0000\u0000\u0000"+
-        "\u4241\u0000\u3562\u5D72\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3768\u0000\u0000\u3525\u5D70\u0000"+
-        "\u0000\u5D6E\u5D6B\u4D60\u0000\u0000\u0000\u0000"+
-        "\u4440\u0000\u0000\u0000\u4659\u5D6C\u0000\u0000"+
-        "\u5D74\u0000\u5D73\u3723\u0000\u0000\u322D\u0000"+
-        "\u0000\u3A3B\u5D6D\u5D6F\u0000\u0000\u0000\u0000"+
-        "\u0000\u4B57\u4274\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4B77\u0000\u0000\u5D7C\u0000"+
-        "\u0000\u5D7D\u0000\u324F\u0000\u0000\u0000\u0000"+
-        "\u4A28\u4C7D\u5E21\u3C23\u3E42\u5D78\u5D7E\u3168"+
-        "\u0000\u3637\u0000\u0000\u5D75\u5D7A\u0000\u0000"+
-        "\u0000\u4074\u4771\u0000\u4867\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5D77\u0000\u4B21\u0000\u5D79"+
-        "\u0000\u5E24\u0000\u5E22\u0000\u5D7B\u0000\u0000"+
-        "\u0000\u4B22\u4748\u3563\u0000\u4525\u0000\u0000"+
-        "\u436D\u0000\u5E25\u0000\u0000\u0000\u0000\u5E23"+
-        "\u4259\u5D76\u0000\u314B\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4D4E\u5E30\u0000\u0000\u0000"+
-        "\u0000\u0000\u5E2F\u0000\u0000\u0000\u0000\u4076"+
-        "\u0000\u5E2C\u0000\u4D6C\u0000\u0000\u4636\u5E26"+
-        "\u0000\u0000\u0000\u0000\u0000\u4445\u0000\u0000"+
-        "\u0000\u314C\u393F\u5E29\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3D27\u5E2E\u0000\u5E2D\u5E28\u0000"+
-        "\u5E2B\u0000\u0000\u3368\u0000\u5E2A\u4749\u0000"+
-        "\u0000\u4E2E\u0000\u0000\u3E74\u4075\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5E36\u5E34\u0000\u494D\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5E31\u5E33\u0000\u313A\u0000"+
-        "\u0000\u3940\u4F32\u0000\u333D\u0000\u4962\u0000"+
-        "\u0000\u0000\u0000\u0000\u4D61\u0000\u0000\u3324"+
-        "\u3F3B\u5E35\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5E3A\u0000\u0000"+
-        "\u3E43\u0000\u0000\u0000\u4D30\u0000\u5E37\u0000"+
-        "\u0000\u0000\u0000\u5E32\u0000\u5E38\u0000\u0000"+
-        "\u0000\u4E5E\u0000\u4573\u4642\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3336"+
-        "\u0000\u0000\u3155\u0000\u0000\u5E3E\u0000\u0000"+
-        "\u5E41\u0000\u0000\u0000\u4E43\u0000\u0000\u0000"+
-        "\u4D64\u0000\u0000\u0000\u0000\u5E48\u5E42\u5E3F"+
-        "\u0000\u0000\u0000\u4E54\u5E45\u0000\u0000\u0000"+
-        "\u0000\u3D4A\u5E47\u0000\u0000\u5E4C\u0000\u0000"+
-        "\u4571\u5E4A\u0000\u0000\u0000\u0000\u5E44\u0000"+
-        "\u0000\u4338\u0000\u0000\u5E4B\u0000\u5E40\u0000"+
-        "\u5E46\u0000\u5E4D\u307C\u5E43\u0000\u5E4E\u0000"+
-        "\u0000\u3F3C\u0000\u3D5F\u0000\u4A25\u0000\u3A2E"+
-        "\u0000\u5E3B\u5E49\u453A\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4036\u0000\u3369"+
-        "\u3A51\u3E44\u5E3D\u3D42\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u374C\u0000\u5E3C\u0000\u0000"+
-        "\u0000\u5E52\u3D6D\u383A\u0000\u5E61\u0000\u5E5B"+
-        "\u3574\u454F\u0000\u5E56\u5E5F\u302F\u3132\u0000"+
-        "\u0000\u3239\u0000\u5E58\u422C\u5E4F\u5E51\u3941"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5E62\u0000\u5E5D\u0000\u0000\u0000\u5E55\u0000"+
-        "\u0000\u0000\u0000\u5E5C\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4C2B\u0000\u0000\u5E5A\u5E5E\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3850\u0000"+
-        "\u3E45\u0000\u0000\u4339\u0000\u0000\u0000\u5E54"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4D2F"+
-        "\u0000\u0000\u0000\u5E57\u0000\u0000\u5E50\u4572"+
-        "\u0000\u0000\u5E53\u0000\u0000\u0000\u5E59\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4F51\u3C3E"+
-        "\u4B7E\u0000\u5E63\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u482E\u0000\u0000\u5E6F"+
-        "\u383B\u0000\u0000\u0000\u0000\u0000\u3D60\u0000"+
-        "\u5E65\u0000\u0000\u0000\u4E2F\u3942\u0000\u5E72"+
-        "\u0000\u0000\u306E\u0000\u0000\u5E70\u0000\u0000"+
-        "\u0000\u0000\u5E64\u0000\u0000\u0000\u0000\u5E6A"+
-        "\u0000\u0000\u5E6C\u0000\u0000\u0000\u4D4F\u5E67"+
-        "\u0000\u0000\u452E\u0000\u0000\u5E69\u0000\u0000"+
-        "\u0000\u0000\u5E71\u0000\u5E6B\u4C47\u0000\u0000"+
-        "\u0000\u5E66\u0000\u3C22\u5E7E\u0000\u0000\u0000"+
-        "\u0000\u336A\u0000\u5E68\u5E6D\u5E6E\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u426C\u425A\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5E76\u0000\u0000\u5E7C"+
-        "\u0000\u0000\u5E7A\u0000\u4529\u0000\u0000\u5F23"+
-        "\u5E77\u0000\u0000\u0000\u0000\u0000\u5E78\u5E60"+
-        "\u0000\u3579\u493A\u0000\u0000\u0000\u3C3F\u0000"+
-        "\u0000\u3977\u0000\u0000\u0000\u0000\u0000\u4F33"+
-        "\u0000\u5E74\u0000\u5F22\u3169\u4166\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4779\u0000\u3441\u4E7A\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4C21\u4452\u0000\u0000\u0000"+
-        "\u0000\u5E7B\u5E7D\u0000\u0000\u0000\u0000\u0000"+
-        "\u4132\u0000\u0000\u0000\u0000\u0000\u5F21\u5E79"+
-        "\u0000\u5E73\u0000\u0000\u0000\u3443\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3769\u0000\u0000\u0000"+
-        "\u5F2F\u0000\u0000\u5F2A\u4078\u0000\u0000\u3363"+
-        "\u0000\u0000\u0000\u0000\u3D61\u0000\u5F33\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5F2C\u442C\u5F29"+
-        "\u4459\u0000\u0000\u0000\u5F4C\u0000\u0000\u0000"+
-        "\u5F26\u0000\u5F25\u0000\u5F2E\u0000\u0000\u0000"+
-        "\u5F28\u5F27\u5F2D\u0000\u4021\u0000\u5F24\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5F30\u0000"+
-        "\u0000\u5F31\u0000\u0000\u0000\u0000\u0000\u3442"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5F36\u0000\u5F35\u5F37\u0000\u0000\u0000"+
-        "\u0000\u0000\u5F3A\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4543\u0000\u5F34\u0000\u0000\u0000\u0000"+
-        "\u0000\u5F38\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3763\u4279\u5F32\u473B\u0000\u0000\u5F39\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5F3E\u5F3C\u0000\u0000"+
-        "\u5F3F\u0000\u0000\u5F42\u0000\u0000\u0000\u5F3B"+
-        "\u396A\u4728\u0000\u0000\u5E39\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4D74\u5F3D\u0000\u5F41\u4275"+
-        "\u0000\u5F40\u0000\u5F2B\u0000\u0000\u6F69\u0000"+
-        "\u0000\u0000\u5F45\u0000\u0000\u0000\u5F49\u0000"+
-        "\u0000\u5F47\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5F43\u0000\u5F44\u0000\u0000\u0000\u5F48"+
-        "\u0000\u5F46\u0000\u0000\u0000\u494E\u0000\u0000"+
-        "\u5F4E\u0000\u5F4B\u5F4A\u0000\u5F4D\u4654\u5F4F"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4375\u426D"+
-        "\u0000\u0000\u0000\u0000\u4025\u0000\u0000\u0000"+
-        "\u5F50\u0000\u5F52\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5F51\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5E75\u0000\u0000\u0000"+
-        "\u0000\u5F53\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4667\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5F54\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3250\u0000\u0000\u0000\u4574"+
-        "\u3325\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3564\u0000\u0000\u0000\u3C5E\u3A52\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4F27\u3F66\u0000\u0000\u0000\u316A\u0000"+
-        "\u0000\u0000\u5F56\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5F55\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5F59\u433A\u5F5C\u5F57"+
-        "\u0000\u0000\u0000\u5F5B\u0000\u0000\u0000\u0000"+
-        "\u5F5A\u4540\u3059\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4E75\u0000\u0000\u5F5E\u0000\u0000\u0000\u3128"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5F60\u0000\u0000\u0000\u5F5F\u0000\u5F5D"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5F58\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4B23\u0000\u0000\u0000\u5F62\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5F61\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u316B\u0000\u0000\u0000"+
-        "\u0000\u5F64\u4A32\u0000\u5F63\u0000\u0000\u0000"+
-        "\u0000\u4C35\u0000\u0000\u0000\u0000\u3E47\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4133\u0000"+
-        "\u0000\u0000\u0000\u0000\u3E46\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4E7B\u0000\u0000\u5F6A\u0000\u4079\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5F66\u5F6B\u0000"+
-        "\u0000\u316C\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u5F69\u0000\u4761\u5F65\u5F68\u3E48"+
-        "\u0000\u4851\u0000\u0000\u5F6C\u0000\u3C51\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u407A\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5F6F\u0000\u0000\u0000"+
-        "\u5F67\u0000\u3727\u0000\u0000\u0000\u0000\u5F6D"+
-        "\u0000\u0000\u0000\u0000\u4D50\u5F70\u0000\u0000"+
-        "\u0000\u7426\u0000\u0000\u0000\u0000\u0000\u3D4F"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5F71\u0000\u0000\u0000\u5F72\u0000\u0000\u0000"+
-        "\u0000\u472E\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5F74\u0000\u0000\u0000\u0000\u5F75\u0000"+
-        "\u0000\u0000\u0000\u4733\u0000\u0000\u0000\u0000"+
-        "\u4575\u5F77\u0000\u0000\u0000\u0000\u5F79\u0000"+
-        "\u4E55\u0000\u5F76\u0000\u5F78\u316D\u0000\u5F73"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u535B"+
-        "\u5F7A\u0000\u0000\u0000\u0000\u4167\u3B38\u5F7C"+
-        "\u0000\u0000\u0000\u0000\u5F7B\u3F24\u5259\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5F7D\u0000\u0000"+
-        "\u0000\u6021\u0000\u5F6E\u5F7E\u0000\u0000\u6022"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u477A\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6023\u0000\u0000"+
-        "\u6024\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6025\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6026\u0000\u445E\u0000\u6028\u6027\u0000\u0000"+
-        "\u6029\u0000\u602A\u0000\u0000\u3C5F\u4963\u0000"+
-        "\u0000\u0000\u4C6C\u602B\u602C\u4156\u3C24\u602D"+
-        "\u602E\u0000\u0000\u0000\u0000\u0000\u602F\u4A52"+
-        "\u4847\u0000\u0000\u6030\u4757\u0000\u0000\u0000"+
-        "\u0000\u0000\u442D\u0000\u0000\u0000\u0000\u0000"+
-        "\u6031\u3267\u0000\u356D\u0000\u4C46\u0000\u4C36"+
-        "\u0000\u3234\u4F34\u0000\u0000\u0000\u0000\u4B52"+
-        "\u0000\u4A2A\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4037\u0000\u6032\u0000\u0000\u0000"+
-        "\u0000\u4643\u0000\u0000\u0000\u3823\u6033\u0000"+
-        "\u3A54\u6035\u6034\u0000\u0000\u0000\u0000\u6036"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6037\u0000\u0000\u0000\u6038\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u353E\u0000\u6039\u0000\u0000\u0000\u0000\u603A"+
-        "\u0000\u0000\u0000\u0000\u3824\u0000\u0000\u4848"+
-        "\u0000\u0000\u603C\u0000\u0000\u0000\u3E75\u0000"+
-        "\u0000\u603B\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3638\u603D\u603F\u0000\u603E\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6040\u0000"+
-        "\u3851\u0000\u6041\u0000\u0000\u0000\u0000\u3669"+
-        "\u0000\u4140\u0000\u397D\u0000\u0000\u0000\u0000"+
-        "\u6043\u6044\u6042\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3C6D\u0000\u0000\u4648\u3639\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6046"+
-        "\u432C\u6045\u0000\u0000\u4F35\u4762\u0000\u0000";
-
-    private final static String innerIndex3=
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6049\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u604B\u6048"+
-        "\u0000\u0000\u0000\u4C54\u604A\u604C\u0000\u4E44"+
-        "\u0000\u0000\u0000\u0000\u0000\u6050\u0000\u0000"+
-        "\u0000\u604F\u4376\u472D\u0000\u0000\u3825\u604E"+
-        "\u0000\u0000\u0000\u0000\u604D\u0000\u4D31\u4D32"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6051\u316E"+
-        "\u0000\u0000\u0000\u0000\u3976\u3B62\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6052\u6053"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6055"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3D43\u0000\u0000\u0000\u0000"+
-        "\u6057\u0000\u6056\u0000\u0000\u0000\u0000\u0000"+
-        "\u6058\u0000\u334D\u0000\u0000\u605A\u0000\u0000"+
-        "\u6059\u0000\u605C\u605B\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u383C\u0000\u0000\u4E28"+
-        "\u0000\u364C\u0000\u3226\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u366A\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3461\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4E68\u605E\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6060\u0000\u0000\u0000\u0000"+
-        "\u6061\u0000\u3251\u0000\u0000\u0000\u0000\u0000"+
-        "\u605D\u0000\u3B39\u0000\u0000\u4441\u605F\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6064\u0000"+
-        "\u3C6E\u0000\u0000\u0000\u0000\u6062\u0000\u0000"+
-        "\u0000\u0000\u373E\u0000\u0000\u4849\u6063\u0000"+
-        "\u0000\u607E\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6069\u0000\u0000\u0000\u0000\u0000\u383D\u0000"+
-        "\u0000\u0000\u0000\u3565\u0000\u6066\u4D7D\u0000"+
-        "\u0000\u4E30\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4276\u0000\u0000\u6068\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u606A\u4E56\u3657\u487C\u474A\u0000"+
-        "\u0000\u0000\u606B\u0000\u0000\u0000\u0000\u606D"+
-        "\u0000\u6070\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u606C\u0000\u0000"+
-        "\u0000\u606F\u386A\u314D\u6071\u0000\u3F70\u606E"+
-        "\u4E5C\u0000\u0000\u6074\u7424\u0000\u0000\u0000"+
-        "\u0000\u6072\u6075\u0000\u0000\u0000\u0000\u6067"+
-        "\u6073\u0000\u0000\u3A3C\u0000\u0000\u6076\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6077\u0000"+
-        "\u0000\u0000\u0000\u4D7E\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6078\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6079\u0000"+
-        "\u0000\u0000\u6065\u0000\u0000\u0000\u0000\u607A"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3444\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3C25\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u607B\u0000\u0000\u0000\u0000\u607C"+
-        "\u0000\u0000\u0000\u0000\u607D\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u313B\u0000\u0000\u0000"+
-        "\u6121\u0000\u493B\u6122\u0000\u0000\u3424\u6123"+
-        "\u0000\u6124\u0000\u0000\u0000\u0000\u6125\u0000"+
-        "\u6127\u6128\u6126\u0000\u0000\u0000\u4953\u612A"+
-        "\u6129\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u612C\u612B\u612D\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u612E\u6130\u612F\u0000"+
-        "\u0000\u3979\u0000\u6132\u0000\u6131\u0000\u0000"+
-        "\u3445\u0000\u3F53\u0000\u453C\u0000\u6133\u4038"+
-        "\u0000\u0000\u0000\u3B3A\u0000\u3179\u6134\u0000"+
-        "\u4D51\u0000\u0000\u4A63\u6135\u0000\u0000\u0000"+
-        "\u4544\u4D33\u3943\u3F3D\u0000\u0000\u0000\u434B"+
-        "\u5234\u0000\u442E\u3268\u6136\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u6137\u0000\u613C\u0000"+
-        "\u0000\u613A\u6139\u5A42\u3326\u6138\u0000\u305A"+
-        "\u0000\u482A\u0000\u0000\u484A\u0000\u0000\u0000"+
-        "\u0000\u4E31\u613D\u613B\u435C\u4026\u0000\u0000"+
-        "\u482B\u0000\u492D\u0000\u613F\u4E2C\u374D\u6140"+
-        "\u0000\u613E\u4856\u6141\u0000\u6142\u0000\u0000"+
-        "\u305B\u0000\u0000\u3E76\u6147\u0000\u6144\u466D"+
-        "\u6143\u0000\u0000\u0000\u0000\u0000\u0000\u3526"+
-        "\u0000\u0000\u614A\u0000\u0000\u0000\u6145\u6146"+
-        "\u0000\u6149\u6148\u4925\u0000\u0000\u4142\u4141"+
-        "\u0000\u353F\u0000\u0000\u614B\u0000\u0000\u0000"+
-        "\u0000\u0000\u614C\u0000\u0000\u614D\u0000\u0000"+
-        "\u0000\u0000\u0000\u614F\u0000\u614E\u0000\u0000"+
-        "\u0000\u0000\u0000\u3156\u0000\u0000\u0000\u0000"+
-        "\u0000\u6157\u4868\u6151\u0000\u6153\u0000\u0000"+
-        "\u6155\u3F3E\u0000\u0000\u6156\u6154\u3C40\u0000"+
-        "\u0000\u0000\u6150\u6152\u0000\u4942\u0000\u3E49"+
-        "\u0000\u0000\u6159\u0000\u0000\u6158\u0000\u0000"+
-        "\u0000\u0000\u615A\u0000\u3C26\u3A2F\u0000\u0000"+
-        "\u4577\u615B\u0000\u444B\u0000\u0000\u615D\u0000"+
-        "\u0000\u0000\u4E21\u615C\u0000\u0000\u0000\u0000"+
-        "\u0000\u4169\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6162\u0000\u6164\u6165\u4354\u0000\u0000\u0000"+
-        "\u0000\u0000\u6163\u0000\u6160\u0000\u615E\u615F"+
-        "\u0000\u6161\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6168\u0000\u6166\u0000\u6167\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6169"+
-        "\u616B\u616C\u616D\u0000\u616E\u0000\u0000\u616A"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6170\u0000\u0000\u0000\u616F\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6171\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4E45\u0000\u0000\u0000\u6174\u6172"+
-        "\u6173\u0000\u0000\u0000\u3462\u0000\u0000\u0000"+
-        "\u0000\u0000\u4C7E\u0000\u0000\u0000\u4A4A\u0000"+
-        "\u6176\u0000\u0000\u0000\u6175\u0000\u0000\u0000"+
-        "\u0000\u6177\u6178\u0000\u0000\u0000\u0000\u617C"+
-        "\u6179\u617A\u617B\u0000\u617D\u0000\u0000\u0000"+
-        "\u617E\u0000\u6221\u0000\u0000\u0000\u6222\u0000"+
-        "\u6223\u0000\u482F\u4550\u6224\u4772\u4934\u0000"+
-        "\u6225\u0000\u0000\u6226\u452A\u0000\u3327\u3944"+
-        "\u6227\u0000\u0000\u6228\u0000\u0000\u6229\u0000"+
-        "\u3B29\u0000\u0000\u622B\u0000\u0000\u622A\u0000"+
-        "\u0000\u622C\u622D\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4869\u0000"+
-        "\u622E\u0000\u0000\u0000\u622F\u0000\u0000\u7369"+
-        "\u6230\u6231\u6232\u0000\u0000\u0000\u0000\u3B2E"+
-        "\u0000\u0000\u6233\u4756\u0000\u0000\u4B5F\u0000"+
-        "\u314E\u0000\u3157\u0000\u0000\u6234\u0000\u0000"+
-        "\u0000\u0000\u6236\u0000\u0000\u0000\u6235\u4570"+
-        "\u0000\u0000\u0000\u4039\u5D39\u0000\u6237\u4C41"+
-        "\u0000\u6238\u0000\u3446\u4857\u6239\u0000\u623A"+
-        "\u0000\u0000\u623B\u0000\u0000\u0000\u4C5C\u0000"+
-        "\u0000\u0000\u4C55\u0000\u443E\u0000\u0000\u0000"+
-        "\u416A\u0000\u0000\u623D\u0000\u0000\u3D62\u0000"+
-        "\u0000\u3E4A\u0000\u0000\u6240\u0000\u0000\u623F"+
-        "\u623E\u487D\u0000\u3447\u3829\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6246\u0000\u0000\u6243\u3F3F"+
-        "\u4C32\u0000\u0000\u0000\u6242\u6244\u6245\u0000"+
-        "\u0000\u6241\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6247"+
-        "\u6248\u0000\u442F\u0000\u3463\u0000\u0000\u0000"+
-        "\u4365\u0000\u0000\u0000\u0000\u0000\u0000\u6249"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u624A\u624D\u0000\u0000\u0000\u0000"+
-        "\u0000\u3F67\u0000\u4644\u0000\u624E\u4B53\u0000"+
-        "\u624B\u0000\u0000\u624C\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6251\u0000\u0000\u0000\u0000\u6250\u624F"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6253\u0000\u0000\u6252\u0000"+
-        "\u0000\u6254\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6256\u0000"+
-        "\u6255\u0000\u0000\u0000\u0000\u4A4D\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3D56\u4E46\u0000\u0000"+
-        "\u6257\u0000\u0000\u4637\u0000\u0000\u6258\u0000"+
-        "\u0000\u6259\u0000\u625D\u625B\u625C\u0000\u625A"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u625E"+
-        "\u0000\u0000\u0000\u0000\u0000\u625F\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6260"+
-        "\u0000\u0000\u6261\u4C37\u6262\u0000\u0000\u0000"+
-        "\u0000\u0000\u4C70\u6263\u0000\u434E\u0000\u476A"+
-        "\u0000\u366B\u0000\u0000\u0000\u433B\u6264\u363A"+
-        "\u0000\u0000\u0000\u4050\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u6265\u0000\u0000\u0000"+
-        "\u0000\u0000\u3A3D\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u6266\u0000\u0000\u0000"+
-        "\u0000\u0000\u6267\u0000\u3826\u3A55\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6269\u0000\u0000\u0000\u0000\u4556\u3A56\u354E"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4B24\u0000\u474B\u0000\u0000\u0000"+
-        "\u0000\u0000\u4557\u0000\u0000\u0000\u0000\u395C"+
-        "\u0000\u0000\u0000\u0000\u0000\u626B\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3E4B\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4E32\u3945\u0000\u0000\u3827"+
-        "\u0000\u0000\u4823\u0000\u626D\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u626F\u0000\u0000\u0000"+
-        "\u0000\u386B\u0000\u0000\u0000\u0000\u626E\u4476"+
-        "\u0000\u0000\u0000\u0000\u6271\u3337\u626C\u0000"+
-        "\u0000\u486A\u0000\u3130\u0000\u3A6C\u0000\u4F52"+
-        "\u0000\u0000\u6270\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6272\u0000\u0000\u0000\u4A4B"+
-        "\u0000\u4059\u6274\u0000\u0000\u0000\u0000\u6275"+
-        "\u0000\u0000\u0000\u0000\u0000\u6273\u0000\u0000"+
-        "\u0000\u0000\u334E\u0000\u627B\u0000\u627A\u0000"+
-        "\u0000\u3C27\u0000\u0000\u0000\u627C\u6277\u0000"+
-        "\u0000\u0000\u627D\u6278\u0000\u0000\u0000\u0000"+
-        "\u4858\u6276\u0000\u0000\u6279\u0000\u0000\u0000"+
-        "\u0000\u0000\u6322\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6321"+
-        "\u4B61\u0000\u0000\u0000\u627E\u0000\u0000\u306B"+
-        "\u0000\u0000\u0000\u0000\u6324\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6323\u0000\u0000"+
-        "\u0000\u3E4C\u0000\u0000\u0000\u0000\u0000\u6325"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4143\u0000"+
-        "\u0000\u6327\u6326\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6328\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6268\u0000"+
-        "\u0000\u0000\u626A\u632A\u6329\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3C28\u0000\u4E69\u0000\u3C52\u0000"+
-        "\u632B\u3737\u0000\u0000\u0000\u0000\u0000\u3540"+
-        "\u3527\u3B63\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4D34\u0000\u0000\u6331\u0000\u6330\u4144\u632D"+
-        "\u0000\u0000\u632F\u0000\u0000\u3D4B\u3F40\u632E"+
-        "\u632C\u0000\u472A\u0000\u0000\u3E4D\u0000\u0000"+
-        "\u493C\u0000\u0000\u0000\u0000\u3A57\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4578"+
-        "\u0000\u0000\u6332\u0000\u0000\u0000\u0000\u6333"+
-        "\u6349\u3658\u0000\u0000\u4F3D\u4135\u0000\u0000"+
-        "\u0000\u0000\u6334\u0000\u0000\u3252\u4477\u4A21"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6335\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u357A\u6336"+
-        "\u0000\u0000\u6338\u0000\u0000\u0000\u6339\u0000"+
-        "\u4729\u0000\u0000\u633A\u0000\u0000\u0000\u0000"+
-        "\u0000\u633B\u633C\u0000\u0000\u3659\u3253\u4645"+
-        "\u3D28\u3B64\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u633D\u0000\u3D29\u0000\u0000\u0000\u0000"+
-        "\u0000\u324A\u4943\u0000\u0000\u633E\u0000\u0000"+
-        "\u486B\u0000\u0000\u0000\u0000\u0000\u0000\u4145"+
-        "\u0000\u6341\u0000\u6342\u4769\u0000\u3F41\u633F"+
-        "\u0000\u4361\u0000\u0000\u6340\u0000\u0000\u0000"+
-        "\u3E4E\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u305C\u0000\u0000\u0000\u0000"+
-        "\u3529\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6343\u0000\u0000\u4478\u0000\u6344\u4047\u0000"+
-        "\u0000\u0000\u0000\u0000\u4C2D\u0000\u0000\u4923"+
-        "\u6345\u6346\u4355\u0000\u4E47\u0000\u0000\u6348"+
-        "\u6347\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3C6F\u0000"+
-        "\u0000\u634A\u3070\u0000\u0000\u0000\u0000\u634D"+
-        "\u0000\u0000\u0000\u634B\u3254\u374E\u634C\u3946"+
-        "\u3972\u0000\u4A66\u634E\u0000\u0000\u4B54\u0000"+
-        "\u0000\u6350\u0000\u0000\u0000\u4051\u314F\u323A"+
-        "\u302C\u0000\u0000\u0000\u0000\u0000\u0000\u634F"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6351\u6352\u3E77\u0000\u0000\u0000\u0000"+
-        "\u0000\u6353\u0000\u334F\u0000\u0000\u0000\u0000"+
-        "\u6355\u0000\u0000\u0000\u376A\u0000\u3566\u0000"+
-        "\u0000\u6356\u3675\u0000\u0000\u6357\u0000\u407C"+
-        "\u0000\u464D\u0000\u4060\u3A75\u0000\u0000\u0000"+
-        "\u6358\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4362\u416B\u0000\u635A\u635C\u6359"+
-        "\u635B\u0000\u0000\u0000\u0000\u0000\u0000\u3722"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u635D\u3726\u0000\u0000\u0000\u3567\u4D52"+
-        "\u635F\u0000\u0000\u0000\u0000\u0000\u6360\u0000"+
-        "\u0000\u0000\u312E\u0000\u0000\u0000\u0000\u6363"+
-        "\u0000\u0000\u0000\u3376\u6362\u6361\u0000\u6365"+
-        "\u635E\u0000\u6366\u4E29\u0000\u6367\u0000\u6368"+
-        "\u0000\u0000\u5474\u636A\u0000\u6369\u0000\u0000"+
-        "\u0000\u636B\u636C\u0000\u4E35\u636D\u0000\u706F"+
-        "\u3E4F\u636E\u636F\u3D57\u0000\u4638\u6370\u0000"+
-        "\u0000\u0000\u4328\u0000\u0000\u6371\u0000\u433C"+
-        "\u6372\u0000\u0000\u0000\u0000\u0000\u3625\u0000"+
-        "\u513F\u435D\u3C33\u0000\u0000\u0000\u0000\u3448"+
-        "\u0000\u0000\u6373\u0000\u6422\u0000\u6376\u0000"+
-        "\u3568\u0000\u6375\u6424\u0000\u0000\u0000\u6374"+
-        "\u0000\u3E50\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6378\u6379\u0000\u452B\u0000\u0000\u637A\u0000"+
-        "\u335E\u0000\u0000\u0000\u0000\u3F5A\u4964\u0000"+
-        "\u637C\u0000\u0000\u0000\u4268\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6377\u0000\u637B\u637D\u0000"+
-        "\u0000\u3A7B\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6426\u492E\u0000"+
-        "\u4826\u4579\u0000\u365A\u6425\u6423\u0000\u4835"+
-        "\u637E\u435E\u457B\u0000\u457A\u0000\u3A76\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6438\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6428\u0000\u642A"+
-        "\u0000\u0000\u0000\u0000\u642D\u0000\u642E\u0000"+
-        "\u642B\u642C\u0000\u0000\u6429\u6427\u0000\u0000"+
-        "\u0000\u0000\u6421\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4A4F\u3255"+
-        "\u0000\u0000\u0000\u6435\u0000\u6432\u0000\u6437"+
-        "\u0000\u0000\u6436\u0000\u4773\u4C27\u0000\u3B3B"+
-        "\u6430\u6439\u6434\u0000\u6433\u642F\u0000\u6431"+
-        "\u0000\u3449\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u433D\u0000\u0000\u407D\u0000\u0000"+
-        "\u0000\u4822\u0000\u0000\u643E\u0000\u0000\u0000"+
-        "\u4824\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4061\u643B\u0000\u0000\u484F\u0000\u643F\u4A53"+
-        "\u0000\u435B\u0000\u643A\u643C\u0000\u0000\u643D"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6440\u0000\u0000"+
-        "\u3C44\u0000\u0000\u0000\u4646\u6445\u6444\u0000"+
-        "\u0000\u6441\u0000\u0000\u0000\u4F36\u0000\u0000"+
-        "\u0000\u0000\u0000\u644A\u0000\u0000\u644E\u644B"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6447\u0000\u0000\u0000\u0000\u0000\u0000\u6448"+
-        "\u0000\u0000\u0000\u0000\u0000\u644D\u0000\u0000"+
-        "\u0000\u6442\u5255\u6449\u6443\u0000\u0000\u644C"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6452"+
-        "\u0000\u344A\u0000\u644F\u0000\u0000\u0000\u6450"+
-        "\u0000\u0000\u6451\u6454\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6453"+
-        "\u4876\u0000\u0000\u0000\u0000\u6455\u4E7C\u4A6D"+
-        "\u645A\u0000\u0000\u6457\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u6456\u4052\u0000\u6459"+
-        "\u645B\u0000\u0000\u0000\u6458\u0000\u645F\u0000"+
-        "\u645C\u0000\u0000\u0000\u0000\u0000\u0000\u645D"+
-        "\u6446\u0000\u0000\u0000\u645E\u6460\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u6461\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4A46\u0000\u6462\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4C62\u0000"+
-        "\u0000\u364E\u3729\u6463\u0000\u0000\u0000\u0000"+
-        "\u0000\u4A34\u0000\u3F68\u0000\u4C30\u0000\u0000"+
-        "\u6464\u0000\u4E33\u0000\u0000\u4774\u0000\u4146"+
-        "\u4734\u0000\u0000\u3D4D\u0000\u0000\u0000\u3040"+
-        "\u0000\u6469\u6467\u0000\u6465\u3421\u0000\u3E51"+
-        "\u646A\u0000\u0000\u6468\u0000\u6466\u646E\u0000"+
-        "\u0000\u646D\u646C\u646B\u0000\u0000\u0000\u0000"+
-        "\u0000\u646F\u0000\u0000\u0000\u6470\u403A\u0000"+
-        "\u6471\u0000\u6473\u0000\u0000\u6472\u0000\u0000"+
-        "\u0000\u0000\u3852\u0000\u0000\u0000\u4138\u0000"+
-        "\u0000\u0000\u6475\u0000\u0000\u0000\u457C\u0000"+
-        "\u6474\u0000\u0000\u0000\u6476\u0000\u4A35\u416C"+
-        "\u3947\u0000\u6477\u0000\u0000\u0000\u0000\u4E48"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6479"+
-        "\u0000\u0000\u647A\u0000\u647B\u0000\u647C\u0000"+
-        "\u3B65\u0000\u647D\u374F\u0000\u0000\u356A\u0000"+
-        "\u352A\u0000\u6521\u0000\u4C73\u3948\u647E\u0000"+
-        "\u0000\u0000\u6524\u4C66\u0000\u473C\u0000\u0000"+
-        "\u4933\u0000\u0000\u0000\u3D63\u6523\u0000\u3C53"+
-        "\u3949\u3B66\u3569\u4A36\u6522\u0000\u0000\u0000"+
-        "\u4147\u4B42\u3A77\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3B67\u445D\u0000\u6527\u4E5F"+
-        "\u3A59\u0000\u6528\u3F42\u0000\u652A\u0000\u0000"+
-        "\u0000\u3E52\u3A30\u0000\u0000\u0000\u0000\u6529"+
-        "\u0000\u0000\u3D2A\u383E\u4148\u6525\u652B\u0000"+
-        "\u0000\u0000\u0000\u6526\u3750\u0000\u652E\u6532"+
-        "\u376B\u0000\u0000\u0000\u0000\u0000\u652D\u0000"+
-        "\u0000\u0000\u0000\u6536\u0000\u0000\u394A\u0000"+
-        "\u0000\u4D6D\u303C\u6533\u0000\u0000\u356B\u0000"+
-        "\u6530\u0000\u0000\u0000\u0000\u0000\u6531\u0000"+
-        "\u0000\u457D\u652F\u652C\u0000\u3328\u4064\u0000"+
-        "\u0000\u3828\u0000\u0000\u0000\u6538\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6535\u0000\u0000\u0000\u0000\u0000\u6537"+
-        "\u0000\u0000\u0000\u6534\u0000\u0000\u0000\u0000"+
-        "\u0000\u3751\u4233\u6539\u416E\u0000\u0000\u6546"+
-        "\u0000\u0000\u6542\u653C\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6540\u3C7A\u305D\u653B\u6543"+
-        "\u6547\u394B\u4C56\u0000\u4456\u653D\u0000\u0000"+
-        "\u6545\u0000\u653A\u433E\u0000\u653F\u303D\u4C4A"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u653E"+
-        "\u0000\u0000\u365B\u486C\u0000\u0000\u0000\u416D"+
-        "\u0000\u4E50\u3D6F\u0000\u0000\u656E\u0000\u0000"+
-        "\u6548\u0000\u407E\u0000\u6544\u6549\u654B\u0000"+
-        "\u4479\u654E\u0000\u0000\u654A\u0000\u0000\u0000"+
-        "\u4A54\u344B\u0000\u0000\u4C4B\u0000\u0000\u305E"+
-        "\u0000\u0000\u654D\u0000\u4E7D\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u654C\u0000\u0000\u0000\u0000"+
-        "\u0000\u316F\u0000\u0000\u466C\u654F\u0000\u0000"+
-        "\u0000\u6556\u6550\u6557\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6553\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u477B\u0000\u0000\u3C4A\u6555"+
-        "\u0000\u6552\u6558\u6551\u0000\u0000\u3D44\u0000"+
-        "\u0000\u0000\u0000\u4B25\u0000\u0000\u3D4C\u0000"+
-        "\u0000\u6554\u6560\u0000\u0000\u655C\u0000\u655F"+
-        "\u0000\u655D\u6561\u655B\u0000\u6541\u4053\u0000"+
-        "\u0000\u484B\u0000\u655E\u0000\u0000\u6559\u0000"+
-        "\u0000\u0000\u4121\u3752\u0000\u3D2B\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3F25\u4136\u6564\u0000"+
-        "\u0000\u6566\u6567\u0000\u0000\u6563\u6565\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u655A\u6562"+
-        "\u0000\u656A\u6569\u0000\u0000\u4B7A\u0000\u0000"+
-        "\u372B\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6568\u0000\u656C\u656B\u656F\u0000\u6571"+
-        "\u0000\u0000\u3B3C\u656D\u0000\u0000\u0000\u0000"+
-        "\u6572\u6573\u0000\u0000\u6574\u0000\u657A\u453B"+
-        "\u6576\u0000\u6575\u6577\u6578\u0000\u6579\u0000"+
-        "\u0000\u0000\u0000\u657B\u657C\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u344C\u0000"+
-        "\u657D\u0000\u657E\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6621\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u6622\u6623\u6624\u0000"+
-        "\u6625\u6626\u0000\u0000\u6628\u6627\u0000\u0000"+
-        "\u6629\u0000\u0000\u0000\u0000\u0000\u0000\u662A"+
-        "\u662B\u0000\u0000\u0000\u0000\u0000\u0000\u662E"+
-        "\u662C\u662D\u3A61\u3753\u0000\u0000\u4356\u0000"+
-        "\u4833\u0000\u3D70\u0000\u0000\u474D\u0000\u486D"+
-        "\u662F\u586D\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6630\u6632\u0000\u4D65\u6631\u6634"+
-        "\u6633\u0000\u4D53\u0000\u6635\u0000\u487E\u0000"+
-        "\u0000\u0000\u0000\u0000\u6636\u0000\u0000\u0000"+
-        "\u0000\u0000\u6639\u0000\u0000\u6638\u6637\u0000"+
-        "\u0000\u0000\u0000\u663A\u3732\u0000\u0000\u0000"+
-        "\u4122\u3541\u0000\u0000\u0000\u0000\u663E\u663B"+
-        "\u0000\u0000\u663C\u0000\u0000\u0000\u663F\u0000"+
-        "\u6640\u663D\u0000\u0000\u0000\u3129\u0000\u0000"+
-        "\u0000\u3227\u0000\u0000\u0000\u6642\u6643\u0000"+
-        "\u0000\u0000\u6644\u0000\u4D62\u0000\u0000\u0000"+
-        "\u0000\u0000\u3D2C\u0000\u6646\u6645\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3F69\u6647\u0000\u0000\u0000\u0000\u6648\u0000"+
-        "\u0000\u6649\u0000\u3465\u0000\u0000\u0000\u0000"+
-        "\u344D\u0000\u0000\u664A\u0000\u0000\u0000\u0000"+
-        "\u0000\u664B\u0000\u4B5D\u4D63\u0000\u0000\u0000"+
-        "\u4D54\u4F37\u0000\u394D\u664E\u3C54\u664D\u0000"+
-        "\u0000\u0000\u0000\u664F\u3C29\u0000\u0000\u0000"+
-        "\u4251\u0000\u6650\u0000\u0000\u394C\u0000\u4C57"+
-        "\u6651\u6652\u0000\u0000\u6653\u0000\u0000\u0000"+
-        "\u0000\u6654\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6655\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3C2A\u0000\u0000\u4C6D\u0000"+
-        "\u0000\u0000\u0000\u6657\u0000\u433F\u0000\u6656"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6659\u0000"+
-        "\u0000\u0000\u6658\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u665A\u0000\u0000\u0000\u403B\u0000"+
-        "\u665B\u0000\u665C\u0000\u0000\u0000\u4A39\u665D"+
-        "\u0000\u416F\u665E\u0000\u0000\u0000\u0000\u0000"+
-        "\u665F\u0000\u0000\u0000\u0000\u0000\u0000\u4E7E"+
-        "\u6662\u0000\u6661\u6660\u4430\u0000\u6663\u3F26"+
-        "\u0000\u6664\u0000\u0000\u0000\u6665\u4F38\u6666"+
-        "\u0000\u0000\u0000\u0000\u6667\u6669\u6668\u4825"+
-        "\u0000\u4679\u0000\u4F3E\u4829\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u666B\u0000\u0000\u3E53\u0000"+
-        "\u492A\u0000\u666C\u666A\u0000\u344E\u0000\u0000"+
-        "\u0000\u3854\u3B68\u0000\u0000\u486E\u0000\u0000"+
-        "\u0000\u382A\u4B43\u0000\u666F\u666D\u0000\u394E"+
-        "\u0000\u394F\u3069\u0000\u3A68\u0000\u0000\u0000"+
-        "\u0000\u0000\u4759\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u305F\u6674\u0000\u4340\u0000"+
-        "\u0000\u0000\u0000\u0000\u4758\u0000\u425B\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6676\u0000"+
-        "\u0000\u6672\u6675\u6670\u0000\u6673\u4B26\u0000"+
-        "\u0000\u3855\u0000\u0000\u307D\u6671\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6678"+
-        "\u0000\u6679\u0000\u0000\u4639\u0000\u0000\u0000"+
-        "\u363B\u0000\u0000\u0000\u6726\u473D\u0000\u0000"+
-        "\u0000\u0000\u3B69\u0000\u0000\u363C\u4048\u4F46"+
-        "\u4C2E\u6677\u4054\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3553\u667A\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u667C\u0000\u0000\u0000\u0000"+
-        "\u0000\u667B\u0000\u0000\u0000\u0000\u0000\u667D"+
-        "\u0000\u4326\u0000\u473E\u0000\u0000\u0000\u0000"+
-        "\u0000\u4431\u0000\u0000\u0000\u0000\u6723\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6722\u0000"+
-        "\u0000\u0000\u0000\u667E\u0000\u0000\u3F55\u0000"+
-        "\u4965\u6725\u0000\u6724\u3950\u4F53\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6735"+
-        "\u0000\u0000\u0000\u0000\u0000\u6729\u672A\u0000"+
-        "\u0000\u0000\u0000\u3C70\u0000\u0000\u6728\u0000"+
-        "\u3978\u6727\u0000\u0000\u672B\u0000\u0000\u0000"+
-        "\u4432\u4A22\u4123\u0000\u0000\u0000\u0000\u425C"+
-        "\u672F\u0000\u6730\u672C\u0000\u0000\u0000\u0000"+
-        "\u672D\u0000\u672E\u0000\u0000\u0000\u0000\u3951"+
-        "\u0000\u0000\u0000\u6736\u0000\u6732\u0000\u0000"+
-        "\u0000\u0000\u4966\u0000\u4B6C\u4928\u0000\u0000"+
-        "\u6731\u0000\u0000\u6734\u6733\u0000\u0000\u0000"+
-        "\u4B44\u6737\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6738\u0000\u0000\u4137\u0000\u6739\u0000\u0000"+
-        "\u673B\u0000\u673F\u0000\u0000\u673C\u673A\u473F"+
-        "\u673D\u0000\u673E\u0000\u0000\u0000\u3232\u0000"+
-        "\u6745\u6740\u0000\u0000\u0000\u6741\u0000\u0000"+
-        "\u0000\u6742\u0000\u4221\u0000\u0000\u0000\u0000"+
-        "\u6744\u6743\u6746\u0000\u0000\u0000\u0000\u6747"+
-        "\u6748\u0000\u0000\u3F43\u0000\u3269\u0000\u6749"+
-        "\u4E57\u0000\u3C2B\u0000\u0000\u3D2D\u0000\u0000"+
-        "\u0000\u0000\u0000\u3B6A\u4357\u0000\u0000\u0000"+
-        "\u0000\u0000\u674A\u674B\u3131\u0000\u674C\u0000"+
-        "\u0000\u674D\u674E\u0000\u0000\u674F\u0000\u6750"+
-        "\u363D\u5A2A\u6751\u0000\u4065\u6752\u3C4B\u0000"+
-        "\u6753\u0000\u5030\u0000\u0000\u0000\u6754\u4A5E"+
-        "\u345C\u0000\u0000\u4124\u3D58\u0000\u4971\u3D2E"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6755\u3952\u6756\u484C\u0000\u6764\u0000"+
-        "\u0000\u0000\u0000\u6758\u0000\u4249\u4775\u383F"+
-        "\u6757\u4125\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6759\u0000\u0000\u0000\u0000\u0000\u0000\u447A"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u675B\u675A\u675D\u0000\u0000\u675C\u0000\u675E"+
-        "\u0000\u0000\u6760\u0000\u675F\u0000\u344F\u0000"+
-        "\u6761\u0000\u6762\u6763\u0000\u0000\u3A31\u4E49"+
-        "\u0000\u6765\u3F27\u0000\u0000\u0000\u3170\u6766"+
-        "\u6767\u0000\u0000\u0000\u0000\u0000\u6768\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3072\u0000\u6769\u0000\u0000"+
-        "\u0000\u0000\u676A\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4967\u0000\u0000\u0000\u3C47\u0000\u676C"+
-        "\u0000\u0000\u0000\u0000\u0000\u3329\u3032\u0000"+
-        "\u0000\u0000\u0000\u676B\u676E\u474E\u0000\u3F44"+
-        "\u0000\u3256\u0000\u4B27\u0000\u0000\u0000\u0000"+
-        "\u375D\u365C\u0000\u676D\u0000\u326A\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3423\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3171\u6772\u4E6A\u425D\u0000\u0000\u4944"+
-        "\u0000\u677E\u0000\u3257\u677C\u0000\u677A\u6771"+
-        "\u0000\u676F\u0000\u6770\u0000\u3C63\u366C\u4377"+
-        "\u0000\u0000\u0000\u4651\u0000\u0000\u0000\u0000"+
-        "\u0000\u3151\u0000\u6774\u6773\u0000\u0000\u0000"+
-        "\u0000\u6779\u6775\u6778\u0000\u0000\u0000\u0000";
-
-    private final static String innerIndex4=
-        "\u0000\u0000\u4C50\u6777\u3258\u337D\u677B\u0000"+
-        "\u0000\u677D\u0000\u0000\u0000\u0000\u3754\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6823\u682C"+
-        "\u682D\u0000\u0000\u0000\u302B\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6834\u0000\u0000\u0000\u0000"+
-        "\u3071\u0000\u0000\u682B\u0000\u0000\u0000\u682A"+
-        "\u0000\u6825\u6824\u0000\u6822\u6821\u4363\u0000"+
-        "\u427B\u6827\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6826\u0000\u0000\u0000\u0000\u6829\u0000\u0000"+
-        "\u0000\u4170\u3755\u0000\u0000\u0000\u0000\u3141"+
-        "\u6828\u0000\u3953\u0000\u0000\u0000\u0000\u0000"+
-        "\u4171\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u683A\u0000\u683B\u0000\u3259"+
-        "\u0000\u0000\u0000\u322E\u6838\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u682E\u0000\u6836"+
-        "\u0000\u683D\u6837\u0000\u0000\u0000\u6835\u0000"+
-        "\u0000\u0000\u0000\u6776\u0000\u0000\u6833\u0000"+
-        "\u0000\u0000\u682F\u0000\u0000\u0000\u3450\u6831"+
-        "\u683C\u0000\u6832\u0000\u0000\u0000\u0000\u0000"+
-        "\u683E\u0000\u6830\u477C\u0000\u0000\u0000\u0000"+
-        "\u0000\u4D69\u0000\u0000\u0000\u6839\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u684F\u0000\u0000"+
-        "\u0000\u6847\u0000\u0000\u0000\u3F7B\u0000\u0000"+
-        "\u0000\u0000\u3546\u0000\u365D\u0000\u6842\u0000"+
-        "\u0000\u0000\u0000\u325B\u0000\u0000\u3E54\u0000"+
-        "\u6845\u0000\u0000\u0000\u3A5A\u0000\u0000\u4551"+
-        "\u684A\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4A6E\u0000\u6841\u0000\u0000\u0000\u325A"+
-        "\u3856\u4929\u684B\u0000\u683F\u0000\u0000\u6848"+
-        "\u0000\u0000\u0000\u6852\u0000\u6843\u0000\u0000"+
-        "\u0000\u0000\u0000\u6844\u463A\u0000\u0000\u6849"+
-        "\u0000\u0000\u0000\u6846\u4B28\u684C\u3060\u0000"+
-        "\u0000\u0000\u0000\u6840\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u684E\u0000\u684D\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u476B\u6854\u0000\u685F\u0000\u0000\u0000"+
-        "\u0000\u337E\u0000\u0000\u0000\u6862\u0000\u0000"+
-        "\u6850\u0000\u0000\u0000\u6855\u4D6E\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u685E\u0000"+
-        "\u0000\u4D55\u0000\u0000\u0000\u0000\u4E2A\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4378"+
-        "\u0000\u0000\u0000\u336B\u0000\u0000\u0000\u0000"+
-        "\u0000\u4972\u6864\u4621\u0000\u0000\u3031\u0000"+
-        "\u0000\u685D\u0000\u6859\u4172\u6853\u685B\u6860"+
-        "\u0000\u472C\u0000\u0000\u0000\u302A\u0000\u6858"+
-        "\u0000\u6861\u4978\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u685C\u0000\u6857\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3E55\u0000\u0000\u0000\u0000"+
-        "\u3D2F\u0000\u0000\u0000\u3C2C\u0000\u0000\u0000"+
-        "\u0000\u4C58\u0000\u0000\u4947\u0000\u0000\u6867"+
-        "\u0000\u6870\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u685A\u0000\u0000"+
-        "\u0000\u0000\u3377\u0000\u0000\u0000\u0000\u0000"+
-        "\u3E78\u6865\u0000\u686A\u4173\u0000\u0000\u6866"+
-        "\u0000\u686D\u0000\u0000\u435F\u0000\u686E\u0000"+
-        "\u0000\u4D56\u6863\u3338\u0000\u6869\u0000\u0000"+
-        "\u686C\u4C2C\u0000\u0000\u0000\u0000\u686F\u0000"+
-        "\u0000\u6868\u686B\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u4B29\u0000\u4F21\u0000"+
-        "\u0000\u0000\u0000\u0000\u6873\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u687A\u0000\u0000\u6872"+
-        "\u3C43\u0000\u0000\u0000\u0000\u0000\u6851\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4A4E\u0000\u4C22\u6879\u6878\u0000\u6874"+
-        "\u6875\u0000\u3136\u0000\u0000\u0000\u0000\u6877"+
-        "\u0000\u6871\u0000\u0000\u0000\u0000\u4455\u0000"+
-        "\u0000\u0000\u0000\u0000\u6876\u307E\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4222\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4A43\u0000\u0000"+
-        "\u687B\u6921\u0000\u4859\u0000\u0000\u0000\u0000"+
-        "\u687E\u3E56\u3C49\u6923\u0000\u0000\u363E\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6924\u0000\u4979"+
-        "\u687D\u0000\u6856\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u687C\u0000\u0000\u0000\u0000"+
-        "\u4F4F\u4622\u4973\u0000\u0000\u692B\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6931"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6932\u0000"+
-        "\u6925\u0000\u0000\u0000\u4776\u0000\u0000\u692F"+
-        "\u6927\u0000\u6929\u0000\u0000\u0000\u0000\u0000"+
-        "\u6933\u6928\u0000\u0000\u692C\u0000\u0000\u3172"+
-        "\u0000\u4665\u0000\u692D\u6930\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u6926\u0000\u4126\u0000"+
-        "\u692A\u3B27\u3F45\u3730\u4C74\u0000\u4C79\u3D72"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6937\u6935\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4F4E\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6934\u0000\u0000\u0000\u4D75\u0000\u6936"+
-        "\u6938\u0000\u0000\u0000\u0000\u6939\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u693C\u693A\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u4623\u693B\u0000\u0000"+
-        "\u0000\u484D\u692E\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3D73"+
-        "\u0000\u693D\u6942\u4174\u0000\u0000\u6941\u0000"+
-        "\u0000\u0000\u6922\u0000\u0000\u0000\u6943\u4149"+
-        "\u0000\u0000\u693E\u6940\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u693F\u0000\u0000\u5D31\u5D22"+
-        "\u0000\u0000\u6945\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6944\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4D76\u0000\u623C"+
-        "\u6946\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6947"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6948\u3857\u0000"+
-        "\u3554\u0000\u0000\u0000\u694A\u515D\u0000\u0000"+
-        "\u0000\u0000\u3575\u0000\u4E3A\u0000\u3673\u694B"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u694C"+
-        "\u0000\u0000\u0000\u436E\u0000\u0000\u0000\u0000"+
-        "\u0000\u694D\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u467A\u0000\u303A\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3263\u6952\u6953\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u694E\u0000\u3B3D\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u694F\u4742\u0000\u0000\u0000"+
-        "\u0000\u6950\u6951\u695B\u0000\u0000\u0000\u6955"+
-        "\u6958\u0000\u0000\u0000\u0000\u0000\u6954\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u6956\u0000\u6957\u3C58"+
-        "\u0000\u6959\u0000\u4341\u0000\u3756\u3342\u0000"+
-        "\u0000\u0000\u0000\u0000\u695C\u0000\u0000\u0000"+
-        "\u0000\u333F\u0000\u6961\u0000\u0000\u695D\u6960"+
-        "\u0000\u0000\u0000\u0000\u483A\u0000\u0000\u0000"+
-        "\u0000\u695E\u0000\u0000\u695F\u4948\u485A\u6962"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u427D\u696C\u0000\u6968\u0000\u0000\u326B\u0000"+
-        "\u6966\u0000\u4B2A\u6967\u0000\u0000\u6964\u0000"+
-        "\u6965\u696A\u696D\u0000\u0000\u696B\u0000\u0000"+
-        "\u0000\u6969\u6963\u0000\u0000\u0000\u0000\u0000"+
-        "\u4358\u0000\u6974\u0000\u4C2A\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6972\u0000\u0000"+
-        "\u0000\u6973\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u696E\u0000\u0000\u6970"+
-        "\u0000\u0000\u0000\u6971\u0000\u0000\u0000\u696F"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4066\u0000\u4F39\u6978\u0000\u6979\u0000"+
-        "\u0000\u0000\u0000\u6A21\u0000\u3F2A\u0000\u697B"+
-        "\u0000\u697E\u0000\u0000\u0000\u0000\u0000\u6976"+
-        "\u6975\u0000\u0000\u6A22\u0000\u0000\u325C\u0000"+
-        "\u697C\u0000\u6A23\u0000\u0000\u0000\u697D\u0000"+
-        "\u0000\u0000\u0000\u0000\u697A\u0000\u4433\u0000"+
-        "\u6977\u0000\u0000\u0000\u0000\u0000\u0000\u4768"+
-        "\u0000\u0000\u6A27\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4D3B\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6A26"+
-        "\u0000\u0000\u6A25\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6A2E\u0000\u0000\u0000\u6A28"+
-        "\u0000\u0000\u0000\u6A30\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4D66\u6A33\u0000\u6A2A\u0000\u0000"+
-        "\u6A2B\u0000\u0000\u0000\u6A2F\u0000\u6A32\u6A31"+
-        "\u0000\u0000\u0000\u6A29\u0000\u0000\u0000\u0000"+
-        "\u6A2C\u0000\u6A3D\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6A36\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6A34"+
-        "\u0000\u0000\u6A35\u0000\u0000\u0000\u6A3A\u6A3B"+
-        "\u0000\u332A\u0000\u3542\u0000\u0000\u6A39\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6A24\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6A38\u6A3C\u6A37"+
-        "\u0000\u6A3E\u0000\u0000\u0000\u6A40\u6A3F\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6A42\u6A41\u695A\u0000\u0000\u0000\u6A46"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6A43\u0000\u0000\u0000\u0000\u6A44\u0000"+
-        "\u0000\u6A45\u0000\u6A47\u0000\u0000\u0000\u0000"+
-        "\u376C\u0000\u6A49\u0000\u6A48\u0000\u3D30\u0000"+
-        "\u0000\u0000\u0000\u0000\u3954\u5E27\u0000\u0000"+
-        "\u0000\u0000\u6A4A\u3D51\u0000\u0000\u0000\u3339"+
-        "\u0000\u6A4B\u0000\u3152\u0000\u3E57\u6A4C\u0000"+
-        "\u0000\u3955\u6A4D\u3061\u0000\u0000\u0000\u0000"+
-        "\u493D\u0000\u0000\u6A4E\u0000\u0000\u0000\u0000"+
-        "\u3F6A\u0000\u6A55\u0000\u0000\u6A52\u0000\u436F"+
-        "\u0000\u0000\u0000\u0000\u0000\u6A53\u6A50\u365E"+
-        "\u0000\u6A4F\u6A56\u0000\u0000\u0000\u0000\u0000"+
-        "\u3736\u0000\u0000\u425E\u0000\u6A5C\u0000\u0000"+
-        "\u0000\u0000\u6A58\u0000\u0000\u0000\u4235\u6A57"+
-        "\u0000\u6A5A\u0000\u0000\u0000\u0000\u6A51\u0000"+
-        "\u0000\u0000\u6A5B\u0000\u6A5D\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u486F\u0000\u0000\u6A59\u0000"+
-        "\u6A5E\u6A60\u0000\u0000\u3853\u6A54\u0000\u3041"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6A5F"+
-        "\u0000\u3A5B\u4E76\u6A61\u6A62\u4175\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4E22"+
-        "\u0000\u0000\u0000\u0000\u6A63\u4D35\u0000\u0000"+
-        "\u6A64\u6A65\u0000\u0000\u4A64\u6A66\u0000\u3A40"+
-        "\u0000\u4E23\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6A6B\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6A6C\u3E58\u6A6A\u0000\u0000\u0000"+
-        "\u4D67\u6A67\u0000\u0000\u6A69\u403D\u3F7E\u0000"+
-        "\u0000\u0000\u6A68\u0000\u6A6D\u0000\u0000\u4A23"+
-        "\u0000\u0000\u6A6F\u0000\u6A6E\u0000\u0000\u0000"+
-        "\u336C\u0000\u4B2B\u6A70\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6A7C\u6A72\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6A73\u0000\u0000"+
-        "\u0000\u0000\u6A74\u6A75\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6A79\u0000"+
-        "\u6A7A\u0000\u0000\u6A78\u0000\u0000\u0000\u0000"+
-        "\u0000\u6A76\u0000\u6A71\u6A77\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u6A7B\u7037\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3228\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6A7E\u365F"+
-        "\u6A7D\u0000\u0000\u0000\u6B22\u0000\u6B21\u0000"+
-        "\u0000\u0000\u6B24\u0000\u0000\u6B23\u0000\u6B25"+
-        "\u0000\u0000\u3D31\u0000\u6B26\u0000\u0000\u6B27"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6B28\u403E"+
-        "\u0000\u4D57\u0000\u6B29\u0000\u0000\u4A24\u4746"+
-        "\u6B2A\u0000\u6B2B\u382B\u0000\u0000\u0000\u352C"+
-        "\u0000\u0000\u0000\u6B2C\u0000\u0000\u3B6B\u4741"+
-        "\u6B2D\u0000\u3350\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6B2E\u0000\u0000\u0000\u0000\u6B30\u4D77"+
-        "\u0000\u6B2F\u3F46\u0000\u6B31\u0000\u0000\u6B32"+
-        "\u0000\u0000\u6B33\u3451\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6B34\u0000\u0000\u6B35\u0000\u6B36"+
-        "\u6B37\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3351\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6B38\u0000\u6B39\u6B3A\u0000\u0000"+
-        "\u0000\u0000\u0000\u3272\u0000\u0000\u3F28\u6B3B"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u6B3C\u0000\u0000\u0000"+
-        "\u6B3D\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3840\u0000\u447B\u6B3E\u0000\u0000\u0000\u0000"+
-        "\u3757\u0000\u3F56\u0000\u6B41\u0000\u4624\u0000"+
-        "\u6B40\u0000\u0000\u3731\u0000\u0000\u6B3F\u4277"+
-        "\u352D\u0000\u0000\u6B42\u0000\u6B43\u0000\u3E59"+
-        "\u0000\u0000\u0000\u376D\u0000\u6B44\u0000\u0000"+
-        "\u0000\u0000\u4B2C\u0000\u0000\u405F\u0000\u0000"+
-        "\u0000\u3576\u0000\u4C75\u414A\u0000\u6B45\u0000"+
-        "\u0000\u0000\u3F47\u4370\u3E5A\u0000\u0000\u0000"+
-        "\u0000\u6B46\u0000\u0000\u0000\u0000\u6B49\u0000"+
-        "\u6B4A\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3A3E\u4242\u6B48\u0000\u3E5B\u493E\u0000\u0000"+
-        "\u0000\u0000\u0000\u6B47\u0000\u0000\u3B6C\u0000"+
-        "\u3153\u0000\u6B4E\u3758\u0000\u0000\u3B6E\u0000"+
-        "\u0000\u3B6D\u0000\u4F4D\u6B4D\u6B4C\u4127\u0000"+
-        "\u354D\u4F43\u333A\u3E5C\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u6B4B\u0000\u0000\u0000"+
-        "\u0000\u0000\u6B50\u0000\u6B51\u6B4F\u0000\u3858"+
-        "\u0000\u4D40\u0000\u0000\u3B6F\u4727\u0000\u0000"+
-        "\u0000\u6B54\u0000\u4040\u0000\u4342\u0000\u0000"+
-        "\u4D36\u0000\u6B57\u0000\u0000\u0000\u386C\u0000"+
-        "\u403F\u6B53\u0000\u6B58\u386D\u6B55\u6B56\u0000"+
-        "\u6B52\u0000\u0000\u0000\u4062\u4649\u0000\u0000"+
-        "\u432F\u0000\u325D\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4870\u0000\u0000\u3543\u0000\u0000\u4434"+
-        "\u0000\u0000\u6B5B\u0000\u6B59\u0000\u0000\u434C"+
-        "\u0000\u0000\u0000\u4041\u3452\u6B5A\u0000\u3F5B"+
-        "\u0000\u0000\u4E4A\u0000\u0000\u0000\u4F40\u0000"+
-        "\u0000\u0000\u6B5C\u6B67\u4435\u0000\u6B66\u0000"+
-        "\u6B63\u6B6B\u6B64\u0000\u6B60\u0000\u447C\u6B5F"+
-        "\u0000\u0000\u0000\u6B5D\u0000\u4D21\u3B70\u0000"+
-        "\u0000\u6B61\u0000\u6B5E\u0000\u0000\u0000\u6B65"+
-        "\u3D74\u0000\u3841\u0000\u0000\u0000\u427A\u0000"+
-        "\u4B45\u315A\u3062\u0000\u4625\u0000\u0000\u6B69"+
-        "\u0000\u0000\u0000\u0000\u6B68\u0000\u4666\u0000"+
-        "\u6B6D\u0000\u0000\u0000\u6B62\u0000\u6B6C\u6B6E"+
-        "\u0000\u382C\u6B6A\u3956\u0000\u3C55\u0000\u0000"+
-        "\u6B6F\u4D58\u0000\u0000\u0000\u0000\u6B72\u0000"+
-        "\u6B75\u0000\u0000\u6B73\u4935\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6B70\u0000\u0000\u0000\u0000"+
-        "\u0000\u3660\u0000\u0000\u0000\u0000\u6B74\u0000"+
-        "\u0000\u6B76\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6B7A\u0000\u0000\u6B77\u0000\u6B79\u6B78"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6B7B\u0000"+
-        "\u3C31\u0000\u6B7D\u6B7C\u4968\u0000\u0000\u6C21"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3759\u0000"+
-        "\u0000\u0000\u0000\u6B7E\u6C22\u0000\u0000\u6C23"+
-        "\u3544\u6641\u3E79\u0000\u6C24\u0000\u0000\u386E"+
-        "\u0000\u0000\u0000\u0000\u0000\u6C25\u0000\u0000"+
-        "\u6C26\u0000\u0000\u3B3E\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u5A4E\u0000\u6C27\u0000\u6C28\u0000"+
-        "\u3D32\u0000\u6C29\u6C2A\u0000\u0000\u6C2B\u0000"+
-        "\u0000\u6C2C\u6C2D\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u432B"+
-        "\u0000\u0000\u6C2E\u0000\u0000\u0000\u0000\u6C30"+
-        "\u0000\u6C2F\u0000\u0000\u0000\u0000\u4626\u0000"+
-        "\u6C31\u0000\u4B2D\u0000\u6C32\u0000\u6C33\u0000"+
-        "\u6C34\u0000\u0000\u0000\u0000\u6C35\u0000\u0000"+
-        "\u0000\u0000\u465A\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3E5D\u6C36\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u396B\u502E\u6C37\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6C38\u493F\u6C39\u0000\u6C41\u0000\u0000\u0000"+
-        "\u0000\u0000\u6C3A\u0000\u0000\u6C3C\u0000\u0000"+
-        "\u0000\u6C3B\u6C3D\u0000\u4B46\u6C3E\u6C3F\u0000"+
-        "\u0000\u0000\u0000\u0000\u6C40\u0000\u0000\u0000"+
-        "\u6C42\u0000\u0000\u0000\u0000\u332D\u4467\u0000"+
-        "\u4969\u3A62\u3957\u0000\u0000\u0000\u0000\u494F"+
-        "\u325F\u484E\u6C45\u3453\u4055\u6C44\u6C49\u4379"+
-        "\u4C63\u0000\u6C47\u6C48\u352E\u0000\u6C4A\u4763"+
-        "\u425F\u0000\u0000\u4871\u453D\u6C46\u0000\u4B47"+
-        "\u326C\u6C4C\u4F28\u4442\u4F45\u0000\u0000\u3B71"+
-        "\u6C4B\u0000\u4231\u0000\u0000\u6C5C\u4128\u0000"+
-        "\u0000\u4678\u0000\u4950\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6C4F\u3B3F\u3B72\u0000\u3E5E\u0000"+
-        "\u4765\u0000\u382D\u6C4E\u6C4D\u0000\u496A\u0000"+
-        "\u0000\u0000\u3C41\u0000\u0000\u4552\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6C51\u6C52\u3958\u6C50\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u6C53\u6C54\u0000\u6C56"+
-        "\u4223\u0000\u6C55\u3466\u0000\u6C58\u0000\u6C57"+
-        "\u6C59\u0000\u0000\u6C5B\u6C5D\u0000\u6C5E\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u4056\u0000\u3C4F\u6C5F"+
-        "\u0000\u0000\u0000\u3352\u0000\u6C60\u0000\u0000"+
-        "\u4176\u6C61\u0000\u6C62\u496B\u0000\u0000\u352F"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6C63\u0000\u0000\u0000\u4436\u0000\u0000"+
-        "\u0000\u0000\u315B\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6C64\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3C71\u0000\u0000\u0000\u0000"+
-        "\u3F76\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u422D\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6C67\u0000\u0000\u0000\u6C66\u0000"+
-        "\u0000\u0000\u6C65\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6C6D\u6C6B\u0000\u0000\u6C68"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6C6A\u0000"+
-        "\u0000\u0000\u6C69\u6C6C\u0000\u3577\u0000\u6C70"+
-        "\u0000\u4057\u0000\u6C71\u0000\u0000\u0000\u0000"+
-        "\u3859\u0000\u6C6E\u6C6F\u0000\u0000\u0000\u4F29"+
-        "\u0000\u0000\u0000\u4437\u0000\u4129\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u6C72\u0000\u0000\u6C75"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6C73\u6C74\u4D59\u0000\u0000\u0000\u0000\u4627"+
-        "\u6C78\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6C76\u6C77\u6C79"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6D29\u0000\u0000\u0000\u0000\u0000"+
-        "\u6C7C\u0000\u0000\u0000\u6C7D\u6C7B\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6C7A\u0000\u447D\u0000\u0000\u6D21"+
-        "\u6D25\u6D22\u6C7E\u0000\u6D23\u0000\u0000\u0000"+
-        "\u6D24\u0000\u0000\u0000\u0000\u6D2B\u0000\u0000"+
-        "\u0000\u6D26\u0000\u0000\u0000\u0000\u0000\u4058"+
-        "\u6D28\u0000\u0000\u6D2A\u6D27\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6D2D\u0000\u3D33\u0000\u6D2C\u0000"+
-        "\u0000\u0000\u0000\u0000\u6D2E\u0000\u0000\u0000"+
-        "\u0000\u6D2F\u0000\u0000\u6D32\u6D31\u0000\u6D30"+
-        "\u0000\u0000\u6D34\u6D33\u0000\u4C76\u0000\u0000"+
-        "\u0000\u6D36\u0000\u6D35\u6D37\u0000\u0000\u0000"+
-        "\u0000\u6D38\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6D3A\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6D39\u3F48\u6D3B\u0000\u0000\u366D"+
-        "\u6D3C\u6D3E\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6D3F\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6D40\u6D3D\u0000"+
-        "\u6D41\u0000\u3C56\u6D42\u3530\u3733\u0000\u0000"+
-        "\u0000\u0000\u382E\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6D43\u0000\u0000\u0000\u4670"+
-        "\u0000\u0000\u453E\u6D44\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6D47\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3C34\u0000\u0000\u6D46\u6D45\u375A\u6D48\u0000"+
-        "\u0000\u0000\u0000\u3353\u0000\u6D4A\u0000\u0000"+
-        "\u0000\u3A5C\u6D49\u0000\u6D52\u0000\u0000\u0000"+
-        "\u0000\u0000\u6D4C\u6D4E\u4A65\u6D4B\u0000\u0000"+
-        "\u0000\u6D4D\u0000\u6D51\u6D4F\u3531\u0000\u6D50"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6D53\u0000"+
-        "\u0000\u475A\u4E58\u0000\u0000\u0000\u0000\u3D34"+
-        "\u0000\u0000\u0000\u6D54\u0000\u0000\u0000\u0000"+
-        "\u4D22\u6D56\u0000\u6D55\u0000\u0000\u6D59\u4D41"+
-        "\u0000\u0000\u6D58\u0000\u336D\u6D57\u6D5C\u0000"+
-        "\u0000\u6D5B\u0000\u0000\u6D5A\u4532\u6D5D\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6D5E"+
-        "\u0000\u0000\u0000\u0000\u6D5F\u0000\u0000\u396C"+
-        "\u0000\u3725\u6D60\u6D61\u6D62\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3F49\u6D63\u0000\u3C2D\u6D64"+
-        "\u0000\u0000\u0000\u6D65\u0000\u0000\u0000\u5221"+
-        "\u517E\u0000\u0000\u0000\u0000\u6D66\u6570\u6D67"+
-        "\u4324\u3F2B\u4740\u0000\u0000\u0000\u0000\u6D68"+
-        "\u0000\u0000\u4A55\u4454\u397E\u0000\u0000\u4329"+
-        "\u0000\u0000\u312A\u0000\u4B78\u3F57\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u375E\u0000"+
-        "\u0000\u3661\u0000\u0000\u4A56\u0000\u0000\u0000"+
-        "\u0000\u0000\u6D69\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6D6B\u0000\u0000\u6D6A\u3260\u0000"+
-        "\u0000\u4676\u6D6C\u4777\u0000\u4533\u0000\u6D6D"+
-        "\u3D52\u0000\u0000\u0000\u6D6F\u0000\u0000\u4C42"+
-        "\u6D7E\u6D71\u6D72\u0000\u0000\u4449\u0000\u0000"+
-        "\u4260\u4177\u0000\u4628\u0000\u6D70\u3555\u0000"+
-        "\u0000\u0000\u0000\u6D79\u0000\u6D76\u6E25\u4629"+
-        "\u4360\u6D73\u0000\u447E\u4553\u6D74\u6D78\u3F60"+
-        "\u0000\u4767\u444C\u0000\u0000\u4042\u6D77\u422E"+
-        "\u4224\u6D75\u3029\u4F22\u0000\u0000\u0000\u6D7A"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4261\u0000"+
-        "\u0000\u3D35\u3F4A\u0000\u0000\u6D7C\u6D7B\u0000"+
-        "\u306F\u6D7D\u0000\u0000\u492F\u0000\u6E27\u0000"+
-        "\u0000\u465B\u3F6B\u0000\u0000\u4359\u0000\u3678"+
-        "\u0000\u6E26\u4D37\u313F\u0000\u4A57\u3261\u6E21"+
-        "\u6E22\u6E23\u6E24\u463B\u4323\u3063\u6E28\u0000"+
-        "\u6E29\u7423\u0000\u0000\u423D\u0000\u6E2A\u0000"+
-        "\u3173\u414C\u0000\u382F\u0000\u4D5A\u0000\u0000"+
-        "\u6E2B\u452C\u0000\u0000\u0000\u4178\u3C57\u6E2C"+
-        "\u0000\u0000\u6E2F\u0000\u0000\u3D65\u6E2D\u412B"+
-        "\u412A\u0000\u3064\u0000\u4E4B\u6E31\u0000\u4872"+
-        "\u6E33\u6E32\u6E30\u6364\u3454\u0000\u0000\u6D6E"+
-        "\u0000\u6E35\u6E34\u0000\u0000\u0000\u0000\u6E36"+
-        "\u0000\u4D38\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4661\u0000\u0000\u4B2E\u0000"+
-        "\u6E37\u0000\u3C59\u0000\u0000\u0000\u0000\u6E38"+
-        "\u0000\u6E39\u0000\u0000\u0000\u6E3A\u0000\u0000"+
-        "\u4521\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u306A\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3959\u0000\u0000\u0000\u4F3A\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6E3E\u0000\u0000\u0000\u0000"+
-        "\u0000\u3734\u6E3B\u0000\u6E3C\u0000\u0000\u0000"+
-        "\u4974\u0000\u0000\u0000\u0000\u3354\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4D39\u0000\u363F"+
-        "\u0000\u0000\u0000\u0000\u0000\u4554\u0000\u0000"+
-        "\u0000\u0000\u6E3F\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6E40\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6E41\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4522\u0000\u0000"+
-        "\u6E43\u0000\u6E42\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4653\u6E44\u3D36\u3C60\u475B\u4371\u0000"+
-        "\u0000\u0000\u3C72\u0000\u3F6C\u0000\u6E45\u0000"+
-        "\u6E46\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3F5D\u6E47\u0000\u6E48\u0000\u0000"+
-        "\u0000\u6E49\u4D6F\u0000\u3D37\u0000\u0000\u0000"+
-        "\u0000\u0000\u6E4B\u6E4A\u0000\u395A\u0000\u3973"+
-        "\u3B40\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6E4E\u0000\u0000\u0000\u0000\u3D66"+
-        "\u0000\u6E4D\u0000\u6E4C\u0000\u4269\u0000\u0000"+
-        "\u386F\u0000\u4043\u0000\u0000\u0000\u0000\u4830"+
-        "\u0000\u0000\u0000\u0000\u3D39\u0000\u0000\u0000"+
-        "\u0000\u0000\u6E4F\u0000\u3E5F\u0000\u0000\u0000"+
-        "\u0000\u0000\u6E52\u6E50\u0000\u0000\u0000\u6E51"+
-        "\u0000\u0000\u0000\u0000\u6E54\u6E53\u0000\u0000"+
-        "\u3E7A\u0000\u6E55\u0000\u0000\u0000\u0000\u0000"+
-        "\u6E56\u6E57\u0000\u0000\u0000\u0000\u4850\u3A53"+
-        "\u3C61\u6E58\u0000\u6E59\u4E24\u3D45\u4C6E\u4E4C"+
-        "\u6E5A\u3662\u0000\u0000\u0000\u0000\u6E5B\u0000"+
-        "\u4523\u0000\u0000\u6E5E\u3378\u3F4B\u0000\u6E5C"+
-        "\u0000\u6E5D\u0000\u4460\u0000\u0000\u4B55\u367C"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6E60\u6E61\u0000"+
-        "\u0000\u0000\u0000\u0000\u6E5F\u0000\u0000\u6E63"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u465F\u3343\u0000"+
-        "\u0000\u6E67\u0000\u0000\u6E64\u6E66\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6E62\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6F4F\u0000\u0000\u6E65\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u4E6B\u0000\u0000\u385A"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6E6F"+
-        "\u0000\u0000\u0000\u0000\u4534\u6E6A\u0000\u0000"+
-        "\u6E6D\u6E6B\u0000\u6E70\u0000\u0000\u0000\u0000"+
-        "\u6E71\u0000\u0000\u0000\u0000\u0000\u0000\u6E69"+
-        "\u0000\u0000\u6E76\u3174\u0000\u0000\u6E68\u0000"+
-        "\u0000\u0000\u482D\u0000\u6E6C\u0000\u3E60\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u395B\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4B48\u0000"+
-        "\u3664\u0000\u0000\u3D46\u0000\u463C\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u412D\u0000\u6E74\u0000\u6E6E\u6E73\u0000"+
-        "\u4C43\u0000\u4438\u6E75\u6E72\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u412C\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6E79"+
-        "\u0000\u6E78\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6E77"+
-        "\u0000\u0000\u4B2F\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3D7B\u0000\u0000\u0000"+
-        "\u0000\u6E7A\u4A5F\u0000\u0000\u3154\u0000\u0000"+
-        "\u0000\u0000\u4946\u4372\u0000\u0000\u0000\u0000"+
-        "\u3578\u0000\u6E7C\u0000\u395D\u0000\u0000\u0000";
-
-    private final static String innerIndex5=
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3B2C\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6E7B"+
-        "\u3F6D\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3F6E\u6F21\u6F23\u0000\u0000\u0000\u0000\u0000"+
-        "\u3E7B\u0000\u6F22\u6F24\u0000\u0000\u3653\u0000"+
-        "\u4945\u0000\u0000\u3C62\u4F23\u0000\u6E7E\u3A78"+
-        "\u0000\u0000\u4F3F\u0000\u0000\u6F26\u0000\u0000"+
-        "\u0000\u0000\u6F25\u6F27\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u6E7D\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4669\u0000\u4555\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u4457\u0000\u6F2C\u0000"+
-        "\u0000\u0000\u0000\u4343\u6F28\u0000\u0000\u0000"+
-        "\u6F29\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u372D\u0000\u6F2B\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3830\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u6F2A\u0000\u3E61\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3379\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u6F30\u0000\u3A3F\u4179"+
-        "\u0000\u0000\u444A\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u333B"+
-        "\u0000\u0000\u0000\u0000\u6F2E\u6F2F\u4443\u0000"+
-        "\u6F2D\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6F31\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6F37\u0000\u0000\u0000\u0000"+
-        "\u6F3A\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6F39\u452D\u0000\u0000\u0000\u0000\u6F32\u6F33"+
-        "\u6F36\u0000\u0000\u0000\u0000\u6F38\u0000\u0000"+
-        "\u0000\u3640\u0000\u0000\u6F3B\u6F35\u0000\u0000"+
-        "\u6F34\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6F3F\u0000\u0000\u0000\u6F40"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6F41\u0000\u0000\u6F3E\u6F3D\u0000\u0000\u0000"+
-        "\u3E62\u462A\u6F3C\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6F45\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6F43\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6F44\u6F42\u0000"+
-        "\u4278\u0000\u6F46\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6F47\u0000\u0000\u6F49\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3455\u6F48\u4C7A\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6F54\u6F4A\u0000\u0000\u6F4D\u0000"+
-        "\u6F4B\u0000\u6F4C\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6F4E\u0000\u0000\u0000\u0000\u0000"+
-        "\u6F50\u0000\u0000\u0000\u0000\u6F51\u0000\u6F52"+
-        "\u0000\u0000\u0000\u0000\u6F55\u6F53\u6F56\u6F58"+
-        "\u0000\u6F57\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4439"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4C67\u0000\u6F59\u412E\u0000\u0000\u0000\u6F5A"+
-        "\u0000\u4A44\u6F5B\u332B\u0000\u0000\u0000\u313C"+
-        "\u0000\u3457\u0000\u3456\u6F5C\u0000\u6F5D\u0000"+
-        "\u6F5E\u6F5F\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6F60\u0000\u3458\u3355\u395E\u4836\u0000\u6F62"+
-        "\u6F61\u0000\u0000\u0000\u0000\u6F63\u0000\u0000"+
-        "\u0000\u0000\u315C\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6F66\u0000\u6F65\u6F64\u0000\u6F67\u0000"+
-        "\u0000\u0000\u0000\u6F6A\u0000\u0000\u0000\u3047"+
-        "\u0000\u0000\u6F68\u0000\u6F6C\u6F6B\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u6F6E\u6F6D\u6F6F\u0000"+
-        "\u462E\u0000\u0000\u0000\u6F70\u0000\u0000\u0000"+
-        "\u0000\u6F71\u6F73\u0000\u0000\u6F72\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u496C\u0000\u0000\u0000"+
-        "\u0000\u6F74\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6F75\u0000\u3A65\u0000\u0000\u0000\u6F76\u6F77"+
-        "\u0000\u0000\u4B49\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u414B\u0000\u0000\u0000\u3024"+
-        "\u424B\u0000\u6F78\u0000\u496D\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6F7B\u6F79\u395F\u0000\u6F7A"+
-        "\u3842\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4A45\u6F7D\u7021\u6F7E\u7022"+
-        "\u0000\u0000\u3121\u3F58\u3D7C\u3459\u7023\u0000"+
-        "\u0000\u0000\u4766\u0000\u7025\u0000\u0000\u0000"+
-        "\u3122\u0000\u7024\u4444\u0000\u4E4D\u462B\u6F7C"+
-        "\u4E26\u0000\u3831\u0000\u0000\u4D5B\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3679\u4E34\u0000"+
-        "\u3728\u0000\u4262\u6721\u0000\u7026\u332C\u3F6F"+
-        "\u0000\u0000\u0000\u0000\u3356\u7028\u0000\u7029"+
-        "\u7027\u3764\u0000\u3A5D\u3E63\u0000\u0000\u0000"+
-        "\u3123\u0000\u0000\u4E59\u0000\u0000\u0000\u702B"+
-        "\u6E2E\u0000\u702A\u0000\u0000\u0000\u0000\u0000"+
-        "\u702E\u702C\u702D\u0000\u702F\u0000\u7030\u4E6C"+
-        "\u7031\u7032\u0000\u4049\u483B\u0000\u0000\u0000"+
-        "\u3F7D\u3467\u0000\u0000\u4D3A\u326D\u3D38\u385B"+
-        "\u0000\u7035\u0000\u7034\u3B73\u7036\u7033\u0000"+
-        "\u0000\u3B28\u0000\u0000\u0000\u703A\u6A2D\u0000"+
-        "\u0000\u5256\u0000\u3F77\u7038\u0000\u0000\u0000"+
-        "\u0000\u0000\u4E25\u4671\u0000\u0000\u0000\u0000"+
-        "\u312B\u0000\u4063\u3C36\u0000\u0000\u0000\u0000"+
-        "\u4A37\u0000\u3140\u0000\u0000\u0000\u4E6D\u4D6B"+
-        "\u0000\u703B\u0000\u4545\u0000\u0000\u0000\u0000"+
-        "\u3C7B\u0000\u0000\u0000\u703C\u0000\u703D\u3F4C"+
-        "\u703E\u0000\u4E6E\u0000\u0000\u7039\u7040\u7042"+
-        "\u0000\u7041\u0000\u703F\u0000\u0000\u7043\u0000"+
-        "\u0000\u7044\u0000\u0000\u417A\u0000\u3262\u0000"+
-        "\u0000\u0000\u0000\u0000\u7045\u0000\u0000\u4C38"+
-        "\u0000\u0000\u7046\u0000\u0000\u0000\u0000\u0000"+
-        "\u7047\u0000\u4F2A\u0000\u0000\u0000\u0000\u0000"+
-        "\u5B31\u7048\u0000\u0000\u0000\u7049\u704A\u0000"+
-        "\u0000\u0000\u704E\u0000\u704B\u0000\u704C\u0000"+
-        "\u704D\u704F\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4044\u0000\u0000\u0000\u4C77\u0000"+
-        "\u0000\u4045\u0000\u0000\u7050\u0000\u4873\u0000"+
-        "\u7051\u7353\u4C4C\u0000\u7052\u0000\u7053\u0000"+
-        "\u7054\u3357\u0000\u7056\u0000\u3F59\u0000\u0000"+
-        "\u0000\u7057\u0000\u0000\u3724\u0000\u0000\u0000"+
-        "\u0000\u7058\u705C\u0000\u705A\u0000\u0000\u0000"+
-        "\u0000\u705B\u0000\u0000\u3373\u7059\u705D\u0000"+
-        "\u0000\u0000\u0000\u705E\u0000\u3048\u0000\u705F"+
-        "\u7060\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3E64\u0000\u0000\u0000\u7061\u0000\u0000\u0000"+
-        "\u3547\u0000\u0000\u7064\u0000\u0000\u7063\u0000"+
-        "\u7062\u0000\u0000\u6B71\u0000\u4A5C\u0000\u0000"+
-        "\u0000\u0000\u0000\u7065\u7066\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u7067\u0000\u0000\u7068\u0000"+
-        "\u7069\u0000\u0000\u706A\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u345A\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u706B\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u706C\u4723\u0000"+
-        "\u0000\u0000\u706E\u323B\u0000\u7071\u7070\u0000"+
-        "\u0000\u0000\u0000\u3124\u0000\u0000\u0000\u3641"+
-        "\u0000\u4A47\u443A\u3A22\u0000\u3960\u3D67\u0000"+
-        "\u3F5C\u0000\u0000\u0000\u7073\u0000\u0000\u7072"+
-        "\u4D42\u3468\u4852\u465C\u0000\u0000\u0000\u3F7C"+
-        "\u4E4E\u0000\u375B\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u7076\u0000\u0000\u7075\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u4B4B\u462C\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3150\u0000\u0000\u7077"+
-        "\u7074\u0000\u0000\u4951\u4D6A\u7078\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u7079\u0000"+
-        "\u0000\u0000\u0000\u707B\u426A\u335B\u335C\u707A"+
-        "\u0000\u0000\u0000\u0000\u3469\u3832\u0000\u0000"+
-        "\u346A\u0000\u0000\u453F\u0000\u0000\u4E60\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u385C"+
-        "\u0000\u0000\u0000\u707C\u0000\u0000\u0000\u707D"+
-        "\u707E\u7121\u0000\u7123\u7122\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4977\u0000\u7124\u0000\u0000\u0000\u0000\u7125"+
-        "\u0000\u7126\u0000\u0000\u0000\u0000\u7127\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u7129\u7128\u0000\u712A\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4874\u664C\u0000\u0000\u3F29"+
-        "\u0000\u0000\u3532\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u712B\u0000\u712C\u0000\u522C\u5D3B\u4853"+
-        "\u0000\u0000\u307B\u0000\u303B\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3B74\u4B30\u3E7E\u0000"+
-        "\u0000\u0000\u0000\u712D\u0000\u4C5F\u0000\u0000"+
-        "\u0000\u712E\u4D5C\u0000\u3142\u0000\u0000\u0000"+
-        "\u3B41\u0000\u712F\u326E\u7130\u0000\u0000\u0000"+
-        "\u7131\u0000\u0000\u0000\u0000\u7133\u7134\u0000"+
-        "\u7136\u7132\u0000\u0000\u7135\u0000\u0000\u0000"+
-        "\u345B\u0000\u0000\u0000\u7137\u0000\u7138\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u7139\u713A\u0000"+
-        "\u0000\u0000\u713B\u0000\u0000\u713D\u0000\u0000"+
-        "\u0000\u713C\u0000\u713F\u7142\u0000\u0000\u0000"+
-        "\u713E\u7140\u7141\u0000\u0000\u7143\u0000\u3642"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3C73\u7144"+
-        "\u7145\u3961\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u7146\u0000\u0000"+
-        "\u333E\u0000\u0000\u0000\u474F\u7147\u7148\u0000"+
-        "\u0000\u0000\u0000\u435A\u466B\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u7149\u0000\u0000\u0000"+
-        "\u0000\u477D\u0000\u0000\u424C\u3158\u366E\u0000"+
-        "\u366F\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4373\u714E\u3670\u0000\u0000\u326F\u0000\u0000"+
-        "\u714D\u0000\u0000\u714B\u0000\u714C\u0000\u714A"+
-        "\u0000\u0000\u7158\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u714F\u7150\u0000"+
-        "\u0000\u7151\u7152\u0000\u0000\u0000\u0000\u0000"+
-        "\u7154\u0000\u0000\u7153\u0000\u0000\u0000\u3D59"+
-        "\u0000\u7155\u0000\u0000\u0000\u7157\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3533\u7156"+
-        "\u0000\u0000\u417B\u3833\u0000\u0000\u0000\u0000"+
-        "\u0000\u7159\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u424D\u0000\u0000\u715A\u0000\u0000\u0000\u0000"+
-        "\u462D\u0000\u0000\u0000\u0000\u0000\u0000\u715B"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u7160\u0000"+
-        "\u715E\u0000\u715D\u715F\u0000\u715C\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u7162\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u7161\u0000\u7164"+
-        "\u0000\u0000\u3643\u7163\u0000\u0000\u0000\u7165"+
-        "\u0000\u0000\u7166\u0000\u7168\u7167\u0000\u0000"+
-        "\u0000\u7169\u716B\u716A\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u397C\u0000\u0000\u0000\u0000\u716C\u0000\u0000"+
-        "\u716D\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u333C\u0000\u0000\u0000\u716E\u0000\u0000\u0000"+
-        "\u716F\u0000\u0000\u0000\u3F71\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u7170"+
-        "\u0000\u7171\u0000\u7172\u7173\u0000\u0000\u0000"+
-        "\u3962\u0000\u0000\u0000\u0000\u0000\u7174\u7175"+
-        "\u0000\u0000\u7176\u7177\u0000\u0000\u7178\u0000"+
-        "\u0000\u0000\u4831\u717A\u0000\u4926\u717B\u7179"+
-        "\u0000\u717D\u0000\u0000\u717C\u0000\u0000\u717E"+
-        "\u0000\u0000\u0000\u7221\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u7222\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u7223\u0000\u7224\u0000\u0000\u0000\u0000\u7225"+
-        "\u0000\u0000\u7226\u7227\u0000\u7228\u0000\u7229"+
-        "\u722A\u722B\u722C\u0000\u0000\u0000\u722D\u722E"+
-        "\u0000\u5D35\u722F\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6478\u3534\u0000\u0000\u0000"+
-        "\u0000\u3321\u3A32\u7231\u7230\u4C25\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u7233\u7234\u7232"+
-        "\u0000\u7235\u0000\u0000\u4B62\u0000\u0000\u0000"+
-        "\u7236\u0000\u357B\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4F25"+
-        "\u0000\u0000\u0000\u0000\u7237\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u7239\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u303E\u0000"+
-        "\u0000\u723A\u4A2B\u7238\u0000\u0000\u723B\u723C"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u723D"+
-        "\u723E\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u723F\u0000\u4B6E\u3B2D\u0000\u3A7A\u412F\u0000"+
-        "\u0000\u0000\u0000\u0000\u7240\u0000\u0000\u0000"+
-        "\u0000\u7243\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u7241\u0000\u0000\u0000\u0000\u0000\u7244\u0000"+
-        "\u0000\u3871\u7242\u0000\u0000\u0000\u0000\u7245"+
-        "\u0000\u7246\u7247\u0000\u724B\u0000\u3B2A\u0000"+
-        "\u0000\u0000\u0000\u4264\u0000\u0000\u0000\u0000"+
-        "\u0000\u724C\u7249\u7248\u724A\u0000\u0000\u0000"+
-        "\u375F\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u7250\u724F\u724E\u0000\u0000\u3033\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u725A\u0000\u7256\u0000"+
-        "\u7257\u7253\u7259\u0000\u7255\u3362\u0000\u0000"+
-        "\u4F4C\u0000\u7258\u7254\u7252\u7251\u0000\u0000"+
-        "\u0000\u0000\u0000\u725C\u0000\u0000\u0000\u0000"+
-        "\u0000\u725F\u0000\u0000\u725E\u725D\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4949\u725B\u3073"+
-        "\u7260\u0000\u7262\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u336F\u724D\u3137\u0000\u0000\u7264\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u7263\u7261"+
-        "\u432D\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4B70\u0000\u0000\u0000\u0000\u4E5A"+
-        "\u0000\u0000\u7265\u0000\u0000\u0000\u0000\u0000"+
-        "\u7266\u0000\u0000\u0000\u0000\u0000\u0000\u7267"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u7268\u0000"+
-        "\u7269\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u443B\u0000\u726A"+
-        "\u0000\u4837\u0000\u726F\u726B\u0000\u0000\u0000"+
-        "\u726C\u0000\u0000\u4B31\u4C44\u0000\u4650\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u7270\u0000\u0000\u7271\u463E"+
-        "\u726E\u726D\u0000\u0000\u0000\u0000\u322A\u0000"+
-        "\u0000\u0000\u7279\u0000\u0000\u7278\u0000\u0000"+
-        "\u0000\u0000\u0000\u3175\u0000\u0000\u0000\u7276"+
-        "\u0000\u0000\u0000\u7275\u0000\u0000\u7273\u0000"+
-        "\u337B\u0000\u7272\u3C32\u3229\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3963\u0000\u0000\u727C\u727B"+
-        "\u0000\u727A\u0000\u0000\u7277\u0000\u727D\u0000"+
-        "\u727E\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u7325\u7324\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u7326\u0000\u0000\u312D\u7321\u7322\u0000"+
-        "\u3974\u4C39\u0000\u0000\u7323\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u4B32\u0000\u0000\u732B"+
-        "\u0000\u0000\u7327\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u732C\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u7329"+
-        "\u0000\u7328\u0000\u0000\u0000\u0000\u0000\u375C"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u732D\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u732E\u0000\u0000\u0000"+
-        "\u0000\u732F\u0000\u732A\u0000\u0000\u0000\u7274"+
-        "\u0000\u0000\u7330\u0000\u4461\u0000\u0000\u0000"+
-        "\u7334\u0000\u7335\u7333\u0000\u0000\u0000\u0000"+
-        "\u0000\u7332\u7338\u0000\u7331\u0000\u7336\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u7337"+
-        "\u0000\u0000\u0000\u733A\u0000\u0000\u0000\u0000"+
-        "\u0000\u7339\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u733C\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u733D\u0000\u733E"+
-        "\u0000\u0000\u4F49\u0000\u0000\u0000\u0000\u0000"+
-        "\u733B\u426B\u3A6D\u0000\u0000\u733F\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u7340\u7341\u0000\u0000\u7342\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u7343\u0000\u0000"+
-        "\u3834\u7344\u0000\u0000\u0000\u7345\u0000\u3C2F"+
-        "\u0000\u7346\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u7347\u0000\u0000\u7348\u7349\u0000\u0000\u0000"+
-        "\u0000\u734C\u734A\u4F3C\u0000\u734B\u0000\u4E6F"+
-        "\u0000\u0000\u0000\u0000\u0000\u734D\u0000\u4E5B"+
-        "\u0000\u0000\u0000\u0000\u0000\u734E\u477E\u0000"+
-        "\u0000\u734F\u7351\u0000\u0000\u7352\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u7350\u396D\u4C4D\u4B63\u5677\u0000\u5D60\u4B7B"+
-        "\u0000\u0000\u0000\u0000\u322B\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u7354\u3550\u7355\u7356"+
-        "\u7357\u0000\u3975\u0000\u7358\u0000\u0000\u0000"+
-        "\u6054\u4C5B\u0000\u4263\u7359\u735B\u735A\u0000"+
-        "\u735C\u0000\u0000\u0000\u0000\u735D\u0000\u0000"+
-        "\u735E\u0000\u0000\u0000\u0000\u0000\u0000\u735F"+
-        "\u0000\u0000\u0000\u0000\u7360\u0000\u7361\u7362"+
-        "\u0000\u7363\u0000\u7364\u7365\u7366\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u7367"+
-        "\u7368\u0000\u0000\u0000\u0000\u0000\u4524\u0000"+
-        "\u0000\u0000\u0000\u385D\u0000\u736A\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u414D\u736B\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u736C\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4921\u0000\u0000\u736D\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u736E\u6337\u0000\u0000\u6C5A\u706D"+
-        "\u0000\u0000\u736F\u0000\u7370\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u7372"+
-        "\u7373\u7374\u4E70\u7371\u0000\u0000\u7375\u7376"+
-        "\u0000\u0000\u7378\u0000\u7377\u0000\u0000\u0000"+
-        "\u0000\u0000\u737A\u0000\u0000\u0000\u737B\u7379"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4E36\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u737C\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u737D\u6354\u0000\u0000"+
-        "\u737E\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u212A\u0000\u2174\u2170\u2173\u2175\u0000"+
-        "\u214A\u214B\u2176\u215C\u2124\u0000\u2125\u213F"+
-        "\u2330\u2331\u2332\u2333\u2334\u2335\u2336\u2337"+
-        "\u2338\u2339\u2127\u2128\u2163\u2161\u2164\u2129"+
-        "\u2177\u2341\u2342\u2343\u2344\u2345\u2346\u2347"+
-        "\u2348\u2349\u234A\u234B\u234C\u234D\u234E\u234F"+
-        "\u2350\u2351\u2352\u2353\u2354\u2355\u2356\u2357"+
-        "\u2358\u2359\u235A\u214E\u2140\u214F\u2130\u2132"+
-        "\u212E\u2361\u2362\u2363\u2364\u2365\u2366\u2367"+
-        "\u2368\u2369\u236A\u236B\u236C\u236D\u236E\u236F"+
-        "\u2370\u2371\u2372\u2373\u2374\u2375\u2376\u2377"+
-        "\u2378\u2379\u237A\u2150\u2143\u2151\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u2131\u0000\u216F\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
-
-    private final static short index1[] = {
-        1, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        4, 5, 6, 7, 0, 8, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 12,
-        13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
-        29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
-        45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
-        61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
-        77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93
-    };
-
-    private final static String index2[] = {
-        innerIndex0,
-        innerIndex1,
-        innerIndex2,
-        innerIndex3,
-        innerIndex4,
-        innerIndex5
-    };
-}
--- a/src/share/classes/sun/nio/cs/ext/JIS_X_0208_MS5022X_Decoder.java	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1119 +0,0 @@
-/*
- * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code 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
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package sun.nio.cs.ext;
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-
-class JIS_X_0208_MS5022X_Decoder
-{
-    private final static String innerIndex0=
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u3000\u3001"+
-        "\u3002\uFF0C\uFF0E\u30FB\uFF1A\uFF1B\uFF1F\uFF01"+
-        "\u309B\u309C\u00B4\uFF40\u00A8\uFF3E\uFFE3\uFF3F"+
-        "\u30FD\u30FE\u309D\u309E\u3003\u4EDD\u3005\u3006"+
-        "\u3007\u30FC\u2015\u2010\uFF0F\uFF3C\u301C\u2016"+
-        "\uFF5C\u2026\u2025\u2018\u2019\u201C\u201D\uFF08"+
-        "\uFF09\u3014\u3015\uFF3B\uFF3D\uFF5B\uFF5D\u3008"+
-        "\u3009\u300A\u300B\u300C\u300D\u300E\u300F\u3010"+
-        "\u3011\uFF0B\u2212\u00B1\u00D7\u00F7\uFF1D\u2260"+
-        "\uFF1C\uFF1E\u2266\u2267\u221E\u2234\u2642\u2640"+
-        "\u00B0\u2032\u2033\u2103\uFFE5\uFF04\u00A2\u00A3"+
-        "\uFF05\uFF03\uFF06\uFF0A\uFF20\u00A7\u2606\u2605"+
-        "\u25CB\u25CF\u25CE\u25C7\u25C6\u25A1\u25A0\u25B3"+
-        "\u25B2\u25BD\u25BC\u203B\u3012\u2192\u2190\u2191"+
-        "\u2193\u3013\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2208\u220B\u2286"+
-        "\u2287\u2282\u2283\u222A\u2229\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2227\u2228\u00AC"+
-        "\u21D2\u21D4\u2200\u2203\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2220"+
-        "\u22A5\u2312\u2202\u2207\u2261\u2252\u226A\u226B"+
-        "\u221A\u223D\u221D\u2235\u222B\u222C\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u212B\u2030\u266F"+
-        "\u266D\u266A\u2020\u2021\u00B6\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\u25EF\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFF10\uFF11\uFF12\uFF13\uFF14\uFF15\uFF16"+
-        "\uFF17\uFF18\uFF19\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFF21\uFF22\uFF23\uFF24\uFF25\uFF26"+
-        "\uFF27\uFF28\uFF29\uFF2A\uFF2B\uFF2C\uFF2D\uFF2E"+
-        "\uFF2F\uFF30\uFF31\uFF32\uFF33\uFF34\uFF35\uFF36"+
-        "\uFF37\uFF38\uFF39\uFF3A\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFF41\uFF42\uFF43\uFF44\uFF45\uFF46"+
-        "\uFF47\uFF48\uFF49\uFF4A\uFF4B\uFF4C\uFF4D\uFF4E"+
-        "\uFF4F\uFF50\uFF51\uFF52\uFF53\uFF54\uFF55\uFF56"+
-        "\uFF57\uFF58\uFF59\uFF5A\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\u3041\u3042\u3043\u3044\u3045\u3046\u3047\u3048"+
-        "\u3049\u304A\u304B\u304C\u304D\u304E\u304F\u3050"+
-        "\u3051\u3052\u3053\u3054\u3055\u3056\u3057\u3058"+
-        "\u3059\u305A\u305B\u305C\u305D\u305E\u305F\u3060"+
-        "\u3061\u3062\u3063\u3064\u3065\u3066\u3067\u3068"+
-        "\u3069\u306A\u306B\u306C\u306D\u306E\u306F\u3070"+
-        "\u3071\u3072\u3073\u3074\u3075\u3076\u3077\u3078"+
-        "\u3079\u307A\u307B\u307C\u307D\u307E\u307F\u3080"+
-        "\u3081\u3082\u3083\u3084\u3085\u3086\u3087\u3088"+
-        "\u3089\u308A\u308B\u308C\u308D\u308E\u308F\u3090"+
-        "\u3091\u3092\u3093\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u30A1\u30A2"+
-        "\u30A3\u30A4\u30A5\u30A6\u30A7\u30A8\u30A9\u30AA"+
-        "\u30AB\u30AC\u30AD\u30AE\u30AF\u30B0\u30B1\u30B2"+
-        "\u30B3\u30B4\u30B5\u30B6\u30B7\u30B8\u30B9\u30BA"+
-        "\u30BB\u30BC\u30BD\u30BE\u30BF\u30C0\u30C1\u30C2"+
-        "\u30C3\u30C4\u30C5\u30C6\u30C7\u30C8\u30C9\u30CA"+
-        "\u30CB\u30CC\u30CD\u30CE\u30CF\u30D0\u30D1\u30D2"+
-        "\u30D3\u30D4\u30D5\u30D6\u30D7\u30D8\u30D9\u30DA"+
-        "\u30DB\u30DC\u30DD\u30DE\u30DF\u30E0\u30E1\u30E2"+
-        "\u30E3\u30E4\u30E5\u30E6\u30E7\u30E8\u30E9\u30EA"+
-        "\u30EB\u30EC\u30ED\u30EE\u30EF\u30F0\u30F1\u30F2"+
-        "\u30F3\u30F4\u30F5\u30F6\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\u0391\u0392\u0393\u0394"+
-        "\u0395\u0396\u0397\u0398\u0399\u039A\u039B\u039C"+
-        "\u039D\u039E\u039F\u03A0\u03A1\u03A3\u03A4\u03A5"+
-        "\u03A6\u03A7\u03A8\u03A9\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\u03B1\u03B2\u03B3\u03B4"+
-        "\u03B5\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC"+
-        "\u03BD\u03BE\u03BF\u03C0\u03C1\u03C3\u03C4\u03C5"+
-        "\u03C6\u03C7\u03C8\u03C9\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\u0410\u0411\u0412\u0413\u0414\u0415"+
-        "\u0401\u0416\u0417\u0418\u0419\u041A\u041B\u041C"+
-        "\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424"+
-        "\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C"+
-        "\u042D\u042E\u042F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\u0430\u0431\u0432\u0433\u0434\u0435"+
-        "\u0451\u0436\u0437\u0438\u0439\u043A\u043B\u043C"+
-        "\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444"+
-        "\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C"+
-        "\u044D\u044E\u044F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\u2500\u2502\u250C\u2510\u2518\u2514\u251C\u252C"+
-        "\u2524\u2534\u253C\u2501\u2503\u250F\u2513\u251B"+
-        "\u2517\u2523\u2533\u252B\u253B\u254B\u2520\u252F"+
-        "\u2528\u2537\u253F\u251D\u2530\u2525\u2538\u2542"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2460\u2461"+
-        "\u2462\u2463\u2464\u2465\u2466\u2467\u2468\u2469"+
-        "\u246A\u246B\u246C\u246D\u246E\u246F\u2470\u2471"+
-        "\u2472\u2473\u2160\u2161\u2162\u2163\u2164\u2165"+
-        "\u2166\u2167\u2168\u2169\uFFFD\u3349\u3314\u3322"+
-        "\u334D\u3318\u3327\u3303\u3336\u3351\u3357\u330D"+
-        "\u3326\u3323\u332B\u334A\u333B\u339C\u339D\u339E"+
-        "\u338E\u338F\u33C4\u33A1\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\u337B\u301E\u301F\u2116"+
-        "\u33CD\u2121\u32A4\u32A5\u32A6\u32A7\u32A8\u3231"+
-        "\u3232\u3239\u337E\u337D\u337C\uFFFD\uFFFD\uFFFD"+
-        "\u222E\u2211\uFFFD\uFFFD\uFFFD\u221F\u22BF\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\u4E9C\u5516\u5A03\u963F"+
-        "\u54C0\u611B\u6328\u59F6\u9022\u8475\u831C\u7A50"+
-        "\u60AA\u63E1\u6E25\u65ED\u8466\u82A6\u9BF5\u6893"+
-        "\u5727\u65A1\u6271\u5B9B\u59D0\u867B\u98F4\u7D62"+
-        "\u7DBE\u9B8E\u6216\u7C9F\u88B7\u5B89\u5EB5\u6309"+
-        "\u6697\u6848\u95C7\u978D\u674F\u4EE5\u4F0A\u4F4D"+
-        "\u4F9D\u5049\u56F2\u5937\u59D4\u5A01\u5C09\u60DF"+
-        "\u610F\u6170\u6613\u6905\u70BA\u754F\u7570\u79FB"+
-        "\u7DAD\u7DEF\u80C3\u840E\u8863\u8B02\u9055\u907A"+
-        "\u533B\u4E95\u4EA5\u57DF\u80B2\u90C1\u78EF\u4E00"+
-        "\u58F1\u6EA2\u9038\u7A32\u8328\u828B\u9C2F\u5141"+
-        "\u5370\u54BD\u54E1\u56E0\u59FB\u5F15\u98F2\u6DEB"+
-        "\u80E4\u852D\u9662\u9670\u96A0\u97FB\u540B\u53F3"+
-        "\u5B87\u70CF\u7FBD\u8FC2\u96E8\u536F\u9D5C\u7ABA"+
-        "\u4E11\u7893\u81FC\u6E26\u5618\u5504\u6B1D\u851A"+
-        "\u9C3B\u59E5\u53A9\u6D66\u74DC\u958F\u5642\u4E91"+
-        "\u904B\u96F2\u834F\u990C\u53E1\u55B6\u5B30\u5F71"+
-        "\u6620\u66F3\u6804\u6C38\u6CF3\u6D29\u745B\u76C8"+
-        "\u7A4E\u9834\u82F1\u885B\u8A60\u92ED\u6DB2\u75AB"+
-        "\u76CA\u99C5\u60A6\u8B01\u8D8A\u95B2\u698E\u53AD"+
-        "\u5186\u5712\u5830\u5944\u5BB4\u5EF6\u6028\u63A9"+
-        "\u63F4\u6CBF\u6F14\u708E\u7114\u7159\u71D5\u733F"+
-        "\u7E01\u8276\u82D1\u8597\u9060\u925B\u9D1B\u5869"+
-        "\u65BC\u6C5A\u7525\u51F9\u592E\u5965\u5F80\u5FDC"+
-        "\u62BC\u65FA\u6A2A\u6B27\u6BB4\u738B\u7FC1\u8956"+
-        "\u9D2C\u9D0E\u9EC4\u5CA1\u6C96\u837B\u5104\u5C4B"+
-        "\u61B6\u81C6\u6876\u7261\u4E59\u4FFA\u5378\u6069"+
-        "\u6E29\u7A4F\u97F3\u4E0B\u5316\u4EEE\u4F55\u4F3D"+
-        "\u4FA1\u4F73\u52A0\u53EF\u5609\u590F\u5AC1\u5BB6"+
-        "\u5BE1\u79D1\u6687\u679C\u67B6\u6B4C\u6CB3\u706B"+
-        "\u73C2\u798D\u79BE\u7A3C\u7B87\u82B1\u82DB\u8304"+
-        "\u8377\u83EF\u83D3\u8766\u8AB2\u5629\u8CA8\u8FE6"+
-        "\u904E\u971E\u868A\u4FC4\u5CE8\u6211\u7259\u753B"+
-        "\u81E5\u82BD\u86FE\u8CC0\u96C5\u9913\u99D5\u4ECB"+
-        "\u4F1A\u89E3\u56DE\u584A\u58CA\u5EFB\u5FEB\u602A"+
-        "\u6094\u6062\u61D0\u6212\u62D0\u6539\u9B41\u6666"+
-        "\u68B0\u6D77\u7070\u754C\u7686\u7D75\u82A5\u87F9"+
-        "\u958B\u968E\u8C9D\u51F1\u52BE\u5916\u54B3\u5BB3"+
-        "\u5D16\u6168\u6982\u6DAF\u788D\u84CB\u8857\u8A72"+
-        "\u93A7\u9AB8\u6D6C\u99A8\u86D9\u57A3\u67FF\u86CE"+
-        "\u920E\u5283\u5687\u5404\u5ED3\u62E1\u64B9\u683C"+
-        "\u6838\u6BBB\u7372\u78BA\u7A6B\u899A\u89D2\u8D6B"+
-        "\u8F03\u90ED\u95A3\u9694\u9769\u5B66\u5CB3\u697D"+
-        "\u984D\u984E\u639B\u7B20\u6A2B\u6A7F\u68B6\u9C0D"+
-        "\u6F5F\u5272\u559D\u6070\u62EC\u6D3B\u6E07\u6ED1"+
-        "\u845B\u8910\u8F44\u4E14\u9C39\u53F6\u691B\u6A3A"+
-        "\u9784\u682A\u515C\u7AC3\u84B2\u91DC\u938C\u565B"+
-        "\u9D28\u6822\u8305\u8431\u7CA5\u5208\u82C5\u74E6"+
-        "\u4E7E\u4F83\u51A0\u5BD2\u520A\u52D8\u52E7\u5DFB"+
-        "\u559A\u582A\u59E6\u5B8C\u5B98\u5BDB\u5E72\u5E79"+
-        "\u60A3\u611F\u6163\u61BE\u63DB\u6562\u67D1\u6853"+
-        "\u68FA\u6B3E\u6B53\u6C57\u6F22\u6F97\u6F45\u74B0"+
-        "\u7518\u76E3\u770B\u7AFF\u7BA1\u7C21\u7DE9\u7F36"+
-        "\u7FF0\u809D\u8266\u839E\u89B3\u8ACC\u8CAB\u9084"+
-        "\u9451\u9593\u9591\u95A2\u9665\u97D3\u9928\u8218"+
-        "\u4E38\u542B\u5CB8\u5DCC\u73A9\u764C\u773C\u5CA9"+
-        "\u7FEB\u8D0B\u96C1\u9811\u9854\u9858\u4F01\u4F0E"+
-        "\u5371\u559C\u5668\u57FA\u5947\u5B09\u5BC4\u5C90"+
-        "\u5E0C\u5E7E\u5FCC\u63EE\u673A\u65D7\u65E2\u671F"+
-        "\u68CB\u68C4\u6A5F\u5E30\u6BC5\u6C17\u6C7D\u757F"+
-        "\u7948\u5B63\u7A00\u7D00\u5FBD\u898F\u8A18\u8CB4"+
-        "\u8D77\u8ECC\u8F1D\u98E2\u9A0E\u9B3C\u4E80\u507D"+
-        "\u5100\u5993\u5B9C\u622F\u6280\u64EC\u6B3A\u72A0"+
-        "\u7591\u7947\u7FA9\u87FB\u8ABC\u8B70\u63AC\u83CA"+
-        "\u97A0\u5409\u5403\u55AB\u6854\u6A58\u8A70\u7827"+
-        "\u6775\u9ECD\u5374\u5BA2\u811A\u8650\u9006\u4E18"+
-        "\u4E45\u4EC7\u4F11\u53CA\u5438\u5BAE\u5F13\u6025"+
-        "\u6551\u673D\u6C42\u6C72\u6CE3\u7078\u7403\u7A76"+
-        "\u7AAE\u7B08\u7D1A\u7CFE\u7D66\u65E7\u725B\u53BB"+
-        "\u5C45\u5DE8\u62D2\u62E0\u6319\u6E20\u865A\u8A31"+
-        "\u8DDD\u92F8\u6F01\u79A6\u9B5A\u4EA8\u4EAB\u4EAC";
-
-    private final static String innerIndex1=
-        "\u4F9B\u4FA0\u50D1\u5147\u7AF6\u5171\u51F6\u5354"+
-        "\u5321\u537F\u53EB\u55AC\u5883\u5CE1\u5F37\u5F4A"+
-        "\u602F\u6050\u606D\u631F\u6559\u6A4B\u6CC1\u72C2"+
-        "\u72ED\u77EF\u80F8\u8105\u8208\u854E\u90F7\u93E1"+
-        "\u97FF\u9957\u9A5A\u4EF0\u51DD\u5C2D\u6681\u696D"+
-        "\u5C40\u66F2\u6975\u7389\u6850\u7C81\u50C5\u52E4"+
-        "\u5747\u5DFE\u9326\u65A4\u6B23\u6B3D\u7434\u7981"+
-        "\u79BD\u7B4B\u7DCA\u82B9\u83CC\u887F\u895F\u8B39"+
-        "\u8FD1\u91D1\u541F\u9280\u4E5D\u5036\u53E5\u533A"+
-        "\u72D7\u7396\u77E9\u82E6\u8EAF\u99C6\u99C8\u99D2"+
-        "\u5177\u611A\u865E\u55B0\u7A7A\u5076\u5BD3\u9047"+
-        "\u9685\u4E32\u6ADB\u91E7\u5C51\u5C48\u6398\u7A9F"+
-        "\u6C93\u9774\u8F61\u7AAA\u718A\u9688\u7C82\u6817"+
-        "\u7E70\u6851\u936C\u52F2\u541B\u85AB\u8A13\u7FA4"+
-        "\u8ECD\u90E1\u5366\u8888\u7941\u4FC2\u50BE\u5211"+
-        "\u5144\u5553\u572D\u73EA\u578B\u5951\u5F62\u5F84"+
-        "\u6075\u6176\u6167\u61A9\u63B2\u643A\u656C\u666F"+
-        "\u6842\u6E13\u7566\u7A3D\u7CFB\u7D4C\u7D99\u7E4B"+
-        "\u7F6B\u830E\u834A\u86CD\u8A08\u8A63\u8B66\u8EFD"+
-        "\u981A\u9D8F\u82B8\u8FCE\u9BE8\u5287\u621F\u6483"+
-        "\u6FC0\u9699\u6841\u5091\u6B20\u6C7A\u6F54\u7A74"+
-        "\u7D50\u8840\u8A23\u6708\u4EF6\u5039\u5026\u5065"+
-        "\u517C\u5238\u5263\u55A7\u570F\u5805\u5ACC\u5EFA"+
-        "\u61B2\u61F8\u62F3\u6372\u691C\u6A29\u727D\u72AC"+
-        "\u732E\u7814\u786F\u7D79\u770C\u80A9\u898B\u8B19"+
-        "\u8CE2\u8ED2\u9063\u9375\u967A\u9855\u9A13\u9E78"+
-        "\u5143\u539F\u53B3\u5E7B\u5F26\u6E1B\u6E90\u7384"+
-        "\u73FE\u7D43\u8237\u8A00\u8AFA\u9650\u4E4E\u500B"+
-        "\u53E4\u547C\u56FA\u59D1\u5B64\u5DF1\u5EAB\u5F27"+
-        "\u6238\u6545\u67AF\u6E56\u72D0\u7CCA\u88B4\u80A1"+
-        "\u80E1\u83F0\u864E\u8A87\u8DE8\u9237\u96C7\u9867"+
-        "\u9F13\u4E94\u4E92\u4F0D\u5348\u5449\u543E\u5A2F"+
-        "\u5F8C\u5FA1\u609F\u68A7\u6A8E\u745A\u7881\u8A9E"+
-        "\u8AA4\u8B77\u9190\u4E5E\u9BC9\u4EA4\u4F7C\u4FAF"+
-        "\u5019\u5016\u5149\u516C\u529F\u52B9\u52FE\u539A"+
-        "\u53E3\u5411\u540E\u5589\u5751\u57A2\u597D\u5B54"+
-        "\u5B5D\u5B8F\u5DE5\u5DE7\u5DF7\u5E78\u5E83\u5E9A"+
-        "\u5EB7\u5F18\u6052\u614C\u6297\u62D8\u63A7\u653B"+
-        "\u6602\u6643\u66F4\u676D\u6821\u6897\u69CB\u6C5F"+
-        "\u6D2A\u6D69\u6E2F\u6E9D\u7532\u7687\u786C\u7A3F"+
-        "\u7CE0\u7D05\u7D18\u7D5E\u7DB1\u8015\u8003\u80AF"+
-        "\u80B1\u8154\u818F\u822A\u8352\u884C\u8861\u8B1B"+
-        "\u8CA2\u8CFC\u90CA\u9175\u9271\u783F\u92FC\u95A4"+
-        "\u964D\u9805\u9999\u9AD8\u9D3B\u525B\u52AB\u53F7"+
-        "\u5408\u58D5\u62F7\u6FE0\u8C6A\u8F5F\u9EB9\u514B"+
-        "\u523B\u544A\u56FD\u7A40\u9177\u9D60\u9ED2\u7344"+
-        "\u6F09\u8170\u7511\u5FFD\u60DA\u9AA8\u72DB\u8FBC"+
-        "\u6B64\u9803\u4ECA\u56F0\u5764\u58BE\u5A5A\u6068"+
-        "\u61C7\u660F\u6606\u6839\u68B1\u6DF7\u75D5\u7D3A"+
-        "\u826E\u9B42\u4E9B\u4F50\u53C9\u5506\u5D6F\u5DE6"+
-        "\u5DEE\u67FB\u6C99\u7473\u7802\u8A50\u9396\u88DF"+
-        "\u5750\u5EA7\u632B\u50B5\u50AC\u518D\u6700\u54C9"+
-        "\u585E\u59BB\u5BB0\u5F69\u624D\u63A1\u683D\u6B73"+
-        "\u6E08\u707D\u91C7\u7280\u7815\u7826\u796D\u658E"+
-        "\u7D30\u83DC\u88C1\u8F09\u969B\u5264\u5728\u6750"+
-        "\u7F6A\u8CA1\u51B4\u5742\u962A\u583A\u698A\u80B4"+
-        "\u54B2\u5D0E\u57FC\u7895\u9DFA\u4F5C\u524A\u548B"+
-        "\u643E\u6628\u6714\u67F5\u7A84\u7B56\u7D22\u932F"+
-        "\u685C\u9BAD\u7B39\u5319\u518A\u5237\u5BDF\u62F6"+
-        "\u64AE\u64E6\u672D\u6BBA\u85A9\u96D1\u7690\u9BD6"+
-        "\u634C\u9306\u9BAB\u76BF\u6652\u4E09\u5098\u53C2"+
-        "\u5C71\u60E8\u6492\u6563\u685F\u71E6\u73CA\u7523"+
-        "\u7B97\u7E82\u8695\u8B83\u8CDB\u9178\u9910\u65AC"+
-        "\u66AB\u6B8B\u4ED5\u4ED4\u4F3A\u4F7F\u523A\u53F8"+
-        "\u53F2\u55E3\u56DB\u58EB\u59CB\u59C9\u59FF\u5B50"+
-        "\u5C4D\u5E02\u5E2B\u5FD7\u601D\u6307\u652F\u5B5C"+
-        "\u65AF\u65BD\u65E8\u679D\u6B62\u6B7B\u6C0F\u7345"+
-        "\u7949\u79C1\u7CF8\u7D19\u7D2B\u80A2\u8102\u81F3"+
-        "\u8996\u8A5E\u8A69\u8A66\u8A8C\u8AEE\u8CC7\u8CDC"+
-        "\u96CC\u98FC\u6B6F\u4E8B\u4F3C\u4F8D\u5150\u5B57"+
-        "\u5BFA\u6148\u6301\u6642\u6B21\u6ECB\u6CBB\u723E"+
-        "\u74BD\u75D4\u78C1\u793A\u800C\u8033\u81EA\u8494"+
-        "\u8F9E\u6C50\u9E7F\u5F0F\u8B58\u9D2B\u7AFA\u8EF8"+
-        "\u5B8D\u96EB\u4E03\u53F1\u57F7\u5931\u5AC9\u5BA4"+
-        "\u6089\u6E7F\u6F06\u75BE\u8CEA\u5B9F\u8500\u7BE0"+
-        "\u5072\u67F4\u829D\u5C61\u854A\u7E1E\u820E\u5199"+
-        "\u5C04\u6368\u8D66\u659C\u716E\u793E\u7D17\u8005"+
-        "\u8B1D\u8ECA\u906E\u86C7\u90AA\u501F\u52FA\u5C3A"+
-        "\u6753\u707C\u7235\u914C\u91C8\u932B\u82E5\u5BC2"+
-        "\u5F31\u60F9\u4E3B\u53D6\u5B88\u624B\u6731\u6B8A"+
-        "\u72E9\u73E0\u7A2E\u816B\u8DA3\u9152\u9996\u5112"+
-        "\u53D7\u546A\u5BFF\u6388\u6A39\u7DAC\u9700\u56DA"+
-        "\u53CE\u5468\u5B97\u5C31\u5DDE\u4FEE\u6101\u62FE"+
-        "\u6D32\u79C0\u79CB\u7D42\u7E4D\u7FD2\u81ED\u821F"+
-        "\u8490\u8846\u8972\u8B90\u8E74\u8F2F\u9031\u914B"+
-        "\u916C\u96C6\u919C\u4EC0\u4F4F\u5145\u5341\u5F93"+
-        "\u620E\u67D4\u6C41\u6E0B\u7363\u7E26\u91CD\u9283"+
-        "\u53D4\u5919\u5BBF\u6DD1\u795D\u7E2E\u7C9B\u587E"+
-        "\u719F\u51FA\u8853\u8FF0\u4FCA\u5CFB\u6625\u77AC"+
-        "\u7AE3\u821C\u99FF\u51C6\u5FAA\u65EC\u696F\u6B89"+
-        "\u6DF3\u6E96\u6F64\u76FE\u7D14\u5DE1\u9075\u9187"+
-        "\u9806\u51E6\u521D\u6240\u6691\u66D9\u6E1A\u5EB6"+
-        "\u7DD2\u7F72\u66F8\u85AF\u85F7\u8AF8\u52A9\u53D9"+
-        "\u5973\u5E8F\u5F90\u6055\u92E4\u9664\u50B7\u511F"+
-        "\u52DD\u5320\u5347\u53EC\u54E8\u5546\u5531\u5617"+
-        "\u5968\u59BE\u5A3C\u5BB5\u5C06\u5C0F\u5C11\u5C1A"+
-        "\u5E84\u5E8A\u5EE0\u5F70\u627F\u6284\u62DB\u638C"+
-        "\u6377\u6607\u660C\u662D\u6676\u677E\u68A2\u6A1F"+
-        "\u6A35\u6CBC\u6D88\u6E09\u6E58\u713C\u7126\u7167"+
-        "\u75C7\u7701\u785D\u7901\u7965\u79F0\u7AE0\u7B11"+
-        "\u7CA7\u7D39\u8096\u83D6\u848B\u8549\u885D\u88F3"+
-        "\u8A1F\u8A3C\u8A54\u8A73\u8C61\u8CDE\u91A4\u9266"+
-        "\u937E\u9418\u969C\u9798\u4E0A\u4E08\u4E1E\u4E57"+
-        "\u5197\u5270\u57CE\u5834\u58CC\u5B22\u5E38\u60C5"+
-        "\u64FE\u6761\u6756\u6D44\u72B6\u7573\u7A63\u84B8"+
-        "\u8B72\u91B8\u9320\u5631\u57F4\u98FE\u62ED\u690D"+
-        "\u6B96\u71ED\u7E54\u8077\u8272\u89E6\u98DF\u8755"+
-        "\u8FB1\u5C3B\u4F38\u4FE1\u4FB5\u5507\u5A20\u5BDD"+
-        "\u5BE9\u5FC3\u614E\u632F\u65B0\u664B\u68EE\u699B"+
-        "\u6D78\u6DF1\u7533\u75B9\u771F\u795E\u79E6\u7D33"+
-        "\u81E3\u82AF\u85AA\u89AA\u8A3A\u8EAB\u8F9B\u9032"+
-        "\u91DD\u9707\u4EBA\u4EC1\u5203\u5875\u58EC\u5C0B"+
-        "\u751A\u5C3D\u814E\u8A0A\u8FC5\u9663\u976D\u7B25"+
-        "\u8ACF\u9808\u9162\u56F3\u53A8\u9017\u5439\u5782"+
-        "\u5E25\u63A8\u6C34\u708A\u7761\u7C8B\u7FE0\u8870"+
-        "\u9042\u9154\u9310\u9318\u968F\u745E\u9AC4\u5D07"+
-        "\u5D69\u6570\u67A2\u8DA8\u96DB\u636E\u6749\u6919"+
-        "\u83C5\u9817\u96C0\u88FE\u6F84\u647A\u5BF8\u4E16"+
-        "\u702C\u755D\u662F\u51C4\u5236\u52E2\u59D3\u5F81"+
-        "\u6027\u6210\u653F\u6574\u661F\u6674\u68F2\u6816"+
-        "\u6B63\u6E05\u7272\u751F\u76DB\u7CBE\u8056\u58F0"+
-        "\u88FD\u897F\u8AA0\u8A93\u8ACB\u901D\u9192\u9752"+
-        "\u9759\u6589\u7A0E\u8106\u96BB\u5E2D\u60DC\u621A"+
-        "\u65A5\u6614\u6790\u77F3\u7A4D\u7C4D\u7E3E\u810A"+
-        "\u8CAC\u8D64\u8DE1\u8E5F\u78A9\u5207\u62D9\u63A5"+
-        "\u6442\u6298\u8A2D\u7A83\u7BC0\u8AAC\u96EA\u7D76"+
-        "\u820C\u8749\u4ED9\u5148\u5343\u5360\u5BA3\u5C02"+
-        "\u5C16\u5DDD\u6226\u6247\u64B0\u6813\u6834\u6CC9"+
-        "\u6D45\u6D17\u67D3\u6F5C\u714E\u717D\u65CB\u7A7F"+
-        "\u7BAD\u7DDA\u7E4A\u7FA8\u817A\u821B\u8239\u85A6"+
-        "\u8A6E\u8CCE\u8DF5\u9078\u9077\u92AD\u9291\u9583"+
-        "\u9BAE\u524D\u5584\u6F38\u7136\u5168\u7985\u7E55"+
-        "\u81B3\u7CCE\u564C\u5851\u5CA8\u63AA\u66FE\u66FD"+
-        "\u695A\u72D9\u758F\u758E\u790E\u7956\u79DF\u7C97"+
-        "\u7D20\u7D44\u8607\u8A34\u963B\u9061\u9F20\u50E7"+
-        "\u5275\u53CC\u53E2\u5009\u55AA\u58EE\u594F\u723D"+
-        "\u5B8B\u5C64\u531D\u60E3\u60F3\u635C\u6383\u633F"+
-        "\u63BB\u64CD\u65E9\u66F9\u5DE3\u69CD\u69FD\u6F15"+
-        "\u71E5\u4E89\u75E9\u76F8\u7A93\u7CDF\u7DCF\u7D9C"+
-        "\u8061\u8349\u8358\u846C\u84BC\u85FB\u88C5\u8D70"+
-        "\u9001\u906D\u9397\u971C\u9A12\u50CF\u5897\u618E"+
-        "\u81D3\u8535\u8D08\u9020\u4FC3\u5074\u5247\u5373"+
-        "\u606F\u6349\u675F\u6E2C\u8DB3\u901F\u4FD7\u5C5E"+
-        "\u8CCA\u65CF\u7D9A\u5352\u8896\u5176\u63C3\u5B58"+
-        "\u5B6B\u5C0A\u640D\u6751\u905C\u4ED6\u591A\u592A"+
-        "\u6C70\u8A51\u553E\u5815\u59A5\u60F0\u6253\u67C1"+
-        "\u8235\u6955\u9640\u99C4\u9A28\u4F53\u5806\u5BFE"+
-        "\u8010\u5CB1\u5E2F\u5F85\u6020\u614B\u6234\u66FF"+
-        "\u6CF0\u6EDE\u80CE\u817F\u82D4\u888B\u8CB8\u9000"+
-        "\u902E\u968A\u9EDB\u9BDB\u4EE3\u53F0\u5927\u7B2C"+
-        "\u918D\u984C\u9DF9\u6EDD\u7027\u5353\u5544\u5B85"+
-        "\u6258\u629E\u62D3\u6CA2\u6FEF\u7422\u8A17\u9438"+
-        "\u6FC1\u8AFE\u8338\u51E7\u86F8\u53EA\u53E9\u4F46"+
-        "\u9054\u8FB0\u596A\u8131\u5DFD\u7AEA\u8FBF\u68DA"+
-        "\u8C37\u72F8\u9C48\u6A3D\u8AB0\u4E39\u5358\u5606"+
-        "\u5766\u62C5\u63A2\u65E6\u6B4E\u6DE1\u6E5B\u70AD"+
-        "\u77ED\u7AEF\u7BAA\u7DBB\u803D\u80C6\u86CB\u8A95"+
-        "\u935B\u56E3\u58C7\u5F3E\u65AD\u6696\u6A80\u6BB5"+
-        "\u7537\u8AC7\u5024\u77E5\u5730\u5F1B\u6065\u667A"+
-        "\u6C60\u75F4\u7A1A\u7F6E\u81F4\u8718\u9045\u99B3"+
-        "\u7BC9\u755C\u7AF9\u7B51\u84C4\u9010\u79E9\u7A92"+
-        "\u8336\u5AE1\u7740\u4E2D\u4EF2\u5B99\u5FE0\u62BD"+
-        "\u663C\u67F1\u6CE8\u866B\u8877\u8A3B\u914E\u92F3"+
-        "\u99D0\u6A17\u7026\u732A\u82E7\u8457\u8CAF\u4E01"+
-        "\u5146\u51CB\u558B\u5BF5\u5E16\u5E33\u5E81\u5F14"+
-        "\u5F35\u5F6B\u5FB4\u61F2\u6311\u66A2\u671D\u6F6E"+
-        "\u7252\u753A\u773A\u8074\u8139\u8178\u8776\u8ABF"+
-        "\u8ADC\u8D85\u8DF3\u929A\u9577\u9802\u9CE5\u52C5"+
-        "\u6357\u76F4\u6715\u6C88\u73CD\u8CC3\u93AE\u9673"+
-        "\u6D25\u589C\u690E\u69CC\u8FFD\u939A\u75DB\u901A"+
-        "\u585A\u6802\u63B4\u69FB\u4F43\u6F2C\u67D8\u8FBB"+
-        "\u8526\u7DB4\u9354\u693F\u6F70\u576A\u58F7\u5B2C"+
-        "\u7D2C\u722A\u540A\u91E3\u9DB4\u4EAD\u4F4E\u505C"+
-        "\u5075\u5243\u8C9E\u5448\u5824\u5B9A\u5E1D\u5E95"+
-        "\u5EAD\u5EF7\u5F1F\u608C\u62B5\u633A\u63D0\u68AF"+
-        "\u6C40\u7887\u798E\u7A0B\u7DE0\u8247\u8A02\u8AE6"+
-        "\u8E44\u9013\u90B8\u912D\u91D8\u9F0E\u6CE5\u6458"+
-        "\u64E2\u6575\u6EF4\u7684\u7B1B\u9069\u93D1\u6EBA"+
-        "\u54F2\u5FB9\u64A4\u8F4D\u8FED\u9244\u5178\u586B"+
-        "\u5929\u5C55\u5E97\u6DFB\u7E8F\u751C\u8CBC\u8EE2"+
-        "\u985B\u70B9\u4F1D\u6BBF\u6FB1\u7530\u96FB\u514E"+
-        "\u5410\u5835\u5857\u59AC\u5C60\u5F92\u6597\u675C"+
-        "\u6E21\u767B\u83DF\u8CED\u9014\u90FD\u934D\u7825"+
-        "\u783A\u52AA\u5EA6\u571F\u5974\u6012\u5012\u515A"+
-        "\u51AC\u51CD\u5200\u5510\u5854\u5858\u5957\u5B95"+
-        "\u5CF6\u5D8B\u60BC\u6295\u642D\u6771\u6843\u68BC"+
-        "\u68DF\u76D7\u6DD8\u6E6F\u6D9B\u706F\u71C8\u5F53"+
-        "\u75D8\u7977\u7B49\u7B54\u7B52\u7CD6\u7D71\u5230";
-
-    private final static String innerIndex2=
-        "\u8463\u8569\u85E4\u8A0E\u8B04\u8C46\u8E0F\u9003"+
-        "\u900F\u9419\u9676\u982D\u9A30\u95D8\u50CD\u52D5"+
-        "\u540C\u5802\u5C0E\u61A7\u649E\u6D1E\u77B3\u7AE5"+
-        "\u80F4\u8404\u9053\u9285\u5CE0\u9D07\u533F\u5F97"+
-        "\u5FB3\u6D9C\u7279\u7763\u79BF\u7BE4\u6BD2\u72EC"+
-        "\u8AAD\u6803\u6A61\u51F8\u7A81\u6934\u5C4A\u9CF6"+
-        "\u82EB\u5BC5\u9149\u701E\u5678\u5C6F\u60C7\u6566"+
-        "\u6C8C\u8C5A\u9041\u9813\u5451\u66C7\u920D\u5948"+
-        "\u90A3\u5185\u4E4D\u51EA\u8599\u8B0E\u7058\u637A"+
-        "\u934B\u6962\u99B4\u7E04\u7577\u5357\u6960\u8EDF"+
-        "\u96E3\u6C5D\u4E8C\u5C3C\u5F10\u8FE9\u5302\u8CD1"+
-        "\u8089\u8679\u5EFF\u65E5\u4E73\u5165\u5982\u5C3F"+
-        "\u97EE\u4EFB\u598A\u5FCD\u8A8D\u6FE1\u79B0\u7962"+
-        "\u5BE7\u8471\u732B\u71B1\u5E74\u5FF5\u637B\u649A"+
-        "\u71C3\u7C98\u4E43\u5EFC\u4E4B\u57DC\u56A2\u60A9"+
-        "\u6FC3\u7D0D\u80FD\u8133\u81BF\u8FB2\u8997\u86A4"+
-        "\u5DF4\u628A\u64AD\u8987\u6777\u6CE2\u6D3E\u7436"+
-        "\u7834\u5A46\u7F75\u82AD\u99AC\u4FF3\u5EC3\u62DD"+
-        "\u6392\u6557\u676F\u76C3\u724C\u80CC\u80BA\u8F29"+
-        "\u914D\u500D\u57F9\u5A92\u6885\u6973\u7164\u72FD"+
-        "\u8CB7\u58F2\u8CE0\u966A\u9019\u877F\u79E4\u77E7"+
-        "\u8429\u4F2F\u5265\u535A\u62CD\u67CF\u6CCA\u767D"+
-        "\u7B94\u7C95\u8236\u8584\u8FEB\u66DD\u6F20\u7206"+
-        "\u7E1B\u83AB\u99C1\u9EA6\u51FD\u7BB1\u7872\u7BB8"+
-        "\u8087\u7B48\u6AE8\u5E61\u808C\u7551\u7560\u516B"+
-        "\u9262\u6E8C\u767A\u9197\u9AEA\u4F10\u7F70\u629C"+
-        "\u7B4F\u95A5\u9CE9\u567A\u5859\u86E4\u96BC\u4F34"+
-        "\u5224\u534A\u53CD\u53DB\u5E06\u642C\u6591\u677F"+
-        "\u6C3E\u6C4E\u7248\u72AF\u73ED\u7554\u7E41\u822C"+
-        "\u85E9\u8CA9\u7BC4\u91C6\u7169\u9812\u98EF\u633D"+
-        "\u6669\u756A\u76E4\u78D0\u8543\u86EE\u532A\u5351"+
-        "\u5426\u5983\u5E87\u5F7C\u60B2\u6249\u6279\u62AB"+
-        "\u6590\u6BD4\u6CCC\u75B2\u76AE\u7891\u79D8\u7DCB"+
-        "\u7F77\u80A5\u88AB\u8AB9\u8CBB\u907F\u975E\u98DB"+
-        "\u6A0B\u7C38\u5099\u5C3E\u5FAE\u6787\u6BD8\u7435"+
-        "\u7709\u7F8E\u9F3B\u67CA\u7A17\u5339\u758B\u9AED"+
-        "\u5F66\u819D\u83F1\u8098\u5F3C\u5FC5\u7562\u7B46"+
-        "\u903C\u6867\u59EB\u5A9B\u7D10\u767E\u8B2C\u4FF5"+
-        "\u5F6A\u6A19\u6C37\u6F02\u74E2\u7968\u8868\u8A55"+
-        "\u8C79\u5EDF\u63CF\u75C5\u79D2\u82D7\u9328\u92F2"+
-        "\u849C\u86ED\u9C2D\u54C1\u5F6C\u658C\u6D5C\u7015"+
-        "\u8CA7\u8CD3\u983B\u654F\u74F6\u4E0D\u4ED8\u57E0"+
-        "\u592B\u5A66\u5BCC\u51A8\u5E03\u5E9C\u6016\u6276"+
-        "\u6577\u65A7\u666E\u6D6E\u7236\u7B26\u8150\u819A"+
-        "\u8299\u8B5C\u8CA0\u8CE6\u8D74\u961C\u9644\u4FAE"+
-        "\u64AB\u6B66\u821E\u8461\u856A\u90E8\u5C01\u6953"+
-        "\u98A8\u847A\u8557\u4F0F\u526F\u5FA9\u5E45\u670D"+
-        "\u798F\u8179\u8907\u8986\u6DF5\u5F17\u6255\u6CB8"+
-        "\u4ECF\u7269\u9B92\u5206\u543B\u5674\u58B3\u61A4"+
-        "\u626E\u711A\u596E\u7C89\u7CDE\u7D1B\u96F0\u6587"+
-        "\u805E\u4E19\u4F75\u5175\u5840\u5E63\u5E73\u5F0A"+
-        "\u67C4\u4E26\u853D\u9589\u965B\u7C73\u9801\u50FB"+
-        "\u58C1\u7656\u78A7\u5225\u77A5\u8511\u7B86\u504F"+
-        "\u5909\u7247\u7BC7\u7DE8\u8FBA\u8FD4\u904D\u4FBF"+
-        "\u52C9\u5A29\u5F01\u97AD\u4FDD\u8217\u92EA\u5703"+
-        "\u6355\u6B69\u752B\u88DC\u8F14\u7A42\u52DF\u5893"+
-        "\u6155\u620A\u66AE\u6BCD\u7C3F\u83E9\u5023\u4FF8"+
-        "\u5305\u5446\u5831\u5949\u5B9D\u5CF0\u5CEF\u5D29"+
-        "\u5E96\u62B1\u6367\u653E\u65B9\u670B\u6CD5\u6CE1"+
-        "\u70F9\u7832\u7E2B\u80DE\u82B3\u840C\u84EC\u8702"+
-        "\u8912\u8A2A\u8C4A\u90A6\u92D2\u98FD\u9CF3\u9D6C"+
-        "\u4E4F\u4EA1\u508D\u5256\u574A\u59A8\u5E3D\u5FD8"+
-        "\u5FD9\u623F\u66B4\u671B\u67D0\u68D2\u5192\u7D21"+
-        "\u80AA\u81A8\u8B00\u8C8C\u8CBF\u927E\u9632\u5420"+
-        "\u982C\u5317\u50D5\u535C\u58A8\u64B2\u6734\u7267"+
-        "\u7766\u7A46\u91E6\u52C3\u6CA1\u6B86\u5800\u5E4C"+
-        "\u5954\u672C\u7FFB\u51E1\u76C6\u6469\u78E8\u9B54"+
-        "\u9EBB\u57CB\u59B9\u6627\u679A\u6BCE\u54E9\u69D9"+
-        "\u5E55\u819C\u6795\u9BAA\u67FE\u9C52\u685D\u4EA6"+
-        "\u4FE3\u53C8\u62B9\u672B\u6CAB\u8FC4\u4FAD\u7E6D"+
-        "\u9EBF\u4E07\u6162\u6E80\u6F2B\u8513\u5473\u672A"+
-        "\u9B45\u5DF3\u7B95\u5CAC\u5BC6\u871C\u6E4A\u84D1"+
-        "\u7A14\u8108\u5999\u7C8D\u6C11\u7720\u52D9\u5922"+
-        "\u7121\u725F\u77DB\u9727\u9D61\u690B\u5A7F\u5A18"+
-        "\u51A5\u540D\u547D\u660E\u76DF\u8FF7\u9298\u9CF4"+
-        "\u59EA\u725D\u6EC5\u514D\u68C9\u7DBF\u7DEC\u9762"+
-        "\u9EBA\u6478\u6A21\u8302\u5984\u5B5F\u6BDB\u731B"+
-        "\u76F2\u7DB2\u8017\u8499\u5132\u6728\u9ED9\u76EE"+
-        "\u6762\u52FF\u9905\u5C24\u623B\u7C7E\u8CB0\u554F"+
-        "\u60B6\u7D0B\u9580\u5301\u4E5F\u51B6\u591C\u723A"+
-        "\u8036\u91CE\u5F25\u77E2\u5384\u5F79\u7D04\u85AC"+
-        "\u8A33\u8E8D\u9756\u67F3\u85AE\u9453\u6109\u6108"+
-        "\u6CB9\u7652\u8AED\u8F38\u552F\u4F51\u512A\u52C7"+
-        "\u53CB\u5BA5\u5E7D\u60A0\u6182\u63D6\u6709\u67DA"+
-        "\u6E67\u6D8C\u7336\u7337\u7531\u7950\u88D5\u8A98"+
-        "\u904A\u9091\u90F5\u96C4\u878D\u5915\u4E88\u4F59"+
-        "\u4E0E\u8A89\u8F3F\u9810\u50AD\u5E7C\u5996\u5BB9"+
-        "\u5EB8\u63DA\u63FA\u64C1\u66DC\u694A\u69D8\u6D0B"+
-        "\u6EB6\u7194\u7528\u7AAF\u7F8A\u8000\u8449\u84C9"+
-        "\u8981\u8B21\u8E0A\u9065\u967D\u990A\u617E\u6291"+
-        "\u6B32\u6C83\u6D74\u7FCC\u7FFC\u6DC0\u7F85\u87BA"+
-        "\u88F8\u6765\u83B1\u983C\u96F7\u6D1B\u7D61\u843D"+
-        "\u916A\u4E71\u5375\u5D50\u6B04\u6FEB\u85CD\u862D"+
-        "\u89A7\u5229\u540F\u5C65\u674E\u68A8\u7406\u7483"+
-        "\u75E2\u88CF\u88E1\u91CC\u96E2\u9678\u5F8B\u7387"+
-        "\u7ACB\u844E\u63A0\u7565\u5289\u6D41\u6E9C\u7409"+
-        "\u7559\u786B\u7C92\u9686\u7ADC\u9F8D\u4FB6\u616E"+
-        "\u65C5\u865C\u4E86\u4EAE\u50DA\u4E21\u51CC\u5BEE"+
-        "\u6599\u6881\u6DBC\u731F\u7642\u77AD\u7A1C\u7CE7"+
-        "\u826F\u8AD2\u907C\u91CF\u9675\u9818\u529B\u7DD1"+
-        "\u502B\u5398\u6797\u6DCB\u71D0\u7433\u81E8\u8F2A"+
-        "\u96A3\u9C57\u9E9F\u7460\u5841\u6D99\u7D2F\u985E"+
-        "\u4EE4\u4F36\u4F8B\u51B7\u52B1\u5DBA\u601C\u73B2"+
-        "\u793C\u82D3\u9234\u96B7\u96F6\u970A\u9E97\u9F62"+
-        "\u66A6\u6B74\u5217\u52A3\u70C8\u88C2\u5EC9\u604B"+
-        "\u6190\u6F23\u7149\u7C3E\u7DF4\u806F\u84EE\u9023"+
-        "\u932C\u5442\u9B6F\u6AD3\u7089\u8CC2\u8DEF\u9732"+
-        "\u52B4\u5A41\u5ECA\u5F04\u6717\u697C\u6994\u6D6A"+
-        "\u6F0F\u7262\u72FC\u7BED\u8001\u807E\u874B\u90CE"+
-        "\u516D\u9E93\u7984\u808B\u9332\u8AD6\u502D\u548C"+
-        "\u8A71\u6B6A\u8CC4\u8107\u60D1\u67A0\u9DF2\u4E99"+
-        "\u4E98\u9C10\u8A6B\u85C1\u8568\u6900\u6E7E\u7897"+
-        "\u8155\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\u5F0C\u4E10\u4E15\u4E2A"+
-        "\u4E31\u4E36\u4E3C\u4E3F\u4E42\u4E56\u4E58\u4E82"+
-        "\u4E85\u8C6B\u4E8A\u8212\u5F0D\u4E8E\u4E9E\u4E9F"+
-        "\u4EA0\u4EA2\u4EB0\u4EB3\u4EB6\u4ECE\u4ECD\u4EC4"+
-        "\u4EC6\u4EC2\u4ED7\u4EDE\u4EED\u4EDF\u4EF7\u4F09"+
-        "\u4F5A\u4F30\u4F5B\u4F5D\u4F57\u4F47\u4F76\u4F88"+
-        "\u4F8F\u4F98\u4F7B\u4F69\u4F70\u4F91\u4F6F\u4F86"+
-        "\u4F96\u5118\u4FD4\u4FDF\u4FCE\u4FD8\u4FDB\u4FD1"+
-        "\u4FDA\u4FD0\u4FE4\u4FE5\u501A\u5028\u5014\u502A"+
-        "\u5025\u5005\u4F1C\u4FF6\u5021\u5029\u502C\u4FFE"+
-        "\u4FEF\u5011\u5006\u5043\u5047\u6703\u5055\u5050"+
-        "\u5048\u505A\u5056\u506C\u5078\u5080\u509A\u5085"+
-        "\u50B4\u50B2\u50C9\u50CA\u50B3\u50C2\u50D6\u50DE"+
-        "\u50E5\u50ED\u50E3\u50EE\u50F9\u50F5\u5109\u5101"+
-        "\u5102\u5116\u5115\u5114\u511A\u5121\u513A\u5137"+
-        "\u513C\u513B\u513F\u5140\u5152\u514C\u5154\u5162"+
-        "\u7AF8\u5169\u516A\u516E\u5180\u5182\u56D8\u518C"+
-        "\u5189\u518F\u5191\u5193\u5195\u5196\u51A4\u51A6"+
-        "\u51A2\u51A9\u51AA\u51AB\u51B3\u51B1\u51B2\u51B0"+
-        "\u51B5\u51BD\u51C5\u51C9\u51DB\u51E0\u8655\u51E9"+
-        "\u51ED\u51F0\u51F5\u51FE\u5204\u520B\u5214\u520E"+
-        "\u5227\u522A\u522E\u5233\u5239\u524F\u5244\u524B"+
-        "\u524C\u525E\u5254\u526A\u5274\u5269\u5273\u527F"+
-        "\u527D\u528D\u5294\u5292\u5271\u5288\u5291\u8FA8"+
-        "\u8FA7\u52AC\u52AD\u52BC\u52B5\u52C1\u52CD\u52D7"+
-        "\u52DE\u52E3\u52E6\u98ED\u52E0\u52F3\u52F5\u52F8"+
-        "\u52F9\u5306\u5308\u7538\u530D\u5310\u530F\u5315"+
-        "\u531A\u5323\u532F\u5331\u5333\u5338\u5340\u5346"+
-        "\u5345\u4E17\u5349\u534D\u51D6\u535E\u5369\u536E"+
-        "\u5918\u537B\u5377\u5382\u5396\u53A0\u53A6\u53A5"+
-        "\u53AE\u53B0\u53B6\u53C3\u7C12\u96D9\u53DF\u66FC"+
-        "\u71EE\u53EE\u53E8\u53ED\u53FA\u5401\u543D\u5440"+
-        "\u542C\u542D\u543C\u542E\u5436\u5429\u541D\u544E"+
-        "\u548F\u5475\u548E\u545F\u5471\u5477\u5470\u5492"+
-        "\u547B\u5480\u5476\u5484\u5490\u5486\u54C7\u54A2"+
-        "\u54B8\u54A5\u54AC\u54C4\u54C8\u54A8\u54AB\u54C2"+
-        "\u54A4\u54BE\u54BC\u54D8\u54E5\u54E6\u550F\u5514"+
-        "\u54FD\u54EE\u54ED\u54FA\u54E2\u5539\u5540\u5563"+
-        "\u554C\u552E\u555C\u5545\u5556\u5557\u5538\u5533"+
-        "\u555D\u5599\u5580\u54AF\u558A\u559F\u557B\u557E"+
-        "\u5598\u559E\u55AE\u557C\u5583\u55A9\u5587\u55A8"+
-        "\u55DA\u55C5\u55DF\u55C4\u55DC\u55E4\u55D4\u5614"+
-        "\u55F7\u5616\u55FE\u55FD\u561B\u55F9\u564E\u5650"+
-        "\u71DF\u5634\u5636\u5632\u5638\u566B\u5664\u562F"+
-        "\u566C\u566A\u5686\u5680\u568A\u56A0\u5694\u568F"+
-        "\u56A5\u56AE\u56B6\u56B4\u56C2\u56BC\u56C1\u56C3"+
-        "\u56C0\u56C8\u56CE\u56D1\u56D3\u56D7\u56EE\u56F9"+
-        "\u5700\u56FF\u5704\u5709\u5708\u570B\u570D\u5713"+
-        "\u5718\u5716\u55C7\u571C\u5726\u5737\u5738\u574E"+
-        "\u573B\u5740\u574F\u5769\u57C0\u5788\u5761\u577F"+
-        "\u5789\u5793\u57A0\u57B3\u57A4\u57AA\u57B0\u57C3"+
-        "\u57C6\u57D4\u57D2\u57D3\u580A\u57D6\u57E3\u580B"+
-        "\u5819\u581D\u5872\u5821\u5862\u584B\u5870\u6BC0"+
-        "\u5852\u583D\u5879\u5885\u58B9\u589F\u58AB\u58BA"+
-        "\u58DE\u58BB\u58B8\u58AE\u58C5\u58D3\u58D1\u58D7"+
-        "\u58D9\u58D8\u58E5\u58DC\u58E4\u58DF\u58EF\u58FA"+
-        "\u58F9\u58FB\u58FC\u58FD\u5902\u590A\u5910\u591B"+
-        "\u68A6\u5925\u592C\u592D\u5932\u5938\u593E\u7AD2"+
-        "\u5955\u5950\u594E\u595A\u5958\u5962\u5960\u5967"+
-        "\u596C\u5969\u5978\u5981\u599D\u4F5E\u4FAB\u59A3"+
-        "\u59B2\u59C6\u59E8\u59DC\u598D\u59D9\u59DA\u5A25"+
-        "\u5A1F\u5A11\u5A1C\u5A09\u5A1A\u5A40\u5A6C\u5A49"+
-        "\u5A35\u5A36\u5A62\u5A6A\u5A9A\u5ABC\u5ABE\u5ACB"+
-        "\u5AC2\u5ABD\u5AE3\u5AD7\u5AE6\u5AE9\u5AD6\u5AFA"+
-        "\u5AFB\u5B0C\u5B0B\u5B16\u5B32\u5AD0\u5B2A\u5B36"+
-        "\u5B3E\u5B43\u5B45\u5B40\u5B51\u5B55\u5B5A\u5B5B"+
-        "\u5B65\u5B69\u5B70\u5B73\u5B75\u5B78\u6588\u5B7A"+
-        "\u5B80\u5B83\u5BA6\u5BB8\u5BC3\u5BC7\u5BC9\u5BD4"+
-        "\u5BD0\u5BE4\u5BE6\u5BE2\u5BDE\u5BE5\u5BEB\u5BF0"+
-        "\u5BF6\u5BF3\u5C05\u5C07\u5C08\u5C0D\u5C13\u5C20"+
-        "\u5C22\u5C28\u5C38\u5C39\u5C41\u5C46\u5C4E\u5C53";
-
-    private final static String innerIndex3=
-        "\u5C50\u5C4F\u5B71\u5C6C\u5C6E\u4E62\u5C76\u5C79"+
-        "\u5C8C\u5C91\u5C94\u599B\u5CAB\u5CBB\u5CB6\u5CBC"+
-        "\u5CB7\u5CC5\u5CBE\u5CC7\u5CD9\u5CE9\u5CFD\u5CFA"+
-        "\u5CED\u5D8C\u5CEA\u5D0B\u5D15\u5D17\u5D5C\u5D1F"+
-        "\u5D1B\u5D11\u5D14\u5D22\u5D1A\u5D19\u5D18\u5D4C"+
-        "\u5D52\u5D4E\u5D4B\u5D6C\u5D73\u5D76\u5D87\u5D84"+
-        "\u5D82\u5DA2\u5D9D\u5DAC\u5DAE\u5DBD\u5D90\u5DB7"+
-        "\u5DBC\u5DC9\u5DCD\u5DD3\u5DD2\u5DD6\u5DDB\u5DEB"+
-        "\u5DF2\u5DF5\u5E0B\u5E1A\u5E19\u5E11\u5E1B\u5E36"+
-        "\u5E37\u5E44\u5E43\u5E40\u5E4E\u5E57\u5E54\u5E5F"+
-        "\u5E62\u5E64\u5E47\u5E75\u5E76\u5E7A\u9EBC\u5E7F"+
-        "\u5EA0\u5EC1\u5EC2\u5EC8\u5ED0\u5ECF\u5ED6\u5EE3"+
-        "\u5EDD\u5EDA\u5EDB\u5EE2\u5EE1\u5EE8\u5EE9\u5EEC"+
-        "\u5EF1\u5EF3\u5EF0\u5EF4\u5EF8\u5EFE\u5F03\u5F09"+
-        "\u5F5D\u5F5C\u5F0B\u5F11\u5F16\u5F29\u5F2D\u5F38"+
-        "\u5F41\u5F48\u5F4C\u5F4E\u5F2F\u5F51\u5F56\u5F57"+
-        "\u5F59\u5F61\u5F6D\u5F73\u5F77\u5F83\u5F82\u5F7F"+
-        "\u5F8A\u5F88\u5F91\u5F87\u5F9E\u5F99\u5F98\u5FA0"+
-        "\u5FA8\u5FAD\u5FBC\u5FD6\u5FFB\u5FE4\u5FF8\u5FF1"+
-        "\u5FDD\u60B3\u5FFF\u6021\u6060\u6019\u6010\u6029"+
-        "\u600E\u6031\u601B\u6015\u602B\u6026\u600F\u603A"+
-        "\u605A\u6041\u606A\u6077\u605F\u604A\u6046\u604D"+
-        "\u6063\u6043\u6064\u6042\u606C\u606B\u6059\u6081"+
-        "\u608D\u60E7\u6083\u609A\u6084\u609B\u6096\u6097"+
-        "\u6092\u60A7\u608B\u60E1\u60B8\u60E0\u60D3\u60B4"+
-        "\u5FF0\u60BD\u60C6\u60B5\u60D8\u614D\u6115\u6106"+
-        "\u60F6\u60F7\u6100\u60F4\u60FA\u6103\u6121\u60FB"+
-        "\u60F1\u610D\u610E\u6147\u613E\u6128\u6127\u614A"+
-        "\u613F\u613C\u612C\u6134\u613D\u6142\u6144\u6173"+
-        "\u6177\u6158\u6159\u615A\u616B\u6174\u616F\u6165"+
-        "\u6171\u615F\u615D\u6153\u6175\u6199\u6196\u6187"+
-        "\u61AC\u6194\u619A\u618A\u6191\u61AB\u61AE\u61CC"+
-        "\u61CA\u61C9\u61F7\u61C8\u61C3\u61C6\u61BA\u61CB"+
-        "\u7F79\u61CD\u61E6\u61E3\u61F6\u61FA\u61F4\u61FF"+
-        "\u61FD\u61FC\u61FE\u6200\u6208\u6209\u620D\u620C"+
-        "\u6214\u621B\u621E\u6221\u622A\u622E\u6230\u6232"+
-        "\u6233\u6241\u624E\u625E\u6263\u625B\u6260\u6268"+
-        "\u627C\u6282\u6289\u627E\u6292\u6293\u6296\u62D4"+
-        "\u6283\u6294\u62D7\u62D1\u62BB\u62CF\u62FF\u62C6"+
-        "\u64D4\u62C8\u62DC\u62CC\u62CA\u62C2\u62C7\u629B"+
-        "\u62C9\u630C\u62EE\u62F1\u6327\u6302\u6308\u62EF"+
-        "\u62F5\u6350\u633E\u634D\u641C\u634F\u6396\u638E"+
-        "\u6380\u63AB\u6376\u63A3\u638F\u6389\u639F\u63B5"+
-        "\u636B\u6369\u63BE\u63E9\u63C0\u63C6\u63E3\u63C9"+
-        "\u63D2\u63F6\u63C4\u6416\u6434\u6406\u6413\u6426"+
-        "\u6436\u651D\u6417\u6428\u640F\u6467\u646F\u6476"+
-        "\u644E\u652A\u6495\u6493\u64A5\u64A9\u6488\u64BC"+
-        "\u64DA\u64D2\u64C5\u64C7\u64BB\u64D8\u64C2\u64F1"+
-        "\u64E7\u8209\u64E0\u64E1\u62AC\u64E3\u64EF\u652C"+
-        "\u64F6\u64F4\u64F2\u64FA\u6500\u64FD\u6518\u651C"+
-        "\u6505\u6524\u6523\u652B\u6534\u6535\u6537\u6536"+
-        "\u6538\u754B\u6548\u6556\u6555\u654D\u6558\u655E"+
-        "\u655D\u6572\u6578\u6582\u6583\u8B8A\u659B\u659F"+
-        "\u65AB\u65B7\u65C3\u65C6\u65C1\u65C4\u65CC\u65D2"+
-        "\u65DB\u65D9\u65E0\u65E1\u65F1\u6772\u660A\u6603"+
-        "\u65FB\u6773\u6635\u6636\u6634\u661C\u664F\u6644"+
-        "\u6649\u6641\u665E\u665D\u6664\u6667\u6668\u665F"+
-        "\u6662\u6670\u6683\u6688\u668E\u6689\u6684\u6698"+
-        "\u669D\u66C1\u66B9\u66C9\u66BE\u66BC\u66C4\u66B8"+
-        "\u66D6\u66DA\u66E0\u663F\u66E6\u66E9\u66F0\u66F5"+
-        "\u66F7\u670F\u6716\u671E\u6726\u6727\u9738\u672E"+
-        "\u673F\u6736\u6741\u6738\u6737\u6746\u675E\u6760"+
-        "\u6759\u6763\u6764\u6789\u6770\u67A9\u677C\u676A"+
-        "\u678C\u678B\u67A6\u67A1\u6785\u67B7\u67EF\u67B4"+
-        "\u67EC\u67B3\u67E9\u67B8\u67E4\u67DE\u67DD\u67E2"+
-        "\u67EE\u67B9\u67CE\u67C6\u67E7\u6A9C\u681E\u6846"+
-        "\u6829\u6840\u684D\u6832\u684E\u68B3\u682B\u6859"+
-        "\u6863\u6877\u687F\u689F\u688F\u68AD\u6894\u689D"+
-        "\u689B\u6883\u6AAE\u68B9\u6874\u68B5\u68A0\u68BA"+
-        "\u690F\u688D\u687E\u6901\u68CA\u6908\u68D8\u6922"+
-        "\u6926\u68E1\u690C\u68CD\u68D4\u68E7\u68D5\u6936"+
-        "\u6912\u6904\u68D7\u68E3\u6925\u68F9\u68E0\u68EF"+
-        "\u6928\u692A\u691A\u6923\u6921\u68C6\u6979\u6977"+
-        "\u695C\u6978\u696B\u6954\u697E\u696E\u6939\u6974"+
-        "\u693D\u6959\u6930\u6961\u695E\u695D\u6981\u696A"+
-        "\u69B2\u69AE\u69D0\u69BF\u69C1\u69D3\u69BE\u69CE"+
-        "\u5BE8\u69CA\u69DD\u69BB\u69C3\u69A7\u6A2E\u6991"+
-        "\u69A0\u699C\u6995\u69B4\u69DE\u69E8\u6A02\u6A1B"+
-        "\u69FF\u6B0A\u69F9\u69F2\u69E7\u6A05\u69B1\u6A1E"+
-        "\u69ED\u6A14\u69EB\u6A0A\u6A12\u6AC1\u6A23\u6A13"+
-        "\u6A44\u6A0C\u6A72\u6A36\u6A78\u6A47\u6A62\u6A59"+
-        "\u6A66\u6A48\u6A38\u6A22\u6A90\u6A8D\u6AA0\u6A84"+
-        "\u6AA2\u6AA3\u6A97\u8617\u6ABB\u6AC3\u6AC2\u6AB8"+
-        "\u6AB3\u6AAC\u6ADE\u6AD1\u6ADF\u6AAA\u6ADA\u6AEA"+
-        "\u6AFB\u6B05\u8616\u6AFA\u6B12\u6B16\u9B31\u6B1F"+
-        "\u6B38\u6B37\u76DC\u6B39\u98EE\u6B47\u6B43\u6B49"+
-        "\u6B50\u6B59\u6B54\u6B5B\u6B5F\u6B61\u6B78\u6B79"+
-        "\u6B7F\u6B80\u6B84\u6B83\u6B8D\u6B98\u6B95\u6B9E"+
-        "\u6BA4\u6BAA\u6BAB\u6BAF\u6BB2\u6BB1\u6BB3\u6BB7"+
-        "\u6BBC\u6BC6\u6BCB\u6BD3\u6BDF\u6BEC\u6BEB\u6BF3"+
-        "\u6BEF\u9EBE\u6C08\u6C13\u6C14\u6C1B\u6C24\u6C23"+
-        "\u6C5E\u6C55\u6C62\u6C6A\u6C82\u6C8D\u6C9A\u6C81"+
-        "\u6C9B\u6C7E\u6C68\u6C73\u6C92\u6C90\u6CC4\u6CF1"+
-        "\u6CD3\u6CBD\u6CD7\u6CC5\u6CDD\u6CAE\u6CB1\u6CBE"+
-        "\u6CBA\u6CDB\u6CEF\u6CD9\u6CEA\u6D1F\u884D\u6D36"+
-        "\u6D2B\u6D3D\u6D38\u6D19\u6D35\u6D33\u6D12\u6D0C"+
-        "\u6D63\u6D93\u6D64\u6D5A\u6D79\u6D59\u6D8E\u6D95"+
-        "\u6FE4\u6D85\u6DF9\u6E15\u6E0A\u6DB5\u6DC7\u6DE6"+
-        "\u6DB8\u6DC6\u6DEC\u6DDE\u6DCC\u6DE8\u6DD2\u6DC5"+
-        "\u6DFA\u6DD9\u6DE4\u6DD5\u6DEA\u6DEE\u6E2D\u6E6E"+
-        "\u6E2E\u6E19\u6E72\u6E5F\u6E3E\u6E23\u6E6B\u6E2B"+
-        "\u6E76\u6E4D\u6E1F\u6E43\u6E3A\u6E4E\u6E24\u6EFF"+
-        "\u6E1D\u6E38\u6E82\u6EAA\u6E98\u6EC9\u6EB7\u6ED3"+
-        "\u6EBD\u6EAF\u6EC4\u6EB2\u6ED4\u6ED5\u6E8F\u6EA5"+
-        "\u6EC2\u6E9F\u6F41\u6F11\u704C\u6EEC\u6EF8\u6EFE"+
-        "\u6F3F\u6EF2\u6F31\u6EEF\u6F32\u6ECC\u6F3E\u6F13"+
-        "\u6EF7\u6F86\u6F7A\u6F78\u6F81\u6F80\u6F6F\u6F5B"+
-        "\u6FF3\u6F6D\u6F82\u6F7C\u6F58\u6F8E\u6F91\u6FC2"+
-        "\u6F66\u6FB3\u6FA3\u6FA1\u6FA4\u6FB9\u6FC6\u6FAA"+
-        "\u6FDF\u6FD5\u6FEC\u6FD4\u6FD8\u6FF1\u6FEE\u6FDB"+
-        "\u7009\u700B\u6FFA\u7011\u7001\u700F\u6FFE\u701B"+
-        "\u701A\u6F74\u701D\u7018\u701F\u7030\u703E\u7032"+
-        "\u7051\u7063\u7099\u7092\u70AF\u70F1\u70AC\u70B8"+
-        "\u70B3\u70AE\u70DF\u70CB\u70DD\u70D9\u7109\u70FD"+
-        "\u711C\u7119\u7165\u7155\u7188\u7166\u7162\u714C"+
-        "\u7156\u716C\u718F\u71FB\u7184\u7195\u71A8\u71AC"+
-        "\u71D7\u71B9\u71BE\u71D2\u71C9\u71D4\u71CE\u71E0"+
-        "\u71EC\u71E7\u71F5\u71FC\u71F9\u71FF\u720D\u7210"+
-        "\u721B\u7228\u722D\u722C\u7230\u7232\u723B\u723C"+
-        "\u723F\u7240\u7246\u724B\u7258\u7274\u727E\u7282"+
-        "\u7281\u7287\u7292\u7296\u72A2\u72A7\u72B9\u72B2"+
-        "\u72C3\u72C6\u72C4\u72CE\u72D2\u72E2\u72E0\u72E1"+
-        "\u72F9\u72F7\u500F\u7317\u730A\u731C\u7316\u731D"+
-        "\u7334\u732F\u7329\u7325\u733E\u734E\u734F\u9ED8"+
-        "\u7357\u736A\u7368\u7370\u7378\u7375\u737B\u737A"+
-        "\u73C8\u73B3\u73CE\u73BB\u73C0\u73E5\u73EE\u73DE"+
-        "\u74A2\u7405\u746F\u7425\u73F8\u7432\u743A\u7455"+
-        "\u743F\u745F\u7459\u7441\u745C\u7469\u7470\u7463"+
-        "\u746A\u7476\u747E\u748B\u749E\u74A7\u74CA\u74CF"+
-        "\u74D4\u73F1\u74E0\u74E3\u74E7\u74E9\u74EE\u74F2"+
-        "\u74F0\u74F1\u74F8\u74F7\u7504\u7503\u7505\u750C"+
-        "\u750E\u750D\u7515\u7513\u751E\u7526\u752C\u753C"+
-        "\u7544\u754D\u754A\u7549\u755B\u7546\u755A\u7569"+
-        "\u7564\u7567\u756B\u756D\u7578\u7576\u7586\u7587"+
-        "\u7574\u758A\u7589\u7582\u7594\u759A\u759D\u75A5"+
-        "\u75A3\u75C2\u75B3\u75C3\u75B5\u75BD\u75B8\u75BC"+
-        "\u75B1\u75CD\u75CA\u75D2\u75D9\u75E3\u75DE\u75FE"+
-        "\u75FF\u75FC\u7601\u75F0\u75FA\u75F2\u75F3\u760B"+
-        "\u760D\u7609\u761F\u7627\u7620\u7621\u7622\u7624"+
-        "\u7634\u7630\u763B\u7647\u7648\u7646\u765C\u7658"+
-        "\u7661\u7662\u7668\u7669\u766A\u7667\u766C\u7670"+
-        "\u7672\u7676\u7678\u767C\u7680\u7683\u7688\u768B"+
-        "\u768E\u7696\u7693\u7699\u769A\u76B0\u76B4\u76B8"+
-        "\u76B9\u76BA\u76C2\u76CD\u76D6\u76D2\u76DE\u76E1"+
-        "\u76E5\u76E7\u76EA\u862F\u76FB\u7708\u7707\u7704"+
-        "\u7729\u7724\u771E\u7725\u7726\u771B\u7737\u7738"+
-        "\u7747\u775A\u7768\u776B\u775B\u7765\u777F\u777E"+
-        "\u7779\u778E\u778B\u7791\u77A0\u779E\u77B0\u77B6"+
-        "\u77B9\u77BF\u77BC\u77BD\u77BB\u77C7\u77CD\u77D7"+
-        "\u77DA\u77DC\u77E3\u77EE\u77FC\u780C\u7812\u7926"+
-        "\u7820\u792A\u7845\u788E\u7874\u7886\u787C\u789A"+
-        "\u788C\u78A3\u78B5\u78AA\u78AF\u78D1\u78C6\u78CB"+
-        "\u78D4\u78BE\u78BC\u78C5\u78CA\u78EC\u78E7\u78DA"+
-        "\u78FD\u78F4\u7907\u7912\u7911\u7919\u792C\u792B"+
-        "\u7940\u7960\u7957\u795F\u795A\u7955\u7953\u797A"+
-        "\u797F\u798A\u799D\u79A7\u9F4B\u79AA\u79AE\u79B3"+
-        "\u79B9\u79BA\u79C9\u79D5\u79E7\u79EC\u79E1\u79E3"+
-        "\u7A08\u7A0D\u7A18\u7A19\u7A20\u7A1F\u7980\u7A31"+
-        "\u7A3B\u7A3E\u7A37\u7A43\u7A57\u7A49\u7A61\u7A62"+
-        "\u7A69\u9F9D\u7A70\u7A79\u7A7D\u7A88\u7A97\u7A95"+
-        "\u7A98\u7A96\u7AA9\u7AC8\u7AB0\u7AB6\u7AC5\u7AC4"+
-        "\u7ABF\u9083\u7AC7\u7ACA\u7ACD\u7ACF\u7AD5\u7AD3"+
-        "\u7AD9\u7ADA\u7ADD\u7AE1\u7AE2\u7AE6\u7AED\u7AF0"+
-        "\u7B02\u7B0F\u7B0A\u7B06\u7B33\u7B18\u7B19\u7B1E"+
-        "\u7B35\u7B28\u7B36\u7B50\u7B7A\u7B04\u7B4D\u7B0B"+
-        "\u7B4C\u7B45\u7B75\u7B65\u7B74\u7B67\u7B70\u7B71"+
-        "\u7B6C\u7B6E\u7B9D\u7B98\u7B9F\u7B8D\u7B9C\u7B9A"+
-        "\u7B8B\u7B92\u7B8F\u7B5D\u7B99\u7BCB\u7BC1\u7BCC"+
-        "\u7BCF\u7BB4\u7BC6\u7BDD\u7BE9\u7C11\u7C14\u7BE6"+
-        "\u7BE5\u7C60\u7C00\u7C07\u7C13\u7BF3\u7BF7\u7C17"+
-        "\u7C0D\u7BF6\u7C23\u7C27\u7C2A\u7C1F\u7C37\u7C2B"+
-        "\u7C3D\u7C4C\u7C43\u7C54\u7C4F\u7C40\u7C50\u7C58"+
-        "\u7C5F\u7C64\u7C56\u7C65\u7C6C\u7C75\u7C83\u7C90"+
-        "\u7CA4\u7CAD\u7CA2\u7CAB\u7CA1\u7CA8\u7CB3\u7CB2"+
-        "\u7CB1\u7CAE\u7CB9\u7CBD\u7CC0\u7CC5\u7CC2\u7CD8"+
-        "\u7CD2\u7CDC\u7CE2\u9B3B\u7CEF\u7CF2\u7CF4\u7CF6"+
-        "\u7CFA\u7D06\u7D02\u7D1C\u7D15\u7D0A\u7D45\u7D4B"+
-        "\u7D2E\u7D32\u7D3F\u7D35\u7D46\u7D73\u7D56\u7D4E"+
-        "\u7D72\u7D68\u7D6E\u7D4F\u7D63\u7D93\u7D89\u7D5B"+
-        "\u7D8F\u7D7D\u7D9B\u7DBA\u7DAE\u7DA3\u7DB5\u7DC7"+
-        "\u7DBD\u7DAB\u7E3D\u7DA2\u7DAF\u7DDC\u7DB8\u7D9F"+
-        "\u7DB0\u7DD8\u7DDD\u7DE4\u7DDE\u7DFB\u7DF2\u7DE1"+
-        "\u7E05\u7E0A\u7E23\u7E21\u7E12\u7E31\u7E1F\u7E09"+
-        "\u7E0B\u7E22\u7E46\u7E66\u7E3B\u7E35\u7E39\u7E43"+
-        "\u7E37\u7E32\u7E3A\u7E67\u7E5D\u7E56\u7E5E\u7E59"+
-        "\u7E5A\u7E79\u7E6A\u7E69\u7E7C\u7E7B\u7E83\u7DD5"+
-        "\u7E7D\u8FAE\u7E7F\u7E88\u7E89\u7E8C\u7E92\u7E90"+
-        "\u7E93\u7E94\u7E96\u7E8E\u7E9B\u7E9C\u7F38\u7F3A";
-
-    private final static String innerIndex4=
-        "\u7F45\u7F4C\u7F4D\u7F4E\u7F50\u7F51\u7F55\u7F54"+
-        "\u7F58\u7F5F\u7F60\u7F68\u7F69\u7F67\u7F78\u7F82"+
-        "\u7F86\u7F83\u7F88\u7F87\u7F8C\u7F94\u7F9E\u7F9D"+
-        "\u7F9A\u7FA3\u7FAF\u7FB2\u7FB9\u7FAE\u7FB6\u7FB8"+
-        "\u8B71\u7FC5\u7FC6\u7FCA\u7FD5\u7FD4\u7FE1\u7FE6"+
-        "\u7FE9\u7FF3\u7FF9\u98DC\u8006\u8004\u800B\u8012"+
-        "\u8018\u8019\u801C\u8021\u8028\u803F\u803B\u804A"+
-        "\u8046\u8052\u8058\u805A\u805F\u8062\u8068\u8073"+
-        "\u8072\u8070\u8076\u8079\u807D\u807F\u8084\u8086"+
-        "\u8085\u809B\u8093\u809A\u80AD\u5190\u80AC\u80DB"+
-        "\u80E5\u80D9\u80DD\u80C4\u80DA\u80D6\u8109\u80EF"+
-        "\u80F1\u811B\u8129\u8123\u812F\u814B\u968B\u8146"+
-        "\u813E\u8153\u8151\u80FC\u8171\u816E\u8165\u8166"+
-        "\u8174\u8183\u8188\u818A\u8180\u8182\u81A0\u8195"+
-        "\u81A4\u81A3\u815F\u8193\u81A9\u81B0\u81B5\u81BE"+
-        "\u81B8\u81BD\u81C0\u81C2\u81BA\u81C9\u81CD\u81D1"+
-        "\u81D9\u81D8\u81C8\u81DA\u81DF\u81E0\u81E7\u81FA"+
-        "\u81FB\u81FE\u8201\u8202\u8205\u8207\u820A\u820D"+
-        "\u8210\u8216\u8229\u822B\u8238\u8233\u8240\u8259"+
-        "\u8258\u825D\u825A\u825F\u8264\u8262\u8268\u826A"+
-        "\u826B\u822E\u8271\u8277\u8278\u827E\u828D\u8292"+
-        "\u82AB\u829F\u82BB\u82AC\u82E1\u82E3\u82DF\u82D2"+
-        "\u82F4\u82F3\u82FA\u8393\u8303\u82FB\u82F9\u82DE"+
-        "\u8306\u82DC\u8309\u82D9\u8335\u8334\u8316\u8332"+
-        "\u8331\u8340\u8339\u8350\u8345\u832F\u832B\u8317"+
-        "\u8318\u8385\u839A\u83AA\u839F\u83A2\u8396\u8323"+
-        "\u838E\u8387\u838A\u837C\u83B5\u8373\u8375\u83A0"+
-        "\u8389\u83A8\u83F4\u8413\u83EB\u83CE\u83FD\u8403"+
-        "\u83D8\u840B\u83C1\u83F7\u8407\u83E0\u83F2\u840D"+
-        "\u8422\u8420\u83BD\u8438\u8506\u83FB\u846D\u842A"+
-        "\u843C\u855A\u8484\u8477\u846B\u84AD\u846E\u8482"+
-        "\u8469\u8446\u842C\u846F\u8479\u8435\u84CA\u8462"+
-        "\u84B9\u84BF\u849F\u84D9\u84CD\u84BB\u84DA\u84D0"+
-        "\u84C1\u84C6\u84D6\u84A1\u8521\u84FF\u84F4\u8517"+
-        "\u8518\u852C\u851F\u8515\u8514\u84FC\u8540\u8563"+
-        "\u8558\u8548\u8541\u8602\u854B\u8555\u8580\u85A4"+
-        "\u8588\u8591\u858A\u85A8\u856D\u8594\u859B\u85EA"+
-        "\u8587\u859C\u8577\u857E\u8590\u85C9\u85BA\u85CF"+
-        "\u85B9\u85D0\u85D5\u85DD\u85E5\u85DC\u85F9\u860A"+
-        "\u8613\u860B\u85FE\u85FA\u8606\u8622\u861A\u8630"+
-        "\u863F\u864D\u4E55\u8654\u865F\u8667\u8671\u8693"+
-        "\u86A3\u86A9\u86AA\u868B\u868C\u86B6\u86AF\u86C4"+
-        "\u86C6\u86B0\u86C9\u8823\u86AB\u86D4\u86DE\u86E9"+
-        "\u86EC\u86DF\u86DB\u86EF\u8712\u8706\u8708\u8700"+
-        "\u8703\u86FB\u8711\u8709\u870D\u86F9\u870A\u8734"+
-        "\u873F\u8737\u873B\u8725\u8729\u871A\u8760\u875F"+
-        "\u8778\u874C\u874E\u8774\u8757\u8768\u876E\u8759"+
-        "\u8753\u8763\u876A\u8805\u87A2\u879F\u8782\u87AF"+
-        "\u87CB\u87BD\u87C0\u87D0\u96D6\u87AB\u87C4\u87B3"+
-        "\u87C7\u87C6\u87BB\u87EF\u87F2\u87E0\u880F\u880D"+
-        "\u87FE\u87F6\u87F7\u880E\u87D2\u8811\u8816\u8815"+
-        "\u8822\u8821\u8831\u8836\u8839\u8827\u883B\u8844"+
-        "\u8842\u8852\u8859\u885E\u8862\u886B\u8881\u887E"+
-        "\u889E\u8875\u887D\u88B5\u8872\u8882\u8897\u8892"+
-        "\u88AE\u8899\u88A2\u888D\u88A4\u88B0\u88BF\u88B1"+
-        "\u88C3\u88C4\u88D4\u88D8\u88D9\u88DD\u88F9\u8902"+
-        "\u88FC\u88F4\u88E8\u88F2\u8904\u890C\u890A\u8913"+
-        "\u8943\u891E\u8925\u892A\u892B\u8941\u8944\u893B"+
-        "\u8936\u8938\u894C\u891D\u8960\u895E\u8966\u8964"+
-        "\u896D\u896A\u896F\u8974\u8977\u897E\u8983\u8988"+
-        "\u898A\u8993\u8998\u89A1\u89A9\u89A6\u89AC\u89AF"+
-        "\u89B2\u89BA\u89BD\u89BF\u89C0\u89DA\u89DC\u89DD"+
-        "\u89E7\u89F4\u89F8\u8A03\u8A16\u8A10\u8A0C\u8A1B"+
-        "\u8A1D\u8A25\u8A36\u8A41\u8A5B\u8A52\u8A46\u8A48"+
-        "\u8A7C\u8A6D\u8A6C\u8A62\u8A85\u8A82\u8A84\u8AA8"+
-        "\u8AA1\u8A91\u8AA5\u8AA6\u8A9A\u8AA3\u8AC4\u8ACD"+
-        "\u8AC2\u8ADA\u8AEB\u8AF3\u8AE7\u8AE4\u8AF1\u8B14"+
-        "\u8AE0\u8AE2\u8AF7\u8ADE\u8ADB\u8B0C\u8B07\u8B1A"+
-        "\u8AE1\u8B16\u8B10\u8B17\u8B20\u8B33\u97AB\u8B26"+
-        "\u8B2B\u8B3E\u8B28\u8B41\u8B4C\u8B4F\u8B4E\u8B49"+
-        "\u8B56\u8B5B\u8B5A\u8B6B\u8B5F\u8B6C\u8B6F\u8B74"+
-        "\u8B7D\u8B80\u8B8C\u8B8E\u8B92\u8B93\u8B96\u8B99"+
-        "\u8B9A\u8C3A\u8C41\u8C3F\u8C48\u8C4C\u8C4E\u8C50"+
-        "\u8C55\u8C62\u8C6C\u8C78\u8C7A\u8C82\u8C89\u8C85"+
-        "\u8C8A\u8C8D\u8C8E\u8C94\u8C7C\u8C98\u621D\u8CAD"+
-        "\u8CAA\u8CBD\u8CB2\u8CB3\u8CAE\u8CB6\u8CC8\u8CC1"+
-        "\u8CE4\u8CE3\u8CDA\u8CFD\u8CFA\u8CFB\u8D04\u8D05"+
-        "\u8D0A\u8D07\u8D0F\u8D0D\u8D10\u9F4E\u8D13\u8CCD"+
-        "\u8D14\u8D16\u8D67\u8D6D\u8D71\u8D73\u8D81\u8D99"+
-        "\u8DC2\u8DBE\u8DBA\u8DCF\u8DDA\u8DD6\u8DCC\u8DDB"+
-        "\u8DCB\u8DEA\u8DEB\u8DDF\u8DE3\u8DFC\u8E08\u8E09"+
-        "\u8DFF\u8E1D\u8E1E\u8E10\u8E1F\u8E42\u8E35\u8E30"+
-        "\u8E34\u8E4A\u8E47\u8E49\u8E4C\u8E50\u8E48\u8E59"+
-        "\u8E64\u8E60\u8E2A\u8E63\u8E55\u8E76\u8E72\u8E7C"+
-        "\u8E81\u8E87\u8E85\u8E84\u8E8B\u8E8A\u8E93\u8E91"+
-        "\u8E94\u8E99\u8EAA\u8EA1\u8EAC\u8EB0\u8EC6\u8EB1"+
-        "\u8EBE\u8EC5\u8EC8\u8ECB\u8EDB\u8EE3\u8EFC\u8EFB"+
-        "\u8EEB\u8EFE\u8F0A\u8F05\u8F15\u8F12\u8F19\u8F13"+
-        "\u8F1C\u8F1F\u8F1B\u8F0C\u8F26\u8F33\u8F3B\u8F39"+
-        "\u8F45\u8F42\u8F3E\u8F4C\u8F49\u8F46\u8F4E\u8F57"+
-        "\u8F5C\u8F62\u8F63\u8F64\u8F9C\u8F9F\u8FA3\u8FAD"+
-        "\u8FAF\u8FB7\u8FDA\u8FE5\u8FE2\u8FEA\u8FEF\u9087"+
-        "\u8FF4\u9005\u8FF9\u8FFA\u9011\u9015\u9021\u900D"+
-        "\u901E\u9016\u900B\u9027\u9036\u9035\u9039\u8FF8"+
-        "\u904F\u9050\u9051\u9052\u900E\u9049\u903E\u9056"+
-        "\u9058\u905E\u9068\u906F\u9076\u96A8\u9072\u9082"+
-        "\u907D\u9081\u9080\u908A\u9089\u908F\u90A8\u90AF"+
-        "\u90B1\u90B5\u90E2\u90E4\u6248\u90DB\u9102\u9112"+
-        "\u9119\u9132\u9130\u914A\u9156\u9158\u9163\u9165"+
-        "\u9169\u9173\u9172\u918B\u9189\u9182\u91A2\u91AB"+
-        "\u91AF\u91AA\u91B5\u91B4\u91BA\u91C0\u91C1\u91C9"+
-        "\u91CB\u91D0\u91D6\u91DF\u91E1\u91DB\u91FC\u91F5"+
-        "\u91F6\u921E\u91FF\u9214\u922C\u9215\u9211\u925E"+
-        "\u9257\u9245\u9249\u9264\u9248\u9295\u923F\u924B"+
-        "\u9250\u929C\u9296\u9293\u929B\u925A\u92CF\u92B9"+
-        "\u92B7\u92E9\u930F\u92FA\u9344\u932E\u9319\u9322"+
-        "\u931A\u9323\u933A\u9335\u933B\u935C\u9360\u937C"+
-        "\u936E\u9356\u93B0\u93AC\u93AD\u9394\u93B9\u93D6"+
-        "\u93D7\u93E8\u93E5\u93D8\u93C3\u93DD\u93D0\u93C8"+
-        "\u93E4\u941A\u9414\u9413\u9403\u9407\u9410\u9436"+
-        "\u942B\u9435\u9421\u943A\u9441\u9452\u9444\u945B"+
-        "\u9460\u9462\u945E\u946A\u9229\u9470\u9475\u9477"+
-        "\u947D\u945A\u947C\u947E\u9481\u947F\u9582\u9587"+
-        "\u958A\u9594\u9596\u9598\u9599\u95A0\u95A8\u95A7"+
-        "\u95AD\u95BC\u95BB\u95B9\u95BE\u95CA\u6FF6\u95C3"+
-        "\u95CD\u95CC\u95D5\u95D4\u95D6\u95DC\u95E1\u95E5"+
-        "\u95E2\u9621\u9628\u962E\u962F\u9642\u964C\u964F"+
-        "\u964B\u9677\u965C\u965E\u965D\u965F\u9666\u9672"+
-        "\u966C\u968D\u9698\u9695\u9697\u96AA\u96A7\u96B1"+
-        "\u96B2\u96B0\u96B4\u96B6\u96B8\u96B9\u96CE\u96CB"+
-        "\u96C9\u96CD\u894D\u96DC\u970D\u96D5\u96F9\u9704"+
-        "\u9706\u9708\u9713\u970E\u9711\u970F\u9716\u9719"+
-        "\u9724\u972A\u9730\u9739\u973D\u973E\u9744\u9746"+
-        "\u9748\u9742\u9749\u975C\u9760\u9764\u9766\u9768"+
-        "\u52D2\u976B\u9771\u9779\u9785\u977C\u9781\u977A"+
-        "\u9786\u978B\u978F\u9790\u979C\u97A8\u97A6\u97A3"+
-        "\u97B3\u97B4\u97C3\u97C6\u97C8\u97CB\u97DC\u97ED"+
-        "\u9F4F\u97F2\u7ADF\u97F6\u97F5\u980F\u980C\u9838"+
-        "\u9824\u9821\u9837\u983D\u9846\u984F\u984B\u986B"+
-        "\u986F\u9870\u9871\u9874\u9873\u98AA\u98AF\u98B1"+
-        "\u98B6\u98C4\u98C3\u98C6\u98E9\u98EB\u9903\u9909"+
-        "\u9912\u9914\u9918\u9921\u991D\u991E\u9924\u9920"+
-        "\u992C\u992E\u993D\u993E\u9942\u9949\u9945\u9950"+
-        "\u994B\u9951\u9952\u994C\u9955\u9997\u9998\u99A5"+
-        "\u99AD\u99AE\u99BC\u99DF\u99DB\u99DD\u99D8\u99D1"+
-        "\u99ED\u99EE\u99F1\u99F2\u99FB\u99F8\u9A01\u9A0F"+
-        "\u9A05\u99E2\u9A19\u9A2B\u9A37\u9A45\u9A42\u9A40"+
-        "\u9A43\u9A3E\u9A55\u9A4D\u9A5B\u9A57\u9A5F\u9A62"+
-        "\u9A65\u9A64\u9A69\u9A6B\u9A6A\u9AAD\u9AB0\u9ABC"+
-        "\u9AC0\u9ACF\u9AD1\u9AD3\u9AD4\u9ADE\u9ADF\u9AE2"+
-        "\u9AE3\u9AE6\u9AEF\u9AEB\u9AEE\u9AF4\u9AF1\u9AF7"+
-        "\u9AFB\u9B06\u9B18\u9B1A\u9B1F\u9B22\u9B23\u9B25"+
-        "\u9B27\u9B28\u9B29\u9B2A\u9B2E\u9B2F\u9B32\u9B44"+
-        "\u9B43\u9B4F\u9B4D\u9B4E\u9B51\u9B58\u9B74\u9B93"+
-        "\u9B83\u9B91\u9B96\u9B97\u9B9F\u9BA0\u9BA8\u9BB4"+
-        "\u9BC0\u9BCA\u9BB9\u9BC6\u9BCF\u9BD1\u9BD2\u9BE3"+
-        "\u9BE2\u9BE4\u9BD4\u9BE1\u9C3A\u9BF2\u9BF1\u9BF0"+
-        "\u9C15\u9C14\u9C09\u9C13\u9C0C\u9C06\u9C08\u9C12"+
-        "\u9C0A\u9C04\u9C2E\u9C1B\u9C25\u9C24\u9C21\u9C30"+
-        "\u9C47\u9C32\u9C46\u9C3E\u9C5A\u9C60\u9C67\u9C76"+
-        "\u9C78\u9CE7\u9CEC\u9CF0\u9D09\u9D08\u9CEB\u9D03"+
-        "\u9D06\u9D2A\u9D26\u9DAF\u9D23\u9D1F\u9D44\u9D15"+
-        "\u9D12\u9D41\u9D3F\u9D3E\u9D46\u9D48\u9D5D\u9D5E"+
-        "\u9D64\u9D51\u9D50\u9D59\u9D72\u9D89\u9D87\u9DAB"+
-        "\u9D6F\u9D7A\u9D9A\u9DA4\u9DA9\u9DB2\u9DC4\u9DC1"+
-        "\u9DBB\u9DB8\u9DBA\u9DC6\u9DCF\u9DC2\u9DD9\u9DD3"+
-        "\u9DF8\u9DE6\u9DED\u9DEF\u9DFD\u9E1A\u9E1B\u9E1E"+
-        "\u9E75\u9E79\u9E7D\u9E81\u9E88\u9E8B\u9E8C\u9E92"+
-        "\u9E95\u9E91\u9E9D\u9EA5\u9EA9\u9EB8\u9EAA\u9EAD"+
-        "\u9761\u9ECC\u9ECE\u9ECF\u9ED0\u9ED4\u9EDC\u9EDE"+
-        "\u9EDD\u9EE0\u9EE5\u9EE8\u9EEF\u9EF4\u9EF6\u9EF7"+
-        "\u9EF9\u9EFB\u9EFC\u9EFD\u9F07\u9F08\u76B7\u9F15"+
-        "\u9F21\u9F2C\u9F3E\u9F4A\u9F52\u9F54\u9F63\u9F5F"+
-        "\u9F60\u9F61\u9F66\u9F67\u9F6C\u9F6A\u9F77\u9F72"+
-        "\u9F76\u9F95\u9F9C\u9FA0\u582F\u69C7\u9059\u7464"+
-        "\u51DC\u7199\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uE000\uE001\uE002\uE003\uE004\uE005"+
-        "\uE006\uE007\uE008\uE009\uE00A\uE00B\uE00C\uE00D"+
-        "\uE00E\uE00F\uE010\uE011\uE012\uE013\uE014\uE015"+
-        "\uE016\uE017\uE018\uE019\uE01A\uE01B\uE01C\uE01D"+
-        "\uE01E\uE01F\uE020\uE021\uE022\uE023\uE024\uE025"+
-        "\uE026\uE027\uE028\uE029\uE02A\uE02B\uE02C\uE02D"+
-        "\uE02E\uE02F\uE030\uE031\uE032\uE033\uE034\uE035"+
-        "\uE036\uE037\uE038\uE039\uE03A\uE03B\uE03C\uE03D"+
-        "\uE03E\uE03F\uE040\uE041\uE042\uE043\uE044\uE045"+
-        "\uE046\uE047\uE048\uE049\uE04A\uE04B\uE04C\uE04D"+
-        "\uE04E\uE04F\uE050\uE051\uE052\uE053\uE054\uE055"+
-        "\uE056\uE057\uE058\uE059\uE05A\uE05B\uE05C\uE05D";
-
-    private final static String innerIndex5=
-        "\uE05E\uE05F\uE060\uE061\uE062\uE063\uE064\uE065"+
-        "\uE066\uE067\uE068\uE069\uE06A\uE06B\uE06C\uE06D"+
-        "\uE06E\uE06F\uE070\uE071\uE072\uE073\uE074\uE075"+
-        "\uE076\uE077\uE078\uE079\uE07A\uE07B\uE07C\uE07D"+
-        "\uE07E\uE07F\uE080\uE081\uE082\uE083\uE084\uE085"+
-        "\uE086\uE087\uE088\uE089\uE08A\uE08B\uE08C\uE08D"+
-        "\uE08E\uE08F\uE090\uE091\uE092\uE093\uE094\uE095"+
-        "\uE096\uE097\uE098\uE099\uE09A\uE09B\uE09C\uE09D"+
-        "\uE09E\uE09F\uE0A0\uE0A1\uE0A2\uE0A3\uE0A4\uE0A5"+
-        "\uE0A6\uE0A7\uE0A8\uE0A9\uE0AA\uE0AB\uE0AC\uE0AD"+
-        "\uE0AE\uE0AF\uE0B0\uE0B1\uE0B2\uE0B3\uE0B4\uE0B5"+
-        "\uE0B6\uE0B7\uE0B8\uE0B9\uE0BA\uE0BB\uE0BC\uE0BD"+
-        "\uE0BE\uE0BF\uE0C0\uE0C1\uE0C2\uE0C3\uE0C4\uE0C5"+
-        "\uE0C6\uE0C7\uE0C8\uE0C9\uE0CA\uE0CB\uE0CC\uE0CD"+
-        "\uE0CE\uE0CF\uE0D0\uE0D1\uE0D2\uE0D3\uE0D4\uE0D5"+
-        "\uE0D6\uE0D7\uE0D8\uE0D9\uE0DA\uE0DB\uE0DC\uE0DD"+
-        "\uE0DE\uE0DF\uE0E0\uE0E1\uE0E2\uE0E3\uE0E4\uE0E5"+
-        "\uE0E6\uE0E7\uE0E8\uE0E9\uE0EA\uE0EB\uE0EC\uE0ED"+
-        "\uE0EE\uE0EF\uE0F0\uE0F1\uE0F2\uE0F3\uE0F4\uE0F5"+
-        "\uE0F6\uE0F7\uE0F8\uE0F9\uE0FA\uE0FB\uE0FC\uE0FD"+
-        "\uE0FE\uE0FF\uE100\uE101\uE102\uE103\uE104\uE105"+
-        "\uE106\uE107\uE108\uE109\uE10A\uE10B\uE10C\uE10D"+
-        "\uE10E\uE10F\uE110\uE111\uE112\uE113\uE114\uE115"+
-        "\uE116\uE117\uE118\uE119\uE11A\uE11B\uE11C\uE11D"+
-        "\uE11E\uE11F\uE120\uE121\uE122\uE123\uE124\uE125"+
-        "\uE126\uE127\uE128\uE129\uE12A\uE12B\uE12C\uE12D"+
-        "\uE12E\uE12F\uE130\uE131\uE132\uE133\uE134\uE135"+
-        "\uE136\uE137\uE138\uE139\uE13A\uE13B\uE13C\uE13D"+
-        "\uE13E\uE13F\uE140\uE141\uE142\uE143\uE144\uE145"+
-        "\uE146\uE147\uE148\uE149\uE14A\uE14B\uE14C\uE14D"+
-        "\uE14E\uE14F\uE150\uE151\uE152\uE153\uE154\uE155"+
-        "\uE156\uE157\uE158\uE159\uE15A\uE15B\uE15C\uE15D"+
-        "\uE15E\uE15F\uE160\uE161\uE162\uE163\uE164\uE165"+
-        "\uE166\uE167\uE168\uE169\uE16A\uE16B\uE16C\uE16D"+
-        "\uE16E\uE16F\uE170\uE171\uE172\uE173\uE174\uE175"+
-        "\uE176\uE177\uE178\uE179\uE17A\uE17B\uE17C\uE17D"+
-        "\uE17E\uE17F\uE180\uE181\uE182\uE183\uE184\uE185"+
-        "\uE186\uE187\uE188\uE189\uE18A\uE18B\uE18C\uE18D"+
-        "\uE18E\uE18F\uE190\uE191\uE192\uE193\uE194\uE195"+
-        "\uE196\uE197\uE198\uE199\uE19A\uE19B\uE19C\uE19D"+
-        "\uE19E\uE19F\uE1A0\uE1A1\uE1A2\uE1A3\uE1A4\uE1A5"+
-        "\uE1A6\uE1A7\uE1A8\uE1A9\uE1AA\uE1AB\uE1AC\uE1AD"+
-        "\uE1AE\uE1AF\uE1B0\uE1B1\uE1B2\uE1B3\uE1B4\uE1B5"+
-        "\uE1B6\uE1B7\uE1B8\uE1B9\uE1BA\uE1BB\uE1BC\uE1BD"+
-        "\uE1BE\uE1BF\uE1C0\uE1C1\uE1C2\uE1C3\uE1C4\uE1C5"+
-        "\uE1C6\uE1C7\uE1C8\uE1C9\uE1CA\uE1CB\uE1CC\uE1CD"+
-        "\uE1CE\uE1CF\uE1D0\uE1D1\uE1D2\uE1D3\uE1D4\uE1D5"+
-        "\uE1D6\uE1D7\uE1D8\uE1D9\uE1DA\uE1DB\uE1DC\uE1DD"+
-        "\uE1DE\uE1DF\uE1E0\uE1E1\uE1E2\uE1E3\uE1E4\uE1E5"+
-        "\uE1E6\uE1E7\uE1E8\uE1E9\uE1EA\uE1EB\uE1EC\uE1ED"+
-        "\uE1EE\uE1EF\uE1F0\uE1F1\uE1F2\uE1F3\uE1F4\uE1F5"+
-        "\uE1F6\uE1F7\uE1F8\uE1F9\uE1FA\uE1FB\uE1FC\uE1FD"+
-        "\uE1FE\uE1FF\uE200\uE201\uE202\uE203\uE204\uE205"+
-        "\uE206\uE207\uE208\uE209\uE20A\uE20B\uE20C\uE20D"+
-        "\uE20E\uE20F\uE210\uE211\uE212\uE213\uE214\uE215"+
-        "\uE216\uE217\uE218\uE219\uE21A\uE21B\uE21C\uE21D"+
-        "\uE21E\uE21F\uE220\uE221\uE222\uE223\uE224\uE225"+
-        "\uE226\uE227\uE228\uE229\uE22A\uE22B\uE22C\uE22D"+
-        "\uE22E\uE22F\uE230\uE231\uE232\uE233\uE234\uE235"+
-        "\uE236\uE237\uE238\uE239\uE23A\uE23B\uE23C\uE23D"+
-        "\uE23E\uE23F\uE240\uE241\uE242\uE243\uE244\uE245"+
-        "\uE246\uE247\uE248\uE249\uE24A\uE24B\uE24C\uE24D"+
-        "\uE24E\uE24F\uE250\uE251\uE252\uE253\uE254\uE255"+
-        "\uE256\uE257\uE258\uE259\uE25A\uE25B\uE25C\uE25D"+
-        "\uE25E\uE25F\uE260\uE261\uE262\uE263\uE264\uE265"+
-        "\uE266\uE267\uE268\uE269\uE26A\uE26B\uE26C\uE26D"+
-        "\uE26E\uE26F\uE270\uE271\uE272\uE273\uE274\uE275"+
-        "\uE276\uE277\uE278\uE279\uE27A\uE27B\uE27C\uE27D"+
-        "\uE27E\uE27F\uE280\uE281\uE282\uE283\uE284\uE285"+
-        "\uE286\uE287\uE288\uE289\uE28A\uE28B\uE28C\uE28D"+
-        "\uE28E\uE28F\uE290\uE291\uE292\uE293\uE294\uE295"+
-        "\uE296\uE297\uE298\uE299\uE29A\uE29B\uE29C\uE29D"+
-        "\uE29E\uE29F\uE2A0\uE2A1\uE2A2\uE2A3\uE2A4\uE2A5"+
-        "\uE2A6\uE2A7\uE2A8\uE2A9\uE2AA\uE2AB\uE2AC\uE2AD"+
-        "\uE2AE\uE2AF\uE2B0\uE2B1\uE2B2\uE2B3\uE2B4\uE2B5"+
-        "\uE2B6\uE2B7\uE2B8\uE2B9\uE2BA\uE2BB\uE2BC\uE2BD"+
-        "\uE2BE\uE2BF\uE2C0\uE2C1\uE2C2\uE2C3\uE2C4\uE2C5"+
-        "\uE2C6\uE2C7\uE2C8\uE2C9\uE2CA\uE2CB\uE2CC\uE2CD"+
-        "\uE2CE\uE2CF\uE2D0\uE2D1\uE2D2\uE2D3\uE2D4\uE2D5"+
-        "\uE2D6\uE2D7\uE2D8\uE2D9\uE2DA\uE2DB\uE2DC\uE2DD"+
-        "\uE2DE\uE2DF\uE2E0\uE2E1\uE2E2\uE2E3\uE2E4\uE2E5"+
-        "\uE2E6\uE2E7\uE2E8\uE2E9\uE2EA\uE2EB\uE2EC\uE2ED"+
-        "\uE2EE\uE2EF\uE2F0\uE2F1\uE2F2\uE2F3\uE2F4\uE2F5"+
-        "\uE2F6\uE2F7\uE2F8\uE2F9\uE2FA\uE2FB\uE2FC\uE2FD"+
-        "\uE2FE\uE2FF\uE300\uE301\uE302\uE303\uE304\uE305"+
-        "\uE306\uE307\uE308\uE309\uE30A\uE30B\uE30C\uE30D"+
-        "\uE30E\uE30F\uE310\uE311\uE312\uE313\uE314\uE315"+
-        "\uE316\uE317\uE318\uE319\uE31A\uE31B\uE31C\uE31D"+
-        "\uE31E\uE31F\uE320\uE321\uE322\uE323\uE324\uE325"+
-        "\uE326\uE327\uE328\uE329\uE32A\uE32B\uE32C\uE32D"+
-        "\uE32E\uE32F\uE330\uE331\uE332\uE333\uE334\uE335"+
-        "\uE336\uE337\uE338\uE339\uE33A\uE33B\uE33C\uE33D"+
-        "\uE33E\uE33F\uE340\uE341\uE342\uE343\uE344\uE345"+
-        "\uE346\uE347\uE348\uE349\uE34A\uE34B\uE34C\uE34D"+
-        "\uE34E\uE34F\uE350\uE351\uE352\uE353\uE354\uE355"+
-        "\uE356\uE357\uE358\uE359\uE35A\uE35B\uE35C\uE35D"+
-        "\uE35E\uE35F\uE360\uE361\uE362\uE363\uE364\uE365"+
-        "\uE366\uE367\uE368\uE369\uE36A\uE36B\uE36C\uE36D"+
-        "\uE36E\uE36F\uE370\uE371\uE372\uE373\uE374\uE375"+
-        "\uE376\uE377\uE378\uE379\uE37A\uE37B\uE37C\uE37D"+
-        "\uE37E\uE37F\uE380\uE381\uE382\uE383\uE384\uE385"+
-        "\uE386\uE387\uE388\uE389\uE38A\uE38B\uE38C\uE38D"+
-        "\uE38E\uE38F\uE390\uE391\uE392\uE393\uE394\uE395"+
-        "\uE396\uE397\uE398\uE399\uE39A\uE39B\uE39C\uE39D"+
-        "\uE39E\uE39F\uE3A0\uE3A1\uE3A2\uE3A3\uE3A4\uE3A5"+
-        "\uE3A6\uE3A7\uE3A8\uE3A9\uE3AA\uE3AB";
-
-    protected final static short index1[] = {
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 0, 0, 0, 9, 0, 0,
-        10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
-        26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
-        42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
-        58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
-        74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
-    };
-
-    protected final static String index2[] = {
-        innerIndex0,
-        innerIndex1,
-        innerIndex2,
-        innerIndex3,
-        innerIndex4,
-        innerIndex5
-    };
-
-}
--- a/src/share/classes/sun/nio/cs/ext/JIS_X_0208_MS5022X_Encoder.java	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3307 +0,0 @@
-/*
- * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code 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
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package sun.nio.cs.ext;
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetEncoder;
-
-class JIS_X_0208_MS5022X_Encoder
-{
-    private final static String innerIndex0=
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u2171\u2172\u0000\u0000\u0000\u2178"+
-        "\u212F\u0000\u0000\u0000\u224C\u0000\u0000\u0000"+
-        "\u216B\u215E\u0000\u0000\u212D\u0000\u2279\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u215F"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u2160"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u2621\u2622\u2623\u2624\u2625\u2626\u2627"+
-        "\u2628\u2629\u262A\u262B\u262C\u262D\u262E\u262F"+
-        "\u2630\u2631\u0000\u2632\u2633\u2634\u2635\u2636"+
-        "\u2637\u2638\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u2641\u2642\u2643\u2644\u2645\u2646\u2647"+
-        "\u2648\u2649\u264A\u264B\u264C\u264D\u264E\u264F"+
-        "\u2650\u2651\u0000\u2652\u2653\u2654\u2655\u2656"+
-        "\u2657\u2658\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u2727\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u2721\u2722\u2723\u2724\u2725\u2726\u2728\u2729"+
-        "\u272A\u272B\u272C\u272D\u272E\u272F\u2730\u2731"+
-        "\u2732\u2733\u2734\u2735\u2736\u2737\u2738\u2739"+
-        "\u273A\u273B\u273C\u273D\u273E\u273F\u2740\u2741"+
-        "\u2751\u2752\u2753\u2754\u2755\u2756\u2758\u2759"+
-        "\u275A\u275B\u275C\u275D\u275E\u275F\u2760\u2761"+
-        "\u2762\u2763\u2764\u2765\u2766\u2767\u2768\u2769"+
-        "\u276A\u276B\u276C\u276D\u276E\u276F\u2770\u2771"+
-        "\u0000\u2757\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u213E\u0000\u0000\u0000\u0000\u213D\u2142\u0000"+
-        "\u2146\u2147\u0000\u0000\u2148\u2149\u0000\u0000"+
-        "\u2277\u2278\u0000\u0000\u0000\u2145\u2144\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u2273\u0000\u216C\u216D\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u2228\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u216E\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u2D62\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u2D64\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u2272\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u2D35\u2D36\u2D37\u2D38\u2D39\u2D3A\u2D3B\u2D3C"+
-        "\u2D3D\u2D3E\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u222B\u222C\u222A\u222D\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u224D\u0000\u224E\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u224F\u0000\u225F\u2250\u0000\u0000\u0000\u2260"+
-        "\u223A\u0000\u0000\u223B\u0000\u0000\u0000\u0000"+
-        "\u0000\u2D74\u215D\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u2265\u0000\u0000\u2267\u2167\u2D78"+
-        "\u225C\u0000\u0000\u0000\u0000\u2142\u0000\u224A"+
-        "\u224B\u2241\u2240\u2269\u226A\u0000\u2D73\u0000"+
-        "\u0000\u0000\u0000\u0000\u2168\u2268\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u2266\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u2262\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u2162\u2261\u0000\u0000\u0000\u0000\u2165\u2166"+
-        "\u0000\u0000\u2263\u2264\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u223E\u223F\u0000\u0000\u223C\u223D"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u225D\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u2D79"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u225E\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u2D21\u2D22\u2D23\u2D24\u2D25\u2D26\u2D27\u2D28"+
-        "\u2D29\u2D2A\u2D2B\u2D2C\u2D2D\u2D2E\u2D2F\u2D30"+
-        "\u2D31\u2D32\u2D33\u2D34\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u2821\u282C\u2822\u282D\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u2823\u0000\u0000\u282E"+
-        "\u2824\u0000\u0000\u282F\u2826\u0000\u0000\u2831"+
-        "\u2825\u0000\u0000\u2830\u2827\u283C\u0000\u0000"+
-        "\u2837\u0000\u0000\u2832\u2829\u283E\u0000\u0000"+
-        "\u2839\u0000\u0000\u2834\u2828\u0000\u0000\u2838"+
-        "\u283D\u0000\u0000\u2833\u282A\u0000\u0000\u283A"+
-        "\u283F\u0000\u0000\u2835\u282B\u0000\u0000\u283B"+
-        "\u0000\u0000\u2840\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u2836\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u2223\u2222\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u2225\u2224\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u2227\u2226\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u2221\u217E"+
-        "\u0000\u0000\u0000\u217B\u0000\u0000\u217D\u217C"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u227E"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u217A\u2179\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u216A\u0000\u2169\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u2276\u0000\u0000\u2275\u0000\u2274"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u2121\u2122\u2123\u2137\u0000\u2139\u213A\u213B"+
-        "\u2152\u2153\u2154\u2155\u2156\u2157\u2158\u2159"+
-        "\u215A\u215B\u2229\u222E\u214C\u214D\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u2141\u0000\u2D60\u2D61"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u2421\u2422\u2423\u2424\u2425\u2426\u2427"+
-        "\u2428\u2429\u242A\u242B\u242C\u242D\u242E\u242F"+
-        "\u2430\u2431\u2432\u2433\u2434\u2435\u2436\u2437"+
-        "\u2438\u2439\u243A\u243B\u243C\u243D\u243E\u243F"+
-        "\u2440\u2441\u2442\u2443\u2444\u2445\u2446\u2447"+
-        "\u2448\u2449\u244A\u244B\u244C\u244D\u244E\u244F"+
-        "\u2450\u2451\u2452\u2453\u2454\u2455\u2456\u2457"+
-        "\u2458\u2459\u245A\u245B\u245C\u245D\u245E\u245F"+
-        "\u2460\u2461\u2462\u2463\u2464\u2465\u2466\u2467"+
-        "\u2468\u2469\u246A\u246B\u246C\u246D\u246E\u246F"+
-        "\u2470\u2471\u2472\u2473\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u212B\u212C\u2135\u2136\u0000"+
-        "\u0000\u2521\u2522\u2523\u2524\u2525\u2526\u2527"+
-        "\u2528\u2529\u252A\u252B\u252C\u252D\u252E\u252F"+
-        "\u2530\u2531\u2532\u2533\u2534\u2535\u2536\u2537"+
-        "\u2538\u2539\u253A\u253B\u253C\u253D\u253E\u253F"+
-        "\u2540\u2541\u2542\u2543\u2544\u2545\u2546\u2547"+
-        "\u2548\u2549\u254A\u254B\u254C\u254D\u254E\u254F"+
-        "\u2550\u2551\u2552\u2553\u2554\u2555\u2556\u2557"+
-        "\u2558\u2559\u255A\u255B\u255C\u255D\u255E\u255F"+
-        "\u2560\u2561\u2562\u2563\u2564\u2565\u2566\u2567"+
-        "\u2568\u2569\u256A\u256B\u256C\u256D\u256E\u256F"+
-        "\u2570\u2571\u2572\u2573\u2574\u2575\u2576\u0000"+
-        "\u0000\u0000\u0000\u2126\u213C\u2133\u2134\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u2D6A\u2D6B\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u2D6C\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u2D65\u2D66\u2D67\u2D68"+
-        "\u2D69\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u2D46\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u2D4A\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u2D41\u0000\u0000\u0000"+
-        "\u2D44\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u2D42\u2D4C\u0000\u0000\u2D4B\u2D45"+
-        "\u0000\u0000\u0000\u2D4D\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u2D47\u0000"+
-        "\u0000\u0000\u0000\u2D4F\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u2D40\u2D4E\u0000\u0000\u2D43\u0000\u0000"+
-        "\u0000\u2D48\u0000\u0000\u0000\u0000\u0000\u2D49"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u2D5F\u2D6F\u2D6E\u2D6D\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u2D53\u2D54"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u2D50\u2D51\u2D52\u0000"+
-        "\u0000\u2D56\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u2D55\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u2D63\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u306C\u437A\u0000\u3C37\u0000\u0000\u0000\u4B7C"+
-        "\u3E66\u3B30\u3E65\u323C\u0000\u4954\u4D3F\u0000"+
-        "\u5022\u312F\u0000\u0000\u336E\u5023\u4024\u5242"+
-        "\u3556\u4A3A\u0000\u0000\u0000\u0000\u3E67\u0000"+
-        "\u0000\u4E3E\u0000\u0000\u0000\u0000\u4A42\u0000"+
-        "\u0000\u0000\u5024\u0000\u0000\u4366\u0000\u0000"+
-        "\u0000\u5025\u367A\u0000\u0000\u0000\u5026\u0000"+
-        "\u345D\u4330\u0000\u3C67\u5027\u0000\u0000\u5028"+
-        "\u0000\u0000\u5029\u4735\u0000\u3557\u0000\u0000"+
-        "\u0000\u0000\u0000\u4737\u0000\u4663\u3843\u4B33"+
-        "\u0000\u0000\u0000\u0000\u0000\u6949\u502A\u3E68"+
-        "\u502B\u3235\u0000\u0000\u0000\u3665\u3870\u4C69"+
-        "\u0000\u0000\u5626\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4D70\u0000\u467D\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3425\u0000"+
-        "\u3535\u0000\u502C\u0000\u0000\u502D\u4E3B\u0000"+
-        "\u4D3D\u4168\u502F\u3B76\u4673\u0000\u5032\u0000"+
-        "\u0000\u313E\u385F\u0000\u385E\u3066\u0000\u0000"+
-        "\u4F4B\u4F4A\u0000\u3A33\u3021\u0000\u5033\u5034"+
-        "\u5035\u4B34\u5036\u0000\u3872\u3067\u4B72\u0000"+
-        "\u357C\u0000\u0000\u357D\u357E\u4462\u4E3C\u0000"+
-        "\u5037\u0000\u0000\u5038\u0000\u0000\u5039\u0000"+
-        "\u0000\u0000\u3F4D\u0000\u0000\u0000\u0000\u0000"+
-        "\u3D3A\u3F4E\u503E\u0000\u503C\u0000\u503D\u3558"+
-        "\u0000\u0000\u3A23\u3270\u0000\u503B\u503A\u4A29"+
-        "\u0000\u0000\u0000\u0000\u3B46\u3B45\u423E\u503F"+
-        "\u4955\u4067\u0000\u0000\u0000\u2138\u5040\u5042"+
-        "\u0000\u0000\u0000\u4265\u4E61\u304A\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5041\u323E\u0000"+
-        "\u3644\u0000\u4367\u0000\u0000\u0000\u376F\u5043"+
-        "\u0000\u0000\u0000\u4724\u0000\u0000\u0000\u0000"+
-        "\u0000\u346B\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5044\u304B\u0000\u0000\u3860\u346C\u497A"+
-        "\u4832\u3559\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3271\u0000\u5067\u4541\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u476C"+
-        "\u5046\u0000\u0000\u0000\u483C\u0000\u4E62\u0000"+
-        "\u3F2D\u0000\u3B47\u0000\u3B77\u3240\u0000\u0000"+
-        "\u0000\u0000\u0000\u4451\u0000\u0000\u4322\u504A"+
-        "\u0000\u0000\u0000\u0000\u0000\u304C\u4463\u3D3B"+
-        "\u3A34\u4D24\u0000\u424E\u0000\u323F\u0000\u5049"+
-        "\u0000\u4D3E\u5045\u5047\u3A6E\u5048\u5524\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5050\u0000\u0000\u0000\u0000\u0000\u5053"+
-        "\u5051\u0000\u0000\u3242\u0000\u4A3B\u504B\u0000"+
-        "\u0000\u0000\u0000\u504F\u3873\u0000\u0000\u3B48"+
-        "\u0000\u0000\u0000\u3426\u0000\u0000\u5054\u0000"+
-        "\u504C\u0000\u0000\u4E63\u0000\u3B78\u0000\u504D"+
-        "\u0000\u5052\u0000\u0000\u0000\u0000\u5055\u0000"+
-        "\u504E\u0000\u0000\u3621\u0000\u304D\u0000\u0000"+
-        "\u3622\u3241\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5525\u0000\u4B79\u496E\u3874"+
-        "\u0000\u0000\u0000\u0000\u0000\u3F2F\u4E37\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4A58"+
-        "\u0000\u0000\u3738\u4225\u3264\u0000\u0000\u0000"+
-        "\u0000\u0000\u3D53\u0000\u0000\u0000\u5059\u0000"+
-        "\u505E\u505C\u0000\u0000\u5057\u0000\u0000\u422F"+
-        "\u505A\u0000\u505D\u505B\u0000\u4A5D\u0000\u5058"+
-        "\u0000\u3F2E\u0000\u4B73\u505F\u5060\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3D24\u506D"+
-        "\u0000\u0000\u0000\u4750\u0000\u4936\u5068\u0000"+
-        "\u4A70\u0000\u3236\u0000\u0000\u0000\u506C\u0000";
-
-    private final static String innerIndex1=
-        "\u0000\u0000\u0000\u0000\u0000\u5066\u506F\u0000"+
-        "\u0000\u4152\u0000\u3844\u0000\u475C\u0000\u6047"+
-        "\u0000\u506E\u455D\u0000\u5063\u0000\u3876\u0000"+
-        "\u0000\u3875\u5061\u0000\u0000\u0000\u0000\u3C5A"+
-        "\u0000\u5069\u0000\u4A6F\u434D\u5065\u3771\u0000"+
-        "\u5062\u506A\u5064\u4E51\u506B\u4F41\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3666\u0000"+
-        "\u0000\u3770\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5070\u0000\u0000\u0000\u5071"+
-        "\u5075\u304E\u0000\u0000\u0000\u0000\u0000\u4A50"+
-        "\u5074\u0000\u0000\u0000\u0000\u5073\u5077\u0000"+
-        "\u0000\u0000\u5076\u0000\u4464\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3772\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5078\u0000\u0000\u0000"+
-        "\u0000\u0000\u3C45\u0000\u4226\u4465\u3676\u0000"+
-        "\u5079\u0000\u0000\u0000\u0000\u3536\u0000\u0000"+
-        "\u507A\u0000\u0000\u0000\u0000\u507C\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4B35\u0000\u0000"+
-        "\u0000\u3766\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3B31\u4877\u507B\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3A45\u4D43\u0000\u0000"+
-        "\u0000\u0000\u507E\u5123\u507D\u3A44\u0000\u3D7D"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3739\u0000"+
-        "\u0000\u0000\u5124\u0000\u0000\u364F\u0000\u0000"+
-        "\u0000\u5121\u5122\u0000\u0000\u462F\u0000\u417C"+
-        "\u0000\u3623\u0000\u0000\u0000\u4B4D\u5125\u0000"+
-        "\u0000\u0000\u4E3D\u0000\u0000\u0000\u5126\u0000"+
-        "\u0000\u0000\u0000\u5129\u0000\u5127\u0000\u414E"+
-        "\u0000\u0000\u0000\u0000\u0000\u5128\u512A\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u512C\u0000\u0000"+
-        "\u0000\u512B\u0000\u4A48\u0000\u0000\u0000\u0000"+
-        "\u3537\u512E\u512F\u0000\u322F\u0000\u0000\u0000"+
-        "\u0000\u512D\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3C74\u0000\u5132\u5131\u5130\u0000"+
-        "\u5056\u0000\u5133\u0000\u0000\u0000\u0000\u3D7E"+
-        "\u0000\u5134\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4D25\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4C59\u0000\u0000\u0000\u0000\u5136"+
-        "\u0000\u0000\u5135\u5138\u5137\u0000\u0000\u5139"+
-        "\u513A\u3074\u0000\u3835\u373B\u3D3C\u437B\u3624"+
-        "\u4068\u3877\u0000\u396E\u513C\u4C48\u4546\u0000"+
-        "\u3B79\u0000\u513B\u0000\u513D\u0000\u0000\u0000"+
-        "\u0000\u0000\u455E\u0000\u3375\u0000\u0000\u0000"+
-        "\u0000\u0000\u513E\u0000\u0000\u467E\u0000\u0000"+
-        "\u4134\u5140\u5141\u482C\u3878\u4F3B\u5142\u0000"+
-        "\u0000\u3626\u0000\u0000\u0000\u4A3C\u4236\u3671"+
-        "\u4535\u0000\u0000\u0000\u3773\u0000\u0000\u0000"+
-        "\u5143\u0000\u5144\u0000\u0000\u4662\u315F\u0000"+
-        "\u0000\u5147\u3A7D\u0000\u5146\u3A46\u0000\u5148"+
-        "\u666E\u5149\u4B41\u514A\u0000\u514B\u514C\u3E69"+
-        "\u0000\u3C4C\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3427\u0000\u514F\u0000\u514D\u4C3D\u514E\u0000"+
-        "\u495A\u5150\u5151\u5152\u455F\u0000\u0000\u0000"+
-        "\u5156\u5154\u5155\u5153\u3A63\u5157\u4C6A\u4E64"+
-        "\u0000\u0000\u0000\u0000\u0000\u5158\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u4028\u5159\u3D5A\u0000"+
-        "\u0000\u515A\u0000\u437C\u4E3F\u4560\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5245\u0000"+
-        "\u0000\u0000\u0000\u515B\u7425\u3645\u0000\u0000"+
-        "\u515C\u4B5E\u0000\u0000\u0000\u0000\u3D68\u427C"+
-        "\u0000\u515E\u4664\u0000\u0000\u515F\u0000\u0000"+
-        "\u5160\u332E\u0000\u0000\u0000\u5161\u3627\u0000"+
-        "\u464C\u317A\u3D50\u0000\u0000\u4821\u5162\u0000"+
-        "\u4561\u0000\u0000\u3F4F\u5163\u0000\u4A2C\u405A"+
-        "\u3422\u0000\u3429\u5164\u0000\u0000\u5166\u0000"+
-        "\u0000\u373A\u0000\u0000\u5165\u0000\u0000\u4E73"+
-        "\u0000\u0000\u0000\u0000\u0000\u3D69\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u483D\u4A4C\u0000\u5167"+
-        "\u0000\u4D78\u5168\u0000\u0000\u0000\u5169\u0000"+
-        "\u457E\u0000\u0000\u516A\u0000\u0000\u4029\u3A7E"+
-        "\u3774\u516B\u3B49\u396F\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4466\u516D\u0000\u0000\u4227"+
-        "\u0000\u0000\u3A6F\u516E\u516F\u4130\u0000\u516C"+
-        "\u0000\u0000\u0000\u0000\u5171\u0000\u4B36\u0000"+
-        "\u0000\u0000\u0000\u3964\u0000\u0000\u5170\u0000"+
-        "\u0000\u0000\u0000\u3775\u3A5E\u476D\u0000\u0000"+
-        "\u0000\u5174\u5172\u0000\u0000\u0000\u0000\u497B"+
-        "\u3E6A\u517B\u3364\u5175\u5173\u414F\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5177\u0000\u5176"+
-        "\u0000\u0000\u0000\u3344\u0000\u0000\u0000\u3760"+
-        "\u517C\u4E2D\u0000\u0000\u0000\u5178\u0000\u0000"+
-        "\u0000\u517D\u517A\u0000\u5179\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4E4F\u0000\u0000\u0000\u3879"+
-        "\u3243\u0000\u0000\u4E74\u0000\u0000\u0000\u0000"+
-        "\u0000\u3D75\u4558\u3965\u5222\u5223\u0000\u0000"+
-        "\u0000\u4E65\u0000\u0000\u4F2B\u5225\u0000\u0000"+
-        "\u0000\u387A\u0000\u0000\u5224\u0000\u332F\u0000"+
-        "\u0000\u5226\u0000\u4B56\u0000\u443C\u0000\u4D26"+
-        "\u0000\u4A59\u0000\u0000\u0000\u5227\u0000\u0000"+
-        "\u0000\u0000\u7055\u0000\u0000\u4630\u0000\u5228"+
-        "\u342A\u4C33\u0000\u0000\u0000\u3E21\u5229\u4A67"+
-        "\u522D\u0000\u402A\u522A\u3650\u0000\u522B\u342B"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u372E\u522E\u0000\u522F\u0000\u0000"+
-        "\u5230\u5231\u3C5B\u0000\u0000\u0000\u387B\u4C5E"+
-        "\u0000\u4C68\u4677\u0000\u0000\u4A71\u5232\u0000"+
-        "\u5233\u0000\u0000\u0000\u0000\u5235\u0000\u5237"+
-        "\u5236\u0000\u0000\u0000\u0000\u5238\u323D\u4B4C"+
-        "\u0000\u3A7C\u5239\u0000\u0000\u4159\u0000\u0000"+
-        "\u3E22\u3629\u0000\u523A\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u485B\u0000\u0000\u0000\u0000\u523B"+
-        "\u0000\u523C\u0000\u523D\u0000\u0000\u0000\u0000"+
-        "\u523E\u4924\u3668\u3065\u0000\u0000\u0000\u463F"+
-        "\u523F\u3D3D\u0000\u4069\u0000\u5241\u5240\u3E23"+
-        "\u3861\u5243\u483E\u0000\u0000\u5244\u0000\u0000"+
-        "\u0000\u485C\u4234\u426E\u3628\u0000\u0000\u466E"+
-        "\u4331\u0000\u476E\u0000\u4B4E\u0000\u5246\u0000"+
-        "\u406A\u0000\u0000\u0000\u0000\u0000\u3735\u0000"+
-        "\u0000\u5247\u0000\u0000\u0000\u0000\u5248\u312C"+
-        "\u3075\u346D\u0000\u4228\u3551\u4D71\u0000\u524B"+
-        "\u3237\u0000\u0000\u524A\u0000\u0000\u0000\u362A"+
-        "\u0000\u0000\u524C\u0000\u4C71\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u524D\u0000"+
-        "\u4E52\u0000\u387C\u0000\u0000\u0000\u0000\u3836"+
-        "\u524E\u0000\u0000\u0000\u0000\u5250\u524F\u0000"+
-        "\u3F5F\u3139\u0000\u0000\u0000\u315E\u5251\u0000"+
-        "\u5252\u0000\u0000\u3837\u0000\u0000\u5253\u0000"+
-        "\u0000\u0000\u0000\u356E\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3B32\u5254\u0000\u0000\u0000\u0000"+
-        "\u4B74\u3A35\u355A\u4D27\u4150\u483F\u3C7D\u0000"+
-        "\u0000\u0000\u0000\u0000\u3D47\u0000\u3C68\u3C75"+
-        "\u0000\u3D76\u0000\u4840\u0000\u0000\u0000\u5257"+
-        "\u0000\u3143\u4151\u387D\u3845\u3667\u0000\u0000"+
-        "\u525B\u4321\u427E\u362B\u3E24\u525C\u525A\u3244"+
-        "\u4266\u3C38\u3B4B\u3126\u0000\u0000\u3370\u3966"+
-        "\u3B4A\u0000\u525D\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u525E\u0000\u3549\u3346\u0000\u0000\u0000"+
-        "\u3967\u3548\u445F\u3125\u4631\u4C3E\u3921\u4D79"+
-        "\u4547\u387E\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u372F\u0000\u5267\u0000\u3663"+
-        "\u4B4A\u0000\u0000\u0000\u0000\u0000\u485D\u0000"+
-        "\u0000\u5266\u0000\u345E\u5261\u5262\u5264\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5265\u0000"+
-        "\u355B\u3F61\u0000\u4A2D\u5263\u525F\u3863\u0000"+
-        "\u5260\u0000\u4F24\u0000\u0000\u0000\u4A72\u0000"+
-        "\u4468\u3862\u3970\u0000\u0000\u0000\u5268\u0000"+
-        "\u0000\u465D\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u526C"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3C7E\u0000\u3C76\u0000\u0000\u0000\u0000\u0000"+
-        "\u526F\u526D\u0000\u4C23\u0000\u526A\u5273\u526E"+
-        "\u0000\u0000\u0000\u5271\u3846\u4C3F\u0000\u0000"+
-        "\u5272\u0000\u0000\u0000\u5274\u0000\u5276\u0000"+
-        "\u0000\u0000\u0000\u3A70\u4F42\u0000\u526B\u5269"+
-        "\u5275\u0000\u5270\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u5278\u0000\u5323\u527A\u0000\u0000"+
-        "\u527E\u0000\u0000\u5321\u527B\u0000\u0000\u533E"+
-        "\u0000\u0000\u3A69\u3331\u0000\u0000\u0000\u0000"+
-        "\u5279\u0000\u0000\u0000\u5325\u3076\u5324\u0000"+
-        "\u3025\u494A\u5322\u0000\u527C\u0000\u0000\u5277"+
-        "\u527D\u3A48\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5326\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3077\u532F\u0000\u0000\u5327\u5328\u0000"+
-        "\u3E25\u4B69\u0000\u0000\u0000\u532D\u532C\u0000"+
-        "\u0000\u0000\u452F\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u532E\u0000\u0000\u532B\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3134\u0000\u3A36\u3F30"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5329"+
-        "\u4562\u0000\u0000\u0000\u532A\u0000\u3022\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5334\u4D23"+
-        "\u0000\u3E27\u0000\u533A\u0000\u0000\u0000\u0000"+
-        "\u5339\u5330\u0000\u0000\u0000\u0000\u4243\u0000"+
-        "\u5331\u0000\u0000\u0000\u426F\u5336\u3E26\u0000"+
-        "\u0000\u0000\u0000\u0000\u5333\u0000\u0000\u4C64"+
-        "\u0000\u0000\u0000\u373C\u0000\u0000\u5337\u5338"+
-        "\u0000\u0000\u0000\u0000\u5335\u533B\u0000\u0000"+
-        "\u0000\u0000\u0000\u5332\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5341\u5346\u0000\u5342\u0000"+
-        "\u533D\u0000\u0000\u5347\u4131\u0000\u0000\u5349"+
-        "\u0000\u3922\u533F\u437D\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5343\u533C\u342D\u0000\u346E\u3365\u5344\u5340"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3776"+
-        "\u534A\u5348\u4153\u354A\u362C\u0000\u5345\u0000"+
-        "\u3674\u0000\u0000\u0000\u0000\u0000\u3144\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u534E\u534C\u0000\u5427"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5351\u0000\u0000\u0000"+
-        "\u0000\u0000\u534B\u0000\u534F\u0000\u0000\u534D"+
-        "\u0000\u0000\u0000\u3B4C\u5350\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5353"+
-        "\u0000\u5358\u0000\u0000\u0000\u5356\u5355\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4332\u0000"+
-        "\u0000\u3245\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5352\u0000\u5354\u3E28"+
-        "\u3133\u0000\u0000\u5357\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u325E\u0000\u0000\u0000\u0000\u0000\u5362"+
-        "\u0000\u3E7C\u535E\u0000\u535C\u0000\u535D\u0000"+
-        "\u535F\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u313D\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u4139\u0000\u5359\u0000"+
-        "\u535A\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u337A\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5361\u0000\u0000\u0000"+
-        "\u346F\u0000\u5364\u5360\u5363\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u4A2E\u0000\u0000\u0000"+
-        "\u4655\u0000\u4838\u0000\u0000\u0000\u0000\u0000"+
-        "\u5366\u0000\u0000\u0000\u0000\u0000\u5365\u3345"+
-        "\u0000\u0000\u5367\u0000\u0000\u0000\u0000\u536A"+
-        "\u0000\u0000\u0000\u0000\u5369\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5368\u0000\u4739\u0000\u0000\u536B\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u536C\u0000"+
-        "\u0000\u0000\u0000\u0000\u536E\u0000\u536D\u0000"+
-        "\u0000\u0000\u0000\u0000\u5370\u0000\u0000\u0000"+
-        "\u5373\u5371\u536F\u5372\u0000\u0000\u0000\u0000"+
-        "\u5374\u0000\u0000\u0000\u0000\u0000\u5375\u0000"+
-        "\u0000\u5376\u0000\u5377\u0000\u0000\u0000\u5378"+
-        "\u5145\u0000\u3C7C\u3B4D\u0000\u0000\u3273\u0000"+
-        "\u3078\u0000\u0000\u4344\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5379\u0000"+
-        "\u3A24\u0000\u304F\u3F5E\u0000\u0000\u0000\u0000"+
-        "\u0000\u537A\u3847\u0000\u0000\u3971\u0000\u537C"+
-        "\u537B\u0000\u0000\u4A60\u537D\u0000\u0000\u0000"+
-        "\u5421\u537E\u0000\u5422\u0000\u5423\u0000\u3777"+
-        "\u0000\u0000\u3160\u5424\u0000\u0000\u5426\u0000"+
-        "\u5425\u0000\u0000\u0000\u5428\u0000\u0000\u455A"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5429\u3035"+
-        "\u3A5F\u0000\u0000\u0000\u0000\u373D\u0000\u0000"+
-        "\u434F\u0000\u0000\u0000\u0000\u0000\u0000\u542A"+
-        "\u542B\u0000\u0000\u542D\u0000\u0000\u0000\u0000"+
-        "\u542E\u0000\u3A64\u0000\u0000\u0000\u0000\u3651"+
-        "\u0000\u0000\u4B37\u0000\u0000\u0000\u542C\u542F"+
-        "\u3A41\u3923\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5433\u0000\u0000\u3A25\u0000\u4333\u0000"+
-        "\u0000\u5430\u445A\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5434"+
-        "\u0000\u0000\u3F62\u0000\u0000\u0000\u0000\u0000"+
-        "\u5432\u5435\u0000\u373F\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5436\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5437\u0000\u3924\u3340\u5439\u0000\u0000\u0000"+
-        "\u0000\u0000\u543A\u0000\u0000\u0000\u0000\u0000"+
-        "\u543B\u0000\u0000\u5438\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5431\u0000\u0000\u543C\u0000\u0000\u543D\u0000"+
-        "\u0000\u0000\u0000\u4B64\u0000\u0000\u3E6B\u0000"+
-        "\u0000\u0000\u543F\u5440\u543E\u0000\u5442\u0000"+
-        "\u0000\u0000\u0000\u0000\u4738\u0000\u0000\u3068"+
-        "\u4956\u0000\u0000\u5443\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3E7D\u0000\u0000\u3C39"+
-        "\u0000\u475D\u3470\u0000\u3A6B\u0000\u0000\u0000"+
-        "\u4B59\u0000\u4632\u0000\u0000\u3778\u424F\u0000"+
-        "\u0000\u0000\u5441\u5444\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4244\u0000\u0000"+
-        "\u0000\u5445\u0000\u0000\u0000\u5446\u0000\u0000"+
-        "\u0000\u5448\u0000\u0000\u4469\u0000\u0000\u0000"+
-        "\u0000\u0000\u342E\u0000\u0000\u0000\u0000\u7421"+
-        "\u3161\u4A73\u0000\u0000\u3E6C\u4548\u0000\u0000"+
-        "\u0000\u0000\u3A66\u0000\u0000\u544E\u0000\u0000"+
-        "\u4A3D\u4E5D\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3274\u544A\u0000\u0000\u0000\u0000"+
-        "\u0000\u413A\u544D\u0000\u4563\u0000\u0000\u4549"+
-        "\u4564\u4839\u444D\u0000\u0000\u0000\u3A49\u0000"+
-        "\u0000\u0000\u5449\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3176\u0000\u4536\u0000\u0000\u0000\u0000"+
-        "\u544B\u0000\u5447\u0000\u0000\u3F50\u0000\u0000"+
-        "\u0000\u544F\u0000\u0000\u0000\u0000\u3D4E\u0000"+
-        "\u0000\u0000\u0000\u362D\u0000\u5450\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4A68\u0000\u0000\u0000\u417D"+
-        "\u0000\u0000\u0000\u0000\u4446\u0000\u0000\u5452"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4B4F\u0000\u0000\u5453\u0000\u0000\u5458\u0000"+
-        "\u0000\u0000\u0000\u4A2F\u0000\u0000\u0000\u0000"+
-        "\u5457\u5451\u5454\u5456\u0000\u0000\u3A26\u0000"+
-        "\u0000\u4A49\u0000\u0000\u0000\u5459\u0000\u4345"+
-        "\u0000\u0000\u3275\u0000\u3E6D\u0000\u0000\u0000"+
-        "\u0000\u545B\u0000\u545A\u0000\u3968\u0000\u545C"+
-        "\u545E\u545D\u0000\u0000\u5460\u0000\u5455\u5462"+
-        "\u0000\u0000\u0000\u0000\u5461\u545F\u0000\u0000"+
-        "\u0000\u0000\u0000\u3B4E\u3F51\u0000\u4154\u5463"+
-        "\u403C\u306D\u4764\u0000\u0000\u0000\u0000\u445B"+
-        "\u0000\u5465\u5464\u5466\u5467\u5468\u0000\u0000"+
-        "\u0000\u0000\u5469\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4A51\u546A\u0000\u0000\u0000\u0000\u3246"+
-        "\u546B\u0000\u0000\u0000\u0000\u4D3C\u3330\u0000"+
-        "\u5249\u3D48\u423F\u546C\u4C6B\u0000\u0000\u0000"+
-        "\u0000\u0000\u4C34\u0000\u0000\u546E\u0000\u4267"+
-        "\u0000\u4537\u4240\u4957\u546F\u5470\u317B\u0000"+
-        "\u0000\u3C3A\u5471\u0000\u0000\u0000\u0000\u3050"+
-        "\u5472\u0000\u0000\u0000\u0000\u0000\u5473\u0000"+
-        "\u0000\u0000\u0000\u0000\u3162\u0000\u0000\u3471"+
-        "\u4660\u4A74\u0000\u0000\u0000\u0000\u5477\u4155"+
-        "\u5476\u3740\u0000\u0000\u4B5B\u5475\u0000\u4565"+
-        "\u5479\u0000\u5478\u0000\u0000\u0000\u0000\u0000"+
-        "\u547B\u0000\u547A\u0000\u0000\u317C\u0000\u547C"+
-        "\u3E29\u547E\u4325\u0000\u547D\u0000\u4A33\u0000"+
-        "\u0000\u0000\u0000\u3D77\u455B\u0000\u0000\u0000"+
-        "\u5521\u0000\u0000\u0000\u0000\u3925\u0000\u0000"+
-        "\u0000\u5522\u4721\u485E\u4C51\u0000\u0000\u0000"+
-        "\u0000\u0000\u4725\u0000\u0000\u552B\u0000\u0000"+
-        "\u0000\u0000\u0000\u3538\u0000\u0000\u4D45\u0000"+
-        "\u0000\u4C2F\u0000\u562C\u0000\u5523\u0000\u0000"+
-        "\u0000\u0000\u0000\u5526\u0000\u4245\u0000\u0000"+
-        "\u4B38\u0000\u0000\u0000\u454A\u0000\u0000\u0000"+
-        "\u0000\u0000\u5527\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4B65\u0000\u3A4A\u0000\u0000\u3E2A\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5528\u0000"+
-        "\u0000\u3B50\u0000\u3B4F\u0000\u0000\u0000\u0000"+
-        "\u3039\u3848\u0000\u402B\u3051\u0000\u0000\u0000"+
-        "\u0000\u552C\u552D\u0000\u552A\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3138\u342F\u0000"+
-        "\u5529\u0000\u4C45\u4931\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3028\u0000"+
-        "\u0000\u0000\u0000\u3079\u0000\u0000\u0000\u3B51"+
-        "\u0000\u3052\u0000\u3023\u0000\u0000\u0000\u0000"+
-        "\u0000\u5532\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5530\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4C3C\u0000\u5533\u0000\u5531\u0000\u0000\u552F"+
-        "\u3F31\u0000\u0000\u0000\u0000\u552E\u0000\u0000"+
-        "\u0000\u4A5A\u0000\u0000\u0000\u0000\u0000\u3864"+
-        "\u0000\u0000\u0000\u0000\u0000\u5537\u5538\u0000"+
-        "\u0000\u0000\u0000\u0000\u3E2B\u0000\u0000\u0000"+
-        "\u5534\u4F2C\u0000\u0000\u0000\u0000\u474C\u0000"+
-        "\u0000\u5536\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3A27\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u5539\u0000\u0000\u0000\u4958\u0000"+
-        "\u0000\u0000\u553A\u0000\u5535\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4C3B"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u475E\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u553B\u4932\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u553C\u5540\u553D\u0000"+
-        "\u0000\u3247\u553F\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3C3B\u0000\u553E\u3779\u0000\u0000\u0000"+
-        "\u554C\u0000\u0000\u0000\u0000\u0000\u5545\u5542"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4364\u0000\u5541\u0000\u0000\u5543\u0000"+
-        "\u0000\u5544\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u5546\u5547\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3472\u0000\u5549\u5548\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u554A\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3E6E\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u554D\u0000\u445C\u0000\u0000\u0000"+
-        "\u3145\u0000\u554B\u0000\u0000\u0000\u554E\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u554F\u0000"+
-        "\u5552\u0000\u0000\u5550\u0000\u5551\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3B52\u5553\u0000\u0000\u3926\u5554\u0000\u3B7A"+
-        "\u4238\u0000\u5555\u5556\u3B5A\u3927\u0000\u4C52"+
-        "\u0000\u0000\u0000\u3528\u3849\u5557\u3358\u0000"+
-        "\u0000\u5558\u0000\u4239\u0000\u0000\u0000\u0000"+
-        "\u5559\u5623\u0000\u555A\u0000\u555B\u0000\u0000"+
-        "\u555C\u0000\u555E\u0000\u0000\u0000\u0000\u0000"+
-        "\u555F\u0000\u0000\u5560\u0000\u4270\u0000\u3127"+
-        "\u3C69\u3042\u0000\u4157\u3430\u3C35\u0000\u3928"+
-        "\u0000\u0000\u0000\u0000\u0000\u4566\u0000\u3D21"+
-        "\u3431\u4368\u446A\u3038\u3539\u4A75\u0000\u3C42"+
-        "\u0000\u0000\u3552\u406B\u3C3C\u4D28\u5561\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u355C\u0000"+
-        "\u3A4B\u0000\u0000\u3332\u3163\u3E2C\u3248\u0000"+
-        "\u5562\u4D46\u0000\u0000\u0000\u0000\u0000\u3D49"+
-        "\u0000\u0000\u3C64\u5563\u3473\u4652\u4C29\u5564"+
-        "\u0000\u5565\u0000\u0000\u4959\u0000\u0000\u0000"+
-        "\u5567\u0000\u3428\u3677\u5566\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3432\u0000\u3F32\u556B\u3B21"+
-        "\u0000\u3249\u556A\u0000\u5568\u556C\u5569\u472B"+
-        "\u5C4D\u3F33\u0000\u556D\u0000\u0000\u4E40\u0000"+
-        "\u556E\u0000\u0000\u5570\u0000\u437E\u556F\u0000"+
-        "\u4023\u0000\u3B7B\u0000\u0000\u0000\u4250\u3C77"+
-        "\u0000\u4975\u406C\u0000\u3C4D\u5571\u3E2D\u5572"+
-        "\u5573\u3053\u423A\u3F52\u0000\u5574\u4633\u3E2E"+
-        "\u0000\u3E2F\u0000\u5575\u0000\u0000\u406D\u0000"+
-        "\u0000\u0000\u3E30\u0000\u0000\u0000\u0000\u0000"+
-        "\u5576\u0000\u5577\u0000\u4C60\u0000\u0000\u0000"+
-        "\u5578\u0000\u0000\u0000\u0000\u3646\u0000\u0000"+
-        "\u0000\u3D22\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5579\u557A\u3C5C\u3F2C\u4674\u3F54\u4878\u4722"+
-        "\u3649\u557B\u0000\u0000\u0000\u356F\u557C\u0000"+
-        "\u367E\u0000\u464F\u3230\u0000\u3B53\u557D\u5622"+
-        "\u5621\u367D\u0000\u557E\u0000\u4538\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4230\u0000"+
-        "\u454B\u3C48\u0000\u0000\u4158\u4D7A\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5624\u0000\u5625\u4656"+
-        "\u0000\u3B33\u0000\u0000\u0000\u0000\u5627\u0000"+
-        "\u0000\u5628\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5629\u0000\u0000\u0000"+
-        "\u3474\u562A\u0000\u0000\u562B\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u322C\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u413B\u3464\u0000\u562D\u4C28\u0000\u0000\u0000"+
-        "\u0000\u4252\u0000\u3359\u0000\u0000\u562F\u5631"+
-        "\u345F\u0000\u0000\u562E\u5630\u0000\u5633\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5632\u0000\u5634"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5635\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u463D\u362E\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3265\u5636\u563B\u0000\u0000\u5639\u0000\u4A77"+
-        "\u4A76\u0000\u0000\u0000\u0000\u0000\u4567\u0000"+
-        "\u0000\u0000\u5638\u3D54\u0000\u5637\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3F72"+
-        "\u0000\u0000\u0000\u563C\u0000\u0000\u3A6A\u0000"+
-        "\u0000\u5642\u0000\u0000\u5643\u563D\u3333\u563E"+
-        "\u5647\u5646\u5645\u5641\u0000\u0000\u0000\u5640"+
-        "\u0000\u0000\u5644\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4A78\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u564B\u5648\u0000\u564A\u0000"+
-        "\u4D72\u0000\u5649\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u563F\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3F73\u0000\u0000\u564C\u0000\u0000\u3A37"+
-        "\u0000\u0000\u0000\u564D\u0000\u0000\u564E\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u5651\u0000\u5650\u0000\u0000\u564F"+
-        "\u0000\u0000\u0000\u4568\u563A\u0000\u0000\u0000"+
-        "\u5657\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5653\u0000\u0000"+
-        "\u0000\u0000\u5652\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5654\u0000\u5655\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5658"+
-        "\u0000\u0000\u4E66\u0000\u5659\u5656\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u565A\u0000\u0000\u3460\u565B\u0000\u0000"+
-        "\u0000\u0000\u565D\u565C\u0000\u0000\u565E\u0000"+
-        "\u0000\u0000\u0000\u565F\u0000\u406E\u3D23\u0000"+
-        "\u0000\u3D64\u0000\u4163\u0000\u3929\u3A38\u392A"+
-        "\u3570\u0000\u0000\u5660\u0000\u0000\u3A39\u0000"+
-        "\u0000\u384A\u5661\u4C26\u4743\u5662\u0000\u392B"+
-        "\u0000\u0000\u0000\u342C\u0000\u4327\u3652\u0000"+
-        "\u0000\u0000\u3B54\u495B\u0000\u0000\u4841\u0000"+
-        "\u0000\u0000\u0000\u5663\u3475\u0000\u0000\u0000"+
-        "\u0000\u5666\u0000\u0000\u0000\u0000\u4421\u0000"+
-        "\u0000\u5665\u5664\u5667\u0000\u446B\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3F63\u0000\u0000"+
-        "\u0000\u0000\u0000\u3B55\u0000\u404A\u0000\u4253"+
-        "\u3522\u0000\u0000\u4422\u0000\u0000\u5668\u5669"+
-        "\u3E6F\u0000\u0000\u0000\u0000\u4B39\u0000\u0000"+
-        "\u566C\u0000\u0000\u566B\u566A\u497D\u0000\u5673"+
-        "\u0000\u0000\u0000\u0000\u4B5A\u0000\u566D\u0000"+
-        "\u0000\u0000\u0000\u0000\u566F\u4B6B\u0000\u566E"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5670"+
-        "\u0000\u4828\u5671\u4A3E\u5672\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3433\u4A3F\u472F\u5674\u5675\u0000"+
-        "\u392C\u3434\u5676\u3838\u4D44\u4D29\u3476\u5678"+
-        "\u0000\u4423\u0000\u392D\u3E31\u0000\u0000\u485F"+
-        "\u0000\u0000\u3E32\u0000\u0000\u0000\u0000\u3D78"+
-        "\u0000\u0000\u0000\u0000\u0000\u446C\u4A79\u4539"+
-        "\u0000\u0000\u392E\u0000\u495C\u0000\u0000\u0000"+
-        "\u5679\u0000\u0000\u0000\u0000\u0000\u4559\u3A42"+
-        "\u0000\u0000\u0000\u384B\u0000\u446D\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3043\u3D6E\u392F"+
-        "\u4D47\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u567A\u567B\u4751\u0000\u0000\u0000\u0000"+
-        "\u567C\u4E77\u4F2D\u0000\u0000\u0000\u0000\u567E"+
-        "\u567D\u0000\u0000\u3347\u0000\u0000\u5721\u0000"+
-        "\u0000\u0000\u5724\u5725\u0000\u5723\u0000\u4940"+
-        "\u3E33\u5727\u5726\u5722\u0000\u0000\u0000\u0000"+
-        "\u5728\u5729\u0000\u0000\u572A\u0000\u0000\u0000"+
-        "\u572D\u572B\u0000\u572C\u572E\u0000\u3164\u446E"+
-        "\u572F\u0000\u377A\u3276\u4736\u0000\u5730\u467B"+
-        "\u0000\u4A5B\u0000\u5731\u4F2E\u0000\u0000\u0000"+
-        "\u0000\u5732\u4A40\u5735\u5021\u5031\u0000\u3C30"+
-        "\u4675\u5736\u0000\u355D\u4424\u307A\u5737\u4A26"+
-        "\u3930\u0000\u0000\u4350\u0000\u0000\u0000\u446F"+
-        "\u0000\u0000\u0000\u0000\u0000\u4C6F\u3839\u384C"+
-        "\u0000\u5738\u0000\u0000\u0000\u5739\u0000\u573F"+
-        "\u0000\u3C65\u0000\u0000\u0000\u4425\u0000\u362F"+
-        "\u573A\u0000\u0000\u0000\u492B\u0000\u4346\u0000"+
-        "\u0000\u573B\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u573C\u0000\u3630\u0000\u573D\u0000\u573E\u0000"+
-        "\u0000\u5740\u0000\u4576\u0000\u0000\u5741\u5742"+
-        "\u0000\u5743\u0000\u0000\u5734\u5733\u0000\u0000"+
-        "\u0000\u5744\u3741\u0000\u0000\u0000\u4927\u0000"+
-        "\u0000\u3A4C\u4937\u4426\u494B\u5745\u0000\u0000"+
-        "\u3E34\u3146\u0000\u5746\u0000\u0000\u0000\u5747"+
-        "\u0000\u4C72\u0000\u0000\u4860\u0000\u0000\u574A"+
-        "\u317D\u402C\u5749\u5748\u3742\u4254\u0000\u574E"+
-        "\u574C\u0000\u574B\u4E27\u3865\u0000\u0000\u0000"+
-        "\u3D79\u574D\u454C\u3D3E\u0000\u0000\u0000\u4640"+
-        "\u5751\u5750\u0000\u0000\u0000\u0000\u574F\u0000"+
-        "\u5752\u3866\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5753\u497C\u3D5B\u0000\u0000\u5754\u4879\u0000"+
-        "\u0000\u0000\u0000\u4641\u4427\u0000\u0000\u0000"+
-        "\u0000\u4530\u0000\u0000\u5755\u352B\u0000\u0000"+
-        "\u0000\u0000\u0000\u3F34\u0000\u492C\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3477\u4726\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5756\u3B56"+
-        "\u4B3A\u4B3B\u0000\u0000\u317E\u575B\u0000\u0000"+
-        "\u4369\u0000\u0000\u0000\u5758\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3277\u0000\u0000\u0000\u0000"+
-        "\u582D\u575A\u0000\u0000\u0000\u4730\u0000\u0000"+
-        "\u5759\u0000\u0000\u5757\u0000\u397A\u0000\u575D";
-
-    private final static String innerIndex2=
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5763\u5769"+
-        "\u5761\u0000\u455C\u0000\u0000\u5766\u495D\u0000"+
-        "\u0000\u5760\u0000\u5765\u4E67\u3B57\u0000\u0000"+
-        "\u4255\u575E\u0000\u0000\u0000\u355E\u5768\u402D"+
-        "\u3165\u5762\u3278\u5767\u0000\u0000\u0000\u3631"+
-        "\u0000\u5764\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u576A\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u576C\u5776\u5774\u0000\u0000\u5771\u0000"+
-        "\u0000\u0000\u5770\u4E78\u0000\u5772\u0000\u0000"+
-        "\u3632\u0000\u3931\u0000\u0000\u3D7A\u0000\u0000"+
-        "\u0000\u5779\u576B\u0000\u0000\u0000\u0000\u576F"+
-        "\u575F\u0000\u327A\u5773\u5775\u4351\u0000\u0000"+
-        "\u3A28\u3238\u576D\u5778\u5777\u3633\u0000\u4229"+
-        "\u3366\u0000\u0000\u0000\u0000\u3743\u0000\u576E"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u577A\u0000\u577D\u5821\u0000\u0000\u0000"+
-        "\u0000\u3C3D\u0000\u5827\u4470\u577B\u0000\u0000"+
-        "\u0000\u0000\u5825\u0000\u3279\u0000\u5823\u5824"+
-        "\u0000\u0000\u577E\u5822\u0000\u0000\u0000\u3867"+
-        "\u4D2A\u0000\u0000\u3435\u0000\u0000\u3159\u5826"+
-        "\u0000\u473A\u302D\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4861\u575C\u582C\u5830\u4C65\u0000"+
-        "\u5829\u0000\u0000\u0000\u4569\u582E\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3E70\u582F\u4657"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4F47\u0000\u582B\u0000\u0000\u0000\u0000"+
-        "\u5831\u0000\u397B\u0000\u404B\u0000\u0000\u3054"+
-        "\u582A\u5828\u0000\u415A\u0000\u0000\u0000\u577C"+
-        "\u3B34\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4246\u583D\u0000\u415B\u5838\u0000\u5835\u5836"+
-        "\u0000\u3C66\u5839\u583C\u0000\u0000\u0000\u0000"+
-        "\u5837\u3D25\u0000\u583A\u0000\u0000\u5834\u0000"+
-        "\u4C7C\u4C7B\u0000\u0000\u0000\u583E\u583F\u3055"+
-        "\u0000\u0000\u0000\u0000\u0000\u5833\u0000\u0000"+
-        "\u0000\u0000\u3672\u3026\u0000\u0000\u0000\u3436"+
-        "\u0000\u583B\u0000\u0000\u0000\u0000\u0000\u5843"+
-        "\u5842\u0000\u0000\u0000\u5847\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5848\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5846\u5849\u5841\u5845"+
-        "\u0000\u0000\u584A\u0000\u584B\u0000\u0000\u5840"+
-        "\u3B7C\u0000\u5844\u4256\u3932\u5832\u3F35\u0000"+
-        "\u0000\u0000\u0000\u5858\u0000\u4A69\u0000\u0000"+
-        "\u584E\u584F\u5850\u0000\u0000\u5857\u0000\u5856"+
-        "\u0000\u0000\u4B7D\u3437\u0000\u5854\u0000\u3745"+
-        "\u3334\u0000\u0000\u5851\u0000\u0000\u4E38\u5853"+
-        "\u3056\u5855\u0000\u584C\u5852\u5859\u3744\u584D"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4D5D\u0000"+
-        "\u0000\u0000\u4D2B\u0000\u0000\u0000\u0000\u585C"+
-        "\u0000\u0000\u5860\u0000\u0000\u0000\u417E\u0000"+
-        "\u4E79\u5861\u0000\u0000\u585E\u0000\u585B\u0000"+
-        "\u0000\u585A\u585F\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u4A30\u0000\u0000\u4634"+
-        "\u0000\u3746\u0000\u5862\u585D\u0000\u5863\u0000"+
-        "\u0000\u0000\u377B\u0000\u0000\u0000\u3231\u0000"+
-        "\u0000\u0000\u586B\u0000\u0000\u0000\u3438\u0000"+
-        "\u0000\u0000\u0000\u5869\u0000\u0000\u586A\u3A29"+
-        "\u5868\u5866\u5865\u586C\u5864\u586E\u0000\u0000"+
-        "\u327B\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5870\u0000\u0000\u586F\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4428\u0000\u5873\u0000\u5871\u5867"+
-        "\u377C\u0000\u5872\u0000\u5876\u5875\u5877\u5874"+
-        "\u5878\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5879\u587A\u4A6A\u0000\u587C\u587B\u3D3F\u0000"+
-        "\u402E\u3266\u327C\u0000\u587D\u0000\u303F\u0000"+
-        "\u0000\u0000\u404C\u587E\u0000\u6C43\u5921\u3761"+
-        "\u0000\u5922\u0000\u0000\u0000\u0000\u406F\u0000"+
-        "\u0000\u0000\u5923\u0000\u0000\u0000\u5924\u353A"+
-        "\u5925\u0000\u5926\u5927\u4257\u0000\u0000\u0000"+
-        "\u384D\u0000\u0000\u4C61\u0000\u0000\u0000\u4B3C"+
-        "\u3D6A\u5928\u0000\u0000\u0000\u0000\u0000\u4070"+
-        "\u6E3D\u4862\u0000\u3C6A\u0000\u3A4D\u5929\u0000"+
-        "\u0000\u0000\u0000\u4247\u0000\u4A27\u0000\u0000"+
-        "\u4271\u0000\u0000\u592C\u0000\u0000\u592A\u0000"+
-        "\u592D\u0000\u0000\u592B\u0000\u0000\u0000\u0000"+
-        "\u592E\u0000\u0000\u0000\u0000\u0000\u4A31\u0000"+
-        "\u0000\u3037\u0000\u0000\u0000\u0000\u495E\u0000"+
-        "\u0000\u4863\u0000\u0000\u592F\u0000\u5932\u3E35"+
-        "\u353B\u0000\u5930\u5937\u3E36\u0000\u0000\u0000"+
-        "\u0000\u5931\u4744\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4D5E\u5933\u5934\u5938\u456A\u5935\u3933"+
-        "\u405E\u0000\u0000\u5946\u4834\u0000\u4272\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4864\u5A2D\u0000\u0000\u0000"+
-        "\u0000\u4A7A\u0000\u0000\u0000\u4471\u0000\u0000"+
-        "\u0000\u4B75\u0000\u593B\u3221\u436A\u0000\u0000"+
-        "\u0000\u0000\u5944\u0000\u0000\u4334\u593E\u5945"+
-        "\u5940\u5947\u5943\u0000\u5942\u476F\u0000\u593C"+
-        "\u327D\u593A\u3571\u4273\u5936\u0000\u0000\u5939"+
-        "\u3934\u405B\u0000\u3E37\u5941\u4752\u0000\u0000"+
-        "\u3572\u3348\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3367\u3F21\u5949\u594E"+
-        "\u0000\u594A\u0000\u377D\u0000\u594F\u3B22\u3969"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3D26\u593D"+
-        "\u0000\u3B7D\u594C\u0000\u0000\u0000\u0000\u3B58"+
-        "\u594D\u3044\u0000\u0000\u5948\u0000\u0000\u0000"+
-        "\u0000\u4429\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3573\u0000\u0000\u0000\u0000\u0000\u3634"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u594B"+
-        "\u3027\u0000\u0000\u3A43\u0000\u0000\u0000\u3F36"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4472\u0000\u0000\u4854\u5951\u415E"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u422A\u0000\u0000\u3B2B\u5952\u0000\u5954"+
-        "\u5950\u0000\u0000\u0000\u0000\u4A61\u0000\u443D"+
-        "\u0000\u0000\u0000\u0000\u415C\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4A7B"+
-        "\u3C4E\u5960\u0000\u595F\u0000\u0000\u3F78\u0000"+
-        "\u0000\u0000\u377E\u0000\u0000\u0000\u5959\u3E39"+
-        "\u0000\u0000\u4668\u4731\u0000\u0000\u0000\u0000"+
-        "\u5957\u0000\u0000\u415D\u0000\u0000\u0000\u0000"+
-        "\u3C78\u595C\u0000\u0000\u3E38\u0000\u5956\u595B"+
-        "\u0000\u0000\u4753\u0000\u0000\u0000\u5955\u0000"+
-        "\u3721\u0000\u0000\u335D\u0000\u0000\u0000\u595D"+
-        "\u4E2B\u3A4E\u4335\u595A\u0000\u405C\u0000\u3935"+
-        "\u3F64\u3166\u413C\u5958\u3545\u0000\u0000\u0000"+
-        "\u0000\u0000\u3747\u0000\u444F\u595E\u0000\u0000"+
-        "\u0000\u0000\u0000\u415F\u0000\u0000\u5961\u0000"+
-        "\u5963\u0000\u0000\u4237\u5969\u0000\u5964\u0000"+
-        "\u0000\u5966\u0000\u0000\u0000\u0000\u0000\u4941"+
-        "\u4473\u0000\u5967\u0000\u0000\u0000\u4D2C\u0000"+
-        "\u0000\u0000\u4D48\u3439\u0000\u0000\u0000\u0000"+
-        "\u0000\u302E\u0000\u5965\u0000\u0000\u0000\u0000"+
-        "\u0000\u5962\u0000\u0000\u0000\u0000\u3478\u0000"+
-        "\u0000\u0000\u0000\u0000\u3167\u0000\u5968\u0000"+
-        "\u0000\u0000\u4D49\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u596C\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u423B\u0000\u5973"+
-        "\u0000\u0000\u0000\u596D\u0000\u0000\u596A\u5971"+
-        "\u0000\u0000\u0000\u0000\u5953\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u596E\u0000"+
-        "\u5972\u0000\u0000\u0000\u4842\u456B\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u596B\u0000\u596F\u0000"+
-        "\u0000\u0000\u3748\u0000\u0000\u0000\u3A71\u0000"+
-        "\u0000\u0000\u405D\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5977\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4526\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5974"+
-        "\u0000\u4B60\u0000\u0000\u0000\u0000\u0000\u5975"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5976\u0000"+
-        "\u4C4E\u0000\u4022\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3762\u0000\u0000\u0000\u0000"+
-        "\u597D\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3B35\u597A\u0000\u5979\u0000\u0000"+
-        "\u0000\u0000\u4732\u0000\u0000\u0000\u4635\u0000"+
-        "\u0000\u0000\u0000\u0000\u4531\u597B\u0000\u0000"+
-        "\u0000\u597C\u0000\u496F\u0000\u4745\u3B23\u0000"+
-        "\u4071\u0000\u4B50\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3349\u0000\u5A25\u597E\u0000\u0000\u0000"+
-        "\u0000\u4D4A\u5A27\u0000\u0000\u5A23\u0000\u5A24"+
-        "\u0000\u0000\u0000\u0000\u0000\u4160\u0000\u0000"+
-        "\u0000\u0000\u5A22\u0000\u593F\u0000\u0000\u0000"+
-        "\u5A26\u0000\u5A21\u0000\u0000\u0000\u0000\u0000"+
-        "\u5A2B\u5A2C\u4527\u5A2E\u0000\u0000\u3B24\u5A29"+
-        "\u0000\u0000\u0000\u0000\u353C\u0000\u0000\u5A2F"+
-        "\u0000\u5A28\u5A33\u0000\u5A32\u0000\u5A31\u0000"+
-        "\u0000\u0000\u5A34\u0000\u0000\u5A36\u3E71\u0000"+
-        "\u5A35\u0000\u0000\u0000\u0000\u5A39\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5A37\u0000\u0000\u0000\u5A38\u5970\u0000\u0000"+
-        "\u0000\u0000\u0000\u5A3B\u5A3A\u0000\u0000\u0000"+
-        "\u0000\u0000\u5978\u5A3C\u5A30\u0000\u0000\u3B59"+
-        "\u0000\u0000\u0000\u0000\u5A3D\u5A3E\u5A40\u5A3F"+
-        "\u5A41\u327E\u0000\u3936\u0000\u0000\u4A7C\u402F"+
-        "\u0000\u0000\u0000\u0000\u0000\u384E\u0000\u0000"+
-        "\u5A43\u0000\u0000\u0000\u0000\u5A46\u0000\u4952"+
-        "\u0000\u355F\u0000\u0000\u0000\u5A45\u5A44\u4754"+
-        "\u5A47\u3635\u0000\u0000\u0000\u5A49\u5A48\u0000"+
-        "\u0000\u0000\u343A\u3B36\u0000\u0000\u4658\u0000"+
-        "\u0000\u0000\u0000\u0000\u3749\u0000\u0000\u0000"+
-        "\u3F74\u0000\u5A4A\u0000\u4030\u4528\u0000\u495F"+
-        "\u5A4B\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u5A4C\u5A4D\u0000\u0000\u0000\u4A38"+
-        "\u555D\u4046\u0000\u0000\u494C\u0000\u3A58\u0000"+
-        "\u4865\u4843\u0000\u0000\u0000\u0000\u0000\u454D"+
-        "\u0000\u4E41\u0000\u5A4F\u3C50\u0000\u0000\u5A50"+
-        "\u0000\u3036\u0000\u0000\u3654\u404D\u0000\u4960"+
-        "\u0000\u0000\u0000\u5A51\u3B42\u4347\u0000\u3B5B"+
-        "\u3F37\u0000\u0000\u0000\u0000\u0000\u0000\u5A52"+
-        "\u0000\u4A7D\u0000\u0000\u3177\u3B5C\u0000\u0000"+
-        "\u0000\u5A55\u0000\u5A53\u5A56\u4E39\u5A54\u0000"+
-        "\u0000\u0000\u0000\u407B\u5A57\u0000\u0000\u4232"+
-        "\u0000\u0000\u5A58\u0000\u0000\u0000\u0000\u347A"+
-        "\u0000\u5A5A\u0000\u5A59\u0000\u0000\u0000\u0000"+
-        "\u5A5B\u5A5C\u347B\u0000\u0000\u467C\u4336\u356C"+
-        "\u3B5D\u4161\u0000\u0000\u3D5C\u3030\u0000\u0000"+
-        "\u0000\u5A5D\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3222\u5A61\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3937\u5A60\u0000\u0000\u3A2B\u3E3A"+
-        "\u0000\u0000\u5A5F\u0000\u3E3B\u0000\u4C40\u3A2A"+
-        "\u0000\u0000\u0000\u3057\u404E\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5A66\u0000\u0000\u4031"+
-        "\u3147\u0000\u0000\u0000\u0000\u3D55\u0000\u4B66"+
-        "\u3A72\u0000\u0000\u0000\u0000\u3E3C\u0000\u4027"+
-        "\u0000\u0000\u0000\u0000\u5A65\u5A63\u5A64\u0000"+
-        "\u0000\u0000\u0000\u0000\u436B\u0000\u0000\u5B26"+
-        "\u0000\u5A6A\u3B7E\u3938\u5A68\u0000\u0000\u0000"+
-        "\u0000\u5A69\u0000\u3F38\u0000\u0000\u0000\u5A67"+
-        "\u0000\u0000\u3B2F\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5A6C\u5A6B\u5A70"+
-        "\u0000\u0000\u5A71\u0000\u5A6D\u0000\u3322\u5A6E"+
-        "\u5A6F\u4855\u0000\u0000\u0000\u0000\u4961\u374A"+
-        "\u5A72\u0000\u0000\u0000\u4032\u0000\u3E3D\u0000"+
-        "\u0000\u0000\u4352\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3647\u0000\u5A73\u5A77\u0000\u0000\u324B"+
-        "\u5A74\u5A76\u0000\u0000\u0000\u0000\u5A75\u0000"+
-        "\u0000\u3D6B\u0000\u0000\u0000\u0000\u4348\u3045"+
-        "\u5A78\u0000\u0000\u0000\u0000\u5A79\u0000\u0000"+
-        "\u0000\u0000\u442A\u0000\u0000\u0000\u4E71\u0000"+
-        "\u0000\u0000\u0000\u3B43\u0000\u0000\u4A6B\u0000"+
-        "\u0000\u0000\u0000\u0000\u4B3D\u0000\u0000\u0000"+
-        "\u5B22\u5A7B\u0000\u0000\u5A7E\u0000\u5A7D\u0000"+
-        "\u0000\u5A7A\u0000\u0000\u5B21\u0000\u0000\u465E"+
-        "\u0000\u5A7C\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5B23\u0000"+
-        "\u0000\u3D6C\u5B24\u0000\u4D4B\u4778\u0000\u0000"+
-        "\u5B25\u0000\u0000\u0000\u0000\u0000\u5B27\u0000"+
-        "\u0000\u5B28\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5B29\u0000\u364A\u3148\u3939\u5B2A\u0000\u5B2B"+
-        "\u3D71\u4162\u0000\u0000\u5258\u413E\u413D\u4258"+
-        "\u3A47\u0000\u0000\u5072\u0000\u0000\u0000\u0000"+
-        "\u376E\u4D2D\u0000\u4A7E\u0000\u497E\u0000\u5B2C"+
-        "\u0000\u0000\u0000\u0000\u3A73\u443F\u5B2D\u4F2F"+
-        "\u0000\u0000\u0000\u4B3E\u0000\u442B\u5B2E\u347C"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5B2F\u5B30"+
-        "\u4C5A\u0000\u4C24\u4B76\u4B5C\u3B25\u5B32\u0000"+
-        "\u0000\u3C6B\u0000\u0000\u4B51\u0000\u5B34\u5B37"+
-        "\u5B36\u0000\u3479\u0000\u0000\u3560\u0000\u5B33"+
-        "\u0000\u5B35\u0000\u0000\u0000\u0000\u5B38\u0000"+
-        "\u0000\u3F79\u0000\u0000\u0000\u0000\u4D7B\u3049"+
-        "\u3A60\u423C\u0000\u3C5D\u0000\u0000\u3E73\u0000"+
-        "\u0000\u5B3B\u0000\u0000\u454E\u0000\u5B39\u422B"+
-        "\u5B3A\u3E72\u4C5D\u5B3C\u5B3D\u4D68\u0000\u0000"+
-        "\u0000\u0000\u5B42\u0000\u0000\u393A\u0000\u4755"+
-        "\u5B3F\u456C\u5A5E\u5A62\u0000\u354F\u0000\u4747"+
-        "\u0000\u0000\u0000\u0000\u5B41\u0000\u3E3E\u4844"+
-        "\u0000\u0000\u0000\u0000\u0000\u5B47\u0000\u487A"+
-        "\u0000\u5B3E\u0000\u5B44\u5B43\u0000\u0000\u0000"+
-        "\u404F\u0000\u0000\u0000\u0000\u4B6D\u0000\u4E53"+
-        "\u0000\u0000\u4B67\u0000\u324C\u3B5E\u0000\u0000"+
-        "\u4F48\u5B46\u3F75\u0000\u0000\u0000\u5B45\u0000"+
-        "\u0000\u5B40\u0000\u0000\u0000\u0000\u0000\u384F"+
-        "\u0000\u0000\u0000\u5B4C\u5B4A\u0000\u324D\u5B48"+
-        "\u5B4E\u5B54\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4248\u0000\u0000\u4A41\u0000\u5B56\u0000"+
-        "\u0000\u0000\u4922\u0000\u0000\u0000\u5B55\u4770"+
-        "\u4B3F\u343B\u0000\u4077\u3D40\u0000\u0000\u0000"+
-        "\u4453\u0000\u4D2E\u0000\u0000\u5B51\u5B50\u0000"+
-        "\u0000\u0000\u5B52\u0000\u5B4F\u0000\u0000\u5B57"+
-        "\u0000\u5B4D\u0000\u0000\u5B4B\u0000\u5B53\u5B49"+
-        "\u0000\u436C\u0000\u4C78\u3C46\u3A74\u0000\u0000"+
-        "\u0000\u0000\u0000\u3A3A\u0000\u0000\u4B6F\u3341"+
-        "\u0000\u0000\u444E\u464A\u3149\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4072\u0000\u0000\u4034\u372A"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5B59\u0000"+
-        "\u0000\u393B\u337C\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5B5B\u3374\u5B61\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u5B5E\u0000\u4073\u0000\u0000\u0000"+
-        "\u334B\u3A2C\u0000\u0000\u334A\u3A4F\u0000\u0000"+
-        "\u5B5C\u3765\u374B\u456D\u0000\u0000\u5B5A\u0000"+
-        "\u3046\u0000\u0000\u0000\u0000\u5B5D\u5B5F\u0000"+
-        "\u364D\u372C\u0000\u343C\u354B\u0000\u0000\u0000"+
-        "\u0000\u5B62\u0000\u0000\u3A79\u4B71\u0000\u3B37"+
-        "\u0000\u0000\u0000\u5B63\u0000\u0000\u0000\u4930"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5B6F\u0000\u3233\u5B64"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5B75\u5B65"+
-        "\u0000\u4E42\u0000\u5B6C\u0000\u475F\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5B74\u0000\u5B67"+
-        "\u0000\u0000\u0000\u3034\u5B69\u0000\u0000\u393C"+
-        "\u0000\u0000\u0000\u5B6B\u0000\u5B6A\u0000\u5B66"+
-        "\u5B71\u0000\u3E3F\u0000\u0000\u0000\u546D\u3868"+
-        "\u4D7C\u0000\u0000\u0000\u0000\u5B68\u0000\u4474"+
-        "\u3323\u3A2D\u0000\u5B60\u0000\u5B70\u3361\u0000"+
-        "\u0000\u5B6E\u5B72\u0000\u456E\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u347E\u0000\u5C32\u0000"+
-        "\u0000\u4C49\u5B77\u347D\u0000\u5B7E\u0000\u0000"+
-        "\u0000\u0000\u4B40\u0000\u5C21\u5C23\u0000\u5C27"+
-        "\u5B79\u0000\u432A\u0000\u0000\u0000\u0000\u456F"+
-        "\u5C2B\u5B7C\u0000\u5C28\u0000\u0000\u0000\u5C22"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3F39\u5C2C"+
-        "\u0000\u0000\u4033\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5C2A\u343D\u0000\u0000\u0000\u0000\u0000"+
-        "\u4F50\u5B76\u0000\u0000\u5C26\u3058\u0000\u0000"+
-        "\u5B78\u0000\u0000\u4C3A\u5B7D\u3F22\u4447\u5B73"+
-        "\u0000\u0000\u5C25\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3F7A\u5C2F\u3371\u3821\u0000\u0000\u0000"+
-        "\u0000\u5C31\u5B7A\u5C30\u0000\u5C29\u5B7B\u0000"+
-        "\u5C2D\u0000\u5C2E\u0000\u0000\u0000\u0000\u0000"+
-        "\u5C3F\u0000\u0000\u0000\u464E\u0000\u5C24\u0000"+
-        "\u0000\u5C3B\u0000\u0000\u0000\u5C3D\u0000\u4458"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4D4C\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4976\u5C38\u424A\u0000\u0000"+
-        "\u0000\u5C3E\u413F\u0000\u5C35\u5C42\u5C41\u0000"+
-        "\u466F\u5C40\u466A\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u5C44\u5C37\u0000\u3648\u5C3A\u3D5D"+
-        "\u0000\u0000\u0000\u4760\u5C3C\u364B\u0000\u5C34"+
-        "\u5C36\u5C33\u0000\u0000\u4F30\u335A\u5C39\u0000"+
-        "\u0000\u5C43\u3335\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3A67\u0000\u0000\u0000\u315D\u0000"+
-        "\u0000\u5C54\u0000\u0000\u4F31\u5C57\u0000\u0000"+
-        "\u0000\u0000\u0000\u3F3A\u5C56\u0000\u0000\u0000"+
-        "\u5C55\u0000\u0000\u0000\u0000\u0000\u0000\u5C52"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5C46\u0000"+
-        "\u0000\u5C63\u5C45\u0000\u5C58\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5C50\u0000\u0000\u5C4B\u5C48"+
-        "\u0000\u5C49\u0000\u5C51\u0000\u0000\u0000\u7422"+
-        "\u0000\u0000\u5C4E\u393D\u4448\u4164\u5C4C\u0000"+
-        "\u5C47\u0000\u0000\u5C4A\u0000\u0000\u0000\u0000"+
-        "\u4D4D\u4B6A\u0000\u0000\u0000\u5C4F\u5C59\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5C61"+
-        "\u5C5A\u0000\u0000\u5C67\u0000\u5C65\u0000\u0000"+
-        "\u0000\u0000\u5C60\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5C5F\u0000\u4450\u0000\u4165\u0000\u5C5D"+
-        "\u0000\u0000\u5C5B\u0000\u0000\u5C62\u0000\u0000"+
-        "\u0000\u0000\u5C68\u4875\u5C6E\u0000\u0000\u0000"+
-        "\u0000\u0000\u5C69\u5C6C\u5C66\u0000\u0000\u4374"+
-        "\u0000\u4938\u0000\u5C5C\u0000\u0000\u5C64\u3E40"+
-        "\u0000\u4C4F\u5C78\u5C6B\u0000\u0000\u0000\u0000"+
-        "\u0000\u3822\u3223\u335F\u0000\u0000\u5C53\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3E41\u5C70\u0000"+
-        "\u5C77\u3C79\u3372\u0000\u0000\u432E\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5C6D\u0000\u0000\u5C72"+
-        "\u5C76\u0000\u0000\u3636\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u354C\u5C74\u0000\u0000\u0000\u0000\u0000\u3521"+
-        "\u0000\u464B\u5C73\u0000\u0000\u0000\u5C75\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u5C6F\u0000\u0000\u0000\u0000\u0000"+
-        "\u5C71\u0000\u0000\u0000\u0000\u0000\u0000\u3360"+
-        "\u4349\u0000\u0000\u0000\u5C7C\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5C7A\u3869\u0000"+
-        "\u5C79\u0000\u0000\u0000\u0000\u0000\u0000\u5D21"+
-        "\u0000\u0000\u0000\u0000\u5B58\u0000\u0000\u0000"+
-        "\u5C7B\u0000\u5C7D\u5C7E\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u5D2C\u0000\u5D28\u0000\u5B6D\u0000"+
-        "\u0000\u0000\u0000\u5D27\u0000\u0000\u0000\u0000"+
-        "\u5D26\u0000\u0000\u5D23\u0000\u0000\u0000\u0000"+
-        "\u0000\u5C6A\u5D25\u5D24\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5D2A\u0000\u4F26\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u5D2D\u367B\u0000\u0000\u5D29\u5D2B"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4827\u0000\u5D2E\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u5D32\u5D2F\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u4D73\u5D30\u0000\u0000"+
-        "\u0000\u0000\u5C5E\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u5D33\u0000\u0000\u0000\u5D34\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3135\u0000\u5D36"+
-        "\u3767\u3C21\u0000\u3655\u0000\u0000\u0000\u3224"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4D5F\u0000\u0000\u0000\u0000\u5D38"+
-        "\u5D37\u5D3A\u353D\u0000\u0000\u3656\u343E\u0000"+
-        "\u0000\u0000\u0000\u5D3D\u0000\u0000\u0000\u5D3C"+
-        "\u0000\u5D3E\u0000\u0000\u324E\u0000\u4337\u0000"+
-        "\u5D3F\u0000\u0000\u343F\u5D41\u0000\u0000\u0000"+
-        "\u0000\u5D40\u0000\u5D42\u0000\u0000\u0000\u5D43"+
-        "\u0000\u5D44\u3B5F\u4035\u3A21\u0000\u4970\u0000"+
-        "\u0000\u4A62\u4F44\u0000\u0000\u0000\u0000\u3B75"+
-        "\u0000\u0000\u0000\u3A50\u4E72\u0000\u0000\u0000"+
-        "\u5D45\u5D46\u0000\u3B60\u0000\u0000\u0000\u5D47"+
-        "\u5D48\u0000\u0000\u5D4A\u5D49\u0000\u4B58\u0000"+
-        "\u0000\u3D5E\u3C6C\u3B44\u0000\u5D4B\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5D4D\u3F23\u0000"+
-        "\u5D4C\u0000\u0000\u0000\u0000\u0000\u5D4E\u0000"+
-        "\u0000\u0000\u0000\u0000\u5D4F\u0000\u0000\u0000"+
-        "\u0000\u0000\u5D50\u5D51\u0000\u0000\u0000\u5D52"+
-        "\u0000\u5D54\u5D53\u5D55\u3225\u434A\u0000\u5D56"+
-        "\u0000\u0000\u3B26\u334C\u5D57\u0000\u0000\u4542"+
-        "\u544C\u0000\u0000\u0000\u0000\u3523\u5D58\u0000"+
-        "\u0000\u0000\u0000\u5D59\u0000\u4A6C\u4B68\u0000"+
-        "\u0000\u0000\u4647\u5D5A\u4866\u0000\u0000\u0000"+
-        "\u487B\u0000\u0000\u4C53\u0000\u0000\u0000\u5D5B"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5D5D\u5D5C\u0000\u0000\u5D5F"+
-        "\u0000\u0000\u0000\u5D5E\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5D61\u0000\u0000\u0000\u0000\u0000\u0000\u3B61"+
-        "\u0000\u4C31\u0000\u5D62\u5D63\u0000\u0000\u3524"+
-        "\u0000\u0000\u0000\u5D64\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5D66\u5D65\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3F65\u0000\u0000\u4939"+
-        "\u314A\u0000\u0000\u0000\u0000\u0000\u4845\u0000"+
-        "\u4475\u3D41\u3561\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4846\u0000"+
-        "\u3C2E\u0000\u0000\u0000\u0000\u5D68\u0000\u3440"+
-        "\u0000\u0000\u3178\u0000\u0000\u4672\u5D67\u393E"+
-        "\u4353\u0000\u5D69\u0000\u0000\u0000\u0000\u0000"+
-        "\u5D71\u0000\u5D6A\u0000\u0000\u0000\u0000\u0000"+
-        "\u4241\u0000\u3562\u5D72\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3768\u0000\u0000\u3525\u5D70\u0000"+
-        "\u0000\u5D6E\u5D6B\u4D60\u0000\u0000\u0000\u0000"+
-        "\u4440\u0000\u0000\u0000\u4659\u5D6C\u0000\u0000"+
-        "\u5D74\u0000\u5D73\u3723\u0000\u0000\u322D\u0000"+
-        "\u0000\u3A3B\u5D6D\u5D6F\u0000\u0000\u0000\u0000"+
-        "\u0000\u4B57\u4274\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4B77\u0000\u0000\u5D7C\u0000"+
-        "\u0000\u5D7D\u0000\u324F\u0000\u0000\u0000\u0000"+
-        "\u4A28\u4C7D\u5E21\u3C23\u3E42\u5D78\u5D7E\u3168"+
-        "\u0000\u3637\u0000\u0000\u5D75\u5D7A\u0000\u0000"+
-        "\u0000\u4074\u4771\u0000\u4867\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5D77\u0000\u4B21\u0000\u5D79"+
-        "\u0000\u5E24\u0000\u5E22\u0000\u5D7B\u0000\u0000"+
-        "\u0000\u4B22\u4748\u3563\u0000\u4525\u0000\u0000"+
-        "\u436D\u0000\u5E25\u0000\u0000\u0000\u0000\u5E23"+
-        "\u4259\u5D76\u0000\u314B\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4D4E\u5E30\u0000\u0000\u0000"+
-        "\u0000\u0000\u5E2F\u0000\u0000\u0000\u0000\u4076"+
-        "\u0000\u5E2C\u0000\u4D6C\u0000\u0000\u4636\u5E26"+
-        "\u0000\u0000\u0000\u0000\u0000\u4445\u0000\u0000"+
-        "\u0000\u314C\u393F\u5E29\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3D27\u5E2E\u0000\u5E2D\u5E28\u0000"+
-        "\u5E2B\u0000\u0000\u3368\u0000\u5E2A\u4749\u0000"+
-        "\u0000\u4E2E\u0000\u0000\u3E74\u4075\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5E36\u5E34\u0000\u494D\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5E31\u5E33\u0000\u313A\u0000"+
-        "\u0000\u3940\u4F32\u0000\u333D\u0000\u4962\u0000"+
-        "\u0000\u0000\u0000\u0000\u4D61\u0000\u0000\u3324"+
-        "\u3F3B\u5E35\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5E3A\u0000\u0000"+
-        "\u3E43\u0000\u0000\u0000\u4D30\u0000\u5E37\u0000"+
-        "\u0000\u0000\u0000\u5E32\u0000\u5E38\u0000\u0000"+
-        "\u0000\u4E5E\u0000\u4573\u4642\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3336"+
-        "\u0000\u0000\u3155\u0000\u0000\u5E3E\u0000\u0000"+
-        "\u5E41\u0000\u0000\u0000\u4E43\u0000\u0000\u0000"+
-        "\u4D64\u0000\u0000\u0000\u0000\u5E48\u5E42\u5E3F"+
-        "\u0000\u0000\u0000\u4E54\u5E45\u0000\u0000\u0000"+
-        "\u0000\u3D4A\u5E47\u0000\u0000\u5E4C\u0000\u0000"+
-        "\u4571\u5E4A\u0000\u0000\u0000\u0000\u5E44\u0000"+
-        "\u0000\u4338\u0000\u0000\u5E4B\u0000\u5E40\u0000"+
-        "\u5E46\u0000\u5E4D\u307C\u5E43\u0000\u5E4E\u0000"+
-        "\u0000\u3F3C\u0000\u3D5F\u0000\u4A25\u0000\u3A2E"+
-        "\u0000\u5E3B\u5E49\u453A\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4036\u0000\u3369"+
-        "\u3A51\u3E44\u5E3D\u3D42\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u374C\u0000\u5E3C\u0000\u0000"+
-        "\u0000\u5E52\u3D6D\u383A\u0000\u5E61\u0000\u5E5B"+
-        "\u3574\u454F\u0000\u5E56\u5E5F\u302F\u3132\u0000"+
-        "\u0000\u3239\u0000\u5E58\u422C\u5E4F\u5E51\u3941"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5E62\u0000\u5E5D\u0000\u0000\u0000\u5E55\u0000"+
-        "\u0000\u0000\u0000\u5E5C\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4C2B\u0000\u0000\u5E5A\u5E5E\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3850\u0000"+
-        "\u3E45\u0000\u0000\u4339\u0000\u0000\u0000\u5E54"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4D2F"+
-        "\u0000\u0000\u0000\u5E57\u0000\u0000\u5E50\u4572"+
-        "\u0000\u0000\u5E53\u0000\u0000\u0000\u5E59\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4F51\u3C3E"+
-        "\u4B7E\u0000\u5E63\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u482E\u0000\u0000\u5E6F"+
-        "\u383B\u0000\u0000\u0000\u0000\u0000\u3D60\u0000"+
-        "\u5E65\u0000\u0000\u0000\u4E2F\u3942\u0000\u5E72"+
-        "\u0000\u0000\u306E\u0000\u0000\u5E70\u0000\u0000"+
-        "\u0000\u0000\u5E64\u0000\u0000\u0000\u0000\u5E6A"+
-        "\u0000\u0000\u5E6C\u0000\u0000\u0000\u4D4F\u5E67"+
-        "\u0000\u0000\u452E\u0000\u0000\u5E69\u0000\u0000"+
-        "\u0000\u0000\u5E71\u0000\u5E6B\u4C47\u0000\u0000"+
-        "\u0000\u5E66\u0000\u3C22\u5E7E\u0000\u0000\u0000"+
-        "\u0000\u336A\u0000\u5E68\u5E6D\u5E6E\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u426C\u425A\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5E76\u0000\u0000\u5E7C"+
-        "\u0000\u0000\u5E7A\u0000\u4529\u0000\u0000\u5F23"+
-        "\u5E77\u0000\u0000\u0000\u0000\u0000\u5E78\u5E60"+
-        "\u0000\u3579\u493A\u0000\u0000\u0000\u3C3F\u0000"+
-        "\u0000\u3977\u0000\u0000\u0000\u0000\u0000\u4F33"+
-        "\u0000\u5E74\u0000\u5F22\u3169\u4166\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4779\u0000\u3441\u4E7A\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4C21\u4452\u0000\u0000\u0000"+
-        "\u0000\u5E7B\u5E7D\u0000\u0000\u0000\u0000\u0000"+
-        "\u4132\u0000\u0000\u0000\u0000\u0000\u5F21\u5E79"+
-        "\u0000\u5E73\u0000\u0000\u0000\u3443\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3769\u0000\u0000\u0000"+
-        "\u5F2F\u0000\u0000\u5F2A\u4078\u0000\u0000\u3363"+
-        "\u0000\u0000\u0000\u0000\u3D61\u0000\u5F33\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5F2C\u442C\u5F29"+
-        "\u4459\u0000\u0000\u0000\u5F4C\u0000\u0000\u0000"+
-        "\u5F26\u0000\u5F25\u0000\u5F2E\u0000\u0000\u0000"+
-        "\u5F28\u5F27\u5F2D\u0000\u4021\u0000\u5F24\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5F30\u0000"+
-        "\u0000\u5F31\u0000\u0000\u0000\u0000\u0000\u3442"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5F36\u0000\u5F35\u5F37\u0000\u0000\u0000"+
-        "\u0000\u0000\u5F3A\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4543\u0000\u5F34\u0000\u0000\u0000\u0000"+
-        "\u0000\u5F38\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3763\u4279\u5F32\u473B\u0000\u0000\u5F39\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5F3E\u5F3C\u0000\u0000"+
-        "\u5F3F\u0000\u0000\u5F42\u0000\u0000\u0000\u5F3B"+
-        "\u396A\u4728\u0000\u0000\u5E39\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4D74\u5F3D\u0000\u5F41\u4275"+
-        "\u0000\u5F40\u0000\u5F2B\u0000\u0000\u6F69\u0000"+
-        "\u0000\u0000\u5F45\u0000\u0000\u0000\u5F49\u0000";
-
-    private final static String innerIndex3=
-        "\u0000\u5F47\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5F43\u0000\u5F44\u0000\u0000\u0000\u5F48"+
-        "\u0000\u5F46\u0000\u0000\u0000\u494E\u0000\u0000"+
-        "\u5F4E\u0000\u5F4B\u5F4A\u0000\u5F4D\u4654\u5F4F"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4375\u426D"+
-        "\u0000\u0000\u0000\u0000\u4025\u0000\u0000\u0000"+
-        "\u5F50\u0000\u5F52\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5F51\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5E75\u0000\u0000\u0000"+
-        "\u0000\u5F53\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4667\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5F54\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3250\u0000\u0000\u0000\u4574"+
-        "\u3325\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3564\u0000\u0000\u0000\u3C5E\u3A52\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4F27\u3F66\u0000\u0000\u0000\u316A\u0000"+
-        "\u0000\u0000\u5F56\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5F55\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5F59\u433A\u5F5C\u5F57"+
-        "\u0000\u0000\u0000\u5F5B\u0000\u0000\u0000\u0000"+
-        "\u5F5A\u4540\u3059\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4E75\u0000\u0000\u5F5E\u0000\u0000\u0000\u3128"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5F60\u0000\u0000\u0000\u5F5F\u0000\u5F5D"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5F58\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4B23\u0000\u0000\u0000\u5F62\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5F61\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u316B\u0000\u0000\u0000"+
-        "\u0000\u5F64\u4A32\u0000\u5F63\u0000\u0000\u0000"+
-        "\u0000\u4C35\u0000\u0000\u0000\u0000\u3E47\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4133\u0000"+
-        "\u0000\u0000\u0000\u0000\u3E46\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4E7B\u0000\u0000\u5F6A\u0000\u4079\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5F66\u5F6B\u0000"+
-        "\u0000\u316C\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u5F69\u0000\u4761\u5F65\u5F68\u3E48"+
-        "\u0000\u4851\u0000\u0000\u5F6C\u0000\u3C51\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u407A\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5F6F\u0000\u0000\u0000"+
-        "\u5F67\u0000\u3727\u0000\u0000\u0000\u0000\u5F6D"+
-        "\u0000\u0000\u0000\u0000\u4D50\u5F70\u0000\u0000"+
-        "\u0000\u7426\u0000\u0000\u0000\u0000\u0000\u3D4F"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5F71\u0000\u0000\u0000\u5F72\u0000\u0000\u0000"+
-        "\u0000\u472E\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5F74\u0000\u0000\u0000\u0000\u5F75\u0000"+
-        "\u0000\u0000\u0000\u4733\u0000\u0000\u0000\u0000"+
-        "\u4575\u5F77\u0000\u0000\u0000\u0000\u5F79\u0000"+
-        "\u4E55\u0000\u5F76\u0000\u5F78\u316D\u0000\u5F73"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u535B"+
-        "\u5F7A\u0000\u0000\u0000\u0000\u4167\u3B38\u5F7C"+
-        "\u0000\u0000\u0000\u0000\u5F7B\u3F24\u5259\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5F7D\u0000\u0000"+
-        "\u0000\u6021\u0000\u5F6E\u5F7E\u0000\u0000\u6022"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u477A\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6023\u0000\u0000"+
-        "\u6024\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6025\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6026\u0000\u445E\u0000\u6028\u6027\u0000\u0000"+
-        "\u6029\u0000\u602A\u0000\u0000\u3C5F\u4963\u0000"+
-        "\u0000\u0000\u4C6C\u602B\u602C\u4156\u3C24\u602D"+
-        "\u602E\u0000\u0000\u0000\u0000\u0000\u602F\u4A52"+
-        "\u4847\u0000\u0000\u6030\u4757\u0000\u0000\u0000"+
-        "\u0000\u0000\u442D\u0000\u0000\u0000\u0000\u0000"+
-        "\u6031\u3267\u0000\u356D\u0000\u4C46\u0000\u4C36"+
-        "\u0000\u3234\u4F34\u0000\u0000\u0000\u0000\u4B52"+
-        "\u0000\u4A2A\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4037\u0000\u6032\u0000\u0000\u0000"+
-        "\u0000\u4643\u0000\u0000\u0000\u3823\u6033\u0000"+
-        "\u3A54\u6035\u6034\u0000\u0000\u0000\u0000\u6036"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6037\u0000\u0000\u0000\u6038\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u353E\u0000\u6039\u0000\u0000\u0000\u0000\u603A"+
-        "\u0000\u0000\u0000\u0000\u3824\u0000\u0000\u4848"+
-        "\u0000\u0000\u603C\u0000\u0000\u0000\u3E75\u0000"+
-        "\u0000\u603B\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3638\u603D\u603F\u0000\u603E\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6040\u0000"+
-        "\u3851\u0000\u6041\u0000\u0000\u0000\u0000\u3669"+
-        "\u0000\u4140\u0000\u397D\u0000\u0000\u0000\u0000"+
-        "\u6043\u6044\u6042\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3C6D\u0000\u0000\u4648\u3639\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6046"+
-        "\u432C\u6045\u0000\u0000\u4F35\u4762\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6049\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u604B\u6048"+
-        "\u0000\u0000\u0000\u4C54\u604A\u604C\u0000\u4E44"+
-        "\u0000\u0000\u0000\u0000\u0000\u6050\u0000\u0000"+
-        "\u0000\u604F\u4376\u472D\u0000\u0000\u3825\u604E"+
-        "\u0000\u0000\u0000\u0000\u604D\u0000\u4D31\u4D32"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6051\u316E"+
-        "\u0000\u0000\u0000\u0000\u3976\u3B62\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6052\u6053"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6055"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3D43\u0000\u0000\u0000\u0000"+
-        "\u6057\u0000\u6056\u0000\u0000\u0000\u0000\u0000"+
-        "\u6058\u0000\u334D\u0000\u0000\u605A\u0000\u0000"+
-        "\u6059\u0000\u605C\u605B\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u383C\u0000\u0000\u4E28"+
-        "\u0000\u364C\u0000\u3226\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u366A\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3461\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4E68\u605E\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6060\u0000\u0000\u0000\u0000"+
-        "\u6061\u0000\u3251\u0000\u0000\u0000\u0000\u0000"+
-        "\u605D\u0000\u3B39\u0000\u0000\u4441\u605F\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6064\u0000"+
-        "\u3C6E\u0000\u0000\u0000\u0000\u6062\u0000\u0000"+
-        "\u0000\u0000\u373E\u0000\u0000\u4849\u6063\u0000"+
-        "\u0000\u607E\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6069\u0000\u0000\u0000\u0000\u0000\u383D\u0000"+
-        "\u0000\u0000\u0000\u3565\u0000\u6066\u4D7D\u0000"+
-        "\u0000\u4E30\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4276\u0000\u0000\u6068\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u606A\u4E56\u3657\u487C\u474A\u0000"+
-        "\u0000\u0000\u606B\u0000\u0000\u0000\u0000\u606D"+
-        "\u0000\u6070\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u606C\u0000\u0000"+
-        "\u0000\u606F\u386A\u314D\u6071\u0000\u3F70\u606E"+
-        "\u4E5C\u0000\u0000\u6074\u7424\u0000\u0000\u0000"+
-        "\u0000\u6072\u6075\u0000\u0000\u0000\u0000\u6067"+
-        "\u6073\u0000\u0000\u3A3C\u0000\u0000\u6076\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6077\u0000"+
-        "\u0000\u0000\u0000\u4D7E\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6078\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6079\u0000"+
-        "\u0000\u0000\u6065\u0000\u0000\u0000\u0000\u607A"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3444\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3C25\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u607B\u0000\u0000\u0000\u0000\u607C"+
-        "\u0000\u0000\u0000\u0000\u607D\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u313B\u0000\u0000\u0000"+
-        "\u6121\u0000\u493B\u6122\u0000\u0000\u3424\u6123"+
-        "\u0000\u6124\u0000\u0000\u0000\u0000\u6125\u0000"+
-        "\u6127\u6128\u6126\u0000\u0000\u0000\u4953\u612A"+
-        "\u6129\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u612C\u612B\u612D\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u612E\u6130\u612F\u0000"+
-        "\u0000\u3979\u0000\u6132\u0000\u6131\u0000\u0000"+
-        "\u3445\u0000\u3F53\u0000\u453C\u0000\u6133\u4038"+
-        "\u0000\u0000\u0000\u3B3A\u0000\u3179\u6134\u0000"+
-        "\u4D51\u0000\u0000\u4A63\u6135\u0000\u0000\u0000"+
-        "\u4544\u4D33\u3943\u3F3D\u0000\u0000\u0000\u434B"+
-        "\u5234\u0000\u442E\u3268\u6136\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u6137\u0000\u613C\u0000"+
-        "\u0000\u613A\u6139\u5A42\u3326\u6138\u0000\u305A"+
-        "\u0000\u482A\u0000\u0000\u484A\u0000\u0000\u0000"+
-        "\u0000\u4E31\u613D\u613B\u435C\u4026\u0000\u0000"+
-        "\u482B\u0000\u492D\u0000\u613F\u4E2C\u374D\u6140"+
-        "\u0000\u613E\u4856\u6141\u0000\u6142\u0000\u0000"+
-        "\u305B\u0000\u0000\u3E76\u6147\u0000\u6144\u466D"+
-        "\u6143\u0000\u0000\u0000\u0000\u0000\u0000\u3526"+
-        "\u0000\u0000\u614A\u0000\u0000\u0000\u6145\u6146"+
-        "\u0000\u6149\u6148\u4925\u0000\u0000\u4142\u4141"+
-        "\u0000\u353F\u0000\u0000\u614B\u0000\u0000\u0000"+
-        "\u0000\u0000\u614C\u0000\u0000\u614D\u0000\u0000"+
-        "\u0000\u0000\u0000\u614F\u0000\u614E\u0000\u0000"+
-        "\u0000\u0000\u0000\u3156\u0000\u0000\u0000\u0000"+
-        "\u0000\u6157\u4868\u6151\u0000\u6153\u0000\u0000"+
-        "\u6155\u3F3E\u0000\u0000\u6156\u6154\u3C40\u0000"+
-        "\u0000\u0000\u6150\u6152\u0000\u4942\u0000\u3E49"+
-        "\u0000\u0000\u6159\u0000\u0000\u6158\u0000\u0000"+
-        "\u0000\u0000\u615A\u0000\u3C26\u3A2F\u0000\u0000"+
-        "\u4577\u615B\u0000\u444B\u0000\u0000\u615D\u0000"+
-        "\u0000\u0000\u4E21\u615C\u0000\u0000\u0000\u0000"+
-        "\u0000\u4169\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6162\u0000\u6164\u6165\u4354\u0000\u0000\u0000"+
-        "\u0000\u0000\u6163\u0000\u6160\u0000\u615E\u615F"+
-        "\u0000\u6161\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6168\u0000\u6166\u0000\u6167\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6169"+
-        "\u616B\u616C\u616D\u0000\u616E\u0000\u0000\u616A"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6170\u0000\u0000\u0000\u616F\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6171\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4E45\u0000\u0000\u0000\u6174\u6172"+
-        "\u6173\u0000\u0000\u0000\u3462\u0000\u0000\u0000"+
-        "\u0000\u0000\u4C7E\u0000\u0000\u0000\u4A4A\u0000"+
-        "\u6176\u0000\u0000\u0000\u6175\u0000\u0000\u0000"+
-        "\u0000\u6177\u6178\u0000\u0000\u0000\u0000\u617C"+
-        "\u6179\u617A\u617B\u0000\u617D\u0000\u0000\u0000"+
-        "\u617E\u0000\u6221\u0000\u0000\u0000\u6222\u0000"+
-        "\u6223\u0000\u482F\u4550\u6224\u4772\u4934\u0000"+
-        "\u6225\u0000\u0000\u6226\u452A\u0000\u3327\u3944"+
-        "\u6227\u0000\u0000\u6228\u0000\u0000\u6229\u0000"+
-        "\u3B29\u0000\u0000\u622B\u0000\u0000\u622A\u0000"+
-        "\u0000\u622C\u622D\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4869\u0000"+
-        "\u622E\u0000\u0000\u0000\u622F\u0000\u0000\u7369"+
-        "\u6230\u6231\u6232\u0000\u0000\u0000\u0000\u3B2E"+
-        "\u0000\u0000\u6233\u4756\u0000\u0000\u4B5F\u0000"+
-        "\u314E\u0000\u3157\u0000\u0000\u6234\u0000\u0000"+
-        "\u0000\u0000\u6236\u0000\u0000\u0000\u6235\u4570"+
-        "\u0000\u0000\u0000\u4039\u5D39\u0000\u6237\u4C41"+
-        "\u0000\u6238\u0000\u3446\u4857\u6239\u0000\u623A"+
-        "\u0000\u0000\u623B\u0000\u0000\u0000\u4C5C\u0000"+
-        "\u0000\u0000\u4C55\u0000\u443E\u0000\u0000\u0000"+
-        "\u416A\u0000\u0000\u623D\u0000\u0000\u3D62\u0000"+
-        "\u0000\u3E4A\u0000\u0000\u6240\u0000\u0000\u623F"+
-        "\u623E\u487D\u0000\u3447\u3829\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6246\u0000\u0000\u6243\u3F3F"+
-        "\u4C32\u0000\u0000\u0000\u6242\u6244\u6245\u0000"+
-        "\u0000\u6241\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6247"+
-        "\u6248\u0000\u442F\u0000\u3463\u0000\u0000\u0000"+
-        "\u4365\u0000\u0000\u0000\u0000\u0000\u0000\u6249"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u624A\u624D\u0000\u0000\u0000\u0000"+
-        "\u0000\u3F67\u0000\u4644\u0000\u624E\u4B53\u0000"+
-        "\u624B\u0000\u0000\u624C\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6251\u0000\u0000\u0000\u0000\u6250\u624F"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6253\u0000\u0000\u6252\u0000"+
-        "\u0000\u6254\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6256\u0000"+
-        "\u6255\u0000\u0000\u0000\u0000\u4A4D\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3D56\u4E46\u0000\u0000"+
-        "\u6257\u0000\u0000\u4637\u0000\u0000\u6258\u0000"+
-        "\u0000\u6259\u0000\u625D\u625B\u625C\u0000\u625A"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u625E"+
-        "\u0000\u0000\u0000\u0000\u0000\u625F\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6260"+
-        "\u0000\u0000\u6261\u4C37\u6262\u0000\u0000\u0000"+
-        "\u0000\u0000\u4C70\u6263\u0000\u434E\u0000\u476A"+
-        "\u0000\u366B\u0000\u0000\u0000\u433B\u6264\u363A"+
-        "\u0000\u0000\u0000\u4050\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u6265\u0000\u0000\u0000"+
-        "\u0000\u0000\u3A3D\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u6266\u0000\u0000\u0000"+
-        "\u0000\u0000\u6267\u0000\u3826\u3A55\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6269\u0000\u0000\u0000\u0000\u4556\u3A56\u354E"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4B24\u0000\u474B\u0000\u0000\u0000"+
-        "\u0000\u0000\u4557\u0000\u0000\u0000\u0000\u395C"+
-        "\u0000\u0000\u0000\u0000\u0000\u626B\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3E4B\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4E32\u3945\u0000\u0000\u3827"+
-        "\u0000\u0000\u4823\u0000\u626D\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u626F\u0000\u0000\u0000"+
-        "\u0000\u386B\u0000\u0000\u0000\u0000\u626E\u4476"+
-        "\u0000\u0000\u0000\u0000\u6271\u3337\u626C\u0000"+
-        "\u0000\u486A\u0000\u3130\u0000\u3A6C\u0000\u4F52"+
-        "\u0000\u0000\u6270\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6272\u0000\u0000\u0000\u4A4B"+
-        "\u0000\u4059\u6274\u0000\u0000\u0000\u0000\u6275"+
-        "\u0000\u0000\u0000\u0000\u0000\u6273\u0000\u0000"+
-        "\u0000\u0000\u334E\u0000\u627B\u0000\u627A\u0000"+
-        "\u0000\u3C27\u0000\u0000\u0000\u627C\u6277\u0000"+
-        "\u0000\u0000\u627D\u6278\u0000\u0000\u0000\u0000"+
-        "\u4858\u6276\u0000\u0000\u6279\u0000\u0000\u0000"+
-        "\u0000\u0000\u6322\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6321"+
-        "\u4B61\u0000\u0000\u0000\u627E\u0000\u0000\u306B"+
-        "\u0000\u0000\u0000\u0000\u6324\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6323\u0000\u0000"+
-        "\u0000\u3E4C\u0000\u0000\u0000\u0000\u0000\u6325"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4143\u0000"+
-        "\u0000\u6327\u6326\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6328\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6268\u0000"+
-        "\u0000\u0000\u626A\u632A\u6329\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3C28\u0000\u4E69\u0000\u3C52\u0000"+
-        "\u632B\u3737\u0000\u0000\u0000\u0000\u0000\u3540"+
-        "\u3527\u3B63\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4D34\u0000\u0000\u6331\u0000\u6330\u4144\u632D"+
-        "\u0000\u0000\u632F\u0000\u0000\u3D4B\u3F40\u632E"+
-        "\u632C\u0000\u472A\u0000\u0000\u3E4D\u0000\u0000"+
-        "\u493C\u0000\u0000\u0000\u0000\u3A57\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4578"+
-        "\u0000\u0000\u6332\u0000\u0000\u0000\u0000\u6333"+
-        "\u6349\u3658\u0000\u0000\u4F3D\u4135\u0000\u0000"+
-        "\u0000\u0000\u6334\u0000\u0000\u3252\u4477\u4A21"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6335\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u357A\u6336"+
-        "\u0000\u0000\u6338\u0000\u0000\u0000\u6339\u0000"+
-        "\u4729\u0000\u0000\u633A\u0000\u0000\u0000\u0000"+
-        "\u0000\u633B\u633C\u0000\u0000\u3659\u3253\u4645"+
-        "\u3D28\u3B64\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u633D\u0000\u3D29\u0000\u0000\u0000\u0000"+
-        "\u0000\u324A\u4943\u0000\u0000\u633E\u0000\u0000"+
-        "\u486B\u0000\u0000\u0000\u0000\u0000\u0000\u4145"+
-        "\u0000\u6341\u0000\u6342\u4769\u0000\u3F41\u633F"+
-        "\u0000\u4361\u0000\u0000\u6340\u0000\u0000\u0000"+
-        "\u3E4E\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u305C\u0000\u0000\u0000\u0000"+
-        "\u3529\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6343\u0000\u0000\u4478\u0000\u6344\u4047\u0000"+
-        "\u0000\u0000\u0000\u0000\u4C2D\u0000\u0000\u4923"+
-        "\u6345\u6346\u4355\u0000\u4E47\u0000\u0000\u6348"+
-        "\u6347\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3C6F\u0000"+
-        "\u0000\u634A\u3070\u0000\u0000\u0000\u0000\u634D"+
-        "\u0000\u0000\u0000\u634B\u3254\u374E\u634C\u3946"+
-        "\u3972\u0000\u4A66\u634E\u0000\u0000\u4B54\u0000"+
-        "\u0000\u6350\u0000\u0000\u0000\u4051\u314F\u323A"+
-        "\u302C\u0000\u0000\u0000\u0000\u0000\u0000\u634F"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6351\u6352\u3E77\u0000\u0000\u0000\u0000"+
-        "\u0000\u6353\u0000\u334F\u0000\u0000\u0000\u0000"+
-        "\u6355\u0000\u0000\u0000\u376A\u0000\u3566\u0000"+
-        "\u0000\u6356\u3675\u0000\u0000\u6357\u0000\u407C"+
-        "\u0000\u464D\u0000\u4060\u3A75\u0000\u0000\u0000"+
-        "\u6358\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4362\u416B\u0000\u635A\u635C\u6359"+
-        "\u635B\u0000\u0000\u0000\u0000\u0000\u0000\u3722"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u635D\u3726\u0000\u0000\u0000\u3567\u4D52"+
-        "\u635F\u0000\u0000\u0000\u0000\u0000\u6360\u0000"+
-        "\u0000\u0000\u312E\u0000\u0000\u0000\u0000\u6363"+
-        "\u0000\u0000\u0000\u3376\u6362\u6361\u0000\u6365"+
-        "\u635E\u0000\u6366\u4E29\u0000\u6367\u0000\u6368"+
-        "\u0000\u0000\u5474\u636A\u0000\u6369\u0000\u0000"+
-        "\u0000\u636B\u636C\u0000\u4E35\u636D\u0000\u706F"+
-        "\u3E4F\u636E\u636F\u3D57\u0000\u4638\u6370\u0000"+
-        "\u0000\u0000\u4328\u0000\u0000\u6371\u0000\u433C"+
-        "\u6372\u0000\u0000\u0000\u0000\u0000\u3625\u0000"+
-        "\u513F\u435D\u3C33\u0000\u0000\u0000\u0000\u3448"+
-        "\u0000\u0000\u6373\u0000\u6422\u0000\u6376\u0000"+
-        "\u3568\u0000\u6375\u6424\u0000\u0000\u0000\u6374"+
-        "\u0000\u3E50\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6378\u6379\u0000\u452B\u0000\u0000\u637A\u0000"+
-        "\u335E\u0000\u0000\u0000\u0000\u3F5A\u4964\u0000"+
-        "\u637C\u0000\u0000\u0000\u4268\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6377\u0000\u637B\u637D\u0000"+
-        "\u0000\u3A7B\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6426\u492E\u0000"+
-        "\u4826\u4579\u0000\u365A\u6425\u6423\u0000\u4835"+
-        "\u637E\u435E\u457B\u0000\u457A\u0000\u3A76\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6438\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6428\u0000\u642A"+
-        "\u0000\u0000\u0000\u0000\u642D\u0000\u642E\u0000"+
-        "\u642B\u642C\u0000\u0000\u6429\u6427\u0000\u0000"+
-        "\u0000\u0000\u6421\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4A4F\u3255"+
-        "\u0000\u0000\u0000\u6435\u0000\u6432\u0000\u6437"+
-        "\u0000\u0000\u6436\u0000\u4773\u4C27\u0000\u3B3B"+
-        "\u6430\u6439\u6434\u0000\u6433\u642F\u0000\u6431"+
-        "\u0000\u3449\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u433D\u0000\u0000\u407D\u0000\u0000"+
-        "\u0000\u4822\u0000\u0000\u643E\u0000\u0000\u0000"+
-        "\u4824\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4061\u643B\u0000\u0000\u484F\u0000\u643F\u4A53"+
-        "\u0000\u435B\u0000\u643A\u643C\u0000\u0000\u643D"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6440\u0000\u0000"+
-        "\u3C44\u0000\u0000\u0000\u4646\u6445\u6444\u0000"+
-        "\u0000\u6441\u0000\u0000\u0000\u4F36\u0000\u0000"+
-        "\u0000\u0000\u0000\u644A\u0000\u0000\u644E\u644B"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6447\u0000\u0000\u0000\u0000\u0000\u0000\u6448"+
-        "\u0000\u0000\u0000\u0000\u0000\u644D\u0000\u0000"+
-        "\u0000\u6442\u5255\u6449\u6443\u0000\u0000\u644C"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6452"+
-        "\u0000\u344A\u0000\u644F\u0000\u0000\u0000\u6450"+
-        "\u0000\u0000\u6451\u6454\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6453"+
-        "\u4876\u0000\u0000\u0000\u0000\u6455\u4E7C\u4A6D"+
-        "\u645A\u0000\u0000\u6457\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u6456\u4052\u0000\u6459"+
-        "\u645B\u0000\u0000\u0000\u6458\u0000\u645F\u0000"+
-        "\u645C\u0000\u0000\u0000\u0000\u0000\u0000\u645D"+
-        "\u6446\u0000\u0000\u0000\u645E\u6460\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u6461\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4A46\u0000\u6462\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4C62\u0000"+
-        "\u0000\u364E\u3729\u6463\u0000\u0000\u0000\u0000"+
-        "\u0000\u4A34\u0000\u3F68\u0000\u4C30\u0000\u0000"+
-        "\u6464\u0000\u4E33\u0000\u0000\u4774\u0000\u4146"+
-        "\u4734\u0000\u0000\u3D4D\u0000\u0000\u0000\u3040"+
-        "\u0000\u6469\u6467\u0000\u6465\u3421\u0000\u3E51"+
-        "\u646A\u0000\u0000\u6468\u0000\u6466\u646E\u0000"+
-        "\u0000\u646D\u646C\u646B\u0000\u0000\u0000\u0000"+
-        "\u0000\u646F\u0000\u0000\u0000\u6470\u403A\u0000"+
-        "\u6471\u0000\u6473\u0000\u0000\u6472\u0000\u0000"+
-        "\u0000\u0000\u3852\u0000\u0000\u0000\u4138\u0000"+
-        "\u0000\u0000\u6475\u0000\u0000\u0000\u457C\u0000"+
-        "\u6474\u0000\u0000\u0000\u6476\u0000\u4A35\u416C"+
-        "\u3947\u0000\u6477\u0000\u0000\u0000\u0000\u4E48"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6479"+
-        "\u0000\u0000\u647A\u0000\u647B\u0000\u647C\u0000"+
-        "\u3B65\u0000\u647D\u374F\u0000\u0000\u356A\u0000"+
-        "\u352A\u0000\u6521\u0000\u4C73\u3948\u647E\u0000"+
-        "\u0000\u0000\u6524\u4C66\u0000\u473C\u0000\u0000"+
-        "\u4933\u0000\u0000\u0000\u3D63\u6523\u0000\u3C53"+
-        "\u3949\u3B66\u3569\u4A36\u6522\u0000\u0000\u0000"+
-        "\u4147\u4B42\u3A77\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3B67\u445D\u0000\u6527\u4E5F"+
-        "\u3A59\u0000\u6528\u3F42\u0000\u652A\u0000\u0000"+
-        "\u0000\u3E52\u3A30\u0000\u0000\u0000\u0000\u6529"+
-        "\u0000\u0000\u3D2A\u383E\u4148\u6525\u652B\u0000"+
-        "\u0000\u0000\u0000\u6526\u3750\u0000\u652E\u6532"+
-        "\u376B\u0000\u0000\u0000\u0000\u0000\u652D\u0000"+
-        "\u0000\u0000\u0000\u6536\u0000\u0000\u394A\u0000"+
-        "\u0000\u4D6D\u303C\u6533\u0000\u0000\u356B\u0000"+
-        "\u6530\u0000\u0000\u0000\u0000\u0000\u6531\u0000"+
-        "\u0000\u457D\u652F\u652C\u0000\u3328\u4064\u0000"+
-        "\u0000\u3828\u0000\u0000\u0000\u6538\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6535\u0000\u0000\u0000\u0000\u0000\u6537"+
-        "\u0000\u0000\u0000\u6534\u0000\u0000\u0000\u0000"+
-        "\u0000\u3751\u4233\u6539\u416E\u0000\u0000\u6546"+
-        "\u0000\u0000\u6542\u653C\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6540\u3C7A\u305D\u653B\u6543"+
-        "\u6547\u394B\u4C56\u0000\u4456\u653D\u0000\u0000"+
-        "\u6545\u0000\u653A\u433E\u0000\u653F\u303D\u4C4A"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u653E"+
-        "\u0000\u0000\u365B\u486C\u0000\u0000\u0000\u416D"+
-        "\u0000\u4E50\u3D6F\u0000\u0000\u656E\u0000\u0000"+
-        "\u6548\u0000\u407E\u0000\u6544\u6549\u654B\u0000"+
-        "\u4479\u654E\u0000\u0000\u654A\u0000\u0000\u0000"+
-        "\u4A54\u344B\u0000\u0000\u4C4B\u0000\u0000\u305E"+
-        "\u0000\u0000\u654D\u0000\u4E7D\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u654C\u0000\u0000\u0000\u0000"+
-        "\u0000\u316F\u0000\u0000\u466C\u654F\u0000\u0000"+
-        "\u0000\u6556\u6550\u6557\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6553\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u477B\u0000\u0000\u3C4A\u6555"+
-        "\u0000\u6552\u6558\u6551\u0000\u0000\u3D44\u0000"+
-        "\u0000\u0000\u0000\u4B25\u0000\u0000\u3D4C\u0000"+
-        "\u0000\u6554\u6560\u0000\u0000\u655C\u0000\u655F"+
-        "\u0000\u655D\u6561\u655B\u0000\u6541\u4053\u0000"+
-        "\u0000\u484B\u0000\u655E\u0000\u0000\u6559\u0000"+
-        "\u0000\u0000\u4121\u3752\u0000\u3D2B\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3F25\u4136\u6564\u0000"+
-        "\u0000\u6566\u6567\u0000\u0000\u6563\u6565\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u655A\u6562"+
-        "\u0000\u656A\u6569\u0000\u0000\u4B7A\u0000\u0000"+
-        "\u372B\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6568\u0000\u656C\u656B\u656F\u0000\u6571"+
-        "\u0000\u0000\u3B3C\u656D\u0000\u0000\u0000\u0000"+
-        "\u6572\u6573\u0000\u0000\u6574\u0000\u657A\u453B"+
-        "\u6576\u0000\u6575\u6577\u6578\u0000\u6579\u0000"+
-        "\u0000\u0000\u0000\u657B\u657C\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u344C\u0000"+
-        "\u657D\u0000\u657E\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6621\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u6622\u6623\u6624\u0000"+
-        "\u6625\u6626\u0000\u0000\u6628\u6627\u0000\u0000"+
-        "\u6629\u0000\u0000\u0000\u0000\u0000\u0000\u662A"+
-        "\u662B\u0000\u0000\u0000\u0000\u0000\u0000\u662E"+
-        "\u662C\u662D\u3A61\u3753\u0000\u0000\u4356\u0000"+
-        "\u4833\u0000\u3D70\u0000\u0000\u474D\u0000\u486D"+
-        "\u662F\u586D\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6630\u6632\u0000\u4D65\u6631\u6634"+
-        "\u6633\u0000\u4D53\u0000\u6635\u0000\u487E\u0000"+
-        "\u0000\u0000\u0000\u0000\u6636\u0000\u0000\u0000"+
-        "\u0000\u0000\u6639\u0000\u0000\u6638\u6637\u0000"+
-        "\u0000\u0000\u0000\u663A\u3732\u0000\u0000\u0000"+
-        "\u4122\u3541\u0000\u0000\u0000\u0000\u663E\u663B"+
-        "\u0000\u0000\u663C\u0000\u0000\u0000\u663F\u0000"+
-        "\u6640\u663D\u0000\u0000\u0000\u3129\u0000\u0000"+
-        "\u0000\u3227\u0000\u0000\u0000\u6642\u6643\u0000"+
-        "\u0000\u0000\u6644\u0000\u4D62\u0000\u0000\u0000"+
-        "\u0000\u0000\u3D2C\u0000\u6646\u6645\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3F69\u6647\u0000\u0000\u0000\u0000\u6648\u0000"+
-        "\u0000\u6649\u0000\u3465\u0000\u0000\u0000\u0000"+
-        "\u344D\u0000\u0000\u664A\u0000\u0000\u0000\u0000"+
-        "\u0000\u664B\u0000\u4B5D\u4D63\u0000\u0000\u0000";
-
-    private final static String innerIndex4=
-        "\u4D54\u4F37\u0000\u394D\u664E\u3C54\u664D\u0000"+
-        "\u0000\u0000\u0000\u664F\u3C29\u0000\u0000\u0000"+
-        "\u4251\u0000\u6650\u0000\u0000\u394C\u0000\u4C57"+
-        "\u6651\u6652\u0000\u0000\u6653\u0000\u0000\u0000"+
-        "\u0000\u6654\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6655\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3C2A\u0000\u0000\u4C6D\u0000"+
-        "\u0000\u0000\u0000\u6657\u0000\u433F\u0000\u6656"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6659\u0000"+
-        "\u0000\u0000\u6658\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u665A\u0000\u0000\u0000\u403B\u0000"+
-        "\u665B\u0000\u665C\u0000\u0000\u0000\u4A39\u665D"+
-        "\u0000\u416F\u665E\u0000\u0000\u0000\u0000\u0000"+
-        "\u665F\u0000\u0000\u0000\u0000\u0000\u0000\u4E7E"+
-        "\u6662\u0000\u6661\u6660\u4430\u0000\u6663\u3F26"+
-        "\u0000\u6664\u0000\u0000\u0000\u6665\u4F38\u6666"+
-        "\u0000\u0000\u0000\u0000\u6667\u6669\u6668\u4825"+
-        "\u0000\u4679\u0000\u4F3E\u4829\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u666B\u0000\u0000\u3E53\u0000"+
-        "\u492A\u0000\u666C\u666A\u0000\u344E\u0000\u0000"+
-        "\u0000\u3854\u3B68\u0000\u0000\u486E\u0000\u0000"+
-        "\u0000\u382A\u4B43\u0000\u666F\u666D\u0000\u394E"+
-        "\u0000\u394F\u3069\u0000\u3A68\u0000\u0000\u0000"+
-        "\u0000\u0000\u4759\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u305F\u6674\u0000\u4340\u0000"+
-        "\u0000\u0000\u0000\u0000\u4758\u0000\u425B\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6676\u0000"+
-        "\u0000\u6672\u6675\u6670\u0000\u6673\u4B26\u0000"+
-        "\u0000\u3855\u0000\u0000\u307D\u6671\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6678"+
-        "\u0000\u6679\u0000\u0000\u4639\u0000\u0000\u0000"+
-        "\u363B\u0000\u0000\u0000\u6726\u473D\u0000\u0000"+
-        "\u0000\u0000\u3B69\u0000\u0000\u363C\u4048\u4F46"+
-        "\u4C2E\u6677\u4054\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3553\u667A\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u667C\u0000\u0000\u0000\u0000"+
-        "\u0000\u667B\u0000\u0000\u0000\u0000\u0000\u667D"+
-        "\u0000\u4326\u0000\u473E\u0000\u0000\u0000\u0000"+
-        "\u0000\u4431\u0000\u0000\u0000\u0000\u6723\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6722\u0000"+
-        "\u0000\u0000\u0000\u667E\u0000\u0000\u3F55\u0000"+
-        "\u4965\u6725\u0000\u6724\u3950\u4F53\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6735"+
-        "\u0000\u0000\u0000\u0000\u0000\u6729\u672A\u0000"+
-        "\u0000\u0000\u0000\u3C70\u0000\u0000\u6728\u0000"+
-        "\u3978\u6727\u0000\u0000\u672B\u0000\u0000\u0000"+
-        "\u4432\u4A22\u4123\u0000\u0000\u0000\u0000\u425C"+
-        "\u672F\u0000\u6730\u672C\u0000\u0000\u0000\u0000"+
-        "\u672D\u0000\u672E\u0000\u0000\u0000\u0000\u3951"+
-        "\u0000\u0000\u0000\u6736\u0000\u6732\u0000\u0000"+
-        "\u0000\u0000\u4966\u0000\u4B6C\u4928\u0000\u0000"+
-        "\u6731\u0000\u0000\u6734\u6733\u0000\u0000\u0000"+
-        "\u4B44\u6737\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6738\u0000\u0000\u4137\u0000\u6739\u0000\u0000"+
-        "\u673B\u0000\u673F\u0000\u0000\u673C\u673A\u473F"+
-        "\u673D\u0000\u673E\u0000\u0000\u0000\u3232\u0000"+
-        "\u6745\u6740\u0000\u0000\u0000\u6741\u0000\u0000"+
-        "\u0000\u6742\u0000\u4221\u0000\u0000\u0000\u0000"+
-        "\u6744\u6743\u6746\u0000\u0000\u0000\u0000\u6747"+
-        "\u6748\u0000\u0000\u3F43\u0000\u3269\u0000\u6749"+
-        "\u4E57\u0000\u3C2B\u0000\u0000\u3D2D\u0000\u0000"+
-        "\u0000\u0000\u0000\u3B6A\u4357\u0000\u0000\u0000"+
-        "\u0000\u0000\u674A\u674B\u3131\u0000\u674C\u0000"+
-        "\u0000\u674D\u674E\u0000\u0000\u674F\u0000\u6750"+
-        "\u363D\u5A2A\u6751\u0000\u4065\u6752\u3C4B\u0000"+
-        "\u6753\u0000\u5030\u0000\u0000\u0000\u6754\u4A5E"+
-        "\u345C\u0000\u0000\u4124\u3D58\u0000\u4971\u3D2E"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6755\u3952\u6756\u484C\u0000\u6764\u0000"+
-        "\u0000\u0000\u0000\u6758\u0000\u4249\u4775\u383F"+
-        "\u6757\u4125\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6759\u0000\u0000\u0000\u0000\u0000\u0000\u447A"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u675B\u675A\u675D\u0000\u0000\u675C\u0000\u675E"+
-        "\u0000\u0000\u6760\u0000\u675F\u0000\u344F\u0000"+
-        "\u6761\u0000\u6762\u6763\u0000\u0000\u3A31\u4E49"+
-        "\u0000\u6765\u3F27\u0000\u0000\u0000\u3170\u6766"+
-        "\u6767\u0000\u0000\u0000\u0000\u0000\u6768\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3072\u0000\u6769\u0000\u0000"+
-        "\u0000\u0000\u676A\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4967\u0000\u0000\u0000\u3C47\u0000\u676C"+
-        "\u0000\u0000\u0000\u0000\u0000\u3329\u3032\u0000"+
-        "\u0000\u0000\u0000\u676B\u676E\u474E\u0000\u3F44"+
-        "\u0000\u3256\u0000\u4B27\u0000\u0000\u0000\u0000"+
-        "\u375D\u365C\u0000\u676D\u0000\u326A\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3423\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3171\u6772\u4E6A\u425D\u0000\u0000\u4944"+
-        "\u0000\u677E\u0000\u3257\u677C\u0000\u677A\u6771"+
-        "\u0000\u676F\u0000\u6770\u0000\u3C63\u366C\u4377"+
-        "\u0000\u0000\u0000\u4651\u0000\u0000\u0000\u0000"+
-        "\u0000\u3151\u0000\u6774\u6773\u0000\u0000\u0000"+
-        "\u0000\u6779\u6775\u6778\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4C50\u6777\u3258\u337D\u677B\u0000"+
-        "\u0000\u677D\u0000\u0000\u0000\u0000\u3754\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6823\u682C"+
-        "\u682D\u0000\u0000\u0000\u302B\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6834\u0000\u0000\u0000\u0000"+
-        "\u3071\u0000\u0000\u682B\u0000\u0000\u0000\u682A"+
-        "\u0000\u6825\u6824\u0000\u6822\u6821\u4363\u0000"+
-        "\u427B\u6827\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6826\u0000\u0000\u0000\u0000\u6829\u0000\u0000"+
-        "\u0000\u4170\u3755\u0000\u0000\u0000\u0000\u3141"+
-        "\u6828\u0000\u3953\u0000\u0000\u0000\u0000\u0000"+
-        "\u4171\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u683A\u0000\u683B\u0000\u3259"+
-        "\u0000\u0000\u0000\u322E\u6838\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u682E\u0000\u6836"+
-        "\u0000\u683D\u6837\u0000\u0000\u0000\u6835\u0000"+
-        "\u0000\u0000\u0000\u6776\u0000\u0000\u6833\u0000"+
-        "\u0000\u0000\u682F\u0000\u0000\u0000\u3450\u6831"+
-        "\u683C\u0000\u6832\u0000\u0000\u0000\u0000\u0000"+
-        "\u683E\u0000\u6830\u477C\u0000\u0000\u0000\u0000"+
-        "\u0000\u4D69\u0000\u0000\u0000\u6839\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u684F\u0000\u0000"+
-        "\u0000\u6847\u0000\u0000\u0000\u3F7B\u0000\u0000"+
-        "\u0000\u0000\u3546\u0000\u365D\u0000\u6842\u0000"+
-        "\u0000\u0000\u0000\u325B\u0000\u0000\u3E54\u0000"+
-        "\u6845\u0000\u0000\u0000\u3A5A\u0000\u0000\u4551"+
-        "\u684A\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4A6E\u0000\u6841\u0000\u0000\u0000\u325A"+
-        "\u3856\u4929\u684B\u0000\u683F\u0000\u0000\u6848"+
-        "\u0000\u0000\u0000\u6852\u0000\u6843\u0000\u0000"+
-        "\u0000\u0000\u0000\u6844\u463A\u0000\u0000\u6849"+
-        "\u0000\u0000\u0000\u6846\u4B28\u684C\u3060\u0000"+
-        "\u0000\u0000\u0000\u6840\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u684E\u0000\u684D\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u476B\u6854\u0000\u685F\u0000\u0000\u0000"+
-        "\u0000\u337E\u0000\u0000\u0000\u6862\u0000\u0000"+
-        "\u6850\u0000\u0000\u0000\u6855\u4D6E\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u685E\u0000"+
-        "\u0000\u4D55\u0000\u0000\u0000\u0000\u4E2A\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4378"+
-        "\u0000\u0000\u0000\u336B\u0000\u0000\u0000\u0000"+
-        "\u0000\u4972\u6864\u4621\u0000\u0000\u3031\u0000"+
-        "\u0000\u685D\u0000\u6859\u4172\u6853\u685B\u6860"+
-        "\u0000\u472C\u0000\u0000\u0000\u302A\u0000\u6858"+
-        "\u0000\u6861\u4978\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u685C\u0000\u6857\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3E55\u0000\u0000\u0000\u0000"+
-        "\u3D2F\u0000\u0000\u0000\u3C2C\u0000\u0000\u0000"+
-        "\u0000\u4C58\u0000\u0000\u4947\u0000\u0000\u6867"+
-        "\u0000\u6870\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u685A\u0000\u0000"+
-        "\u0000\u0000\u3377\u0000\u0000\u0000\u0000\u0000"+
-        "\u3E78\u6865\u0000\u686A\u4173\u0000\u0000\u6866"+
-        "\u0000\u686D\u0000\u0000\u435F\u0000\u686E\u0000"+
-        "\u0000\u4D56\u6863\u3338\u0000\u6869\u0000\u0000"+
-        "\u686C\u4C2C\u0000\u0000\u0000\u0000\u686F\u0000"+
-        "\u0000\u6868\u686B\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u4B29\u0000\u4F21\u0000"+
-        "\u0000\u0000\u0000\u0000\u6873\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u687A\u0000\u0000\u6872"+
-        "\u3C43\u0000\u0000\u0000\u0000\u0000\u6851\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4A4E\u0000\u4C22\u6879\u6878\u0000\u6874"+
-        "\u6875\u0000\u3136\u0000\u0000\u0000\u0000\u6877"+
-        "\u0000\u6871\u0000\u0000\u0000\u0000\u4455\u0000"+
-        "\u0000\u0000\u0000\u0000\u6876\u307E\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4222\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4A43\u0000\u0000"+
-        "\u687B\u6921\u0000\u4859\u0000\u0000\u0000\u0000"+
-        "\u687E\u3E56\u3C49\u6923\u0000\u0000\u363E\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6924\u0000\u4979"+
-        "\u687D\u0000\u6856\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u687C\u0000\u0000\u0000\u0000"+
-        "\u4F4F\u4622\u4973\u0000\u0000\u692B\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6931"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6932\u0000"+
-        "\u6925\u0000\u0000\u0000\u4776\u0000\u0000\u692F"+
-        "\u6927\u0000\u6929\u0000\u0000\u0000\u0000\u0000"+
-        "\u6933\u6928\u0000\u0000\u692C\u0000\u0000\u3172"+
-        "\u0000\u4665\u0000\u692D\u6930\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u6926\u0000\u4126\u0000"+
-        "\u692A\u3B27\u3F45\u3730\u4C74\u0000\u4C79\u3D72"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6937\u6935\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4F4E\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6934\u0000\u0000\u0000\u4D75\u0000\u6936"+
-        "\u6938\u0000\u0000\u0000\u0000\u6939\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u693C\u693A\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u4623\u693B\u0000\u0000"+
-        "\u0000\u484D\u692E\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3D73"+
-        "\u0000\u693D\u6942\u4174\u0000\u0000\u6941\u0000"+
-        "\u0000\u0000\u6922\u0000\u0000\u0000\u6943\u4149"+
-        "\u0000\u0000\u693E\u6940\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u693F\u0000\u0000\u5D31\u5D22"+
-        "\u0000\u0000\u6945\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6944\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4D76\u0000\u623C"+
-        "\u6946\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6947"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6948\u3857\u0000"+
-        "\u3554\u0000\u0000\u0000\u694A\u515D\u0000\u0000"+
-        "\u0000\u0000\u3575\u0000\u4E3A\u0000\u3673\u694B"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u694C"+
-        "\u0000\u0000\u0000\u436E\u0000\u0000\u0000\u0000"+
-        "\u0000\u694D\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u467A\u0000\u303A\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3263\u6952\u6953\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u694E\u0000\u3B3D\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u694F\u4742\u0000\u0000\u0000"+
-        "\u0000\u6950\u6951\u695B\u0000\u0000\u0000\u6955"+
-        "\u6958\u0000\u0000\u0000\u0000\u0000\u6954\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u6956\u0000\u6957\u3C58"+
-        "\u0000\u6959\u0000\u4341\u0000\u3756\u3342\u0000"+
-        "\u0000\u0000\u0000\u0000\u695C\u0000\u0000\u0000"+
-        "\u0000\u333F\u0000\u6961\u0000\u0000\u695D\u6960"+
-        "\u0000\u0000\u0000\u0000\u483A\u0000\u0000\u0000"+
-        "\u0000\u695E\u0000\u0000\u695F\u4948\u485A\u6962"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u427D\u696C\u0000\u6968\u0000\u0000\u326B\u0000"+
-        "\u6966\u0000\u4B2A\u6967\u0000\u0000\u6964\u0000"+
-        "\u6965\u696A\u696D\u0000\u0000\u696B\u0000\u0000"+
-        "\u0000\u6969\u6963\u0000\u0000\u0000\u0000\u0000"+
-        "\u4358\u0000\u6974\u0000\u4C2A\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6972\u0000\u0000"+
-        "\u0000\u6973\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u696E\u0000\u0000\u6970"+
-        "\u0000\u0000\u0000\u6971\u0000\u0000\u0000\u696F"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4066\u0000\u4F39\u6978\u0000\u6979\u0000"+
-        "\u0000\u0000\u0000\u6A21\u0000\u3F2A\u0000\u697B"+
-        "\u0000\u697E\u0000\u0000\u0000\u0000\u0000\u6976"+
-        "\u6975\u0000\u0000\u6A22\u0000\u0000\u325C\u0000"+
-        "\u697C\u0000\u6A23\u0000\u0000\u0000\u697D\u0000"+
-        "\u0000\u0000\u0000\u0000\u697A\u0000\u4433\u0000"+
-        "\u6977\u0000\u0000\u0000\u0000\u0000\u0000\u4768"+
-        "\u0000\u0000\u6A27\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4D3B\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6A26"+
-        "\u0000\u0000\u6A25\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6A2E\u0000\u0000\u0000\u6A28"+
-        "\u0000\u0000\u0000\u6A30\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4D66\u6A33\u0000\u6A2A\u0000\u0000"+
-        "\u6A2B\u0000\u0000\u0000\u6A2F\u0000\u6A32\u6A31"+
-        "\u0000\u0000\u0000\u6A29\u0000\u0000\u0000\u0000"+
-        "\u6A2C\u0000\u6A3D\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6A36\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6A34"+
-        "\u0000\u0000\u6A35\u0000\u0000\u0000\u6A3A\u6A3B"+
-        "\u0000\u332A\u0000\u3542\u0000\u0000\u6A39\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6A24\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6A38\u6A3C\u6A37"+
-        "\u0000\u6A3E\u0000\u0000\u0000\u6A40\u6A3F\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6A42\u6A41\u695A\u0000\u0000\u0000\u6A46"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6A43\u0000\u0000\u0000\u0000\u6A44\u0000"+
-        "\u0000\u6A45\u0000\u6A47\u0000\u0000\u0000\u0000"+
-        "\u376C\u0000\u6A49\u0000\u6A48\u0000\u3D30\u0000"+
-        "\u0000\u0000\u0000\u0000\u3954\u5E27\u0000\u0000"+
-        "\u0000\u0000\u6A4A\u3D51\u0000\u0000\u0000\u3339"+
-        "\u0000\u6A4B\u0000\u3152\u0000\u3E57\u6A4C\u0000"+
-        "\u0000\u3955\u6A4D\u3061\u0000\u0000\u0000\u0000"+
-        "\u493D\u0000\u0000\u6A4E\u0000\u0000\u0000\u0000"+
-        "\u3F6A\u0000\u6A55\u0000\u0000\u6A52\u0000\u436F"+
-        "\u0000\u0000\u0000\u0000\u0000\u6A53\u6A50\u365E"+
-        "\u0000\u6A4F\u6A56\u0000\u0000\u0000\u0000\u0000"+
-        "\u3736\u0000\u0000\u425E\u0000\u6A5C\u0000\u0000"+
-        "\u0000\u0000\u6A58\u0000\u0000\u0000\u4235\u6A57"+
-        "\u0000\u6A5A\u0000\u0000\u0000\u0000\u6A51\u0000"+
-        "\u0000\u0000\u6A5B\u0000\u6A5D\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u486F\u0000\u0000\u6A59\u0000"+
-        "\u6A5E\u6A60\u0000\u0000\u3853\u6A54\u0000\u3041"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6A5F"+
-        "\u0000\u3A5B\u4E76\u6A61\u6A62\u4175\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4E22"+
-        "\u0000\u0000\u0000\u0000\u6A63\u4D35\u0000\u0000"+
-        "\u6A64\u6A65\u0000\u0000\u4A64\u6A66\u0000\u3A40"+
-        "\u0000\u4E23\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6A6B\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6A6C\u3E58\u6A6A\u0000\u0000\u0000"+
-        "\u4D67\u6A67\u0000\u0000\u6A69\u403D\u3F7E\u0000"+
-        "\u0000\u0000\u6A68\u0000\u6A6D\u0000\u0000\u4A23"+
-        "\u0000\u0000\u6A6F\u0000\u6A6E\u0000\u0000\u0000"+
-        "\u336C\u0000\u4B2B\u6A70\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6A7C\u6A72\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6A73\u0000\u0000"+
-        "\u0000\u0000\u6A74\u6A75\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6A79\u0000"+
-        "\u6A7A\u0000\u0000\u6A78\u0000\u0000\u0000\u0000"+
-        "\u0000\u6A76\u0000\u6A71\u6A77\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u6A7B\u7037\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3228\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6A7E\u365F"+
-        "\u6A7D\u0000\u0000\u0000\u6B22\u0000\u6B21\u0000"+
-        "\u0000\u0000\u6B24\u0000\u0000\u6B23\u0000\u6B25"+
-        "\u0000\u0000\u3D31\u0000\u6B26\u0000\u0000\u6B27"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6B28\u403E"+
-        "\u0000\u4D57\u0000\u6B29\u0000\u0000\u4A24\u4746"+
-        "\u6B2A\u0000\u6B2B\u382B\u0000\u0000\u0000\u352C"+
-        "\u0000\u0000\u0000\u6B2C\u0000\u0000\u3B6B\u4741"+
-        "\u6B2D\u0000\u3350\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6B2E\u0000\u0000\u0000\u0000\u6B30\u4D77"+
-        "\u0000\u6B2F\u3F46\u0000\u6B31\u0000\u0000\u6B32"+
-        "\u0000\u0000\u6B33\u3451\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6B34\u0000\u0000\u6B35\u0000\u6B36"+
-        "\u6B37\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3351\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6B38\u0000\u6B39\u6B3A\u0000\u0000"+
-        "\u0000\u0000\u0000\u3272\u0000\u0000\u3F28\u6B3B"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u6B3C\u0000\u0000\u0000"+
-        "\u6B3D\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3840\u0000\u447B\u6B3E\u0000\u0000\u0000\u0000"+
-        "\u3757\u0000\u3F56\u0000\u6B41\u0000\u4624\u0000"+
-        "\u6B40\u0000\u0000\u3731\u0000\u0000\u6B3F\u4277"+
-        "\u352D\u0000\u0000\u6B42\u0000\u6B43\u0000\u3E59"+
-        "\u0000\u0000\u0000\u376D\u0000\u6B44\u0000\u0000"+
-        "\u0000\u0000\u4B2C\u0000\u0000\u405F\u0000\u0000"+
-        "\u0000\u3576\u0000\u4C75\u414A\u0000\u6B45\u0000"+
-        "\u0000\u0000\u3F47\u4370\u3E5A\u0000\u0000\u0000"+
-        "\u0000\u6B46\u0000\u0000\u0000\u0000\u6B49\u0000"+
-        "\u6B4A\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3A3E\u4242\u6B48\u0000\u3E5B\u493E\u0000\u0000"+
-        "\u0000\u0000\u0000\u6B47\u0000\u0000\u3B6C\u0000"+
-        "\u3153\u0000\u6B4E\u3758\u0000\u0000\u3B6E\u0000"+
-        "\u0000\u3B6D\u0000\u4F4D\u6B4D\u6B4C\u4127\u0000"+
-        "\u354D\u4F43\u333A\u3E5C\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u6B4B\u0000\u0000\u0000"+
-        "\u0000\u0000\u6B50\u0000\u6B51\u6B4F\u0000\u3858"+
-        "\u0000\u4D40\u0000\u0000\u3B6F\u4727\u0000\u0000"+
-        "\u0000\u6B54\u0000\u4040\u0000\u4342\u0000\u0000"+
-        "\u4D36\u0000\u6B57\u0000\u0000\u0000\u386C\u0000"+
-        "\u403F\u6B53\u0000\u6B58\u386D\u6B55\u6B56\u0000"+
-        "\u6B52\u0000\u0000\u0000\u4062\u4649\u0000\u0000"+
-        "\u432F\u0000\u325D\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4870\u0000\u0000\u3543\u0000\u0000\u4434"+
-        "\u0000\u0000\u6B5B\u0000\u6B59\u0000\u0000\u434C"+
-        "\u0000\u0000\u0000\u4041\u3452\u6B5A\u0000\u3F5B"+
-        "\u0000\u0000\u4E4A\u0000\u0000\u0000\u4F40\u0000"+
-        "\u0000\u0000\u6B5C\u6B67\u4435\u0000\u6B66\u0000"+
-        "\u6B63\u6B6B\u6B64\u0000\u6B60\u0000\u447C\u6B5F"+
-        "\u0000\u0000\u0000\u6B5D\u0000\u4D21\u3B70\u0000"+
-        "\u0000\u6B61\u0000\u6B5E\u0000\u0000\u0000\u6B65"+
-        "\u3D74\u0000\u3841\u0000\u0000\u0000\u427A\u0000"+
-        "\u4B45\u315A\u3062\u0000\u4625\u0000\u0000\u6B69"+
-        "\u0000\u0000\u0000\u0000\u6B68\u0000\u4666\u0000"+
-        "\u6B6D\u0000\u0000\u0000\u6B62\u0000\u6B6C\u6B6E"+
-        "\u0000\u382C\u6B6A\u3956\u0000\u3C55\u0000\u0000"+
-        "\u6B6F\u4D58\u0000\u0000\u0000\u0000\u6B72\u0000"+
-        "\u6B75\u0000\u0000\u6B73\u4935\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6B70\u0000\u0000\u0000\u0000"+
-        "\u0000\u3660\u0000\u0000\u0000\u0000\u6B74\u0000"+
-        "\u0000\u6B76\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6B7A\u0000\u0000\u6B77\u0000\u6B79\u6B78"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6B7B\u0000"+
-        "\u3C31\u0000\u6B7D\u6B7C\u4968\u0000\u0000\u6C21"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3759\u0000"+
-        "\u0000\u0000\u0000\u6B7E\u6C22\u0000\u0000\u6C23"+
-        "\u3544\u6641\u3E79\u0000\u6C24\u0000\u0000\u386E"+
-        "\u0000\u0000\u0000\u0000\u0000\u6C25\u0000\u0000"+
-        "\u6C26\u0000\u0000\u3B3E\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u5A4E\u0000\u6C27\u0000\u6C28\u0000"+
-        "\u3D32\u0000\u6C29\u6C2A\u0000\u0000\u6C2B\u0000"+
-        "\u0000\u6C2C\u6C2D\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u432B"+
-        "\u0000\u0000\u6C2E\u0000\u0000\u0000\u0000\u6C30"+
-        "\u0000\u6C2F\u0000\u0000\u0000\u0000\u4626\u0000"+
-        "\u6C31\u0000\u4B2D\u0000\u6C32\u0000\u6C33\u0000"+
-        "\u6C34\u0000\u0000\u0000\u0000\u6C35\u0000\u0000"+
-        "\u0000\u0000\u465A\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3E5D\u6C36\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u396B\u502E\u6C37\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6C38\u493F\u6C39\u0000\u6C41\u0000\u0000\u0000"+
-        "\u0000\u0000\u6C3A\u0000\u0000\u6C3C\u0000\u0000"+
-        "\u0000\u6C3B\u6C3D\u0000\u4B46\u6C3E\u6C3F\u0000"+
-        "\u0000\u0000\u0000\u0000\u6C40\u0000\u0000\u0000"+
-        "\u6C42\u0000\u0000\u0000\u0000\u332D\u4467\u0000"+
-        "\u4969\u3A62\u3957\u0000\u0000\u0000\u0000\u494F"+
-        "\u325F\u484E\u6C45\u3453\u4055\u6C44\u6C49\u4379"+
-        "\u4C63\u0000\u6C47\u6C48\u352E\u0000\u6C4A\u4763"+
-        "\u425F\u0000\u0000\u4871\u453D\u6C46\u0000\u4B47"+
-        "\u326C\u6C4C\u4F28\u4442\u4F45\u0000\u0000\u3B71"+
-        "\u6C4B\u0000\u4231\u0000\u0000\u6C5C\u4128\u0000"+
-        "\u0000\u4678\u0000\u4950\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6C4F\u3B3F\u3B72\u0000\u3E5E\u0000"+
-        "\u4765\u0000\u382D\u6C4E\u6C4D\u0000\u496A\u0000"+
-        "\u0000\u0000\u3C41\u0000\u0000\u4552\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6C51\u6C52\u3958\u6C50\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u6C53\u6C54\u0000\u6C56"+
-        "\u4223\u0000\u6C55\u3466\u0000\u6C58\u0000\u6C57"+
-        "\u6C59\u0000\u0000\u6C5B\u6C5D\u0000\u6C5E\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u4056\u0000\u3C4F\u6C5F"+
-        "\u0000\u0000\u0000\u3352\u0000\u6C60\u0000\u0000"+
-        "\u4176\u6C61\u0000\u6C62\u496B\u0000\u0000\u352F"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6C63\u0000\u0000\u0000\u4436\u0000\u0000"+
-        "\u0000\u0000\u315B\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6C64\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3C71\u0000\u0000\u0000\u0000"+
-        "\u3F76\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u422D\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6C67\u0000\u0000\u0000\u6C66\u0000"+
-        "\u0000\u0000\u6C65\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6C6D\u6C6B\u0000\u0000\u6C68"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6C6A\u0000"+
-        "\u0000\u0000\u6C69\u6C6C\u0000\u3577\u0000\u6C70"+
-        "\u0000\u4057\u0000\u6C71\u0000\u0000\u0000\u0000"+
-        "\u3859\u0000\u6C6E\u6C6F\u0000\u0000\u0000\u4F29"+
-        "\u0000\u0000\u0000\u4437\u0000\u4129\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u6C72\u0000\u0000\u6C75"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6C73\u6C74\u4D59\u0000\u0000\u0000\u0000\u4627"+
-        "\u6C78\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6C76\u6C77\u6C79"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6D29\u0000\u0000\u0000\u0000\u0000"+
-        "\u6C7C\u0000\u0000\u0000\u6C7D\u6C7B\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6C7A\u0000\u447D\u0000\u0000\u6D21"+
-        "\u6D25\u6D22\u6C7E\u0000\u6D23\u0000\u0000\u0000"+
-        "\u6D24\u0000\u0000\u0000\u0000\u6D2B\u0000\u0000"+
-        "\u0000\u6D26\u0000\u0000\u0000\u0000\u0000\u4058"+
-        "\u6D28\u0000\u0000\u6D2A\u6D27\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6D2D\u0000\u3D33\u0000\u6D2C\u0000"+
-        "\u0000\u0000\u0000\u0000\u6D2E\u0000\u0000\u0000"+
-        "\u0000\u6D2F\u0000\u0000\u6D32\u6D31\u0000\u6D30"+
-        "\u0000\u0000\u6D34\u6D33\u0000\u4C76\u0000\u0000"+
-        "\u0000\u6D36\u0000\u6D35\u6D37\u0000\u0000\u0000"+
-        "\u0000\u6D38\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6D3A\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6D39\u3F48\u6D3B\u0000\u0000\u366D"+
-        "\u6D3C\u6D3E\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6D3F\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6D40\u6D3D\u0000"+
-        "\u6D41\u0000\u3C56\u6D42\u3530\u3733\u0000\u0000"+
-        "\u0000\u0000\u382E\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6D43\u0000\u0000\u0000\u4670"+
-        "\u0000\u0000\u453E\u6D44\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6D47\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3C34\u0000\u0000\u6D46\u6D45\u375A\u6D48\u0000"+
-        "\u0000\u0000\u0000\u3353\u0000\u6D4A\u0000\u0000"+
-        "\u0000\u3A5C\u6D49\u0000\u6D52\u0000\u0000\u0000"+
-        "\u0000\u0000\u6D4C\u6D4E\u4A65\u6D4B\u0000\u0000"+
-        "\u0000\u6D4D\u0000\u6D51\u6D4F\u3531\u0000\u6D50"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6D53\u0000"+
-        "\u0000\u475A\u4E58\u0000\u0000\u0000\u0000\u3D34"+
-        "\u0000\u0000\u0000\u6D54\u0000\u0000\u0000\u0000"+
-        "\u4D22\u6D56\u0000\u6D55\u0000\u0000\u6D59\u4D41"+
-        "\u0000\u0000\u6D58\u0000\u336D\u6D57\u6D5C\u0000"+
-        "\u0000\u6D5B\u0000\u0000\u6D5A\u4532\u6D5D\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6D5E"+
-        "\u0000\u0000\u0000\u0000\u6D5F\u0000\u0000\u396C"+
-        "\u0000\u3725\u6D60\u6D61\u6D62\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3F49\u6D63\u0000\u3C2D\u6D64"+
-        "\u0000\u0000\u0000\u6D65\u0000\u0000\u0000\u5221"+
-        "\u517E\u0000\u0000\u0000\u0000\u6D66\u6570\u6D67"+
-        "\u4324\u3F2B\u4740\u0000\u0000\u0000\u0000\u6D68"+
-        "\u0000\u0000\u4A55\u4454\u397E\u0000\u0000\u4329"+
-        "\u0000\u0000\u312A\u0000\u4B78\u3F57\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u375E\u0000"+
-        "\u0000\u3661\u0000\u0000\u4A56\u0000\u0000\u0000"+
-        "\u0000\u0000\u6D69\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6D6B\u0000\u0000\u6D6A\u3260\u0000"+
-        "\u0000\u4676\u6D6C\u4777\u0000\u4533\u0000\u6D6D"+
-        "\u3D52\u0000\u0000\u0000\u6D6F\u0000\u0000\u4C42"+
-        "\u6D7E\u6D71\u6D72\u0000\u0000\u4449\u0000\u0000";
-
-    private final static String innerIndex5=
-        "\u4260\u4177\u0000\u4628\u0000\u6D70\u3555\u0000"+
-        "\u0000\u0000\u0000\u6D79\u0000\u6D76\u6E25\u4629"+
-        "\u4360\u6D73\u0000\u447E\u4553\u6D74\u6D78\u3F60"+
-        "\u0000\u4767\u444C\u0000\u0000\u4042\u6D77\u422E"+
-        "\u4224\u6D75\u3029\u4F22\u0000\u0000\u0000\u6D7A"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4261\u0000"+
-        "\u0000\u3D35\u3F4A\u0000\u0000\u6D7C\u6D7B\u0000"+
-        "\u306F\u6D7D\u0000\u0000\u492F\u0000\u6E27\u0000"+
-        "\u0000\u465B\u3F6B\u0000\u0000\u4359\u0000\u3678"+
-        "\u0000\u6E26\u4D37\u313F\u0000\u4A57\u3261\u6E21"+
-        "\u6E22\u6E23\u6E24\u463B\u4323\u3063\u6E28\u0000"+
-        "\u6E29\u7423\u0000\u0000\u423D\u0000\u6E2A\u0000"+
-        "\u3173\u414C\u0000\u382F\u0000\u4D5A\u0000\u0000"+
-        "\u6E2B\u452C\u0000\u0000\u0000\u4178\u3C57\u6E2C"+
-        "\u0000\u0000\u6E2F\u0000\u0000\u3D65\u6E2D\u412B"+
-        "\u412A\u0000\u3064\u0000\u4E4B\u6E31\u0000\u4872"+
-        "\u6E33\u6E32\u6E30\u6364\u3454\u0000\u0000\u6D6E"+
-        "\u0000\u6E35\u6E34\u0000\u0000\u0000\u0000\u6E36"+
-        "\u0000\u4D38\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4661\u0000\u0000\u4B2E\u0000"+
-        "\u6E37\u0000\u3C59\u0000\u0000\u0000\u0000\u6E38"+
-        "\u0000\u6E39\u0000\u0000\u0000\u6E3A\u0000\u0000"+
-        "\u4521\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u306A\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3959\u0000\u0000\u0000\u4F3A\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6E3E\u0000\u0000\u0000\u0000"+
-        "\u0000\u3734\u6E3B\u0000\u6E3C\u0000\u0000\u0000"+
-        "\u4974\u0000\u0000\u0000\u0000\u3354\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4D39\u0000\u363F"+
-        "\u0000\u0000\u0000\u0000\u0000\u4554\u0000\u0000"+
-        "\u0000\u0000\u6E3F\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6E40\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6E41\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4522\u0000\u0000"+
-        "\u6E43\u0000\u6E42\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4653\u6E44\u3D36\u3C60\u475B\u4371\u0000"+
-        "\u0000\u0000\u3C72\u0000\u3F6C\u0000\u6E45\u0000"+
-        "\u6E46\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3F5D\u6E47\u0000\u6E48\u0000\u0000"+
-        "\u0000\u6E49\u4D6F\u0000\u3D37\u0000\u0000\u0000"+
-        "\u0000\u0000\u6E4B\u6E4A\u0000\u395A\u0000\u3973"+
-        "\u3B40\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6E4E\u0000\u0000\u0000\u0000\u3D66"+
-        "\u0000\u6E4D\u0000\u6E4C\u0000\u4269\u0000\u0000"+
-        "\u386F\u0000\u4043\u0000\u0000\u0000\u0000\u4830"+
-        "\u0000\u0000\u0000\u0000\u3D39\u0000\u0000\u0000"+
-        "\u0000\u0000\u6E4F\u0000\u3E5F\u0000\u0000\u0000"+
-        "\u0000\u0000\u6E52\u6E50\u0000\u0000\u0000\u6E51"+
-        "\u0000\u0000\u0000\u0000\u6E54\u6E53\u0000\u0000"+
-        "\u3E7A\u0000\u6E55\u0000\u0000\u0000\u0000\u0000"+
-        "\u6E56\u6E57\u0000\u0000\u0000\u0000\u4850\u3A53"+
-        "\u3C61\u6E58\u0000\u6E59\u4E24\u3D45\u4C6E\u4E4C"+
-        "\u6E5A\u3662\u0000\u0000\u0000\u0000\u6E5B\u0000"+
-        "\u4523\u0000\u0000\u6E5E\u3378\u3F4B\u0000\u6E5C"+
-        "\u0000\u6E5D\u0000\u4460\u0000\u0000\u4B55\u367C"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6E60\u6E61\u0000"+
-        "\u0000\u0000\u0000\u0000\u6E5F\u0000\u0000\u6E63"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u465F\u3343\u0000"+
-        "\u0000\u6E67\u0000\u0000\u6E64\u6E66\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6E62\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6F4F\u0000\u0000\u6E65\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u4E6B\u0000\u0000\u385A"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6E6F"+
-        "\u0000\u0000\u0000\u0000\u4534\u6E6A\u0000\u0000"+
-        "\u6E6D\u6E6B\u0000\u6E70\u0000\u0000\u0000\u0000"+
-        "\u6E71\u0000\u0000\u0000\u0000\u0000\u0000\u6E69"+
-        "\u0000\u0000\u6E76\u3174\u0000\u0000\u6E68\u0000"+
-        "\u0000\u0000\u482D\u0000\u6E6C\u0000\u3E60\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u395B\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4B48\u0000"+
-        "\u3664\u0000\u0000\u3D46\u0000\u463C\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u412D\u0000\u6E74\u0000\u6E6E\u6E73\u0000"+
-        "\u4C43\u0000\u4438\u6E75\u6E72\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u412C\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6E79"+
-        "\u0000\u6E78\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6E77"+
-        "\u0000\u0000\u4B2F\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3D7B\u0000\u0000\u0000"+
-        "\u0000\u6E7A\u4A5F\u0000\u0000\u3154\u0000\u0000"+
-        "\u0000\u0000\u4946\u4372\u0000\u0000\u0000\u0000"+
-        "\u3578\u0000\u6E7C\u0000\u395D\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3B2C\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6E7B"+
-        "\u3F6D\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3F6E\u6F21\u6F23\u0000\u0000\u0000\u0000\u0000"+
-        "\u3E7B\u0000\u6F22\u6F24\u0000\u0000\u3653\u0000"+
-        "\u4945\u0000\u0000\u3C62\u4F23\u0000\u6E7E\u3A78"+
-        "\u0000\u0000\u4F3F\u0000\u0000\u6F26\u0000\u0000"+
-        "\u0000\u0000\u6F25\u6F27\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u6E7D\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4669\u0000\u4555\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u4457\u0000\u6F2C\u0000"+
-        "\u0000\u0000\u0000\u4343\u6F28\u0000\u0000\u0000"+
-        "\u6F29\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u372D\u0000\u6F2B\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3830\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u6F2A\u0000\u3E61\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3379\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u6F30\u0000\u3A3F\u4179"+
-        "\u0000\u0000\u444A\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u333B"+
-        "\u0000\u0000\u0000\u0000\u6F2E\u6F2F\u4443\u0000"+
-        "\u6F2D\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6F31\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6F37\u0000\u0000\u0000\u0000"+
-        "\u6F3A\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6F39\u452D\u0000\u0000\u0000\u0000\u6F32\u6F33"+
-        "\u6F36\u0000\u0000\u0000\u0000\u6F38\u0000\u0000"+
-        "\u0000\u3640\u0000\u0000\u6F3B\u6F35\u0000\u0000"+
-        "\u6F34\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6F3F\u0000\u0000\u0000\u6F40"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6F41\u0000\u0000\u6F3E\u6F3D\u0000\u0000\u0000"+
-        "\u3E62\u462A\u6F3C\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6F45\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6F43\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6F44\u6F42\u0000"+
-        "\u4278\u0000\u6F46\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6F47\u0000\u0000\u6F49\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3455\u6F48\u4C7A\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6F54\u6F4A\u0000\u0000\u6F4D\u0000"+
-        "\u6F4B\u0000\u6F4C\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6F4E\u0000\u0000\u0000\u0000\u0000"+
-        "\u6F50\u0000\u0000\u0000\u0000\u6F51\u0000\u6F52"+
-        "\u0000\u0000\u0000\u0000\u6F55\u6F53\u6F56\u6F58"+
-        "\u0000\u6F57\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4439"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4C67\u0000\u6F59\u412E\u0000\u0000\u0000\u6F5A"+
-        "\u0000\u4A44\u6F5B\u332B\u0000\u0000\u0000\u313C"+
-        "\u0000\u3457\u0000\u3456\u6F5C\u0000\u6F5D\u0000"+
-        "\u6F5E\u6F5F\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6F60\u0000\u3458\u3355\u395E\u4836\u0000\u6F62"+
-        "\u6F61\u0000\u0000\u0000\u0000\u6F63\u0000\u0000"+
-        "\u0000\u0000\u315C\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6F66\u0000\u6F65\u6F64\u0000\u6F67\u0000"+
-        "\u0000\u0000\u0000\u6F6A\u0000\u0000\u0000\u3047"+
-        "\u0000\u0000\u6F68\u0000\u6F6C\u6F6B\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u6F6E\u6F6D\u6F6F\u0000"+
-        "\u462E\u0000\u0000\u0000\u6F70\u0000\u0000\u0000"+
-        "\u0000\u6F71\u6F73\u0000\u0000\u6F72\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u496C\u0000\u0000\u0000"+
-        "\u0000\u6F74\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6F75\u0000\u3A65\u0000\u0000\u0000\u6F76\u6F77"+
-        "\u0000\u0000\u4B49\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u414B\u0000\u0000\u0000\u3024"+
-        "\u424B\u0000\u6F78\u0000\u496D\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6F7B\u6F79\u395F\u0000\u6F7A"+
-        "\u3842\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4A45\u6F7D\u7021\u6F7E\u7022"+
-        "\u0000\u0000\u3121\u3F58\u3D7C\u3459\u7023\u0000"+
-        "\u0000\u0000\u4766\u0000\u7025\u0000\u0000\u0000"+
-        "\u3122\u0000\u7024\u4444\u0000\u4E4D\u462B\u6F7C"+
-        "\u4E26\u0000\u3831\u0000\u0000\u4D5B\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3679\u4E34\u0000"+
-        "\u3728\u0000\u4262\u6721\u0000\u7026\u332C\u3F6F"+
-        "\u0000\u0000\u0000\u0000\u3356\u7028\u0000\u7029"+
-        "\u7027\u3764\u0000\u3A5D\u3E63\u0000\u0000\u0000"+
-        "\u3123\u0000\u0000\u4E59\u0000\u0000\u0000\u702B"+
-        "\u6E2E\u0000\u702A\u0000\u0000\u0000\u0000\u0000"+
-        "\u702E\u702C\u702D\u0000\u702F\u0000\u7030\u4E6C"+
-        "\u7031\u7032\u0000\u4049\u483B\u0000\u0000\u0000"+
-        "\u3F7D\u3467\u0000\u0000\u4D3A\u326D\u3D38\u385B"+
-        "\u0000\u7035\u0000\u7034\u3B73\u7036\u7033\u0000"+
-        "\u0000\u3B28\u0000\u0000\u0000\u703A\u6A2D\u0000"+
-        "\u0000\u5256\u0000\u3F77\u7038\u0000\u0000\u0000"+
-        "\u0000\u0000\u4E25\u4671\u0000\u0000\u0000\u0000"+
-        "\u312B\u0000\u4063\u3C36\u0000\u0000\u0000\u0000"+
-        "\u4A37\u0000\u3140\u0000\u0000\u0000\u4E6D\u4D6B"+
-        "\u0000\u703B\u0000\u4545\u0000\u0000\u0000\u0000"+
-        "\u3C7B\u0000\u0000\u0000\u703C\u0000\u703D\u3F4C"+
-        "\u703E\u0000\u4E6E\u0000\u0000\u7039\u7040\u7042"+
-        "\u0000\u7041\u0000\u703F\u0000\u0000\u7043\u0000"+
-        "\u0000\u7044\u0000\u0000\u417A\u0000\u3262\u0000"+
-        "\u0000\u0000\u0000\u0000\u7045\u0000\u0000\u4C38"+
-        "\u0000\u0000\u7046\u0000\u0000\u0000\u0000\u0000"+
-        "\u7047\u0000\u4F2A\u0000\u0000\u0000\u0000\u0000"+
-        "\u5B31\u7048\u0000\u0000\u0000\u7049\u704A\u0000"+
-        "\u0000\u0000\u704E\u0000\u704B\u0000\u704C\u0000"+
-        "\u704D\u704F\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4044\u0000\u0000\u0000\u4C77\u0000"+
-        "\u0000\u4045\u0000\u0000\u7050\u0000\u4873\u0000"+
-        "\u7051\u7353\u4C4C\u0000\u7052\u0000\u7053\u0000"+
-        "\u7054\u3357\u0000\u7056\u0000\u3F59\u0000\u0000"+
-        "\u0000\u7057\u0000\u0000\u3724\u0000\u0000\u0000"+
-        "\u0000\u7058\u705C\u0000\u705A\u0000\u0000\u0000"+
-        "\u0000\u705B\u0000\u0000\u3373\u7059\u705D\u0000"+
-        "\u0000\u0000\u0000\u705E\u0000\u3048\u0000\u705F"+
-        "\u7060\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3E64\u0000\u0000\u0000\u7061\u0000\u0000\u0000"+
-        "\u3547\u0000\u0000\u7064\u0000\u0000\u7063\u0000"+
-        "\u7062\u0000\u0000\u6B71\u0000\u4A5C\u0000\u0000"+
-        "\u0000\u0000\u0000\u7065\u7066\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u7067\u0000\u0000\u7068\u0000"+
-        "\u7069\u0000\u0000\u706A\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u345A\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u706B\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u706C\u4723\u0000"+
-        "\u0000\u0000\u706E\u323B\u0000\u7071\u7070\u0000"+
-        "\u0000\u0000\u0000\u3124\u0000\u0000\u0000\u3641"+
-        "\u0000\u4A47\u443A\u3A22\u0000\u3960\u3D67\u0000"+
-        "\u3F5C\u0000\u0000\u0000\u7073\u0000\u0000\u7072"+
-        "\u4D42\u3468\u4852\u465C\u0000\u0000\u0000\u3F7C"+
-        "\u4E4E\u0000\u375B\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u7076\u0000\u0000\u7075\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u4B4B\u462C\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3150\u0000\u0000\u7077"+
-        "\u7074\u0000\u0000\u4951\u4D6A\u7078\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u7079\u0000"+
-        "\u0000\u0000\u0000\u707B\u426A\u335B\u335C\u707A"+
-        "\u0000\u0000\u0000\u0000\u3469\u3832\u0000\u0000"+
-        "\u346A\u0000\u0000\u453F\u0000\u0000\u4E60\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u385C"+
-        "\u0000\u0000\u0000\u707C\u0000\u0000\u0000\u707D"+
-        "\u707E\u7121\u0000\u7123\u7122\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4977\u0000\u7124\u0000\u0000\u0000\u0000\u7125"+
-        "\u0000\u7126\u0000\u0000\u0000\u0000\u7127\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u7129\u7128\u0000\u712A\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4874\u664C\u0000\u0000\u3F29"+
-        "\u0000\u0000\u3532\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u712B\u0000\u712C\u0000\u522C\u5D3B\u4853"+
-        "\u0000\u0000\u307B\u0000\u303B\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3B74\u4B30\u3E7E\u0000"+
-        "\u0000\u0000\u0000\u712D\u0000\u4C5F\u0000\u0000"+
-        "\u0000\u712E\u4D5C\u0000\u3142\u0000\u0000\u0000"+
-        "\u3B41\u0000\u712F\u326E\u7130\u0000\u0000\u0000"+
-        "\u7131\u0000\u0000\u0000\u0000\u7133\u7134\u0000"+
-        "\u7136\u7132\u0000\u0000\u7135\u0000\u0000\u0000"+
-        "\u345B\u0000\u0000\u0000\u7137\u0000\u7138\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u7139\u713A\u0000"+
-        "\u0000\u0000\u713B\u0000\u0000\u713D\u0000\u0000"+
-        "\u0000\u713C\u0000\u713F\u7142\u0000\u0000\u0000"+
-        "\u713E\u7140\u7141\u0000\u0000\u7143\u0000\u3642"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3C73\u7144"+
-        "\u7145\u3961\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u7146\u0000\u0000"+
-        "\u333E\u0000\u0000\u0000\u474F\u7147\u7148\u0000"+
-        "\u0000\u0000\u0000\u435A\u466B\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u7149\u0000\u0000\u0000"+
-        "\u0000\u477D\u0000\u0000\u424C\u3158\u366E\u0000"+
-        "\u366F\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4373\u714E\u3670\u0000\u0000\u326F\u0000\u0000"+
-        "\u714D\u0000\u0000\u714B\u0000\u714C\u0000\u714A"+
-        "\u0000\u0000\u7158\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u714F\u7150\u0000"+
-        "\u0000\u7151\u7152\u0000\u0000\u0000\u0000\u0000"+
-        "\u7154\u0000\u0000\u7153\u0000\u0000\u0000\u3D59"+
-        "\u0000\u7155\u0000\u0000\u0000\u7157\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3533\u7156"+
-        "\u0000\u0000\u417B\u3833\u0000\u0000\u0000\u0000"+
-        "\u0000\u7159\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u424D\u0000\u0000\u715A\u0000\u0000\u0000\u0000"+
-        "\u462D\u0000\u0000\u0000\u0000\u0000\u0000\u715B"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u7160\u0000"+
-        "\u715E\u0000\u715D\u715F\u0000\u715C\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u7162\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u7161\u0000\u7164"+
-        "\u0000\u0000\u3643\u7163\u0000\u0000\u0000\u7165"+
-        "\u0000\u0000\u7166\u0000\u7168\u7167\u0000\u0000"+
-        "\u0000\u7169\u716B\u716A\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u397C\u0000\u0000\u0000\u0000\u716C\u0000\u0000"+
-        "\u716D\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u333C\u0000\u0000\u0000\u716E\u0000\u0000\u0000"+
-        "\u716F\u0000\u0000\u0000\u3F71\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u7170"+
-        "\u0000\u7171\u0000\u7172\u7173\u0000\u0000\u0000"+
-        "\u3962\u0000\u0000\u0000\u0000\u0000\u7174\u7175"+
-        "\u0000\u0000\u7176\u7177\u0000\u0000\u7178\u0000"+
-        "\u0000\u0000\u4831\u717A\u0000\u4926\u717B\u7179"+
-        "\u0000\u717D\u0000\u0000\u717C\u0000\u0000\u717E"+
-        "\u0000\u0000\u0000\u7221\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u7222\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u7223\u0000\u7224\u0000\u0000\u0000\u0000\u7225"+
-        "\u0000\u0000\u7226\u7227\u0000\u7228\u0000\u7229"+
-        "\u722A\u722B\u722C\u0000\u0000\u0000\u722D\u722E"+
-        "\u0000\u5D35\u722F\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6478\u3534\u0000\u0000\u0000"+
-        "\u0000\u3321\u3A32\u7231\u7230\u4C25\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u7233\u7234\u7232"+
-        "\u0000\u7235\u0000\u0000\u4B62\u0000\u0000\u0000"+
-        "\u7236\u0000\u357B\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4F25"+
-        "\u0000\u0000\u0000\u0000\u7237\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u7239\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u303E\u0000"+
-        "\u0000\u723A\u4A2B\u7238\u0000\u0000\u723B\u723C"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u723D"+
-        "\u723E\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u723F\u0000\u4B6E\u3B2D\u0000\u3A7A\u412F\u0000"+
-        "\u0000\u0000\u0000\u0000\u7240\u0000\u0000\u0000"+
-        "\u0000\u7243\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u7241\u0000\u0000\u0000\u0000\u0000\u7244\u0000"+
-        "\u0000\u3871\u7242\u0000\u0000\u0000\u0000\u7245"+
-        "\u0000\u7246\u7247\u0000\u724B\u0000\u3B2A\u0000"+
-        "\u0000\u0000\u0000\u4264\u0000\u0000\u0000\u0000"+
-        "\u0000\u724C\u7249\u7248\u724A\u0000\u0000\u0000"+
-        "\u375F\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u7250\u724F\u724E\u0000\u0000\u3033\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u725A\u0000\u7256\u0000"+
-        "\u7257\u7253\u7259\u0000\u7255\u3362\u0000\u0000"+
-        "\u4F4C\u0000\u7258\u7254\u7252\u7251\u0000\u0000"+
-        "\u0000\u0000\u0000\u725C\u0000\u0000\u0000\u0000"+
-        "\u0000\u725F\u0000\u0000\u725E\u725D\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4949\u725B\u3073"+
-        "\u7260\u0000\u7262\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u336F\u724D\u3137\u0000\u0000\u7264\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u7263\u7261"+
-        "\u432D\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4B70\u0000\u0000\u0000\u0000\u4E5A"+
-        "\u0000\u0000\u7265\u0000\u0000\u0000\u0000\u0000"+
-        "\u7266\u0000\u0000\u0000\u0000\u0000\u0000\u7267"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u7268\u0000"+
-        "\u7269\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u443B\u0000\u726A"+
-        "\u0000\u4837\u0000\u726F\u726B\u0000\u0000\u0000"+
-        "\u726C\u0000\u0000\u4B31\u4C44\u0000\u4650\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u7270\u0000\u0000\u7271\u463E"+
-        "\u726E\u726D\u0000\u0000\u0000\u0000\u322A\u0000"+
-        "\u0000\u0000\u7279\u0000\u0000\u7278\u0000\u0000"+
-        "\u0000\u0000\u0000\u3175\u0000\u0000\u0000\u7276"+
-        "\u0000\u0000\u0000\u7275\u0000\u0000\u7273\u0000"+
-        "\u337B\u0000\u7272\u3C32\u3229\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3963\u0000\u0000\u727C\u727B"+
-        "\u0000\u727A\u0000\u0000\u7277\u0000\u727D\u0000"+
-        "\u727E\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u7325\u7324\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u7326\u0000\u0000\u312D\u7321\u7322\u0000"+
-        "\u3974\u4C39\u0000\u0000\u7323\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u4B32\u0000\u0000\u732B"+
-        "\u0000\u0000\u7327\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u732C\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u7329"+
-        "\u0000\u7328\u0000\u0000\u0000\u0000\u0000\u375C"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u732D\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u732E\u0000\u0000\u0000"+
-        "\u0000\u732F\u0000\u732A\u0000\u0000\u0000\u7274"+
-        "\u0000\u0000\u7330\u0000\u4461\u0000\u0000\u0000"+
-        "\u7334\u0000\u7335\u7333\u0000\u0000\u0000\u0000"+
-        "\u0000\u7332\u7338\u0000\u7331\u0000\u7336\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u7337"+
-        "\u0000\u0000\u0000\u733A\u0000\u0000\u0000\u0000"+
-        "\u0000\u7339\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u733C\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u733D\u0000\u733E"+
-        "\u0000\u0000\u4F49\u0000\u0000\u0000\u0000\u0000"+
-        "\u733B\u426B\u3A6D\u0000\u0000\u733F\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u7340\u7341\u0000\u0000\u7342\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u7343\u0000\u0000"+
-        "\u3834\u7344\u0000\u0000\u0000\u7345\u0000\u3C2F"+
-        "\u0000\u7346\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u7347\u0000\u0000\u7348\u7349\u0000\u0000\u0000"+
-        "\u0000\u734C\u734A\u4F3C\u0000\u734B\u0000\u4E6F"+
-        "\u0000\u0000\u0000\u0000\u0000\u734D\u0000\u4E5B"+
-        "\u0000\u0000\u0000\u0000\u0000\u734E\u477E\u0000"+
-        "\u0000\u734F\u7351\u0000\u0000\u7352\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u7350\u396D\u4C4D\u4B63\u5677\u0000\u5D60\u4B7B"+
-        "\u0000\u0000\u0000\u0000\u322B\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u7354\u3550\u7355\u7356"+
-        "\u7357\u0000\u3975\u0000\u7358\u0000\u0000\u0000"+
-        "\u6054\u4C5B\u0000\u4263\u7359\u735B\u735A\u0000"+
-        "\u735C\u0000\u0000\u0000\u0000\u735D\u0000\u0000"+
-        "\u735E\u0000\u0000\u0000\u0000\u0000\u0000\u735F"+
-        "\u0000\u0000\u0000\u0000\u7360\u0000\u7361\u7362"+
-        "\u0000\u7363\u0000\u7364\u7365\u7366\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u7367"+
-        "\u7368\u0000\u0000\u0000\u0000\u0000\u4524\u0000"+
-        "\u0000\u0000\u0000\u385D\u0000\u736A\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u414D\u736B\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u736C\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4921\u0000\u0000\u736D\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u736E\u6337\u0000\u0000\u6C5A\u706D"+
-        "\u0000\u0000\u736F\u0000\u7370\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u7372"+
-        "\u7373\u7374\u4E70\u7371\u0000\u0000\u7375\u7376"+
-        "\u0000\u0000\u7378\u0000\u7377\u0000\u0000\u0000"+
-        "\u0000\u0000\u737A\u0000\u0000\u0000\u737B\u7379"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4E36\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u737C\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u737D\u6354\u0000\u0000"+
-        "\u737E\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
-
-    private final static String innerIndex6=
-        "\u7521\u7522\u7523\u7524\u7525\u7526\u7527\u7528"+
-        "\u7529\u752A\u752B\u752C\u752D\u752E\u752F\u7530"+
-        "\u7531\u7532\u7533\u7534\u7535\u7536\u7537\u7538"+
-        "\u7539\u753A\u753B\u753C\u753D\u753E\u753F\u7540"+
-        "\u7541\u7542\u7543\u7544\u7545\u7546\u7547\u7548"+
-        "\u7549\u754A\u754B\u754C\u754D\u754E\u754F\u7550"+
-        "\u7551\u7552\u7553\u7554\u7555\u7556\u7557\u7558"+
-        "\u7559\u755A\u755B\u755C\u755D\u755E\u755F\u7560"+
-        "\u7561\u7562\u7563\u7564\u7565\u7566\u7567\u7568"+
-        "\u7569\u756A\u756B\u756C\u756D\u756E\u756F\u7570"+
-        "\u7571\u7572\u7573\u7574\u7575\u7576\u7577\u7578"+
-        "\u7579\u757A\u757B\u757C\u757D\u757E\u7621\u7622"+
-        "\u7623\u7624\u7625\u7626\u7627\u7628\u7629\u762A"+
-        "\u762B\u762C\u762D\u762E\u762F\u7630\u7631\u7632"+
-        "\u7633\u7634\u7635\u7636\u7637\u7638\u7639\u763A"+
-        "\u763B\u763C\u763D\u763E\u763F\u7640\u7641\u7642"+
-        "\u7643\u7644\u7645\u7646\u7647\u7648\u7649\u764A"+
-        "\u764B\u764C\u764D\u764E\u764F\u7650\u7651\u7652"+
-        "\u7653\u7654\u7655\u7656\u7657\u7658\u7659\u765A"+
-        "\u765B\u765C\u765D\u765E\u765F\u7660\u7661\u7662"+
-        "\u7663\u7664\u7665\u7666\u7667\u7668\u7669\u766A"+
-        "\u766B\u766C\u766D\u766E\u766F\u7670\u7671\u7672"+
-        "\u7673\u7674\u7675\u7676\u7677\u7678\u7679\u767A"+
-        "\u767B\u767C\u767D\u767E\u7721\u7722\u7723\u7724"+
-        "\u7725\u7726\u7727\u7728\u7729\u772A\u772B\u772C"+
-        "\u772D\u772E\u772F\u7730\u7731\u7732\u7733\u7734"+
-        "\u7735\u7736\u7737\u7738\u7739\u773A\u773B\u773C"+
-        "\u773D\u773E\u773F\u7740\u7741\u7742\u7743\u7744"+
-        "\u7745\u7746\u7747\u7748\u7749\u774A\u774B\u774C"+
-        "\u774D\u774E\u774F\u7750\u7751\u7752\u7753\u7754"+
-        "\u7755\u7756\u7757\u7758\u7759\u775A\u775B\u775C"+
-        "\u775D\u775E\u775F\u7760\u7761\u7762\u7763\u7764"+
-        "\u7765\u7766\u7767\u7768\u7769\u776A\u776B\u776C"+
-        "\u776D\u776E\u776F\u7770\u7771\u7772\u7773\u7774"+
-        "\u7775\u7776\u7777\u7778\u7779\u777A\u777B\u777C"+
-        "\u777D\u777E\u7821\u7822\u7823\u7824\u7825\u7826"+
-        "\u7827\u7828\u7829\u782A\u782B\u782C\u782D\u782E"+
-        "\u782F\u7830\u7831\u7832\u7833\u7834\u7835\u7836"+
-        "\u7837\u7838\u7839\u783A\u783B\u783C\u783D\u783E"+
-        "\u783F\u7840\u7841\u7842\u7843\u7844\u7845\u7846"+
-        "\u7847\u7848\u7849\u784A\u784B\u784C\u784D\u784E"+
-        "\u784F\u7850\u7851\u7852\u7853\u7854\u7855\u7856"+
-        "\u7857\u7858\u7859\u785A\u785B\u785C\u785D\u785E"+
-        "\u785F\u7860\u7861\u7862\u7863\u7864\u7865\u7866"+
-        "\u7867\u7868\u7869\u786A\u786B\u786C\u786D\u786E"+
-        "\u786F\u7870\u7871\u7872\u7873\u7874\u7875\u7876"+
-        "\u7877\u7878\u7879\u787A\u787B\u787C\u787D\u787E"+
-        "\u7921\u7922\u7923\u7924\u7925\u7926\u7927\u7928"+
-        "\u7929\u792A\u792B\u792C\u792D\u792E\u792F\u7930"+
-        "\u7931\u7932\u7933\u7934\u7935\u7936\u7937\u7938"+
-        "\u7939\u793A\u793B\u793C\u793D\u793E\u793F\u7940"+
-        "\u7941\u7942\u7943\u7944\u7945\u7946\u7947\u7948"+
-        "\u7949\u794A\u794B\u794C\u794D\u794E\u794F\u7950"+
-        "\u7951\u7952\u7953\u7954\u7955\u7956\u7957\u7958"+
-        "\u7959\u795A\u795B\u795C\u795D\u795E\u795F\u7960"+
-        "\u7961\u7962\u7963\u7964\u7965\u7966\u7967\u7968"+
-        "\u7969\u796A\u796B\u796C\u796D\u796E\u796F\u7970"+
-        "\u7971\u7972\u7973\u7974\u7975\u7976\u7977\u7978"+
-        "\u7979\u797A\u797B\u797C\u797D\u797E\u7A21\u7A22"+
-        "\u7A23\u7A24\u7A25\u7A26\u7A27\u7A28\u7A29\u7A2A"+
-        "\u7A2B\u7A2C\u7A2D\u7A2E\u7A2F\u7A30\u7A31\u7A32"+
-        "\u7A33\u7A34\u7A35\u7A36\u7A37\u7A38\u7A39\u7A3A"+
-        "\u7A3B\u7A3C\u7A3D\u7A3E\u7A3F\u7A40\u7A41\u7A42"+
-        "\u7A43\u7A44\u7A45\u7A46\u7A47\u7A48\u7A49\u7A4A"+
-        "\u7A4B\u7A4C\u7A4D\u7A4E\u7A4F\u7A50\u7A51\u7A52"+
-        "\u7A53\u7A54\u7A55\u7A56\u7A57\u7A58\u7A59\u7A5A"+
-        "\u7A5B\u7A5C\u7A5D\u7A5E\u7A5F\u7A60\u7A61\u7A62"+
-        "\u7A63\u7A64\u7A65\u7A66\u7A67\u7A68\u7A69\u7A6A"+
-        "\u7A6B\u7A6C\u7A6D\u7A6E\u7A6F\u7A70\u7A71\u7A72"+
-        "\u7A73\u7A74\u7A75\u7A76\u7A77\u7A78\u7A79\u7A7A"+
-        "\u7A7B\u7A7C\u7A7D\u7A7E\u7B21\u7B22\u7B23\u7B24"+
-        "\u7B25\u7B26\u7B27\u7B28\u7B29\u7B2A\u7B2B\u7B2C"+
-        "\u7B2D\u7B2E\u7B2F\u7B30\u7B31\u7B32\u7B33\u7B34"+
-        "\u7B35\u7B36\u7B37\u7B38\u7B39\u7B3A\u7B3B\u7B3C"+
-        "\u7B3D\u7B3E\u7B3F\u7B40\u7B41\u7B42\u7B43\u7B44"+
-        "\u7B45\u7B46\u7B47\u7B48\u7B49\u7B4A\u7B4B\u7B4C"+
-        "\u7B4D\u7B4E\u7B4F\u7B50\u7B51\u7B52\u7B53\u7B54"+
-        "\u7B55\u7B56\u7B57\u7B58\u7B59\u7B5A\u7B5B\u7B5C"+
-        "\u7B5D\u7B5E\u7B5F\u7B60\u7B61\u7B62\u7B63\u7B64"+
-        "\u7B65\u7B66\u7B67\u7B68\u7B69\u7B6A\u7B6B\u7B6C"+
-        "\u7B6D\u7B6E\u7B6F\u7B70\u7B71\u7B72\u7B73\u7B74"+
-        "\u7B75\u7B76\u7B77\u7B78\u7B79\u7B7A\u7B7B\u7B7C"+
-        "\u7B7D\u7B7E\u7C21\u7C22\u7C23\u7C24\u7C25\u7C26"+
-        "\u7C27\u7C28\u7C29\u7C2A\u7C2B\u7C2C\u7C2D\u7C2E"+
-        "\u7C2F\u7C30\u7C31\u7C32\u7C33\u7C34\u7C35\u7C36"+
-        "\u7C37\u7C38\u7C39\u7C3A\u7C3B\u7C3C\u7C3D\u7C3E"+
-        "\u7C3F\u7C40\u7C41\u7C42\u7C43\u7C44\u7C45\u7C46"+
-        "\u7C47\u7C48\u7C49\u7C4A\u7C4B\u7C4C\u7C4D\u7C4E"+
-        "\u7C4F\u7C50\u7C51\u7C52\u7C53\u7C54\u7C55\u7C56"+
-        "\u7C57\u7C58\u7C59\u7C5A\u7C5B\u7C5C\u7C5D\u7C5E"+
-        "\u7C5F\u7C60\u7C61\u7C62\u7C63\u7C64\u7C65\u7C66"+
-        "\u7C67\u7C68\u7C69\u7C6A\u7C6B\u7C6C\u7C6D\u7C6E"+
-        "\u7C6F\u7C70\u7C71\u7C72\u7C73\u7C74\u7C75\u7C76"+
-        "\u7C77\u7C78\u7C79\u7C7A\u7C7B\u7C7C\u7C7D\u7C7E"+
-        "\u7D21\u7D22\u7D23\u7D24\u7D25\u7D26\u7D27\u7D28"+
-        "\u7D29\u7D2A\u7D2B\u7D2C\u7D2D\u7D2E\u7D2F\u7D30"+
-        "\u7D31\u7D32\u7D33\u7D34\u7D35\u7D36\u7D37\u7D38"+
-        "\u7D39\u7D3A\u7D3B\u7D3C\u7D3D\u7D3E\u7D3F\u7D40"+
-        "\u7D41\u7D42\u7D43\u7D44\u7D45\u7D46\u7D47\u7D48"+
-        "\u7D49\u7D4A\u7D4B\u7D4C\u7D4D\u7D4E\u7D4F\u7D50"+
-        "\u7D51\u7D52\u7D53\u7D54\u7D55\u7D56\u7D57\u7D58"+
-        "\u7D59\u7D5A\u7D5B\u7D5C\u7D5D\u7D5E\u7D5F\u7D60"+
-        "\u7D61\u7D62\u7D63\u7D64\u7D65\u7D66\u7D67\u7D68"+
-        "\u7D69\u7D6A\u7D6B\u7D6C\u7D6D\u7D6E\u7D6F\u7D70"+
-        "\u7D71\u7D72\u7D73\u7D74\u7D75\u7D76\u7D77\u7D78"+
-        "\u7D79\u7D7A\u7D7B\u7D7C\u7D7D\u7D7E\u7E21\u7E22"+
-        "\u7E23\u7E24\u7E25\u7E26\u7E27\u7E28\u7E29\u7E2A"+
-        "\u7E2B\u7E2C\u7E2D\u7E2E\u7E2F\u7E30\u7E31\u7E32"+
-        "\u7E33\u7E34\u7E35\u7E36\u7E37\u7E38\u7E39\u7E3A"+
-        "\u7E3B\u7E3C\u7E3D\u7E3E\u7E3F\u7E40\u7E41\u7E42"+
-        "\u7E43\u7E44\u7E45\u7E46\u7E47\u7E48\u7E49\u7E4A"+
-        "\u7E4B\u7E4C\u7E4D\u7E4E\u7E4F\u7E50\u7E51\u7E52"+
-        "\u7E53\u7E54\u7E55\u7E56\u7E57\u7E58\u7E59\u7E5A"+
-        "\u7E5B\u7E5C\u7E5D\u7E5E\u7E5F\u7E60\u7E61\u7E62"+
-        "\u7E63\u7E64\u7E65\u7E66\u7E67\u7E68\u7E69\u7E6A"+
-        "\u7E6B\u7E6C\u7E6D\u7E6E\u7E6F\u7E70\u7E71\u7E72"+
-        "\u7E73\u7E74\u7E75\u7E76\u7E77\u7E78\u7E79\u7E7A"+
-        "\u7E7B\u7E7C\u7E7D\u7E7E\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u212A\u0000\u2174\u2170\u2173\u2175\u0000"+
-        "\u214A\u214B\u2176\u215C\u2124\u215d\u2125\u213F"+
-        "\u2330\u2331\u2332\u2333\u2334\u2335\u2336\u2337"+
-        "\u2338\u2339\u2127\u2128\u2163\u2161\u2164\u2129"+
-        "\u2177\u2341\u2342\u2343\u2344\u2345\u2346\u2347"+
-        "\u2348\u2349\u234A\u234B\u234C\u234D\u234E\u234F"+
-        "\u2350\u2351\u2352\u2353\u2354\u2355\u2356\u2357"+
-        "\u2358\u2359\u235A\u214E\u2140\u214F\u2130\u2132"+
-        "\u212E\u2361\u2362\u2363\u2364\u2365\u2366\u2367"+
-        "\u2368\u2369\u236A\u236B\u236C\u236D\u236E\u236F"+
-        "\u2370\u2371\u2372\u2373\u2374\u2375\u2376\u2377"+
-        "\u2378\u2379\u237A\u2150\u2143\u2151\u0000\u0000"+
-        "\u0000\u2123\u2156\u2157\u2122\u2126\u2572\u2521"+
-        "\u2523\u2525\u2527\u2529\u2563\u2565\u2567\u2543"+
-        "\u213c\u2522\u2524\u2526\u2528\u252a\u252b\u252d"+
-        "\u252f\u2531\u2533\u2535\u2537\u2539\u253b\u253d"+
-        "\u253f\u2541\u2544\u2546\u2548\u254a\u254b\u254c"+
-        "\u254d\u254e\u254f\u2552\u2555\u2558\u255b\u255e"+
-        "\u255f\u2560\u2561\u2562\u2564\u2566\u2568\u2569"+
-        "\u256a\u256b\u256c\u256d\u256f\u2573\u212b\u212c"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u2171\u2172\u224c\u2131\u0000\u216F\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
-
-    protected final static short index1[] = {
-        1, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        4, 5, 6, 7, 8, 9, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        11, 0, 12, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 15,
-        16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
-        32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
-        48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
-        64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
-        80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        96, 97, 98, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100
-    };
-
-    protected final static String index2[] = {
-        innerIndex0,
-        innerIndex1,
-        innerIndex2,
-        innerIndex3,
-        innerIndex4,
-        innerIndex5,
-        innerIndex6
-    };
-}
--- a/src/share/classes/sun/nio/cs/ext/JIS_X_0208_MS932_Decoder.java	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1048 +0,0 @@
-/*
- * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code 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
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package sun.nio.cs.ext;
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetEncoder;
-
-class JIS_X_0208_MS932_Decoder
-{
-    private final static String innerIndex0=
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u3000\u3001"+
-        "\u3002\uFF0C\uFF0E\u30FB\uFF1A\uFF1B\uFF1F\uFF01"+
-        "\u309B\u309C\u00B4\uFF40\u00A8\uFF3E\uFFE3\uFF3F"+
-        "\u30FD\u30FE\u309D\u309E\u3003\u4EDD\u3005\u3006"+
-        "\u3007\u30FC\u2015\u2010\uFF0F\uFF3C\uFF5E\u2225"+
-        "\uFF5C\u2026\u2025\u2018\u2019\u201C\u201D\uFF08"+
-        "\uFF09\u3014\u3015\uFF3B\uFF3D\uFF5B\uFF5D\u3008"+
-        "\u3009\u300A\u300B\u300C\u300D\u300E\u300F\u3010"+
-        "\u3011\uFF0B\uFF0D\u00B1\u00D7\u00F7\uFF1D\u2260"+
-        "\uFF1C\uFF1E\u2266\u2267\u221E\u2234\u2642\u2640"+
-        "\u00B0\u2032\u2033\u2103\uFFE5\uFF04\uFFE0\uFFE1"+
-        "\uFF05\uFF03\uFF06\uFF0A\uFF20\u00A7\u2606\u2605"+
-        "\u25CB\u25CF\u25CE\u25C7\u25C6\u25A1\u25A0\u25B3"+
-        "\u25B2\u25BD\u25BC\u203B\u3012\u2192\u2190\u2191"+
-        "\u2193\u3013\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2208\u220B\u2286"+
-        "\u2287\u2282\u2283\u222A\u2229\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2227\u2228\uFFE2"+
-        "\u21D2\u21D4\u2200\u2203\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2220"+
-        "\u22A5\u2312\u2202\u2207\u2261\u2252\u226A\u226B"+
-        "\u221A\u223D\u221D\u2235\u222B\u222C\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u212B\u2030\u266F"+
-        "\u266D\u266A\u2020\u2021\u00B6\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\u25EF\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFF10\uFF11\uFF12\uFF13\uFF14\uFF15\uFF16"+
-        "\uFF17\uFF18\uFF19\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFF21\uFF22\uFF23\uFF24\uFF25\uFF26"+
-        "\uFF27\uFF28\uFF29\uFF2A\uFF2B\uFF2C\uFF2D\uFF2E"+
-        "\uFF2F\uFF30\uFF31\uFF32\uFF33\uFF34\uFF35\uFF36"+
-        "\uFF37\uFF38\uFF39\uFF3A\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFF41\uFF42\uFF43\uFF44\uFF45\uFF46"+
-        "\uFF47\uFF48\uFF49\uFF4A\uFF4B\uFF4C\uFF4D\uFF4E"+
-        "\uFF4F\uFF50\uFF51\uFF52\uFF53\uFF54\uFF55\uFF56"+
-        "\uFF57\uFF58\uFF59\uFF5A\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\u3041\u3042\u3043\u3044\u3045\u3046\u3047\u3048"+
-        "\u3049\u304A\u304B\u304C\u304D\u304E\u304F\u3050"+
-        "\u3051\u3052\u3053\u3054\u3055\u3056\u3057\u3058"+
-        "\u3059\u305A\u305B\u305C\u305D\u305E\u305F\u3060"+
-        "\u3061\u3062\u3063\u3064\u3065\u3066\u3067\u3068"+
-        "\u3069\u306A\u306B\u306C\u306D\u306E\u306F\u3070"+
-        "\u3071\u3072\u3073\u3074\u3075\u3076\u3077\u3078"+
-        "\u3079\u307A\u307B\u307C\u307D\u307E\u307F\u3080"+
-        "\u3081\u3082\u3083\u3084\u3085\u3086\u3087\u3088"+
-        "\u3089\u308A\u308B\u308C\u308D\u308E\u308F\u3090"+
-        "\u3091\u3092\u3093\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u30A1\u30A2"+
-        "\u30A3\u30A4\u30A5\u30A6\u30A7\u30A8\u30A9\u30AA"+
-        "\u30AB\u30AC\u30AD\u30AE\u30AF\u30B0\u30B1\u30B2"+
-        "\u30B3\u30B4\u30B5\u30B6\u30B7\u30B8\u30B9\u30BA"+
-        "\u30BB\u30BC\u30BD\u30BE\u30BF\u30C0\u30C1\u30C2"+
-        "\u30C3\u30C4\u30C5\u30C6\u30C7\u30C8\u30C9\u30CA"+
-        "\u30CB\u30CC\u30CD\u30CE\u30CF\u30D0\u30D1\u30D2"+
-        "\u30D3\u30D4\u30D5\u30D6\u30D7\u30D8\u30D9\u30DA"+
-        "\u30DB\u30DC\u30DD\u30DE\u30DF\u30E0\u30E1\u30E2"+
-        "\u30E3\u30E4\u30E5\u30E6\u30E7\u30E8\u30E9\u30EA"+
-        "\u30EB\u30EC\u30ED\u30EE\u30EF\u30F0\u30F1\u30F2"+
-        "\u30F3\u30F4\u30F5\u30F6\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\u0391\u0392\u0393\u0394"+
-        "\u0395\u0396\u0397\u0398\u0399\u039A\u039B\u039C"+
-        "\u039D\u039E\u039F\u03A0\u03A1\u03A3\u03A4\u03A5"+
-        "\u03A6\u03A7\u03A8\u03A9\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\u03B1\u03B2\u03B3\u03B4"+
-        "\u03B5\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC"+
-        "\u03BD\u03BE\u03BF\u03C0\u03C1\u03C3\u03C4\u03C5"+
-        "\u03C6\u03C7\u03C8\u03C9\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\u0410\u0411\u0412\u0413\u0414\u0415"+
-        "\u0401\u0416\u0417\u0418\u0419\u041A\u041B\u041C"+
-        "\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424"+
-        "\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C"+
-        "\u042D\u042E\u042F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\u0430\u0431\u0432\u0433\u0434\u0435"+
-        "\u0451\u0436\u0437\u0438\u0439\u043A\u043B\u043C"+
-        "\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444"+
-        "\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C"+
-        "\u044D\u044E\u044F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\u2500\u2502\u250C\u2510\u2518\u2514\u251C\u252C"+
-        "\u2524\u2534\u253C\u2501\u2503\u250F\u2513\u251B"+
-        "\u2517\u2523\u2533\u252B\u253B\u254B\u2520\u252F"+
-        "\u2528\u2537\u253F\u251D\u2530\u2525\u2538\u2542"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2460\u2461"+
-        "\u2462\u2463\u2464\u2465\u2466\u2467\u2468\u2469"+
-        "\u246A\u246B\u246C\u246D\u246E\u246F\u2470\u2471"+
-        "\u2472\u2473\u2160\u2161\u2162\u2163\u2164\u2165"+
-        "\u2166\u2167\u2168\u2169\uFFFD\u3349\u3314\u3322"+
-        "\u334D\u3318\u3327\u3303\u3336\u3351\u3357\u330D"+
-        "\u3326\u3323\u332B\u334A\u333B\u339C\u339D\u339E"+
-        "\u338E\u338F\u33C4\u33A1\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\u337B\u301D\u301F\u2116"+
-        "\u33CD\u2121\u32A4\u32A5\u32A6\u32A7\u32A8\u3231"+
-        "\u3232\u3239\u337E\u337D\u337C\u2252\u2261\u222B"+
-        "\u222E\u2211\u221A\u22A5\u2220\u221F\u22BF\u2235"+
-        "\u2229\u222A\uFFFD\uFFFD\u4E9C\u5516\u5A03\u963F"+
-        "\u54C0\u611B\u6328\u59F6\u9022\u8475\u831C\u7A50"+
-        "\u60AA\u63E1\u6E25\u65ED\u8466\u82A6\u9BF5\u6893"+
-        "\u5727\u65A1\u6271\u5B9B\u59D0\u867B\u98F4\u7D62"+
-        "\u7DBE\u9B8E\u6216\u7C9F\u88B7\u5B89\u5EB5\u6309"+
-        "\u6697\u6848\u95C7\u978D\u674F\u4EE5\u4F0A\u4F4D"+
-        "\u4F9D\u5049\u56F2\u5937\u59D4\u5A01\u5C09\u60DF"+
-        "\u610F\u6170\u6613\u6905\u70BA\u754F\u7570\u79FB"+
-        "\u7DAD\u7DEF\u80C3\u840E\u8863\u8B02\u9055\u907A"+
-        "\u533B\u4E95\u4EA5\u57DF\u80B2\u90C1\u78EF\u4E00"+
-        "\u58F1\u6EA2\u9038\u7A32\u8328\u828B\u9C2F\u5141"+
-        "\u5370\u54BD\u54E1\u56E0\u59FB\u5F15\u98F2\u6DEB"+
-        "\u80E4\u852D\u9662\u9670\u96A0\u97FB\u540B\u53F3"+
-        "\u5B87\u70CF\u7FBD\u8FC2\u96E8\u536F\u9D5C\u7ABA"+
-        "\u4E11\u7893\u81FC\u6E26\u5618\u5504\u6B1D\u851A"+
-        "\u9C3B\u59E5\u53A9\u6D66\u74DC\u958F\u5642\u4E91"+
-        "\u904B\u96F2\u834F\u990C\u53E1\u55B6\u5B30\u5F71"+
-        "\u6620\u66F3\u6804\u6C38\u6CF3\u6D29\u745B\u76C8"+
-        "\u7A4E\u9834\u82F1\u885B\u8A60\u92ED\u6DB2\u75AB"+
-        "\u76CA\u99C5\u60A6\u8B01\u8D8A\u95B2\u698E\u53AD"+
-        "\u5186\u5712\u5830\u5944\u5BB4\u5EF6\u6028\u63A9"+
-        "\u63F4\u6CBF\u6F14\u708E\u7114\u7159\u71D5\u733F"+
-        "\u7E01\u8276\u82D1\u8597\u9060\u925B\u9D1B\u5869"+
-        "\u65BC\u6C5A\u7525\u51F9\u592E\u5965\u5F80\u5FDC"+
-        "\u62BC\u65FA\u6A2A\u6B27\u6BB4\u738B\u7FC1\u8956"+
-        "\u9D2C\u9D0E\u9EC4\u5CA1\u6C96\u837B\u5104\u5C4B"+
-        "\u61B6\u81C6\u6876\u7261\u4E59\u4FFA\u5378\u6069"+
-        "\u6E29\u7A4F\u97F3\u4E0B\u5316\u4EEE\u4F55\u4F3D"+
-        "\u4FA1\u4F73\u52A0\u53EF\u5609\u590F\u5AC1\u5BB6"+
-        "\u5BE1\u79D1\u6687\u679C\u67B6\u6B4C\u6CB3\u706B"+
-        "\u73C2\u798D\u79BE\u7A3C\u7B87\u82B1\u82DB\u8304"+
-        "\u8377\u83EF\u83D3\u8766\u8AB2\u5629\u8CA8\u8FE6"+
-        "\u904E\u971E\u868A\u4FC4\u5CE8\u6211\u7259\u753B"+
-        "\u81E5\u82BD\u86FE\u8CC0\u96C5\u9913\u99D5\u4ECB"+
-        "\u4F1A\u89E3\u56DE\u584A\u58CA\u5EFB\u5FEB\u602A"+
-        "\u6094\u6062\u61D0\u6212\u62D0\u6539\u9B41\u6666"+
-        "\u68B0\u6D77\u7070\u754C\u7686\u7D75\u82A5\u87F9"+
-        "\u958B\u968E\u8C9D\u51F1\u52BE\u5916\u54B3\u5BB3"+
-        "\u5D16\u6168\u6982\u6DAF\u788D\u84CB\u8857\u8A72"+
-        "\u93A7\u9AB8\u6D6C\u99A8\u86D9\u57A3\u67FF\u86CE"+
-        "\u920E\u5283\u5687\u5404\u5ED3\u62E1\u64B9\u683C"+
-        "\u6838\u6BBB\u7372\u78BA\u7A6B\u899A\u89D2\u8D6B"+
-        "\u8F03\u90ED\u95A3\u9694\u9769\u5B66\u5CB3\u697D"+
-        "\u984D\u984E\u639B\u7B20\u6A2B\u6A7F\u68B6\u9C0D"+
-        "\u6F5F\u5272\u559D\u6070\u62EC\u6D3B\u6E07\u6ED1"+
-        "\u845B\u8910\u8F44\u4E14\u9C39\u53F6\u691B\u6A3A"+
-        "\u9784\u682A\u515C\u7AC3\u84B2\u91DC\u938C\u565B"+
-        "\u9D28\u6822\u8305\u8431\u7CA5\u5208\u82C5\u74E6"+
-        "\u4E7E\u4F83\u51A0\u5BD2\u520A\u52D8\u52E7\u5DFB"+
-        "\u559A\u582A\u59E6\u5B8C\u5B98\u5BDB\u5E72\u5E79"+
-        "\u60A3\u611F\u6163\u61BE\u63DB\u6562\u67D1\u6853"+
-        "\u68FA\u6B3E\u6B53\u6C57\u6F22\u6F97\u6F45\u74B0"+
-        "\u7518\u76E3\u770B\u7AFF\u7BA1\u7C21\u7DE9\u7F36"+
-        "\u7FF0\u809D\u8266\u839E\u89B3\u8ACC\u8CAB\u9084"+
-        "\u9451\u9593\u9591\u95A2\u9665\u97D3\u9928\u8218"+
-        "\u4E38\u542B\u5CB8\u5DCC\u73A9\u764C\u773C\u5CA9"+
-        "\u7FEB\u8D0B\u96C1\u9811\u9854\u9858\u4F01\u4F0E"+
-        "\u5371\u559C\u5668\u57FA\u5947\u5B09\u5BC4\u5C90"+
-        "\u5E0C\u5E7E\u5FCC\u63EE\u673A\u65D7\u65E2\u671F"+
-        "\u68CB\u68C4\u6A5F\u5E30\u6BC5\u6C17\u6C7D\u757F"+
-        "\u7948\u5B63\u7A00\u7D00\u5FBD\u898F\u8A18\u8CB4"+
-        "\u8D77\u8ECC\u8F1D\u98E2\u9A0E\u9B3C\u4E80\u507D"+
-        "\u5100\u5993\u5B9C\u622F\u6280\u64EC\u6B3A\u72A0"+
-        "\u7591\u7947\u7FA9\u87FB\u8ABC\u8B70\u63AC\u83CA"+
-        "\u97A0\u5409\u5403\u55AB\u6854\u6A58\u8A70\u7827"+
-        "\u6775\u9ECD\u5374\u5BA2\u811A\u8650\u9006\u4E18"+
-        "\u4E45\u4EC7\u4F11\u53CA\u5438\u5BAE\u5F13\u6025"+
-        "\u6551\u673D\u6C42\u6C72\u6CE3\u7078\u7403\u7A76"+
-        "\u7AAE\u7B08\u7D1A\u7CFE\u7D66\u65E7\u725B\u53BB"+
-        "\u5C45\u5DE8\u62D2\u62E0\u6319\u6E20\u865A\u8A31"+
-        "\u8DDD\u92F8\u6F01\u79A6\u9B5A\u4EA8\u4EAB\u4EAC";
-
-    private final static String innerIndex1=
-        "\u4F9B\u4FA0\u50D1\u5147\u7AF6\u5171\u51F6\u5354"+
-        "\u5321\u537F\u53EB\u55AC\u5883\u5CE1\u5F37\u5F4A"+
-        "\u602F\u6050\u606D\u631F\u6559\u6A4B\u6CC1\u72C2"+
-        "\u72ED\u77EF\u80F8\u8105\u8208\u854E\u90F7\u93E1"+
-        "\u97FF\u9957\u9A5A\u4EF0\u51DD\u5C2D\u6681\u696D"+
-        "\u5C40\u66F2\u6975\u7389\u6850\u7C81\u50C5\u52E4"+
-        "\u5747\u5DFE\u9326\u65A4\u6B23\u6B3D\u7434\u7981"+
-        "\u79BD\u7B4B\u7DCA\u82B9\u83CC\u887F\u895F\u8B39"+
-        "\u8FD1\u91D1\u541F\u9280\u4E5D\u5036\u53E5\u533A"+
-        "\u72D7\u7396\u77E9\u82E6\u8EAF\u99C6\u99C8\u99D2"+
-        "\u5177\u611A\u865E\u55B0\u7A7A\u5076\u5BD3\u9047"+
-        "\u9685\u4E32\u6ADB\u91E7\u5C51\u5C48\u6398\u7A9F"+
-        "\u6C93\u9774\u8F61\u7AAA\u718A\u9688\u7C82\u6817"+
-        "\u7E70\u6851\u936C\u52F2\u541B\u85AB\u8A13\u7FA4"+
-        "\u8ECD\u90E1\u5366\u8888\u7941\u4FC2\u50BE\u5211"+
-        "\u5144\u5553\u572D\u73EA\u578B\u5951\u5F62\u5F84"+
-        "\u6075\u6176\u6167\u61A9\u63B2\u643A\u656C\u666F"+
-        "\u6842\u6E13\u7566\u7A3D\u7CFB\u7D4C\u7D99\u7E4B"+
-        "\u7F6B\u830E\u834A\u86CD\u8A08\u8A63\u8B66\u8EFD"+
-        "\u981A\u9D8F\u82B8\u8FCE\u9BE8\u5287\u621F\u6483"+
-        "\u6FC0\u9699\u6841\u5091\u6B20\u6C7A\u6F54\u7A74"+
-        "\u7D50\u8840\u8A23\u6708\u4EF6\u5039\u5026\u5065"+
-        "\u517C\u5238\u5263\u55A7\u570F\u5805\u5ACC\u5EFA"+
-        "\u61B2\u61F8\u62F3\u6372\u691C\u6A29\u727D\u72AC"+
-        "\u732E\u7814\u786F\u7D79\u770C\u80A9\u898B\u8B19"+
-        "\u8CE2\u8ED2\u9063\u9375\u967A\u9855\u9A13\u9E78"+
-        "\u5143\u539F\u53B3\u5E7B\u5F26\u6E1B\u6E90\u7384"+
-        "\u73FE\u7D43\u8237\u8A00\u8AFA\u9650\u4E4E\u500B"+
-        "\u53E4\u547C\u56FA\u59D1\u5B64\u5DF1\u5EAB\u5F27"+
-        "\u6238\u6545\u67AF\u6E56\u72D0\u7CCA\u88B4\u80A1"+
-        "\u80E1\u83F0\u864E\u8A87\u8DE8\u9237\u96C7\u9867"+
-        "\u9F13\u4E94\u4E92\u4F0D\u5348\u5449\u543E\u5A2F"+
-        "\u5F8C\u5FA1\u609F\u68A7\u6A8E\u745A\u7881\u8A9E"+
-        "\u8AA4\u8B77\u9190\u4E5E\u9BC9\u4EA4\u4F7C\u4FAF"+
-        "\u5019\u5016\u5149\u516C\u529F\u52B9\u52FE\u539A"+
-        "\u53E3\u5411\u540E\u5589\u5751\u57A2\u597D\u5B54"+
-        "\u5B5D\u5B8F\u5DE5\u5DE7\u5DF7\u5E78\u5E83\u5E9A"+
-        "\u5EB7\u5F18\u6052\u614C\u6297\u62D8\u63A7\u653B"+
-        "\u6602\u6643\u66F4\u676D\u6821\u6897\u69CB\u6C5F"+
-        "\u6D2A\u6D69\u6E2F\u6E9D\u7532\u7687\u786C\u7A3F"+
-        "\u7CE0\u7D05\u7D18\u7D5E\u7DB1\u8015\u8003\u80AF"+
-        "\u80B1\u8154\u818F\u822A\u8352\u884C\u8861\u8B1B"+
-        "\u8CA2\u8CFC\u90CA\u9175\u9271\u783F\u92FC\u95A4"+
-        "\u964D\u9805\u9999\u9AD8\u9D3B\u525B\u52AB\u53F7"+
-        "\u5408\u58D5\u62F7\u6FE0\u8C6A\u8F5F\u9EB9\u514B"+
-        "\u523B\u544A\u56FD\u7A40\u9177\u9D60\u9ED2\u7344"+
-        "\u6F09\u8170\u7511\u5FFD\u60DA\u9AA8\u72DB\u8FBC"+
-        "\u6B64\u9803\u4ECA\u56F0\u5764\u58BE\u5A5A\u6068"+
-        "\u61C7\u660F\u6606\u6839\u68B1\u6DF7\u75D5\u7D3A"+
-        "\u826E\u9B42\u4E9B\u4F50\u53C9\u5506\u5D6F\u5DE6"+
-        "\u5DEE\u67FB\u6C99\u7473\u7802\u8A50\u9396\u88DF"+
-        "\u5750\u5EA7\u632B\u50B5\u50AC\u518D\u6700\u54C9"+
-        "\u585E\u59BB\u5BB0\u5F69\u624D\u63A1\u683D\u6B73"+
-        "\u6E08\u707D\u91C7\u7280\u7815\u7826\u796D\u658E"+
-        "\u7D30\u83DC\u88C1\u8F09\u969B\u5264\u5728\u6750"+
-        "\u7F6A\u8CA1\u51B4\u5742\u962A\u583A\u698A\u80B4"+
-        "\u54B2\u5D0E\u57FC\u7895\u9DFA\u4F5C\u524A\u548B"+
-        "\u643E\u6628\u6714\u67F5\u7A84\u7B56\u7D22\u932F"+
-        "\u685C\u9BAD\u7B39\u5319\u518A\u5237\u5BDF\u62F6"+
-        "\u64AE\u64E6\u672D\u6BBA\u85A9\u96D1\u7690\u9BD6"+
-        "\u634C\u9306\u9BAB\u76BF\u6652\u4E09\u5098\u53C2"+
-        "\u5C71\u60E8\u6492\u6563\u685F\u71E6\u73CA\u7523"+
-        "\u7B97\u7E82\u8695\u8B83\u8CDB\u9178\u9910\u65AC"+
-        "\u66AB\u6B8B\u4ED5\u4ED4\u4F3A\u4F7F\u523A\u53F8"+
-        "\u53F2\u55E3\u56DB\u58EB\u59CB\u59C9\u59FF\u5B50"+
-        "\u5C4D\u5E02\u5E2B\u5FD7\u601D\u6307\u652F\u5B5C"+
-        "\u65AF\u65BD\u65E8\u679D\u6B62\u6B7B\u6C0F\u7345"+
-        "\u7949\u79C1\u7CF8\u7D19\u7D2B\u80A2\u8102\u81F3"+
-        "\u8996\u8A5E\u8A69\u8A66\u8A8C\u8AEE\u8CC7\u8CDC"+
-        "\u96CC\u98FC\u6B6F\u4E8B\u4F3C\u4F8D\u5150\u5B57"+
-        "\u5BFA\u6148\u6301\u6642\u6B21\u6ECB\u6CBB\u723E"+
-        "\u74BD\u75D4\u78C1\u793A\u800C\u8033\u81EA\u8494"+
-        "\u8F9E\u6C50\u9E7F\u5F0F\u8B58\u9D2B\u7AFA\u8EF8"+
-        "\u5B8D\u96EB\u4E03\u53F1\u57F7\u5931\u5AC9\u5BA4"+
-        "\u6089\u6E7F\u6F06\u75BE\u8CEA\u5B9F\u8500\u7BE0"+
-        "\u5072\u67F4\u829D\u5C61\u854A\u7E1E\u820E\u5199"+
-        "\u5C04\u6368\u8D66\u659C\u716E\u793E\u7D17\u8005"+
-        "\u8B1D\u8ECA\u906E\u86C7\u90AA\u501F\u52FA\u5C3A"+
-        "\u6753\u707C\u7235\u914C\u91C8\u932B\u82E5\u5BC2"+
-        "\u5F31\u60F9\u4E3B\u53D6\u5B88\u624B\u6731\u6B8A"+
-        "\u72E9\u73E0\u7A2E\u816B\u8DA3\u9152\u9996\u5112"+
-        "\u53D7\u546A\u5BFF\u6388\u6A39\u7DAC\u9700\u56DA"+
-        "\u53CE\u5468\u5B97\u5C31\u5DDE\u4FEE\u6101\u62FE"+
-        "\u6D32\u79C0\u79CB\u7D42\u7E4D\u7FD2\u81ED\u821F"+
-        "\u8490\u8846\u8972\u8B90\u8E74\u8F2F\u9031\u914B"+
-        "\u916C\u96C6\u919C\u4EC0\u4F4F\u5145\u5341\u5F93"+
-        "\u620E\u67D4\u6C41\u6E0B\u7363\u7E26\u91CD\u9283"+
-        "\u53D4\u5919\u5BBF\u6DD1\u795D\u7E2E\u7C9B\u587E"+
-        "\u719F\u51FA\u8853\u8FF0\u4FCA\u5CFB\u6625\u77AC"+
-        "\u7AE3\u821C\u99FF\u51C6\u5FAA\u65EC\u696F\u6B89"+
-        "\u6DF3\u6E96\u6F64\u76FE\u7D14\u5DE1\u9075\u9187"+
-        "\u9806\u51E6\u521D\u6240\u6691\u66D9\u6E1A\u5EB6"+
-        "\u7DD2\u7F72\u66F8\u85AF\u85F7\u8AF8\u52A9\u53D9"+
-        "\u5973\u5E8F\u5F90\u6055\u92E4\u9664\u50B7\u511F"+
-        "\u52DD\u5320\u5347\u53EC\u54E8\u5546\u5531\u5617"+
-        "\u5968\u59BE\u5A3C\u5BB5\u5C06\u5C0F\u5C11\u5C1A"+
-        "\u5E84\u5E8A\u5EE0\u5F70\u627F\u6284\u62DB\u638C"+
-        "\u6377\u6607\u660C\u662D\u6676\u677E\u68A2\u6A1F"+
-        "\u6A35\u6CBC\u6D88\u6E09\u6E58\u713C\u7126\u7167"+
-        "\u75C7\u7701\u785D\u7901\u7965\u79F0\u7AE0\u7B11"+
-        "\u7CA7\u7D39\u8096\u83D6\u848B\u8549\u885D\u88F3"+
-        "\u8A1F\u8A3C\u8A54\u8A73\u8C61\u8CDE\u91A4\u9266"+
-        "\u937E\u9418\u969C\u9798\u4E0A\u4E08\u4E1E\u4E57"+
-        "\u5197\u5270\u57CE\u5834\u58CC\u5B22\u5E38\u60C5"+
-        "\u64FE\u6761\u6756\u6D44\u72B6\u7573\u7A63\u84B8"+
-        "\u8B72\u91B8\u9320\u5631\u57F4\u98FE\u62ED\u690D"+
-        "\u6B96\u71ED\u7E54\u8077\u8272\u89E6\u98DF\u8755"+
-        "\u8FB1\u5C3B\u4F38\u4FE1\u4FB5\u5507\u5A20\u5BDD"+
-        "\u5BE9\u5FC3\u614E\u632F\u65B0\u664B\u68EE\u699B"+
-        "\u6D78\u6DF1\u7533\u75B9\u771F\u795E\u79E6\u7D33"+
-        "\u81E3\u82AF\u85AA\u89AA\u8A3A\u8EAB\u8F9B\u9032"+
-        "\u91DD\u9707\u4EBA\u4EC1\u5203\u5875\u58EC\u5C0B"+
-        "\u751A\u5C3D\u814E\u8A0A\u8FC5\u9663\u976D\u7B25"+
-        "\u8ACF\u9808\u9162\u56F3\u53A8\u9017\u5439\u5782"+
-        "\u5E25\u63A8\u6C34\u708A\u7761\u7C8B\u7FE0\u8870"+
-        "\u9042\u9154\u9310\u9318\u968F\u745E\u9AC4\u5D07"+
-        "\u5D69\u6570\u67A2\u8DA8\u96DB\u636E\u6749\u6919"+
-        "\u83C5\u9817\u96C0\u88FE\u6F84\u647A\u5BF8\u4E16"+
-        "\u702C\u755D\u662F\u51C4\u5236\u52E2\u59D3\u5F81"+
-        "\u6027\u6210\u653F\u6574\u661F\u6674\u68F2\u6816"+
-        "\u6B63\u6E05\u7272\u751F\u76DB\u7CBE\u8056\u58F0"+
-        "\u88FD\u897F\u8AA0\u8A93\u8ACB\u901D\u9192\u9752"+
-        "\u9759\u6589\u7A0E\u8106\u96BB\u5E2D\u60DC\u621A"+
-        "\u65A5\u6614\u6790\u77F3\u7A4D\u7C4D\u7E3E\u810A"+
-        "\u8CAC\u8D64\u8DE1\u8E5F\u78A9\u5207\u62D9\u63A5"+
-        "\u6442\u6298\u8A2D\u7A83\u7BC0\u8AAC\u96EA\u7D76"+
-        "\u820C\u8749\u4ED9\u5148\u5343\u5360\u5BA3\u5C02"+
-        "\u5C16\u5DDD\u6226\u6247\u64B0\u6813\u6834\u6CC9"+
-        "\u6D45\u6D17\u67D3\u6F5C\u714E\u717D\u65CB\u7A7F"+
-        "\u7BAD\u7DDA\u7E4A\u7FA8\u817A\u821B\u8239\u85A6"+
-        "\u8A6E\u8CCE\u8DF5\u9078\u9077\u92AD\u9291\u9583"+
-        "\u9BAE\u524D\u5584\u6F38\u7136\u5168\u7985\u7E55"+
-        "\u81B3\u7CCE\u564C\u5851\u5CA8\u63AA\u66FE\u66FD"+
-        "\u695A\u72D9\u758F\u758E\u790E\u7956\u79DF\u7C97"+
-        "\u7D20\u7D44\u8607\u8A34\u963B\u9061\u9F20\u50E7"+
-        "\u5275\u53CC\u53E2\u5009\u55AA\u58EE\u594F\u723D"+
-        "\u5B8B\u5C64\u531D\u60E3\u60F3\u635C\u6383\u633F"+
-        "\u63BB\u64CD\u65E9\u66F9\u5DE3\u69CD\u69FD\u6F15"+
-        "\u71E5\u4E89\u75E9\u76F8\u7A93\u7CDF\u7DCF\u7D9C"+
-        "\u8061\u8349\u8358\u846C\u84BC\u85FB\u88C5\u8D70"+
-        "\u9001\u906D\u9397\u971C\u9A12\u50CF\u5897\u618E"+
-        "\u81D3\u8535\u8D08\u9020\u4FC3\u5074\u5247\u5373"+
-        "\u606F\u6349\u675F\u6E2C\u8DB3\u901F\u4FD7\u5C5E"+
-        "\u8CCA\u65CF\u7D9A\u5352\u8896\u5176\u63C3\u5B58"+
-        "\u5B6B\u5C0A\u640D\u6751\u905C\u4ED6\u591A\u592A"+
-        "\u6C70\u8A51\u553E\u5815\u59A5\u60F0\u6253\u67C1"+
-        "\u8235\u6955\u9640\u99C4\u9A28\u4F53\u5806\u5BFE"+
-        "\u8010\u5CB1\u5E2F\u5F85\u6020\u614B\u6234\u66FF"+
-        "\u6CF0\u6EDE\u80CE\u817F\u82D4\u888B\u8CB8\u9000"+
-        "\u902E\u968A\u9EDB\u9BDB\u4EE3\u53F0\u5927\u7B2C"+
-        "\u918D\u984C\u9DF9\u6EDD\u7027\u5353\u5544\u5B85"+
-        "\u6258\u629E\u62D3\u6CA2\u6FEF\u7422\u8A17\u9438"+
-        "\u6FC1\u8AFE\u8338\u51E7\u86F8\u53EA\u53E9\u4F46"+
-        "\u9054\u8FB0\u596A\u8131\u5DFD\u7AEA\u8FBF\u68DA"+
-        "\u8C37\u72F8\u9C48\u6A3D\u8AB0\u4E39\u5358\u5606"+
-        "\u5766\u62C5\u63A2\u65E6\u6B4E\u6DE1\u6E5B\u70AD"+
-        "\u77ED\u7AEF\u7BAA\u7DBB\u803D\u80C6\u86CB\u8A95"+
-        "\u935B\u56E3\u58C7\u5F3E\u65AD\u6696\u6A80\u6BB5"+
-        "\u7537\u8AC7\u5024\u77E5\u5730\u5F1B\u6065\u667A"+
-        "\u6C60\u75F4\u7A1A\u7F6E\u81F4\u8718\u9045\u99B3"+
-        "\u7BC9\u755C\u7AF9\u7B51\u84C4\u9010\u79E9\u7A92"+
-        "\u8336\u5AE1\u7740\u4E2D\u4EF2\u5B99\u5FE0\u62BD"+
-        "\u663C\u67F1\u6CE8\u866B\u8877\u8A3B\u914E\u92F3"+
-        "\u99D0\u6A17\u7026\u732A\u82E7\u8457\u8CAF\u4E01"+
-        "\u5146\u51CB\u558B\u5BF5\u5E16\u5E33\u5E81\u5F14"+
-        "\u5F35\u5F6B\u5FB4\u61F2\u6311\u66A2\u671D\u6F6E"+
-        "\u7252\u753A\u773A\u8074\u8139\u8178\u8776\u8ABF"+
-        "\u8ADC\u8D85\u8DF3\u929A\u9577\u9802\u9CE5\u52C5"+
-        "\u6357\u76F4\u6715\u6C88\u73CD\u8CC3\u93AE\u9673"+
-        "\u6D25\u589C\u690E\u69CC\u8FFD\u939A\u75DB\u901A"+
-        "\u585A\u6802\u63B4\u69FB\u4F43\u6F2C\u67D8\u8FBB"+
-        "\u8526\u7DB4\u9354\u693F\u6F70\u576A\u58F7\u5B2C"+
-        "\u7D2C\u722A\u540A\u91E3\u9DB4\u4EAD\u4F4E\u505C"+
-        "\u5075\u5243\u8C9E\u5448\u5824\u5B9A\u5E1D\u5E95"+
-        "\u5EAD\u5EF7\u5F1F\u608C\u62B5\u633A\u63D0\u68AF"+
-        "\u6C40\u7887\u798E\u7A0B\u7DE0\u8247\u8A02\u8AE6"+
-        "\u8E44\u9013\u90B8\u912D\u91D8\u9F0E\u6CE5\u6458"+
-        "\u64E2\u6575\u6EF4\u7684\u7B1B\u9069\u93D1\u6EBA"+
-        "\u54F2\u5FB9\u64A4\u8F4D\u8FED\u9244\u5178\u586B"+
-        "\u5929\u5C55\u5E97\u6DFB\u7E8F\u751C\u8CBC\u8EE2"+
-        "\u985B\u70B9\u4F1D\u6BBF\u6FB1\u7530\u96FB\u514E"+
-        "\u5410\u5835\u5857\u59AC\u5C60\u5F92\u6597\u675C"+
-        "\u6E21\u767B\u83DF\u8CED\u9014\u90FD\u934D\u7825"+
-        "\u783A\u52AA\u5EA6\u571F\u5974\u6012\u5012\u515A"+
-        "\u51AC\u51CD\u5200\u5510\u5854\u5858\u5957\u5B95"+
-        "\u5CF6\u5D8B\u60BC\u6295\u642D\u6771\u6843\u68BC"+
-        "\u68DF\u76D7\u6DD8\u6E6F\u6D9B\u706F\u71C8\u5F53"+
-        "\u75D8\u7977\u7B49\u7B54\u7B52\u7CD6\u7D71\u5230";
-
-    private final static String innerIndex2=
-        "\u8463\u8569\u85E4\u8A0E\u8B04\u8C46\u8E0F\u9003"+
-        "\u900F\u9419\u9676\u982D\u9A30\u95D8\u50CD\u52D5"+
-        "\u540C\u5802\u5C0E\u61A7\u649E\u6D1E\u77B3\u7AE5"+
-        "\u80F4\u8404\u9053\u9285\u5CE0\u9D07\u533F\u5F97"+
-        "\u5FB3\u6D9C\u7279\u7763\u79BF\u7BE4\u6BD2\u72EC"+
-        "\u8AAD\u6803\u6A61\u51F8\u7A81\u6934\u5C4A\u9CF6"+
-        "\u82EB\u5BC5\u9149\u701E\u5678\u5C6F\u60C7\u6566"+
-        "\u6C8C\u8C5A\u9041\u9813\u5451\u66C7\u920D\u5948"+
-        "\u90A3\u5185\u4E4D\u51EA\u8599\u8B0E\u7058\u637A"+
-        "\u934B\u6962\u99B4\u7E04\u7577\u5357\u6960\u8EDF"+
-        "\u96E3\u6C5D\u4E8C\u5C3C\u5F10\u8FE9\u5302\u8CD1"+
-        "\u8089\u8679\u5EFF\u65E5\u4E73\u5165\u5982\u5C3F"+
-        "\u97EE\u4EFB\u598A\u5FCD\u8A8D\u6FE1\u79B0\u7962"+
-        "\u5BE7\u8471\u732B\u71B1\u5E74\u5FF5\u637B\u649A"+
-        "\u71C3\u7C98\u4E43\u5EFC\u4E4B\u57DC\u56A2\u60A9"+
-        "\u6FC3\u7D0D\u80FD\u8133\u81BF\u8FB2\u8997\u86A4"+
-        "\u5DF4\u628A\u64AD\u8987\u6777\u6CE2\u6D3E\u7436"+
-        "\u7834\u5A46\u7F75\u82AD\u99AC\u4FF3\u5EC3\u62DD"+
-        "\u6392\u6557\u676F\u76C3\u724C\u80CC\u80BA\u8F29"+
-        "\u914D\u500D\u57F9\u5A92\u6885\u6973\u7164\u72FD"+
-        "\u8CB7\u58F2\u8CE0\u966A\u9019\u877F\u79E4\u77E7"+
-        "\u8429\u4F2F\u5265\u535A\u62CD\u67CF\u6CCA\u767D"+
-        "\u7B94\u7C95\u8236\u8584\u8FEB\u66DD\u6F20\u7206"+
-        "\u7E1B\u83AB\u99C1\u9EA6\u51FD\u7BB1\u7872\u7BB8"+
-        "\u8087\u7B48\u6AE8\u5E61\u808C\u7551\u7560\u516B"+
-        "\u9262\u6E8C\u767A\u9197\u9AEA\u4F10\u7F70\u629C"+
-        "\u7B4F\u95A5\u9CE9\u567A\u5859\u86E4\u96BC\u4F34"+
-        "\u5224\u534A\u53CD\u53DB\u5E06\u642C\u6591\u677F"+
-        "\u6C3E\u6C4E\u7248\u72AF\u73ED\u7554\u7E41\u822C"+
-        "\u85E9\u8CA9\u7BC4\u91C6\u7169\u9812\u98EF\u633D"+
-        "\u6669\u756A\u76E4\u78D0\u8543\u86EE\u532A\u5351"+
-        "\u5426\u5983\u5E87\u5F7C\u60B2\u6249\u6279\u62AB"+
-        "\u6590\u6BD4\u6CCC\u75B2\u76AE\u7891\u79D8\u7DCB"+
-        "\u7F77\u80A5\u88AB\u8AB9\u8CBB\u907F\u975E\u98DB"+
-        "\u6A0B\u7C38\u5099\u5C3E\u5FAE\u6787\u6BD8\u7435"+
-        "\u7709\u7F8E\u9F3B\u67CA\u7A17\u5339\u758B\u9AED"+
-        "\u5F66\u819D\u83F1\u8098\u5F3C\u5FC5\u7562\u7B46"+
-        "\u903C\u6867\u59EB\u5A9B\u7D10\u767E\u8B2C\u4FF5"+
-        "\u5F6A\u6A19\u6C37\u6F02\u74E2\u7968\u8868\u8A55"+
-        "\u8C79\u5EDF\u63CF\u75C5\u79D2\u82D7\u9328\u92F2"+
-        "\u849C\u86ED\u9C2D\u54C1\u5F6C\u658C\u6D5C\u7015"+
-        "\u8CA7\u8CD3\u983B\u654F\u74F6\u4E0D\u4ED8\u57E0"+
-        "\u592B\u5A66\u5BCC\u51A8\u5E03\u5E9C\u6016\u6276"+
-        "\u6577\u65A7\u666E\u6D6E\u7236\u7B26\u8150\u819A"+
-        "\u8299\u8B5C\u8CA0\u8CE6\u8D74\u961C\u9644\u4FAE"+
-        "\u64AB\u6B66\u821E\u8461\u856A\u90E8\u5C01\u6953"+
-        "\u98A8\u847A\u8557\u4F0F\u526F\u5FA9\u5E45\u670D"+
-        "\u798F\u8179\u8907\u8986\u6DF5\u5F17\u6255\u6CB8"+
-        "\u4ECF\u7269\u9B92\u5206\u543B\u5674\u58B3\u61A4"+
-        "\u626E\u711A\u596E\u7C89\u7CDE\u7D1B\u96F0\u6587"+
-        "\u805E\u4E19\u4F75\u5175\u5840\u5E63\u5E73\u5F0A"+
-        "\u67C4\u4E26\u853D\u9589\u965B\u7C73\u9801\u50FB"+
-        "\u58C1\u7656\u78A7\u5225\u77A5\u8511\u7B86\u504F"+
-        "\u5909\u7247\u7BC7\u7DE8\u8FBA\u8FD4\u904D\u4FBF"+
-        "\u52C9\u5A29\u5F01\u97AD\u4FDD\u8217\u92EA\u5703"+
-        "\u6355\u6B69\u752B\u88DC\u8F14\u7A42\u52DF\u5893"+
-        "\u6155\u620A\u66AE\u6BCD\u7C3F\u83E9\u5023\u4FF8"+
-        "\u5305\u5446\u5831\u5949\u5B9D\u5CF0\u5CEF\u5D29"+
-        "\u5E96\u62B1\u6367\u653E\u65B9\u670B\u6CD5\u6CE1"+
-        "\u70F9\u7832\u7E2B\u80DE\u82B3\u840C\u84EC\u8702"+
-        "\u8912\u8A2A\u8C4A\u90A6\u92D2\u98FD\u9CF3\u9D6C"+
-        "\u4E4F\u4EA1\u508D\u5256\u574A\u59A8\u5E3D\u5FD8"+
-        "\u5FD9\u623F\u66B4\u671B\u67D0\u68D2\u5192\u7D21"+
-        "\u80AA\u81A8\u8B00\u8C8C\u8CBF\u927E\u9632\u5420"+
-        "\u982C\u5317\u50D5\u535C\u58A8\u64B2\u6734\u7267"+
-        "\u7766\u7A46\u91E6\u52C3\u6CA1\u6B86\u5800\u5E4C"+
-        "\u5954\u672C\u7FFB\u51E1\u76C6\u6469\u78E8\u9B54"+
-        "\u9EBB\u57CB\u59B9\u6627\u679A\u6BCE\u54E9\u69D9"+
-        "\u5E55\u819C\u6795\u9BAA\u67FE\u9C52\u685D\u4EA6"+
-        "\u4FE3\u53C8\u62B9\u672B\u6CAB\u8FC4\u4FAD\u7E6D"+
-        "\u9EBF\u4E07\u6162\u6E80\u6F2B\u8513\u5473\u672A"+
-        "\u9B45\u5DF3\u7B95\u5CAC\u5BC6\u871C\u6E4A\u84D1"+
-        "\u7A14\u8108\u5999\u7C8D\u6C11\u7720\u52D9\u5922"+
-        "\u7121\u725F\u77DB\u9727\u9D61\u690B\u5A7F\u5A18"+
-        "\u51A5\u540D\u547D\u660E\u76DF\u8FF7\u9298\u9CF4"+
-        "\u59EA\u725D\u6EC5\u514D\u68C9\u7DBF\u7DEC\u9762"+
-        "\u9EBA\u6478\u6A21\u8302\u5984\u5B5F\u6BDB\u731B"+
-        "\u76F2\u7DB2\u8017\u8499\u5132\u6728\u9ED9\u76EE"+
-        "\u6762\u52FF\u9905\u5C24\u623B\u7C7E\u8CB0\u554F"+
-        "\u60B6\u7D0B\u9580\u5301\u4E5F\u51B6\u591C\u723A"+
-        "\u8036\u91CE\u5F25\u77E2\u5384\u5F79\u7D04\u85AC"+
-        "\u8A33\u8E8D\u9756\u67F3\u85AE\u9453\u6109\u6108"+
-        "\u6CB9\u7652\u8AED\u8F38\u552F\u4F51\u512A\u52C7"+
-        "\u53CB\u5BA5\u5E7D\u60A0\u6182\u63D6\u6709\u67DA"+
-        "\u6E67\u6D8C\u7336\u7337\u7531\u7950\u88D5\u8A98"+
-        "\u904A\u9091\u90F5\u96C4\u878D\u5915\u4E88\u4F59"+
-        "\u4E0E\u8A89\u8F3F\u9810\u50AD\u5E7C\u5996\u5BB9"+
-        "\u5EB8\u63DA\u63FA\u64C1\u66DC\u694A\u69D8\u6D0B"+
-        "\u6EB6\u7194\u7528\u7AAF\u7F8A\u8000\u8449\u84C9"+
-        "\u8981\u8B21\u8E0A\u9065\u967D\u990A\u617E\u6291"+
-        "\u6B32\u6C83\u6D74\u7FCC\u7FFC\u6DC0\u7F85\u87BA"+
-        "\u88F8\u6765\u83B1\u983C\u96F7\u6D1B\u7D61\u843D"+
-        "\u916A\u4E71\u5375\u5D50\u6B04\u6FEB\u85CD\u862D"+
-        "\u89A7\u5229\u540F\u5C65\u674E\u68A8\u7406\u7483"+
-        "\u75E2\u88CF\u88E1\u91CC\u96E2\u9678\u5F8B\u7387"+
-        "\u7ACB\u844E\u63A0\u7565\u5289\u6D41\u6E9C\u7409"+
-        "\u7559\u786B\u7C92\u9686\u7ADC\u9F8D\u4FB6\u616E"+
-        "\u65C5\u865C\u4E86\u4EAE\u50DA\u4E21\u51CC\u5BEE"+
-        "\u6599\u6881\u6DBC\u731F\u7642\u77AD\u7A1C\u7CE7"+
-        "\u826F\u8AD2\u907C\u91CF\u9675\u9818\u529B\u7DD1"+
-        "\u502B\u5398\u6797\u6DCB\u71D0\u7433\u81E8\u8F2A"+
-        "\u96A3\u9C57\u9E9F\u7460\u5841\u6D99\u7D2F\u985E"+
-        "\u4EE4\u4F36\u4F8B\u51B7\u52B1\u5DBA\u601C\u73B2"+
-        "\u793C\u82D3\u9234\u96B7\u96F6\u970A\u9E97\u9F62"+
-        "\u66A6\u6B74\u5217\u52A3\u70C8\u88C2\u5EC9\u604B"+
-        "\u6190\u6F23\u7149\u7C3E\u7DF4\u806F\u84EE\u9023"+
-        "\u932C\u5442\u9B6F\u6AD3\u7089\u8CC2\u8DEF\u9732"+
-        "\u52B4\u5A41\u5ECA\u5F04\u6717\u697C\u6994\u6D6A"+
-        "\u6F0F\u7262\u72FC\u7BED\u8001\u807E\u874B\u90CE"+
-        "\u516D\u9E93\u7984\u808B\u9332\u8AD6\u502D\u548C"+
-        "\u8A71\u6B6A\u8CC4\u8107\u60D1\u67A0\u9DF2\u4E99"+
-        "\u4E98\u9C10\u8A6B\u85C1\u8568\u6900\u6E7E\u7897"+
-        "\u8155\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\u5F0C\u4E10\u4E15\u4E2A"+
-        "\u4E31\u4E36\u4E3C\u4E3F\u4E42\u4E56\u4E58\u4E82"+
-        "\u4E85\u8C6B\u4E8A\u8212\u5F0D\u4E8E\u4E9E\u4E9F"+
-        "\u4EA0\u4EA2\u4EB0\u4EB3\u4EB6\u4ECE\u4ECD\u4EC4"+
-        "\u4EC6\u4EC2\u4ED7\u4EDE\u4EED\u4EDF\u4EF7\u4F09"+
-        "\u4F5A\u4F30\u4F5B\u4F5D\u4F57\u4F47\u4F76\u4F88"+
-        "\u4F8F\u4F98\u4F7B\u4F69\u4F70\u4F91\u4F6F\u4F86"+
-        "\u4F96\u5118\u4FD4\u4FDF\u4FCE\u4FD8\u4FDB\u4FD1"+
-        "\u4FDA\u4FD0\u4FE4\u4FE5\u501A\u5028\u5014\u502A"+
-        "\u5025\u5005\u4F1C\u4FF6\u5021\u5029\u502C\u4FFE"+
-        "\u4FEF\u5011\u5006\u5043\u5047\u6703\u5055\u5050"+
-        "\u5048\u505A\u5056\u506C\u5078\u5080\u509A\u5085"+
-        "\u50B4\u50B2\u50C9\u50CA\u50B3\u50C2\u50D6\u50DE"+
-        "\u50E5\u50ED\u50E3\u50EE\u50F9\u50F5\u5109\u5101"+
-        "\u5102\u5116\u5115\u5114\u511A\u5121\u513A\u5137"+
-        "\u513C\u513B\u513F\u5140\u5152\u514C\u5154\u5162"+
-        "\u7AF8\u5169\u516A\u516E\u5180\u5182\u56D8\u518C"+
-        "\u5189\u518F\u5191\u5193\u5195\u5196\u51A4\u51A6"+
-        "\u51A2\u51A9\u51AA\u51AB\u51B3\u51B1\u51B2\u51B0"+
-        "\u51B5\u51BD\u51C5\u51C9\u51DB\u51E0\u8655\u51E9"+
-        "\u51ED\u51F0\u51F5\u51FE\u5204\u520B\u5214\u520E"+
-        "\u5227\u522A\u522E\u5233\u5239\u524F\u5244\u524B"+
-        "\u524C\u525E\u5254\u526A\u5274\u5269\u5273\u527F"+
-        "\u527D\u528D\u5294\u5292\u5271\u5288\u5291\u8FA8"+
-        "\u8FA7\u52AC\u52AD\u52BC\u52B5\u52C1\u52CD\u52D7"+
-        "\u52DE\u52E3\u52E6\u98ED\u52E0\u52F3\u52F5\u52F8"+
-        "\u52F9\u5306\u5308\u7538\u530D\u5310\u530F\u5315"+
-        "\u531A\u5323\u532F\u5331\u5333\u5338\u5340\u5346"+
-        "\u5345\u4E17\u5349\u534D\u51D6\u535E\u5369\u536E"+
-        "\u5918\u537B\u5377\u5382\u5396\u53A0\u53A6\u53A5"+
-        "\u53AE\u53B0\u53B6\u53C3\u7C12\u96D9\u53DF\u66FC"+
-        "\u71EE\u53EE\u53E8\u53ED\u53FA\u5401\u543D\u5440"+
-        "\u542C\u542D\u543C\u542E\u5436\u5429\u541D\u544E"+
-        "\u548F\u5475\u548E\u545F\u5471\u5477\u5470\u5492"+
-        "\u547B\u5480\u5476\u5484\u5490\u5486\u54C7\u54A2"+
-        "\u54B8\u54A5\u54AC\u54C4\u54C8\u54A8\u54AB\u54C2"+
-        "\u54A4\u54BE\u54BC\u54D8\u54E5\u54E6\u550F\u5514"+
-        "\u54FD\u54EE\u54ED\u54FA\u54E2\u5539\u5540\u5563"+
-        "\u554C\u552E\u555C\u5545\u5556\u5557\u5538\u5533"+
-        "\u555D\u5599\u5580\u54AF\u558A\u559F\u557B\u557E"+
-        "\u5598\u559E\u55AE\u557C\u5583\u55A9\u5587\u55A8"+
-        "\u55DA\u55C5\u55DF\u55C4\u55DC\u55E4\u55D4\u5614"+
-        "\u55F7\u5616\u55FE\u55FD\u561B\u55F9\u564E\u5650"+
-        "\u71DF\u5634\u5636\u5632\u5638\u566B\u5664\u562F"+
-        "\u566C\u566A\u5686\u5680\u568A\u56A0\u5694\u568F"+
-        "\u56A5\u56AE\u56B6\u56B4\u56C2\u56BC\u56C1\u56C3"+
-        "\u56C0\u56C8\u56CE\u56D1\u56D3\u56D7\u56EE\u56F9"+
-        "\u5700\u56FF\u5704\u5709\u5708\u570B\u570D\u5713"+
-        "\u5718\u5716\u55C7\u571C\u5726\u5737\u5738\u574E"+
-        "\u573B\u5740\u574F\u5769\u57C0\u5788\u5761\u577F"+
-        "\u5789\u5793\u57A0\u57B3\u57A4\u57AA\u57B0\u57C3"+
-        "\u57C6\u57D4\u57D2\u57D3\u580A\u57D6\u57E3\u580B"+
-        "\u5819\u581D\u5872\u5821\u5862\u584B\u5870\u6BC0"+
-        "\u5852\u583D\u5879\u5885\u58B9\u589F\u58AB\u58BA"+
-        "\u58DE\u58BB\u58B8\u58AE\u58C5\u58D3\u58D1\u58D7"+
-        "\u58D9\u58D8\u58E5\u58DC\u58E4\u58DF\u58EF\u58FA"+
-        "\u58F9\u58FB\u58FC\u58FD\u5902\u590A\u5910\u591B"+
-        "\u68A6\u5925\u592C\u592D\u5932\u5938\u593E\u7AD2"+
-        "\u5955\u5950\u594E\u595A\u5958\u5962\u5960\u5967"+
-        "\u596C\u5969\u5978\u5981\u599D\u4F5E\u4FAB\u59A3"+
-        "\u59B2\u59C6\u59E8\u59DC\u598D\u59D9\u59DA\u5A25"+
-        "\u5A1F\u5A11\u5A1C\u5A09\u5A1A\u5A40\u5A6C\u5A49"+
-        "\u5A35\u5A36\u5A62\u5A6A\u5A9A\u5ABC\u5ABE\u5ACB"+
-        "\u5AC2\u5ABD\u5AE3\u5AD7\u5AE6\u5AE9\u5AD6\u5AFA"+
-        "\u5AFB\u5B0C\u5B0B\u5B16\u5B32\u5AD0\u5B2A\u5B36"+
-        "\u5B3E\u5B43\u5B45\u5B40\u5B51\u5B55\u5B5A\u5B5B"+
-        "\u5B65\u5B69\u5B70\u5B73\u5B75\u5B78\u6588\u5B7A"+
-        "\u5B80\u5B83\u5BA6\u5BB8\u5BC3\u5BC7\u5BC9\u5BD4"+
-        "\u5BD0\u5BE4\u5BE6\u5BE2\u5BDE\u5BE5\u5BEB\u5BF0"+
-        "\u5BF6\u5BF3\u5C05\u5C07\u5C08\u5C0D\u5C13\u5C20"+
-        "\u5C22\u5C28\u5C38\u5C39\u5C41\u5C46\u5C4E\u5C53";
-
-    private final static String innerIndex3=
-        "\u5C50\u5C4F\u5B71\u5C6C\u5C6E\u4E62\u5C76\u5C79"+
-        "\u5C8C\u5C91\u5C94\u599B\u5CAB\u5CBB\u5CB6\u5CBC"+
-        "\u5CB7\u5CC5\u5CBE\u5CC7\u5CD9\u5CE9\u5CFD\u5CFA"+
-        "\u5CED\u5D8C\u5CEA\u5D0B\u5D15\u5D17\u5D5C\u5D1F"+
-        "\u5D1B\u5D11\u5D14\u5D22\u5D1A\u5D19\u5D18\u5D4C"+
-        "\u5D52\u5D4E\u5D4B\u5D6C\u5D73\u5D76\u5D87\u5D84"+
-        "\u5D82\u5DA2\u5D9D\u5DAC\u5DAE\u5DBD\u5D90\u5DB7"+
-        "\u5DBC\u5DC9\u5DCD\u5DD3\u5DD2\u5DD6\u5DDB\u5DEB"+
-        "\u5DF2\u5DF5\u5E0B\u5E1A\u5E19\u5E11\u5E1B\u5E36"+
-        "\u5E37\u5E44\u5E43\u5E40\u5E4E\u5E57\u5E54\u5E5F"+
-        "\u5E62\u5E64\u5E47\u5E75\u5E76\u5E7A\u9EBC\u5E7F"+
-        "\u5EA0\u5EC1\u5EC2\u5EC8\u5ED0\u5ECF\u5ED6\u5EE3"+
-        "\u5EDD\u5EDA\u5EDB\u5EE2\u5EE1\u5EE8\u5EE9\u5EEC"+
-        "\u5EF1\u5EF3\u5EF0\u5EF4\u5EF8\u5EFE\u5F03\u5F09"+
-        "\u5F5D\u5F5C\u5F0B\u5F11\u5F16\u5F29\u5F2D\u5F38"+
-        "\u5F41\u5F48\u5F4C\u5F4E\u5F2F\u5F51\u5F56\u5F57"+
-        "\u5F59\u5F61\u5F6D\u5F73\u5F77\u5F83\u5F82\u5F7F"+
-        "\u5F8A\u5F88\u5F91\u5F87\u5F9E\u5F99\u5F98\u5FA0"+
-        "\u5FA8\u5FAD\u5FBC\u5FD6\u5FFB\u5FE4\u5FF8\u5FF1"+
-        "\u5FDD\u60B3\u5FFF\u6021\u6060\u6019\u6010\u6029"+
-        "\u600E\u6031\u601B\u6015\u602B\u6026\u600F\u603A"+
-        "\u605A\u6041\u606A\u6077\u605F\u604A\u6046\u604D"+
-        "\u6063\u6043\u6064\u6042\u606C\u606B\u6059\u6081"+
-        "\u608D\u60E7\u6083\u609A\u6084\u609B\u6096\u6097"+
-        "\u6092\u60A7\u608B\u60E1\u60B8\u60E0\u60D3\u60B4"+
-        "\u5FF0\u60BD\u60C6\u60B5\u60D8\u614D\u6115\u6106"+
-        "\u60F6\u60F7\u6100\u60F4\u60FA\u6103\u6121\u60FB"+
-        "\u60F1\u610D\u610E\u6147\u613E\u6128\u6127\u614A"+
-        "\u613F\u613C\u612C\u6134\u613D\u6142\u6144\u6173"+
-        "\u6177\u6158\u6159\u615A\u616B\u6174\u616F\u6165"+
-        "\u6171\u615F\u615D\u6153\u6175\u6199\u6196\u6187"+
-        "\u61AC\u6194\u619A\u618A\u6191\u61AB\u61AE\u61CC"+
-        "\u61CA\u61C9\u61F7\u61C8\u61C3\u61C6\u61BA\u61CB"+
-        "\u7F79\u61CD\u61E6\u61E3\u61F6\u61FA\u61F4\u61FF"+
-        "\u61FD\u61FC\u61FE\u6200\u6208\u6209\u620D\u620C"+
-        "\u6214\u621B\u621E\u6221\u622A\u622E\u6230\u6232"+
-        "\u6233\u6241\u624E\u625E\u6263\u625B\u6260\u6268"+
-        "\u627C\u6282\u6289\u627E\u6292\u6293\u6296\u62D4"+
-        "\u6283\u6294\u62D7\u62D1\u62BB\u62CF\u62FF\u62C6"+
-        "\u64D4\u62C8\u62DC\u62CC\u62CA\u62C2\u62C7\u629B"+
-        "\u62C9\u630C\u62EE\u62F1\u6327\u6302\u6308\u62EF"+
-        "\u62F5\u6350\u633E\u634D\u641C\u634F\u6396\u638E"+
-        "\u6380\u63AB\u6376\u63A3\u638F\u6389\u639F\u63B5"+
-        "\u636B\u6369\u63BE\u63E9\u63C0\u63C6\u63E3\u63C9"+
-        "\u63D2\u63F6\u63C4\u6416\u6434\u6406\u6413\u6426"+
-        "\u6436\u651D\u6417\u6428\u640F\u6467\u646F\u6476"+
-        "\u644E\u652A\u6495\u6493\u64A5\u64A9\u6488\u64BC"+
-        "\u64DA\u64D2\u64C5\u64C7\u64BB\u64D8\u64C2\u64F1"+
-        "\u64E7\u8209\u64E0\u64E1\u62AC\u64E3\u64EF\u652C"+
-        "\u64F6\u64F4\u64F2\u64FA\u6500\u64FD\u6518\u651C"+
-        "\u6505\u6524\u6523\u652B\u6534\u6535\u6537\u6536"+
-        "\u6538\u754B\u6548\u6556\u6555\u654D\u6558\u655E"+
-        "\u655D\u6572\u6578\u6582\u6583\u8B8A\u659B\u659F"+
-        "\u65AB\u65B7\u65C3\u65C6\u65C1\u65C4\u65CC\u65D2"+
-        "\u65DB\u65D9\u65E0\u65E1\u65F1\u6772\u660A\u6603"+
-        "\u65FB\u6773\u6635\u6636\u6634\u661C\u664F\u6644"+
-        "\u6649\u6641\u665E\u665D\u6664\u6667\u6668\u665F"+
-        "\u6662\u6670\u6683\u6688\u668E\u6689\u6684\u6698"+
-        "\u669D\u66C1\u66B9\u66C9\u66BE\u66BC\u66C4\u66B8"+
-        "\u66D6\u66DA\u66E0\u663F\u66E6\u66E9\u66F0\u66F5"+
-        "\u66F7\u670F\u6716\u671E\u6726\u6727\u9738\u672E"+
-        "\u673F\u6736\u6741\u6738\u6737\u6746\u675E\u6760"+
-        "\u6759\u6763\u6764\u6789\u6770\u67A9\u677C\u676A"+
-        "\u678C\u678B\u67A6\u67A1\u6785\u67B7\u67EF\u67B4"+
-        "\u67EC\u67B3\u67E9\u67B8\u67E4\u67DE\u67DD\u67E2"+
-        "\u67EE\u67B9\u67CE\u67C6\u67E7\u6A9C\u681E\u6846"+
-        "\u6829\u6840\u684D\u6832\u684E\u68B3\u682B\u6859"+
-        "\u6863\u6877\u687F\u689F\u688F\u68AD\u6894\u689D"+
-        "\u689B\u6883\u6AAE\u68B9\u6874\u68B5\u68A0\u68BA"+
-        "\u690F\u688D\u687E\u6901\u68CA\u6908\u68D8\u6922"+
-        "\u6926\u68E1\u690C\u68CD\u68D4\u68E7\u68D5\u6936"+
-        "\u6912\u6904\u68D7\u68E3\u6925\u68F9\u68E0\u68EF"+
-        "\u6928\u692A\u691A\u6923\u6921\u68C6\u6979\u6977"+
-        "\u695C\u6978\u696B\u6954\u697E\u696E\u6939\u6974"+
-        "\u693D\u6959\u6930\u6961\u695E\u695D\u6981\u696A"+
-        "\u69B2\u69AE\u69D0\u69BF\u69C1\u69D3\u69BE\u69CE"+
-        "\u5BE8\u69CA\u69DD\u69BB\u69C3\u69A7\u6A2E\u6991"+
-        "\u69A0\u699C\u6995\u69B4\u69DE\u69E8\u6A02\u6A1B"+
-        "\u69FF\u6B0A\u69F9\u69F2\u69E7\u6A05\u69B1\u6A1E"+
-        "\u69ED\u6A14\u69EB\u6A0A\u6A12\u6AC1\u6A23\u6A13"+
-        "\u6A44\u6A0C\u6A72\u6A36\u6A78\u6A47\u6A62\u6A59"+
-        "\u6A66\u6A48\u6A38\u6A22\u6A90\u6A8D\u6AA0\u6A84"+
-        "\u6AA2\u6AA3\u6A97\u8617\u6ABB\u6AC3\u6AC2\u6AB8"+
-        "\u6AB3\u6AAC\u6ADE\u6AD1\u6ADF\u6AAA\u6ADA\u6AEA"+
-        "\u6AFB\u6B05\u8616\u6AFA\u6B12\u6B16\u9B31\u6B1F"+
-        "\u6B38\u6B37\u76DC\u6B39\u98EE\u6B47\u6B43\u6B49"+
-        "\u6B50\u6B59\u6B54\u6B5B\u6B5F\u6B61\u6B78\u6B79"+
-        "\u6B7F\u6B80\u6B84\u6B83\u6B8D\u6B98\u6B95\u6B9E"+
-        "\u6BA4\u6BAA\u6BAB\u6BAF\u6BB2\u6BB1\u6BB3\u6BB7"+
-        "\u6BBC\u6BC6\u6BCB\u6BD3\u6BDF\u6BEC\u6BEB\u6BF3"+
-        "\u6BEF\u9EBE\u6C08\u6C13\u6C14\u6C1B\u6C24\u6C23"+
-        "\u6C5E\u6C55\u6C62\u6C6A\u6C82\u6C8D\u6C9A\u6C81"+
-        "\u6C9B\u6C7E\u6C68\u6C73\u6C92\u6C90\u6CC4\u6CF1"+
-        "\u6CD3\u6CBD\u6CD7\u6CC5\u6CDD\u6CAE\u6CB1\u6CBE"+
-        "\u6CBA\u6CDB\u6CEF\u6CD9\u6CEA\u6D1F\u884D\u6D36"+
-        "\u6D2B\u6D3D\u6D38\u6D19\u6D35\u6D33\u6D12\u6D0C"+
-        "\u6D63\u6D93\u6D64\u6D5A\u6D79\u6D59\u6D8E\u6D95"+
-        "\u6FE4\u6D85\u6DF9\u6E15\u6E0A\u6DB5\u6DC7\u6DE6"+
-        "\u6DB8\u6DC6\u6DEC\u6DDE\u6DCC\u6DE8\u6DD2\u6DC5"+
-        "\u6DFA\u6DD9\u6DE4\u6DD5\u6DEA\u6DEE\u6E2D\u6E6E"+
-        "\u6E2E\u6E19\u6E72\u6E5F\u6E3E\u6E23\u6E6B\u6E2B"+
-        "\u6E76\u6E4D\u6E1F\u6E43\u6E3A\u6E4E\u6E24\u6EFF"+
-        "\u6E1D\u6E38\u6E82\u6EAA\u6E98\u6EC9\u6EB7\u6ED3"+
-        "\u6EBD\u6EAF\u6EC4\u6EB2\u6ED4\u6ED5\u6E8F\u6EA5"+
-        "\u6EC2\u6E9F\u6F41\u6F11\u704C\u6EEC\u6EF8\u6EFE"+
-        "\u6F3F\u6EF2\u6F31\u6EEF\u6F32\u6ECC\u6F3E\u6F13"+
-        "\u6EF7\u6F86\u6F7A\u6F78\u6F81\u6F80\u6F6F\u6F5B"+
-        "\u6FF3\u6F6D\u6F82\u6F7C\u6F58\u6F8E\u6F91\u6FC2"+
-        "\u6F66\u6FB3\u6FA3\u6FA1\u6FA4\u6FB9\u6FC6\u6FAA"+
-        "\u6FDF\u6FD5\u6FEC\u6FD4\u6FD8\u6FF1\u6FEE\u6FDB"+
-        "\u7009\u700B\u6FFA\u7011\u7001\u700F\u6FFE\u701B"+
-        "\u701A\u6F74\u701D\u7018\u701F\u7030\u703E\u7032"+
-        "\u7051\u7063\u7099\u7092\u70AF\u70F1\u70AC\u70B8"+
-        "\u70B3\u70AE\u70DF\u70CB\u70DD\u70D9\u7109\u70FD"+
-        "\u711C\u7119\u7165\u7155\u7188\u7166\u7162\u714C"+
-        "\u7156\u716C\u718F\u71FB\u7184\u7195\u71A8\u71AC"+
-        "\u71D7\u71B9\u71BE\u71D2\u71C9\u71D4\u71CE\u71E0"+
-        "\u71EC\u71E7\u71F5\u71FC\u71F9\u71FF\u720D\u7210"+
-        "\u721B\u7228\u722D\u722C\u7230\u7232\u723B\u723C"+
-        "\u723F\u7240\u7246\u724B\u7258\u7274\u727E\u7282"+
-        "\u7281\u7287\u7292\u7296\u72A2\u72A7\u72B9\u72B2"+
-        "\u72C3\u72C6\u72C4\u72CE\u72D2\u72E2\u72E0\u72E1"+
-        "\u72F9\u72F7\u500F\u7317\u730A\u731C\u7316\u731D"+
-        "\u7334\u732F\u7329\u7325\u733E\u734E\u734F\u9ED8"+
-        "\u7357\u736A\u7368\u7370\u7378\u7375\u737B\u737A"+
-        "\u73C8\u73B3\u73CE\u73BB\u73C0\u73E5\u73EE\u73DE"+
-        "\u74A2\u7405\u746F\u7425\u73F8\u7432\u743A\u7455"+
-        "\u743F\u745F\u7459\u7441\u745C\u7469\u7470\u7463"+
-        "\u746A\u7476\u747E\u748B\u749E\u74A7\u74CA\u74CF"+
-        "\u74D4\u73F1\u74E0\u74E3\u74E7\u74E9\u74EE\u74F2"+
-        "\u74F0\u74F1\u74F8\u74F7\u7504\u7503\u7505\u750C"+
-        "\u750E\u750D\u7515\u7513\u751E\u7526\u752C\u753C"+
-        "\u7544\u754D\u754A\u7549\u755B\u7546\u755A\u7569"+
-        "\u7564\u7567\u756B\u756D\u7578\u7576\u7586\u7587"+
-        "\u7574\u758A\u7589\u7582\u7594\u759A\u759D\u75A5"+
-        "\u75A3\u75C2\u75B3\u75C3\u75B5\u75BD\u75B8\u75BC"+
-        "\u75B1\u75CD\u75CA\u75D2\u75D9\u75E3\u75DE\u75FE"+
-        "\u75FF\u75FC\u7601\u75F0\u75FA\u75F2\u75F3\u760B"+
-        "\u760D\u7609\u761F\u7627\u7620\u7621\u7622\u7624"+
-        "\u7634\u7630\u763B\u7647\u7648\u7646\u765C\u7658"+
-        "\u7661\u7662\u7668\u7669\u766A\u7667\u766C\u7670"+
-        "\u7672\u7676\u7678\u767C\u7680\u7683\u7688\u768B"+
-        "\u768E\u7696\u7693\u7699\u769A\u76B0\u76B4\u76B8"+
-        "\u76B9\u76BA\u76C2\u76CD\u76D6\u76D2\u76DE\u76E1"+
-        "\u76E5\u76E7\u76EA\u862F\u76FB\u7708\u7707\u7704"+
-        "\u7729\u7724\u771E\u7725\u7726\u771B\u7737\u7738"+
-        "\u7747\u775A\u7768\u776B\u775B\u7765\u777F\u777E"+
-        "\u7779\u778E\u778B\u7791\u77A0\u779E\u77B0\u77B6"+
-        "\u77B9\u77BF\u77BC\u77BD\u77BB\u77C7\u77CD\u77D7"+
-        "\u77DA\u77DC\u77E3\u77EE\u77FC\u780C\u7812\u7926"+
-        "\u7820\u792A\u7845\u788E\u7874\u7886\u787C\u789A"+
-        "\u788C\u78A3\u78B5\u78AA\u78AF\u78D1\u78C6\u78CB"+
-        "\u78D4\u78BE\u78BC\u78C5\u78CA\u78EC\u78E7\u78DA"+
-        "\u78FD\u78F4\u7907\u7912\u7911\u7919\u792C\u792B"+
-        "\u7940\u7960\u7957\u795F\u795A\u7955\u7953\u797A"+
-        "\u797F\u798A\u799D\u79A7\u9F4B\u79AA\u79AE\u79B3"+
-        "\u79B9\u79BA\u79C9\u79D5\u79E7\u79EC\u79E1\u79E3"+
-        "\u7A08\u7A0D\u7A18\u7A19\u7A20\u7A1F\u7980\u7A31"+
-        "\u7A3B\u7A3E\u7A37\u7A43\u7A57\u7A49\u7A61\u7A62"+
-        "\u7A69\u9F9D\u7A70\u7A79\u7A7D\u7A88\u7A97\u7A95"+
-        "\u7A98\u7A96\u7AA9\u7AC8\u7AB0\u7AB6\u7AC5\u7AC4"+
-        "\u7ABF\u9083\u7AC7\u7ACA\u7ACD\u7ACF\u7AD5\u7AD3"+
-        "\u7AD9\u7ADA\u7ADD\u7AE1\u7AE2\u7AE6\u7AED\u7AF0"+
-        "\u7B02\u7B0F\u7B0A\u7B06\u7B33\u7B18\u7B19\u7B1E"+
-        "\u7B35\u7B28\u7B36\u7B50\u7B7A\u7B04\u7B4D\u7B0B"+
-        "\u7B4C\u7B45\u7B75\u7B65\u7B74\u7B67\u7B70\u7B71"+
-        "\u7B6C\u7B6E\u7B9D\u7B98\u7B9F\u7B8D\u7B9C\u7B9A"+
-        "\u7B8B\u7B92\u7B8F\u7B5D\u7B99\u7BCB\u7BC1\u7BCC"+
-        "\u7BCF\u7BB4\u7BC6\u7BDD\u7BE9\u7C11\u7C14\u7BE6"+
-        "\u7BE5\u7C60\u7C00\u7C07\u7C13\u7BF3\u7BF7\u7C17"+
-        "\u7C0D\u7BF6\u7C23\u7C27\u7C2A\u7C1F\u7C37\u7C2B"+
-        "\u7C3D\u7C4C\u7C43\u7C54\u7C4F\u7C40\u7C50\u7C58"+
-        "\u7C5F\u7C64\u7C56\u7C65\u7C6C\u7C75\u7C83\u7C90"+
-        "\u7CA4\u7CAD\u7CA2\u7CAB\u7CA1\u7CA8\u7CB3\u7CB2"+
-        "\u7CB1\u7CAE\u7CB9\u7CBD\u7CC0\u7CC5\u7CC2\u7CD8"+
-        "\u7CD2\u7CDC\u7CE2\u9B3B\u7CEF\u7CF2\u7CF4\u7CF6"+
-        "\u7CFA\u7D06\u7D02\u7D1C\u7D15\u7D0A\u7D45\u7D4B"+
-        "\u7D2E\u7D32\u7D3F\u7D35\u7D46\u7D73\u7D56\u7D4E"+
-        "\u7D72\u7D68\u7D6E\u7D4F\u7D63\u7D93\u7D89\u7D5B"+
-        "\u7D8F\u7D7D\u7D9B\u7DBA\u7DAE\u7DA3\u7DB5\u7DC7"+
-        "\u7DBD\u7DAB\u7E3D\u7DA2\u7DAF\u7DDC\u7DB8\u7D9F"+
-        "\u7DB0\u7DD8\u7DDD\u7DE4\u7DDE\u7DFB\u7DF2\u7DE1"+
-        "\u7E05\u7E0A\u7E23\u7E21\u7E12\u7E31\u7E1F\u7E09"+
-        "\u7E0B\u7E22\u7E46\u7E66\u7E3B\u7E35\u7E39\u7E43"+
-        "\u7E37\u7E32\u7E3A\u7E67\u7E5D\u7E56\u7E5E\u7E59"+
-        "\u7E5A\u7E79\u7E6A\u7E69\u7E7C\u7E7B\u7E83\u7DD5"+
-        "\u7E7D\u8FAE\u7E7F\u7E88\u7E89\u7E8C\u7E92\u7E90"+
-        "\u7E93\u7E94\u7E96\u7E8E\u7E9B\u7E9C\u7F38\u7F3A";
-
-    private final static String innerIndex4=
-        "\u7F45\u7F4C\u7F4D\u7F4E\u7F50\u7F51\u7F55\u7F54"+
-        "\u7F58\u7F5F\u7F60\u7F68\u7F69\u7F67\u7F78\u7F82"+
-        "\u7F86\u7F83\u7F88\u7F87\u7F8C\u7F94\u7F9E\u7F9D"+
-        "\u7F9A\u7FA3\u7FAF\u7FB2\u7FB9\u7FAE\u7FB6\u7FB8"+
-        "\u8B71\u7FC5\u7FC6\u7FCA\u7FD5\u7FD4\u7FE1\u7FE6"+
-        "\u7FE9\u7FF3\u7FF9\u98DC\u8006\u8004\u800B\u8012"+
-        "\u8018\u8019\u801C\u8021\u8028\u803F\u803B\u804A"+
-        "\u8046\u8052\u8058\u805A\u805F\u8062\u8068\u8073"+
-        "\u8072\u8070\u8076\u8079\u807D\u807F\u8084\u8086"+
-        "\u8085\u809B\u8093\u809A\u80AD\u5190\u80AC\u80DB"+
-        "\u80E5\u80D9\u80DD\u80C4\u80DA\u80D6\u8109\u80EF"+
-        "\u80F1\u811B\u8129\u8123\u812F\u814B\u968B\u8146"+
-        "\u813E\u8153\u8151\u80FC\u8171\u816E\u8165\u8166"+
-        "\u8174\u8183\u8188\u818A\u8180\u8182\u81A0\u8195"+
-        "\u81A4\u81A3\u815F\u8193\u81A9\u81B0\u81B5\u81BE"+
-        "\u81B8\u81BD\u81C0\u81C2\u81BA\u81C9\u81CD\u81D1"+
-        "\u81D9\u81D8\u81C8\u81DA\u81DF\u81E0\u81E7\u81FA"+
-        "\u81FB\u81FE\u8201\u8202\u8205\u8207\u820A\u820D"+
-        "\u8210\u8216\u8229\u822B\u8238\u8233\u8240\u8259"+
-        "\u8258\u825D\u825A\u825F\u8264\u8262\u8268\u826A"+
-        "\u826B\u822E\u8271\u8277\u8278\u827E\u828D\u8292"+
-        "\u82AB\u829F\u82BB\u82AC\u82E1\u82E3\u82DF\u82D2"+
-        "\u82F4\u82F3\u82FA\u8393\u8303\u82FB\u82F9\u82DE"+
-        "\u8306\u82DC\u8309\u82D9\u8335\u8334\u8316\u8332"+
-        "\u8331\u8340\u8339\u8350\u8345\u832F\u832B\u8317"+
-        "\u8318\u8385\u839A\u83AA\u839F\u83A2\u8396\u8323"+
-        "\u838E\u8387\u838A\u837C\u83B5\u8373\u8375\u83A0"+
-        "\u8389\u83A8\u83F4\u8413\u83EB\u83CE\u83FD\u8403"+
-        "\u83D8\u840B\u83C1\u83F7\u8407\u83E0\u83F2\u840D"+
-        "\u8422\u8420\u83BD\u8438\u8506\u83FB\u846D\u842A"+
-        "\u843C\u855A\u8484\u8477\u846B\u84AD\u846E\u8482"+
-        "\u8469\u8446\u842C\u846F\u8479\u8435\u84CA\u8462"+
-        "\u84B9\u84BF\u849F\u84D9\u84CD\u84BB\u84DA\u84D0"+
-        "\u84C1\u84C6\u84D6\u84A1\u8521\u84FF\u84F4\u8517"+
-        "\u8518\u852C\u851F\u8515\u8514\u84FC\u8540\u8563"+
-        "\u8558\u8548\u8541\u8602\u854B\u8555\u8580\u85A4"+
-        "\u8588\u8591\u858A\u85A8\u856D\u8594\u859B\u85EA"+
-        "\u8587\u859C\u8577\u857E\u8590\u85C9\u85BA\u85CF"+
-        "\u85B9\u85D0\u85D5\u85DD\u85E5\u85DC\u85F9\u860A"+
-        "\u8613\u860B\u85FE\u85FA\u8606\u8622\u861A\u8630"+
-        "\u863F\u864D\u4E55\u8654\u865F\u8667\u8671\u8693"+
-        "\u86A3\u86A9\u86AA\u868B\u868C\u86B6\u86AF\u86C4"+
-        "\u86C6\u86B0\u86C9\u8823\u86AB\u86D4\u86DE\u86E9"+
-        "\u86EC\u86DF\u86DB\u86EF\u8712\u8706\u8708\u8700"+
-        "\u8703\u86FB\u8711\u8709\u870D\u86F9\u870A\u8734"+
-        "\u873F\u8737\u873B\u8725\u8729\u871A\u8760\u875F"+
-        "\u8778\u874C\u874E\u8774\u8757\u8768\u876E\u8759"+
-        "\u8753\u8763\u876A\u8805\u87A2\u879F\u8782\u87AF"+
-        "\u87CB\u87BD\u87C0\u87D0\u96D6\u87AB\u87C4\u87B3"+
-        "\u87C7\u87C6\u87BB\u87EF\u87F2\u87E0\u880F\u880D"+
-        "\u87FE\u87F6\u87F7\u880E\u87D2\u8811\u8816\u8815"+
-        "\u8822\u8821\u8831\u8836\u8839\u8827\u883B\u8844"+
-        "\u8842\u8852\u8859\u885E\u8862\u886B\u8881\u887E"+
-        "\u889E\u8875\u887D\u88B5\u8872\u8882\u8897\u8892"+
-        "\u88AE\u8899\u88A2\u888D\u88A4\u88B0\u88BF\u88B1"+
-        "\u88C3\u88C4\u88D4\u88D8\u88D9\u88DD\u88F9\u8902"+
-        "\u88FC\u88F4\u88E8\u88F2\u8904\u890C\u890A\u8913"+
-        "\u8943\u891E\u8925\u892A\u892B\u8941\u8944\u893B"+
-        "\u8936\u8938\u894C\u891D\u8960\u895E\u8966\u8964"+
-        "\u896D\u896A\u896F\u8974\u8977\u897E\u8983\u8988"+
-        "\u898A\u8993\u8998\u89A1\u89A9\u89A6\u89AC\u89AF"+
-        "\u89B2\u89BA\u89BD\u89BF\u89C0\u89DA\u89DC\u89DD"+
-        "\u89E7\u89F4\u89F8\u8A03\u8A16\u8A10\u8A0C\u8A1B"+
-        "\u8A1D\u8A25\u8A36\u8A41\u8A5B\u8A52\u8A46\u8A48"+
-        "\u8A7C\u8A6D\u8A6C\u8A62\u8A85\u8A82\u8A84\u8AA8"+
-        "\u8AA1\u8A91\u8AA5\u8AA6\u8A9A\u8AA3\u8AC4\u8ACD"+
-        "\u8AC2\u8ADA\u8AEB\u8AF3\u8AE7\u8AE4\u8AF1\u8B14"+
-        "\u8AE0\u8AE2\u8AF7\u8ADE\u8ADB\u8B0C\u8B07\u8B1A"+
-        "\u8AE1\u8B16\u8B10\u8B17\u8B20\u8B33\u97AB\u8B26"+
-        "\u8B2B\u8B3E\u8B28\u8B41\u8B4C\u8B4F\u8B4E\u8B49"+
-        "\u8B56\u8B5B\u8B5A\u8B6B\u8B5F\u8B6C\u8B6F\u8B74"+
-        "\u8B7D\u8B80\u8B8C\u8B8E\u8B92\u8B93\u8B96\u8B99"+
-        "\u8B9A\u8C3A\u8C41\u8C3F\u8C48\u8C4C\u8C4E\u8C50"+
-        "\u8C55\u8C62\u8C6C\u8C78\u8C7A\u8C82\u8C89\u8C85"+
-        "\u8C8A\u8C8D\u8C8E\u8C94\u8C7C\u8C98\u621D\u8CAD"+
-        "\u8CAA\u8CBD\u8CB2\u8CB3\u8CAE\u8CB6\u8CC8\u8CC1"+
-        "\u8CE4\u8CE3\u8CDA\u8CFD\u8CFA\u8CFB\u8D04\u8D05"+
-        "\u8D0A\u8D07\u8D0F\u8D0D\u8D10\u9F4E\u8D13\u8CCD"+
-        "\u8D14\u8D16\u8D67\u8D6D\u8D71\u8D73\u8D81\u8D99"+
-        "\u8DC2\u8DBE\u8DBA\u8DCF\u8DDA\u8DD6\u8DCC\u8DDB"+
-        "\u8DCB\u8DEA\u8DEB\u8DDF\u8DE3\u8DFC\u8E08\u8E09"+
-        "\u8DFF\u8E1D\u8E1E\u8E10\u8E1F\u8E42\u8E35\u8E30"+
-        "\u8E34\u8E4A\u8E47\u8E49\u8E4C\u8E50\u8E48\u8E59"+
-        "\u8E64\u8E60\u8E2A\u8E63\u8E55\u8E76\u8E72\u8E7C"+
-        "\u8E81\u8E87\u8E85\u8E84\u8E8B\u8E8A\u8E93\u8E91"+
-        "\u8E94\u8E99\u8EAA\u8EA1\u8EAC\u8EB0\u8EC6\u8EB1"+
-        "\u8EBE\u8EC5\u8EC8\u8ECB\u8EDB\u8EE3\u8EFC\u8EFB"+
-        "\u8EEB\u8EFE\u8F0A\u8F05\u8F15\u8F12\u8F19\u8F13"+
-        "\u8F1C\u8F1F\u8F1B\u8F0C\u8F26\u8F33\u8F3B\u8F39"+
-        "\u8F45\u8F42\u8F3E\u8F4C\u8F49\u8F46\u8F4E\u8F57"+
-        "\u8F5C\u8F62\u8F63\u8F64\u8F9C\u8F9F\u8FA3\u8FAD"+
-        "\u8FAF\u8FB7\u8FDA\u8FE5\u8FE2\u8FEA\u8FEF\u9087"+
-        "\u8FF4\u9005\u8FF9\u8FFA\u9011\u9015\u9021\u900D"+
-        "\u901E\u9016\u900B\u9027\u9036\u9035\u9039\u8FF8"+
-        "\u904F\u9050\u9051\u9052\u900E\u9049\u903E\u9056"+
-        "\u9058\u905E\u9068\u906F\u9076\u96A8\u9072\u9082"+
-        "\u907D\u9081\u9080\u908A\u9089\u908F\u90A8\u90AF"+
-        "\u90B1\u90B5\u90E2\u90E4\u6248\u90DB\u9102\u9112"+
-        "\u9119\u9132\u9130\u914A\u9156\u9158\u9163\u9165"+
-        "\u9169\u9173\u9172\u918B\u9189\u9182\u91A2\u91AB"+
-        "\u91AF\u91AA\u91B5\u91B4\u91BA\u91C0\u91C1\u91C9"+
-        "\u91CB\u91D0\u91D6\u91DF\u91E1\u91DB\u91FC\u91F5"+
-        "\u91F6\u921E\u91FF\u9214\u922C\u9215\u9211\u925E"+
-        "\u9257\u9245\u9249\u9264\u9248\u9295\u923F\u924B"+
-        "\u9250\u929C\u9296\u9293\u929B\u925A\u92CF\u92B9"+
-        "\u92B7\u92E9\u930F\u92FA\u9344\u932E\u9319\u9322"+
-        "\u931A\u9323\u933A\u9335\u933B\u935C\u9360\u937C"+
-        "\u936E\u9356\u93B0\u93AC\u93AD\u9394\u93B9\u93D6"+
-        "\u93D7\u93E8\u93E5\u93D8\u93C3\u93DD\u93D0\u93C8"+
-        "\u93E4\u941A\u9414\u9413\u9403\u9407\u9410\u9436"+
-        "\u942B\u9435\u9421\u943A\u9441\u9452\u9444\u945B"+
-        "\u9460\u9462\u945E\u946A\u9229\u9470\u9475\u9477"+
-        "\u947D\u945A\u947C\u947E\u9481\u947F\u9582\u9587"+
-        "\u958A\u9594\u9596\u9598\u9599\u95A0\u95A8\u95A7"+
-        "\u95AD\u95BC\u95BB\u95B9\u95BE\u95CA\u6FF6\u95C3"+
-        "\u95CD\u95CC\u95D5\u95D4\u95D6\u95DC\u95E1\u95E5"+
-        "\u95E2\u9621\u9628\u962E\u962F\u9642\u964C\u964F"+
-        "\u964B\u9677\u965C\u965E\u965D\u965F\u9666\u9672"+
-        "\u966C\u968D\u9698\u9695\u9697\u96AA\u96A7\u96B1"+
-        "\u96B2\u96B0\u96B4\u96B6\u96B8\u96B9\u96CE\u96CB"+
-        "\u96C9\u96CD\u894D\u96DC\u970D\u96D5\u96F9\u9704"+
-        "\u9706\u9708\u9713\u970E\u9711\u970F\u9716\u9719"+
-        "\u9724\u972A\u9730\u9739\u973D\u973E\u9744\u9746"+
-        "\u9748\u9742\u9749\u975C\u9760\u9764\u9766\u9768"+
-        "\u52D2\u976B\u9771\u9779\u9785\u977C\u9781\u977A"+
-        "\u9786\u978B\u978F\u9790\u979C\u97A8\u97A6\u97A3"+
-        "\u97B3\u97B4\u97C3\u97C6\u97C8\u97CB\u97DC\u97ED"+
-        "\u9F4F\u97F2\u7ADF\u97F6\u97F5\u980F\u980C\u9838"+
-        "\u9824\u9821\u9837\u983D\u9846\u984F\u984B\u986B"+
-        "\u986F\u9870\u9871\u9874\u9873\u98AA\u98AF\u98B1"+
-        "\u98B6\u98C4\u98C3\u98C6\u98E9\u98EB\u9903\u9909"+
-        "\u9912\u9914\u9918\u9921\u991D\u991E\u9924\u9920"+
-        "\u992C\u992E\u993D\u993E\u9942\u9949\u9945\u9950"+
-        "\u994B\u9951\u9952\u994C\u9955\u9997\u9998\u99A5"+
-        "\u99AD\u99AE\u99BC\u99DF\u99DB\u99DD\u99D8\u99D1"+
-        "\u99ED\u99EE\u99F1\u99F2\u99FB\u99F8\u9A01\u9A0F"+
-        "\u9A05\u99E2\u9A19\u9A2B\u9A37\u9A45\u9A42\u9A40"+
-        "\u9A43\u9A3E\u9A55\u9A4D\u9A5B\u9A57\u9A5F\u9A62"+
-        "\u9A65\u9A64\u9A69\u9A6B\u9A6A\u9AAD\u9AB0\u9ABC"+
-        "\u9AC0\u9ACF\u9AD1\u9AD3\u9AD4\u9ADE\u9ADF\u9AE2"+
-        "\u9AE3\u9AE6\u9AEF\u9AEB\u9AEE\u9AF4\u9AF1\u9AF7"+
-        "\u9AFB\u9B06\u9B18\u9B1A\u9B1F\u9B22\u9B23\u9B25"+
-        "\u9B27\u9B28\u9B29\u9B2A\u9B2E\u9B2F\u9B32\u9B44"+
-        "\u9B43\u9B4F\u9B4D\u9B4E\u9B51\u9B58\u9B74\u9B93"+
-        "\u9B83\u9B91\u9B96\u9B97\u9B9F\u9BA0\u9BA8\u9BB4"+
-        "\u9BC0\u9BCA\u9BB9\u9BC6\u9BCF\u9BD1\u9BD2\u9BE3"+
-        "\u9BE2\u9BE4\u9BD4\u9BE1\u9C3A\u9BF2\u9BF1\u9BF0"+
-        "\u9C15\u9C14\u9C09\u9C13\u9C0C\u9C06\u9C08\u9C12"+
-        "\u9C0A\u9C04\u9C2E\u9C1B\u9C25\u9C24\u9C21\u9C30"+
-        "\u9C47\u9C32\u9C46\u9C3E\u9C5A\u9C60\u9C67\u9C76"+
-        "\u9C78\u9CE7\u9CEC\u9CF0\u9D09\u9D08\u9CEB\u9D03"+
-        "\u9D06\u9D2A\u9D26\u9DAF\u9D23\u9D1F\u9D44\u9D15"+
-        "\u9D12\u9D41\u9D3F\u9D3E\u9D46\u9D48\u9D5D\u9D5E"+
-        "\u9D64\u9D51\u9D50\u9D59\u9D72\u9D89\u9D87\u9DAB"+
-        "\u9D6F\u9D7A\u9D9A\u9DA4\u9DA9\u9DB2\u9DC4\u9DC1"+
-        "\u9DBB\u9DB8\u9DBA\u9DC6\u9DCF\u9DC2\u9DD9\u9DD3"+
-        "\u9DF8\u9DE6\u9DED\u9DEF\u9DFD\u9E1A\u9E1B\u9E1E"+
-        "\u9E75\u9E79\u9E7D\u9E81\u9E88\u9E8B\u9E8C\u9E92"+
-        "\u9E95\u9E91\u9E9D\u9EA5\u9EA9\u9EB8\u9EAA\u9EAD"+
-        "\u9761\u9ECC\u9ECE\u9ECF\u9ED0\u9ED4\u9EDC\u9EDE"+
-        "\u9EDD\u9EE0\u9EE5\u9EE8\u9EEF\u9EF4\u9EF6\u9EF7"+
-        "\u9EF9\u9EFB\u9EFC\u9EFD\u9F07\u9F08\u76B7\u9F15"+
-        "\u9F21\u9F2C\u9F3E\u9F4A\u9F52\u9F54\u9F63\u9F5F"+
-        "\u9F60\u9F61\u9F66\u9F67\u9F6C\u9F6A\u9F77\u9F72"+
-        "\u9F76\u9F95\u9F9C\u9FA0\u582F\u69C7\u9059\u7464"+
-        "\u51DC\u7199\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\u7E8A\u891C\u9348\u9288\u84DC\u4FC9"+
-        "\u70BB\u6631\u68C8\u92F9\u66FB\u5F45\u4E28\u4EE1"+
-        "\u4EFC\u4F00\u4F03\u4F39\u4F56\u4F92\u4F8A\u4F9A"+
-        "\u4F94\u4FCD\u5040\u5022\u4FFF\u501E\u5046\u5070"+
-        "\u5042\u5094\u50F4\u50D8\u514A\u5164\u519D\u51BE"+
-        "\u51EC\u5215\u529C\u52A6\u52C0\u52DB\u5300\u5307"+
-        "\u5324\u5372\u5393\u53B2\u53DD\uFA0E\u549C\u548A"+
-        "\u54A9\u54FF\u5586\u5759\u5765\u57AC\u57C8\u57C7"+
-        "\uFA0F\uFA10\u589E\u58B2\u590B\u5953\u595B\u595D"+
-        "\u5963\u59A4\u59BA\u5B56\u5BC0\u752F\u5BD8\u5BEC"+
-        "\u5C1E\u5CA6\u5CBA\u5CF5\u5D27\u5D53\uFA11\u5D42"+
-        "\u5D6D\u5DB8\u5DB9\u5DD0\u5F21\u5F34\u5F67\u5FB7";
-
-    private final static String innerIndex5=
-        "\u5FDE\u605D\u6085\u608A\u60DE\u60D5\u6120\u60F2"+
-        "\u6111\u6137\u6130\u6198\u6213\u62A6\u63F5\u6460"+
-        "\u649D\u64CE\u654E\u6600\u6615\u663B\u6609\u662E"+
-        "\u661E\u6624\u6665\u6657\u6659\uFA12\u6673\u6699"+
-        "\u66A0\u66B2\u66BF\u66FA\u670E\uF929\u6766\u67BB"+
-        "\u6852\u67C0\u6801\u6844\u68CF\uFA13\u6968\uFA14"+
-        "\u6998\u69E2\u6A30\u6A6B\u6A46\u6A73\u6A7E\u6AE2"+
-        "\u6AE4\u6BD6\u6C3F\u6C5C\u6C86\u6C6F\u6CDA\u6D04"+
-        "\u6D87\u6D6F\u6D96\u6DAC\u6DCF\u6DF8\u6DF2\u6DFC"+
-        "\u6E39\u6E5C\u6E27\u6E3C\u6EBF\u6F88\u6FB5\u6FF5"+
-        "\u7005\u7007\u7028\u7085\u70AB\u710F\u7104\u715C"+
-        "\u7146\u7147\uFA15\u71C1\u71FE\u72B1\u72BE\u7324"+
-        "\uFA16\u7377\u73BD\u73C9\u73D6\u73E3\u73D2\u7407"+
-        "\u73F5\u7426\u742A\u7429\u742E\u7462\u7489\u749F"+
-        "\u7501\u756F\u7682\u769C\u769E\u769B\u76A6\uFA17"+
-        "\u7746\u52AF\u7821\u784E\u7864\u787A\u7930\uFA18"+
-        "\uFA19\uFA1A\u7994\uFA1B\u799B\u7AD1\u7AE7\uFA1C"+
-        "\u7AEB\u7B9E\uFA1D\u7D48\u7D5C\u7DB7\u7DA0\u7DD6"+
-        "\u7E52\u7F47\u7FA1\uFA1E\u8301\u8362\u837F\u83C7"+
-        "\u83F6\u8448\u84B4\u8553\u8559\u856B\uFA1F\u85B0"+
-        "\uFA20\uFA21\u8807\u88F5\u8A12\u8A37\u8A79\u8AA7"+
-        "\u8ABE\u8ADF\uFA22\u8AF6\u8B53\u8B7F\u8CF0\u8CF4"+
-        "\u8D12\u8D76\uFA23\u8ECF\uFA24\uFA25\u9067\u90DE"+
-        "\uFA26\u9115\u9127\u91DA\u91D7\u91DE\u91ED\u91EE"+
-        "\u91E4\u91E5\u9206\u9210\u920A\u923A\u9240\u923C"+
-        "\u924E\u9259\u9251\u9239\u9267\u92A7\u9277\u9278"+
-        "\u92E7\u92D7\u92D9\u92D0\uFA27\u92D5\u92E0\u92D3"+
-        "\u9325\u9321\u92FB\uFA28\u931E\u92FF\u931D\u9302"+
-        "\u9370\u9357\u93A4\u93C6\u93DE\u93F8\u9431\u9445"+
-        "\u9448\u9592\uF9DC\uFA29\u969D\u96AF\u9733\u973B"+
-        "\u9743\u974D\u974F\u9751\u9755\u9857\u9865\uFA2A"+
-        "\uFA2B\u9927\uFA2C\u999E\u9A4E\u9AD9\u9ADC\u9B75"+
-        "\u9B72\u9B8F\u9BB1\u9BBB\u9C00\u9D70\u9D6B\uFA2D"+
-        "\u9E19\u9ED1\uFFFD\uFFFD\u2170\u2171\u2172\u2173"+
-        "\u2174\u2175\u2176\u2177\u2178\u2179\uFFE2\uFFE4"+
-        "\uFF07\uFF02";
-
-    protected final static short index1[] = {
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 0, 0, 0, 9, 0, 0,
-        10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
-        26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
-        42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
-        58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
-        74, 75, 76, 77, 78, 0, 0, 0, 0, 79, 80, 81, 82, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
-    };
-
-    protected final static String index2[] = {
-        innerIndex0,
-        innerIndex1,
-        innerIndex2,
-        innerIndex3,
-        innerIndex4,
-        innerIndex5
-    };
-}
--- a/src/share/classes/sun/nio/cs/ext/JIS_X_0208_MS932_Encoder.java	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3244 +0,0 @@
-/*
- * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code 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
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package sun.nio.cs.ext;
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetEncoder;
-
-class JIS_X_0208_MS932_Encoder
-{
-    private final static String innerIndex0=
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u2178"+
-        "\u212F\u0000\u0000\u2263\u0000\u0000\u0000\u2131"+
-        "\u216B\u215E\u0000\u0000\u212D\u264c\u2279\u2126"+
-        "\u2124\u0000\u0000\u2264\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u215F"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u2160"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u2621\u2622\u2623\u2624\u2625\u2626\u2627"+
-        "\u2628\u2629\u262A\u262B\u262C\u262D\u262E\u262F"+
-        "\u2630\u2631\u0000\u2632\u2633\u2634\u2635\u2636"+
-        "\u2637\u2638\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u2641\u2642\u2643\u2644\u2645\u2646\u2647"+
-        "\u2648\u2649\u264A\u264B\u264C\u264D\u264E\u264F"+
-        "\u2650\u2651\u0000\u2652\u2653\u2654\u2655\u2656"+
-        "\u2657\u2658\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u2727\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u2721\u2722\u2723\u2724\u2725\u2726\u2728\u2729"+
-        "\u272A\u272B\u272C\u272D\u272E\u272F\u2730\u2731"+
-        "\u2732\u2733\u2734\u2735\u2736\u2737\u2738\u2739"+
-        "\u273A\u273B\u273C\u273D\u273E\u273F\u2740\u2741"+
-        "\u2751\u2752\u2753\u2754\u2755\u2756\u2758\u2759"+
-        "\u275A\u275B\u275C\u275D\u275E\u275F\u2760\u2761"+
-        "\u2762\u2763\u2764\u2765\u2766\u2767\u2768\u2769"+
-        "\u276A\u276B\u276C\u276D\u276E\u276F\u2770\u2771"+
-        "\u0000\u2757\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u213E\u0000\u0000\u0000\u0000\u213D\u0000\u0000"+
-        "\u2146\u2147\u0000\u0000\u2148\u2149\u0000\u0000"+
-        "\u2277\u2278\u0000\u0000\u0000\u2145\u2144\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u2273\u0000\u216C\u216D\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u2228\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u216E\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u2D62\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u2D64\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u2272\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u2D35\u2D36\u2D37\u2D38\u2D39\u2D3A\u2D3B\u2D3C"+
-        "\u2D3D\u2D3E\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u7C71\u7C72\u7C73\u7C74\u7C75\u7C76\u7C77\u7C78"+
-        "\u7C79\u7C7A\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u222B\u222C\u222A\u222D\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u224D\u0000\u224E\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u224F\u0000\u225F\u2250\u0000\u0000\u0000\u2260"+
-        "\u223A\u0000\u0000\u223B\u0000\u0000\u0000\u0000"+
-        "\u0000\u2D74\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u2D75\u0000\u0000\u2267\u2167\u2D78"+
-        "\u225C\u0000\u0000\u0000\u0000\u2142\u0000\u224A"+
-        "\u224B\u2241\u2240\u2D72\u226A\u0000\u2D73\u0000"+
-        "\u0000\u0000\u0000\u0000\u2168\u2268\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u2266\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u2262\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u2162\u2261\u0000\u0000\u0000\u0000\u2165\u2166"+
-        "\u0000\u0000\u2263\u2264\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u223E\u223F\u0000\u0000\u223C\u223D"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u2D76\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u2D79"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u225E\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u2D21\u2D22\u2D23\u2D24\u2D25\u2D26\u2D27\u2D28"+
-        "\u2D29\u2D2A\u2D2B\u2D2C\u2D2D\u2D2E\u2D2F\u2D30"+
-        "\u2D31\u2D32\u2D33\u2D34\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u2821\u282C\u2822\u282D\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u2823\u0000\u0000\u282E"+
-        "\u2824\u0000\u0000\u282F\u2826\u0000\u0000\u2831"+
-        "\u2825\u0000\u0000\u2830\u2827\u283C\u0000\u0000"+
-        "\u2837\u0000\u0000\u2832\u2829\u283E\u0000\u0000"+
-        "\u2839\u0000\u0000\u2834\u2828\u0000\u0000\u2838"+
-        "\u283D\u0000\u0000\u2833\u282A\u0000\u0000\u283A"+
-        "\u283F\u0000\u0000\u2835\u282B\u0000\u0000\u283B"+
-        "\u0000\u0000\u2840\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u2836\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u2223\u2222\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u2225\u2224\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u2227\u2226\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u2221\u217E"+
-        "\u0000\u0000\u0000\u217B\u0000\u0000\u217D\u217C"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u227E"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u217A\u2179\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u216A\u0000\u2169\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u2276\u0000\u0000\u2275\u0000\u2274"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u2121\u2122\u2123\u2137\u0000\u2139\u213A\u213B"+
-        "\u2152\u2153\u2154\u2155\u2156\u2157\u2158\u2159"+
-        "\u215A\u215B\u2229\u222E\u214C\u214D\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u2D60\u0000\u2D61"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u2421\u2422\u2423\u2424\u2425\u2426\u2427"+
-        "\u2428\u2429\u242A\u242B\u242C\u242D\u242E\u242F"+
-        "\u2430\u2431\u2432\u2433\u2434\u2435\u2436\u2437"+
-        "\u2438\u2439\u243A\u243B\u243C\u243D\u243E\u243F"+
-        "\u2440\u2441\u2442\u2443\u2444\u2445\u2446\u2447"+
-        "\u2448\u2449\u244A\u244B\u244C\u244D\u244E\u244F"+
-        "\u2450\u2451\u2452\u2453\u2454\u2455\u2456\u2457"+
-        "\u2458\u2459\u245A\u245B\u245C\u245D\u245E\u245F"+
-        "\u2460\u2461\u2462\u2463\u2464\u2465\u2466\u2467"+
-        "\u2468\u2469\u246A\u246B\u246C\u246D\u246E\u246F"+
-        "\u2470\u2471\u2472\u2473\u2574\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u212B\u212C\u2135\u2136\u0000"+
-        "\u0000\u2521\u2522\u2523\u2524\u2525\u2526\u2527"+
-        "\u2528\u2529\u252A\u252B\u252C\u252D\u252E\u252F"+
-        "\u2530\u2531\u2532\u2533\u2534\u2535\u2536\u2537"+
-        "\u2538\u2539\u253A\u253B\u253C\u253D\u253E\u253F"+
-        "\u2540\u2541\u2542\u2543\u2544\u2545\u2546\u2547"+
-        "\u2548\u2549\u254A\u254B\u254C\u254D\u254E\u254F"+
-        "\u2550\u2551\u2552\u2553\u2554\u2555\u2556\u2557"+
-        "\u2558\u2559\u255A\u255B\u255C\u255D\u255E\u255F"+
-        "\u2560\u2561\u2562\u2563\u2564\u2565\u2566\u2567"+
-        "\u2568\u2569\u256A\u256B\u256C\u256D\u256E\u256F"+
-        "\u2570\u2571\u2572\u2573\u2574\u2575\u2576\u0000"+
-        "\u0000\u0000\u0000\u2126\u213C\u2133\u2134\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u2D6A\u2D6B\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u2D6C\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u2D65\u2D66\u2D67\u2D68"+
-        "\u2D69\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u2D46\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u2D4A\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u2D41\u0000\u0000\u0000"+
-        "\u2D44\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u2D42\u2D4C\u0000\u0000\u2D4B\u2D45"+
-        "\u0000\u0000\u0000\u2D4D\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u2D47\u0000"+
-        "\u0000\u0000\u0000\u2D4F\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u2D40\u2D4E\u0000\u0000\u2D43\u0000\u0000"+
-        "\u0000\u2D48\u0000\u0000\u0000\u0000\u0000\u2D49"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u2D5F\u2D6F\u2D6E\u2D6D\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u2D53\u2D54"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u2D50\u2D51\u2D52\u0000"+
-        "\u0000\u2D56\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u2D55\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u2D63\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u306C\u437A\u0000\u3C37\u0000\u0000\u0000\u4B7C"+
-        "\u3E66\u3B30\u3E65\u323C\u0000\u4954\u4D3F\u0000"+
-        "\u5022\u312F\u0000\u0000\u336E\u5023\u4024\u5242"+
-        "\u3556\u4A3A\u0000\u0000\u0000\u0000\u3E67\u0000"+
-        "\u0000\u4E3E\u0000\u0000\u0000\u0000\u4A42\u0000"+
-        "\u792D\u0000\u5024\u0000\u0000\u4366\u0000\u0000"+
-        "\u0000\u5025\u367A\u0000\u0000\u0000\u5026\u0000"+
-        "\u345D\u4330\u0000\u3C67\u5027\u0000\u0000\u5028"+
-        "\u0000\u0000\u5029\u4735\u0000\u3557\u0000\u0000"+
-        "\u0000\u0000\u0000\u4737\u0000\u4663\u3843\u4B33"+
-        "\u0000\u0000\u0000\u0000\u0000\u6949\u502A\u3E68"+
-        "\u502B\u3235\u0000\u0000\u0000\u3665\u3870\u4C69"+
-        "\u0000\u0000\u5626\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4D70\u0000\u467D\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3425\u0000"+
-        "\u3535\u0000\u502C\u0000\u0000\u502D\u4E3B\u0000"+
-        "\u4D3D\u4168\u502F\u3B76\u4673\u0000\u5032\u0000"+
-        "\u0000\u313E\u385F\u0000\u385E\u3066\u0000\u0000"+
-        "\u4F4B\u4F4A\u0000\u3A33\u3021\u0000\u5033\u5034"+
-        "\u5035\u4B34\u5036\u0000\u3872\u3067\u4B72\u0000"+
-        "\u357C\u0000\u0000\u357D\u357E\u4462\u4E3C\u0000"+
-        "\u5037\u0000\u0000\u5038\u0000\u0000\u5039\u0000"+
-        "\u0000\u0000\u3F4D\u0000\u0000\u0000\u0000\u0000"+
-        "\u3D3A\u3F4E\u503E\u0000\u503C\u0000\u503D\u3558"+
-        "\u0000\u0000\u3A23\u3270\u0000\u503B\u503A\u4A29"+
-        "\u0000\u0000\u0000\u0000\u3B46\u3B45\u423E\u503F"+
-        "\u4955\u4067\u0000\u0000\u0000\u2138\u5040\u5042"+
-        "\u0000\u792E\u0000\u4265\u4E61\u304A\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5041\u323E\u0000"+
-        "\u3644\u0000\u4367\u0000\u0000\u0000\u376F\u5043"+
-        "\u0000\u0000\u0000\u4724\u792F\u0000\u0000\u0000"+
-        "\u7930\u346B\u0000\u7931\u0000\u0000\u0000\u0000"+
-        "\u0000\u5044\u304B\u0000\u0000\u3860\u346C\u497A"+
-        "\u4832\u3559\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3271\u0000\u5067\u4541\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u476C"+
-        "\u5046\u0000\u0000\u0000\u483C\u0000\u4E62\u0000"+
-        "\u3F2D\u7932\u3B47\u0000\u3B77\u3240\u0000\u0000"+
-        "\u0000\u0000\u0000\u4451\u0000\u0000\u4322\u504A"+
-        "\u0000\u0000\u0000\u0000\u0000\u304C\u4463\u3D3B"+
-        "\u3A34\u4D24\u0000\u424E\u0000\u323F\u7933\u5049"+
-        "\u0000\u4D3E\u5045\u5047\u3A6E\u5048\u5524\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5050\u0000\u0000\u0000\u0000\u0000\u5053"+
-        "\u5051\u0000\u0000\u3242\u0000\u4A3B\u504B\u0000"+
-        "\u0000\u0000\u0000\u504F\u3873\u0000\u0000\u3B48"+
-        "\u0000\u0000\u0000\u3426\u0000\u0000\u5054\u0000"+
-        "\u504C\u0000\u7935\u4E63\u0000\u3B78\u0000\u504D"+
-        "\u0000\u5052\u7934\u0000\u7937\u0000\u5055\u0000"+
-        "\u504E\u0000\u7936\u3621\u0000\u304D\u0000\u0000"+
-        "\u3622\u3241\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5525\u0000\u4B79\u496E\u3874"+
-        "\u0000\u0000\u0000\u0000\u0000\u3F2F\u4E37\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4A58"+
-        "\u0000\u0000\u3738\u4225\u3264\u0000\u0000\u0000"+
-        "\u0000\u7926\u3D53\u0000\u0000\u7938\u5059\u0000"+
-        "\u505E\u505C\u0000\u0000\u5057\u0000\u0000\u422F"+
-        "\u505A\u0000\u505D\u505B\u0000\u4A5D\u0000\u5058"+
-        "\u0000\u3F2E\u0000\u4B73\u505F\u5060\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3D24\u506D"+
-        "\u0000\u0000\u0000\u4750\u0000\u4936\u5068\u0000"+
-        "\u4A70\u0000\u3236\u0000\u0000\u0000\u506C\u793B";
-
-    private final static String innerIndex1=
-        "\u0000\u0000\u0000\u0000\u0000\u5066\u506F\u0000"+
-        "\u0000\u4152\u0000\u3844\u0000\u475C\u0000\u6047"+
-        "\u0000\u506E\u455D\u0000\u5063\u0000\u3876\u0000"+
-        "\u0000\u3875\u5061\u0000\u0000\u0000\u793C\u3C5A"+
-        "\u0000\u5069\u793A\u4A6F\u434D\u5065\u3771\u0000"+
-        "\u5062\u506A\u5064\u4E51\u506B\u4F41\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3666\u0000"+
-        "\u0000\u3770\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u7939\u0000\u793F\u5070\u0000\u0000\u793D\u5071"+
-        "\u5075\u304E\u0000\u0000\u0000\u0000\u0000\u4A50"+
-        "\u5074\u0000\u0000\u0000\u0000\u5073\u5077\u0000"+
-        "\u0000\u0000\u5076\u0000\u4464\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3772\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5078\u0000\u0000\u0000"+
-        "\u793E\u0000\u3C45\u0000\u4226\u4465\u3676\u0000"+
-        "\u5079\u0000\u0000\u0000\u0000\u3536\u0000\u0000"+
-        "\u507A\u0000\u0000\u0000\u0000\u507C\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4B35\u0000\u0000"+
-        "\u0000\u3766\u0000\u0000\u7940\u0000\u0000\u0000"+
-        "\u3B31\u4877\u507B\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3A45\u4D43\u0000\u0000"+
-        "\u0000\u0000\u507E\u5123\u507D\u3A44\u0000\u3D7D"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3739\u0000"+
-        "\u0000\u0000\u5124\u0000\u0000\u364F\u0000\u0000"+
-        "\u0000\u5121\u5122\u0000\u0000\u462F\u0000\u417C"+
-        "\u0000\u3623\u0000\u0000\u0000\u4B4D\u5125\u0000"+
-        "\u7942\u0000\u4E3D\u0000\u0000\u0000\u5126\u0000"+
-        "\u0000\u0000\u0000\u5129\u0000\u5127\u0000\u414E"+
-        "\u0000\u0000\u0000\u0000\u0000\u5128\u512A\u0000"+
-        "\u0000\u0000\u0000\u0000\u7941\u512C\u0000\u0000"+
-        "\u0000\u512B\u0000\u4A48\u0000\u0000\u0000\u0000"+
-        "\u3537\u512E\u512F\u0000\u322F\u0000\u0000\u0000"+
-        "\u0000\u512D\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3C74\u0000\u5132\u5131\u5130\u0000"+
-        "\u5056\u0000\u5133\u0000\u0000\u0000\u0000\u3D7E"+
-        "\u0000\u5134\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4D25\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4C59\u0000\u0000\u0000\u0000\u5136"+
-        "\u0000\u0000\u5135\u5138\u5137\u0000\u0000\u5139"+
-        "\u513A\u3074\u0000\u3835\u373B\u3D3C\u437B\u3624"+
-        "\u4068\u3877\u7943\u396E\u513C\u4C48\u4546\u0000"+
-        "\u3B79\u0000\u513B\u0000\u513D\u0000\u0000\u0000"+
-        "\u0000\u0000\u455E\u0000\u3375\u0000\u0000\u0000"+
-        "\u0000\u0000\u513E\u0000\u7944\u467E\u0000\u0000"+
-        "\u4134\u5140\u5141\u482C\u3878\u4F3B\u5142\u0000"+
-        "\u0000\u3626\u0000\u0000\u0000\u4A3C\u4236\u3671"+
-        "\u4535\u0000\u0000\u0000\u3773\u0000\u0000\u0000"+
-        "\u5143\u0000\u5144\u0000\u0000\u4662\u315F\u0000"+
-        "\u0000\u5147\u3A7D\u0000\u5146\u3A46\u0000\u5148"+
-        "\u666E\u5149\u4B41\u514A\u0000\u514B\u514C\u3E69"+
-        "\u0000\u3C4C\u0000\u0000\u0000\u7945\u0000\u0000"+
-        "\u3427\u0000\u514F\u0000\u514D\u4C3D\u514E\u0000"+
-        "\u495A\u5150\u5151\u5152\u455F\u0000\u0000\u0000"+
-        "\u5156\u5154\u5155\u5153\u3A63\u5157\u4C6A\u4E64"+
-        "\u0000\u0000\u0000\u0000\u0000\u5158\u7946\u0000"+
-        "\u0000\u0000\u0000\u0000\u4028\u5159\u3D5A\u0000"+
-        "\u0000\u515A\u0000\u437C\u4E3F\u4560\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5245\u0000"+
-        "\u0000\u0000\u0000\u515B\u7425\u3645\u0000\u0000"+
-        "\u515C\u4B5E\u0000\u0000\u0000\u0000\u3D68\u427C"+
-        "\u0000\u515E\u4664\u0000\u7947\u515F\u0000\u0000"+
-        "\u5160\u332E\u0000\u0000\u0000\u5161\u3627\u0000"+
-        "\u464C\u317A\u3D50\u0000\u0000\u4821\u5162\u0000"+
-        "\u4561\u0000\u0000\u3F4F\u5163\u0000\u4A2C\u405A"+
-        "\u3422\u0000\u3429\u5164\u0000\u0000\u5166\u0000"+
-        "\u0000\u373A\u0000\u0000\u5165\u7948\u0000\u4E73"+
-        "\u0000\u0000\u0000\u0000\u0000\u3D69\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u483D\u4A4C\u0000\u5167"+
-        "\u0000\u4D78\u5168\u0000\u0000\u0000\u5169\u0000"+
-        "\u457E\u0000\u0000\u516A\u0000\u0000\u4029\u3A7E"+
-        "\u3774\u516B\u3B49\u396F\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4466\u516D\u0000\u0000\u4227"+
-        "\u0000\u0000\u3A6F\u516E\u516F\u4130\u0000\u516C"+
-        "\u0000\u0000\u0000\u0000\u5171\u0000\u4B36\u0000"+
-        "\u0000\u0000\u0000\u3964\u0000\u0000\u5170\u0000"+
-        "\u0000\u0000\u0000\u3775\u3A5E\u476D\u0000\u0000"+
-        "\u0000\u5174\u5172\u0000\u0000\u0000\u0000\u497B"+
-        "\u3E6A\u517B\u3364\u5175\u5173\u414F\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5177\u0000\u5176"+
-        "\u0000\u0000\u0000\u3344\u0000\u0000\u0000\u3760"+
-        "\u517C\u4E2D\u0000\u0000\u0000\u5178\u0000\u0000"+
-        "\u0000\u517D\u517A\u0000\u5179\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4E4F\u7949\u0000\u0000\u3879"+
-        "\u3243\u0000\u0000\u4E74\u0000\u0000\u794A\u0000"+
-        "\u0000\u3D75\u4558\u3965\u5222\u5223\u0000\u7B3C"+
-        "\u0000\u4E65\u0000\u0000\u4F2B\u5225\u0000\u0000"+
-        "\u0000\u387A\u0000\u0000\u5224\u0000\u332F\u0000"+
-        "\u794B\u5226\u0000\u4B56\u0000\u443C\u0000\u4D26"+
-        "\u0000\u4A59\u0000\u0000\u0000\u5227\u0000\u0000"+
-        "\u0000\u0000\u7055\u0000\u0000\u4630\u0000\u5228"+
-        "\u342A\u4C33\u0000\u794C\u0000\u3E21\u5229\u4A67"+
-        "\u522D\u0000\u402A\u522A\u3650\u0000\u522B\u342B"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u372E\u522E\u0000\u522F\u0000\u0000"+
-        "\u5230\u5231\u3C5B\u0000\u0000\u0000\u387B\u4C5E"+
-        "\u794D\u4C68\u4677\u0000\u0000\u4A71\u5232\u794E"+
-        "\u5233\u0000\u0000\u0000\u0000\u5235\u0000\u5237"+
-        "\u5236\u0000\u0000\u0000\u0000\u5238\u323D\u4B4C"+
-        "\u0000\u3A7C\u5239\u0000\u0000\u4159\u0000\u0000"+
-        "\u3E22\u3629\u0000\u523A\u794F\u0000\u0000\u0000"+
-        "\u0000\u0000\u485B\u0000\u0000\u0000\u0000\u523B"+
-        "\u0000\u523C\u0000\u523D\u0000\u0000\u0000\u0000"+
-        "\u523E\u4924\u3668\u3065\u0000\u0000\u0000\u463F"+
-        "\u523F\u3D3D\u0000\u4069\u0000\u5241\u5240\u3E23"+
-        "\u3861\u5243\u483E\u0000\u0000\u5244\u0000\u0000"+
-        "\u0000\u485C\u4234\u426E\u3628\u0000\u0000\u466E"+
-        "\u4331\u0000\u476E\u0000\u4B4E\u0000\u5246\u0000"+
-        "\u406A\u0000\u0000\u0000\u0000\u0000\u3735\u0000"+
-        "\u0000\u5247\u0000\u0000\u0000\u0000\u5248\u312C"+
-        "\u3075\u346D\u7950\u4228\u3551\u4D71\u0000\u524B"+
-        "\u3237\u0000\u0000\u524A\u0000\u0000\u0000\u362A"+
-        "\u0000\u0000\u524C\u0000\u4C71\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u7951\u0000\u0000\u524D\u0000"+
-        "\u4E52\u0000\u387C\u0000\u0000\u0000\u0000\u3836"+
-        "\u524E\u0000\u0000\u0000\u0000\u5250\u524F\u0000"+
-        "\u3F5F\u3139\u0000\u0000\u0000\u315E\u5251\u0000"+
-        "\u5252\u0000\u7952\u3837\u0000\u0000\u5253\u0000"+
-        "\u0000\u0000\u0000\u356E\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3B32\u5254\u0000\u0000\u0000\u0000"+
-        "\u4B74\u3A35\u355A\u4D27\u4150\u483F\u3C7D\u0000"+
-        "\u0000\u0000\u0000\u0000\u3D47\u0000\u3C68\u3C75"+
-        "\u0000\u3D76\u0000\u4840\u0000\u7953\u0000\u5257"+
-        "\u0000\u3143\u4151\u387D\u3845\u3667\u0000\u0000"+
-        "\u525B\u4321\u427E\u362B\u3E24\u525C\u525A\u3244"+
-        "\u4266\u3C38\u3B4B\u3126\u0000\u0000\u3370\u3966"+
-        "\u3B4A\u0000\u525D\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u525E\u0000\u3549\u3346\u0000\u0000\u0000"+
-        "\u3967\u3548\u445F\u3125\u4631\u4C3E\u3921\u4D79"+
-        "\u4547\u387E\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u372F\u0000\u5267\u0000\u3663"+
-        "\u4B4A\u0000\u0000\u0000\u0000\u0000\u485D\u0000"+
-        "\u0000\u5266\u0000\u345E\u5261\u5262\u5264\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5265\u0000"+
-        "\u355B\u3F61\u0000\u4A2D\u5263\u525F\u3863\u0000"+
-        "\u5260\u0000\u4F24\u0000\u0000\u0000\u4A72\u0000"+
-        "\u4468\u3862\u3970\u0000\u0000\u0000\u5268\u0000"+
-        "\u0000\u465D\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u526C"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3C7E\u0000\u3C76\u0000\u0000\u0000\u0000\u0000"+
-        "\u526F\u526D\u0000\u4C23\u0000\u526A\u5273\u526E"+
-        "\u0000\u0000\u0000\u5271\u3846\u4C3F\u0000\u0000"+
-        "\u5272\u0000\u0000\u0000\u5274\u0000\u5276\u0000"+
-        "\u0000\u0000\u7956\u3A70\u4F42\u0000\u526B\u5269"+
-        "\u5275\u0000\u5270\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u7955\u0000\u0000\u0000"+
-        "\u0000\u0000\u5278\u0000\u5323\u527A\u0000\u0000"+
-        "\u527E\u7957\u0000\u5321\u527B\u0000\u0000\u533E"+
-        "\u0000\u0000\u3A69\u3331\u0000\u0000\u0000\u0000"+
-        "\u5279\u0000\u0000\u0000\u5325\u3076\u5324\u0000"+
-        "\u3025\u494A\u5322\u0000\u527C\u0000\u0000\u5277"+
-        "\u527D\u3A48\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5326\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3077\u532F\u0000\u0000\u5327\u5328\u0000"+
-        "\u3E25\u4B69\u0000\u0000\u0000\u532D\u532C\u0000"+
-        "\u0000\u0000\u452F\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u532E\u0000\u0000\u532B\u0000\u7958"+
-        "\u0000\u0000\u0000\u0000\u3134\u0000\u3A36\u3F30"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5329"+
-        "\u4562\u0000\u0000\u0000\u532A\u0000\u3022\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5334\u4D23"+
-        "\u0000\u3E27\u0000\u533A\u0000\u0000\u0000\u0000"+
-        "\u5339\u5330\u0000\u0000\u0000\u0000\u4243\u0000"+
-        "\u5331\u0000\u0000\u0000\u426F\u5336\u3E26\u0000"+
-        "\u0000\u0000\u0000\u0000\u5333\u0000\u0000\u4C64"+
-        "\u0000\u0000\u0000\u373C\u0000\u0000\u5337\u5338"+
-        "\u0000\u0000\u0000\u0000\u5335\u533B\u0000\u0000"+
-        "\u0000\u0000\u0000\u5332\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5341\u5346\u0000\u5342\u0000"+
-        "\u533D\u0000\u0000\u5347\u4131\u0000\u7959\u5349"+
-        "\u0000\u3922\u533F\u437D\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5343\u533C\u342D\u0000\u346E\u3365\u5344\u5340"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3776"+
-        "\u534A\u5348\u4153\u354A\u362C\u0000\u5345\u0000"+
-        "\u3674\u0000\u0000\u0000\u0000\u0000\u3144\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u534E\u534C\u0000\u5427"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5351\u0000\u0000\u0000"+
-        "\u0000\u0000\u534B\u0000\u534F\u0000\u0000\u534D"+
-        "\u0000\u0000\u0000\u3B4C\u5350\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5353"+
-        "\u0000\u5358\u0000\u0000\u0000\u5356\u5355\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4332\u0000"+
-        "\u0000\u3245\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5352\u0000\u5354\u3E28"+
-        "\u3133\u0000\u0000\u5357\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u325E\u0000\u0000\u0000\u0000\u0000\u5362"+
-        "\u0000\u3E7C\u535E\u0000\u535C\u0000\u535D\u0000"+
-        "\u535F\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u313D\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u4139\u0000\u5359\u0000"+
-        "\u535A\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u337A\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5361\u0000\u0000\u0000"+
-        "\u346F\u0000\u5364\u5360\u5363\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u4A2E\u0000\u0000\u0000"+
-        "\u4655\u0000\u4838\u0000\u0000\u0000\u0000\u0000"+
-        "\u5366\u0000\u0000\u0000\u0000\u0000\u5365\u3345"+
-        "\u0000\u0000\u5367\u0000\u0000\u0000\u0000\u536A"+
-        "\u0000\u0000\u0000\u0000\u5369\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5368\u0000\u4739\u0000\u0000\u536B\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u536C\u0000"+
-        "\u0000\u0000\u0000\u0000\u536E\u0000\u536D\u0000"+
-        "\u0000\u0000\u0000\u0000\u5370\u0000\u0000\u0000"+
-        "\u5373\u5371\u536F\u5372\u0000\u0000\u0000\u0000"+
-        "\u5374\u0000\u0000\u0000\u0000\u0000\u5375\u0000"+
-        "\u0000\u5376\u0000\u5377\u0000\u0000\u0000\u5378"+
-        "\u5145\u0000\u3C7C\u3B4D\u0000\u0000\u3273\u0000"+
-        "\u3078\u0000\u0000\u4344\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5379\u0000"+
-        "\u3A24\u0000\u304F\u3F5E\u0000\u0000\u0000\u0000"+
-        "\u0000\u537A\u3847\u0000\u0000\u3971\u0000\u537C"+
-        "\u537B\u0000\u0000\u4A60\u537D\u0000\u0000\u0000"+
-        "\u5421\u537E\u0000\u5422\u0000\u5423\u0000\u3777"+
-        "\u0000\u0000\u3160\u5424\u0000\u0000\u5426\u0000"+
-        "\u5425\u0000\u0000\u0000\u5428\u0000\u0000\u455A"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5429\u3035"+
-        "\u3A5F\u0000\u0000\u0000\u0000\u373D\u0000\u0000"+
-        "\u434F\u0000\u0000\u0000\u0000\u0000\u0000\u542A"+
-        "\u542B\u0000\u0000\u542D\u0000\u0000\u0000\u0000"+
-        "\u542E\u0000\u3A64\u0000\u0000\u0000\u0000\u3651"+
-        "\u0000\u0000\u4B37\u0000\u0000\u0000\u542C\u542F"+
-        "\u3A41\u3923\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u795A\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5433\u0000\u0000\u3A25\u795B\u4333\u0000"+
-        "\u0000\u5430\u445A\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5434"+
-        "\u0000\u0000\u3F62\u0000\u0000\u0000\u0000\u0000"+
-        "\u5432\u5435\u0000\u373F\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5436\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5437\u0000\u3924\u3340\u5439\u0000\u0000\u0000"+
-        "\u0000\u0000\u543A\u0000\u795C\u0000\u0000\u0000"+
-        "\u543B\u0000\u0000\u5438\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5431\u0000\u0000\u543C\u0000\u0000\u543D\u795E"+
-        "\u795D\u0000\u0000\u4B64\u0000\u0000\u3E6B\u0000"+
-        "\u0000\u0000\u543F\u5440\u543E\u0000\u5442\u0000"+
-        "\u0000\u0000\u0000\u0000\u4738\u0000\u0000\u3068"+
-        "\u4956\u0000\u0000\u5443\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3E7D\u0000\u0000\u3C39"+
-        "\u0000\u475D\u3470\u0000\u3A6B\u0000\u0000\u0000"+
-        "\u4B59\u0000\u4632\u0000\u0000\u3778\u424F\u0000"+
-        "\u0000\u0000\u5441\u5444\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4244\u0000\u0000"+
-        "\u0000\u5445\u0000\u0000\u0000\u5446\u0000\u0000"+
-        "\u0000\u5448\u0000\u0000\u4469\u0000\u0000\u0000"+
-        "\u0000\u0000\u342E\u0000\u0000\u0000\u0000\u7421"+
-        "\u3161\u4A73\u0000\u0000\u3E6C\u4548\u0000\u0000"+
-        "\u0000\u0000\u3A66\u0000\u0000\u544E\u0000\u0000"+
-        "\u4A3D\u4E5D\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3274\u544A\u0000\u0000\u0000\u0000"+
-        "\u0000\u413A\u544D\u0000\u4563\u0000\u0000\u4549"+
-        "\u4564\u4839\u444D\u0000\u0000\u0000\u3A49\u0000"+
-        "\u0000\u0000\u5449\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3176\u0000\u4536\u0000\u0000\u0000\u0000"+
-        "\u544B\u0000\u5447\u0000\u0000\u3F50\u0000\u0000"+
-        "\u0000\u544F\u0000\u0000\u0000\u0000\u3D4E\u0000"+
-        "\u0000\u0000\u0000\u362D\u0000\u5450\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4A68\u0000\u0000\u0000\u417D"+
-        "\u0000\u0000\u0000\u0000\u4446\u0000\u7961\u5452"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4B4F\u0000\u0000\u5453\u0000\u0000\u5458\u0000"+
-        "\u0000\u0000\u7962\u4A2F\u0000\u0000\u0000\u0000"+
-        "\u5457\u5451\u5454\u5456\u0000\u0000\u3A26\u0000"+
-        "\u0000\u4A49\u0000\u0000\u0000\u5459\u0000\u4345"+
-        "\u0000\u0000\u3275\u0000\u3E6D\u0000\u0000\u0000"+
-        "\u0000\u545B\u0000\u545A\u0000\u3968\u0000\u545C"+
-        "\u545E\u545D\u0000\u0000\u5460\u0000\u5455\u5462"+
-        "\u0000\u0000\u0000\u0000\u5461\u545F\u0000\u0000"+
-        "\u0000\u0000\u0000\u3B4E\u3F51\u0000\u4154\u5463"+
-        "\u403C\u306D\u4764\u0000\u0000\u0000\u0000\u445B"+
-        "\u0000\u5465\u5464\u5466\u5467\u5468\u0000\u0000"+
-        "\u0000\u0000\u5469\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4A51\u546A\u7963\u0000\u0000\u0000\u3246"+
-        "\u546B\u0000\u0000\u0000\u0000\u4D3C\u3330\u0000"+
-        "\u5249\u3D48\u423F\u546C\u4C6B\u0000\u0000\u0000"+
-        "\u0000\u0000\u4C34\u0000\u0000\u546E\u0000\u4267"+
-        "\u0000\u4537\u4240\u4957\u546F\u5470\u317B\u0000"+
-        "\u0000\u3C3A\u5471\u0000\u0000\u0000\u0000\u3050"+
-        "\u5472\u0000\u0000\u0000\u0000\u0000\u5473\u0000"+
-        "\u0000\u0000\u0000\u0000\u3162\u0000\u0000\u3471"+
-        "\u4660\u4A74\u0000\u0000\u0000\u0000\u5477\u4155"+
-        "\u5476\u3740\u0000\u7964\u4B5B\u5475\u0000\u4565"+
-        "\u5479\u0000\u5478\u7965\u0000\u7966\u0000\u0000"+
-        "\u547B\u0000\u547A\u7967\u0000\u317C\u0000\u547C"+
-        "\u3E29\u547E\u4325\u0000\u547D\u0000\u4A33\u0000"+
-        "\u0000\u0000\u0000\u3D77\u455B\u0000\u0000\u0000"+
-        "\u5521\u0000\u0000\u0000\u0000\u3925\u0000\u0000"+
-        "\u0000\u5522\u4721\u485E\u4C51\u0000\u0000\u0000"+
-        "\u0000\u0000\u4725\u0000\u0000\u552B\u0000\u0000"+
-        "\u0000\u0000\u0000\u3538\u0000\u0000\u4D45\u0000"+
-        "\u0000\u4C2F\u0000\u562C\u0000\u5523\u0000\u0000"+
-        "\u0000\u0000\u0000\u5526\u7968\u4245\u0000\u0000"+
-        "\u4B38\u0000\u0000\u0000\u454A\u0000\u0000\u0000"+
-        "\u0000\u0000\u5527\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4B65\u7969\u3A4A\u0000\u0000\u3E2A\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5528\u0000"+
-        "\u0000\u3B50\u0000\u3B4F\u0000\u0000\u0000\u0000"+
-        "\u3039\u3848\u0000\u402B\u3051\u0000\u0000\u0000"+
-        "\u0000\u552C\u552D\u0000\u552A\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3138\u342F\u0000"+
-        "\u5529\u0000\u4C45\u4931\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3028\u0000"+
-        "\u0000\u0000\u0000\u3079\u0000\u0000\u0000\u3B51"+
-        "\u0000\u3052\u0000\u3023\u0000\u0000\u0000\u0000"+
-        "\u0000\u5532\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5530\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4C3C\u0000\u5533\u0000\u5531\u0000\u0000\u552F"+
-        "\u3F31\u0000\u0000\u0000\u0000\u552E\u0000\u0000"+
-        "\u0000\u4A5A\u0000\u0000\u0000\u0000\u0000\u3864"+
-        "\u0000\u0000\u0000\u0000\u0000\u5537\u5538\u0000"+
-        "\u0000\u0000\u0000\u0000\u3E2B\u0000\u0000\u0000"+
-        "\u5534\u4F2C\u0000\u0000\u0000\u0000\u474C\u0000"+
-        "\u0000\u5536\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3A27\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u5539\u0000\u0000\u0000\u4958\u0000"+
-        "\u0000\u0000\u553A\u0000\u5535\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4C3B"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u475E\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u553B\u4932\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u553C\u5540\u553D\u0000"+
-        "\u0000\u3247\u553F\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3C3B\u0000\u553E\u3779\u0000\u0000\u0000"+
-        "\u554C\u0000\u0000\u0000\u0000\u0000\u5545\u5542"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4364\u0000\u5541\u0000\u0000\u5543\u0000"+
-        "\u0000\u5544\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u5546\u5547\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3472\u0000\u5549\u5548\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u554A\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3E6E\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u554D\u0000\u445C\u0000\u0000\u0000"+
-        "\u3145\u0000\u554B\u0000\u0000\u0000\u554E\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u554F\u0000"+
-        "\u5552\u0000\u0000\u5550\u0000\u5551\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3B52\u5553\u0000\u0000\u3926\u5554\u796A\u3B7A"+
-        "\u4238\u0000\u5555\u5556\u3B5A\u3927\u0000\u4C52"+
-        "\u0000\u0000\u0000\u3528\u3849\u5557\u3358\u0000"+
-        "\u0000\u5558\u0000\u4239\u0000\u0000\u0000\u0000"+
-        "\u5559\u5623\u0000\u555A\u0000\u555B\u0000\u0000"+
-        "\u555C\u0000\u555E\u0000\u0000\u0000\u0000\u0000"+
-        "\u555F\u0000\u0000\u5560\u0000\u4270\u0000\u3127"+
-        "\u3C69\u3042\u0000\u4157\u3430\u3C35\u0000\u3928"+
-        "\u0000\u0000\u0000\u0000\u0000\u4566\u0000\u3D21"+
-        "\u3431\u4368\u446A\u3038\u3539\u4A75\u0000\u3C42"+
-        "\u0000\u0000\u3552\u406B\u3C3C\u4D28\u5561\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u355C\u0000"+
-        "\u3A4B\u0000\u0000\u3332\u3163\u3E2C\u3248\u0000"+
-        "\u5562\u4D46\u0000\u0000\u0000\u0000\u0000\u3D49"+
-        "\u796B\u0000\u3C64\u5563\u3473\u4652\u4C29\u5564"+
-        "\u0000\u5565\u0000\u0000\u4959\u0000\u0000\u0000"+
-        "\u5567\u0000\u3428\u3677\u5566\u0000\u0000\u0000"+
-        "\u796D\u0000\u0000\u3432\u0000\u3F32\u556B\u3B21"+
-        "\u0000\u3249\u556A\u0000\u5568\u556C\u5569\u472B"+
-        "\u5C4D\u3F33\u0000\u556D\u796E\u0000\u4E40\u0000"+
-        "\u556E\u0000\u0000\u5570\u0000\u437E\u556F\u0000"+
-        "\u4023\u0000\u3B7B\u0000\u0000\u0000\u4250\u3C77"+
-        "\u0000\u4975\u406C\u0000\u3C4D\u5571\u3E2D\u5572"+
-        "\u5573\u3053\u423A\u3F52\u0000\u5574\u4633\u3E2E"+
-        "\u0000\u3E2F\u0000\u5575\u0000\u0000\u406D\u0000"+
-        "\u0000\u0000\u3E30\u0000\u0000\u0000\u796F\u0000"+
-        "\u5576\u0000\u5577\u0000\u4C60\u0000\u0000\u0000"+
-        "\u5578\u0000\u0000\u0000\u0000\u3646\u0000\u0000"+
-        "\u0000\u3D22\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5579\u557A\u3C5C\u3F2C\u4674\u3F54\u4878\u4722"+
-        "\u3649\u557B\u0000\u0000\u0000\u356F\u557C\u0000"+
-        "\u367E\u0000\u464F\u3230\u0000\u3B53\u557D\u5622"+
-        "\u5621\u367D\u0000\u557E\u0000\u4538\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4230\u0000"+
-        "\u454B\u3C48\u0000\u0000\u4158\u4D7A\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5624\u0000\u5625\u4656"+
-        "\u0000\u3B33\u0000\u0000\u0000\u0000\u5627\u0000"+
-        "\u0000\u5628\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5629\u0000\u0000\u0000"+
-        "\u3474\u562A\u0000\u0000\u562B\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u322C\u0000\u0000\u0000\u0000\u7970\u0000"+
-        "\u413B\u3464\u0000\u562D\u4C28\u0000\u0000\u0000"+
-        "\u0000\u4252\u0000\u3359\u0000\u0000\u562F\u5631"+
-        "\u345F\u0000\u7971\u562E\u5630\u0000\u5633\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5632\u0000\u5634"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5635\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u463D\u362E\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3265\u5636\u563B\u0000\u0000\u5639\u0000\u4A77"+
-        "\u4A76\u0000\u0000\u0000\u0000\u7972\u4567\u0000"+
-        "\u0000\u0000\u5638\u3D54\u0000\u5637\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3F72"+
-        "\u0000\u0000\u0000\u563C\u0000\u0000\u3A6A\u0000"+
-        "\u0000\u5642\u0000\u0000\u5643\u563D\u3333\u563E"+
-        "\u5647\u5646\u5645\u5641\u0000\u0000\u0000\u5640"+
-        "\u0000\u0000\u5644\u0000\u0000\u0000\u0000\u7973"+
-        "\u0000\u4A78\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u7976\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u564B\u5648\u0000\u564A\u0000"+
-        "\u4D72\u0000\u5649\u7974\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u563F\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3F73\u0000\u0000\u564C\u7977\u0000\u3A37"+
-        "\u0000\u0000\u0000\u564D\u0000\u0000\u564E\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u5651\u0000\u5650\u0000\u0000\u564F"+
-        "\u0000\u0000\u0000\u4568\u563A\u0000\u0000\u0000"+
-        "\u5657\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5653\u0000\u0000"+
-        "\u0000\u0000\u5652\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5654\u0000\u5655\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5658"+
-        "\u7978\u7979\u4E66\u0000\u5659\u5656\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u565A\u0000\u0000\u3460\u565B\u0000\u0000"+
-        "\u797A\u0000\u565D\u565C\u0000\u0000\u565E\u0000"+
-        "\u0000\u0000\u0000\u565F\u0000\u406E\u3D23\u0000"+
-        "\u0000\u3D64\u0000\u4163\u0000\u3929\u3A38\u392A"+
-        "\u3570\u0000\u0000\u5660\u0000\u0000\u3A39\u0000"+
-        "\u0000\u384A\u5661\u4C26\u4743\u5662\u0000\u392B"+
-        "\u0000\u0000\u0000\u342C\u0000\u4327\u3652\u0000"+
-        "\u0000\u0000\u3B54\u495B\u0000\u0000\u4841\u0000"+
-        "\u0000\u0000\u0000\u5663\u3475\u0000\u0000\u0000"+
-        "\u0000\u5666\u0000\u0000\u0000\u0000\u4421\u0000"+
-        "\u0000\u5665\u5664\u5667\u0000\u446B\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3F63\u0000\u0000"+
-        "\u0000\u0000\u0000\u3B55\u0000\u404A\u0000\u4253"+
-        "\u3522\u0000\u0000\u4422\u0000\u0000\u5668\u5669"+
-        "\u3E6F\u0000\u0000\u0000\u0000\u4B39\u0000\u0000"+
-        "\u566C\u0000\u0000\u566B\u566A\u497D\u0000\u5673"+
-        "\u0000\u0000\u0000\u0000\u4B5A\u0000\u566D\u0000"+
-        "\u0000\u0000\u0000\u0000\u566F\u4B6B\u0000\u566E"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5670"+
-        "\u0000\u4828\u5671\u4A3E\u5672\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3433\u4A3F\u472F\u5674\u5675\u0000"+
-        "\u392C\u3434\u5676\u3838\u4D44\u4D29\u3476\u5678"+
-        "\u0000\u4423\u0000\u392D\u3E31\u0000\u0000\u485F"+
-        "\u0000\u0000\u3E32\u0000\u0000\u0000\u0000\u3D78"+
-        "\u0000\u0000\u0000\u0000\u0000\u446C\u4A79\u4539"+
-        "\u0000\u0000\u392E\u0000\u495C\u0000\u0000\u0000"+
-        "\u5679\u0000\u0000\u0000\u0000\u0000\u4559\u3A42"+
-        "\u0000\u0000\u0000\u384B\u0000\u446D\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3043\u3D6E\u392F"+
-        "\u4D47\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u567A\u567B\u4751\u0000\u0000\u0000\u0000"+
-        "\u567C\u4E77\u4F2D\u0000\u0000\u0000\u0000\u567E"+
-        "\u567D\u0000\u0000\u3347\u0000\u0000\u5721\u0000"+
-        "\u0000\u0000\u5724\u5725\u0000\u5723\u0000\u4940"+
-        "\u3E33\u5727\u5726\u5722\u0000\u0000\u0000\u0000"+
-        "\u5728\u5729\u0000\u0000\u572A\u0000\u0000\u0000"+
-        "\u572D\u572B\u0000\u572C\u572E\u0000\u3164\u446E"+
-        "\u572F\u0000\u377A\u3276\u4736\u0000\u5730\u467B"+
-        "\u0000\u4A5B\u0000\u5731\u4F2E\u0000\u0000\u0000"+
-        "\u0000\u5732\u4A40\u5735\u5021\u5031\u0000\u3C30"+
-        "\u4675\u5736\u0000\u355D\u4424\u307A\u5737\u4A26"+
-        "\u3930\u0000\u0000\u4350\u0000\u0000\u0000\u446F"+
-        "\u0000\u797B\u0000\u0000\u0000\u4C6F\u3839\u384C"+
-        "\u0000\u5738\u0000\u0000\u0000\u5739\u0000\u573F"+
-        "\u0000\u3C65\u0000\u0000\u797C\u4425\u0000\u362F"+
-        "\u573A\u0000\u0000\u0000\u492B\u0000\u4346\u0000"+
-        "\u0000\u573B\u0000\u0000\u0000\u792C\u0000\u0000"+
-        "\u573C\u0000\u3630\u0000\u573D\u0000\u573E\u0000"+
-        "\u0000\u5740\u0000\u4576\u0000\u0000\u5741\u5742"+
-        "\u0000\u5743\u0000\u0000\u5734\u5733\u0000\u0000"+
-        "\u0000\u5744\u3741\u0000\u0000\u0000\u4927\u797D"+
-        "\u0000\u3A4C\u4937\u4426\u494B\u5745\u0000\u0000"+
-        "\u3E34\u3146\u0000\u5746\u0000\u0000\u0000\u5747"+
-        "\u0000\u4C72\u0000\u0000\u4860\u0000\u0000\u574A"+
-        "\u317D\u402C\u5749\u5748\u3742\u4254\u0000\u574E"+
-        "\u574C\u0000\u574B\u4E27\u3865\u0000\u0000\u0000"+
-        "\u3D79\u574D\u454C\u3D3E\u0000\u0000\u0000\u4640"+
-        "\u5751\u5750\u0000\u0000\u0000\u0000\u574F\u0000"+
-        "\u5752\u3866\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5753\u497C\u3D5B\u0000\u0000\u5754\u4879\u0000"+
-        "\u0000\u0000\u0000\u4641\u4427\u0000\u0000\u797E"+
-        "\u0000\u4530\u0000\u0000\u5755\u352B\u0000\u0000"+
-        "\u0000\u0000\u0000\u3F34\u0000\u492C\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3477\u4726\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5756\u3B56"+
-        "\u4B3A\u4B3B\u0000\u0000\u317E\u575B\u7A21\u0000"+
-        "\u4369\u0000\u0000\u0000\u5758\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3277\u0000\u0000\u0000\u0000"+
-        "\u582D\u575A\u0000\u0000\u0000\u4730\u0000\u0000"+
-        "\u5759\u0000\u0000\u5757\u0000\u397A\u0000\u575D";
-
-    private final static String innerIndex2=
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5763\u5769"+
-        "\u5761\u0000\u455C\u0000\u0000\u5766\u495D\u0000"+
-        "\u0000\u5760\u0000\u5765\u4E67\u3B57\u0000\u0000"+
-        "\u4255\u575E\u0000\u0000\u0000\u355E\u5768\u402D"+
-        "\u3165\u5762\u3278\u5767\u0000\u0000\u0000\u3631"+
-        "\u0000\u5764\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u576A\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u576C\u5776\u5774\u0000\u0000\u5771\u0000"+
-        "\u0000\u0000\u5770\u4E78\u0000\u5772\u0000\u0000"+
-        "\u3632\u0000\u3931\u0000\u0000\u3D7A\u0000\u0000"+
-        "\u0000\u5779\u576B\u0000\u0000\u7A22\u0000\u576F"+
-        "\u575F\u0000\u327A\u5773\u5775\u4351\u0000\u0000"+
-        "\u3A28\u3238\u576D\u5778\u5777\u3633\u0000\u4229"+
-        "\u3366\u0000\u0000\u0000\u0000\u3743\u0000\u576E"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u577A\u0000\u577D\u5821\u7A23\u0000\u0000"+
-        "\u0000\u3C3D\u7A24\u5827\u4470\u577B\u0000\u0000"+
-        "\u0000\u0000\u5825\u0000\u3279\u0000\u5823\u5824"+
-        "\u0000\u0000\u577E\u5822\u0000\u0000\u0000\u3867"+
-        "\u4D2A\u0000\u0000\u3435\u0000\u0000\u3159\u5826"+
-        "\u0000\u473A\u302D\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4861\u575C\u582C\u5830\u4C65\u0000"+
-        "\u5829\u0000\u0000\u0000\u4569\u582E\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3E70\u582F\u4657"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4F47\u0000\u582B\u0000\u7A26\u0000\u0000"+
-        "\u5831\u0000\u397B\u0000\u404B\u0000\u7A25\u3054"+
-        "\u582A\u5828\u0000\u415A\u0000\u0000\u0000\u577C"+
-        "\u3B34\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4246\u583D\u7A28\u415B\u5838\u0000\u5835\u5836"+
-        "\u0000\u3C66\u5839\u583C\u0000\u0000\u0000\u0000"+
-        "\u5837\u3D25\u0000\u583A\u0000\u0000\u5834\u0000"+
-        "\u4C7C\u4C7B\u0000\u0000\u0000\u583E\u583F\u3055"+
-        "\u0000\u7A29\u0000\u0000\u0000\u5833\u0000\u0000"+
-        "\u0000\u0000\u3672\u3026\u0000\u0000\u0000\u3436"+
-        "\u7A27\u583B\u0000\u0000\u0000\u0000\u0000\u5843"+
-        "\u5842\u0000\u0000\u0000\u5847\u0000\u0000\u0000"+
-        "\u7A2B\u0000\u0000\u0000\u5848\u0000\u0000\u7A2A"+
-        "\u0000\u0000\u0000\u0000\u5846\u5849\u5841\u5845"+
-        "\u0000\u0000\u584A\u0000\u584B\u0000\u0000\u5840"+
-        "\u3B7C\u0000\u5844\u4256\u3932\u5832\u3F35\u0000"+
-        "\u0000\u0000\u0000\u5858\u0000\u4A69\u0000\u0000"+
-        "\u584E\u584F\u5850\u0000\u0000\u5857\u0000\u5856"+
-        "\u0000\u0000\u4B7D\u3437\u0000\u5854\u0000\u3745"+
-        "\u3334\u0000\u0000\u5851\u0000\u0000\u4E38\u5853"+
-        "\u3056\u5855\u0000\u584C\u5852\u5859\u3744\u584D"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4D5D\u0000"+
-        "\u0000\u0000\u4D2B\u0000\u0000\u0000\u0000\u585C"+
-        "\u0000\u0000\u5860\u0000\u0000\u0000\u417E\u0000"+
-        "\u4E79\u5861\u0000\u0000\u585E\u0000\u585B\u0000"+
-        "\u7A2C\u585A\u585F\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u4A30\u0000\u0000\u4634"+
-        "\u0000\u3746\u0000\u5862\u585D\u0000\u5863\u0000"+
-        "\u0000\u0000\u377B\u0000\u0000\u0000\u3231\u0000"+
-        "\u0000\u0000\u586B\u0000\u0000\u0000\u3438\u0000"+
-        "\u0000\u0000\u0000\u5869\u0000\u0000\u586A\u3A29"+
-        "\u5868\u5866\u5865\u586C\u5864\u586E\u0000\u0000"+
-        "\u327B\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5870\u0000\u0000\u586F\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4428\u0000\u5873\u0000\u5871\u5867"+
-        "\u377C\u0000\u5872\u0000\u5876\u5875\u5877\u5874"+
-        "\u5878\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5879\u587A\u4A6A\u0000\u587C\u587B\u3D3F\u0000"+
-        "\u402E\u3266\u327C\u7A2D\u587D\u0000\u303F\u0000"+
-        "\u0000\u0000\u404C\u587E\u0000\u6C43\u5921\u3761"+
-        "\u0000\u5922\u0000\u0000\u0000\u0000\u406F\u0000"+
-        "\u0000\u0000\u5923\u0000\u0000\u0000\u5924\u353A"+
-        "\u5925\u0000\u5926\u5927\u4257\u0000\u0000\u0000"+
-        "\u384D\u0000\u0000\u4C61\u0000\u0000\u0000\u4B3C"+
-        "\u3D6A\u5928\u0000\u0000\u0000\u0000\u0000\u4070"+
-        "\u6E3D\u4862\u0000\u3C6A\u0000\u3A4D\u5929\u0000"+
-        "\u0000\u0000\u0000\u4247\u0000\u4A27\u0000\u0000"+
-        "\u4271\u0000\u0000\u592C\u0000\u0000\u592A\u0000"+
-        "\u592D\u0000\u0000\u592B\u0000\u0000\u0000\u0000"+
-        "\u592E\u0000\u0000\u0000\u0000\u0000\u4A31\u0000"+
-        "\u0000\u3037\u0000\u0000\u0000\u0000\u495E\u0000"+
-        "\u0000\u4863\u0000\u0000\u592F\u0000\u5932\u3E35"+
-        "\u353B\u0000\u5930\u5937\u3E36\u0000\u0000\u0000"+
-        "\u0000\u5931\u4744\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4D5E\u5933\u5934\u5938\u456A\u5935\u3933"+
-        "\u405E\u0000\u0000\u5946\u4834\u0000\u4272\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u7A2E\u0000"+
-        "\u0000\u0000\u0000\u4864\u5A2D\u0000\u0000\u0000"+
-        "\u0000\u4A7A\u0000\u0000\u0000\u4471\u0000\u0000"+
-        "\u0000\u4B75\u0000\u593B\u3221\u436A\u0000\u0000"+
-        "\u0000\u0000\u5944\u0000\u0000\u4334\u593E\u5945"+
-        "\u5940\u5947\u5943\u0000\u5942\u476F\u0000\u593C"+
-        "\u327D\u593A\u3571\u4273\u5936\u0000\u0000\u5939"+
-        "\u3934\u405B\u0000\u3E37\u5941\u4752\u0000\u0000"+
-        "\u3572\u3348\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3367\u3F21\u5949\u594E"+
-        "\u0000\u594A\u0000\u377D\u0000\u594F\u3B22\u3969"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3D26\u593D"+
-        "\u0000\u3B7D\u594C\u0000\u0000\u0000\u0000\u3B58"+
-        "\u594D\u3044\u0000\u0000\u5948\u0000\u0000\u0000"+
-        "\u0000\u4429\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3573\u0000\u0000\u0000\u0000\u0000\u3634"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u594B"+
-        "\u3027\u0000\u0000\u3A43\u0000\u0000\u0000\u3F36"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4472\u0000\u0000\u4854\u5951\u415E"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u422A\u0000\u0000\u3B2B\u5952\u0000\u5954"+
-        "\u5950\u0000\u0000\u0000\u0000\u4A61\u0000\u443D"+
-        "\u0000\u0000\u0000\u0000\u415C\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4A7B"+
-        "\u3C4E\u5960\u0000\u595F\u0000\u0000\u3F78\u0000"+
-        "\u0000\u0000\u377E\u0000\u0000\u0000\u5959\u3E39"+
-        "\u0000\u0000\u4668\u4731\u0000\u0000\u0000\u0000"+
-        "\u5957\u0000\u0000\u415D\u0000\u0000\u0000\u0000"+
-        "\u3C78\u595C\u0000\u0000\u3E38\u0000\u5956\u595B"+
-        "\u0000\u0000\u4753\u0000\u0000\u0000\u5955\u0000"+
-        "\u3721\u0000\u0000\u335D\u0000\u0000\u0000\u595D"+
-        "\u4E2B\u3A4E\u4335\u595A\u0000\u405C\u0000\u3935"+
-        "\u3F64\u3166\u413C\u5958\u3545\u0000\u0000\u0000"+
-        "\u0000\u0000\u3747\u0000\u444F\u595E\u0000\u0000"+
-        "\u0000\u0000\u0000\u415F\u0000\u0000\u5961\u0000"+
-        "\u5963\u0000\u0000\u4237\u5969\u0000\u5964\u0000"+
-        "\u0000\u5966\u0000\u0000\u0000\u0000\u0000\u4941"+
-        "\u4473\u0000\u5967\u0000\u0000\u0000\u4D2C\u0000"+
-        "\u0000\u0000\u4D48\u3439\u0000\u0000\u0000\u0000"+
-        "\u0000\u302E\u0000\u5965\u0000\u0000\u0000\u0000"+
-        "\u0000\u5962\u0000\u0000\u0000\u0000\u3478\u0000"+
-        "\u0000\u0000\u0000\u0000\u3167\u7A2F\u5968\u0000"+
-        "\u0000\u0000\u4D49\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u596C\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u423B\u0000\u5973"+
-        "\u0000\u0000\u0000\u596D\u0000\u0000\u596A\u5971"+
-        "\u0000\u0000\u0000\u0000\u5953\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u596E\u0000"+
-        "\u5972\u0000\u0000\u0000\u4842\u456B\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u596B\u0000\u596F\u0000"+
-        "\u0000\u0000\u3748\u0000\u0000\u0000\u3A71\u0000"+
-        "\u0000\u0000\u405D\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5977\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4526\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u7A30\u0000\u0000\u0000\u0000\u0000\u0000\u5974"+
-        "\u0000\u4B60\u0000\u0000\u0000\u0000\u0000\u5975"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5976\u0000"+
-        "\u4C4E\u0000\u4022\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3762\u0000\u0000\u0000\u0000"+
-        "\u597D\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3B35\u597A\u0000\u5979\u0000\u0000"+
-        "\u0000\u0000\u4732\u0000\u0000\u7A31\u4635\u0000"+
-        "\u0000\u0000\u0000\u0000\u4531\u597B\u0000\u0000"+
-        "\u0000\u597C\u0000\u496F\u0000\u4745\u3B23\u0000"+
-        "\u4071\u0000\u4B50\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3349\u0000\u5A25\u597E\u0000\u0000\u0000"+
-        "\u0000\u4D4A\u5A27\u0000\u0000\u5A23\u0000\u5A24"+
-        "\u0000\u0000\u0000\u0000\u0000\u4160\u7A32\u0000"+
-        "\u0000\u0000\u5A22\u0000\u593F\u0000\u0000\u0000"+
-        "\u5A26\u0000\u5A21\u0000\u0000\u0000\u0000\u0000"+
-        "\u5A2B\u5A2C\u4527\u5A2E\u0000\u0000\u3B24\u5A29"+
-        "\u0000\u0000\u0000\u0000\u353C\u0000\u0000\u5A2F"+
-        "\u0000\u5A28\u5A33\u0000\u5A32\u0000\u5A31\u0000"+
-        "\u0000\u0000\u5A34\u0000\u0000\u5A36\u3E71\u0000"+
-        "\u5A35\u0000\u0000\u0000\u0000\u5A39\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5A37\u0000\u0000\u0000\u5A38\u5970\u0000\u0000"+
-        "\u0000\u0000\u0000\u5A3B\u5A3A\u0000\u0000\u0000"+
-        "\u0000\u0000\u5978\u5A3C\u5A30\u0000\u0000\u3B59"+
-        "\u0000\u0000\u0000\u0000\u5A3D\u5A3E\u5A40\u5A3F"+
-        "\u5A41\u327E\u0000\u3936\u0000\u0000\u4A7C\u402F"+
-        "\u0000\u0000\u0000\u0000\u0000\u384E\u0000\u0000"+
-        "\u5A43\u0000\u0000\u0000\u0000\u5A46\u7A33\u4952"+
-        "\u0000\u355F\u0000\u0000\u0000\u5A45\u5A44\u4754"+
-        "\u5A47\u3635\u0000\u0000\u0000\u5A49\u5A48\u0000"+
-        "\u0000\u0000\u343A\u3B36\u0000\u0000\u4658\u0000"+
-        "\u0000\u0000\u0000\u0000\u3749\u0000\u0000\u0000"+
-        "\u3F74\u0000\u5A4A\u0000\u4030\u4528\u0000\u495F"+
-        "\u5A4B\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u5A4C\u5A4D\u0000\u0000\u0000\u4A38"+
-        "\u555D\u4046\u0000\u0000\u494C\u0000\u3A58\u0000"+
-        "\u4865\u4843\u0000\u0000\u0000\u0000\u0000\u454D"+
-        "\u0000\u4E41\u0000\u5A4F\u3C50\u0000\u0000\u5A50"+
-        "\u0000\u3036\u0000\u0000\u3654\u404D\u0000\u4960"+
-        "\u0000\u0000\u0000\u5A51\u3B42\u4347\u0000\u3B5B"+
-        "\u3F37\u0000\u0000\u0000\u0000\u0000\u0000\u5A52"+
-        "\u0000\u4A7D\u0000\u0000\u3177\u3B5C\u0000\u0000"+
-        "\u0000\u5A55\u0000\u5A53\u5A56\u4E39\u5A54\u0000"+
-        "\u0000\u0000\u0000\u407B\u5A57\u0000\u0000\u4232"+
-        "\u0000\u0000\u5A58\u0000\u0000\u0000\u0000\u347A"+
-        "\u0000\u5A5A\u0000\u5A59\u0000\u0000\u0000\u0000"+
-        "\u5A5B\u5A5C\u347B\u0000\u0000\u467C\u4336\u356C"+
-        "\u3B5D\u4161\u0000\u0000\u3D5C\u3030\u0000\u0000"+
-        "\u0000\u5A5D\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3222\u5A61\u0000\u0000\u0000\u0000"+
-        "\u7A34\u0000\u3937\u5A60\u0000\u0000\u3A2B\u3E3A"+
-        "\u0000\u7A37\u5A5F\u0000\u3E3B\u0000\u4C40\u3A2A"+
-        "\u0000\u0000\u0000\u3057\u404E\u7A35\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5A66\u0000\u7A39\u4031"+
-        "\u3147\u0000\u0000\u0000\u7A3A\u3D55\u0000\u4B66"+
-        "\u3A72\u0000\u0000\u0000\u0000\u3E3C\u7A38\u4027"+
-        "\u0000\u7928\u0000\u0000\u5A65\u5A63\u5A64\u0000"+
-        "\u0000\u0000\u0000\u7A36\u436B\u0000\u0000\u5B26"+
-        "\u0000\u5A6A\u3B7E\u3938\u5A68\u0000\u0000\u0000"+
-        "\u0000\u5A69\u0000\u3F38\u0000\u0000\u0000\u5A67"+
-        "\u0000\u0000\u3B2F\u0000\u0000\u0000\u0000\u7A3C"+
-        "\u0000\u7A3D\u0000\u0000\u0000\u5A6C\u5A6B\u5A70"+
-        "\u0000\u0000\u5A71\u0000\u5A6D\u7A3B\u3322\u5A6E"+
-        "\u5A6F\u4855\u0000\u0000\u0000\u0000\u4961\u374A"+
-        "\u5A72\u0000\u0000\u7A3F\u4032\u0000\u3E3D\u0000"+
-        "\u0000\u0000\u4352\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3647\u0000\u5A73\u5A77\u0000\u0000\u324B"+
-        "\u5A74\u5A76\u0000\u0000\u0000\u0000\u5A75\u0000"+
-        "\u0000\u3D6B\u0000\u0000\u0000\u0000\u4348\u3045"+
-        "\u5A78\u7A40\u0000\u0000\u0000\u5A79\u0000\u0000"+
-        "\u7A41\u0000\u442A\u0000\u0000\u0000\u4E71\u0000"+
-        "\u0000\u0000\u0000\u3B43\u0000\u0000\u4A6B\u0000"+
-        "\u0000\u0000\u7A42\u0000\u4B3D\u0000\u0000\u0000"+
-        "\u5B22\u5A7B\u0000\u0000\u5A7E\u0000\u5A7D\u7A43"+
-        "\u0000\u5A7A\u0000\u0000\u5B21\u0000\u0000\u465E"+
-        "\u0000\u5A7C\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5B23\u0000"+
-        "\u0000\u3D6C\u5B24\u0000\u4D4B\u4778\u0000\u0000"+
-        "\u5B25\u0000\u0000\u0000\u0000\u0000\u5B27\u0000"+
-        "\u0000\u5B28\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5B29\u0000\u364A\u3148\u3939\u5B2A\u0000\u5B2B"+
-        "\u3D71\u4162\u7A44\u792B\u5258\u413E\u413D\u4258"+
-        "\u3A47\u0000\u0000\u5072\u0000\u0000\u0000\u0000"+
-        "\u376E\u4D2D\u0000\u4A7E\u0000\u497E\u7A45\u5B2C"+
-        "\u0000\u0000\u0000\u0000\u3A73\u443F\u5B2D\u4F2F"+
-        "\u0000\u0000\u0000\u4B3E\u0000\u442B\u5B2E\u347C"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5B2F\u5B30"+
-        "\u4C5A\u0000\u4C24\u4B76\u4B5C\u3B25\u5B32\u0000"+
-        "\u0000\u3C6B\u0000\u0000\u4B51\u0000\u5B34\u5B37"+
-        "\u5B36\u0000\u3479\u0000\u0000\u3560\u0000\u5B33"+
-        "\u0000\u5B35\u0000\u0000\u0000\u0000\u5B38\u0000"+
-        "\u0000\u3F79\u0000\u0000\u0000\u0000\u4D7B\u3049"+
-        "\u3A60\u423C\u0000\u3C5D\u0000\u0000\u3E73\u0000"+
-        "\u0000\u5B3B\u0000\u0000\u454E\u0000\u5B39\u422B"+
-        "\u5B3A\u3E72\u4C5D\u5B3C\u5B3D\u4D68\u7A47\u0000"+
-        "\u0000\u0000\u5B42\u0000\u0000\u393A\u0000\u4755"+
-        "\u5B3F\u456C\u5A5E\u5A62\u0000\u354F\u0000\u4747"+
-        "\u0000\u0000\u0000\u0000\u5B41\u0000\u3E3E\u4844"+
-        "\u0000\u0000\u0000\u0000\u0000\u5B47\u0000\u487A"+
-        "\u0000\u5B3E\u0000\u5B44\u5B43\u0000\u0000\u0000"+
-        "\u404F\u0000\u0000\u0000\u0000\u4B6D\u0000\u4E53"+
-        "\u0000\u0000\u4B67\u0000\u324C\u3B5E\u0000\u0000"+
-        "\u4F48\u5B46\u3F75\u0000\u0000\u0000\u5B45\u0000"+
-        "\u0000\u5B40\u0000\u0000\u0000\u0000\u0000\u384F"+
-        "\u0000\u0000\u0000\u5B4C\u5B4A\u0000\u324D\u5B48"+
-        "\u5B4E\u5B54\u0000\u7A48\u0000\u0000\u0000\u0000"+
-        "\u7A4A\u4248\u0000\u0000\u4A41\u0000\u5B56\u0000"+
-        "\u0000\u0000\u4922\u0000\u0000\u0000\u5B55\u4770"+
-        "\u4B3F\u343B\u0000\u4077\u3D40\u0000\u0000\u0000"+
-        "\u4453\u0000\u4D2E\u0000\u0000\u5B51\u5B50\u0000"+
-        "\u0000\u0000\u5B52\u0000\u5B4F\u0000\u0000\u5B57"+
-        "\u0000\u5B4D\u0000\u0000\u5B4B\u0000\u5B53\u5B49"+
-        "\u0000\u436C\u0000\u4C78\u3C46\u3A74\u0000\u0000"+
-        "\u0000\u0000\u0000\u3A3A\u0000\u0000\u4B6F\u3341"+
-        "\u0000\u7A4B\u444E\u464A\u3149\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4072\u0000\u0000\u4034\u372A"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5B59\u0000"+
-        "\u0000\u393B\u337C\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5B5B\u3374\u5B61\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u5B5E\u0000\u4073\u0000\u0000\u0000"+
-        "\u334B\u3A2C\u0000\u0000\u334A\u3A4F\u0000\u0000"+
-        "\u5B5C\u3765\u374B\u456D\u7A4C\u0000\u5B5A\u0000"+
-        "\u3046\u0000\u0000\u0000\u0000\u5B5D\u5B5F\u0000"+
-        "\u364D\u372C\u7A49\u343C\u354B\u0000\u0000\u0000"+
-        "\u0000\u5B62\u0000\u0000\u3A79\u4B71\u0000\u3B37"+
-        "\u0000\u0000\u0000\u5B63\u0000\u0000\u0000\u4930"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5B6F\u0000\u3233\u5B64"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5B75\u5B65"+
-        "\u0000\u4E42\u0000\u5B6C\u0000\u475F\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5B74\u0000\u5B67"+
-        "\u0000\u0000\u0000\u3034\u5B69\u0000\u0000\u393C"+
-        "\u0000\u0000\u0000\u5B6B\u0000\u5B6A\u0000\u5B66"+
-        "\u5B71\u0000\u3E3F\u0000\u0000\u0000\u546D\u3868"+
-        "\u4D7C\u0000\u0000\u0000\u0000\u5B68\u0000\u4474"+
-        "\u3323\u3A2D\u0000\u5B60\u0000\u5B70\u3361\u0000"+
-        "\u0000\u5B6E\u5B72\u0000\u456E\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u347E\u0000\u5C32\u0000"+
-        "\u7929\u4C49\u5B77\u347D\u0000\u5B7E\u0000\u7A4D"+
-        "\u0000\u0000\u4B40\u0000\u5C21\u5C23\u0000\u5C27"+
-        "\u5B79\u0000\u432A\u0000\u0000\u0000\u0000\u456F"+
-        "\u5C2B\u5B7C\u0000\u5C28\u0000\u0000\u0000\u5C22"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3F39\u5C2C"+
-        "\u0000\u0000\u4033\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5C2A\u343D\u0000\u0000\u0000\u0000\u0000"+
-        "\u4F50\u5B76\u0000\u0000\u5C26\u3058\u0000\u0000"+
-        "\u5B78\u0000\u0000\u4C3A\u5B7D\u3F22\u4447\u5B73"+
-        "\u0000\u0000\u5C25\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3F7A\u5C2F\u3371\u3821\u0000\u0000\u0000"+
-        "\u0000\u5C31\u5B7A\u5C30\u0000\u5C29\u5B7B\u0000"+
-        "\u5C2D\u0000\u5C2E\u0000\u0000\u0000\u0000\u0000"+
-        "\u5C3F\u0000\u0000\u0000\u464E\u0000\u5C24\u0000"+
-        "\u0000\u5C3B\u0000\u0000\u0000\u5C3D\u0000\u4458"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4D4C\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4976\u5C38\u424A\u0000\u0000"+
-        "\u0000\u5C3E\u413F\u0000\u5C35\u5C42\u5C41\u0000"+
-        "\u466F\u5C40\u466A\u0000\u0000\u0000\u0000\u0000"+
-        "\u7A4F\u0000\u5C44\u5C37\u0000\u3648\u5C3A\u3D5D"+
-        "\u0000\u0000\u0000\u4760\u5C3C\u364B\u0000\u5C34"+
-        "\u5C36\u5C33\u0000\u0000\u4F30\u335A\u5C39\u0000"+
-        "\u0000\u5C43\u3335\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3A67\u0000\u0000\u0000\u315D\u0000"+
-        "\u0000\u5C54\u0000\u0000\u4F31\u5C57\u0000\u0000"+
-        "\u7A51\u0000\u0000\u3F3A\u5C56\u0000\u0000\u0000"+
-        "\u5C55\u0000\u0000\u0000\u0000\u0000\u0000\u5C52"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5C46\u0000"+
-        "\u0000\u5C63\u5C45\u0000\u5C58\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5C50\u0000\u0000\u5C4B\u5C48"+
-        "\u0000\u5C49\u0000\u5C51\u0000\u0000\u0000\u7422"+
-        "\u0000\u0000\u5C4E\u393D\u4448\u4164\u5C4C\u0000"+
-        "\u5C47\u0000\u0000\u5C4A\u0000\u0000\u0000\u0000"+
-        "\u4D4D\u4B6A\u0000\u0000\u0000\u5C4F\u5C59\u0000"+
-        "\u0000\u0000\u7A52\u0000\u0000\u0000\u0000\u5C61"+
-        "\u5C5A\u0000\u0000\u5C67\u0000\u5C65\u0000\u0000"+
-        "\u0000\u0000\u5C60\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5C5F\u0000\u4450\u0000\u4165\u0000\u5C5D"+
-        "\u0000\u0000\u5C5B\u0000\u0000\u5C62\u0000\u0000"+
-        "\u0000\u0000\u5C68\u4875\u5C6E\u0000\u0000\u0000"+
-        "\u0000\u0000\u5C69\u5C6C\u5C66\u0000\u0000\u4374"+
-        "\u0000\u4938\u0000\u5C5C\u0000\u0000\u5C64\u3E40"+
-        "\u0000\u4C4F\u5C78\u5C6B\u0000\u0000\u0000\u0000"+
-        "\u0000\u3822\u3223\u335F\u0000\u0000\u5C53\u0000"+
-        "\u7A53\u0000\u0000\u0000\u0000\u3E41\u5C70\u0000"+
-        "\u5C77\u3C79\u3372\u0000\u0000\u432E\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5C6D\u0000\u7A55\u5C72"+
-        "\u5C76\u0000\u0000\u3636\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u354C\u5C74\u0000\u0000\u0000\u0000\u0000\u3521"+
-        "\u0000\u464B\u5C73\u0000\u0000\u0000\u5C75\u0000"+
-        "\u0000\u0000\u0000\u7A54\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u5C6F\u7A56\u0000\u0000\u0000\u0000"+
-        "\u5C71\u0000\u0000\u0000\u0000\u0000\u7A57\u3360"+
-        "\u4349\u0000\u0000\u0000\u5C7C\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5C7A\u3869\u0000"+
-        "\u5C79\u0000\u0000\u0000\u0000\u0000\u0000\u5D21"+
-        "\u0000\u0000\u0000\u0000\u5B58\u0000\u0000\u0000"+
-        "\u5C7B\u0000\u5C7D\u5C7E\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u5D2C\u0000\u5D28\u0000\u5B6D\u0000"+
-        "\u0000\u0000\u0000\u5D27\u0000\u0000\u0000\u0000"+
-        "\u5D26\u0000\u0000\u5D23\u0000\u0000\u0000\u0000"+
-        "\u0000\u5C6A\u5D25\u5D24\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5D2A\u0000\u4F26\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u5D2D\u367B\u0000\u0000\u5D29\u5D2B"+
-        "\u0000\u0000\u7A58\u0000\u7A59\u0000\u0000\u0000"+
-        "\u4827\u0000\u5D2E\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u5D32\u5D2F\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u4D73\u5D30\u0000\u0000"+
-        "\u0000\u0000\u5C5E\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u5D33\u0000\u0000\u0000\u5D34\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3135\u0000\u5D36"+
-        "\u3767\u3C21\u0000\u3655\u0000\u0000\u0000\u3224"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4D5F\u0000\u0000\u0000\u0000\u5D38"+
-        "\u5D37\u5D3A\u353D\u0000\u0000\u3656\u343E\u0000"+
-        "\u0000\u0000\u0000\u5D3D\u0000\u0000\u0000\u5D3C"+
-        "\u0000\u5D3E\u0000\u0000\u324E\u0000\u4337\u0000"+
-        "\u5D3F\u0000\u0000\u343F\u5D41\u0000\u0000\u0000"+
-        "\u0000\u5D40\u0000\u5D42\u0000\u0000\u0000\u5D43"+
-        "\u0000\u5D44\u3B5F\u4035\u3A21\u0000\u4970\u0000"+
-        "\u0000\u4A62\u4F44\u0000\u0000\u0000\u0000\u3B75"+
-        "\u0000\u0000\u0000\u3A50\u4E72\u0000\u0000\u0000"+
-        "\u5D45\u5D46\u0000\u3B60\u0000\u0000\u0000\u5D47"+
-        "\u5D48\u0000\u0000\u5D4A\u5D49\u0000\u4B58\u0000"+
-        "\u0000\u3D5E\u3C6C\u3B44\u0000\u5D4B\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5D4D\u3F23\u0000"+
-        "\u5D4C\u0000\u0000\u0000\u0000\u0000\u5D4E\u0000"+
-        "\u0000\u0000\u0000\u0000\u5D4F\u0000\u0000\u0000"+
-        "\u0000\u0000\u5D50\u5D51\u0000\u0000\u0000\u5D52"+
-        "\u0000\u5D54\u5D53\u5D55\u3225\u434A\u0000\u5D56"+
-        "\u0000\u0000\u3B26\u334C\u5D57\u0000\u0000\u4542"+
-        "\u544C\u0000\u0000\u0000\u0000\u3523\u5D58\u0000"+
-        "\u0000\u0000\u0000\u5D59\u0000\u4A6C\u4B68\u0000"+
-        "\u0000\u0000\u4647\u5D5A\u4866\u0000\u7A5A\u0000"+
-        "\u487B\u0000\u0000\u4C53\u0000\u0000\u0000\u5D5B"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5D5D\u5D5C\u0000\u0000\u5D5F"+
-        "\u0000\u0000\u0000\u5D5E\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5D61\u0000\u0000\u0000\u0000\u0000\u0000\u3B61"+
-        "\u0000\u4C31\u0000\u5D62\u5D63\u0000\u0000\u3524"+
-        "\u0000\u0000\u0000\u5D64\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5D66\u5D65\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3F65\u0000\u0000\u4939"+
-        "\u314A\u0000\u0000\u0000\u0000\u0000\u4845\u7A5B"+
-        "\u4475\u3D41\u3561\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4846\u0000"+
-        "\u3C2E\u0000\u0000\u0000\u0000\u5D68\u0000\u3440"+
-        "\u0000\u0000\u3178\u0000\u7A5C\u4672\u5D67\u393E"+
-        "\u4353\u0000\u5D69\u0000\u0000\u0000\u0000\u0000"+
-        "\u5D71\u0000\u5D6A\u0000\u0000\u0000\u0000\u7A5E"+
-        "\u4241\u0000\u3562\u5D72\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3768\u0000\u0000\u3525\u5D70\u0000"+
-        "\u0000\u5D6E\u5D6B\u4D60\u0000\u0000\u7A5D\u0000"+
-        "\u4440\u0000\u0000\u0000\u4659\u5D6C\u0000\u0000"+
-        "\u5D74\u0000\u5D73\u3723\u0000\u0000\u322D\u0000"+
-        "\u0000\u3A3B\u5D6D\u5D6F\u0000\u0000\u0000\u0000"+
-        "\u0000\u4B57\u4274\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4B77\u0000\u0000\u5D7C\u0000"+
-        "\u0000\u5D7D\u0000\u324F\u0000\u0000\u0000\u0000"+
-        "\u4A28\u4C7D\u5E21\u3C23\u3E42\u5D78\u5D7E\u3168"+
-        "\u0000\u3637\u0000\u0000\u5D75\u5D7A\u0000\u0000"+
-        "\u0000\u4074\u4771\u0000\u4867\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5D77\u0000\u4B21\u0000\u5D79"+
-        "\u0000\u5E24\u7A5F\u5E22\u0000\u5D7B\u0000\u0000"+
-        "\u0000\u4B22\u4748\u3563\u0000\u4525\u0000\u0000"+
-        "\u436D\u0000\u5E25\u0000\u0000\u0000\u0000\u5E23"+
-        "\u4259\u5D76\u0000\u314B\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u7A60\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4D4E\u5E30\u0000\u0000\u0000"+
-        "\u0000\u0000\u5E2F\u0000\u0000\u0000\u0000\u4076"+
-        "\u0000\u5E2C\u0000\u4D6C\u0000\u0000\u4636\u5E26"+
-        "\u0000\u0000\u0000\u0000\u0000\u4445\u0000\u0000"+
-        "\u0000\u314C\u393F\u5E29\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3D27\u5E2E\u0000\u5E2D\u5E28\u0000"+
-        "\u5E2B\u0000\u0000\u3368\u0000\u5E2A\u4749\u0000"+
-        "\u0000\u4E2E\u0000\u0000\u3E74\u4075\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5E36\u5E34\u0000\u494D\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5E31\u5E33\u0000\u313A\u0000"+
-        "\u0000\u3940\u4F32\u0000\u333D\u0000\u4962\u7A62"+
-        "\u0000\u0000\u0000\u0000\u4D61\u0000\u0000\u3324"+
-        "\u3F3B\u5E35\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5E3A\u0000\u7A61"+
-        "\u3E43\u0000\u0000\u0000\u4D30\u0000\u5E37\u0000"+
-        "\u0000\u0000\u0000\u5E32\u0000\u5E38\u7A63\u0000"+
-        "\u0000\u4E5E\u0000\u4573\u4642\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u7A64\u0000\u0000\u3336"+
-        "\u0000\u0000\u3155\u0000\u0000\u5E3E\u0000\u0000"+
-        "\u5E41\u0000\u0000\u0000\u4E43\u0000\u0000\u0000"+
-        "\u4D64\u0000\u0000\u0000\u0000\u5E48\u5E42\u5E3F"+
-        "\u0000\u0000\u0000\u4E54\u5E45\u0000\u0000\u7A65"+
-        "\u0000\u3D4A\u5E47\u0000\u0000\u5E4C\u0000\u0000"+
-        "\u4571\u5E4A\u0000\u0000\u0000\u0000\u5E44\u0000"+
-        "\u0000\u4338\u0000\u0000\u5E4B\u0000\u5E40\u0000"+
-        "\u5E46\u0000\u5E4D\u307C\u5E43\u0000\u5E4E\u0000"+
-        "\u0000\u3F3C\u7A67\u3D5F\u0000\u4A25\u0000\u3A2E"+
-        "\u7A66\u5E3B\u5E49\u453A\u7A68\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4036\u0000\u3369"+
-        "\u3A51\u3E44\u5E3D\u3D42\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u374C\u0000\u5E3C\u0000\u0000"+
-        "\u0000\u5E52\u3D6D\u383A\u0000\u5E61\u0000\u5E5B"+
-        "\u3574\u454F\u0000\u5E56\u5E5F\u302F\u3132\u7A6B"+
-        "\u0000\u3239\u0000\u5E58\u422C\u5E4F\u5E51\u3941"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5E62\u7A69\u5E5D\u0000\u7A6C\u0000\u5E55\u0000"+
-        "\u0000\u0000\u0000\u5E5C\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4C2B\u0000\u0000\u5E5A\u5E5E\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3850\u0000"+
-        "\u3E45\u0000\u0000\u4339\u7A6A\u0000\u0000\u5E54"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4D2F"+
-        "\u0000\u0000\u0000\u5E57\u0000\u0000\u5E50\u4572"+
-        "\u0000\u0000\u5E53\u0000\u0000\u0000\u5E59\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4F51\u3C3E"+
-        "\u4B7E\u0000\u5E63\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u482E\u0000\u0000\u5E6F"+
-        "\u383B\u0000\u0000\u0000\u0000\u0000\u3D60\u0000"+
-        "\u5E65\u0000\u0000\u0000\u4E2F\u3942\u0000\u5E72"+
-        "\u0000\u0000\u306E\u0000\u0000\u5E70\u0000\u0000"+
-        "\u0000\u0000\u5E64\u0000\u0000\u0000\u0000\u5E6A"+
-        "\u0000\u0000\u5E6C\u0000\u0000\u0000\u4D4F\u5E67"+
-        "\u0000\u0000\u452E\u0000\u0000\u5E69\u0000\u7A6D"+
-        "\u0000\u0000\u5E71\u0000\u5E6B\u4C47\u0000\u0000"+
-        "\u0000\u5E66\u0000\u3C22\u5E7E\u0000\u0000\u0000"+
-        "\u0000\u336A\u0000\u5E68\u5E6D\u5E6E\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u426C\u425A\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5E76\u0000\u0000\u5E7C"+
-        "\u0000\u0000\u5E7A\u0000\u4529\u0000\u0000\u5F23"+
-        "\u5E77\u0000\u0000\u0000\u0000\u0000\u5E78\u5E60"+
-        "\u0000\u3579\u493A\u0000\u0000\u0000\u3C3F\u0000"+
-        "\u0000\u3977\u0000\u0000\u0000\u0000\u0000\u4F33"+
-        "\u0000\u5E74\u0000\u5F22\u3169\u4166\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4779\u0000\u3441\u4E7A\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4C21\u4452\u0000\u0000\u0000"+
-        "\u0000\u5E7B\u5E7D\u0000\u0000\u0000\u0000\u0000"+
-        "\u4132\u0000\u0000\u0000\u0000\u0000\u5F21\u5E79"+
-        "\u0000\u5E73\u0000\u0000\u0000\u3443\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3769\u0000\u0000\u0000"+
-        "\u5F2F\u0000\u0000\u5F2A\u4078\u0000\u0000\u3363"+
-        "\u0000\u0000\u0000\u0000\u3D61\u0000\u5F33\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5F2C\u442C\u5F29"+
-        "\u4459\u0000\u0000\u0000\u5F4C\u0000\u0000\u0000"+
-        "\u5F26\u0000\u5F25\u0000\u5F2E\u0000\u0000\u0000"+
-        "\u5F28\u5F27\u5F2D\u0000\u4021\u0000\u5F24\u0000"+
-        "\u7A6E\u0000\u0000\u0000\u0000\u0000\u5F30\u0000"+
-        "\u0000\u5F31\u0000\u0000\u0000\u0000\u0000\u3442"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5F36\u0000\u5F35\u5F37\u0000\u0000\u0000"+
-        "\u0000\u0000\u5F3A\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4543\u0000\u5F34\u0000\u7A6F\u0000\u0000"+
-        "\u0000\u5F38\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3763\u4279\u5F32\u473B\u0000\u0000\u5F39\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5F3E\u5F3C\u0000\u0000"+
-        "\u5F3F\u0000\u0000\u5F42\u0000\u0000\u0000\u5F3B"+
-        "\u396A\u4728\u0000\u0000\u5E39\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4D74\u5F3D\u0000\u5F41\u4275"+
-        "\u0000\u5F40\u0000\u5F2B\u0000\u7A70\u6F69\u0000"+
-        "\u0000\u0000\u5F45\u0000\u0000\u0000\u5F49\u0000";
-
-    private final static String innerIndex3=
-        "\u0000\u5F47\u0000\u0000\u0000\u7A71\u0000\u7A72"+
-        "\u0000\u5F43\u0000\u5F44\u0000\u0000\u0000\u5F48"+
-        "\u0000\u5F46\u0000\u0000\u0000\u494E\u0000\u0000"+
-        "\u5F4E\u0000\u5F4B\u5F4A\u0000\u5F4D\u4654\u5F4F"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4375\u426D"+
-        "\u7A73\u0000\u0000\u0000\u4025\u0000\u0000\u0000"+
-        "\u5F50\u0000\u5F52\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5F51\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5E75\u0000\u0000\u0000"+
-        "\u0000\u5F53\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4667\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5F54\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3250\u0000\u0000\u0000\u4574"+
-        "\u3325\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3564\u0000\u0000\u0000\u3C5E\u3A52\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u7A74\u0000\u0000"+
-        "\u0000\u4F27\u3F66\u0000\u0000\u0000\u316A\u0000"+
-        "\u0000\u0000\u5F56\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5F55\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u7A75\u5F59\u433A\u5F5C\u5F57"+
-        "\u0000\u0000\u0000\u5F5B\u0000\u0000\u0000\u0000"+
-        "\u5F5A\u4540\u3059\u7927\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4E75\u0000\u0000\u5F5E\u0000\u0000\u0000\u3128"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5F60\u0000\u0000\u0000\u5F5F\u0000\u5F5D"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5F58\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4B23\u0000\u0000\u0000\u5F62\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u7A77\u0000\u0000\u0000"+
-        "\u0000\u5F61\u0000\u0000\u0000\u0000\u0000\u7A76"+
-        "\u0000\u0000\u0000\u0000\u316B\u0000\u0000\u0000"+
-        "\u0000\u5F64\u4A32\u0000\u5F63\u0000\u0000\u0000"+
-        "\u0000\u4C35\u0000\u0000\u0000\u0000\u3E47\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4133\u0000"+
-        "\u0000\u0000\u0000\u0000\u3E46\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u7A79\u7A7A"+
-        "\u0000\u4E7B\u0000\u0000\u5F6A\u0000\u4079\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5F66\u5F6B\u0000"+
-        "\u0000\u316C\u0000\u0000\u7A78\u0000\u0000\u0000"+
-        "\u0000\u0000\u5F69\u0000\u4761\u5F65\u5F68\u3E48"+
-        "\u0000\u4851\u0000\u0000\u5F6C\u0000\u3C51\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u407A\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5F6F\u0000\u0000\u0000"+
-        "\u5F67\u0000\u3727\u0000\u0000\u0000\u0000\u5F6D"+
-        "\u0000\u0000\u0000\u0000\u4D50\u5F70\u0000\u0000"+
-        "\u0000\u7426\u0000\u0000\u0000\u0000\u0000\u3D4F"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5F71\u0000\u0000\u0000\u5F72\u0000\u0000\u0000"+
-        "\u0000\u472E\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5F74\u0000\u0000\u0000\u0000\u5F75\u0000"+
-        "\u0000\u7A7C\u0000\u4733\u0000\u0000\u0000\u0000"+
-        "\u4575\u5F77\u0000\u0000\u0000\u0000\u5F79\u0000"+
-        "\u4E55\u0000\u5F76\u0000\u5F78\u316D\u0000\u5F73"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u535B"+
-        "\u5F7A\u0000\u0000\u0000\u0000\u4167\u3B38\u5F7C"+
-        "\u0000\u0000\u0000\u0000\u5F7B\u3F24\u5259\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5F7D\u0000\u0000"+
-        "\u0000\u6021\u0000\u5F6E\u5F7E\u0000\u7A7D\u6022"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u477A\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6023\u0000\u0000"+
-        "\u6024\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6025\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6026\u0000\u445E\u0000\u6028\u6027\u0000\u0000"+
-        "\u6029\u0000\u602A\u0000\u0000\u3C5F\u4963\u0000"+
-        "\u0000\u0000\u4C6C\u602B\u602C\u4156\u3C24\u602D"+
-        "\u602E\u0000\u0000\u0000\u0000\u0000\u602F\u4A52"+
-        "\u4847\u0000\u0000\u6030\u4757\u0000\u0000\u0000"+
-        "\u0000\u0000\u442D\u0000\u0000\u0000\u0000\u0000"+
-        "\u6031\u3267\u0000\u356D\u0000\u4C46\u0000\u4C36"+
-        "\u0000\u3234\u4F34\u0000\u0000\u0000\u0000\u4B52"+
-        "\u0000\u4A2A\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4037\u0000\u6032\u0000\u0000\u0000"+
-        "\u0000\u4643\u0000\u0000\u0000\u3823\u6033\u0000"+
-        "\u3A54\u6035\u6034\u0000\u0000\u0000\u0000\u6036"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6037\u0000\u0000\u0000\u6038\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u353E\u0000\u6039\u0000\u0000\u0000\u0000\u603A"+
-        "\u0000\u0000\u0000\u0000\u3824\u0000\u0000\u4848"+
-        "\u0000\u7A7E\u603C\u0000\u0000\u0000\u3E75\u0000"+
-        "\u0000\u603B\u0000\u0000\u0000\u0000\u7B21\u0000"+
-        "\u0000\u0000\u3638\u603D\u603F\u0000\u603E\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6040\u0000"+
-        "\u3851\u0000\u6041\u0000\u0000\u0000\u0000\u3669"+
-        "\u0000\u4140\u0000\u397D\u0000\u0000\u0000\u0000"+
-        "\u6043\u6044\u6042\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3C6D\u0000\u0000\u4648\u3639\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6046"+
-        "\u432C\u6045\u0000\u0000\u4F35\u4762\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6049\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u604B\u6048"+
-        "\u0000\u0000\u0000\u4C54\u604A\u604C\u0000\u4E44"+
-        "\u0000\u0000\u0000\u0000\u7B22\u6050\u0000\u0000"+
-        "\u0000\u604F\u4376\u472D\u0000\u0000\u3825\u604E"+
-        "\u0000\u0000\u0000\u0000\u604D\u0000\u4D31\u4D32"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6051\u316E"+
-        "\u0000\u0000\u0000\u0000\u3976\u3B62\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6052\u6053"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6055"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3D43\u0000\u0000\u0000\u0000"+
-        "\u6057\u0000\u6056\u0000\u0000\u0000\u0000\u0000"+
-        "\u6058\u0000\u334D\u0000\u0000\u605A\u0000\u7B24"+
-        "\u6059\u0000\u605C\u605B\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u383C\u0000\u0000\u4E28"+
-        "\u0000\u364C\u0000\u3226\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u366A\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3461\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4E68\u605E\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6060\u0000\u7B25\u0000\u0000"+
-        "\u6061\u0000\u3251\u0000\u0000\u0000\u0000\u0000"+
-        "\u605D\u7B26\u3B39\u0000\u0000\u4441\u605F\u0000"+
-        "\u0000\u0000\u7B29\u0000\u0000\u0000\u7B27\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6064\u0000"+
-        "\u3C6E\u0000\u0000\u7B28\u0000\u6062\u0000\u0000"+
-        "\u0000\u0000\u373E\u0000\u0000\u4849\u6063\u0000"+
-        "\u0000\u607E\u0000\u0000\u0000\u7B2B\u0000\u0000"+
-        "\u6069\u0000\u0000\u0000\u0000\u0000\u383D\u0000"+
-        "\u0000\u0000\u0000\u3565\u0000\u6066\u4D7D\u7B2A"+
-        "\u0000\u4E30\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4276\u0000\u0000\u6068\u7B2C\u0000"+
-        "\u0000\u7B2E\u7B2D\u0000\u0000\u0000\u7B2F\u0000"+
-        "\u0000\u0000\u606A\u4E56\u3657\u487C\u474A\u0000"+
-        "\u0000\u0000\u606B\u0000\u0000\u0000\u0000\u606D"+
-        "\u0000\u6070\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u606C\u0000\u0000"+
-        "\u0000\u606F\u386A\u314D\u6071\u0000\u3F70\u606E"+
-        "\u4E5C\u0000\u7B30\u6074\u7424\u0000\u0000\u0000"+
-        "\u0000\u6072\u6075\u0000\u0000\u0000\u0000\u6067"+
-        "\u6073\u0000\u0000\u3A3C\u0000\u0000\u6076\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6077\u0000"+
-        "\u0000\u0000\u0000\u4D7E\u0000\u0000\u0000\u0000"+
-        "\u0000\u7B31\u0000\u6078\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6079\u7B32"+
-        "\u0000\u0000\u6065\u0000\u0000\u0000\u0000\u607A"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3444\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3C25\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u607B\u0000\u0000\u0000\u0000\u607C"+
-        "\u0000\u0000\u0000\u0000\u607D\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u313B\u0000\u0000\u0000"+
-        "\u6121\u0000\u493B\u6122\u0000\u0000\u3424\u6123"+
-        "\u0000\u6124\u0000\u0000\u0000\u0000\u6125\u0000"+
-        "\u6127\u6128\u6126\u0000\u0000\u0000\u4953\u612A"+
-        "\u6129\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u7B33\u0000\u612C\u612B\u612D\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u612E\u6130\u612F\u0000"+
-        "\u0000\u3979\u0000\u6132\u0000\u6131\u0000\u0000"+
-        "\u3445\u0000\u3F53\u0000\u453C\u0000\u6133\u4038"+
-        "\u0000\u0000\u0000\u3B3A\u0000\u3179\u6134\u0000"+
-        "\u4D51\u0000\u0000\u4A63\u6135\u0000\u0000\u796C"+
-        "\u4544\u4D33\u3943\u3F3D\u0000\u0000\u0000\u434B"+
-        "\u5234\u0000\u442E\u3268\u6136\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u6137\u0000\u613C\u0000"+
-        "\u0000\u613A\u6139\u5A42\u3326\u6138\u0000\u305A"+
-        "\u0000\u482A\u0000\u0000\u484A\u0000\u0000\u0000"+
-        "\u0000\u4E31\u613D\u613B\u435C\u4026\u0000\u0000"+
-        "\u482B\u0000\u492D\u0000\u613F\u4E2C\u374D\u6140"+
-        "\u0000\u613E\u4856\u6141\u0000\u6142\u0000\u7B34"+
-        "\u305B\u0000\u0000\u3E76\u6147\u0000\u6144\u466D"+
-        "\u6143\u0000\u0000\u0000\u0000\u0000\u0000\u3526"+
-        "\u0000\u0000\u614A\u0000\u0000\u0000\u6145\u6146"+
-        "\u0000\u6149\u6148\u4925\u0000\u0000\u4142\u4141"+
-        "\u0000\u353F\u0000\u0000\u614B\u0000\u0000\u0000"+
-        "\u0000\u0000\u614C\u0000\u0000\u614D\u0000\u0000"+
-        "\u0000\u0000\u0000\u614F\u0000\u614E\u0000\u0000"+
-        "\u0000\u0000\u0000\u3156\u0000\u0000\u0000\u0000"+
-        "\u0000\u6157\u4868\u6151\u0000\u6153\u0000\u0000"+
-        "\u6155\u3F3E\u0000\u0000\u6156\u6154\u3C40\u0000"+
-        "\u0000\u0000\u6150\u6152\u0000\u4942\u0000\u3E49"+
-        "\u0000\u0000\u6159\u0000\u0000\u6158\u0000\u0000"+
-        "\u0000\u0000\u615A\u0000\u3C26\u3A2F\u0000\u0000"+
-        "\u4577\u615B\u0000\u444B\u0000\u0000\u615D\u0000"+
-        "\u0000\u0000\u4E21\u615C\u0000\u0000\u0000\u0000"+
-        "\u0000\u4169\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6162\u0000\u6164\u6165\u4354\u0000\u0000\u0000"+
-        "\u0000\u0000\u6163\u0000\u6160\u0000\u615E\u615F"+
-        "\u0000\u6161\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6168\u0000\u6166\u0000\u6167\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6169"+
-        "\u616B\u616C\u616D\u0000\u616E\u0000\u0000\u616A"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6170\u0000\u0000\u0000\u616F\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6171\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4E45\u0000\u0000\u0000\u6174\u6172"+
-        "\u6173\u0000\u0000\u0000\u3462\u0000\u0000\u0000"+
-        "\u0000\u0000\u4C7E\u0000\u0000\u0000\u4A4A\u0000"+
-        "\u6176\u0000\u0000\u0000\u6175\u0000\u0000\u0000"+
-        "\u0000\u6177\u6178\u0000\u0000\u0000\u0000\u617C"+
-        "\u6179\u617A\u617B\u0000\u617D\u0000\u0000\u0000"+
-        "\u617E\u0000\u6221\u0000\u0000\u0000\u6222\u0000"+
-        "\u6223\u0000\u482F\u4550\u6224\u4772\u4934\u0000"+
-        "\u6225\u0000\u7B35\u6226\u452A\u0000\u3327\u3944"+
-        "\u6227\u0000\u0000\u6228\u0000\u0000\u6229\u0000"+
-        "\u3B29\u0000\u0000\u622B\u0000\u0000\u622A\u0000"+
-        "\u0000\u622C\u622D\u7B38\u7B36\u0000\u7B37\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u7B39\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4869\u0000"+
-        "\u622E\u0000\u0000\u0000\u622F\u0000\u0000\u7369"+
-        "\u6230\u6231\u6232\u0000\u0000\u0000\u0000\u3B2E"+
-        "\u0000\u0000\u6233\u4756\u0000\u0000\u4B5F\u0000"+
-        "\u314E\u0000\u3157\u0000\u0000\u6234\u0000\u0000"+
-        "\u0000\u0000\u6236\u0000\u0000\u0000\u6235\u4570"+
-        "\u0000\u0000\u0000\u4039\u5D39\u0000\u6237\u4C41"+
-        "\u0000\u6238\u0000\u3446\u4857\u6239\u0000\u623A"+
-        "\u0000\u0000\u623B\u0000\u0000\u0000\u4C5C\u0000"+
-        "\u0000\u0000\u4C55\u0000\u443E\u0000\u0000\u0000"+
-        "\u416A\u0000\u0000\u623D\u0000\u0000\u3D62\u0000"+
-        "\u0000\u3E4A\u0000\u0000\u6240\u0000\u0000\u623F"+
-        "\u623E\u487D\u0000\u3447\u3829\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6246\u0000\u0000\u6243\u3F3F"+
-        "\u4C32\u0000\u0000\u0000\u6242\u6244\u6245\u0000"+
-        "\u0000\u6241\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6247"+
-        "\u6248\u0000\u442F\u0000\u3463\u0000\u0000\u0000"+
-        "\u4365\u0000\u0000\u0000\u0000\u0000\u7B3B\u6249"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u624A\u624D\u0000\u0000\u0000\u0000"+
-        "\u0000\u3F67\u0000\u4644\u0000\u624E\u4B53\u0000"+
-        "\u624B\u0000\u0000\u624C\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6251\u0000\u0000\u0000\u0000\u6250\u624F"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6253\u0000\u0000\u6252\u0000"+
-        "\u0000\u6254\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6256\u0000"+
-        "\u6255\u0000\u0000\u0000\u0000\u4A4D\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3D56\u4E46\u0000\u0000"+
-        "\u6257\u0000\u0000\u4637\u0000\u0000\u6258\u0000"+
-        "\u0000\u6259\u0000\u625D\u625B\u625C\u0000\u625A"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u625E"+
-        "\u0000\u0000\u0000\u0000\u0000\u625F\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6260"+
-        "\u0000\u0000\u6261\u4C37\u6262\u0000\u0000\u0000"+
-        "\u0000\u0000\u4C70\u6263\u0000\u434E\u0000\u476A"+
-        "\u0000\u366B\u0000\u0000\u0000\u433B\u6264\u363A"+
-        "\u0000\u0000\u0000\u4050\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u6265\u0000\u0000\u0000"+
-        "\u0000\u0000\u3A3D\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u6266\u0000\u0000\u0000"+
-        "\u0000\u0000\u6267\u0000\u3826\u3A55\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6269\u7B3D\u0000\u0000\u0000\u4556\u3A56\u354E"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4B24\u0000\u474B\u0000\u0000\u0000"+
-        "\u0000\u0000\u4557\u0000\u0000\u0000\u0000\u395C"+
-        "\u0000\u0000\u0000\u0000\u0000\u626B\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u7B3E\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3E4B\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u7B3F\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4E32\u3945\u0000\u0000\u3827"+
-        "\u0000\u0000\u4823\u0000\u626D\u0000\u0000\u0000"+
-        "\u0000\u0000\u7B40\u0000\u626F\u0000\u0000\u0000"+
-        "\u0000\u386B\u0000\u0000\u0000\u0000\u626E\u4476"+
-        "\u0000\u0000\u0000\u0000\u6271\u3337\u626C\u0000"+
-        "\u0000\u486A\u0000\u3130\u0000\u3A6C\u0000\u4F52"+
-        "\u0000\u0000\u6270\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6272\u0000\u0000\u0000\u4A4B"+
-        "\u0000\u4059\u6274\u0000\u0000\u0000\u0000\u6275"+
-        "\u0000\u0000\u0000\u0000\u0000\u6273\u0000\u0000"+
-        "\u0000\u0000\u334E\u0000\u627B\u0000\u627A\u0000"+
-        "\u0000\u3C27\u0000\u0000\u0000\u627C\u6277\u0000"+
-        "\u0000\u0000\u627D\u6278\u0000\u0000\u0000\u0000"+
-        "\u4858\u6276\u0000\u0000\u6279\u0000\u0000\u0000"+
-        "\u0000\u0000\u6322\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6321"+
-        "\u4B61\u0000\u0000\u0000\u627E\u0000\u0000\u306B"+
-        "\u0000\u0000\u0000\u0000\u6324\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6323\u0000\u0000"+
-        "\u0000\u3E4C\u0000\u0000\u0000\u0000\u0000\u6325"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4143\u0000"+
-        "\u0000\u6327\u6326\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6328\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6268\u0000"+
-        "\u0000\u0000\u626A\u632A\u6329\u0000\u0000\u0000"+
-        "\u7B41\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3C28\u0000\u4E69\u0000\u3C52\u0000"+
-        "\u632B\u3737\u0000\u0000\u0000\u0000\u0000\u3540"+
-        "\u3527\u3B63\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4D34\u0000\u0000\u6331\u0000\u6330\u4144\u632D"+
-        "\u0000\u0000\u632F\u0000\u0000\u3D4B\u3F40\u632E"+
-        "\u632C\u0000\u472A\u0000\u0000\u3E4D\u0000\u0000"+
-        "\u493C\u0000\u0000\u0000\u0000\u3A57\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4578"+
-        "\u0000\u0000\u6332\u0000\u0000\u0000\u0000\u6333"+
-        "\u6349\u3658\u0000\u0000\u4F3D\u4135\u0000\u0000"+
-        "\u0000\u0000\u6334\u0000\u0000\u3252\u4477\u4A21"+
-        "\u0000\u0000\u0000\u0000\u7B45\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u7B47\u0000\u6335\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u357A\u6336"+
-        "\u0000\u0000\u6338\u0000\u0000\u0000\u6339\u0000"+
-        "\u4729\u0000\u0000\u633A\u0000\u0000\u0000\u0000"+
-        "\u0000\u633B\u633C\u0000\u0000\u3659\u3253\u4645"+
-        "\u3D28\u3B64\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u633D\u0000\u3D29\u0000\u0000\u0000\u0000"+
-        "\u0000\u324A\u4943\u0000\u0000\u633E\u0000\u0000"+
-        "\u486B\u0000\u0000\u0000\u0000\u0000\u0000\u4145"+
-        "\u0000\u6341\u0000\u6342\u4769\u0000\u3F41\u633F"+
-        "\u0000\u4361\u0000\u0000\u6340\u0000\u0000\u0000"+
-        "\u3E4E\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u305C\u0000\u0000\u0000\u0000"+
-        "\u3529\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6343\u0000\u0000\u4478\u0000\u6344\u4047\u0000"+
-        "\u0000\u0000\u0000\u0000\u4C2D\u0000\u0000\u4923"+
-        "\u6345\u6346\u4355\u0000\u4E47\u0000\u0000\u6348"+
-        "\u6347\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3C6F\u0000"+
-        "\u0000\u634A\u3070\u0000\u0000\u0000\u0000\u634D"+
-        "\u0000\u0000\u0000\u634B\u3254\u374E\u634C\u3946"+
-        "\u3972\u0000\u4A66\u634E\u0000\u0000\u4B54\u0000"+
-        "\u0000\u6350\u0000\u0000\u0000\u4051\u314F\u323A"+
-        "\u302C\u0000\u0000\u0000\u0000\u0000\u0000\u634F"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6351\u6352\u3E77\u0000\u0000\u0000\u0000"+
-        "\u0000\u6353\u0000\u334F\u0000\u0000\u0000\u0000"+
-        "\u6355\u0000\u0000\u0000\u376A\u0000\u3566\u0000"+
-        "\u0000\u6356\u3675\u0000\u0000\u6357\u0000\u407C"+
-        "\u0000\u464D\u0000\u4060\u3A75\u0000\u0000\u0000"+
-        "\u6358\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4362\u416B\u0000\u635A\u635C\u6359"+
-        "\u635B\u0000\u0000\u0000\u0000\u0000\u0000\u3722"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u635D\u3726\u0000\u0000\u0000\u3567\u4D52"+
-        "\u635F\u0000\u0000\u0000\u0000\u0000\u6360\u0000"+
-        "\u0000\u0000\u312E\u0000\u0000\u0000\u0000\u6363"+
-        "\u0000\u0000\u0000\u3376\u6362\u6361\u0000\u6365"+
-        "\u635E\u0000\u6366\u4E29\u0000\u6367\u0000\u6368"+
-        "\u0000\u7B48\u5474\u636A\u0000\u6369\u0000\u0000"+
-        "\u0000\u636B\u636C\u0000\u4E35\u636D\u0000\u706F"+
-        "\u3E4F\u636E\u636F\u3D57\u0000\u4638\u6370\u7B49"+
-        "\u0000\u0000\u4328\u7B4B\u0000\u6371\u0000\u433C"+
-        "\u6372\u0000\u0000\u0000\u0000\u0000\u3625\u0000"+
-        "\u513F\u435D\u3C33\u0000\u0000\u0000\u0000\u3448"+
-        "\u0000\u0000\u6373\u0000\u6422\u0000\u6376\u0000"+
-        "\u3568\u0000\u6375\u6424\u0000\u0000\u0000\u6374"+
-        "\u0000\u3E50\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6378\u6379\u0000\u452B\u0000\u0000\u637A\u0000"+
-        "\u335E\u0000\u0000\u0000\u0000\u3F5A\u4964\u0000"+
-        "\u637C\u0000\u0000\u0000\u4268\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6377\u0000\u637B\u637D\u0000"+
-        "\u0000\u3A7B\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6426\u492E\u0000"+
-        "\u4826\u4579\u0000\u365A\u6425\u6423\u0000\u4835"+
-        "\u637E\u435E\u457B\u0000\u457A\u0000\u3A76\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6438\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6428\u0000\u642A"+
-        "\u0000\u0000\u0000\u0000\u642D\u0000\u642E\u0000"+
-        "\u642B\u642C\u0000\u0000\u6429\u6427\u0000\u0000"+
-        "\u0000\u0000\u6421\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4A4F\u3255"+
-        "\u0000\u0000\u0000\u6435\u0000\u6432\u0000\u6437"+
-        "\u0000\u0000\u6436\u0000\u4773\u4C27\u0000\u3B3B"+
-        "\u6430\u6439\u6434\u0000\u6433\u642F\u7B4C\u6431"+
-        "\u0000\u3449\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u433D\u0000\u0000\u407D\u0000\u0000"+
-        "\u0000\u4822\u0000\u0000\u643E\u0000\u0000\u0000"+
-        "\u4824\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4061\u643B\u0000\u0000\u484F\u0000\u643F\u4A53"+
-        "\u0000\u435B\u0000\u643A\u643C\u0000\u0000\u643D"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6440\u0000\u0000"+
-        "\u3C44\u0000\u0000\u0000\u4646\u6445\u6444\u0000"+
-        "\u0000\u6441\u0000\u0000\u0000\u4F36\u0000\u0000"+
-        "\u0000\u0000\u0000\u644A\u0000\u0000\u644E\u644B"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6447\u0000\u0000\u0000\u0000\u0000\u0000\u6448"+
-        "\u0000\u0000\u0000\u0000\u0000\u644D\u0000\u0000"+
-        "\u0000\u6442\u5255\u6449\u6443\u0000\u0000\u644C"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6452"+
-        "\u0000\u344A\u0000\u644F\u0000\u0000\u0000\u6450"+
-        "\u0000\u0000\u6451\u6454\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6453"+
-        "\u4876\u0000\u0000\u0000\u0000\u6455\u4E7C\u4A6D"+
-        "\u645A\u0000\u0000\u6457\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u6456\u4052\u0000\u6459"+
-        "\u645B\u0000\u0000\u0000\u6458\u0000\u645F\u0000"+
-        "\u645C\u0000\u0000\u0000\u0000\u0000\u0000\u645D"+
-        "\u6446\u0000\u0000\u0000\u645E\u6460\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u6461\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4A46\u0000\u6462\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4C62\u0000"+
-        "\u0000\u364E\u3729\u6463\u0000\u0000\u0000\u0000"+
-        "\u0000\u4A34\u0000\u3F68\u0000\u4C30\u0000\u0000"+
-        "\u6464\u0000\u4E33\u0000\u0000\u4774\u0000\u4146"+
-        "\u4734\u0000\u0000\u3D4D\u0000\u0000\u0000\u3040"+
-        "\u0000\u6469\u6467\u0000\u6465\u3421\u0000\u3E51"+
-        "\u646A\u0000\u0000\u6468\u0000\u6466\u646E\u0000"+
-        "\u0000\u646D\u646C\u646B\u0000\u0000\u0000\u0000"+
-        "\u0000\u646F\u0000\u0000\u0000\u6470\u403A\u0000"+
-        "\u6471\u0000\u6473\u0000\u0000\u6472\u0000\u0000"+
-        "\u0000\u0000\u3852\u0000\u0000\u0000\u4138\u0000"+
-        "\u0000\u0000\u6475\u0000\u0000\u0000\u457C\u0000"+
-        "\u6474\u0000\u0000\u0000\u6476\u0000\u4A35\u416C"+
-        "\u3947\u0000\u6477\u0000\u0000\u0000\u0000\u4E48"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6479"+
-        "\u0000\u0000\u647A\u0000\u647B\u0000\u647C\u0000"+
-        "\u3B65\u0000\u647D\u374F\u0000\u0000\u356A\u0000"+
-        "\u352A\u0000\u6521\u0000\u4C73\u3948\u647E\u0000"+
-        "\u0000\u0000\u6524\u4C66\u0000\u473C\u0000\u0000"+
-        "\u4933\u0000\u0000\u0000\u3D63\u6523\u0000\u3C53"+
-        "\u3949\u3B66\u3569\u4A36\u6522\u0000\u0000\u0000"+
-        "\u4147\u4B42\u3A77\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3B67\u445D\u0000\u6527\u4E5F"+
-        "\u3A59\u0000\u6528\u3F42\u0000\u652A\u0000\u0000"+
-        "\u0000\u3E52\u3A30\u0000\u0000\u0000\u0000\u6529"+
-        "\u0000\u0000\u3D2A\u383E\u4148\u6525\u652B\u0000"+
-        "\u7B4E\u0000\u0000\u6526\u3750\u0000\u652E\u6532"+
-        "\u376B\u0000\u0000\u0000\u0000\u0000\u652D\u0000"+
-        "\u0000\u0000\u0000\u6536\u7B4F\u0000\u394A\u0000"+
-        "\u0000\u4D6D\u303C\u6533\u0000\u0000\u356B\u0000"+
-        "\u6530\u0000\u0000\u0000\u0000\u0000\u6531\u0000"+
-        "\u0000\u457D\u652F\u652C\u0000\u3328\u4064\u0000"+
-        "\u0000\u3828\u0000\u0000\u0000\u6538\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6535\u0000\u0000\u0000\u0000\u0000\u6537"+
-        "\u0000\u0000\u0000\u6534\u0000\u0000\u0000\u0000"+
-        "\u0000\u3751\u4233\u6539\u416E\u0000\u0000\u6546"+
-        "\u7B51\u0000\u6542\u653C\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6540\u3C7A\u305D\u653B\u6543"+
-        "\u6547\u394B\u4C56\u0000\u4456\u653D\u0000\u7B50"+
-        "\u6545\u0000\u653A\u433E\u0000\u653F\u303D\u4C4A"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u653E"+
-        "\u0000\u0000\u365B\u486C\u0000\u0000\u0000\u416D"+
-        "\u0000\u4E50\u3D6F\u0000\u0000\u656E\u7B52\u0000"+
-        "\u6548\u0000\u407E\u0000\u6544\u6549\u654B\u0000"+
-        "\u4479\u654E\u0000\u0000\u654A\u0000\u0000\u0000"+
-        "\u4A54\u344B\u0000\u0000\u4C4B\u0000\u0000\u305E"+
-        "\u0000\u0000\u654D\u0000\u4E7D\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u654C\u0000\u0000\u0000\u0000"+
-        "\u0000\u316F\u0000\u0000\u466C\u654F\u0000\u0000"+
-        "\u0000\u6556\u6550\u6557\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6553\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u477B\u0000\u0000\u3C4A\u6555"+
-        "\u0000\u6552\u6558\u6551\u0000\u0000\u3D44\u0000"+
-        "\u0000\u0000\u0000\u4B25\u0000\u0000\u3D4C\u0000"+
-        "\u0000\u6554\u6560\u0000\u0000\u655C\u0000\u655F"+
-        "\u0000\u655D\u6561\u655B\u0000\u6541\u4053\u0000"+
-        "\u0000\u484B\u0000\u655E\u0000\u0000\u6559\u0000"+
-        "\u0000\u0000\u4121\u3752\u0000\u3D2B\u0000\u0000"+
-        "\u0000\u0000\u7B53\u0000\u3F25\u4136\u6564\u0000"+
-        "\u0000\u6566\u6567\u0000\u0000\u6563\u6565\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u655A\u6562"+
-        "\u0000\u656A\u6569\u0000\u0000\u4B7A\u0000\u0000"+
-        "\u372B\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6568\u0000\u656C\u656B\u656F\u0000\u6571"+
-        "\u0000\u0000\u3B3C\u656D\u0000\u0000\u0000\u0000"+
-        "\u6572\u6573\u7921\u0000\u6574\u0000\u657A\u453B"+
-        "\u6576\u0000\u6575\u6577\u6578\u0000\u6579\u0000"+
-        "\u0000\u0000\u0000\u657B\u657C\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u344C\u0000"+
-        "\u657D\u0000\u657E\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6621\u0000\u7B54"+
-        "\u0000\u0000\u0000\u0000\u6622\u6623\u6624\u0000"+
-        "\u6625\u6626\u0000\u0000\u6628\u6627\u0000\u0000"+
-        "\u6629\u0000\u0000\u0000\u0000\u0000\u0000\u662A"+
-        "\u662B\u0000\u0000\u0000\u0000\u0000\u0000\u662E"+
-        "\u662C\u662D\u3A61\u3753\u0000\u0000\u4356\u0000"+
-        "\u4833\u0000\u3D70\u0000\u0000\u474D\u0000\u486D"+
-        "\u662F\u586D\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6630\u6632\u0000\u4D65\u6631\u6634"+
-        "\u6633\u0000\u4D53\u0000\u6635\u0000\u487E\u0000"+
-        "\u0000\u0000\u0000\u0000\u6636\u0000\u0000\u0000"+
-        "\u0000\u0000\u6639\u0000\u0000\u6638\u6637\u0000"+
-        "\u0000\u7B55\u0000\u663A\u3732\u0000\u0000\u0000"+
-        "\u4122\u3541\u0000\u0000\u0000\u0000\u663E\u663B"+
-        "\u0000\u0000\u663C\u0000\u0000\u0000\u663F\u0000"+
-        "\u6640\u663D\u0000\u0000\u0000\u3129\u0000\u0000"+
-        "\u0000\u3227\u0000\u0000\u0000\u6642\u6643\u0000"+
-        "\u0000\u0000\u6644\u0000\u4D62\u0000\u0000\u0000"+
-        "\u0000\u0000\u3D2C\u0000\u6646\u6645\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3F69\u6647\u0000\u0000\u0000\u0000\u6648\u0000"+
-        "\u0000\u6649\u0000\u3465\u0000\u0000\u0000\u0000"+
-        "\u344D\u0000\u0000\u664A\u0000\u0000\u0000\u0000"+
-        "\u0000\u664B\u0000\u4B5D\u4D63\u0000\u0000\u0000";
-
-    private final static String innerIndex4=
-        "\u4D54\u4F37\u0000\u394D\u664E\u3C54\u664D\u0000"+
-        "\u0000\u0000\u0000\u664F\u3C29\u0000\u0000\u0000"+
-        "\u4251\u0000\u6650\u0000\u0000\u394C\u0000\u4C57"+
-        "\u6651\u6652\u0000\u0000\u6653\u0000\u0000\u0000"+
-        "\u0000\u6654\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6655\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3C2A\u0000\u0000\u4C6D\u0000"+
-        "\u0000\u0000\u0000\u6657\u0000\u433F\u0000\u6656"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6659\u0000"+
-        "\u0000\u0000\u6658\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u665A\u0000\u0000\u0000\u403B\u0000"+
-        "\u665B\u0000\u665C\u0000\u0000\u0000\u4A39\u665D"+
-        "\u0000\u416F\u665E\u0000\u0000\u0000\u0000\u0000"+
-        "\u665F\u0000\u0000\u0000\u0000\u0000\u0000\u4E7E"+
-        "\u6662\u0000\u6661\u6660\u4430\u0000\u6663\u3F26"+
-        "\u0000\u6664\u0000\u0000\u0000\u6665\u4F38\u6666"+
-        "\u0000\u0000\u0000\u0000\u6667\u6669\u6668\u4825"+
-        "\u0000\u4679\u0000\u4F3E\u4829\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u666B\u0000\u0000\u3E53\u0000"+
-        "\u492A\u0000\u666C\u666A\u0000\u344E\u0000\u0000"+
-        "\u0000\u3854\u3B68\u0000\u0000\u486E\u0000\u0000"+
-        "\u0000\u382A\u4B43\u0000\u666F\u666D\u0000\u394E"+
-        "\u0000\u394F\u3069\u0000\u3A68\u0000\u0000\u0000"+
-        "\u0000\u0000\u4759\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u305F\u6674\u0000\u4340\u0000"+
-        "\u0000\u0000\u0000\u0000\u4758\u0000\u425B\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6676\u0000"+
-        "\u0000\u6672\u6675\u6670\u0000\u6673\u4B26\u0000"+
-        "\u0000\u3855\u0000\u0000\u307D\u6671\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6678"+
-        "\u0000\u6679\u0000\u0000\u4639\u0000\u0000\u0000"+
-        "\u363B\u0000\u0000\u0000\u6726\u473D\u0000\u0000"+
-        "\u0000\u0000\u3B69\u0000\u0000\u363C\u4048\u4F46"+
-        "\u4C2E\u6677\u4054\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3553\u667A\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u667C\u0000\u0000\u0000\u0000"+
-        "\u0000\u667B\u0000\u0000\u0000\u0000\u0000\u667D"+
-        "\u0000\u4326\u0000\u473E\u0000\u0000\u0000\u0000"+
-        "\u0000\u4431\u0000\u0000\u0000\u0000\u6723\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6722\u0000"+
-        "\u0000\u0000\u0000\u667E\u0000\u0000\u3F55\u0000"+
-        "\u4965\u6725\u0000\u6724\u3950\u4F53\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6735"+
-        "\u0000\u0000\u0000\u0000\u0000\u6729\u672A\u0000"+
-        "\u0000\u0000\u0000\u3C70\u0000\u0000\u6728\u0000"+
-        "\u3978\u6727\u0000\u0000\u672B\u0000\u0000\u0000"+
-        "\u4432\u4A22\u4123\u0000\u0000\u0000\u0000\u425C"+
-        "\u672F\u0000\u6730\u672C\u0000\u0000\u0000\u0000"+
-        "\u672D\u0000\u672E\u0000\u0000\u0000\u0000\u3951"+
-        "\u0000\u0000\u0000\u6736\u0000\u6732\u0000\u0000"+
-        "\u0000\u0000\u4966\u0000\u4B6C\u4928\u0000\u0000"+
-        "\u6731\u0000\u0000\u6734\u6733\u0000\u0000\u0000"+
-        "\u4B44\u6737\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6738\u0000\u0000\u4137\u0000\u6739\u0000\u0000"+
-        "\u673B\u0000\u673F\u0000\u0000\u673C\u673A\u473F"+
-        "\u673D\u0000\u673E\u0000\u0000\u0000\u3232\u0000"+
-        "\u6745\u6740\u0000\u0000\u0000\u6741\u0000\u0000"+
-        "\u0000\u6742\u0000\u4221\u0000\u0000\u0000\u0000"+
-        "\u6744\u6743\u6746\u0000\u0000\u0000\u0000\u6747"+
-        "\u6748\u0000\u0000\u3F43\u0000\u3269\u0000\u6749"+
-        "\u4E57\u0000\u3C2B\u0000\u0000\u3D2D\u0000\u0000"+
-        "\u0000\u0000\u0000\u3B6A\u4357\u0000\u0000\u0000"+
-        "\u0000\u0000\u674A\u674B\u3131\u0000\u674C\u0000"+
-        "\u0000\u674D\u674E\u0000\u0000\u674F\u0000\u6750"+
-        "\u363D\u5A2A\u6751\u0000\u4065\u6752\u3C4B\u0000"+
-        "\u6753\u0000\u5030\u0000\u0000\u0000\u6754\u4A5E"+
-        "\u345C\u0000\u0000\u4124\u3D58\u0000\u4971\u3D2E"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6755\u3952\u6756\u484C\u0000\u6764\u0000"+
-        "\u0000\u0000\u0000\u6758\u0000\u4249\u4775\u383F"+
-        "\u6757\u4125\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6759\u0000\u0000\u0000\u0000\u0000\u0000\u447A"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u675B\u675A\u675D\u0000\u0000\u675C\u0000\u675E"+
-        "\u0000\u0000\u6760\u0000\u675F\u0000\u344F\u0000"+
-        "\u6761\u0000\u6762\u6763\u0000\u0000\u3A31\u4E49"+
-        "\u0000\u6765\u3F27\u0000\u0000\u0000\u3170\u6766"+
-        "\u6767\u0000\u0000\u0000\u0000\u0000\u6768\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3072\u0000\u6769\u0000\u0000"+
-        "\u0000\u0000\u676A\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4967\u0000\u0000\u0000\u3C47\u0000\u676C"+
-        "\u0000\u0000\u0000\u0000\u0000\u3329\u3032\u0000"+
-        "\u0000\u0000\u0000\u676B\u676E\u474E\u0000\u3F44"+
-        "\u0000\u3256\u0000\u4B27\u0000\u0000\u0000\u0000"+
-        "\u375D\u365C\u0000\u676D\u0000\u326A\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3423\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3171\u6772\u4E6A\u425D\u0000\u0000\u4944"+
-        "\u0000\u677E\u0000\u3257\u677C\u0000\u677A\u6771"+
-        "\u0000\u676F\u0000\u6770\u0000\u3C63\u366C\u4377"+
-        "\u0000\u0000\u0000\u4651\u0000\u0000\u0000\u0000"+
-        "\u0000\u3151\u0000\u6774\u6773\u0000\u0000\u0000"+
-        "\u0000\u6779\u6775\u6778\u0000\u0000\u0000\u0000"+
-        "\u0000\u7B57\u4C50\u6777\u3258\u337D\u677B\u0000"+
-        "\u0000\u677D\u0000\u0000\u0000\u0000\u3754\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6823\u682C"+
-        "\u682D\u0000\u0000\u0000\u302B\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6834\u0000\u0000\u0000\u0000"+
-        "\u3071\u0000\u0000\u682B\u0000\u0000\u0000\u682A"+
-        "\u0000\u6825\u6824\u0000\u6822\u6821\u4363\u0000"+
-        "\u427B\u6827\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6826\u0000\u0000\u0000\u0000\u6829\u0000\u0000"+
-        "\u0000\u4170\u3755\u0000\u0000\u0000\u0000\u3141"+
-        "\u6828\u0000\u3953\u0000\u0000\u0000\u0000\u0000"+
-        "\u4171\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u7B58\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u683A\u0000\u683B\u0000\u3259"+
-        "\u0000\u0000\u0000\u322E\u6838\u0000\u0000\u7B59"+
-        "\u0000\u0000\u0000\u0000\u0000\u682E\u0000\u6836"+
-        "\u0000\u683D\u6837\u0000\u0000\u0000\u6835\u0000"+
-        "\u0000\u0000\u0000\u6776\u0000\u0000\u6833\u0000"+
-        "\u0000\u0000\u682F\u0000\u0000\u0000\u3450\u6831"+
-        "\u683C\u0000\u6832\u0000\u0000\u0000\u0000\u0000"+
-        "\u683E\u0000\u6830\u477C\u0000\u0000\u0000\u0000"+
-        "\u0000\u4D69\u0000\u0000\u0000\u6839\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u684F\u0000\u0000"+
-        "\u0000\u6847\u0000\u0000\u0000\u3F7B\u0000\u7B5A"+
-        "\u0000\u0000\u3546\u0000\u365D\u0000\u6842\u0000"+
-        "\u0000\u0000\u0000\u325B\u0000\u0000\u3E54\u0000"+
-        "\u6845\u0000\u0000\u0000\u3A5A\u0000\u0000\u4551"+
-        "\u684A\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4A6E\u0000\u6841\u0000\u0000\u0000\u325A"+
-        "\u3856\u4929\u684B\u0000\u683F\u0000\u7B5B\u6848"+
-        "\u0000\u0000\u0000\u6852\u0000\u6843\u0000\u0000"+
-        "\u0000\u0000\u0000\u6844\u463A\u0000\u0000\u6849"+
-        "\u0000\u0000\u0000\u6846\u4B28\u684C\u3060\u0000"+
-        "\u0000\u0000\u0000\u6840\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u684E\u0000\u684D\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u476B\u6854\u0000\u685F\u0000\u0000\u0000"+
-        "\u0000\u337E\u0000\u0000\u0000\u6862\u0000\u0000"+
-        "\u6850\u0000\u0000\u0000\u6855\u4D6E\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u685E\u0000"+
-        "\u7B5C\u4D55\u0000\u0000\u0000\u0000\u4E2A\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4378"+
-        "\u0000\u0000\u0000\u336B\u0000\u0000\u0000\u0000"+
-        "\u0000\u4972\u6864\u4621\u0000\u0000\u3031\u0000"+
-        "\u0000\u685D\u0000\u6859\u4172\u6853\u685B\u6860"+
-        "\u0000\u472C\u0000\u0000\u0000\u302A\u0000\u6858"+
-        "\u0000\u6861\u4978\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u685C\u0000\u6857\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3E55\u0000\u0000\u0000\u0000"+
-        "\u3D2F\u0000\u0000\u0000\u3C2C\u0000\u0000\u0000"+
-        "\u0000\u4C58\u0000\u0000\u4947\u0000\u0000\u6867"+
-        "\u0000\u6870\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u685A\u0000\u0000"+
-        "\u0000\u0000\u3377\u0000\u7B5D\u0000\u0000\u0000"+
-        "\u3E78\u6865\u0000\u686A\u4173\u0000\u0000\u6866"+
-        "\u0000\u686D\u0000\u0000\u435F\u0000\u686E\u0000"+
-        "\u0000\u4D56\u6863\u3338\u0000\u6869\u0000\u0000"+
-        "\u686C\u4C2C\u0000\u0000\u0000\u0000\u686F\u0000"+
-        "\u0000\u6868\u686B\u0000\u7925\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u4B29\u0000\u4F21\u0000"+
-        "\u0000\u0000\u0000\u0000\u6873\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u687A\u0000\u0000\u6872"+
-        "\u3C43\u0000\u0000\u0000\u0000\u0000\u6851\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4A4E\u0000\u4C22\u6879\u6878\u0000\u6874"+
-        "\u6875\u0000\u3136\u0000\u0000\u0000\u0000\u6877"+
-        "\u0000\u6871\u0000\u0000\u0000\u0000\u4455\u0000"+
-        "\u0000\u0000\u0000\u0000\u6876\u307E\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4222\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4A43\u0000\u0000"+
-        "\u687B\u6921\u0000\u4859\u0000\u0000\u0000\u0000"+
-        "\u687E\u3E56\u3C49\u6923\u0000\u0000\u363E\u0000"+
-        "\u0000\u0000\u0000\u7B5E\u0000\u6924\u0000\u4979"+
-        "\u687D\u7B5F\u6856\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u687C\u0000\u0000\u0000\u0000"+
-        "\u4F4F\u4622\u4973\u7B60\u0000\u692B\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6931"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6932\u0000"+
-        "\u6925\u0000\u0000\u0000\u4776\u0000\u0000\u692F"+
-        "\u6927\u0000\u6929\u0000\u0000\u0000\u0000\u0000"+
-        "\u6933\u6928\u0000\u0000\u692C\u0000\u0000\u3172"+
-        "\u0000\u4665\u0000\u692D\u6930\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u6926\u0000\u4126\u0000"+
-        "\u692A\u3B27\u3F45\u3730\u4C74\u0000\u4C79\u3D72"+
-        "\u7B62\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6937\u6935\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4F4E\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6934\u0000\u0000\u0000\u4D75\u0000\u6936"+
-        "\u6938\u0000\u0000\u0000\u0000\u6939\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u693C\u693A\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u4623\u693B\u0000\u0000"+
-        "\u0000\u484D\u692E\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3D73"+
-        "\u0000\u693D\u6942\u4174\u0000\u0000\u6941\u0000"+
-        "\u0000\u0000\u6922\u0000\u0000\u0000\u6943\u4149"+
-        "\u0000\u0000\u693E\u6940\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u693F\u0000\u0000\u5D31\u5D22"+
-        "\u0000\u0000\u6945\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6944\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4D76\u0000\u623C"+
-        "\u6946\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6947"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6948\u3857\u0000"+
-        "\u3554\u0000\u0000\u0000\u694A\u515D\u0000\u0000"+
-        "\u0000\u0000\u3575\u0000\u4E3A\u0000\u3673\u694B"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u694C"+
-        "\u0000\u0000\u0000\u436E\u0000\u0000\u0000\u0000"+
-        "\u0000\u694D\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u467A\u0000\u303A\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3263\u6952\u6953\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u694E\u0000\u3B3D\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u694F\u4742\u0000\u0000\u0000"+
-        "\u0000\u6950\u6951\u695B\u0000\u0000\u0000\u6955"+
-        "\u6958\u0000\u0000\u0000\u0000\u0000\u6954\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u6956\u0000\u6957\u3C58"+
-        "\u0000\u6959\u0000\u4341\u0000\u3756\u3342\u0000"+
-        "\u0000\u0000\u0000\u0000\u695C\u0000\u0000\u0000"+
-        "\u0000\u333F\u0000\u6961\u0000\u0000\u695D\u6960"+
-        "\u0000\u0000\u0000\u0000\u483A\u0000\u0000\u0000"+
-        "\u0000\u695E\u0000\u0000\u695F\u4948\u485A\u6962"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u427D\u696C\u0000\u6968\u0000\u0000\u326B\u0000"+
-        "\u6966\u0000\u4B2A\u6967\u0000\u0000\u6964\u0000"+
-        "\u6965\u696A\u696D\u0000\u0000\u696B\u0000\u0000"+
-        "\u0000\u6969\u6963\u0000\u0000\u0000\u0000\u0000"+
-        "\u4358\u0000\u6974\u0000\u4C2A\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6972\u0000\u0000"+
-        "\u0000\u6973\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u696E\u0000\u0000\u6970"+
-        "\u0000\u0000\u0000\u6971\u0000\u0000\u0000\u696F"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4066\u0000\u4F39\u6978\u0000\u6979\u0000"+
-        "\u0000\u0000\u0000\u6A21\u0000\u3F2A\u0000\u697B"+
-        "\u0000\u697E\u0000\u0000\u0000\u0000\u0000\u6976"+
-        "\u6975\u0000\u0000\u6A22\u0000\u0000\u325C\u0000"+
-        "\u697C\u0000\u6A23\u0000\u0000\u0000\u697D\u0000"+
-        "\u0000\u0000\u0000\u0000\u697A\u0000\u4433\u0000"+
-        "\u6977\u0000\u0000\u0000\u0000\u0000\u0000\u4768"+
-        "\u0000\u0000\u6A27\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4D3B\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6A26"+
-        "\u0000\u0000\u6A25\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6A2E\u0000\u0000\u0000\u6A28"+
-        "\u0000\u0000\u0000\u6A30\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4D66\u6A33\u0000\u6A2A\u0000\u0000"+
-        "\u6A2B\u0000\u0000\u0000\u6A2F\u0000\u6A32\u6A31"+
-        "\u0000\u0000\u0000\u6A29\u0000\u0000\u0000\u0000"+
-        "\u6A2C\u0000\u6A3D\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6A36\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6A34"+
-        "\u0000\u0000\u6A35\u0000\u0000\u0000\u6A3A\u6A3B"+
-        "\u0000\u332A\u0000\u3542\u0000\u0000\u6A39\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6A24\u0000\u7B65"+
-        "\u0000\u0000\u0000\u0000\u0000\u6A38\u6A3C\u6A37"+
-        "\u0000\u6A3E\u0000\u0000\u0000\u6A40\u6A3F\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6A42\u6A41\u695A\u0000\u0000\u0000\u6A46"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6A43\u0000\u0000\u0000\u0000\u6A44\u0000"+
-        "\u0000\u6A45\u0000\u6A47\u0000\u0000\u0000\u0000"+
-        "\u376C\u0000\u6A49\u0000\u6A48\u0000\u3D30\u0000"+
-        "\u0000\u0000\u0000\u0000\u3954\u5E27\u0000\u0000"+
-        "\u0000\u0000\u6A4A\u3D51\u0000\u0000\u0000\u3339"+
-        "\u0000\u6A4B\u0000\u3152\u0000\u3E57\u6A4C\u0000"+
-        "\u0000\u3955\u6A4D\u3061\u0000\u0000\u0000\u0000"+
-        "\u493D\u0000\u0000\u6A4E\u0000\u0000\u0000\u0000"+
-        "\u3F6A\u0000\u6A55\u0000\u0000\u6A52\u0000\u436F"+
-        "\u0000\u0000\u0000\u0000\u0000\u6A53\u6A50\u365E"+
-        "\u0000\u6A4F\u6A56\u0000\u0000\u0000\u0000\u0000"+
-        "\u3736\u0000\u0000\u425E\u0000\u6A5C\u0000\u0000"+
-        "\u0000\u0000\u6A58\u0000\u0000\u0000\u4235\u6A57"+
-        "\u0000\u6A5A\u0000\u0000\u0000\u0000\u6A51\u0000"+
-        "\u0000\u0000\u6A5B\u0000\u6A5D\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u486F\u0000\u0000\u6A59\u0000"+
-        "\u6A5E\u6A60\u0000\u0000\u3853\u6A54\u0000\u3041"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6A5F"+
-        "\u0000\u3A5B\u4E76\u6A61\u6A62\u4175\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4E22"+
-        "\u0000\u0000\u0000\u0000\u6A63\u4D35\u0000\u0000"+
-        "\u6A64\u6A65\u0000\u0000\u4A64\u6A66\u0000\u3A40"+
-        "\u0000\u4E23\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6A6B\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6A6C\u3E58\u6A6A\u7B66\u0000\u0000"+
-        "\u4D67\u6A67\u0000\u0000\u6A69\u403D\u3F7E\u0000"+
-        "\u0000\u0000\u6A68\u0000\u6A6D\u0000\u0000\u4A23"+
-        "\u0000\u0000\u6A6F\u0000\u6A6E\u0000\u0000\u0000"+
-        "\u336C\u0000\u4B2B\u6A70\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u7922\u6A7C\u6A72\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6A73\u0000\u0000"+
-        "\u0000\u0000\u6A74\u6A75\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6A79\u0000"+
-        "\u6A7A\u0000\u0000\u6A78\u0000\u0000\u0000\u0000"+
-        "\u0000\u6A76\u0000\u6A71\u6A77\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u6A7B\u7037\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3228\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6A7E\u365F"+
-        "\u6A7D\u0000\u0000\u0000\u6B22\u0000\u6B21\u0000"+
-        "\u0000\u0000\u6B24\u0000\u0000\u6B23\u0000\u6B25"+
-        "\u0000\u0000\u3D31\u0000\u6B26\u0000\u0000\u6B27"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6B28\u403E"+
-        "\u0000\u4D57\u0000\u6B29\u0000\u0000\u4A24\u4746"+
-        "\u6B2A\u0000\u6B2B\u382B\u0000\u0000\u0000\u352C"+
-        "\u0000\u0000\u0000\u6B2C\u0000\u0000\u3B6B\u4741"+
-        "\u6B2D\u0000\u3350\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6B2E\u0000\u0000\u0000\u0000\u6B30\u4D77"+
-        "\u0000\u6B2F\u3F46\u0000\u6B31\u0000\u0000\u6B32"+
-        "\u0000\u0000\u6B33\u3451\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6B34\u0000\u0000\u6B35\u0000\u6B36"+
-        "\u6B37\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3351\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6B38\u0000\u6B39\u6B3A\u0000\u0000"+
-        "\u0000\u0000\u0000\u3272\u0000\u0000\u3F28\u6B3B"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u6B3C\u0000\u0000\u0000"+
-        "\u6B3D\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3840\u0000\u447B\u6B3E\u0000\u0000\u0000\u0000"+
-        "\u3757\u0000\u3F56\u0000\u6B41\u0000\u4624\u0000"+
-        "\u6B40\u0000\u7B67\u3731\u0000\u0000\u6B3F\u4277"+
-        "\u352D\u0000\u0000\u6B42\u0000\u6B43\u0000\u3E59"+
-        "\u0000\u0000\u0000\u376D\u0000\u6B44\u0000\u0000"+
-        "\u0000\u0000\u4B2C\u0000\u0000\u405F\u0000\u0000"+
-        "\u0000\u3576\u0000\u4C75\u414A\u0000\u6B45\u7B68"+
-        "\u0000\u0000\u3F47\u4370\u3E5A\u0000\u0000\u0000"+
-        "\u0000\u6B46\u0000\u0000\u0000\u0000\u6B49\u0000"+
-        "\u6B4A\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3A3E\u4242\u6B48\u0000\u3E5B\u493E\u0000\u0000"+
-        "\u0000\u0000\u0000\u6B47\u0000\u0000\u3B6C\u0000"+
-        "\u3153\u0000\u6B4E\u3758\u0000\u0000\u3B6E\u0000"+
-        "\u0000\u3B6D\u0000\u4F4D\u6B4D\u6B4C\u4127\u0000"+
-        "\u354D\u4F43\u333A\u3E5C\u0000\u0000\u0000\u0000"+
-        "\u0000\u7B69\u0000\u0000\u6B4B\u0000\u0000\u0000"+
-        "\u0000\u0000\u6B50\u0000\u6B51\u6B4F\u0000\u3858"+
-        "\u0000\u4D40\u0000\u0000\u3B6F\u4727\u0000\u0000"+
-        "\u0000\u6B54\u0000\u4040\u0000\u4342\u0000\u0000"+
-        "\u4D36\u0000\u6B57\u0000\u0000\u0000\u386C\u0000"+
-        "\u403F\u6B53\u0000\u6B58\u386D\u6B55\u6B56\u7B6A"+
-        "\u6B52\u0000\u0000\u0000\u4062\u4649\u0000\u0000"+
-        "\u432F\u0000\u325D\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4870\u0000\u0000\u3543\u0000\u7B6B\u4434"+
-        "\u0000\u0000\u6B5B\u0000\u6B59\u0000\u0000\u434C"+
-        "\u0000\u0000\u0000\u4041\u3452\u6B5A\u0000\u3F5B"+
-        "\u0000\u0000\u4E4A\u0000\u0000\u0000\u4F40\u0000"+
-        "\u0000\u0000\u6B5C\u6B67\u4435\u0000\u6B66\u7B6C"+
-        "\u6B63\u6B6B\u6B64\u0000\u6B60\u0000\u447C\u6B5F"+
-        "\u0000\u0000\u0000\u6B5D\u0000\u4D21\u3B70\u0000"+
-        "\u0000\u6B61\u0000\u6B5E\u0000\u0000\u7B6E\u6B65"+
-        "\u3D74\u0000\u3841\u0000\u0000\u0000\u427A\u0000"+
-        "\u4B45\u315A\u3062\u0000\u4625\u0000\u0000\u6B69"+
-        "\u0000\u0000\u0000\u0000\u6B68\u0000\u4666\u0000"+
-        "\u6B6D\u0000\u0000\u0000\u6B62\u0000\u6B6C\u6B6E"+
-        "\u0000\u382C\u6B6A\u3956\u0000\u3C55\u0000\u0000"+
-        "\u6B6F\u4D58\u0000\u0000\u0000\u0000\u6B72\u0000"+
-        "\u6B75\u0000\u0000\u6B73\u4935\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6B70\u0000\u0000\u0000\u0000"+
-        "\u0000\u3660\u0000\u0000\u0000\u0000\u6B74\u0000"+
-        "\u0000\u6B76\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6B7A\u0000\u0000\u6B77\u0000\u6B79\u6B78"+
-        "\u0000\u0000\u0000\u7B6F\u0000\u0000\u6B7B\u0000"+
-        "\u3C31\u0000\u6B7D\u6B7C\u4968\u0000\u0000\u6C21"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3759\u0000"+
-        "\u0000\u0000\u0000\u6B7E\u6C22\u0000\u0000\u6C23"+
-        "\u3544\u6641\u3E79\u0000\u6C24\u0000\u0000\u386E"+
-        "\u0000\u0000\u0000\u0000\u0000\u6C25\u0000\u7B70"+
-        "\u6C26\u0000\u0000\u3B3E\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u5A4E\u0000\u6C27\u0000\u6C28\u0000"+
-        "\u3D32\u0000\u6C29\u6C2A\u0000\u0000\u6C2B\u0000"+
-        "\u0000\u6C2C\u6C2D\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u432B"+
-        "\u0000\u0000\u6C2E\u0000\u0000\u0000\u0000\u6C30"+
-        "\u0000\u6C2F\u0000\u0000\u0000\u0000\u4626\u0000"+
-        "\u6C31\u0000\u4B2D\u0000\u6C32\u0000\u6C33\u0000"+
-        "\u6C34\u0000\u0000\u0000\u0000\u6C35\u0000\u0000"+
-        "\u0000\u0000\u465A\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3E5D\u6C36\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u396B\u502E\u6C37\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6C38\u493F\u6C39\u0000\u6C41\u0000\u0000\u0000"+
-        "\u0000\u0000\u6C3A\u0000\u0000\u6C3C\u0000\u0000"+
-        "\u0000\u6C3B\u6C3D\u0000\u4B46\u6C3E\u6C3F\u0000"+
-        "\u0000\u0000\u0000\u0000\u6C40\u0000\u0000\u0000"+
-        "\u6C42\u0000\u0000\u0000\u0000\u332D\u4467\u0000"+
-        "\u4969\u3A62\u3957\u0000\u0000\u0000\u0000\u494F"+
-        "\u325F\u484E\u6C45\u3453\u4055\u6C44\u6C49\u4379"+
-        "\u4C63\u0000\u6C47\u6C48\u352E\u0000\u6C4A\u4763"+
-        "\u425F\u0000\u0000\u4871\u453D\u6C46\u0000\u4B47"+
-        "\u326C\u6C4C\u4F28\u4442\u4F45\u0000\u0000\u3B71"+
-        "\u6C4B\u0000\u4231\u0000\u0000\u6C5C\u4128\u0000"+
-        "\u0000\u4678\u0000\u4950\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6C4F\u3B3F\u3B72\u0000\u3E5E\u0000"+
-        "\u4765\u0000\u382D\u6C4E\u6C4D\u0000\u496A\u0000"+
-        "\u0000\u0000\u3C41\u0000\u0000\u4552\u0000\u0000"+
-        "\u7B71\u0000\u0000\u0000\u7B72\u0000\u0000\u0000"+
-        "\u0000\u0000\u6C51\u6C52\u3958\u6C50\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u6C53\u6C54\u0000\u6C56"+
-        "\u4223\u0000\u6C55\u3466\u0000\u6C58\u0000\u6C57"+
-        "\u6C59\u0000\u7B73\u6C5B\u6C5D\u0000\u6C5E\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u4056\u0000\u3C4F\u6C5F"+
-        "\u0000\u0000\u0000\u3352\u0000\u6C60\u0000\u0000"+
-        "\u4176\u6C61\u0000\u6C62\u496B\u0000\u7B74\u352F"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6C63\u0000\u0000\u0000\u4436\u0000\u0000"+
-        "\u0000\u0000\u315B\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6C64\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3C71\u0000\u0000\u0000\u0000"+
-        "\u3F76\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u422D\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6C67\u0000\u0000\u0000\u6C66\u0000"+
-        "\u0000\u0000\u6C65\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6C6D\u6C6B\u0000\u0000\u6C68"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6C6A\u0000"+
-        "\u0000\u0000\u6C69\u6C6C\u0000\u3577\u0000\u6C70"+
-        "\u0000\u4057\u0000\u6C71\u0000\u0000\u0000\u0000"+
-        "\u3859\u0000\u6C6E\u6C6F\u0000\u0000\u0000\u4F29"+
-        "\u0000\u0000\u0000\u4437\u0000\u4129\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u6C72\u0000\u0000\u6C75"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6C73\u6C74\u4D59\u0000\u0000\u0000\u0000\u4627"+
-        "\u6C78\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6C76\u6C77\u6C79"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6D29\u0000\u0000\u0000\u0000\u0000"+
-        "\u6C7C\u0000\u0000\u0000\u6C7D\u6C7B\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6C7A\u0000\u447D\u0000\u0000\u6D21"+
-        "\u6D25\u6D22\u6C7E\u0000\u6D23\u0000\u0000\u0000"+
-        "\u6D24\u0000\u0000\u0000\u0000\u6D2B\u0000\u0000"+
-        "\u0000\u6D26\u0000\u0000\u0000\u0000\u0000\u4058"+
-        "\u6D28\u0000\u0000\u6D2A\u6D27\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6D2D\u0000\u3D33\u0000\u6D2C\u0000"+
-        "\u0000\u0000\u0000\u0000\u6D2E\u0000\u0000\u0000"+
-        "\u0000\u6D2F\u0000\u0000\u6D32\u6D31\u0000\u6D30"+
-        "\u0000\u0000\u6D34\u6D33\u0000\u4C76\u0000\u0000"+
-        "\u0000\u6D36\u0000\u6D35\u6D37\u0000\u0000\u0000"+
-        "\u0000\u6D38\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6D3A\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6D39\u3F48\u6D3B\u0000\u0000\u366D"+
-        "\u6D3C\u6D3E\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6D3F\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6D40\u6D3D\u0000"+
-        "\u6D41\u0000\u3C56\u6D42\u3530\u3733\u0000\u7B76"+
-        "\u0000\u0000\u382E\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6D43\u0000\u0000\u0000\u4670"+
-        "\u0000\u0000\u453E\u6D44\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6D47\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3C34\u0000\u0000\u6D46\u6D45\u375A\u6D48\u0000"+
-        "\u0000\u0000\u0000\u3353\u0000\u6D4A\u0000\u0000"+
-        "\u0000\u3A5C\u6D49\u0000\u6D52\u0000\u0000\u0000"+
-        "\u0000\u0000\u6D4C\u6D4E\u4A65\u6D4B\u0000\u0000"+
-        "\u0000\u6D4D\u0000\u6D51\u6D4F\u3531\u0000\u6D50"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6D53\u0000"+
-        "\u0000\u475A\u4E58\u0000\u0000\u0000\u0000\u3D34"+
-        "\u0000\u0000\u0000\u6D54\u0000\u0000\u0000\u0000"+
-        "\u4D22\u6D56\u0000\u6D55\u0000\u0000\u6D59\u4D41"+
-        "\u0000\u0000\u6D58\u0000\u336D\u6D57\u6D5C\u0000"+
-        "\u0000\u6D5B\u0000\u0000\u6D5A\u4532\u6D5D\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6D5E"+
-        "\u0000\u0000\u0000\u0000\u6D5F\u0000\u0000\u396C"+
-        "\u0000\u3725\u6D60\u6D61\u6D62\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3F49\u6D63\u0000\u3C2D\u6D64"+
-        "\u0000\u0000\u0000\u6D65\u0000\u0000\u0000\u5221"+
-        "\u517E\u0000\u0000\u0000\u0000\u6D66\u6570\u6D67"+
-        "\u4324\u3F2B\u4740\u0000\u0000\u0000\u0000\u6D68"+
-        "\u0000\u0000\u4A55\u4454\u397E\u0000\u0000\u4329"+
-        "\u0000\u0000\u312A\u0000\u4B78\u3F57\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u375E\u0000"+
-        "\u0000\u3661\u0000\u0000\u4A56\u0000\u0000\u0000"+
-        "\u0000\u0000\u6D69\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6D6B\u0000\u0000\u6D6A\u3260\u0000"+
-        "\u0000\u4676\u6D6C\u4777\u0000\u4533\u0000\u6D6D"+
-        "\u3D52\u0000\u0000\u0000\u6D6F\u0000\u0000\u4C42"+
-        "\u6D7E\u6D71\u6D72\u0000\u0000\u4449\u0000\u0000";
-
-    private final static String innerIndex5=
-        "\u4260\u4177\u0000\u4628\u0000\u6D70\u3555\u0000"+
-        "\u0000\u0000\u0000\u6D79\u0000\u6D76\u6E25\u4629"+
-        "\u4360\u6D73\u0000\u447E\u4553\u6D74\u6D78\u3F60"+
-        "\u0000\u4767\u444C\u0000\u0000\u4042\u6D77\u422E"+
-        "\u4224\u6D75\u3029\u4F22\u0000\u0000\u0000\u6D7A"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4261\u0000"+
-        "\u0000\u3D35\u3F4A\u0000\u0000\u6D7C\u6D7B\u0000"+
-        "\u306F\u6D7D\u0000\u0000\u492F\u0000\u6E27\u0000"+
-        "\u0000\u465B\u3F6B\u0000\u0000\u4359\u0000\u3678"+
-        "\u0000\u6E26\u4D37\u313F\u0000\u4A57\u3261\u6E21"+
-        "\u6E22\u6E23\u6E24\u463B\u4323\u3063\u6E28\u0000"+
-        "\u6E29\u7423\u0000\u0000\u423D\u0000\u6E2A\u0000"+
-        "\u3173\u414C\u0000\u382F\u0000\u4D5A\u0000\u7B79"+
-        "\u6E2B\u452C\u0000\u0000\u0000\u4178\u3C57\u6E2C"+
-        "\u0000\u0000\u6E2F\u0000\u0000\u3D65\u6E2D\u412B"+
-        "\u412A\u0000\u3064\u0000\u4E4B\u6E31\u0000\u4872"+
-        "\u6E33\u6E32\u6E30\u6364\u3454\u0000\u0000\u6D6E"+
-        "\u0000\u6E35\u6E34\u0000\u0000\u0000\u0000\u6E36"+
-        "\u0000\u4D38\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4661\u0000\u0000\u4B2E\u0000"+
-        "\u6E37\u0000\u3C59\u0000\u0000\u0000\u0000\u6E38"+
-        "\u0000\u6E39\u0000\u0000\u0000\u6E3A\u0000\u0000"+
-        "\u4521\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u306A\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3959\u0000\u0000\u0000\u4F3A\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6E3E\u0000\u0000\u7B7A\u0000"+
-        "\u0000\u3734\u6E3B\u0000\u6E3C\u0000\u0000\u0000"+
-        "\u4974\u0000\u0000\u0000\u0000\u3354\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4D39\u0000\u363F"+
-        "\u0000\u0000\u0000\u0000\u0000\u4554\u0000\u0000"+
-        "\u0000\u0000\u6E3F\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6E40\u0000\u0000\u7B7C\u0000\u0000"+
-        "\u0000\u6E41\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u7B7D"+
-        "\u0000\u0000\u0000\u0000\u0000\u4522\u0000\u0000"+
-        "\u6E43\u0000\u6E42\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4653\u6E44\u3D36\u3C60\u475B\u4371\u0000"+
-        "\u0000\u0000\u3C72\u0000\u3F6C\u0000\u6E45\u0000"+
-        "\u6E46\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3F5D\u6E47\u0000\u6E48\u0000\u0000"+
-        "\u0000\u6E49\u4D6F\u0000\u3D37\u0000\u0000\u0000"+
-        "\u0000\u0000\u6E4B\u6E4A\u0000\u395A\u0000\u3973"+
-        "\u3B40\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6E4E\u0000\u0000\u0000\u0000\u3D66"+
-        "\u0000\u6E4D\u0000\u6E4C\u0000\u4269\u0000\u0000"+
-        "\u386F\u0000\u4043\u0000\u0000\u0000\u0000\u4830"+
-        "\u0000\u0000\u0000\u0000\u3D39\u0000\u0000\u0000"+
-        "\u0000\u0000\u6E4F\u0000\u3E5F\u0000\u0000\u0000"+
-        "\u0000\u0000\u6E52\u6E50\u0000\u0000\u0000\u6E51"+
-        "\u0000\u0000\u0000\u0000\u6E54\u6E53\u0000\u0000"+
-        "\u3E7A\u0000\u6E55\u0000\u0000\u0000\u0000\u0000"+
-        "\u6E56\u6E57\u0000\u0000\u0000\u0000\u4850\u3A53"+
-        "\u3C61\u6E58\u0000\u6E59\u4E24\u3D45\u4C6E\u4E4C"+
-        "\u6E5A\u3662\u0000\u0000\u0000\u0000\u6E5B\u7C21"+
-        "\u4523\u0000\u7B7E\u6E5E\u3378\u3F4B\u7C22\u6E5C"+
-        "\u0000\u6E5D\u0000\u4460\u7C25\u7C26\u4B55\u367C"+
-        "\u0000\u0000\u0000\u0000\u0000\u7C23\u7C24\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6E60\u6E61\u0000"+
-        "\u0000\u0000\u0000\u0000\u6E5F\u0000\u0000\u6E63"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u7C27\u0000"+
-        "\u0000\u0000\u7C29\u0000\u0000\u465F\u3343\u0000"+
-        "\u7C28\u6E67\u0000\u0000\u6E64\u6E66\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6E62\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6F4F\u0000\u0000\u6E65\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u4E6B\u0000\u0000\u385A"+
-        "\u0000\u7C30\u7C2A\u0000\u7C2C\u0000\u0000\u6E6F"+
-        "\u7C2B\u0000\u0000\u0000\u4534\u6E6A\u0000\u0000"+
-        "\u6E6D\u6E6B\u0000\u6E70\u0000\u0000\u7C2D\u0000"+
-        "\u6E71\u7C2F\u0000\u0000\u0000\u0000\u0000\u6E69"+
-        "\u0000\u7C2E\u6E76\u3174\u0000\u0000\u6E68\u0000"+
-        "\u0000\u0000\u482D\u0000\u6E6C\u0000\u3E60\u7C31"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u395B\u0000\u0000\u0000\u0000\u0000\u7C33"+
-        "\u7C34\u0000\u0000\u0000\u0000\u0000\u4B48\u0000"+
-        "\u3664\u0000\u0000\u3D46\u0000\u463C\u0000\u0000"+
-        "\u7924\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u412D\u0000\u6E74\u0000\u6E6E\u6E73\u0000"+
-        "\u4C43\u0000\u4438\u6E75\u6E72\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u7C32"+
-        "\u0000\u0000\u0000\u0000\u0000\u412C\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6E79"+
-        "\u0000\u6E78\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6E77"+
-        "\u7C38\u0000\u4B2F\u7C3C\u0000\u7C3A\u0000\u7C36"+
-        "\u0000\u7C37\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u7C3B\u0000\u0000\u0000\u3D7B\u0000\u0000\u7C35"+
-        "\u0000\u6E7A\u4A5F\u0000\u0000\u3154\u0000\u0000"+
-        "\u0000\u0000\u4946\u4372\u0000\u0000\u0000\u0000"+
-        "\u3578\u792A\u6E7C\u7C3F\u395D\u0000\u0000\u7C42"+
-        "\u0000\u0000\u7C44\u0000\u0000\u0000\u3B2C\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6E7B"+
-        "\u3F6D\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3F6E\u6F21\u6F23\u0000\u0000\u7C43\u7C41\u0000"+
-        "\u3E7B\u7C3E\u6F22\u6F24\u0000\u7C3D\u3653\u0000"+
-        "\u4945\u0000\u0000\u3C62\u4F23\u0000\u6E7E\u3A78"+
-        "\u0000\u0000\u4F3F\u0000\u0000\u6F26\u0000\u0000"+
-        "\u0000\u0000\u6F25\u6F27\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u6E7D\u0000\u0000\u0000"+
-        "\u7923\u0000\u0000\u4669\u0000\u4555\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u4457\u0000\u6F2C\u7C46"+
-        "\u0000\u0000\u0000\u4343\u6F28\u0000\u0000\u0000"+
-        "\u6F29\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u372D\u0000\u6F2B\u0000"+
-        "\u7C45\u0000\u0000\u0000\u0000\u3830\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u6F2A\u0000\u3E61\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3379\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u6F30\u0000\u3A3F\u4179"+
-        "\u0000\u0000\u444A\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u7C47\u0000\u0000\u333B"+
-        "\u0000\u0000\u0000\u0000\u6F2E\u6F2F\u4443\u0000"+
-        "\u6F2D\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6F31\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6F37\u0000\u0000\u7C48\u0000"+
-        "\u6F3A\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6F39\u452D\u0000\u0000\u0000\u0000\u6F32\u6F33"+
-        "\u6F36\u0000\u0000\u0000\u0000\u6F38\u7C49\u0000"+
-        "\u0000\u3640\u0000\u0000\u6F3B\u6F35\u0000\u0000"+
-        "\u6F34\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u7C4A\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6F3F\u0000\u0000\u0000\u6F40"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6F41\u0000\u0000\u6F3E\u6F3D\u0000\u0000\u0000"+
-        "\u3E62\u462A\u6F3C\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6F45\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6F43\u0000\u0000\u0000\u0000"+
-        "\u0000\u7C4B\u0000\u0000\u0000\u6F44\u6F42\u0000"+
-        "\u4278\u0000\u6F46\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6F47\u0000\u0000\u6F49\u7C4C\u0000\u0000"+
-        "\u7C4D\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3455\u6F48\u4C7A\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6F54\u6F4A\u0000\u0000\u6F4D\u0000"+
-        "\u6F4B\u0000\u6F4C\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6F4E\u0000\u0000\u0000\u0000\u0000"+
-        "\u6F50\u0000\u0000\u0000\u0000\u6F51\u0000\u6F52"+
-        "\u0000\u0000\u0000\u0000\u6F55\u6F53\u6F56\u6F58"+
-        "\u0000\u6F57\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4439"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4C67\u0000\u6F59\u412E\u0000\u0000\u0000\u6F5A"+
-        "\u0000\u4A44\u6F5B\u332B\u0000\u0000\u0000\u313C"+
-        "\u0000\u3457\u7C4E\u3456\u6F5C\u0000\u6F5D\u0000"+
-        "\u6F5E\u6F5F\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6F60\u0000\u3458\u3355\u395E\u4836\u0000\u6F62"+
-        "\u6F61\u0000\u0000\u0000\u0000\u6F63\u0000\u0000"+
-        "\u0000\u0000\u315C\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6F66\u0000\u6F65\u6F64\u0000\u6F67\u0000"+
-        "\u0000\u0000\u0000\u6F6A\u0000\u0000\u0000\u3047"+
-        "\u0000\u0000\u6F68\u0000\u6F6C\u6F6B\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u6F6E\u6F6D\u6F6F\u0000"+
-        "\u462E\u0000\u0000\u0000\u6F70\u0000\u0000\u0000"+
-        "\u0000\u6F71\u6F73\u0000\u0000\u6F72\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u496C\u0000\u0000\u0000"+
-        "\u0000\u6F74\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6F75\u0000\u3A65\u0000\u0000\u0000\u6F76\u6F77"+
-        "\u0000\u0000\u4B49\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u414B\u0000\u0000\u0000\u3024"+
-        "\u424B\u0000\u6F78\u0000\u496D\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6F7B\u6F79\u395F\u0000\u6F7A"+
-        "\u3842\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4A45\u6F7D\u7021\u6F7E\u7022"+
-        "\u0000\u0000\u3121\u3F58\u3D7C\u3459\u7023\u0000"+
-        "\u0000\u0000\u4766\u0000\u7025\u0000\u0000\u0000"+
-        "\u3122\u0000\u7024\u4444\u0000\u4E4D\u462B\u6F7C"+
-        "\u4E26\u0000\u3831\u0000\u0000\u4D5B\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3679\u4E34\u0000"+
-        "\u3728\u0000\u4262\u6721\u0000\u7026\u332C\u3F6F"+
-        "\u0000\u0000\u0000\u0000\u3356\u7028\u0000\u7029"+
-        "\u7027\u3764\u0000\u3A5D\u3E63\u7C51\u0000\u0000"+
-        "\u3123\u0000\u0000\u4E59\u0000\u0000\u0000\u702B"+
-        "\u6E2E\u0000\u702A\u0000\u0000\u0000\u0000\u7C52"+
-        "\u702E\u702C\u702D\u0000\u702F\u0000\u7030\u4E6C"+
-        "\u7031\u7032\u0000\u4049\u483B\u0000\u0000\u0000"+
-        "\u3F7D\u3467\u0000\u0000\u4D3A\u326D\u3D38\u385B"+
-        "\u0000\u7035\u0000\u7034\u3B73\u7036\u7033\u0000"+
-        "\u0000\u3B28\u0000\u0000\u0000\u703A\u6A2D\u0000"+
-        "\u0000\u5256\u0000\u3F77\u7038\u0000\u0000\u0000"+
-        "\u0000\u0000\u4E25\u4671\u0000\u0000\u0000\u0000"+
-        "\u312B\u0000\u4063\u3C36\u0000\u0000\u0000\u0000"+
-        "\u4A37\u0000\u3140\u0000\u0000\u0000\u4E6D\u4D6B"+
-        "\u0000\u703B\u0000\u4545\u0000\u0000\u0000\u0000"+
-        "\u3C7B\u0000\u0000\u0000\u703C\u0000\u703D\u3F4C"+
-        "\u703E\u0000\u4E6E\u0000\u0000\u7039\u7040\u7042"+
-        "\u0000\u7041\u0000\u703F\u0000\u0000\u7043\u0000"+
-        "\u0000\u7044\u0000\u0000\u417A\u0000\u3262\u0000"+
-        "\u0000\u0000\u0000\u0000\u7045\u0000\u0000\u4C38"+
-        "\u0000\u0000\u7046\u0000\u0000\u0000\u0000\u0000"+
-        "\u7047\u0000\u4F2A\u7C53\u0000\u0000\u0000\u0000"+
-        "\u5B31\u7048\u0000\u7C54\u0000\u7049\u704A\u0000"+
-        "\u0000\u0000\u704E\u7C55\u704B\u0000\u704C\u0000"+
-        "\u704D\u704F\u0000\u0000\u0000\u7C56\u0000\u7C57"+
-        "\u0000\u7C58\u4044\u0000\u0000\u7C59\u4C77\u0000"+
-        "\u0000\u4045\u0000\u0000\u7050\u0000\u4873\u0000"+
-        "\u7051\u7353\u4C4C\u0000\u7052\u0000\u7053\u0000"+
-        "\u7054\u3357\u0000\u7056\u0000\u3F59\u0000\u0000"+
-        "\u0000\u7057\u0000\u0000\u3724\u0000\u0000\u0000"+
-        "\u0000\u7058\u705C\u0000\u705A\u0000\u0000\u0000"+
-        "\u0000\u705B\u0000\u0000\u3373\u7059\u705D\u0000"+
-        "\u0000\u0000\u0000\u705E\u0000\u3048\u0000\u705F"+
-        "\u7060\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3E64\u0000\u0000\u0000\u7061\u0000\u0000\u0000"+
-        "\u3547\u0000\u0000\u7064\u0000\u0000\u7063\u0000"+
-        "\u7062\u0000\u0000\u6B71\u0000\u4A5C\u0000\u0000"+
-        "\u0000\u0000\u0000\u7065\u7066\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u7067\u0000\u0000\u7068\u0000"+
-        "\u7069\u0000\u0000\u706A\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u345A\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u706B\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u706C\u4723\u0000"+
-        "\u0000\u0000\u706E\u323B\u0000\u7071\u7070\u0000"+
-        "\u0000\u0000\u0000\u3124\u0000\u0000\u0000\u3641"+
-        "\u0000\u4A47\u443A\u3A22\u0000\u3960\u3D67\u0000"+
-        "\u3F5C\u0000\u0000\u0000\u7073\u0000\u0000\u7072"+
-        "\u4D42\u3468\u4852\u465C\u0000\u0000\u0000\u3F7C"+
-        "\u4E4E\u0000\u375B\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u7076\u0000\u0000\u7075\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u4B4B\u462C\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3150\u0000\u0000\u7077"+
-        "\u7074\u0000\u0000\u4951\u4D6A\u7078\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u7079\u0000"+
-        "\u0000\u0000\u0000\u707B\u426A\u335B\u335C\u707A"+
-        "\u0000\u0000\u0000\u0000\u3469\u3832\u0000\u7C5A"+
-        "\u346A\u0000\u0000\u453F\u0000\u0000\u4E60\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u7C5B\u0000\u385C"+
-        "\u0000\u0000\u0000\u707C\u0000\u0000\u0000\u707D"+
-        "\u707E\u7121\u0000\u7123\u7122\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4977\u0000\u7124\u0000\u0000\u0000\u0000\u7125"+
-        "\u0000\u7126\u0000\u0000\u0000\u0000\u7127\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u7129\u7128\u0000\u712A\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4874\u664C\u0000\u0000\u3F29"+
-        "\u0000\u0000\u3532\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u712B\u0000\u712C\u0000\u522C\u5D3B\u4853"+
-        "\u0000\u0000\u307B\u0000\u303B\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3B74\u4B30\u3E7E\u0000"+
-        "\u0000\u0000\u0000\u712D\u0000\u4C5F\u0000\u0000"+
-        "\u0000\u712E\u4D5C\u0000\u3142\u0000\u0000\u0000"+
-        "\u3B41\u0000\u712F\u326E\u7130\u0000\u0000\u0000"+
-        "\u7131\u0000\u0000\u0000\u0000\u7133\u7134\u0000"+
-        "\u7136\u7132\u0000\u0000\u7135\u0000\u0000\u7C5E"+
-        "\u345B\u0000\u0000\u0000\u7137\u0000\u7138\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u7139\u713A\u0000"+
-        "\u0000\u0000\u713B\u0000\u0000\u713D\u0000\u0000"+
-        "\u0000\u713C\u0000\u713F\u7142\u0000\u0000\u0000"+
-        "\u713E\u7140\u7141\u0000\u0000\u7143\u0000\u3642"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3C73\u7144"+
-        "\u7145\u3961\u0000\u0000\u0000\u0000\u7C60\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u7146\u0000\u0000"+
-        "\u333E\u0000\u0000\u0000\u474F\u7147\u7148\u0000"+
-        "\u0000\u0000\u0000\u435A\u466B\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u7149\u0000\u0000\u0000"+
-        "\u0000\u477D\u0000\u0000\u424C\u3158\u366E\u0000"+
-        "\u366F\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4373\u714E\u3670\u0000\u0000\u326F\u0000\u0000"+
-        "\u714D\u0000\u0000\u714B\u0000\u714C\u0000\u714A"+
-        "\u0000\u0000\u7158\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u714F\u7150\u0000"+
-        "\u0000\u7151\u7152\u0000\u0000\u0000\u0000\u0000"+
-        "\u7154\u0000\u0000\u7153\u0000\u0000\u0000\u3D59"+
-        "\u0000\u7155\u0000\u0000\u0000\u7157\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3533\u7156"+
-        "\u0000\u0000\u417B\u3833\u0000\u0000\u0000\u0000"+
-        "\u0000\u7159\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u424D\u0000\u0000\u715A\u0000\u0000\u0000\u0000"+
-        "\u462D\u0000\u0000\u0000\u0000\u0000\u0000\u715B"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u7160\u0000"+
-        "\u715E\u0000\u715D\u715F\u0000\u715C\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u7162\u7C61\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u7161\u0000\u7164"+
-        "\u0000\u0000\u3643\u7163\u0000\u0000\u0000\u7165"+
-        "\u0000\u0000\u7166\u0000\u7168\u7167\u0000\u0000"+
-        "\u0000\u7169\u716B\u716A\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u397C\u0000\u0000\u0000\u0000\u716C\u0000\u0000"+
-        "\u716D\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u333C\u0000\u0000\u0000\u716E\u0000\u0000\u0000"+
-        "\u716F\u0000\u0000\u0000\u3F71\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u7170"+
-        "\u0000\u7171\u0000\u7172\u7173\u0000\u0000\u0000"+
-        "\u3962\u7C62\u0000\u0000\u7C63\u0000\u7174\u7175"+
-        "\u0000\u0000\u7176\u7177\u0000\u0000\u7178\u0000"+
-        "\u0000\u0000\u4831\u717A\u0000\u4926\u717B\u7179"+
-        "\u0000\u717D\u0000\u0000\u717C\u0000\u0000\u717E"+
-        "\u0000\u0000\u0000\u7221\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u7222\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u7223\u0000\u7224\u0000\u0000\u0000\u0000\u7225"+
-        "\u0000\u0000\u7226\u7227\u0000\u7228\u0000\u7229"+
-        "\u722A\u722B\u722C\u0000\u0000\u0000\u722D\u722E"+
-        "\u0000\u5D35\u722F\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6478\u3534\u0000\u0000\u0000"+
-        "\u0000\u3321\u3A32\u7231\u7230\u4C25\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u7233\u7234\u7232"+
-        "\u0000\u7235\u0000\u0000\u4B62\u0000\u0000\u0000"+
-        "\u7236\u0000\u357B\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4F25"+
-        "\u0000\u0000\u7C65\u0000\u7237\u7C64\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u7239\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u303E\u7C66"+
-        "\u0000\u723A\u4A2B\u7238\u0000\u0000\u723B\u723C"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u723D"+
-        "\u723E\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u723F\u0000\u4B6E\u3B2D\u0000\u3A7A\u412F\u0000"+
-        "\u0000\u7C67\u0000\u0000\u7240\u0000\u0000\u0000"+
-        "\u0000\u7243\u0000\u7C68\u0000\u0000\u0000\u0000"+
-        "\u7241\u0000\u0000\u0000\u0000\u0000\u7244\u0000"+
-        "\u0000\u3871\u7242\u0000\u0000\u0000\u0000\u7245"+
-        "\u0000\u7246\u7247\u0000\u724B\u0000\u3B2A\u0000"+
-        "\u0000\u0000\u0000\u4264\u0000\u0000\u0000\u0000"+
-        "\u0000\u724C\u7249\u7248\u724A\u0000\u0000\u0000"+
-        "\u375F\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u7250\u724F\u724E\u0000\u0000\u3033\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u7C69\u0000\u0000\u0000\u725A\u0000\u7256\u0000"+
-        "\u7257\u7253\u7259\u0000\u7255\u3362\u0000\u0000"+
-        "\u4F4C\u0000\u7258\u7254\u7252\u7251\u0000\u0000"+
-        "\u0000\u0000\u0000\u725C\u0000\u0000\u0000\u0000"+
-        "\u0000\u725F\u0000\u0000\u725E\u725D\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4949\u725B\u3073"+
-        "\u7260\u0000\u7262\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u336F\u724D\u3137\u0000\u0000\u7264\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u7263\u7261"+
-        "\u432D\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4B70\u0000\u0000\u0000\u0000\u4E5A"+
-        "\u0000\u0000\u7265\u0000\u0000\u0000\u0000\u0000"+
-        "\u7266\u0000\u0000\u0000\u0000\u0000\u0000\u7267"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u7268\u0000"+
-        "\u7269\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u443B\u0000\u726A"+
-        "\u0000\u4837\u0000\u726F\u726B\u0000\u0000\u0000"+
-        "\u726C\u0000\u0000\u4B31\u4C44\u0000\u4650\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u7270\u0000\u0000\u7271\u463E"+
-        "\u726E\u726D\u0000\u0000\u0000\u0000\u322A\u0000"+
-        "\u0000\u0000\u7279\u0000\u0000\u7278\u0000\u0000"+
-        "\u0000\u0000\u0000\u3175\u0000\u0000\u0000\u7276"+
-        "\u0000\u0000\u0000\u7275\u0000\u0000\u7273\u0000"+
-        "\u337B\u0000\u7272\u3C32\u3229\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3963\u0000\u0000\u727C\u727B"+
-        "\u0000\u727A\u0000\u0000\u7277\u0000\u727D\u0000"+
-        "\u727E\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u7325\u7324\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u7326\u0000\u0000\u312D\u7321\u7322\u0000"+
-        "\u3974\u4C39\u0000\u0000\u7323\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u7C6B\u4B32\u0000\u0000\u732B"+
-        "\u7C6A\u0000\u7327\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u732C\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u7329"+
-        "\u0000\u7328\u0000\u0000\u0000\u0000\u0000\u375C"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u732D\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u732E\u0000\u0000\u0000"+
-        "\u0000\u732F\u0000\u732A\u0000\u0000\u0000\u7274"+
-        "\u0000\u0000\u7330\u0000\u4461\u0000\u0000\u0000"+
-        "\u7334\u0000\u7335\u7333\u0000\u0000\u0000\u0000"+
-        "\u0000\u7332\u7338\u0000\u7331\u0000\u7336\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u7337"+
-        "\u0000\u0000\u0000\u733A\u0000\u0000\u0000\u0000"+
-        "\u0000\u7339\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u733C\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u733D\u0000\u733E"+
-        "\u0000\u0000\u4F49\u0000\u0000\u0000\u0000\u0000"+
-        "\u733B\u426B\u3A6D\u0000\u0000\u733F\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u7C6D\u7340\u7341\u0000\u0000\u7342\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u7343\u0000\u0000"+
-        "\u3834\u7344\u0000\u0000\u0000\u7345\u0000\u3C2F"+
-        "\u0000\u7346\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u7347\u0000\u0000\u7348\u7349\u0000\u0000\u0000"+
-        "\u0000\u734C\u734A\u4F3C\u0000\u734B\u0000\u4E6F"+
-        "\u0000\u0000\u0000\u0000\u0000\u734D\u0000\u4E5B"+
-        "\u0000\u0000\u0000\u0000\u0000\u734E\u477E\u0000"+
-        "\u0000\u734F\u7351\u0000\u0000\u7352\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u7350\u396D\u4C4D\u4B63\u5677\u0000\u5D60\u4B7B"+
-        "\u0000\u0000\u0000\u0000\u322B\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u7354\u3550\u7355\u7356"+
-        "\u7357\u7C6E\u3975\u0000\u7358\u0000\u0000\u0000"+
-        "\u6054\u4C5B\u0000\u4263\u7359\u735B\u735A\u0000"+
-        "\u735C\u0000\u0000\u0000\u0000\u735D\u0000\u0000"+
-        "\u735E\u0000\u0000\u0000\u0000\u0000\u0000\u735F"+
-        "\u0000\u0000\u0000\u0000\u7360\u0000\u7361\u7362"+
-        "\u0000\u7363\u0000\u7364\u7365\u7366\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u7367"+
-        "\u7368\u0000\u0000\u0000\u0000\u0000\u4524\u0000"+
-        "\u0000\u0000\u0000\u385D\u0000\u736A\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u414D\u736B\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u736C\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4921\u0000\u0000\u736D\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u736E\u6337\u0000\u0000\u6C5A\u706D"+
-        "\u0000\u0000\u736F\u0000\u7370\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u7372"+
-        "\u7373\u7374\u4E70\u7371\u0000\u0000\u7375\u7376"+
-        "\u0000\u0000\u7378\u0000\u7377\u0000\u0000\u0000"+
-        "\u0000\u0000\u737A\u0000\u0000\u0000\u737B\u7379"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4E36\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u737C\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u737D\u6354\u0000\u0000"+
-        "\u737E\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
-
-    private final static String innerIndex6=
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u7A46\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u7C4F\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u7954\u795F"+
-        "\u7960\u7975\u7A3E\u7A4E\u7A50\u7A7B\u7B23\u7B3A"+
-        "\u7B42\u7B43\u7B44\u7B46\u7B4A\u7B4D\u7B56\u7B61"+
-        "\u7B63\u7B64\u7B6D\u7B75\u7B77\u7B78\u7B7B\u7C39"+
-        "\u7C40\u7C50\u7C5C\u7C5D\u7C5F\u7C6C\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u212A\u7C7E\u2174\u2170\u2173\u2175\u7C7D"+
-        "\u214A\u214B\u2176\u215C\u2124\u215D\u2125\u213F"+
-        "\u2330\u2331\u2332\u2333\u2334\u2335\u2336\u2337"+
-        "\u2338\u2339\u2127\u2128\u2163\u2161\u2164\u2129"+
-        "\u2177\u2341\u2342\u2343\u2344\u2345\u2346\u2347"+
-        "\u2348\u2349\u234A\u234B\u234C\u234D\u234E\u234F"+
-        "\u2350\u2351\u2352\u2353\u2354\u2355\u2356\u2357"+
-        "\u2358\u2359\u235A\u214E\u2140\u214F\u2130\u2132"+
-        "\u212E\u2361\u2362\u2363\u2364\u2365\u2366\u2367"+
-        "\u2368\u2369\u236A\u236B\u236C\u236D\u236E\u236F"+
-        "\u2370\u2371\u2372\u2373\u2374\u2375\u2376\u2377"+
-        "\u2378\u2379\u237A\u2150\u2143\u2151\u2141\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u2171\u2172\u7C7B\u2131\u7C7C\u216F\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
-
-    protected final static short index1[] = {
-        1, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        4, 5, 6, 7, 8, 9, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        11, 0, 12, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 15,
-        16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
-        32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
-        48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
-        64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
-        80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 97, 0, 0, 0, 0, 98
-    };
-
-    protected final static String index2[] = {
-        innerIndex0,
-        innerIndex1,
-        innerIndex2,
-        innerIndex3,
-        innerIndex4,
-        innerIndex5,
-        innerIndex6
-    };
-
-}
--- a/src/share/classes/sun/nio/cs/ext/JIS_X_0208_Solaris_Decoder.java	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,211 +0,0 @@
-/*
- * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code 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
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- */
-
-package sun.nio.cs.ext;
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-
-public class JIS_X_0208_Solaris_Decoder extends DoubleByteDecoder
-{
-
-    public JIS_X_0208_Solaris_Decoder(Charset cs) {
-        super(cs,
-              index1,
-              index2,
-              0x21,
-              0x7E);
-    }
-    private final static String innerIndex0=
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2460\u2461"+
-        "\u2462\u2463\u2464\u2465\u2466\u2467\u2468\u2469"+
-        "\u246A\u246B\u246C\u246D\u246E\u246F\u2470\u2471"+
-        "\u2472\u2473\u2160\u2161\u2162\u2163\u2164\u2165"+
-        "\u2166\u2167\u2168\u2169\uFFFD\u3349\u3314\u3322"+
-        "\u334D\u3318\u3327\u3303\u3336\u3351\u3357\u330D"+
-        "\u3326\u3323\u332B\u334A\u333B\u339C\u339D\u339E"+
-        "\u338E\u338F\u33C4\u33A1\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\u337B\u301D\u301F\u2116"+
-        "\u33CD\u2121\u32A4\u32A5\u32A6\u32A7\u32A8\u3231"+
-        "\u3232\u3239\u337E\u337D\u337C\u2252\u2261\u222B"+
-        "\u222E\u2211\u221A\u22A5\u2220\u221F\u22BF\u2235"+
-        "\u2229\u222A\uFFFD\uFFFD\u7E8A\u891C\u9348\u9288"+
-        "\u84DC\u4FC9\u70BB\u6631\u68C8\u92F9\u66FB\u5F45"+
-        "\u4E28\u4EE1\u4EFC\u4F00\u4F03\u4F39\u4F56\u4F92"+
-        "\u4F8A\u4F9A\u4F94\u4FCD\u5040\u5022\u4FFF\u501E"+
-        "\u5046\u5070\u5042\u5094\u50F4\u50D8\u514A\u5164"+
-        "\u519D\u51BE\u51EC\u5215\u529C\u52A6\u52C0\u52DB"+
-        "\u5300\u5307\u5324\u5372\u5393\u53B2\u53DD\uFA0E"+
-        "\u549C\u548A\u54A9\u54FF\u5586\u5759\u5765\u57AC"+
-        "\u57C8\u57C7\uFA0F\uFA10\u589E\u58B2\u590B\u5953"+
-        "\u595B\u595D\u5963\u59A4\u59BA\u5B56\u5BC0\u752F"+
-        "\u5BD8\u5BEC\u5C1E\u5CA6\u5CBA\u5CF5\u5D27\u5D53"+
-        "\uFA11\u5D42\u5D6D\u5DB8\u5DB9\u5DD0\u5F21\u5F34"+
-        "\u5F67\u5FB7\u5FDE\u605D\u6085\u608A\u60DE\u60D5"+
-        "\u6120\u60F2\u6111\u6137\u6130\u6198\u6213\u62A6"+
-        "\u63F5\u6460\u649D\u64CE\u654E\u6600\u6615\u663B"+
-        "\u6609\u662E\u661E\u6624\u6665\u6657\u6659\uFA12"+
-        "\u6673\u6699\u66A0\u66B2\u66BF\u66FA\u670E\uF929"+
-        "\u6766\u67BB\u6852\u67C0\u6801\u6844\u68CF\uFA13"+
-        "\u6968\uFA14\u6998\u69E2\u6A30\u6A6B\u6A46\u6A73"+
-        "\u6A7E\u6AE2\u6AE4\u6BD6\u6C3F\u6C5C\u6C86\u6C6F"+
-        "\u6CDA\u6D04\u6D87\u6D6F\u6D96\u6DAC\u6DCF\u6DF8"+
-        "\u6DF2\u6DFC\u6E39\u6E5C\u6E27\u6E3C\u6EBF\u6F88"+
-        "\u6FB5\u6FF5\u7005\u7007\u7028\u7085\u70AB\u710F"+
-        "\u7104\u715C\u7146\u7147\uFA15\u71C1\u71FE\u72B1"+
-        "\u72BE\u7324\uFA16\u7377\u73BD\u73C9\u73D6\u73E3"+
-        "\u73D2\u7407\u73F5\u7426\u742A\u7429\u742E\u7462"+
-        "\u7489\u749F\u7501\u756F\u7682\u769C\u769E\u769B"+
-        "\u76A6\uFA17\u7746\u52AF\u7821\u784E\u7864\u787A"+
-        "\u7930\uFA18\uFA19\uFA1A\u7994\uFA1B\u799B\u7AD1"+
-        "\u7AE7\uFA1C\u7AEB\u7B9E\uFA1D\u7D48\u7D5C\u7DB7"+
-        "\u7DA0\u7DD6\u7E52\u7F47\u7FA1\uFA1E\u8301\u8362"+
-        "\u837F\u83C7\u83F6\u8448\u84B4\u8553\u8559\u856B"+
-        "\uFA1F\u85B0\uFA20\uFA21\u8807\u88F5\u8A12\u8A37"+
-        "\u8A79\u8AA7\u8ABE\u8ADF\uFA22\u8AF6\u8B53\u8B7F"+
-        "\u8CF0\u8CF4\u8D12\u8D76\uFA23\u8ECF\uFA24\uFA25"+
-        "\u9067\u90DE\uFA26\u9115\u9127\u91DA\u91D7\u91DE"+
-        "\u91ED\u91EE\u91E4\u91E5\u9206\u9210\u920A\u923A"+
-        "\u9240\u923C\u924E\u9259\u9251\u9239\u9267\u92A7"+
-        "\u9277\u9278\u92E7\u92D7\u92D9\u92D0\uFA27\u92D5"+
-        "\u92E0\u92D3\u9325\u9321\u92FB\uFA28\u931E\u92FF"+
-        "\u931D\u9302\u9370\u9357\u93A4\u93C6\u93DE\u93F8"+
-        "\u9431\u9445\u9448\u9592\uF9DC\uFA29\u969D\u96AF"+
-        "\u9733\u973B\u9743\u974D\u974F\u9751\u9755\u9857"+
-        "\u9865\uFA2A\uFA2B\u9927\uFA2C\u999E\u9A4E\u9AD9"+
-        "\u9ADC\u9B75\u9B72\u9B8F\u9BB1\u9BBB\u9C00\u9D70"+
-        "\u9D6B\uFA2D\u9E19\u9ED1\uFFFD\uFFFD\u2170\u2171"+
-        "\u2172\u2173\u2174\u2175\u2176\u2177\u2178\u2179"+
-        "\u3052\u00A6\uFF07\uFF02\u2170\u2171\u2172\u2173"+
-        "\u2174\u2175\u2176\u2177\u2178\u2179\u2160\u2161"+
-        "\u2162\u2163\u2164\u2165\u2166\u2167\u2168\u2169"+
-        "\u3052\u00A6\uFF07\uFF02\u3231\u2116\u2121\u306E"+
-        "\u7E8A\u891C\u9348\u9288\u84DC\u4FC9\u70BB\u6631"+
-        "\u68C8\u92F9\u66FB\u5F45\u4E28\u4EE1\u4EFC\u4F00"+
-        "\u4F03\u4F39\u4F56\u4F92\u4F8A\u4F9A\u4F94\u4FCD"+
-        "\u5040\u5022\u4FFF\u501E\u5046\u5070\u5042\u5094"+
-        "\u50F4\u50D8\u514A\u5164\u519D\u51BE\u51EC\u5215"+
-        "\u529C\u52A6\u52C0\u52DB\u5300\u5307\u5324\u5372"+
-        "\u5393\u53B2\u53DD\uFA0E\u549C\u548A\u54A9\u54FF"+
-        "\u5586\u5759\u5765\u57AC\u57C8\u57C7\uFA0F\uFA10"+
-        "\u589E\u58B2\u590B\u5953\u595B\u595D\u5963\u59A4"+
-        "\u59BA\u5B56\u5BC0\u752F\u5BD8\u5BEC\u5C1E\u5CA6"+
-        "\u5CBA\u5CF5\u5D27\u5D53\uFA11\u5D42\u5D6D\u5DB8"+
-        "\u5DB9\u5DD0\u5F21\u5F34\u5F67\u5FB7\u5FDE\u605D"+
-        "\u6085\u608A\u60DE\u60D5\u6120\u60F2\u6111\u6137"+
-        "\u6130\u6198\u6213\u62A6\u63F5\u6460\u649D\u64CE"+
-        "\u654E\u6600\u6615\u663B\u6609\u662E\u661E\u6624"+
-        "\u6665\u6657\u6659\uFA12\u6673\u6699\u66A0\u66B2"+
-        "\u66BF\u66FA\u670E\uF929\u6766\u67BB\u6852\u67C0"+
-        "\u6801\u6844\u68CF\uFA13\u6968\uFA14\u6998\u69E2"+
-        "\u6A30\u6A6B\u6A46\u6A73\u6A7E\u6AE2\u6AE4\u6BD6"+
-        "\u6C3F\u6C5C\u6C86\u6C6F\u6CDA\u6D04\u6D87\u6D6F"+
-        "\u6D96\u6DAC\u6DCF\u6DF8\u6DF2\u6DFC\u6E39\u6E5C"+
-        "\u6E27\u6E3C\u6EBF\u6F88\u6FB5\u6FF5\u7005\u7007"+
-        "\u7028\u7085\u70AB\u710F\u7104\u715C\u7146\u7147"+
-        "\uFA15\u71C1\u71FE\u72B1\u72BE\u7324\uFA16\u7377"+
-        "\u73BD\u73C9\u73D6\u73E3\u73D2\u7407\u73F5\u7426"+
-        "\u742A\u7429\u742E\u7462\u7489\u749F\u7501\u756F"+
-        "\u7682\u769C\u769E\u769B\u76A6\uFA17\u7746\u52AF"+
-        "\u7821\u784E\u7864\u787A\u7930\uFA18\uFA19\uFA1A"+
-        "\u7994\uFA1B\u799B\u7AD1\u7AE7\uFA1C\u7AEB\u7B9E"+
-        "\uFA1D\u7D48\u7D5C\u7DB7\u7DA0\u7DD6\u7E52\u7F47"+
-        "\u7FA1\uFA1E\u8301\u8362\u837F\u83C7\u83F6\u8448"+
-        "\u84B4\u8553\u8559\u856B\uFA1F\u85B0\uFA20\uFA21"+
-        "\u8807\u88F5\u8A12\u8A37\u8A79\u8AA7\u8ABE\u8ADF"+
-        "\uFA22\u8AF6\u8B53\u8B7F\u8CF0\u8CF4\u8D12\u8D76"+
-        "\uFA23\u8ECF\uFA24\uFA25\u9067\u90DE\uFA26\u9115"+
-        "\u9127\u91DA\u91D7\u91DE\u91ED\u91EE\u91E4\u91E5"+
-        "\u9206\u9210\u920A\u923A\u9240\u923C\u924E\u9259"+
-        "\u9251\u9239\u9267\u92A7\u9277\u9278\u92E7\u92D7"+
-        "\u92D9\u92D0\uFA27\u92D5\u92E0\u92D3\u9325\u9321"+
-        "\u92FB\uFA28\u931E\u92FF\u931D\u9302\u9370\u9357"+
-        "\u93A4\u93C6\u93DE\u93F8\u9431\u9445\u9448\u9592"+
-        "\uF9DC\uFA29\u969D\u96AF\u9733\u973B\u9743\u974D"+
-        "\u974F\u9751\u9755\u9857\u9865\uFA2A\uFA2B\u9927"+
-        "\uFA2C\u999E\u9A4E\u9AD9\u9ADC\u9B75\u9B72\u9B8F"+
-        "\u9BB1\u9BBB\u9C00\u9D70\u9D6B\uFA2D\u9E19\u9ED1"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD";
-
-    private static final short index1[] = {
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4, 5, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 6, 7, 8, 9, 10, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
-    };
-
-    private final static String index2[] = {
-        innerIndex0
-    };
-
-    protected char convSingleByte(int b) {
-        return REPLACE_CHAR;
-    }
-
-
-    static short[] getIndex1() {
-       return index1;
-    }
-
-    static String[] getIndex2() {
-       return index2;
-    }
-}
--- a/src/share/classes/sun/nio/cs/ext/JIS_X_0208_Solaris_Encoder.java	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2728 +0,0 @@
-/*
- * Copyright (c) 2003, 2005, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code 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
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- */
-
-package sun.nio.cs.ext;
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetEncoder;
-
-public class JIS_X_0208_Solaris_Encoder extends DoubleByteEncoder
-{
-    private static byte[] repl = { (byte)0x21, (byte)0x29 };
-
-    public JIS_X_0208_Solaris_Encoder(Charset cs) {
-        super(cs,
-              index1,
-              index2 ,
-              repl
-             );
-    }
-
-    protected int encodeSingle(char inputChar) {
-        return -1;
-    }
-
-    private final static String innerIndex0=
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u9336\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u2D62\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u2D64\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u2D35\u2D36\u2D37\u2D38\u2D39\u2D3A\u2D3B\u2D3C"+
-        "\u2D3D\u2D3E\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u9321\u9322\u9323\u9324\u9325\u9326\u9327\u9328"+
-        "\u9329\u932A\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u2D74\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u2D75\u0000\u0000\u0000\u0000\u2D78"+
-        "\u2D77\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u2D7B\u2D7C\u2D72\u0000\u0000\u2D73\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u2D7A\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u2D70\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u2D71\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u2D76\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u2D79"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u2D21\u2D22\u2D23\u2D24\u2D25\u2D26\u2D27\u2D28"+
-        "\u2D29\u2D2A\u2D2B\u2D2C\u2D2D\u2D2E\u2D2F\u2D30"+
-        "\u2D31\u2D32\u2D33\u2D34\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u2D60\u0000\u2D61"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u9335\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u933C\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u2D6A\u2D6B\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u2D6C\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u2D65\u2D66\u2D67\u2D68"+
-        "\u2D69\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u2D46\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u2D4A\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u2D41\u0000\u0000\u0000"+
-        "\u2D44\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u2D42\u2D4C\u0000\u0000\u2D4B\u2D45"+
-        "\u0000\u0000\u0000\u2D4D\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u2D47\u0000"+
-        "\u0000\u0000\u0000\u2D4F\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u2D40\u2D4E\u0000\u0000\u2D43\u0000\u0000"+
-        "\u0000\u2D48\u0000\u0000\u0000\u0000\u0000\u2D49"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u2D5F\u2D6F\u2D6E\u2D6D\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u2D53\u2D54"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u2D50\u2D51\u2D52\u0000"+
-        "\u0000\u2D56\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u2D55\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u2D63\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u9349\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u934A\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u934B\u0000\u0000\u0000"+
-        "\u934C\u0000\u0000\u934D\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u934E\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u934F\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u9351\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u9350\u0000\u9353\u0000\u0000\u0000"+
-        "\u0000\u0000\u9352\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u9342\u0000\u0000\u0000\u9354\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u9357"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u9358\u0000"+
-        "\u0000\u0000\u9356\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u9355\u0000\u935B\u0000\u0000\u0000\u9359\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u935A\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u935C\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u935E\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u935D\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u935F\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u9360\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u9361\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u9362\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u9363\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u9364\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u9365\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u9366\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u9558"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u9367\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u9368\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u9369\u0000\u0000\u0000\u0000\u0000\u0000\u936A"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u936B\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u936C\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u936D\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u936E\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u936F\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u9372\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u9371\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u9373\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u9374"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u9375\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
-
-    private final static String innerIndex1=
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u9376\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u9377\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u9378\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u937A"+
-        "\u9379\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u937D\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u937E\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u9421\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u9422\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u9423\u0000\u9424\u0000\u0000"+
-        "\u0000\u0000\u0000\u9425\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u9426\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u9427\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u9428\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u9429\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u942B\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u942C\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u942D\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u942E\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u942F\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u9430\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u9431"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u9434\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u9432\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u9435\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u9436\u9437\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u9438\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u9439\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u943A\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u9348\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u943B"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u943C"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u943D\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u943E\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u943F\u0000\u0000"+
-        "\u0000\u0000\u9440\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u9442\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u9441\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u9444\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u9445\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u9443\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u9447\u0000\u0000\u0000\u0000\u0000\u0000\u9446"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u9448\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u9449\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u944A\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u944B\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u944C\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u944D\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u944E\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u944F\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u9450\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u9453\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u9451\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u9455\u0000"+
-        "\u0000\u0000\u0000\u0000\u9456\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u9454\u0000"+
-        "\u0000\u9344\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u9452\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u9458"+
-        "\u0000\u9459\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u9457\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u945B\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u945C\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u945D\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u945E\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u945F"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u9460\u9347\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u9461\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u9463\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u9464\u0000\u0000\u0000\u0000"+
-        "\u9466\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u9467\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u9468\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u9465\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u9345\u0000\u0000\u0000\u0000\u0000\u0000\u9469"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
-
-    private final static String innerIndex2=
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u946B\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u946D\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u946E\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u946F\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u9471\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u9470\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u9472\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u9473\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u9474\u0000\u9475\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u9476\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u9477"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u9478\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u947A"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u9479\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u947B\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u947C\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u947E"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u947D"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u9521\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u9522\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u9523"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u9525\u0000\u0000\u0000\u0000\u0000"+
-        "\u9524\u0000\u0000\u0000\u9526\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u9529"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u9527\u0000\u0000\u952A\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u9528\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u952B"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u952C\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u952D\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u952E\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u952F\u0000\u9530"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u9531\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u9532\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u9533\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u9343\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u9535\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u9534"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u9537\u9538"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u9536\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u953A\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u953B\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u953C\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u953D\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u953E\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u9540"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u9541\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u9542\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u9545\u0000\u0000\u0000\u9543\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u9544\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u9547\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u9546"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u9548\u0000"+
-        "\u0000\u954A\u9549\u0000\u0000\u0000\u954B\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u954C\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u954D\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u954E"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u954F\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u942A"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u9550"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u9551\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u9554\u9552\u0000\u9553\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u9555\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u9557\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u9559\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u955A\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u955B\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u955C\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
-
-    private final static String innerIndex3=
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u955D\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u9561\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u9563\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u9564\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u9565"+
-        "\u0000\u0000\u0000\u9567\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u9568\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u956A\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u956B\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u956D\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u956C"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u956E\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u956F\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u933D\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u9570"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u9571\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u9573\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u9574\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u9575"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u9576"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u9577\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u9578\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u9579\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u9341\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u957A\u0000\u0000\u0000\u0000"+
-        "\u0000\u957B\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u957C\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u957E\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u9623"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u9624\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u933E\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u9625\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u9626"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u9627\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u9628"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u9629\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u962A"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u962C\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u962D\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u962E"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u962F\u0000\u0000\u0000\u9630\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u9631\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u9632\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u9634"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
-
-    private final static String innerIndex4=
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u9637"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u9638\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u963A\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u963B"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u963D"+
-        "\u0000\u0000\u963C\u0000\u0000\u0000\u963E\u0000"+
-        "\u0000\u0000\u0000\u0000\u9641\u9642\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u963F\u9640\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u9643\u0000"+
-        "\u0000\u0000\u9645\u0000\u0000\u0000\u0000\u0000"+
-        "\u9644\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u964C\u9646\u0000\u9648\u0000\u0000\u0000"+
-        "\u9647\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u9649\u0000"+
-        "\u0000\u964B\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u964A\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u964D"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u964F"+
-        "\u9650\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u9340\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u964E"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u9654\u0000\u0000\u9658\u0000\u9656\u0000\u9652"+
-        "\u0000\u9653\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u9657\u0000\u0000\u0000\u0000\u0000\u0000\u9651"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u9346\u0000\u965B\u0000\u0000\u0000\u965E"+
-        "\u0000\u0000\u9660\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u965F\u965D\u0000"+
-        "\u0000\u965A\u0000\u0000\u0000\u9659\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u933F\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u9662"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u9661\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u9663\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u9664\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u9665\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u9666\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u9667\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u9668\u0000\u0000"+
-        "\u9669\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u966A\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u966D\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u966E"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u966F\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u9670\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u9671\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u9672\u0000\u9673"+
-        "\u0000\u9674\u0000\u0000\u0000\u9675\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u9676"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u9677\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u967A"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u967C\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u967D\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u967E\u0000\u0000\u9721\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u9723\u0000\u0000\u9722\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u9724"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u9725\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u9726\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u9727\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u9729\u0000\u0000\u0000\u0000"+
-        "\u9728\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u972B\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u972C\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u9462\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u966B\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
-
-    private final static String innerIndex5=
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u9370\u937B"+
-        "\u937C\u9433\u945A\u946A\u946C\u9539\u953F\u9556"+
-        "\u955E\u955F\u9560\u9562\u9566\u9569\u9572\u957D"+
-        "\u9621\u9622\u962B\u9633\u9635\u9636\u9639\u9655"+
-        "\u965C\u966C\u9678\u9679\u967B\u972A\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u9338\u0000\u0000\u0000\u0000\u9337"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
-
-    private final static short index1[] = {
-        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 2, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        5, 0, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 9,
-        10, 11, 12, 13, 14, 15, 0, 16, 17, 18, 0, 19, 20, 21, 0, 22,
-        23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
-        39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 0, 51, 52, 53,
-        0, 0, 0, 54, 55, 56, 0, 0, 57, 58, 59, 60, 61, 62, 63, 0,
-        64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 80, 0, 0, 0, 0, 81
-    };
-
-    private final static String index2[] = {
-        innerIndex0,
-        innerIndex1,
-        innerIndex2,
-        innerIndex3,
-        innerIndex4,
-        innerIndex5
-    };
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-    public static short[] getIndex1() {
-       return index1;
-    }
-
-    public static String[] getIndex2() {
-       return index2;
-    }
-}
--- a/src/share/classes/sun/nio/cs/ext/JIS_X_0212.java	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-/*
- * Copyright (c) 2002, 2003, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code 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
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- */
-
-package sun.nio.cs.ext;
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-
-public class JIS_X_0212
-    extends Charset
-{
-
-    public JIS_X_0212() {
-        super("JIS_X0212-1990", ExtendedCharsets.aliasesFor("JIS_X0212-1990"));
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof JIS_X_0212);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new JIS_X_0212_Encoder(this);
-    }
-
-    private static class Decoder extends JIS_X_0212_Decoder {
-        protected char decodeSingle(int b) {
-            return DoubleByteDecoder.REPLACE_CHAR;
-        }
-
-        public Decoder(Charset cs) {
-            super(cs);
-        }
-    }
-}
--- a/src/share/classes/sun/nio/cs/ext/JIS_X_0212_Decoder.java	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,896 +0,0 @@
-/*
- * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code 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
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- */
-
-package sun.nio.cs.ext;
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-
-public class JIS_X_0212_Decoder extends DoubleByteDecoder
-{
-    public JIS_X_0212_Decoder(Charset cs) {
-        super(cs,
-              index1,
-              index2,
-              0x21,
-              0x7E);
-    }
-
-    private final static String innerIndex0=
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\u02D8\u02C7\u00B8\u02D9"+
-        "\u02DD\u00AF\u02DB\u02DA\uFF5E\u0384\u0385\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u00A1"+
-        "\u00A6\u00BF\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\u00BA\u00AA\u00A9\u00AE\u2122\u00A4\u2116\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\u0386\u0388\u0389\u038A"+
-        "\u03AA\uFFFD\u038C\uFFFD\u038E\u03AB\uFFFD\u038F"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\u03AC\u03AD\u03AE\u03AF"+
-        "\u03CA\u0390\u03CC\u03C2\u03CD\u03CB\u03B0\u03CE"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\u0402\u0403\u0404\u0405\u0406"+
-        "\u0407\u0408\u0409\u040A\u040B\u040C\u040E\u040F"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\u0452\u0453\u0454\u0455\u0456"+
-        "\u0457\u0458\u0459\u045A\u045B\u045C\u045E\u045F"+
-        "\u00C6\u0110\uFFFD\u0126\uFFFD\u0132\uFFFD\u0141"+
-        "\u013F\uFFFD\u014A\u00D8\u0152\uFFFD\u0166\u00DE"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\u00E6\u0111\u00F0\u0127\u0131\u0133\u0138\u0142"+
-        "\u0140\u0149\u014B\u00F8\u0153\u00DF\u0167\u00FE"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u00C1\u00C0"+
-        "\u00C4\u00C2\u0102\u01CD\u0100\u0104\u00C5\u00C3"+
-        "\u0106\u0108\u010C\u00C7\u010A\u010E\u00C9\u00C8"+
-        "\u00CB\u00CA\u011A\u0116\u0112\u0118\uFFFD\u011C"+
-        "\u011E\u0122\u0120\u0124\u00CD\u00CC\u00CF\u00CE"+
-        "\u01CF\u0130\u012A\u012E\u0128\u0134\u0136\u0139"+
-        "\u013D\u013B\u0143\u0147\u0145\u00D1\u00D3\u00D2"+
-        "\u00D6\u00D4\u01D1\u0150\u014C\u00D5\u0154\u0158"+
-        "\u0156\u015A\u015C\u0160\u015E\u0164\u0162\u00DA"+
-        "\u00D9\u00DC\u00DB\u016C\u01D3\u0170\u016A\u0172"+
-        "\u016E\u0168\u01D7\u01DB\u01D9\u01D5\u0174\u00DD"+
-        "\u0178\u0176\u0179\u017D\u017B\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\u00E1\u00E0\u00E4\u00E2"+
-        "\u0103\u01CE\u0101\u0105\u00E5\u00E3\u0107\u0109"+
-        "\u010D\u00E7\u010B\u010F\u00E9\u00E8\u00EB\u00EA"+
-        "\u011B\u0117\u0113\u0119\u01F5\u011D\u011F\uFFFD"+
-        "\u0121\u0125\u00ED\u00EC\u00EF\u00EE\u01D0\uFFFD"+
-        "\u012B\u012F\u0129\u0135\u0137\u013A\u013E\u013C"+
-        "\u0144\u0148\u0146\u00F1\u00F3\u00F2\u00F6\u00F4"+
-        "\u01D2\u0151\u014D\u00F5\u0155\u0159\u0157\u015B"+
-        "\u015D\u0161\u015F\u0165\u0163\u00FA\u00F9\u00FC"+
-        "\u00FB\u016D\u01D4\u0171\u016B\u0173\u016F\u0169"+
-        "\u01D8\u01DC\u01DA\u01D6\u0175\u00FD\u00FF\u0177"+
-        "\u017A\u017E\u017C\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\u4E02\u4E04\u4E05\u4E0C\u4E12\u4E1F"+
-        "\u4E23\u4E24\u4E28\u4E2B\u4E2E\u4E2F\u4E30\u4E35"+
-        "\u4E40\u4E41\u4E44\u4E47\u4E51\u4E5A\u4E5C\u4E63"+
-        "\u4E68\u4E69\u4E74\u4E75\u4E79\u4E7F\u4E8D\u4E96"+
-        "\u4E97\u4E9D\u4EAF\u4EB9\u4EC3\u4ED0\u4EDA\u4EDB"+
-        "\u4EE0\u4EE1\u4EE2\u4EE8\u4EEF\u4EF1\u4EF3\u4EF5"+
-        "\u4EFD\u4EFE\u4EFF\u4F00\u4F02\u4F03\u4F08\u4F0B"+
-        "\u4F0C\u4F12\u4F15\u4F16\u4F17\u4F19\u4F2E\u4F31"+
-        "\u4F60\u4F33\u4F35\u4F37\u4F39\u4F3B\u4F3E\u4F40"+
-        "\u4F42\u4F48\u4F49\u4F4B\u4F4C\u4F52\u4F54\u4F56"+
-        "\u4F58\u4F5F\u4F63\u4F6A\u4F6C\u4F6E\u4F71\u4F77"+
-        "\u4F78\u4F79\u4F7A\u4F7D\u4F7E\u4F81\u4F82\u4F84"+
-        "\u4F85\u4F89\u4F8A\u4F8C\u4F8E\u4F90\u4F92\u4F93"+
-        "\u4F94\u4F97\u4F99\u4F9A\u4F9E\u4F9F\u4FB2\u4FB7"+
-        "\u4FB9\u4FBB\u4FBC\u4FBD\u4FBE\u4FC0\u4FC1\u4FC5"+
-        "\u4FC6\u4FC8\u4FC9\u4FCB\u4FCC\u4FCD\u4FCF\u4FD2"+
-        "\u4FDC\u4FE0\u4FE2\u4FF0\u4FF2\u4FFC\u4FFD\u4FFF"+
-        "\u5000\u5001\u5004\u5007\u500A\u500C\u500E\u5010"+
-        "\u5013\u5017\u5018\u501B\u501C\u501D\u501E\u5022"+
-        "\u5027\u502E\u5030\u5032\u5033\u5035\u5040\u5041"+
-        "\u5042\u5045\u5046\u504A\u504C\u504E\u5051\u5052"+
-        "\u5053\u5057\u5059\u505F\u5060\u5062\u5063\u5066"+
-        "\u5067\u506A\u506D\u5070\u5071\u503B\u5081\u5083"+
-        "\u5084\u5086\u508A\u508E\u508F\u5090\u5092\u5093"+
-        "\u5094\u5096\u509B\u509C\u509E\u509F\u50A0\u50A1"+
-        "\u50A2\u50AA\u50AF\u50B0\u50B9\u50BA\u50BD\u50C0"+
-        "\u50C3\u50C4\u50C7\u50CC\u50CE\u50D0\u50D3\u50D4"+
-        "\u50D8\u50DC\u50DD\u50DF\u50E2\u50E4\u50E6\u50E8"+
-        "\u50E9\u50EF\u50F1\u50F6\u50FA\u50FE\u5103\u5106"+
-        "\u5107\u5108\u510B\u510C\u510D\u510E\u50F2\u5110"+
-        "\u5117\u5119\u511B\u511C\u511D\u511E\u5123\u5127"+
-        "\u5128\u512C\u512D\u512F\u5131\u5133\u5134\u5135"+
-        "\u5138\u5139\u5142\u514A\u514F\u5153\u5155\u5157"+
-        "\u5158\u515F\u5164\u5166\u517E\u5183\u5184\u518B"+
-        "\u518E\u5198\u519D\u51A1\u51A3\u51AD\u51B8\u51BA"+
-        "\u51BC\u51BE\u51BF\u51C2\u51C8\u51CF\u51D1\u51D2"+
-        "\u51D3\u51D5\u51D8\u51DE\u51E2\u51E5\u51EE\u51F2"+
-        "\u51F3\u51F4\u51F7\u5201\u5202\u5205\u5212\u5213"+
-        "\u5215\u5216\u5218\u5222\u5228\u5231\u5232\u5235"+
-        "\u523C\u5245\u5249\u5255\u5257\u5258\u525A\u525C"+
-        "\u525F\u5260\u5261\u5266\u526E\u5277\u5278\u5279"+
-        "\u5280\u5282\u5285\u528A\u528C\u5293\u5295\u5296"+
-        "\u5297\u5298\u529A\u529C\u52A4\u52A5\u52A6\u52A7"+
-        "\u52AF\u52B0\u52B6\u52B7\u52B8\u52BA\u52BB\u52BD"+
-        "\u52C0\u52C4\u52C6\u52C8\u52CC\u52CF\u52D1\u52D4"+
-        "\u52D6\u52DB\u52DC\u52E1\u52E5\u52E8\u52E9\u52EA"+
-        "\u52EC\u52F0\u52F1\u52F4\u52F6\u52F7\u5300\u5303"+
-        "\u530A\u530B\u530C\u5311\u5313\u5318\u531B\u531C"+
-        "\u531E\u531F\u5325\u5327\u5328\u5329\u532B\u532C"+
-        "\u532D\u5330\u5332\u5335\u533C\u533D\u533E\u5342"+
-        "\u534C\u534B\u5359\u535B\u5361\u5363\u5365\u536C"+
-        "\u536D\u5372\u5379\u537E\u5383\u5387\u5388\u538E"+
-        "\u5393\u5394\u5399\u539D\u53A1\u53A4\u53AA\u53AB"+
-        "\u53AF\u53B2\u53B4\u53B5\u53B7\u53B8\u53BA\u53BD"+
-        "\u53C0\u53C5\u53CF\u53D2\u53D3\u53D5\u53DA\u53DD"+
-        "\u53DE\u53E0\u53E6\u53E7\u53F5\u5402\u5413\u541A"+
-        "\u5421\u5427\u5428\u542A\u542F\u5431\u5434\u5435"+
-        "\u5443\u5444\u5447\u544D\u544F\u545E\u5462\u5464"+
-        "\u5466\u5467\u5469\u546B\u546D\u546E\u5474\u547F"+
-        "\u5481\u5483\u5485\u5488\u5489\u548D\u5491\u5495"+
-        "\u5496\u549C\u549F\u54A1\u54A6\u54A7\u54A9\u54AA"+
-        "\u54AD\u54AE\u54B1\u54B7\u54B9\u54BA\u54BB\u54BF"+
-        "\u54C6\u54CA\u54CD\u54CE\u54E0\u54EA\u54EC\u54EF"+
-        "\u54F6\u54FC\u54FE\u54FF\u5500\u5501\u5505\u5508"+
-        "\u5509\u550C\u550D\u550E\u5515\u552A\u552B\u5532"+
-        "\u5535\u5536\u553B\u553C\u553D\u5541\u5547\u5549"+
-        "\u554A\u554D\u5550\u5551\u5558\u555A\u555B\u555E"+
-        "\u5560\u5561\u5564\u5566\u557F\u5581\u5582\u5586"+
-        "\u5588\u558E\u558F\u5591\u5592\u5593\u5594\u5597"+
-        "\u55A3\u55A4\u55AD\u55B2\u55BF\u55C1\u55C3\u55C6"+
-        "\u55C9\u55CB\u55CC\u55CE\u55D1\u55D2\u55D3\u55D7"+
-        "\u55D8\u55DB\u55DE\u55E2\u55E9\u55F6\u55FF\u5605"+
-        "\u5608\u560A\u560D\u560E\u560F\u5610\u5611\u5612"+
-        "\u5619\u562C\u5630\u5633\u5635\u5637\u5639\u563B"+
-        "\u563C\u563D\u563F\u5640\u5641\u5643\u5644\u5646"+
-        "\u5649\u564B\u564D\u564F\u5654\u565E\u5660\u5661"+
-        "\u5662\u5663\u5666\u5669\u566D\u566F\u5671\u5672"+
-        "\u5675\u5684\u5685\u5688\u568B\u568C\u5695\u5699"+
-        "\u569A\u569D\u569E\u569F\u56A6\u56A7\u56A8\u56A9"+
-        "\u56AB\u56AC\u56AD\u56B1\u56B3\u56B7\u56BE\u56C5"+
-        "\u56C9\u56CA\u56CB\u56CF\u56D0\u56CC\u56CD\u56D9"+
-        "\u56DC\u56DD\u56DF\u56E1\u56E4\u56E5\u56E6\u56E7"+
-        "\u56E8\u56F1\u56EB\u56ED\u56F6\u56F7\u5701\u5702"+
-        "\u5707\u570A\u570C\u5711\u5715\u571A\u571B\u571D"+
-        "\u5720\u5722\u5723\u5724\u5725\u5729\u572A\u572C"+
-        "\u572E\u572F\u5733\u5734\u573D\u573E\u573F\u5745"+
-        "\u5746\u574C\u574D\u5752\u5762\u5765\u5767\u5768"+
-        "\u576B\u576D\u576E\u576F\u5770\u5771\u5773\u5774"+
-        "\u5775\u5777\u5779\u577A\u577B\u577C\u577E\u5781"+
-        "\u5783\u578C\u5794\u5797\u5799\u579A\u579C\u579D"+
-        "\u579E\u579F\u57A1\u5795\u57A7\u57A8\u57A9\u57AC"+
-        "\u57B8\u57BD\u57C7\u57C8\u57CC\u57CF\u57D5\u57DD"+
-        "\u57DE\u57E4\u57E6\u57E7\u57E9\u57ED\u57F0\u57F5"+
-        "\u57F6\u57F8\u57FD\u57FE\u57FF\u5803\u5804\u5808"+
-        "\u5809\u57E1\u580C\u580D\u581B\u581E\u581F\u5820"+
-        "\u5826\u5827\u582D\u5832\u5839\u583F\u5849\u584C"+
-        "\u584D\u584F\u5850\u5855\u585F\u5861\u5864\u5867"+
-        "\u5868\u5878\u587C\u587F\u5880\u5881\u5887\u5888"+
-        "\u5889\u588A\u588C\u588D\u588F\u5890\u5894\u5896"+
-        "\u589D\u58A0\u58A1\u58A2\u58A6\u58A9\u58B1\u58B2"+
-        "\u58C4\u58BC\u58C2\u58C8\u58CD\u58CE\u58D0\u58D2"+
-        "\u58D4\u58D6\u58DA\u58DD\u58E1\u58E2\u58E9\u58F3"+
-        "\u5905\u5906\u590B\u590C\u5912\u5913\u5914\u8641"+
-        "\u591D\u5921\u5923\u5924\u5928\u592F\u5930\u5933"+
-        "\u5935\u5936\u593F\u5943\u5946\u5952\u5953\u5959"+
-        "\u595B\u595D\u595E\u595F\u5961\u5963\u596B\u596D";
-
-    private final static String innerIndex1=
-        "\u596F\u5972\u5975\u5976\u5979\u597B\u597C\u598B"+
-        "\u598C\u598E\u5992\u5995\u5997\u599F\u59A4\u59A7"+
-        "\u59AD\u59AE\u59AF\u59B0\u59B3\u59B7\u59BA\u59BC"+
-        "\u59C1\u59C3\u59C4\u59C8\u59CA\u59CD\u59D2\u59DD"+
-        "\u59DE\u59DF\u59E3\u59E4\u59E7\u59EE\u59EF\u59F1"+
-        "\u59F2\u59F4\u59F7\u5A00\u5A04\u5A0C\u5A0D\u5A0E"+
-        "\u5A12\u5A13\u5A1E\u5A23\u5A24\u5A27\u5A28\u5A2A"+
-        "\u5A2D\u5A30\u5A44\u5A45\u5A47\u5A48\u5A4C\u5A50"+
-        "\u5A55\u5A5E\u5A63\u5A65\u5A67\u5A6D\u5A77\u5A7A"+
-        "\u5A7B\u5A7E\u5A8B\u5A90\u5A93\u5A96\u5A99\u5A9C"+
-        "\u5A9E\u5A9F\u5AA0\u5AA2\u5AA7\u5AAC\u5AB1\u5AB2"+
-        "\u5AB3\u5AB5\u5AB8\u5ABA\u5ABB\u5ABF\u5AC4\u5AC6"+
-        "\u5AC8\u5ACF\u5ADA\u5ADC\u5AE0\u5AE5\u5AEA\u5AEE"+
-        "\u5AF5\u5AF6\u5AFD\u5B00\u5B01\u5B08\u5B17\u5B34"+
-        "\u5B19\u5B1B\u5B1D\u5B21\u5B25\u5B2D\u5B38\u5B41"+
-        "\u5B4B\u5B4C\u5B52\u5B56\u5B5E\u5B68\u5B6E\u5B6F"+
-        "\u5B7C\u5B7D\u5B7E\u5B7F\u5B81\u5B84\u5B86\u5B8A"+
-        "\u5B8E\u5B90\u5B91\u5B93\u5B94\u5B96\u5BA8\u5BA9"+
-        "\u5BAC\u5BAD\u5BAF\u5BB1\u5BB2\u5BB7\u5BBA\u5BBC"+
-        "\u5BC0\u5BC1\u5BCD\u5BCF\u5BD6\u5BD7\u5BD8\u5BD9"+
-        "\u5BDA\u5BE0\u5BEF\u5BF1\u5BF4\u5BFD\u5C0C\u5C17"+
-        "\u5C1E\u5C1F\u5C23\u5C26\u5C29\u5C2B\u5C2C\u5C2E"+
-        "\u5C30\u5C32\u5C35\u5C36\u5C59\u5C5A\u5C5C\u5C62"+
-        "\u5C63\u5C67\u5C68\u5C69\u5C6D\u5C70\u5C74\u5C75"+
-        "\u5C7A\u5C7B\u5C7C\u5C7D\u5C87\u5C88\u5C8A\u5C8F"+
-        "\u5C92\u5C9D\u5C9F\u5CA0\u5CA2\u5CA3\u5CA6\u5CAA"+
-        "\u5CB2\u5CB4\u5CB5\u5CBA\u5CC9\u5CCB\u5CD2\u5CDD"+
-        "\u5CD7\u5CEE\u5CF1\u5CF2\u5CF4\u5D01\u5D06\u5D0D"+
-        "\u5D12\u5D2B\u5D23\u5D24\u5D26\u5D27\u5D31\u5D34"+
-        "\u5D39\u5D3D\u5D3F\u5D42\u5D43\u5D46\u5D48\u5D55"+
-        "\u5D51\u5D59\u5D4A\u5D5F\u5D60\u5D61\u5D62\u5D64"+
-        "\u5D6A\u5D6D\u5D70\u5D79\u5D7A\u5D7E\u5D7F\u5D81"+
-        "\u5D83\u5D88\u5D8A\u5D92\u5D93\u5D94\u5D95\u5D99"+
-        "\u5D9B\u5D9F\u5DA0\u5DA7\u5DAB\u5DB0\u5DB4\u5DB8"+
-        "\u5DB9\u5DC3\u5DC7\u5DCB\u5DD0\u5DCE\u5DD8\u5DD9"+
-        "\u5DE0\u5DE4\u5DE9\u5DF8\u5DF9\u5E00\u5E07\u5E0D"+
-        "\u5E12\u5E14\u5E15\u5E18\u5E1F\u5E20\u5E2E\u5E28"+
-        "\u5E32\u5E35\u5E3E\u5E4B\u5E50\u5E49\u5E51\u5E56"+
-        "\u5E58\u5E5B\u5E5C\u5E5E\u5E68\u5E6A\u5E6B\u5E6C"+
-        "\u5E6D\u5E6E\u5E70\u5E80\u5E8B\u5E8E\u5EA2\u5EA4"+
-        "\u5EA5\u5EA8\u5EAA\u5EAC\u5EB1\u5EB3\u5EBD\u5EBE"+
-        "\u5EBF\u5EC6\u5ECC\u5ECB\u5ECE\u5ED1\u5ED2\u5ED4"+
-        "\u5ED5\u5EDC\u5EDE\u5EE5\u5EEB\u5F02\u5F06\u5F07"+
-        "\u5F08\u5F0E\u5F19\u5F1C\u5F1D\u5F21\u5F22\u5F23"+
-        "\u5F24\u5F28\u5F2B\u5F2C\u5F2E\u5F30\u5F34\u5F36"+
-        "\u5F3B\u5F3D\u5F3F\u5F40\u5F44\u5F45\u5F47\u5F4D"+
-        "\u5F50\u5F54\u5F58\u5F5B\u5F60\u5F63\u5F64\u5F67"+
-        "\u5F6F\u5F72\u5F74\u5F75\u5F78\u5F7A\u5F7D\u5F7E"+
-        "\u5F89\u5F8D\u5F8F\u5F96\u5F9C\u5F9D\u5FA2\u5FA7"+
-        "\u5FAB\u5FA4\u5FAC\u5FAF\u5FB0\u5FB1\u5FB8\u5FC4"+
-        "\u5FC7\u5FC8\u5FC9\u5FCB\u5FD0\u5FD1\u5FD2\u5FD3"+
-        "\u5FD4\u5FDE\u5FE1\u5FE2\u5FE8\u5FE9\u5FEA\u5FEC"+
-        "\u5FED\u5FEE\u5FEF\u5FF2\u5FF3\u5FF6\u5FFA\u5FFC"+
-        "\u6007\u600A\u600D\u6013\u6014\u6017\u6018\u601A"+
-        "\u601F\u6024\u602D\u6033\u6035\u6040\u6047\u6048"+
-        "\u6049\u604C\u6051\u6054\u6056\u6057\u605D\u6061"+
-        "\u6067\u6071\u607E\u607F\u6082\u6086\u6088\u608A"+
-        "\u608E\u6091\u6093\u6095\u6098\u609D\u609E\u60A2"+
-        "\u60A4\u60A5\u60A8\u60B0\u60B1\u60B7\u60BB\u60BE"+
-        "\u60C2\u60C4\u60C8\u60C9\u60CA\u60CB\u60CE\u60CF"+
-        "\u60D4\u60D5\u60D9\u60DB\u60DD\u60DE\u60E2\u60E5"+
-        "\u60F2\u60F5\u60F8\u60FC\u60FD\u6102\u6107\u610A"+
-        "\u610C\u6110\u6111\u6112\u6113\u6114\u6116\u6117"+
-        "\u6119\u611C\u611E\u6122\u612A\u612B\u6130\u6131"+
-        "\u6135\u6136\u6137\u6139\u6141\u6145\u6146\u6149"+
-        "\u615E\u6160\u616C\u6172\u6178\u617B\u617C\u617F"+
-        "\u6180\u6181\u6183\u6184\u618B\u618D\u6192\u6193"+
-        "\u6197\u6198\u619C\u619D\u619F\u61A0\u61A5\u61A8"+
-        "\u61AA\u61AD\u61B8\u61B9\u61BC\u61C0\u61C1\u61C2"+
-        "\u61CE\u61CF\u61D5\u61DC\u61DD\u61DE\u61DF\u61E1"+
-        "\u61E2\u61E7\u61E9\u61E5\u61EC\u61ED\u61EF\u6201"+
-        "\u6203\u6204\u6207\u6213\u6215\u621C\u6220\u6222"+
-        "\u6223\u6227\u6229\u622B\u6239\u623D\u6242\u6243"+
-        "\u6244\u6246\u624C\u6250\u6251\u6252\u6254\u6256"+
-        "\u625A\u625C\u6264\u626D\u626F\u6273\u627A\u627D"+
-        "\u628D\u628E\u628F\u6290\u62A6\u62A8\u62B3\u62B6"+
-        "\u62B7\u62BA\u62BE\u62BF\u62C4\u62CE\u62D5\u62D6"+
-        "\u62DA\u62EA\u62F2\u62F4\u62FC\u62FD\u6303\u6304"+
-        "\u630A\u630B\u630D\u6310\u6313\u6316\u6318\u6329"+
-        "\u632A\u632D\u6335\u6336\u6339\u633C\u6341\u6342"+
-        "\u6343\u6344\u6346\u634A\u634B\u634E\u6352\u6353"+
-        "\u6354\u6358\u635B\u6365\u6366\u636C\u636D\u6371"+
-        "\u6374\u6375\u6378\u637C\u637D\u637F\u6382\u6384"+
-        "\u6387\u638A\u6390\u6394\u6395\u6399\u639A\u639E"+
-        "\u63A4\u63A6\u63AD\u63AE\u63AF\u63BD\u63C1\u63C5"+
-        "\u63C8\u63CE\u63D1\u63D3\u63D4\u63D5\u63DC\u63E0"+
-        "\u63E5\u63EA\u63EC\u63F2\u63F3\u63F5\u63F8\u63F9"+
-        "\u6409\u640A\u6410\u6412\u6414\u6418\u641E\u6420"+
-        "\u6422\u6424\u6425\u6429\u642A\u642F\u6430\u6435"+
-        "\u643D\u643F\u644B\u644F\u6451\u6452\u6453\u6454"+
-        "\u645A\u645B\u645C\u645D\u645F\u6460\u6461\u6463"+
-        "\u646D\u6473\u6474\u647B\u647D\u6485\u6487\u648F"+
-        "\u6490\u6491\u6498\u6499\u649B\u649D\u649F\u64A1"+
-        "\u64A3\u64A6\u64A8\u64AC\u64B3\u64BD\u64BE\u64BF"+
-        "\u64C4\u64C9\u64CA\u64CB\u64CC\u64CE\u64D0\u64D1"+
-        "\u64D5\u64D7\u64E4\u64E5\u64E9\u64EA\u64ED\u64F0"+
-        "\u64F5\u64F7\u64FB\u64FF\u6501\u6504\u6508\u6509"+
-        "\u650A\u650F\u6513\u6514\u6516\u6519\u651B\u651E"+
-        "\u651F\u6522\u6526\u6529\u652E\u6531\u653A\u653C"+
-        "\u653D\u6543\u6547\u6549\u6550\u6552\u6554\u655F"+
-        "\u6560\u6567\u656B\u657A\u657D\u6581\u6585\u658A"+
-        "\u6592\u6595\u6598\u659D\u65A0\u65A3\u65A6\u65AE"+
-        "\u65B2\u65B3\u65B4\u65BF\u65C2\u65C8\u65C9\u65CE"+
-        "\u65D0\u65D4\u65D6\u65D8\u65DF\u65F0\u65F2\u65F4"+
-        "\u65F5\u65F9\u65FE\u65FF\u6600\u6604\u6608\u6609"+
-        "\u660D\u6611\u6612\u6615\u6616\u661D\u661E\u6621"+
-        "\u6622\u6623\u6624\u6626\u6629\u662A\u662B\u662C"+
-        "\u662E\u6630\u6631\u6633\u6639\u6637\u6640\u6645"+
-        "\u6646\u664A\u664C\u6651\u664E\u6657\u6658\u6659"+
-        "\u665B\u665C\u6660\u6661\u66FB\u666A\u666B\u666C"+
-        "\u667E\u6673\u6675\u667F\u6677\u6678\u6679\u667B"+
-        "\u6680\u667C\u668B\u668C\u668D\u6690\u6692\u6699"+
-        "\u669A\u669B\u669C\u669F\u66A0\u66A4\u66AD\u66B1"+
-        "\u66B2\u66B5\u66BB\u66BF\u66C0\u66C2\u66C3\u66C8"+
-        "\u66CC\u66CE\u66CF\u66D4\u66DB\u66DF\u66E8\u66EB"+
-        "\u66EC\u66EE\u66FA\u6705\u6707\u670E\u6713\u6719"+
-        "\u671C\u6720\u6722\u6733\u673E\u6745\u6747\u6748"+
-        "\u674C\u6754\u6755\u675D\u6766\u676C\u676E\u6774"+
-        "\u6776\u677B\u6781\u6784\u678E\u678F\u6791\u6793"+
-        "\u6796\u6798\u6799\u679B\u67B0\u67B1\u67B2\u67B5"+
-        "\u67BB\u67BC\u67BD\u67F9\u67C0\u67C2\u67C3\u67C5"+
-        "\u67C8\u67C9\u67D2\u67D7\u67D9\u67DC\u67E1\u67E6"+
-        "\u67F0\u67F2\u67F6\u67F7\u6852\u6814\u6819\u681D"+
-        "\u681F\u6828\u6827\u682C\u682D\u682F\u6830\u6831"+
-        "\u6833\u683B\u683F\u6844\u6845\u684A\u684C\u6855"+
-        "\u6857\u6858\u685B\u686B\u686E\u686F\u6870\u6871"+
-        "\u6872\u6875\u6879\u687A\u687B\u687C\u6882\u6884"+
-        "\u6886\u6888\u6896\u6898\u689A\u689C\u68A1\u68A3"+
-        "\u68A5\u68A9\u68AA\u68AE\u68B2\u68BB\u68C5\u68C8"+
-        "\u68CC\u68CF\u68D0\u68D1\u68D3\u68D6\u68D9\u68DC"+
-        "\u68DD\u68E5\u68E8\u68EA\u68EB\u68EC\u68ED\u68F0"+
-        "\u68F1\u68F5\u68F6\u68FB\u68FC\u68FD\u6906\u6909"+
-        "\u690A\u6910\u6911\u6913\u6916\u6917\u6931\u6933"+
-        "\u6935\u6938\u693B\u6942\u6945\u6949\u694E\u6957"+
-        "\u695B\u6963\u6964\u6965\u6966\u6968\u6969\u696C"+
-        "\u6970\u6971\u6972\u697A\u697B\u697F\u6980\u698D"+
-        "\u6992\u6996\u6998\u69A1\u69A5\u69A6\u69A8\u69AB"+
-        "\u69AD\u69AF\u69B7\u69B8\u69BA\u69BC\u69C5\u69C8"+
-        "\u69D1\u69D6\u69D7\u69E2\u69E5\u69EE\u69EF\u69F1"+
-        "\u69F3\u69F5\u69FE\u6A00\u6A01\u6A03\u6A0F\u6A11"+
-        "\u6A15\u6A1A\u6A1D\u6A20\u6A24\u6A28\u6A30\u6A32"+
-        "\u6A34\u6A37\u6A3B\u6A3E\u6A3F\u6A45\u6A46\u6A49"+
-        "\u6A4A\u6A4E\u6A50\u6A51\u6A52\u6A55\u6A56\u6A5B"+
-        "\u6A64\u6A67\u6A6A\u6A71\u6A73\u6A7E\u6A81\u6A83"+
-        "\u6A86\u6A87\u6A89\u6A8B\u6A91\u6A9B\u6A9D\u6A9E"+
-        "\u6A9F\u6AA5\u6AAB\u6AAF\u6AB0\u6AB1\u6AB4\u6ABD"+
-        "\u6ABE\u6ABF\u6AC6\u6AC9\u6AC8\u6ACC\u6AD0\u6AD4"+
-        "\u6AD5\u6AD6\u6ADC\u6ADD\u6AE4\u6AE7\u6AEC\u6AF0"+
-        "\u6AF1\u6AF2\u6AFC\u6AFD\u6B02\u6B03\u6B06\u6B07"+
-        "\u6B09\u6B0F\u6B10\u6B11\u6B17\u6B1B\u6B1E\u6B24"+
-        "\u6B28\u6B2B\u6B2C\u6B2F\u6B35\u6B36\u6B3B\u6B3F"+
-        "\u6B46\u6B4A\u6B4D\u6B52\u6B56\u6B58\u6B5D\u6B60"+
-        "\u6B67\u6B6B\u6B6E\u6B70\u6B75\u6B7D\u6B7E\u6B82"+
-        "\u6B85\u6B97\u6B9B\u6B9F\u6BA0\u6BA2\u6BA3\u6BA8"+
-        "\u6BA9\u6BAC\u6BAD\u6BAE\u6BB0\u6BB8\u6BB9\u6BBD"+
-        "\u6BBE\u6BC3\u6BC4\u6BC9\u6BCC\u6BD6\u6BDA\u6BE1"+
-        "\u6BE3\u6BE6\u6BE7\u6BEE\u6BF1\u6BF7\u6BF9\u6BFF"+
-        "\u6C02\u6C04\u6C05\u6C09\u6C0D\u6C0E\u6C10\u6C12"+
-        "\u6C19\u6C1F\u6C26\u6C27\u6C28\u6C2C\u6C2E\u6C33"+
-        "\u6C35\u6C36\u6C3A\u6C3B\u6C3F\u6C4A\u6C4B\u6C4D"+
-        "\u6C4F\u6C52\u6C54\u6C59\u6C5B\u6C5C\u6C6B\u6C6D"+
-        "\u6C6F\u6C74\u6C76\u6C78\u6C79\u6C7B\u6C85\u6C86"+
-        "\u6C87\u6C89\u6C94\u6C95\u6C97\u6C98\u6C9C\u6C9F"+
-        "\u6CB0\u6CB2\u6CB4\u6CC2\u6CC6\u6CCD\u6CCF\u6CD0"+
-        "\u6CD1\u6CD2\u6CD4\u6CD6\u6CDA\u6CDC\u6CE0\u6CE7"+
-        "\u6CE9\u6CEB\u6CEC\u6CEE\u6CF2\u6CF4\u6D04\u6D07"+
-        "\u6D0A\u6D0E\u6D0F\u6D11\u6D13\u6D1A\u6D26\u6D27"+
-        "\u6D28\u6C67\u6D2E\u6D2F\u6D31\u6D39\u6D3C\u6D3F"+
-        "\u6D57\u6D5E\u6D5F\u6D61\u6D65\u6D67\u6D6F\u6D70"+
-        "\u6D7C\u6D82\u6D87\u6D91\u6D92\u6D94\u6D96\u6D97"+
-        "\u6D98\u6DAA\u6DAC\u6DB4\u6DB7\u6DB9\u6DBD\u6DBF"+
-        "\u6DC4\u6DC8\u6DCA\u6DCE\u6DCF\u6DD6\u6DDB\u6DDD"+
-        "\u6DDF\u6DE0\u6DE2\u6DE5\u6DE9\u6DEF\u6DF0\u6DF4"+
-        "\u6DF6\u6DFC\u6E00\u6E04\u6E1E\u6E22\u6E27\u6E32"+
-        "\u6E36\u6E39\u6E3B\u6E3C\u6E44\u6E45\u6E48\u6E49"+
-        "\u6E4B\u6E4F\u6E51\u6E52\u6E53\u6E54\u6E57\u6E5C"+
-        "\u6E5D\u6E5E\u6E62\u6E63\u6E68\u6E73\u6E7B\u6E7D"+
-        "\u6E8D\u6E93\u6E99\u6EA0\u6EA7\u6EAD\u6EAE\u6EB1"+
-        "\u6EB3\u6EBB\u6EBF\u6EC0\u6EC1\u6EC3\u6EC7\u6EC8"+
-        "\u6ECA\u6ECD\u6ECE\u6ECF\u6EEB\u6EED\u6EEE\u6EF9"+
-        "\u6EFB\u6EFD\u6F04\u6F08\u6F0A\u6F0C\u6F0D\u6F16"+
-        "\u6F18\u6F1A\u6F1B\u6F26\u6F29\u6F2A\u6F2F\u6F30"+
-        "\u6F33\u6F36\u6F3B\u6F3C\u6F2D\u6F4F\u6F51\u6F52"+
-        "\u6F53\u6F57\u6F59\u6F5A\u6F5D\u6F5E\u6F61\u6F62"+
-        "\u6F68\u6F6C\u6F7D\u6F7E\u6F83\u6F87\u6F88\u6F8B"+
-        "\u6F8C\u6F8D\u6F90\u6F92\u6F93\u6F94\u6F96\u6F9A"+
-        "\u6F9F\u6FA0\u6FA5\u6FA6\u6FA7\u6FA8\u6FAE\u6FAF"+
-        "\u6FB0\u6FB5\u6FB6\u6FBC\u6FC5\u6FC7\u6FC8\u6FCA";
-
-    private final static String innerIndex2=
-        "\u6FDA\u6FDE\u6FE8\u6FE9\u6FF0\u6FF5\u6FF9\u6FFC"+
-        "\u6FFD\u7000\u7005\u7006\u7007\u700D\u7017\u7020"+
-        "\u7023\u702F\u7034\u7037\u7039\u703C\u7043\u7044"+
-        "\u7048\u7049\u704A\u704B\u7054\u7055\u705D\u705E"+
-        "\u704E\u7064\u7065\u706C\u706E\u7075\u7076\u707E"+
-        "\u7081\u7085\u7086\u7094\u7095\u7096\u7097\u7098"+
-        "\u709B\u70A4\u70AB\u70B0\u70B1\u70B4\u70B7\u70CA"+
-        "\u70D1\u70D3\u70D4\u70D5\u70D6\u70D8\u70DC\u70E4"+
-        "\u70FA\u7103\u7104\u7105\u7106\u7107\u710B\u710C"+
-        "\u710F\u711E\u7120\u712B\u712D\u712F\u7130\u7131"+
-        "\u7138\u7141\u7145\u7146\u7147\u714A\u714B\u7150"+
-        "\u7152\u7157\u715A\u715C\u715E\u7160\u7168\u7179"+
-        "\u7180\u7185\u7187\u718C\u7192\u719A\u719B\u71A0"+
-        "\u71A2\u71AF\u71B0\u71B2\u71B3\u71BA\u71BF\u71C0"+
-        "\u71C1\u71C4\u71CB\u71CC\u71D3\u71D6\u71D9\u71DA"+
-        "\u71DC\u71F8\u71FE\u7200\u7207\u7208\u7209\u7213"+
-        "\u7217\u721A\u721D\u721F\u7224\u722B\u722F\u7234"+
-        "\u7238\u7239\u7241\u7242\u7243\u7245\u724E\u724F"+
-        "\u7250\u7253\u7255\u7256\u725A\u725C\u725E\u7260"+
-        "\u7263\u7268\u726B\u726E\u726F\u7271\u7277\u7278"+
-        "\u727B\u727C\u727F\u7284\u7289\u728D\u728E\u7293"+
-        "\u729B\u72A8\u72AD\u72AE\u72B1\u72B4\u72BE\u72C1"+
-        "\u72C7\u72C9\u72CC\u72D5\u72D6\u72D8\u72DF\u72E5"+
-        "\u72F3\u72F4\u72FA\u72FB\u72FE\u7302\u7304\u7305"+
-        "\u7307\u730B\u730D\u7312\u7313\u7318\u7319\u731E"+
-        "\u7322\u7324\u7327\u7328\u732C\u7331\u7332\u7335"+
-        "\u733A\u733B\u733D\u7343\u734D\u7350\u7352\u7356"+
-        "\u7358\u735D\u735E\u735F\u7360\u7366\u7367\u7369"+
-        "\u736B\u736C\u736E\u736F\u7371\u7377\u7379\u737C"+
-        "\u7380\u7381\u7383\u7385\u7386\u738E\u7390\u7393"+
-        "\u7395\u7397\u7398\u739C\u739E\u739F\u73A0\u73A2"+
-        "\u73A5\u73A6\u73AA\u73AB\u73AD\u73B5\u73B7\u73B9"+
-        "\u73BC\u73BD\u73BF\u73C5\u73C6\u73C9\u73CB\u73CC"+
-        "\u73CF\u73D2\u73D3\u73D6\u73D9\u73DD\u73E1\u73E3"+
-        "\u73E6\u73E7\u73E9\u73F4\u73F5\u73F7\u73F9\u73FA"+
-        "\u73FB\u73FD\u73FF\u7400\u7401\u7404\u7407\u740A"+
-        "\u7411\u741A\u741B\u7424\u7426\u7428\u7429\u742A"+
-        "\u742B\u742C\u742D\u742E\u742F\u7430\u7431\u7439"+
-        "\u7440\u7443\u7444\u7446\u7447\u744B\u744D\u7451"+
-        "\u7452\u7457\u745D\u7462\u7466\u7467\u7468\u746B"+
-        "\u746D\u746E\u7471\u7472\u7480\u7481\u7485\u7486"+
-        "\u7487\u7489\u748F\u7490\u7491\u7492\u7498\u7499"+
-        "\u749A\u749C\u749F\u74A0\u74A1\u74A3\u74A6\u74A8"+
-        "\u74A9\u74AA\u74AB\u74AE\u74AF\u74B1\u74B2\u74B5"+
-        "\u74B9\u74BB\u74BF\u74C8\u74C9\u74CC\u74D0\u74D3"+
-        "\u74D8\u74DA\u74DB\u74DE\u74DF\u74E4\u74E8\u74EA"+
-        "\u74EB\u74EF\u74F4\u74FA\u74FB\u74FC\u74FF\u7506"+
-        "\u7512\u7516\u7517\u7520\u7521\u7524\u7527\u7529"+
-        "\u752A\u752F\u7536\u7539\u753D\u753E\u753F\u7540"+
-        "\u7543\u7547\u7548\u754E\u7550\u7552\u7557\u755E"+
-        "\u755F\u7561\u756F\u7571\u7579\u757A\u757B\u757C"+
-        "\u757D\u757E\u7581\u7585\u7590\u7592\u7593\u7595"+
-        "\u7599\u759C\u75A2\u75A4\u75B4\u75BA\u75BF\u75C0"+
-        "\u75C1\u75C4\u75C6\u75CC\u75CE\u75CF\u75D7\u75DC"+
-        "\u75DF\u75E0\u75E1\u75E4\u75E7\u75EC\u75EE\u75EF"+
-        "\u75F1\u75F9\u7600\u7602\u7603\u7604\u7607\u7608"+
-        "\u760A\u760C\u760F\u7612\u7613\u7615\u7616\u7619"+
-        "\u761B\u761C\u761D\u761E\u7623\u7625\u7626\u7629"+
-        "\u762D\u7632\u7633\u7635\u7638\u7639\u763A\u763C"+
-        "\u764A\u7640\u7641\u7643\u7644\u7645\u7649\u764B"+
-        "\u7655\u7659\u765F\u7664\u7665\u766D\u766E\u766F"+
-        "\u7671\u7674\u7681\u7685\u768C\u768D\u7695\u769B"+
-        "\u769C\u769D\u769F\u76A0\u76A2\u76A3\u76A4\u76A5"+
-        "\u76A6\u76A7\u76A8\u76AA\u76AD\u76BD\u76C1\u76C5"+
-        "\u76C9\u76CB\u76CC\u76CE\u76D4\u76D9\u76E0\u76E6"+
-        "\u76E8\u76EC\u76F0\u76F1\u76F6\u76F9\u76FC\u7700"+
-        "\u7706\u770A\u770E\u7712\u7714\u7715\u7717\u7719"+
-        "\u771A\u771C\u7722\u7728\u772D\u772E\u772F\u7734"+
-        "\u7735\u7736\u7739\u773D\u773E\u7742\u7745\u7746"+
-        "\u774A\u774D\u774E\u774F\u7752\u7756\u7757\u775C"+
-        "\u775E\u775F\u7760\u7762\u7764\u7767\u776A\u776C"+
-        "\u7770\u7772\u7773\u7774\u777A\u777D\u7780\u7784"+
-        "\u778C\u778D\u7794\u7795\u7796\u779A\u779F\u77A2"+
-        "\u77A7\u77AA\u77AE\u77AF\u77B1\u77B5\u77BE\u77C3"+
-        "\u77C9\u77D1\u77D2\u77D5\u77D9\u77DE\u77DF\u77E0"+
-        "\u77E4\u77E6\u77EA\u77EC\u77F0\u77F1\u77F4\u77F8"+
-        "\u77FB\u7805\u7806\u7809\u780D\u780E\u7811\u781D"+
-        "\u7821\u7822\u7823\u782D\u782E\u7830\u7835\u7837"+
-        "\u7843\u7844\u7847\u7848\u784C\u784E\u7852\u785C"+
-        "\u785E\u7860\u7861\u7863\u7864\u7868\u786A\u786E"+
-        "\u787A\u787E\u788A\u788F\u7894\u7898\u78A1\u789D"+
-        "\u789E\u789F\u78A4\u78A8\u78AC\u78AD\u78B0\u78B1"+
-        "\u78B2\u78B3\u78BB\u78BD\u78BF\u78C7\u78C8\u78C9"+
-        "\u78CC\u78CE\u78D2\u78D3\u78D5\u78D6\u78E4\u78DB"+
-        "\u78DF\u78E0\u78E1\u78E6\u78EA\u78F2\u78F3\u7900"+
-        "\u78F6\u78F7\u78FA\u78FB\u78FF\u7906\u790C\u7910"+
-        "\u791A\u791C\u791E\u791F\u7920\u7925\u7927\u7929"+
-        "\u792D\u7931\u7934\u7935\u793B\u793D\u793F\u7944"+
-        "\u7945\u7946\u794A\u794B\u794F\u7951\u7954\u7958"+
-        "\u795B\u795C\u7967\u7969\u796B\u7972\u7979\u797B"+
-        "\u797C\u797E\u798B\u798C\u7991\u7993\u7994\u7995"+
-        "\u7996\u7998\u799B\u799C\u79A1\u79A8\u79A9\u79AB"+
-        "\u79AF\u79B1\u79B4\u79B8\u79BB\u79C2\u79C4\u79C7"+
-        "\u79C8\u79CA\u79CF\u79D4\u79D6\u79DA\u79DD\u79DE"+
-        "\u79E0\u79E2\u79E5\u79EA\u79EB\u79ED\u79F1\u79F8"+
-        "\u79FC\u7A02\u7A03\u7A07\u7A09\u7A0A\u7A0C\u7A11"+
-        "\u7A15\u7A1B\u7A1E\u7A21\u7A27\u7A2B\u7A2D\u7A2F"+
-        "\u7A30\u7A34\u7A35\u7A38\u7A39\u7A3A\u7A44\u7A45"+
-        "\u7A47\u7A48\u7A4C\u7A55\u7A56\u7A59\u7A5C\u7A5D"+
-        "\u7A5F\u7A60\u7A65\u7A67\u7A6A\u7A6D\u7A75\u7A78"+
-        "\u7A7E\u7A80\u7A82\u7A85\u7A86\u7A8A\u7A8B\u7A90"+
-        "\u7A91\u7A94\u7A9E\u7AA0\u7AA3\u7AAC\u7AB3\u7AB5"+
-        "\u7AB9\u7ABB\u7ABC\u7AC6\u7AC9\u7ACC\u7ACE\u7AD1"+
-        "\u7ADB\u7AE8\u7AE9\u7AEB\u7AEC\u7AF1\u7AF4\u7AFB"+
-        "\u7AFD\u7AFE\u7B07\u7B14\u7B1F\u7B23\u7B27\u7B29"+
-        "\u7B2A\u7B2B\u7B2D\u7B2E\u7B2F\u7B30\u7B31\u7B34"+
-        "\u7B3D\u7B3F\u7B40\u7B41\u7B47\u7B4E\u7B55\u7B60"+
-        "\u7B64\u7B66\u7B69\u7B6A\u7B6D\u7B6F\u7B72\u7B73"+
-        "\u7B77\u7B84\u7B89\u7B8E\u7B90\u7B91\u7B96\u7B9B"+
-        "\u7B9E\u7BA0\u7BA5\u7BAC\u7BAF\u7BB0\u7BB2\u7BB5"+
-        "\u7BB6\u7BBA\u7BBB\u7BBC\u7BBD\u7BC2\u7BC5\u7BC8"+
-        "\u7BCA\u7BD4\u7BD6\u7BD7\u7BD9\u7BDA\u7BDB\u7BE8"+
-        "\u7BEA\u7BF2\u7BF4\u7BF5\u7BF8\u7BF9\u7BFA\u7BFC"+
-        "\u7BFE\u7C01\u7C02\u7C03\u7C04\u7C06\u7C09\u7C0B"+
-        "\u7C0C\u7C0E\u7C0F\u7C19\u7C1B\u7C20\u7C25\u7C26"+
-        "\u7C28\u7C2C\u7C31\u7C33\u7C34\u7C36\u7C39\u7C3A"+
-        "\u7C46\u7C4A\u7C55\u7C51\u7C52\u7C53\u7C59\u7C5A"+
-        "\u7C5B\u7C5C\u7C5D\u7C5E\u7C61\u7C63\u7C67\u7C69"+
-        "\u7C6D\u7C6E\u7C70\u7C72\u7C79\u7C7C\u7C7D\u7C86"+
-        "\u7C87\u7C8F\u7C94\u7C9E\u7CA0\u7CA6\u7CB0\u7CB6"+
-        "\u7CB7\u7CBA\u7CBB\u7CBC\u7CBF\u7CC4\u7CC7\u7CC8"+
-        "\u7CC9\u7CCD\u7CCF\u7CD3\u7CD4\u7CD5\u7CD7\u7CD9"+
-        "\u7CDA\u7CDD\u7CE6\u7CE9\u7CEB\u7CF5\u7D03\u7D07"+
-        "\u7D08\u7D09\u7D0F\u7D11\u7D12\u7D13\u7D16\u7D1D"+
-        "\u7D1E\u7D23\u7D26\u7D2A\u7D2D\u7D31\u7D3C\u7D3D"+
-        "\u7D3E\u7D40\u7D41\u7D47\u7D48\u7D4D\u7D51\u7D53"+
-        "\u7D57\u7D59\u7D5A\u7D5C\u7D5D\u7D65\u7D67\u7D6A"+
-        "\u7D70\u7D78\u7D7A\u7D7B\u7D7F\u7D81\u7D82\u7D83"+
-        "\u7D85\u7D86\u7D88\u7D8B\u7D8C\u7D8D\u7D91\u7D96"+
-        "\u7D97\u7D9D\u7D9E\u7DA6\u7DA7\u7DAA\u7DB3\u7DB6"+
-        "\u7DB7\u7DB9\u7DC2\u7DC3\u7DC4\u7DC5\u7DC6\u7DCC"+
-        "\u7DCD\u7DCE\u7DD7\u7DD9\u7E00\u7DE2\u7DE5\u7DE6"+
-        "\u7DEA\u7DEB\u7DED\u7DF1\u7DF5\u7DF6\u7DF9\u7DFA"+
-        "\u7E08\u7E10\u7E11\u7E15\u7E17\u7E1C\u7E1D\u7E20"+
-        "\u7E27\u7E28\u7E2C\u7E2D\u7E2F\u7E33\u7E36\u7E3F"+
-        "\u7E44\u7E45\u7E47\u7E4E\u7E50\u7E52\u7E58\u7E5F"+
-        "\u7E61\u7E62\u7E65\u7E6B\u7E6E\u7E6F\u7E73\u7E78"+
-        "\u7E7E\u7E81\u7E86\u7E87\u7E8A\u7E8D\u7E91\u7E95"+
-        "\u7E98\u7E9A\u7E9D\u7E9E\u7F3C\u7F3B\u7F3D\u7F3E"+
-        "\u7F3F\u7F43\u7F44\u7F47\u7F4F\u7F52\u7F53\u7F5B"+
-        "\u7F5C\u7F5D\u7F61\u7F63\u7F64\u7F65\u7F66\u7F6D"+
-        "\u7F71\u7F7D\u7F7E\u7F7F\u7F80\u7F8B\u7F8D\u7F8F"+
-        "\u7F90\u7F91\u7F96\u7F97\u7F9C\u7FA1\u7FA2\u7FA6"+
-        "\u7FAA\u7FAD\u7FB4\u7FBC\u7FBF\u7FC0\u7FC3\u7FC8"+
-        "\u7FCE\u7FCF\u7FDB\u7FDF\u7FE3\u7FE5\u7FE8\u7FEC"+
-        "\u7FEE\u7FEF\u7FF2\u7FFA\u7FFD\u7FFE\u7FFF\u8007"+
-        "\u8008\u800A\u800D\u800E\u800F\u8011\u8013\u8014"+
-        "\u8016\u801D\u801E\u801F\u8020\u8024\u8026\u802C"+
-        "\u802E\u8030\u8034\u8035\u8037\u8039\u803A\u803C"+
-        "\u803E\u8040\u8044\u8060\u8064\u8066\u806D\u8071"+
-        "\u8075\u8081\u8088\u808E\u809C\u809E\u80A6\u80A7"+
-        "\u80AB\u80B8\u80B9\u80C8\u80CD\u80CF\u80D2\u80D4"+
-        "\u80D5\u80D7\u80D8\u80E0\u80ED\u80EE\u80F0\u80F2"+
-        "\u80F3\u80F6\u80F9\u80FA\u80FE\u8103\u810B\u8116"+
-        "\u8117\u8118\u811C\u811E\u8120\u8124\u8127\u812C"+
-        "\u8130\u8135\u813A\u813C\u8145\u8147\u814A\u814C"+
-        "\u8152\u8157\u8160\u8161\u8167\u8168\u8169\u816D"+
-        "\u816F\u8177\u8181\u8190\u8184\u8185\u8186\u818B"+
-        "\u818E\u8196\u8198\u819B\u819E\u81A2\u81AE\u81B2"+
-        "\u81B4\u81BB\u81CB\u81C3\u81C5\u81CA\u81CE\u81CF"+
-        "\u81D5\u81D7\u81DB\u81DD\u81DE\u81E1\u81E4\u81EB"+
-        "\u81EC\u81F0\u81F1\u81F2\u81F5\u81F6\u81F8\u81F9"+
-        "\u81FD\u81FF\u8200\u8203\u820F\u8213\u8214\u8219"+
-        "\u821A\u821D\u8221\u8222\u8228\u8232\u8234\u823A"+
-        "\u8243\u8244\u8245\u8246\u824B\u824E\u824F\u8251"+
-        "\u8256\u825C\u8260\u8263\u8267\u826D\u8274\u827B"+
-        "\u827D\u827F\u8280\u8281\u8283\u8284\u8287\u8289"+
-        "\u828A\u828E\u8291\u8294\u8296\u8298\u829A\u829B"+
-        "\u82A0\u82A1\u82A3\u82A4\u82A7\u82A8\u82A9\u82AA"+
-        "\u82AE\u82B0\u82B2\u82B4\u82B7\u82BA\u82BC\u82BE"+
-        "\u82BF\u82C6\u82D0\u82D5\u82DA\u82E0\u82E2\u82E4"+
-        "\u82E8\u82EA\u82ED\u82EF\u82F6\u82F7\u82FD\u82FE"+
-        "\u8300\u8301\u8307\u8308\u830A\u830B\u8354\u831B"+
-        "\u831D\u831E\u831F\u8321\u8322\u832C\u832D\u832E"+
-        "\u8330\u8333\u8337\u833A\u833C\u833D\u8342\u8343"+
-        "\u8344\u8347\u834D\u834E\u8351\u8355\u8356\u8357"+
-        "\u8370\u8378\u837D\u837F\u8380\u8382\u8384\u8386"+
-        "\u838D\u8392\u8394\u8395\u8398\u8399\u839B\u839C"+
-        "\u839D\u83A6\u83A7\u83A9\u83AC\u83BE\u83BF\u83C0"+
-        "\u83C7\u83C9\u83CF\u83D0\u83D1\u83D4\u83DD\u8353"+
-        "\u83E8\u83EA\u83F6\u83F8\u83F9\u83FC\u8401\u8406"+
-        "\u840A\u840F\u8411\u8415\u8419\u83AD\u842F\u8439"+
-        "\u8445\u8447\u8448\u844A\u844D\u844F\u8451\u8452"+
-        "\u8456\u8458\u8459\u845A\u845C\u8460\u8464\u8465"+
-        "\u8467\u846A\u8470\u8473\u8474\u8476\u8478\u847C"+
-        "\u847D\u8481\u8485\u8492\u8493\u8495\u849E\u84A6"+
-        "\u84A8\u84A9\u84AA\u84AF\u84B1\u84B4\u84BA\u84BD"+
-        "\u84BE\u84C0\u84C2\u84C7\u84C8\u84CC\u84CF\u84D3";
-
-    private final static String innerIndex3=
-        "\u84DC\u84E7\u84EA\u84EF\u84F0\u84F1\u84F2\u84F7"+
-        "\u8532\u84FA\u84FB\u84FD\u8502\u8503\u8507\u850C"+
-        "\u850E\u8510\u851C\u851E\u8522\u8523\u8524\u8525"+
-        "\u8527\u852A\u852B\u852F\u8533\u8534\u8536\u853F"+
-        "\u8546\u854F\u8550\u8551\u8552\u8553\u8556\u8559"+
-        "\u855C\u855D\u855E\u855F\u8560\u8561\u8562\u8564"+
-        "\u856B\u856F\u8579\u857A\u857B\u857D\u857F\u8581"+
-        "\u8585\u8586\u8589\u858B\u858C\u858F\u8593\u8598"+
-        "\u859D\u859F\u85A0\u85A2\u85A5\u85A7\u85B4\u85B6"+
-        "\u85B7\u85B8\u85BC\u85BD\u85BE\u85BF\u85C2\u85C7"+
-        "\u85CA\u85CB\u85CE\u85AD\u85D8\u85DA\u85DF\u85E0"+
-        "\u85E6\u85E8\u85ED\u85F3\u85F6\u85FC\u85FF\u8600"+
-        "\u8604\u8605\u860D\u860E\u8610\u8611\u8612\u8618"+
-        "\u8619\u861B\u861E\u8621\u8627\u8629\u8636\u8638"+
-        "\u863A\u863C\u863D\u8640\u8642\u8646\u8652\u8653"+
-        "\u8656\u8657\u8658\u8659\u865D\u8660\u8661\u8662"+
-        "\u8663\u8664\u8669\u866C\u866F\u8675\u8676\u8677"+
-        "\u867A\u868D\u8691\u8696\u8698\u869A\u869C\u86A1"+
-        "\u86A6\u86A7\u86A8\u86AD\u86B1\u86B3\u86B4\u86B5"+
-        "\u86B7\u86B8\u86B9\u86BF\u86C0\u86C1\u86C3\u86C5"+
-        "\u86D1\u86D2\u86D5\u86D7\u86DA\u86DC\u86E0\u86E3"+
-        "\u86E5\u86E7\u8688\u86FA\u86FC\u86FD\u8704\u8705"+
-        "\u8707\u870B\u870E\u870F\u8710\u8713\u8714\u8719"+
-        "\u871E\u871F\u8721\u8723\u8728\u872E\u872F\u8731"+
-        "\u8732\u8739\u873A\u873C\u873D\u873E\u8740\u8743"+
-        "\u8745\u874D\u8758\u875D\u8761\u8764\u8765\u876F"+
-        "\u8771\u8772\u877B\u8783\u8784\u8785\u8786\u8787"+
-        "\u8788\u8789\u878B\u878C\u8790\u8793\u8795\u8797"+
-        "\u8798\u8799\u879E\u87A0\u87A3\u87A7\u87AC\u87AD"+
-        "\u87AE\u87B1\u87B5\u87BE\u87BF\u87C1\u87C8\u87C9"+
-        "\u87CA\u87CE\u87D5\u87D6\u87D9\u87DA\u87DC\u87DF"+
-        "\u87E2\u87E3\u87E4\u87EA\u87EB\u87ED\u87F1\u87F3"+
-        "\u87F8\u87FA\u87FF\u8801\u8803\u8806\u8809\u880A"+
-        "\u880B\u8810\u8819\u8812\u8813\u8814\u8818\u881A"+
-        "\u881B\u881C\u881E\u881F\u8828\u882D\u882E\u8830"+
-        "\u8832\u8835\u883A\u883C\u8841\u8843\u8845\u8848"+
-        "\u8849\u884A\u884B\u884E\u8851\u8855\u8856\u8858"+
-        "\u885A\u885C\u885F\u8860\u8864\u8869\u8871\u8879"+
-        "\u887B\u8880\u8898\u889A\u889B\u889C\u889F\u88A0"+
-        "\u88A8\u88AA\u88BA\u88BD\u88BE\u88C0\u88CA\u88CB"+
-        "\u88CC\u88CD\u88CE\u88D1\u88D2\u88D3\u88DB\u88DE"+
-        "\u88E7\u88EF\u88F0\u88F1\u88F5\u88F7\u8901\u8906"+
-        "\u890D\u890E\u890F\u8915\u8916\u8918\u8919\u891A"+
-        "\u891C\u8920\u8926\u8927\u8928\u8930\u8931\u8932"+
-        "\u8935\u8939\u893A\u893E\u8940\u8942\u8945\u8946"+
-        "\u8949\u894F\u8952\u8957\u895A\u895B\u895C\u8961"+
-        "\u8962\u8963\u896B\u896E\u8970\u8973\u8975\u897A"+
-        "\u897B\u897C\u897D\u8989\u898D\u8990\u8994\u8995"+
-        "\u899B\u899C\u899F\u89A0\u89A5\u89B0\u89B4\u89B5"+
-        "\u89B6\u89B7\u89BC\u89D4\u89D5\u89D6\u89D7\u89D8"+
-        "\u89E5\u89E9\u89EB\u89ED\u89F1\u89F3\u89F6\u89F9"+
-        "\u89FD\u89FF\u8A04\u8A05\u8A07\u8A0F\u8A11\u8A12"+
-        "\u8A14\u8A15\u8A1E\u8A20\u8A22\u8A24\u8A26\u8A2B"+
-        "\u8A2C\u8A2F\u8A35\u8A37\u8A3D\u8A3E\u8A40\u8A43"+
-        "\u8A45\u8A47\u8A49\u8A4D\u8A4E\u8A53\u8A56\u8A57"+
-        "\u8A58\u8A5C\u8A5D\u8A61\u8A65\u8A67\u8A75\u8A76"+
-        "\u8A77\u8A79\u8A7A\u8A7B\u8A7E\u8A7F\u8A80\u8A83"+
-        "\u8A86\u8A8B\u8A8F\u8A90\u8A92\u8A96\u8A97\u8A99"+
-        "\u8A9F\u8AA7\u8AA9\u8AAE\u8AAF\u8AB3\u8AB6\u8AB7"+
-        "\u8ABB\u8ABE\u8AC3\u8AC6\u8AC8\u8AC9\u8ACA\u8AD1"+
-        "\u8AD3\u8AD4\u8AD5\u8AD7\u8ADD\u8ADF\u8AEC\u8AF0"+
-        "\u8AF4\u8AF5\u8AF6\u8AFC\u8AFF\u8B05\u8B06\u8B0B"+
-        "\u8B11\u8B1C\u8B1E\u8B1F\u8B0A\u8B2D\u8B30\u8B37"+
-        "\u8B3C\u8B42\u8B43\u8B44\u8B45\u8B46\u8B48\u8B52"+
-        "\u8B53\u8B54\u8B59\u8B4D\u8B5E\u8B63\u8B6D\u8B76"+
-        "\u8B78\u8B79\u8B7C\u8B7E\u8B81\u8B84\u8B85\u8B8B"+
-        "\u8B8D\u8B8F\u8B94\u8B95\u8B9C\u8B9E\u8B9F\u8C38"+
-        "\u8C39\u8C3D\u8C3E\u8C45\u8C47\u8C49\u8C4B\u8C4F"+
-        "\u8C51\u8C53\u8C54\u8C57\u8C58\u8C5B\u8C5D\u8C59"+
-        "\u8C63\u8C64\u8C66\u8C68\u8C69\u8C6D\u8C73\u8C75"+
-        "\u8C76\u8C7B\u8C7E\u8C86\u8C87\u8C8B\u8C90\u8C92"+
-        "\u8C93\u8C99\u8C9B\u8C9C\u8CA4\u8CB9\u8CBA\u8CC5"+
-        "\u8CC6\u8CC9\u8CCB\u8CCF\u8CD6\u8CD5\u8CD9\u8CDD"+
-        "\u8CE1\u8CE8\u8CEC\u8CEF\u8CF0\u8CF2\u8CF5\u8CF7"+
-        "\u8CF8\u8CFE\u8CFF\u8D01\u8D03\u8D09\u8D12\u8D17"+
-        "\u8D1B\u8D65\u8D69\u8D6C\u8D6E\u8D7F\u8D82\u8D84"+
-        "\u8D88\u8D8D\u8D90\u8D91\u8D95\u8D9E\u8D9F\u8DA0"+
-        "\u8DA6\u8DAB\u8DAC\u8DAF\u8DB2\u8DB5\u8DB7\u8DB9"+
-        "\u8DBB\u8DC0\u8DC5\u8DC6\u8DC7\u8DC8\u8DCA\u8DCE"+
-        "\u8DD1\u8DD4\u8DD5\u8DD7\u8DD9\u8DE4\u8DE5\u8DE7"+
-        "\u8DEC\u8DF0\u8DBC\u8DF1\u8DF2\u8DF4\u8DFD\u8E01"+
-        "\u8E04\u8E05\u8E06\u8E0B\u8E11\u8E14\u8E16\u8E20"+
-        "\u8E21\u8E22\u8E23\u8E26\u8E27\u8E31\u8E33\u8E36"+
-        "\u8E37\u8E38\u8E39\u8E3D\u8E40\u8E41\u8E4B\u8E4D"+
-        "\u8E4E\u8E4F\u8E54\u8E5B\u8E5C\u8E5D\u8E5E\u8E61"+
-        "\u8E62\u8E69\u8E6C\u8E6D\u8E6F\u8E70\u8E71\u8E79"+
-        "\u8E7A\u8E7B\u8E82\u8E83\u8E89\u8E90\u8E92\u8E95"+
-        "\u8E9A\u8E9B\u8E9D\u8E9E\u8EA2\u8EA7\u8EA9\u8EAD"+
-        "\u8EAE\u8EB3\u8EB5\u8EBA\u8EBB\u8EC0\u8EC1\u8EC3"+
-        "\u8EC4\u8EC7\u8ECF\u8ED1\u8ED4\u8EDC\u8EE8\u8EEE"+
-        "\u8EF0\u8EF1\u8EF7\u8EF9\u8EFA\u8EED\u8F00\u8F02"+
-        "\u8F07\u8F08\u8F0F\u8F10\u8F16\u8F17\u8F18\u8F1E"+
-        "\u8F20\u8F21\u8F23\u8F25\u8F27\u8F28\u8F2C\u8F2D"+
-        "\u8F2E\u8F34\u8F35\u8F36\u8F37\u8F3A\u8F40\u8F41"+
-        "\u8F43\u8F47\u8F4F\u8F51\u8F52\u8F53\u8F54\u8F55"+
-        "\u8F58\u8F5D\u8F5E\u8F65\u8F9D\u8FA0\u8FA1\u8FA4"+
-        "\u8FA5\u8FA6\u8FB5\u8FB6\u8FB8\u8FBE\u8FC0\u8FC1"+
-        "\u8FC6\u8FCA\u8FCB\u8FCD\u8FD0\u8FD2\u8FD3\u8FD5"+
-        "\u8FE0\u8FE3\u8FE4\u8FE8\u8FEE\u8FF1\u8FF5\u8FF6"+
-        "\u8FFB\u8FFE\u9002\u9004\u9008\u900C\u9018\u901B"+
-        "\u9028\u9029\u902F\u902A\u902C\u902D\u9033\u9034"+
-        "\u9037\u903F\u9043\u9044\u904C\u905B\u905D\u9062"+
-        "\u9066\u9067\u906C\u9070\u9074\u9079\u9085\u9088"+
-        "\u908B\u908C\u908E\u9090\u9095\u9097\u9098\u9099"+
-        "\u909B\u90A0\u90A1\u90A2\u90A5\u90B0\u90B2\u90B3"+
-        "\u90B4\u90B6\u90BD\u90CC\u90BE\u90C3\u90C4\u90C5"+
-        "\u90C7\u90C8\u90D5\u90D7\u90D8\u90D9\u90DC\u90DD"+
-        "\u90DF\u90E5\u90D2\u90F6\u90EB\u90EF\u90F0\u90F4"+
-        "\u90FE\u90FF\u9100\u9104\u9105\u9106\u9108\u910D"+
-        "\u9110\u9114\u9116\u9117\u9118\u911A\u911C\u911E"+
-        "\u9120\u9125\u9122\u9123\u9127\u9129\u912E\u912F"+
-        "\u9131\u9134\u9136\u9137\u9139\u913A\u913C\u913D"+
-        "\u9143\u9147\u9148\u914F\u9153\u9157\u9159\u915A"+
-        "\u915B\u9161\u9164\u9167\u916D\u9174\u9179\u917A"+
-        "\u917B\u9181\u9183\u9185\u9186\u918A\u918E\u9191"+
-        "\u9193\u9194\u9195\u9198\u919E\u91A1\u91A6\u91A8"+
-        "\u91AC\u91AD\u91AE\u91B0\u91B1\u91B2\u91B3\u91B6"+
-        "\u91BB\u91BC\u91BD\u91BF\u91C2\u91C3\u91C5\u91D3"+
-        "\u91D4\u91D7\u91D9\u91DA\u91DE\u91E4\u91E5\u91E9"+
-        "\u91EA\u91EC\u91ED\u91EE\u91EF\u91F0\u91F1\u91F7"+
-        "\u91F9\u91FB\u91FD\u9200\u9201\u9204\u9205\u9206"+
-        "\u9207\u9209\u920A\u920C\u9210\u9212\u9213\u9216"+
-        "\u9218\u921C\u921D\u9223\u9224\u9225\u9226\u9228"+
-        "\u922E\u922F\u9230\u9233\u9235\u9236\u9238\u9239"+
-        "\u923A\u923C\u923E\u9240\u9242\u9243\u9246\u9247"+
-        "\u924A\u924D\u924E\u924F\u9251\u9258\u9259\u925C"+
-        "\u925D\u9260\u9261\u9265\u9267\u9268\u9269\u926E"+
-        "\u926F\u9270\u9275\u9276\u9277\u9278\u9279\u927B"+
-        "\u927C\u927D\u927F\u9288\u9289\u928A\u928D\u928E"+
-        "\u9292\u9297\u9299\u929F\u92A0\u92A4\u92A5\u92A7"+
-        "\u92A8\u92AB\u92AF\u92B2\u92B6\u92B8\u92BA\u92BB"+
-        "\u92BC\u92BD\u92BF\u92C0\u92C1\u92C2\u92C3\u92C5"+
-        "\u92C6\u92C7\u92C8\u92CB\u92CC\u92CD\u92CE\u92D0"+
-        "\u92D3\u92D5\u92D7\u92D8\u92D9\u92DC\u92DD\u92DF"+
-        "\u92E0\u92E1\u92E3\u92E5\u92E7\u92E8\u92EC\u92EE"+
-        "\u92F0\u92F9\u92FB\u92FF\u9300\u9302\u9308\u930D"+
-        "\u9311\u9314\u9315\u931C\u931D\u931E\u931F\u9321"+
-        "\u9324\u9325\u9327\u9329\u932A\u9333\u9334\u9336"+
-        "\u9337\u9347\u9348\u9349\u9350\u9351\u9352\u9355"+
-        "\u9357\u9358\u935A\u935E\u9364\u9365\u9367\u9369"+
-        "\u936A\u936D\u936F\u9370\u9371\u9373\u9374\u9376"+
-        "\u937A\u937D\u937F\u9380\u9381\u9382\u9388\u938A"+
-        "\u938B\u938D\u938F\u9392\u9395\u9398\u939B\u939E"+
-        "\u93A1\u93A3\u93A4\u93A6\u93A8\u93AB\u93B4\u93B5"+
-        "\u93B6\u93BA\u93A9\u93C1\u93C4\u93C5\u93C6\u93C7"+
-        "\u93C9\u93CA\u93CB\u93CC\u93CD\u93D3\u93D9\u93DC"+
-        "\u93DE\u93DF\u93E2\u93E6\u93E7\u93F9\u93F7\u93F8"+
-        "\u93FA\u93FB\u93FD\u9401\u9402\u9404\u9408\u9409"+
-        "\u940D\u940E\u940F\u9415\u9416\u9417\u941F\u942E"+
-        "\u942F\u9431\u9432\u9433\u9434\u943B\u943F\u943D"+
-        "\u9443\u9445\u9448\u944A\u944C\u9455\u9459\u945C"+
-        "\u945F\u9461\u9463\u9468\u946B\u946D\u946E\u946F"+
-        "\u9471\u9472\u9484\u9483\u9578\u9579\u957E\u9584"+
-        "\u9588\u958C\u958D\u958E\u959D\u959E\u959F\u95A1"+
-        "\u95A6\u95A9\u95AB\u95AC\u95B4\u95B6\u95BA\u95BD"+
-        "\u95BF\u95C6\u95C8\u95C9\u95CB\u95D0\u95D1\u95D2"+
-        "\u95D3\u95D9\u95DA\u95DD\u95DE\u95DF\u95E0\u95E4"+
-        "\u95E6\u961D\u961E\u9622\u9624\u9625\u9626\u962C"+
-        "\u9631\u9633\u9637\u9638\u9639\u963A\u963C\u963D"+
-        "\u9641\u9652\u9654\u9656\u9657\u9658\u9661\u966E"+
-        "\u9674\u967B\u967C\u967E\u967F\u9681\u9682\u9683"+
-        "\u9684\u9689\u9691\u9696\u969A\u969D\u969F\u96A4"+
-        "\u96A5\u96A6\u96A9\u96AE\u96AF\u96B3\u96BA\u96CA"+
-        "\u96D2\u5DB2\u96D8\u96DA\u96DD\u96DE\u96DF\u96E9"+
-        "\u96EF\u96F1\u96FA\u9702\u9703\u9705\u9709\u971A"+
-        "\u971B\u971D\u9721\u9722\u9723\u9728\u9731\u9733"+
-        "\u9741\u9743\u974A\u974E\u974F\u9755\u9757\u9758"+
-        "\u975A\u975B\u9763\u9767\u976A\u976E\u9773\u9776"+
-        "\u9777\u9778\u977B\u977D\u977F\u9780\u9789\u9795"+
-        "\u9796\u9797\u9799\u979A\u979E\u979F\u97A2\u97AC"+
-        "\u97AE\u97B1\u97B2\u97B5\u97B6\u97B8\u97B9\u97BA"+
-        "\u97BC\u97BE\u97BF\u97C1\u97C4\u97C5\u97C7\u97C9"+
-        "\u97CA\u97CC\u97CD\u97CE\u97D0\u97D1\u97D4\u97D7"+
-        "\u97D8\u97D9\u97DD\u97DE\u97E0\u97DB\u97E1\u97E4"+
-        "\u97EF\u97F1\u97F4\u97F7\u97F8\u97FA\u9807\u980A"+
-        "\u9819\u980D\u980E\u9814\u9816\u981C\u981E\u9820"+
-        "\u9823\u9826\u982B\u982E\u982F\u9830\u9832\u9833"+
-        "\u9835\u9825\u983E\u9844\u9847\u984A\u9851\u9852"+
-        "\u9853\u9856\u9857\u9859\u985A\u9862\u9863\u9865"+
-        "\u9866\u986A\u986C\u98AB\u98AD\u98AE\u98B0\u98B4"+
-        "\u98B7\u98B8\u98BA\u98BB\u98BF\u98C2\u98C5\u98C8"+
-        "\u98CC\u98E1\u98E3\u98E5\u98E6\u98E7\u98EA\u98F3"+
-        "\u98F6\u9902\u9907\u9908\u9911\u9915\u9916\u9917"+
-        "\u991A\u991B\u991C\u991F\u9922\u9926\u9927\u992B"+
-        "\u9931\u9932\u9933\u9934\u9935\u9939\u993A\u993B"+
-        "\u993C\u9940\u9941\u9946\u9947\u9948\u994D\u994E"+
-        "\u9954\u9958\u9959\u995B\u995C\u995E\u995F\u9960"+
-        "\u999B\u999D\u999F\u99A6\u99B0\u99B1\u99B2\u99B5";
-
-    private final static String innerIndex4=
-        "\u99B9\u99BA\u99BD\u99BF\u99C3\u99C9\u99D3\u99D4"+
-        "\u99D9\u99DA\u99DC\u99DE\u99E7\u99EA\u99EB\u99EC"+
-        "\u99F0\u99F4\u99F5\u99F9\u99FD\u99FE\u9A02\u9A03"+
-        "\u9A04\u9A0B\u9A0C\u9A10\u9A11\u9A16\u9A1E\u9A20"+
-        "\u9A22\u9A23\u9A24\u9A27\u9A2D\u9A2E\u9A33\u9A35"+
-        "\u9A36\u9A38\u9A47\u9A41\u9A44\u9A4A\u9A4B\u9A4C"+
-        "\u9A4E\u9A51\u9A54\u9A56\u9A5D\u9AAA\u9AAC\u9AAE"+
-        "\u9AAF\u9AB2\u9AB4\u9AB5\u9AB6\u9AB9\u9ABB\u9ABE"+
-        "\u9ABF\u9AC1\u9AC3\u9AC6\u9AC8\u9ACE\u9AD0\u9AD2"+
-        "\u9AD5\u9AD6\u9AD7\u9ADB\u9ADC\u9AE0\u9AE4\u9AE5"+
-        "\u9AE7\u9AE9\u9AEC\u9AF2\u9AF3\u9AF5\u9AF9\u9AFA"+
-        "\u9AFD\u9AFF\u9B00\u9B01\u9B02\u9B03\u9B04\u9B05"+
-        "\u9B08\u9B09\u9B0B\u9B0C\u9B0D\u9B0E\u9B10\u9B12"+
-        "\u9B16\u9B19\u9B1B\u9B1C\u9B20\u9B26\u9B2B\u9B2D"+
-        "\u9B33\u9B34\u9B35\u9B37\u9B39\u9B3A\u9B3D\u9B48"+
-        "\u9B4B\u9B4C\u9B55\u9B56\u9B57\u9B5B\u9B5E\u9B61"+
-        "\u9B63\u9B65\u9B66\u9B68\u9B6A\u9B6B\u9B6C\u9B6D"+
-        "\u9B6E\u9B73\u9B75\u9B77\u9B78\u9B79\u9B7F\u9B80"+
-        "\u9B84\u9B85\u9B86\u9B87\u9B89\u9B8A\u9B8B\u9B8D"+
-        "\u9B8F\u9B90\u9B94\u9B9A\u9B9D\u9B9E\u9BA6\u9BA7"+
-        "\u9BA9\u9BAC\u9BB0\u9BB1\u9BB2\u9BB7\u9BB8\u9BBB"+
-        "\u9BBC\u9BBE\u9BBF\u9BC1\u9BC7\u9BC8\u9BCE\u9BD0"+
-        "\u9BD7\u9BD8\u9BDD\u9BDF\u9BE5\u9BE7\u9BEA\u9BEB"+
-        "\u9BEF\u9BF3\u9BF7\u9BF8\u9BF9\u9BFA\u9BFD\u9BFF"+
-        "\u9C00\u9C02\u9C0B\u9C0F\u9C11\u9C16\u9C18\u9C19"+
-        "\u9C1A\u9C1C\u9C1E\u9C22\u9C23\u9C26\u9C27\u9C28"+
-        "\u9C29\u9C2A\u9C31\u9C35\u9C36\u9C37\u9C3D\u9C41"+
-        "\u9C43\u9C44\u9C45\u9C49\u9C4A\u9C4E\u9C4F\u9C50"+
-        "\u9C53\u9C54\u9C56\u9C58\u9C5B\u9C5D\u9C5E\u9C5F"+
-        "\u9C63\u9C69\u9C6A\u9C5C\u9C6B\u9C68\u9C6E\u9C70"+
-        "\u9C72\u9C75\u9C77\u9C7B\u9CE6\u9CF2\u9CF7\u9CF9"+
-        "\u9D0B\u9D02\u9D11\u9D17\u9D18\u9D1C\u9D1D\u9D1E"+
-        "\u9D2F\u9D30\u9D32\u9D33\u9D34\u9D3A\u9D3C\u9D45"+
-        "\u9D3D\u9D42\u9D43\u9D47\u9D4A\u9D53\u9D54\u9D5F"+
-        "\u9D63\u9D62\u9D65\u9D69\u9D6A\u9D6B\u9D70\u9D76"+
-        "\u9D77\u9D7B\u9D7C\u9D7E\u9D83\u9D84\u9D86\u9D8A"+
-        "\u9D8D\u9D8E\u9D92\u9D93\u9D95\u9D96\u9D97\u9D98"+
-        "\u9DA1\u9DAA\u9DAC\u9DAE\u9DB1\u9DB5\u9DB9\u9DBC"+
-        "\u9DBF\u9DC3\u9DC7\u9DC9\u9DCA\u9DD4\u9DD5\u9DD6"+
-        "\u9DD7\u9DDA\u9DDE\u9DDF\u9DE0\u9DE5\u9DE7\u9DE9"+
-        "\u9DEB\u9DEE\u9DF0\u9DF3\u9DF4\u9DFE\u9E0A\u9E02"+
-        "\u9E07\u9E0E\u9E10\u9E11\u9E12\u9E15\u9E16\u9E19"+
-        "\u9E1C\u9E1D\u9E7A\u9E7B\u9E7C\u9E80\u9E82\u9E83"+
-        "\u9E84\u9E85\u9E87\u9E8E\u9E8F\u9E96\u9E98\u9E9B"+
-        "\u9E9E\u9EA4\u9EA8\u9EAC\u9EAE\u9EAF\u9EB0\u9EB3"+
-        "\u9EB4\u9EB5\u9EC6\u9EC8\u9ECB\u9ED5\u9EDF\u9EE4"+
-        "\u9EE7\u9EEC\u9EED\u9EEE\u9EF0\u9EF1\u9EF2\u9EF5"+
-        "\u9EF8\u9EFF\u9F02\u9F03\u9F09\u9F0F\u9F10\u9F11"+
-        "\u9F12\u9F14\u9F16\u9F17\u9F19\u9F1A\u9F1B\u9F1F"+
-        "\u9F22\u9F26\u9F2A\u9F2B\u9F2F\u9F31\u9F32\u9F34"+
-        "\u9F37\u9F39\u9F3A\u9F3C\u9F3D\u9F3F\u9F41\u9F43"+
-        "\u9F44\u9F45\u9F46\u9F47\u9F53\u9F55\u9F56\u9F57"+
-        "\u9F58\u9F5A\u9F5D\u9F5E\u9F68\u9F69\u9F6D\u9F6E"+
-        "\u9F6F\u9F70\u9F71\u9F73\u9F75\u9F7A\u9F7D\u9F8F"+
-        "\u9F90\u9F91\u9F92\u9F94\u9F96\u9F97\u9F9E\u9FA1"+
-        "\u9FA2\u9FA3\u9FA5\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD";
-
-    private final static short index1[] = {
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 2, 3, 0, 4, 5, 6, 0, 0, 0, 0,
-        7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
-        23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
-        39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
-        55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
-    };
-
-    private final static String index2[] = {
-        innerIndex0,
-        innerIndex1,
-        innerIndex2,
-        innerIndex3,
-        innerIndex4
-    };
-
-    protected char convSingleByte(int b) {
-        return REPLACE_CHAR;
-    }
-}
--- a/src/share/classes/sun/nio/cs/ext/JIS_X_0212_Encoder.java	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2981 +0,0 @@
-/*
- * Copyright (c) 2003, 2005, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code 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
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- */
-
-package sun.nio.cs.ext;
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetEncoder;
-
-public class JIS_X_0212_Encoder extends DoubleByteEncoder
-{
-    /*
-     * default replacement defined merely for pseudo
-     * charset x-JIS-X-0208 to instantiate with a
-     * decodeable replacement byte sequence
-     * JIS X 0212(1990) 0x2244 maps to INVERTED QUESTION MARK
-     * Compound converters, CES (character encoding schemes)
-     * based upon JIS X 0212-1990 will most likely redefine
-     * their own replacement chars or use 0x3f
-     * (ASCII
-     */
-
-    private static byte[] repl = { (byte)0x22, (byte)0x44 };
-
-    public JIS_X_0212_Encoder(Charset cs) {
-        super(cs,
-              index1,
-              index2 ,
-              repl
-             );
-    }
-
-    protected int encodeSingle(char inputChar) {
-        return -1;
-    }
-
-    private final static String innerIndex0=
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u2242\u0000\u0000\u2270\u0000\u2243\u0000"+
-        "\u0000\u226D\u226C\u0000\u0000\u0000\u226E\u2234"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u2231\u0000\u226B\u0000\u0000\u0000\u0000\u2244"+
-        "\u2A22\u2A21\u2A24\u2A2A\u2A23\u2A29\u2921\u2A2E"+
-        "\u2A32\u2A31\u2A34\u2A33\u2A40\u2A3F\u2A42\u2A41"+
-        "\u0000\u2A50\u2A52\u2A51\u2A54\u2A58\u2A53\u0000"+
-        "\u292C\u2A63\u2A62\u2A65\u2A64\u2A72\u2930\u294E"+
-        "\u2B22\u2B21\u2B24\u2B2A\u2B23\u2B29\u2941\u2B2E"+
-        "\u2B32\u2B31\u2B34\u2B33\u2B40\u2B3F\u2B42\u2B41"+
-        "\u2943\u2B50\u2B52\u2B51\u2B54\u2B58\u2B53\u0000"+
-        "\u294C\u2B63\u2B62\u2B65\u2B64\u2B72\u2950\u2B73"+
-        "\u2A27\u2B27\u2A25\u2B25\u2A28\u2B28\u2A2B\u2B2B"+
-        "\u2A2C\u2B2C\u2A2F\u2B2F\u2A2D\u2B2D\u2A30\u2B30"+
-        "\u2922\u2942\u2A37\u2B37\u0000\u0000\u2A36\u2B36"+
-        "\u2A38\u2B38\u2A35\u2B35\u2A3A\u2B3A\u2A3B\u2B3B"+
-        "\u2A3D\u2B3D\u2A3C\u0000\u2A3E\u2B3E\u2924\u2944"+
-        "\u2A47\u2B47\u2A45\u2B45\u0000\u0000\u2A46\u2B46"+
-        "\u2A44\u2945\u2926\u2946\u2A48\u2B48\u2A49\u2B49"+
-        "\u2947\u2A4A\u2B4A\u2A4C\u2B4C\u2A4B\u2B4B\u2929"+
-        "\u2949\u2928\u2948\u2A4D\u2B4D\u2A4F\u2B4F\u2A4E"+
-        "\u2B4E\u294A\u292B\u294B\u2A57\u2B57\u0000\u0000"+
-        "\u2A56\u2B56\u292D\u294D\u2A59\u2B59\u2A5B\u2B5B"+
-        "\u2A5A\u2B5A\u2A5C\u2B5C\u2A5D\u2B5D\u2A5F\u2B5F"+
-        "\u2A5E\u2B5E\u2A61\u2B61\u2A60\u2B60\u292F\u294F"+
-        "\u2A6C\u2B6C\u2A69\u2B69\u2A66\u2B66\u2A6B\u2B6B"+
-        "\u2A68\u2B68\u2A6A\u2B6A\u2A71\u2B71\u2A74\u2B74"+
-        "\u2A73\u2A75\u2B75\u2A77\u2B77\u2A76\u2B76\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u2A26\u2B26\u2A43"+
-        "\u2B43\u2A55\u2B55\u2A67\u2B67\u2A70\u2B70\u2A6D"+
-        "\u2B6D\u2A6F\u2B6F\u2A6E\u2B6E\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u2B39\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u2230"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u222F\u2232\u2236\u2235\u0000\u2233\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u2238\u2239\u2661\u0000"+
-        "\u2662\u2663\u2664\u0000\u2667\u0000\u2669\u266C"+
-        "\u2676\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u2665\u266A\u2671\u2672\u2673\u2674"+
-        "\u267B\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u2678\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u2675\u267A\u2677\u2679\u267C\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u2742\u2743\u2744\u2745\u2746\u2747"+
-        "\u2748\u2749\u274A\u274B\u274C\u0000\u274D\u274E"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u2772\u2773\u2774\u2775\u2776\u2777"+
-        "\u2778\u2779\u277A\u277B\u277C\u0000\u277D\u277E"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u2271\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u226F\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3021\u0000\u3022\u3023\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3024\u0000\u0000\u0000"+
-        "\u0000\u0000\u3025\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3026"+
-        "\u0000\u0000\u0000\u3027\u3028\u0000\u0000\u0000"+
-        "\u3029\u0000\u0000\u302A\u0000\u0000\u302B\u302C"+
-        "\u302D\u0000\u0000\u0000\u0000\u302E\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u302F\u3030\u0000\u0000\u3031\u0000\u0000\u3032"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3033\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3034\u0000\u3035\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3036\u0000\u0000\u0000\u0000"+
-        "\u3037\u3038\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3039\u303A\u0000\u0000"+
-        "\u0000\u303B\u0000\u0000\u0000\u0000\u0000\u303C"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u303D\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u303E\u303F"+
-        "\u0000\u0000\u0000\u0000\u0000\u3040\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3041"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3042\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3043\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3044\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3045\u3046\u0000\u0000\u0000\u0000"+
-        "\u3047\u3048\u3049\u0000\u0000\u0000\u0000\u0000"+
-        "\u304A\u0000\u0000\u0000\u0000\u0000\u0000\u304B"+
-        "\u0000\u304C\u0000\u304D\u0000\u304E\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u304F\u3050\u3051"+
-        "\u3052\u0000\u3053\u3054\u0000\u0000\u0000\u0000"+
-        "\u3055\u0000\u0000\u3056\u3057\u0000\u0000\u0000"+
-        "\u0000\u0000\u3058\u0000\u0000\u3059\u305A\u305B"+
-        "\u0000\u305C\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u305D\u0000"+
-        "\u0000\u305E\u0000\u3060\u0000\u3061\u0000\u3062"+
-        "\u0000\u3063\u0000\u3064\u0000\u0000\u3065\u0000"+
-        "\u3066\u0000\u3067\u0000\u0000\u0000\u0000\u0000"+
-        "\u3068\u3069\u0000\u306A\u306B\u0000\u0000\u0000"+
-        "\u0000\u0000\u306C\u0000\u306D\u0000\u306E\u0000"+
-        "\u306F\u0000\u0000\u0000\u0000\u0000\u0000\u3070"+
-        "\u305F\u0000\u0000\u3071\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3072\u0000\u3073\u0000\u3074\u0000"+
-        "\u0000\u3075\u0000\u0000\u0000\u0000\u0000\u3076"+
-        "\u3077\u3078\u3079\u0000\u0000\u307A\u307B\u0000"+
-        "\u0000\u307C\u307D\u0000\u307E\u3121\u0000\u0000"+
-        "\u0000\u3122\u3123\u0000\u3124\u0000\u3125\u0000"+
-        "\u3126\u0000\u3127\u3128\u3129\u0000\u0000\u312A"+
-        "\u0000\u312B\u312C\u0000\u0000\u0000\u312D\u312E"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u312F\u0000\u0000\u0000\u0000\u3130"+
-        "\u0000\u3131\u0000\u3132\u3133\u3134\u3135\u0000"+
-        "\u3136\u3137\u0000\u0000\u0000\u3138\u3139\u0000"+
-        "\u313A\u313B\u0000\u313C\u313D\u313E\u0000\u313F"+
-        "\u0000\u0000\u3140\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3141\u0000\u0000\u0000"+
-        "\u3142\u0000\u3143\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3144\u0000\u3145\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3146\u3147\u0000\u3148"+
-        "\u3149\u314A\u0000\u0000\u314B\u0000\u0000\u314C"+
-        "\u0000\u0000\u314D\u0000\u314E\u0000\u314F\u0000"+
-        "\u3150\u0000\u0000\u3151\u0000\u0000\u0000\u3152"+
-        "\u3153\u0000\u0000\u3154\u3155\u3156\u3157\u0000"+
-        "\u0000\u0000\u3158\u0000\u0000\u0000\u0000\u3159"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u315A\u0000"+
-        "\u315B\u0000\u315C\u315D\u0000\u315E\u0000\u0000"+
-        "\u0000\u0000\u0000\u3176\u0000\u0000\u0000\u0000"+
-        "\u315F\u3160\u3161\u0000\u0000\u3162\u3163\u0000"+
-        "\u0000\u0000\u3164\u0000\u3165\u0000\u3166\u0000"+
-        "\u0000\u3167\u3168\u3169\u0000\u0000\u0000\u316A"+
-        "\u0000\u316B\u0000\u0000\u0000\u0000\u0000\u316C"+
-        "\u316D\u0000\u316E\u316F\u0000\u0000\u3170\u3171"+
-        "\u0000\u0000\u3172\u0000\u0000\u3173\u0000\u0000"+
-        "\u3174\u3175\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3177\u0000\u3178\u3179\u0000\u317A\u0000"+
-        "\u0000\u0000\u317B\u0000\u0000\u0000\u317C\u317D"+
-        "\u317E\u0000\u3221\u3222\u3223\u0000\u3224\u0000"+
-        "\u0000\u0000\u0000\u3225\u3226\u0000\u3227\u3228"+
-        "\u3229\u322A\u322B\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u322C\u0000\u0000\u0000\u0000\u322D"+
-        "\u322E\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u322F\u3230\u0000\u0000\u3231\u0000\u0000"+
-        "\u3232\u0000\u0000\u3233\u3234\u0000\u0000\u3235"+
-        "\u0000\u0000\u0000\u0000\u3236\u0000\u3237\u0000"+
-        "\u3238\u0000\u0000\u3239\u323A\u0000\u0000\u0000"+
-        "\u323B\u0000\u0000\u0000\u323C\u323D\u0000\u323E"+
-        "\u0000\u0000\u323F\u0000\u3240\u0000\u3241\u0000"+
-        "\u3242\u3243\u0000\u0000\u0000\u0000\u0000\u3244"+
-        "\u0000\u3245\u3251\u0000\u0000\u0000\u3246\u0000"+
-        "\u0000\u0000\u3247\u0000\u0000\u0000\u3248\u0000"+
-        "\u0000\u0000\u0000\u3249\u0000\u0000\u324A\u324B"+
-        "\u324C\u0000\u0000\u324D\u324E\u324F\u3250\u0000"+
-        "\u3252\u0000\u0000\u0000\u0000\u0000\u0000\u3253"+
-        "\u0000\u3254\u0000\u3255\u3256\u3257\u3258\u0000"+
-        "\u0000\u0000\u0000\u3259\u0000\u0000\u0000\u325A"+
-        "\u325B\u0000\u0000\u0000\u325C\u325D\u0000\u325E"+
-        "\u0000\u325F\u0000\u3260\u3261\u3262\u0000\u0000"+
-        "\u3263\u3264\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3265\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3266\u0000\u0000\u0000\u0000\u3267"+
-        "\u0000\u0000\u0000\u3268\u0000\u3269\u0000\u326A"+
-        "\u326B\u0000\u0000\u0000\u0000\u0000\u0000\u326C"+
-        "\u0000\u0000\u0000\u0000\u326D\u0000\u326E\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u326F\u0000"+
-        "\u0000\u0000\u0000\u3270\u3271\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3272\u0000\u0000\u3273\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3274\u0000\u0000\u0000\u0000\u3275\u0000\u0000"+
-        "\u0000\u3276\u0000\u3277\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3278\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3279\u0000\u327A\u0000\u327B\u0000\u327C\u327D"+
-        "\u0000\u0000\u327E\u0000\u0000\u0000\u0000\u0000"+
-        "\u3321\u0000\u0000\u0000\u0000\u0000\u0000\u3322"+
-        "\u0000\u3323\u3324\u3325\u0000\u3326\u0000\u0000"+
-        "\u3327\u0000\u0000\u0000\u0000\u0000\u3328\u0000"+
-        "\u0000\u0000\u3329\u0000\u0000\u332A\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u332B\u0000"+
-        "\u0000\u0000\u332C\u332D\u332E\u0000\u0000\u332F"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3330\u3331\u0000\u0000\u3332\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3333\u3334\u0000\u3335\u3336\u0000"+
-        "\u3337\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3338\u0000\u0000\u0000\u0000\u0000"+
-        "\u3339\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u333A\u333B\u0000\u0000\u333C\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u333D\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u333E\u0000\u0000"+
-        "\u0000\u333F\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3340\u0000\u3341"+
-        "\u3342\u0000\u3343\u0000\u3344\u0000\u0000\u3345"+
-        "\u3346\u3347\u0000\u0000\u0000\u0000\u3348\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3349\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u334A"+
-        "\u334B\u334C\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u334D\u0000\u334E\u0000\u0000\u334F\u0000\u0000"+
-        "\u0000\u0000\u3350\u0000\u3351\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3352\u0000\u3353\u3354\u3355"+
-        "\u3356\u0000\u3357\u0000\u3358\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3359\u335A\u335B\u335C"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u335D"+
-        "\u335E\u0000\u0000\u0000\u0000\u0000\u335F\u3360"+
-        "\u3361\u0000\u3362\u3363\u0000\u3364\u0000\u0000"+
-        "\u3365\u0000\u0000\u0000\u3366\u0000\u3367\u0000"+
-        "\u3368\u0000\u0000\u0000\u3369\u0000\u0000\u336A"+
-        "\u0000\u336B\u0000\u0000\u336C\u0000\u336D\u0000"+
-        "\u0000\u0000\u0000\u336E\u336F\u0000\u0000\u0000"+
-        "\u0000\u3370\u0000\u0000\u0000\u3371\u0000\u0000"+
-        "\u3372\u3373\u3374\u0000\u3375\u0000\u0000\u0000"+
-        "\u3376\u3377\u0000\u0000\u3378\u0000\u3379\u337A"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u337B\u0000\u0000\u337C\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u337D\u337E\u3421\u0000\u0000\u0000"+
-        "\u0000\u3422\u0000\u3423\u0000\u0000\u0000\u0000"+
-        "\u3424\u0000\u0000\u3425\u3426\u0000\u3427\u3428"+
-        "\u0000\u0000\u0000\u0000\u0000\u3429\u0000\u342A"+
-        "\u342B\u342C\u0000\u342D\u342E\u342F\u0000\u0000"+
-        "\u3430\u0000\u3431\u0000\u0000\u3432\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3433\u3434\u3435\u0000"+
-        "\u0000\u0000\u3436\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3438\u3437\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3439\u0000\u343A\u0000\u0000\u0000\u0000"+
-        "\u0000\u343B\u0000\u343C\u0000\u343D\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u343E\u343F\u0000\u0000"+
-        "\u0000\u0000\u3440\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3441\u0000\u0000\u0000\u0000\u3442\u0000"+
-        "\u0000\u0000\u0000\u3443\u0000\u0000\u0000\u3444"+
-        "\u3445\u0000\u0000\u0000\u0000\u0000\u3446\u0000"+
-        "\u0000\u0000\u0000\u3447\u3448\u0000\u0000\u0000"+
-        "\u0000\u3449\u0000\u0000\u0000\u344A\u0000\u0000"+
-        "\u0000\u344B\u0000\u0000\u344C\u0000\u0000\u0000"+
-        "\u0000\u0000\u344D\u344E\u0000\u0000\u0000\u344F"+
-        "\u0000\u0000\u3450\u0000\u3451\u3452\u0000\u3453"+
-        "\u3454\u0000\u3455\u0000\u0000\u3456\u0000\u0000"+
-        "\u3457\u0000\u0000\u0000\u0000\u3458\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3459"+
-        "\u0000\u0000\u345A\u345B\u0000\u345C\u0000\u0000"+
-        "\u0000\u0000\u345D\u0000\u0000\u345E\u345F\u0000"+
-        "\u3460\u0000\u0000\u0000\u0000\u0000\u3461\u3462"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3463\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3464\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3465\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3466\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3467\u0000\u0000\u0000\u0000\u0000\u3468"+
-        "\u3469\u0000\u346A\u0000\u0000\u0000\u0000\u346B"+
-        "\u0000\u346C\u0000\u0000\u346D\u346E\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u346F\u3470\u0000\u0000\u3471"+
-        "\u0000\u0000\u0000\u0000\u0000\u3472\u0000\u3473"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3474\u0000"+
-        "\u0000\u0000\u3475\u0000\u3476\u0000\u3477\u3478"+
-        "\u0000\u3479\u0000\u347A\u0000\u347B\u347C\u0000"+
-        "\u0000\u0000\u0000\u0000\u347D\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u347E"+
-        "\u0000\u3521\u0000\u3522\u0000\u3523\u0000\u0000"+
-        "\u3524\u3525\u0000\u0000\u0000\u3526\u0000\u0000"+
-        "\u0000\u3527\u0000\u0000\u0000\u3528\u3529\u0000"+
-        "\u0000\u0000\u0000\u0000\u352A\u0000\u0000\u352B"+
-        "\u0000\u352C\u0000\u0000\u0000\u0000\u352D\u352E"+
-        "\u0000\u352F\u3530\u0000\u0000\u3531\u3532\u0000"+
-        "\u0000\u3533\u0000\u0000\u0000\u0000\u0000\u3534"+
-        "\u0000\u3535\u3536\u3537\u0000\u0000\u0000\u3538"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3539\u0000"+
-        "\u0000\u0000\u353A\u0000\u0000\u353B\u353C\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u353D\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u353E\u0000\u353F\u0000\u0000\u3540"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3541\u0000"+
-        "\u0000\u0000\u0000\u0000\u3542\u0000\u3543\u3544"+
-        "\u3545\u3546\u0000\u0000\u0000\u3547\u0000\u0000"+
-        "\u3548\u3549\u0000\u0000\u354A\u354B\u354C\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u354D\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u354E\u354F\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3550\u0000\u0000\u3551\u3552\u0000"+
-        "\u0000\u0000\u0000\u3553\u3554\u3555\u0000\u0000"+
-        "\u0000\u3556\u0000\u0000\u0000\u0000\u0000\u3557"+
-        "\u0000\u3558\u3559\u0000\u0000\u355A\u0000\u0000"+
-        "\u355B\u355C\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u355D\u0000\u355E\u355F\u0000\u0000\u3560\u0000"+
-        "\u3561\u3562\u0000\u0000\u3563\u0000\u3564\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3565"+
-        "\u0000\u3566\u3567\u0000\u0000\u0000\u3568\u0000"+
-        "\u3569\u0000\u0000\u0000\u0000\u0000\u356A\u356B"+
-        "\u0000\u356C\u356D\u356E\u356F\u0000\u0000\u3570"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3571\u3572\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3573\u0000\u0000"+
-        "\u0000\u0000\u3574\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3575"+
-        "\u0000\u3576\u0000\u3577\u0000\u0000\u3578\u0000"+
-        "\u0000\u3579\u0000\u357A\u357B\u0000\u357C\u0000"+
-        "\u0000\u357D\u357E\u3621\u0000\u0000\u0000\u3622"+
-        "\u3623\u0000\u0000\u3624\u0000\u0000\u3625\u0000"+
-        "\u0000\u0000\u3626\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3627\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3628\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3629"+
-        "\u0000\u0000\u0000\u0000\u0000\u362A\u0000\u0000"+
-        "\u362B\u0000\u362C\u0000\u0000\u362D\u362E\u362F"+
-        "\u3630\u3631\u3632\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3633\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3634\u0000\u0000\u0000"+
-        "\u3635\u0000\u0000\u3636\u0000\u3637\u0000\u3638"+
-        "\u0000\u3639\u0000\u363A\u363B\u363C\u0000\u363D"+
-        "\u363E\u363F\u0000\u3640\u3641\u0000\u3642\u0000"+
-        "\u0000\u3643\u0000\u3644\u0000\u3645\u0000\u3646"+
-        "\u0000\u0000\u0000\u0000\u3647\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3648\u0000"+
-        "\u3649\u364A\u364B\u364C\u0000\u0000\u364D\u0000"+
-        "\u0000\u364E\u0000\u0000\u0000\u364F\u0000\u3650"+
-        "\u0000\u3651\u3652\u0000\u0000\u3653\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3654\u3655\u0000\u0000"+
-        "\u3656\u0000\u0000\u3657\u3658\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3659\u0000\u0000"+
-        "\u0000\u365A\u365B\u0000\u0000\u365C\u365D\u365E"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u365F\u3660"+
-        "\u3661\u3662\u0000\u3663\u3664\u3665\u0000\u0000"+
-        "\u0000\u3666\u0000\u3667\u0000\u0000\u0000\u3668"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3669\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u366A\u0000\u0000"+
-        "\u0000\u366B\u366C\u366D\u3670\u3671\u0000\u366E"+
-        "\u366F\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3672\u0000\u0000\u3673\u3674\u0000\u3675"+
-        "\u0000\u3676\u0000\u0000\u3677\u3678\u3679\u367A"+
-        "\u367B\u0000\u0000\u367D\u0000\u367E\u0000\u0000"+
-        "\u0000\u367C\u0000\u0000\u0000\u0000\u3721\u3722"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
-
-    private final static String innerIndex1=
-        "\u0000\u3723\u3724\u0000\u0000\u0000\u0000\u3725"+
-        "\u0000\u0000\u3726\u0000\u3727\u0000\u0000\u0000"+
-        "\u0000\u3728\u0000\u0000\u0000\u3729\u0000\u0000"+
-        "\u0000\u0000\u372A\u372B\u0000\u372C\u0000\u0000"+
-        "\u372D\u0000\u372E\u372F\u3730\u3731\u0000\u0000"+
-        "\u0000\u3732\u3733\u0000\u3734\u0000\u3735\u3736"+
-        "\u0000\u0000\u0000\u3737\u3738\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3739\u373A\u373B"+
-        "\u0000\u0000\u0000\u0000\u0000\u373C\u373D\u0000"+
-        "\u0000\u0000\u0000\u0000\u373E\u373F\u0000\u0000"+
-        "\u0000\u0000\u3740\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3741\u0000\u0000\u3742\u0000\u3743"+
-        "\u3744\u0000\u0000\u3745\u0000\u3746\u3747\u3748"+
-        "\u3749\u374A\u0000\u374B\u374C\u374D\u0000\u374E"+
-        "\u0000\u374F\u3750\u3751\u3752\u0000\u3753\u0000"+
-        "\u0000\u3754\u0000\u3755\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3756\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3757\u3760\u0000\u3758"+
-        "\u0000\u3759\u375A\u0000\u375B\u375C\u375D\u375E"+
-        "\u0000\u375F\u0000\u0000\u0000\u0000\u0000\u3761"+
-        "\u3762\u3763\u0000\u0000\u3764\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3765\u0000\u0000\u0000\u0000\u3766\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3767"+
-        "\u3768\u0000\u0000\u0000\u3769\u0000\u0000\u376A"+
-        "\u0000\u0000\u0000\u0000\u0000\u376B\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u376C\u376D\u0000"+
-        "\u0000\u377E\u0000\u0000\u376E\u0000\u376F\u3770"+
-        "\u0000\u3771\u0000\u0000\u0000\u3772\u0000\u0000"+
-        "\u3773\u0000\u0000\u0000\u0000\u3774\u3775\u0000"+
-        "\u3776\u0000\u0000\u0000\u0000\u3777\u3778\u3779"+
-        "\u0000\u0000\u0000\u377A\u377B\u0000\u0000\u0000"+
-        "\u377C\u377D\u0000\u0000\u3821\u3822\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3823\u0000\u0000\u3824\u3825"+
-        "\u3826\u0000\u0000\u0000\u0000\u0000\u3827\u3828"+
-        "\u0000\u0000\u0000\u0000\u0000\u3829\u0000\u0000"+
-        "\u0000\u0000\u382A\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u382B\u0000\u0000\u0000\u0000\u0000\u382C"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u382D\u0000\u0000\u382E\u382F\u0000\u3830"+
-        "\u3831\u0000\u0000\u0000\u0000\u3832\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3833"+
-        "\u0000\u3834\u0000\u0000\u3835\u0000\u0000\u3836"+
-        "\u3837\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3838\u0000\u0000\u0000\u3839\u0000\u0000\u383A"+
-        "\u383B\u383C\u0000\u0000\u0000\u0000\u0000\u383D"+
-        "\u383E\u383F\u3840\u0000\u3841\u3842\u0000\u3843"+
-        "\u3844\u0000\u0000\u0000\u3845\u0000\u3846\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3847\u0000\u0000"+
-        "\u3848\u3849\u384A\u0000\u0000\u0000\u384B\u0000"+
-        "\u0000\u384C\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u384D\u384E\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3850\u0000\u0000\u0000"+
-        "\u0000\u0000\u3851\u0000\u384F\u0000\u0000\u0000"+
-        "\u3852\u0000\u0000\u0000\u0000\u3853\u3854\u0000"+
-        "\u3855\u0000\u3856\u0000\u3857\u0000\u3858\u0000"+
-        "\u0000\u0000\u3859\u0000\u0000\u385A\u0000\u0000"+
-        "\u0000\u385B\u385C\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u385D\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u385E\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u385F\u3860\u0000"+
-        "\u0000\u0000\u0000\u3861\u3862\u0000\u0000\u0000"+
-        "\u0000\u0000\u3863\u3864\u3865\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3867\u0000\u0000"+
-        "\u0000\u3868\u0000\u3869\u386A\u0000\u0000\u0000"+
-        "\u386B\u0000\u0000\u0000\u0000\u0000\u0000\u386C"+
-        "\u386D\u0000\u0000\u386E\u0000\u386F\u3870\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3871"+
-        "\u0000\u0000\u0000\u3872\u0000\u0000\u3873\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3874\u3875\u0000\u0000\u0000\u0000"+
-        "\u0000\u3876\u0000\u3877\u0000\u3878\u3879\u387A"+
-        "\u0000\u387B\u0000\u387C\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u387D\u0000\u387E\u0000\u3921"+
-        "\u0000\u0000\u3922\u0000\u0000\u3923\u3924\u0000"+
-        "\u0000\u3925\u0000\u3926\u3927\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3928\u3929\u0000\u392A\u0000"+
-        "\u0000\u0000\u392B\u0000\u0000\u392C\u0000\u392D"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u392E"+
-        "\u0000\u0000\u0000\u0000\u392F\u0000\u0000\u3930"+
-        "\u0000\u0000\u0000\u0000\u0000\u3931\u3932\u3933"+
-        "\u3934\u0000\u0000\u3935\u0000\u0000\u0000\u3936"+
-        "\u0000\u0000\u3937\u0000\u3938\u0000\u0000\u0000"+
-        "\u0000\u3939\u0000\u393A\u393B\u0000\u0000\u0000"+
-        "\u393C\u0000\u393D\u0000\u0000\u393E\u0000\u0000"+
-        "\u0000\u0000\u393F\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3940\u3941\u3942"+
-        "\u0000\u0000\u0000\u3943\u3944\u0000\u0000\u3945"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3946\u3947"+
-        "\u0000\u3948\u3949\u0000\u394A\u0000\u0000\u394B"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u394C\u0000\u0000\u0000\u394D\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u394E\u394F\u3950\u0000"+
-        "\u0000\u0000\u3951\u3952\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3953\u0000"+
-        "\u0000\u0000\u0000\u3954\u3955\u0000\u0000\u3956"+
-        "\u3957\u0000\u3958\u0000\u0000\u3959\u0000\u0000"+
-        "\u395A\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u395B\u395C\u0000\u395D"+
-        "\u395E\u0000\u0000\u0000\u395F\u0000\u0000\u0000"+
-        "\u3960\u0000\u0000\u0000\u0000\u3961\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3962\u0000"+
-        "\u0000\u0000\u0000\u3963\u0000\u3964\u0000\u3965"+
-        "\u0000\u0000\u0000\u0000\u0000\u3966\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3967"+
-        "\u0000\u0000\u3968\u3969\u0000\u0000\u396A\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u396B\u0000\u0000\u0000\u0000"+
-        "\u396C\u0000\u0000\u396D\u0000\u0000\u396E\u0000"+
-        "\u0000\u396F\u0000\u0000\u3970\u0000\u3971\u3972"+
-        "\u3973\u0000\u3974\u0000\u0000\u0000\u0000\u3975"+
-        "\u0000\u0000\u0000\u0000\u3976\u0000\u0000\u0000"+
-        "\u0000\u3977\u3978\u3979\u0000\u397A\u0000\u0000"+
-        "\u397B\u0000\u397C\u397D\u0000\u0000\u0000\u397E"+
-        "\u0000\u0000\u0000\u0000\u3A21\u0000\u3A22\u0000"+
-        "\u3A23\u0000\u0000\u0000\u0000\u0000\u0000\u3A24"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3A25\u0000\u3A26\u0000\u0000\u0000"+
-        "\u3A27\u0000\u0000\u0000\u0000\u3A28\u0000\u0000"+
-        "\u0000\u0000\u3A29\u0000\u0000\u0000\u3A2A\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3A2B\u3A2C\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3A2D\u0000\u0000"+
-        "\u3A2E\u3A2F\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3A30\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3A31"+
-        "\u0000\u3A33\u0000\u3A34\u0000\u3A35\u0000\u0000"+
-        "\u0000\u3A36\u0000\u0000\u0000\u3A37\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3A38\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3A32\u0000\u0000\u0000"+
-        "\u3A39\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3A3A\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3A3B\u3A3C\u0000\u0000\u0000"+
-        "\u0000\u0000\u3A3D\u0000\u0000\u0000\u3A3E\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3A3F\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3A40\u0000\u0000\u0000\u0000\u0000\u3A41\u3A42"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3A43\u3A44\u3A45\u3A46"+
-        "\u0000\u3A47\u0000\u0000\u3A48\u0000\u3A49\u0000"+
-        "\u0000\u0000\u3A4A\u0000\u0000\u0000\u3A4B\u0000"+
-        "\u3A4C\u3A4D\u0000\u3A4E\u3A4F\u0000\u3A50\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3A51\u3A52\u0000\u0000\u3A53\u3A54\u0000\u3A55"+
-        "\u0000\u3A56\u3A57\u0000\u0000\u0000\u0000\u3A58"+
-        "\u0000\u0000\u3A59\u0000\u3A5A\u0000\u0000\u0000"+
-        "\u3A5B\u3A5C\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3A5D\u0000\u3A5E"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3A5F\u3A60"+
-        "\u3A61\u3A62\u3A63\u0000\u0000\u0000\u0000\u0000"+
-        "\u3A64\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3A65"+
-        "\u0000\u3A66\u0000\u0000\u3A67\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3A68\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3A69\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3A6A"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3A6B\u3A6C"+
-        "\u0000\u0000\u0000\u3A6D\u0000\u0000\u3A6E\u0000"+
-        "\u0000\u3A6F\u0000\u3A70\u3A71\u0000\u3A72\u0000"+
-        "\u3A73\u0000\u3A74\u0000\u0000\u3A75\u3A76\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3A77\u3A78\u0000\u3A79\u0000\u0000\u0000"+
-        "\u0000\u0000\u3A7A\u3A7B\u0000\u0000\u0000\u3A7C"+
-        "\u3A7D\u3A7E\u0000\u0000\u0000\u3B21\u0000\u0000"+
-        "\u3B22\u0000\u0000\u0000\u3B23\u3B24\u0000\u0000"+
-        "\u0000\u0000\u3B25\u3B26\u3B27\u3B28\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3B29"+
-        "\u3B2A\u0000\u3B2B\u0000\u0000\u0000\u0000\u3B2C"+
-        "\u0000\u0000\u3B2D\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3B2E\u0000\u3B2F"+
-        "\u3B30\u0000\u3B31\u3B32\u0000\u0000\u3B33\u0000"+
-        "\u0000\u0000\u3B34\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3B35\u0000\u3B36\u3B37\u0000\u0000"+
-        "\u0000\u0000\u3B38\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3B39\u0000\u3B3A\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3B3B\u0000\u0000\u0000\u0000\u3B3D"+
-        "\u0000\u0000\u0000\u0000\u0000\u3B3C\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3B3E\u0000"+
-        "\u0000\u3B3F\u3B40\u0000\u3B41\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3B42\u0000\u0000\u0000\u0000\u3B43\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3B44\u0000\u0000"+
-        "\u0000\u0000\u3B45\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3B47\u3B48\u0000\u3B49\u3B4A"+
-        "\u0000\u0000\u0000\u3B46\u0000\u0000\u0000\u0000"+
-        "\u0000\u3B4B\u0000\u0000\u3B4C\u0000\u0000\u0000"+
-        "\u0000\u3B4D\u0000\u0000\u0000\u3B4E\u0000\u3B4F"+
-        "\u0000\u0000\u3B50\u3B51\u0000\u0000\u3B52\u0000"+
-        "\u3B53\u0000\u3B57\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3B55\u0000\u0000\u0000\u3B54\u0000\u0000"+
-        "\u0000\u3B56\u0000\u0000\u0000\u0000\u0000\u3B58"+
-        "\u3B59\u3B5A\u3B5B\u0000\u3B5C\u0000\u0000\u0000"+
-        "\u0000\u0000\u3B5D\u0000\u0000\u3B5E\u0000\u0000"+
-        "\u3B5F\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3B60\u3B61\u0000\u0000\u0000\u3B62\u3B63"+
-        "\u0000\u3B64\u0000\u3B65\u0000\u0000\u0000\u0000"+
-        "\u3B66\u0000\u3B67\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3B68\u3B69\u3B6A\u3B6B\u0000\u0000"+
-        "\u0000\u3B6C\u0000\u3B6D\u0000\u0000\u0000\u3B6E"+
-        "\u3B6F\u0000\u0000\u0000\u0000\u0000\u0000\u3B70"+
-        "\u0000\u0000\u0000\u3B71\u0000\u0000\u0000\u0000"+
-        "\u3B72\u0000\u6674\u0000\u3B73\u0000\u0000\u0000"+
-        "\u3B74\u3B75\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3B76\u0000\u0000\u0000\u3B77"+
-        "\u0000\u0000\u0000\u3B78\u0000\u0000\u3B7A\u0000"+
-        "\u3B79\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3B7B\u3B7C\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3B7D\u0000\u0000\u0000\u3B7E\u0000\u0000\u0000"+
-        "\u0000\u3C21\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3C22\u3C23\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3C24\u0000\u0000\u0000\u0000\u0000\u0000\u3C25"+
-        "\u0000\u0000\u0000\u0000\u0000\u3C26\u0000\u0000"+
-        "\u0000\u0000\u3C27\u0000\u3C28\u3C29\u0000\u0000"+
-        "\u3C2A\u0000\u0000\u0000\u0000\u0000\u0000\u3C2B"+
-        "\u3C2C\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3C2E\u0000\u0000\u0000\u0000\u0000\u3C2D\u0000"+
-        "\u0000\u0000\u3C2F\u0000\u0000\u3C30\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3C31\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3C34\u0000\u3C32\u0000\u0000\u0000\u0000"+
-        "\u3C33\u3C35\u0000\u0000\u0000\u0000\u3C36\u0000"+
-        "\u3C37\u0000\u0000\u3C38\u3C39\u0000\u3C3A\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3C3B\u0000\u3C3C\u3C3D\u3C3E\u3C3F\u3C40\u0000"+
-        "\u3C41\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3C42\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3C43\u0000\u0000\u3C44\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3C45\u0000\u3C46\u3C47\u0000\u0000"+
-        "\u3C48\u0000\u3C49\u0000\u3C4A\u0000\u0000\u0000"+
-        "\u0000\u3C4B\u0000\u3C4C\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3C4D\u3C4E\u3C4F"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3C50\u0000"+
-        "\u0000\u0000\u0000\u3C52\u3C51\u0000\u3C53\u0000"+
-        "\u0000\u3C54\u3C55\u0000\u3C56\u3C57\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3C58\u0000\u3C59\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3C5A\u0000\u0000"+
-        "\u0000\u0000\u0000\u3C5B\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3C5C\u0000\u0000\u0000\u3C5D\u3C5E"+
-        "\u3C5F\u0000\u0000\u0000\u0000\u0000\u3C60\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3C61\u0000\u0000\u3C62\u3C63\u0000\u0000"+
-        "\u0000\u3C64\u3C65\u3C66\u3C67\u0000\u0000\u0000"+
-        "\u3C68\u0000\u0000\u3C69\u3C6A\u0000\u3C6B\u0000"+
-        "\u3C6C\u0000\u0000\u0000\u3C6D\u0000\u3C6E\u0000"+
-        "\u0000\u0000\u0000\u3C6F\u0000\u3C70\u0000\u3C71"+
-        "\u3C72\u0000\u0000\u0000\u3C73\u3C74\u0000\u3C75"+
-        "\u0000\u0000\u0000\u0000\u0000\u3C76\u0000\u0000"+
-        "\u3C77\u0000\u0000\u0000\u3C78\u0000\u0000\u0000"+
-        "\u3C79\u0000\u0000\u3C7A\u0000\u0000\u0000\u0000"+
-        "\u3C7B\u0000\u0000\u3C7C\u3C7D\u0000\u0000\u3C7E"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3D21"+
-        "\u0000\u0000\u3D22\u0000\u3D23\u3D24\u0000\u0000"+
-        "\u3D25\u0000\u3D26\u0000\u0000\u3D27\u3D28\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3D29\u0000\u0000\u0000\u3D2A\u0000\u3D2B"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3D2C\u0000"+
-        "\u0000\u0000\u0000\u0000\u3D2D\u3D2E\u0000\u0000"+
-        "\u0000\u0000\u3D2F\u0000\u3D32\u0000\u0000\u3D30"+
-        "\u0000\u0000\u0000\u3D31\u3D33\u0000\u0000\u3D34"+
-        "\u3D35\u3D36\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3D37\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3D38\u0000\u0000\u3D39"+
-        "\u3D3A\u3D3B\u0000\u3D3C\u0000\u0000\u0000\u0000"+
-        "\u3D3D\u3D3E\u3D3F\u3D40\u3D41\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3D42\u0000"+
-        "\u0000\u3D43\u3D44\u0000\u0000\u0000\u0000\u0000"+
-        "\u3D45\u3D46\u3D47\u0000\u3D48\u3D49\u3D4A\u3D4B"+
-        "\u0000\u0000\u3D4C\u3D4D\u0000\u0000\u3D4E\u0000"+
-        "\u0000\u0000\u3D4F\u0000\u3D50\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3D51"+
-        "\u0000\u0000\u3D52\u0000\u0000\u3D53\u0000\u0000"+
-        "\u0000\u0000\u0000\u3D54\u3D55\u0000\u0000\u3D56"+
-        "\u3D57\u0000\u3D58\u0000\u0000\u0000\u0000\u3D59"+
-        "\u0000\u0000\u0000\u0000\u3D5A\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3D5B\u0000\u0000"+
-        "\u0000\u0000\u0000\u3D5C\u0000\u3D5D\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3D5E\u0000\u0000\u0000\u0000\u0000\u0000\u3D5F"+
-        "\u3D60\u3D61\u0000\u0000\u3D62\u0000\u0000\u0000"+
-        "\u0000\u3D63\u0000\u0000\u3D64\u0000\u3D65\u3D66"+
-        "\u0000\u0000\u0000\u0000\u0000\u3D67\u0000\u0000"+
-        "\u0000\u3D68\u0000\u0000\u0000\u0000\u0000\u3D69"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3D6A\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3D6B\u3D6C"+
-        "\u0000\u0000\u3D6D\u0000\u0000\u0000\u3D6E\u0000"+
-        "\u3D6F\u0000\u3D70\u0000\u0000\u0000\u3D71\u0000"+
-        "\u0000\u3D72\u0000\u3D73\u0000\u3D74\u0000\u0000"+
-        "\u3D75\u0000\u0000\u0000\u0000\u3D76\u3D77\u0000"+
-        "\u0000\u0000\u3D78\u0000\u3D79\u3D7A\u0000\u0000"+
-        "\u3D7B\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3D7C\u3D7D\u0000\u0000\u0000\u0000\u0000\u3D7E"+
-        "\u0000\u0000\u0000\u3E21\u0000\u0000\u3E22\u0000"+
-        "\u0000\u0000\u3E23\u0000\u3E24\u0000\u0000\u0000"+
-        "\u3E25\u3E26\u3E27\u3E28\u0000\u0000\u3E29\u3E2A"+
-        "\u0000\u0000\u0000\u0000\u3E2B\u3E2C\u0000\u0000"+
-        "\u0000\u3E2D\u0000\u3E2E\u0000\u3E2F\u3E30\u0000"+
-        "\u0000\u0000\u3E31\u0000\u0000\u3E32\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3E33\u0000\u0000\u3E34\u0000\u0000"+
-        "\u3E35\u0000\u0000\u0000\u3E36\u3E37\u0000\u0000"+
-        "\u0000\u0000\u3E38\u0000\u0000\u0000\u0000\u3E39"+
-        "\u0000\u0000\u3E3A\u0000\u3E3B\u0000\u0000\u0000"+
-        "\u3E3C\u3E3D\u3E3E\u3E3F\u3E40\u0000\u3E41\u3E42"+
-        "\u0000\u3E43\u0000\u0000\u3E44\u0000\u3E45\u0000"+
-        "\u0000\u0000\u3E46\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3E47\u3E48\u0000\u0000\u0000\u0000"+
-        "\u3E49\u3E4A\u0000\u0000\u0000\u3E4B\u3E4C\u3E4D"+
-        "\u0000\u3E4E\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3E4F\u0000\u0000\u0000\u3E50\u3E51\u0000"+
-        "\u0000\u3E52\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3E53\u0000"+
-        "\u3E54\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3E55\u0000\u0000\u0000"+
-        "\u0000\u0000\u3E56\u0000\u0000\u0000\u0000\u0000"+
-        "\u3E57\u0000\u0000\u3E58\u3E59\u0000\u0000\u3E5A"+
-        "\u3E5B\u3E5C\u0000\u3E5D\u3E5E\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3E5F\u0000\u3E60\u0000\u0000"+
-        "\u0000\u0000\u3E61\u3E62\u0000\u0000\u0000\u3E63"+
-        "\u3E64\u0000\u0000\u0000\u3E65\u3E66\u0000\u3E67"+
-        "\u3E68\u0000\u0000\u0000\u0000\u3E69\u0000\u0000"+
-        "\u3E6A\u0000\u3E6B\u0000\u0000\u3E6C\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3E6D\u3E6E\u0000\u0000\u3E6F\u0000\u0000\u0000"+
-        "\u3E70\u3E71\u3E72\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3E73\u3E74"+
-        "\u0000\u0000\u0000\u0000\u0000\u3E75\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3E76\u3E77\u3E78\u3E79"+
-        "\u0000\u3E7A\u3E7B\u0000\u0000\u3E7E\u0000\u3E7C"+
-        "\u0000\u3E7D\u0000\u0000\u3F21\u3F22\u0000\u3F23"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3F24\u0000\u3F25\u3F26\u0000\u0000\u3F27"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3F28\u0000\u3F29\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3F2A\u0000\u0000\u0000"+
-        "\u3F2B\u0000\u3F2C\u3F2D\u0000\u0000\u0000\u3F2E"+
-        "\u0000\u3F2F\u0000\u3F30\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3F31\u0000\u0000\u0000\u3F32\u0000\u0000"+
-        "\u0000\u0000\u3F33\u3F34\u3F35\u0000\u3F36\u0000"+
-        "\u0000\u0000\u0000\u0000\u3F37\u0000\u0000\u0000"+
-        "\u3F38\u3F39\u3F3A\u0000\u3F3B\u0000\u3F3C\u0000"+
-        "\u0000\u0000\u3F3D\u0000\u3F3E\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3F3F\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3F40\u0000\u3F41"+
-        "\u0000\u0000\u0000\u3F42\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3F43\u0000\u0000\u3F44\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3F45\u3F46\u3F47"+
-        "\u3F48\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3F49\u0000"+
-        "\u3F4A\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3F4B\u0000\u0000\u3F4C\u3F4D"+
-        "\u0000\u0000\u3F4E\u0000\u0000\u0000\u3F4F\u3F50"+
-        "\u0000\u0000\u0000\u0000\u3F51\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3F52\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3F53\u3F54\u0000"+
-        "\u0000\u0000\u3F55\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3F56\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3F57\u0000\u3F58\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3F59\u3F5A\u0000\u0000"+
-        "\u0000\u0000\u0000\u3F5B\u3F5C\u0000\u0000\u0000"+
-        "\u0000\u0000\u3F5D\u3F5E\u0000\u3F5F\u0000\u0000"+
-        "\u3F60\u0000\u0000\u3F61\u0000\u0000\u3F62\u0000"+
-        "\u3F63\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3F64\u3F65\u0000\u0000\u3F66\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3F67\u3F68\u0000"+
-        "\u0000\u3F69\u0000\u0000\u3F6A\u0000\u0000\u0000"+
-        "\u0000\u3F6B\u3F6C\u3F6D\u3F6E\u0000\u3F6F\u0000"+
-        "\u0000\u0000\u3F70\u3F71\u0000\u0000\u3F72\u0000"+
-        "\u0000\u0000\u3F73\u3F74\u3F75\u0000\u0000\u0000"+
-        "\u3F76\u0000\u0000\u3F77\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3F78\u3F79\u0000"+
-        "\u0000\u0000\u0000\u0000\u3F7A\u3F7B\u0000\u0000"+
-        "\u0000\u3F7C\u0000\u0000\u3F7D\u3F7E\u0000\u0000"+
-        "\u4021\u0000\u0000\u0000\u4022\u4023\u0000\u4024"+
-        "\u0000\u0000\u4025\u0000\u4026\u0000\u0000\u4027"+
-        "\u0000\u0000\u4028\u0000\u0000\u0000\u0000\u0000"+
-        "\u4029\u0000\u0000\u0000\u402A\u402B\u0000\u0000"+
-        "\u0000\u402C\u402D\u0000\u0000\u0000\u402E\u0000"+
-        "\u0000\u0000\u0000\u0000\u402F\u0000\u4030\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4031\u4032\u4033"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4034\u0000\u0000"+
-        "\u0000\u4035\u0000\u0000\u0000\u4036\u0000\u0000"+
-        "\u4037\u0000\u0000\u0000\u0000\u0000\u4038\u0000"+
-        "\u0000\u4039\u0000\u403A\u403B\u403C\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u403D\u0000\u0000\u0000"+
-        "\u403E\u0000\u0000\u0000\u0000\u403F\u0000\u0000"+
-        "\u0000\u0000\u4040\u0000\u4041\u0000\u0000\u0000"+
-        "\u0000\u0000\u4042\u4043\u0000\u4044\u0000\u0000"+
-        "\u4045\u4046\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4047\u4048\u0000\u0000\u0000\u0000\u0000"+
-        "\u4049\u0000\u404A\u0000\u404B\u0000\u0000\u0000"+
-        "\u404C\u0000\u0000\u0000\u0000\u0000\u404D\u0000"+
-        "\u404E\u0000\u404F\u0000\u4050\u4051\u0000\u0000"+
-        "\u0000\u4052\u4053\u0000\u0000\u0000\u0000\u4054"+
-        "\u4055\u0000\u0000\u0000\u0000\u4056\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4057\u0000\u4058"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4059\u0000\u0000\u0000\u405A"+
-        "\u0000\u405B\u405C\u405D\u405E\u0000\u0000\u0000"+
-        "\u0000\u0000\u405F\u4060\u4061\u4062\u0000\u4063"+
-        "\u4064\u4065\u0000\u4066\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4067\u0000\u0000"+
-        "\u0000\u0000\u0000\u4068\u4069\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u406A\u0000\u406B\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u406C\u0000\u406D"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u406E"+
-        "\u406F\u4070\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4071\u4072\u0000\u4073\u0000\u4074\u0000\u4075"+
-        "\u0000\u4076\u0000\u4077\u0000\u0000\u4078\u0000"+
-        "\u4079\u0000\u0000\u0000\u407A\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u407B\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u407C\u407D\u407E"+
-        "\u0000\u0000\u0000\u0000\u4121\u0000\u0000\u0000"+
-        "\u0000\u4122\u4123\u4124\u4125\u0000\u4126\u0000"+
-        "\u4127\u4128\u0000\u0000\u0000\u4129\u0000\u412A"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u412B\u412C\u0000\u0000"+
-        "\u0000\u412D\u412E\u0000\u0000\u412F\u0000\u0000"+
-        "\u4130\u0000\u0000\u0000\u0000\u4131\u0000\u4132"+
-        "\u0000\u0000\u0000\u4133\u0000\u0000\u0000\u4134"+
-        "\u0000\u4135\u0000\u0000\u4136\u0000\u0000\u0000"+
-        "\u4137\u4138\u4139\u0000\u0000\u0000\u0000\u413A"+
-        "\u0000\u0000\u0000\u413B\u413C\u0000\u413D\u0000"+
-        "\u0000\u413E\u0000\u413F\u0000\u0000\u4140\u4141"+
-        "\u0000\u0000\u4142\u0000\u0000\u0000\u4143\u0000"+
-        "\u0000\u4144\u0000\u0000\u0000\u0000\u4145\u0000"+
-        "\u0000\u4146\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4147\u0000\u4148\u4149\u0000\u0000"+
-        "\u0000\u0000\u0000\u414A\u0000\u0000\u0000\u414B"+
-        "\u0000\u414C\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u414D\u0000\u414E\u0000\u414F\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4150"+
-        "\u4151\u0000\u0000\u0000\u0000\u0000\u0000\u4152"+
-        "\u0000\u0000\u0000\u4153\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4154\u0000\u0000\u4155\u0000\u0000"+
-        "\u0000\u4156\u0000\u0000\u0000\u4157\u0000\u0000"+
-        "\u0000\u0000\u4158\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4159\u0000\u0000\u415A\u0000\u0000"+
-        "\u415B\u0000\u0000\u0000\u0000\u415C\u0000\u0000"+
-        "\u415D\u0000\u0000\u415E\u0000\u0000\u415F\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4160\u0000"+
-        "\u0000\u0000\u4161\u4162\u4163\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4164"+
-        "\u0000\u0000\u4165\u0000\u0000\u0000\u0000\u0000"+
-        "\u4166\u4167\u0000\u0000\u0000\u0000\u4168\u0000"+
-        "\u4169\u0000\u0000\u0000\u416A\u0000\u416B\u0000"+
-        "\u416C\u0000\u0000\u0000\u0000\u0000\u0000\u416D"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u416E\u0000\u416F\u0000\u4170\u4171\u0000\u0000"+
-        "\u0000\u4172\u0000\u0000\u0000\u0000\u4173\u4174"+
-        "\u4175\u0000\u0000\u0000\u4176\u0000\u0000\u0000"+
-        "\u4177\u4178\u0000\u0000\u0000\u4179\u0000\u0000"+
-        "\u0000\u417A\u417B\u0000\u0000\u417C\u417D\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u417E\u4221\u0000"+
-        "\u0000\u4222\u4223\u4224\u4225\u0000\u4226\u0000"+
-        "\u0000\u4227\u4228\u4229\u422A\u0000\u422B\u0000"+
-        "\u422C\u422D\u0000\u422E\u0000\u0000\u0000\u4230"+
-        "\u0000\u422F\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4231\u0000\u0000\u0000\u0000\u4232\u4233\u0000"+
-        "\u0000\u0000\u4234\u0000\u4235\u0000\u4237\u0000"+
-        "\u0000\u4236\u0000\u0000\u0000\u0000\u0000\u4238"+
-        "\u4239\u423A\u0000\u423B\u423C\u0000\u0000\u0000"+
-        "\u423D\u423E\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4240\u4241\u4242\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4244\u0000\u4245\u0000\u4247"+
-        "\u4248\u4249\u0000\u424A\u424C\u0000\u4243\u4246"+
-        "\u424B\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u424D\u424E\u424F\u0000\u0000"+
-        "\u4250\u0000\u4251\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4252\u4253\u4254\u4255\u0000\u0000\u4256"+
-        "\u4257\u0000\u0000\u0000\u4258\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4259\u0000\u0000"+
-        "\u0000\u425A\u425B\u0000\u0000\u425C\u0000\u0000"+
-        "\u0000\u0000\u0000\u425D\u0000\u0000\u0000\u425E"+
-        "\u425F\u0000\u4260\u4261\u0000\u0000\u0000\u0000"+
-        "\u4262\u0000\u0000\u0000\u4263\u0000\u4264\u4265"+
-        "\u0000\u0000\u0000\u0000\u4266\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4267\u0000\u0000\u0000\u4268"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4269\u0000\u0000\u426A\u426B\u0000\u426C\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u426D\u423F\u0000\u0000\u0000\u0000";
-
-    private final static String innerIndex2=
-        "\u0000\u0000\u0000\u0000\u0000\u426E\u0000\u426F"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4270\u0000"+
-        "\u0000\u0000\u0000\u4271\u0000\u0000\u0000\u0000"+
-        "\u0000\u4272\u0000\u0000\u4273\u0000\u0000\u0000"+
-        "\u4274\u0000\u4275\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4276\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4277\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4278\u0000\u4279"+
-        "\u427A\u0000\u0000\u0000\u427B\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u427C\u427D\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u427E\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4321\u0000"+
-        "\u0000\u0000\u0000\u0000\u4322\u0000\u4323\u0000"+
-        "\u0000\u0000\u0000\u0000\u4324\u0000\u4325\u0000"+
-        "\u0000\u0000\u0000\u4326\u0000\u0000\u0000\u0000"+
-        "\u0000\u4327\u0000\u0000\u4328\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4329\u432A"+
-        "\u0000\u432B\u0000\u432C\u0000\u0000\u432D\u0000"+
-        "\u432E\u432F\u0000\u4330\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4331\u4332\u4333\u0000\u0000\u4334\u0000\u0000"+
-        "\u0000\u0000\u0000\u4335\u4336\u4337\u0000\u0000"+
-        "\u4339\u0000\u433A\u433B\u0000\u433C\u0000\u0000"+
-        "\u433D\u433E\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u433F\u0000\u0000\u0000\u0000\u4340"+
-        "\u0000\u4341\u0000\u0000\u4342\u0000\u0000\u0000"+
-        "\u0000\u4343\u0000\u0000\u0000\u0000\u4344\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4345\u0000\u4346\u0000\u0000\u0000\u4347\u4348"+
-        "\u0000\u4338\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u434A\u0000\u0000\u0000"+
-        "\u0000\u434B\u0000\u0000\u0000\u434C\u0000\u434D"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u434F"+
-        "\u434E\u0000\u0000\u0000\u4350\u4351\u0000\u4352"+
-        "\u4353\u4354\u0000\u4355\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4356\u0000\u0000\u0000\u4357"+
-        "\u0000\u0000\u0000\u0000\u4358\u4359\u0000\u0000"+
-        "\u0000\u0000\u435A\u0000\u435B\u0000\u0000\u0000"+
-        "\u0000\u0000\u4349\u0000\u0000\u435C\u0000\u435D"+
-        "\u435E\u0000\u0000\u435F\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4360\u0000\u0000\u4361\u4362"+
-        "\u4363\u4364\u4365\u0000\u0000\u4366\u0000\u0000"+
-        "\u0000\u4367\u4368\u4369\u436A\u0000\u0000\u0000"+
-        "\u0000\u0000\u436B\u0000\u436C\u0000\u436D\u0000"+
-        "\u436E\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u436F\u0000"+
-        "\u4370\u0000\u4371\u0000\u4372\u0000\u0000\u0000"+
-        "\u0000\u4373\u0000\u4374\u0000\u4375\u0000\u0000"+
-        "\u0000\u4376\u4377\u0000\u0000\u0000\u4378\u0000"+
-        "\u0000\u0000\u4379\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u437A\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u437B\u0000\u0000"+
-        "\u437C\u0000\u0000\u0000\u437D\u0000\u0000\u437E"+
-        "\u4421\u4422\u0000\u4423\u0000\u0000\u4424\u0000"+
-        "\u0000\u4425\u0000\u0000\u4426\u4427\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4428\u0000\u0000"+
-        "\u4429\u0000\u442A\u442B\u442C\u442D\u0000\u0000"+
-        "\u442E\u442F\u0000\u0000\u0000\u4430\u4431\u0000"+
-        "\u0000\u0000\u0000\u4432\u4433\u4434\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4435\u0000"+
-        "\u0000\u4436\u4437\u0000\u0000\u0000\u0000\u0000"+
-        "\u4438\u4439\u0000\u443A\u0000\u0000\u443B\u443C"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u443D\u0000\u443E\u0000\u443F\u0000\u0000"+
-        "\u4440\u0000\u0000\u4441\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4442\u0000\u0000\u4443\u0000\u0000"+
-        "\u0000\u4444\u0000\u0000\u0000\u0000\u4445\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4446"+
-        "\u0000\u0000\u0000\u4447\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4448\u4449\u444A\u444B\u0000"+
-        "\u444C\u444D\u0000\u0000\u444E\u0000\u0000\u0000"+
-        "\u444F\u4450\u4451\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4452\u4453\u0000\u0000\u0000\u4454"+
-        "\u4455\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4456\u0000\u0000"+
-        "\u0000\u0000\u4457\u0000\u0000\u0000\u4458\u0000"+
-        "\u4459\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u445A\u0000\u0000\u0000\u445B\u445C\u0000"+
-        "\u445D\u0000\u0000\u445E\u0000\u445F\u0000\u4460"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4461"+
-        "\u4462\u0000\u4463\u0000\u4464\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4465\u0000\u0000"+
-        "\u4466\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4467\u0000\u0000\u0000\u0000\u4468\u4469"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u446A\u0000\u0000\u446B\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u446C\u446D"+
-        "\u0000\u446E\u0000\u446F\u0000\u4470\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4471\u0000"+
-        "\u4472\u4473\u0000\u4474\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4475"+
-        "\u0000\u4476\u0000\u0000\u0000\u4477\u0000\u0000"+
-        "\u0000\u0000\u4478\u0000\u0000\u4479\u0000\u0000"+
-        "\u447A\u0000\u0000\u0000\u447B\u0000\u0000\u0000"+
-        "\u447C\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u447D\u0000\u447E\u0000\u4521\u0000\u0000\u4522"+
-        "\u0000\u0000\u0000\u4523\u0000\u0000\u4524\u4525"+
-        "\u0000\u0000\u0000\u0000\u0000\u4526\u4527\u0000"+
-        "\u0000\u4528\u4529\u0000\u0000\u0000\u452A\u0000"+
-        "\u452B\u452C\u452D\u0000\u0000\u452E\u452F\u0000"+
-        "\u0000\u0000\u0000\u4530\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u4531\u0000\u0000\u4532"+
-        "\u0000\u0000\u4533\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4534\u0000\u4535\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4536\u0000"+
-        "\u0000\u4537\u0000\u4538\u0000\u0000\u4539\u453A"+
-        "\u0000\u453B\u0000\u453C\u0000\u0000\u0000\u0000"+
-        "\u0000\u453D\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u453E\u0000\u453F\u4540\u4541"+
-        "\u0000\u0000\u0000\u0000\u0000\u4542\u0000\u0000"+
-        "\u0000\u0000\u0000\u4543\u0000\u0000\u0000\u4544"+
-        "\u4545\u4546\u0000\u0000\u4547\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4548\u4549\u454A"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u454B\u0000"+
-        "\u454D\u454C\u0000\u0000\u454E\u0000\u0000\u0000"+
-        "\u454F\u0000\u0000\u0000\u4550\u4551\u4552\u0000"+
-        "\u0000\u0000\u0000\u0000\u4553\u4554\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u4555\u0000\u0000\u4556"+
-        "\u0000\u0000\u0000\u0000\u4557\u0000\u0000\u0000"+
-        "\u4558\u4559\u455A\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u455B\u455C\u0000\u0000"+
-        "\u0000\u0000\u455D\u455E\u0000\u0000\u455F\u4560"+
-        "\u0000\u4561\u0000\u0000\u0000\u0000\u0000\u4562"+
-        "\u4563\u4564\u0000\u0000\u0000\u0000\u0000\u4565"+
-        "\u0000\u0000\u0000\u4566\u0000\u0000\u4567\u0000"+
-        "\u0000\u0000\u0000\u0000\u4568\u0000\u0000\u0000"+
-        "\u4569\u0000\u0000\u456A\u456B\u0000\u0000\u456C"+
-        "\u0000\u0000\u0000\u0000\u0000\u456D\u456E\u0000"+
-        "\u0000\u0000\u0000\u456F\u0000\u0000\u0000\u4570"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4571\u0000"+
-        "\u0000\u0000\u4572\u0000\u0000\u4573\u0000\u0000"+
-        "\u0000\u0000\u4574\u0000\u0000\u0000\u4575\u0000"+
-        "\u4576\u0000\u0000\u0000\u0000\u4577\u0000\u0000"+
-        "\u4578\u0000\u0000\u0000\u0000\u0000\u0000\u4579"+
-        "\u0000\u0000\u0000\u457A\u0000\u0000\u457B\u0000"+
-        "\u457C\u0000\u0000\u0000\u0000\u457D\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u457E\u4621\u0000"+
-        "\u0000\u0000\u4622\u0000\u0000\u4623\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4624"+
-        "\u0000\u0000\u0000\u4625\u0000\u0000\u0000\u4626"+
-        "\u4627\u0000\u4628\u4629\u0000\u0000\u0000\u0000"+
-        "\u462A\u462B\u0000\u0000\u462C\u462D\u462E\u0000"+
-        "\u462F\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4630\u4631\u0000\u0000\u0000\u4632\u4633\u0000"+
-        "\u0000\u0000\u0000\u4634\u4635\u0000\u0000\u0000"+
-        "\u0000\u4636\u0000\u0000\u4637\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4638\u0000"+
-        "\u0000\u0000\u4639\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u463A\u0000\u463B\u0000\u0000\u463C\u463D"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u463E\u0000"+
-        "\u0000\u463F\u0000\u0000\u0000\u0000\u0000\u4640"+
-        "\u0000\u4641\u0000\u0000\u0000\u0000\u0000\u4642"+
-        "\u0000\u0000\u4643\u0000\u4644\u4645\u0000\u0000"+
-        "\u0000\u4646\u0000\u0000\u0000\u4647\u4648\u0000"+
-        "\u4649\u0000\u464A\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u464B\u0000\u0000\u0000\u0000\u0000\u464C"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u464D\u464E"+
-        "\u464F\u0000\u0000\u0000\u4650\u0000\u4651\u0000"+
-        "\u0000\u0000\u0000\u4652\u0000\u4653\u4654\u0000"+
-        "\u0000\u0000\u4655\u4656\u0000\u0000\u0000\u4657"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4658\u4659\u0000\u465A\u0000\u465B"+
-        "\u0000\u0000\u465C\u0000\u465D\u0000\u0000\u0000"+
-        "\u0000\u465E\u0000\u465F\u4660\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4736"+
-        "\u0000\u0000\u0000\u4661\u0000\u4662\u0000\u4663"+
-        "\u0000\u0000\u0000\u0000\u4664\u0000\u4665\u0000"+
-        "\u4666\u4667\u0000\u4668\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4669\u466A\u466B"+
-        "\u0000\u466C\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u466D\u466E\u0000\u466F"+
-        "\u4670\u0000\u0000\u0000\u4671\u0000\u0000\u4672"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4673\u0000\u4674\u0000\u4675\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4676\u0000\u0000\u0000\u4677\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4678\u0000\u4679"+
-        "\u467A\u467B\u467C\u0000\u467D\u0000\u467E\u0000"+
-        "\u0000\u0000\u4721\u0000\u4722\u0000\u0000\u0000"+
-        "\u4723\u0000\u0000\u0000\u0000\u0000\u0000\u4724"+
-        "\u0000\u4725\u0000\u4726\u4727\u0000\u4728\u0000"+
-        "\u0000\u0000\u4729\u0000\u472A\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u472B\u0000\u0000\u472C"+
-        "\u0000\u0000\u472D\u0000\u0000\u0000\u472E\u472F"+
-        "\u0000\u4730\u0000\u4731\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4732\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4733\u4734"+
-        "\u4735\u0000\u0000\u0000\u0000\u0000\u4737\u4738"+
-        "\u0000\u4739\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u473A\u0000\u0000\u473B\u0000\u0000\u473C"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u473D"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u473E\u473F"+
-        "\u0000\u4740\u0000\u0000\u0000\u4741\u0000\u4742"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4743"+
-        "\u4744\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u4745\u0000\u0000\u0000"+
-        "\u0000\u0000\u4746\u0000\u0000\u0000\u0000\u4747"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4748\u4749\u0000\u474A\u0000\u474B\u474C"+
-        "\u474D\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u474E\u0000\u474F\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u4750\u0000\u0000\u4751"+
-        "\u0000\u4752\u0000\u0000\u0000\u4753\u0000\u4754"+
-        "\u0000\u0000\u0000\u0000\u4755\u0000\u0000\u0000"+
-        "\u4756\u0000\u4757\u0000\u0000\u0000\u4758\u4759"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u475A\u0000"+
-        "\u0000\u0000\u0000\u475B\u0000\u475C\u0000\u475D"+
-        "\u475E\u0000\u475F\u0000\u0000\u4760\u0000\u0000"+
-        "\u0000\u4761\u0000\u0000\u0000\u0000\u0000\u4762"+
-        "\u4763\u0000\u0000\u0000\u4764\u0000\u4765\u0000"+
-        "\u0000\u0000\u0000\u0000\u4766\u0000\u0000\u0000"+
-        "\u4767\u0000\u0000\u0000\u4768\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4769\u0000"+
-        "\u0000\u0000\u476A\u0000\u0000\u0000\u0000\u476B"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u476C\u0000\u0000\u0000\u476D\u0000"+
-        "\u0000\u476E\u0000\u476F\u4770\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u4771\u4772\u0000\u0000"+
-        "\u4773\u4774\u0000\u4775\u0000\u0000\u0000\u4776"+
-        "\u0000\u4777\u4778\u4779\u477A\u0000\u0000\u477B"+
-        "\u0000\u0000\u0000\u0000\u477C\u477D\u477E\u0000"+
-        "\u0000\u0000\u4821\u4822\u0000\u0000\u0000\u0000"+
-        "\u4823\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4824\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4825\u0000\u4826\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4827\u0000\u0000"+
-        "\u0000\u0000\u0000\u4828\u0000\u0000\u0000\u0000"+
-        "\u0000\u4829\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u482A\u0000\u0000\u0000\u0000\u0000\u0000\u482B"+
-        "\u0000\u0000\u0000\u0000\u0000\u482C\u482D\u0000"+
-        "\u0000\u482E\u0000\u482F\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4830\u0000\u0000\u0000\u4831"+
-        "\u4832\u4833\u0000\u4834\u0000\u0000\u0000\u4835"+
-        "\u4836\u0000\u4837\u0000\u0000\u4838\u4839\u483A"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u483B\u0000\u483C\u483D\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u483E\u0000\u483F\u0000\u4840\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u4841\u0000\u0000\u0000"+
-        "\u4842\u0000\u4843\u0000\u4844\u4845\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4846\u0000"+
-        "\u4847\u0000\u4848\u4849\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u484A\u0000"+
-        "\u0000\u484B\u484C\u0000\u0000\u4853\u0000\u484D"+
-        "\u484E\u0000\u0000\u484F\u0000\u0000\u4850\u0000"+
-        "\u0000\u0000\u0000\u4851\u4852\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4854"+
-        "\u0000\u4855\u4856\u4857\u0000\u0000\u0000\u4858"+
-        "\u0000\u4859\u485A\u0000\u0000\u485B\u485C\u0000"+
-        "\u0000\u485D\u485E\u0000\u0000\u0000\u0000\u0000"+
-        "\u485F\u0000\u0000\u0000\u4860\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4861\u4862\u0000"+
-        "\u0000\u0000\u0000\u4863\u0000\u0000\u0000\u4864"+
-        "\u4865\u0000\u0000\u4866\u4867\u4868\u0000\u0000"+
-        "\u4869\u0000\u486A\u486B\u486C\u0000\u486D\u0000"+
-        "\u0000\u0000\u486E\u0000\u0000\u0000\u0000\u486F"+
-        "\u4870\u0000\u0000\u0000\u0000\u4871\u4872\u4873"+
-        "\u4874\u0000\u0000\u0000\u0000\u0000\u4875\u4876"+
-        "\u4877\u0000\u0000\u0000\u0000\u4878\u4879\u0000"+
-        "\u0000\u0000\u0000\u0000\u487A\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u487B\u0000\u487C"+
-        "\u487D\u0000\u487E\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4921\u0000\u0000\u0000\u4922\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4923\u4924\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4925\u0000\u0000\u0000\u0000\u4926\u0000\u0000"+
-        "\u0000\u4927\u0000\u0000\u4928\u4929\u0000\u0000"+
-        "\u492A\u0000\u0000\u0000\u0000\u492B\u492C\u492D"+
-        "\u0000\u0000\u0000\u0000\u0000\u492E\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u492F"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4930\u0000\u0000\u4931\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4932"+
-        "\u0000\u0000\u0000\u0000\u4933\u0000\u0000\u4934"+
-        "\u0000\u4935\u0000\u0000\u4936\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4937\u4938\u0000\u0000\u0000"+
-        "\u4939\u493A\u493B\u493C\u0000\u0000\u4941\u0000"+
-        "\u0000\u0000\u0000\u0000\u493D\u493E\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u493F\u4940\u0000"+
-        "\u0000\u0000\u0000\u0000\u4942\u4943\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u4944\u0000\u4945\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4946\u4947\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4948\u0000"+
-        "\u0000\u4949\u0000\u0000\u0000\u494A\u494B\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u494C\u494D\u494E\u494F"+
-        "\u4950\u0000\u0000\u4951\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u4952\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4953\u0000\u0000\u0000\u0000"+
-        "\u4954\u4955\u0000\u0000\u4956\u0000\u0000\u4957"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4958\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4959\u0000\u495A\u495B\u495C\u495D\u0000"+
-        "\u495E\u0000\u0000\u0000\u495F\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u4960\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4961\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4962\u4963\u4964\u4965\u4966"+
-        "\u0000\u0000\u0000\u4967\u4968\u0000\u0000\u4969"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u496A\u0000"+
-        "\u496B\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u496C\u0000\u496D\u0000\u496E"+
-        "\u496F\u4970\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4971\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4972\u0000\u0000\u0000\u4973\u4974\u4975"+
-        "\u0000\u0000\u4976\u4977\u0000\u0000\u0000\u0000"+
-        "\u4978\u0000\u4979\u0000\u0000\u0000\u0000\u497A"+
-        "\u0000\u0000\u497B\u0000\u497C\u0000\u497D\u0000"+
-        "\u497E\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4A21\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4A22\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4A23\u0000\u0000\u0000\u0000\u4A24\u0000\u4A25"+
-        "\u0000\u0000\u0000\u0000\u4A26\u0000\u0000\u0000"+
-        "\u0000\u0000\u4A27\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4A28\u4A29\u0000\u0000\u0000\u0000"+
-        "\u4A2A\u0000\u4A2B\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4A2C"+
-        "\u4A2D\u0000\u4A2E\u4A2F\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4A30\u0000\u0000\u0000\u0000\u4A31"+
-        "\u4A32\u4A33\u0000\u0000\u4A34\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4A35\u4A36\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4A37\u0000\u0000\u4A38\u0000"+
-        "\u0000\u4A39\u4A3A\u0000\u4A3B\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4A3C\u0000\u0000\u0000\u0000\u0000\u4A3D\u0000"+
-        "\u4A3E\u0000\u0000\u0000\u0000\u0000\u0000\u4A3F"+
-        "\u4A40\u4A41\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4A42\u0000\u0000\u0000\u4A43"+
-        "\u0000\u0000\u4A44\u0000\u0000\u4A45\u0000\u4A46"+
-        "\u0000\u0000\u0000\u0000\u4A47\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4A48\u0000\u0000\u0000\u4A49"+
-        "\u0000\u0000\u0000\u0000\u4A4A\u0000\u0000\u0000"+
-        "\u4A4B\u4A4C\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4A4D\u4A4E\u4A4F\u0000\u4A50\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4A51\u4A52"+
-        "\u4A53\u0000\u0000\u4A54\u0000\u4A55\u4A56\u0000"+
-        "\u0000\u0000\u4A57\u0000\u4A58\u0000\u4A59\u0000"+
-        "\u4A5A\u0000\u0000\u4A5B\u0000\u0000\u0000\u0000"+
-        "\u4A5C\u0000\u0000\u4A5D\u0000\u0000\u4A5E\u4A5F"+
-        "\u0000\u4A60\u0000\u0000\u0000\u0000\u0000\u4A61"+
-        "\u4A62\u0000\u0000\u4A63\u4A64\u0000\u0000\u4A65"+
-        "\u0000\u0000\u0000\u0000\u4A66\u0000\u0000\u0000"+
-        "\u0000\u4A67\u0000\u0000\u0000\u4A68\u4A69\u0000"+
-        "\u0000\u0000\u0000\u4A6A\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4A6B\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4A6C\u0000\u0000\u0000\u0000\u4A6D\u4A6E\u0000"+
-        "\u0000\u4A6F\u0000\u0000\u4A70\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4A71\u0000"+
-        "\u0000\u4A72\u0000\u0000\u0000\u0000\u0000\u4A73"+
-        "\u0000\u4A74\u0000\u0000\u4A75\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4A76\u4A77\u0000"+
-        "\u4A78\u0000\u0000\u0000\u0000\u0000\u0000\u4A79"+
-        "\u0000\u0000\u0000\u0000\u0000\u4A7A\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4A7B\u4A7C\u0000\u0000\u0000"+
-        "\u0000\u0000\u4A7D\u4A7E\u0000\u0000\u4B21\u0000"+
-        "\u0000\u0000\u4B22\u0000\u4B23\u4B24\u0000\u4B25"+
-        "\u0000\u0000\u0000\u4B26\u0000\u4B27\u0000\u0000"+
-        "\u0000\u0000\u4B28\u4B29\u0000\u0000\u0000\u0000"+
-        "\u4B2A\u4B2B\u0000\u0000\u0000\u0000\u4B2C\u0000"+
-        "\u0000\u0000\u4B2D\u0000\u4B2E\u0000\u0000\u4B2F"+
-        "\u4B30\u0000\u0000\u0000\u4B31\u0000\u0000\u0000"+
-        "\u0000\u4B32\u4B33\u0000\u0000\u4B34\u0000\u0000"+
-        "\u0000\u0000\u4B35\u4B36\u0000\u4B37\u0000\u0000"+
-        "\u0000\u0000\u0000\u4B38\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4B39\u0000\u0000"+
-        "\u4B3A\u0000\u4B3B\u0000\u0000\u0000\u4B3C\u0000"+
-        "\u4B3D\u0000\u0000\u0000\u0000\u4B3E\u4B3F\u4B40"+
-        "\u4B41\u0000\u0000\u0000\u0000\u0000\u4B42\u4B43"+
-        "\u0000\u4B44\u0000\u4B45\u4B46\u0000\u4B47\u4B48"+
-        "\u0000\u4B49\u0000\u0000\u0000\u0000\u0000\u4B4A"+
-        "\u0000\u4B4B\u0000\u0000\u4B4C\u0000\u0000\u0000"+
-        "\u4B4D\u4B4E\u0000\u4B4F\u0000\u4B50\u4B51\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4B52\u0000"+
-        "\u4B53\u0000\u0000\u4B54\u0000\u4B55\u0000\u4B56"+
-        "\u4B57\u0000\u0000\u0000\u4B58\u0000\u4B59\u4B5A"+
-        "\u4B5B\u0000\u4B5C\u0000\u0000\u4B5D\u4B5E\u0000"+
-        "\u0000\u0000\u4B5F\u4B60\u0000\u4B61\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4B62\u0000\u4B63"+
-        "\u0000\u4B64\u0000\u0000\u4B65\u4B66\u0000\u4B67"+
-        "\u0000\u0000\u0000\u0000\u0000\u4B68\u4B69\u0000"+
-        "\u0000\u4B6A\u0000\u4B6B\u4B6C\u0000\u0000\u4B6D"+
-        "\u0000\u0000\u4B6E\u4B6F\u0000\u0000\u4B70\u0000"+
-        "\u0000\u4B71\u0000\u0000\u0000\u4B72\u0000\u0000"+
-        "\u0000\u4B73\u0000\u4B74\u0000\u0000\u4B75\u4B76"+
-        "\u0000\u4B77\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u4B78\u4B79\u0000\u4B7A"+
-        "\u0000\u4B7B\u4B7C\u4B7D\u0000\u4B7E\u0000\u4C21"+
-        "\u4C22\u4C23\u0000\u0000\u4C24\u0000\u0000\u4C25"+
-        "\u0000\u0000\u4C26\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4C27\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4C28\u4C29\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u4C2A\u0000\u4C2B\u0000"+
-        "\u4C2C\u4C2D\u4C2E\u4C2F\u4C30\u4C31\u4C32\u4C33"+
-        "\u4C34\u4C35\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4C36\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4C37\u0000\u0000\u4C38\u4C39\u0000\u4C3A\u4C3B"+
-        "\u0000\u0000\u0000\u4C3C\u0000\u4C3D\u0000\u0000"+
-        "\u0000\u4C3E\u4C3F\u0000\u0000\u0000\u0000\u4C40"+
-        "\u0000\u0000\u0000\u0000\u0000\u4C41\u0000\u0000"+
-        "\u0000\u0000\u4C42\u0000\u0000\u0000\u4C43\u4C44"+
-        "\u4C45\u0000\u0000\u4C46\u0000\u4C47\u4C48\u0000"+
-        "\u0000\u4C49\u4C4A\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4C4B\u4C4C\u0000\u0000\u0000\u4C4D\u4C4E\u4C4F"+
-        "\u0000\u4C50\u0000\u0000\u0000\u0000\u0000\u4C51"+
-        "\u4C52\u4C53\u4C54\u0000\u0000\u0000\u0000\u0000"+
-        "\u4C55\u4C56\u4C57\u0000\u4C58\u0000\u0000\u4C59"+
-        "\u4C5A\u4C5B\u0000\u4C5C\u0000\u0000\u4C5D\u0000"+
-        "\u4C5E\u4C5F\u4C60\u4C61\u0000\u0000\u4C62\u4C63"+
-        "\u0000\u4C64\u4C65\u0000\u0000\u4C66\u0000\u0000"+
-        "\u0000\u4C67\u0000\u4C68\u0000\u0000\u0000\u4C69"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4C6A\u4C6B\u0000\u0000\u4C6C\u0000\u0000\u0000"+
-        "\u4C6D\u0000\u0000\u4C6E\u0000\u0000\u0000\u0000"+
-        "\u4C6F\u0000\u4C70\u4C71\u0000\u0000\u4C72\u4C73"+
-        "\u0000\u0000\u0000\u0000\u4C74\u0000\u0000\u0000"+
-        "\u4C75\u0000\u4C76\u4C77\u0000\u0000\u0000\u4C78"+
-        "\u0000\u0000\u0000\u0000\u4C79\u0000\u0000\u0000"+
-        "\u0000\u0000\u4C7A\u4C7B\u4C7C\u0000\u0000\u4C7D"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4C7E\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4D21\u0000\u0000\u0000\u4D22\u4D23"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4D24\u4D25\u0000\u0000\u4D26\u0000\u0000\u4D27"+
-        "\u0000\u4D28\u4D29\u0000\u0000\u0000\u0000\u4D2A"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4D2B\u0000"+
-        "\u0000\u4D2C\u0000\u0000\u0000\u4D2D\u4D2E\u4D2F"+
-        "\u4D30\u0000\u0000\u4D31\u0000\u0000\u0000\u4D32"+
-        "\u4D33\u0000\u0000\u0000\u0000\u0000\u4D34\u0000"+
-        "\u4D35\u0000\u4D36\u0000\u0000\u0000\u0000\u4D37"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4D38\u4D39"+
-        "\u0000\u4D3A\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4D3B"+
-        "\u0000\u4D3C\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4D3D\u4D3E\u4D3F\u4D40\u4D41\u4D42\u0000"+
-        "\u0000\u4D43\u0000\u0000\u0000\u4D44\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4D45\u0000\u4D46\u4D47\u0000\u4D48\u0000\u0000"+
-        "\u0000\u4D49\u0000\u0000\u4D4A\u0000\u0000\u0000"+
-        "\u0000\u0000\u4D4B\u0000\u4D4C\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u4D4D\u0000\u0000\u0000"+
-        "\u0000\u0000\u4D4E\u0000\u0000\u0000\u0000\u4D4F"+
-        "\u4D50\u4D51\u0000\u0000\u4D52\u0000\u4D53\u0000"+
-        "\u0000\u0000\u0000\u0000\u4D54\u0000\u4D55\u4D56"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4D57"+
-        "\u0000\u0000\u0000\u0000\u4D58\u0000\u0000\u4D59"+
-        "\u4D5A\u4D5B\u0000\u0000\u4D5C\u0000\u0000\u4D5D"+
-        "\u0000\u0000\u0000\u0000\u4D5E\u0000\u4D5F\u4D60"+
-        "\u0000\u4D61\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4D62\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4D63\u0000\u4D64\u4D65\u4D66\u0000\u0000\u4D67"+
-        "\u4D68\u0000\u4D69\u0000\u4D6A\u0000\u0000\u4D6B"+
-        "\u0000\u0000\u4D6C\u4D6D\u0000\u4D6E\u4D6F\u0000"+
-        "\u0000\u4D70\u0000\u4D71\u4D72\u4D73\u4D74\u0000"+
-        "\u0000\u0000\u0000\u4D75\u0000\u4D76\u4D77\u0000"+
-        "\u0000\u4D78\u0000\u0000\u0000\u4D79\u0000\u0000"+
-        "\u0000\u0000\u4D7A\u4D7B\u0000\u4D7C\u0000\u0000"+
-        "\u4D7D\u4D7E\u4E21\u0000\u4E22\u0000\u0000\u0000"+
-        "\u4E24\u4E25\u0000\u4E26\u4E27\u4E28\u0000\u0000"+
-        "\u0000\u4E29\u4E23\u4E2A\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4E2B\u0000\u0000"+
-        "\u0000\u4E2C\u0000\u0000\u0000\u0000\u0000\u4E2D"+
-        "\u0000\u0000\u0000\u0000\u4E2E\u4E2F\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4E30\u4E31\u4E32"+
-        "\u0000\u4E33\u0000\u0000\u4E34\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4E35\u0000\u0000\u0000\u4E36\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u4E37\u4E38\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4E39\u0000\u0000"+
-        "\u0000\u0000\u0000\u4E3A\u4E3B\u4E3C\u0000\u4E3D"+
-        "\u4E3E\u0000\u4E3F\u4E40\u4E41\u4E42\u4E43\u4E44"+
-        "\u4E45\u0000\u4E46\u0000\u0000\u4E47\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4E48\u0000\u0000"+
-        "\u0000\u4E49\u0000\u0000\u0000\u4E4A\u0000\u0000"+
-        "\u0000\u4E4B\u0000\u4E4C\u4E4D\u0000\u4E4E\u0000"+
-        "\u0000\u0000\u0000\u0000\u4E4F\u0000\u0000\u0000"+
-        "\u0000\u4E50\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4E51\u0000\u0000\u0000\u0000\u0000\u4E52\u0000"+
-        "\u4E53\u0000\u0000\u0000\u4E54\u0000\u0000\u0000"+
-        "\u4E55\u4E56\u0000\u0000\u0000\u0000\u4E57\u0000"+
-        "\u0000\u4E58\u0000\u0000\u4E59\u0000\u0000\u0000";
-
-    private final static String innerIndex3=
-        "\u4E5A\u0000\u0000\u0000\u0000\u0000\u4E5B\u0000"+
-        "\u0000\u0000\u4E5C\u0000\u0000\u0000\u4E5D\u0000"+
-        "\u0000\u0000\u4E5E\u0000\u4E5F\u4E60\u0000\u4E61"+
-        "\u0000\u4E62\u4E63\u0000\u4E64\u0000\u0000\u0000"+
-        "\u0000\u0000\u4E65\u0000\u0000\u0000\u0000\u0000"+
-        "\u4E66\u0000\u0000\u0000\u0000\u4E67\u4E68\u4E69"+
-        "\u0000\u0000\u0000\u0000\u4E6A\u4E6B\u4E6C\u0000"+
-        "\u0000\u4E6D\u0000\u0000\u0000\u4E6E\u4E6F\u0000"+
-        "\u0000\u0000\u4E70\u0000\u0000\u4E71\u4E72\u0000"+
-        "\u0000\u0000\u4E73\u0000\u0000\u4E74\u4E75\u4E76"+
-        "\u0000\u0000\u4E77\u0000\u0000\u0000\u4E78\u4E79"+
-        "\u0000\u0000\u0000\u0000\u4E7A\u0000\u4E7B\u4E7C"+
-        "\u4E7D\u0000\u4E7E\u0000\u4F21\u0000\u0000\u4F22"+
-        "\u0000\u0000\u4F23\u0000\u4F24\u0000\u0000\u0000"+
-        "\u4F25\u0000\u4F26\u4F27\u4F28\u0000\u0000\u0000"+
-        "\u0000\u0000\u4F29\u0000\u0000\u4F2A\u0000\u0000"+
-        "\u4F2B\u0000\u0000\u0000\u4F2C\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u4F2D\u4F2E\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u4F2F\u4F30\u4F31\u0000"+
-        "\u0000\u0000\u4F32\u0000\u0000\u0000\u0000\u4F33"+
-        "\u0000\u0000\u4F34\u0000\u0000\u0000\u0000\u4F35"+
-        "\u0000\u0000\u4F36\u0000\u0000\u0000\u4F37\u4F38"+
-        "\u0000\u4F39\u0000\u0000\u0000\u4F3A\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4F3B\u0000"+
-        "\u0000\u0000\u0000\u4F3C\u0000\u0000\u0000\u0000"+
-        "\u0000\u4F3D\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4F3E\u4F3F\u0000\u0000\u4F40\u0000\u0000"+
-        "\u0000\u4F41\u0000\u0000\u0000\u0000\u4F42\u4F43"+
-        "\u4F44\u0000\u0000\u0000\u4F45\u0000\u4F46\u0000"+
-        "\u0000\u0000\u4F47\u0000\u4F48\u0000\u0000\u0000"+
-        "\u4F49\u4F4A\u0000\u0000\u4F4B\u0000\u0000\u0000"+
-        "\u4F4C\u0000\u0000\u4F4D\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4F4E\u4F4F\u0000"+
-        "\u0000\u4F50\u0000\u0000\u0000\u4F51\u4F52\u0000"+
-        "\u0000\u4F53\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4F54\u0000\u0000"+
-        "\u0000\u4F55\u4F56\u4F57\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4F58\u4F59\u0000"+
-        "\u4F5A\u0000\u0000\u0000\u0000\u4F5B\u0000\u4F5C"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4F5D\u4F5E\u0000\u0000\u4F5F"+
-        "\u4F60\u0000\u0000\u0000\u4F61\u0000\u4F62\u0000"+
-        "\u0000\u0000\u4F63\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u4F64\u0000\u4F65\u0000"+
-        "\u4F66\u4F67\u0000\u4F68\u4F69\u0000\u0000\u0000"+
-        "\u4F6A\u0000\u4F6B\u0000\u0000\u0000\u4F6C\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4F6D\u0000\u0000\u0000\u4F6E\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4F6F\u0000\u0000\u0000\u0000\u4F70"+
-        "\u0000\u0000\u0000\u0000\u4F71\u0000\u0000\u0000"+
-        "\u4F72\u0000\u0000\u0000\u0000\u4F74\u4F75\u4F76"+
-        "\u0000\u4F73\u0000\u0000\u4F77\u0000\u0000\u0000"+
-        "\u4F78\u0000\u0000\u0000\u4F79\u4F7A\u0000\u0000"+
-        "\u4F7B\u4F7C\u4F7D\u4F7E\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5021\u0000\u5022\u0000\u5023"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5024"+
-        "\u5025\u5026\u0000\u0000\u5027\u0000\u5028\u0000"+
-        "\u0000\u0000\u5029\u502A\u0000\u502B\u502C\u0000"+
-        "\u0000\u0000\u0000\u502E\u0000\u0000\u0000\u502F"+
-        "\u5030\u5031\u0000\u0000\u502D\u0000\u5032\u0000"+
-        "\u0000\u0000\u5033\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u5034\u5035\u0000\u0000\u5037\u5038"+
-        "\u0000\u0000\u5039\u503A\u0000\u0000\u0000\u503B"+
-        "\u5036\u0000\u0000\u0000\u0000\u0000\u503C\u0000"+
-        "\u0000\u0000\u0000\u0000\u503D\u0000\u0000\u0000"+
-        "\u503E\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u503F\u0000\u5040\u0000\u5041\u5042"+
-        "\u5043\u0000\u0000\u0000\u0000\u5044\u0000\u5045"+
-        "\u0000\u5046\u0000\u0000\u0000\u5047\u0000\u0000"+
-        "\u0000\u5048\u0000\u0000\u5049\u504A\u0000\u0000"+
-        "\u0000\u0000\u0000\u504B\u0000\u504C\u0000\u504D"+
-        "\u0000\u0000\u0000\u0000\u504E\u504F\u5050\u0000"+
-        "\u0000\u0000\u5051\u5052\u0000\u0000\u0000\u5053"+
-        "\u0000\u5054\u0000\u0000\u5055\u0000\u0000\u0000"+
-        "\u5056\u0000\u0000\u5057\u5058\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5059"+
-        "\u0000\u505A\u0000\u505B\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u505C\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u505D\u0000\u505E\u505F\u0000\u5060\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5061\u5062\u0000\u0000\u0000"+
-        "\u0000\u5063\u0000\u5064\u5065\u5066\u5067\u0000"+
-        "\u5068\u0000\u0000\u5069\u506A\u0000\u0000\u0000"+
-        "\u0000\u506B\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u506C\u506D\u0000\u506E\u0000\u0000\u0000\u506F"+
-        "\u0000\u5070\u0000\u0000\u5071\u0000\u0000\u0000"+
-        "\u5072\u0000\u0000\u5073\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u5074\u0000\u5075\u0000\u0000\u5076"+
-        "\u5077\u0000\u5078\u0000\u0000\u0000\u0000\u5079"+
-        "\u0000\u0000\u0000\u0000\u507A\u0000\u507B\u0000"+
-        "\u0000\u0000\u507C\u0000\u0000\u507D\u507E\u0000"+
-        "\u5121\u0000\u5122\u0000\u0000\u5123\u0000\u0000"+
-        "\u0000\u0000\u5124\u5125\u0000\u5126\u0000\u0000"+
-        "\u0000\u5127\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5128\u0000\u0000\u0000\u5129\u0000\u0000\u0000"+
-        "\u0000\u0000\u512A\u512B\u0000\u0000\u0000\u512C"+
-        "\u0000\u512D\u512E\u0000\u512F\u0000\u0000\u0000"+
-        "\u0000\u5130\u0000\u0000\u0000\u5131\u0000\u0000"+
-        "\u0000\u0000\u0000\u5132\u0000\u0000\u5133\u0000"+
-        "\u0000\u5134\u0000\u0000\u0000\u0000\u0000\u5135"+
-        "\u0000\u0000\u0000\u5136\u0000\u5137\u0000\u5138"+
-        "\u5139\u0000\u0000\u0000\u513A\u513B\u0000\u0000"+
-        "\u513C\u513D\u513E\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u513F\u5140\u0000\u5141"+
-        "\u5142\u0000\u0000\u0000\u5143\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5144\u5145\u0000"+
-        "\u0000\u5146\u0000\u0000\u5147\u5148\u0000\u5149"+
-        "\u514A\u0000\u0000\u0000\u0000\u514B\u0000\u514C"+
-        "\u0000\u0000\u514D\u0000\u0000\u514E\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u514F\u0000\u0000"+
-        "\u5150\u0000\u0000\u0000\u0000\u0000\u5151\u0000"+
-        "\u5152\u0000\u5153\u0000\u0000\u5154\u5155\u0000"+
-        "\u0000\u0000\u5156\u5157\u0000\u0000\u0000\u0000"+
-        "\u5158\u5159\u0000\u0000\u515A\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u515B\u0000"+
-        "\u515C\u0000\u0000\u515D\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u515E\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u515F\u0000\u5160\u0000\u0000"+
-        "\u0000\u5161\u0000\u5162\u5163\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5164\u0000"+
-        "\u0000\u5165\u0000\u0000\u5166\u0000\u5167\u0000"+
-        "\u0000\u5168\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5169\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u516A\u516B\u0000\u516C\u516D\u0000\u0000\u0000"+
-        "\u0000\u516E\u0000\u0000\u516F\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5170\u0000\u5171\u5172\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5173"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5174\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5175"+
-        "\u0000\u0000\u0000\u5176\u0000\u0000\u0000\u5177"+
-        "\u0000\u5178\u5179\u517A\u0000\u517B\u517C\u517D"+
-        "\u517E\u5221\u0000\u0000\u5222\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5223\u0000\u5224"+
-        "\u5225\u5226\u0000\u0000\u0000\u0000\u0000\u5227"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5228\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5229\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u522A\u0000\u0000\u0000\u522B\u0000\u522C\u0000"+
-        "\u0000\u522D\u522E\u0000\u0000\u522F\u0000\u5230"+
-        "\u0000\u0000\u5231\u5232\u0000\u0000\u0000\u5233"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5234\u0000\u0000\u0000"+
-        "\u0000\u5235\u0000\u0000\u0000\u0000\u5236\u0000"+
-        "\u5237\u5238\u0000\u0000\u0000\u0000\u5239\u0000"+
-        "\u0000\u0000\u0000\u523A\u0000\u0000\u523B\u0000"+
-        "\u523C\u0000\u0000\u0000\u0000\u523D\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u523E\u0000\u0000\u523F"+
-        "\u5240\u0000\u5241\u0000\u0000\u5242\u5243\u0000"+
-        "\u0000\u0000\u5244\u5245\u5246\u5247\u0000\u0000"+
-        "\u0000\u0000\u5248\u0000\u0000\u5249\u0000\u0000"+
-        "\u524A\u0000\u524B\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u524C\u0000\u524D\u524E"+
-        "\u0000\u524F\u5250\u5251\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5252\u0000\u5253\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u5254\u0000\u5255\u5256\u0000\u0000"+
-        "\u5257\u5258\u5259\u0000\u525A\u0000\u525B\u0000"+
-        "\u0000\u525C\u525D\u525E\u525F\u0000\u5260\u0000"+
-        "\u0000\u5261\u0000\u5262\u5263\u0000\u5264\u5265"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5266\u0000\u5267\u0000\u0000\u0000\u0000"+
-        "\u5268\u0000\u0000\u0000\u0000\u5269\u526A\u0000"+
-        "\u526B\u0000\u0000\u0000\u526C\u0000\u0000\u0000"+
-        "\u0000\u526D\u0000\u526E\u526F\u0000\u5270\u0000"+
-        "\u0000\u5271\u5272\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5273\u0000"+
-        "\u0000\u0000\u5274\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5276\u5277\u5278\u0000\u5275\u0000\u0000"+
-        "\u0000\u5279\u527A\u527B\u527C\u527D\u527E\u0000"+
-        "\u0000\u5321\u0000\u5322\u0000\u0000\u0000\u5323"+
-        "\u0000\u5324\u0000\u0000\u0000\u5325\u5326\u0000"+
-        "\u5327\u0000\u5328\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5329\u0000\u0000\u532A\u532B\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u532C\u532D"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u532E"+
-        "\u0000\u0000\u0000\u0000\u532F\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5330\u0000"+
-        "\u5331\u0000\u0000\u0000\u0000\u0000\u5332\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5333\u0000\u0000\u0000\u0000\u0000\u5334\u5335"+
-        "\u0000\u0000\u5336\u5337\u5338\u0000\u0000\u5339"+
-        "\u0000\u0000\u0000\u0000\u533A\u0000\u0000\u533B"+
-        "\u533C\u533D\u0000\u0000\u0000\u533E\u0000\u533F"+
-        "\u0000\u0000\u0000\u5340\u5341\u5342\u0000\u5343"+
-        "\u0000\u5344\u5345\u0000\u0000\u5346\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5347\u0000"+
-        "\u0000\u5348\u0000\u5349\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u534A\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u534B\u0000\u0000\u0000\u534C"+
-        "\u534D\u534E\u0000\u0000\u0000\u0000\u0000\u534F"+
-        "\u0000\u5350\u5351\u5352\u0000\u0000\u5353\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5354\u5355\u0000"+
-        "\u0000\u0000\u0000\u5356\u0000\u0000\u5357\u0000"+
-        "\u0000\u0000\u5358\u0000\u0000\u5359\u0000\u0000"+
-        "\u0000\u535A\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u535B\u535C\u535D\u0000"+
-        "\u535E\u535F\u0000\u0000\u0000\u0000\u0000\u5360"+
-        "\u5361\u0000\u0000\u0000\u0000\u5362\u0000\u0000"+
-        "\u0000\u5363\u0000\u5364\u0000\u0000\u0000\u5365"+
-        "\u0000\u5366\u5367\u0000\u5368\u5369\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u536A\u0000\u536B"+
-        "\u0000\u0000\u536C\u0000\u0000\u0000\u0000\u0000"+
-        "\u536D\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u536E\u0000\u536F\u5370\u0000\u0000\u0000\u5371"+
-        "\u0000\u5372\u5373\u5374\u0000\u5375\u5376\u0000"+
-        "\u5377\u0000\u0000\u5378\u5379\u537A\u0000\u0000"+
-        "\u0000\u537B\u0000\u0000\u0000\u0000\u537C\u537D"+
-        "\u0000\u0000\u0000\u0000\u0000\u537E\u5421\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5422\u5423"+
-        "\u0000\u0000\u5424\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5425\u0000\u0000\u5426\u5427"+
-        "\u0000\u5428\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u5429\u542A\u542B\u542C\u542D\u0000"+
-        "\u0000\u0000\u0000\u0000\u542E\u542F\u5430\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5431"+
-        "\u0000\u5432\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u5434\u0000\u0000\u5435\u5436\u0000"+
-        "\u0000\u0000\u5437\u5438\u0000\u5439\u0000\u0000"+
-        "\u0000\u543A\u0000\u0000\u0000\u543B\u543C\u0000"+
-        "\u0000\u543D\u543E\u0000\u0000\u0000\u0000\u0000"+
-        "\u5433\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u543F\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5440\u5441\u0000\u0000\u0000\u5442\u0000\u5443"+
-        "\u0000\u0000\u0000\u0000\u5444\u5445\u0000\u0000"+
-        "\u5446\u0000\u0000\u0000\u0000\u0000\u0000\u5447"+
-        "\u5448\u0000\u0000\u0000\u5449\u544A\u0000\u544B"+
-        "\u0000\u0000\u0000\u544C\u0000\u0000\u544D\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u544E"+
-        "\u0000\u0000\u0000\u0000\u544F\u5450\u0000\u5451"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5452\u0000"+
-        "\u5453\u0000\u5454\u0000\u0000\u0000\u0000\u0000"+
-        "\u5455\u0000\u0000\u0000\u0000\u0000\u0000\u5456"+
-        "\u0000\u5457\u5458\u0000\u0000\u5459\u0000\u0000"+
-        "\u0000\u0000\u0000\u545A\u0000\u0000\u545B\u545C"+
-        "\u0000\u0000\u0000\u545D\u0000\u0000\u0000\u0000"+
-        "\u545E\u0000\u0000\u0000\u0000\u0000\u545F\u0000"+
-        "\u0000\u5460\u0000\u0000\u0000\u0000\u5461\u5462"+
-        "\u0000\u0000\u5463\u0000\u0000\u5464\u0000\u0000"+
-        "\u0000\u5465\u0000\u0000\u0000\u5466\u0000\u0000"+
-        "\u5467\u0000\u5468\u0000\u0000\u5469\u546A\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u546C\u546B\u546D\u546E\u546F"+
-        "\u0000\u0000\u0000\u5470\u5471\u0000\u0000\u5472"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5473"+
-        "\u0000\u0000\u5474\u5475\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5476\u5477\u5478\u0000\u0000"+
-        "\u0000\u5479\u0000\u547A\u547B\u547C\u547D\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u547E\u0000\u0000"+
-        "\u0000\u5521\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5522\u5523\u5524"+
-        "\u5525\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5526\u0000\u5527\u0000\u5528"+
-        "\u5529\u552A\u0000\u0000\u0000\u0000\u552B\u552C"+
-        "\u0000\u0000\u0000\u0000\u552D\u0000\u0000\u0000"+
-        "\u0000\u552E\u552F\u0000\u0000\u0000\u5530\u0000"+
-        "\u0000\u0000\u5531\u0000\u0000\u5532\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5533\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5534\u0000\u0000\u5535"+
-        "\u5536\u0000\u0000\u5537\u0000\u0000\u0000\u0000"+
-        "\u5538\u0000\u0000\u0000\u0000\u0000\u5539\u553A"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u553B\u0000\u0000\u0000\u553C"+
-        "\u0000\u0000\u0000\u553D\u0000\u553E\u0000\u0000"+
-        "\u553F\u0000\u0000\u0000\u5540\u0000\u5541\u5542"+
-        "\u0000\u0000\u5543\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u5544\u0000\u0000\u5545\u5546\u5547"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5548"+
-        "\u5549\u0000\u554A\u0000\u0000\u554B\u554C\u554D"+
-        "\u0000\u554E\u0000\u554F\u5550\u0000\u5551\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5552\u5553\u5554"+
-        "\u5555\u0000\u0000\u0000\u5556\u0000\u5557\u0000"+
-        "\u0000\u0000\u0000\u0000\u5558\u0000\u5559\u0000"+
-        "\u555A\u0000\u0000\u0000\u555B\u555C\u0000\u555D"+
-        "\u0000\u555E\u555F\u0000\u5560\u0000\u5561\u0000"+
-        "\u5562\u0000\u0000\u0000\u5563\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5564\u0000\u0000\u0000\u5565\u0000\u5566\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5567\u0000\u0000"+
-        "\u0000\u5568\u0000\u0000\u0000\u5569\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u556A\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u556B\u0000\u0000\u0000\u0000\u0000\u556C\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u556D\u0000\u556E\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u556F\u5570"+
-        "\u0000\u0000\u0000\u5571\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5572\u5573\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5574\u0000\u0000\u0000\u0000\u5575\u0000\u5576"+
-        "\u0000\u0000\u5577\u0000\u5578\u5579\u0000\u557A"+
-        "\u557B\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u557C\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u557D\u557E\u0000"+
-        "\u5621\u0000\u5622\u5623\u0000\u0000\u5624\u0000"+
-        "\u0000\u5625\u5626\u0000\u0000\u0000\u5627\u0000"+
-        "\u0000\u0000\u0000\u5628\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5629\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u562A\u562B"+
-        "\u562C\u0000\u0000\u0000\u562D\u0000\u562E\u0000"+
-        "\u562F\u0000\u0000\u0000\u5630\u0000\u0000\u5631"+
-        "\u0000\u0000\u0000\u0000\u5632\u0000\u0000\u0000"+
-        "\u5633\u0000\u0000\u0000\u0000\u5634\u0000\u0000"+
-        "\u0000\u0000\u5635\u0000\u5636\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5637\u0000\u5638"+
-        "\u0000\u0000\u5639\u0000\u563A\u0000\u0000\u0000"+
-        "\u0000\u0000\u563B\u0000\u0000\u0000\u0000\u563C"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u563D\u563E\u0000\u0000\u0000\u0000\u0000\u563F"+
-        "\u5640\u5641\u0000\u0000\u0000\u5642\u0000\u5643"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5644"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5645\u0000\u0000\u5647\u5648\u5649\u0000"+
-        "\u0000\u0000\u0000\u564A\u0000\u0000\u564B\u0000"+
-        "\u5646\u0000\u0000\u0000\u0000\u0000\u564C\u0000"+
-        "\u564D\u0000\u0000\u564E\u0000\u0000\u564F\u0000"+
-        "\u0000\u0000\u5650\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5651\u0000"+
-        "\u0000\u0000\u5652\u0000\u5653\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5654\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5656\u0000\u5657\u0000\u0000"+
-        "\u0000\u0000\u5658\u5655\u0000\u0000\u5659\u565A"+
-        "\u0000\u0000\u0000\u0000\u0000\u565B\u0000\u565C"+
-        "\u0000\u0000\u0000\u565D\u0000\u565E\u565F\u0000"+
-        "\u0000\u5660\u0000\u0000\u5661\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5662\u5663\u0000\u0000\u0000"+
-        "\u5664\u5665\u5666\u0000\u0000\u5667\u5668\u0000"+
-        "\u5669\u566A\u0000\u0000\u0000\u566B\u0000\u566C"+
-        "\u566D\u0000\u0000\u566E\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u566F"+
-        "\u0000\u0000\u0000\u5670\u5671\u0000\u0000\u0000"+
-        "\u0000\u5672\u5673\u0000\u0000\u5674\u0000\u0000"+
-        "\u0000\u5675\u5676\u0000\u0000\u0000\u0000\u0000"+
-        "\u5677\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u5678\u0000\u5679\u0000\u0000\u0000"+
-        "\u0000\u0000\u567A\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u567B\u567C\u567D\u567E\u0000"+
-        "\u0000\u0000\u0000\u5721\u0000\u0000\u5722\u5723"+
-        "\u0000\u5724\u0000\u0000\u0000\u0000\u5725\u0000"+
-        "\u0000\u0000\u0000\u0000\u5726\u0000\u0000\u0000"+
-        "\u5727\u0000\u0000\u5728\u0000\u0000\u0000\u5729"+
-        "\u0000\u0000\u0000\u0000\u0000\u572A\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u572B\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u572C\u0000\u572D\u0000\u572E"+
-        "\u572F\u5730\u0000\u5731\u5732\u0000\u0000\u5733"+
-        "\u0000\u5734\u5735\u0000\u0000\u0000\u5736\u0000"+
-        "\u0000\u5737\u0000\u0000\u5738\u0000\u5739\u0000"+
-        "\u573A\u0000\u573B\u573C\u0000\u0000\u0000\u0000"+
-        "\u573D\u573E\u0000\u573F\u5740\u0000\u0000\u5741"+
-        "\u5742\u5743\u5744\u0000\u0000\u0000\u5745\u0000"+
-        "\u5746\u0000\u5747\u0000\u5748\u0000\u0000\u5749"+
-        "\u0000\u0000\u574A\u0000\u574B\u0000\u574C\u574D"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u574E\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u574F\u0000\u0000\u0000\u0000\u5750\u0000\u0000"+
-        "\u0000\u0000\u5751\u0000\u0000\u0000\u0000\u0000"+
-        "\u5752\u0000\u5753\u0000\u5754\u0000\u0000\u0000"+
-        "\u5755\u0000\u5756\u0000\u0000\u5757\u0000\u5758"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5759\u575A"+
-        "\u0000\u0000\u0000\u0000\u0000\u575B\u575C\u0000"+
-        "\u575D\u575E\u0000\u0000\u0000\u0000\u0000\u575F"+
-        "\u5760\u0000\u5761\u5762\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5764\u0000\u5765\u5766\u5767"+
-        "\u0000\u5768\u5769\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u576A\u576B\u576C\u0000"+
-        "\u576D\u0000\u0000\u576E\u0000\u0000\u0000\u576F"+
-        "\u0000\u0000\u5770\u0000\u5771\u5772\u0000\u0000"+
-        "\u0000\u0000\u5773\u5774\u5775\u0000\u0000\u5776"+
-        "\u0000\u0000\u0000\u0000\u0000\u5777\u5778\u0000"+
-        "\u0000\u5779\u0000\u583E\u5763\u577A\u577B\u577C"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u577D\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u577E\u0000\u0000\u0000\u0000\u5821\u0000\u5822"+
-        "\u5823\u0000\u5824\u0000\u5825\u0000\u5826\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5827\u0000\u0000"+
-        "\u0000\u0000\u5828\u0000\u5829\u582A\u0000\u0000"+
-        "\u582B\u582C\u0000\u582D\u582E\u582F\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5830\u5831"+
-        "\u0000\u5832\u0000\u0000\u5833\u584C\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5834\u5835"+
-        "\u5836\u0000\u0000\u0000\u0000\u0000\u0000\u5837"+
-        "\u0000\u5838\u0000\u0000\u0000\u0000\u0000\u5839"+
-        "\u583A\u583B\u0000\u0000\u583C\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u583D\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u583F\u0000\u5840\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5841\u0000"+
-        "\u5842\u5843\u0000\u0000\u5844\u0000\u0000\u0000"+
-        "\u0000\u5845\u0000\u0000\u0000\u0000\u5846\u0000"+
-        "\u0000\u0000\u5847\u0000\u0000\u0000\u0000\u5848"+
-        "\u0000\u5849\u0000\u0000\u0000\u584A\u0000\u0000"+
-        "\u0000\u584B\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u584D"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u584E\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u584F\u0000\u5850"+
-        "\u5851\u0000\u5852\u0000\u0000\u5853\u0000\u5854"+
-        "\u0000\u5855\u5856\u0000\u0000\u0000\u5857\u0000"+
-        "\u5858\u5859\u585A\u0000\u585B\u0000\u0000\u0000"+
-        "\u585C\u0000\u0000\u0000\u585D\u585E\u0000\u585F"+
-        "\u0000\u0000\u5860\u0000\u0000\u0000\u0000\u0000"+
-        "\u5861\u0000\u0000\u5862\u5863\u0000\u5864\u0000"+
-        "\u5865\u0000\u0000\u0000\u5866\u5867\u0000\u0000"+
-        "\u0000\u5868\u0000\u0000\u0000\u5869\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u586A\u586B\u0000\u586C\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u586D\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u586E\u0000"+
-        "\u586F\u5870\u5871\u0000\u0000\u0000\u0000\u5872"+
-        "\u0000\u5873\u0000\u0000\u5874\u0000\u0000\u0000"+
-        "\u0000\u0000\u5875\u0000\u0000\u5876\u5877\u0000"+
-        "\u5878\u0000\u5879\u0000\u0000\u0000\u0000\u587A"+
-        "\u587B\u0000\u0000\u0000\u587C\u0000\u0000\u587D"+
-        "\u0000\u0000\u0000\u587E\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5921\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5922"+
-        "\u0000\u0000\u5923\u0000\u0000\u0000\u0000\u5924"+
-        "\u5925\u5926\u5927\u0000\u0000\u0000\u0000\u5928"+
-        "\u0000\u0000\u592A\u592B\u0000\u592C\u0000\u0000"+
-        "\u0000\u0000\u592D\u592E\u0000\u0000\u0000\u592F"+
-        "\u0000\u0000\u0000\u0000\u5930\u0000\u5931\u0000"+
-        "\u5932\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5933\u0000\u5934\u0000"+
-        "\u0000\u0000\u5935\u5936\u5937\u5938\u0000\u5939"+
-        "\u0000\u0000\u593A\u593B\u0000\u0000\u0000\u593C"+
-        "\u0000\u0000\u5929\u593D\u593E\u0000\u593F\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5940"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5941\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5942"+
-        "\u5943\u5944\u5945\u5946\u0000\u0000\u5947\u0000"+
-        "\u0000\u5948\u0000\u0000\u5949\u594A\u594B\u594C"+
-        "\u594D\u594E\u594F\u0000\u5950\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5951\u0000\u0000\u0000\u5952"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5953\u5954\u5955\u0000\u5956\u0000\u5957"+
-        "\u0000\u5958\u0000\u0000\u0000\u5959\u595A\u0000"+
-        "\u0000\u595B\u0000\u595C\u595D\u0000\u0000\u595E"+
-        "\u0000\u0000\u0000\u595F\u0000\u0000\u0000\u0000"+
-        "\u5960\u0000\u0000\u0000\u0000\u5961\u0000\u5962"+
-        "\u5963\u0000\u5964\u0000\u0000\u5965\u0000\u5966"+
-        "\u0000\u0000\u0000\u0000\u0000\u5974\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5967\u0000\u5968\u5969"+
-        "\u596A\u0000\u0000\u0000\u596B\u596C\u596D\u596E"+
-        "\u0000\u0000\u596F\u0000\u0000\u0000\u0000\u5970"+
-        "\u0000\u0000\u5971\u5972\u0000\u0000\u5973\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5975\u0000\u5976\u0000\u0000\u0000\u0000\u5977"+
-        "\u5978\u0000\u0000\u0000\u0000\u0000\u5979\u0000"+
-        "\u597A\u0000\u0000\u0000\u0000\u597B\u0000\u0000"+
-        "\u0000\u0000\u0000\u597C\u0000\u0000\u597D\u0000"+
-        "\u0000\u0000\u0000\u0000\u597E\u0000\u0000\u5A21"+
-        "\u5A22\u0000\u0000\u0000\u5A23\u5A24\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5A25\u5A26\u0000"+
-        "\u5A27\u5A28\u5A29\u0000\u0000\u0000\u0000\u0000"+
-        "\u5A2A\u5A2B\u0000\u5A2C\u0000\u0000\u5A2D\u0000"+
-        "\u0000\u5A2E\u0000\u0000\u0000\u0000\u0000\u5A2F"+
-        "\u0000\u5A30\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5A31\u0000"+
-        "\u5A32\u0000\u5A33\u0000\u5A34\u5A35\u0000\u0000"+
-        "\u5A36\u3866\u5A37\u0000\u0000\u0000\u5A38\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u5A39\u5A3A\u0000\u0000\u5A3B\u5A3C"+
-        "\u5A3D\u5A3E\u0000\u0000\u0000\u5A3F\u0000\u0000"+
-        "\u5A40\u5A41\u5A42\u5A43\u5A44\u0000\u0000\u0000"+
-        "\u0000\u5A45\u0000\u0000\u5A46\u0000\u0000\u5A47"+
-        "\u0000\u0000\u0000\u0000\u0000\u5A48\u5A49\u5A4A"+
-        "\u0000\u0000\u5A4B\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5A6D\u0000\u0000\u0000\u0000\u5A4C\u0000\u0000"+
-        "\u0000\u5A4D\u0000\u0000\u0000\u0000\u5A4E\u0000"+
-        "\u5A4F\u0000\u5A50\u0000\u5A51\u0000\u0000\u0000"+
-        "\u0000\u5A52\u0000\u0000\u0000\u0000\u5A53\u5A54"+
-        "\u5A55\u0000\u0000\u0000\u0000\u5A56\u0000\u0000"+
-        "\u0000\u5A57\u0000\u5A58\u5A59\u5A5A\u0000\u5A5B"+
-        "\u5A5C\u5A5D\u0000\u0000\u0000\u0000\u0000\u5A5E"+
-        "\u5A5F\u5A60\u0000\u5A61\u0000\u5A62\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5A63\u5A64\u0000\u0000\u5A65\u0000\u5A66"+
-        "\u0000\u0000\u5A67\u0000\u5A68\u0000\u0000\u0000"+
-        "\u5A69\u0000\u0000\u5A6A\u0000\u5A6B\u0000\u5A6C"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u5A6E\u0000\u5A6F\u5A70\u0000\u0000";
-
-    private final static String innerIndex4=
-        "\u0000\u0000\u0000\u0000\u5A71\u5A72\u0000\u5A73"+
-        "\u0000\u0000\u0000\u5A74\u0000\u0000\u5A75\u5A76"+
-        "\u5A77\u0000\u0000\u5A78\u5A79\u0000\u0000\u0000"+
-        "\u0000\u5A7A\u0000\u0000\u0000\u0000\u5A7B\u5A7C"+
-        "\u0000\u5A7D\u0000\u5A7E\u0000\u0000\u0000\u0000"+
-        "\u5B21\u0000\u0000\u0000\u0000\u0000\u5B22\u5B23"+
-        "\u0000\u5B24\u5B25\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5B26\u5B27\u0000\u5B28\u5B29\u5B2A\u0000"+
-        "\u5B2B\u0000\u0000\u5B2C\u0000\u5B2D\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5B2E\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5B2F\u0000\u0000\u0000\u0000\u5B30\u0000\u0000"+
-        "\u0000\u5B31\u0000\u0000\u5B32\u5B33\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5B34"+
-        "\u0000\u5B35\u5B36\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5B37\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5B38\u5B39\u5B3A\u5B3B\u5B3C"+
-        "\u5B3D\u5B3E\u0000\u5B3F\u5B40\u0000\u0000\u0000"+
-        "\u5B41\u0000\u0000\u5B42\u0000\u5B43\u0000\u5B44"+
-        "\u5B45\u5B46\u0000\u0000\u0000\u0000\u5B47\u0000"+
-        "\u5B48\u0000\u0000\u5B49\u0000\u0000\u0000\u5B4A"+
-        "\u0000\u0000\u0000\u0000\u5B4B\u5B4C\u5B4D\u0000"+
-        "\u0000\u5B4E\u0000\u0000\u0000\u5B4F\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5B50\u5B51"+
-        "\u0000\u5B52\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5B53\u5B54\u5B55\u0000\u0000\u0000\u5B56\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5B57\u5B58\u0000"+
-        "\u0000\u5B59\u5B5A\u0000\u5B5B\u0000\u0000\u5B5C"+
-        "\u0000\u0000\u5B5D\u5B5E\u5B5F\u0000\u0000\u0000"+
-        "\u0000\u0000\u5B60\u5B61\u0000\u5B62\u0000\u0000"+
-        "\u0000\u5B63\u0000\u5B64\u0000\u0000\u0000\u0000"+
-        "\u5B65\u0000\u5B66\u0000\u0000\u0000\u0000\u5B67"+
-        "\u0000\u5B68\u0000\u5B69\u0000\u0000\u5B6A\u0000"+
-        "\u0000\u5B6B\u5B6C\u5B6D\u0000\u0000\u0000\u0000"+
-        "\u5B6E\u0000\u5B70\u5B71\u5B72\u0000\u0000\u0000"+
-        "\u5B73\u5B6F\u5B74\u5B75\u5B76\u0000\u5B77\u5B78"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5B79\u0000\u0000\u0000\u0000\u5B7A\u5B7B\u0000"+
-        "\u5B7C\u0000\u5B7D\u0000\u0000\u5B7E\u0000\u0000"+
-        "\u0000\u0000\u5C21\u0000\u5C22\u0000\u0000\u0000"+
-        "\u0000\u5C23\u0000\u5C24\u0000\u5C25\u0000\u0000"+
-        "\u5C26\u5C27\u5C28\u5C29\u0000\u0000\u5C2A\u0000"+
-        "\u0000\u5C2B\u0000\u0000\u0000\u5C2C\u5C2D\u0000"+
-        "\u5C2E\u0000\u5C2F\u0000\u5C30\u0000\u0000\u5C31"+
-        "\u5C32\u0000\u0000\u0000\u5C33\u0000\u0000\u0000"+
-        "\u0000\u5C34\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5C35\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5C36\u0000\u5C37\u0000\u0000\u0000\u0000"+
-        "\u5C38\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5C39\u0000\u5C3A\u5C3B\u5C3C\u0000\u0000\u5C3D"+
-        "\u5C3E\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5C3F\u0000\u5C40\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u5C41\u0000\u0000\u5C42\u5C43\u0000"+
-        "\u5C44\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u5C45\u5C46\u5C47\u5C48\u5C49\u0000"+
-        "\u0000\u5C4A\u5C4B\u5C4C\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5C4D\u0000\u0000\u5C4E\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5C4F"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5C50"+
-        "\u5C51\u5C52\u0000\u0000\u0000\u5C53\u0000\u5C54"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5C55\u0000\u0000\u0000\u0000\u5C56\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5C57\u5C58\u5C59"+
-        "\u0000\u0000\u0000\u0000\u0000\u5C5A\u5C5B\u0000"+
-        "\u5C5C\u5C5D\u5C5E\u0000\u5C5F\u0000\u0000\u0000"+
-        "\u5C60\u0000\u0000\u0000\u0000\u0000\u5C61\u5C62"+
-        "\u5C63\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5C64\u5C65\u5C66\u0000\u0000\u5C67\u0000\u0000"+
-        "\u0000\u5C68\u5C69\u0000\u0000\u0000\u5C6A\u0000"+
-        "\u5C6B\u0000\u5C6C\u0000\u0000\u5C6D\u5C6E\u0000"+
-        "\u0000\u5C6F\u0000\u0000\u0000\u0000\u0000\u5C70"+
-        "\u0000\u0000\u5C71\u0000\u0000\u0000\u0000\u5C72"+
-        "\u0000\u0000\u5C73\u5C74\u5C75\u0000\u0000\u0000"+
-        "\u0000\u5C76\u5C77\u5C78\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5C79\u0000\u0000\u5C7A\u0000"+
-        "\u5C7B\u0000\u0000\u5C7C\u0000\u5C7D\u0000\u0000"+
-        "\u0000\u0000\u5C7E\u5D21\u5D22\u5D23\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5D24\u0000\u0000\u0000\u5D25\u0000\u0000"+
-        "\u5D26\u0000\u0000\u0000\u5D27\u5D28\u0000\u0000"+
-        "\u0000\u0000\u0000\u5D29\u5D2A\u0000\u0000\u5D2B"+
-        "\u5D2C\u0000\u0000\u0000\u0000\u5D2D\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5D2E\u0000\u0000\u0000\u5D2F\u5D30\u5D31\u5D32"+
-        "\u0000\u0000\u0000\u0000\u5D33\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5D34\u5D35\u5D36\u5D37"+
-        "\u5D38\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5D39\u0000\u0000"+
-        "\u0000\u5D3A\u0000\u5D3B\u0000\u5D3C\u0000\u0000"+
-        "\u0000\u5D3D\u0000\u5D3E\u0000\u0000\u5D3F\u0000"+
-        "\u0000\u5D40\u0000\u0000\u0000\u5D41\u0000\u5D42"+
-        "\u0000\u0000\u0000\u0000\u5D43\u5D44\u0000\u5D45"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5D46"+
-        "\u0000\u5D47\u5D48\u0000\u5D49\u5D4A\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5D4B\u0000"+
-        "\u5D4C\u0000\u5D4D\u0000\u5D4E\u0000\u5D4F\u0000"+
-        "\u0000\u0000\u0000\u5D50\u5D51\u0000\u0000\u5D52"+
-        "\u0000\u0000\u0000\u0000\u0000\u5D53\u0000\u5D54"+
-        "\u0000\u0000\u0000\u0000\u0000\u5D55\u5D56\u0000"+
-        "\u5D57\u0000\u0000\u5D58\u0000\u5D59\u0000\u5D5A"+
-        "\u0000\u5D5B\u0000\u0000\u0000\u5D5C\u5D5D\u0000"+
-        "\u0000\u0000\u0000\u5D5E\u0000\u0000\u5D5F\u5D60"+
-        "\u5D61\u0000\u0000\u0000\u5D62\u5D63\u0000\u0000"+
-        "\u0000\u5D64\u0000\u0000\u0000\u5D65\u0000\u5D66"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5D67\u5D68\u5D69"+
-        "\u0000\u5D6A\u5D6B\u5D6C\u0000\u0000\u5D6D\u5D6E"+
-        "\u5D6F\u0000\u0000\u5D70\u0000\u0000\u5D71\u0000"+
-        "\u0000\u0000\u0000\u5D72\u0000\u0000\u0000\u5D73"+
-        "\u5D74\u0000\u5D75\u0000\u0000\u0000\u5D76\u5D77"+
-        "\u0000\u5D78\u0000\u0000\u0000\u0000\u0000\u5D79"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5D7A"+
-        "\u0000\u5D7B\u0000\u0000\u0000\u0000\u5D7C\u5D7D"+
-        "\u0000\u0000\u0000\u5D7E\u0000\u0000\u5E21\u5E22"+
-        "\u0000\u0000\u0000\u5E23\u0000\u0000\u5E24\u0000"+
-        "\u0000\u0000\u0000\u5E25\u0000\u0000\u5E26\u0000"+
-        "\u5E27\u5E28\u5E29\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5E2A\u0000\u5E2B\u5E2C\u5E2D\u0000\u5E2E"+
-        "\u0000\u0000\u0000\u0000\u0000\u5E2F\u0000\u5E30"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5E31\u0000\u0000\u0000"+
-        "\u5E32\u0000\u0000\u0000\u5E33\u5E34\u5E35\u0000"+
-        "\u0000\u0000\u0000\u0000\u5E36\u0000\u0000\u5E37"+
-        "\u0000\u0000\u0000\u0000\u0000\u5E38\u5E39\u0000"+
-        "\u0000\u0000\u5E3F\u5E3A\u0000\u0000\u0000\u0000"+
-        "\u0000\u5E3B\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5E3C\u0000\u5E3D\u5E3E"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5E40\u0000\u0000"+
-        "\u5E41\u0000\u0000\u0000\u0000\u0000\u0000\u5E42"+
-        "\u0000\u0000\u0000\u0000\u5E43\u0000\u0000\u0000"+
-        "\u0000\u0000\u5E44\u5E45\u5E46\u5E47\u5E48\u0000"+
-        "\u5E49\u0000\u0000\u0000\u0000\u5E4E\u0000\u0000"+
-        "\u0000\u0000\u5E4A\u5E4B\u5E4C\u0000\u0000\u0000"+
-        "\u0000\u5E4D\u0000\u0000\u0000\u0000\u5E4F\u0000"+
-        "\u0000\u0000\u0000\u5E50\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5E51\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5E52\u0000"+
-        "\u5E53\u5E54\u0000\u0000\u5E55\u0000\u5E56\u0000"+
-        "\u0000\u5E57\u0000\u0000\u5E58\u5E59\u0000\u0000"+
-        "\u0000\u0000\u0000\u5E5A\u0000\u5E5B\u0000\u5E5C"+
-        "\u0000\u0000\u0000\u0000\u5E5D\u5E5E\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5E5F\u0000\u5E60\u5E61"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5E62\u5E63\u0000\u0000\u0000\u5E64\u5E65\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5E66\u0000\u5E67"+
-        "\u0000\u5E68\u0000\u5E69\u0000\u0000\u0000\u5E6A"+
-        "\u0000\u5E6B\u0000\u5E6C\u5E6D\u0000\u0000\u5E6E"+
-        "\u5E6F\u5E72\u0000\u5E70\u0000\u5E71\u0000\u0000"+
-        "\u0000\u0000\u0000\u5E73\u5E74\u0000\u5E75\u0000"+
-        "\u5E76\u5E77\u0000\u0000\u0000\u5E78\u0000\u0000"+
-        "\u0000\u0000\u0000\u5E79\u0000\u5E7A\u5E7B\u0000"+
-        "\u0000\u0000\u0000\u5E7C\u0000\u0000\u5E7D\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5E7E\u5F21"+
-        "\u0000\u0000\u0000\u5F22\u0000\u0000\u0000\u0000"+
-        "\u5F23\u0000\u5F24\u5F25\u0000\u0000\u0000\u0000"+
-        "\u0000\u5F26\u0000\u5F27\u5F28\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5F29\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5F2A\u5F2B\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5F2C\u5F2D\u0000"+
-        "\u0000\u5F2E\u0000\u5F2F\u0000\u0000\u0000\u5F30"+
-        "\u0000\u0000\u0000\u0000\u0000\u5F32\u5F31\u0000"+
-        "\u0000\u5F33\u0000\u0000\u0000\u5F34\u0000\u0000"+
-        "\u0000\u5F35\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5F36\u0000\u0000\u0000\u5F37\u0000\u0000\u5F38"+
-        "\u5F39\u0000\u5F3A\u0000\u0000\u5F3B\u0000\u5F3C"+
-        "\u5F3D\u0000\u0000\u0000\u0000\u0000\u5F3E\u5F3F"+
-        "\u0000\u5F40\u0000\u5F41\u0000\u0000\u0000\u0000"+
-        "\u0000\u5F42\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u5F43\u0000\u0000\u0000\u0000\u5F44"+
-        "\u0000\u0000\u0000\u5F45\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5F46\u0000\u0000"+
-        "\u0000\u5F47\u0000\u0000\u5F48\u0000\u5F49\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5F4A"+
-        "\u0000\u0000\u5F4B\u0000\u5F4C\u0000\u0000\u0000"+
-        "\u5F4D\u0000\u0000\u0000\u0000\u5F4E\u0000\u0000"+
-        "\u5F4F\u5F50\u0000\u0000\u0000\u5F51\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5F52\u5F53"+
-        "\u5F54\u0000\u0000\u0000\u0000\u0000\u5F55\u0000"+
-        "\u0000\u0000\u0000\u5F56\u5F57\u0000\u0000\u5F58"+
-        "\u0000\u0000\u5F59\u0000\u0000\u5F5A\u0000\u5F5B"+
-        "\u0000\u5F5C\u0000\u5F5D\u5F6F\u0000\u0000\u0000"+
-        "\u5F5E\u0000\u0000\u0000\u0000\u5F5F\u5F60\u5F61"+
-        "\u5F62\u0000\u5F63\u0000\u0000\u0000\u5F64\u0000"+
-        "\u0000\u5F65\u0000\u0000\u5F66\u5F67\u0000\u5F68"+
-        "\u0000\u5F69\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5F6A\u5F6B\u0000\u5F6C"+
-        "\u0000\u0000\u0000\u0000\u5F6D\u0000\u0000\u0000"+
-        "\u5F6E\u5F70\u5F71\u0000\u5F72\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5F73\u0000\u0000"+
-        "\u0000\u5F74\u0000\u0000\u5F75\u5F76\u5F77\u0000"+
-        "\u0000\u0000\u0000\u5F78\u0000\u0000\u0000\u0000"+
-        "\u0000\u5F79\u0000\u0000\u5F7A\u0000\u5F7B\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5F7C\u5F7D\u5F7E\u6021\u0000\u0000\u6022\u6023"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6024\u0000\u6025\u0000\u0000\u6026\u6027"+
-        "\u6028\u6029\u0000\u0000\u0000\u602A\u0000\u0000"+
-        "\u602B\u602C\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u602D\u0000\u602E\u602F\u6030"+
-        "\u0000\u0000\u0000\u0000\u6031\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6032\u6033\u6034\u6035\u0000"+
-        "\u0000\u6036\u6037\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6038\u0000\u0000\u6039\u603A\u0000\u603B"+
-        "\u603C\u603D\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u603E\u603F\u6040\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6041\u6042\u0000\u0000\u0000\u0000"+
-        "\u0000\u6043\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6044\u0000\u6045\u0000\u0000\u6046\u0000\u0000"+
-        "\u0000\u0000\u6047\u6048\u0000\u6049\u604A\u0000"+
-        "\u0000\u0000\u604B\u0000\u0000\u0000\u0000\u604C"+
-        "\u0000\u604D\u0000\u0000\u0000\u604E\u604F\u0000"+
-        "\u0000\u0000\u0000\u6050\u0000\u6051\u0000\u0000"+
-        "\u0000\u0000\u6052\u6053\u0000\u0000\u0000\u0000"+
-        "\u6054\u6055\u0000\u6056\u6057\u0000\u0000\u6058"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6059"+
-        "\u0000\u605A\u0000\u0000\u605B\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u605C\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u605D\u0000\u0000\u0000\u0000\u6064\u605E\u0000"+
-        "\u605F\u6060\u0000\u0000\u0000\u0000\u0000\u6061"+
-        "\u0000\u6062\u6063\u0000\u0000\u0000\u0000\u0000"+
-        "\u6065\u0000\u6066\u0000\u0000\u0000\u0000\u6067"+
-        "\u6068\u0000\u0000\u0000\u0000\u0000\u0000\u6069"+
-        "\u606A\u0000\u0000\u0000\u0000\u0000\u606B\u606C"+
-        "\u606D\u0000\u0000\u0000\u0000\u0000\u606E\u0000"+
-        "\u606F\u6070\u0000\u6071\u0000\u6072\u0000\u6073"+
-        "\u6074\u0000\u0000\u0000\u6075\u6076\u6077\u0000"+
-        "\u0000\u0000\u0000\u0000\u6078\u6079\u607A\u607B"+
-        "\u0000\u0000\u607C\u0000\u0000\u0000\u0000\u0000"+
-        "\u607D\u607E\u0000\u6121\u0000\u0000\u0000\u6122"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6123"+
-        "\u0000\u6124\u6125\u6126\u6127\u6128\u0000\u0000"+
-        "\u6129\u0000\u0000\u0000\u0000\u612A\u612B\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u612C\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u612D\u0000\u0000"+
-        "\u612E\u612F\u0000\u0000\u6130\u6131\u6132\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6133\u6134\u0000"+
-        "\u6135\u0000\u0000\u0000\u0000\u0000\u6136\u0000"+
-        "\u6137\u6138\u0000\u0000\u0000\u0000\u6139\u0000"+
-        "\u0000\u0000\u613A\u613B\u0000\u613C\u0000\u0000"+
-        "\u613D\u0000\u613E\u613F\u0000\u6140\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6141\u0000\u0000\u6142\u6143\u0000\u0000\u0000"+
-        "\u6144\u0000\u0000\u0000\u0000\u0000\u6145\u0000"+
-        "\u0000\u6146\u0000\u0000\u0000\u6147\u6148\u0000"+
-        "\u0000\u0000\u0000\u6149\u0000\u0000\u614A\u0000"+
-        "\u0000\u0000\u614B\u0000\u614C\u0000\u0000\u0000"+
-        "\u614D\u0000\u0000\u0000\u614E\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u614F\u0000\u0000\u6150\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6151\u6152\u6154\u0000\u6155\u6156\u0000\u6153"+
-        "\u0000\u0000\u0000\u6157\u6158\u0000\u0000\u6159"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u615A"+
-        "\u0000\u0000\u0000\u615B\u615C\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u615D\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u615E\u0000\u615F\u0000\u0000"+
-        "\u0000\u0000\u6160\u0000\u0000\u0000\u6161\u6162"+
-        "\u0000\u0000\u0000\u0000\u6163\u0000\u0000\u0000"+
-        "\u6164\u0000\u0000\u0000\u6165\u0000\u0000\u0000"+
-        "\u0000\u6166\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6167\u0000\u0000"+
-        "\u6168\u0000\u0000\u6169\u616A\u0000\u616B\u0000"+
-        "\u616C\u0000\u0000\u0000\u0000\u616D\u0000\u616E"+
-        "\u616F\u6170\u0000\u6171\u0000\u0000\u0000\u0000"+
-        "\u6172\u6173\u6174\u0000\u0000\u6175\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6176\u0000\u6177\u6178\u6179\u0000\u617A\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u617B\u617D\u0000"+
-        "\u0000\u0000\u0000\u617E\u6221\u6222\u0000\u6223"+
-        "\u6224\u0000\u0000\u0000\u617C\u0000\u0000\u0000"+
-        "\u0000\u0000\u622D\u0000\u0000\u6225\u0000\u6226"+
-        "\u6227\u6228\u0000\u0000\u6229\u622A\u0000\u622B"+
-        "\u0000\u0000\u0000\u0000\u0000\u622C\u0000\u0000"+
-        "\u0000\u0000\u0000\u622F\u0000\u0000\u0000\u6230"+
-        "\u6231\u0000\u0000\u0000\u6232\u0000\u622E\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6233\u6234"+
-        "\u6235\u0000\u0000\u0000\u6236\u6237\u6238\u0000"+
-        "\u6239\u0000\u0000\u0000\u0000\u623A\u0000\u0000"+
-        "\u623B\u0000\u0000\u0000\u623C\u0000\u623D\u623E"+
-        "\u623F\u0000\u6240\u0000\u6241\u0000\u6242\u0000"+
-        "\u6243\u0000\u6245\u6246\u0000\u6244\u0000\u6247"+
-        "\u0000\u6248\u0000\u0000\u0000\u0000\u6249\u624A"+
-        "\u0000\u624B\u0000\u0000\u624C\u0000\u624D\u624E"+
-        "\u0000\u624F\u6250\u0000\u6251\u6252\u0000\u0000"+
-        "\u0000\u0000\u0000\u6253\u0000\u0000\u0000\u6254"+
-        "\u6255\u0000\u0000\u0000\u0000\u0000\u0000\u6256"+
-        "\u0000\u0000\u0000\u6257\u0000\u0000\u0000\u6258"+
-        "\u0000\u6259\u625A\u625B\u0000\u0000\u0000\u0000"+
-        "\u0000\u625C\u0000\u0000\u625D\u0000\u0000\u625E"+
-        "\u0000\u0000\u0000\u0000\u0000\u625F\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u6260\u0000\u0000\u0000"+
-        "\u0000\u6261\u6262\u6263\u0000\u0000\u0000\u0000"+
-        "\u0000\u6264\u0000\u6265\u0000\u6266\u6267\u0000"+
-        "\u0000\u0000\u6268\u0000\u0000\u0000\u6269\u0000"+
-        "\u0000\u626A\u0000\u626B\u626C\u626D\u0000\u0000"+
-        "\u626E\u0000\u0000\u0000\u0000\u0000\u626F\u0000"+
-        "\u0000\u6270\u0000\u0000\u0000\u0000\u6271\u0000"+
-        "\u6272\u0000\u0000\u0000\u6273\u6274\u6275\u0000"+
-        "\u6276\u6277\u6278\u6279\u0000\u0000\u627A\u0000"+
-        "\u0000\u0000\u0000\u627B\u627C\u627D\u0000\u627E"+
-        "\u0000\u0000\u6321\u6322\u0000\u6323\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6324\u6325\u0000\u0000\u6326"+
-        "\u0000\u6327\u6328\u0000\u0000\u0000\u6329\u0000"+
-        "\u0000\u0000\u0000\u0000\u632A\u632B\u0000\u0000"+
-        "\u0000\u632C\u632D\u0000\u632E\u632F\u6330\u6331"+
-        "\u6332\u6333\u0000\u0000\u0000\u0000\u0000\u6334"+
-        "\u0000\u6335\u0000\u6336\u0000\u6337\u0000\u0000"+
-        "\u6338\u6339\u0000\u0000\u633A\u633B\u633C\u633D"+
-        "\u0000\u633E\u633F\u0000\u6340\u0000\u0000\u0000"+
-        "\u6341\u0000\u6342\u6343\u0000\u0000\u6344\u0000"+
-        "\u6345\u0000\u0000\u0000\u6346\u6347\u0000\u0000"+
-        "\u0000\u0000\u0000\u6348\u6349\u634A\u634B\u0000"+
-        "\u634C\u0000\u0000\u0000\u0000\u0000\u634D\u634E"+
-        "\u634F\u0000\u0000\u6350\u0000\u6351\u6352\u0000"+
-        "\u6353\u6354\u6355\u0000\u6356\u0000\u6357\u0000"+
-        "\u6358\u0000\u6359\u635A\u0000\u0000\u635B\u635C"+
-        "\u0000\u0000\u635D\u0000\u0000\u635E\u635F\u6360"+
-        "\u0000\u6361\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6362\u6363\u0000\u0000\u6364\u6365\u0000\u0000"+
-        "\u6366\u6367\u0000\u0000\u0000\u6368\u0000\u6369"+
-        "\u636A\u636B\u0000\u0000\u0000\u0000\u636C\u636D"+
-        "\u636E\u0000\u0000\u0000\u0000\u636F\u6370\u6371"+
-        "\u6372\u6373\u0000\u6374\u6375\u6376\u0000\u6377"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6378\u6379\u637A\u0000\u0000\u637B\u637C\u0000"+
-        "\u0000\u0000\u637D\u0000\u0000\u0000\u0000\u637E"+
-        "\u0000\u6421\u0000\u0000\u0000\u0000\u0000\u6422"+
-        "\u6423\u0000\u0000\u0000\u6424\u6425\u0000\u6426"+
-        "\u6427\u0000\u0000\u6428\u0000\u0000\u0000\u6429"+
-        "\u0000\u0000\u642A\u0000\u0000\u0000\u642B\u0000"+
-        "\u642C\u0000\u642D\u642E\u642F\u6430\u0000\u6431"+
-        "\u6432\u6433\u6434\u6435\u0000\u6436\u6437\u6438"+
-        "\u6439\u0000\u0000\u643A\u643B\u643C\u643D\u0000"+
-        "\u643E\u0000\u0000\u643F\u0000\u6440\u0000\u6441"+
-        "\u6442\u6443\u0000\u0000\u6444\u6445\u0000\u6446"+
-        "\u6447\u6448\u0000\u6449\u0000\u644A\u0000\u644B"+
-        "\u644C\u0000\u0000\u0000\u644D\u0000\u644E\u0000"+
-        "\u644F\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6450\u0000\u6451\u0000\u0000\u0000\u6452"+
-        "\u6453\u0000\u6454\u0000\u0000\u0000\u0000\u0000"+
-        "\u6455\u0000\u0000\u0000\u0000\u6456\u0000\u0000"+
-        "\u0000\u6457\u0000\u0000\u6458\u6459\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u645A\u645B\u645C\u645D"+
-        "\u0000\u645E\u0000\u0000\u645F\u6460\u0000\u6461"+
-        "\u0000\u6462\u6463\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6464\u6465\u0000\u6466\u6467"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6468"+
-        "\u6469\u646A\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u646B\u646C\u646D\u0000\u0000\u646E\u0000\u646F"+
-        "\u6470\u0000\u6471\u0000\u0000\u0000\u6472\u0000"+
-        "\u0000\u0000\u0000\u0000\u6473\u6474\u0000\u6475"+
-        "\u0000\u6476\u6477\u0000\u0000\u6478\u0000\u6479"+
-        "\u647A\u647B\u0000\u647C\u647D\u0000\u647E\u0000"+
-        "\u0000\u0000\u6521\u0000\u0000\u6522\u0000\u6523"+
-        "\u6524\u6525\u6526\u0000\u0000\u0000\u0000\u0000"+
-        "\u6527\u0000\u6528\u6529\u0000\u652A\u0000\u652B"+
-        "\u0000\u0000\u652C\u0000\u0000\u652D\u0000\u0000"+
-        "\u652E\u0000\u0000\u652F\u0000\u0000\u6530\u0000"+
-        "\u0000\u6531\u0000\u6532\u6533\u0000\u6534\u0000"+
-        "\u6535\u653B\u0000\u6536\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u6537\u6538\u6539\u0000"+
-        "\u0000\u0000\u653A\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u653C\u0000\u0000\u653D\u653E\u653F\u6540"+
-        "\u0000\u6541\u6542\u6543\u6544\u6545\u0000\u0000"+
-        "\u0000\u0000\u0000\u6546\u0000\u0000\u0000\u0000"+
-        "\u0000\u6547\u0000\u0000\u6548\u0000\u6549\u654A"+
-        "\u0000\u0000\u654B\u0000\u0000\u0000\u654C\u654D"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u654F"+
-        "\u6550\u654E\u6551\u6552\u0000\u6553\u0000\u0000"+
-        "\u0000\u6554\u6555\u0000\u6556\u0000\u0000\u0000"+
-        "\u6557\u6558\u0000\u0000\u0000\u6559\u655A\u655B"+
-        "\u0000\u0000\u0000\u0000\u0000\u655C\u655D\u655E"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u655F"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6560\u6561"+
-        "\u0000\u6562\u6563\u6564\u6565\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6566\u0000\u6568\u0000\u6567"+
-        "\u0000\u0000\u0000\u6569\u0000\u656A\u0000\u0000"+
-        "\u656B\u0000\u656C\u0000\u656D\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u656E\u0000\u0000"+
-        "\u0000\u656F\u0000\u0000\u6570\u0000\u0000\u6571"+
-        "\u0000\u6572\u0000\u6573\u0000\u0000\u0000\u0000"+
-        "\u6574\u0000\u0000\u6575\u0000\u6576\u6577\u6578"+
-        "\u0000\u6579\u657A\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u657C\u657B\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u657D\u657E\u0000\u0000\u0000\u0000\u6621\u0000"+
-        "\u0000\u0000\u0000\u0000\u6622\u0000\u0000\u0000"+
-        "\u6623\u0000\u0000\u0000\u6624\u6625\u6626\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6627\u6628\u6629"+
-        "\u0000\u662A\u0000\u0000\u0000\u0000\u662B\u0000"+
-        "\u0000\u662C\u0000\u662D\u662E\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u662F\u0000\u6630\u0000"+
-        "\u0000\u0000\u6631\u0000\u0000\u6632\u0000\u6633"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6634\u0000"+
-        "\u6635\u6636\u0000\u6637\u0000\u0000\u0000\u0000"+
-        "\u6638\u6639\u663A\u663B\u0000\u0000\u0000\u0000"+
-        "\u0000\u663C\u663D\u0000\u0000\u663E\u663F\u6640"+
-        "\u6641\u0000\u0000\u0000\u6642\u0000\u6643\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6644\u6645\u0000"+
-        "\u0000\u0000\u6646\u0000\u6647\u6648\u6649\u0000"+
-        "\u0000\u0000\u0000\u0000\u664A\u0000\u0000\u0000"+
-        "\u0000\u664B\u0000\u664C\u0000\u0000\u0000\u664D"+
-        "\u664E\u664F\u6650\u0000\u6651\u6652\u0000\u0000"+
-        "\u0000\u6653\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6654\u0000\u6655\u0000\u6656\u6657"+
-        "\u6658\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6659\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u665A\u0000"+
-        "\u0000\u0000\u0000\u0000\u665B\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u665C\u665D\u0000\u665E\u665F"+
-        "\u0000\u6660\u6661\u6662\u6663\u0000\u0000\u0000"+
-        "\u0000\u6664\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6665\u0000\u0000\u0000\u0000\u6666\u0000"+
-        "\u0000\u0000\u6667\u0000\u0000\u6668\u0000\u6669"+
-        "\u0000\u0000\u0000\u0000\u666A\u666B\u666C\u0000"+
-        "\u0000\u666D\u0000\u0000\u0000\u0000\u666E\u666F"+
-        "\u0000\u0000\u0000\u6670\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6671\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6672\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6673\u0000\u0000\u0000\u0000\u0000"+
-        "\u6675\u0000\u6676\u0000\u0000\u6677\u6678\u6679"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u667A\u0000\u0000\u0000\u0000\u0000\u667B"+
-        "\u0000\u667C\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u667D\u0000\u0000\u0000\u0000\u0000";
-
-    private final static String innerIndex5=
-        "\u0000\u0000\u667E\u6721\u0000\u6722\u0000\u0000"+
-        "\u0000\u6723\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6724\u6725\u0000\u6726\u0000\u0000"+
-        "\u0000\u6727\u6728\u6729\u0000\u0000\u0000\u0000"+
-        "\u672A\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u672B\u0000\u672C\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u672D\u0000\u672E\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u672F\u0000\u0000\u0000\u6730\u6731"+
-        "\u0000\u0000\u0000\u0000\u0000\u6732\u0000\u6733"+
-        "\u6734\u0000\u6735\u6736\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6737\u0000\u0000\u0000\u6738"+
-        "\u0000\u0000\u6739\u0000\u0000\u0000\u673A\u0000"+
-        "\u0000\u0000\u0000\u673B\u0000\u0000\u673C\u673D"+
-        "\u673E\u0000\u0000\u673F\u0000\u6740\u0000\u6741"+
-        "\u6742\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6743\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6744\u6745\u6746"+
-        "\u0000\u6747\u6748\u0000\u0000\u0000\u6749\u674A"+
-        "\u0000\u0000\u674B\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u674C\u0000\u674D\u0000"+
-        "\u0000\u674E\u674F\u0000\u0000\u6750\u6751\u0000"+
-        "\u6752\u6753\u6754\u0000\u6755\u0000\u6756\u6757"+
-        "\u0000\u6758\u0000\u0000\u6759\u675A\u0000\u675B"+
-        "\u0000\u675C\u675D\u0000\u675E\u675F\u6760\u0000"+
-        "\u6761\u6762\u0000\u0000\u6763\u0000\u0000\u6764"+
-        "\u6765\u6766\u0000\u676A\u0000\u6767\u6768\u0000"+
-        "\u6769\u676B\u0000\u0000\u676C\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u676D"+
-        "\u0000\u676E\u0000\u0000\u676F\u0000\u0000\u6770"+
-        "\u6771\u0000\u6772\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6773"+
-        "\u0000\u0000\u6774\u0000\u0000\u6776\u6777\u0000"+
-        "\u0000\u0000\u0000\u0000\u6778\u0000\u6779\u0000"+
-        "\u0000\u6775\u0000\u0000\u677A\u0000\u677B\u0000"+
-        "\u677C\u0000\u0000\u677D\u0000\u6828\u677E\u0000"+
-        "\u0000\u0000\u0000\u6821\u0000\u0000\u6822\u6823"+
-        "\u6824\u0000\u6825\u6826\u0000\u6827\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6829\u0000"+
-        "\u0000\u0000\u0000\u0000\u682A\u0000\u0000\u682B"+
-        "\u0000\u0000\u682C\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u682D\u682E\u682F\u0000\u0000\u6830\u6831"+
-        "\u0000\u6832\u6833\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6834\u6835\u0000\u6836\u6837\u0000"+
-        "\u0000\u0000\u6838\u0000\u6839\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u683A\u0000\u683B\u683C\u0000"+
-        "\u683D\u0000\u0000\u0000\u683E\u0000\u0000\u683F"+
-        "\u6840\u0000\u6841\u6842\u0000\u0000\u0000\u6843"+
-        "\u0000\u0000\u6844\u0000\u0000\u6845\u0000\u0000"+
-        "\u6846\u0000\u0000\u0000\u6847\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6848\u0000\u6849\u0000\u684A\u684B\u684C"+
-        "\u0000\u0000\u684D\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u684E\u0000\u0000\u684F\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6850\u0000\u0000\u0000\u0000\u6851"+
-        "\u6852\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6853\u0000\u0000\u0000\u6854\u6855\u6856"+
-        "\u0000\u0000\u6857\u6858\u6859\u0000\u0000\u685A"+
-        "\u0000\u0000\u685B\u0000\u0000\u0000\u685C\u685D"+
-        "\u0000\u0000\u0000\u685E\u0000\u0000\u0000\u0000"+
-        "\u0000\u685F\u6860\u6861\u6862\u6863\u0000\u0000"+
-        "\u0000\u6864\u6865\u6866\u6867\u0000\u0000\u0000"+
-        "\u6868\u6869\u0000\u0000\u0000\u0000\u686A\u686B"+
-        "\u686C\u0000\u0000\u0000\u0000\u686D\u686E\u0000"+
-        "\u0000\u0000\u0000\u0000\u686F\u0000\u0000\u0000"+
-        "\u6870\u6871\u0000\u6872\u6873\u0000\u6874\u6875"+
-        "\u6876\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6877\u0000\u6878\u0000\u6879"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u687A\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u687B\u687C\u687D\u0000\u0000\u687E\u0000\u0000"+
-        "\u0000\u6921\u6922\u0000\u0000\u6923\u0000\u6924"+
-        "\u0000\u0000\u0000\u6925\u0000\u0000\u0000\u0000"+
-        "\u0000\u6926\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6927\u6928\u0000\u0000\u0000"+
-        "\u0000\u6929\u692A\u0000\u692B\u0000\u692C\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u692D"+
-        "\u0000\u0000\u692E\u692F\u6930\u0000\u0000\u0000"+
-        "\u6931\u0000\u0000\u0000\u6932\u6933\u0000\u0000"+
-        "\u0000\u6934\u0000\u0000\u0000\u6935\u6936\u0000"+
-        "\u0000\u0000\u6937\u6938\u6939\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u693A\u693B\u0000\u0000\u0000"+
-        "\u693C\u693D\u0000\u0000\u0000\u0000\u693E\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u693F\u0000"+
-        "\u6940\u0000\u6941\u6942\u6943\u0000\u0000\u6944"+
-        "\u0000\u0000\u0000\u0000\u0000\u6945\u6946\u0000"+
-        "\u0000\u0000\u0000\u6947\u0000\u6948\u6949\u0000"+
-        "\u694A\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u694C\u0000\u0000\u694D\u0000\u0000\u694B"+
-        "\u0000\u0000\u694E\u694F\u6950\u0000\u6951\u0000"+
-        "\u0000\u6952\u0000\u0000\u6953\u0000\u6954\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6955\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6956\u0000\u6957\u0000\u6958\u6959"+
-        "\u0000\u0000\u695A\u0000\u695B\u695C\u695D\u0000"+
-        "\u0000\u695E\u0000\u695F\u0000\u0000\u6960\u6961"+
-        "\u0000\u6962\u0000\u6963\u0000\u0000\u6964\u0000"+
-        "\u6965\u0000\u0000\u0000\u0000\u0000\u6966\u0000"+
-        "\u6967\u0000\u6968\u0000\u0000\u6969\u696A\u696B"+
-        "\u0000\u0000\u0000\u696C\u696D\u0000\u0000\u0000"+
-        "\u696E\u0000\u0000\u0000\u696F\u6970\u0000\u6971"+
-        "\u0000\u6972\u0000\u0000\u6973\u0000\u0000\u0000"+
-        "\u0000\u0000\u6974\u6975\u0000\u6976\u0000\u0000"+
-        "\u0000\u6977\u6978\u0000\u0000\u6979\u0000\u697A"+
-        "\u697B\u697C\u697D\u697E\u6A21\u6A22\u0000\u0000"+
-        "\u6A23\u6A24\u0000\u6A25\u6A26\u6A27\u6A28\u0000"+
-        "\u6A29\u0000\u6A2A\u0000\u0000\u0000\u6A2B\u0000"+
-        "\u0000\u6A2C\u0000\u6A2D\u6A2E\u0000\u0000\u0000"+
-        "\u6A2F\u0000\u0000\u0000\u0000\u0000\u6A30\u0000"+
-        "\u0000\u0000\u0000\u6A31\u0000\u6A32\u0000\u0000"+
-        "\u0000\u0000\u0000\u6A33\u6A34\u6A35\u0000\u6A36"+
-        "\u0000\u6A37\u6A38\u0000\u0000\u6A39\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6A3A\u0000\u0000\u6A3B\u6A3C\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6A3D\u6A3E\u6A3F"+
-        "\u0000\u0000\u0000\u6A40\u0000\u0000\u6A41\u0000"+
-        "\u0000\u6A42\u0000\u6A43\u0000\u6A44\u6A45\u0000"+
-        "\u6A46\u0000\u6A47\u6A48\u6A49\u6A4A\u6A4B\u0000"+
-        "\u0000\u0000\u0000\u6A4C\u0000\u6A4D\u0000\u6A4E"+
-        "\u6A4F\u6A50\u0000\u0000\u0000\u0000\u0000\u6A51"+
-        "\u6A52\u0000\u0000\u0000\u6A53\u6A54\u6A55\u6A56"+
-        "\u0000\u6A57\u6A58\u6A59\u0000\u6A5A\u0000\u6A5B"+
-        "\u6A5C\u0000\u0000\u0000\u6A5D\u0000\u0000\u0000"+
-        "\u0000\u0000\u6A5E\u0000\u0000\u6A5F\u6A60\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6A61\u6A62"+
-        "\u0000\u6A63\u0000\u0000\u6A64\u0000\u0000\u0000"+
-        "\u6A65\u6A66\u6A67\u0000\u0000\u0000\u0000\u6A68"+
-        "\u6A69\u0000\u0000\u6A6A\u6A6B\u0000\u6A6C\u6A6D"+
-        "\u0000\u6A6E\u0000\u0000\u0000\u0000\u0000\u6A6F"+
-        "\u6A70\u0000\u0000\u0000\u0000\u0000\u6A71\u0000"+
-        "\u6A72\u0000\u0000\u0000\u0000\u0000\u0000\u6A73"+
-        "\u6A74\u0000\u0000\u0000\u0000\u6A75\u0000\u6A76"+
-        "\u0000\u0000\u0000\u0000\u0000\u6A77\u0000\u6A78"+
-        "\u0000\u0000\u6A79\u6A7A\u0000\u0000\u0000\u6A7B"+
-        "\u0000\u0000\u0000\u6A7C\u0000\u0000\u0000\u6A7D"+
-        "\u6A7E\u6B21\u6B22\u0000\u0000\u6B23\u0000\u6B24"+
-        "\u6B25\u0000\u6B26\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6B27\u0000\u0000\u0000\u6B28"+
-        "\u0000\u6B29\u0000\u0000\u0000\u0000\u6B2A\u0000"+
-        "\u6B2B\u6B2C\u6B2D\u0000\u6B2E\u0000\u6B2F\u0000"+
-        "\u0000\u0000\u6B30\u6B31\u0000\u0000\u6B32\u6B33"+
-        "\u6B34\u6B35\u6B36\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6B37\u0000\u0000\u0000\u6B38\u6B39\u6B3A"+
-        "\u0000\u0000\u0000\u0000\u0000\u6B3B\u0000\u0000"+
-        "\u0000\u6B3C\u0000\u6B3D\u6B3E\u6B3F\u0000\u0000"+
-        "\u0000\u6B40\u6B41\u0000\u0000\u0000\u6B42\u6B43"+
-        "\u6B44\u0000\u0000\u6B45\u6B46\u0000\u6B47\u0000"+
-        "\u6B48\u0000\u0000\u6B49\u6B50\u6B4A\u6B4B\u6B4C"+
-        "\u0000\u0000\u0000\u6B4D\u0000\u0000\u0000\u0000"+
-        "\u6B52\u6B4E\u6B4F\u6B51\u0000\u0000\u6B53\u0000"+
-        "\u6B54\u0000\u6B55\u0000\u0000\u6B56\u0000\u6B57"+
-        "\u0000\u0000\u0000\u6B58\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6B59\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6B5A\u0000\u0000\u0000\u0000\u6B5B"+
-        "\u0000\u6B5C\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6B5E\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6B5D\u0000\u0000\u0000\u0000"+
-        "\u0000\u6B5F\u0000\u0000\u0000\u0000\u0000\u6B60"+
-        "\u6B61\u0000\u0000\u0000\u6B62\u6B63\u6B64\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6B65"+
-        "\u6B66\u0000\u6B67\u6B68\u6B69\u0000\u0000\u0000"+
-        "\u0000\u0000\u6B6A\u0000\u6B6B\u6B6D\u0000\u0000"+
-        "\u0000\u0000\u6B6E\u6B6F\u0000\u6B6C\u0000\u6B70"+
-        "\u0000\u0000\u6B71\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6B72\u6B73\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6B74"+
-        "\u0000\u0000\u6B76\u6B75\u0000\u6B77\u0000\u0000"+
-        "\u0000\u6B78\u6B79\u6B7A\u0000\u0000\u0000\u0000"+
-        "\u6B7B\u0000\u0000\u0000\u0000\u0000\u6B7C\u6B7D"+
-        "\u0000\u0000\u0000\u6B7E\u6C21\u0000\u6C22\u0000"+
-        "\u0000\u0000\u0000\u6C23\u6C24\u0000\u6C25\u0000"+
-        "\u0000\u0000\u6C26\u0000\u0000\u6C27\u6C28\u0000"+
-        "\u0000\u0000\u6C29\u6C2A\u0000\u6C2B\u6C2C\u6C2D"+
-        "\u6C2E\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6C2F\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6C30\u0000\u6C31\u0000\u6C32\u0000"+
-        "\u0000\u6C33\u0000\u0000\u0000\u6C34\u0000\u0000"+
-        "\u0000\u6C35\u0000\u0000\u6C36\u0000\u0000\u6C37"+
-        "\u0000\u0000\u0000\u6C38\u0000\u0000\u0000\u6C39"+
-        "\u0000\u6C3A\u6C3B\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u6C3C\u6C3D\u6C3E\u6C3F"+
-        "\u0000\u0000\u6C40\u0000\u0000\u0000\u6C41\u6C42"+
-        "\u6C43\u0000\u0000\u0000\u0000\u6C44\u0000\u6C45"+
-        "\u0000\u6C46\u0000\u6C47\u0000\u0000\u6C48\u0000"+
-        "\u6C49\u0000\u0000\u6C4A\u6C4B\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6C4C\u0000"+
-        "\u0000\u0000\u6C4E\u0000\u0000\u0000\u0000\u6C4F"+
-        "\u0000\u0000\u6C4D\u0000\u0000\u0000\u6C50\u0000"+
-        "\u6C51\u6C52\u6C53\u0000\u0000\u6C54\u6C55\u0000"+
-        "\u0000\u6C56\u0000\u0000\u6C57\u6C58\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6C59\u6C5A\u6C5B\u0000\u0000\u0000"+
-        "\u6C5C\u0000\u6C5D\u6C5E\u6C5F\u6C60\u0000\u6C61"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6C62\u6C63"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6C64\u0000"+
-        "\u6C65\u0000\u0000\u6C66\u0000\u0000\u6C67\u0000"+
-        "\u0000\u0000\u0000\u0000\u6C68\u0000\u0000\u0000"+
-        "\u6C69\u0000\u0000\u0000\u6C6A\u0000\u6C6B\u6C6C"+
-        "\u6C6D\u0000\u0000\u6C6E\u6C6F\u6C70\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6C71\u0000"+
-        "\u6C72\u0000\u0000\u6C73\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6C74\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6C75"+
-        "\u0000\u0000\u0000\u0000\u6C76\u0000\u0000\u6C77"+
-        "\u0000\u0000\u0000\u0000\u6C78\u6C79\u6C7A\u0000"+
-        "\u6C7B\u6C7C\u6C7D\u0000\u0000\u6C7E\u0000\u0000"+
-        "\u6D21\u0000\u0000\u0000\u0000\u0000\u0000\u6D22"+
-        "\u0000\u0000\u6D23\u6D24\u0000\u0000\u0000\u0000"+
-        "\u0000\u6D25\u0000\u0000\u0000\u0000\u0000\u6D26"+
-        "\u6D27\u6D28\u6D29\u0000\u6D2A\u0000\u6D2B\u6D2C"+
-        "\u0000\u6D2D\u6D2E\u6D2F\u0000\u0000\u0000\u6D30"+
-        "\u0000\u0000\u6D31\u0000\u0000\u0000\u6D32\u0000"+
-        "\u0000\u0000\u6D33\u6D34\u0000\u0000\u0000\u6D35"+
-        "\u0000\u6D36\u6D37\u0000\u6D38\u0000\u0000\u6D39"+
-        "\u0000\u6D3A\u6D3B\u0000\u6D3C\u6D3D\u0000\u6D3E"+
-        "\u0000\u6D3F\u0000\u6D40\u6D41\u6D42\u6D43\u6D44"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6D45\u0000\u6D46\u6D47\u6D48"+
-        "\u6D49\u0000\u6D4A\u0000\u0000\u6D4B\u6D4C\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6D4D\u6D4E\u0000\u0000\u0000\u6D4F\u6D50\u6D51"+
-        "\u6D52\u6D53\u0000\u6D54\u0000\u6D55\u0000\u0000"+
-        "\u0000\u0000\u6D56\u0000\u0000\u6D57\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6D58"+
-        "\u6D59\u6D5A\u6D5B\u0000\u6D5C\u0000\u6D5D\u6D5E"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6D5F\u0000"+
-        "\u0000\u6D60\u6D61\u6D62\u0000\u6D63\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u2237\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
-
-    private final static short index1[] = {
-        1, 2, 3, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 8,
-        9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
-        25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
-        41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
-        57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
-        73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 89
-    };
-
-    private final static String index2[] = {
-        innerIndex0,
-        innerIndex1,
-        innerIndex2,
-        innerIndex3,
-        innerIndex4,
-        innerIndex5
-    };
-
-}
--- a/src/share/classes/sun/nio/cs/ext/JIS_X_0212_MS5022X_Decoder.java	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,232 +0,0 @@
-/*
- * Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code 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
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package sun.nio.cs.ext;
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-
-class JIS_X_0212_MS5022X_Decoder extends JIS_X_0212_Decoder
-{
-    private int _start, _end;
-
-    public JIS_X_0212_MS5022X_Decoder(Charset cs) {
-        super(cs);
-        _start = 0x21;
-        _end = 0x7E;
-    }
-
-    protected char decodeDouble(int byte1, int byte2) {
-        if (((byte1 < 0) || (byte1 > _index1.length))
-            || ((byte2 < _start) || (byte2 > _end)))
-            return REPLACE_CHAR;
-        int n = (_index1[byte1] & 0xf)*(_end - _start + 1) + (byte2 - _start);
-        char unicode = _index2[_index1[byte1] >> 4].charAt(n);
-        if (unicode == '\u0000')
-            return (super.decodeDouble(byte1, byte2));
-        else
-            return unicode;
-    }
-
-    private final static String _innerIndex0=
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u2170\u2171"+
-        "\u2172\u2173\u2174\u2175\u2176\u2177\u2178\u2179"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\uFF07\uFF02\u0000\u0000\u0000\u70BB"+
-        "\u4EFC\u50F4\u51EC\u5307\u5324\uFA0E\u548A\u5759"+
-        "\uFA0F\uFA10\u589E\u5BEC\u5CF5\u5D53\uFA11\u5FB7"+
-        "\u6085\u6120\u654E\u0000\u6665\uFA12\uF929\u6801"+
-        "\uFA13\uFA14\u6A6B\u6AE2\u6DF8\u6DF2\u7028\uFA15"+
-        "\uFA16\u7501\u7682\u769E\uFA17\u7930\uFA18\uFA19"+
-        "\uFA1A\uFA1B\u7AE7\uFA1C\uFA1D\u7DA0\u7DD6\uFA1E"+
-        "\u8362\uFA1F\u85B0\uFA20\uFA21\u8807\uFA22\u8B7F"+
-        "\u8CF4\u8D76\uFA23\uFA24\uFA25\u90DE\uFA26\u9115"+
-        "\uFA27\uFA28\u9592\uF9DC\uFA29\u973B\u0000\u9751"+
-        "\uFA2A\uFA2B\uFA2C\u999E\u9AD9\u9B72\uFA2D\u9ED1"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u974D\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\uE3AC\uE3AD\uE3AE\uE3AF\uE3B0\uE3B1"+
-        "\uE3B2\uE3B3\uE3B4\uE3B5\uE3B6\uE3B7\uE3B8\uE3B9"+
-        "\uE3BA\uE3BB\uE3BC\uE3BD\uE3BE\uE3BF\uE3C0\uE3C1"+
-        "\uE3C2\uE3C3\uE3C4\uE3C5\uE3C6\uE3C7\uE3C8\uE3C9"+
-        "\uE3CA\uE3CB\uE3CC\uE3CD\uE3CE\uE3CF\uE3D0\uE3D1"+
-        "\uE3D2\uE3D3\uE3D4\uE3D5\uE3D6\uE3D7\uE3D8\uE3D9"+
-        "\uE3DA\uE3DB\uE3DC\uE3DD\uE3DE\uE3DF\uE3E0\uE3E1"+
-        "\uE3E2\uE3E3\uE3E4\uE3E5\uE3E6\uE3E7\uE3E8\uE3E9"+
-        "\uE3EA\uE3EB\uE3EC\uE3ED\uE3EE\uE3EF\uE3F0\uE3F1"+
-        "\uE3F2\uE3F3\uE3F4\uE3F5\uE3F6\uE3F7\uE3F8\uE3F9"+
-        "\uE3FA\uE3FB\uE3FC\uE3FD\uE3FE\uE3FF\uE400\uE401"+
-        "\uE402\uE403\uE404\uE405\uE406\uE407\uE408\uE409"+
-        "\uE40A\uE40B\uE40C\uE40D\uE40E\uE40F\uE410\uE411"+
-        "\uE412\uE413\uE414\uE415\uE416\uE417\uE418\uE419"+
-        "\uE41A\uE41B\uE41C\uE41D\uE41E\uE41F\uE420\uE421"+
-        "\uE422\uE423\uE424\uE425\uE426\uE427\uE428\uE429"+
-        "\uE42A\uE42B\uE42C\uE42D\uE42E\uE42F\uE430\uE431"+
-        "\uE432\uE433\uE434\uE435\uE436\uE437\uE438\uE439"+
-        "\uE43A\uE43B\uE43C\uE43D\uE43E\uE43F\uE440\uE441"+
-        "\uE442\uE443\uE444\uE445\uE446\uE447\uE448\uE449"+
-        "\uE44A\uE44B\uE44C\uE44D\uE44E\uE44F\uE450\uE451"+
-        "\uE452\uE453\uE454\uE455\uE456\uE457\uE458\uE459"+
-        "\uE45A\uE45B\uE45C\uE45D\uE45E\uE45F\uE460\uE461"+
-        "\uE462\uE463\uE464\uE465\uE466\uE467\uE468\uE469"+
-        "\uE46A\uE46B\uE46C\uE46D\uE46E\uE46F\uE470\uE471"+
-        "\uE472\uE473\uE474\uE475\uE476\uE477\uE478\uE479"+
-        "\uE47A\uE47B\uE47C\uE47D\uE47E\uE47F\uE480\uE481"+
-        "\uE482\uE483\uE484\uE485\uE486\uE487\uE488\uE489"+
-        "\uE48A\uE48B\uE48C\uE48D\uE48E\uE48F\uE490\uE491"+
-        "\uE492\uE493\uE494\uE495\uE496\uE497\uE498\uE499"+
-        "\uE49A\uE49B\uE49C\uE49D\uE49E\uE49F\uE4A0\uE4A1"+
-        "\uE4A2\uE4A3\uE4A4\uE4A5\uE4A6\uE4A7\uE4A8\uE4A9"+
-        "\uE4AA\uE4AB\uE4AC\uE4AD\uE4AE\uE4AF\uE4B0\uE4B1"+
-        "\uE4B2\uE4B3\uE4B4\uE4B5\uE4B6\uE4B7\uE4B8\uE4B9"+
-        "\uE4BA\uE4BB\uE4BC\uE4BD\uE4BE\uE4BF\uE4C0\uE4C1"+
-        "\uE4C2\uE4C3\uE4C4\uE4C5\uE4C6\uE4C7\uE4C8\uE4C9"+
-        "\uE4CA\uE4CB\uE4CC\uE4CD\uE4CE\uE4CF\uE4D0\uE4D1"+
-        "\uE4D2\uE4D3\uE4D4\uE4D5\uE4D6\uE4D7\uE4D8\uE4D9"+
-        "\uE4DA\uE4DB\uE4DC\uE4DD\uE4DE\uE4DF\uE4E0\uE4E1"+
-        "\uE4E2\uE4E3\uE4E4\uE4E5\uE4E6\uE4E7\uE4E8\uE4E9"+
-        "\uE4EA\uE4EB\uE4EC\uE4ED\uE4EE\uE4EF\uE4F0\uE4F1"+
-        "\uE4F2\uE4F3\uE4F4\uE4F5\uE4F6\uE4F7\uE4F8\uE4F9"+
-        "\uE4FA\uE4FB\uE4FC\uE4FD\uE4FE\uE4FF\uE500\uE501"+
-        "\uE502\uE503\uE504\uE505\uE506\uE507\uE508\uE509"+
-        "\uE50A\uE50B\uE50C\uE50D\uE50E\uE50F\uE510\uE511"+
-        "\uE512\uE513\uE514\uE515\uE516\uE517\uE518\uE519"+
-        "\uE51A\uE51B\uE51C\uE51D\uE51E\uE51F\uE520\uE521"+
-        "\uE522\uE523\uE524\uE525\uE526\uE527\uE528\uE529"+
-        "\uE52A\uE52B\uE52C\uE52D\uE52E\uE52F\uE530\uE531"+
-        "\uE532\uE533\uE534\uE535\uE536\uE537\uE538\uE539"+
-        "\uE53A\uE53B\uE53C\uE53D\uE53E\uE53F\uE540\uE541"+
-        "\uE542\uE543\uE544\uE545\uE546\uE547\uE548\uE549"+
-        "\uE54A\uE54B\uE54C\uE54D\uE54E\uE54F\uE550\uE551"+
-        "\uE552\uE553\uE554\uE555\uE556\uE557\uE558\uE559"+
-        "\uE55A\uE55B\uE55C\uE55D\uE55E\uE55F\uE560\uE561"+
-        "\uE562\uE563\uE564\uE565\uE566\uE567\uE568\uE569"+
-        "\uE56A\uE56B\uE56C\uE56D\uE56E\uE56F\uE570\uE571"+
-        "\uE572\uE573\uE574\uE575\uE576\uE577\uE578\uE579"+
-        "\uE57A\uE57B\uE57C\uE57D\uE57E\uE57F\uE580\uE581"+
-        "\uE582\uE583\uE584\uE585\uE586\uE587\uE588\uE589"+
-        "\uE58A\uE58B\uE58C\uE58D\uE58E\uE58F\uE590\uE591"+
-        "\uE592\uE593\uE594\uE595\uE596\uE597\uE598\uE599"+
-        "\uE59A\uE59B\uE59C\uE59D\uE59E\uE59F\uE5A0\uE5A1"+
-        "\uE5A2\uE5A3\uE5A4\uE5A5\uE5A6\uE5A7\uE5A8\uE5A9"+
-        "\uE5AA\uE5AB\uE5AC\uE5AD\uE5AE\uE5AF\uE5B0\uE5B1"+
-        "\uE5B2\uE5B3\uE5B4\uE5B5\uE5B6\uE5B7\uE5B8\uE5B9"+
-        "\uE5BA\uE5BB\uE5BC\uE5BD\uE5BE\uE5BF\uE5C0\uE5C1"+
-        "\uE5C2\uE5C3\uE5C4\uE5C5\uE5C6\uE5C7\uE5C8\uE5C9"+
-        "\uE5CA\uE5CB\uE5CC\uE5CD\uE5CE\uE5CF\uE5D0\uE5D1"+
-        "\uE5D2\uE5D3\uE5D4\uE5D5\uE5D6\uE5D7\uE5D8\uE5D9"+
-        "\uE5DA\uE5DB\uE5DC\uE5DD\uE5DE\uE5DF\uE5E0\uE5E1"+
-        "\uE5E2\uE5E3\uE5E4\uE5E5\uE5E6\uE5E7\uE5E8\uE5E9"+
-        "\uE5EA\uE5EB\uE5EC\uE5ED\uE5EE\uE5EF\uE5F0\uE5F1"+
-        "\uE5F2\uE5F3\uE5F4\uE5F5\uE5F6\uE5F7\uE5F8\uE5F9"+
-        "\uE5FA\uE5FB\uE5FC\uE5FD\uE5FE\uE5FF\uE600\uE601"+
-        "\uE602\uE603\uE604\uE605\uE606\uE607\uE608\uE609"+
-        "\uE60A\uE60B\uE60C\uE60D\uE60E\uE60F\uE610\uE611"+
-        "\uE612\uE613\uE614\uE615\uE616\uE617\uE618\uE619"+
-        "\uE61A\uE61B\uE61C\uE61D\uE61E\uE61F\uE620\uE621"+
-        "\uE622\uE623\uE624\uE625\uE626\uE627\uE628\uE629"+
-        "\uE62A\uE62B\uE62C\uE62D\uE62E\uE62F\uE630\uE631"+
-        "\uE632\uE633\uE634\uE635\uE636\uE637\uE638\uE639"+
-        "\uE63A\uE63B\uE63C\uE63D\uE63E\uE63F\uE640\uE641"+
-        "\uE642\uE643\uE644\uE645\uE646\uE647\uE648\uE649"+
-        "\uE64A\uE64B\uE64C\uE64D\uE64E\uE64F\uE650\uE651"+
-        "\uE652\uE653\uE654\uE655\uE656\uE657\uE658\uE659"+
-        "\uE65A\uE65B\uE65C\uE65D\uE65E\uE65F\uE660\uE661"+
-        "\uE662\uE663\uE664\uE665\uE666\uE667\uE668\uE669"+
-        "\uE66A\uE66B\uE66C\uE66D\uE66E\uE66F\uE670\uE671"+
-        "\uE672\uE673\uE674\uE675\uE676\uE677\uE678\uE679"+
-        "\uE67A\uE67B\uE67C\uE67D\uE67E\uE67F\uE680\uE681"+
-        "\uE682\uE683\uE684\uE685\uE686\uE687\uE688\uE689"+
-        "\uE68A\uE68B\uE68C\uE68D\uE68E\uE68F\uE690\uE691"+
-        "\uE692\uE693\uE694\uE695\uE696\uE697\uE698\uE699"+
-        "\uE69A\uE69B\uE69C\uE69D\uE69E\uE69F\uE6A0\uE6A1"+
-        "\uE6A2\uE6A3\uE6A4\uE6A5\uE6A6\uE6A7\uE6A8\uE6A9"+
-        "\uE6AA\uE6AB\uE6AC\uE6AD\uE6AE\uE6AF\uE6B0\uE6B1"+
-        "\uE6B2\uE6B3\uE6B4\uE6B5\uE6B6\uE6B7\uE6B8\uE6B9"+
-        "\uE6BA\uE6BB\uE6BC\uE6BD\uE6BE\uE6BF\uE6C0\uE6C1"+
-        "\uE6C2\uE6C3\uE6C4\uE6C5\uE6C6\uE6C7\uE6C8\uE6C9"+
-        "\uE6CA\uE6CB\uE6CC\uE6CD\uE6CE\uE6CF\uE6D0\uE6D1"+
-        "\uE6D2\uE6D3\uE6D4\uE6D5\uE6D6\uE6D7\uE6D8\uE6D9"+
-        "\uE6DA\uE6DB\uE6DC\uE6DD\uE6DE\uE6DF\uE6E0\uE6E1"+
-        "\uE6E2\uE6E3\uE6E4\uE6E5\uE6E6\uE6E7\uE6E8\uE6E9"+
-        "\uE6EA\uE6EB\uE6EC\uE6ED\uE6EE\uE6EF\uE6F0\uE6F1"+
-        "\uE6F2\uE6F3\uE6F4\uE6F5\uE6F6\uE6F7\uE6F8\uE6F9"+
-        "\uE6FA\uE6FB\uE6FC\uE6FD\uE6FE\uE6FF\uE700\uE701"+
-        "\uE702\uE703\uE704\uE705\uE706\uE707\uE708\uE709"+
-        "\uE70A\uE70B\uE70C\uE70D\uE70E\uE70F\uE710\uE711"+
-        "\uE712\uE713\uE714\uE715\uE716\uE717\uE718\uE719"+
-        "\uE71A\uE71B\uE71C\uE71D\uE71E\uE71F\uE720\uE721"+
-        "\uE722\uE723\uE724\uE725\uE726\uE727\uE728\uE729"+
-        "\uE72A\uE72B\uE72C\uE72D\uE72E\uE72F\uE730\uE731"+
-        "\uE732\uE733\uE734\uE735\uE736\uE737\uE738\uE739"+
-        "\uE73A\uE73B\uE73C\uE73D\uE73E\uE73F\uE740\uE741"+
-        "\uE742\uE743\uE744\uE745\uE746\uE747\uE748\uE749"+
-        "\uE74A\uE74B\uE74C\uE74D\uE74E\uE74F\uE750\uE751"+
-        "\uE752\uE753\uE754\uE755\uE756\uE757";
-
-    private final static short _index1[] = {
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
-    };
-
-    private final static String _index2[] = {
-        _innerIndex0
-    };
-
-}
--- a/src/share/classes/sun/nio/cs/ext/JIS_X_0212_MS5022X_Encoder.java	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1618 +0,0 @@
-/*
- * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code 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
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package sun.nio.cs.ext;
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-
-class JIS_X_0212_MS5022X_Encoder extends JIS_X_0212_Encoder
-{
-    public JIS_X_0212_MS5022X_Encoder(Charset cs) {
-        super(cs);
-    }
-
-    protected int encodeSingle(char inputChar) {
-        return -1;
-    }
-
-    protected int encodeDouble(char ch) {
-        int offset = _index1[((ch & 0xff00) >> 8 )] << 8;
-        int nativeCode = _index2[offset >> 12].charAt((offset & 0xFFF) + (ch & 0xFF));
-        if (nativeCode == '\u0001')
-            return (super.encodeDouble(ch));
-        else
-            return nativeCode;
-    }
-
-    private final static String _innerIndex0=
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u7321\u7322\u7323\u7324\u7325\u7326\u7327\u7328"+
-        "\u7329\u732A\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u733B\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u733C\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u733D\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u733E"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u733F\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u7341\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u7342\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u7345\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u7346\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u7347\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u7348\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u734A"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u734B\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u734C\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u734D\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001";
-
-    private final static String _innerIndex1=
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u734F\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u7352\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u7355\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u7356\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u7358\u0001\u0001\u0001\u0001\u0001"+
-        "\u7357\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u7359\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u733A\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u735C\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u735D\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u735E\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u7360\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u7365"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u7368\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u7369\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u736B\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u736D\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u7370"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u7372"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u7373\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u7374\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001";
-
-    private final static String _innerIndex2=
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u7378\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u737A\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u737D\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u7422\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u7463\u0001\u0001"+
-        "\u0001\u7424\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u7428\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u7429\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u742A\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u742C\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u7521\u7522\u7523\u7524"+
-        "\u7525\u7526\u7527\u7528\u7529\u752A\u752B\u752C"+
-        "\u752D\u752E\u752F\u7530\u7531\u7532\u7533\u7534"+
-        "\u7535\u7536\u7537\u7538\u7539\u753A\u753B\u753C"+
-        "\u753D\u753E\u753F\u7540\u7541\u7542\u7543\u7544"+
-        "\u7545\u7546\u7547\u7548\u7549\u754A\u754B\u754C"+
-        "\u754D\u754E\u754F\u7550\u7551\u7552\u7553\u7554"+
-        "\u7555\u7556\u7557\u7558\u7559\u755A\u755B\u755C"+
-        "\u755D\u755E\u755F\u7560\u7561\u7562\u7563\u7564"+
-        "\u7565\u7566\u7567\u7568\u7569\u756A\u756B\u756C"+
-        "\u756D\u756E\u756F\u7570\u7571\u7572\u7573\u7574"+
-        "\u7575\u7576\u7577\u7578\u7579\u757A\u757B\u757C"+
-        "\u757D\u757E\u7621\u7622\u7623\u7624\u7625\u7626"+
-        "\u7627\u7628\u7629\u762A\u762B\u762C\u762D\u762E"+
-        "\u762F\u7630\u7631\u7632\u7633\u7634\u7635\u7636"+
-        "\u7637\u7638\u7639\u763A\u763B\u763C\u763D\u763E"+
-        "\u763F\u7640\u7641\u7642\u7643\u7644\u7645\u7646"+
-        "\u7647\u7648\u7649\u764A\u764B\u764C\u764D\u764E"+
-        "\u764F\u7650\u7651\u7652\u7653\u7654\u7655\u7656"+
-        "\u7657\u7658\u7659\u765A\u765B\u765C\u765D\u765E"+
-        "\u765F\u7660\u7661\u7662\u7663\u7664\u7665\u7666"+
-        "\u7667\u7668\u7669\u766A\u766B\u766C\u766D\u766E"+
-        "\u766F\u7670\u7671\u7672\u7673\u7674\u7675\u7676"+
-        "\u7677\u7678\u7679\u767A\u767B\u767C\u767D\u767E"+
-        "\u7721\u7722\u7723\u7724\u7725\u7726\u7727\u7728"+
-        "\u7729\u772A\u772B\u772C\u772D\u772E\u772F\u7730"+
-        "\u7731\u7732\u7733\u7734\u7735\u7736\u7737\u7738"+
-        "\u7739\u773A\u773B\u773C\u773D\u773E\u773F\u7740"+
-        "\u7741\u7742\u7743\u7744\u7745\u7746\u7747\u7748"+
-        "\u7749\u774A\u774B\u774C\u774D\u774E\u774F\u7750"+
-        "\u7751\u7752\u7753\u7754\u7755\u7756\u7757\u7758"+
-        "\u7759\u775A\u775B\u775C\u775D\u775E\u775F\u7760"+
-        "\u7761\u7762\u7763\u7764\u7765\u7766\u7767\u7768"+
-        "\u7769\u776A\u776B\u776C\u776D\u776E\u776F\u7770"+
-        "\u7771\u7772\u7773\u7774\u7775\u7776\u7777\u7778"+
-        "\u7779\u777A\u777B\u777C\u777D\u777E\u7821\u7822"+
-        "\u7823\u7824\u7825\u7826\u7827\u7828\u7829\u782A"+
-        "\u782B\u782C\u782D\u782E\u782F\u7830\u7831\u7832"+
-        "\u7833\u7834\u7835\u7836\u7837\u7838\u7839\u783A"+
-        "\u783B\u783C\u783D\u783E\u783F\u7840\u7841\u7842"+
-        "\u7843\u7844\u7845\u7846\u7847\u7848\u7849\u784A"+
-        "\u784B\u784C\u784D\u784E\u784F\u7850\u7851\u7852"+
-        "\u7853\u7854\u7855\u7856\u7857\u7858\u7859\u785A"+
-        "\u785B\u785C\u785D\u785E\u785F\u7860\u7861\u7862"+
-        "\u7863\u7864\u7865\u7866\u7867\u7868\u7869\u786A"+
-        "\u786B\u786C\u786D\u786E\u786F\u7870\u7871\u7872"+
-        "\u7873\u7874\u7875\u7876\u7877\u7878\u7879\u787A"+
-        "\u787B\u787C\u787D\u787E\u7921\u7922\u7923\u7924"+
-        "\u7925\u7926\u7927\u7928\u7929\u792A\u792B\u792C"+
-        "\u792D\u792E\u792F\u7930\u7931\u7932\u7933\u7934"+
-        "\u7935\u7936\u7937\u7938\u7939\u793A\u793B\u793C"+
-        "\u793D\u793E\u793F\u7940\u7941\u7942\u7943\u7944"+
-        "\u7945\u7946\u7947\u7948\u7949\u794A\u794B\u794C"+
-        "\u794D\u794E\u794F\u7950\u7951\u7952\u7953\u7954"+
-        "\u7955\u7956\u7957\u7958\u7959\u795A\u795B\u795C"+
-        "\u795D\u795E\u795F\u7960\u7961\u7962\u7963\u7964"+
-        "\u7965\u7966\u7967\u7968\u7969\u796A\u796B\u796C"+
-        "\u796D\u796E\u796F\u7970\u7971\u7972\u7973\u7974"+
-        "\u7975\u7976\u7977\u7978\u7979\u797A\u797B\u797C"+
-        "\u797D\u797E\u7A21\u7A22\u7A23\u7A24\u7A25\u7A26"+
-        "\u7A27\u7A28\u7A29\u7A2A\u7A2B\u7A2C\u7A2D\u7A2E"+
-        "\u7A2F\u7A30\u7A31\u7A32\u7A33\u7A34\u7A35\u7A36"+
-        "\u7A37\u7A38\u7A39\u7A3A\u7A3B\u7A3C\u7A3D\u7A3E"+
-        "\u7A3F\u7A40\u7A41\u7A42\u7A43\u7A44\u7A45\u7A46"+
-        "\u7A47\u7A48\u7A49\u7A4A\u7A4B\u7A4C\u7A4D\u7A4E"+
-        "\u7A4F\u7A50\u7A51\u7A52\u7A53\u7A54\u7A55\u7A56"+
-        "\u7A57\u7A58\u7A59\u7A5A\u7A5B\u7A5C\u7A5D\u7A5E"+
-        "\u7A5F\u7A60\u7A61\u7A62\u7A63\u7A64\u7A65\u7A66"+
-        "\u7A67\u7A68\u7A69\u7A6A\u7A6B\u7A6C\u7A6D\u7A6E"+
-        "\u7A6F\u7A70\u7A71\u7A72\u7A73\u7A74\u7A75\u7A76"+
-        "\u7A77\u7A78\u7A79\u7A7A\u7A7B\u7A7C\u7A7D\u7A7E"+
-        "\u7B21\u7B22\u7B23\u7B24\u7B25\u7B26\u7B27\u7B28"+
-        "\u7B29\u7B2A\u7B2B\u7B2C\u7B2D\u7B2E\u7B2F\u7B30"+
-        "\u7B31\u7B32\u7B33\u7B34\u7B35\u7B36\u7B37\u7B38"+
-        "\u7B39\u7B3A\u7B3B\u7B3C\u7B3D\u7B3E\u7B3F\u7B40"+
-        "\u7B41\u7B42\u7B43\u7B44\u7B45\u7B46\u7B47\u7B48"+
-        "\u7B49\u7B4A\u7B4B\u7B4C\u7B4D\u7B4E\u7B4F\u7B50"+
-        "\u7B51\u7B52\u7B53\u7B54\u7B55\u7B56\u7B57\u7B58"+
-        "\u7B59\u7B5A\u7B5B\u7B5C\u7B5D\u7B5E\u7B5F\u7B60"+
-        "\u7B61\u7B62\u7B63\u7B64\u7B65\u7B66\u7B67\u7B68"+
-        "\u7B69\u7B6A\u7B6B\u7B6C\u7B6D\u7B6E\u7B6F\u7B70"+
-        "\u7B71\u7B72\u7B73\u7B74\u7B75\u7B76\u7B77\u7B78"+
-        "\u7B79\u7B7A\u7B7B\u7B7C\u7B7D\u7B7E\u7C21\u7C22"+
-        "\u7C23\u7C24\u7C25\u7C26\u7C27\u7C28\u7C29\u7C2A"+
-        "\u7C2B\u7C2C\u7C2D\u7C2E\u7C2F\u7C30\u7C31\u7C32"+
-        "\u7C33\u7C34\u7C35\u7C36\u7C37\u7C38\u7C39\u7C3A"+
-        "\u7C3B\u7C3C\u7C3D\u7C3E\u7C3F\u7C40\u7C41\u7C42"+
-        "\u7C43\u7C44\u7C45\u7C46\u7C47\u7C48\u7C49\u7C4A"+
-        "\u7C4B\u7C4C\u7C4D\u7C4E\u7C4F\u7C50\u7C51\u7C52"+
-        "\u7C53\u7C54\u7C55\u7C56\u7C57\u7C58\u7C59\u7C5A"+
-        "\u7C5B\u7C5C\u7C5D\u7C5E\u7C5F\u7C60\u7C61\u7C62"+
-        "\u7C63\u7C64\u7C65\u7C66\u7C67\u7C68\u7C69\u7C6A"+
-        "\u7C6B\u7C6C\u7C6D\u7C6E\u7C6F\u7C70\u7C71\u7C72"+
-        "\u7C73\u7C74\u7C75\u7C76\u7C77\u7C78\u7C79\u7C7A"+
-        "\u7C7B\u7C7C\u7C7D\u7C7E\u7D21\u7D22\u7D23\u7D24"+
-        "\u7D25\u7D26\u7D27\u7D28\u7D29\u7D2A\u7D2B\u7D2C"+
-        "\u7D2D\u7D2E\u7D2F\u7D30\u7D31\u7D32\u7D33\u7D34"+
-        "\u7D35\u7D36\u7D37\u7D38\u7D39\u7D3A\u7D3B\u7D3C"+
-        "\u7D3D\u7D3E\u7D3F\u7D40\u7D41\u7D42\u7D43\u7D44"+
-        "\u7D45\u7D46\u7D47\u7D48\u7D49\u7D4A\u7D4B\u7D4C"+
-        "\u7D4D\u7D4E\u7D4F\u7D50\u7D51\u7D52\u7D53\u7D54"+
-        "\u7D55\u7D56\u7D57\u7D58\u7D59\u7D5A\u7D5B\u7D5C"+
-        "\u7D5D\u7D5E\u7D5F\u7D60\u7D61\u7D62\u7D63\u7D64"+
-        "\u7D65\u7D66\u7D67\u7D68\u7D69\u7D6A\u7D6B\u7D6C"+
-        "\u7D6D\u7D6E\u7D6F\u7D70\u7D71\u7D72\u7D73\u7D74"+
-        "\u7D75\u7D76\u7D77\u7D78\u7D79\u7D7A\u7D7B\u7D7C"+
-        "\u7D7D\u7D7E\u7E21\u7E22\u7E23\u7E24\u7E25\u7E26"+
-        "\u7E27\u7E28\u7E29\u7E2A\u7E2B\u7E2C\u7E2D\u7E2E"+
-        "\u7E2F\u7E30\u7E31\u7E32\u7E33\u7E34\u7E35\u7E36"+
-        "\u7E37\u7E38\u7E39\u7E3A\u7E3B\u7E3C\u7E3D\u7E3E"+
-        "\u7E3F\u7E40\u7E41\u7E42\u7E43\u7E44\u7E45\u7E46"+
-        "\u7E47\u7E48\u7E49\u7E4A\u7E4B\u7E4C\u7E4D\u7E4E"+
-        "\u7E4F\u7E50\u7E51\u7E52\u7E53\u7E54\u7E55\u7E56"+
-        "\u7E57\u7E58\u7E59\u7E5A\u7E5B\u7E5C\u7E5D\u7E5E"+
-        "\u7E5F\u7E60\u7E61\u7E62\u7E63\u7E64\u7E65\u7E66"+
-        "\u7E67\u7E68\u7E69\u7E6A\u7E6B\u7E6C\u7E6D\u7E6E"+
-        "\u7E6F\u7E70\u7E71\u7E72\u7E73\u7E74\u7E75\u7E76"+
-        "\u7E77\u7E78\u7E79\u7E7A\u7E7B\u7E7C\u7E7D\u7E7E"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u7351\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u737E\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u7340\u7343"+
-        "\u7344\u7349\u7350\u7353\u7354\u735A\u735B\u735F"+
-        "\u7361\u7362\u7363\u7364\u7366\u7367\u736A\u736C"+
-        "\u736E\u736F\u7371\u7375\u7376\u7377\u7379\u737B"+
-        "\u737C\u7421\u7425\u7426\u7427\u742B\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u7336\u0001\u0001\u0001\u0001\u7335"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
-        "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001";
-
-    private final static short _index1[] = {
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0,
-        3, 4, 0, 5, 6, 0, 0, 7, 8, 0, 0, 9, 10, 11, 0, 12,
-        13, 14, 0, 0, 0, 15, 16, 0, 17, 0, 18, 0, 0, 19, 0, 0,
-        20, 0, 0, 0, 0, 21, 22, 0, 0, 23, 24, 0, 0, 25, 0, 0,
-        0, 0, 0, 26, 0, 27, 0, 0, 28, 0, 0, 29, 30, 31, 0, 0,
-        32, 33, 0, 0, 0, 34, 0, 35, 0, 36, 37, 38, 0, 0, 39, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 40, 41, 42, 43, 44, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 46, 0, 0, 0, 0, 47
-    };
-
-    private final static String _index2[] = {
-        _innerIndex0,
-        _innerIndex1,
-        _innerIndex2
-    };
-
-}
--- a/src/share/classes/sun/nio/cs/ext/JIS_X_0212_Solaris_Decoder.java	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,919 +0,0 @@
-/*
- * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code 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
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- */
-
-package sun.nio.cs.ext;
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-
-public class JIS_X_0212_Solaris_Decoder extends DoubleByteDecoder
-{
-    public JIS_X_0212_Solaris_Decoder(Charset cs) {
-        super(cs,
-              index1,
-              index2,
-              0x21,
-              0x7E);
-    }
-
-    private final static String innerIndex0=
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\u02D8\u02C7\u00B8\u02D9"+
-        "\u02DD\u00AF\u02DB\u02DA\uFF5E\u0384\u0385\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u00A1"+
-        "\u00A6\u00BF\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\u00BA\u00AA\u00A9\u00AE\u2122\u00A4\u2116\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\u0386\u0388\u0389\u038A"+
-        "\u03AA\uFFFD\u038C\uFFFD\u038E\u03AB\uFFFD\u038F"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\u03AC\u03AD\u03AE\u03AF"+
-        "\u03CA\u0390\u03CC\u03C2\u03CD\u03CB\u03B0\u03CE"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\u0402\u0403\u0404\u0405\u0406"+
-        "\u0407\u0408\u0409\u040A\u040B\u040C\u040E\u040F"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\u0452\u0453\u0454\u0455\u0456"+
-        "\u0457\u0458\u0459\u045A\u045B\u045C\u045E\u045F"+
-        "\u00C6\u0110\uFFFD\u0126\uFFFD\u0132\uFFFD\u0141"+
-        "\u013F\uFFFD\u014A\u00D8\u0152\uFFFD\u0166\u00DE"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\u00E6\u0111\u00F0\u0127\u0131\u0133\u0138\u0142"+
-        "\u0140\u0149\u014B\u00F8\u0153\u00DF\u0167\u00FE"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u00C1\u00C0"+
-        "\u00C4\u00C2\u0102\u01CD\u0100\u0104\u00C5\u00C3"+
-        "\u0106\u0108\u010C\u00C7\u010A\u010E\u00C9\u00C8"+
-        "\u00CB\u00CA\u011A\u0116\u0112\u0118\uFFFD\u011C"+
-        "\u011E\u0122\u0120\u0124\u00CD\u00CC\u00CF\u00CE"+
-        "\u01CF\u0130\u012A\u012E\u0128\u0134\u0136\u0139"+
-        "\u013D\u013B\u0143\u0147\u0145\u00D1\u00D3\u00D2"+
-        "\u00D6\u00D4\u01D1\u0150\u014C\u00D5\u0154\u0158"+
-        "\u0156\u015A\u015C\u0160\u015E\u0164\u0162\u00DA"+
-        "\u00D9\u00DC\u00DB\u016C\u01D3\u0170\u016A\u0172"+
-        "\u016E\u0168\u01D7\u01DB\u01D9\u01D5\u0174\u00DD"+
-        "\u0178\u0176\u0179\u017D\u017B\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\u00E1\u00E0\u00E4\u00E2"+
-        "\u0103\u01CE\u0101\u0105\u00E5\u00E3\u0107\u0109"+
-        "\u010D\u00E7\u010B\u010F\u00E9\u00E8\u00EB\u00EA"+
-        "\u011B\u0117\u0113\u0119\u01F5\u011D\u011F\uFFFD"+
-        "\u0121\u0125\u00ED\u00EC\u00EF\u00EE\u01D0\uFFFD"+
-        "\u012B\u012F\u0129\u0135\u0137\u013A\u013E\u013C"+
-        "\u0144\u0148\u0146\u00F1\u00F3\u00F2\u00F6\u00F4"+
-        "\u01D2\u0151\u014D\u00F5\u0155\u0159\u0157\u015B"+
-        "\u015D\u0161\u015F\u0165\u0163\u00FA\u00F9\u00FC"+
-        "\u00FB\u016D\u01D4\u0171\u016B\u0173\u016F\u0169"+
-        "\u01D8\u01DC\u01DA\u01D6\u0175\u00FD\u00FF\u0177"+
-        "\u017A\u017E\u017C\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\u4E02\u4E04\u4E05\u4E0C\u4E12\u4E1F"+
-        "\u4E23\u4E24\u4E28\u4E2B\u4E2E\u4E2F\u4E30\u4E35"+
-        "\u4E40\u4E41\u4E44\u4E47\u4E51\u4E5A\u4E5C\u4E63"+
-        "\u4E68\u4E69\u4E74\u4E75\u4E79\u4E7F\u4E8D\u4E96"+
-        "\u4E97\u4E9D\u4EAF\u4EB9\u4EC3\u4ED0\u4EDA\u4EDB"+
-        "\u4EE0\u4EE1\u4EE2\u4EE8\u4EEF\u4EF1\u4EF3\u4EF5"+
-        "\u4EFD\u4EFE\u4EFF\u4F00\u4F02\u4F03\u4F08\u4F0B"+
-        "\u4F0C\u4F12\u4F15\u4F16\u4F17\u4F19\u4F2E\u4F31"+
-        "\u4F60\u4F33\u4F35\u4F37\u4F39\u4F3B\u4F3E\u4F40"+
-        "\u4F42\u4F48\u4F49\u4F4B\u4F4C\u4F52\u4F54\u4F56"+
-        "\u4F58\u4F5F\u4F63\u4F6A\u4F6C\u4F6E\u4F71\u4F77"+
-        "\u4F78\u4F79\u4F7A\u4F7D\u4F7E\u4F81\u4F82\u4F84"+
-        "\u4F85\u4F89\u4F8A\u4F8C\u4F8E\u4F90\u4F92\u4F93"+
-        "\u4F94\u4F97\u4F99\u4F9A\u4F9E\u4F9F\u4FB2\u4FB7"+
-        "\u4FB9\u4FBB\u4FBC\u4FBD\u4FBE\u4FC0\u4FC1\u4FC5"+
-        "\u4FC6\u4FC8\u4FC9\u4FCB\u4FCC\u4FCD\u4FCF\u4FD2"+
-        "\u4FDC\u4FE0\u4FE2\u4FF0\u4FF2\u4FFC\u4FFD\u4FFF"+
-        "\u5000\u5001\u5004\u5007\u500A\u500C\u500E\u5010"+
-        "\u5013\u5017\u5018\u501B\u501C\u501D\u501E\u5022"+
-        "\u5027\u502E\u5030\u5032\u5033\u5035\u5040\u5041"+
-        "\u5042\u5045\u5046\u504A\u504C\u504E\u5051\u5052"+
-        "\u5053\u5057\u5059\u505F\u5060\u5062\u5063\u5066"+
-        "\u5067\u506A\u506D\u5070\u5071\u503B\u5081\u5083"+
-        "\u5084\u5086\u508A\u508E\u508F\u5090\u5092\u5093"+
-        "\u5094\u5096\u509B\u509C\u509E\u509F\u50A0\u50A1"+
-        "\u50A2\u50AA\u50AF\u50B0\u50B9\u50BA\u50BD\u50C0"+
-        "\u50C3\u50C4\u50C7\u50CC\u50CE\u50D0\u50D3\u50D4"+
-        "\u50D8\u50DC\u50DD\u50DF\u50E2\u50E4\u50E6\u50E8"+
-        "\u50E9\u50EF\u50F1\u50F6\u50FA\u50FE\u5103\u5106"+
-        "\u5107\u5108\u510B\u510C\u510D\u510E\u50F2\u5110"+
-        "\u5117\u5119\u511B\u511C\u511D\u511E\u5123\u5127"+
-        "\u5128\u512C\u512D\u512F\u5131\u5133\u5134\u5135"+
-        "\u5138\u5139\u5142\u514A\u514F\u5153\u5155\u5157"+
-        "\u5158\u515F\u5164\u5166\u517E\u5183\u5184\u518B"+
-        "\u518E\u5198\u519D\u51A1\u51A3\u51AD\u51B8\u51BA"+
-        "\u51BC\u51BE\u51BF\u51C2\u51C8\u51CF\u51D1\u51D2"+
-        "\u51D3\u51D5\u51D8\u51DE\u51E2\u51E5\u51EE\u51F2"+
-        "\u51F3\u51F4\u51F7\u5201\u5202\u5205\u5212\u5213"+
-        "\u5215\u5216\u5218\u5222\u5228\u5231\u5232\u5235"+
-        "\u523C\u5245\u5249\u5255\u5257\u5258\u525A\u525C"+
-        "\u525F\u5260\u5261\u5266\u526E\u5277\u5278\u5279"+
-        "\u5280\u5282\u5285\u528A\u528C\u5293\u5295\u5296"+
-        "\u5297\u5298\u529A\u529C\u52A4\u52A5\u52A6\u52A7"+
-        "\u52AF\u52B0\u52B6\u52B7\u52B8\u52BA\u52BB\u52BD"+
-        "\u52C0\u52C4\u52C6\u52C8\u52CC\u52CF\u52D1\u52D4"+
-        "\u52D6\u52DB\u52DC\u52E1\u52E5\u52E8\u52E9\u52EA"+
-        "\u52EC\u52F0\u52F1\u52F4\u52F6\u52F7\u5300\u5303"+
-        "\u530A\u530B\u530C\u5311\u5313\u5318\u531B\u531C"+
-        "\u531E\u531F\u5325\u5327\u5328\u5329\u532B\u532C"+
-        "\u532D\u5330\u5332\u5335\u533C\u533D\u533E\u5342"+
-        "\u534C\u534B\u5359\u535B\u5361\u5363\u5365\u536C"+
-        "\u536D\u5372\u5379\u537E\u5383\u5387\u5388\u538E"+
-        "\u5393\u5394\u5399\u539D\u53A1\u53A4\u53AA\u53AB"+
-        "\u53AF\u53B2\u53B4\u53B5\u53B7\u53B8\u53BA\u53BD"+
-        "\u53C0\u53C5\u53CF\u53D2\u53D3\u53D5\u53DA\u53DD"+
-        "\u53DE\u53E0\u53E6\u53E7\u53F5\u5402\u5413\u541A"+
-        "\u5421\u5427\u5428\u542A\u542F\u5431\u5434\u5435"+
-        "\u5443\u5444\u5447\u544D\u544F\u545E\u5462\u5464"+
-        "\u5466\u5467\u5469\u546B\u546D\u546E\u5474\u547F"+
-        "\u5481\u5483\u5485\u5488\u5489\u548D\u5491\u5495"+
-        "\u5496\u549C\u549F\u54A1\u54A6\u54A7\u54A9\u54AA"+
-        "\u54AD\u54AE\u54B1\u54B7\u54B9\u54BA\u54BB\u54BF"+
-        "\u54C6\u54CA\u54CD\u54CE\u54E0\u54EA\u54EC\u54EF"+
-        "\u54F6\u54FC\u54FE\u54FF\u5500\u5501\u5505\u5508"+
-        "\u5509\u550C\u550D\u550E\u5515\u552A\u552B\u5532"+
-        "\u5535\u5536\u553B\u553C\u553D\u5541\u5547\u5549"+
-        "\u554A\u554D\u5550\u5551\u5558\u555A\u555B\u555E"+
-        "\u5560\u5561\u5564\u5566\u557F\u5581\u5582\u5586"+
-        "\u5588\u558E\u558F\u5591\u5592\u5593\u5594\u5597"+
-        "\u55A3\u55A4\u55AD\u55B2\u55BF\u55C1\u55C3\u55C6"+
-        "\u55C9\u55CB\u55CC\u55CE\u55D1\u55D2\u55D3\u55D7"+
-        "\u55D8\u55DB\u55DE\u55E2\u55E9\u55F6\u55FF\u5605"+
-        "\u5608\u560A\u560D\u560E\u560F\u5610\u5611\u5612"+
-        "\u5619\u562C\u5630\u5633\u5635\u5637\u5639\u563B"+
-        "\u563C\u563D\u563F\u5640\u5641\u5643\u5644\u5646"+
-        "\u5649\u564B\u564D\u564F\u5654\u565E\u5660\u5661"+
-        "\u5662\u5663\u5666\u5669\u566D\u566F\u5671\u5672"+
-        "\u5675\u5684\u5685\u5688\u568B\u568C\u5695\u5699"+
-        "\u569A\u569D\u569E\u569F\u56A6\u56A7\u56A8\u56A9"+
-        "\u56AB\u56AC\u56AD\u56B1\u56B3\u56B7\u56BE\u56C5"+
-        "\u56C9\u56CA\u56CB\u56CF\u56D0\u56CC\u56CD\u56D9"+
-        "\u56DC\u56DD\u56DF\u56E1\u56E4\u56E5\u56E6\u56E7"+
-        "\u56E8\u56F1\u56EB\u56ED\u56F6\u56F7\u5701\u5702"+
-        "\u5707\u570A\u570C\u5711\u5715\u571A\u571B\u571D"+
-        "\u5720\u5722\u5723\u5724\u5725\u5729\u572A\u572C"+
-        "\u572E\u572F\u5733\u5734\u573D\u573E\u573F\u5745"+
-        "\u5746\u574C\u574D\u5752\u5762\u5765\u5767\u5768"+
-        "\u576B\u576D\u576E\u576F\u5770\u5771\u5773\u5774"+
-        "\u5775\u5777\u5779\u577A\u577B\u577C\u577E\u5781"+
-        "\u5783\u578C\u5794\u5797\u5799\u579A\u579C\u579D"+
-        "\u579E\u579F\u57A1\u5795\u57A7\u57A8\u57A9\u57AC"+
-        "\u57B8\u57BD\u57C7\u57C8\u57CC\u57CF\u57D5\u57DD"+
-        "\u57DE\u57E4\u57E6\u57E7\u57E9\u57ED\u57F0\u57F5"+
-        "\u57F6\u57F8\u57FD\u57FE\u57FF\u5803\u5804\u5808"+
-        "\u5809\u57E1\u580C\u580D\u581B\u581E\u581F\u5820"+
-        "\u5826\u5827\u582D\u5832\u5839\u583F\u5849\u584C"+
-        "\u584D\u584F\u5850\u5855\u585F\u5861\u5864\u5867"+
-        "\u5868\u5878\u587C\u587F\u5880\u5881\u5887\u5888"+
-        "\u5889\u588A\u588C\u588D\u588F\u5890\u5894\u5896"+
-        "\u589D\u58A0\u58A1\u58A2\u58A6\u58A9\u58B1\u58B2"+
-        "\u58C4\u58BC\u58C2\u58C8\u58CD\u58CE\u58D0\u58D2"+
-        "\u58D4\u58D6\u58DA\u58DD\u58E1\u58E2\u58E9\u58F3"+
-        "\u5905\u5906\u590B\u590C\u5912\u5913\u5914\u8641"+
-        "\u591D\u5921\u5923\u5924\u5928\u592F\u5930\u5933"+
-        "\u5935\u5936\u593F\u5943\u5946\u5952\u5953\u5959"+
-        "\u595B\u595D\u595E\u595F\u5961\u5963\u596B\u596D";
-
-    private final static String innerIndex1=
-        "\u596F\u5972\u5975\u5976\u5979\u597B\u597C\u598B"+
-        "\u598C\u598E\u5992\u5995\u5997\u599F\u59A4\u59A7"+
-        "\u59AD\u59AE\u59AF\u59B0\u59B3\u59B7\u59BA\u59BC"+
-        "\u59C1\u59C3\u59C4\u59C8\u59CA\u59CD\u59D2\u59DD"+
-        "\u59DE\u59DF\u59E3\u59E4\u59E7\u59EE\u59EF\u59F1"+
-        "\u59F2\u59F4\u59F7\u5A00\u5A04\u5A0C\u5A0D\u5A0E"+
-        "\u5A12\u5A13\u5A1E\u5A23\u5A24\u5A27\u5A28\u5A2A"+
-        "\u5A2D\u5A30\u5A44\u5A45\u5A47\u5A48\u5A4C\u5A50"+
-        "\u5A55\u5A5E\u5A63\u5A65\u5A67\u5A6D\u5A77\u5A7A"+
-        "\u5A7B\u5A7E\u5A8B\u5A90\u5A93\u5A96\u5A99\u5A9C"+
-        "\u5A9E\u5A9F\u5AA0\u5AA2\u5AA7\u5AAC\u5AB1\u5AB2"+
-        "\u5AB3\u5AB5\u5AB8\u5ABA\u5ABB\u5ABF\u5AC4\u5AC6"+
-        "\u5AC8\u5ACF\u5ADA\u5ADC\u5AE0\u5AE5\u5AEA\u5AEE"+
-        "\u5AF5\u5AF6\u5AFD\u5B00\u5B01\u5B08\u5B17\u5B34"+
-        "\u5B19\u5B1B\u5B1D\u5B21\u5B25\u5B2D\u5B38\u5B41"+
-        "\u5B4B\u5B4C\u5B52\u5B56\u5B5E\u5B68\u5B6E\u5B6F"+
-        "\u5B7C\u5B7D\u5B7E\u5B7F\u5B81\u5B84\u5B86\u5B8A"+
-        "\u5B8E\u5B90\u5B91\u5B93\u5B94\u5B96\u5BA8\u5BA9"+
-        "\u5BAC\u5BAD\u5BAF\u5BB1\u5BB2\u5BB7\u5BBA\u5BBC"+
-        "\u5BC0\u5BC1\u5BCD\u5BCF\u5BD6\u5BD7\u5BD8\u5BD9"+
-        "\u5BDA\u5BE0\u5BEF\u5BF1\u5BF4\u5BFD\u5C0C\u5C17"+
-        "\u5C1E\u5C1F\u5C23\u5C26\u5C29\u5C2B\u5C2C\u5C2E"+
-        "\u5C30\u5C32\u5C35\u5C36\u5C59\u5C5A\u5C5C\u5C62"+
-        "\u5C63\u5C67\u5C68\u5C69\u5C6D\u5C70\u5C74\u5C75"+
-        "\u5C7A\u5C7B\u5C7C\u5C7D\u5C87\u5C88\u5C8A\u5C8F"+
-        "\u5C92\u5C9D\u5C9F\u5CA0\u5CA2\u5CA3\u5CA6\u5CAA"+
-        "\u5CB2\u5CB4\u5CB5\u5CBA\u5CC9\u5CCB\u5CD2\u5CDD"+
-        "\u5CD7\u5CEE\u5CF1\u5CF2\u5CF4\u5D01\u5D06\u5D0D"+
-        "\u5D12\u5D2B\u5D23\u5D24\u5D26\u5D27\u5D31\u5D34"+
-        "\u5D39\u5D3D\u5D3F\u5D42\u5D43\u5D46\u5D48\u5D55"+
-        "\u5D51\u5D59\u5D4A\u5D5F\u5D60\u5D61\u5D62\u5D64"+
-        "\u5D6A\u5D6D\u5D70\u5D79\u5D7A\u5D7E\u5D7F\u5D81"+
-        "\u5D83\u5D88\u5D8A\u5D92\u5D93\u5D94\u5D95\u5D99"+
-        "\u5D9B\u5D9F\u5DA0\u5DA7\u5DAB\u5DB0\u5DB4\u5DB8"+
-        "\u5DB9\u5DC3\u5DC7\u5DCB\u5DD0\u5DCE\u5DD8\u5DD9"+
-        "\u5DE0\u5DE4\u5DE9\u5DF8\u5DF9\u5E00\u5E07\u5E0D"+
-        "\u5E12\u5E14\u5E15\u5E18\u5E1F\u5E20\u5E2E\u5E28"+
-        "\u5E32\u5E35\u5E3E\u5E4B\u5E50\u5E49\u5E51\u5E56"+
-        "\u5E58\u5E5B\u5E5C\u5E5E\u5E68\u5E6A\u5E6B\u5E6C"+
-        "\u5E6D\u5E6E\u5E70\u5E80\u5E8B\u5E8E\u5EA2\u5EA4"+
-        "\u5EA5\u5EA8\u5EAA\u5EAC\u5EB1\u5EB3\u5EBD\u5EBE"+
-        "\u5EBF\u5EC6\u5ECC\u5ECB\u5ECE\u5ED1\u5ED2\u5ED4"+
-        "\u5ED5\u5EDC\u5EDE\u5EE5\u5EEB\u5F02\u5F06\u5F07"+
-        "\u5F08\u5F0E\u5F19\u5F1C\u5F1D\u5F21\u5F22\u5F23"+
-        "\u5F24\u5F28\u5F2B\u5F2C\u5F2E\u5F30\u5F34\u5F36"+
-        "\u5F3B\u5F3D\u5F3F\u5F40\u5F44\u5F45\u5F47\u5F4D"+
-        "\u5F50\u5F54\u5F58\u5F5B\u5F60\u5F63\u5F64\u5F67"+
-        "\u5F6F\u5F72\u5F74\u5F75\u5F78\u5F7A\u5F7D\u5F7E"+
-        "\u5F89\u5F8D\u5F8F\u5F96\u5F9C\u5F9D\u5FA2\u5FA7"+
-        "\u5FAB\u5FA4\u5FAC\u5FAF\u5FB0\u5FB1\u5FB8\u5FC4"+
-        "\u5FC7\u5FC8\u5FC9\u5FCB\u5FD0\u5FD1\u5FD2\u5FD3"+
-        "\u5FD4\u5FDE\u5FE1\u5FE2\u5FE8\u5FE9\u5FEA\u5FEC"+
-        "\u5FED\u5FEE\u5FEF\u5FF2\u5FF3\u5FF6\u5FFA\u5FFC"+
-        "\u6007\u600A\u600D\u6013\u6014\u6017\u6018\u601A"+
-        "\u601F\u6024\u602D\u6033\u6035\u6040\u6047\u6048"+
-        "\u6049\u604C\u6051\u6054\u6056\u6057\u605D\u6061"+
-        "\u6067\u6071\u607E\u607F\u6082\u6086\u6088\u608A"+
-        "\u608E\u6091\u6093\u6095\u6098\u609D\u609E\u60A2"+
-        "\u60A4\u60A5\u60A8\u60B0\u60B1\u60B7\u60BB\u60BE"+
-        "\u60C2\u60C4\u60C8\u60C9\u60CA\u60CB\u60CE\u60CF"+
-        "\u60D4\u60D5\u60D9\u60DB\u60DD\u60DE\u60E2\u60E5"+
-        "\u60F2\u60F5\u60F8\u60FC\u60FD\u6102\u6107\u610A"+
-        "\u610C\u6110\u6111\u6112\u6113\u6114\u6116\u6117"+
-        "\u6119\u611C\u611E\u6122\u612A\u612B\u6130\u6131"+
-        "\u6135\u6136\u6137\u6139\u6141\u6145\u6146\u6149"+
-        "\u615E\u6160\u616C\u6172\u6178\u617B\u617C\u617F"+
-        "\u6180\u6181\u6183\u6184\u618B\u618D\u6192\u6193"+
-        "\u6197\u6198\u619C\u619D\u619F\u61A0\u61A5\u61A8"+
-        "\u61AA\u61AD\u61B8\u61B9\u61BC\u61C0\u61C1\u61C2"+
-        "\u61CE\u61CF\u61D5\u61DC\u61DD\u61DE\u61DF\u61E1"+
-        "\u61E2\u61E7\u61E9\u61E5\u61EC\u61ED\u61EF\u6201"+
-        "\u6203\u6204\u6207\u6213\u6215\u621C\u6220\u6222"+
-        "\u6223\u6227\u6229\u622B\u6239\u623D\u6242\u6243"+
-        "\u6244\u6246\u624C\u6250\u6251\u6252\u6254\u6256"+
-        "\u625A\u625C\u6264\u626D\u626F\u6273\u627A\u627D"+
-        "\u628D\u628E\u628F\u6290\u62A6\u62A8\u62B3\u62B6"+
-        "\u62B7\u62BA\u62BE\u62BF\u62C4\u62CE\u62D5\u62D6"+
-        "\u62DA\u62EA\u62F2\u62F4\u62FC\u62FD\u6303\u6304"+
-        "\u630A\u630B\u630D\u6310\u6313\u6316\u6318\u6329"+
-        "\u632A\u632D\u6335\u6336\u6339\u633C\u6341\u6342"+
-        "\u6343\u6344\u6346\u634A\u634B\u634E\u6352\u6353"+
-        "\u6354\u6358\u635B\u6365\u6366\u636C\u636D\u6371"+
-        "\u6374\u6375\u6378\u637C\u637D\u637F\u6382\u6384"+
-        "\u6387\u638A\u6390\u6394\u6395\u6399\u639A\u639E"+
-        "\u63A4\u63A6\u63AD\u63AE\u63AF\u63BD\u63C1\u63C5"+
-        "\u63C8\u63CE\u63D1\u63D3\u63D4\u63D5\u63DC\u63E0"+
-        "\u63E5\u63EA\u63EC\u63F2\u63F3\u63F5\u63F8\u63F9"+
-        "\u6409\u640A\u6410\u6412\u6414\u6418\u641E\u6420"+
-        "\u6422\u6424\u6425\u6429\u642A\u642F\u6430\u6435"+
-        "\u643D\u643F\u644B\u644F\u6451\u6452\u6453\u6454"+
-        "\u645A\u645B\u645C\u645D\u645F\u6460\u6461\u6463"+
-        "\u646D\u6473\u6474\u647B\u647D\u6485\u6487\u648F"+
-        "\u6490\u6491\u6498\u6499\u649B\u649D\u649F\u64A1"+
-        "\u64A3\u64A6\u64A8\u64AC\u64B3\u64BD\u64BE\u64BF"+
-        "\u64C4\u64C9\u64CA\u64CB\u64CC\u64CE\u64D0\u64D1"+
-        "\u64D5\u64D7\u64E4\u64E5\u64E9\u64EA\u64ED\u64F0"+
-        "\u64F5\u64F7\u64FB\u64FF\u6501\u6504\u6508\u6509"+
-        "\u650A\u650F\u6513\u6514\u6516\u6519\u651B\u651E"+
-        "\u651F\u6522\u6526\u6529\u652E\u6531\u653A\u653C"+
-        "\u653D\u6543\u6547\u6549\u6550\u6552\u6554\u655F"+
-        "\u6560\u6567\u656B\u657A\u657D\u6581\u6585\u658A"+
-        "\u6592\u6595\u6598\u659D\u65A0\u65A3\u65A6\u65AE"+
-        "\u65B2\u65B3\u65B4\u65BF\u65C2\u65C8\u65C9\u65CE"+
-        "\u65D0\u65D4\u65D6\u65D8\u65DF\u65F0\u65F2\u65F4"+
-        "\u65F5\u65F9\u65FE\u65FF\u6600\u6604\u6608\u6609"+
-        "\u660D\u6611\u6612\u6615\u6616\u661D\u661E\u6621"+
-        "\u6622\u6623\u6624\u6626\u6629\u662A\u662B\u662C"+
-        "\u662E\u6630\u6631\u6633\u6639\u6637\u6640\u6645"+
-        "\u6646\u664A\u664C\u6651\u664E\u6657\u6658\u6659"+
-        "\u665B\u665C\u6660\u6661\u66FB\u666A\u666B\u666C"+
-        "\u667E\u6673\u6675\u667F\u6677\u6678\u6679\u667B"+
-        "\u6680\u667C\u668B\u668C\u668D\u6690\u6692\u6699"+
-        "\u669A\u669B\u669C\u669F\u66A0\u66A4\u66AD\u66B1"+
-        "\u66B2\u66B5\u66BB\u66BF\u66C0\u66C2\u66C3\u66C8"+
-        "\u66CC\u66CE\u66CF\u66D4\u66DB\u66DF\u66E8\u66EB"+
-        "\u66EC\u66EE\u66FA\u6705\u6707\u670E\u6713\u6719"+
-        "\u671C\u6720\u6722\u6733\u673E\u6745\u6747\u6748"+
-        "\u674C\u6754\u6755\u675D\u6766\u676C\u676E\u6774"+
-        "\u6776\u677B\u6781\u6784\u678E\u678F\u6791\u6793"+
-        "\u6796\u6798\u6799\u679B\u67B0\u67B1\u67B2\u67B5"+
-        "\u67BB\u67BC\u67BD\u67F9\u67C0\u67C2\u67C3\u67C5"+
-        "\u67C8\u67C9\u67D2\u67D7\u67D9\u67DC\u67E1\u67E6"+
-        "\u67F0\u67F2\u67F6\u67F7\u6852\u6814\u6819\u681D"+
-        "\u681F\u6828\u6827\u682C\u682D\u682F\u6830\u6831"+
-        "\u6833\u683B\u683F\u6844\u6845\u684A\u684C\u6855"+
-        "\u6857\u6858\u685B\u686B\u686E\u686F\u6870\u6871"+
-        "\u6872\u6875\u6879\u687A\u687B\u687C\u6882\u6884"+
-        "\u6886\u6888\u6896\u6898\u689A\u689C\u68A1\u68A3"+
-        "\u68A5\u68A9\u68AA\u68AE\u68B2\u68BB\u68C5\u68C8"+
-        "\u68CC\u68CF\u68D0\u68D1\u68D3\u68D6\u68D9\u68DC"+
-        "\u68DD\u68E5\u68E8\u68EA\u68EB\u68EC\u68ED\u68F0"+
-        "\u68F1\u68F5\u68F6\u68FB\u68FC\u68FD\u6906\u6909"+
-        "\u690A\u6910\u6911\u6913\u6916\u6917\u6931\u6933"+
-        "\u6935\u6938\u693B\u6942\u6945\u6949\u694E\u6957"+
-        "\u695B\u6963\u6964\u6965\u6966\u6968\u6969\u696C"+
-        "\u6970\u6971\u6972\u697A\u697B\u697F\u6980\u698D"+
-        "\u6992\u6996\u6998\u69A1\u69A5\u69A6\u69A8\u69AB"+
-        "\u69AD\u69AF\u69B7\u69B8\u69BA\u69BC\u69C5\u69C8"+
-        "\u69D1\u69D6\u69D7\u69E2\u69E5\u69EE\u69EF\u69F1"+
-        "\u69F3\u69F5\u69FE\u6A00\u6A01\u6A03\u6A0F\u6A11"+
-        "\u6A15\u6A1A\u6A1D\u6A20\u6A24\u6A28\u6A30\u6A32"+
-        "\u6A34\u6A37\u6A3B\u6A3E\u6A3F\u6A45\u6A46\u6A49"+
-        "\u6A4A\u6A4E\u6A50\u6A51\u6A52\u6A55\u6A56\u6A5B"+
-        "\u6A64\u6A67\u6A6A\u6A71\u6A73\u6A7E\u6A81\u6A83"+
-        "\u6A86\u6A87\u6A89\u6A8B\u6A91\u6A9B\u6A9D\u6A9E"+
-        "\u6A9F\u6AA5\u6AAB\u6AAF\u6AB0\u6AB1\u6AB4\u6ABD"+
-        "\u6ABE\u6ABF\u6AC6\u6AC9\u6AC8\u6ACC\u6AD0\u6AD4"+
-        "\u6AD5\u6AD6\u6ADC\u6ADD\u6AE4\u6AE7\u6AEC\u6AF0"+
-        "\u6AF1\u6AF2\u6AFC\u6AFD\u6B02\u6B03\u6B06\u6B07"+
-        "\u6B09\u6B0F\u6B10\u6B11\u6B17\u6B1B\u6B1E\u6B24"+
-        "\u6B28\u6B2B\u6B2C\u6B2F\u6B35\u6B36\u6B3B\u6B3F"+
-        "\u6B46\u6B4A\u6B4D\u6B52\u6B56\u6B58\u6B5D\u6B60"+
-        "\u6B67\u6B6B\u6B6E\u6B70\u6B75\u6B7D\u6B7E\u6B82"+
-        "\u6B85\u6B97\u6B9B\u6B9F\u6BA0\u6BA2\u6BA3\u6BA8"+
-        "\u6BA9\u6BAC\u6BAD\u6BAE\u6BB0\u6BB8\u6BB9\u6BBD"+
-        "\u6BBE\u6BC3\u6BC4\u6BC9\u6BCC\u6BD6\u6BDA\u6BE1"+
-        "\u6BE3\u6BE6\u6BE7\u6BEE\u6BF1\u6BF7\u6BF9\u6BFF"+
-        "\u6C02\u6C04\u6C05\u6C09\u6C0D\u6C0E\u6C10\u6C12"+
-        "\u6C19\u6C1F\u6C26\u6C27\u6C28\u6C2C\u6C2E\u6C33"+
-        "\u6C35\u6C36\u6C3A\u6C3B\u6C3F\u6C4A\u6C4B\u6C4D"+
-        "\u6C4F\u6C52\u6C54\u6C59\u6C5B\u6C5C\u6C6B\u6C6D"+
-        "\u6C6F\u6C74\u6C76\u6C78\u6C79\u6C7B\u6C85\u6C86"+
-        "\u6C87\u6C89\u6C94\u6C95\u6C97\u6C98\u6C9C\u6C9F"+
-        "\u6CB0\u6CB2\u6CB4\u6CC2\u6CC6\u6CCD\u6CCF\u6CD0"+
-        "\u6CD1\u6CD2\u6CD4\u6CD6\u6CDA\u6CDC\u6CE0\u6CE7"+
-        "\u6CE9\u6CEB\u6CEC\u6CEE\u6CF2\u6CF4\u6D04\u6D07"+
-        "\u6D0A\u6D0E\u6D0F\u6D11\u6D13\u6D1A\u6D26\u6D27"+
-        "\u6D28\u6C67\u6D2E\u6D2F\u6D31\u6D39\u6D3C\u6D3F"+
-        "\u6D57\u6D5E\u6D5F\u6D61\u6D65\u6D67\u6D6F\u6D70"+
-        "\u6D7C\u6D82\u6D87\u6D91\u6D92\u6D94\u6D96\u6D97"+
-        "\u6D98\u6DAA\u6DAC\u6DB4\u6DB7\u6DB9\u6DBD\u6DBF"+
-        "\u6DC4\u6DC8\u6DCA\u6DCE\u6DCF\u6DD6\u6DDB\u6DDD"+
-        "\u6DDF\u6DE0\u6DE2\u6DE5\u6DE9\u6DEF\u6DF0\u6DF4"+
-        "\u6DF6\u6DFC\u6E00\u6E04\u6E1E\u6E22\u6E27\u6E32"+
-        "\u6E36\u6E39\u6E3B\u6E3C\u6E44\u6E45\u6E48\u6E49"+
-        "\u6E4B\u6E4F\u6E51\u6E52\u6E53\u6E54\u6E57\u6E5C"+
-        "\u6E5D\u6E5E\u6E62\u6E63\u6E68\u6E73\u6E7B\u6E7D"+
-        "\u6E8D\u6E93\u6E99\u6EA0\u6EA7\u6EAD\u6EAE\u6EB1"+
-        "\u6EB3\u6EBB\u6EBF\u6EC0\u6EC1\u6EC3\u6EC7\u6EC8"+
-        "\u6ECA\u6ECD\u6ECE\u6ECF\u6EEB\u6EED\u6EEE\u6EF9"+
-        "\u6EFB\u6EFD\u6F04\u6F08\u6F0A\u6F0C\u6F0D\u6F16"+
-        "\u6F18\u6F1A\u6F1B\u6F26\u6F29\u6F2A\u6F2F\u6F30"+
-        "\u6F33\u6F36\u6F3B\u6F3C\u6F2D\u6F4F\u6F51\u6F52"+
-        "\u6F53\u6F57\u6F59\u6F5A\u6F5D\u6F5E\u6F61\u6F62"+
-        "\u6F68\u6F6C\u6F7D\u6F7E\u6F83\u6F87\u6F88\u6F8B"+
-        "\u6F8C\u6F8D\u6F90\u6F92\u6F93\u6F94\u6F96\u6F9A"+
-        "\u6F9F\u6FA0\u6FA5\u6FA6\u6FA7\u6FA8\u6FAE\u6FAF"+
-        "\u6FB0\u6FB5\u6FB6\u6FBC\u6FC5\u6FC7\u6FC8\u6FCA";
-
-    private final static String innerIndex2=
-        "\u6FDA\u6FDE\u6FE8\u6FE9\u6FF0\u6FF5\u6FF9\u6FFC"+
-        "\u6FFD\u7000\u7005\u7006\u7007\u700D\u7017\u7020"+
-        "\u7023\u702F\u7034\u7037\u7039\u703C\u7043\u7044"+
-        "\u7048\u7049\u704A\u704B\u7054\u7055\u705D\u705E"+
-        "\u704E\u7064\u7065\u706C\u706E\u7075\u7076\u707E"+
-        "\u7081\u7085\u7086\u7094\u7095\u7096\u7097\u7098"+
-        "\u709B\u70A4\u70AB\u70B0\u70B1\u70B4\u70B7\u70CA"+
-        "\u70D1\u70D3\u70D4\u70D5\u70D6\u70D8\u70DC\u70E4"+
-        "\u70FA\u7103\u7104\u7105\u7106\u7107\u710B\u710C"+
-        "\u710F\u711E\u7120\u712B\u712D\u712F\u7130\u7131"+
-        "\u7138\u7141\u7145\u7146\u7147\u714A\u714B\u7150"+
-        "\u7152\u7157\u715A\u715C\u715E\u7160\u7168\u7179"+
-        "\u7180\u7185\u7187\u718C\u7192\u719A\u719B\u71A0"+
-        "\u71A2\u71AF\u71B0\u71B2\u71B3\u71BA\u71BF\u71C0"+
-        "\u71C1\u71C4\u71CB\u71CC\u71D3\u71D6\u71D9\u71DA"+
-        "\u71DC\u71F8\u71FE\u7200\u7207\u7208\u7209\u7213"+
-        "\u7217\u721A\u721D\u721F\u7224\u722B\u722F\u7234"+
-        "\u7238\u7239\u7241\u7242\u7243\u7245\u724E\u724F"+
-        "\u7250\u7253\u7255\u7256\u725A\u725C\u725E\u7260"+
-        "\u7263\u7268\u726B\u726E\u726F\u7271\u7277\u7278"+
-        "\u727B\u727C\u727F\u7284\u7289\u728D\u728E\u7293"+
-        "\u729B\u72A8\u72AD\u72AE\u72B1\u72B4\u72BE\u72C1"+
-        "\u72C7\u72C9\u72CC\u72D5\u72D6\u72D8\u72DF\u72E5"+
-        "\u72F3\u72F4\u72FA\u72FB\u72FE\u7302\u7304\u7305"+
-        "\u7307\u730B\u730D\u7312\u7313\u7318\u7319\u731E"+
-        "\u7322\u7324\u7327\u7328\u732C\u7331\u7332\u7335"+
-        "\u733A\u733B\u733D\u7343\u734D\u7350\u7352\u7356"+
-        "\u7358\u735D\u735E\u735F\u7360\u7366\u7367\u7369"+
-        "\u736B\u736C\u736E\u736F\u7371\u7377\u7379\u737C"+
-        "\u7380\u7381\u7383\u7385\u7386\u738E\u7390\u7393"+
-        "\u7395\u7397\u7398\u739C\u739E\u739F\u73A0\u73A2"+
-        "\u73A5\u73A6\u73AA\u73AB\u73AD\u73B5\u73B7\u73B9"+
-        "\u73BC\u73BD\u73BF\u73C5\u73C6\u73C9\u73CB\u73CC"+
-        "\u73CF\u73D2\u73D3\u73D6\u73D9\u73DD\u73E1\u73E3"+
-        "\u73E6\u73E7\u73E9\u73F4\u73F5\u73F7\u73F9\u73FA"+
-        "\u73FB\u73FD\u73FF\u7400\u7401\u7404\u7407\u740A"+
-        "\u7411\u741A\u741B\u7424\u7426\u7428\u7429\u742A"+
-        "\u742B\u742C\u742D\u742E\u742F\u7430\u7431\u7439"+
-        "\u7440\u7443\u7444\u7446\u7447\u744B\u744D\u7451"+
-        "\u7452\u7457\u745D\u7462\u7466\u7467\u7468\u746B"+
-        "\u746D\u746E\u7471\u7472\u7480\u7481\u7485\u7486"+
-        "\u7487\u7489\u748F\u7490\u7491\u7492\u7498\u7499"+
-        "\u749A\u749C\u749F\u74A0\u74A1\u74A3\u74A6\u74A8"+
-        "\u74A9\u74AA\u74AB\u74AE\u74AF\u74B1\u74B2\u74B5"+
-        "\u74B9\u74BB\u74BF\u74C8\u74C9\u74CC\u74D0\u74D3"+
-        "\u74D8\u74DA\u74DB\u74DE\u74DF\u74E4\u74E8\u74EA"+
-        "\u74EB\u74EF\u74F4\u74FA\u74FB\u74FC\u74FF\u7506"+
-        "\u7512\u7516\u7517\u7520\u7521\u7524\u7527\u7529"+
-        "\u752A\u752F\u7536\u7539\u753D\u753E\u753F\u7540"+
-        "\u7543\u7547\u7548\u754E\u7550\u7552\u7557\u755E"+
-        "\u755F\u7561\u756F\u7571\u7579\u757A\u757B\u757C"+
-        "\u757D\u757E\u7581\u7585\u7590\u7592\u7593\u7595"+
-        "\u7599\u759C\u75A2\u75A4\u75B4\u75BA\u75BF\u75C0"+
-        "\u75C1\u75C4\u75C6\u75CC\u75CE\u75CF\u75D7\u75DC"+
-        "\u75DF\u75E0\u75E1\u75E4\u75E7\u75EC\u75EE\u75EF"+
-        "\u75F1\u75F9\u7600\u7602\u7603\u7604\u7607\u7608"+
-        "\u760A\u760C\u760F\u7612\u7613\u7615\u7616\u7619"+
-        "\u761B\u761C\u761D\u761E\u7623\u7625\u7626\u7629"+
-        "\u762D\u7632\u7633\u7635\u7638\u7639\u763A\u763C"+
-        "\u764A\u7640\u7641\u7643\u7644\u7645\u7649\u764B"+
-        "\u7655\u7659\u765F\u7664\u7665\u766D\u766E\u766F"+
-        "\u7671\u7674\u7681\u7685\u768C\u768D\u7695\u769B"+
-        "\u769C\u769D\u769F\u76A0\u76A2\u76A3\u76A4\u76A5"+
-        "\u76A6\u76A7\u76A8\u76AA\u76AD\u76BD\u76C1\u76C5"+
-        "\u76C9\u76CB\u76CC\u76CE\u76D4\u76D9\u76E0\u76E6"+
-        "\u76E8\u76EC\u76F0\u76F1\u76F6\u76F9\u76FC\u7700"+
-        "\u7706\u770A\u770E\u7712\u7714\u7715\u7717\u7719"+
-        "\u771A\u771C\u7722\u7728\u772D\u772E\u772F\u7734"+
-        "\u7735\u7736\u7739\u773D\u773E\u7742\u7745\u7746"+
-        "\u774A\u774D\u774E\u774F\u7752\u7756\u7757\u775C"+
-        "\u775E\u775F\u7760\u7762\u7764\u7767\u776A\u776C"+
-        "\u7770\u7772\u7773\u7774\u777A\u777D\u7780\u7784"+
-        "\u778C\u778D\u7794\u7795\u7796\u779A\u779F\u77A2"+
-        "\u77A7\u77AA\u77AE\u77AF\u77B1\u77B5\u77BE\u77C3"+
-        "\u77C9\u77D1\u77D2\u77D5\u77D9\u77DE\u77DF\u77E0"+
-        "\u77E4\u77E6\u77EA\u77EC\u77F0\u77F1\u77F4\u77F8"+
-        "\u77FB\u7805\u7806\u7809\u780D\u780E\u7811\u781D"+
-        "\u7821\u7822\u7823\u782D\u782E\u7830\u7835\u7837"+
-        "\u7843\u7844\u7847\u7848\u784C\u784E\u7852\u785C"+
-        "\u785E\u7860\u7861\u7863\u7864\u7868\u786A\u786E"+
-        "\u787A\u787E\u788A\u788F\u7894\u7898\u78A1\u789D"+
-        "\u789E\u789F\u78A4\u78A8\u78AC\u78AD\u78B0\u78B1"+
-        "\u78B2\u78B3\u78BB\u78BD\u78BF\u78C7\u78C8\u78C9"+
-        "\u78CC\u78CE\u78D2\u78D3\u78D5\u78D6\u78E4\u78DB"+
-        "\u78DF\u78E0\u78E1\u78E6\u78EA\u78F2\u78F3\u7900"+
-        "\u78F6\u78F7\u78FA\u78FB\u78FF\u7906\u790C\u7910"+
-        "\u791A\u791C\u791E\u791F\u7920\u7925\u7927\u7929"+
-        "\u792D\u7931\u7934\u7935\u793B\u793D\u793F\u7944"+
-        "\u7945\u7946\u794A\u794B\u794F\u7951\u7954\u7958"+
-        "\u795B\u795C\u7967\u7969\u796B\u7972\u7979\u797B"+
-        "\u797C\u797E\u798B\u798C\u7991\u7993\u7994\u7995"+
-        "\u7996\u7998\u799B\u799C\u79A1\u79A8\u79A9\u79AB"+
-        "\u79AF\u79B1\u79B4\u79B8\u79BB\u79C2\u79C4\u79C7"+
-        "\u79C8\u79CA\u79CF\u79D4\u79D6\u79DA\u79DD\u79DE"+
-        "\u79E0\u79E2\u79E5\u79EA\u79EB\u79ED\u79F1\u79F8"+
-        "\u79FC\u7A02\u7A03\u7A07\u7A09\u7A0A\u7A0C\u7A11"+
-        "\u7A15\u7A1B\u7A1E\u7A21\u7A27\u7A2B\u7A2D\u7A2F"+
-        "\u7A30\u7A34\u7A35\u7A38\u7A39\u7A3A\u7A44\u7A45"+
-        "\u7A47\u7A48\u7A4C\u7A55\u7A56\u7A59\u7A5C\u7A5D"+
-        "\u7A5F\u7A60\u7A65\u7A67\u7A6A\u7A6D\u7A75\u7A78"+
-        "\u7A7E\u7A80\u7A82\u7A85\u7A86\u7A8A\u7A8B\u7A90"+
-        "\u7A91\u7A94\u7A9E\u7AA0\u7AA3\u7AAC\u7AB3\u7AB5"+
-        "\u7AB9\u7ABB\u7ABC\u7AC6\u7AC9\u7ACC\u7ACE\u7AD1"+
-        "\u7ADB\u7AE8\u7AE9\u7AEB\u7AEC\u7AF1\u7AF4\u7AFB"+
-        "\u7AFD\u7AFE\u7B07\u7B14\u7B1F\u7B23\u7B27\u7B29"+
-        "\u7B2A\u7B2B\u7B2D\u7B2E\u7B2F\u7B30\u7B31\u7B34"+
-        "\u7B3D\u7B3F\u7B40\u7B41\u7B47\u7B4E\u7B55\u7B60"+
-        "\u7B64\u7B66\u7B69\u7B6A\u7B6D\u7B6F\u7B72\u7B73"+
-        "\u7B77\u7B84\u7B89\u7B8E\u7B90\u7B91\u7B96\u7B9B"+
-        "\u7B9E\u7BA0\u7BA5\u7BAC\u7BAF\u7BB0\u7BB2\u7BB5"+
-        "\u7BB6\u7BBA\u7BBB\u7BBC\u7BBD\u7BC2\u7BC5\u7BC8"+
-        "\u7BCA\u7BD4\u7BD6\u7BD7\u7BD9\u7BDA\u7BDB\u7BE8"+
-        "\u7BEA\u7BF2\u7BF4\u7BF5\u7BF8\u7BF9\u7BFA\u7BFC"+
-        "\u7BFE\u7C01\u7C02\u7C03\u7C04\u7C06\u7C09\u7C0B"+
-        "\u7C0C\u7C0E\u7C0F\u7C19\u7C1B\u7C20\u7C25\u7C26"+
-        "\u7C28\u7C2C\u7C31\u7C33\u7C34\u7C36\u7C39\u7C3A"+
-        "\u7C46\u7C4A\u7C55\u7C51\u7C52\u7C53\u7C59\u7C5A"+
-        "\u7C5B\u7C5C\u7C5D\u7C5E\u7C61\u7C63\u7C67\u7C69"+
-        "\u7C6D\u7C6E\u7C70\u7C72\u7C79\u7C7C\u7C7D\u7C86"+
-        "\u7C87\u7C8F\u7C94\u7C9E\u7CA0\u7CA6\u7CB0\u7CB6"+
-        "\u7CB7\u7CBA\u7CBB\u7CBC\u7CBF\u7CC4\u7CC7\u7CC8"+
-        "\u7CC9\u7CCD\u7CCF\u7CD3\u7CD4\u7CD5\u7CD7\u7CD9"+
-        "\u7CDA\u7CDD\u7CE6\u7CE9\u7CEB\u7CF5\u7D03\u7D07"+
-        "\u7D08\u7D09\u7D0F\u7D11\u7D12\u7D13\u7D16\u7D1D"+
-        "\u7D1E\u7D23\u7D26\u7D2A\u7D2D\u7D31\u7D3C\u7D3D"+
-        "\u7D3E\u7D40\u7D41\u7D47\u7D48\u7D4D\u7D51\u7D53"+
-        "\u7D57\u7D59\u7D5A\u7D5C\u7D5D\u7D65\u7D67\u7D6A"+
-        "\u7D70\u7D78\u7D7A\u7D7B\u7D7F\u7D81\u7D82\u7D83"+
-        "\u7D85\u7D86\u7D88\u7D8B\u7D8C\u7D8D\u7D91\u7D96"+
-        "\u7D97\u7D9D\u7D9E\u7DA6\u7DA7\u7DAA\u7DB3\u7DB6"+
-        "\u7DB7\u7DB9\u7DC2\u7DC3\u7DC4\u7DC5\u7DC6\u7DCC"+
-        "\u7DCD\u7DCE\u7DD7\u7DD9\u7E00\u7DE2\u7DE5\u7DE6"+
-        "\u7DEA\u7DEB\u7DED\u7DF1\u7DF5\u7DF6\u7DF9\u7DFA"+
-        "\u7E08\u7E10\u7E11\u7E15\u7E17\u7E1C\u7E1D\u7E20"+
-        "\u7E27\u7E28\u7E2C\u7E2D\u7E2F\u7E33\u7E36\u7E3F"+
-        "\u7E44\u7E45\u7E47\u7E4E\u7E50\u7E52\u7E58\u7E5F"+
-        "\u7E61\u7E62\u7E65\u7E6B\u7E6E\u7E6F\u7E73\u7E78"+
-        "\u7E7E\u7E81\u7E86\u7E87\u7E8A\u7E8D\u7E91\u7E95"+
-        "\u7E98\u7E9A\u7E9D\u7E9E\u7F3C\u7F3B\u7F3D\u7F3E"+
-        "\u7F3F\u7F43\u7F44\u7F47\u7F4F\u7F52\u7F53\u7F5B"+
-        "\u7F5C\u7F5D\u7F61\u7F63\u7F64\u7F65\u7F66\u7F6D"+
-        "\u7F71\u7F7D\u7F7E\u7F7F\u7F80\u7F8B\u7F8D\u7F8F"+
-        "\u7F90\u7F91\u7F96\u7F97\u7F9C\u7FA1\u7FA2\u7FA6"+
-        "\u7FAA\u7FAD\u7FB4\u7FBC\u7FBF\u7FC0\u7FC3\u7FC8"+
-        "\u7FCE\u7FCF\u7FDB\u7FDF\u7FE3\u7FE5\u7FE8\u7FEC"+
-        "\u7FEE\u7FEF\u7FF2\u7FFA\u7FFD\u7FFE\u7FFF\u8007"+
-        "\u8008\u800A\u800D\u800E\u800F\u8011\u8013\u8014"+
-        "\u8016\u801D\u801E\u801F\u8020\u8024\u8026\u802C"+
-        "\u802E\u8030\u8034\u8035\u8037\u8039\u803A\u803C"+
-        "\u803E\u8040\u8044\u8060\u8064\u8066\u806D\u8071"+
-        "\u8075\u8081\u8088\u808E\u809C\u809E\u80A6\u80A7"+
-        "\u80AB\u80B8\u80B9\u80C8\u80CD\u80CF\u80D2\u80D4"+
-        "\u80D5\u80D7\u80D8\u80E0\u80ED\u80EE\u80F0\u80F2"+
-        "\u80F3\u80F6\u80F9\u80FA\u80FE\u8103\u810B\u8116"+
-        "\u8117\u8118\u811C\u811E\u8120\u8124\u8127\u812C"+
-        "\u8130\u8135\u813A\u813C\u8145\u8147\u814A\u814C"+
-        "\u8152\u8157\u8160\u8161\u8167\u8168\u8169\u816D"+
-        "\u816F\u8177\u8181\u8190\u8184\u8185\u8186\u818B"+
-        "\u818E\u8196\u8198\u819B\u819E\u81A2\u81AE\u81B2"+
-        "\u81B4\u81BB\u81CB\u81C3\u81C5\u81CA\u81CE\u81CF"+
-        "\u81D5\u81D7\u81DB\u81DD\u81DE\u81E1\u81E4\u81EB"+
-        "\u81EC\u81F0\u81F1\u81F2\u81F5\u81F6\u81F8\u81F9"+
-        "\u81FD\u81FF\u8200\u8203\u820F\u8213\u8214\u8219"+
-        "\u821A\u821D\u8221\u8222\u8228\u8232\u8234\u823A"+
-        "\u8243\u8244\u8245\u8246\u824B\u824E\u824F\u8251"+
-        "\u8256\u825C\u8260\u8263\u8267\u826D\u8274\u827B"+
-        "\u827D\u827F\u8280\u8281\u8283\u8284\u8287\u8289"+
-        "\u828A\u828E\u8291\u8294\u8296\u8298\u829A\u829B"+
-        "\u82A0\u82A1\u82A3\u82A4\u82A7\u82A8\u82A9\u82AA"+
-        "\u82AE\u82B0\u82B2\u82B4\u82B7\u82BA\u82BC\u82BE"+
-        "\u82BF\u82C6\u82D0\u82D5\u82DA\u82E0\u82E2\u82E4"+
-        "\u82E8\u82EA\u82ED\u82EF\u82F6\u82F7\u82FD\u82FE"+
-        "\u8300\u8301\u8307\u8308\u830A\u830B\u8354\u831B"+
-        "\u831D\u831E\u831F\u8321\u8322\u832C\u832D\u832E"+
-        "\u8330\u8333\u8337\u833A\u833C\u833D\u8342\u8343"+
-        "\u8344\u8347\u834D\u834E\u8351\u8355\u8356\u8357"+
-        "\u8370\u8378\u837D\u837F\u8380\u8382\u8384\u8386"+
-        "\u838D\u8392\u8394\u8395\u8398\u8399\u839B\u839C"+
-        "\u839D\u83A6\u83A7\u83A9\u83AC\u83BE\u83BF\u83C0"+
-        "\u83C7\u83C9\u83CF\u83D0\u83D1\u83D4\u83DD\u8353"+
-        "\u83E8\u83EA\u83F6\u83F8\u83F9\u83FC\u8401\u8406"+
-        "\u840A\u840F\u8411\u8415\u8419\u83AD\u842F\u8439"+
-        "\u8445\u8447\u8448\u844A\u844D\u844F\u8451\u8452"+
-        "\u8456\u8458\u8459\u845A\u845C\u8460\u8464\u8465"+
-        "\u8467\u846A\u8470\u8473\u8474\u8476\u8478\u847C"+
-        "\u847D\u8481\u8485\u8492\u8493\u8495\u849E\u84A6"+
-        "\u84A8\u84A9\u84AA\u84AF\u84B1\u84B4\u84BA\u84BD"+
-        "\u84BE\u84C0\u84C2\u84C7\u84C8\u84CC\u84CF\u84D3";
-
-    private final static String innerIndex3=
-        "\u84DC\u84E7\u84EA\u84EF\u84F0\u84F1\u84F2\u84F7"+
-        "\u8532\u84FA\u84FB\u84FD\u8502\u8503\u8507\u850C"+
-        "\u850E\u8510\u851C\u851E\u8522\u8523\u8524\u8525"+
-        "\u8527\u852A\u852B\u852F\u8533\u8534\u8536\u853F"+
-        "\u8546\u854F\u8550\u8551\u8552\u8553\u8556\u8559"+
-        "\u855C\u855D\u855E\u855F\u8560\u8561\u8562\u8564"+
-        "\u856B\u856F\u8579\u857A\u857B\u857D\u857F\u8581"+
-        "\u8585\u8586\u8589\u858B\u858C\u858F\u8593\u8598"+
-        "\u859D\u859F\u85A0\u85A2\u85A5\u85A7\u85B4\u85B6"+
-        "\u85B7\u85B8\u85BC\u85BD\u85BE\u85BF\u85C2\u85C7"+
-        "\u85CA\u85CB\u85CE\u85AD\u85D8\u85DA\u85DF\u85E0"+
-        "\u85E6\u85E8\u85ED\u85F3\u85F6\u85FC\u85FF\u8600"+
-        "\u8604\u8605\u860D\u860E\u8610\u8611\u8612\u8618"+
-        "\u8619\u861B\u861E\u8621\u8627\u8629\u8636\u8638"+
-        "\u863A\u863C\u863D\u8640\u8642\u8646\u8652\u8653"+
-        "\u8656\u8657\u8658\u8659\u865D\u8660\u8661\u8662"+
-        "\u8663\u8664\u8669\u866C\u866F\u8675\u8676\u8677"+
-        "\u867A\u868D\u8691\u8696\u8698\u869A\u869C\u86A1"+
-        "\u86A6\u86A7\u86A8\u86AD\u86B1\u86B3\u86B4\u86B5"+
-        "\u86B7\u86B8\u86B9\u86BF\u86C0\u86C1\u86C3\u86C5"+
-        "\u86D1\u86D2\u86D5\u86D7\u86DA\u86DC\u86E0\u86E3"+
-        "\u86E5\u86E7\u8688\u86FA\u86FC\u86FD\u8704\u8705"+
-        "\u8707\u870B\u870E\u870F\u8710\u8713\u8714\u8719"+
-        "\u871E\u871F\u8721\u8723\u8728\u872E\u872F\u8731"+
-        "\u8732\u8739\u873A\u873C\u873D\u873E\u8740\u8743"+
-        "\u8745\u874D\u8758\u875D\u8761\u8764\u8765\u876F"+
-        "\u8771\u8772\u877B\u8783\u8784\u8785\u8786\u8787"+
-        "\u8788\u8789\u878B\u878C\u8790\u8793\u8795\u8797"+
-        "\u8798\u8799\u879E\u87A0\u87A3\u87A7\u87AC\u87AD"+
-        "\u87AE\u87B1\u87B5\u87BE\u87BF\u87C1\u87C8\u87C9"+
-        "\u87CA\u87CE\u87D5\u87D6\u87D9\u87DA\u87DC\u87DF"+
-        "\u87E2\u87E3\u87E4\u87EA\u87EB\u87ED\u87F1\u87F3"+
-        "\u87F8\u87FA\u87FF\u8801\u8803\u8806\u8809\u880A"+
-        "\u880B\u8810\u8819\u8812\u8813\u8814\u8818\u881A"+
-        "\u881B\u881C\u881E\u881F\u8828\u882D\u882E\u8830"+
-        "\u8832\u8835\u883A\u883C\u8841\u8843\u8845\u8848"+
-        "\u8849\u884A\u884B\u884E\u8851\u8855\u8856\u8858"+
-        "\u885A\u885C\u885F\u8860\u8864\u8869\u8871\u8879"+
-        "\u887B\u8880\u8898\u889A\u889B\u889C\u889F\u88A0"+
-        "\u88A8\u88AA\u88BA\u88BD\u88BE\u88C0\u88CA\u88CB"+
-        "\u88CC\u88CD\u88CE\u88D1\u88D2\u88D3\u88DB\u88DE"+
-        "\u88E7\u88EF\u88F0\u88F1\u88F5\u88F7\u8901\u8906"+
-        "\u890D\u890E\u890F\u8915\u8916\u8918\u8919\u891A"+
-        "\u891C\u8920\u8926\u8927\u8928\u8930\u8931\u8932"+
-        "\u8935\u8939\u893A\u893E\u8940\u8942\u8945\u8946"+
-        "\u8949\u894F\u8952\u8957\u895A\u895B\u895C\u8961"+
-        "\u8962\u8963\u896B\u896E\u8970\u8973\u8975\u897A"+
-        "\u897B\u897C\u897D\u8989\u898D\u8990\u8994\u8995"+
-        "\u899B\u899C\u899F\u89A0\u89A5\u89B0\u89B4\u89B5"+
-        "\u89B6\u89B7\u89BC\u89D4\u89D5\u89D6\u89D7\u89D8"+
-        "\u89E5\u89E9\u89EB\u89ED\u89F1\u89F3\u89F6\u89F9"+
-        "\u89FD\u89FF\u8A04\u8A05\u8A07\u8A0F\u8A11\u8A12"+
-        "\u8A14\u8A15\u8A1E\u8A20\u8A22\u8A24\u8A26\u8A2B"+
-        "\u8A2C\u8A2F\u8A35\u8A37\u8A3D\u8A3E\u8A40\u8A43"+
-        "\u8A45\u8A47\u8A49\u8A4D\u8A4E\u8A53\u8A56\u8A57"+
-        "\u8A58\u8A5C\u8A5D\u8A61\u8A65\u8A67\u8A75\u8A76"+
-        "\u8A77\u8A79\u8A7A\u8A7B\u8A7E\u8A7F\u8A80\u8A83"+
-        "\u8A86\u8A8B\u8A8F\u8A90\u8A92\u8A96\u8A97\u8A99"+
-        "\u8A9F\u8AA7\u8AA9\u8AAE\u8AAF\u8AB3\u8AB6\u8AB7"+
-        "\u8ABB\u8ABE\u8AC3\u8AC6\u8AC8\u8AC9\u8ACA\u8AD1"+
-        "\u8AD3\u8AD4\u8AD5\u8AD7\u8ADD\u8ADF\u8AEC\u8AF0"+
-        "\u8AF4\u8AF5\u8AF6\u8AFC\u8AFF\u8B05\u8B06\u8B0B"+
-        "\u8B11\u8B1C\u8B1E\u8B1F\u8B0A\u8B2D\u8B30\u8B37"+
-        "\u8B3C\u8B42\u8B43\u8B44\u8B45\u8B46\u8B48\u8B52"+
-        "\u8B53\u8B54\u8B59\u8B4D\u8B5E\u8B63\u8B6D\u8B76"+
-        "\u8B78\u8B79\u8B7C\u8B7E\u8B81\u8B84\u8B85\u8B8B"+
-        "\u8B8D\u8B8F\u8B94\u8B95\u8B9C\u8B9E\u8B9F\u8C38"+
-        "\u8C39\u8C3D\u8C3E\u8C45\u8C47\u8C49\u8C4B\u8C4F"+
-        "\u8C51\u8C53\u8C54\u8C57\u8C58\u8C5B\u8C5D\u8C59"+
-        "\u8C63\u8C64\u8C66\u8C68\u8C69\u8C6D\u8C73\u8C75"+
-        "\u8C76\u8C7B\u8C7E\u8C86\u8C87\u8C8B\u8C90\u8C92"+
-        "\u8C93\u8C99\u8C9B\u8C9C\u8CA4\u8CB9\u8CBA\u8CC5"+
-        "\u8CC6\u8CC9\u8CCB\u8CCF\u8CD6\u8CD5\u8CD9\u8CDD"+
-        "\u8CE1\u8CE8\u8CEC\u8CEF\u8CF0\u8CF2\u8CF5\u8CF7"+
-        "\u8CF8\u8CFE\u8CFF\u8D01\u8D03\u8D09\u8D12\u8D17"+
-        "\u8D1B\u8D65\u8D69\u8D6C\u8D6E\u8D7F\u8D82\u8D84"+
-        "\u8D88\u8D8D\u8D90\u8D91\u8D95\u8D9E\u8D9F\u8DA0"+
-        "\u8DA6\u8DAB\u8DAC\u8DAF\u8DB2\u8DB5\u8DB7\u8DB9"+
-        "\u8DBB\u8DC0\u8DC5\u8DC6\u8DC7\u8DC8\u8DCA\u8DCE"+
-        "\u8DD1\u8DD4\u8DD5\u8DD7\u8DD9\u8DE4\u8DE5\u8DE7"+
-        "\u8DEC\u8DF0\u8DBC\u8DF1\u8DF2\u8DF4\u8DFD\u8E01"+
-        "\u8E04\u8E05\u8E06\u8E0B\u8E11\u8E14\u8E16\u8E20"+
-        "\u8E21\u8E22\u8E23\u8E26\u8E27\u8E31\u8E33\u8E36"+
-        "\u8E37\u8E38\u8E39\u8E3D\u8E40\u8E41\u8E4B\u8E4D"+
-        "\u8E4E\u8E4F\u8E54\u8E5B\u8E5C\u8E5D\u8E5E\u8E61"+
-        "\u8E62\u8E69\u8E6C\u8E6D\u8E6F\u8E70\u8E71\u8E79"+
-        "\u8E7A\u8E7B\u8E82\u8E83\u8E89\u8E90\u8E92\u8E95"+
-        "\u8E9A\u8E9B\u8E9D\u8E9E\u8EA2\u8EA7\u8EA9\u8EAD"+
-        "\u8EAE\u8EB3\u8EB5\u8EBA\u8EBB\u8EC0\u8EC1\u8EC3"+
-        "\u8EC4\u8EC7\u8ECF\u8ED1\u8ED4\u8EDC\u8EE8\u8EEE"+
-        "\u8EF0\u8EF1\u8EF7\u8EF9\u8EFA\u8EED\u8F00\u8F02"+
-        "\u8F07\u8F08\u8F0F\u8F10\u8F16\u8F17\u8F18\u8F1E"+
-        "\u8F20\u8F21\u8F23\u8F25\u8F27\u8F28\u8F2C\u8F2D"+
-        "\u8F2E\u8F34\u8F35\u8F36\u8F37\u8F3A\u8F40\u8F41"+
-        "\u8F43\u8F47\u8F4F\u8F51\u8F52\u8F53\u8F54\u8F55"+
-        "\u8F58\u8F5D\u8F5E\u8F65\u8F9D\u8FA0\u8FA1\u8FA4"+
-        "\u8FA5\u8FA6\u8FB5\u8FB6\u8FB8\u8FBE\u8FC0\u8FC1"+
-        "\u8FC6\u8FCA\u8FCB\u8FCD\u8FD0\u8FD2\u8FD3\u8FD5"+
-        "\u8FE0\u8FE3\u8FE4\u8FE8\u8FEE\u8FF1\u8FF5\u8FF6"+
-        "\u8FFB\u8FFE\u9002\u9004\u9008\u900C\u9018\u901B"+
-        "\u9028\u9029\u902F\u902A\u902C\u902D\u9033\u9034"+
-        "\u9037\u903F\u9043\u9044\u904C\u905B\u905D\u9062"+
-        "\u9066\u9067\u906C\u9070\u9074\u9079\u9085\u9088"+
-        "\u908B\u908C\u908E\u9090\u9095\u9097\u9098\u9099"+
-        "\u909B\u90A0\u90A1\u90A2\u90A5\u90B0\u90B2\u90B3"+
-        "\u90B4\u90B6\u90BD\u90CC\u90BE\u90C3\u90C4\u90C5"+
-        "\u90C7\u90C8\u90D5\u90D7\u90D8\u90D9\u90DC\u90DD"+
-        "\u90DF\u90E5\u90D2\u90F6\u90EB\u90EF\u90F0\u90F4"+
-        "\u90FE\u90FF\u9100\u9104\u9105\u9106\u9108\u910D"+
-        "\u9110\u9114\u9116\u9117\u9118\u911A\u911C\u911E"+
-        "\u9120\u9125\u9122\u9123\u9127\u9129\u912E\u912F"+
-        "\u9131\u9134\u9136\u9137\u9139\u913A\u913C\u913D"+
-        "\u9143\u9147\u9148\u914F\u9153\u9157\u9159\u915A"+
-        "\u915B\u9161\u9164\u9167\u916D\u9174\u9179\u917A"+
-        "\u917B\u9181\u9183\u9185\u9186\u918A\u918E\u9191"+
-        "\u9193\u9194\u9195\u9198\u919E\u91A1\u91A6\u91A8"+
-        "\u91AC\u91AD\u91AE\u91B0\u91B1\u91B2\u91B3\u91B6"+
-        "\u91BB\u91BC\u91BD\u91BF\u91C2\u91C3\u91C5\u91D3"+
-        "\u91D4\u91D7\u91D9\u91DA\u91DE\u91E4\u91E5\u91E9"+
-        "\u91EA\u91EC\u91ED\u91EE\u91EF\u91F0\u91F1\u91F7"+
-        "\u91F9\u91FB\u91FD\u9200\u9201\u9204\u9205\u9206"+
-        "\u9207\u9209\u920A\u920C\u9210\u9212\u9213\u9216"+
-        "\u9218\u921C\u921D\u9223\u9224\u9225\u9226\u9228"+
-        "\u922E\u922F\u9230\u9233\u9235\u9236\u9238\u9239"+
-        "\u923A\u923C\u923E\u9240\u9242\u9243\u9246\u9247"+
-        "\u924A\u924D\u924E\u924F\u9251\u9258\u9259\u925C"+
-        "\u925D\u9260\u9261\u9265\u9267\u9268\u9269\u926E"+
-        "\u926F\u9270\u9275\u9276\u9277\u9278\u9279\u927B"+
-        "\u927C\u927D\u927F\u9288\u9289\u928A\u928D\u928E"+
-        "\u9292\u9297\u9299\u929F\u92A0\u92A4\u92A5\u92A7"+
-        "\u92A8\u92AB\u92AF\u92B2\u92B6\u92B8\u92BA\u92BB"+
-        "\u92BC\u92BD\u92BF\u92C0\u92C1\u92C2\u92C3\u92C5"+
-        "\u92C6\u92C7\u92C8\u92CB\u92CC\u92CD\u92CE\u92D0"+
-        "\u92D3\u92D5\u92D7\u92D8\u92D9\u92DC\u92DD\u92DF"+
-        "\u92E0\u92E1\u92E3\u92E5\u92E7\u92E8\u92EC\u92EE"+
-        "\u92F0\u92F9\u92FB\u92FF\u9300\u9302\u9308\u930D"+
-        "\u9311\u9314\u9315\u931C\u931D\u931E\u931F\u9321"+
-        "\u9324\u9325\u9327\u9329\u932A\u9333\u9334\u9336"+
-        "\u9337\u9347\u9348\u9349\u9350\u9351\u9352\u9355"+
-        "\u9357\u9358\u935A\u935E\u9364\u9365\u9367\u9369"+
-        "\u936A\u936D\u936F\u9370\u9371\u9373\u9374\u9376"+
-        "\u937A\u937D\u937F\u9380\u9381\u9382\u9388\u938A"+
-        "\u938B\u938D\u938F\u9392\u9395\u9398\u939B\u939E"+
-        "\u93A1\u93A3\u93A4\u93A6\u93A8\u93AB\u93B4\u93B5"+
-        "\u93B6\u93BA\u93A9\u93C1\u93C4\u93C5\u93C6\u93C7"+
-        "\u93C9\u93CA\u93CB\u93CC\u93CD\u93D3\u93D9\u93DC"+
-        "\u93DE\u93DF\u93E2\u93E6\u93E7\u93F9\u93F7\u93F8"+
-        "\u93FA\u93FB\u93FD\u9401\u9402\u9404\u9408\u9409"+
-        "\u940D\u940E\u940F\u9415\u9416\u9417\u941F\u942E"+
-        "\u942F\u9431\u9432\u9433\u9434\u943B\u943F\u943D"+
-        "\u9443\u9445\u9448\u944A\u944C\u9455\u9459\u945C"+
-        "\u945F\u9461\u9463\u9468\u946B\u946D\u946E\u946F"+
-        "\u9471\u9472\u9484\u9483\u9578\u9579\u957E\u9584"+
-        "\u9588\u958C\u958D\u958E\u959D\u959E\u959F\u95A1"+
-        "\u95A6\u95A9\u95AB\u95AC\u95B4\u95B6\u95BA\u95BD"+
-        "\u95BF\u95C6\u95C8\u95C9\u95CB\u95D0\u95D1\u95D2"+
-        "\u95D3\u95D9\u95DA\u95DD\u95DE\u95DF\u95E0\u95E4"+
-        "\u95E6\u961D\u961E\u9622\u9624\u9625\u9626\u962C"+
-        "\u9631\u9633\u9637\u9638\u9639\u963A\u963C\u963D"+
-        "\u9641\u9652\u9654\u9656\u9657\u9658\u9661\u966E"+
-        "\u9674\u967B\u967C\u967E\u967F\u9681\u9682\u9683"+
-        "\u9684\u9689\u9691\u9696\u969A\u969D\u969F\u96A4"+
-        "\u96A5\u96A6\u96A9\u96AE\u96AF\u96B3\u96BA\u96CA"+
-        "\u96D2\u5DB2\u96D8\u96DA\u96DD\u96DE\u96DF\u96E9"+
-        "\u96EF\u96F1\u96FA\u9702\u9703\u9705\u9709\u971A"+
-        "\u971B\u971D\u9721\u9722\u9723\u9728\u9731\u9733"+
-        "\u9741\u9743\u974A\u974E\u974F\u9755\u9757\u9758"+
-        "\u975A\u975B\u9763\u9767\u976A\u976E\u9773\u9776"+
-        "\u9777\u9778\u977B\u977D\u977F\u9780\u9789\u9795"+
-        "\u9796\u9797\u9799\u979A\u979E\u979F\u97A2\u97AC"+
-        "\u97AE\u97B1\u97B2\u97B5\u97B6\u97B8\u97B9\u97BA"+
-        "\u97BC\u97BE\u97BF\u97C1\u97C4\u97C5\u97C7\u97C9"+
-        "\u97CA\u97CC\u97CD\u97CE\u97D0\u97D1\u97D4\u97D7"+
-        "\u97D8\u97D9\u97DD\u97DE\u97E0\u97DB\u97E1\u97E4"+
-        "\u97EF\u97F1\u97F4\u97F7\u97F8\u97FA\u9807\u980A"+
-        "\u9819\u980D\u980E\u9814\u9816\u981C\u981E\u9820"+
-        "\u9823\u9826\u982B\u982E\u982F\u9830\u9832\u9833"+
-        "\u9835\u9825\u983E\u9844\u9847\u984A\u9851\u9852"+
-        "\u9853\u9856\u9857\u9859\u985A\u9862\u9863\u9865"+
-        "\u9866\u986A\u986C\u98AB\u98AD\u98AE\u98B0\u98B4"+
-        "\u98B7\u98B8\u98BA\u98BB\u98BF\u98C2\u98C5\u98C8"+
-        "\u98CC\u98E1\u98E3\u98E5\u98E6\u98E7\u98EA\u98F3"+
-        "\u98F6\u9902\u9907\u9908\u9911\u9915\u9916\u9917"+
-        "\u991A\u991B\u991C\u991F\u9922\u9926\u9927\u992B"+
-        "\u9931\u9932\u9933\u9934\u9935\u9939\u993A\u993B"+
-        "\u993C\u9940\u9941\u9946\u9947\u9948\u994D\u994E"+
-        "\u9954\u9958\u9959\u995B\u995C\u995E\u995F\u9960"+
-        "\u999B\u999D\u999F\u99A6\u99B0\u99B1\u99B2\u99B5";
-
-    private final static String innerIndex4=
-        "\u99B9\u99BA\u99BD\u99BF\u99C3\u99C9\u99D3\u99D4"+
-        "\u99D9\u99DA\u99DC\u99DE\u99E7\u99EA\u99EB\u99EC"+
-        "\u99F0\u99F4\u99F5\u99F9\u99FD\u99FE\u9A02\u9A03"+
-        "\u9A04\u9A0B\u9A0C\u9A10\u9A11\u9A16\u9A1E\u9A20"+
-        "\u9A22\u9A23\u9A24\u9A27\u9A2D\u9A2E\u9A33\u9A35"+
-        "\u9A36\u9A38\u9A47\u9A41\u9A44\u9A4A\u9A4B\u9A4C"+
-        "\u9A4E\u9A51\u9A54\u9A56\u9A5D\u9AAA\u9AAC\u9AAE"+
-        "\u9AAF\u9AB2\u9AB4\u9AB5\u9AB6\u9AB9\u9ABB\u9ABE"+
-        "\u9ABF\u9AC1\u9AC3\u9AC6\u9AC8\u9ACE\u9AD0\u9AD2"+
-        "\u9AD5\u9AD6\u9AD7\u9ADB\u9ADC\u9AE0\u9AE4\u9AE5"+
-        "\u9AE7\u9AE9\u9AEC\u9AF2\u9AF3\u9AF5\u9AF9\u9AFA"+
-        "\u9AFD\u9AFF\u9B00\u9B01\u9B02\u9B03\u9B04\u9B05"+
-        "\u9B08\u9B09\u9B0B\u9B0C\u9B0D\u9B0E\u9B10\u9B12"+
-        "\u9B16\u9B19\u9B1B\u9B1C\u9B20\u9B26\u9B2B\u9B2D"+
-        "\u9B33\u9B34\u9B35\u9B37\u9B39\u9B3A\u9B3D\u9B48"+
-        "\u9B4B\u9B4C\u9B55\u9B56\u9B57\u9B5B\u9B5E\u9B61"+
-        "\u9B63\u9B65\u9B66\u9B68\u9B6A\u9B6B\u9B6C\u9B6D"+
-        "\u9B6E\u9B73\u9B75\u9B77\u9B78\u9B79\u9B7F\u9B80"+
-        "\u9B84\u9B85\u9B86\u9B87\u9B89\u9B8A\u9B8B\u9B8D"+
-        "\u9B8F\u9B90\u9B94\u9B9A\u9B9D\u9B9E\u9BA6\u9BA7"+
-        "\u9BA9\u9BAC\u9BB0\u9BB1\u9BB2\u9BB7\u9BB8\u9BBB"+
-        "\u9BBC\u9BBE\u9BBF\u9BC1\u9BC7\u9BC8\u9BCE\u9BD0"+
-        "\u9BD7\u9BD8\u9BDD\u9BDF\u9BE5\u9BE7\u9BEA\u9BEB"+
-        "\u9BEF\u9BF3\u9BF7\u9BF8\u9BF9\u9BFA\u9BFD\u9BFF"+
-        "\u9C00\u9C02\u9C0B\u9C0F\u9C11\u9C16\u9C18\u9C19"+
-        "\u9C1A\u9C1C\u9C1E\u9C22\u9C23\u9C26\u9C27\u9C28"+
-        "\u9C29\u9C2A\u9C31\u9C35\u9C36\u9C37\u9C3D\u9C41"+
-        "\u9C43\u9C44\u9C45\u9C49\u9C4A\u9C4E\u9C4F\u9C50"+
-        "\u9C53\u9C54\u9C56\u9C58\u9C5B\u9C5D\u9C5E\u9C5F"+
-        "\u9C63\u9C69\u9C6A\u9C5C\u9C6B\u9C68\u9C6E\u9C70"+
-        "\u9C72\u9C75\u9C77\u9C7B\u9CE6\u9CF2\u9CF7\u9CF9"+
-        "\u9D0B\u9D02\u9D11\u9D17\u9D18\u9D1C\u9D1D\u9D1E"+
-        "\u9D2F\u9D30\u9D32\u9D33\u9D34\u9D3A\u9D3C\u9D45"+
-        "\u9D3D\u9D42\u9D43\u9D47\u9D4A\u9D53\u9D54\u9D5F"+
-        "\u9D63\u9D62\u9D65\u9D69\u9D6A\u9D6B\u9D70\u9D76"+
-        "\u9D77\u9D7B\u9D7C\u9D7E\u9D83\u9D84\u9D86\u9D8A"+
-        "\u9D8D\u9D8E\u9D92\u9D93\u9D95\u9D96\u9D97\u9D98"+
-        "\u9DA1\u9DAA\u9DAC\u9DAE\u9DB1\u9DB5\u9DB9\u9DBC"+
-        "\u9DBF\u9DC3\u9DC7\u9DC9\u9DCA\u9DD4\u9DD5\u9DD6"+
-        "\u9DD7\u9DDA\u9DDE\u9DDF\u9DE0\u9DE5\u9DE7\u9DE9"+
-        "\u9DEB\u9DEE\u9DF0\u9DF3\u9DF4\u9DFE\u9E0A\u9E02"+
-        "\u9E07\u9E0E\u9E10\u9E11\u9E12\u9E15\u9E16\u9E19"+
-        "\u9E1C\u9E1D\u9E7A\u9E7B\u9E7C\u9E80\u9E82\u9E83"+
-        "\u9E84\u9E85\u9E87\u9E8E\u9E8F\u9E96\u9E98\u9E9B"+
-        "\u9E9E\u9EA4\u9EA8\u9EAC\u9EAE\u9EAF\u9EB0\u9EB3"+
-        "\u9EB4\u9EB5\u9EC6\u9EC8\u9ECB\u9ED5\u9EDF\u9EE4"+
-        "\u9EE7\u9EEC\u9EED\u9EEE\u9EF0\u9EF1\u9EF2\u9EF5"+
-        "\u9EF8\u9EFF\u9F02\u9F03\u9F09\u9F0F\u9F10\u9F11"+
-        "\u9F12\u9F14\u9F16\u9F17\u9F19\u9F1A\u9F1B\u9F1F"+
-        "\u9F22\u9F26\u9F2A\u9F2B\u9F2F\u9F31\u9F32\u9F34"+
-        "\u9F37\u9F39\u9F3A\u9F3C\u9F3D\u9F3F\u9F41\u9F43"+
-        "\u9F44\u9F45\u9F46\u9F47\u9F53\u9F55\u9F56\u9F57"+
-        "\u9F58\u9F5A\u9F5D\u9F5E\u9F68\u9F69\u9F6D\u9F6E"+
-        "\u9F6F\u9F70\u9F71\u9F73\u9F75\u9F7A\u9F7D\u9F8F"+
-        "\u9F90\u9F91\u9F92\u9F94\u9F96\u9F97\u9F9E\u9FA1"+
-        "\u9FA2\u9FA3\u9FA5\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
-        "\u2170\u2171\u2172\u2173\u2174\u2175\u2176\u2177"+
-        "\u2178\u2179\u2160\u2161\u2162\u2163\u2164\u2165"+
-        "\u2166\u2167\u2168\u2169\uFF07\uFF02\u3231\u2116"+
-        "\u2121\u70BB\u4EFC\u50F4\u51EC\u5307\u5324\uFA0E"+
-        "\u548A\u5759\uFA0F\uFA10\u589E\u5BEC\u5CF5\u5D53"+
-        "\uFA11\u5FB7\u6085\u6120\u654E\u663B\u6665\uFA12"+
-        "\uF929\u6801\uFA13\uFA14\u6A6B\u6AE2\u6DF8\u6DF2"+
-        "\u7028\uFA15\uFA16\u7501\u7682\u769E\uFA17\u7930"+
-        "\uFA18\uFA19\uFA1A\uFA1B\u7AE7\uFA1C\uFA1D\u7DA0"+
-        "\u7DD6\uFA1E\u8362\uFA1F\u85B0\uFA20\uFA21\u8807"+
-        "\uFA22\u8B7F\u8CF4\u8D76\uFA23\uFA24\uFA25\u90DE"+
-        "\uFA26\u9115\uFA27\uFA28\u9592\uF9DC\uFA29\u973B"+
-        "\u974D\u9751\uFA2A\uFA2B\uFA2C\u999E\u9AD9\u9B72"+
-        "\uFA2D\u9ED1";
-
-    private final static short index1[] = {
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 1, 0, 0, 0, 2, 3, 0, 4, 5, 6, 0, 0, 0, 0,
-        7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
-        23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
-        39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
-        55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 0, 0,
-        0, 0, 0, 69, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
-    };
-
-    private final static String index2[] = {
-        innerIndex0,
-        innerIndex1,
-        innerIndex2,
-        innerIndex3,
-        innerIndex4
-    };
-
-    protected char convSingleByte(int b) {
-        return REPLACE_CHAR;
-    }
-}
--- a/src/share/classes/sun/nio/cs/ext/JIS_X_0212_Solaris_Encoder.java	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3066 +0,0 @@
-/*
- * Copyright (c) 2003, 2005, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code 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
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- */
-
-package sun.nio.cs.ext;
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetEncoder;
-
-public class JIS_X_0212_Solaris_Encoder extends DoubleByteEncoder
-{
-
-    private static byte[] repl = { (byte)0x22, (byte)0x44 };
-
-    public JIS_X_0212_Solaris_Encoder(Charset cs) {
-        super(cs,
-              index1,
-              index2 ,
-              repl
-             );
-    }
-
-    protected int encodeSingle(char inputChar) {
-        return -1;
-    }
-
-    private final static String innerIndex0=
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007"+
-        "\b\t\n\u000B\f\r\u000E\u000F"+
-        "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017"+
-        "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F"+
-        "\u0020\u0021\"\u0023\u0024\u0025\u0026\'"+
-        "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F"+
-        "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037"+
-        "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u0000"+
-        "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047"+
-        "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F"+
-        "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057"+
-        "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F"+
-        "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067"+
-        "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F"+
-        "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077"+
-        "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u2242\u0000\u0000\u2270\u0000\u2243\u0000"+
-        "\u0000\u226D\u226C\u0000\u0000\u0000\u226E\u2234"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u2231\u0000\u226B\u0000\u0000\u0000\u0000\u2244"+
-        "\u2A22\u2A21\u2A24\u2A2A\u2A23\u2A29\u2921\u2A2E"+
-        "\u2A32\u2A31\u2A34\u2A33\u2A40\u2A3F\u2A42\u2A41"+
-        "\u0000\u2A50\u2A52\u2A51\u2A54\u2A58\u2A53\u0000"+
-        "\u292C\u2A63\u2A62\u2A65\u2A64\u2A72\u2930\u294E"+
-        "\u2B22\u2B21\u2B24\u2B2A\u2B23\u2B29\u2941\u2B2E"+
-        "\u2B32\u2B31\u2B34\u2B33\u2B40\u2B3F\u2B42\u2B41"+
-        "\u2943\u2B50\u2B52\u2B51\u2B54\u2B58\u2B53\u0000"+
-        "\u294C\u2B63\u2B62\u2B65\u2B64\u2B72\u2950\u2B73"+
-        "\u2A27\u2B27\u2A25\u2B25\u2A28\u2B28\u2A2B\u2B2B"+
-        "\u2A2C\u2B2C\u2A2F\u2B2F\u2A2D\u2B2D\u2A30\u2B30"+
-        "\u2922\u2942\u2A37\u2B37\u0000\u0000\u2A36\u2B36"+
-        "\u2A38\u2B38\u2A35\u2B35\u2A3A\u2B3A\u2A3B\u2B3B"+
-        "\u2A3D\u2B3D\u2A3C\u0000\u2A3E\u2B3E\u2924\u2944"+
-        "\u2A47\u2B47\u2A45\u2B45\u0000\u0000\u2A46\u2B46"+
-        "\u2A44\u2945\u2926\u2946\u2A48\u2B48\u2A49\u2B49"+
-        "\u2947\u2A4A\u2B4A\u2A4C\u2B4C\u2A4B\u2B4B\u2929"+
-        "\u2949\u2928\u2948\u2A4D\u2B4D\u2A4F\u2B4F\u2A4E"+
-        "\u2B4E\u294A\u292B\u294B\u2A57\u2B57\u0000\u0000"+
-        "\u2A56\u2B56\u292D\u294D\u2A59\u2B59\u2A5B\u2B5B"+
-        "\u2A5A\u2B5A\u2A5C\u2B5C\u2A5D\u2B5D\u2A5F\u2B5F"+
-        "\u2A5E\u2B5E\u2A61\u2B61\u2A60\u2B60\u292F\u294F"+
-        "\u2A6C\u2B6C\u2A69\u2B69\u2A66\u2B66\u2A6B\u2B6B"+
-        "\u2A68\u2B68\u2A6A\u2B6A\u2A71\u2B71\u2A74\u2B74"+
-        "\u2A73\u2A75\u2B75\u2A77\u2B77\u2A76\u2B76\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u2A26\u2B26\u2A43"+
-        "\u2B43\u2A55\u2B55\u2A67\u2B67\u2A70\u2B70\u2A6D"+
-        "\u2B6D\u2A6F\u2B6F\u2A6E\u2B6E\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u2B39\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u2230"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u222F\u2232\u2236\u2235\u0000\u2233\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u2238\u2239\u2661\u0000"+
-        "\u2662\u2663\u2664\u0000\u2667\u0000\u2669\u266C"+
-        "\u2676\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u2665\u266A\u2671\u2672\u2673\u2674"+
-        "\u267B\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u2678\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u2675\u267A\u2677\u2679\u267C\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u2742\u2743\u2744\u2745\u2746\u2747"+
-        "\u2748\u2749\u274A\u274B\u274C\u0000\u274D\u274E"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u2772\u2773\u2774\u2775\u2776\u2777"+
-        "\u2778\u2779\u277A\u277B\u277C\u0000\u277D\u277E"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u2271\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u226F\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u7373\u7374\u7375\u7376\u7377\u7378\u7379\u737A"+
-        "\u737B\u737C\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3021\u0000\u3022\u3023\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3024\u0000\u0000\u0000"+
-        "\u0000\u0000\u3025\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3026"+
-        "\u0000\u0000\u0000\u3027\u3028\u0000\u0000\u0000"+
-        "\u3029\u0000\u0000\u302A\u0000\u0000\u302B\u302C"+
-        "\u302D\u0000\u0000\u0000\u0000\u302E\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u302F\u3030\u0000\u0000\u3031\u0000\u0000\u3032"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3033\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3034\u0000\u3035\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3036\u0000\u0000\u0000\u0000"+
-        "\u3037\u3038\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3039\u303A\u0000\u0000"+
-        "\u0000\u303B\u0000\u0000\u0000\u0000\u0000\u303C"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u303D\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u303E\u303F"+
-        "\u0000\u0000\u0000\u0000\u0000\u3040\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3041"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3042\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3043\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3044\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3045\u3046\u0000\u0000\u0000\u0000"+
-        "\u3047\u3048\u3049\u0000\u0000\u0000\u0000\u0000"+
-        "\u304A\u0000\u0000\u0000\u0000\u0000\u0000\u304B"+
-        "\u0000\u304C\u0000\u304D\u0000\u304E\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u742F\u304F\u3050\u3051"+
-        "\u3052\u0000\u3053\u3054\u0000\u0000\u0000\u0000"+
-        "\u3055\u0000\u0000\u3056\u3057\u0000\u0000\u0000"+
-        "\u0000\u0000\u3058\u0000\u0000\u3059\u305A\u305B"+
-        "\u0000\u305C\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u305D\u0000"+
-        "\u0000\u305E\u0000\u3060\u0000\u3061\u0000\u3062"+
-        "\u0000\u3063\u0000\u3064\u0000\u0000\u3065\u0000"+
-        "\u3066\u0000\u3067\u0000\u0000\u0000\u0000\u0000"+
-        "\u3068\u3069\u0000\u306A\u306B\u0000\u0000\u0000"+
-        "\u0000\u0000\u306C\u0000\u306D\u0000\u306E\u0000"+
-        "\u306F\u0000\u0000\u0000\u0000\u0000\u0000\u3070"+
-        "\u305F\u0000\u0000\u3071\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3072\u0000\u3073\u0000\u3074\u0000"+
-        "\u0000\u3075\u0000\u0000\u0000\u0000\u0000\u3076"+
-        "\u3077\u3078\u3079\u0000\u0000\u307A\u307B\u0000"+
-        "\u0000\u307C\u307D\u0000\u307E\u3121\u0000\u0000"+
-        "\u0000\u3122\u3123\u0000\u3124\u0000\u3125\u0000"+
-        "\u3126\u0000\u3127\u3128\u3129\u0000\u0000\u312A"+
-        "\u0000\u312B\u312C\u0000\u0000\u0000\u312D\u312E"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u312F\u0000\u0000\u0000\u0000\u3130"+
-        "\u0000\u3131\u0000\u3132\u3133\u3134\u3135\u0000"+
-        "\u3136\u3137\u0000\u0000\u0000\u3138\u3139\u0000"+
-        "\u313A\u313B\u0000\u313C\u313D\u313E\u0000\u313F"+
-        "\u0000\u0000\u3140\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3141\u0000\u0000\u0000"+
-        "\u3142\u0000\u3143\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3144\u0000\u3145\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3146\u3147\u0000\u3148"+
-        "\u3149\u314A\u0000\u0000\u314B\u0000\u0000\u314C"+
-        "\u0000\u0000\u314D\u0000\u314E\u0000\u314F\u0000"+
-        "\u3150\u0000\u0000\u3151\u0000\u0000\u0000\u3152"+
-        "\u3153\u0000\u0000\u3154\u3155\u3156\u3157\u0000"+
-        "\u0000\u0000\u3158\u0000\u0000\u0000\u0000\u3159"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u315A\u0000"+
-        "\u315B\u0000\u315C\u315D\u0000\u315E\u0000\u0000"+
-        "\u0000\u0000\u0000\u3176\u0000\u0000\u0000\u0000"+
-        "\u315F\u3160\u3161\u0000\u0000\u3162\u3163\u0000"+
-        "\u0000\u0000\u3164\u0000\u3165\u0000\u3166\u0000"+
-        "\u0000\u3167\u3168\u3169\u0000\u0000\u0000\u316A"+
-        "\u0000\u316B\u0000\u0000\u0000\u0000\u0000\u316C"+
-        "\u316D\u0000\u316E\u316F\u0000\u0000\u3170\u3171"+
-        "\u0000\u0000\u3172\u0000\u0000\u3173\u0000\u0000"+
-        "\u3174\u3175\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3177\u0000\u3178\u3179\u0000\u317A\u0000"+
-        "\u0000\u0000\u317B\u0000\u0000\u0000\u317C\u317D"+
-        "\u317E\u0000\u3221\u3222\u3223\u0000\u3224\u0000"+
-        "\u0000\u0000\u0000\u3225\u3226\u0000\u3227\u3228"+
-        "\u3229\u322A\u322B\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u322C\u0000\u0000\u0000\u0000\u322D"+
-        "\u322E\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u322F\u3230\u0000\u0000\u3231\u0000\u0000"+
-        "\u3232\u0000\u0000\u3233\u3234\u0000\u0000\u3235"+
-        "\u0000\u0000\u0000\u0000\u3236\u0000\u3237\u0000"+
-        "\u3238\u0000\u0000\u3239\u323A\u0000\u0000\u0000"+
-        "\u323B\u0000\u0000\u0000\u323C\u323D\u0000\u323E"+
-        "\u0000\u0000\u323F\u0000\u3240\u0000\u3241\u0000"+
-        "\u3242\u3243\u0000\u0000\u0000\u0000\u0000\u3244"+
-        "\u0000\u3245\u3251\u0000\u7430\u0000\u3246\u0000"+
-        "\u0000\u0000\u3247\u0000\u0000\u0000\u3248\u0000"+
-        "\u0000\u0000\u0000\u3249\u0000\u0000\u324A\u324B"+
-        "\u324C\u0000\u0000\u324D\u324E\u324F\u3250\u0000"+
-        "\u3252\u0000\u0000\u0000\u0000\u0000\u0000\u3253"+
-        "\u0000\u3254\u0000\u3255\u3256\u3257\u3258\u0000"+
-        "\u0000\u0000\u0000\u3259\u0000\u0000\u0000\u325A"+
-        "\u325B\u0000\u0000\u0000\u325C\u325D\u0000\u325E"+
-        "\u0000\u325F\u0000\u3260\u3261\u3262\u0000\u0000"+
-        "\u3263\u3264\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3265\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3266\u0000\u0000\u0000\u0000\u3267"+
-        "\u0000\u0000\u0000\u3268\u0000\u3269\u0000\u326A"+
-        "\u326B\u0000\u0000\u0000\u0000\u0000\u0000\u326C"+
-        "\u0000\u0000\u0000\u0000\u326D\u0000\u326E\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u326F\u0000"+
-        "\u0000\u0000\u0000\u3270\u3271\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3272\u0000\u0000\u3273\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3274\u0000\u0000\u0000\u0000\u3275\u0000\u0000"+
-        "\u0000\u3276\u0000\u3277\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3278\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3279\u0000\u327A\u0000\u327B\u0000\u327C\u327D"+
-        "\u0000\u0000\u327E\u0000\u0000\u0000\u0000\u0000"+
-        "\u3321\u0000\u0000\u0000\u0000\u0000\u0000\u3322"+
-        "\u0000\u3323\u3324\u3325\u0000\u3326\u0000\u0000"+
-        "\u3327\u0000\u0000\u0000\u0000\u0000\u3328\u0000"+
-        "\u0000\u0000\u3329\u0000\u0000\u332A\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u7431\u0000\u332B\u0000"+
-        "\u0000\u0000\u332C\u332D\u332E\u0000\u0000\u332F"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3330\u3331\u0000\u0000\u3332\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3333\u3334\u0000\u3335\u3336\u0000"+
-        "\u3337\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3338\u0000\u0000\u0000\u0000\u0000"+
-        "\u3339\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u333A\u333B\u0000\u0000\u333C\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u333D\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u333E\u0000\u0000"+
-        "\u0000\u333F\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3340\u0000\u3341"+
-        "\u3342\u0000\u3343\u0000\u3344\u0000\u0000\u3345"+
-        "\u3346\u3347\u0000\u0000\u0000\u0000\u3348\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3349\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u334A"+
-        "\u334B\u334C\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u334D\u0000\u334E\u0000\u0000\u334F\u0000\u0000"+
-        "\u0000\u0000\u3350\u0000\u3351\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3352\u0000\u3353\u3354\u3355"+
-        "\u3356\u0000\u3357\u0000\u3358\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3359\u335A\u335B\u335C"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u335D"+
-        "\u335E\u0000\u0000\u0000\u0000\u0000\u335F\u3360"+
-        "\u3361\u0000\u3362\u3363\u0000\u3364\u0000\u0000"+
-        "\u3365\u0000\u0000\u0000\u3366\u0000\u3367\u0000"+
-        "\u3368\u0000\u0000\u0000\u3369\u0000\u0000\u336A"+
-        "\u0000\u336B\u0000\u0000\u336C\u0000\u336D\u0000"+
-        "\u0000\u0000\u0000\u336E\u336F\u0000\u0000\u0000"+
-        "\u0000\u3370\u0000\u0000\u0000\u3371\u0000\u0000"+
-        "\u3372\u3373\u3374\u0000\u3375\u0000\u0000\u0000"+
-        "\u3376\u3377\u0000\u0000\u3378\u0000\u3379\u337A"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u337B\u0000\u0000\u337C\u0000\u0000\u0000\u7432"+
-        "\u0000\u0000\u337D\u337E\u3421\u0000\u0000\u0000"+
-        "\u0000\u3422\u0000\u3423\u0000\u0000\u0000\u0000"+
-        "\u3424\u0000\u0000\u3425\u3426\u0000\u3427\u3428"+
-        "\u0000\u0000\u0000\u0000\u7433\u3429\u0000\u342A"+
-        "\u342B\u342C\u0000\u342D\u342E\u342F\u0000\u0000"+
-        "\u3430\u0000\u3431\u0000\u0000\u3432\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3433\u3434\u3435\u0000"+
-        "\u0000\u0000\u3436\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3438\u3437\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3439\u0000\u343A\u0000\u0000\u0000\u0000"+
-        "\u0000\u343B\u0000\u343C\u0000\u343D\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u343E\u343F\u0000\u0000"+
-        "\u0000\u0000\u3440\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3441\u0000\u0000\u0000\u0000\u3442\u0000"+
-        "\u0000\u0000\u0000\u3443\u0000\u0000\u0000\u3444"+
-        "\u3445\u0000\u0000\u0000\u0000\u0000\u3446\u0000"+
-        "\u0000\u0000\u0000\u3447\u3448\u0000\u0000\u0000"+
-        "\u0000\u3449\u0000\u0000\u0000\u344A\u0000\u0000"+
-        "\u0000\u344B\u0000\u0000\u344C\u0000\u0000\u0000"+
-        "\u0000\u0000\u344D\u344E\u0000\u0000\u0000\u344F"+
-        "\u0000\u0000\u3450\u0000\u3451\u3452\u0000\u3453"+
-        "\u3454\u0000\u3455\u0000\u0000\u3456\u0000\u0000"+
-        "\u3457\u0000\u0000\u0000\u0000\u3458\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3459"+
-        "\u0000\u0000\u345A\u345B\u0000\u345C\u0000\u0000"+
-        "\u0000\u0000\u345D\u0000\u0000\u345E\u345F\u0000"+
-        "\u3460\u0000\u0000\u0000\u0000\u0000\u3461\u3462"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3463\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3464\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3465\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3466\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3467\u0000\u0000\u0000\u0000\u0000\u3468"+
-        "\u3469\u0000\u346A\u0000\u0000\u0000\u0000\u346B"+
-        "\u0000\u346C\u0000\u0000\u346D\u346E\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u346F\u3470\u0000\u0000\u3471"+
-        "\u0000\u0000\u0000\u0000\u0000\u3472\u0000\u3473"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3474\u0000"+
-        "\u0000\u0000\u3475\u0000\u3476\u0000\u3477\u3478"+
-        "\u0000\u3479\u0000\u347A\u0000\u347B\u347C\u0000"+
-        "\u0000\u0000\u0000\u0000\u347D\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u347E"+
-        "\u0000\u3521\u0000\u3522\u0000\u3523\u0000\u0000"+
-        "\u3524\u3525\u7435\u0000\u0000\u3526\u0000\u0000"+
-        "\u0000\u3527\u0000\u0000\u0000\u3528\u3529\u0000"+
-        "\u0000\u0000\u0000\u0000\u352A\u0000\u0000\u352B"+
-        "\u0000\u352C\u0000\u0000\u0000\u0000\u352D\u352E"+
-        "\u0000\u352F\u3530\u0000\u0000\u3531\u3532\u0000"+
-        "\u0000\u3533\u0000\u0000\u0000\u0000\u0000\u3534"+
-        "\u0000\u3535\u3536\u3537\u0000\u0000\u0000\u3538"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3539\u0000"+
-        "\u0000\u0000\u353A\u0000\u0000\u353B\u353C\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u353D\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u353E\u0000\u353F\u0000\u0000\u3540"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3541\u0000"+
-        "\u0000\u0000\u0000\u0000\u3542\u0000\u3543\u3544"+
-        "\u3545\u3546\u0000\u0000\u0000\u3547\u0000\u0000"+
-        "\u3548\u3549\u0000\u0000\u354A\u354B\u354C\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u354D\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u354E\u354F\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3550\u0000\u0000\u3551\u3552\u0000"+
-        "\u0000\u0000\u0000\u3553\u3554\u3555\u0000\u0000"+
-        "\u0000\u3556\u0000\u0000\u0000\u0000\u0000\u3557"+
-        "\u0000\u3558\u3559\u0000\u0000\u355A\u0000\u0000"+
-        "\u355B\u355C\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u355D\u0000\u355E\u355F\u0000\u0000\u3560\u0000"+
-        "\u3561\u3562\u0000\u0000\u3563\u0000\u3564\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3565"+
-        "\u0000\u3566\u3567\u0000\u0000\u0000\u3568\u0000"+
-        "\u3569\u0000\u0000\u0000\u0000\u0000\u356A\u356B"+
-        "\u0000\u356C\u356D\u356E\u356F\u0000\u0000\u3570"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3571\u3572\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3573\u0000\u0000"+
-        "\u0000\u0000\u3574\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3575"+
-        "\u0000\u3576\u0000\u3577\u0000\u0000\u3578\u0000"+
-        "\u0000\u3579\u0000\u357A\u357B\u0000\u357C\u0000"+
-        "\u0000\u357D\u357E\u3621\u0000\u0000\u0000\u3622"+
-        "\u3623\u0000\u0000\u3624\u0000\u0000\u3625\u0000"+
-        "\u0000\u0000\u3626\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3627\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3628\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3629"+
-        "\u0000\u0000\u0000\u0000\u0000\u362A\u0000\u0000"+
-        "\u362B\u0000\u362C\u0000\u0000\u362D\u362E\u362F"+
-        "\u3630\u3631\u3632\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3633\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3634\u0000\u0000\u0000"+
-        "\u3635\u0000\u0000\u3636\u0000\u3637\u0000\u3638"+
-        "\u0000\u3639\u0000\u363A\u363B\u363C\u0000\u363D"+
-        "\u363E\u363F\u0000\u3640\u3641\u0000\u3642\u0000"+
-        "\u0000\u3643\u0000\u3644\u0000\u3645\u0000\u3646"+
-        "\u0000\u0000\u0000\u0000\u3647\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3648\u0000"+
-        "\u3649\u364A\u364B\u364C\u0000\u0000\u364D\u0000"+
-        "\u0000\u364E\u0000\u0000\u0000\u364F\u0000\u3650"+
-        "\u0000\u3651\u3652\u0000\u0000\u3653\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3654\u3655\u0000\u0000"+
-        "\u3656\u0000\u0000\u3657\u3658\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3659\u0000\u0000"+
-        "\u0000\u365A\u365B\u0000\u0000\u365C\u365D\u365E"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u365F\u3660"+
-        "\u3661\u3662\u0000\u3663\u3664\u3665\u0000\u0000"+
-        "\u0000\u3666\u0000\u3667\u0000\u0000\u0000\u3668"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3669\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u366A\u0000\u0000"+
-        "\u0000\u366B\u366C\u366D\u3670\u3671\u0000\u366E"+
-        "\u366F\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3672\u0000\u0000\u3673\u3674\u0000\u3675"+
-        "\u0000\u3676\u0000\u0000\u3677\u3678\u3679\u367A"+
-        "\u367B\u0000\u0000\u367D\u0000\u367E\u0000\u0000"+
-        "\u0000\u367C\u0000\u0000\u0000\u0000\u3721\u3722"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
-
-    private final static String innerIndex1=
-        "\u0000\u3723\u3724\u0000\u0000\u0000\u0000\u3725"+
-        "\u0000\u0000\u3726\u0000\u3727\u0000\u0000\u0000"+
-        "\u0000\u3728\u0000\u0000\u0000\u3729\u0000\u0000"+
-        "\u0000\u0000\u372A\u372B\u0000\u372C\u0000\u0000"+
-        "\u372D\u0000\u372E\u372F\u3730\u3731\u0000\u0000"+
-        "\u0000\u3732\u3733\u0000\u3734\u0000\u3735\u3736"+
-        "\u0000\u0000\u0000\u3737\u3738\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3739\u373A\u373B"+
-        "\u0000\u0000\u0000\u0000\u0000\u373C\u373D\u0000"+
-        "\u0000\u0000\u0000\u0000\u373E\u373F\u0000\u0000"+
-        "\u0000\u0000\u3740\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u7436\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3741\u0000\u0000\u3742\u0000\u3743"+
-        "\u3744\u0000\u0000\u3745\u0000\u3746\u3747\u3748"+
-        "\u3749\u374A\u0000\u374B\u374C\u374D\u0000\u374E"+
-        "\u0000\u374F\u3750\u3751\u3752\u0000\u3753\u0000"+
-        "\u0000\u3754\u0000\u3755\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3756\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3757\u3760\u0000\u3758"+
-        "\u0000\u3759\u375A\u0000\u375B\u375C\u375D\u375E"+
-        "\u0000\u375F\u0000\u0000\u0000\u0000\u0000\u3761"+
-        "\u3762\u3763\u0000\u0000\u3764\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3765\u0000\u0000\u0000\u0000\u3766\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3767"+
-        "\u3768\u0000\u0000\u0000\u3769\u0000\u0000\u376A"+
-        "\u0000\u0000\u0000\u0000\u0000\u376B\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u376C\u376D\u0000"+
-        "\u0000\u377E\u0000\u0000\u376E\u0000\u376F\u3770"+
-        "\u0000\u3771\u0000\u0000\u0000\u3772\u0000\u0000"+
-        "\u3773\u0000\u0000\u0000\u0000\u3774\u3775\u0000"+
-        "\u3776\u0000\u0000\u0000\u0000\u3777\u3778\u3779"+
-        "\u0000\u0000\u0000\u377A\u377B\u0000\u0000\u0000"+
-        "\u377C\u377D\u0000\u0000\u3821\u3822\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3823\u0000\u0000\u3824\u3825"+
-        "\u3826\u0000\u0000\u0000\u0000\u0000\u3827\u3828"+
-        "\u0000\u0000\u0000\u0000\u0000\u3829\u0000\u0000"+
-        "\u0000\u0000\u382A\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u382B\u0000\u0000\u0000\u0000\u0000\u382C"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u382D\u0000\u0000\u382E\u382F\u0000\u3830"+
-        "\u3831\u0000\u0000\u0000\u0000\u3832\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3833"+
-        "\u0000\u3834\u0000\u0000\u3835\u0000\u0000\u3836"+
-        "\u3837\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3838\u0000\u0000\u0000\u3839\u0000\u0000\u383A"+
-        "\u383B\u383C\u0000\u0000\u0000\u0000\u0000\u383D"+
-        "\u383E\u383F\u3840\u0000\u3841\u3842\u0000\u3843"+
-        "\u3844\u0000\u0000\u0000\u3845\u0000\u3846\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3847\u7439\u0000"+
-        "\u3848\u3849\u384A\u0000\u0000\u0000\u384B\u0000"+
-        "\u0000\u384C\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u384D\u384E\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3850\u0000\u0000\u0000"+
-        "\u0000\u0000\u3851\u0000\u384F\u0000\u0000\u0000"+
-        "\u3852\u0000\u0000\u0000\u0000\u3853\u3854\u0000"+
-        "\u3855\u0000\u3856\u0000\u3857\u0000\u3858\u0000"+
-        "\u0000\u0000\u3859\u0000\u0000\u385A\u0000\u0000"+
-        "\u0000\u385B\u385C\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u385D\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u385E\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u385F\u3860\u0000"+
-        "\u0000\u0000\u0000\u3861\u3862\u0000\u0000\u0000"+
-        "\u0000\u0000\u3863\u3864\u3865\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3867\u0000\u0000"+
-        "\u0000\u3868\u0000\u3869\u386A\u0000\u0000\u0000"+
-        "\u386B\u0000\u0000\u0000\u0000\u0000\u0000\u386C"+
-        "\u386D\u0000\u0000\u386E\u0000\u386F\u3870\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3871"+
-        "\u0000\u0000\u0000\u3872\u0000\u0000\u3873\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3874\u3875\u0000\u0000\u0000\u0000"+
-        "\u0000\u3876\u0000\u3877\u0000\u3878\u3879\u387A"+
-        "\u0000\u387B\u0000\u387C\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u387D\u0000\u387E\u0000\u3921"+
-        "\u0000\u0000\u3922\u0000\u0000\u3923\u3924\u0000"+
-        "\u0000\u3925\u0000\u3926\u3927\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3928\u3929\u0000\u392A\u0000"+
-        "\u0000\u0000\u392B\u0000\u0000\u392C\u0000\u392D"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u392E"+
-        "\u0000\u0000\u0000\u0000\u392F\u0000\u0000\u3930"+
-        "\u0000\u0000\u0000\u0000\u0000\u3931\u3932\u3933"+
-        "\u3934\u0000\u0000\u3935\u0000\u0000\u0000\u3936"+
-        "\u0000\u0000\u3937\u0000\u3938\u0000\u0000\u0000"+
-        "\u0000\u3939\u0000\u393A\u393B\u0000\u0000\u0000"+
-        "\u393C\u0000\u393D\u0000\u0000\u393E\u0000\u0000"+
-        "\u0000\u0000\u393F\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3940\u3941\u3942"+
-        "\u0000\u0000\u0000\u3943\u3944\u0000\u0000\u3945"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3946\u3947"+
-        "\u0000\u3948\u3949\u0000\u394A\u0000\u0000\u394B"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u394C\u0000\u0000\u0000\u394D\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u394E\u394F\u3950\u0000"+
-        "\u0000\u0000\u3951\u3952\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3953\u0000"+
-        "\u0000\u0000\u0000\u3954\u3955\u0000\u0000\u3956"+
-        "\u3957\u0000\u3958\u0000\u0000\u3959\u0000\u0000"+
-        "\u395A\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u395B\u395C\u0000\u395D"+
-        "\u395E\u0000\u0000\u0000\u395F\u0000\u0000\u0000"+
-        "\u3960\u0000\u0000\u0000\u0000\u3961\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3962\u0000"+
-        "\u0000\u0000\u0000\u3963\u0000\u3964\u0000\u3965"+
-        "\u0000\u0000\u0000\u0000\u0000\u3966\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3967"+
-        "\u0000\u0000\u3968\u3969\u0000\u0000\u396A\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u396B\u0000\u0000\u0000\u0000"+
-        "\u396C\u0000\u0000\u396D\u0000\u0000\u396E\u0000"+
-        "\u0000\u396F\u0000\u0000\u3970\u0000\u3971\u3972"+
-        "\u3973\u0000\u3974\u0000\u0000\u0000\u0000\u3975"+
-        "\u0000\u0000\u0000\u0000\u3976\u0000\u0000\u0000"+
-        "\u0000\u3977\u3978\u3979\u0000\u397A\u0000\u0000"+
-        "\u397B\u0000\u397C\u397D\u0000\u0000\u0000\u397E"+
-        "\u0000\u0000\u0000\u0000\u3A21\u0000\u3A22\u0000"+
-        "\u3A23\u0000\u0000\u0000\u0000\u0000\u0000\u3A24"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3A25\u0000\u3A26\u0000\u0000\u0000"+
-        "\u3A27\u0000\u0000\u0000\u0000\u3A28\u0000\u0000"+
-        "\u0000\u0000\u3A29\u0000\u0000\u0000\u3A2A\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3A2B\u3A2C\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3A2D\u0000\u0000"+
-        "\u3A2E\u3A2F\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3A30\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3A31"+
-        "\u0000\u3A33\u0000\u3A34\u0000\u3A35\u0000\u0000"+
-        "\u0000\u3A36\u0000\u0000\u0000\u3A37\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3A38\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3A32\u0000\u0000\u0000"+
-        "\u3A39\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3A3A\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3A3B\u3A3C\u0000\u0000\u0000"+
-        "\u0000\u0000\u3A3D\u0000\u0000\u0000\u3A3E\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3A3F\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3A40\u0000\u0000\u0000\u0000\u0000\u3A41\u3A42"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3A43\u3A44\u3A45\u3A46"+
-        "\u0000\u3A47\u0000\u0000\u3A48\u0000\u3A49\u0000"+
-        "\u0000\u0000\u3A4A\u0000\u0000\u0000\u3A4B\u0000"+
-        "\u3A4C\u3A4D\u0000\u3A4E\u3A4F\u0000\u3A50\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3A51\u3A52\u0000\u0000\u3A53\u3A54\u0000\u3A55"+
-        "\u0000\u3A56\u3A57\u0000\u0000\u0000\u0000\u3A58"+
-        "\u0000\u0000\u3A59\u0000\u3A5A\u0000\u0000\u0000"+
-        "\u3A5B\u3A5C\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3A5D\u0000\u3A5E"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3A5F\u3A60"+
-        "\u3A61\u3A62\u3A63\u0000\u0000\u0000\u0000\u0000"+
-        "\u3A64\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u743A\u0000\u0000\u3A65"+
-        "\u0000\u3A66\u0000\u0000\u3A67\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3A68\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3A69\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3A6A"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3A6B\u3A6C"+
-        "\u0000\u0000\u0000\u3A6D\u0000\u0000\u3A6E\u0000"+
-        "\u0000\u3A6F\u0000\u3A70\u3A71\u0000\u3A72\u0000"+
-        "\u3A73\u0000\u3A74\u0000\u0000\u3A75\u3A76\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3A77\u3A78\u0000\u3A79\u0000\u0000\u0000"+
-        "\u0000\u0000\u3A7A\u3A7B\u0000\u0000\u0000\u3A7C"+
-        "\u3A7D\u3A7E\u0000\u0000\u0000\u3B21\u0000\u0000"+
-        "\u3B22\u0000\u0000\u0000\u3B23\u3B24\u0000\u0000"+
-        "\u0000\u0000\u3B25\u3B26\u3B27\u3B28\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3B29"+
-        "\u3B2A\u0000\u3B2B\u0000\u0000\u0000\u0000\u3B2C"+
-        "\u0000\u0000\u3B2D\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3B2E\u0000\u3B2F"+
-        "\u3B30\u0000\u3B31\u3B32\u0000\u0000\u3B33\u0000"+
-        "\u0000\u0000\u3B34\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3B35\u0000\u3B36\u3B37\u0000\u0000"+
-        "\u0000\u0000\u3B38\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3B39\u0000\u3B3A\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3B3B\u0000\u0000\u0000\u0000\u3B3D"+
-        "\u0000\u0000\u0000\u0000\u0000\u3B3C\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3B3E\u0000"+
-        "\u0000\u3B3F\u3B40\u0000\u3B41\u743B\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3B42\u0000\u0000\u0000\u0000\u3B43\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3B44\u0000\u0000"+
-        "\u0000\u0000\u3B45\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3B47\u3B48\u0000\u3B49\u3B4A"+
-        "\u0000\u0000\u0000\u3B46\u0000\u0000\u0000\u0000"+
-        "\u0000\u3B4B\u0000\u0000\u3B4C\u0000\u0000\u0000"+
-        "\u0000\u3B4D\u0000\u0000\u0000\u3B4E\u0000\u3B4F"+
-        "\u0000\u0000\u3B50\u3B51\u0000\u0000\u3B52\u0000"+
-        "\u3B53\u0000\u3B57\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3B55\u0000\u743C\u0000\u3B54\u0000\u0000"+
-        "\u0000\u3B56\u0000\u0000\u0000\u0000\u0000\u3B58"+
-        "\u3B59\u3B5A\u3B5B\u0000\u3B5C\u0000\u0000\u0000"+
-        "\u0000\u0000\u3B5D\u0000\u0000\u3B5E\u0000\u0000"+
-        "\u3B5F\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3B60\u3B61\u0000\u0000\u0000\u3B62\u3B63"+
-        "\u0000\u3B64\u0000\u3B65\u0000\u0000\u0000\u0000"+
-        "\u3B66\u0000\u3B67\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3B68\u3B69\u3B6A\u3B6B\u0000\u0000"+
-        "\u0000\u3B6C\u0000\u3B6D\u0000\u0000\u0000\u3B6E"+
-        "\u3B6F\u0000\u0000\u0000\u0000\u0000\u0000\u3B70"+
-        "\u0000\u0000\u0000\u3B71\u0000\u0000\u0000\u0000"+
-        "\u3B72\u0000\u6674\u0000\u3B73\u0000\u0000\u0000"+
-        "\u3B74\u3B75\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3B76\u0000\u0000\u0000\u3B77"+
-        "\u0000\u0000\u0000\u3B78\u0000\u0000\u3B7A\u0000"+
-        "\u3B79\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3B7B\u3B7C\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3B7D\u0000\u0000\u0000\u3B7E\u0000\u0000\u0000"+
-        "\u0000\u3C21\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3C22\u3C23\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3C24\u0000\u0000\u0000\u0000\u0000\u0000\u3C25"+
-        "\u0000\u0000\u0000\u0000\u0000\u3C26\u0000\u0000"+
-        "\u0000\u0000\u3C27\u0000\u3C28\u3C29\u0000\u0000"+
-        "\u3C2A\u0000\u0000\u0000\u0000\u0000\u0000\u3C2B"+
-        "\u3C2C\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3C2E\u0000\u0000\u0000\u0000\u0000\u3C2D\u0000"+
-        "\u0000\u0000\u3C2F\u0000\u0000\u3C30\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3C31\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3C34\u0000\u3C32\u0000\u0000\u0000\u0000"+
-        "\u3C33\u3C35\u0000\u0000\u0000\u0000\u3C36\u0000"+
-        "\u3C37\u0000\u0000\u3C38\u3C39\u0000\u3C3A\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3C3B\u0000\u3C3C\u3C3D\u3C3E\u3C3F\u3C40\u0000"+
-        "\u3C41\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3C42\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3C43\u0000\u0000\u3C44\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3C45\u0000\u3C46\u3C47\u0000\u0000"+
-        "\u3C48\u0000\u3C49\u0000\u3C4A\u0000\u0000\u0000"+
-        "\u0000\u3C4B\u0000\u3C4C\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3C4D\u3C4E\u3C4F"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3C50\u0000"+
-        "\u0000\u0000\u0000\u3C52\u3C51\u0000\u3C53\u0000"+
-        "\u0000\u3C54\u3C55\u0000\u3C56\u3C57\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3C58\u0000\u3C59\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3C5A\u0000\u0000"+
-        "\u0000\u0000\u0000\u3C5B\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3C5C\u0000\u0000\u0000\u3C5D\u3C5E"+
-        "\u3C5F\u0000\u0000\u0000\u0000\u0000\u3C60\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3C61\u0000\u0000\u3C62\u3C63\u0000\u0000"+
-        "\u0000\u3C64\u3C65\u3C66\u3C67\u0000\u0000\u0000"+
-        "\u3C68\u0000\u0000\u3C69\u3C6A\u0000\u3C6B\u0000"+
-        "\u3C6C\u0000\u0000\u0000\u3C6D\u0000\u3C6E\u0000"+
-        "\u0000\u0000\u0000\u3C6F\u0000\u3C70\u0000\u3C71"+
-        "\u3C72\u0000\u0000\u0000\u3C73\u3C74\u0000\u3C75"+
-        "\u0000\u0000\u0000\u0000\u0000\u3C76\u0000\u0000"+
-        "\u3C77\u0000\u0000\u0000\u3C78\u0000\u0000\u0000"+
-        "\u3C79\u0000\u0000\u3C7A\u0000\u0000\u0000\u0000"+
-        "\u3C7B\u0000\u0000\u3C7C\u3C7D\u0000\u0000\u3C7E"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3D21"+
-        "\u0000\u0000\u3D22\u0000\u3D23\u3D24\u0000\u0000"+
-        "\u3D25\u0000\u3D26\u0000\u0000\u3D27\u3D28\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3D29\u0000\u0000\u0000\u3D2A\u0000\u3D2B"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3D2C\u0000"+
-        "\u0000\u0000\u0000\u0000\u3D2D\u3D2E\u0000\u0000"+
-        "\u0000\u0000\u3D2F\u0000\u3D32\u0000\u0000\u3D30"+
-        "\u0000\u0000\u0000\u3D31\u3D33\u0000\u0000\u3D34"+
-        "\u3D35\u3D36\u0000\u0000\u0000\u0000\u0000\u743E"+
-        "\u3D37\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3D38\u0000\u0000\u3D39"+
-        "\u3D3A\u3D3B\u0000\u3D3C\u0000\u0000\u0000\u0000"+
-        "\u3D3D\u3D3E\u3D3F\u3D40\u3D41\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3D42\u0000"+
-        "\u0000\u3D43\u3D44\u0000\u0000\u0000\u0000\u0000"+
-        "\u3D45\u3D46\u3D47\u0000\u3D48\u3D49\u3D4A\u3D4B"+
-        "\u0000\u0000\u3D4C\u3D4D\u0000\u0000\u3D4E\u0000"+
-        "\u0000\u0000\u3D4F\u0000\u3D50\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3D51"+
-        "\u0000\u0000\u3D52\u0000\u0000\u3D53\u0000\u0000"+
-        "\u0000\u0000\u0000\u3D54\u3D55\u0000\u0000\u3D56"+
-        "\u3D57\u0000\u3D58\u0000\u0000\u0000\u0000\u3D59"+
-        "\u0000\u0000\u0000\u0000\u3D5A\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3D5B\u0000\u0000"+
-        "\u0000\u0000\u0000\u3D5C\u0000\u3D5D\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3D5E\u0000\u0000\u0000\u0000\u0000\u0000\u3D5F"+
-        "\u3D60\u3D61\u0000\u0000\u3D62\u0000\u0000\u0000"+
-        "\u0000\u3D63\u0000\u0000\u3D64\u0000\u3D65\u3D66"+
-        "\u0000\u0000\u0000\u0000\u0000\u3D67\u0000\u0000"+
-        "\u0000\u3D68\u0000\u0000\u0000\u0000\u0000\u3D69"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3D6A\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3D6B\u3D6C"+
-        "\u0000\u0000\u3D6D\u0000\u0000\u743F\u3D6E\u0000"+
-        "\u3D6F\u0000\u3D70\u0000\u0000\u0000\u3D71\u0000"+
-        "\u0000\u3D72\u0000\u3D73\u0000\u3D74\u0000\u0000"+
-        "\u3D75\u0000\u0000\u0000\u0000\u3D76\u3D77\u0000"+
-        "\u0000\u0000\u3D78\u0000\u3D79\u3D7A\u0000\u0000"+
-        "\u3D7B\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3D7C\u3D7D\u0000\u0000\u0000\u0000\u0000\u3D7E"+
-        "\u0000\u0000\u0000\u3E21\u0000\u0000\u3E22\u0000"+
-        "\u0000\u0000\u3E23\u0000\u3E24\u0000\u0000\u0000"+
-        "\u3E25\u3E26\u3E27\u3E28\u0000\u0000\u3E29\u3E2A"+
-        "\u0000\u0000\u0000\u0000\u3E2B\u3E2C\u0000\u0000"+
-        "\u0000\u3E2D\u0000\u3E2E\u0000\u3E2F\u3E30\u0000"+
-        "\u0000\u0000\u3E31\u0000\u0000\u3E32\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3E33\u0000\u0000\u3E34\u0000\u0000"+
-        "\u3E35\u0000\u0000\u0000\u3E36\u3E37\u0000\u0000"+
-        "\u0000\u0000\u3E38\u0000\u0000\u0000\u0000\u3E39"+
-        "\u0000\u0000\u3E3A\u0000\u3E3B\u0000\u0000\u0000"+
-        "\u3E3C\u3E3D\u3E3E\u3E3F\u3E40\u0000\u3E41\u3E42"+
-        "\u0000\u3E43\u0000\u0000\u3E44\u0000\u3E45\u0000"+
-        "\u7440\u0000\u3E46\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3E47\u3E48\u0000\u0000\u0000\u0000"+
-        "\u3E49\u3E4A\u0000\u0000\u0000\u3E4B\u3E4C\u3E4D"+
-        "\u0000\u3E4E\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3E4F\u0000\u0000\u0000\u3E50\u3E51\u0000"+
-        "\u0000\u3E52\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3E53\u0000"+
-        "\u3E54\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3E55\u0000\u0000\u0000"+
-        "\u0000\u0000\u3E56\u0000\u0000\u0000\u0000\u0000"+
-        "\u3E57\u0000\u0000\u3E58\u3E59\u0000\u0000\u3E5A"+
-        "\u3E5B\u3E5C\u0000\u3E5D\u3E5E\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3E5F\u0000\u3E60\u0000\u0000"+
-        "\u0000\u0000\u3E61\u3E62\u0000\u0000\u0000\u3E63"+
-        "\u3E64\u0000\u0000\u0000\u3E65\u3E66\u0000\u3E67"+
-        "\u3E68\u0000\u0000\u0000\u0000\u3E69\u0000\u0000"+
-        "\u3E6A\u0000\u3E6B\u0000\u0000\u3E6C\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u3E6D\u3E6E\u0000\u0000\u3E6F\u0000\u0000\u0000"+
-        "\u3E70\u3E71\u3E72\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3E73\u3E74"+
-        "\u0000\u0000\u0000\u0000\u0000\u3E75\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3E76\u3E77\u3E78\u3E79"+
-        "\u0000\u3E7A\u3E7B\u0000\u0000\u3E7E\u0000\u3E7C"+
-        "\u0000\u3E7D\u0000\u0000\u3F21\u3F22\u0000\u3F23"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3F24\u0000\u3F25\u3F26\u0000\u0000\u3F27"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3F28\u0000\u3F29\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3F2A\u0000\u0000\u0000"+
-        "\u3F2B\u0000\u3F2C\u3F2D\u0000\u0000\u0000\u3F2E"+
-        "\u0000\u3F2F\u0000\u3F30\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3F31\u0000\u0000\u0000\u3F32\u0000\u0000"+
-        "\u0000\u0000\u3F33\u3F34\u3F35\u0000\u3F36\u0000"+
-        "\u0000\u0000\u0000\u0000\u3F37\u0000\u0000\u0000"+
-        "\u3F38\u3F39\u3F3A\u0000\u3F3B\u0000\u3F3C\u0000"+
-        "\u0000\u0000\u3F3D\u0000\u3F3E\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3F3F\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3F40\u0000\u3F41"+
-        "\u0000\u0000\u0000\u3F42\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3F43\u0000\u0000\u3F44\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3F45\u3F46\u3F47"+
-        "\u3F48\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3F49\u0000"+
-        "\u3F4A\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u3F4B\u0000\u0000\u3F4C\u3F4D"+
-        "\u0000\u0000\u3F4E\u0000\u0000\u0000\u3F4F\u3F50"+
-        "\u0000\u0000\u0000\u0000\u3F51\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u3F52\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3F53\u3F54\u0000"+
-        "\u0000\u0000\u3F55\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3F56\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u3F57\u0000\u3F58\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u3F59\u3F5A\u0000\u0000"+
-        "\u0000\u0000\u0000\u3F5B\u3F5C\u0000\u0000\u0000"+
-        "\u0000\u0000\u3F5D\u3F5E\u0000\u3F5F\u0000\u0000"+
-        "\u3F60\u0000\u0000\u3F61\u0000\u0000\u3F62\u0000"+
-        "\u3F63\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u3F64\u3F65\u0000\u0000\u3F66\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3F67\u3F68\u0000"+
-        "\u0000\u3F69\u0000\u0000\u3F6A\u0000\u0000\u0000"+
-        "\u0000\u3F6B\u3F6C\u3F6D\u3F6E\u0000\u3F6F\u0000"+
-        "\u0000\u0000\u3F70\u3F71\u0000\u0000\u3F72\u0000"+
-        "\u0000\u0000\u3F73\u3F74\u3F75\u0000\u0000\u0000"+
-        "\u3F76\u0000\u0000\u3F77\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u3F78\u3F79\u0000"+
-        "\u0000\u0000\u0000\u0000\u3F7A\u3F7B\u0000\u0000"+
-        "\u0000\u3F7C\u0000\u0000\u3F7D\u3F7E\u0000\u0000"+
-        "\u4021\u0000\u0000\u0000\u4022\u4023\u0000\u4024"+
-        "\u0000\u0000\u4025\u0000\u4026\u0000\u0000\u4027"+
-        "\u0000\u0000\u4028\u0000\u0000\u0000\u0000\u0000"+
-        "\u4029\u0000\u0000\u0000\u402A\u402B\u0000\u0000"+
-        "\u0000\u402C\u402D\u0000\u0000\u0000\u402E\u0000"+
-        "\u0000\u0000\u0000\u0000\u402F\u0000\u4030\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4031\u4032\u4033"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4034\u0000\u0000"+
-        "\u0000\u4035\u0000\u0000\u0000\u4036\u0000\u0000"+
-        "\u4037\u0000\u0000\u0000\u0000\u0000\u4038\u0000"+
-        "\u0000\u4039\u0000\u403A\u403B\u403C\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u403D\u0000\u0000\u0000"+
-        "\u403E\u0000\u0000\u0000\u0000\u403F\u0000\u0000"+
-        "\u0000\u0000\u4040\u0000\u4041\u0000\u0000\u0000"+
-        "\u0000\u0000\u4042\u4043\u0000\u4044\u0000\u0000"+
-        "\u4045\u4046\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4047\u4048\u0000\u0000\u0000\u0000\u0000"+
-        "\u4049\u0000\u404A\u0000\u404B\u0000\u0000\u0000"+
-        "\u404C\u0000\u0000\u0000\u0000\u0000\u404D\u0000"+
-        "\u404E\u0000\u404F\u0000\u4050\u4051\u0000\u0000"+
-        "\u0000\u4052\u4053\u0000\u0000\u0000\u0000\u4054"+
-        "\u4055\u0000\u0000\u0000\u0000\u4056\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4057\u0000\u4058"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4059\u0000\u0000\u0000\u405A"+
-        "\u0000\u405B\u405C\u405D\u405E\u0000\u0000\u0000"+
-        "\u0000\u0000\u405F\u4060\u4061\u4062\u0000\u4063"+
-        "\u4064\u4065\u0000\u4066\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4067\u0000\u0000"+
-        "\u0000\u0000\u0000\u4068\u4069\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u406A\u0000\u406B\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u406C\u0000\u406D"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u406E"+
-        "\u406F\u4070\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4071\u4072\u0000\u4073\u0000\u4074\u0000\u4075"+
-        "\u0000\u4076\u0000\u4077\u0000\u0000\u4078\u0000"+
-        "\u4079\u0000\u0000\u0000\u407A\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u407B\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u407C\u407D\u407E"+
-        "\u0000\u0000\u0000\u0000\u4121\u0000\u0000\u0000"+
-        "\u0000\u4122\u4123\u4124\u4125\u0000\u4126\u0000"+
-        "\u4127\u4128\u0000\u0000\u0000\u4129\u0000\u412A"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u412B\u412C\u0000\u0000"+
-        "\u0000\u412D\u412E\u0000\u0000\u412F\u0000\u0000"+
-        "\u4130\u0000\u0000\u0000\u0000\u4131\u0000\u4132"+
-        "\u0000\u0000\u0000\u4133\u0000\u0000\u0000\u4134"+
-        "\u0000\u4135\u0000\u0000\u4136\u0000\u0000\u0000"+
-        "\u4137\u4138\u4139\u0000\u0000\u0000\u0000\u413A"+
-        "\u0000\u0000\u0000\u413B\u413C\u0000\u413D\u0000"+
-        "\u0000\u413E\u0000\u413F\u0000\u0000\u4140\u4141"+
-        "\u0000\u0000\u4142\u0000\u0000\u0000\u4143\u0000"+
-        "\u0000\u4144\u0000\u0000\u0000\u0000\u4145\u0000"+
-        "\u0000\u4146\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4147\u0000\u4148\u4149\u0000\u0000"+
-        "\u0000\u0000\u0000\u414A\u0000\u0000\u0000\u414B"+
-        "\u0000\u414C\u0000\u0000\u0000\u0000\u7441\u0000"+
-        "\u414D\u0000\u414E\u0000\u414F\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4150"+
-        "\u4151\u0000\u0000\u0000\u0000\u0000\u0000\u4152"+
-        "\u0000\u0000\u0000\u4153\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4154\u0000\u0000\u4155\u0000\u0000"+
-        "\u0000\u4156\u0000\u0000\u0000\u4157\u0000\u0000"+
-        "\u0000\u0000\u4158\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4159\u0000\u0000\u415A\u0000\u0000"+
-        "\u415B\u0000\u0000\u0000\u0000\u415C\u0000\u0000"+
-        "\u415D\u0000\u0000\u415E\u0000\u0000\u415F\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4160\u0000"+
-        "\u0000\u0000\u4161\u4162\u4163\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4164"+
-        "\u0000\u0000\u4165\u0000\u0000\u0000\u0000\u0000"+
-        "\u4166\u4167\u0000\u0000\u0000\u0000\u4168\u0000"+
-        "\u4169\u0000\u0000\u0000\u416A\u0000\u416B\u0000"+
-        "\u416C\u0000\u0000\u0000\u0000\u0000\u0000\u416D"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u416E\u0000\u416F\u0000\u4170\u4171\u0000\u0000"+
-        "\u0000\u4172\u0000\u0000\u0000\u0000\u4173\u4174"+
-        "\u4175\u0000\u0000\u0000\u4176\u0000\u0000\u0000"+
-        "\u4177\u4178\u0000\u0000\u0000\u4179\u0000\u0000"+
-        "\u0000\u417A\u417B\u0000\u0000\u417C\u417D\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u417E\u4221\u0000"+
-        "\u0000\u4222\u4223\u4224\u4225\u0000\u4226\u0000"+
-        "\u0000\u4227\u4228\u4229\u422A\u0000\u422B\u0000"+
-        "\u422C\u422D\u0000\u422E\u0000\u0000\u0000\u4230"+
-        "\u0000\u422F\u0000\u7442\u0000\u0000\u0000\u0000"+
-        "\u4231\u0000\u0000\u0000\u0000\u4232\u4233\u0000"+
-        "\u0000\u0000\u4234\u0000\u4235\u0000\u4237\u0000"+
-        "\u0000\u4236\u0000\u0000\u0000\u0000\u0000\u4238"+
-        "\u4239\u423A\u0000\u423B\u423C\u0000\u0000\u0000"+
-        "\u423D\u423E\u0000\u0000\u0000\u7443\u0000\u0000"+
-        "\u0000\u0000\u4240\u4241\u4242\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4244\u0000\u4245\u0000\u4247"+
-        "\u4248\u4249\u0000\u424A\u424C\u0000\u4243\u4246"+
-        "\u424B\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u424D\u424E\u424F\u0000\u0000"+
-        "\u4250\u0000\u4251\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4252\u4253\u4254\u4255\u0000\u0000\u4256"+
-        "\u4257\u0000\u0000\u0000\u4258\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4259\u0000\u0000"+
-        "\u0000\u425A\u425B\u0000\u0000\u425C\u0000\u0000"+
-        "\u0000\u0000\u0000\u425D\u0000\u0000\u0000\u425E"+
-        "\u425F\u0000\u4260\u4261\u0000\u0000\u0000\u0000"+
-        "\u4262\u0000\u0000\u0000\u4263\u0000\u4264\u4265"+
-        "\u0000\u0000\u0000\u0000\u4266\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4267\u0000\u0000\u0000\u4268"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4269\u0000\u0000\u426A\u426B\u0000\u426C\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u426D\u423F\u0000\u0000\u0000\u0000";
-
-    private final static String innerIndex2=
-        "\u0000\u0000\u0000\u0000\u0000\u426E\u0000\u426F"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4270\u0000"+
-        "\u0000\u0000\u0000\u4271\u0000\u0000\u0000\u0000"+
-        "\u0000\u4272\u0000\u0000\u4273\u0000\u0000\u0000"+
-        "\u4274\u0000\u4275\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4276\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4277\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4278\u0000\u4279"+
-        "\u427A\u0000\u0000\u0000\u427B\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u427C\u427D\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u427E\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4321\u0000"+
-        "\u0000\u0000\u0000\u0000\u4322\u0000\u4323\u0000"+
-        "\u0000\u0000\u0000\u0000\u4324\u0000\u4325\u0000"+
-        "\u0000\u0000\u0000\u4326\u0000\u0000\u0000\u0000"+
-        "\u0000\u4327\u0000\u0000\u4328\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4329\u432A"+
-        "\u0000\u432B\u0000\u432C\u0000\u0000\u432D\u0000"+
-        "\u432E\u432F\u0000\u4330\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4331\u4332\u4333\u0000\u0000\u4334\u0000\u0000"+
-        "\u0000\u0000\u0000\u4335\u4336\u4337\u0000\u0000"+
-        "\u4339\u0000\u433A\u433B\u0000\u433C\u0000\u0000"+
-        "\u433D\u433E\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u433F\u0000\u0000\u0000\u0000\u4340"+
-        "\u0000\u4341\u0000\u0000\u4342\u0000\u0000\u0000"+
-        "\u0000\u4343\u0000\u0000\u0000\u0000\u4344\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4345\u0000\u4346\u0000\u0000\u0000\u4347\u4348"+
-        "\u0000\u4338\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u7446\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u434A\u0000\u0000\u0000"+
-        "\u0000\u434B\u0000\u0000\u0000\u434C\u0000\u434D"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u434F"+
-        "\u434E\u0000\u0000\u0000\u4350\u4351\u0000\u4352"+
-        "\u4353\u4354\u0000\u4355\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4356\u0000\u0000\u0000\u4357"+
-        "\u0000\u0000\u0000\u0000\u4358\u4359\u0000\u0000"+
-        "\u0000\u0000\u435A\u0000\u435B\u0000\u0000\u0000"+
-        "\u0000\u0000\u4349\u0000\u0000\u435C\u0000\u435D"+
-        "\u435E\u0000\u0000\u435F\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4360\u0000\u0000\u4361\u4362"+
-        "\u4363\u4364\u4365\u0000\u0000\u4366\u0000\u0000"+
-        "\u0000\u4367\u4368\u4369\u436A\u0000\u0000\u0000"+
-        "\u0000\u0000\u436B\u0000\u436C\u0000\u436D\u0000"+
-        "\u436E\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u436F\u0000"+
-        "\u4370\u0000\u4371\u0000\u4372\u0000\u0000\u0000"+
-        "\u0000\u4373\u0000\u4374\u0000\u4375\u0000\u0000"+
-        "\u0000\u4376\u4377\u0000\u0000\u0000\u4378\u0000"+
-        "\u0000\u0000\u4379\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u437A\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u437B\u0000\u0000"+
-        "\u437C\u0000\u0000\u0000\u437D\u0000\u0000\u437E"+
-        "\u4421\u4422\u0000\u4423\u0000\u0000\u4424\u0000"+
-        "\u0000\u4425\u0000\u0000\u4426\u4427\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4428\u0000\u0000"+
-        "\u4429\u0000\u442A\u442B\u442C\u442D\u0000\u0000"+
-        "\u442E\u442F\u0000\u0000\u0000\u4430\u4431\u0000"+
-        "\u0000\u0000\u0000\u4432\u4433\u4434\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4435\u0000"+
-        "\u0000\u4436\u4437\u0000\u0000\u0000\u0000\u0000"+
-        "\u4438\u4439\u0000\u443A\u0000\u0000\u443B\u443C"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u443D\u0000\u443E\u0000\u443F\u0000\u0000"+
-        "\u4440\u0000\u0000\u4441\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4442\u0000\u0000\u4443\u0000\u0000"+
-        "\u0000\u4444\u0000\u0000\u0000\u0000\u4445\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4446"+
-        "\u0000\u0000\u0000\u4447\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4448\u4449\u444A\u444B\u0000"+
-        "\u444C\u444D\u0000\u0000\u444E\u0000\u0000\u0000"+
-        "\u444F\u4450\u4451\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4452\u4453\u0000\u0000\u0000\u4454"+
-        "\u4455\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4456\u0000\u0000"+
-        "\u0000\u0000\u4457\u0000\u0000\u0000\u4458\u0000"+
-        "\u4459\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u445A\u0000\u0000\u0000\u445B\u445C\u0000"+
-        "\u445D\u0000\u0000\u445E\u0000\u445F\u0000\u4460"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4461"+
-        "\u4462\u0000\u4463\u0000\u4464\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4465\u0000\u0000"+
-        "\u4466\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4467\u0000\u0000\u0000\u0000\u4468\u4469"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u446A\u0000\u0000\u446B\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u446C\u446D"+
-        "\u0000\u446E\u0000\u446F\u0000\u4470\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4471\u0000"+
-        "\u4472\u4473\u0000\u4474\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4475"+
-        "\u0000\u4476\u0000\u0000\u0000\u4477\u0000\u0000"+
-        "\u0000\u0000\u4478\u0000\u0000\u4479\u0000\u0000"+
-        "\u447A\u0000\u0000\u0000\u447B\u0000\u0000\u0000"+
-        "\u447C\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u447D\u0000\u447E\u0000\u4521\u0000\u0000\u4522"+
-        "\u0000\u0000\u0000\u4523\u0000\u0000\u4524\u4525"+
-        "\u0000\u0000\u0000\u0000\u0000\u4526\u4527\u0000"+
-        "\u0000\u4528\u4529\u0000\u0000\u0000\u452A\u0000"+
-        "\u452B\u452C\u452D\u0000\u0000\u452E\u452F\u0000"+
-        "\u0000\u0000\u0000\u4530\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u4531\u0000\u0000\u4532"+
-        "\u0000\u0000\u4533\u7449\u0000\u0000\u0000\u0000"+
-        "\u0000\u4534\u0000\u4535\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4536\u0000"+
-        "\u0000\u4537\u0000\u4538\u0000\u0000\u4539\u453A"+
-        "\u0000\u453B\u0000\u453C\u0000\u0000\u0000\u0000"+
-        "\u0000\u453D\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u453E\u0000\u453F\u4540\u4541"+
-        "\u0000\u0000\u0000\u0000\u0000\u4542\u0000\u0000"+
-        "\u0000\u0000\u0000\u4543\u0000\u0000\u0000\u4544"+
-        "\u4545\u4546\u0000\u0000\u4547\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4548\u4549\u454A"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u454B\u0000"+
-        "\u454D\u454C\u0000\u0000\u454E\u0000\u0000\u0000"+
-        "\u454F\u0000\u0000\u0000\u4550\u4551\u4552\u0000"+
-        "\u0000\u0000\u0000\u0000\u4553\u4554\u0000\u0000"+
-        "\u0000\u0000\u744A\u0000\u4555\u0000\u0000\u4556"+
-        "\u0000\u0000\u0000\u0000\u4557\u0000\u0000\u0000"+
-        "\u4558\u4559\u455A\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u455B\u455C\u0000\u0000"+
-        "\u0000\u0000\u455D\u455E\u0000\u0000\u455F\u4560"+
-        "\u0000\u4561\u0000\u0000\u0000\u0000\u0000\u4562"+
-        "\u4563\u4564\u0000\u0000\u0000\u0000\u0000\u4565"+
-        "\u0000\u0000\u0000\u4566\u0000\u0000\u4567\u0000"+
-        "\u0000\u0000\u0000\u0000\u4568\u0000\u0000\u0000"+
-        "\u4569\u0000\u0000\u456A\u456B\u0000\u0000\u456C"+
-        "\u0000\u0000\u0000\u0000\u0000\u456D\u456E\u0000"+
-        "\u0000\u0000\u0000\u456F\u0000\u0000\u0000\u4570"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4571\u0000"+
-        "\u0000\u0000\u4572\u0000\u0000\u4573\u0000\u0000"+
-        "\u0000\u0000\u4574\u0000\u0000\u0000\u4575\u0000"+
-        "\u4576\u0000\u0000\u0000\u0000\u4577\u0000\u0000"+
-        "\u4578\u0000\u0000\u0000\u0000\u0000\u0000\u4579"+
-        "\u0000\u0000\u0000\u457A\u0000\u0000\u457B\u0000"+
-        "\u457C\u0000\u0000\u0000\u0000\u457D\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u457E\u4621\u0000"+
-        "\u0000\u0000\u4622\u0000\u0000\u4623\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4624"+
-        "\u0000\u0000\u0000\u4625\u0000\u0000\u0000\u4626"+
-        "\u4627\u0000\u4628\u4629\u0000\u0000\u0000\u0000"+
-        "\u462A\u462B\u0000\u0000\u462C\u462D\u462E\u0000"+
-        "\u462F\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4630\u4631\u0000\u0000\u0000\u4632\u4633\u0000"+
-        "\u0000\u0000\u0000\u4634\u4635\u0000\u0000\u0000"+
-        "\u0000\u4636\u0000\u0000\u4637\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4638\u0000"+
-        "\u0000\u0000\u4639\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u463A\u0000\u463B\u0000\u0000\u463C\u463D"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u463E\u0000"+
-        "\u0000\u463F\u0000\u0000\u0000\u0000\u0000\u4640"+
-        "\u0000\u4641\u0000\u0000\u0000\u0000\u0000\u4642"+
-        "\u0000\u0000\u4643\u0000\u4644\u4645\u0000\u0000"+
-        "\u0000\u4646\u0000\u0000\u0000\u4647\u4648\u0000"+
-        "\u4649\u0000\u464A\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u464B\u0000\u0000\u0000\u0000\u0000\u464C"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u464D\u464E"+
-        "\u464F\u0000\u0000\u0000\u4650\u0000\u4651\u0000"+
-        "\u0000\u0000\u0000\u4652\u0000\u4653\u4654\u0000"+
-        "\u0000\u0000\u4655\u4656\u0000\u0000\u0000\u4657"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4658\u4659\u0000\u465A\u0000\u465B"+
-        "\u0000\u0000\u465C\u0000\u465D\u0000\u0000\u0000"+
-        "\u0000\u465E\u0000\u465F\u4660\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4736"+
-        "\u0000\u0000\u0000\u4661\u0000\u4662\u0000\u4663"+
-        "\u0000\u0000\u0000\u0000\u4664\u0000\u4665\u0000"+
-        "\u4666\u4667\u0000\u4668\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4669\u466A\u466B"+
-        "\u0000\u466C\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u466D\u466E\u0000\u466F"+
-        "\u4670\u0000\u0000\u0000\u4671\u0000\u0000\u4672"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4673\u0000\u4674\u0000\u4675\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4676\u0000\u0000\u0000\u4677\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4678\u0000\u4679"+
-        "\u467A\u467B\u467C\u0000\u467D\u0000\u467E\u0000"+
-        "\u0000\u0000\u4721\u0000\u4722\u0000\u0000\u0000"+
-        "\u4723\u0000\u0000\u0000\u0000\u0000\u0000\u4724"+
-        "\u0000\u4725\u0000\u4726\u4727\u0000\u4728\u0000"+
-        "\u0000\u0000\u4729\u0000\u472A\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u472B\u0000\u0000\u472C"+
-        "\u0000\u0000\u472D\u0000\u0000\u0000\u472E\u472F"+
-        "\u0000\u4730\u0000\u4731\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4732\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4733\u4734"+
-        "\u4735\u0000\u0000\u0000\u0000\u0000\u4737\u4738"+
-        "\u0000\u4739\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u473A\u0000\u0000\u473B\u0000\u0000\u473C"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u473D"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u473E\u473F"+
-        "\u0000\u4740\u0000\u0000\u0000\u4741\u0000\u4742"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4743"+
-        "\u4744\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u4745\u0000\u0000\u0000"+
-        "\u0000\u0000\u4746\u0000\u0000\u0000\u0000\u4747"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4748\u4749\u0000\u474A\u0000\u474B\u474C"+
-        "\u474D\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u474E\u0000\u474F\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u4750\u0000\u0000\u4751"+
-        "\u0000\u4752\u0000\u0000\u0000\u4753\u0000\u4754"+
-        "\u0000\u0000\u0000\u0000\u4755\u0000\u0000\u0000"+
-        "\u4756\u0000\u4757\u0000\u0000\u0000\u4758\u4759"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u475A\u0000"+
-        "\u0000\u0000\u0000\u475B\u0000\u475C\u0000\u475D"+
-        "\u475E\u0000\u475F\u0000\u0000\u4760\u0000\u0000"+
-        "\u0000\u4761\u0000\u0000\u0000\u0000\u0000\u4762"+
-        "\u4763\u0000\u744C\u0000\u4764\u0000\u4765\u0000"+
-        "\u744B\u0000\u0000\u0000\u4766\u0000\u0000\u0000"+
-        "\u4767\u0000\u0000\u0000\u4768\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4769\u0000"+
-        "\u0000\u0000\u476A\u0000\u0000\u0000\u0000\u476B"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u476C\u0000\u0000\u0000\u476D\u0000"+
-        "\u0000\u476E\u0000\u476F\u4770\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u4771\u4772\u0000\u0000"+
-        "\u4773\u4774\u0000\u4775\u0000\u0000\u0000\u4776"+
-        "\u0000\u4777\u4778\u4779\u477A\u0000\u0000\u477B"+
-        "\u0000\u0000\u0000\u0000\u477C\u477D\u477E\u0000"+
-        "\u0000\u0000\u4821\u4822\u0000\u0000\u0000\u0000"+
-        "\u4823\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4824\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4825\u0000\u4826\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4827\u0000\u0000"+
-        "\u0000\u0000\u0000\u4828\u0000\u0000\u0000\u0000"+
-        "\u0000\u4829\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u482A\u0000\u0000\u0000\u0000\u0000\u0000\u482B"+
-        "\u0000\u0000\u0000\u0000\u0000\u482C\u482D\u0000"+
-        "\u0000\u482E\u0000\u482F\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4830\u0000\u0000\u0000\u4831"+
-        "\u4832\u4833\u0000\u4834\u0000\u0000\u0000\u4835"+
-        "\u4836\u0000\u4837\u0000\u0000\u4838\u4839\u483A"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u483B\u0000\u483C\u483D\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u483E\u0000\u483F\u0000\u4840\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u4841\u0000\u0000\u0000"+
-        "\u4842\u0000\u4843\u0000\u4844\u4845\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4846\u0000"+
-        "\u4847\u0000\u4848\u4849\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u484A\u0000"+
-        "\u0000\u484B\u484C\u0000\u0000\u4853\u0000\u484D"+
-        "\u484E\u0000\u0000\u484F\u0000\u0000\u4850\u0000"+
-        "\u0000\u0000\u0000\u4851\u4852\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4854"+
-        "\u0000\u4855\u4856\u4857\u0000\u0000\u0000\u4858"+
-        "\u0000\u4859\u485A\u0000\u0000\u485B\u485C\u0000"+
-        "\u0000\u485D\u485E\u0000\u0000\u0000\u0000\u0000"+
-        "\u485F\u0000\u0000\u0000\u4860\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4861\u4862\u0000"+
-        "\u0000\u0000\u0000\u4863\u0000\u0000\u0000\u4864"+
-        "\u4865\u0000\u0000\u4866\u4867\u4868\u0000\u0000"+
-        "\u4869\u0000\u486A\u486B\u486C\u0000\u486D\u0000"+
-        "\u0000\u0000\u486E\u0000\u0000\u0000\u0000\u486F"+
-        "\u4870\u0000\u0000\u0000\u0000\u4871\u4872\u4873"+
-        "\u4874\u0000\u0000\u0000\u0000\u0000\u4875\u4876"+
-        "\u4877\u0000\u0000\u0000\u0000\u4878\u4879\u0000"+
-        "\u0000\u0000\u0000\u0000\u487A\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u487B\u0000\u487C"+
-        "\u487D\u0000\u487E\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4921\u0000\u0000\u0000\u4922\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4923\u4924\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4925\u0000\u0000\u0000\u0000\u4926\u0000\u0000"+
-        "\u0000\u4927\u0000\u0000\u4928\u4929\u0000\u0000"+
-        "\u492A\u0000\u0000\u0000\u0000\u492B\u492C\u492D"+
-        "\u0000\u0000\u0000\u0000\u0000\u492E\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u492F"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4930\u0000\u0000\u4931\u0000\u0000\u0000\u0000"+
-        "\u744D\u0000\u0000\u0000\u0000\u0000\u0000\u4932"+
-        "\u0000\u0000\u0000\u0000\u4933\u0000\u0000\u4934"+
-        "\u0000\u4935\u0000\u0000\u4936\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4937\u4938\u0000\u0000\u0000"+
-        "\u4939\u493A\u493B\u493C\u0000\u0000\u4941\u0000"+
-        "\u0000\u0000\u0000\u0000\u493D\u493E\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u493F\u4940\u0000"+
-        "\u0000\u0000\u0000\u0000\u4942\u4943\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u4944\u0000\u4945\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4946\u4947\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4948\u0000"+
-        "\u0000\u4949\u0000\u0000\u0000\u494A\u494B\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u494C\u494D\u494E\u494F"+
-        "\u4950\u0000\u0000\u4951\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u4952\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4953\u0000\u0000\u0000\u0000"+
-        "\u4954\u4955\u0000\u0000\u4956\u0000\u0000\u4957"+
-        "\u0000\u0000\u0000\u742E\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4958\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4959\u0000\u495A\u495B\u495C\u495D\u0000"+
-        "\u495E\u0000\u0000\u0000\u495F\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u4960\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4961\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4962\u4963\u4964\u4965\u4966"+
-        "\u0000\u0000\u0000\u4967\u4968\u0000\u0000\u4969"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u496A\u0000"+
-        "\u496B\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u496C\u0000\u496D\u0000\u496E"+
-        "\u496F\u4970\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4971\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4972\u0000\u0000\u0000\u4973\u4974\u4975"+
-        "\u0000\u0000\u4976\u4977\u0000\u0000\u0000\u0000"+
-        "\u4978\u0000\u4979\u0000\u0000\u0000\u0000\u497A"+
-        "\u0000\u0000\u497B\u0000\u497C\u0000\u497D\u0000"+
-        "\u497E\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4A21\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4A22\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4A23\u0000\u0000\u0000\u0000\u4A24\u0000\u4A25"+
-        "\u0000\u0000\u0000\u0000\u4A26\u0000\u0000\u0000"+
-        "\u0000\u0000\u4A27\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4A28\u4A29\u0000\u0000\u0000\u0000"+
-        "\u4A2A\u0000\u4A2B\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4A2C"+
-        "\u4A2D\u0000\u4A2E\u4A2F\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4A30\u0000\u0000\u0000\u0000\u4A31"+
-        "\u4A32\u4A33\u0000\u0000\u4A34\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4A35\u4A36\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4A37\u0000\u0000\u4A38\u0000"+
-        "\u0000\u4A39\u4A3A\u0000\u4A3B\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4A3C\u0000\u0000\u0000\u0000\u0000\u4A3D\u0000"+
-        "\u4A3E\u0000\u0000\u0000\u0000\u0000\u0000\u4A3F"+
-        "\u4A40\u4A41\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4A42\u0000\u0000\u0000\u4A43"+
-        "\u0000\u0000\u4A44\u0000\u0000\u4A45\u0000\u4A46"+
-        "\u0000\u0000\u0000\u0000\u4A47\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4A48\u0000\u0000\u0000\u4A49"+
-        "\u0000\u0000\u0000\u0000\u4A4A\u0000\u0000\u0000"+
-        "\u4A4B\u4A4C\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4A4D\u4A4E\u4A4F\u0000\u4A50\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4A51\u4A52"+
-        "\u4A53\u0000\u0000\u4A54\u0000\u4A55\u4A56\u0000"+
-        "\u0000\u0000\u4A57\u0000\u4A58\u0000\u4A59\u0000"+
-        "\u4A5A\u0000\u0000\u4A5B\u0000\u0000\u0000\u0000"+
-        "\u4A5C\u0000\u0000\u4A5D\u0000\u0000\u4A5E\u4A5F"+
-        "\u0000\u4A60\u0000\u0000\u0000\u0000\u0000\u4A61"+
-        "\u4A62\u0000\u0000\u4A63\u4A64\u0000\u0000\u4A65"+
-        "\u0000\u0000\u0000\u0000\u4A66\u0000\u0000\u0000"+
-        "\u0000\u4A67\u0000\u0000\u0000\u4A68\u4A69\u0000"+
-        "\u0000\u0000\u0000\u4A6A\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4A6B\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4A6C\u0000\u0000\u0000\u0000\u4A6D\u4A6E\u0000"+
-        "\u0000\u4A6F\u0000\u0000\u4A70\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4A71\u0000"+
-        "\u0000\u4A72\u0000\u0000\u0000\u0000\u0000\u4A73"+
-        "\u0000\u4A74\u0000\u0000\u4A75\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4A76\u4A77\u0000"+
-        "\u4A78\u0000\u0000\u0000\u0000\u0000\u0000\u4A79"+
-        "\u0000\u0000\u0000\u0000\u0000\u4A7A\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4A7B\u4A7C\u0000\u0000\u0000"+
-        "\u0000\u0000\u4A7D\u4A7E\u0000\u0000\u4B21\u0000"+
-        "\u0000\u0000\u4B22\u0000\u4B23\u4B24\u0000\u4B25"+
-        "\u0000\u0000\u0000\u4B26\u0000\u4B27\u0000\u0000"+
-        "\u0000\u0000\u4B28\u4B29\u0000\u0000\u0000\u0000"+
-        "\u4B2A\u4B2B\u0000\u0000\u0000\u0000\u4B2C\u0000"+
-        "\u0000\u0000\u4B2D\u0000\u4B2E\u0000\u0000\u4B2F"+
-        "\u4B30\u0000\u0000\u0000\u4B31\u0000\u0000\u0000"+
-        "\u0000\u4B32\u4B33\u0000\u0000\u4B34\u0000\u0000"+
-        "\u0000\u0000\u4B35\u4B36\u0000\u4B37\u0000\u0000"+
-        "\u0000\u0000\u0000\u4B38\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4B39\u0000\u0000"+
-        "\u4B3A\u0000\u4B3B\u0000\u0000\u0000\u4B3C\u0000"+
-        "\u4B3D\u0000\u0000\u0000\u0000\u4B3E\u4B3F\u4B40"+
-        "\u4B41\u0000\u0000\u0000\u0000\u0000\u4B42\u4B43"+
-        "\u0000\u4B44\u0000\u4B45\u4B46\u0000\u4B47\u4B48"+
-        "\u0000\u4B49\u0000\u0000\u0000\u0000\u0000\u4B4A"+
-        "\u0000\u4B4B\u0000\u0000\u4B4C\u0000\u0000\u0000"+
-        "\u4B4D\u4B4E\u0000\u4B4F\u0000\u4B50\u4B51\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4B52\u0000"+
-        "\u4B53\u0000\u0000\u4B54\u0000\u4B55\u0000\u4B56"+
-        "\u4B57\u0000\u0000\u0000\u4B58\u0000\u4B59\u4B5A"+
-        "\u4B5B\u0000\u4B5C\u0000\u0000\u4B5D\u4B5E\u0000"+
-        "\u0000\u0000\u4B5F\u4B60\u0000\u4B61\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4B62\u0000\u4B63"+
-        "\u0000\u4B64\u0000\u0000\u4B65\u4B66\u0000\u4B67"+
-        "\u0000\u0000\u0000\u0000\u0000\u4B68\u4B69\u0000"+
-        "\u0000\u4B6A\u0000\u4B6B\u4B6C\u0000\u0000\u4B6D"+
-        "\u0000\u0000\u4B6E\u4B6F\u0000\u0000\u4B70\u0000"+
-        "\u0000\u4B71\u0000\u0000\u0000\u4B72\u0000\u0000"+
-        "\u0000\u4B73\u0000\u4B74\u0000\u0000\u4B75\u4B76"+
-        "\u0000\u4B77\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u4B78\u4B79\u0000\u4B7A"+
-        "\u0000\u4B7B\u4B7C\u4B7D\u0000\u4B7E\u0000\u4C21"+
-        "\u4C22\u4C23\u0000\u0000\u4C24\u0000\u0000\u4C25"+
-        "\u0000\u0000\u4C26\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4C27\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4C28\u4C29\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u4C2A\u0000\u4C2B\u0000"+
-        "\u4C2C\u4C2D\u4C2E\u4C2F\u4C30\u4C31\u4C32\u4C33"+
-        "\u4C34\u4C35\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4C36\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4C37\u0000\u0000\u4C38\u4C39\u0000\u4C3A\u4C3B"+
-        "\u0000\u0000\u0000\u4C3C\u0000\u4C3D\u0000\u0000"+
-        "\u0000\u4C3E\u4C3F\u0000\u0000\u0000\u0000\u4C40"+
-        "\u0000\u0000\u0000\u0000\u0000\u4C41\u0000\u0000"+
-        "\u0000\u0000\u4C42\u0000\u0000\u0000\u4C43\u4C44"+
-        "\u4C45\u0000\u0000\u4C46\u0000\u4C47\u4C48\u0000"+
-        "\u0000\u4C49\u4C4A\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4C4B\u4C4C\u0000\u0000\u0000\u4C4D\u4C4E\u4C4F"+
-        "\u0000\u4C50\u0000\u0000\u0000\u0000\u0000\u4C51"+
-        "\u4C52\u4C53\u4C54\u0000\u0000\u0000\u0000\u0000"+
-        "\u4C55\u4C56\u4C57\u0000\u4C58\u0000\u0000\u4C59"+
-        "\u4C5A\u4C5B\u0000\u4C5C\u0000\u0000\u4C5D\u0000"+
-        "\u4C5E\u4C5F\u4C60\u4C61\u0000\u0000\u4C62\u4C63"+
-        "\u0000\u4C64\u4C65\u0000\u0000\u4C66\u0000\u0000"+
-        "\u0000\u4C67\u0000\u4C68\u0000\u0000\u0000\u4C69"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4C6A\u4C6B\u0000\u0000\u4C6C\u0000\u0000\u0000"+
-        "\u4C6D\u0000\u0000\u4C6E\u0000\u0000\u0000\u0000"+
-        "\u4C6F\u0000\u4C70\u4C71\u0000\u0000\u4C72\u4C73"+
-        "\u0000\u0000\u0000\u0000\u4C74\u0000\u0000\u0000"+
-        "\u4C75\u0000\u4C76\u4C77\u0000\u0000\u0000\u4C78"+
-        "\u0000\u0000\u0000\u0000\u4C79\u0000\u0000\u0000"+
-        "\u0000\u0000\u4C7A\u4C7B\u4C7C\u0000\u0000\u4C7D"+
-        "\u0000\u7450\u0000\u0000\u0000\u0000\u4C7E\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4D21\u0000\u0000\u0000\u4D22\u4D23"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4D24\u4D25\u0000\u0000\u4D26\u0000\u0000\u4D27"+
-        "\u0000\u4D28\u4D29\u0000\u0000\u0000\u0000\u4D2A"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4D2B\u0000"+
-        "\u0000\u4D2C\u0000\u0000\u0000\u4D2D\u4D2E\u4D2F"+
-        "\u4D30\u0000\u0000\u4D31\u0000\u0000\u0000\u4D32"+
-        "\u4D33\u0000\u0000\u0000\u0000\u0000\u4D34\u0000"+
-        "\u4D35\u0000\u4D36\u0000\u0000\u0000\u0000\u4D37"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4D38\u4D39"+
-        "\u0000\u4D3A\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4D3B"+
-        "\u0000\u4D3C\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4D3D\u4D3E\u4D3F\u4D40\u4D41\u4D42\u0000"+
-        "\u0000\u4D43\u0000\u0000\u0000\u4D44\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4D45\u0000\u4D46\u4D47\u0000\u4D48\u0000\u0000"+
-        "\u0000\u4D49\u0000\u0000\u4D4A\u0000\u0000\u0000"+
-        "\u0000\u0000\u4D4B\u0000\u4D4C\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u4D4D\u0000\u0000\u0000"+
-        "\u0000\u0000\u4D4E\u0000\u0000\u0000\u0000\u4D4F"+
-        "\u4D50\u4D51\u0000\u0000\u4D52\u0000\u4D53\u0000"+
-        "\u0000\u0000\u0000\u0000\u4D54\u0000\u4D55\u4D56"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4D57"+
-        "\u0000\u0000\u0000\u0000\u4D58\u0000\u0000\u4D59"+
-        "\u4D5A\u4D5B\u0000\u0000\u4D5C\u0000\u0000\u4D5D"+
-        "\u0000\u0000\u0000\u0000\u4D5E\u0000\u4D5F\u4D60"+
-        "\u0000\u4D61\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4D62\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4D63\u0000\u4D64\u4D65\u4D66\u0000\u0000\u4D67"+
-        "\u4D68\u0000\u4D69\u0000\u4D6A\u0000\u0000\u4D6B"+
-        "\u0000\u0000\u4D6C\u4D6D\u0000\u4D6E\u4D6F\u0000"+
-        "\u0000\u4D70\u0000\u4D71\u4D72\u4D73\u4D74\u0000"+
-        "\u0000\u0000\u0000\u4D75\u0000\u4D76\u4D77\u0000"+
-        "\u0000\u4D78\u0000\u0000\u0000\u4D79\u0000\u0000"+
-        "\u0000\u0000\u4D7A\u4D7B\u0000\u4D7C\u0000\u0000"+
-        "\u4D7D\u4D7E\u4E21\u0000\u4E22\u0000\u0000\u0000"+
-        "\u4E24\u4E25\u0000\u4E26\u4E27\u4E28\u0000\u0000"+
-        "\u0000\u4E29\u4E23\u4E2A\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4E2B\u0000\u0000"+
-        "\u0000\u4E2C\u0000\u0000\u0000\u0000\u0000\u4E2D"+
-        "\u0000\u0000\u0000\u0000\u4E2E\u4E2F\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4E30\u4E31\u4E32"+
-        "\u0000\u4E33\u0000\u0000\u4E34\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4E35\u7451\u0000\u0000\u4E36\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u4E37\u4E38\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4E39\u0000\u0000"+
-        "\u0000\u0000\u0000\u4E3A\u4E3B\u4E3C\u7452\u4E3D"+
-        "\u4E3E\u0000\u4E3F\u4E40\u4E41\u4E42\u4E43\u4E44"+
-        "\u4E45\u0000\u4E46\u0000\u0000\u4E47\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4E48\u0000\u0000"+
-        "\u0000\u4E49\u0000\u0000\u0000\u4E4A\u0000\u0000"+
-        "\u0000\u4E4B\u0000\u4E4C\u4E4D\u0000\u4E4E\u0000"+
-        "\u0000\u0000\u0000\u0000\u4E4F\u0000\u0000\u0000"+
-        "\u0000\u4E50\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u4E51\u0000\u0000\u0000\u0000\u0000\u4E52\u0000"+
-        "\u4E53\u0000\u0000\u0000\u4E54\u0000\u0000\u0000"+
-        "\u4E55\u4E56\u0000\u0000\u0000\u0000\u4E57\u0000"+
-        "\u0000\u4E58\u0000\u0000\u4E59\u0000\u0000\u0000";
-
-    private final static String innerIndex3=
-        "\u4E5A\u0000\u0000\u0000\u0000\u0000\u4E5B\u0000"+
-        "\u0000\u0000\u4E5C\u0000\u0000\u0000\u4E5D\u0000"+
-        "\u0000\u0000\u4E5E\u0000\u4E5F\u4E60\u0000\u4E61"+
-        "\u0000\u4E62\u4E63\u0000\u4E64\u0000\u0000\u0000"+
-        "\u0000\u0000\u4E65\u0000\u0000\u0000\u0000\u0000"+
-        "\u4E66\u0000\u0000\u0000\u0000\u4E67\u4E68\u4E69"+
-        "\u0000\u0000\u0000\u0000\u4E6A\u4E6B\u4E6C\u0000"+
-        "\u0000\u4E6D\u0000\u0000\u0000\u4E6E\u4E6F\u0000"+
-        "\u0000\u0000\u4E70\u0000\u0000\u4E71\u4E72\u0000"+
-        "\u0000\u0000\u4E73\u0000\u0000\u4E74\u4E75\u4E76"+
-        "\u0000\u0000\u4E77\u0000\u0000\u0000\u4E78\u4E79"+
-        "\u0000\u0000\u0000\u0000\u4E7A\u0000\u4E7B\u4E7C"+
-        "\u4E7D\u0000\u4E7E\u0000\u4F21\u0000\u0000\u4F22"+
-        "\u0000\u0000\u4F23\u0000\u4F24\u0000\u0000\u0000"+
-        "\u4F25\u0000\u4F26\u4F27\u4F28\u0000\u0000\u0000"+
-        "\u0000\u0000\u4F29\u0000\u0000\u4F2A\u0000\u0000"+
-        "\u4F2B\u0000\u0000\u0000\u4F2C\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u4F2D\u4F2E\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u4F2F\u4F30\u4F31\u0000"+
-        "\u0000\u0000\u4F32\u0000\u0000\u0000\u0000\u4F33"+
-        "\u0000\u0000\u4F34\u0000\u0000\u0000\u0000\u4F35"+
-        "\u0000\u0000\u4F36\u0000\u0000\u0000\u4F37\u4F38"+
-        "\u0000\u4F39\u0000\u0000\u0000\u4F3A\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u4F3B\u0000"+
-        "\u0000\u0000\u0000\u4F3C\u0000\u0000\u0000\u0000"+
-        "\u0000\u4F3D\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u4F3E\u4F3F\u0000\u0000\u4F40\u0000\u0000"+
-        "\u0000\u4F41\u0000\u0000\u0000\u0000\u4F42\u4F43"+
-        "\u4F44\u0000\u0000\u0000\u4F45\u0000\u4F46\u0000"+
-        "\u0000\u0000\u4F47\u0000\u4F48\u0000\u0000\u0000"+
-        "\u4F49\u4F4A\u0000\u0000\u4F4B\u0000\u0000\u0000"+
-        "\u4F4C\u0000\u0000\u4F4D\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4F4E\u4F4F\u0000"+
-        "\u0000\u4F50\u0000\u0000\u0000\u4F51\u4F52\u0000"+
-        "\u0000\u4F53\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4F54\u0000\u0000"+
-        "\u0000\u4F55\u4F56\u4F57\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u4F58\u4F59\u0000"+
-        "\u4F5A\u0000\u0000\u0000\u0000\u4F5B\u0000\u4F5C"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u4F5D\u4F5E\u0000\u0000\u4F5F"+
-        "\u4F60\u0000\u0000\u0000\u4F61\u0000\u4F62\u0000"+
-        "\u0000\u0000\u4F63\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u4F64\u0000\u4F65\u0000"+
-        "\u4F66\u4F67\u0000\u4F68\u4F69\u0000\u0000\u0000"+
-        "\u4F6A\u0000\u4F6B\u0000\u0000\u0000\u4F6C\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4F6D\u0000\u0000\u0000\u4F6E\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u4F6F\u0000\u0000\u0000\u0000\u4F70"+
-        "\u0000\u0000\u0000\u0000\u4F71\u0000\u0000\u0000"+
-        "\u4F72\u0000\u0000\u0000\u0000\u4F74\u4F75\u4F76"+
-        "\u0000\u4F73\u0000\u0000\u4F77\u0000\u0000\u0000"+
-        "\u4F78\u0000\u0000\u0000\u4F79\u4F7A\u0000\u0000"+
-        "\u4F7B\u4F7C\u4F7D\u4F7E\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5021\u0000\u5022\u0000\u5023"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5024"+
-        "\u5025\u5026\u0000\u0000\u5027\u0000\u5028\u0000"+
-        "\u0000\u0000\u5029\u502A\u0000\u502B\u502C\u0000"+
-        "\u0000\u0000\u0000\u502E\u0000\u0000\u0000\u502F"+
-        "\u5030\u5031\u0000\u0000\u502D\u0000\u5032\u0000"+
-        "\u0000\u0000\u5033\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u5034\u5035\u0000\u0000\u5037\u5038"+
-        "\u0000\u0000\u5039\u503A\u0000\u0000\u0000\u503B"+
-        "\u5036\u0000\u0000\u0000\u0000\u0000\u503C\u0000"+
-        "\u0000\u0000\u0000\u0000\u503D\u0000\u0000\u0000"+
-        "\u503E\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u503F\u0000\u5040\u0000\u5041\u5042"+
-        "\u5043\u0000\u0000\u0000\u0000\u5044\u0000\u5045"+
-        "\u0000\u5046\u0000\u0000\u0000\u5047\u0000\u0000"+
-        "\u7454\u5048\u0000\u0000\u5049\u504A\u0000\u0000"+
-        "\u0000\u0000\u0000\u504B\u0000\u504C\u0000\u504D"+
-        "\u0000\u0000\u0000\u0000\u504E\u504F\u5050\u0000"+
-        "\u0000\u0000\u5051\u5052\u0000\u0000\u0000\u5053"+
-        "\u0000\u5054\u0000\u0000\u5055\u0000\u0000\u0000"+
-        "\u5056\u0000\u0000\u5057\u5058\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5059"+
-        "\u0000\u505A\u0000\u505B\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u505C\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u505D\u0000\u505E\u505F\u0000\u5060\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5061\u5062\u0000\u0000\u0000"+
-        "\u0000\u5063\u0000\u5064\u5065\u5066\u5067\u0000"+
-        "\u5068\u0000\u0000\u5069\u506A\u0000\u0000\u0000"+
-        "\u0000\u506B\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u506C\u506D\u0000\u506E\u0000\u0000\u0000\u506F"+
-        "\u0000\u5070\u0000\u0000\u5071\u0000\u0000\u0000"+
-        "\u5072\u0000\u0000\u5073\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u5074\u0000\u5075\u0000\u0000\u5076"+
-        "\u5077\u0000\u5078\u0000\u0000\u0000\u0000\u5079"+
-        "\u0000\u0000\u0000\u0000\u507A\u0000\u507B\u0000"+
-        "\u0000\u0000\u507C\u0000\u0000\u507D\u507E\u0000"+
-        "\u5121\u0000\u5122\u0000\u0000\u5123\u0000\u0000"+
-        "\u0000\u0000\u5124\u5125\u0000\u5126\u0000\u0000"+
-        "\u0000\u5127\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5128\u0000\u0000\u0000\u5129\u0000\u0000\u0000"+
-        "\u0000\u0000\u512A\u512B\u0000\u0000\u0000\u512C"+
-        "\u0000\u512D\u512E\u0000\u512F\u0000\u0000\u0000"+
-        "\u0000\u5130\u0000\u0000\u0000\u5131\u0000\u0000"+
-        "\u0000\u0000\u0000\u5132\u0000\u0000\u5133\u0000"+
-        "\u0000\u5134\u0000\u0000\u0000\u0000\u0000\u5135"+
-        "\u0000\u0000\u0000\u5136\u0000\u5137\u0000\u5138"+
-        "\u5139\u0000\u0000\u0000\u513A\u513B\u0000\u0000"+
-        "\u513C\u513D\u513E\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u513F\u5140\u0000\u5141"+
-        "\u5142\u0000\u0000\u0000\u5143\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5144\u5145\u0000"+
-        "\u0000\u5146\u0000\u0000\u5147\u5148\u0000\u5149"+
-        "\u514A\u0000\u0000\u0000\u0000\u514B\u0000\u514C"+
-        "\u0000\u0000\u514D\u0000\u0000\u514E\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u514F\u0000\u0000"+
-        "\u5150\u0000\u0000\u0000\u0000\u0000\u5151\u0000"+
-        "\u5152\u0000\u5153\u0000\u0000\u5154\u5155\u0000"+
-        "\u0000\u0000\u5156\u5157\u0000\u0000\u0000\u0000"+
-        "\u5158\u5159\u0000\u0000\u515A\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u515B\u0000"+
-        "\u515C\u0000\u0000\u515D\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u515E\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u515F\u0000\u5160\u0000\u0000"+
-        "\u0000\u5161\u0000\u5162\u5163\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5164\u0000"+
-        "\u0000\u5165\u0000\u0000\u5166\u0000\u5167\u0000"+
-        "\u0000\u5168\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5169\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u7459"+
-        "\u516A\u516B\u0000\u516C\u516D\u0000\u0000\u0000"+
-        "\u0000\u516E\u0000\u0000\u516F\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5170\u0000\u5171\u5172\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5173"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5174\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5175"+
-        "\u0000\u0000\u0000\u5176\u0000\u0000\u0000\u5177"+
-        "\u0000\u5178\u5179\u517A\u0000\u517B\u517C\u517D"+
-        "\u517E\u5221\u0000\u0000\u5222\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5223\u0000\u5224"+
-        "\u5225\u5226\u0000\u0000\u0000\u0000\u0000\u5227"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5228\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5229\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u522A\u0000\u0000\u0000\u522B\u0000\u522C\u0000"+
-        "\u0000\u522D\u522E\u0000\u0000\u522F\u0000\u5230"+
-        "\u0000\u0000\u5231\u5232\u0000\u0000\u0000\u5233"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5234\u0000\u0000\u0000"+
-        "\u0000\u5235\u0000\u0000\u0000\u0000\u5236\u0000"+
-        "\u5237\u5238\u0000\u0000\u0000\u0000\u5239\u0000"+
-        "\u0000\u0000\u0000\u523A\u0000\u0000\u523B\u0000"+
-        "\u523C\u0000\u0000\u0000\u0000\u523D\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u523E\u0000\u0000\u523F"+
-        "\u5240\u0000\u5241\u0000\u0000\u5242\u5243\u0000"+
-        "\u0000\u0000\u5244\u5245\u5246\u5247\u0000\u0000"+
-        "\u0000\u0000\u5248\u0000\u0000\u5249\u0000\u0000"+
-        "\u524A\u0000\u524B\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u524C\u0000\u524D\u524E"+
-        "\u0000\u524F\u5250\u5251\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5252\u0000\u5253\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u5254\u0000\u5255\u5256\u0000\u0000"+
-        "\u5257\u5258\u5259\u0000\u525A\u0000\u525B\u0000"+
-        "\u0000\u525C\u525D\u525E\u525F\u0000\u5260\u0000"+
-        "\u0000\u5261\u0000\u5262\u5263\u0000\u5264\u5265"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5266\u0000\u5267\u0000\u0000\u0000\u0000"+
-        "\u5268\u0000\u0000\u0000\u0000\u5269\u526A\u0000"+
-        "\u526B\u0000\u0000\u0000\u526C\u0000\u0000\u0000"+
-        "\u0000\u526D\u0000\u526E\u526F\u0000\u5270\u0000"+
-        "\u0000\u5271\u5272\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5273\u0000"+
-        "\u0000\u0000\u5274\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5276\u5277\u5278\u0000\u5275\u0000\u0000"+
-        "\u0000\u5279\u527A\u527B\u527C\u527D\u527E\u0000"+
-        "\u0000\u5321\u0000\u5322\u0000\u0000\u0000\u5323"+
-        "\u0000\u5324\u0000\u0000\u0000\u5325\u5326\u0000"+
-        "\u5327\u0000\u5328\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5329\u0000\u0000\u532A\u532B\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u532C\u532D"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u532E"+
-        "\u0000\u0000\u0000\u0000\u532F\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5330\u0000"+
-        "\u5331\u0000\u0000\u0000\u0000\u0000\u5332\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5333\u0000\u0000\u0000\u0000\u0000\u5334\u5335"+
-        "\u0000\u0000\u5336\u5337\u5338\u0000\u0000\u5339"+
-        "\u0000\u0000\u0000\u0000\u533A\u0000\u0000\u533B"+
-        "\u533C\u533D\u0000\u0000\u0000\u533E\u0000\u533F"+
-        "\u0000\u0000\u0000\u5340\u5341\u5342\u0000\u5343"+
-        "\u0000\u5344\u5345\u0000\u0000\u5346\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5347\u0000"+
-        "\u0000\u5348\u0000\u5349\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u534A\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u534B\u0000\u0000\u0000\u534C"+
-        "\u534D\u534E\u0000\u0000\u0000\u0000\u0000\u534F"+
-        "\u0000\u5350\u5351\u5352\u0000\u0000\u5353\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5354\u5355\u0000"+
-        "\u0000\u0000\u0000\u5356\u0000\u0000\u5357\u0000"+
-        "\u0000\u0000\u5358\u0000\u0000\u5359\u0000\u0000"+
-        "\u0000\u535A\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u535B\u535C\u535D\u0000"+
-        "\u535E\u535F\u0000\u0000\u0000\u0000\u0000\u5360"+
-        "\u5361\u0000\u0000\u0000\u0000\u5362\u0000\u0000"+
-        "\u0000\u5363\u0000\u5364\u0000\u0000\u0000\u5365"+
-        "\u0000\u5366\u5367\u0000\u5368\u5369\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u536A\u0000\u536B"+
-        "\u0000\u0000\u536C\u0000\u0000\u0000\u0000\u0000"+
-        "\u536D\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u536E\u0000\u536F\u5370\u0000\u0000\u0000\u5371"+
-        "\u0000\u5372\u5373\u5374\u0000\u5375\u5376\u0000"+
-        "\u5377\u0000\u0000\u5378\u5379\u537A\u0000\u0000"+
-        "\u0000\u537B\u0000\u0000\u0000\u0000\u537C\u537D"+
-        "\u0000\u0000\u0000\u0000\u0000\u537E\u5421\u0000"+
-        "\u745C\u0000\u0000\u0000\u0000\u0000\u5422\u5423"+
-        "\u0000\u0000\u5424\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5425\u0000\u0000\u5426\u5427"+
-        "\u0000\u5428\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u5429\u542A\u542B\u542C\u542D\u0000"+
-        "\u0000\u0000\u0000\u0000\u542E\u542F\u5430\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u745D\u5431"+
-        "\u0000\u5432\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u5434\u0000\u0000\u5435\u5436\u0000"+
-        "\u0000\u0000\u5437\u5438\u0000\u5439\u0000\u0000"+
-        "\u0000\u543A\u0000\u0000\u0000\u543B\u543C\u0000"+
-        "\u0000\u543D\u543E\u0000\u0000\u0000\u0000\u0000"+
-        "\u5433\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u543F\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5440\u5441\u0000\u0000\u0000\u5442\u0000\u5443"+
-        "\u0000\u0000\u0000\u0000\u5444\u5445\u0000\u0000"+
-        "\u5446\u0000\u0000\u0000\u0000\u0000\u0000\u5447"+
-        "\u5448\u0000\u0000\u0000\u5449\u544A\u0000\u544B"+
-        "\u0000\u0000\u0000\u544C\u0000\u0000\u544D\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u544E"+
-        "\u0000\u0000\u0000\u0000\u544F\u5450\u0000\u5451"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5452\u0000"+
-        "\u5453\u0000\u5454\u0000\u0000\u0000\u0000\u0000"+
-        "\u5455\u0000\u0000\u0000\u0000\u0000\u0000\u5456"+
-        "\u0000\u5457\u5458\u0000\u0000\u5459\u0000\u0000"+
-        "\u0000\u0000\u0000\u545A\u0000\u0000\u545B\u545C"+
-        "\u0000\u0000\u0000\u545D\u0000\u0000\u0000\u0000"+
-        "\u545E\u0000\u0000\u0000\u0000\u0000\u545F\u0000"+
-        "\u0000\u5460\u0000\u0000\u0000\u0000\u5461\u5462"+
-        "\u0000\u0000\u5463\u0000\u0000\u5464\u0000\u0000"+
-        "\u0000\u5465\u0000\u0000\u0000\u5466\u0000\u0000"+
-        "\u5467\u0000\u5468\u0000\u0000\u5469\u546A\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u546C\u546B\u546D\u546E\u546F"+
-        "\u0000\u0000\u0000\u5470\u5471\u0000\u0000\u5472"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5473"+
-        "\u0000\u0000\u5474\u5475\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5476\u5477\u5478\u0000\u0000"+
-        "\u0000\u5479\u0000\u547A\u547B\u547C\u547D\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u547E\u0000\u0000"+
-        "\u0000\u5521\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5522\u5523\u5524"+
-        "\u5525\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5526\u0000\u5527\u0000\u5528"+
-        "\u5529\u552A\u0000\u0000\u0000\u0000\u552B\u552C"+
-        "\u0000\u0000\u0000\u0000\u552D\u0000\u0000\u0000"+
-        "\u0000\u552E\u552F\u0000\u0000\u0000\u5530\u0000"+
-        "\u0000\u0000\u5531\u0000\u0000\u5532\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5533\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5534\u0000\u0000\u5535"+
-        "\u5536\u0000\u0000\u5537\u0000\u0000\u0000\u0000"+
-        "\u5538\u0000\u0000\u0000\u0000\u0000\u5539\u553A"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u553B\u0000\u0000\u0000\u553C"+
-        "\u0000\u0000\u0000\u553D\u0000\u553E\u0000\u0000"+
-        "\u553F\u0000\u0000\u0000\u5540\u0000\u5541\u5542"+
-        "\u0000\u0000\u5543\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u5544\u0000\u0000\u5545\u5546\u5547"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5548"+
-        "\u5549\u0000\u554A\u0000\u0000\u554B\u554C\u554D"+
-        "\u0000\u554E\u0000\u554F\u5550\u0000\u5551\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5552\u5553\u5554"+
-        "\u5555\u0000\u0000\u0000\u5556\u0000\u5557\u0000"+
-        "\u0000\u0000\u0000\u0000\u5558\u0000\u5559\u0000"+
-        "\u555A\u0000\u0000\u0000\u555B\u555C\u0000\u555D"+
-        "\u0000\u555E\u555F\u0000\u5560\u0000\u5561\u0000"+
-        "\u5562\u0000\u0000\u0000\u5563\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5564\u0000\u0000\u0000\u5565\u0000\u5566\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5567\u0000\u0000"+
-        "\u0000\u5568\u0000\u0000\u0000\u5569\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u556A\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u556B\u0000\u0000\u0000\u0000\u0000\u556C\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u556D\u0000\u556E\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u556F\u5570"+
-        "\u0000\u0000\u0000\u5571\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5572\u5573\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5574\u0000\u0000\u0000\u0000\u5575\u0000\u5576"+
-        "\u0000\u0000\u5577\u0000\u5578\u5579\u0000\u557A"+
-        "\u557B\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u557C\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u557D\u557E\u0000"+
-        "\u5621\u0000\u5622\u5623\u0000\u0000\u5624\u0000"+
-        "\u0000\u5625\u5626\u0000\u0000\u0000\u5627\u0000"+
-        "\u0000\u0000\u0000\u5628\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5629\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u562A\u562B"+
-        "\u562C\u0000\u0000\u0000\u562D\u0000\u562E\u0000"+
-        "\u562F\u0000\u0000\u0000\u5630\u0000\u0000\u5631"+
-        "\u0000\u0000\u0000\u0000\u5632\u0000\u0000\u0000"+
-        "\u5633\u0000\u0000\u0000\u0000\u5634\u0000\u0000"+
-        "\u0000\u0000\u5635\u0000\u5636\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5637\u0000\u5638"+
-        "\u0000\u0000\u5639\u0000\u563A\u0000\u0000\u0000"+
-        "\u0000\u0000\u563B\u0000\u0000\u0000\u0000\u563C"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u563D\u563E\u0000\u0000\u0000\u0000\u0000\u563F"+
-        "\u5640\u5641\u0000\u0000\u0000\u5642\u0000\u5643"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5644"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5645\u0000\u0000\u5647\u5648\u5649\u0000"+
-        "\u0000\u0000\u0000\u564A\u0000\u0000\u564B\u0000"+
-        "\u5646\u0000\u0000\u0000\u0000\u0000\u564C\u0000"+
-        "\u564D\u0000\u0000\u564E\u0000\u0000\u564F\u0000"+
-        "\u0000\u0000\u5650\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5651\u0000"+
-        "\u0000\u0000\u5652\u0000\u5653\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5654\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5656\u0000\u5657\u0000\u0000"+
-        "\u0000\u0000\u5658\u5655\u0000\u0000\u5659\u565A"+
-        "\u0000\u0000\u0000\u0000\u0000\u565B\u0000\u565C"+
-        "\u0000\u0000\u0000\u565D\u0000\u565E\u565F\u0000"+
-        "\u0000\u5660\u0000\u0000\u5661\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5662\u5663\u0000\u0000\u0000"+
-        "\u5664\u5665\u5666\u0000\u0000\u5667\u5668\u0000"+
-        "\u5669\u566A\u0000\u0000\u0000\u566B\u0000\u566C"+
-        "\u566D\u0000\u0000\u566E\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u566F"+
-        "\u0000\u0000\u0000\u5670\u5671\u0000\u0000\u0000"+
-        "\u0000\u5672\u5673\u0000\u0000\u5674\u0000\u0000"+
-        "\u0000\u5675\u5676\u0000\u0000\u0000\u0000\u0000"+
-        "\u5677\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u5678\u0000\u5679\u0000\u0000\u0000"+
-        "\u0000\u0000\u567A\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u567B\u567C\u567D\u567E\u0000"+
-        "\u0000\u0000\u0000\u5721\u0000\u0000\u5722\u5723"+
-        "\u0000\u5724\u0000\u0000\u0000\u0000\u5725\u0000"+
-        "\u0000\u0000\u0000\u0000\u5726\u0000\u0000\u0000"+
-        "\u5727\u0000\u0000\u5728\u0000\u0000\u0000\u5729"+
-        "\u0000\u0000\u0000\u0000\u0000\u572A\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u572B\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u572C\u0000\u572D\u0000\u572E"+
-        "\u572F\u5730\u0000\u5731\u5732\u0000\u0000\u5733"+
-        "\u0000\u5734\u5735\u0000\u0000\u0000\u5736\u0000"+
-        "\u0000\u5737\u0000\u0000\u5738\u0000\u5739\u0000"+
-        "\u573A\u0000\u573B\u573C\u0000\u0000\u0000\u0000"+
-        "\u573D\u573E\u0000\u573F\u5740\u0000\u0000\u5741"+
-        "\u5742\u5743\u5744\u0000\u0000\u0000\u5745\u0000"+
-        "\u5746\u0000\u5747\u0000\u5748\u0000\u0000\u5749"+
-        "\u0000\u0000\u574A\u0000\u574B\u0000\u574C\u574D"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u574E\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u574F\u0000\u0000\u0000\u0000\u5750\u0000\u0000"+
-        "\u0000\u0000\u5751\u0000\u0000\u0000\u0000\u0000"+
-        "\u5752\u0000\u5753\u0000\u5754\u0000\u0000\u0000"+
-        "\u5755\u0000\u5756\u0000\u0000\u5757\u0000\u5758"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5759\u575A"+
-        "\u0000\u0000\u0000\u0000\u0000\u575B\u575C\u0000"+
-        "\u575D\u575E\u0000\u0000\u0000\u0000\u0000\u575F"+
-        "\u5760\u0000\u5761\u5762\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5764\u0000\u5765\u5766\u5767"+
-        "\u0000\u5768\u5769\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u576A\u576B\u576C\u0000"+
-        "\u576D\u0000\u0000\u576E\u0000\u0000\u0000\u576F"+
-        "\u0000\u0000\u5770\u0000\u5771\u5772\u0000\u0000"+
-        "\u0000\u0000\u5773\u5774\u5775\u0000\u0000\u5776"+
-        "\u0000\u0000\u0000\u0000\u0000\u5777\u5778\u0000"+
-        "\u0000\u5779\u0000\u583E\u5763\u577A\u577B\u577C"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u745F\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u577D\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u577E\u0000\u0000\u0000\u0000\u5821\u0000\u5822"+
-        "\u5823\u0000\u5824\u0000\u5825\u0000\u5826\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5827\u0000\u0000"+
-        "\u0000\u0000\u5828\u0000\u5829\u582A\u0000\u0000"+
-        "\u582B\u582C\u0000\u582D\u582E\u582F\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5830\u5831"+
-        "\u0000\u5832\u0000\u0000\u5833\u584C\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5834\u5835"+
-        "\u5836\u0000\u0000\u0000\u0000\u0000\u0000\u5837"+
-        "\u0000\u5838\u0000\u0000\u0000\u0000\u0000\u5839"+
-        "\u583A\u583B\u0000\u0000\u583C\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u583D\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u583F\u0000\u5840\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5841\u0000"+
-        "\u5842\u5843\u0000\u0000\u5844\u0000\u0000\u0000"+
-        "\u0000\u5845\u0000\u0000\u0000\u0000\u5846\u0000"+
-        "\u0000\u0000\u5847\u0000\u0000\u0000\u0000\u5848"+
-        "\u0000\u5849\u0000\u0000\u0000\u584A\u0000\u0000"+
-        "\u0000\u584B\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u584D"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u584E\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u584F\u0000\u5850"+
-        "\u5851\u0000\u5852\u0000\u0000\u5853\u0000\u5854"+
-        "\u0000\u5855\u5856\u0000\u0000\u0000\u5857\u0000"+
-        "\u5858\u5859\u585A\u0000\u585B\u0000\u0000\u0000"+
-        "\u585C\u0000\u0000\u0000\u585D\u585E\u0000\u585F"+
-        "\u0000\u0000\u5860\u0000\u0000\u0000\u0000\u0000"+
-        "\u5861\u0000\u0000\u5862\u5863\u0000\u5864\u0000"+
-        "\u5865\u0000\u0000\u0000\u5866\u5867\u0000\u0000"+
-        "\u0000\u5868\u0000\u0000\u0000\u5869\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u586A\u586B\u0000\u586C\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u586D\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u586E\u0000"+
-        "\u586F\u5870\u5871\u0000\u0000\u0000\u0000\u5872"+
-        "\u0000\u5873\u0000\u0000\u5874\u0000\u0000\u0000"+
-        "\u0000\u0000\u5875\u0000\u0000\u5876\u5877\u0000"+
-        "\u5878\u0000\u5879\u0000\u0000\u0000\u0000\u587A"+
-        "\u587B\u0000\u0000\u0000\u587C\u0000\u0000\u587D"+
-        "\u0000\u0000\u0000\u587E\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5921\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5922"+
-        "\u0000\u0000\u5923\u0000\u0000\u0000\u0000\u5924"+
-        "\u5925\u5926\u5927\u0000\u0000\u0000\u0000\u5928"+
-        "\u0000\u0000\u592A\u592B\u0000\u592C\u0000\u0000"+
-        "\u0000\u0000\u592D\u592E\u0000\u0000\u0000\u592F"+
-        "\u0000\u0000\u0000\u0000\u5930\u0000\u5931\u0000"+
-        "\u5932\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5933\u0000\u5934\u0000"+
-        "\u0000\u0000\u5935\u5936\u5937\u5938\u0000\u5939"+
-        "\u0000\u0000\u593A\u593B\u0000\u0000\u0000\u593C"+
-        "\u0000\u0000\u5929\u593D\u593E\u0000\u593F\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5940"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5941\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5942"+
-        "\u5943\u5944\u5945\u5946\u0000\u0000\u5947\u0000"+
-        "\u0000\u5948\u0000\u0000\u5949\u594A\u594B\u594C"+
-        "\u594D\u594E\u594F\u0000\u5950\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5951\u0000\u0000\u0000\u5952"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5953\u5954\u5955\u0000\u5956\u0000\u5957"+
-        "\u0000\u5958\u0000\u0000\u0000\u5959\u595A\u0000"+
-        "\u0000\u595B\u0000\u595C\u595D\u0000\u0000\u595E"+
-        "\u0000\u0000\u0000\u595F\u0000\u0000\u0000\u0000"+
-        "\u5960\u0000\u0000\u0000\u0000\u5961\u0000\u5962"+
-        "\u5963\u0000\u5964\u0000\u0000\u5965\u0000\u5966"+
-        "\u0000\u0000\u0000\u0000\u0000\u5974\u0000\u0000"+
-        "\u7461\u0000\u0000\u0000\u5967\u0000\u5968\u5969"+
-        "\u596A\u0000\u0000\u0000\u596B\u596C\u596D\u596E"+
-        "\u0000\u0000\u596F\u0000\u0000\u0000\u0000\u5970"+
-        "\u0000\u0000\u5971\u5972\u0000\u0000\u5973\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5975\u0000\u5976\u0000\u0000\u0000\u0000\u5977"+
-        "\u5978\u0000\u0000\u0000\u0000\u0000\u5979\u0000"+
-        "\u597A\u0000\u0000\u0000\u0000\u597B\u0000\u0000"+
-        "\u0000\u0000\u0000\u597C\u0000\u0000\u597D\u0000"+
-        "\u0000\u0000\u0000\u0000\u597E\u0000\u0000\u5A21"+
-        "\u5A22\u0000\u0000\u0000\u5A23\u5A24\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5A25\u5A26\u0000"+
-        "\u5A27\u5A28\u5A29\u0000\u0000\u0000\u0000\u0000"+
-        "\u5A2A\u5A2B\u0000\u5A2C\u0000\u0000\u5A2D\u0000"+
-        "\u0000\u5A2E\u0000\u0000\u0000\u0000\u0000\u5A2F"+
-        "\u0000\u5A30\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5A31\u0000"+
-        "\u5A32\u0000\u5A33\u0000\u5A34\u5A35\u0000\u0000"+
-        "\u5A36\u3866\u5A37\u0000\u0000\u0000\u5A38\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u5A39\u5A3A\u0000\u0000\u5A3B\u5A3C"+
-        "\u5A3D\u5A3E\u0000\u0000\u0000\u5A3F\u0000\u0000"+
-        "\u5A40\u5A41\u5A42\u5A43\u5A44\u0000\u0000\u0000"+
-        "\u0000\u5A45\u0000\u0000\u5A46\u0000\u0000\u5A47"+
-        "\u0000\u0000\u0000\u0000\u0000\u5A48\u5A49\u5A4A"+
-        "\u0000\u0000\u5A4B\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5A6D\u0000\u0000\u0000\u0000\u5A4C\u0000\u0000"+
-        "\u0000\u5A4D\u0000\u0000\u0000\u0000\u5A4E\u0000"+
-        "\u5A4F\u0000\u5A50\u0000\u5A51\u0000\u0000\u0000"+
-        "\u0000\u5A52\u0000\u0000\u0000\u0000\u5A53\u5A54"+
-        "\u5A55\u0000\u0000\u0000\u0000\u5A56\u0000\u0000"+
-        "\u0000\u5A57\u0000\u5A58\u5A59\u5A5A\u0000\u5A5B"+
-        "\u5A5C\u5A5D\u0000\u0000\u0000\u0000\u0000\u5A5E"+
-        "\u5A5F\u5A60\u0000\u5A61\u0000\u5A62\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5A63\u5A64\u0000\u0000\u5A65\u0000\u5A66"+
-        "\u0000\u0000\u5A67\u0000\u5A68\u0000\u0000\u0000"+
-        "\u5A69\u0000\u0000\u5A6A\u0000\u5A6B\u0000\u5A6C"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u5A6E\u0000\u5A6F\u5A70\u0000\u0000";
-
-    private final static String innerIndex4=
-        "\u0000\u0000\u0000\u0000\u5A71\u5A72\u0000\u5A73"+
-        "\u0000\u0000\u0000\u5A74\u0000\u0000\u5A75\u5A76"+
-        "\u5A77\u0000\u0000\u5A78\u5A79\u0000\u0000\u0000"+
-        "\u0000\u5A7A\u0000\u0000\u0000\u0000\u5A7B\u5A7C"+
-        "\u0000\u5A7D\u0000\u5A7E\u0000\u0000\u0000\u0000"+
-        "\u5B21\u0000\u0000\u0000\u0000\u0000\u5B22\u5B23"+
-        "\u0000\u5B24\u5B25\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5B26\u5B27\u0000\u5B28\u5B29\u5B2A\u0000"+
-        "\u5B2B\u0000\u0000\u5B2C\u0000\u5B2D\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5B2E\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5B2F\u0000\u0000\u0000\u0000\u5B30\u0000\u0000"+
-        "\u0000\u5B31\u0000\u0000\u5B32\u5B33\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5B34"+
-        "\u0000\u5B35\u5B36\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5B37\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5B38\u5B39\u5B3A\u5B3B\u5B3C"+
-        "\u5B3D\u5B3E\u0000\u5B3F\u5B40\u0000\u0000\u0000"+
-        "\u5B41\u0000\u0000\u5B42\u0000\u5B43\u0000\u5B44"+
-        "\u5B45\u5B46\u0000\u0000\u0000\u0000\u5B47\u0000"+
-        "\u5B48\u0000\u0000\u5B49\u0000\u0000\u0000\u5B4A"+
-        "\u0000\u0000\u0000\u0000\u5B4B\u5B4C\u5B4D\u0000"+
-        "\u0000\u5B4E\u0000\u0000\u0000\u5B4F\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5B50\u5B51"+
-        "\u0000\u5B52\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5B53\u5B54\u5B55\u0000\u0000\u0000\u5B56\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5B57\u5B58\u0000"+
-        "\u0000\u5B59\u5B5A\u0000\u5B5B\u0000\u0000\u5B5C"+
-        "\u0000\u0000\u5B5D\u5B5E\u5B5F\u0000\u0000\u0000"+
-        "\u0000\u0000\u5B60\u5B61\u0000\u5B62\u0000\u0000"+
-        "\u0000\u5B63\u0000\u5B64\u0000\u0000\u0000\u0000"+
-        "\u5B65\u0000\u5B66\u0000\u0000\u0000\u0000\u5B67"+
-        "\u0000\u5B68\u0000\u5B69\u0000\u0000\u5B6A\u7464"+
-        "\u0000\u5B6B\u5B6C\u5B6D\u0000\u0000\u0000\u0000"+
-        "\u5B6E\u0000\u5B70\u5B71\u5B72\u0000\u0000\u0000"+
-        "\u5B73\u5B6F\u5B74\u5B75\u5B76\u0000\u5B77\u5B78"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5B79\u0000\u0000\u0000\u0000\u5B7A\u5B7B\u0000"+
-        "\u5B7C\u0000\u5B7D\u0000\u0000\u5B7E\u0000\u0000"+
-        "\u0000\u0000\u5C21\u0000\u5C22\u0000\u0000\u0000"+
-        "\u0000\u5C23\u0000\u5C24\u0000\u5C25\u0000\u0000"+
-        "\u5C26\u5C27\u5C28\u5C29\u0000\u0000\u5C2A\u0000"+
-        "\u0000\u5C2B\u0000\u0000\u0000\u5C2C\u5C2D\u0000"+
-        "\u5C2E\u0000\u5C2F\u0000\u5C30\u0000\u0000\u5C31"+
-        "\u5C32\u0000\u0000\u0000\u5C33\u0000\u0000\u0000"+
-        "\u0000\u5C34\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5C35\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5C36\u0000\u5C37\u0000\u0000\u0000\u0000"+
-        "\u5C38\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5C39\u0000\u5C3A\u5C3B\u5C3C\u0000\u0000\u5C3D"+
-        "\u5C3E\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5C3F\u0000\u5C40\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u5C41\u0000\u0000\u5C42\u5C43\u0000"+
-        "\u5C44\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u5C45\u5C46\u5C47\u5C48\u5C49\u0000"+
-        "\u0000\u5C4A\u5C4B\u5C4C\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5C4D\u0000\u0000\u5C4E\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5C4F"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5C50"+
-        "\u5C51\u5C52\u0000\u0000\u0000\u5C53\u0000\u5C54"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5C55\u0000\u0000\u0000\u0000\u5C56\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5C57\u5C58\u5C59"+
-        "\u0000\u0000\u0000\u0000\u0000\u5C5A\u5C5B\u0000"+
-        "\u5C5C\u5C5D\u5C5E\u0000\u5C5F\u0000\u0000\u0000"+
-        "\u5C60\u0000\u0000\u0000\u0000\u0000\u5C61\u5C62"+
-        "\u5C63\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5C64\u5C65\u5C66\u0000\u0000\u5C67\u0000\u0000"+
-        "\u0000\u5C68\u5C69\u0000\u0000\u0000\u5C6A\u0000"+
-        "\u5C6B\u0000\u5C6C\u0000\u0000\u5C6D\u5C6E\u0000"+
-        "\u0000\u5C6F\u0000\u0000\u0000\u0000\u0000\u5C70"+
-        "\u0000\u0000\u5C71\u0000\u0000\u0000\u0000\u5C72"+
-        "\u0000\u0000\u5C73\u5C74\u5C75\u0000\u0000\u0000"+
-        "\u0000\u5C76\u5C77\u5C78\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u5C79\u0000\u0000\u5C7A\u0000"+
-        "\u5C7B\u0000\u0000\u5C7C\u0000\u5C7D\u0000\u0000"+
-        "\u0000\u0000\u5C7E\u5D21\u5D22\u5D23\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5D24\u0000\u0000\u0000\u5D25\u0000\u0000"+
-        "\u5D26\u0000\u0000\u0000\u5D27\u5D28\u0000\u0000"+
-        "\u0000\u0000\u0000\u5D29\u5D2A\u0000\u0000\u5D2B"+
-        "\u5D2C\u0000\u0000\u0000\u0000\u5D2D\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5D2E\u0000\u0000\u0000\u5D2F\u5D30\u5D31\u5D32"+
-        "\u0000\u0000\u0000\u0000\u5D33\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5D34\u5D35\u5D36\u5D37"+
-        "\u5D38\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5D39\u0000\u0000"+
-        "\u0000\u5D3A\u0000\u5D3B\u0000\u5D3C\u0000\u0000"+
-        "\u0000\u5D3D\u0000\u5D3E\u0000\u0000\u5D3F\u0000"+
-        "\u0000\u5D40\u0000\u0000\u0000\u5D41\u0000\u5D42"+
-        "\u0000\u0000\u0000\u0000\u5D43\u5D44\u0000\u5D45"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5D46"+
-        "\u0000\u5D47\u5D48\u0000\u5D49\u5D4A\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5D4B\u0000"+
-        "\u5D4C\u0000\u5D4D\u0000\u5D4E\u0000\u5D4F\u0000"+
-        "\u0000\u0000\u0000\u5D50\u5D51\u0000\u0000\u5D52"+
-        "\u0000\u0000\u0000\u0000\u0000\u5D53\u0000\u5D54"+
-        "\u0000\u0000\u0000\u0000\u0000\u5D55\u5D56\u0000"+
-        "\u5D57\u0000\u0000\u5D58\u0000\u5D59\u0000\u5D5A"+
-        "\u0000\u5D5B\u0000\u0000\u0000\u5D5C\u5D5D\u0000"+
-        "\u0000\u0000\u0000\u5D5E\u0000\u0000\u5D5F\u5D60"+
-        "\u5D61\u0000\u0000\u0000\u5D62\u5D63\u0000\u0000"+
-        "\u0000\u5D64\u0000\u0000\u0000\u5D65\u0000\u5D66"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5D67\u5D68\u5D69"+
-        "\u0000\u5D6A\u5D6B\u5D6C\u0000\u0000\u5D6D\u5D6E"+
-        "\u5D6F\u0000\u0000\u5D70\u0000\u0000\u5D71\u0000"+
-        "\u0000\u0000\u0000\u5D72\u0000\u0000\u0000\u5D73"+
-        "\u5D74\u0000\u5D75\u0000\u0000\u0000\u5D76\u5D77"+
-        "\u0000\u5D78\u0000\u0000\u0000\u0000\u0000\u5D79"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5D7A"+
-        "\u0000\u5D7B\u0000\u0000\u0000\u0000\u5D7C\u5D7D"+
-        "\u0000\u0000\u0000\u5D7E\u0000\u0000\u5E21\u5E22"+
-        "\u0000\u0000\u0000\u5E23\u0000\u0000\u5E24\u0000"+
-        "\u0000\u0000\u0000\u5E25\u0000\u0000\u5E26\u0000"+
-        "\u5E27\u5E28\u5E29\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5E2A\u0000\u5E2B\u5E2C\u5E2D\u0000\u5E2E"+
-        "\u0000\u0000\u0000\u0000\u0000\u5E2F\u0000\u5E30"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5E31\u0000\u0000\u0000"+
-        "\u5E32\u0000\u0000\u0000\u5E33\u5E34\u5E35\u0000"+
-        "\u0000\u0000\u0000\u0000\u5E36\u0000\u0000\u5E37"+
-        "\u0000\u0000\u0000\u0000\u0000\u5E38\u5E39\u0000"+
-        "\u0000\u0000\u5E3F\u5E3A\u0000\u0000\u0000\u0000"+
-        "\u0000\u5E3B\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5E3C\u0000\u5E3D\u5E3E"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5E40\u0000\u0000"+
-        "\u5E41\u0000\u0000\u0000\u0000\u0000\u0000\u5E42"+
-        "\u0000\u0000\u0000\u0000\u5E43\u0000\u0000\u0000"+
-        "\u0000\u0000\u5E44\u5E45\u5E46\u5E47\u5E48\u0000"+
-        "\u5E49\u0000\u0000\u0000\u0000\u5E4E\u0000\u0000"+
-        "\u0000\u0000\u5E4A\u5E4B\u5E4C\u0000\u0000\u0000"+
-        "\u0000\u5E4D\u0000\u0000\u0000\u0000\u5E4F\u0000"+
-        "\u0000\u0000\u0000\u5E50\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5E51\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5E52\u0000"+
-        "\u5E53\u5E54\u0000\u0000\u5E55\u0000\u5E56\u7466"+
-        "\u0000\u5E57\u0000\u0000\u5E58\u5E59\u0000\u0000"+
-        "\u0000\u0000\u0000\u5E5A\u0000\u5E5B\u0000\u5E5C"+
-        "\u0000\u0000\u0000\u0000\u5E5D\u5E5E\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5E5F\u0000\u5E60\u5E61"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5E62\u5E63\u0000\u0000\u0000\u5E64\u5E65\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5E66\u0000\u5E67"+
-        "\u0000\u5E68\u0000\u5E69\u0000\u0000\u0000\u5E6A"+
-        "\u0000\u5E6B\u0000\u5E6C\u5E6D\u0000\u0000\u5E6E"+
-        "\u5E6F\u5E72\u0000\u5E70\u0000\u5E71\u0000\u0000"+
-        "\u0000\u0000\u0000\u5E73\u5E74\u0000\u5E75\u0000"+
-        "\u5E76\u5E77\u0000\u0000\u0000\u5E78\u0000\u0000"+
-        "\u0000\u0000\u0000\u5E79\u0000\u5E7A\u5E7B\u0000"+
-        "\u0000\u0000\u0000\u5E7C\u0000\u0000\u5E7D\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5E7E\u5F21"+
-        "\u0000\u0000\u0000\u5F22\u0000\u0000\u0000\u0000"+
-        "\u5F23\u0000\u5F24\u5F25\u0000\u0000\u0000\u0000"+
-        "\u0000\u5F26\u0000\u5F27\u5F28\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5F29\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u5F2A\u5F2B\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5F2C\u5F2D\u0000"+
-        "\u0000\u5F2E\u0000\u5F2F\u0000\u0000\u0000\u5F30"+
-        "\u0000\u0000\u0000\u0000\u0000\u5F32\u5F31\u0000"+
-        "\u0000\u5F33\u0000\u0000\u0000\u5F34\u0000\u0000"+
-        "\u0000\u5F35\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5F36\u0000\u0000\u0000\u5F37\u0000\u0000\u5F38"+
-        "\u5F39\u0000\u5F3A\u0000\u7467\u5F3B\u0000\u5F3C"+
-        "\u5F3D\u0000\u0000\u0000\u0000\u0000\u5F3E\u5F3F"+
-        "\u0000\u5F40\u0000\u5F41\u0000\u0000\u0000\u0000"+
-        "\u0000\u5F42\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u5F43\u0000\u0000\u0000\u0000\u5F44"+
-        "\u0000\u0000\u0000\u5F45\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5F46\u0000\u0000"+
-        "\u0000\u5F47\u0000\u0000\u5F48\u0000\u5F49\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u7468\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5F4A"+
-        "\u0000\u0000\u5F4B\u0000\u5F4C\u0000\u0000\u0000"+
-        "\u5F4D\u0000\u0000\u0000\u0000\u5F4E\u0000\u0000"+
-        "\u5F4F\u5F50\u0000\u0000\u0000\u5F51\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u5F52\u5F53"+
-        "\u5F54\u0000\u0000\u0000\u0000\u0000\u5F55\u0000"+
-        "\u0000\u0000\u0000\u5F56\u5F57\u0000\u0000\u5F58"+
-        "\u0000\u0000\u5F59\u0000\u0000\u5F5A\u0000\u5F5B"+
-        "\u0000\u5F5C\u0000\u5F5D\u5F6F\u0000\u0000\u0000"+
-        "\u5F5E\u0000\u0000\u0000\u0000\u5F5F\u5F60\u5F61"+
-        "\u5F62\u0000\u5F63\u0000\u0000\u0000\u5F64\u0000"+
-        "\u0000\u5F65\u0000\u0000\u5F66\u5F67\u0000\u5F68"+
-        "\u0000\u5F69\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u5F6A\u5F6B\u0000\u5F6C"+
-        "\u0000\u0000\u0000\u0000\u5F6D\u0000\u0000\u0000"+
-        "\u5F6E\u5F70\u5F71\u0000\u5F72\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u5F73\u0000\u0000"+
-        "\u0000\u5F74\u0000\u0000\u5F75\u5F76\u5F77\u0000"+
-        "\u0000\u0000\u0000\u5F78\u0000\u0000\u0000\u0000"+
-        "\u0000\u5F79\u0000\u0000\u5F7A\u0000\u5F7B\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u5F7C\u5F7D\u5F7E\u6021\u0000\u0000\u6022\u6023"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6024\u0000\u6025\u0000\u0000\u6026\u6027"+
-        "\u6028\u6029\u0000\u0000\u0000\u602A\u0000\u0000"+
-        "\u602B\u602C\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u602D\u0000\u602E\u602F\u6030"+
-        "\u0000\u0000\u0000\u0000\u6031\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6032\u6033\u6034\u6035\u0000"+
-        "\u0000\u6036\u6037\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6038\u0000\u0000\u6039\u603A\u0000\u603B"+
-        "\u603C\u603D\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u603E\u603F\u6040\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6041\u6042\u0000\u0000\u0000\u0000"+
-        "\u0000\u6043\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6044\u0000\u6045\u0000\u0000\u6046\u0000\u0000"+
-        "\u0000\u0000\u6047\u6048\u0000\u6049\u604A\u0000"+
-        "\u0000\u0000\u604B\u0000\u0000\u0000\u0000\u604C"+
-        "\u0000\u604D\u0000\u0000\u0000\u604E\u604F\u0000"+
-        "\u0000\u0000\u0000\u6050\u0000\u6051\u0000\u0000"+
-        "\u0000\u0000\u6052\u6053\u0000\u0000\u0000\u0000"+
-        "\u6054\u6055\u0000\u6056\u6057\u0000\u0000\u6058"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6059"+
-        "\u0000\u605A\u0000\u0000\u605B\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u605C\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u605D\u0000\u0000\u0000\u0000\u6064\u605E\u0000"+
-        "\u605F\u6060\u0000\u0000\u0000\u0000\u0000\u6061"+
-        "\u0000\u6062\u6063\u0000\u0000\u0000\u0000\u0000"+
-        "\u6065\u0000\u6066\u0000\u0000\u0000\u0000\u6067"+
-        "\u6068\u0000\u0000\u0000\u0000\u0000\u0000\u6069"+
-        "\u606A\u0000\u0000\u0000\u0000\u0000\u606B\u606C"+
-        "\u606D\u0000\u0000\u0000\u0000\u0000\u606E\u0000"+
-        "\u606F\u6070\u0000\u6071\u0000\u6072\u0000\u6073"+
-        "\u6074\u0000\u0000\u0000\u6075\u6076\u6077\u0000"+
-        "\u0000\u0000\u0000\u0000\u6078\u6079\u607A\u607B"+
-        "\u0000\u0000\u607C\u0000\u0000\u0000\u0000\u0000"+
-        "\u607D\u607E\u0000\u6121\u0000\u0000\u0000\u6122"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6123"+
-        "\u0000\u6124\u6125\u6126\u6127\u6128\u0000\u0000"+
-        "\u6129\u0000\u0000\u0000\u0000\u612A\u612B\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u612C\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u612D\u0000\u0000"+
-        "\u612E\u612F\u0000\u0000\u6130\u6131\u6132\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6133\u6134\u0000"+
-        "\u6135\u0000\u0000\u0000\u0000\u0000\u6136\u0000"+
-        "\u6137\u6138\u0000\u0000\u0000\u0000\u6139\u0000"+
-        "\u0000\u0000\u613A\u613B\u0000\u613C\u0000\u0000"+
-        "\u613D\u0000\u613E\u613F\u0000\u6140\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6141\u0000\u0000\u6142\u6143\u0000\u0000\u0000"+
-        "\u6144\u0000\u0000\u0000\u0000\u0000\u6145\u0000"+
-        "\u0000\u6146\u0000\u0000\u0000\u6147\u6148\u0000"+
-        "\u0000\u0000\u0000\u6149\u0000\u0000\u614A\u0000"+
-        "\u0000\u0000\u614B\u0000\u614C\u0000\u0000\u0000"+
-        "\u614D\u0000\u0000\u0000\u614E\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u614F\u0000\u0000\u6150\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6151\u6152\u6154\u0000\u6155\u6156\u0000\u6153"+
-        "\u0000\u0000\u0000\u6157\u6158\u0000\u0000\u6159"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u615A"+
-        "\u0000\u0000\u0000\u615B\u615C\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u615D\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u615E\u0000\u615F\u0000\u0000"+
-        "\u0000\u0000\u6160\u0000\u0000\u0000\u6161\u6162"+
-        "\u0000\u0000\u0000\u0000\u6163\u0000\u0000\u0000"+
-        "\u6164\u0000\u0000\u0000\u6165\u0000\u0000\u0000"+
-        "\u0000\u6166\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6167\u0000\u0000"+
-        "\u6168\u0000\u0000\u6169\u616A\u0000\u616B\u0000"+
-        "\u616C\u0000\u0000\u0000\u0000\u616D\u0000\u616E"+
-        "\u616F\u6170\u0000\u6171\u0000\u0000\u0000\u0000"+
-        "\u6172\u6173\u6174\u0000\u0000\u6175\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6176\u0000\u6177\u6178\u6179\u0000\u617A\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u617B\u617D\u0000"+
-        "\u0000\u0000\u0000\u617E\u6221\u6222\u0000\u6223"+
-        "\u6224\u0000\u0000\u0000\u617C\u0000\u0000\u0000"+
-        "\u0000\u0000\u622D\u0000\u0000\u6225\u0000\u6226"+
-        "\u6227\u6228\u0000\u0000\u6229\u622A\u746C\u622B"+
-        "\u0000\u0000\u0000\u0000\u0000\u622C\u0000\u0000"+
-        "\u0000\u0000\u0000\u622F\u0000\u0000\u0000\u6230"+
-        "\u6231\u0000\u0000\u0000\u6232\u0000\u622E\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6233\u6234"+
-        "\u6235\u0000\u0000\u0000\u6236\u6237\u6238\u0000"+
-        "\u6239\u0000\u0000\u0000\u0000\u623A\u0000\u0000"+
-        "\u623B\u0000\u0000\u0000\u623C\u746E\u623D\u623E"+
-        "\u623F\u0000\u6240\u0000\u6241\u0000\u6242\u0000"+
-        "\u6243\u0000\u6245\u6246\u0000\u6244\u0000\u6247"+
-        "\u0000\u6248\u0000\u0000\u0000\u0000\u6249\u624A"+
-        "\u0000\u624B\u0000\u0000\u624C\u0000\u624D\u624E"+
-        "\u0000\u624F\u6250\u0000\u6251\u6252\u0000\u0000"+
-        "\u0000\u0000\u0000\u6253\u0000\u0000\u0000\u6254"+
-        "\u6255\u0000\u0000\u0000\u0000\u0000\u0000\u6256"+
-        "\u0000\u0000\u0000\u6257\u0000\u0000\u0000\u6258"+
-        "\u0000\u6259\u625A\u625B\u0000\u0000\u0000\u0000"+
-        "\u0000\u625C\u0000\u0000\u625D\u0000\u0000\u625E"+
-        "\u0000\u0000\u0000\u0000\u0000\u625F\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u6260\u0000\u0000\u0000"+
-        "\u0000\u6261\u6262\u6263\u0000\u0000\u0000\u0000"+
-        "\u0000\u6264\u0000\u6265\u0000\u6266\u6267\u0000"+
-        "\u0000\u0000\u6268\u0000\u0000\u0000\u6269\u0000"+
-        "\u0000\u626A\u0000\u626B\u626C\u626D\u0000\u0000"+
-        "\u626E\u0000\u0000\u0000\u0000\u0000\u626F\u0000"+
-        "\u0000\u6270\u0000\u0000\u0000\u0000\u6271\u0000"+
-        "\u6272\u0000\u0000\u0000\u6273\u6274\u6275\u0000"+
-        "\u6276\u6277\u6278\u6279\u0000\u0000\u627A\u0000"+
-        "\u0000\u0000\u0000\u627B\u627C\u627D\u0000\u627E"+
-        "\u0000\u0000\u6321\u6322\u0000\u6323\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6324\u6325\u0000\u0000\u6326"+
-        "\u0000\u6327\u6328\u0000\u0000\u0000\u6329\u0000"+
-        "\u0000\u0000\u0000\u0000\u632A\u632B\u0000\u0000"+
-        "\u0000\u632C\u632D\u0000\u632E\u632F\u6330\u6331"+
-        "\u6332\u6333\u0000\u0000\u0000\u0000\u0000\u6334"+
-        "\u0000\u6335\u0000\u6336\u0000\u6337\u0000\u0000"+
-        "\u6338\u6339\u0000\u0000\u633A\u633B\u633C\u633D"+
-        "\u0000\u633E\u633F\u0000\u6340\u0000\u0000\u0000"+
-        "\u6341\u0000\u6342\u6343\u0000\u0000\u6344\u0000"+
-        "\u6345\u0000\u0000\u0000\u6346\u6347\u0000\u0000"+
-        "\u0000\u0000\u0000\u6348\u6349\u634A\u634B\u0000"+
-        "\u634C\u0000\u0000\u0000\u0000\u0000\u634D\u634E"+
-        "\u634F\u0000\u0000\u6350\u0000\u6351\u6352\u0000"+
-        "\u6353\u6354\u6355\u0000\u6356\u0000\u6357\u0000"+
-        "\u6358\u0000\u6359\u635A\u0000\u0000\u635B\u635C"+
-        "\u0000\u0000\u635D\u0000\u0000\u635E\u635F\u6360"+
-        "\u0000\u6361\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6362\u6363\u0000\u0000\u6364\u6365\u0000\u0000"+
-        "\u6366\u6367\u0000\u0000\u0000\u6368\u0000\u6369"+
-        "\u636A\u636B\u0000\u0000\u0000\u0000\u636C\u636D"+
-        "\u636E\u0000\u0000\u0000\u0000\u636F\u6370\u6371"+
-        "\u6372\u6373\u0000\u6374\u6375\u6376\u0000\u6377"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6378\u6379\u637A\u0000\u0000\u637B\u637C\u0000"+
-        "\u0000\u0000\u637D\u0000\u0000\u0000\u0000\u637E"+
-        "\u0000\u6421\u0000\u0000\u0000\u0000\u0000\u6422"+
-        "\u6423\u0000\u0000\u0000\u6424\u6425\u0000\u6426"+
-        "\u6427\u0000\u0000\u6428\u0000\u0000\u0000\u6429"+
-        "\u0000\u0000\u642A\u0000\u0000\u0000\u642B\u0000"+
-        "\u642C\u0000\u642D\u642E\u642F\u6430\u0000\u6431"+
-        "\u6432\u6433\u6434\u6435\u0000\u6436\u6437\u6438"+
-        "\u6439\u0000\u0000\u643A\u643B\u643C\u643D\u0000"+
-        "\u643E\u0000\u0000\u643F\u0000\u6440\u0000\u6441"+
-        "\u6442\u6443\u0000\u0000\u6444\u6445\u0000\u6446"+
-        "\u6447\u6448\u0000\u6449\u0000\u644A\u0000\u644B"+
-        "\u644C\u0000\u0000\u0000\u644D\u0000\u644E\u0000"+
-        "\u644F\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6450\u0000\u6451\u0000\u0000\u0000\u6452"+
-        "\u6453\u0000\u6454\u0000\u0000\u0000\u0000\u0000"+
-        "\u6455\u0000\u0000\u0000\u0000\u6456\u0000\u0000"+
-        "\u0000\u6457\u0000\u0000\u6458\u6459\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u645A\u645B\u645C\u645D"+
-        "\u0000\u645E\u0000\u0000\u645F\u6460\u0000\u6461"+
-        "\u0000\u6462\u6463\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6464\u6465\u0000\u6466\u6467"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6468"+
-        "\u6469\u646A\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u646B\u646C\u646D\u0000\u0000\u646E\u0000\u646F"+
-        "\u6470\u0000\u6471\u0000\u0000\u0000\u6472\u0000"+
-        "\u0000\u0000\u0000\u0000\u6473\u6474\u0000\u6475"+
-        "\u0000\u6476\u6477\u0000\u0000\u6478\u0000\u6479"+
-        "\u647A\u647B\u0000\u647C\u647D\u0000\u647E\u0000"+
-        "\u0000\u0000\u6521\u0000\u0000\u6522\u0000\u6523"+
-        "\u6524\u6525\u6526\u0000\u0000\u0000\u0000\u0000"+
-        "\u6527\u0000\u6528\u6529\u0000\u652A\u0000\u652B"+
-        "\u0000\u0000\u652C\u0000\u0000\u652D\u0000\u0000"+
-        "\u652E\u0000\u0000\u652F\u0000\u0000\u6530\u0000"+
-        "\u0000\u6531\u0000\u6532\u6533\u0000\u6534\u0000"+
-        "\u6535\u653B\u0000\u6536\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u6537\u6538\u6539\u0000"+
-        "\u0000\u0000\u653A\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u653C\u0000\u0000\u653D\u653E\u653F\u6540"+
-        "\u0000\u6541\u6542\u6543\u6544\u6545\u0000\u0000"+
-        "\u0000\u0000\u0000\u6546\u0000\u0000\u0000\u0000"+
-        "\u0000\u6547\u0000\u0000\u6548\u0000\u6549\u654A"+
-        "\u0000\u0000\u654B\u0000\u0000\u0000\u654C\u654D"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u654F"+
-        "\u6550\u654E\u6551\u6552\u0000\u6553\u0000\u0000"+
-        "\u0000\u6554\u6555\u0000\u6556\u0000\u0000\u0000"+
-        "\u6557\u6558\u0000\u0000\u0000\u6559\u655A\u655B"+
-        "\u0000\u0000\u0000\u0000\u0000\u655C\u655D\u655E"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u655F"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6560\u6561"+
-        "\u0000\u6562\u6563\u6564\u6565\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6566\u0000\u6568\u0000\u6567"+
-        "\u0000\u0000\u0000\u6569\u0000\u656A\u0000\u0000"+
-        "\u656B\u0000\u656C\u0000\u656D\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u656E\u0000\u0000"+
-        "\u0000\u656F\u0000\u0000\u6570\u0000\u0000\u6571"+
-        "\u0000\u6572\u0000\u6573\u0000\u0000\u0000\u0000"+
-        "\u6574\u0000\u0000\u6575\u0000\u6576\u6577\u6578"+
-        "\u0000\u6579\u657A\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u657C\u657B\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u657D\u657E\u0000\u0000\u0000\u0000\u6621\u0000"+
-        "\u0000\u0000\u0000\u0000\u6622\u0000\u0000\u0000"+
-        "\u6623\u0000\u0000\u0000\u6624\u6625\u6626\u0000"+
-        "\u0000\u0000\u7471\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6627\u6628\u6629"+
-        "\u0000\u662A\u0000\u0000\u0000\u0000\u662B\u0000"+
-        "\u0000\u662C\u0000\u662D\u662E\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u662F\u0000\u6630\u0000"+
-        "\u0000\u0000\u6631\u0000\u0000\u6632\u0000\u6633"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6634\u0000"+
-        "\u6635\u6636\u0000\u6637\u0000\u0000\u0000\u0000"+
-        "\u6638\u6639\u663A\u663B\u0000\u0000\u0000\u0000"+
-        "\u0000\u663C\u663D\u0000\u0000\u663E\u663F\u6640"+
-        "\u6641\u0000\u0000\u0000\u6642\u0000\u6643\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6644\u6645\u0000"+
-        "\u0000\u0000\u6646\u0000\u6647\u6648\u6649\u0000"+
-        "\u0000\u0000\u0000\u0000\u664A\u0000\u0000\u0000"+
-        "\u0000\u664B\u0000\u664C\u0000\u0000\u0000\u664D"+
-        "\u664E\u664F\u6650\u0000\u6651\u6652\u0000\u0000"+
-        "\u0000\u6653\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6654\u0000\u6655\u0000\u6656\u6657"+
-        "\u6658\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6659\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u665A\u0000"+
-        "\u0000\u0000\u0000\u0000\u665B\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u665C\u665D\u0000\u665E\u665F"+
-        "\u0000\u6660\u6661\u6662\u6663\u0000\u0000\u0000"+
-        "\u0000\u6664\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6665\u0000\u0000\u0000\u0000\u6666\u0000"+
-        "\u0000\u0000\u6667\u0000\u0000\u6668\u0000\u6669"+
-        "\u0000\u0000\u0000\u0000\u666A\u666B\u666C\u0000"+
-        "\u0000\u666D\u0000\u0000\u0000\u0000\u666E\u666F"+
-        "\u0000\u0000\u0000\u6670\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6671\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6672\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6673\u0000\u0000\u0000\u0000\u0000"+
-        "\u6675\u0000\u6676\u0000\u0000\u6677\u6678\u6679"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u667A\u0000\u0000\u0000\u0000\u0000\u667B"+
-        "\u0000\u667C\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u667D\u0000\u0000\u0000\u0000\u0000";
-
-    private final static String innerIndex5=
-        "\u0000\u0000\u667E\u6721\u0000\u6722\u0000\u0000"+
-        "\u0000\u6723\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6724\u6725\u0000\u6726\u0000\u0000"+
-        "\u0000\u6727\u6728\u6729\u0000\u0000\u0000\u0000"+
-        "\u672A\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u672B\u0000\u672C\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u7474\u0000\u0000\u0000\u0000"+
-        "\u0000\u672D\u0000\u672E\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u672F\u0000\u0000\u7475\u6730\u6731"+
-        "\u0000\u7476\u0000\u0000\u0000\u6732\u0000\u6733"+
-        "\u6734\u0000\u6735\u6736\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6737\u0000\u0000\u0000\u6738"+
-        "\u0000\u0000\u6739\u0000\u0000\u0000\u673A\u0000"+
-        "\u0000\u0000\u0000\u673B\u0000\u0000\u673C\u673D"+
-        "\u673E\u0000\u0000\u673F\u0000\u6740\u0000\u6741"+
-        "\u6742\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6743\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6744\u6745\u6746"+
-        "\u0000\u6747\u6748\u0000\u0000\u0000\u6749\u674A"+
-        "\u0000\u0000\u674B\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u674C\u0000\u674D\u0000"+
-        "\u0000\u674E\u674F\u0000\u0000\u6750\u6751\u0000"+
-        "\u6752\u6753\u6754\u0000\u6755\u0000\u6756\u6757"+
-        "\u0000\u6758\u0000\u0000\u6759\u675A\u0000\u675B"+
-        "\u0000\u675C\u675D\u0000\u675E\u675F\u6760\u0000"+
-        "\u6761\u6762\u0000\u0000\u6763\u0000\u0000\u6764"+
-        "\u6765\u6766\u0000\u676A\u0000\u6767\u6768\u0000"+
-        "\u6769\u676B\u0000\u0000\u676C\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u676D"+
-        "\u0000\u676E\u0000\u0000\u676F\u0000\u0000\u6770"+
-        "\u6771\u0000\u6772\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6773"+
-        "\u0000\u0000\u6774\u0000\u0000\u6776\u6777\u0000"+
-        "\u0000\u0000\u0000\u0000\u6778\u0000\u6779\u0000"+
-        "\u0000\u6775\u0000\u0000\u677A\u0000\u677B\u0000"+
-        "\u677C\u0000\u0000\u677D\u0000\u6828\u677E\u0000"+
-        "\u0000\u0000\u0000\u6821\u0000\u0000\u6822\u6823"+
-        "\u6824\u0000\u6825\u6826\u0000\u6827\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6829\u0000"+
-        "\u0000\u0000\u0000\u0000\u682A\u0000\u0000\u682B"+
-        "\u0000\u0000\u682C\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u682D\u682E\u682F\u0000\u0000\u6830\u6831"+
-        "\u0000\u6832\u6833\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6834\u6835\u0000\u6836\u6837\u0000"+
-        "\u0000\u0000\u6838\u0000\u6839\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u683A\u0000\u683B\u683C\u0000"+
-        "\u683D\u0000\u0000\u0000\u683E\u0000\u0000\u683F"+
-        "\u6840\u0000\u6841\u6842\u0000\u0000\u0000\u6843"+
-        "\u0000\u0000\u6844\u0000\u0000\u6845\u0000\u0000"+
-        "\u6846\u0000\u0000\u0000\u6847\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6848\u0000\u6849\u0000\u684A\u684B\u684C"+
-        "\u0000\u0000\u684D\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u684E\u0000\u0000\u684F\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6850\u0000\u0000\u0000\u0000\u6851"+
-        "\u6852\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6853\u0000\u0000\u0000\u6854\u6855\u6856"+
-        "\u0000\u0000\u6857\u6858\u6859\u0000\u0000\u685A"+
-        "\u0000\u0000\u685B\u0000\u0000\u0000\u685C\u685D"+
-        "\u0000\u0000\u0000\u685E\u0000\u0000\u0000\u0000"+
-        "\u0000\u685F\u6860\u6861\u6862\u6863\u0000\u0000"+
-        "\u0000\u6864\u6865\u6866\u6867\u0000\u0000\u0000"+
-        "\u6868\u6869\u0000\u0000\u0000\u0000\u686A\u686B"+
-        "\u686C\u0000\u0000\u0000\u0000\u686D\u686E\u0000"+
-        "\u0000\u0000\u0000\u0000\u686F\u0000\u0000\u0000"+
-        "\u6870\u6871\u0000\u6872\u6873\u0000\u6874\u6875"+
-        "\u6876\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6877\u0000\u6878\u747A\u6879"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u687A\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u687B\u687C\u687D\u0000\u0000\u687E\u0000\u0000"+
-        "\u0000\u6921\u6922\u0000\u0000\u6923\u0000\u6924"+
-        "\u0000\u0000\u0000\u6925\u0000\u0000\u0000\u0000"+
-        "\u0000\u6926\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6927\u6928\u0000\u0000\u0000"+
-        "\u0000\u6929\u692A\u0000\u692B\u0000\u692C\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u692D"+
-        "\u0000\u0000\u692E\u692F\u6930\u0000\u0000\u0000"+
-        "\u6931\u0000\u0000\u0000\u6932\u6933\u0000\u0000"+
-        "\u0000\u6934\u0000\u0000\u0000\u6935\u6936\u0000"+
-        "\u0000\u0000\u6937\u6938\u6939\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u693A\u693B\u0000\u0000\u0000"+
-        "\u693C\u693D\u0000\u0000\u0000\u0000\u693E\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u693F\u0000"+
-        "\u6940\u0000\u6941\u6942\u6943\u0000\u0000\u6944"+
-        "\u0000\u0000\u0000\u0000\u0000\u6945\u6946\u0000"+
-        "\u0000\u0000\u0000\u6947\u0000\u6948\u6949\u0000"+
-        "\u694A\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u694C\u0000\u0000\u694D\u0000\u0000\u694B"+
-        "\u0000\u0000\u694E\u694F\u6950\u0000\u6951\u0000"+
-        "\u0000\u6952\u0000\u0000\u6953\u0000\u6954\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6955\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6956\u0000\u6957\u0000\u6958\u6959"+
-        "\u0000\u0000\u695A\u0000\u695B\u695C\u695D\u0000"+
-        "\u0000\u695E\u0000\u695F\u0000\u0000\u6960\u6961"+
-        "\u0000\u6962\u0000\u6963\u0000\u0000\u6964\u0000"+
-        "\u6965\u0000\u0000\u0000\u0000\u0000\u6966\u0000"+
-        "\u6967\u0000\u6968\u0000\u0000\u6969\u696A\u696B"+
-        "\u0000\u747B\u0000\u696C\u696D\u0000\u0000\u0000"+
-        "\u696E\u0000\u0000\u0000\u696F\u6970\u0000\u6971"+
-        "\u0000\u6972\u0000\u0000\u6973\u0000\u0000\u0000"+
-        "\u0000\u0000\u6974\u6975\u0000\u6976\u0000\u0000"+
-        "\u0000\u6977\u6978\u0000\u0000\u6979\u0000\u697A"+
-        "\u697B\u697C\u697D\u697E\u6A21\u6A22\u0000\u0000"+
-        "\u6A23\u6A24\u0000\u6A25\u6A26\u6A27\u6A28\u0000"+
-        "\u6A29\u0000\u6A2A\u0000\u0000\u0000\u6A2B\u0000"+
-        "\u0000\u6A2C\u0000\u6A2D\u6A2E\u0000\u0000\u0000"+
-        "\u6A2F\u0000\u0000\u0000\u0000\u0000\u6A30\u0000"+
-        "\u0000\u0000\u0000\u6A31\u0000\u6A32\u0000\u0000"+
-        "\u0000\u0000\u0000\u6A33\u6A34\u6A35\u0000\u6A36"+
-        "\u0000\u6A37\u6A38\u0000\u0000\u6A39\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6A3A\u0000\u0000\u6A3B\u6A3C\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u6A3D\u6A3E\u6A3F"+
-        "\u0000\u0000\u0000\u6A40\u0000\u0000\u6A41\u0000"+
-        "\u0000\u6A42\u0000\u6A43\u0000\u6A44\u6A45\u0000"+
-        "\u6A46\u0000\u6A47\u6A48\u6A49\u6A4A\u6A4B\u0000"+
-        "\u0000\u0000\u747C\u6A4C\u0000\u6A4D\u0000\u6A4E"+
-        "\u6A4F\u6A50\u0000\u0000\u0000\u0000\u0000\u6A51"+
-        "\u6A52\u0000\u0000\u0000\u6A53\u6A54\u6A55\u6A56"+
-        "\u0000\u6A57\u6A58\u6A59\u0000\u6A5A\u0000\u6A5B"+
-        "\u6A5C\u0000\u0000\u0000\u6A5D\u0000\u0000\u0000"+
-        "\u0000\u0000\u6A5E\u0000\u0000\u6A5F\u6A60\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6A61\u6A62"+
-        "\u0000\u6A63\u0000\u0000\u6A64\u0000\u0000\u0000"+
-        "\u6A65\u6A66\u6A67\u0000\u0000\u0000\u0000\u6A68"+
-        "\u6A69\u0000\u0000\u6A6A\u6A6B\u0000\u6A6C\u6A6D"+
-        "\u0000\u6A6E\u0000\u0000\u0000\u0000\u0000\u6A6F"+
-        "\u6A70\u0000\u0000\u0000\u0000\u0000\u6A71\u0000"+
-        "\u6A72\u0000\u0000\u0000\u0000\u0000\u0000\u6A73"+
-        "\u6A74\u0000\u0000\u0000\u0000\u6A75\u0000\u6A76"+
-        "\u0000\u0000\u0000\u0000\u0000\u6A77\u0000\u6A78"+
-        "\u0000\u0000\u6A79\u6A7A\u0000\u0000\u0000\u6A7B"+
-        "\u0000\u0000\u0000\u6A7C\u0000\u0000\u0000\u6A7D"+
-        "\u6A7E\u6B21\u6B22\u0000\u0000\u6B23\u0000\u6B24"+
-        "\u6B25\u0000\u6B26\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6B27\u0000\u0000\u0000\u6B28"+
-        "\u0000\u6B29\u0000\u0000\u0000\u0000\u6B2A\u0000"+
-        "\u6B2B\u6B2C\u6B2D\u0000\u6B2E\u0000\u6B2F\u0000"+
-        "\u0000\u0000\u6B30\u6B31\u0000\u0000\u6B32\u6B33"+
-        "\u6B34\u6B35\u6B36\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6B37\u0000\u0000\u0000\u6B38\u6B39\u6B3A"+
-        "\u0000\u0000\u0000\u0000\u0000\u6B3B\u0000\u0000"+
-        "\u0000\u6B3C\u0000\u6B3D\u6B3E\u6B3F\u0000\u0000"+
-        "\u0000\u6B40\u6B41\u0000\u0000\u0000\u6B42\u6B43"+
-        "\u6B44\u0000\u0000\u6B45\u6B46\u0000\u6B47\u0000"+
-        "\u6B48\u0000\u0000\u6B49\u6B50\u6B4A\u6B4B\u6B4C"+
-        "\u0000\u0000\u0000\u6B4D\u0000\u0000\u0000\u0000"+
-        "\u6B52\u6B4E\u6B4F\u6B51\u0000\u0000\u6B53\u0000"+
-        "\u6B54\u0000\u6B55\u0000\u0000\u6B56\u0000\u6B57"+
-        "\u0000\u0000\u0000\u6B58\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6B59\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6B5A\u0000\u0000\u0000\u0000\u6B5B"+
-        "\u0000\u6B5C\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6B5E\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6B5D\u0000\u0000\u0000\u0000"+
-        "\u0000\u6B5F\u0000\u0000\u0000\u0000\u0000\u6B60"+
-        "\u6B61\u0000\u0000\u0000\u6B62\u6B63\u6B64\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6B65"+
-        "\u6B66\u0000\u6B67\u6B68\u6B69\u0000\u0000\u0000"+
-        "\u0000\u0000\u6B6A\u0000\u6B6B\u6B6D\u0000\u0000"+
-        "\u0000\u0000\u6B6E\u6B6F\u0000\u6B6C\u0000\u6B70"+
-        "\u0000\u0000\u6B71\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6B72\u6B73\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6B74"+
-        "\u0000\u0000\u6B76\u6B75\u0000\u6B77\u0000\u0000"+
-        "\u0000\u6B78\u6B79\u6B7A\u0000\u0000\u0000\u0000"+
-        "\u6B7B\u0000\u0000\u0000\u0000\u0000\u6B7C\u6B7D"+
-        "\u0000\u0000\u0000\u6B7E\u6C21\u0000\u6C22\u0000"+
-        "\u0000\u0000\u0000\u6C23\u6C24\u0000\u6C25\u0000"+
-        "\u0000\u0000\u6C26\u0000\u0000\u6C27\u6C28\u0000"+
-        "\u0000\u0000\u6C29\u6C2A\u0000\u6C2B\u6C2C\u6C2D"+
-        "\u6C2E\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u6C2F\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6C30\u0000\u6C31\u0000\u6C32\u0000"+
-        "\u0000\u6C33\u0000\u0000\u0000\u6C34\u0000\u0000"+
-        "\u0000\u6C35\u0000\u0000\u6C36\u0000\u0000\u6C37"+
-        "\u0000\u0000\u0000\u6C38\u0000\u0000\u0000\u6C39"+
-        "\u0000\u6C3A\u6C3B\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u6C3C\u6C3D\u6C3E\u6C3F"+
-        "\u0000\u0000\u6C40\u0000\u0000\u0000\u6C41\u6C42"+
-        "\u6C43\u0000\u0000\u0000\u0000\u6C44\u0000\u6C45"+
-        "\u0000\u6C46\u0000\u6C47\u0000\u0000\u6C48\u0000"+
-        "\u6C49\u0000\u0000\u6C4A\u6C4B\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6C4C\u0000"+
-        "\u0000\u0000\u6C4E\u0000\u0000\u0000\u0000\u6C4F"+
-        "\u0000\u0000\u6C4D\u0000\u0000\u0000\u6C50\u0000"+
-        "\u6C51\u6C52\u6C53\u0000\u0000\u6C54\u6C55\u0000"+
-        "\u0000\u6C56\u0000\u0000\u6C57\u6C58\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u6C59\u6C5A\u6C5B\u0000\u0000\u0000"+
-        "\u6C5C\u0000\u6C5D\u6C5E\u6C5F\u6C60\u0000\u6C61"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6C62\u6C63"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6C64\u0000"+
-        "\u6C65\u0000\u0000\u6C66\u0000\u0000\u6C67\u0000"+
-        "\u0000\u0000\u0000\u0000\u6C68\u0000\u0000\u0000"+
-        "\u6C69\u0000\u0000\u0000\u6C6A\u0000\u6C6B\u6C6C"+
-        "\u6C6D\u0000\u0000\u6C6E\u6C6F\u6C70\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6C71\u0000"+
-        "\u6C72\u0000\u0000\u6C73\u0000\u0000\u0000\u0000"+
-        "\u0000\u747E\u0000\u0000\u0000\u6C74\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6C75"+
-        "\u0000\u0000\u0000\u0000\u6C76\u0000\u0000\u6C77"+
-        "\u0000\u0000\u0000\u0000\u6C78\u6C79\u6C7A\u0000"+
-        "\u6C7B\u6C7C\u6C7D\u0000\u0000\u6C7E\u0000\u0000"+
-        "\u6D21\u0000\u0000\u0000\u0000\u0000\u0000\u6D22"+
-        "\u0000\u0000\u6D23\u6D24\u0000\u0000\u0000\u0000"+
-        "\u0000\u6D25\u0000\u0000\u0000\u0000\u0000\u6D26"+
-        "\u6D27\u6D28\u6D29\u0000\u6D2A\u0000\u6D2B\u6D2C"+
-        "\u0000\u6D2D\u6D2E\u6D2F\u0000\u0000\u0000\u6D30"+
-        "\u0000\u0000\u6D31\u0000\u0000\u0000\u6D32\u0000"+
-        "\u0000\u0000\u6D33\u6D34\u0000\u0000\u0000\u6D35"+
-        "\u0000\u6D36\u6D37\u0000\u6D38\u0000\u0000\u6D39"+
-        "\u0000\u6D3A\u6D3B\u0000\u6D3C\u6D3D\u0000\u6D3E"+
-        "\u0000\u6D3F\u0000\u6D40\u6D41\u6D42\u6D43\u6D44"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u6D45\u0000\u6D46\u6D47\u6D48"+
-        "\u6D49\u0000\u6D4A\u0000\u0000\u6D4B\u6D4C\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u6D4D\u6D4E\u0000\u0000\u0000\u6D4F\u6D50\u6D51"+
-        "\u6D52\u6D53\u0000\u6D54\u0000\u6D55\u0000\u0000"+
-        "\u0000\u0000\u6D56\u0000\u0000\u6D57\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6D58"+
-        "\u6D59\u6D5A\u6D5B\u0000\u6D5C\u0000\u6D5D\u6D5E"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u6D5F\u0000"+
-        "\u0000\u6D60\u6D61\u6D62\u0000\u6D63\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u2271\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u7445\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u7472\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u7434\u7437"+
-        "\u7438\u743D\u7444\u7447\u7448\u744E\u744F\u7453"+
-        "\u7455\u7456\u7457\u7458\u745A\u745B\u745E\u7460"+
-        "\u7462\u7463\u7465\u7469\u746A\u746B\u746D\u746F"+
-        "\u7470\u7473\u7477\u7478\u7479\u747D\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u742A\u0000\u0000\u0000\u0000\u7429"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u2237\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
-
-    private final static short index1[] = {
-        1, 2, 3, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 8,
-        9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
-        25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
-        41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
-        57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
-        73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 89, 0, 0, 90, 91, 0, 0, 0, 0, 92
-    };
-
-    private final static String index2[] = {
-        innerIndex0,
-        innerIndex1,
-        innerIndex2,
-        innerIndex3,
-        innerIndex4,
-        innerIndex5
-    };
-}
--- a/src/share/classes/sun/nio/cs/ext/MS50220.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/sun/nio/cs/ext/MS50220.java	Wed Aug 01 11:08:11 2012 -0400
@@ -26,6 +26,8 @@
 package sun.nio.cs.ext;
 
 import java.nio.charset.Charset;
+import java.nio.charset.CharsetDecoder;
+import java.nio.charset.CharsetEncoder;
 
 public class MS50220 extends ISO2022_JP
 {
@@ -34,6 +36,10 @@
               ExtendedCharsets.aliasesFor("x-windows-50220"));
     }
 
+    protected MS50220(String canonicalName, String[] aliases) {
+        super(canonicalName, aliases);
+    }
+
     public String historicalName() {
         return "MS50220";
     }
@@ -44,29 +50,25 @@
              (cs instanceof MS50220);
     }
 
-    protected short[] getDecIndex1() {
-        return JIS_X_0208_MS5022X_Decoder.index1;
+    public CharsetDecoder newDecoder() {
+        return new Decoder(this, DEC0208, DEC0212);
     }
 
-    protected String[] getDecIndex2() {
-        return JIS_X_0208_MS5022X_Decoder.index2;
-    }
-
-    protected DoubleByteDecoder get0212Decoder() {
-        return new JIS_X_0212_MS5022X_Decoder(this);
+    public CharsetEncoder newEncoder() {
+        return new Encoder(this, ENC0208, ENC0212, doSBKANA());
     }
 
-    protected short[] getEncIndex1() {
-        return JIS_X_0208_MS5022X_Encoder.index1;
-    }
+    private final static DoubleByte.Decoder DEC0208 =
+        (DoubleByte.Decoder)new JIS_X_0208_MS5022X().newDecoder();
+
+    private final static DoubleByte.Decoder DEC0212 =
+        (DoubleByte.Decoder)new JIS_X_0212_MS5022X().newDecoder();
 
-    protected String[] getEncIndex2() {
-        return JIS_X_0208_MS5022X_Encoder.index2;
-    }
+    private final static DoubleByte.Encoder ENC0208 =
+        (DoubleByte.Encoder)new JIS_X_0208_MS5022X().newEncoder();
 
-    protected DoubleByteEncoder get0212Encoder() {
-        return new JIS_X_0212_MS5022X_Encoder(this);
-    }
+    private final static DoubleByte.Encoder ENC0212 =
+        (DoubleByte.Encoder)new JIS_X_0212_MS5022X().newEncoder();
 
     protected boolean doSBKANA() {
         return false;
--- a/src/share/classes/sun/nio/cs/ext/MS50221.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/sun/nio/cs/ext/MS50221.java	Wed Aug 01 11:08:11 2012 -0400
@@ -27,7 +27,7 @@
 
 import java.nio.charset.Charset;
 
-public class MS50221 extends ISO2022_JP
+public class MS50221 extends MS50220
 {
     public MS50221() {
         super("x-windows-50221",
@@ -44,30 +44,6 @@
              (cs instanceof MS50221);
     }
 
-    protected short[] getDecIndex1() {
-        return JIS_X_0208_MS5022X_Decoder.index1;
-    }
-
-    protected String[] getDecIndex2() {
-        return JIS_X_0208_MS5022X_Decoder.index2;
-    }
-
-    protected DoubleByteDecoder get0212Decoder() {
-        return new JIS_X_0212_MS5022X_Decoder(this);
-    }
-
-    protected short[] getEncIndex1() {
-        return JIS_X_0208_MS5022X_Encoder.index1;
-    }
-
-    protected String[] getEncIndex2() {
-        return JIS_X_0208_MS5022X_Encoder.index2;
-    }
-
-    protected DoubleByteEncoder get0212Encoder() {
-        return new JIS_X_0212_MS5022X_Encoder(this);
-    }
-
     protected boolean doSBKANA() {
         return true;
     }
--- a/src/share/classes/sun/nio/cs/ext/MSISO2022JP.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/sun/nio/cs/ext/MSISO2022JP.java	Wed Aug 01 11:08:11 2012 -0400
@@ -26,6 +26,8 @@
 package sun.nio.cs.ext;
 
 import java.nio.charset.Charset;
+import java.nio.charset.CharsetDecoder;
+import java.nio.charset.CharsetEncoder;
 
 public class MSISO2022JP extends ISO2022_JP
 {
@@ -43,31 +45,17 @@
              (cs instanceof MSISO2022JP);
     }
 
-    protected short[] getDecIndex1() {
-        return JIS_X_0208_MS932_Decoder.index1;
-    }
-
-    protected String[] getDecIndex2() {
-        return JIS_X_0208_MS932_Decoder.index2;
-    }
-
-    protected DoubleByteDecoder get0212Decoder() {
-        return null;
+    public CharsetDecoder newDecoder() {
+        return new Decoder(this, DEC0208, null);
     }
 
-    protected short[] getEncIndex1() {
-        return JIS_X_0208_MS932_Encoder.index1;
-    }
-
-    protected String[] getEncIndex2() {
-        return JIS_X_0208_MS932_Encoder.index2;
+    public CharsetEncoder newEncoder() {
+        return new Encoder(this, ENC0208, null, true);
     }
 
-    protected DoubleByteEncoder get0212Encoder() {
-        return null;
-    }
+    private final static DoubleByte.Decoder DEC0208 =
+        (DoubleByte.Decoder)new JIS_X_0208_MS932().newDecoder();
 
-    protected boolean doSBKANA() {
-        return true;
-    }
+    private final static DoubleByte.Encoder ENC0208 =
+        (DoubleByte.Encoder)new JIS_X_0208_MS932().newEncoder();
 }
--- a/src/share/classes/sun/nio/cs/ext/PCK.java	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,146 +0,0 @@
-/*
- * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code 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
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- */
-
-package sun.nio.cs.ext;
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import java.nio.charset.CoderResult;
-import java.nio.ByteBuffer;
-import java.nio.CharBuffer;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class PCK
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public PCK() {
-        super("x-PCK", ExtendedCharsets.aliasesFor("x-PCK"));
-    }
-
-    public String historicalName() {
-        return "PCK";
-    }
-
-    public boolean contains(Charset cs) {
-        return ((cs.name().equals("US-ASCII"))
-                || (cs instanceof JIS_X_0201)
-                || (cs instanceof PCK));
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-
-        // Need to force the replacement byte to 0x3f
-        // because JIS_X_0208_Encoder defines its own
-        // alternative 2 byte substitution to permit it
-        // to exist as a self-standing Encoder
-
-        byte[] replacementBytes = { (byte)0x3f };
-        return new Encoder(this).replaceWith(replacementBytes);
-    }
-
-    private static class Decoder extends SJIS.Decoder {
-
-        JIS_X_0208_Solaris_Decoder jis0208;
-        private static final char REPLACE_CHAR='\uFFFD';
-
-        private Decoder(Charset cs) {
-            super(cs);
-            jis0208 = new JIS_X_0208_Solaris_Decoder(cs);
-        }
-
-        protected char decodeDouble(int c1, int c2) {
-            char outChar;
-
-            if ((outChar = super.decodeDouble(c1, c2)) != '\uFFFD')  {
-                // Map JIS X 0208:1983 0x213D <--> U+2015
-                return ((outChar != '\u2014')? outChar: '\u2015');
-            } else {
-                int adjust = c2 < 0x9F ? 1 : 0;
-                int rowOffset = c1 < 0xA0 ? 0x70 : 0xB0;
-                int cellOffset = (adjust == 1) ? (c2 > 0x7F ? 0x20 : 0x1F) : 0x7E;
-                int b1 = ((c1 - rowOffset) << 1) - adjust;
-                int b2 = c2 - cellOffset;
-                char outChar2 = jis0208.decodeDouble(b1, b2);
-                return outChar2;
-            }
-        }
-    }
-
-    private static class Encoder extends SJIS.Encoder {
-
-        private JIS_X_0201.Encoder jis0201;
-
-        private static final short[] j0208Index1 =
-            JIS_X_0208_Solaris_Encoder.getIndex1();
-        private static final String[] j0208Index2 =
-            JIS_X_0208_Solaris_Encoder.getIndex2();
-
-        private Encoder(Charset cs) {
-            super(cs);
-            jis0201 = new JIS_X_0201.Encoder(cs);
-        }
-
-        protected int encodeDouble(char ch) {
-            int result = 0;
-
-            // PCK uses JIS_X_0208:1983 rather than JIS_X_0208:1997
-
-            switch (ch) {
-                case '\u2015':
-                    return 0x815C;
-                case '\u2014':
-                    return 0;
-                default:
-                    break;
-            }
-
-            if ((result = super.encodeDouble(ch)) != 0) {
-                return result;
-            }
-            else {
-                int offset = j0208Index1[ch >> 8] << 8;
-                int pos = j0208Index2[offset >> 12].charAt((offset & 0xfff) + (ch & 0xff));
-                if (pos != 0) {
-                int c1 = (pos >> 8) & 0xff;
-                int c2 = pos & 0xff;
-                int rowOffset = c1 < 0x5F ? 0x70 : 0xB0;
-                int cellOffset = (c1 % 2 == 1) ? (c2 > 0x5F ? 0x20 : 0x1F) : 0x7E;
-                result = ((((c1 + 1 ) >> 1) + rowOffset) << 8) | (c2 + cellOffset);
-                }
-            }
-            return result;
-        }
-    }
-}
--- a/src/share/classes/sun/nio/cs/ext/SJIS.java	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,164 +0,0 @@
-/*
- * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code 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
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- */
-
-package sun.nio.cs.ext;
-
-import java.nio.ByteBuffer;
-import java.nio.CharBuffer;
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import java.nio.charset.CoderResult;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class SJIS
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public SJIS() {
-        super("Shift_JIS", ExtendedCharsets.aliasesFor("Shift_JIS"));
-    }
-
-    public String historicalName() {
-        return "SJIS";
-    }
-
-    public boolean contains(Charset cs) {
-        return ((cs.name().equals("US-ASCII"))
-                || (cs instanceof JIS_X_0201)
-                || (cs instanceof SJIS)
-                || (cs instanceof JIS_X_0208));
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-
-        // Need to force the replacement byte to 0x3f
-        // because JIS_X_0208_Encoder defines its own
-        // alternative 2 byte substitution to permit it
-        // to exist as a self-standing Encoder
-
-        byte[] replacementBytes = { (byte)0x3f };
-        return new Encoder(this).replaceWith(replacementBytes);
-    }
-
-    static class Decoder extends JIS_X_0208_Decoder
-        implements DelegatableDecoder {
-
-        JIS_X_0201.Decoder jis0201;
-
-        protected Decoder(Charset cs) {
-            super(cs);
-            jis0201 = new JIS_X_0201.Decoder(cs);
-        }
-
-        protected char decodeSingle(int b) {
-            // If the high bits are all off, it's ASCII == Unicode
-            if ((b & 0xFF80) == 0) {
-                return (char)b;
-            }
-            return jis0201.decode(b);
-        }
-
-        protected char decodeDouble(int c1, int c2) {
-            int adjust = c2 < 0x9F ? 1 : 0;
-            int rowOffset = c1 < 0xA0 ? 0x70 : 0xB0;
-            int cellOffset = (adjust == 1) ? (c2 > 0x7F ? 0x20 : 0x1F) : 0x7E;
-            int b1 = ((c1 - rowOffset) << 1) - adjust;
-            int b2 = c2 - cellOffset;
-            return super.decodeDouble(b1, b2);
-        }
-
-        // Make some protected methods public for use by JISAutoDetect
-        public CoderResult decodeLoop(ByteBuffer src, CharBuffer dst) {
-            return super.decodeLoop(src, dst);
-        }
-        public void implReset() {
-            super.implReset();
-        }
-        public CoderResult implFlush(CharBuffer out) {
-            return super.implFlush(out);
-        }
-    }
-
-    static class Encoder extends JIS_X_0208_Encoder {
-
-        private JIS_X_0201.Encoder jis0201;
-
-        private static final short[] j0208Index1 =
-            JIS_X_0208_Encoder.getIndex1();
-        private static final String[] j0208Index2 =
-            JIS_X_0208_Encoder.getIndex2();
-
-        protected Encoder(Charset cs) {
-            super(cs);
-            jis0201 = new JIS_X_0201.Encoder(cs);
-        }
-
-        protected int encodeSingle(char inputChar) {
-            byte b;
-
-            // \u0000 - \u007F map straight through
-            if ((inputChar & 0xFF80) == 0)
-                return (byte)inputChar;
-
-            if ((b = jis0201.encode(inputChar)) == 0)
-                return -1;
-            else
-                return b;
-        }
-
-        protected int encodeDouble(char ch) {
-            int offset = j0208Index1[ch >> 8] << 8;
-            int pos = j0208Index2[offset >> 12].charAt((offset & 0xfff) + (ch & 0xff));
-            if (pos == 0) {
-                /* Zero value indicates this Unicode has no mapping to
-                 * JIS0208.
-                 * We bail here because the JIS -> SJIS algorithm produces
-                 * bogus SJIS values for invalid JIS input.  Zero should be
-                 * the only invalid JIS value in our table.
-                 */
-                return 0;
-            }
-            /*
-             * This algorithm for converting from JIS to SJIS comes from
-             * Ken Lunde's "Understanding Japanese Information Processing",
-             * pg 163.
-             */
-            int c1 = (pos >> 8) & 0xff;
-            int c2 = pos & 0xff;
-            int rowOffset = c1 < 0x5F ? 0x70 : 0xB0;
-            int cellOffset = (c1 % 2 == 1) ? (c2 > 0x5F ? 0x20 : 0x1F) : 0x7E;
-            return ((((c1 + 1 ) >> 1) + rowOffset) << 8) | (c2 + cellOffset);
-        }
-    }
-}
--- a/src/share/classes/sun/security/jgss/GSSCredentialImpl.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/sun/security/jgss/GSSCredentialImpl.java	Wed Aug 01 11:08:11 2012 -0400
@@ -576,7 +576,7 @@
         if (element == null)
             throw new GSSExceptionImpl(GSSException.NO_CRED,
                                        "No credential found for: " +
-                                       mechOid + getElementStr(mechOid,
+                                       getElementStr(mechOid,
                                        initiate? INITIATE_ONLY : ACCEPT_ONLY));
         return element;
     }
--- a/src/share/classes/sun/security/jgss/krb5/Krb5NameElement.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/sun/security/jgss/krb5/Krb5NameElement.java	Wed Aug 01 11:08:11 2012 -0400
@@ -27,10 +27,8 @@
 
 import org.ietf.jgss.*;
 import sun.security.jgss.spi.*;
-import javax.security.auth.kerberos.*;
 import sun.security.krb5.PrincipalName;
 import sun.security.krb5.KrbException;
-import sun.security.krb5.ServiceName;
 import java.io.UnsupportedEncodingException;
 import java.net.InetAddress;
 import java.net.UnknownHostException;
@@ -119,8 +117,8 @@
                         hostName = components[1];
 
                     String principal = getHostBasedInstance(service, hostName);
-                    principalName = new ServiceName(principal,
-                                            PrincipalName.KRB_NT_SRV_HST);
+                    principalName = new PrincipalName(principal,
+                            PrincipalName.KRB_NT_SRV_HST);
                 }
             }
 
--- a/src/share/classes/sun/security/krb5/Credentials.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/sun/security/krb5/Credentials.java	Wed Aug 01 11:08:11 2012 -0400
@@ -464,8 +464,7 @@
         System.out.println(">>> DEBUG: ----Credentials----");
         System.out.println("\tclient: " + c.client.toString());
         System.out.println("\tserver: " + c.server.toString());
-        System.out.println("\tticket: realm: " + c.ticket.realm.toString());
-        System.out.println("\t        sname: " + c.ticket.sname.toString());
+        System.out.println("\tticket: sname: " + c.ticket.sname.toString());
         if (c.startTime != null) {
             System.out.println("\tstartTime: " + c.startTime.getTime());
         }
--- a/src/share/classes/sun/security/krb5/KrbApReq.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/sun/security/krb5/KrbApReq.java	Wed Aug 01 11:08:11 2012 -0400
@@ -179,7 +179,6 @@
     KrbApReq(APOptions apOptions,
              Ticket ticket,
              EncryptionKey key,
-             Realm crealm,
              PrincipalName cname,
              Checksum cksum,
              KerberosTime ctime,
@@ -189,7 +188,7 @@
         throws Asn1Exception, IOException,
                KdcErrException, KrbCryptoException {
 
-        init(apOptions, ticket, key, crealm, cname,
+        init(apOptions, ticket, key, cname,
              cksum, ctime, subKey, seqNumber, authorizationData,
             KeyUsage.KU_PA_TGS_REQ_AUTHENTICATOR);
 
@@ -208,7 +207,6 @@
         init(options,
              tgs_creds.ticket,
              tgs_creds.key,
-             tgs_creds.client.getRealm(),
              tgs_creds.client,
              cksum,
              ctime,
@@ -221,7 +219,6 @@
     private void init(APOptions apOptions,
                       Ticket ticket,
                       EncryptionKey key,
-                      Realm crealm,
                       PrincipalName cname,
                       Checksum cksum,
                       KerberosTime ctime,
@@ -232,7 +229,7 @@
         throws Asn1Exception, IOException,
                KdcErrException, KrbCryptoException {
 
-        createMessage(apOptions, ticket, key, crealm, cname,
+        createMessage(apOptions, ticket, key, cname,
                       cksum, ctime, subKey, seqNumber, authorizationData,
             usage);
         obuf = apReqMessg.asn1Encode();
@@ -289,9 +286,6 @@
         ctime = authenticator.ctime;
         cusec = authenticator.cusec;
         authenticator.ctime.setMicroSeconds(authenticator.cusec);
-        authenticator.cname.setRealm(authenticator.crealm);
-        apReqMessg.ticket.sname.setRealm(apReqMessg.ticket.realm);
-        enc_ticketPart.cname.setRealm(enc_ticketPart.crealm);
 
         if (!authenticator.cname.equals(enc_ticketPart.cname))
             throw new KrbApErrException(Krb5.KRB_AP_ERR_BADMATCH);
@@ -457,7 +451,6 @@
     private void createMessage(APOptions apOptions,
                                Ticket ticket,
                                EncryptionKey key,
-                               Realm crealm,
                                PrincipalName cname,
                                Checksum cksum,
                                KerberosTime ctime,
@@ -474,8 +467,7 @@
             seqno = new Integer(seqNumber.current());
 
         authenticator =
-            new Authenticator(crealm,
-                              cname,
+            new Authenticator(cname,
                               cksum,
                               ctime.getMicroSeconds(),
                               ctime,
--- a/src/share/classes/sun/security/krb5/KrbAppMessage.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/sun/security/krb5/KrbAppMessage.java	Wed Aug 01 11:08:11 2012 -0400
@@ -48,8 +48,7 @@
                HostAddress rAddress,
                boolean timestampRequired,
                boolean seqNumberRequired,
-               PrincipalName packetPrincipal,
-               Realm packetRealm)
+               PrincipalName packetPrincipal)
         throws KrbApErrException {
 
         if (!Krb5.AP_EMPTY_ADDRESSES_ALLOWED || sAddress != null) {
--- a/src/share/classes/sun/security/krb5/KrbAsRep.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/sun/security/krb5/KrbAsRep.java	Wed Aug 01 11:08:11 2012 -0400
@@ -152,11 +152,10 @@
 
         DerValue encoding = new DerValue(enc_as_rep_part);
         EncASRepPart enc_part = new EncASRepPart(encoding);
-        rep.ticket.sname.setRealm(rep.ticket.realm);
         rep.encKDCRepPart = enc_part;
 
         ASReq req = asReq.getMessage();
-        check(req, rep);
+        check(true, req, rep);
 
         creds = new Credentials(
                                 rep.ticket,
--- a/src/share/classes/sun/security/krb5/KrbAsReq.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/sun/security/krb5/KrbAsReq.java	Wed Aug 01 11:08:11 2012 -0400
@@ -115,10 +115,8 @@
         }
 
         if (sname == null) {
-            sname = new PrincipalName("krbtgt" +
-                                      PrincipalName.NAME_COMPONENT_SEPARATOR +
-                                      cname.getRealmAsString(),
-                            PrincipalName.KRB_NT_SRV_INST);
+            String realm = cname.getRealmAsString();
+            sname = PrincipalName.tgsService(realm, realm);
         }
 
         if (till == null) {
@@ -128,7 +126,6 @@
         // enc-authorization-data and additional-tickets never in AS-REQ
         KDCReqBody kdc_req_body = new KDCReqBody(options,
                                                  cname,
-                                                 cname.getRealm(),
                                                  sname,
                                                  from,
                                                  till,
--- a/src/share/classes/sun/security/krb5/KrbAsReqBuilder.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/sun/security/krb5/KrbAsReqBuilder.java	Wed Aug 01 11:08:11 2012 -0400
@@ -99,9 +99,6 @@
     // Called by other constructors
     private void init(PrincipalName cname)
             throws KrbException {
-        if (cname.getRealm() == null) {
-            cname.setRealm(Config.getInstance().getDefaultRealm());
-        }
         this.cname = cname;
         state = State.INIT;
     }
--- a/src/share/classes/sun/security/krb5/KrbCred.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/sun/security/krb5/KrbCred.java	Wed Aug 01 11:08:11 2012 -0400
@@ -96,12 +96,11 @@
         PrincipalName princ = delegatedCreds.getClient();
         Realm realm = princ.getRealm();
         PrincipalName tgService = delegatedCreds.getServer();
-        Realm tgsRealm = tgService.getRealm();
 
-        KrbCredInfo credInfo = new KrbCredInfo(sessionKey, realm,
+        KrbCredInfo credInfo = new KrbCredInfo(sessionKey,
                                                princ, delegatedCreds.flags, delegatedCreds.authTime,
                                                delegatedCreds.startTime, delegatedCreds.endTime,
-                                               delegatedCreds.renewTill, tgsRealm, tgService,
+                                               delegatedCreds.renewTill, tgService,
                                                delegatedCreds.cAddr);
 
         timeStamp = new KerberosTime(KerberosTime.NOW);
@@ -138,19 +137,13 @@
 
         KrbCredInfo credInfo = encPart.ticketInfo[0];
         EncryptionKey credInfoKey = credInfo.key;
-        Realm prealm = credInfo.prealm;
-        // XXX PrincipalName can store realm + principalname or
-        // just principal name.
         PrincipalName pname = credInfo.pname;
-        pname.setRealm(prealm);
         TicketFlags flags = credInfo.flags;
         KerberosTime authtime = credInfo.authtime;
         KerberosTime starttime = credInfo.starttime;
         KerberosTime endtime = credInfo.endtime;
         KerberosTime renewTill = credInfo.renewTill;
-        Realm srealm = credInfo.srealm;
         PrincipalName sname = credInfo.sname;
-        sname.setRealm(srealm);
         HostAddresses caddr = credInfo.caddr;
 
         if (DEBUG) {
--- a/src/share/classes/sun/security/krb5/KrbException.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/sun/security/krb5/KrbException.java	Wed Aug 01 11:08:11 2012 -0400
@@ -45,6 +45,10 @@
         super(s);
     }
 
+    public KrbException(Throwable cause) {
+        super(cause);
+    }
+
     public KrbException(int i) {
         returnCode = i;
     }
--- a/src/share/classes/sun/security/krb5/KrbKdcRep.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/sun/security/krb5/KrbKdcRep.java	Wed Aug 01 11:08:11 2012 -0400
@@ -35,28 +35,17 @@
 abstract class KrbKdcRep {
 
     static void check(
+                      boolean isAsReq,
                       KDCReq req,
                       KDCRep rep
                       ) throws KrbApErrException {
 
-        if (!req.reqBody.cname.equalsWithoutRealm(rep.cname)) {
+        if (isAsReq && !req.reqBody.cname.equals(rep.cname)) {
             rep.encKDCRepPart.key.destroy();
             throw new KrbApErrException(Krb5.KRB_AP_ERR_MODIFIED);
         }
 
-        /**** XXX
-              if (!req.reqBody.crealm.equals(rep.crealm)) {
-              rep.encKDCRepPart.key.destroy();
-              throw new KrbApErrException(Krb5.KRB_AP_ERR_MODIFIED);
-              }
-        *****/
-
-        if (!req.reqBody.sname.equalsWithoutRealm(rep.encKDCRepPart.sname)) {
-            rep.encKDCRepPart.key.destroy();
-            throw new KrbApErrException(Krb5.KRB_AP_ERR_MODIFIED);
-        }
-
-        if (!req.reqBody.crealm.equals(rep.encKDCRepPart.srealm)) {
+        if (!req.reqBody.sname.equals(rep.encKDCRepPart.sname)) {
             rep.encKDCRepPart.key.destroy();
             throw new KrbApErrException(Krb5.KRB_AP_ERR_MODIFIED);
         }
@@ -73,7 +62,6 @@
             throw new KrbApErrException(Krb5.KRB_AP_ERR_MODIFIED);
         }
 
-
         for (int i = 1; i < 6; i++) {
             if (req.reqBody.kdcOptions.get(i) !=
                 rep.encKDCRepPart.flags.get(i)) {
--- a/src/share/classes/sun/security/krb5/KrbPriv.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/sun/security/krb5/KrbPriv.java	Wed Aug 01 11:08:11 2012 -0400
@@ -89,8 +89,7 @@
                            raddr,
                            timestampRequired,
                            seqNumberRequired,
-                           creds.client,
-                           creds.client.getRealm()
+                           creds.client
                            );
     }
 
@@ -151,8 +150,7 @@
                            HostAddress rAddress,
                            boolean timestampRequired,
                            boolean seqNumberRequired,
-                           PrincipalName cname,
-                           Realm crealm
+                           PrincipalName cname
                            ) throws Asn1Exception, KdcErrException,
                            KrbApErrException, IOException, KrbCryptoException {
 
@@ -172,8 +170,7 @@
                                      rAddress,
                                      timestampRequired,
                                      seqNumberRequired,
-                                     cname,
-                                     crealm
+                                     cname
                                      );
 
                                return enc_part.userData;
--- a/src/share/classes/sun/security/krb5/KrbSafe.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/sun/security/krb5/KrbSafe.java	Wed Aug 01 11:08:11 2012 -0400
@@ -90,8 +90,7 @@
                            raddr,
                            timestampRequired,
                            seqNumberRequired,
-                           creds.client,
-                           creds.client.getRealm()
+                           creds.client
                            );
     }
 
@@ -154,8 +153,7 @@
                            HostAddress rAddress,
                            boolean timestampRequired,
                            boolean seqNumberRequired,
-                           PrincipalName cname,
-                           Realm crealm
+                           PrincipalName cname
                            ) throws Asn1Exception, KdcErrException,
                            KrbApErrException, IOException, KrbCryptoException {
 
@@ -177,8 +175,7 @@
                                      rAddress,
                                      timestampRequired,
                                      seqNumberRequired,
-                                     cname,
-                                     crealm
+                                     cname
                                      );
 
                                return krb_safe.safeBody.userData;
--- a/src/share/classes/sun/security/krb5/KrbTgsRep.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/sun/security/krb5/KrbTgsRep.java	Wed Aug 01 11:08:11 2012 -0400
@@ -82,12 +82,11 @@
         byte[] enc_tgs_rep_part = rep.encPart.reset(enc_tgs_rep_bytes);
         ref = new DerValue(enc_tgs_rep_part);
         EncTGSRepPart enc_part = new EncTGSRepPart(ref);
-        rep.ticket.sname.setRealm(rep.ticket.realm);
         rep.encKDCRepPart = enc_part;
 
-        check(req, rep);
+        check(false, req, rep);
 
-        creds = new Credentials(rep.ticket,
+        this.creds = new Credentials(rep.ticket,
                                 req.reqBody.cname,
                                 rep.ticket.sname,
                                 enc_part.key,
@@ -99,7 +98,6 @@
                                 enc_part.caddr
                                 );
         this.rep = rep;
-        this.creds = creds;
         this.secondTicket = tgsReq.getSecondTicket();
     }
 
--- a/src/share/classes/sun/security/krb5/KrbTgsReq.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/sun/security/krb5/KrbTgsReq.java	Wed Aug 01 11:08:11 2012 -0400
@@ -148,7 +148,6 @@
                 asCreds.key,
                 ctime,
                 princName,
-                princName.getRealm(),
                 servName,
                 from,
                 till,
@@ -214,7 +213,6 @@
                          EncryptionKey key,
                          KerberosTime ctime,
                          PrincipalName cname,
-                         Realm crealm,
                          PrincipalName sname,
                          KerberosTime from,
                          KerberosTime till,
@@ -273,8 +271,6 @@
         KDCReqBody reqBody = new KDCReqBody(
                                             kdc_options,
                                             cname,
-                                            // crealm,
-                                            sname.getRealm(), // TO
                                             sname,
                                             from,
                                             req_till,
@@ -315,7 +311,6 @@
                                          new APOptions(),
                                          ticket,
                                          key,
-                                         crealm,
                                          cname,
                                          cksum,
                                          ctime,
--- a/src/share/classes/sun/security/krb5/PrincipalName.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/sun/security/krb5/PrincipalName.java	Wed Aug 01 11:08:11 2012 -0400
@@ -38,15 +38,25 @@
 import java.util.Locale;
 import java.io.IOException;
 import java.math.BigInteger;
+import java.util.Arrays;
 import sun.security.krb5.internal.ccache.CCacheOutputStream;
 import sun.security.krb5.internal.util.KerberosString;
 
 
 /**
- * This class encapsulates a Kerberos principal.
+ * Implements the ASN.1 PrincipalName type and its realm in a single class.
+ * <xmp>
+ *    Realm           ::= KerberosString
+ *
+ *    PrincipalName   ::= SEQUENCE {
+ *            name-type       [0] Int32,
+ *            name-string     [1] SEQUENCE OF KerberosString
+ *    }
+ * </xmp>
+ * This class is immutable.
+ * @see Realm
  */
-public class PrincipalName
-    implements Cloneable {
+public class PrincipalName implements Cloneable {
 
     //name types
 
@@ -80,8 +90,6 @@
      */
     public static final int KRB_NT_UID = 5;
 
-
-
     /**
      * TGS Name
      */
@@ -96,98 +104,109 @@
     public static final String NAME_REALM_SEPARATOR_STR = "@";
     public static final String REALM_COMPONENT_SEPARATOR_STR = ".";
 
-    private int nameType;
-    private String[] nameStrings;  // Principal names don't mutate often
+    // Instance fields.
+
+    /**
+     * The name type, from PrincipalName's name-type field.
+     */
+    private final int nameType;
+
+    /**
+     * The name strings, from PrincipalName's name-strings field. This field
+     * must be neither null nor empty. Each entry of it must also be neither
+     * null nor empty. Make sure to clone the field when it's passed in or out.
+     */
+    private final String[] nameStrings;
+
+    /**
+     * The realm this principal belongs to.
+     */
+    private final Realm nameRealm;      // not null
+
+    // cached default salt, not used in clone
+    private transient String salt = null;
 
-    private Realm nameRealm;  // optional; a null realm means use default
-    // Note: the nameRealm is not included in the default ASN.1 encoding
+    // There are 3 basic constructors. All other constructors must call them.
+    // All basic constructors must call validateNameStrings.
+    // 1. From name components
+    // 2. From name
+    // 3. From DER encoding
 
-    // cached salt, might be changed by KDC info, not used in clone
-    private String salt = null;
+    /**
+     * Creates a PrincipalName.
+     */
+    public PrincipalName(int nameType, String[] nameStrings, Realm nameRealm) {
+        if (nameRealm == null) {
+            throw new IllegalArgumentException("Null realm not allowed");
+        }
+        validateNameStrings(nameStrings);
+        this.nameType = nameType;
+        this.nameStrings = nameStrings.clone();
+        this.nameRealm = nameRealm;
+    }
 
-    protected PrincipalName() {
+    // This method is called by Windows NativeCred.c
+    public PrincipalName(String[] nameParts, String realm) throws RealmException {
+        this(KRB_NT_UNKNOWN, nameParts, new Realm(realm));
     }
 
     public PrincipalName(String[] nameParts, int type)
-        throws IllegalArgumentException, IOException {
-        if (nameParts == null) {
-            throw new IllegalArgumentException("Null input not allowed");
-        }
-        nameStrings = new String[nameParts.length];
-        System.arraycopy(nameParts, 0, nameStrings, 0, nameParts.length);
-        nameType = type;
-        nameRealm = null;
+            throws IllegalArgumentException, RealmException {
+        this(type, nameParts, Realm.getDefault());
     }
 
-    public PrincipalName(String[] nameParts) throws IOException {
-        this(nameParts, KRB_NT_UNKNOWN);
+    // Validate a nameStrings argument
+    private static void validateNameStrings(String[] ns) {
+        if (ns == null) {
+            throw new IllegalArgumentException("Null nameStrings not allowed");
+        }
+        if (ns.length == 0) {
+            throw new IllegalArgumentException("Empty nameStrings not allowed");
+        }
+        for (String s: ns) {
+            if (s == null) {
+                throw new IllegalArgumentException("Null nameString not allowed");
+            }
+            if (s.isEmpty()) {
+                throw new IllegalArgumentException("Empty nameString not allowed");
+            }
+        }
     }
 
     public Object clone() {
         try {
             PrincipalName pName = (PrincipalName) super.clone();
-            // Re-assign mutable fields
-            if (nameStrings != null) {
-                pName.nameStrings = nameStrings.clone();
-            }
-            if (nameRealm != null) {
-                pName.nameRealm = (Realm)nameRealm.clone();
-            }
+            UNSAFE.putObject(this, NAME_STRINGS_OFFSET, nameStrings.clone());
             return pName;
         } catch (CloneNotSupportedException ex) {
             throw new AssertionError("Should never happen");
         }
     }
 
-    /*
-     * Added to workaround a bug where the equals method that takes a
-     * PrincipalName is not being called but Object.equals(Object) is
-     * being called.
-     */
-    public boolean equals(Object o) {
-        if (o instanceof PrincipalName)
-            return equals((PrincipalName)o);
-        else
-            return false;
+    private static final long NAME_STRINGS_OFFSET;
+    private static final sun.misc.Unsafe UNSAFE;
+    static {
+        try {
+            sun.misc.Unsafe unsafe = sun.misc.Unsafe.getUnsafe();
+            NAME_STRINGS_OFFSET = unsafe.objectFieldOffset(
+                    PrincipalName.class.getDeclaredField("nameStrings"));
+            UNSAFE = unsafe;
+        } catch (ReflectiveOperationException e) {
+            throw new Error(e);
+        }
     }
 
-    public boolean equals(PrincipalName other) {
-
-
-        if (!equalsWithoutRealm(other)) {
-            return false;
-        }
-
-        if ((nameRealm != null && other.nameRealm == null) ||
-            (nameRealm == null && other.nameRealm != null)) {
-            return false;
-        }
-
-        if (nameRealm != null && other.nameRealm != null) {
-            if (!nameRealm.equals(other.nameRealm)) {
-                return false;
-            }
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) {
+            return true;
         }
-
-        return true;
-    }
-
-    boolean equalsWithoutRealm(PrincipalName other) {
-
-        if ((nameStrings != null && other.nameStrings == null) ||
-            (nameStrings == null && other.nameStrings != null))
-            return false;
-
-        if (nameStrings != null && other.nameStrings != null) {
-            if (nameStrings.length != other.nameStrings.length)
-                return false;
-            for (int i = 0; i < nameStrings.length; i++)
-                if (!nameStrings[i].equals(other.nameStrings[i]))
-                    return false;
+        if (o instanceof PrincipalName) {
+            PrincipalName other = (PrincipalName)o;
+            return nameRealm.equals(other.nameRealm) &&
+                    Arrays.equals(nameStrings, other.nameStrings);
         }
-
-        return true;
-
+        return false;
     }
 
     /**
@@ -208,20 +227,23 @@
      * http://www.ietf.org/rfc/rfc4120.txt</a>.
      *
      * @param encoding a Der-encoded data.
+     * @param realm the realm for this name
      * @exception Asn1Exception if an error occurs while decoding
      * an ASN1 encoded data.
      * @exception Asn1Exception if there is an ASN1 encoding error
      * @exception IOException if an I/O error occurs
      * @exception IllegalArgumentException if encoding is null
      * reading encoded data.
-     *
      */
-    public PrincipalName(DerValue encoding)
-        throws Asn1Exception, IOException {
-        nameRealm = null;
+    public PrincipalName(DerValue encoding, Realm realm)
+            throws Asn1Exception, IOException {
+        if (realm == null) {
+            throw new IllegalArgumentException("Null realm not allowed");
+        }
+        nameRealm = realm;
         DerValue der;
         if (encoding == null) {
-            throw new IllegalArgumentException("Null input not allowed");
+            throw new IllegalArgumentException("Null encoding not allowed");
         }
         if (encoding.getTag() != DerValue.tag_Sequence) {
             throw new Asn1Exception(Krb5.ASN1_BAD_ID);
@@ -243,14 +265,12 @@
             DerValue subSubDer;
             while(subDer.getData().available() > 0) {
                 subSubDer = subDer.getData().getDerValue();
-                v.addElement(new KerberosString(subSubDer).toString());
+                String namePart = new KerberosString(subSubDer).toString();
+                v.addElement(namePart);
             }
-            if (v.size() > 0) {
-                nameStrings = new String[v.size()];
-                v.copyInto(nameStrings);
-            } else {
-                nameStrings = new String[] {""};
-            }
+            nameStrings = new String[v.size()];
+            v.copyInto(nameStrings);
+            validateNameStrings(nameStrings);
         } else  {
             throw new Asn1Exception(Krb5.ASN1_BAD_ID);
         }
@@ -267,32 +287,35 @@
      * more marshaled value.
      * @param explicitTag tag number.
      * @param optional indicate if this data field is optional
-     * @return an instance of <code>PrincipalName</code>.
-     *
+     * @param realm the realm for the name
+     * @return an instance of <code>PrincipalName</code>, or null if the
+     * field is optional and missing.
      */
     public static PrincipalName parse(DerInputStream data,
                                       byte explicitTag, boolean
-                                      optional)
-        throws Asn1Exception, IOException {
+                                      optional,
+                                      Realm realm)
+        throws Asn1Exception, IOException, RealmException {
 
         if ((optional) && (((byte)data.peekByte() & (byte)0x1F) !=
                            explicitTag))
             return null;
         DerValue der = data.getDerValue();
-        if (explicitTag != (der.getTag() & (byte)0x1F))
+        if (explicitTag != (der.getTag() & (byte)0x1F)) {
             throw new Asn1Exception(Krb5.ASN1_BAD_ID);
-        else {
+        } else {
             DerValue subDer = der.getData().getDerValue();
-            return new PrincipalName(subDer);
+            if (realm == null) {
+                realm = Realm.getDefault();
+            }
+            return new PrincipalName(subDer, realm);
         }
     }
 
 
-    // This is protected because the definition of a principal
-    // string is fixed
     // XXX Error checkin consistent with MIT krb5_parse_name
     // Code repetition, realm parsed again by class Realm
-    protected static String[] parseName(String name) {
+    private static String[] parseName(String name) {
 
         Vector<String> tempStrings = new Vector<>();
         String temp = name;
@@ -312,13 +335,13 @@
                     continue;
                 }
                 else {
-                    if (componentStart < i) {
+                    if (componentStart <= i) {
                         component = temp.substring(componentStart, i);
                         tempStrings.addElement(component);
                     }
                     componentStart = i + 1;
                 }
-            } else
+            } else {
                 if (temp.charAt(i) == NAME_REALM_SEPARATOR) {
                     /*
                      * If this separator is escaped then don't treat it
@@ -337,11 +360,11 @@
                         break;
                     }
                 }
+            }
             i++;
         }
 
-        if (i == temp.length())
-        if (componentStart < i) {
+        if (i == temp.length()) {
             component = temp.substring(componentStart, i);
             tempStrings.addElement(component);
         }
@@ -351,30 +374,26 @@
         return result;
     }
 
-    public PrincipalName(String name, int type)
-        throws RealmException {
+    /**
+     * Constructs a PrincipalName from a string.
+     * @param name the name
+     * @param type the type
+     * @param realm the realm, null if not known. Note that when realm is not
+     * null, it will be always used even if there is a realm part in name. When
+     * realm is null, will read realm part from name, or try to map a realm
+     * (for KRB_NT_SRV_HST), or use the default realm, or fail
+     * @throws RealmException
+     */
+    public PrincipalName(String name, int type, String realm)
+            throws RealmException {
         if (name == null) {
             throw new IllegalArgumentException("Null name not allowed");
         }
         String[] nameParts = parseName(name);
-        Realm tempRealm = null;
-        String realmString = Realm.parseRealmAtSeparator(name);
-
-        if (realmString == null) {
-            try {
-                Config config = Config.getInstance();
-                realmString = config.getDefaultRealm();
-            } catch (KrbException e) {
-                RealmException re =
-                    new RealmException(e.getMessage());
-                re.initCause(e);
-                throw re;
-            }
+        validateNameStrings(nameParts);
+        if (realm == null) {
+            realm = Realm.parseRealmAtSeparator(name);
         }
-
-        if (realmString != null)
-            tempRealm = new Realm(realmString);
-
         switch (type) {
         case KRB_NT_SRV_HST:
             if (nameParts.length >= 2) {
@@ -401,18 +420,22 @@
             }
             nameStrings = nameParts;
             nameType = type;
+
+            if (realm != null) {
+                nameRealm = new Realm(realm);
+            } else {
                 // We will try to get realm name from the mapping in
                 // the configuration. If it is not specified
                 // we will use the default realm. This nametype does
                 // not allow a realm to be specified. The name string must of
                 // the form service@host and this is internally changed into
                 // service/host by Kerberos
-
-            String mapRealm =  mapHostToRealm(nameParts[1]);
-            if (mapRealm != null) {
-                nameRealm = new Realm(mapRealm);
-            } else {
-                nameRealm = tempRealm;
+                String mapRealm =  mapHostToRealm(nameParts[1]);
+                if (mapRealm != null) {
+                    nameRealm = new Realm(mapRealm);
+                } else {
+                    nameRealm = Realm.getDefault();
+                }
             }
             break;
         case KRB_NT_UNKNOWN:
@@ -422,20 +445,34 @@
         case KRB_NT_UID:
             nameStrings = nameParts;
             nameType = type;
-            nameRealm = tempRealm;
+            if (realm != null) {
+                nameRealm = new Realm(realm);
+            } else {
+                nameRealm = Realm.getDefault();
+            }
             break;
         default:
             throw new IllegalArgumentException("Illegal name type");
         }
     }
 
+    public PrincipalName(String name, int type) throws RealmException {
+        this(name, type, (String)null);
+    }
+
     public PrincipalName(String name) throws RealmException {
         this(name, KRB_NT_UNKNOWN);
     }
 
     public PrincipalName(String name, String realm) throws RealmException {
-        this(name, KRB_NT_UNKNOWN);
-        nameRealm = new Realm(realm);
+        this(name, KRB_NT_UNKNOWN, realm);
+    }
+
+    public static PrincipalName tgsService(String r1, String r2)
+            throws KrbException {
+        return new PrincipalName(PrincipalName.KRB_NT_SRV_INST,
+                new String[] {PrincipalName.TGS_DEFAULT_SRV_NAME, r1},
+                new Realm(r2));
     }
 
     public String getRealmAsString() {
@@ -475,29 +512,17 @@
     }
 
     public String getRealmString() {
-        if (nameRealm != null)
-            return nameRealm.toString();
-        return null;
+        return nameRealm.toString();
     }
 
     public Realm getRealm() {
         return nameRealm;
     }
 
-    public void setRealm(Realm new_nameRealm) throws RealmException {
-        nameRealm = new_nameRealm;
-    }
-
-    public void setRealm(String realmsString) throws RealmException {
-        nameRealm = new Realm(realmsString);
-    }
-
     public String getSalt() {
         if (salt == null) {
             StringBuffer salt = new StringBuffer();
-            if (nameRealm != null) {
-                salt.append(nameRealm.toString());
-            }
+            salt.append(nameRealm.toString());
             for (int i = 0; i < nameStrings.length; i++) {
                 salt.append(nameStrings[i]);
             }
@@ -513,11 +538,8 @@
                 str.append("/");
             str.append(nameStrings[i]);
         }
-        if (nameRealm != null) {
-            str.append("@");
-            str.append(nameRealm.toString());
-        }
-
+        str.append("@");
+        str.append(nameRealm.toString());
         return str.toString();
     }
 
@@ -532,7 +554,8 @@
     }
 
     /**
-     * Encodes a <code>PrincipalName</code> object.
+     * Encodes a <code>PrincipalName</code> object. Note that only the type and
+     * names are encoded. To encode the realm, call getRealm().asn1Encode().
      * @return the byte array of the encoded PrncipalName object.
      * @exception Asn1Exception if an error occurs while decoding an ASN1 encoded data.
      * @exception IOException if an I/O error occurs while reading encoded data.
@@ -597,12 +620,10 @@
     public void writePrincipal(CCacheOutputStream cos) throws IOException {
         cos.write32(nameType);
         cos.write32(nameStrings.length);
-        if (nameRealm != null) {
-            byte[] realmBytes = null;
-            realmBytes = nameRealm.toString().getBytes();
-            cos.write32(realmBytes.length);
-            cos.write(realmBytes, 0, realmBytes.length);
-        }
+        byte[] realmBytes = null;
+        realmBytes = nameRealm.toString().getBytes();
+        cos.write32(realmBytes.length);
+        cos.write(realmBytes, 0, realmBytes.length);
         byte[] bytes = null;
         for (int i = 0; i < nameStrings.length; i++) {
             bytes = nameStrings[i].getBytes();
@@ -612,31 +633,6 @@
     }
 
     /**
-     * Creates a KRB_NT_SRV_INST name from the supplied
-     * name components and realm.
-     * @param primary the primary component of the name
-     * @param instance the instance component of the name
-     * @param realm the realm
-     * @throws KrbException
-     */
-    protected PrincipalName(String primary, String instance, String realm,
-                            int type)
-        throws KrbException {
-
-        if (type != KRB_NT_SRV_INST) {
-            throw new KrbException(Krb5.KRB_ERR_GENERIC, "Bad name type");
-        }
-
-        String[] nParts = new String[2];
-        nParts[0] = primary;
-        nParts[1] = instance;
-
-        this.nameStrings = nParts;
-        this.nameRealm = new Realm(realm);
-        this.nameType = type;
-    }
-
-    /**
      * Returns the instance component of a name.
      * In a multi-component name such as a KRB_NT_SRV_INST
      * name, the second component is returned.
--- a/src/share/classes/sun/security/krb5/Realm.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/sun/security/krb5/Realm.java	Wed Aug 01 11:08:11 2012 -0400
@@ -46,24 +46,29 @@
  * <xmp>
  * Realm ::= GeneralString
  * </xmp>
+ * This class is immutable.
  */
 public class Realm implements Cloneable {
-    private String realm;
+    private final String realm; // not null nor empty
     private static boolean DEBUG = Krb5.DEBUG;
 
-    private Realm() {
-    }
-
     public Realm(String name) throws RealmException {
         realm = parseRealm(name);
     }
 
+    public static Realm getDefault() throws RealmException {
+        try {
+            return new Realm(Config.getInstance().getDefaultRealm());
+        } catch (RealmException re) {
+            throw re;
+        } catch (KrbException ke) {
+            throw new RealmException(ke);
+        }
+    }
+
+    // Immutable class, no need to clone
     public Object clone() {
-        Realm new_realm = new Realm();
-        if (realm != null) {
-            new_realm.realm = new String(realm);
-        }
-        return new_realm;
+        return this;
     }
 
     public boolean equals(Object obj) {
@@ -76,21 +81,11 @@
         }
 
         Realm that = (Realm)obj;
-        if (this.realm != null && that.realm != null ) {
-            return this.realm.equals(that.realm);
-        } else {
-            return (this.realm == null && that.realm == null);
-        }
+        return this.realm.equals(that.realm);
     }
 
     public int hashCode() {
-        int result = 17 ;
-
-        if( realm != null ) {
-            result = 37 * result + realm.hashCode();
-        }
-
-        return result;
+        return realm.hashCode();
     }
 
     /**
@@ -116,6 +111,7 @@
         return realm;
     }
 
+    // Extract realm from a string like dummy@REALM
     public static String parseRealmAtSeparator(String name)
         throws RealmException {
         if (name == null) {
@@ -128,8 +124,12 @@
         while (i < temp.length()) {
             if (temp.charAt(i) == PrincipalName.NAME_REALM_SEPARATOR) {
                 if (i == 0 || temp.charAt(i - 1) != '\\') {
-                    if (i + 1 < temp.length())
+                    if (i + 1 < temp.length()) {
                         result = temp.substring(i + 1, temp.length());
+                    } else {
+                        throw new IllegalArgumentException
+                                ("empty realm part not allowed");
+                    }
                     break;
                 }
             }
@@ -219,7 +219,8 @@
      * @return an instance of Realm.
      *
      */
-    public static Realm parse(DerInputStream data, byte explicitTag, boolean optional) throws Asn1Exception, IOException, RealmException {
+    public static Realm parse(DerInputStream data, byte explicitTag, boolean optional)
+            throws Asn1Exception, IOException, RealmException {
         if ((optional) && (((byte)data.peekByte() & (byte)0x1F) != explicitTag)) {
             return null;
         }
--- a/src/share/classes/sun/security/krb5/RealmException.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/sun/security/krb5/RealmException.java	Wed Aug 01 11:08:11 2012 -0400
@@ -47,4 +47,7 @@
         super(i,s);
     }
 
+    public RealmException(Throwable cause) {
+        super(cause);
+    }
 }
--- a/src/share/classes/sun/security/krb5/ServiceName.java	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code 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
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- *
- *  (C) Copyright IBM Corp. 1999 All Rights Reserved.
- *  Copyright 1997 The Open Group Research Institute.  All rights reserved.
- */
-
-package sun.security.krb5;
-
-import java.net.InetAddress;
-import java.net.UnknownHostException;
-
-public class ServiceName extends PrincipalName {
-
-    public ServiceName(String name, int type) throws RealmException {
-        super(name, type);
-
-    }
-    public ServiceName(String name) throws RealmException {
-        this(name, PrincipalName.KRB_NT_UNKNOWN);
-    }
-
-    public ServiceName(String name, String realm) throws RealmException {
-        this(name, PrincipalName.KRB_NT_UNKNOWN);
-        setRealm(realm);
-    }
-
-    public ServiceName (String service, String instance, String realm)
-        throws KrbException
-    {
-        super(service, instance, realm, PrincipalName.KRB_NT_SRV_INST);
-    }
-
-}
--- a/src/share/classes/sun/security/krb5/internal/ASRep.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/sun/security/krb5/internal/ASRep.java	Wed Aug 01 11:08:11 2012 -0400
@@ -42,11 +42,10 @@
 
     public ASRep(
             PAData[] new_pAData,
-            Realm new_crealm,
             PrincipalName new_cname,
             Ticket new_ticket,
             EncryptedData new_encPart) throws IOException {
-        super(new_pAData, new_crealm, new_cname, new_ticket,
+        super(new_pAData, new_cname, new_ticket,
                 new_encPart, Krb5.KRB_AS_REP);
     }
 
--- a/src/share/classes/sun/security/krb5/internal/Authenticator.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/sun/security/krb5/internal/Authenticator.java	Wed Aug 01 11:08:11 2012 -0400
@@ -61,7 +61,6 @@
 public class Authenticator {
 
     public int authenticator_vno;
-    public Realm crealm;
     public PrincipalName cname;
     Checksum cksum; //optional
     public int cusec;
@@ -71,7 +70,6 @@
     public AuthorizationData authorizationData; //optional
 
     public Authenticator(
-            Realm new_crealm,
             PrincipalName new_cname,
             Checksum new_cksum,
             int new_cusec,
@@ -80,7 +78,6 @@
             Integer new_seqNumber,
             AuthorizationData new_authorizationData) {
         authenticator_vno = Krb5.AUTHNETICATOR_VNO;
-        crealm = new_crealm;
         cname = new_cname;
         cksum = new_cksum;
         cusec = new_cusec;
@@ -131,8 +128,8 @@
         if (authenticator_vno != 5) {
             throw new KrbApErrException(Krb5.KRB_AP_ERR_BADVERSION);
         }
-        crealm = Realm.parse(der.getData(), (byte) 0x01, false);
-        cname = PrincipalName.parse(der.getData(), (byte) 0x02, false);
+        Realm crealm = Realm.parse(der.getData(), (byte) 0x01, false);
+        cname = PrincipalName.parse(der.getData(), (byte) 0x02, false, crealm);
         cksum = Checksum.parse(der.getData(), (byte) 0x03, true);
         subDer = der.getData().getDerValue();
         if ((subDer.getTag() & (byte) 0x1F) == 0x04) {
@@ -180,7 +177,7 @@
         DerOutputStream temp = new DerOutputStream();
         temp.putInteger(BigInteger.valueOf(authenticator_vno));
         v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte) 0x00), temp.toByteArray()));
-        v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte) 0x01), crealm.asn1Encode()));
+        v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte) 0x01), cname.getRealm().asn1Encode()));
         v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte) 0x02), cname.asn1Encode()));
         if (cksum != null) {
             v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte) 0x03), cksum.asn1Encode()));
--- a/src/share/classes/sun/security/krb5/internal/CredentialsUtil.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/sun/security/krb5/internal/CredentialsUtil.java	Wed Aug 01 11:08:11 2012 -0400
@@ -72,23 +72,9 @@
     public static Credentials acquireServiceCreds(
                 String service, Credentials ccreds)
     throws KrbException, IOException {
-        ServiceName sname = new ServiceName(service);
+        PrincipalName sname = new PrincipalName(service);
         String serviceRealm = sname.getRealmString();
         String localRealm = ccreds.getClient().getRealmString();
-        String defaultRealm = Config.getInstance().getDefaultRealm();
-
-        if (localRealm == null) {
-            PrincipalName temp = null;
-            if ((temp = ccreds.getServer()) != null)
-                localRealm = temp.getRealmString();
-        }
-        if (localRealm == null) {
-            localRealm = defaultRealm;
-        }
-        if (serviceRealm == null) {
-            serviceRealm = localRealm;
-            sname.setRealm(serviceRealm);
-        }
 
         /*
           if (!localRealm.equalsIgnoreCase(serviceRealm)) { //do cross-realm auth entication
@@ -128,13 +114,12 @@
 
         int i = 0, k = 0;
         Credentials cTgt = null, newTgt = null, theTgt = null;
-        ServiceName tempService = null;
+        PrincipalName tempService = null;
         String realm = null, newTgtRealm = null, theTgtRealm = null;
 
         for (cTgt = ccreds, i = 0; i < realms.length;)
         {
-            tempService = new ServiceName(PrincipalName.TGS_DEFAULT_SRV_NAME,
-                                          serviceRealm, realms[i]);
+            tempService = PrincipalName.tgsService(serviceRealm, realms[i]);
 
             if (DEBUG)
             {
@@ -164,9 +149,7 @@
                      newTgt == null && k > i; k--)
                 {
 
-                    tempService = new ServiceName(
-                                       PrincipalName.TGS_DEFAULT_SRV_NAME,
-                                       realms[k], realms[i]);
+                    tempService = PrincipalName.tgsService(realms[k], realms[i]);
                     if (DEBUG)
                     {
                         System.out.println(">>> Credentials acquireServiceCreds: inner loop: [" + k +"] tempService=" + tempService);
@@ -306,7 +289,7 @@
     * This method does the real job to request the service credential.
     */
     private static Credentials serviceCreds(
-            ServiceName service, Credentials ccreds)
+            PrincipalName service, Credentials ccreds)
             throws KrbException, IOException {
         return new KrbTgsReq(ccreds, service).sendAndGetCreds();
     }
--- a/src/share/classes/sun/security/krb5/internal/EncASRepPart.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/sun/security/krb5/internal/EncASRepPart.java	Wed Aug 01 11:08:11 2012 -0400
@@ -46,7 +46,6 @@
             KerberosTime new_starttime,
             KerberosTime new_endtime,
             KerberosTime new_renewTill,
-            Realm new_srealm,
             PrincipalName new_sname,
             HostAddresses new_caddr) {
         super(
@@ -59,7 +58,6 @@
                 new_starttime,
                 new_endtime,
                 new_renewTill,
-                new_srealm,
                 new_sname,
                 new_caddr,
                 Krb5.KRB_ENC_AS_REP_PART
--- a/src/share/classes/sun/security/krb5/internal/EncKDCRepPart.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/sun/security/krb5/internal/EncKDCRepPart.java	Wed Aug 01 11:08:11 2012 -0400
@@ -74,7 +74,6 @@
     public KerberosTime starttime; //optional
     public KerberosTime endtime;
     public KerberosTime renewTill; //optional
-    public Realm srealm;
     public PrincipalName sname;
     public HostAddresses caddr; //optional
     public int msgType; //not included in sequence
@@ -89,7 +88,6 @@
             KerberosTime new_starttime,
             KerberosTime new_endtime,
             KerberosTime new_renewTill,
-            Realm new_srealm,
             PrincipalName new_sname,
             HostAddresses new_caddr,
             int new_msgType) {
@@ -102,7 +100,6 @@
         starttime = new_starttime;
         endtime = new_endtime;
         renewTill = new_renewTill;
-        srealm = new_srealm;
         sname = new_sname;
         caddr = new_caddr;
         msgType = new_msgType;
@@ -158,8 +155,8 @@
         starttime = KerberosTime.parse(der.getData(), (byte) 0x06, true);
         endtime = KerberosTime.parse(der.getData(), (byte) 0x07, false);
         renewTill = KerberosTime.parse(der.getData(), (byte) 0x08, true);
-        srealm = Realm.parse(der.getData(), (byte) 0x09, false);
-        sname = PrincipalName.parse(der.getData(), (byte) 0x0A, false);
+        Realm srealm = Realm.parse(der.getData(), (byte) 0x09, false);
+        sname = PrincipalName.parse(der.getData(), (byte) 0x0A, false, srealm);
         if (der.getData().available() > 0) {
             caddr = HostAddresses.parse(der.getData(), (byte) 0x0B, true);
         }
@@ -206,7 +203,7 @@
                     true, (byte) 0x08), renewTill.asn1Encode());
         }
         bytes.write(DerValue.createTag(DerValue.TAG_CONTEXT,
-                true, (byte) 0x09), srealm.asn1Encode());
+                true, (byte) 0x09), sname.getRealm().asn1Encode());
         bytes.write(DerValue.createTag(DerValue.TAG_CONTEXT,
                 true, (byte) 0x0A), sname.asn1Encode());
         if (caddr != null) {
--- a/src/share/classes/sun/security/krb5/internal/EncTGSRepPart.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/sun/security/krb5/internal/EncTGSRepPart.java	Wed Aug 01 11:08:11 2012 -0400
@@ -45,7 +45,6 @@
             KerberosTime new_starttime,
             KerberosTime new_endtime,
             KerberosTime new_renewTill,
-            Realm new_srealm,
             PrincipalName new_sname,
             HostAddresses new_caddr) {
         super(
@@ -58,7 +57,6 @@
                 new_starttime,
                 new_endtime,
                 new_renewTill,
-                new_srealm,
                 new_sname,
                 new_caddr,
                 Krb5.KRB_ENC_TGS_REP_PART);
--- a/src/share/classes/sun/security/krb5/internal/EncTicketPart.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/sun/security/krb5/internal/EncTicketPart.java	Wed Aug 01 11:08:11 2012 -0400
@@ -65,7 +65,6 @@
 
     public TicketFlags flags;
     public EncryptionKey key;
-    public Realm crealm;
     public PrincipalName cname;
     public TransitedEncoding transited;
     public KerberosTime authtime;
@@ -78,7 +77,6 @@
     public EncTicketPart(
             TicketFlags new_flags,
             EncryptionKey new_key,
-            Realm new_crealm,
             PrincipalName new_cname,
             TransitedEncoding new_transited,
             KerberosTime new_authtime,
@@ -89,7 +87,6 @@
             AuthorizationData new_authorizationData) {
         flags = new_flags;
         key = new_key;
-        crealm = new_crealm;
         cname = new_cname;
         transited = new_transited;
         authtime = new_authtime;
@@ -151,8 +148,8 @@
         }
         flags = TicketFlags.parse(der.getData(), (byte) 0x00, false);
         key = EncryptionKey.parse(der.getData(), (byte) 0x01, false);
-        crealm = Realm.parse(der.getData(), (byte) 0x02, false);
-        cname = PrincipalName.parse(der.getData(), (byte) 0x03, false);
+        Realm crealm = Realm.parse(der.getData(), (byte) 0x02, false);
+        cname = PrincipalName.parse(der.getData(), (byte) 0x03, false, crealm);
         transited = TransitedEncoding.parse(der.getData(), (byte) 0x04, false);
         authtime = KerberosTime.parse(der.getData(), (byte) 0x05, false);
         starttime = KerberosTime.parse(der.getData(), (byte) 0x06, true);
@@ -186,7 +183,7 @@
         bytes.write(DerValue.createTag(DerValue.TAG_CONTEXT,
                 true, (byte) 0x01), key.asn1Encode());
         bytes.write(DerValue.createTag(DerValue.TAG_CONTEXT,
-                true, (byte) 0x02), crealm.asn1Encode());
+                true, (byte) 0x02), cname.getRealm().asn1Encode());
         bytes.write(DerValue.createTag(DerValue.TAG_CONTEXT,
                 true, (byte) 0x03), cname.asn1Encode());
         bytes.write(DerValue.createTag(DerValue.TAG_CONTEXT,
--- a/src/share/classes/sun/security/krb5/internal/KDCRep.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/sun/security/krb5/internal/KDCRep.java	Wed Aug 01 11:08:11 2012 -0400
@@ -61,7 +61,6 @@
  */
 public class KDCRep {
 
-    public Realm crealm;
     public PrincipalName cname;
     public Ticket ticket;
     public EncryptedData encPart;
@@ -73,7 +72,6 @@
 
     public KDCRep(
             PAData[] new_pAData,
-            Realm new_crealm,
             PrincipalName new_cname,
             Ticket new_ticket,
             EncryptedData new_encPart,
@@ -90,7 +88,6 @@
                 }
             }
         }
-        crealm = new_crealm;
         cname = new_cname;
         ticket = new_ticket;
         encPart = new_encPart;
@@ -174,8 +171,8 @@
         } else {
             pAData = null;
         }
-        crealm = Realm.parse(der.getData(), (byte) 0x03, false);
-        cname = PrincipalName.parse(der.getData(), (byte) 0x04, false);
+        Realm crealm = Realm.parse(der.getData(), (byte) 0x03, false);
+        cname = PrincipalName.parse(der.getData(), (byte) 0x04, false, crealm);
         ticket = Ticket.parse(der.getData(), (byte) 0x05, false);
         encPart = EncryptedData.parse(der.getData(), (byte) 0x06, false);
         if (der.getData().available() > 0) {
@@ -212,7 +209,7 @@
                     true, (byte) 0x02), temp);
         }
         bytes.write(DerValue.createTag(DerValue.TAG_CONTEXT,
-                true, (byte) 0x03), crealm.asn1Encode());
+                true, (byte) 0x03), cname.getRealm().asn1Encode());
         bytes.write(DerValue.createTag(DerValue.TAG_CONTEXT,
                 true, (byte) 0x04), cname.asn1Encode());
         bytes.write(DerValue.createTag(DerValue.TAG_CONTEXT,
--- a/src/share/classes/sun/security/krb5/internal/KDCReqBody.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/sun/security/krb5/internal/KDCReqBody.java	Wed Aug 01 11:08:11 2012 -0400
@@ -72,7 +72,6 @@
 public class KDCReqBody {
     public KDCOptions kdcOptions;
     public PrincipalName cname; //optional in ASReq only
-    public Realm crealm;
     public PrincipalName sname; //optional
     public KerberosTime from; //optional
     public KerberosTime till;
@@ -87,7 +86,6 @@
     public KDCReqBody(
             KDCOptions new_kdcOptions,
             PrincipalName new_cname, //optional in ASReq only
-            Realm new_crealm,
             PrincipalName new_sname, //optional
             KerberosTime new_from, //optional
             KerberosTime new_till,
@@ -100,7 +98,6 @@
             ) throws IOException {
         kdcOptions = new_kdcOptions;
         cname = new_cname;
-        crealm = new_crealm;
         sname = new_sname;
         from = new_from;
         till = new_till;
@@ -142,12 +139,22 @@
             throw new Asn1Exception(Krb5.ASN1_BAD_ID);
         }
         kdcOptions = KDCOptions.parse(encoding.getData(), (byte)0x00, false);
-        cname = PrincipalName.parse(encoding.getData(), (byte)0x01, true);
+
+        // cname only appears in AS-REQ and it shares the realm field with
+        // sname. This is the only place where realm comes after the name.
+        // We first give cname a fake realm and reassign it the correct
+        // realm after the realm field is read.
+        cname = PrincipalName.parse(encoding.getData(), (byte)0x01, true,
+                new Realm("PLACEHOLDER"));
         if ((msgType != Krb5.KRB_AS_REQ) && (cname != null)) {
             throw new Asn1Exception(Krb5.ASN1_BAD_ID);
         }
-        crealm = Realm.parse(encoding.getData(), (byte)0x02, false);
-        sname = PrincipalName.parse(encoding.getData(), (byte)0x03, true);
+        Realm realm = Realm.parse(encoding.getData(), (byte)0x02, false);
+        if (cname != null) {
+            cname = new PrincipalName(
+                    cname.getNameType(), cname.getNameStrings(), realm);
+        }
+        sname = PrincipalName.parse(encoding.getData(), (byte)0x03, true, realm);
         from = KerberosTime.parse(encoding.getData(), (byte)0x04, true);
         till = KerberosTime.parse(encoding.getData(), (byte)0x05, false);
         rtime = KerberosTime.parse(encoding.getData(), (byte)0x06, true);
@@ -223,9 +230,11 @@
                 v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x01), cname.asn1Encode()));
             }
         }
-        v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x02), crealm.asn1Encode()));
         if (sname != null) {
+            v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x02), sname.getRealm().asn1Encode()));
             v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x03), sname.asn1Encode()));
+        } else if (cname != null) {
+            v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x02), cname.getRealm().asn1Encode()));
         }
         if (from != null) {
             v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x04), from.asn1Encode()));
--- a/src/share/classes/sun/security/krb5/internal/KRBError.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/sun/security/krb5/internal/KRBError.java	Wed Aug 01 11:08:11 2012 -0400
@@ -90,9 +90,7 @@
     private KerberosTime sTime;
     private Integer suSec;
     private int errorCode;
-    private Realm crealm; //optional
     private PrincipalName cname; //optional
-    private Realm realm;
     private PrincipalName sname;
     private String eText; //optional
     private byte[] eData; //optional
@@ -128,9 +126,7 @@
                     KerberosTime new_sTime,
                     Integer new_suSec,
                     int new_errorCode,
-                    Realm new_crealm,
                     PrincipalName new_cname,
-                    Realm new_realm,
                     PrincipalName new_sname,
                     String new_eText,
                     byte[] new_eData
@@ -142,9 +138,7 @@
         sTime = new_sTime;
         suSec = new_suSec;
         errorCode = new_errorCode;
-        crealm =  new_crealm;
         cname = new_cname;
-        realm = new_realm;
         sname = new_sname;
         eText = new_eText;
         eData = new_eData;
@@ -159,9 +153,7 @@
                     KerberosTime new_sTime,
                     Integer new_suSec,
                     int new_errorCode,
-                    Realm new_crealm,
                     PrincipalName new_cname,
-                    Realm new_realm,
                     PrincipalName new_sname,
                     String new_eText,
                     byte[] new_eData,
@@ -174,9 +166,7 @@
         sTime = new_sTime;
         suSec = new_suSec;
         errorCode = new_errorCode;
-        crealm =  new_crealm;
         cname = new_cname;
-        realm = new_realm;
         sname = new_sname;
         eText = new_eText;
         eData = new_eData;
@@ -359,10 +349,10 @@
             errorCode = subDer.getData().getBigInteger().intValue();
         }
         else  throw new Asn1Exception(Krb5.ASN1_BAD_ID);
-        crealm = Realm.parse(der.getData(), (byte)0x07, true);
-        cname = PrincipalName.parse(der.getData(), (byte)0x08, true);
-        realm = Realm.parse(der.getData(), (byte)0x09, false);
-        sname = PrincipalName.parse(der.getData(), (byte)0x0A, false);
+        Realm crealm = Realm.parse(der.getData(), (byte)0x07, true);
+        cname = PrincipalName.parse(der.getData(), (byte)0x08, true, crealm);
+        Realm realm = Realm.parse(der.getData(), (byte)0x09, false);
+        sname = PrincipalName.parse(der.getData(), (byte)0x0A, false, realm);
         eText = null;
         eData = null;
         eCksum = null;
@@ -403,15 +393,9 @@
             System.out.println("\t suSec is " + suSec);
             System.out.println("\t error code is " + errorCode);
             System.out.println("\t error Message is " + Krb5.getErrorMessage(errorCode));
-            if (crealm != null) {
-                System.out.println("\t crealm is " + crealm.toString());
-            }
             if (cname != null) {
                 System.out.println("\t cname is " + cname.toString());
             }
-            if (realm != null) {
-                System.out.println("\t realm is " + realm.toString());
-            }
             if (sname != null) {
                 System.out.println("\t sname is " + sname.toString());
             }
@@ -458,14 +442,12 @@
         temp.putInteger(BigInteger.valueOf(errorCode));
         bytes.write(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x06), temp);
 
-        if (crealm != null) {
-            bytes.write(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x07), crealm.asn1Encode());
-        }
         if (cname != null) {
+            bytes.write(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x07), cname.getRealm().asn1Encode());
             bytes.write(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x08), cname.asn1Encode());
         }
 
-        bytes.write(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x09), realm.asn1Encode());
+        bytes.write(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x09), sname.getRealm().asn1Encode());
         bytes.write(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x0A), sname.asn1Encode());
 
         if (eText != null) {
@@ -506,9 +488,7 @@
                 isEqual(sTime, other.sTime) &&
                 isEqual(suSec, other.suSec) &&
                 errorCode == other.errorCode &&
-                isEqual(crealm, other.crealm) &&
                 isEqual(cname, other.cname) &&
-                isEqual(realm, other.realm) &&
                 isEqual(sname, other.sname) &&
                 isEqual(eText, other.eText) &&
                 java.util.Arrays.equals(eData, other.eData) &&
@@ -528,9 +508,7 @@
         if (sTime != null) result = 37 * result + sTime.hashCode();
         if (suSec != null) result = 37 * result + suSec.hashCode();
         result = 37 * result + errorCode;
-        if (crealm != null) result = 37 * result + crealm.hashCode();
         if (cname != null) result = 37 * result + cname.hashCode();
-        if (realm != null) result = 37 * result + realm.hashCode();
         if (sname != null) result = 37 * result + sname.hashCode();
         if (eText != null) result = 37 * result + eText.hashCode();
         result = 37 * result + Arrays.hashCode(eData);
--- a/src/share/classes/sun/security/krb5/internal/KrbCredInfo.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/sun/security/krb5/internal/KrbCredInfo.java	Wed Aug 01 11:08:11 2012 -0400
@@ -63,14 +63,12 @@
 
 public class KrbCredInfo {
     public EncryptionKey key;
-    public Realm prealm; //optional
     public PrincipalName pname; //optional
     public TicketFlags flags; //optional
     public KerberosTime authtime; //optional
     public KerberosTime starttime; //optional
     public KerberosTime endtime; //optional
     public KerberosTime renewTill; //optional
-    public Realm srealm; //optional
     public PrincipalName sname; //optional
     public HostAddresses caddr; //optional
 
@@ -79,26 +77,22 @@
 
     public KrbCredInfo(
                        EncryptionKey new_key,
-                       Realm new_prealm,
                        PrincipalName new_pname,
                        TicketFlags new_flags,
                        KerberosTime new_authtime,
                        KerberosTime new_starttime,
                        KerberosTime new_endtime,
                        KerberosTime new_renewTill,
-                       Realm new_srealm,
                        PrincipalName new_sname,
                        HostAddresses new_caddr
                            ) {
         key = new_key;
-        prealm = new_prealm;
         pname = new_pname;
         flags = new_flags;
         authtime = new_authtime;
         starttime = new_starttime;
         endtime = new_endtime;
         renewTill = new_renewTill;
-        srealm = new_srealm;
         sname = new_sname;
         caddr = new_caddr;
     }
@@ -115,21 +109,20 @@
         if (encoding.getTag() != DerValue.tag_Sequence) {
             throw new Asn1Exception(Krb5.ASN1_BAD_ID);
         }
-        prealm = null;
         pname = null;
         flags = null;
         authtime = null;
         starttime = null;
         endtime = null;
         renewTill = null;
-        srealm = null;
         sname = null;
         caddr = null;
         key = EncryptionKey.parse(encoding.getData(), (byte)0x00, false);
+        Realm prealm = null, srealm = null;
         if (encoding.getData().available() > 0)
             prealm = Realm.parse(encoding.getData(), (byte)0x01, true);
         if (encoding.getData().available() > 0)
-            pname = PrincipalName.parse(encoding.getData(), (byte)0x02, true);
+            pname = PrincipalName.parse(encoding.getData(), (byte)0x02, true, prealm);
         if (encoding.getData().available() > 0)
             flags = TicketFlags.parse(encoding.getData(), (byte)0x03, true);
         if (encoding.getData().available() > 0)
@@ -143,7 +136,7 @@
         if (encoding.getData().available() > 0)
             srealm = Realm.parse(encoding.getData(), (byte)0x08, true);
         if (encoding.getData().available() > 0)
-            sname = PrincipalName.parse(encoding.getData(), (byte)0x09, true);
+            sname = PrincipalName.parse(encoding.getData(), (byte)0x09, true, srealm);
         if (encoding.getData().available() > 0)
             caddr = HostAddresses.parse(encoding.getData(), (byte)0x0A, true);
         if (encoding.getData().available() > 0)
@@ -159,10 +152,10 @@
     public byte[] asn1Encode() throws Asn1Exception, IOException {
         Vector<DerValue> v = new Vector<>();
         v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x00), key.asn1Encode()));
-        if (prealm != null)
-            v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x01), prealm.asn1Encode()));
-        if (pname != null)
+        if (pname != null) {
+            v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x01), pname.getRealm().asn1Encode()));
             v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x02), pname.asn1Encode()));
+        }
         if (flags != null)
             v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x03), flags.asn1Encode()));
         if (authtime != null)
@@ -173,10 +166,10 @@
             v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x06), endtime.asn1Encode()));
         if (renewTill != null)
             v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x07), renewTill.asn1Encode()));
-        if (srealm != null)
-            v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x08), srealm.asn1Encode()));
-        if (sname != null)
+        if (sname != null) {
+            v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x08), sname.getRealm().asn1Encode()));
             v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x09), sname.asn1Encode()));
+        }
         if (caddr != null)
             v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x0A), caddr.asn1Encode()));
         DerValue der[] = new DerValue[v.size()];
@@ -190,8 +183,6 @@
         KrbCredInfo kcred = new KrbCredInfo();
         kcred.key = (EncryptionKey)key.clone();
         // optional fields
-        if (prealm != null)
-            kcred.prealm = (Realm)prealm.clone();
         if (pname != null)
             kcred.pname = (PrincipalName)pname.clone();
         if (flags != null)
@@ -204,8 +195,6 @@
             kcred.endtime = (KerberosTime)endtime.clone();
         if (renewTill != null)
             kcred.renewTill = (KerberosTime)renewTill.clone();
-        if (srealm != null)
-            kcred.srealm = (Realm)srealm.clone();
         if (sname != null)
             kcred.sname = (PrincipalName)sname.clone();
         if (caddr != null)
--- a/src/share/classes/sun/security/krb5/internal/TGSRep.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/sun/security/krb5/internal/TGSRep.java	Wed Aug 01 11:08:11 2012 -0400
@@ -42,12 +42,11 @@
 
     public TGSRep(
                   PAData[] new_pAData,
-                  Realm new_crealm,
                   PrincipalName new_cname,
                   Ticket new_ticket,
                   EncryptedData new_encPart
                       ) throws IOException {
-        super(new_pAData, new_crealm, new_cname, new_ticket,
+        super(new_pAData, new_cname, new_ticket,
               new_encPart, Krb5.KRB_TGS_REP);
     }
 
--- a/src/share/classes/sun/security/krb5/internal/Ticket.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/sun/security/krb5/internal/Ticket.java	Wed Aug 01 11:08:11 2012 -0400
@@ -60,7 +60,6 @@
 
 public class Ticket implements Cloneable {
     public int tkt_vno;
-    public Realm realm;
     public PrincipalName sname;
     public EncryptedData encPart;
 
@@ -69,7 +68,6 @@
 
     public Object clone() {
         Ticket new_ticket = new Ticket();
-        new_ticket.realm = (Realm)realm.clone();
         new_ticket.sname = (PrincipalName)sname.clone();
         new_ticket.encPart = (EncryptedData)encPart.clone();
         new_ticket.tkt_vno = tkt_vno;
@@ -77,12 +75,10 @@
     }
 
     public Ticket(
-                  Realm new_realm,
                   PrincipalName new_sname,
                   EncryptedData new_encPart
                       ) {
         tkt_vno = Krb5.TICKET_VNO;
-        realm = new_realm;
         sname = new_sname;
         encPart = new_encPart;
     }
@@ -123,8 +119,8 @@
         tkt_vno = subDer.getData().getBigInteger().intValue();
         if (tkt_vno != Krb5.TICKET_VNO)
             throw new KrbApErrException(Krb5.KRB_AP_ERR_BADVERSION);
-        realm = Realm.parse(der.getData(), (byte)0x01, false);
-        sname = PrincipalName.parse(der.getData(), (byte)0x02, false);
+        Realm srealm = Realm.parse(der.getData(), (byte)0x01, false);
+        sname = PrincipalName.parse(der.getData(), (byte)0x02, false, srealm);
         encPart = EncryptedData.parse(der.getData(), (byte)0x03, false);
         if (der.getData().available() > 0)
             throw new Asn1Exception(Krb5.ASN1_BAD_ID);
@@ -142,7 +138,7 @@
         DerValue der[] = new DerValue[4];
         temp.putInteger(BigInteger.valueOf(tkt_vno));
         bytes.write(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x00), temp);
-        bytes.write(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x01), realm.asn1Encode());
+        bytes.write(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x01), sname.getRealm().asn1Encode());
         bytes.write(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x02), sname.asn1Encode());
         bytes.write(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x03), encPart.asn1Encode());
         temp = new DerOutputStream();
--- a/src/share/classes/sun/security/krb5/internal/ccache/CCacheInputStream.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/sun/security/krb5/internal/ccache/CCacheInputStream.java	Wed Aug 01 11:08:11 2012 -0400
@@ -114,7 +114,6 @@
     // made public for KinitOptions to call directly
     public PrincipalName readPrincipal(int version) throws IOException, RealmException {
         int type, length, namelength, kret;
-        PrincipalName p;
         String[] pname = null;
         String realm;
         /* Read principal type */
@@ -144,11 +143,13 @@
             realm = result[0];
             pname = new String[length];
             System.arraycopy(result, 1, pname, 0, length);
-            p = new PrincipalName(pname, type);
-            p.setRealm(realm);
+            return new PrincipalName(type, pname, new Realm(realm));
         }
-        else p = new PrincipalName(result, type);
-        return p;
+        try {
+            return new PrincipalName(result, type);
+        } catch (RealmException re) {
+            return null;
+        }
     }
 
     /*
@@ -342,10 +343,10 @@
     Credentials readCred(int version) throws IOException,RealmException, KrbApErrException, Asn1Exception {
         PrincipalName cpname = readPrincipal(version);
         if (DEBUG)
-            System.out.println(">>>DEBUG <CCacheInputStream>  client principal is " + cpname.toString());
+            System.out.println(">>>DEBUG <CCacheInputStream>  client principal is " + cpname);
         PrincipalName spname = readPrincipal(version);
         if (DEBUG)
-            System.out.println(">>>DEBUG <CCacheInputStream> server principal is " + spname.toString());
+            System.out.println(">>>DEBUG <CCacheInputStream> server principal is " + spname);
         EncryptionKey key = readKey(version);
         if (DEBUG)
             System.out.println(">>>DEBUG <CCacheInputStream> key type: " + key.getEType());
--- a/src/share/classes/sun/security/krb5/internal/ccache/Credentials.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/sun/security/krb5/internal/ccache/Credentials.java	Wed Aug 01 11:08:11 2012 -0400
@@ -36,9 +36,7 @@
 public class Credentials {
 
     PrincipalName cname;
-    Realm crealm;
     PrincipalName sname;
-    Realm srealm;
     EncryptionKey key;
     KerberosTime authtime;
     KerberosTime starttime;//optional
@@ -67,15 +65,7 @@
             Ticket new_ticket,
             Ticket new_secondTicket) {
         cname = (PrincipalName) new_cname.clone();
-        if (new_cname.getRealm() != null) {
-            crealm = (Realm) new_cname.getRealm().clone();
-        }
-
         sname = (PrincipalName) new_sname.clone();
-        if (new_sname.getRealm() != null) {
-            srealm = (Realm) new_sname.getRealm().clone();
-        }
-
         key = (EncryptionKey) new_key.clone();
 
         authtime = (KerberosTime) new_authtime.clone();
@@ -110,7 +100,6 @@
         {
             return;
         }
-        crealm = (Realm) kdcRep.crealm.clone();
         cname = (PrincipalName) kdcRep.cname.clone();
         ticket = (Ticket) kdcRep.ticket.clone();
         key = (EncryptionKey) kdcRep.encKDCRepPart.key.clone();
@@ -123,7 +112,6 @@
         if (kdcRep.encKDCRepPart.renewTill != null) {
             renewTill = (KerberosTime) kdcRep.encKDCRepPart.renewTill.clone();
         }
-        srealm = (Realm) kdcRep.encKDCRepPart.srealm.clone();
         sname = (PrincipalName) kdcRep.encKDCRepPart.sname.clone();
         caddr = (HostAddresses) kdcRep.encKDCRepPart.caddr.clone();
         secondTicket = (Ticket) new_secondTicket.clone();
@@ -138,17 +126,7 @@
 
     public Credentials(KDCRep kdcRep, Ticket new_ticket) {
         sname = (PrincipalName) kdcRep.encKDCRepPart.sname.clone();
-        srealm = (Realm) kdcRep.encKDCRepPart.srealm.clone();
-        try {
-            sname.setRealm(srealm);
-        } catch (RealmException e) {
-        }
         cname = (PrincipalName) kdcRep.cname.clone();
-        crealm = (Realm) kdcRep.crealm.clone();
-        try {
-            cname.setRealm(crealm);
-        } catch (RealmException e) {
-        }
         key = (EncryptionKey) kdcRep.encKDCRepPart.key.clone();
         authtime = (KerberosTime) kdcRep.encKDCRepPart.authtime.clone();
         if (kdcRep.encKDCRepPart.starttime != null) {
@@ -202,9 +180,6 @@
     }
 
     public PrincipalName getServicePrincipal() throws RealmException {
-        if (sname.getRealm() == null) {
-            sname.setRealm(srealm);
-        }
         return sname;
     }
 
--- a/src/share/classes/sun/security/krb5/internal/ccache/CredentialsCache.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/sun/security/krb5/internal/ccache/CredentialsCache.java	Wed Aug 01 11:08:11 2012 -0400
@@ -120,6 +120,6 @@
     public abstract void save() throws IOException, KrbException;
     public abstract Credentials[] getCredsList();
     public abstract Credentials getDefaultCreds();
-    public abstract Credentials getCreds(PrincipalName sname, Realm srealm) ;
-    public abstract Credentials getCreds(LoginOptions options, PrincipalName sname, Realm srealm) ;
+    public abstract Credentials getCreds(PrincipalName sname);
+    public abstract Credentials getCreds(LoginOptions options, PrincipalName sname);
 }
--- a/src/share/classes/sun/security/krb5/internal/ccache/FileCredentialsCache.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/sun/security/krb5/internal/ccache/FileCredentialsCache.java	Wed Aug 01 11:08:11 2012 -0400
@@ -59,7 +59,6 @@
     public int version;
     public Tag tag; // optional
     public PrincipalName primaryPrincipal;
-    public Realm primaryRealm;
     private Vector<Credentials> credentialsList;
     private static String dir;
     private static boolean DEBUG = Krb5.DEBUG;
@@ -79,7 +78,6 @@
             }
             if (principal != null) {
                 fcc.primaryPrincipal = principal;
-                fcc.primaryRealm = principal.getRealm();
             }
             fcc.load(cacheName);
             return fcc;
@@ -153,7 +151,6 @@
     synchronized void init(PrincipalName principal, String name)
         throws IOException, KrbException {
         primaryPrincipal = principal;
-        primaryRealm = principal.getRealm();
         CCacheOutputStream cos =
             new CCacheOutputStream(new FileOutputStream(name));
         version = KRB5_FCC_FVNO_3;
@@ -183,7 +180,6 @@
             }
         } else
             primaryPrincipal = p;
-        primaryRealm = primaryPrincipal.getRealm();
         credentialsList = new Vector<Credentials> ();
         while (cis.available() > 0) {
             Credentials cred = cis.readCred(version);
@@ -291,18 +287,16 @@
 
     }
 
-    public Credentials getCreds(LoginOptions options,
-                                PrincipalName sname, Realm srealm) {
+    public Credentials getCreds(LoginOptions options, PrincipalName sname) {
         if (options == null) {
-            return getCreds(sname, srealm);
+            return getCreds(sname);
         } else {
             Credentials[] list = getCredsList();
             if (list == null) {
                 return null;
             } else {
                 for (int i = 0; i < list.length; i++) {
-                    if (sname.match(list[i].sname) &&
-                        (srealm.toString().equals(list[i].srealm.toString()))) {
+                    if (sname.match(list[i].sname)) {
                         if (list[i].flags.match(options)) {
                             return list[i];
                         }
@@ -317,16 +311,14 @@
     /**
      * Gets a credentials for a specified service.
      * @param sname service principal name.
-     * @param srealm the realm that the service belongs to.
      */
-    public Credentials getCreds(PrincipalName sname, Realm srealm) {
+    public Credentials getCreds(PrincipalName sname) {
         Credentials[] list = getCredsList();
         if (list == null) {
             return null;
         } else {
             for (int i = 0; i < list.length; i++) {
-                if (sname.match(list[i].sname) &&
-                    (srealm.toString().equals(list[i].srealm.toString()))) {
+                if (sname.match(list[i].sname)) {
                     return list[i];
                 }
             }
@@ -343,7 +335,7 @@
                 if (list[i].sname.toString().startsWith("krbtgt")) {
                     String[] nameStrings = list[i].sname.getNameStrings();
                     // find the TGT for the current realm krbtgt/realm@realm
-                    if (nameStrings[1].equals(list[i].srealm.toString())) {
+                    if (nameStrings[1].equals(list[i].sname.getRealm().toString())) {
                        return list[i];
                     }
                 }
--- a/src/share/classes/sun/security/krb5/internal/ccache/MemoryCredentialsCache.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/sun/security/krb5/internal/ccache/MemoryCredentialsCache.java	Wed Aug 01 11:08:11 2012 -0400
@@ -64,7 +64,7 @@
 
     public abstract Credentials[] getCredsList();
 
-    public abstract Credentials getCreds(PrincipalName sname, Realm srealm) ;
+    public abstract Credentials getCreds(PrincipalName sname) ;
 
     public abstract PrincipalName getPrimaryPrincipal();
 
--- a/src/share/classes/sun/security/krb5/internal/ktab/KeyTabInputStream.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/sun/security/krb5/internal/ktab/KeyTabInputStream.java	Wed Aug 01 11:08:11 2012 -0400
@@ -83,8 +83,7 @@
         }
         int nameType = read(4);
         index -= 4;
-        PrincipalName service = new PrincipalName(nameParts, nameType);
-        service.setRealm(realm);
+        PrincipalName service = new PrincipalName(nameType, nameParts, realm);
         KerberosTime timeStamp = readTimeStamp();
 
         int keyVersion = read() & 0xff;
--- a/src/share/classes/sun/security/pkcs/PKCS7.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/sun/security/pkcs/PKCS7.java	Wed Aug 01 11:08:11 2012 -0400
@@ -882,7 +882,7 @@
         PKCS7 tsToken = tsReply.getToken();
 
         TimestampToken tst = tsReply.getTimestampToken();
-        if (!tst.getHashAlgorithm().getName().equals("SHA")) {
+        if (!tst.getHashAlgorithm().getName().equals("SHA-1")) {
             throw new IOException("Digest algorithm not SHA-1 in "
                                   + "timestamp token");
         }
--- a/src/share/classes/sun/security/pkcs12/PKCS12KeyStore.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/sun/security/pkcs12/PKCS12KeyStore.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1298,11 +1298,9 @@
            try {
                 String algName =
                         macData.getDigestAlgName().toUpperCase(Locale.ENGLISH);
-                if (algName.equals("SHA")  ||
-                    algName.equals("SHA1") ||
-                    algName.equals("SHA-1")) {
-                    algName = "SHA1";
-                }
+
+                // Change SHA-1 to SHA1
+                algName = algName.replace("-", "");
 
                 // generate MAC (MAC key is created within JCE)
                 Mac m = Mac.getInstance("HmacPBE" + algName);
--- a/src/share/classes/sun/security/ssl/SSLSocketImpl.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/sun/security/ssl/SSLSocketImpl.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1576,11 +1576,9 @@
         Throwable cachedThrowable = null;
         try {
             switch (state) {
-            /*
-             * java.net code sometimes closes sockets "early", when
-             * we can't actually do I/O on them.
-             */
             case cs_START:
+                // unconnected socket or handshaking has not been initialized
+                closeSocket(selfInitiated);
                 break;
 
             /*
--- a/src/share/classes/sun/security/ssl/krb5/KerberosClientKeyExchangeImpl.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/sun/security/ssl/krb5/KerberosClientKeyExchangeImpl.java	Wed Aug 01 11:08:11 2012 -0400
@@ -163,7 +163,7 @@
 
             EncryptedData encPart = t.encPart;
             PrincipalName ticketSname = t.sname;
-            Realm ticketRealm = t.realm;
+            Realm ticketRealm = t.sname.getRealm();
 
             String serverPrincipal = serverKeys[0].getPrincipal().getName();
 
@@ -175,8 +175,7 @@
              */
 
             // Check that ticket Sname matches serverPrincipal
-            String ticketPrinc = ticketSname.toString().concat("@" +
-                                        ticketRealm.toString());
+            String ticketPrinc = ticketSname.toString();
             if (!ticketPrinc.equals(serverPrincipal)) {
                 if (debug != null && Debug.isOn("handshake"))
                    System.out.println("Service principal in Ticket does not"
@@ -224,7 +223,6 @@
 
             if (debug != null && Debug.isOn("handshake")) {
                 System.out.println("server principal: " + serverPrincipal);
-                System.out.println("realm: " + encTicketPart.crealm.toString());
                 System.out.println("cname: " + encTicketPart.cname.toString());
             }
         } catch (IOException e) {
--- a/src/share/classes/sun/security/x509/AlgorithmId.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/classes/sun/security/x509/AlgorithmId.java	Wed Aug 01 11:08:11 2012 -0400
@@ -242,10 +242,7 @@
                 AlgorithmId paramsId =
                         AlgorithmId.parse(new DerValue(getEncodedParams()));
                 String paramsName = paramsId.getName();
-                if (paramsName.equals("SHA")) {
-                    paramsName = "SHA1";
-                }
-                algName = paramsName + "withECDSA";
+                algName = makeSigAlg(paramsName, "EC");
             } catch (IOException e) {
                 // ignore
             }
@@ -876,11 +873,11 @@
         nameTable = new HashMap<ObjectIdentifier,String>();
         nameTable.put(MD5_oid, "MD5");
         nameTable.put(MD2_oid, "MD2");
-        nameTable.put(SHA_oid, "SHA");
-        nameTable.put(SHA224_oid, "SHA224");
-        nameTable.put(SHA256_oid, "SHA256");
-        nameTable.put(SHA384_oid, "SHA384");
-        nameTable.put(SHA512_oid, "SHA512");
+        nameTable.put(SHA_oid, "SHA-1");
+        nameTable.put(SHA224_oid, "SHA-224");
+        nameTable.put(SHA256_oid, "SHA-256");
+        nameTable.put(SHA384_oid, "SHA-384");
+        nameTable.put(SHA512_oid, "SHA-512");
         nameTable.put(RSAEncryption_oid, "RSA");
         nameTable.put(RSA_oid, "RSA");
         nameTable.put(DH_oid, "Diffie-Hellman");
@@ -917,11 +914,8 @@
      * name and a encryption algorithm name.
      */
     public static String makeSigAlg(String digAlg, String encAlg) {
-        digAlg = digAlg.replace("-", "").toUpperCase(Locale.ENGLISH);
-        if (digAlg.equalsIgnoreCase("SHA")) digAlg = "SHA1";
-
-        encAlg = encAlg.toUpperCase(Locale.ENGLISH);
-        if (encAlg.equals("EC")) encAlg = "ECDSA";
+        digAlg = digAlg.replace("-", "");
+        if (encAlg.equalsIgnoreCase("EC")) encAlg = "ECDSA";
 
         return digAlg + "with" + encAlg;
     }
--- a/src/share/lib/security/java.security	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/lib/security/java.security	Wed Aug 01 11:08:11 2012 -0400
@@ -1,6 +1,28 @@
 #
 # This is the "master security properties file".
 #
+# An alternate java.security properties file may be specified
+# from the command line via the system property
+#
+#    -Djava.security.properties=<URL>
+#
+# This properties file appends to the master security properties file.
+# If both properties files specify values for the same key, the value
+# from the command-line properties file is selected, as it is the last
+# one loaded.
+#
+# Also, if you specify
+#
+#    -Djava.security.properties==<URL> (2 equals),
+#
+# then that properties file completely overrides the master security
+# properties file.
+#
+# To disable the ability to specify an additional properties file from
+# the command line, set the key security.overridePropertiesFile
+# to false in the master security properties file. It is set to true
+# by default.
+
 # In this file, various security properties are set for use by
 # java.security classes. This is where users can statically register
 # Cryptography Package Providers ("providers" for short). The term
--- a/src/share/lib/security/java.security-macosx	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/lib/security/java.security-macosx	Wed Aug 01 11:08:11 2012 -0400
@@ -1,6 +1,28 @@
 #
 # This is the "master security properties file".
 #
+# An alternate java.security properties file may be specified
+# from the command line via the system property
+#
+#    -Djava.security.properties=<URL>
+#
+# This properties file appends to the master security properties file.
+# If both properties files specify values for the same key, the value
+# from the command-line properties file is selected, as it is the last
+# one loaded.
+#
+# Also, if you specify
+#
+#    -Djava.security.properties==<URL> (2 equals),
+#
+# then that properties file completely overrides the master security
+# properties file.
+#
+# To disable the ability to specify an additional properties file from
+# the command line, set the key security.overridePropertiesFile
+# to false in the master security properties file. It is set to true
+# by default.
+
 # In this file, various security properties are set for use by
 # java.security classes. This is where users can statically register
 # Cryptography Package Providers ("providers" for short). The term
--- a/src/share/lib/security/java.security-solaris	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/lib/security/java.security-solaris	Wed Aug 01 11:08:11 2012 -0400
@@ -1,6 +1,28 @@
 #
 # This is the "master security properties file".
 #
+# An alternate java.security properties file may be specified
+# from the command line via the system property
+#
+#    -Djava.security.properties=<URL>
+#
+# This properties file appends to the master security properties file.
+# If both properties files specify values for the same key, the value
+# from the command-line properties file is selected, as it is the last
+# one loaded.
+#
+# Also, if you specify
+#
+#    -Djava.security.properties==<URL> (2 equals),
+#
+# then that properties file completely overrides the master security
+# properties file.
+#
+# To disable the ability to specify an additional properties file from
+# the command line, set the key security.overridePropertiesFile
+# to false in the master security properties file. It is set to true
+# by default.
+
 # In this file, various security properties are set for use by
 # java.security classes. This is where users can statically register
 # Cryptography Package Providers ("providers" for short). The term
--- a/src/share/lib/security/java.security-windows	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/lib/security/java.security-windows	Wed Aug 01 11:08:11 2012 -0400
@@ -1,6 +1,28 @@
 #
 # This is the "master security properties file".
 #
+# An alternate java.security properties file may be specified
+# from the command line via the system property
+#
+#    -Djava.security.properties=<URL>
+#
+# This properties file appends to the master security properties file.
+# If both properties files specify values for the same key, the value
+# from the command-line properties file is selected, as it is the last
+# one loaded.
+#
+# Also, if you specify
+#
+#    -Djava.security.properties==<URL> (2 equals),
+#
+# then that properties file completely overrides the master security
+# properties file.
+#
+# To disable the ability to specify an additional properties file from
+# the command line, set the key security.overridePropertiesFile
+# to false in the master security properties file. It is set to true
+# by default.
+
 # In this file, various security properties are set for use by
 # java.security classes. This is where users can statically register
 # Cryptography Package Providers ("providers" for short). The term
--- a/src/share/native/java/io/io_util.h	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/native/java/io/io_util.h	Wed Aug 01 11:08:11 2012 -0400
@@ -25,9 +25,6 @@
 
 #include "jni.h"
 #include "jni_util.h"
-#ifdef MACOSX
-char* convertToNFDIfNeeded(const char *origPath, char *buf, size_t bufsize);
-#endif
 
 extern jfieldID IO_fd_fdID;
 extern jfieldID IO_handle_fdID;
@@ -59,7 +56,6 @@
 void throwFileNotFoundException(JNIEnv *env, jstring path);
 
 
-
 /*
  * Macros for managing platform strings.  The typical usage pattern is:
  *
@@ -88,35 +84,6 @@
  * declares a unique variable.
  */
 
-#ifdef MACOSX
-
-#define WITH_PLATFORM_STRING(env, strexp, var)                                \
-    if (1) {                                                                  \
-        const char *var;                                                      \
-        jstring _##var##str = (strexp);                                       \
-        if (_##var##str == NULL) {                                            \
-            JNU_ThrowNullPointerException((env), NULL);                       \
-            goto _##var##end;                                                 \
-        }                                                                     \
-        const char *temp_var = JNU_GetStringPlatformChars((env), _##var##str, NULL);      \
-        if (temp_var == NULL) goto _##var##end;                               \
-        char buf[MAXPATHLEN];                                                 \
-        var = convertToNFDIfNeeded(temp_var, buf, sizeof(buf));
-
-#define WITH_FIELD_PLATFORM_STRING(env, object, id, var)                      \
-    WITH_PLATFORM_STRING(env,                                                 \
-                         ((object == NULL)                                    \
-                          ? NULL                                              \
-                          : (*(env))->GetObjectField((env), (object), (id))), \
-                        var)
-
-#define END_PLATFORM_STRING(env, var)                                         \
-        JNU_ReleaseStringPlatformChars(env, _##var##str, temp_var);           \
-    _##var##end: ;                                                            \
-    } else ((void)NULL)
-
-#else
-
 #define WITH_PLATFORM_STRING(env, strexp, var)                                \
     if (1) {                                                                  \
         const char *var;                                                      \
@@ -140,8 +107,6 @@
     _##var##end: ;                                                            \
     } else ((void)NULL)
 
-#endif
-
 
 /* Macros for transforming Java Strings into native Unicode strings.
  * Works analogously to WITH_PLATFORM_STRING.
--- a/src/share/native/sun/awt/image/cvutils/img_globals.c	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/native/sun/awt/image/cvutils/img_globals.c	Wed Aug 01 11:08:11 2012 -0400
@@ -31,7 +31,6 @@
 #include "img_globals.h"
 
 #include "java_awt_image_IndexColorModel.h"
-#include "java_awt_image_DirectColorModel.h"
 #include "java_awt_Transparency.h"
 
 /*
--- a/src/share/native/sun/java2d/opengl/OGLBlitLoops.c	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/share/native/sun/java2d/opengl/OGLBlitLoops.c	Wed Aug 01 11:08:11 2012 -0400
@@ -393,7 +393,16 @@
                    OGLSDOps *dstOps,
                    jint dx1, jint dy1, jint dx2, jint dy2)
 {
+    jboolean adjustAlpha = (pf != NULL && !pf->hasAlpha);
     j2d_glBindTexture(dstOps->textureTarget, dstOps->textureID);
+
+    if (adjustAlpha) {
+        // if the source surface does not have an alpha channel,
+        // we need to ensure that the alpha values are forced to 1.0f
+        j2d_glPixelTransferf(GL_ALPHA_SCALE, 0.0f);
+        j2d_glPixelTransferf(GL_ALPHA_BIAS, 1.0f);
+    }
+
     // in case pixel stride is not a multiple of scanline stride the copy
     // has to be done line by line (see 6207877)
     if (srcInfo->scanStride % srcInfo->pixelStride != 0) {
@@ -413,6 +422,11 @@
                             dx1, dy1, dx2-dx1, dy2-dy1,
                             pf->format, pf->type, srcInfo->rasBase);
     }
+    if (adjustAlpha) {
+        // restore scale/bias to their original values
+        j2d_glPixelTransferf(GL_ALPHA_SCALE, 1.0f);
+        j2d_glPixelTransferf(GL_ALPHA_BIAS, 0.0f);
+    }
 }
 
 /**
--- a/src/solaris/classes/sun/awt/motif/X11JIS0201.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/solaris/classes/sun/awt/motif/X11JIS0201.java	Wed Aug 01 11:08:11 2012 -0400
@@ -25,12 +25,19 @@
 
 package sun.awt.motif;
 
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetEncoder;
-import java.nio.charset.CharsetDecoder;
+import java.nio.ByteBuffer;
+import java.nio.CharBuffer;
+import java.nio.charset.*;
+import sun.nio.cs.*;
 import sun.nio.cs.ext.JIS_X_0201;
+import static sun.nio.cs.CharsetMapping.*;
 
 public class X11JIS0201 extends Charset {
+
+    private static Charset jis0201 = new JIS_X_0201();
+    private static SingleByte.Encoder enc =
+        (SingleByte.Encoder)jis0201.newEncoder();
+
     public X11JIS0201 () {
         super("X11JIS0201", null);
     }
@@ -40,16 +47,17 @@
     }
 
     public CharsetDecoder newDecoder() {
-        return new JIS_X_0201.Decoder(this);
+        return jis0201.newDecoder();
     }
 
     public boolean contains(Charset cs) {
         return cs instanceof X11JIS0201;
     }
 
-    private class Encoder extends JIS_X_0201.Encoder {
+    private class Encoder extends CharsetEncoder {
+
         public Encoder(Charset cs) {
-            super(cs);
+            super(cs, 1.0f, 1.0f);
         }
 
         public boolean canEncode(char c){
@@ -60,5 +68,42 @@
             }
             return false;
         }
+
+        private Surrogate.Parser sgp;
+        protected CoderResult encodeLoop(CharBuffer src, ByteBuffer dst) {
+            char[] sa = src.array();
+            int sp = src.arrayOffset() + src.position();
+            int sl = src.arrayOffset() + src.limit();
+
+            byte[] da = dst.array();
+            int dp = dst.arrayOffset() + dst.position();
+            int dl = dst.arrayOffset() + dst.limit();
+            CoderResult cr = CoderResult.UNDERFLOW;
+            if ((dl - dp) < (sl - sp)) {
+                sl = sp + (dl - dp);
+                cr = CoderResult.OVERFLOW;
+            }
+            try {
+                while (sp < sl) {
+                    char c = sa[sp];
+                    int b = enc.encode(c);
+                    if (b == UNMAPPABLE_ENCODING) {
+                        if (Character.isSurrogate(c)) {
+                            if (sgp == null)
+                                sgp = new Surrogate.Parser();
+                            if (sgp.parse(c, sa, sp, sl) >= 0)
+                                return CoderResult.unmappableForLength(2);
+                        }
+                        return CoderResult.unmappableForLength(1);
+                    }
+                    da[dp++] = (byte)b;
+                    sp++;
+                }
+                return cr;
+            } finally {
+                src.position(sp - src.arrayOffset());
+                dst.position(dp - dst.arrayOffset());
+            }
+        }
     }
 }
--- a/src/solaris/classes/sun/awt/motif/X11JIS0208.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/solaris/classes/sun/awt/motif/X11JIS0208.java	Wed Aug 01 11:08:11 2012 -0400
@@ -28,20 +28,22 @@
 import java.nio.charset.Charset;
 import java.nio.charset.CharsetEncoder;
 import java.nio.charset.CharsetDecoder;
-import sun.nio.cs.ext.JIS_X_0208_Encoder;
-import sun.nio.cs.ext.JIS_X_0208_Decoder;
+import sun.nio.cs.ext.JIS_X_0208;
 
 public class X11JIS0208 extends Charset {
+
+    private static Charset jis0208 = new JIS_X_0208();
+
     public X11JIS0208 () {
         super("X11JIS0208", null);
     }
 
     public CharsetEncoder newEncoder() {
-        return new JIS_X_0208_Encoder(this);
+        return jis0208.newEncoder();
     }
 
     public CharsetDecoder newDecoder() {
-        return new JIS_X_0208_Decoder(this);
+        return jis0208.newDecoder();
     }
 
     public boolean contains(Charset cs) {
--- a/src/solaris/classes/sun/awt/motif/X11JIS0212.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/solaris/classes/sun/awt/motif/X11JIS0212.java	Wed Aug 01 11:08:11 2012 -0400
@@ -28,20 +28,20 @@
 import java.nio.charset.Charset;
 import java.nio.charset.CharsetEncoder;
 import java.nio.charset.CharsetDecoder;
-import sun.nio.cs.ext.JIS_X_0212_Encoder;
-import sun.nio.cs.ext.JIS_X_0212_Decoder;
+import sun.nio.cs.ext.JIS_X_0212;
 
 public class X11JIS0212 extends Charset {
+    private static Charset jis0212 = new JIS_X_0212();
+
     public X11JIS0212 () {
         super("X11JIS0212", null);
     }
     public CharsetEncoder newEncoder() {
-        return new JIS_X_0212_Encoder(this);
+        return jis0212.newEncoder();
     }
     public CharsetDecoder newDecoder() {
-        return new JIS_X_0212_Decoder(this);
+        return jis0212.newDecoder();
     }
-
     public boolean contains(Charset cs) {
         return cs instanceof X11JIS0212;
     }
--- a/src/solaris/classes/sun/nio/fs/BsdNativeDispatcher.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/solaris/classes/sun/nio/fs/BsdNativeDispatcher.java	Wed Aug 01 11:08:11 2012 -0400
@@ -33,7 +33,7 @@
  */
 
 class BsdNativeDispatcher extends UnixNativeDispatcher {
-    private BsdNativeDispatcher() { }
+    protected BsdNativeDispatcher() { }
 
    /**
     * struct fsstat_iter *getfsstat();
@@ -55,11 +55,6 @@
     private static native void initIDs();
 
     static {
-        AccessController.doPrivileged(new PrivilegedAction<Void>() {
-            public Void run() {
-                System.loadLibrary("nio");
-                return null;
-        }});
-        initIDs();
+         initIDs();
     }
 }
--- a/src/solaris/classes/sun/nio/fs/DefaultFileSystemProvider.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/solaris/classes/sun/nio/fs/DefaultFileSystemProvider.java	Wed Aug 01 11:08:11 2012 -0400
@@ -69,7 +69,7 @@
         if (osname.equals("Linux"))
             return createProvider("sun.nio.fs.LinuxFileSystemProvider");
         if (osname.equals("Darwin") || osname.contains("OS X"))
-            return createProvider("sun.nio.fs.BsdFileSystemProvider");
+            return createProvider("sun.nio.fs.MacOSXFileSystemProvider");
         throw new AssertionError("Platform not recognized");
     }
 }
--- a/src/solaris/classes/sun/nio/fs/LinuxUserDefinedFileAttributeView.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/solaris/classes/sun/nio/fs/LinuxUserDefinedFileAttributeView.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -55,7 +55,7 @@
         name = USER_NAMESPACE + name;
         byte[] bytes = name.getBytes();
         if (bytes.length > XATTR_NAME_MAX) {
-            throw new FileSystemException(file.getPathForExecptionMessage(),
+            throw new FileSystemException(file.getPathForExceptionMessage(),
                 null, "'" + name + "' is too big");
         }
         return bytes;
@@ -116,7 +116,7 @@
                         buffer = NativeBuffers.getNativeBuffer(size);
                         continue;
                     }
-                    throw new FileSystemException(file.getPathForExecptionMessage(),
+                    throw new FileSystemException(file.getPathForExceptionMessage(),
                         null, "Unable to get list of extended attributes: " +
                         x.getMessage());
                 }
@@ -138,7 +138,7 @@
             // fgetxattr returns size if called with size==0
             return fgetxattr(fd, nameAsBytes(file,name), 0L, 0);
         } catch (UnixException x) {
-            throw new FileSystemException(file.getPathForExecptionMessage(),
+            throw new FileSystemException(file.getPathForExceptionMessage(),
                 null, "Unable to get size of extended attribute '" + name +
                 "': " + x.getMessage());
         } finally {
@@ -191,7 +191,7 @@
             } catch (UnixException x) {
                 String msg = (x.errno() == ERANGE) ?
                     "Insufficient space in buffer" : x.getMessage();
-                throw new FileSystemException(file.getPathForExecptionMessage(),
+                throw new FileSystemException(file.getPathForExceptionMessage(),
                     null, "Error reading extended attribute '" + name + "': " + msg);
             } finally {
                 close(fd);
@@ -243,7 +243,7 @@
                 src.position(pos + rem);
                 return rem;
             } catch (UnixException x) {
-                throw new FileSystemException(file.getPathForExecptionMessage(),
+                throw new FileSystemException(file.getPathForExceptionMessage(),
                     null, "Error writing extended attribute '" + name + "': " +
                     x.getMessage());
             } finally {
@@ -264,7 +264,7 @@
         try {
             fremovexattr(fd, nameAsBytes(file,name));
         } catch (UnixException x) {
-            throw new FileSystemException(file.getPathForExecptionMessage(),
+            throw new FileSystemException(file.getPathForExceptionMessage(),
                 null, "Unable to delete extended attribute '" + name + "': " + x.getMessage());
         } finally {
             close(fd);
--- a/src/solaris/classes/sun/nio/fs/LinuxWatchService.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/solaris/classes/sun/nio/fs/LinuxWatchService.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -246,7 +246,7 @@
                 return x.asIOException(dir);
             }
             if (!attrs.isDirectory()) {
-                return new NotDirectoryException(dir.getPathForExecptionMessage());
+                return new NotDirectoryException(dir.getPathForExceptionMessage());
             }
 
             // register with inotify (replaces existing mask if already registered)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/solaris/classes/sun/nio/fs/MacOSXFileSystem.java	Wed Aug 01 11:08:11 2012 -0400
@@ -0,0 +1,69 @@
+/*
+ * Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code 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
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package sun.nio.fs;
+
+import java.nio.file.*;
+import java.io.IOException;
+import java.util.*;
+import java.util.regex.Pattern;
+import java.security.AccessController;
+import sun.security.action.GetPropertyAction;
+
+import static sun.nio.fs.MacOSXNativeDispatcher.*;
+
+/**
+ * MacOS implementation of FileSystem
+ */
+
+class MacOSXFileSystem extends BsdFileSystem {
+
+    MacOSXFileSystem(UnixFileSystemProvider provider, String dir) {
+        super(provider, dir);
+    }
+
+    // match in unicode canon_eq
+    Pattern compilePathMatchPattern(String expr) {
+        return Pattern.compile(expr, Pattern.CANON_EQ) ;
+    }
+
+    char[] normalizeNativePath(char[] path) {
+        for (char c : path) {
+            if (c > 0x80)
+                return normalizepath(path, kCFStringNormalizationFormD);
+        }
+        return path;
+    }
+
+    String normalizeJavaPath(String path) {
+        for (int i = 0; i < path.length(); i++) {
+            if (path.charAt(i) > 0x80)
+                return new String(normalizepath(path.toCharArray(),
+                                  kCFStringNormalizationFormC));
+        }
+        return path;
+    }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/solaris/classes/sun/nio/fs/MacOSXFileSystemProvider.java	Wed Aug 01 11:08:11 2012 -0400
@@ -0,0 +1,45 @@
+/*
+ * Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code 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
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package sun.nio.fs;
+
+import java.nio.file.*;
+import java.nio.file.attribute.*;
+import java.io.IOException;
+
+/**
+ * MacOSX implementation of FileSystemProvider
+ */
+
+public class MacOSXFileSystemProvider extends BsdFileSystemProvider {
+    public MacOSXFileSystemProvider() {
+        super();
+    }
+
+    @Override
+    MacOSXFileSystem newFileSystem(String dir) {
+        return new MacOSXFileSystem(this, dir);
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/solaris/classes/sun/nio/fs/MacOSXNativeDispatcher.java	Wed Aug 01 11:08:11 2012 -0400
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2008, 2009, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code 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
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package sun.nio.fs;
+
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+
+/**
+ * MacOSX specific system calls.
+ */
+
+class MacOSXNativeDispatcher extends BsdNativeDispatcher {
+    private MacOSXNativeDispatcher() { }
+
+    static final int kCFStringNormalizationFormC = 2;
+    static final int kCFStringNormalizationFormD = 0;
+    static native char[] normalizepath(char[] path, int form);
+}
--- a/src/solaris/classes/sun/nio/fs/SolarisAclFileAttributeView.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/solaris/classes/sun/nio/fs/SolarisAclFileAttributeView.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -324,7 +324,7 @@
                 return decode(address, n);
             } catch (UnixException x) {
                 if ((x.errno() == ENOSYS) || !isAclsEnabled(fd)) {
-                    throw new FileSystemException(file.getPathForExecptionMessage(),
+                    throw new FileSystemException(file.getPathForExceptionMessage(),
                         null, x.getMessage() + " (file system does not support NFSv4 ACLs)");
                 }
                 x.rethrowAsIOException(file);
@@ -355,7 +355,7 @@
                 facl(fd, ACE_SETACL, n, address);
             } catch (UnixException x) {
                 if ((x.errno() == ENOSYS) || !isAclsEnabled(fd)) {
-                    throw new FileSystemException(file.getPathForExecptionMessage(),
+                    throw new FileSystemException(file.getPathForExceptionMessage(),
                         null, x.getMessage() + " (file system does not support NFSv4 ACLs)");
                 }
                 if (x.errno() == EINVAL && (n < 3))
--- a/src/solaris/classes/sun/nio/fs/SolarisUserDefinedFileAttributeView.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/solaris/classes/sun/nio/fs/SolarisUserDefinedFileAttributeView.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -49,7 +49,7 @@
             if (bytes.length <= 1 ||
                 (bytes.length == 2 && bytes[1] == '.'))
             {
-                throw new FileSystemException(file.getPathForExecptionMessage(),
+                throw new FileSystemException(file.getPathForExceptionMessage(),
                     null, "'" + name + "' is not a valid name");
             }
         }
@@ -96,7 +96,7 @@
                 }
                 return Collections.unmodifiableList(list);
             } catch (UnixException x) {
-                throw new FileSystemException(file.getPathForExecptionMessage(),
+                throw new FileSystemException(file.getPathForExceptionMessage(),
                     null, "Unable to get list of extended attributes: " +
                     x.getMessage());
             }
@@ -126,7 +126,7 @@
                     close(afd);
                 }
             } catch (UnixException x) {
-                throw new FileSystemException(file.getPathForExecptionMessage(),
+                throw new FileSystemException(file.getPathForExceptionMessage(),
                     null, "Unable to get size of extended attribute '" + name +
                     "': " + x.getMessage());
             }
@@ -165,7 +165,7 @@
                     fc.close();
                 }
             } catch (UnixException x) {
-                throw new FileSystemException(file.getPathForExecptionMessage(),
+                throw new FileSystemException(file.getPathForExceptionMessage(),
                     null, "Unable to read extended attribute '" + name +
                     "': " + x.getMessage());
             }
@@ -201,7 +201,7 @@
                     fc.close();
                 }
             } catch (UnixException x) {
-                throw new FileSystemException(file.getPathForExecptionMessage(),
+                throw new FileSystemException(file.getPathForExceptionMessage(),
                     null, "Unable to write extended attribute '" + name +
                     "': " + x.getMessage());
             }
@@ -224,7 +224,7 @@
                 close(dfd);
             }
         } catch (UnixException x) {
-            throw new FileSystemException(file.getPathForExecptionMessage(),
+            throw new FileSystemException(file.getPathForExceptionMessage(),
                 null, "Unable to delete extended attribute '" + name +
                 "': " + x.getMessage());
         } finally {
--- a/src/solaris/classes/sun/nio/fs/SolarisWatchService.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/solaris/classes/sun/nio/fs/SolarisWatchService.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -288,7 +288,7 @@
                 return x.asIOException(dir);
             }
             if (!attrs.isDirectory()) {
-                return new NotDirectoryException(dir.getPathForExecptionMessage());
+                return new NotDirectoryException(dir.getPathForExceptionMessage());
             }
 
             // return existing watch key after updating events if already
--- a/src/solaris/classes/sun/nio/fs/UnixCopyFile.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/solaris/classes/sun/nio/fs/UnixCopyFile.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -383,8 +383,8 @@
             } catch (UnixException x) {
                 if (x.errno() == EXDEV) {
                     throw new AtomicMoveNotSupportedException(
-                        source.getPathForExecptionMessage(),
-                        target.getPathForExecptionMessage(),
+                        source.getPathForExceptionMessage(),
+                        target.getPathForExceptionMessage(),
                         x.errorString());
                 }
                 x.rethrowAsIOException(source, target);
@@ -420,7 +420,7 @@
                 return;  // nothing to do as files are identical
             if (!flags.replaceExisting) {
                 throw new FileAlreadyExistsException(
-                    target.getPathForExecptionMessage());
+                    target.getPathForExceptionMessage());
             }
 
             // attempt to delete target
@@ -436,7 +436,7 @@
                    (x.errno() == EEXIST || x.errno() == ENOTEMPTY))
                 {
                     throw new DirectoryNotEmptyException(
-                        target.getPathForExecptionMessage());
+                        target.getPathForExceptionMessage());
                 }
                 x.rethrowAsIOException(target);
             }
@@ -489,7 +489,7 @@
                 (x.errno() == EEXIST || x.errno() == ENOTEMPTY))
             {
                 throw new DirectoryNotEmptyException(
-                    source.getPathForExecptionMessage());
+                    source.getPathForExceptionMessage());
             }
             x.rethrowAsIOException(source);
         }
@@ -542,7 +542,7 @@
                 return;  // nothing to do as files are identical
             if (!flags.replaceExisting)
                 throw new FileAlreadyExistsException(
-                    target.getPathForExecptionMessage());
+                    target.getPathForExceptionMessage());
             try {
                 if (targetAttrs.isDirectory()) {
                     rmdir(target);
@@ -555,7 +555,7 @@
                    (x.errno() == EEXIST || x.errno() == ENOTEMPTY))
                 {
                     throw new DirectoryNotEmptyException(
-                        target.getPathForExecptionMessage());
+                        target.getPathForExceptionMessage());
                 }
                 x.rethrowAsIOException(target);
             }
--- a/src/solaris/classes/sun/nio/fs/UnixException.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/solaris/classes/sun/nio/fs/UnixException.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -97,8 +97,8 @@
     }
 
     void rethrowAsIOException(UnixPath file, UnixPath other) throws IOException {
-        String a = (file == null) ? null : file.getPathForExecptionMessage();
-        String b = (other == null) ? null : other.getPathForExecptionMessage();
+        String a = (file == null) ? null : file.getPathForExceptionMessage();
+        String b = (other == null) ? null : other.getPathForExceptionMessage();
         IOException x = translateToIOException(a, b);
         throw x;
     }
@@ -108,6 +108,6 @@
     }
 
     IOException asIOException(UnixPath file) {
-        return translateToIOException(file.getPathForExecptionMessage(), null);
+        return translateToIOException(file.getPathForExceptionMessage(), null);
     }
 }
--- a/src/solaris/classes/sun/nio/fs/UnixFileSystem.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/solaris/classes/sun/nio/fs/UnixFileSystem.java	Wed Aug 01 11:08:11 2012 -0400
@@ -302,7 +302,8 @@
         }
 
         // return matcher
-        final Pattern pattern = Pattern.compile(expr);
+        final Pattern pattern = compilePathMatchPattern(expr);
+
         return new PathMatcher() {
             @Override
             public boolean matches(Path path) {
@@ -310,11 +311,10 @@
             }
         };
     }
+
     private static final String GLOB_SYNTAX = "glob";
     private static final String REGEX_SYNTAX = "regex";
 
-
-
     @Override
     public final UserPrincipalLookupService getUserPrincipalLookupService() {
         return LookupService.instance;
@@ -339,4 +339,23 @@
             };
     }
 
+    // Override if the platform has different path match requrement, such as
+    // case insensitive or Unicode canonical equal on MacOSX
+    Pattern compilePathMatchPattern(String expr) {
+        return Pattern.compile(expr);
+    }
+
+    // Override if the platform uses different Unicode normalization form
+    // for native file path. For example on MacOSX, the native path is stored
+    // in Unicode NFD form.
+    char[] normalizeNativePath(char[] path) {
+        return path;
+    }
+
+    // Override if the native file path use non-NFC form. For example on MacOSX,
+    // the native path is stored in Unicode NFD form, the path need to be
+    // normalized back to NFC before passed back to Java level.
+    String normalizeJavaPath(String path) {
+        return path;
+    }
 }
--- a/src/solaris/classes/sun/nio/fs/UnixFileSystemProvider.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/solaris/classes/sun/nio/fs/UnixFileSystemProvider.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -238,7 +238,7 @@
             // DirectoryNotEmptyException if not empty
             if (attrs != null && attrs.isDirectory() &&
                 (x.errno() == EEXIST || x.errno() == ENOTEMPTY))
-                throw new DirectoryNotEmptyException(file.getPathForExecptionMessage());
+                throw new DirectoryNotEmptyException(file.getPathForExceptionMessage());
 
             x.rethrowAsIOException(file);
             return false;
@@ -401,7 +401,7 @@
                 return new UnixDirectoryStream(dir, ptr, filter);
             } catch (UnixException x) {
                 if (x.errno() == ENOTDIR)
-                    throw new NotDirectoryException(dir.getPathForExecptionMessage());
+                    throw new NotDirectoryException(dir.getPathForExceptionMessage());
                 x.rethrowAsIOException(dir);
             }
         }
@@ -421,7 +421,7 @@
             if (dfd2 != -1)
                 UnixNativeDispatcher.close(dfd2);
             if (x.errno() == UnixConstants.ENOTDIR)
-                throw new NotDirectoryException(dir.getPathForExecptionMessage());
+                throw new NotDirectoryException(dir.getPathForExceptionMessage());
             x.rethrowAsIOException(dir);
         }
         return new UnixSecureDirectoryStream(dir, dp, dfd2, filter);
@@ -490,7 +490,7 @@
             return new UnixPath(link.getFileSystem(), target);
         } catch (UnixException x) {
            if (x.errno() == UnixConstants.EINVAL)
-                throw new NotLinkException(link.getPathForExecptionMessage());
+                throw new NotLinkException(link.getPathForExceptionMessage());
             x.rethrowAsIOException(link);
             return null;    // keep compiler happy
         }
--- a/src/solaris/classes/sun/nio/fs/UnixPath.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/solaris/classes/sun/nio/fs/UnixPath.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -68,7 +68,7 @@
 
     UnixPath(UnixFileSystem fs, String input) {
         // removes redundant slashes and checks for invalid characters
-        this(fs, encode(normalizeAndCheck(input)));
+        this(fs, encode(fs, normalizeAndCheck(input)));
     }
 
     // package-private
@@ -116,7 +116,7 @@
     }
 
     // encodes the given path-string into a sequence of bytes
-    private static byte[] encode(String input) {
+    private static byte[] encode(UnixFileSystem fs, String input) {
         SoftReference<CharsetEncoder> ref = encoder.get();
         CharsetEncoder ce = (ref != null) ? ref.get() : null;
         if (ce == null) {
@@ -126,7 +126,7 @@
             encoder.set(new SoftReference<CharsetEncoder>(ce));
         }
 
-        char[] ca = input.toCharArray();
+        char[] ca = fs.normalizeNativePath(input.toCharArray());
 
         // size output buffer for worse-case size
         byte[] ba = new byte[(int)(ca.length * (double)ce.maxBytesPerChar())];
@@ -179,7 +179,7 @@
     }
 
     // use this message when throwing exceptions
-    String getPathForExecptionMessage() {
+    String getPathForExceptionMessage() {
         return toString();
     }
 
@@ -728,7 +728,7 @@
             if (c1 != c2) {
                 return c1 - c2;
             }
-            k++;
+           k++;
         }
         return len1 - len2;
     }
@@ -757,8 +757,9 @@
     @Override
     public String toString() {
         // OK if two or more threads create a String
-        if (stringValue == null)
-            stringValue = new String(path);     // platform encoding
+        if (stringValue == null) {
+            stringValue = fs.normalizeJavaPath(new String(path));     // platform encoding
+        }
         return stringValue;
     }
 
@@ -780,7 +781,7 @@
                 x.setError(ELOOP);
 
             if (x.errno() == ELOOP)
-                throw new FileSystemException(getPathForExecptionMessage(), null,
+                throw new FileSystemException(getPathForExceptionMessage(), null,
                     x.getMessage() + " or unable to access attributes of symbolic link");
 
             x.rethrowAsIOException(this);
--- a/src/solaris/native/java/io/UnixFileSystem_md.c	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/solaris/native/java/io/UnixFileSystem_md.c	Wed Aug 01 11:08:11 2012 -0400
@@ -38,6 +38,7 @@
 #include "jlong.h"
 #include "jvm.h"
 #include "io_util.h"
+#include "io_util_md.h"
 #include "java_io_FileSystem.h"
 #include "java_io_UnixFileSystem.h"
 
@@ -80,7 +81,11 @@
                          canonicalPath, JVM_MAXPATHLEN) < 0) {
             JNU_ThrowIOExceptionWithLastError(env, "Bad pathname");
         } else {
+#ifdef MACOSX
+            rv = newStringPlatform(env, canonicalPath);
+#else
             rv = JNU_NewStringPlatform(env, canonicalPath);
+#endif
         }
     } END_PLATFORM_STRING(env, path);
     return rv;
@@ -311,7 +316,11 @@
             if (JNU_CopyObjectArray(env, rv, old, len) < 0) goto error;
             (*env)->DeleteLocalRef(env, old);
         }
+#ifdef MACOSX
+        name = newStringPlatform(env, ptr->d_name);
+#else
         name = JNU_NewStringPlatform(env, ptr->d_name);
+#endif
         if (name == NULL) goto error;
         (*env)->SetObjectArrayElement(env, rv, len++, name);
         (*env)->DeleteLocalRef(env, name);
--- a/src/solaris/native/java/io/io_util_md.c	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/solaris/native/java/io/io_util_md.c	Wed Aug 01 11:08:11 2012 -0400
@@ -34,37 +34,32 @@
 
 #include <CoreFoundation/CoreFoundation.h>
 
-static inline char *convertToNFD(const char *path, char *buf, size_t bufsize)
+__private_extern__
+jstring newStringPlatform(JNIEnv *env, const char* str)
 {
-    CFMutableStringRef mutable = CFStringCreateMutable(NULL, 0);
-    CFStringAppendCString(mutable, path, kCFStringEncodingUTF8);
-    CFStringNormalize(mutable, kCFStringNormalizationFormD);
-
-    CFStringGetCString(mutable, buf, bufsize, kCFStringEncodingUTF8);
-
-    CFRelease(mutable);
-    return buf;
-}
-
-/* Converts the path to NFD form if it was in NFC form. Returns a pointer to
- * the converting string which could be buf (if the converstion took place) or
- * origPath if no conversion was needed
- */
-__private_extern__
-char* convertToNFDIfNeeded(const char *origPath, char *buf, size_t bufsize)
-{
-    const char *current = origPath;
-    int c;
-    for (c = *current; c != 0; current++, c = *current) {
-        if (c < 0) {
-            // Need to convert
-            return convertToNFD(origPath, buf, bufsize);
+    jstring rv = NULL;
+    CFMutableStringRef csref = CFStringCreateMutable(NULL, 0);
+    if (csref == NULL) {
+        JNU_ThrowOutOfMemoryError(env, "native heap");
+    } else {
+        CFStringAppendCString(csref, str, kCFStringEncodingUTF8);
+        CFStringNormalize(csref, kCFStringNormalizationFormC);
+        int clen = CFStringGetLength(csref);
+        int ulen = (clen + 1) * 2;        // utf16 + zero padding
+        char* chars = malloc(ulen);
+        if (chars == NULL) {
+            CFRelease(csref);
+            JNU_ThrowOutOfMemoryError(env, "native heap");
+        } else {
+            if (CFStringGetCString(csref, chars, ulen, kCFStringEncodingUTF16)) {
+                rv = (*env)->NewString(env, (jchar*)chars, clen);
+            }
+            free(chars);
+            CFRelease(csref);
         }
     }
-
-    return (char *)origPath;
+    return rv;
 }
-
 #endif
 
 void
--- a/src/solaris/native/java/io/io_util_md.h	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/solaris/native/java/io/io_util_md.h	Wed Aug 01 11:08:11 2012 -0400
@@ -72,3 +72,7 @@
  * IO helper function(s)
  */
 void fileClose(JNIEnv *env, jobject this, jfieldID fid);
+
+#ifdef MACOSX
+jstring newStringPlatform(JNIEnv *env, const char* str);
+#endif
--- a/src/solaris/native/java/net/Inet4AddressImpl.c	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/solaris/native/java/net/Inet4AddressImpl.c	Wed Aug 01 11:08:11 2012 -0400
@@ -196,7 +196,7 @@
                 struct addrinfo *next
                     = (struct addrinfo*) malloc(sizeof(struct addrinfo));
                 if (!next) {
-                    JNU_ThrowOutOfMemoryError(env, "heap allocation failed");
+                    JNU_ThrowOutOfMemoryError(env, "Native heap allocation failed");
                     ret = NULL;
                     goto cleanupAndReturn;
                 }
@@ -465,7 +465,7 @@
                 struct addrinfo *next
                     = (struct addrinfo*) malloc(sizeof(struct addrinfo));
                 if (!next) {
-                    JNU_ThrowOutOfMemoryError(env, "heap allocation failed");
+                    JNU_ThrowOutOfMemoryError(env, "Native heap allocation failed");
                     ret = NULL;
                     goto cleanupAndReturn;
                 }
--- a/src/solaris/native/java/net/Inet6AddressImpl.c	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/solaris/native/java/net/Inet6AddressImpl.c	Wed Aug 01 11:08:11 2012 -0400
@@ -267,7 +267,7 @@
                 struct addrinfo *next
                     = (struct addrinfo*) malloc(sizeof(struct addrinfo));
                 if (!next) {
-                    JNU_ThrowOutOfMemoryError(env, "heap allocation failed");
+                    JNU_ThrowOutOfMemoryError(env, "Native heap allocation failed");
                     ret = NULL;
                     goto cleanupAndReturn;
                 }
--- a/src/solaris/native/java/net/NetworkInterface.c	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/solaris/native/java/net/NetworkInterface.c	Wed Aug 01 11:08:11 2012 -0400
@@ -804,7 +804,7 @@
        do{ \
         _pointer = (_type)malloc( _size ); \
         if (_pointer == NULL) { \
-            JNU_ThrowOutOfMemoryError(env, "heap allocation failed"); \
+            JNU_ThrowOutOfMemoryError(env, "Native heap allocation failed"); \
             return ifs; /* return untouched list */ \
         } \
        } while(0)
--- a/src/solaris/native/java/net/PlainDatagramSocketImpl.c	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/solaris/native/java/net/PlainDatagramSocketImpl.c	Wed Aug 01 11:08:11 2012 -0400
@@ -485,7 +485,7 @@
         fullPacket = (char *)malloc(packetBufferLen);
 
         if (!fullPacket) {
-            JNU_ThrowOutOfMemoryError(env, "heap allocation failed");
+            JNU_ThrowOutOfMemoryError(env, "Send buffer native heap allocation failed");
             return;
         } else {
             mallocedPacket = JNI_TRUE;
@@ -714,7 +714,7 @@
         fullPacket = (char *)malloc(packetBufferLen);
 
         if (!fullPacket) {
-            JNU_ThrowOutOfMemoryError(env, "heap allocation failed");
+            JNU_ThrowOutOfMemoryError(env, "Peek buffer native heap allocation failed");
             return -1;
         } else {
             mallocedPacket = JNI_TRUE;
@@ -874,7 +874,7 @@
         fullPacket = (char *)malloc(packetBufferLen);
 
         if (!fullPacket) {
-            JNU_ThrowOutOfMemoryError(env, "heap allocation failed");
+            JNU_ThrowOutOfMemoryError(env, "Receive buffer native heap allocation failed");
             return;
         } else {
             mallocedPacket = JNI_TRUE;
--- a/src/solaris/native/sun/awt/fontpath.c	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/solaris/native/sun/awt/fontpath.c	Wed Aug 01 11:08:11 2012 -0400
@@ -1240,7 +1240,7 @@
                                             FC_CHARSET, 0, &charset);
             if (result != FcResultMatch) {
                 free(family);
-                free(family);
+                free(fullname);
                 free(styleStr);
                 free(file);
                 (*FcPatternDestroy)(pattern);
--- a/src/solaris/native/sun/nio/ch/DatagramDispatcher.c	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/solaris/native/sun/nio/ch/DatagramDispatcher.c	Wed Aug 01 11:08:11 2012 -0400
@@ -34,6 +34,7 @@
 #include <sys/types.h>
 #include <sys/uio.h>
 #include <sys/socket.h>
+#include <string.h>
 
 #include "nio_util.h"
 #include <limits.h>
--- a/src/solaris/native/sun/nio/ch/Net.c	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/solaris/native/sun/nio/ch/Net.c	Wed Aug 01 11:08:11 2012 -0400
@@ -39,83 +39,6 @@
 #include "nio_util.h"
 #include "nio.h"
 
-/**
- * Definitions for source-specific multicast to allow for building
- * with older header files.
- */
-
-#ifdef __solaris__
-
-#ifndef IP_BLOCK_SOURCE
-
-#define IP_BLOCK_SOURCE                 0x15
-#define IP_UNBLOCK_SOURCE               0x16
-#define IP_ADD_SOURCE_MEMBERSHIP        0x17
-#define IP_DROP_SOURCE_MEMBERSHIP       0x18
-
-#define MCAST_BLOCK_SOURCE              0x2b
-#define MCAST_UNBLOCK_SOURCE            0x2c
-#define MCAST_JOIN_SOURCE_GROUP         0x2d
-#define MCAST_LEAVE_SOURCE_GROUP        0x2e
-
-#endif  /* IP_BLOCK_SOURCE */
-
-struct my_ip_mreq_source {
-        struct in_addr  imr_multiaddr;
-        struct in_addr  imr_sourceaddr;
-        struct in_addr  imr_interface;
-};
-
-/*
- * Use #pragma pack() construct to force 32-bit alignment on amd64.
- */
-#if defined(amd64)
-#pragma pack(4)
-#endif
-
-struct my_group_source_req {
-        uint32_t                gsr_interface;  /* interface index */
-        struct sockaddr_storage gsr_group;      /* group address */
-        struct sockaddr_storage gsr_source;     /* source address */
-};
-
-#if defined(amd64)
-#pragma pack()
-#endif
-
-#endif  /* __solaris__ */
-
-
-#ifdef __linux__
-
-#ifndef IP_BLOCK_SOURCE
-
-#define IP_BLOCK_SOURCE                 38
-#define IP_UNBLOCK_SOURCE               37
-#define IP_ADD_SOURCE_MEMBERSHIP        39
-#define IP_DROP_SOURCE_MEMBERSHIP       40
-
-#define MCAST_BLOCK_SOURCE              43
-#define MCAST_UNBLOCK_SOURCE            44
-#define MCAST_JOIN_SOURCE_GROUP         42
-#define MCAST_LEAVE_SOURCE_GROUP        45
-
-#endif  /* IP_BLOCK_SOURCE */
-
-struct my_ip_mreq_source {
-        struct in_addr  imr_multiaddr;
-        struct in_addr  imr_interface;
-        struct in_addr  imr_sourceaddr;
-};
-
-struct my_group_source_req {
-        uint32_t                gsr_interface;  /* interface index */
-        struct sockaddr_storage gsr_group;      /* group address */
-        struct sockaddr_storage gsr_source;     /* source address */
-};
-
-#endif   /* __linux__ */
-
 #ifdef _ALLBSD_SOURCE
 
 #ifndef IP_BLOCK_SOURCE
@@ -155,7 +78,12 @@
         struct sockaddr_storage gsr_source;     /* source address */
 };
 
-#endif   /* _ALLBSD_SOURCE */
+#else   /* _ALLBSD_SOURCE */
+
+#define my_ip_mreq_source         ip_mreq_source
+#define my_group_source_req       group_source_req
+
+#endif
 
 
 #define COPY_INET6_ADDRESS(env, source, target) \
@@ -576,8 +504,8 @@
         optval = (void*)&mreq6;
         optlen = sizeof(mreq6);
     } else {
-#if defined (__linux__) || defined(MACOSX)
-        /* Include-mode filtering broken on Mac OS & Linux at least to 2.6.24 */
+#ifdef MACOSX
+        /* no IPv6 include-mode filtering for now */
         return IOS_UNAVAILABLE;
 #else
         initGroupSourceReq(env, group, index, source, &req);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/solaris/native/sun/nio/fs/MacOSXNativeDispatcher.c	Wed Aug 01 11:08:11 2012 -0400
@@ -0,0 +1,76 @@
+/*
+ * Copyright (c) 2008, 2009, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code 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
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+#include "jni.h"
+#include "jni_util.h"
+#include "jvm.h"
+#include "jlong.h"
+
+#include <stdlib.h>
+#include <string.h>
+
+#include <CoreFoundation/CoreFoundation.h>
+
+JNIEXPORT jcharArray JNICALL
+Java_sun_nio_fs_MacOSXNativeDispatcher_normalizepath(JNIEnv* env, jclass this,
+                                                     jcharArray path,
+                                                     jint form)
+{
+    jcharArray result = NULL;
+    char chars_buf[(PATH_MAX + 1) * 2];     // utf16 + zero padding
+    CFMutableStringRef csref = CFStringCreateMutable(NULL, 0);
+    if (csref == NULL) {
+        JNU_ThrowOutOfMemoryError(env, "native heap");
+    } else {
+        char *chars = (char*)(*env)->GetPrimitiveArrayCritical(env, path, 0);
+        jsize len = (*env)->GetArrayLength(env, path);
+        CFStringAppendCharacters(csref, (const UniChar*)chars, len);
+        (*env)->ReleasePrimitiveArrayCritical(env, path, chars, 0);
+        CFStringNormalize(csref, form);
+        len = CFStringGetLength(csref);
+        if (len < PATH_MAX) {
+            if (CFStringGetCString(csref, chars_buf, sizeof(chars_buf), kCFStringEncodingUTF16)) {
+                result = (*env)->NewCharArray(env, len);
+                (*env)->SetCharArrayRegion(env, result, 0, len, (jchar*)&chars_buf);
+            }
+        } else {
+            int ulen = (len + 1) * 2;
+            chars = malloc(ulen);
+            if (chars == NULL) {
+                CFRelease(csref);
+                JNU_ThrowOutOfMemoryError(env, "native heap");
+                return result;
+            } else {
+                if (CFStringGetCString(csref, chars, ulen, kCFStringEncodingUTF16)) {
+                    result = (*env)->NewCharArray(env, len);
+                    (*env)->SetCharArrayRegion(env, result, 0, len, (jchar*)chars);
+                }
+                free(chars);
+            }
+        }
+        CFRelease(csref);
+    }
+    return result;
+}
--- a/src/windows/classes/sun/security/krb5/internal/tools/Kinit.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/windows/classes/sun/security/krb5/internal/tools/Kinit.java	Wed Aug 01 11:08:11 2012 -0400
@@ -206,9 +206,7 @@
             System.out.println(">>> Kinit realm name is " + realm);
         }
 
-        PrincipalName sname = new PrincipalName("krbtgt" + "/" + realm,
-                                        PrincipalName.KRB_NT_SRV_INST);
-        sname.setRealm(realm);
+        PrincipalName sname = PrincipalName.tgsService(realm, realm);
         builder.setTarget(sname);
 
         if (DEBUG) {
--- a/src/windows/classes/sun/security/krb5/internal/tools/KinitOptions.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/windows/classes/sun/security/krb5/internal/tools/KinitOptions.java	Wed Aug 01 11:08:11 2012 -0400
@@ -146,15 +146,6 @@
                                                        "Principal name: " + p +
                                                        e.getMessage());
                 }
-                if (principal.getRealm() == null) {
-                    String realm =
-                        Config.getInstance().getDefault("default_realm",
-                                                        "libdefaults");
-                    if (realm != null) {
-                        principal.setRealm(realm);
-                    } else throw new IllegalArgumentException("invalid " +
-                                                              "Realm name");
-                }
             } else if (this.password == null) {
                 // Have already processed a Principal, this must be a password
                 password = args[i].toCharArray();
@@ -175,16 +166,6 @@
     }
 
     PrincipalName getDefaultPrincipal() {
-        String cname;
-        String realm = null;
-        try {
-            realm = Config.getInstance().getDefaultRealm();
-        } catch (KrbException e) {
-            System.out.println ("Can not get default realm " +
-                                e.getMessage());
-            e.printStackTrace();
-            return null;
-        }
 
         // get default principal name from the cachename if it is
         // available.
@@ -204,10 +185,6 @@
             }
             PrincipalName p = cis.readPrincipal(version);
             cis.close();
-            String temp = p.getRealmString();
-            if (temp == null) {
-                p.setRealm(realm);
-            }
             if (DEBUG) {
                 System.out.println(">>>KinitOptions principal name from "+
                                    "the cache is :" + p);
@@ -230,19 +207,15 @@
             System.out.println(">>>KinitOptions default username is :"
                                + username);
         }
-        if (realm != null) {
-            try {
-                PrincipalName p = new PrincipalName(username);
-                if (p.getRealm() == null)
-                    p.setRealm(realm);
-                return p;
-            } catch (RealmException e) {
-                // ignore exception , return null
-                if (DEBUG) {
-                    System.out.println ("Exception in getting principal " +
-                                        "name " + e.getMessage());
-                    e.printStackTrace();
-                }
+        try {
+            PrincipalName p = new PrincipalName(username);
+            return p;
+        } catch (RealmException e) {
+            // ignore exception , return null
+            if (DEBUG) {
+                System.out.println ("Exception in getting principal " +
+                                    "name " + e.getMessage());
+                e.printStackTrace();
             }
         }
         return null;
--- a/src/windows/classes/sun/security/krb5/internal/tools/Ktab.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/windows/classes/sun/security/krb5/internal/tools/Ktab.java	Wed Aug 01 11:08:11 2012 -0400
@@ -273,9 +273,6 @@
         PrincipalName pname = null;
         try {
             pname = new PrincipalName(principal);
-            if (pname.getRealm() == null) {
-                pname.setRealm(Config.getInstance().getDefaultRealm());
-            }
         } catch (KrbException e) {
             System.err.println("Failed to add " + principal +
                                " to keytab.");
@@ -382,9 +379,6 @@
         PrincipalName pname = null;
         try {
             pname = new PrincipalName(principal);
-            if (pname.getRealm() == null) {
-                pname.setRealm(Config.getInstance().getDefaultRealm());
-            }
             if (!forced) {
                 String answer;
                 BufferedReader cis =
--- a/src/windows/native/java/net/DualStackPlainDatagramSocketImpl.c	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/windows/native/java/net/DualStackPlainDatagramSocketImpl.c	Wed Aug 01 11:08:11 2012 -0400
@@ -265,7 +265,7 @@
         }
         fullPacket = (char *)malloc(packetBufferLen);
         if (!fullPacket) {
-            JNU_ThrowOutOfMemoryError(env, "heap allocation failed");
+            JNU_ThrowOutOfMemoryError(env, "Native heap allocation failed");
             return -1;
         }
     } else {
@@ -427,7 +427,7 @@
         }
         fullPacket = (char *)malloc(length);
         if (!fullPacket) {
-            JNU_ThrowOutOfMemoryError(env, "heap allocation failed");
+            JNU_ThrowOutOfMemoryError(env, "Native heap allocation failed");
             return;
         }
     } else {
--- a/src/windows/native/java/net/Inet6AddressImpl.c	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/windows/native/java/net/Inet6AddressImpl.c	Wed Aug 01 11:08:11 2012 -0400
@@ -197,7 +197,7 @@
                 struct addrinfo *next
                     = (struct addrinfo*) malloc(sizeof(struct addrinfo));
                 if (!next) {
-                    JNU_ThrowOutOfMemoryError(env, "heap allocation failed");
+                    JNU_ThrowOutOfMemoryError(env, "Native heap allocation failed");
                     ret = NULL;
                     goto cleanupAndReturn;
                 }
--- a/src/windows/native/java/net/NetworkInterface.c	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/windows/native/java/net/NetworkInterface.c	Wed Aug 01 11:08:11 2012 -0400
@@ -270,7 +270,7 @@
             }
         }
         if (curr == NULL) {
-            JNU_ThrowOutOfMemoryError(env, "heap allocation failure");
+            JNU_ThrowOutOfMemoryError(env, "Native heap allocation failure");
             free_netif(netifP);
             free(tableP);
             return -1;
@@ -370,7 +370,7 @@
 
             netaddr *curr = (netaddr *)malloc(sizeof(netaddr));
             if (curr == NULL) {
-                JNU_ThrowOutOfMemoryError(env, "heap allocation failure");
+                JNU_ThrowOutOfMemoryError(env, "Native heap allocation failure");
                 free_netaddr(netaddrP);
                 free(tableP);
                 return -1;
--- a/src/windows/native/java/net/TwoStacksPlainDatagramSocketImpl.c	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/windows/native/java/net/TwoStacksPlainDatagramSocketImpl.c	Wed Aug 01 11:08:11 2012 -0400
@@ -243,7 +243,7 @@
                                 addrList = curr;
                             }
                             LeaveCriticalSection(&sizeCheckLock);
-                            JNU_ThrowOutOfMemoryError(env, "heap allocation failed");
+                            JNU_ThrowOutOfMemoryError(env, "Native heap allocation failed");
                             return JNI_TRUE;
                         }
                         curr->addr = htonl((*addrp)->S_un.S_addr);
@@ -740,7 +740,7 @@
          */
         fullPacket = (char *)malloc(packetBufferLen);
         if (!fullPacket) {
-            JNU_ThrowOutOfMemoryError(env, "heap allocation failed");
+            JNU_ThrowOutOfMemoryError(env, "Send buf native heap allocation failed");
             return;
         }
     } else {
@@ -1003,7 +1003,7 @@
          */
         fullPacket = (char *)malloc(packetBufferLen);
         if (!fullPacket) {
-            JNU_ThrowOutOfMemoryError(env, "heap allocation failed");
+            JNU_ThrowOutOfMemoryError(env, "Native heap allocation failed");
             return -1;
         }
     } else {
@@ -1287,7 +1287,7 @@
          */
         fullPacket = (char *)malloc(packetBufferLen);
         if (!fullPacket) {
-            JNU_ThrowOutOfMemoryError(env, "heap allocation failed");
+            JNU_ThrowOutOfMemoryError(env, "Receive buf native heap allocation failed");
             return;
         }
     } else {
--- a/src/windows/native/sun/font/lcdglyph.c	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/windows/native/sun/font/lcdglyph.c	Wed Aug 01 11:08:11 2012 -0400
@@ -409,7 +409,7 @@
      */
     imageSize = bytesWidth*height;
     glyphInfo = (GlyphInfo*)malloc(sizeof(GlyphInfo)+imageSize);
-    if (malloc == NULL) {
+    if (glyphInfo == NULL) {
         FREE_AND_RETURN;
     }
     glyphInfo->cellInfo = NULL;
--- a/src/windows/native/sun/security/krb5/NativeCreds.c	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/windows/native/sun/security/krb5/NativeCreds.c	Wed Aug 01 11:08:11 2012 -0400
@@ -67,7 +67,6 @@
 jmethodID ticketFlagsConstructor = 0;
 jmethodID kerberosTimeConstructor = 0;
 jmethodID krbcredsConstructor = 0;
-jmethodID setRealmMethod = 0;
 
 /*
  * Function prototypes for internal routines
@@ -279,7 +278,7 @@
     }
 
     principalNameConstructor = (*env)->GetMethodID(env, principalNameClass,
-                                    "<init>", "([Ljava/lang/String;)V");
+                        "<init>", "([Ljava/lang/String;Ljava/lang/String;)V");
     if (principalNameConstructor == 0) {
         printf("LSA: Couldn't find PrincipalName constructor\n");
         return JNI_ERR;
@@ -318,14 +317,6 @@
         printf("LSA: Found KerberosTime constructor\n");
     }
 
-    // load the setRealm method in PrincipalName
-    setRealmMethod = (*env)->GetMethodID(env, principalNameClass,
-                                    "setRealm", "(Ljava/lang/String;)V");
-    if (setRealmMethod == 0) {
-        printf("LSA: Couldn't find setRealm in PrincipalName\n");
-        return JNI_ERR;
-    }
-
     if (native_debug) {
         printf("LSA: Finished OnLoad processing\n");
     }
@@ -952,13 +943,12 @@
 
         // Do I have to worry about storage reclamation here?
     }
-    principal = (*env)->NewObject(env, principalNameClass,
-                    principalNameConstructor, stringArray);
-
     // now set the realm in the principal
     realmLen = (ULONG)wcslen((PWCHAR)realm);
     realmStr = (*env)->NewString(env, (PWCHAR)realm, (USHORT)realmLen);
-    (*env)->CallVoidMethod(env, principal, setRealmMethod, realmStr);
+
+    principal = (*env)->NewObject(env, principalNameClass,
+                    principalNameConstructor, stringArray, realmStr);
 
     // free local resources
     LocalFree(realm);
--- a/src/windows/native/sun/windows/awt_Component.cpp	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/windows/native/sun/windows/awt_Component.cpp	Wed Aug 01 11:08:11 2012 -0400
@@ -1474,9 +1474,7 @@
           ::GetClientRect( GetHWnd(), &r );
           mr = WmSize(static_cast<UINT>(wParam), r.right - r.left, r.bottom - r.top);
           //mr = WmSize(wParam, LOWORD(lParam), HIWORD(lParam));
-          if (ImmGetContext() != NULL) {
-              SetCompositionWindow(r);
-          }
+          SetCompositionWindow(r);
           break;
       }
       case WM_SIZING:
@@ -1535,7 +1533,10 @@
               // When the window is deactivated, send WM_IME_ENDCOMPOSITION
               // message to deactivate the composition window so that
               // it won't receive keyboard input focus.
-              if (ImmGetContext() != NULL) {
+              HIMC hIMC;
+              HWND hwnd = ImmGetHWnd();
+              if ((hIMC = ImmGetContext(hwnd)) != NULL) {
+                  ImmReleaseContext(hwnd, hIMC);
                   DefWindowProc(WM_IME_ENDCOMPOSITION, 0, 0);
               }
           }
@@ -1718,11 +1719,9 @@
       case WM_IME_SETCONTEXT:
           // lParam is passed as pointer and it can be modified.
           mr = WmImeSetContext(static_cast<BOOL>(wParam), &lParam);
-          CallProxyDefWindowProc(message, wParam, lParam, retValue, mr);
           break;
       case WM_IME_NOTIFY:
           mr = WmImeNotify(wParam, lParam);
-          CallProxyDefWindowProc(message, wParam, lParam, retValue, mr);
           break;
       case WM_IME_STARTCOMPOSITION:
           mr = WmImeStartComposition();
@@ -3723,12 +3722,14 @@
 // support IME Composition messages
 void AwtComponent::SetCompositionWindow(RECT& r)
 {
-    HIMC hIMC = ImmGetContext();
+    HWND hwnd = ImmGetHWnd();
+    HIMC hIMC = ImmGetContext(hwnd);
     if (hIMC == NULL) {
         return;
     }
     COMPOSITIONFORM cf = {CFS_DEFAULT, {0, 0}, {0, 0, 0, 0}};
     ImmSetCompositionWindow(hIMC, &cf);
+    ImmReleaseContext(hwnd, hIMC);
 }
 
 void AwtComponent::OpenCandidateWindow(int x, int y)
@@ -3742,16 +3743,16 @@
             SetCandidateWindow(iCandType, x-rc.left, y-rc.top);
     }
     if (m_bitsCandType != 0) {
-        HWND proxy = GetProxyFocusOwner();
         // REMIND: is there any chance GetProxyFocusOwner() returns NULL here?
-        ::DefWindowProc((proxy != NULL) ? proxy : GetHWnd(),
+        ::DefWindowProc(ImmGetHWnd(),
                         WM_IME_NOTIFY, IMN_OPENCANDIDATE, m_bitsCandType);
     }
 }
 
 void AwtComponent::SetCandidateWindow(int iCandType, int x, int y)
 {
-    HIMC hIMC = ImmGetContext();
+    HWND hwnd = ImmGetHWnd();
+    HIMC hIMC = ImmGetContext(hwnd);
     CANDIDATEFORM cf;
     cf.dwIndex = iCandType;
     cf.dwStyle = CFS_CANDIDATEPOS;
@@ -3759,17 +3760,20 @@
     cf.ptCurrentPos.y = y;
 
     ImmSetCandidateWindow(hIMC, &cf);
+    ImmReleaseContext(hwnd, hIMC);
 }
 
 MsgRouting AwtComponent::WmImeSetContext(BOOL fSet, LPARAM *lplParam)
 {
     // If the Windows input context is disabled, do not let Windows
     // display any UIs.
-    HIMC hIMC = ImmGetContext();
+    HWND hwnd = ImmGetHWnd();
+    HIMC hIMC = ImmGetContext(hwnd);
     if (hIMC == NULL) {
         *lplParam = 0;
         return mrDoDefault;
     }
+    ImmReleaseContext(hwnd, hIMC);
 
     if (fSet) {
         LPARAM lParam = *lplParam;
@@ -3824,11 +3828,13 @@
     AwtInputTextInfor* textInfor = NULL;
 
     try {
-        HIMC hIMC = ImmGetContext();
+        HWND hwnd = ImmGetHWnd();
+        HIMC hIMC = ImmGetContext(hwnd);
         DASSERT(hIMC!=0);
 
         textInfor = new AwtInputTextInfor;
         textInfor->GetContextData(hIMC, flags);
+        ImmReleaseContext(hwnd, hIMC);
 
         jstring jtextString = textInfor->GetText();
         /* The conditions to send the input method event to AWT EDT are:
@@ -4012,16 +4018,15 @@
     DASSERT(!safe_ExceptionOccurred(env));
 }
 
-HIMC AwtComponent::ImmGetContext()
+HWND AwtComponent::ImmGetHWnd()
 {
     HWND proxy = GetProxyFocusOwner();
-    return ::ImmGetContext((proxy != NULL) ? proxy : GetHWnd());
+    return (proxy != NULL) ? proxy : GetHWnd();
 }
 
 HIMC AwtComponent::ImmAssociateContext(HIMC himc)
 {
-    HWND proxy = GetProxyFocusOwner();
-    return ::ImmAssociateContext((proxy != NULL) ? proxy : GetHWnd(), himc);
+    return ::ImmAssociateContext(ImmGetHWnd(), himc);
 }
 
 HWND AwtComponent::GetProxyFocusOwner()
--- a/src/windows/native/sun/windows/awt_Component.h	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/windows/native/sun/windows/awt_Component.h	Wed Aug 01 11:08:11 2012 -0400
@@ -464,7 +464,7 @@
                               int caretPos, int visiblePos);
     void InquireCandidatePosition();
     INLINE LPARAM GetCandidateType() { return m_bitsCandType; }
-    HIMC ImmGetContext();
+    HWND ImmGetHWnd();
     HIMC ImmAssociateContext(HIMC himc);
     HWND GetProxyFocusOwner();
 
--- a/src/windows/native/sun/windows/awt_FileDialog.cpp	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/windows/native/sun/windows/awt_FileDialog.cpp	Wed Aug 01 11:08:11 2012 -0400
@@ -156,6 +156,7 @@
             HIMC hIMC = ::ImmGetContext(hdlg);
             if (hIMC != NULL) {
                 ::ImmNotifyIME(hIMC, NI_COMPOSITIONSTR, CPS_CANCEL, 0);
+                ::ImmReleaseContext(hdlg, hIMC);
             }
 
             WNDPROC lpfnWndProc = (WNDPROC)(::GetProp(parent, NativeDialogWndProcProp));
--- a/src/windows/native/sun/windows/awt_Frame.cpp	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/windows/native/sun/windows/awt_Frame.cpp	Wed Aug 01 11:08:11 2012 -0400
@@ -319,8 +319,6 @@
         case WM_IME_STARTCOMPOSITION:
         case WM_IME_ENDCOMPOSITION:
         case WM_IME_COMPOSITION:
-        case WM_IME_SETCONTEXT:
-        case WM_IME_NOTIFY:
         case WM_IME_CONTROL:
         case WM_IME_COMPOSITIONFULL:
         case WM_IME_SELECT:
--- a/src/windows/native/sun/windows/awt_TextComponent.cpp	Wed Aug 01 11:06:44 2012 -0400
+++ b/src/windows/native/sun/windows/awt_TextComponent.cpp	Wed Aug 01 11:08:11 2012 -0400
@@ -336,7 +336,8 @@
 //im --- override to over the spot composition
 void AwtTextComponent::SetCompositionWindow(RECT& rc)
 {
-    HIMC hIMC = ImmGetContext();
+    HWND hwnd = ImmGetHWnd();
+    HIMC hIMC = ImmGetContext(hwnd);
     // rc is not used for text component.
     COMPOSITIONFORM cf = { CFS_FORCE_POSITION, {0,0}, {0,0,0,0} };
     GetCaretPos(&(cf.ptCurrentPos));
@@ -348,6 +349,7 @@
     LOGFONT lf;
     GetObject(m_hFont, sizeof(LOGFONT), &lf);
     ImmSetCompositionFont(hIMC, &lf);
+    ImmReleaseContext(hwnd, hIMC);
 }
 //im --- end
 
--- a/test/ProblemList.txt	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/ProblemList.txt	Wed Aug 01 11:08:11 2012 -0400
@@ -122,9 +122,6 @@
 
 # jdk_lang
 
-# 7123972
-java/lang/annotation/loaderLeak/Main.java			generic-all
-
 # 6944188
 java/lang/management/ThreadMXBean/ThreadStateTest.java          generic-all
 
@@ -161,9 +158,6 @@
 # 6988950
 demo/jvmti/compiledMethodLoad/CompiledMethodLoadTest.java	generic-all
 
-# Need to be marked othervm, or changed to be samevm safe
-com/sun/jndi/rmi/registry/RegistryContext/UnbindIdempotent.java generic-all
-
 # 7162111
 demo/jvmti/mtrace/TraceJFrame.java                              macosx-all
 javax/script/CauseExceptionTest.java                            macosx-all
@@ -197,9 +191,6 @@
 # 7079145 java/net/ipv6tests/UdpTest.java hang at IPv6 only data exchange
 java/net/ipv6tests/UdpTest.java                                 linux-all
 
-# 7081476
-java/net/InetSocketAddress/B6469803.java                        generic-all
-
 # 7102670
 java/net/InetAddress/CheckJNI.java                              linux-all
 
@@ -268,28 +259,15 @@
 
 # jdk_rmi
 
-# 7140992
-java/rmi/server/Unreferenced/finiteGCLatency/FiniteGCLatency.java generic-all
-
-# 6948101
-java/rmi/transport/pinLastArguments/PinLastArguments.java	generic-all
-
 # 7146541
 java/rmi/transport/rapidExportUnexport/RapidExportUnexport.java	linux-all
 
 # 7132247
 java/rmi/registry/readTest/readTest.sh				windows-all
-
-# 7142596
-java/rmi/transport/pinClientSocketFactory/PinClientSocketFactory.java generic-all
-
 ############################################################################
 
 # jdk_security
 
-# 7177556
-com/sun/crypto/provider/KeyFactory/TestProviderLeak.java        generic-all
-
 # 7147060
 com/sun/org/apache/xml/internal/security/transforms/ClassLoaderTest.java	generic-all
 
@@ -406,8 +384,4 @@
 # 7041639, Solaris DSA keypair generation bug
 java/util/TimeZone/TimeZoneDatePermissionCheck.sh               solaris-all
 
-# 7150557
-java/util/prefs/RemoveReadOnlyNode.java                         macosx-all
-java/util/prefs/RemoveUnregedListener.java                      macosx-all
-
 ############################################################################
--- a/test/TEST.ROOT	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/TEST.ROOT	Wed Aug 01 11:08:11 2012 -0400
@@ -9,4 +9,4 @@
 othervm.dirs=java/rmi sun/rmi javax/management
 
 # Tests that cannot run concurrently
-exclusiveAccess.dirs=java/rmi sun/rmi sun/management/jmxremote sun/tools/jstatd
+exclusiveAccess.dirs=java/rmi/Naming sun/management/jmxremote sun/tools/jstatd
--- a/test/com/sun/crypto/provider/KeyFactory/TestProviderLeak.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/com/sun/crypto/provider/KeyFactory/TestProviderLeak.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -28,50 +28,111 @@
  *     LoginContext
  * @author Brad Wetmore
  *
- * @run main/othervm -Xmx2m -XX:OldSize=1m -XX:NewSize=512k TestProviderLeak
+ * @run main/othervm -Xmx20m TestProviderLeak
  *
- * The original test invocation is below, but had to use the above
- * workaround for bug 6923123.
- *
- * run main/othervm -Xmx2m TestProviderLeak
  */
 
 /*
- * We force the leak to become a problem by specifying the minimum
- * size heap we can (above).  In current runs on a server and client
- * machine, it took roughly 220-240 iterations to have the memory leak
- * shut down other operations.  It complained about "Unable to verify
- * the SunJCE provider."
+ * We force the leak to become a problem by eating up most JVM free memory.
+ * In current runs on a server and client machine, it took roughly 50-150
+ * iterations to have the memory leak or time-out shut down other operations.
+ * It complained about "JCE cannot authenticate the provider SunJCE" or timed
+ * out.
  */
 
 import javax.crypto.*;
 import javax.crypto.spec.*;
 
+import java.util.*;
+import java.util.concurrent.*;
+
 public class TestProviderLeak {
+    private static final int MB = 1024 * 1024;
+    // Currently, 3MB heap size is reserved for running testing iterations.
+    // It is tweaked to make sure the test quickly triggers the memory leak
+    // or throws out TimeoutException.
+    private static final int RESERVATION = 3;
+    // The maximum time, 5 seconds, to wait for each iteration.
+    private static final int TIME_OUT = 5;
+
+    private static Deque<byte []> eatupMemory() throws Exception {
+        dumpMemoryStats("Before memory allocation");
+
+        Deque<byte []> data = new ArrayDeque<byte []>();
+        boolean hasException = false;
+        while (!hasException) {
+            byte [] megaByte;
+            try {
+                megaByte = new byte [MB];
+                data.add(megaByte);
+            } catch (OutOfMemoryError e) {
+                System.out.println("OOME is thrown when allocating "
+                        + data.size() + "MB memory.");
+                megaByte = null;
+
+                for (int j = 0; j < RESERVATION && !data.isEmpty(); j++) {
+                    data.removeLast();
+                }
+                System.gc();
+                hasException = true;
+            }
+        }
+        dumpMemoryStats("After memory allocation");
+
+        return data;
+    }
+
     private static void dumpMemoryStats(String s) throws Exception {
         Runtime rt = Runtime.getRuntime();
-        System.out.println(s + ":\t" +
-            rt.freeMemory() + " bytes free");
+        System.out.println(s + ":\t"
+            + rt.freeMemory() + " bytes free");
     }
 
     public static void main(String [] args) throws Exception {
-        SecretKeyFactory skf =
+        // Eat up memory
+        Deque<byte []> dummyData = eatupMemory();
+        assert (dummyData != null);
+
+        // Prepare the test
+        final SecretKeyFactory skf =
             SecretKeyFactory.getInstance("PBKDF2WithHmacSHA1", "SunJCE");
-        PBEKeySpec pbeKS = new PBEKeySpec(
+        final PBEKeySpec pbeKS = new PBEKeySpec(
             "passPhrase".toCharArray(), new byte [] { 0 }, 5, 512);
-        for (int i = 0; i <= 1000; i++) {
-            try {
-                skf.generateSecret(pbeKS);
+
+        ExecutorService executor = Executors.newSingleThreadExecutor();
+        Callable<SecretKey> task = new Callable<SecretKey>() {
+            @Override
+            public SecretKey call() throws Exception {
+                return skf.generateSecret(pbeKS);
+            }
+        };
+
+        // Start testing iteration
+        try {
+            for (int i = 0; i <= 1000; i++) {
                 if ((i % 20) == 0) {
-                     // Calling gc() isn't dependable, but doesn't hurt.
-                     // Gives better output in leak cases.
+                    // Calling gc() isn't dependable, but doesn't hurt.
+                    // Gives better output in leak cases.
                     System.gc();
                     dumpMemoryStats("Iteration " + i);
                 }
-            } catch (Exception e) {
-                dumpMemoryStats("\nException seen at iteration " + i);
-                throw e;
+
+                Future<SecretKey> future = executor.submit(task);
+
+                try {
+                    future.get(TIME_OUT, TimeUnit.SECONDS);
+                } catch (Exception e) {
+                    dumpMemoryStats("\nException seen at iteration " + i);
+                    throw e;
+                }
             }
+        } finally {
+            // JTReg will time out after two minutes. Proactively release
+            // the memory to avoid JTReg time-out situation.
+            dummyData = null;
+            System.gc();
+            dumpMemoryStats("Memory dereference");
+            executor.shutdownNow();
         }
     }
 }
--- a/test/com/sun/jndi/ldap/InvalidLdapFilters.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/com/sun/jndi/ldap/InvalidLdapFilters.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -171,7 +171,21 @@
         // env.put(Context.SECURITY_CREDENTIALS,"root");
 
         // create initial context
-        DirContext context = new InitialDirContext(env);
+        DirContext context = null;
+        int i = 0;
+        while (true) {
+            try {
+                context = new InitialDirContext(env);
+                break;
+            } catch (NamingException ne) {
+                // may be a connection or read timeout, try again
+                // no more than 5 times
+                if (i++ > 5) {
+                    throw new Exception(
+                        "Maybe timeout during context initialization", ne);
+                }
+            }
+        }
 
         // searching
         SearchControls scs = new SearchControls();
--- a/test/com/sun/jndi/rmi/registry/RegistryContext/ContextWithNullProperties.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/com/sun/jndi/rmi/registry/RegistryContext/ContextWithNullProperties.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,26 +25,21 @@
  * @test
  * @bug 6676075
  * @summary RegistryContext (com.sun.jndi.url.rmi.rmiURLContext) coding problem
+ * @library ../../../../../../java/rmi/testlibrary
+ * @build TestLibrary
+ * @run main ContextWithNullProperties
  */
 
-import java.rmi.RemoteException;
-import java.rmi.registry.LocateRegistry;
-
-import com.sun.jndi.rmi.registry.*;
+import com.sun.jndi.rmi.registry.RegistryContext;
+import java.rmi.registry.Registry;
 
 public class ContextWithNullProperties {
-
     public static void main(String[] args) throws Exception {
-
-        // Create registry on port 1099 if one is not already running.
-        try {
-            LocateRegistry.createRegistry(1099);
-        } catch (RemoteException e) {
-        }
-
+        Registry registry = TestLibrary.createRegistryOnUnusedPort();
+        int registryPort = TestLibrary.getRegistryPort(registry);
         System.out.println("Connecting to the default Registry...");
         // Connect to the default Registry.
         // Pass null as the JNDI environment properties (see final argument)
-        RegistryContext ctx = new RegistryContext(null, -1, null);
+        RegistryContext ctx = new RegistryContext(null, registryPort, null);
     }
 }
--- a/test/com/sun/jndi/rmi/registry/RegistryContext/UnbindIdempotent.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/com/sun/jndi/rmi/registry/RegistryContext/UnbindIdempotent.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,26 +1,52 @@
+/*
+ * Copyright (c) 2007, 2012, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code 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
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
 /*
  * @test
  * @bug 4278121
  * @summary Ensure that calling unbind() on an unbound name returns
  *      successfully.
+ * @library ../../../../../../java/rmi/testlibrary
+ * @build TestLibrary
+ * @run main UnbindIdempotent
  */
 
-import javax.naming.*;
+import java.rmi.registry.Registry;
+import javax.naming.Context;
+import javax.naming.InitialContext;
+import javax.naming.NameNotFoundException;
+import javax.naming.NamingException;
 
 public class UnbindIdempotent {
 
     public static void main(String[] args) throws Exception {
+        Registry registry = TestLibrary.createRegistryOnUnusedPort();
+        int registryPort = TestLibrary.getRegistryPort(registry);
+        InitialContext ictx = new InitialContext();
+        Context rctx;
 
-        // Create registry on port 1099 if one is not already running.
         try {
-            java.rmi.registry.LocateRegistry.createRegistry(1099);
-        } catch (java.rmi.RemoteException e) {
-        }
-
-        Context ictx = new InitialContext();
-        Context rctx;
-        try {
-            rctx = (Context)ictx.lookup("rmi://localhost:1099");
+            rctx = (Context)ictx.lookup("rmi://localhost:" + Integer.toString(registryPort));
         } catch (NamingException e) {
             // Unable to set up for test.
             return;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/java/awt/FontMetrics/StyledSpaceAdvance.java	Wed Aug 01 11:08:11 2012 -0400
@@ -0,0 +1,64 @@
+/*
+ * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code 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
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 7183458
+ * @summary Verify advance of space is not overly widened by bold styling.
+ * @run main StyledSpaceAdvance
+ */
+import java.awt.Font;
+import java.awt.font.FontRenderContext;
+import java.awt.geom.Rectangle2D;
+import java.util.Locale;
+
+public class StyledSpaceAdvance {
+
+    static String name = "Gulim";
+
+    public static void main(String args[]) {
+         for (int sz=9;sz<18;sz++) {
+             test(sz);
+         }
+    }
+
+    static void test(int sz) {
+         Font reg = new Font(name, Font.PLAIN, sz);
+         Font bold = new Font(name, Font.BOLD, sz);
+         //System.out.println("reg="+reg);
+         //System.out.println("bold="+bold);
+         FontRenderContext frc = new FontRenderContext(null, false, false);
+         if (reg.getFontName(Locale.ENGLISH).equals(name) &&
+             bold.getFontName(Locale.ENGLISH).equals(name)) {
+             Rectangle2D rb = reg.getStringBounds(" ", frc);
+             Rectangle2D bb = bold.getStringBounds(" ", frc);
+             if (bb.getWidth() > rb.getWidth() + 1.01f) {
+                 System.err.println("reg="+reg+" bds = " + rb);
+                 System.err.println("bold="+bold+" bds = " + bb);
+                 throw new RuntimeException("Advance difference too great.");
+             }
+         } else {
+             System.out.println("Skipping test because fonts aren't as expected");
+         }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/java/awt/Frame/7024749/bug7024749.java	Wed Aug 01 11:08:11 2012 -0400
@@ -0,0 +1,59 @@
+/*
+ * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code 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
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 7024749
+ * @summary JDK7 b131---a crash in: Java_sun_awt_windows_ThemeReader_isGetThemeTransitionDurationDefined+0x75
+ * @library ../../../regtesthelpers
+ * @build Util
+ * @author Oleg Pekhovskiy: area=awt.toplevel
+   @run main bug7024749
+ */
+
+import java.awt.*;
+import test.java.awt.regtesthelpers.Util;
+
+public class bug7024749 {
+    public static void main(String[] args) {
+        final Frame f = new Frame("F");
+        f.setBounds(0,0,200,200);
+        f.setEnabled(false); // <- disable the top-level
+        f.setVisible(true);
+
+        Window w = new Window(f);
+        w.setBounds(300,300,300,300);
+        w.add(new TextField(20));
+        w.setVisible(true);
+
+        Robot robot = Util.createRobot();
+        robot.setAutoDelay(1000);
+        Util.waitForIdle(robot);
+        robot.delay(1000);
+        Util.clickOnTitle(f, robot);
+        Util.waitForIdle(robot);
+
+        f.dispose();
+        System.out.println("Test passed!");
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/java/awt/Frame/HideMaximized/HideMaximized.java	Wed Aug 01 11:08:11 2012 -0400
@@ -0,0 +1,70 @@
+/*
+ * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code 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
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+  @test
+  @bug 7177173
+  @summary The maximized state shouldn't be reset upon hiding a frame
+  @author anthony.petrov@oracle.com: area=awt.toplevel
+  @run main HideMaximized
+*/
+
+import java.awt.*;
+
+public class HideMaximized {
+    public static void main(String[] args) {
+        if (!Toolkit.getDefaultToolkit().isFrameStateSupported(Frame.MAXIMIZED_BOTH)) {
+            // Nothing to test
+            return;
+        }
+
+        // First test a decorated frame
+        Frame frame = new Frame("test");
+        test(frame);
+
+        // Now test an undecorated frames
+        frame = new Frame("undecorated test");
+        frame.setUndecorated(true);
+        test(frame);
+    }
+
+    private static void test(Frame frame) {
+        frame.setExtendedState(Frame.MAXIMIZED_BOTH);
+        frame.setVisible(true);
+
+        try { Thread.sleep(1000); } catch (Exception ex) {}
+
+        if (frame.getExtendedState() != Frame.MAXIMIZED_BOTH) {
+            throw new RuntimeException("The maximized state has not been applied");
+        }
+
+        // This will hide the frame, and also clean things up for safe exiting
+        frame.dispose();
+
+        try { Thread.sleep(1000); } catch (Exception ex) {}
+
+        if (frame.getExtendedState() != Frame.MAXIMIZED_BOTH) {
+            throw new RuntimeException("The maximized state has been reset");
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/java/io/File/MacPathTest.java	Wed Aug 01 11:08:11 2012 -0400
@@ -0,0 +1,166 @@
+/*
+ * Copyright (c) 2008, 2012, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code 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
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/* @test
+ * @bug 7130915
+ * @summary Tests file path with nfc/nfd forms on MacOSX
+ * @build MacPathTest
+ * @run shell MacPathTest.sh
+ */
+
+import java.io.*;
+import java.text.*;
+import java.util.*;
+
+public class MacPathTest {
+
+    public static void main(String args[]) throws Throwable {
+        String osname = System.getProperty("os.name");
+        if (!osname.contains("OS X") && !osname.contains("Darwin"))
+            return;
+
+        // English
+        test("TestDir_apple",                                    // test dir
+             "dir_macosx",                                       // dir
+             "file_macosx");                                     // file
+
+        // Japanese composite character
+        test("TestDir_\u30c8\u30a4\u30e4\u30cb\u30ca\u30eb/",
+             "dir_\u30a4\u30c1\u30b4\u306e\u30b1\u30fc\u30ad",
+             "file_\u30a4\u30c1\u30b4\u306e\u30b1\u30fc\u30ad");
+
+        // latin-1 supplementory
+        test("TestDir_K\u00f6rperlich\u00e4\u00df/",
+             "dir_Entt\u00e4uschung",
+             "file_Entt\u00e4uschung");
+
+        test("TestDir_K\u00f6rperlich\u00e4\u00df/",
+             "dir_Entt\u00c4uschung",
+             "file_Entt\u00c4uschung");
+
+        // Korean syblla
+        test("TestDir_\uac00\uac01\uac02",
+             "dir_\uac20\uac21\uac22",
+             "file_\uacc0\uacc1\uacc2");
+    }
+
+    private static void removeAll(File file) throws Throwable {
+        if (file.isDirectory()) {
+            for (File f : file.listFiles()) {
+                removeAll(f);
+            }
+        }
+        file.delete();
+    }
+
+    private static boolean equal(Object x, Object y) {
+        return x == null ? y == null : x.equals(y);
+    }
+
+    private static boolean match(File target, File src) {
+        if (target.equals(src)) {
+            String fname = target.toString();
+            System.out.printf("    ->matched   : [%s], length=%d%n", fname, fname.length());
+            return true;
+        }
+        return false;
+    }
+
+    private static void open_read(String what, File file) throws Throwable {
+        try (FileInputStream fis = new FileInputStream(file)) {
+           byte[] bytes = new byte[10];
+           fis.read(bytes);
+           System.out.printf("    %s:%s%n", what, new String(bytes));
+        }
+    }
+
+    private static void test(String testdir, String dname, String fname_nfc)
+        throws Throwable
+    {
+        String fname = null;
+        String dname_nfd = Normalizer.normalize(dname, Normalizer.Form.NFD);
+        String fname_nfd = Normalizer.normalize(fname_nfc, Normalizer.Form.NFD);
+
+        System.out.printf("%n%n--------Testing...----------%n");
+        File base = new File(testdir);
+        File dir  = new File(base, dname);
+        File dir_nfd =  new File(base, dname_nfd);
+        File file_nfc = new File(base, fname_nfc);
+        File file_nfd = new File(base, fname_nfd);
+
+        System.out.printf("base           :[%s][len=%d]%n", testdir, testdir.length());
+        System.out.printf("dir            :[%s][len=%d]%n", dname, dname.length());
+        System.out.printf("fname_nfc      :[%s][len=%d]%n", fname_nfc, fname_nfc.length());
+        System.out.printf("fname_nfd      :[%s][len=%d]%n", fname_nfd, fname_nfd.length());
+
+        fname = file_nfc.toString();
+        System.out.printf("file_nfc ->[%s][len=%d]%n", fname, fname.length());
+        fname = file_nfd.toString();
+        System.out.printf("file_nfd ->[%s][len=%d]%n%n", fname, fname.length());
+
+        removeAll(base);
+        dir.mkdirs();
+
+        fname = dir.toString();
+        System.out.printf(":Directory [%s][len=%d] created%n", fname, fname.length());
+
+        //////////////////////////////////////////////////////////////
+        if (!dir.isDirectory() || !dir_nfd.isDirectory()) {
+            throw new RuntimeException("File.isDirectory() failed");
+        }
+
+        //////////////////////////////////////////////////////////////
+        // write to via nfd
+        try (FileOutputStream fos = new FileOutputStream(file_nfd)) {
+           fos.write('n'); fos.write('f'); fos.write('d');
+        }
+        open_read("read in with nfc (from nfd)", file_nfc);
+        file_nfd.delete();
+
+        //////////////////////////////////////////////////////////////
+        // write to with nfc
+        try (FileOutputStream fos = new FileOutputStream(file_nfc)) {
+           fos.write('n'); fos.write('f'); fos.write('c');
+        }
+        open_read("read in with nfd      (from nfc)", file_nfd);
+        //file_nfc.delete();
+
+        //////////////////////////////////////////////////////////////
+        boolean found_dir = false;
+        boolean found_file_nfc = false;
+        boolean found_file_nfd = false;
+
+        for (File f : base.listFiles()) {
+            fname = f.toString();
+            System.out.printf("Found   : [%s], length=%d%n", fname, fname.length());
+            found_dir      |= match(dir, f);
+            found_file_nfc |= match(file_nfc, f);
+            found_file_nfd |= match(file_nfd, f);
+        }
+
+        if (!found_dir || !found_file_nfc || !found_file_nfc) {
+            throw new RuntimeException("File.equal() failed");
+        }
+        removeAll(base);
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/java/io/File/MacPathTest.sh	Wed Aug 01 11:08:11 2012 -0400
@@ -0,0 +1,39 @@
+#! /bin/sh
+
+#
+# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# This code is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License version 2 only, as
+# published by the Free Software Foundation.
+#
+# This code 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
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+# or visit www.oracle.com if you need additional information or have any
+# questions.
+#
+#
+OS=`uname -s`
+case "$OS" in
+  Darwin ) ;;
+  * )
+    exit 0
+    ;;
+esac
+
+if [ "x$TESTJAVA" = x ]; then
+  TESTJAVA=$1; shift
+  TESTCLASSES=.
+fi
+
+export LC_ALL=en_US.UTF-8 ;${TESTJAVA}/bin/java -cp ${TESTCLASSES} MacPathTest
--- a/test/java/lang/annotation/loaderLeak/Main.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/lang/annotation/loaderLeak/Main.java	Wed Aug 01 11:08:11 2012 -0400
@@ -57,9 +57,17 @@
         System.gc();
         System.gc();
         loader = null;
-        System.gc();
-        System.gc();
-        if (c.get() != null) throw new AssertionError();
+
+        // Might require multiple calls to System.gc() for weak-references
+        // processing to be complete. If the weak-reference is not cleared as
+        // expected we will hang here until timed out by the test harness.
+        while (true) {
+            System.gc();
+            Thread.sleep(20);
+            if (c.get() == null) {
+                break;
+            }
+        }
     }
 }
 
--- a/test/java/net/CookieHandler/TestHttpCookie.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/net/CookieHandler/TestHttpCookie.java	Wed Aug 01 11:08:11 2012 -0400
@@ -243,10 +243,6 @@
         test("set-cookie2: Customer = \"WILE_E_COYOTE\"; Version = \"1\"; Path = \"/acme\"")
         .n("Customer").v("WILE_E_COYOTE").ver(1).p("/acme");
 
-        // $NAME is reserved; result should be null
-        test("set-cookie2: $Customer = \"WILE_E_COYOTE\"; Version = \"1\"; Path = \"/acme\"")
-        .nil();
-
         // a 'full' cookie
         test("set-cookie2: Customer=\"WILE_E_COYOTE\"" +
                 ";Version=\"1\"" +
--- a/test/java/net/DatagramPacket/ReuseBuf.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/net/DatagramPacket/ReuseBuf.java	Wed Aug 01 11:08:11 2012 -0400
@@ -29,7 +29,6 @@
  * @summary DatagramPacket spec needs clarification (reuse buf)
  */
 import java.net.*;
-import java.io.*;
 
 public class ReuseBuf {
     static String msgs[] = {"Hello World", "Java", "Good Bye"};
@@ -74,7 +73,7 @@
         DatagramPacket dp = new DatagramPacket(b,b.length);
         for (int i = 0; i < msgs.length; i++) {
             ds.send(new DatagramPacket(msgs[i].getBytes(),msgs[i].length(),
-                                       InetAddress.getByName("LocalHost"),
+                                       InetAddress.getLocalHost(),
                                        port));
             ds.receive(dp);
             if (!msgs[i].equals(new String(dp.getData(), dp.getOffset(), dp.getLength()))) {
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/java/net/HttpCookie/IllegalCookieNameTest.java	Wed Aug 01 11:08:11 2012 -0400
@@ -0,0 +1,74 @@
+/*
+ * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code 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
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/* @test
+ * @bug 7183292
+ */
+import java.net.*;
+import java.util.*;
+import java.io.*;
+import com.sun.net.httpserver.*;
+
+public class IllegalCookieNameTest {
+    public static void main(String[] args) throws IOException {
+        HttpServer s = null;
+        try {
+            InetSocketAddress addr = new InetSocketAddress(0);
+            s = HttpServer.create(addr, 10);
+            s.createContext("/", new HHandler());
+            s.start();
+            String u = "http://127.0.0.1:" + s.getAddress().getPort() + "/";
+            CookieHandler.setDefault(new TestCookieHandler());
+            URL url = new URL(u);
+            HttpURLConnection c = (HttpURLConnection) url.openConnection();
+            c.getHeaderFields();
+            System.out.println ("OK");
+        } finally {
+            s.stop(1);
+        }
+    }
+}
+
+class TestCookieHandler extends CookieHandler {
+    @Override
+    public Map<String, List<String>> get(URI uri, Map<String, List<String>> requestHeaders) {
+        return new HashMap<String, List<String>>();
+    }
+
+    @Override
+    public void put(URI uri, Map<String, List<String>> responseHeaders) {
+    }
+}
+
+class HHandler implements  HttpHandler {
+    public void handle (HttpExchange e) {
+        try {
+            Headers h = e.getResponseHeaders();
+            h.set ("Set-Cookie", "domain=; expires=Mon, 01-Jan-1990 00:00:00 GMT; path=/; domain=.foo.com");
+            e.sendResponseHeaders(200, -1);
+            e.close();
+        } catch (Exception ex) {
+            System.out.println (ex);
+        }
+    }
+}
--- a/test/java/nio/channels/AsynchronousSocketChannel/Leaky.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/nio/channels/AsynchronousSocketChannel/Leaky.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,9 +22,9 @@
  */
 
 /* @test
- * @bug 4607272 6999915
+ * @bug 4607272 6999915 7185340
  * @summary Unit test for AsynchronousSocketChannel
- * @run main/othervm -XX:+DisableExplicitGC -XX:MaxDirectMemorySize=64m Leaky
+ * @run main/othervm -XX:+DisableExplicitGC -XX:MaxDirectMemorySize=75m Leaky
  */
 
 import java.nio.ByteBuffer;
--- a/test/java/nio/channels/DatagramChannel/MulticastSendReceiveTests.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/nio/channels/DatagramChannel/MulticastSendReceiveTests.java	Wed Aug 01 11:08:11 2012 -0400
@@ -22,10 +22,11 @@
  */
 
 /* @test
- * @bug 4527345 7026376
+ * @bug 4527345 7026376 6633549
  * @summary Unit test for DatagramChannel's multicast support
  * @build MulticastSendReceiveTests NetworkConfiguration
  * @run main MulticastSendReceiveTests
+ * @run main/othervm -Djava.net.preferIPv4Stack=true MulticastSendReceiveTests
  */
 
 import java.nio.ByteBuffer;
@@ -186,6 +187,10 @@
                 id = sendDatagram(source, nif, group, port);
                 receiveDatagram(dc, source, id);
             } catch (UnsupportedOperationException x) {
+                String os = System.getProperty("os.name");
+                // Exclude-mode filtering supported on these platforms so UOE should never be thrown
+                if (os.equals("SunOS") || os.equals("Linux"))
+                    throw x;
                 System.out.println("Exclude-mode filtering not supported!");
             }
 
@@ -212,6 +217,10 @@
                 id = sendDatagram(source, nif, group, port);
                 receiveDatagram(dc, source, id);
             } catch (UnsupportedOperationException x) {
+                String os = System.getProperty("os.name");
+                // Include-mode filtering supported on these platforms so UOE should never be thrown
+                if (os.equals("SunOS") || os.equals("Linux"))
+                    throw x;
                 System.out.println("Include-mode filtering not supported!");
             }
         }
--- a/test/java/nio/charset/Charset/NIOCharsetAvailabilityTest.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/nio/charset/Charset/NIOCharsetAvailabilityTest.java	Wed Aug 01 11:08:11 2012 -0400
@@ -68,6 +68,11 @@
         charsets.remove(Class.forName("sun.nio.cs.ext.ISO2022"));
         charsets.remove(Class.forName("sun.nio.cs.ext.ISO2022_CN_GB"));
         charsets.remove(Class.forName("sun.nio.cs.ext.ISO2022_CN_CNS"));
+        charsets.remove(Class.forName("sun.nio.cs.ext.JIS_X_0208_Solaris"));
+        charsets.remove(Class.forName("sun.nio.cs.ext.JIS_X_0208_MS932"));
+        charsets.remove(Class.forName("sun.nio.cs.ext.JIS_X_0212_MS5022X"));
+        charsets.remove(Class.forName("sun.nio.cs.ext.JIS_X_0212_Solaris"));
+        charsets.remove(Class.forName("sun.nio.cs.ext.JIS_X_0208_MS5022X"));
 
         // report the charsets that are implemented but not available
         iter = charsets.iterator();
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/java/nio/file/Path/MacPathTest.java	Wed Aug 01 11:08:11 2012 -0400
@@ -0,0 +1,177 @@
+/*
+ * Copyright (c) 2008, 2012, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code 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
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/* @test
+ * @bug 7130915
+ * @summary Tests file path with nfc/nfd forms on MacOSX
+ * @library ../
+ * @build MacPathTest
+ * @run shell MacPathTest.sh
+ */
+
+import java.nio.file.*;
+import java.nio.file.attribute.*;
+import java.text.*;
+import java.util.*;
+import java.util.regex.*;
+
+public class MacPathTest {
+
+    public static void main(String args[]) throws Throwable {
+        String osname = System.getProperty("os.name");
+        if (!osname.contains("OS X") && !osname.contains("Darwin"))
+            return;
+        System.out.printf("sun.jnu.encoding=%s, file.encoding=%s%n",
+                          System.getProperty("file.encoding"),
+                          System.getProperty("sun.jnu.encoding"));
+        // English
+        test("TestDir_apple",                                    // test dir
+             "dir_macosx",                                       // dir
+             "file_macosx");                                     // file
+
+        // Japanese composite character
+        test("TestDir_\u30c8\u30a4\u30e4\u30cb\u30ca\u30eb/",
+             "dir_\u30a4\u30c1\u30b4\u306e\u30b1\u30fc\u30ad",
+             "file_\u30a4\u30c1\u30b4\u306e\u30b1\u30fc\u30ad");
+
+        // latin-1 supplementory
+        test("TestDir_K\u00f6rperlich\u00e4\u00df/",
+             "dir_Entt\u00e4uschung",
+             "file_Entt\u00e4uschung");
+
+        test("TestDir_K\u00f6rperlich\u00e4\u00df/",
+             "dir_Entt\u00c4uschung",
+             "file_Entt\u00c4uschung");
+
+        // Korean syblla
+        test("TestDir_\uac00\uac01\uac02",
+             "dir_\uac20\uac21\uac22",
+             "file_\uacc0\uacc1\uacc2");
+    }
+
+    private static boolean equal(Object x, Object y) {
+        return x == null ? y == null : x.equals(y);
+    }
+
+    private static boolean match(Path target, Path src) {
+        String fname = target.toString();
+        System.out.printf("    --> Trying  [%s], length=%d...", fname, fname.length());
+        if (target.equals(src)) {
+            System.out.println(" MATCHED!");
+            return true;
+        } else {
+            System.out.println(" NOT MATCHED!");
+        }
+        return false;
+    }
+
+    private static void test(String testdir, String dname, String fname_nfc)
+        throws Throwable
+    {
+        String fname = null;
+        String dname_nfd = Normalizer.normalize(dname, Normalizer.Form.NFD);
+        String fname_nfd = Normalizer.normalize(fname_nfc, Normalizer.Form.NFD);
+
+        System.out.printf("%n%n--------Testing...----------%n");
+        Path bpath = Paths.get(testdir);
+        Path dpath = Paths.get(testdir, dname);
+        Path dpath_nfd = Paths.get(testdir, dname_nfd);
+        Path fpath_nfc = Paths.get(testdir, fname_nfc);
+        Path fpath_nfd = Paths.get(testdir, fname_nfd);
+
+        if (Files.exists(bpath))
+            TestUtil.removeAll(bpath);
+        Files.createDirectories(dpath);
+
+        fname = dpath.toString();
+        System.out.printf(":Directory [%s][len=%d] created%n", fname, fname.length());
+
+        //////////////////////////////////////////////////////////////
+        if (!Files.isDirectory(dpath) || !Files.isDirectory(dpath_nfd)) {
+            throw new RuntimeException("Files.isDirectory(...) failed");
+        }
+
+        //////////////////////////////////////////////////////////////
+        // write out with nfd, read in with nfc + case
+        Files.write(fpath_nfd, new byte[] { 'n', 'f', 'd'});
+        System.out.println("    read in with nfc      (from nfd):" + new String(Files.readAllBytes(fpath_nfc)));
+
+        // check attrs with nfc + case
+        Set<PosixFilePermission> pfp = Files.getPosixFilePermissions(fpath_nfd);
+        if (!equal(pfp, Files.getPosixFilePermissions(fpath_nfc)) ) {
+            throw new RuntimeException("Files.getPosixfilePermission(...) failed");
+        }
+        Files.delete(fpath_nfd);
+
+        // write out with nfc, read in with nfd + case
+        Files.write(fpath_nfc, new byte[] { 'n', 'f', 'c'});
+        System.out.println("    read in with nfd      (from nfc):" + new String(Files.readAllBytes(fpath_nfd)));
+
+        // check attrs with nfc + case
+        pfp = Files.getPosixFilePermissions(fpath_nfc);
+        if (!equal(pfp, Files.getPosixFilePermissions(fpath_nfd))) {
+            throw new RuntimeException("Files.getPosixfilePermission(...) failed");
+        }
+        //////////////////////////////////////////////////////////////
+        boolean found_dir = false;
+        boolean found_file_nfc = false;
+        boolean found_file_nfd = false;
+        try (DirectoryStream<Path> stream = Files.newDirectoryStream(bpath)) {
+            for (Path path: stream) {
+                fname = path.toString();
+                System.out.printf("Found   : [%s], length=%d%n", fname, fname.length());
+                found_dir      |= match(dpath, path);
+                found_file_nfc |= match(fpath_nfc, path);
+                found_file_nfd |= match(fpath_nfd, path);
+            }
+        }
+        if (!found_dir || !found_file_nfc || !found_file_nfd) {
+            throw new RuntimeException("File.equal() failed");
+        }
+        // glob
+        String glob = "*" + fname_nfd.substring(2);  // remove leading "FI" from "FILE..."
+        System.out.println("glob=" + glob);
+        boolean globmatched = false;
+        try (DirectoryStream<Path> stream = Files.newDirectoryStream(bpath, glob)) {
+            for (Path path: stream) {
+                fname = path.toString();
+                System.out.printf("PathMatch : [%s], length=%d%n", fname, fname.length());
+                globmatched |= match(fpath_nfc, path);
+            }
+        }
+        if (!globmatched) {
+            //throw new RuntimeException("path matcher failed");
+            // it appears we have a regex.anon_eq bug in hangul syllable handling
+            System.out.printf("pathmatcher failed, glob=[%s]%n", glob);
+            System.out.printf("    -> fname_nfd.matches(fname_nfc)=%b%n",
+                              Pattern.compile(fname_nfd, Pattern.CANON_EQ)
+                                     .matcher(fname_nfc)
+                                     .matches());
+            System.out.printf("    -> fname_nfc.matches(fname_nfd)=%b%n",
+                              Pattern.compile(fname_nfc, Pattern.CANON_EQ)
+                                     .matcher(fname_nfd)
+                                     .matches());
+        }
+        TestUtil.removeAll(bpath);
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/java/nio/file/Path/MacPathTest.sh	Wed Aug 01 11:08:11 2012 -0400
@@ -0,0 +1,39 @@
+#! /bin/sh
+
+#
+# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# This code is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License version 2 only, as
+# published by the Free Software Foundation.
+#
+# This code 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
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+# or visit www.oracle.com if you need additional information or have any
+# questions.
+#
+#
+OS=`uname -s`
+case "$OS" in
+  Darwin )  ;;
+  * )
+    exit 0
+    ;;
+esac
+
+if [ "x$TESTJAVA" = x ]; then
+  TESTJAVA=$1; shift
+  TESTCLASSES=.
+fi
+
+export LC_ALL=en_US.UTF-8; ${TESTJAVA}/bin/java -cp ${TESTCLASSES} MacPathTest
--- a/test/java/rmi/Naming/LookupNameWithColon.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/Naming/LookupNameWithColon.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,10 +25,13 @@
  * @bug 4387038
  * @summary Ensure that java.rmi.Naming.lookup functions properly for names
  *          containing embedded ':' characters.
+ *
+ * @library ../testlibrary
+ * @build TestLibrary
+ * @run main LookupNameWithColon
  */
 
 import java.rmi.Naming;
-import java.rmi.registry.LocateRegistry;
 import java.rmi.registry.Registry;
 
 public class LookupNameWithColon {
@@ -38,15 +41,12 @@
             "multiple:colons:in:name"
         };
 
-        Registry reg;
-        try {
-            reg = LocateRegistry.createRegistry(Registry.REGISTRY_PORT);
-        } catch (Exception ex) {
-            reg = LocateRegistry.getRegistry();
-        }
+        Registry reg = TestLibrary.createRegistryOnUnusedPort();
+        int port = TestLibrary.getRegistryPort(reg);
+
         for (int i = 0; i < names.length; i++) {
             reg.rebind(names[i], reg);
-            Naming.lookup("rmi://localhost/" + names[i]);
+            Naming.lookup("rmi://localhost:" + port + "/" + names[i]);
         }
     }
 }
--- a/test/java/rmi/Naming/RmiIsNoScheme.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/Naming/RmiIsNoScheme.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -39,9 +39,6 @@
 import java.rmi.registry.*;
 
 public class RmiIsNoScheme implements Remote, Serializable {
-
-    private static final int REGISTRY_PORT = 2002;
-
     private RmiIsNoScheme() {}
 
     public static void main(String[] args) {
@@ -49,10 +46,11 @@
         System.err.println("\nRegression test for bug 4626311\n");
 
         try {
-            LocateRegistry.createRegistry(REGISTRY_PORT);
-            Naming.rebind("//:" + REGISTRY_PORT + "/RmiIsNoScheme",
+            Registry registry = TestLibrary.createRegistryOnUnusedPort();
+            int registryPort = TestLibrary.getRegistryPort(registry);
+            Naming.rebind("//:" + registryPort + "/RmiIsNoScheme",
                           new RmiIsNoScheme());
-            String name = Naming.list("//:" + REGISTRY_PORT)[0];
+            String name = Naming.list("//:" + registryPort)[0];
             System.err.println("name = " + name);
             if (name.startsWith("rmi:", 0) == false) {
                 System.err.println("TEST PASSED: rmi scheme not present");
--- a/test/java/rmi/Naming/UnderscoreHost.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/Naming/UnderscoreHost.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,37 +1,37 @@
-/*
- * Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code 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
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
+ /*
+  * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
+  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+  *
+  * This code is free software; you can redistribute it and/or modify it
+  * under the terms of the GNU General Public License version 2 only, as
+  * published by the Free Software Foundation.
+  *
+  * This code 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
+  * version 2 for more details (a copy is included in the LICENSE file that
+  * accompanied this code).
+  *
+  * You should have received a copy of the GNU General Public License version
+  * 2 along with this work; if not, write to the Free Software Foundation,
+  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+  *
+  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+  * or visit www.oracle.com if you need additional information or have any
+  * questions.
+  */
 
-/*
- * @test
- * @bug 5083594
- * @summary Ensure that Naming.java correctly parses host names with '_' in
- * them.
- * @author Vinod Johnson
- *
- * @library ../testlibrary
- * @build TestLibrary
- * @build UnderscoreHost UnderscoreHost_Stub
- * @run main/othervm UnderscoreHost
+ /*
+  * @test
+  * @bug 5083594
+  * @summary Ensure that Naming.java correctly parses host names with '_' in
+  * them.
+  * @author Vinod Johnson
+  *
+  * @library ../testlibrary
+  * @build TestLibrary
+  * @build UnderscoreHost UnderscoreHost_Stub
+  * @run main/othervm UnderscoreHost
  */
 
 import java.io.IOException;
@@ -77,11 +77,12 @@
         try {
             HostVerifyingSocketFactory hvf = new HostVerifyingSocketFactory();
             RMISocketFactory.setSocketFactory(hvf);
-            Registry r = LocateRegistry.createRegistry(Registry.REGISTRY_PORT);
+            Registry r = TestLibrary.createRegistryOnUnusedPort();
+            int port = TestLibrary.getRegistryPort(r);
             t = new UnderscoreHost();
             r.rebind(NAME, t);
             Naming.lookup("rmi://" + HOSTNAME +
-                          ":" + Registry.REGISTRY_PORT + "/" + NAME);
+                          ":" + port + "/" + NAME);
             /*
              * This test is coded to pass whether java.net.URI obeys
              * RFC 2396 or RFC 3986 (see 5085902, 6394131, etc.).
--- a/test/java/rmi/Naming/legalRegistryNames/LegalRegistryNames.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/Naming/legalRegistryNames/LegalRegistryNames.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -45,7 +45,9 @@
 
 /**
  * Ensure that all legal forms of Naming URLs operate with the
- * java.rmi.Naming interface
+ * java.rmi.Naming interface.  This test requires using the default RMI Registry
+ * port as it tests all of the RMI naming URL's, including the ones which do not
+ * take a port (and therefore uses the default port).
  */
 public class LegalRegistryNames extends UnicastRemoteObject
     implements Legal
--- a/test/java/rmi/activation/Activatable/checkActivateRef/security.policy	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/activation/Activatable/checkActivateRef/security.policy	Wed Aug 01 11:08:11 2012 -0400
@@ -29,11 +29,12 @@
   permission java.util.PropertyPermission "java.security.policy", "read";
   permission java.util.PropertyPermission "java.security.manager", "read";
 
-  // used by TestLibrary to determine test environment 
+  // used by TestLibrary to determine test environment
   permission java.util.PropertyPermission "test.classes", "read";
   permission java.util.PropertyPermission "test.src", "read";
   permission java.util.PropertyPermission "user.dir", "read";
   permission java.util.PropertyPermission "java.home", "read";
+  permission java.util.PropertyPermission "java.rmi.activation.port", "write";
 
   // Needed to create an activation group
   permission java.lang.RuntimePermission "setFactory";
--- a/test/java/rmi/activation/Activatable/checkAnnotations/security.policy	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/activation/Activatable/checkAnnotations/security.policy	Wed Aug 01 11:08:11 2012 -0400
@@ -21,11 +21,12 @@
   permission java.util.PropertyPermission "java.security.policy", "read";
   permission java.util.PropertyPermission "java.security.manager", "read";
 
-  // used by TestLibrary to determine test environment 
+  // used by TestLibrary to determine test environment
   permission java.util.PropertyPermission "test.classes", "read";
   permission java.util.PropertyPermission "test.src", "read";
   permission java.util.PropertyPermission "user.dir", "read";
   permission java.util.PropertyPermission "java.home", "read";
+  permission java.util.PropertyPermission "java.rmi.activation.port", "write";
 
   // required for test to create an ActivationGroup
   permission java.lang.RuntimePermission "setFactory";
--- a/test/java/rmi/activation/Activatable/checkImplClassLoader/security.policy	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/activation/Activatable/checkImplClassLoader/security.policy	Wed Aug 01 11:08:11 2012 -0400
@@ -32,11 +32,12 @@
   permission java.util.PropertyPermission "java.security.policy", "read";
   permission java.util.PropertyPermission "java.security.manager", "read";
 
-  // used by TestLibrary to determine test environment 
+  // used by TestLibrary to determine test environment
   permission java.util.PropertyPermission "test.classes", "read";
   permission java.util.PropertyPermission "test.src", "read";
   permission java.util.PropertyPermission "user.dir", "read";
   permission java.util.PropertyPermission "java.home", "read";
+  permission java.util.PropertyPermission "java.rmi.activation.port", "write";
 
   // required for test to create an ActivationGroup
   permission java.lang.RuntimePermission "setFactory";
--- a/test/java/rmi/activation/Activatable/checkRegisterInLog/security.policy	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/activation/Activatable/checkRegisterInLog/security.policy	Wed Aug 01 11:08:11 2012 -0400
@@ -21,17 +21,18 @@
   permission java.util.PropertyPermission "java.security.policy", "read";
   permission java.util.PropertyPermission "java.security.manager", "read";
 
-  // used by TestLibrary to determine test environment 
+  // used by TestLibrary to determine test environment
   permission java.util.PropertyPermission "test.classes", "read";
   permission java.util.PropertyPermission "test.src", "read";
   permission java.util.PropertyPermission "user.dir", "read";
   permission java.util.PropertyPermission "java.home", "read";
+  permission java.util.PropertyPermission "java.rmi.activation.port", "write";
 
   // Needed to create an activation group
   permission java.lang.RuntimePermission "setFactory";
 
   // allow exporting of remote objects on an arbitrary port.
-  permission java.net.SocketPermission "*:1024-", "connect,accept";
+  permission java.net.SocketPermission "*:1024-", "connect,accept,listen";
 
   // allow exporting object with non-public remote interface
   permission java.rmi.RMIPermission "exportRemoteInterface.ActivateMe";
--- a/test/java/rmi/activation/Activatable/createPrivateActivable/security.policy	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/activation/Activatable/createPrivateActivable/security.policy	Wed Aug 01 11:08:11 2012 -0400
@@ -21,11 +21,12 @@
   permission java.util.PropertyPermission "java.security.policy", "read";
   permission java.util.PropertyPermission "java.security.manager", "read";
 
-  // used by TestLibrary to determine test environment 
+  // used by TestLibrary to determine test environment
   permission java.util.PropertyPermission "test.classes", "read";
   permission java.util.PropertyPermission "test.src", "read";
   permission java.util.PropertyPermission "user.dir", "read";
   permission java.util.PropertyPermission "java.home", "read";
+  permission java.util.PropertyPermission "java.rmi.activation.port", "write";
 
   // Needed to create an activation group
   permission java.lang.RuntimePermission "setFactory";
--- a/test/java/rmi/activation/Activatable/downloadParameterClass/security.policy	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/activation/Activatable/downloadParameterClass/security.policy	Wed Aug 01 11:08:11 2012 -0400
@@ -31,11 +31,12 @@
   permission java.util.PropertyPermission "java.security.policy", "read";
   permission java.util.PropertyPermission "java.security.manager", "read";
 
-  // used by TestLibrary to determine test environment 
+  // used by TestLibrary to determine test environment
   permission java.util.PropertyPermission "test.classes", "read";
   permission java.util.PropertyPermission "test.src", "read";
   permission java.util.PropertyPermission "user.dir", "read";
   permission java.util.PropertyPermission "java.home", "read";
+  permission java.util.PropertyPermission "java.rmi.activation.port", "write";
 
   // allow exporting of remote objects on an arbitrary port.
   permission java.net.SocketPermission "*:1024-", "connect,accept,listen";
--- a/test/java/rmi/activation/Activatable/elucidateNoSuchMethod/security.policy	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/activation/Activatable/elucidateNoSuchMethod/security.policy	Wed Aug 01 11:08:11 2012 -0400
@@ -30,11 +30,12 @@
   permission java.util.PropertyPermission "java.security.policy", "read";
   permission java.util.PropertyPermission "java.security.manager", "read";
 
-  // used by TestLibrary to determine test environment 
+  // used by TestLibrary to determine test environment
   permission java.util.PropertyPermission "test.classes", "read";
   permission java.util.PropertyPermission "test.src", "read";
   permission java.util.PropertyPermission "user.dir", "read";
   permission java.util.PropertyPermission "java.home", "read";
+  permission java.util.PropertyPermission "java.rmi.activation.port", "write";
 
   // Needed to create an activation group
   permission java.lang.RuntimePermission "setFactory";
--- a/test/java/rmi/activation/Activatable/extLoadedImpl/security.policy	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/activation/Activatable/extLoadedImpl/security.policy	Wed Aug 01 11:08:11 2012 -0400
@@ -17,11 +17,12 @@
   permission java.util.PropertyPermission "java.security.policy", "read";
   permission java.util.PropertyPermission "java.security.manager", "read";
 
-  // used by TestLibrary to determine test environment 
+  // used by TestLibrary to determine test environment
   permission java.util.PropertyPermission "test.classes", "read";
   permission java.util.PropertyPermission "test.src", "read";
   permission java.util.PropertyPermission "user.dir", "read";
   permission java.util.PropertyPermission "java.home", "read";
+  permission java.util.PropertyPermission "java.rmi.activation.port", "write";
 
   // allow exporting of remote objects on an arbitrary port.
   permission java.net.SocketPermission "*:1024-", "connect,accept,listen";
--- a/test/java/rmi/activation/Activatable/forceLogSnapshot/security.policy	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/activation/Activatable/forceLogSnapshot/security.policy	Wed Aug 01 11:08:11 2012 -0400
@@ -21,11 +21,12 @@
   permission java.util.PropertyPermission "java.security.policy", "read";
   permission java.util.PropertyPermission "java.security.manager", "read";
 
-  // used by TestLibrary to determine test environment 
+  // used by TestLibrary to determine test environment
   permission java.util.PropertyPermission "test.classes", "read";
   permission java.util.PropertyPermission "test.src", "read";
   permission java.util.PropertyPermission "user.dir", "read";
   permission java.util.PropertyPermission "java.home", "read";
+  permission java.util.PropertyPermission "java.rmi.activation.port", "write";
 
   // Needed to create an activation group
   permission java.lang.RuntimePermission "setFactory";
--- a/test/java/rmi/activation/Activatable/inactiveGroup/security.policy	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/activation/Activatable/inactiveGroup/security.policy	Wed Aug 01 11:08:11 2012 -0400
@@ -21,17 +21,18 @@
   permission java.util.PropertyPermission "java.security.policy", "read";
   permission java.util.PropertyPermission "java.security.manager", "read";
 
-  // used by TestLibrary to determine test environment 
+  // used by TestLibrary to determine test environment
   permission java.util.PropertyPermission "test.classes", "read";
   permission java.util.PropertyPermission "test.src", "read";
   permission java.util.PropertyPermission "user.dir", "read";
   permission java.util.PropertyPermission "java.home", "read";
+  permission java.util.PropertyPermission "java.rmi.activation.port", "write";
 
   // Needed to create an activation group
   permission java.lang.RuntimePermission "setFactory";
 
   // allow exporting of remote objects on an arbitrary port.
-  permission java.net.SocketPermission "*:1024-", "connect,accept";
+  permission java.net.SocketPermission "*:1024-", "connect,accept,listen";
 
   // allow exporting object with non-public remote interface
   permission java.rmi.RMIPermission "exportRemoteInterface.ActivateMe";
--- a/test/java/rmi/activation/Activatable/lookupActivationSystem/LookupActivationSystem.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/activation/Activatable/lookupActivationSystem/LookupActivationSystem.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -58,7 +58,7 @@
 
             System.err.println("look up activation system");
             Registry rmidRegistry =
-                LocateRegistry.getRegistry(ActivationSystem.SYSTEM_PORT);
+                LocateRegistry.getRegistry(rmid.getPort());
             ActivationSystem system = (ActivationSystem)
                 rmidRegistry.lookup(NAME);
 
--- a/test/java/rmi/activation/Activatable/nestedActivate/security.policy	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/activation/Activatable/nestedActivate/security.policy	Wed Aug 01 11:08:11 2012 -0400
@@ -21,17 +21,18 @@
   permission java.util.PropertyPermission "java.security.policy", "read";
   permission java.util.PropertyPermission "java.security.manager", "read";
 
-  // used by TestLibrary to determine test environment 
+  // used by TestLibrary to determine test environment
   permission java.util.PropertyPermission "test.classes", "read";
   permission java.util.PropertyPermission "test.src", "read";
   permission java.util.PropertyPermission "user.dir", "read";
   permission java.util.PropertyPermission "java.home", "read";
+  permission java.util.PropertyPermission "java.rmi.activation.port", "write";
 
   // Needed to create an activation group
   permission java.lang.RuntimePermission "setFactory";
 
   // allow exporting of remote objects on an arbitrary port.
-  permission java.net.SocketPermission "*:1024-", "connect,accept";
+  permission java.net.SocketPermission "*:1024-", "connect,accept,listen";
 
   // allow exporting of non-public remote interface
   permission java.rmi.RMIPermission "exportRemoteInterface.ActivateMe";
--- a/test/java/rmi/activation/Activatable/nonExistentActivatable/security.policy	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/activation/Activatable/nonExistentActivatable/security.policy	Wed Aug 01 11:08:11 2012 -0400
@@ -21,11 +21,12 @@
   permission java.util.PropertyPermission "java.security.policy", "read";
   permission java.util.PropertyPermission "java.security.manager", "read";
 
-  // used by TestLibrary to determine test environment 
+  // used by TestLibrary to determine test environment
   permission java.util.PropertyPermission "test.classes", "read";
   permission java.util.PropertyPermission "test.src", "read";
   permission java.util.PropertyPermission "user.dir", "read";
   permission java.util.PropertyPermission "java.home", "read";
+  permission java.util.PropertyPermission "java.rmi.activation.port", "write";
 
   // Needed to create an activation group
   permission java.lang.RuntimePermission "setFactory";
--- a/test/java/rmi/activation/Activatable/restartCrashedService/security.policy	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/activation/Activatable/restartCrashedService/security.policy	Wed Aug 01 11:08:11 2012 -0400
@@ -21,11 +21,12 @@
   permission java.util.PropertyPermission "java.security.policy", "read";
   permission java.util.PropertyPermission "java.security.manager", "read";
 
-  // used by TestLibrary to determine test environment 
+  // used by TestLibrary to determine test environment
   permission java.util.PropertyPermission "test.classes", "read";
   permission java.util.PropertyPermission "test.src", "read";
   permission java.util.PropertyPermission "user.dir", "read";
   permission java.util.PropertyPermission "java.home", "read";
+  permission java.util.PropertyPermission "java.rmi.activation.port", "write";
 
   // Needed to create an activation group
   permission java.lang.RuntimePermission "setFactory";
--- a/test/java/rmi/activation/Activatable/restartLatecomer/security.policy	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/activation/Activatable/restartLatecomer/security.policy	Wed Aug 01 11:08:11 2012 -0400
@@ -21,11 +21,12 @@
   permission java.util.PropertyPermission "java.security.policy", "read";
   permission java.util.PropertyPermission "java.security.manager", "read";
 
-  // used by TestLibrary to determine test environment 
+  // used by TestLibrary to determine test environment
   permission java.util.PropertyPermission "test.classes", "read";
   permission java.util.PropertyPermission "test.src", "read";
   permission java.util.PropertyPermission "user.dir", "read";
   permission java.util.PropertyPermission "java.home", "read";
+  permission java.util.PropertyPermission "java.rmi.activation.port", "write";
 
   // Used in remote impl of Activator.inactive; by the method
   // "restartThread.dispose()"when it calls thread.interrupt()
--- a/test/java/rmi/activation/Activatable/restartService/security.policy	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/activation/Activatable/restartService/security.policy	Wed Aug 01 11:08:11 2012 -0400
@@ -21,11 +21,12 @@
   permission java.util.PropertyPermission "java.security.policy", "read";
   permission java.util.PropertyPermission "java.security.manager", "read";
 
-  // used by TestLibrary to determine test environment 
+  // used by TestLibrary to determine test environment
   permission java.util.PropertyPermission "test.classes", "read";
   permission java.util.PropertyPermission "test.src", "read";
   permission java.util.PropertyPermission "user.dir", "read";
   permission java.util.PropertyPermission "java.home", "read";
+  permission java.util.PropertyPermission "java.rmi.activation.port", "write";
 
   // Used in remote impl of Activator.inactive; by the method
   // "restartThread.dispose()"when it calls thread.interrupt()
--- a/test/java/rmi/activation/Activatable/shutdownGracefully/security.policy	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/activation/Activatable/shutdownGracefully/security.policy	Wed Aug 01 11:08:11 2012 -0400
@@ -21,11 +21,12 @@
   permission java.util.PropertyPermission "java.security.policy", "read";
   permission java.util.PropertyPermission "java.security.manager", "read";
 
-  // used by TestLibrary to determine test environment 
+  // used by TestLibrary to determine test environment
   permission java.util.PropertyPermission "test.classes", "read";
   permission java.util.PropertyPermission "test.src", "read";
   permission java.util.PropertyPermission "user.dir", "read";
   permission java.util.PropertyPermission "java.home", "read";
+  permission java.util.PropertyPermission "java.rmi.activation.port", "write";
 
   // allow exporting of remote objects on an arbitrary port.
   permission java.net.SocketPermission "*:1024-", "connect,accept,listen";
--- a/test/java/rmi/activation/Activatable/unregisterInactive/security.policy	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/activation/Activatable/unregisterInactive/security.policy	Wed Aug 01 11:08:11 2012 -0400
@@ -21,11 +21,12 @@
   permission java.util.PropertyPermission "java.security.policy", "read";
   permission java.util.PropertyPermission "java.security.manager", "read";
 
-  // used by TestLibrary to determine test environment 
+  // used by TestLibrary to determine test environment
   permission java.util.PropertyPermission "test.classes", "read";
   permission java.util.PropertyPermission "test.src", "read";
   permission java.util.PropertyPermission "user.dir", "read";
   permission java.util.PropertyPermission "java.home", "read";
+  permission java.util.PropertyPermission "java.rmi.activation.port", "write";
 
   // Needed to create an activation group
   permission java.lang.RuntimePermission "setFactory";
--- a/test/java/rmi/activation/ActivateFailedException/activateFails/security.policy	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/activation/ActivateFailedException/activateFails/security.policy	Wed Aug 01 11:08:11 2012 -0400
@@ -21,11 +21,12 @@
   permission java.util.PropertyPermission "java.security.policy", "read";
   permission java.util.PropertyPermission "java.security.manager", "read";
 
-  // used by TestLibrary to determine test environment 
+  // used by TestLibrary to determine test environment
   permission java.util.PropertyPermission "test.classes", "read";
   permission java.util.PropertyPermission "test.src", "read";
   permission java.util.PropertyPermission "user.dir", "read";
   permission java.util.PropertyPermission "java.home", "read";
+  permission java.util.PropertyPermission "java.rmi.activation.port", "write";
 
   // required for test to create an ActivationGroup
   permission java.lang.RuntimePermission "setFactory";
--- a/test/java/rmi/activation/ActivationSystem/activeGroup/security.policy	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/activation/ActivationSystem/activeGroup/security.policy	Wed Aug 01 11:08:11 2012 -0400
@@ -15,11 +15,12 @@
   permission java.util.PropertyPermission "java.security.policy", "read";
   permission java.util.PropertyPermission "java.security.manager", "read";
 
-  // used by TestLibrary to determine test environment 
+  // used by TestLibrary to determine test environment
   permission java.util.PropertyPermission "test.classes", "read";
   permission java.util.PropertyPermission "test.src", "read";
   permission java.util.PropertyPermission "user.dir", "read";
   permission java.util.PropertyPermission "java.home", "read";
+  permission java.util.PropertyPermission "java.rmi.activation.port", "write";
 
   // test needs to export rmid and communicate with objects on arbitrary ports
   permission java.net.SocketPermission "*:1024-", "connect,accept,listen";
--- a/test/java/rmi/activation/ActivationSystem/modifyDescriptor/security.policy	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/activation/ActivationSystem/modifyDescriptor/security.policy	Wed Aug 01 11:08:11 2012 -0400
@@ -21,11 +21,12 @@
   permission java.util.PropertyPermission "java.security.policy", "read";
   permission java.util.PropertyPermission "java.security.manager", "read";
 
-  // used by TestLibrary to determine test environment 
+  // used by TestLibrary to determine test environment
   permission java.util.PropertyPermission "test.classes", "read";
   permission java.util.PropertyPermission "test.src", "read";
   permission java.util.PropertyPermission "user.dir", "read";
   permission java.util.PropertyPermission "java.home", "read";
+  permission java.util.PropertyPermission "java.rmi.activation.port", "write";
 
   // required for test to create an ActivationGroup
   permission java.lang.RuntimePermission "setFactory";
--- a/test/java/rmi/activation/ActivationSystem/stubClassesPermitted/StubClassesPermitted.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/activation/ActivationSystem/stubClassesPermitted/StubClassesPermitted.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -61,7 +61,7 @@
     extends Activatable implements Runnable, CanCreateStubs
 {
     public static boolean sameGroup = false;
-
+    private static int registryPort = -1;
     private static CanCreateStubs canCreateStubs = null;
     private static Registry registry = null;
 
@@ -76,8 +76,8 @@
         try {
             TestLibrary.suggestSecurityManager("java.lang.SecurityManager");
 
-            registry = java.rmi.registry.LocateRegistry.
-                createRegistry(TestLibrary.REGISTRY_PORT);
+            registry = TestLibrary.createRegistryOnUnusedPort();
+            registryPort = TestLibrary.getRegistryPort(registry);
 
             // must run with java.lang.SecurityManager or the test
             // result will be nullified if running with a build where
@@ -192,7 +192,7 @@
 
         // obtain reference to the test registry
         registry = java.rmi.registry.LocateRegistry.
-            getRegistry(TestLibrary.REGISTRY_PORT);
+            getRegistry(registryPort);
     }
 
     /**
--- a/test/java/rmi/activation/ActivationSystem/stubClassesPermitted/security.policy	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/activation/ActivationSystem/stubClassesPermitted/security.policy	Wed Aug 01 11:08:11 2012 -0400
@@ -21,15 +21,22 @@
   permission java.util.PropertyPermission "java.security.policy", "read";
   permission java.util.PropertyPermission "java.security.manager", "read";
 
-  // used by TestLibrary to determine test environment 
+  // used by TestLibrary to determine test environment
   permission java.util.PropertyPermission "test.classes", "read";
   permission java.util.PropertyPermission "test.src", "read";
   permission java.util.PropertyPermission "user.dir", "read";
   permission java.util.PropertyPermission "java.home", "read";
+  permission java.util.PropertyPermission "java.rmi.activation.port", "write";
 
   // required for test to create an ActivationGroup
   permission java.lang.RuntimePermission "setFactory";
 
+  // required for test to get the registry port
+  permission java.lang.RuntimePermission "accessClassInPackage.sun.rmi.registry";
+  permission java.lang.RuntimePermission "accessClassInPackage.sun.rmi.server";
+  permission java.lang.RuntimePermission "accessClassInPackage.sun.rmi.transport";
+  permission java.lang.RuntimePermission "accessClassInPackage.sun.rmi.transport.tcp";
+
   // test needs to export rmid and communicate with objects on arbitrary ports
   permission java.net.SocketPermission "*:1024-", "connect,accept,listen";
 };
--- a/test/java/rmi/activation/ActivationSystem/unregisterGroup/UnregisterGroup.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/activation/ActivationSystem/unregisterGroup/UnregisterGroup.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -45,36 +45,29 @@
 import java.util.Properties;
 
 class Callback extends UnicastRemoteObject implements CallbackInterface {
-
-  public static int num_deactivated = 0;
+    public int num_deactivated = 0;
 
-  public Callback() throws RemoteException { super(); }
-
-  public void inc() throws RemoteException {
-    incNumDeactivated();
-  }
+    public Callback() throws RemoteException { super(); }
 
-  public synchronized int getNumDeactivated() throws RemoteException {
-    return(num_deactivated);
-  }
+    public synchronized void inc() throws RemoteException {
+        num_deactivated++;
+    }
 
-  public synchronized void incNumDeactivated() {
-    num_deactivated++;
-  }
-
+    public synchronized int getNumDeactivated() throws RemoteException {
+        return num_deactivated;
+    }
 }
 
 public class UnregisterGroup
         extends Activatable
         implements ActivateMe, Runnable
 {
-
     private static Exception exception = null;
     private static String error = null;
     private static boolean done = false;
     private static ActivateMe lastResortExitObj = null;
     private static final int NUM_OBJECTS = 10;
-    private static int PORT = 2006;
+    private static int registryPort = -1;
 
     public UnregisterGroup(ActivationID id, MarshalledObject mobj)
         throws Exception
@@ -104,36 +97,47 @@
     }
 
     /**
-     * Thread to deactivate object. First attempts to make object
-     * inactive (via the inactive method).  If that fails (the
-     * object may still have pending/executing calls), then
-     * unexport the object forcibly.
+     * Thread to deactivate object. Get the callback object from the registry,
+     * call inc() on it, and finally call deactivate(). The call to
+     * deactivate() causes this JVM to be destroyed, so anything following
+     * might not be executed.
      */
     public void run() {
+        String regPortStr = System.getProperty("unregisterGroup.port");
+        int regPort = -1;
 
-        ActivationLibrary.deactivate(this, getID());
-        System.err.println("\tActivationLibrary.deactivate returned");
+        if (regPortStr != null) {
+            regPort = Integer.parseInt(regPortStr);
+        }
 
         try {
             CallbackInterface cobj =
-                (CallbackInterface)Naming.lookup("//:" + PORT + "/Callback");
+                (CallbackInterface)Naming.lookup("//:" + regPort + "/Callback");
             cobj.inc();
+            System.err.println("cobj.inc called and returned ok");
         } catch (Exception e) {
             System.err.println("cobj.inc exception");
             e.printStackTrace();
         }
 
+        ActivationLibrary.deactivate(this, getID());
+        System.err.println("\tActivationLibrary.deactivate returned");
     }
 
-    public static void main(String[] args) {
-
-        Registry registry;
-
+    public static void main(String[] args) throws RemoteException {
         System.err.println("\nRegression test for bug 4134233\n");
-
         TestLibrary.suggestSecurityManager("java.rmi.RMISecurityManager");
         RMID rmid = null;
 
+        // Create registry and export callback object so they're
+        // available to the objects that are activated below.
+        // TODO: see if we can use RMID's registry instead of
+        // creating one here.
+        Registry registry = TestLibrary.createRegistryOnUnusedPort();
+        registryPort = TestLibrary.getRegistryPort(registry);
+        Callback robj = new Callback();
+        registry.rebind("Callback", robj);
+
         try {
             RMID.removeLog();
             rmid = RMID.createRMID();
@@ -149,8 +153,7 @@
                   TestParams.defaultGroupPolicy);
             p.put("java.security.manager",
                   TestParams.defaultSecurityManager);
-
-            //final int NUM_OBJECTS = 10;
+            p.put("unregisterGroup.port", Integer.toString(registryPort));
 
             Thread t = new Thread() {
                 public void run () {
@@ -219,8 +222,6 @@
             } else {
                 System.err.println("Test passed");
             }
-
-
         } catch (Exception e) {
             TestLibrary.bomb("test failed", e);
         } finally {
@@ -233,12 +234,6 @@
 
             // Wait for the object deactivation to take place first
             try {
-
-                // create reg and export callback object
-                registry = LocateRegistry.createRegistry(PORT);
-                Callback robj = new Callback();
-                registry.bind("Callback", robj);
-
                 //get the callback object
                 int maxwait=30;
                 int nd = robj.getNumDeactivated();
--- a/test/java/rmi/activation/ActivationSystem/unregisterGroup/group.security.policy	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/activation/ActivationSystem/unregisterGroup/group.security.policy	Wed Aug 01 11:08:11 2012 -0400
@@ -7,4 +7,5 @@
 
   // test needs to communicate with the activation system
   permission java.net.SocketPermission "*:1024-", "connect,accept,listen";
+  permission java.util.PropertyPermission "unregisterGroup.port", "read";
 };
--- a/test/java/rmi/activation/ActivationSystem/unregisterGroup/rmid.security.policy	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/activation/ActivationSystem/unregisterGroup/rmid.security.policy	Wed Aug 01 11:08:11 2012 -0400
@@ -1,4 +1,5 @@
 grant {
     permission com.sun.rmi.rmid.ExecOptionPermission "-Djava.security.manager=default";
     permission com.sun.rmi.rmid.ExecOptionPermission "-Djava.security.policy=*";
+    permission com.sun.rmi.rmid.ExecOptionPermission "-DunregisterGroup.port=*";
 };
--- a/test/java/rmi/activation/ActivationSystem/unregisterGroup/security.policy	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/activation/ActivationSystem/unregisterGroup/security.policy	Wed Aug 01 11:08:11 2012 -0400
@@ -21,15 +21,22 @@
   permission java.util.PropertyPermission "java.security.policy", "read";
   permission java.util.PropertyPermission "java.security.manager", "read";
 
-  // used by TestLibrary to determine test environment 
+  // used by TestLibrary to determine test environment
   permission java.util.PropertyPermission "test.classes", "read";
   permission java.util.PropertyPermission "test.src", "read";
   permission java.util.PropertyPermission "user.dir", "read";
   permission java.util.PropertyPermission "java.home", "read";
+  permission java.util.PropertyPermission "java.rmi.activation.port", "write";
 
   // required for test to create an ActivationGroup
   permission java.lang.RuntimePermission "setFactory";
 
   // test needs to export rmid and communicate with objects on arbitrary ports
   permission java.net.SocketPermission "*:1024-", "connect,accept,listen";
+
+  // required for test to get the registry port
+  permission java.lang.RuntimePermission "accessClassInPackage.sun.rmi.registry";
+  permission java.lang.RuntimePermission "accessClassInPackage.sun.rmi.server";
+  permission java.lang.RuntimePermission "accessClassInPackage.sun.rmi.transport";
+  permission java.lang.RuntimePermission "accessClassInPackage.sun.rmi.transport.tcp";
 };
--- a/test/java/rmi/activation/CommandEnvironment/SetChildEnv.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/activation/CommandEnvironment/SetChildEnv.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2000, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -53,31 +53,37 @@
     public static void main(String argv[])
         throws Exception
     {
+        int runningPort = TestLibrary.getUnusedRandomPort();
+
         System.out.println("java.compiler=" + System.getProperty("java.compiler"));
         // don't embed spaces in any of the test args/props, because
         // they won't be parsed properly
-        runwith (new String[0], new String[0]);
+        runwith (new String[0], new String[0], runningPort);
 
         runwith (
             new String[] { "-verbosegc" },
             new String[] { "foo.bar=SetChildEnvTest",
-                           "sun.rmi.server.doSomething=true" }
+                           "sun.rmi.server.doSomething=true" },
+            runningPort
             );
 
         runwith (
             new String[] { },
-            new String[] { "parameter.count=zero" }
+            new String[] { "parameter.count=zero" },
+            runningPort
             );
 
         runwith (
             new String[] { "-Xmx32m" },
-            new String[] { }
+            new String[] { },
+            runningPort
             );
     }
 
     private static void runwith(
         String[] params,        // extra args
-        String[] props          // extra system properties
+        String[] props,         // extra system properties
+        int port                // port on which to communicate
     )
         throws Exception
     {
@@ -89,7 +95,8 @@
 
         RMID.removeLog();
         RMID rmid = RMID.createRMID(watcher.otherEnd(), watcher.otherEnd(),
-                                    true); // debugExec turned on
+                                    true,  // debugExec turned on
+                                    true, port);
 
         rmid.start();
 
@@ -195,7 +202,7 @@
         actsys.unregisterGroup(gid);
 
         Thread.sleep(5000);
-        rmid.destroy();
+        ActivationLibrary.rmidCleanup(rmid);
     }
 
     public static class DebugExecWatcher
@@ -243,7 +250,19 @@
                     System.err.println(line);
                 }
             } catch (IOException e) {
-                e.printStackTrace();
+                /* During termination of distant rmid, StreamPipes will be broken when
+                 * distant vm terminates. A "Pipe broken" exception is expected because
+                 * DebugExecWatcher points to the same streams as StreamPipes used by RMID.
+                 * If we get this exception. We just terminate the thread.
+                 */
+                if (e.getMessage().equals("Pipe broken")) {
+                    try {
+                        str.close();
+                    } catch (IOException ioe) {}
+                }
+                else {
+                    e.printStackTrace();
+                }
             }
         }
     }
--- a/test/java/rmi/activation/CommandEnvironment/security.policy	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/activation/CommandEnvironment/security.policy	Wed Aug 01 11:08:11 2012 -0400
@@ -27,6 +27,7 @@
   permission java.util.PropertyPermission "test.src", "read";
   permission java.util.PropertyPermission "user.dir", "read";
   permission java.util.PropertyPermission "java.home", "read";
+  permission java.util.PropertyPermission "java.rmi.activation.port", "write";
 
   // required for test to create an ActivationGroup
   permission java.lang.RuntimePermission "setFactory";
--- a/test/java/rmi/activation/rmidViaInheritedChannel/InheritedChannelNotServerSocket.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/activation/rmidViaInheritedChannel/InheritedChannelNotServerSocket.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -31,8 +31,7 @@
  * @library ../../testlibrary
  * @build RMID ActivationLibrary
  * @build InheritedChannelNotServerSocket
- * @run main/othervm/timeout=240 -Djava.rmi.activation.port=5398
- *     InheritedChannelNotServerSocket
+ * @run main/othervm/timeout=240 InheritedChannelNotServerSocket
  */
 
 import java.io.IOException;
@@ -55,8 +54,6 @@
 import java.rmi.server.UnicastRemoteObject;
 
 public class InheritedChannelNotServerSocket {
-
-    private static final int PORT = 5398;
     private static final Object lock = new Object();
     private static boolean notified = false;
 
@@ -79,7 +76,8 @@
 
     public static void main(String[] args) throws Exception {
         System.err.println("\nRegression test for bug 6261402\n");
-
+        System.setProperty("java.rmi.activation.port",
+                           Integer.toString(TestLibrary.INHERITEDCHANNELNOTSERVERSOCKET_ACTIVATION_PORT));
         RMID rmid = null;
         Callback obj = null;
         try {
@@ -91,7 +89,8 @@
             Callback proxy =
                 (Callback) UnicastRemoteObject.exportObject(obj, 0);
             Registry registry =
-                LocateRegistry.createRegistry(TestLibrary.REGISTRY_PORT);
+                LocateRegistry.createRegistry(
+                    TestLibrary.INHERITEDCHANNELNOTSERVERSOCKET_REGISTRY_PORT);
             registry.bind("Callback", proxy);
 
             /*
@@ -99,7 +98,8 @@
              */
             System.err.println("start rmid with inherited channel");
             RMID.removeLog();
-            rmid = RMID.createRMID(System.out, System.err, true, true, PORT);
+            rmid = RMID.createRMID(System.out, System.err, true, true,
+                                   TestLibrary.INHERITEDCHANNELNOTSERVERSOCKET_ACTIVATION_PORT);
             rmid.addOptions(new String[]{
                 "-Djava.nio.channels.spi.SelectorProvider=" +
                 "InheritedChannelNotServerSocket$SP"});
@@ -122,7 +122,7 @@
             if (obj != null) {
                 UnicastRemoteObject.unexportObject(obj, true);
             }
-            ActivationLibrary.rmidCleanup(rmid, PORT);
+            ActivationLibrary.rmidCleanup(rmid);
         }
     }
 
@@ -175,7 +175,7 @@
                 try {
                     System.err.println("notify test...");
                     Registry registry =
-                        LocateRegistry.getRegistry(TestLibrary.REGISTRY_PORT);
+                        LocateRegistry.getRegistry(TestLibrary.INHERITEDCHANNELNOTSERVERSOCKET_REGISTRY_PORT);
                     Callback obj = (Callback) registry.lookup("Callback");
                     obj.notifyTest();
                 } catch (NotBoundException nbe) {
--- a/test/java/rmi/activation/rmidViaInheritedChannel/RmidViaInheritedChannel.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/activation/rmidViaInheritedChannel/RmidViaInheritedChannel.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -29,7 +29,8 @@
  * @library ../../testlibrary
  * @build RMID ActivationLibrary
  * @build RmidViaInheritedChannel
- * @run main/othervm/timeout=240 -Djava.rmi.activation.port=5398 RmidViaInheritedChannel
+ * @build TestLibrary
+ * @run main/othervm/timeout=240 RmidViaInheritedChannel
  */
 
 import java.io.IOException;
@@ -48,8 +49,6 @@
 import java.rmi.server.UnicastRemoteObject;
 
 public class RmidViaInheritedChannel implements Callback {
-
-    private static final int PORT = 5398;
     private static final Object lock = new Object();
     private static boolean notified = false;
 
@@ -64,7 +63,8 @@
     }
 
     public static void main(String[] args) throws Exception {
-
+        System.setProperty("java.rmi.activation.port",
+                           Integer.toString(TestLibrary.RMIDVIAINHERITEDCHANNEL_ACTIVATION_PORT));
         RMID rmid = null;
         Callback obj = null;
 
@@ -77,7 +77,8 @@
             Callback proxy = (Callback)
                 UnicastRemoteObject.exportObject(obj, 0);
             Registry registry =
-                LocateRegistry.createRegistry(TestLibrary.REGISTRY_PORT);
+                LocateRegistry.createRegistry(
+                    TestLibrary.RMIDVIAINHERITEDCHANNEL_REGISTRY_PORT);
             registry.bind("Callback", proxy);
 
             /*
@@ -85,7 +86,8 @@
              */
             System.err.println("start rmid with inherited channel");
             RMID.removeLog();
-            rmid = RMID.createRMID(System.out, System.err, true, false, PORT);
+            rmid = RMID.createRMID(System.out, System.err, true, false,
+                                   TestLibrary.RMIDVIAINHERITEDCHANNEL_ACTIVATION_PORT);
             rmid.addOptions(new String[]{
                 "-Djava.nio.channels.spi.SelectorProvider=RmidViaInheritedChannel$RmidSelectorProvider"});
             rmid.start();
@@ -108,7 +110,7 @@
             if (obj != null) {
                 UnicastRemoteObject.unexportObject(obj, true);
             }
-            ActivationLibrary.rmidCleanup(rmid, PORT);
+            ActivationLibrary.rmidCleanup(rmid);
         }
     }
 
@@ -166,7 +168,8 @@
                 channel = ServerSocketChannel.open();
                 ServerSocket serverSocket = channel.socket();
                 serverSocket.bind(
-                     new InetSocketAddress(InetAddress.getLocalHost(), PORT));
+                     new InetSocketAddress(InetAddress.getLocalHost(),
+                     TestLibrary.RMIDVIAINHERITEDCHANNEL_ACTIVATION_PORT));
                 System.err.println("serverSocket = " + serverSocket);
 
                 /*
@@ -175,7 +178,7 @@
                 try {
                     System.err.println("notify test...");
                     Registry registry =
-                        LocateRegistry.getRegistry(TestLibrary.REGISTRY_PORT);
+                        LocateRegistry.getRegistry(TestLibrary.RMIDVIAINHERITEDCHANNEL_REGISTRY_PORT);
                     Callback obj = (Callback) registry.lookup("Callback");
                     obj.notifyTest();
                 } catch (NotBoundException nbe) {
--- a/test/java/rmi/activation/rmidViaInheritedChannel/rmid.security.policy	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/activation/rmidViaInheritedChannel/rmid.security.policy	Wed Aug 01 11:08:11 2012 -0400
@@ -2,4 +2,5 @@
     permission java.lang.RuntimePermission "selectorProvider";
     permission java.lang.RuntimePermission "accessClassInPackage.sun.nio.ch";
     permission java.net.SocketPermission "*", "connect,accept";
+    permission java.util.PropertyPermission "java.rmi.activation.port", "write";
 };
--- a/test/java/rmi/registry/altSecurityManager/AltSecurityManager.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/registry/altSecurityManager/AltSecurityManager.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -27,7 +27,7 @@
  * @author Laird Dornin
  *
  * @library ../../testlibrary
- * @build StreamPipe TestParams TestLibrary JavaVM
+ * @build StreamPipe TestParams TestLibrary JavaVM RMID
  * @build AltSecurityManager TestSecurityManager
  * @run main/othervm AltSecurityManager
  */
@@ -41,23 +41,41 @@
  * if registry and rmid take too long to exit.
  */
 public class AltSecurityManager implements Runnable {
-
+    private final int regPort;
     // variable to hold registry and rmid children
     static JavaVM vm = null;
 
     // names of utilities
     static String utilityToStart = null;
-    static String registry = "sun.rmi.registry.RegistryImpl";
-    static String rmid = "sun.rmi.server.Activation";
+    static final String REGISTRY_IMPL = "sun.rmi.registry.RegistryImpl";
+    static final String ACTIVATION = "sun.rmi.server.Activation";
 
     // children should exit in at least this time.
     static long TIME_OUT = 15000;
 
+    public AltSecurityManager(int port) {
+        if (port <= 0) {
+            TestLibrary.bomb("Port must be greater then 0.");
+        }
+
+        this.regPort = port;
+    }
+
     public void run() {
         try {
-            vm = new JavaVM(utilityToStart,
-                            " -Djava.security.manager=TestSecurityManager",
-                            "");
+            if (utilityToStart.equals(REGISTRY_IMPL)) {
+                vm = new JavaVM(utilityToStart,
+                        " -Djava.security.manager=TestSecurityManager",
+                        Integer.toString(regPort));
+            } else if (utilityToStart.contains(ACTIVATION)) {
+                vm = new JavaVM(utilityToStart,
+                        " -Djava.security.manager=TestSecurityManager",
+                        "-port " + Integer.toString(regPort));
+            } else {
+                TestLibrary.bomb("Utility to start must be " + REGISTRY_IMPL +
+                        " or " + ACTIVATION);
+            }
+
             System.err.println("starting " + utilityToStart);
             vm.start();
             vm.getVM().waitFor();
@@ -75,7 +93,8 @@
         utilityToStart = utility;
 
         try {
-            Thread thread = new Thread(new AltSecurityManager());
+            int port = TestLibrary.getUnusedRandomPort();
+            Thread thread = new Thread(new AltSecurityManager(port));
             System.err.println("expecting RuntimeException for " +
                                "checkListen in child process");
             long start = System.currentTimeMillis();
@@ -90,8 +109,8 @@
 
                 // dont pollute other tests; increase the likelihood
                 // that rmid will go away if it did not exit already.
-                if (utility.equals(rmid)) {
-                    RMID.shutdown();
+                if (utility.equals(ACTIVATION)) {
+                    RMID.shutdown(port);
                 }
 
                 TestLibrary.bomb(utilityToStart +
@@ -111,10 +130,10 @@
             System.err.println("\nRegression test for bug 4183202\n");
 
             // make sure the registry exits early.
-            ensureExit(registry);
+            ensureExit(REGISTRY_IMPL);
 
             // make sure rmid exits early
-            ensureExit(rmid);
+            ensureExit(ACTIVATION);
 
             System.err.println("test passed");
 
--- a/test/java/rmi/registry/classPathCodebase/ClassPathCodebase.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/registry/classPathCodebase/ClassPathCodebase.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -30,7 +30,7 @@
  * @author Peter Jones
  *
  * @library ../../testlibrary
- * @build ClassPathCodebase Dummy
+ * @build ClassPathCodebase Dummy TestLibrary
  * @run main/othervm/policy=security.policy ClassPathCodebase
  */
 
@@ -83,11 +83,12 @@
                 System.getProperty("java.home") + File.separator +
                 "bin" + File.separator + "rmiregistry";
 
+            int port = TestLibrary.getUnusedRandomPort();
             String cmdarray[] = new String[] {
                 rmiregistryCommand,
                 "-J-Denv.class.path=.",
                 "-J-Djava.rmi.server.codebase=" + exportCodebaseURL,
-                Integer.toString(TestLibrary.REGISTRY_PORT) };
+                Integer.toString(port) };
 
             System.err.println("\nCommand used to spawn rmiregistry process:");
             System.err.println("\t" + Arrays.asList(cmdarray).toString());
@@ -118,7 +119,7 @@
              * dummy object to it.
              */
             Registry registry = LocateRegistry.getRegistry(
-                "localhost", TestLibrary.REGISTRY_PORT);
+                "localhost", port);
 
             try {
                 registry.bind(dummyBinding, dummyObject);
@@ -133,7 +134,7 @@
                 {
                     System.err.println(
                         "Error: another registry running on port " +
-                        TestLibrary.REGISTRY_PORT + "?");
+                        port + "?");
                 }
                 throw e;
             }
--- a/test/java/rmi/registry/emptyName/EmptyName.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/registry/emptyName/EmptyName.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -24,6 +24,8 @@
 /* @test
  * @bug 4399304
  * @summary check that registry allows empty names
+ * @library ../../testlibrary
+ * @build TestLibrary
  * @run main/othervm EmptyName
  */
 import java.rmi.registry.LocateRegistry;
@@ -32,7 +34,7 @@
 
 public class EmptyName {
     public static void main(String[] args) throws Exception {
-        Registry impl = LocateRegistry.createRegistry(0);
+        Registry impl = TestLibrary.createRegistryOnUnusedPort();
         Registry stub = (Registry) RemoteObject.toStub(impl);
         stub.bind("", stub);
         stub.lookup("");
--- a/test/java/rmi/registry/interfaceHash/InterfaceHash.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/registry/interfaceHash/InterfaceHash.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -35,8 +35,10 @@
  * "interface hash": 4905912898345647071L.
  *
  * @author Peter Jones
+ * @library ../../testlibrary
  * @build InterfaceHash
  * @build ReferenceRegistryStub
+ * @build TestLibrary
  * @run main/othervm InterfaceHash
  */
 
@@ -58,7 +60,7 @@
 
 public class InterfaceHash {
 
-    private static final int PORT = 2020;
+    private static final int PORT = TestLibrary.getUnusedRandomPort();
     private static final String NAME = "WMM";
 
     public static void main(String[] args) throws Exception {
--- a/test/java/rmi/registry/multipleRegistries/MultipleRegistries.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/registry/multipleRegistries/MultipleRegistries.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,8 @@
  * @summary Can't run multiple registries in the same VM
  * @author Ann Wollrath
  *
+ * @library ../../testlibrary
+ * @build TestLibrary
  * @build MultipleRegistries
  * @run main/othervm/timeout=240 MultipleRegistries
  */
@@ -58,12 +60,13 @@
             System.err.println("proxy = " + proxy);
 
             System.err.println("export registries");
-            Registry registryImpl1 = LocateRegistry.createRegistry(2030);
-            Registry registryImpl2 = LocateRegistry.createRegistry(2040);
-
+            Registry registryImpl1 = TestLibrary.createRegistryOnUnusedPort();
+            int port1 = TestLibrary.getRegistryPort(registryImpl1);
+            Registry registryImpl2 = TestLibrary.createRegistryOnUnusedPort();
+            int port2 = TestLibrary.getRegistryPort(registryImpl2);
             System.err.println("bind remote object in registries");
-            Registry registry1 = LocateRegistry.getRegistry(2030);
-            Registry registry2 = LocateRegistry.getRegistry(2040);
+            Registry registry1 = LocateRegistry.getRegistry(port1);
+            Registry registry2 = LocateRegistry.getRegistry(port2);
 
             registry1.bind(NAME, proxy);
             registry2.bind(NAME, proxy);
--- a/test/java/rmi/registry/readTest/readTest.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/registry/readTest/readTest.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -29,18 +29,19 @@
 public class readTest {
 
     public static void main(String args[]) throws Exception {
-        int port = 7491;
         try {
             testPkg.Server obj = new testPkg.Server();
             testPkg.Hello stub = (testPkg.Hello) UnicastRemoteObject.exportObject(obj, 0);
             // Bind the remote object's stub in the registry
-            Registry registry = LocateRegistry.getRegistry(port);
+            Registry registry =
+                LocateRegistry.getRegistry(TestLibrary.READTEST_REGISTRY_PORT);
             registry.bind("Hello", stub);
 
             System.err.println("Server ready");
 
             // now, let's test client
-            testPkg.Client client = new testPkg.Client(port);
+            testPkg.Client client =
+                new testPkg.Client(TestLibrary.READTEST_REGISTRY_PORT);
             String testStubReturn = client.testStub();
             if(!testStubReturn.equals(obj.hello)) {
                 throw new RuntimeException("Test Fails : unexpected string from stub call");
--- a/test/java/rmi/registry/readTest/readTest.sh	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/registry/readTest/readTest.sh	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -23,6 +23,8 @@
 
 # @test
 # @bug 7102369 7094468 7100592
+# @library ../../testlibrary
+# @build TestLibrary
 # @summary remove java.rmi.server.codebase property parsing from registyimpl
 # @run shell readTest.sh
 
@@ -44,22 +46,24 @@
     ;;
 esac
 
+TEST_CLASSPATH=.:$TESTCLASSES
 cp -r ${TESTSRC}${FS}* .
 ${TESTJAVA}${FS}bin${FS}javac testPkg${FS}*java
-${TESTJAVA}${FS}bin${FS}javac readTest.java
+${TESTJAVA}${FS}bin${FS}javac -cp $TEST_CLASSPATH readTest.java
 
 mkdir rmi_tmp
 RMIREG_OUT=rmi.out
 #start rmiregistry without any local classes on classpath
 cd rmi_tmp
-${TESTJAVA}${FS}bin${FS}rmiregistry 7491 > ..${FS}${RMIREG_OUT} 2>&1 &
+# NOTE: This RMI Registry port must match TestLibrary.READTEST_REGISTRY_PORT
+${TESTJAVA}${FS}bin${FS}rmiregistry 64005 > ..${FS}${RMIREG_OUT} 2>&1 &
 RMIREG_PID=$!
 # allow some time to start
 sleep 3
 cd ..
 
 # trailing / after code base is important for rmi codebase property.
-${TESTJAVA}${FS}bin${FS}java -Djava.rmi.server.codebase=${FILEURL}`pwd`/ readTest > OUT.TXT 2>&1 &
+${TESTJAVA}${FS}bin${FS}java -cp $TEST_CLASSPATH -Djava.rmi.server.codebase=${FILEURL}`pwd`/ readTest > OUT.TXT 2>&1 &
 TEST_PID=$!
 #bulk of testcase - let it run for a while
 sleep 5
--- a/test/java/rmi/registry/reexport/Reexport.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/registry/reexport/Reexport.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -49,22 +49,21 @@
 import java.rmi.server.*;
 
 public class Reexport {
-    static public final int regport = TestLibrary.REGISTRY_PORT;
-
     static public void main(String[] argv) {
 
         Registry reg = null;
+        int regPort = TestLibrary.getUnusedRandomPort();
 
         try {
             System.err.println("\nregression test for 4120329\n");
 
             // establish the registry (we hope)
-            System.err.println("Starting registry on port " + regport);
-            Reexport.makeRegistry(regport);
+            System.err.println("Starting registry on port " + regPort);
+            Reexport.makeRegistry(regPort);
 
             // Get a handle to the registry
             System.err.println("Creating duplicate registry, this should fail...");
-            reg = createReg(true);
+            reg = createReg(true, regPort);
 
             if (reg != null) {
                 TestLibrary.bomb("failed was able to duplicate the registry?!?");
@@ -73,7 +72,7 @@
             // Kill the first registry.
             System.err.println("Bringing down the first registry");
             try {
-                Reexport.killRegistry();
+                Reexport.killRegistry(regPort);
             } catch (Exception foo) {
             }
 
@@ -81,7 +80,7 @@
             System.err.println("Trying again to start our own " +
                                "registry... this should work");
 
-            reg = createReg(false);
+            reg = createReg(false, regPort);
 
             if (reg == null) {
                 TestLibrary.bomb("Could not create registry on second try");
@@ -93,17 +92,17 @@
             TestLibrary.bomb(e);
         } finally {
             // dont leave the registry around to affect other tests.
-            killRegistry();
+            killRegistry(regPort);
 
             reg = null;
         }
     }
 
-    static Registry createReg(boolean remoteOk) {
+    static Registry createReg(boolean remoteOk, int port) {
         Registry reg = null;
 
         try {
-            reg = LocateRegistry.createRegistry(regport);
+            reg = LocateRegistry.createRegistry(port);
         } catch (Throwable e) {
             if (remoteOk) {
                 System.err.println("EXPECTING PORT IN USE EXCEPTION:");
@@ -140,10 +139,10 @@
     }
     private static Process subreg = null;
 
-    public static void killRegistry() {
+    public static void killRegistry(int port) {
         if (Reexport.subreg != null) {
 
-            RegistryRunner.requestExit();
+            RegistryRunner.requestExit(port);
 
             try {
                 Reexport.subreg.waitFor();
--- a/test/java/rmi/reliability/juicer/AppleUserImpl.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/reliability/juicer/AppleUserImpl.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -59,19 +59,21 @@
  * @build Apple AppleEvent AppleImpl AppleUserImpl
  * @build Orange OrangeEcho OrangeEchoImpl OrangeImpl
  * @build ApplicationServer
+ * @build TestLibrary
  *
  * @run main/othervm/policy=security.policy AppleUserImpl -seconds 30
  *
  * @author Peter Jones, Nigel Daley
  */
 
+import java.rmi.NoSuchObjectException;
 import java.rmi.RemoteException;
-import java.rmi.NoSuchObjectException;
-import java.rmi.server.UnicastRemoteObject;
 import java.rmi.registry.LocateRegistry;
+import java.rmi.registry.Registry;
+import java.rmi.server.UnicastRemoteObject;
 import java.util.Random;
+import java.util.logging.Level;
 import java.util.logging.Logger;
-import java.util.logging.Level;
 
 /**
  * The AppleUserImpl class implements the behavior of the remote
@@ -80,7 +82,7 @@
  * AppleUserThread is created for each apple.
  */
 public class AppleUserImpl extends UnicastRemoteObject implements AppleUser {
-
+    private static int registryPort = -1;
     private static final Logger logger =
         Logger.getLogger("reliability.appleuser");
     private static int threadNum = 0;
@@ -308,8 +310,10 @@
 
             synchronized (user) {
                 // create new registry and bind new AppleUserImpl in registry
-                LocateRegistry.createRegistry(2006);
-                LocateRegistry.getRegistry(2006).rebind("AppleUser",user);
+                Registry registry = TestLibrary.createRegistryOnUnusedPort();
+                registryPort = TestLibrary.getRegistryPort(registry);
+                LocateRegistry.getRegistry(registryPort).rebind("AppleUser",
+                                                                 user);
 
                 // start the other server if applicable
                 if (othervm) {
@@ -318,7 +322,9 @@
                         "started in separate process");
                 } else {
                     Class app = Class.forName("ApplicationServer");
-                    server = new Thread((Runnable) app.newInstance());
+                    java.lang.reflect.Constructor appConstructor =
+                            app.getDeclaredConstructor(new Class[] {Integer.TYPE});
+                    server = new Thread((Runnable) appConstructor.newInstance(registryPort));
                     logger.log(Level.INFO, "Starting application server " +
                         "in same process");
                     server.start();
--- a/test/java/rmi/reliability/juicer/ApplicationServer.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/reliability/juicer/ApplicationServer.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -38,18 +38,21 @@
     private static final int LOOKUP_ATTEMPTS = 5;
     private static final int DEFAULT_NUMAPPLES = 10;
     private static final String DEFAULT_REGISTRYHOST = "localhost";
+    private static final int DEFAULT_REGISTRYPORT = -1;
     private final int numApples;
     private final String registryHost;
+    private final int registryPort;
     private final Apple[] apples;
     private AppleUser user;
 
-    ApplicationServer() {
-        this(DEFAULT_NUMAPPLES, DEFAULT_REGISTRYHOST);
+    ApplicationServer(int registryPort) {
+        this(DEFAULT_NUMAPPLES, DEFAULT_REGISTRYHOST, registryPort);
     }
 
-    ApplicationServer(int numApples, String registryHost) {
+    ApplicationServer(int numApples, String registryHost, int registryPort) {
         this.numApples = numApples;
         this.registryHost = registryHost;
+        this.registryPort = registryPort;
         apples = new Apple[numApples];
     }
 
@@ -71,7 +74,7 @@
             for (i = 0; i < LOOKUP_ATTEMPTS; i++) {
                 try {
                     Registry registry = LocateRegistry.getRegistry(
-                        registryHost, 2006);
+                           registryHost, registryPort);
                     user = (AppleUser) registry.lookup("AppleUser");
                     user.startTest();
                     break; //successfully obtained AppleUser
@@ -120,16 +123,20 @@
     private static void usage() {
         System.err.println("Usage: ApplicationServer [-numApples <numApples>]");
         System.err.println("                         [-registryHost <host>]");
+        System.err.println("                         -registryPort <port>");
         System.err.println("  numApples  The number of apples (threads) to use.");
         System.err.println("             The default is 10 apples.");
         System.err.println("  host       The host running rmiregistry " +
                                          "which contains AppleUser.");
         System.err.println("             The default is \"localhost\".");
+        System.err.println("  port       The port the rmiregistry is running" +
+                                         "on.");
         System.err.println();
     }
 
     public static void main(String[] args) {
         int num = DEFAULT_NUMAPPLES;
+        int port = -1;
         String host = DEFAULT_REGISTRYHOST;
 
         // parse command line args
@@ -142,17 +149,25 @@
                 } else if (arg.equals("-registryHost")) {
                     i++;
                     host = args[i];
+                } else if (arg.equals("-registryPort")) {
+                    i++;
+                    port = Integer.parseInt(args[i]);
                 } else {
                     usage();
                 }
             }
+
+            if (port == -1) {
+                usage();
+                throw new RuntimeException("Port must be specified.");
+            }
         } catch (Throwable t) {
             usage();
             throw new RuntimeException("TEST FAILED: Bad argument");
         }
 
         // start the client server
-        Thread server = new Thread(new ApplicationServer(num,host));
+        Thread server = new Thread(new ApplicationServer(num,host,port));
         server.start();
         // main should exit once all exported remote objects are gc'd
     }
--- a/test/java/rmi/server/RMISocketFactory/useSocketFactory/activatable/EchoImpl.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/server/RMISocketFactory/useSocketFactory/activatable/EchoImpl.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -128,8 +128,9 @@
             ActivationGroup.createGroup(groupID, groupDesc, 0);
 
             EchoImpl impl = new EchoImpl(protocol);
-            System.out.println("EchoServer: binding in registry");
-            Naming.rebind("//:" + UseCustomSocketFactory.REGISTRY_PORT +
+            int registryPort = Integer.parseInt(System.getProperty("rmi.registry.port"));
+            System.out.println("EchoServer: binding in registry on port:" + registryPort);
+            Naming.rebind("//:" + registryPort +
                           "/EchoServer", impl);
             System.out.println("EchoServer ready.");
         } catch (Exception e) {
--- a/test/java/rmi/server/RMISocketFactory/useSocketFactory/activatable/UseCustomSocketFactory.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/server/RMISocketFactory/useSocketFactory/activatable/UseCustomSocketFactory.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -32,6 +32,7 @@
  * @build EchoImpl
  * @build EchoImpl_Stub
  * @build UseCustomSocketFactory
+ * @build TestLibrary
  * @run main/othervm/policy=security.policy/timeout=360 UseCustomSocketFactory
  */
 
@@ -42,8 +43,8 @@
 import java.rmi.registry.*;
 
 public class UseCustomSocketFactory {
+    static final int REGISTRY_PORT = TestLibrary.getUnusedRandomPort();
 
-    final static int REGISTRY_PORT = 2006;
     static String[] protocol = new String[] { "", "compress", "xor" };
 
     public static void main(String[] args) {
@@ -68,7 +69,7 @@
                     " -C-Djava.security.manager=java.rmi.RMISecurityManager "});
             rmid.start();
 
-            Echo[] echo = spawnAndTest();
+            Echo[] echo = spawnAndTest(rmid.getPort());
             reactivateAndTest(echo);
         } catch (IOException e) {
             TestLibrary.bomb("creating rmid", e);
@@ -78,17 +79,20 @@
         }
     }
 
-    private static Echo[] spawnAndTest() {
+    private static Echo[] spawnAndTest(int rmidPort) {
 
         System.err.println("\nCreate Test-->");
 
         Echo[] echo = new Echo[protocol.length];
 
         for (int i = 0; i < protocol.length; i++) {
-
             JavaVM serverVM = new JavaVM("EchoImpl",
                                          "-Djava.security.policy=" +
-                                         TestParams.defaultPolicy,
+                                         TestParams.defaultPolicy +
+                                         " -Drmi.registry.port=" +
+                                         REGISTRY_PORT +
+                                         " -Djava.rmi.activation.port=" +
+                                         rmidPort,
                                          protocol[i]);
 
             System.err.println("\nusing protocol: " +
--- a/test/java/rmi/server/RMISocketFactory/useSocketFactory/activatable/security.policy	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/server/RMISocketFactory/useSocketFactory/activatable/security.policy	Wed Aug 01 11:08:11 2012 -0400
@@ -30,6 +30,9 @@
   permission java.util.PropertyPermission "user.dir", "read";
   permission java.util.PropertyPermission "java.home", "read";
 
+  permission java.util.PropertyPermission "rmi.registry.port", "read";
+  permission java.util.PropertyPermission "java.rmi.activation.port", "write";
+
   // required for test to create an ActivationGroup
   permission java.lang.RuntimePermission "setFactory";
 
--- a/test/java/rmi/server/RMISocketFactory/useSocketFactory/registry/HelloImpl.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/server/RMISocketFactory/useSocketFactory/registry/HelloImpl.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -65,8 +65,9 @@
             if (args.length >= 1)
                 protocol = args[0];
 
+            int registryPort = Integer.parseInt(System.getProperty("rmi.registry.port"));
             registry = java.rmi.registry.LocateRegistry.
-                getRegistry("localhost", TestLibrary.REGISTRY_PORT,
+                getRegistry("localhost", registryPort,
                             new Compress.CompressRMIClientSocketFactory());
             UseCustomSocketFactory.checkStub(registry, "RMIClientSocket");
             hello = (Hello) registry.lookup("/HelloServer");
--- a/test/java/rmi/server/RMISocketFactory/useSocketFactory/registry/UseCustomSocketFactory.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/server/RMISocketFactory/useSocketFactory/registry/UseCustomSocketFactory.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -32,6 +32,7 @@
  * @build Hello
  * @build HelloImpl
  * @build HelloImpl_Stub
+ * @build TestLibrary
  * @build UseCustomSocketFactory
  * @build Compress
  * @run main/othervm/policy=security.policy/timeout=240 UseCustomSocketFactory
@@ -58,6 +59,7 @@
         System.out.println("\nRegression test for bug 4148850\n");
 
         TestLibrary.suggestSecurityManager("java.rmi.RMISecurityManager");
+        int registryPort = TestLibrary.getUnusedRandomPort();
 
         try {
             impl = new HelloImpl();
@@ -67,7 +69,7 @@
              * allow the rmiregistry to be secure.
              */
             registry = LocateRegistry.
-                createRegistry(TestLibrary.REGISTRY_PORT,
+                createRegistry(registryPort,
                                new Compress.CompressRMIClientSocketFactory(),
                                new Compress.CompressRMIServerSocketFactory());
             registry.rebind("/HelloServer", impl);
@@ -77,8 +79,12 @@
             TestLibrary.bomb("creating registry", e);
         }
 
-        JavaVM serverVM = new JavaVM("HelloImpl", "-Djava.security.policy=" +
-                                     TestParams.defaultPolicy, "");
+        JavaVM serverVM = new JavaVM("HelloImpl",
+                                     "-Djava.security.policy=" +
+                                     TestParams.defaultPolicy +
+                                     " -Drmi.registry.port=" +
+                                     registryPort,
+                                     "");
 
         try {
 
--- a/test/java/rmi/server/RMISocketFactory/useSocketFactory/registry/security.policy	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/server/RMISocketFactory/useSocketFactory/registry/security.policy	Wed Aug 01 11:08:11 2012 -0400
@@ -22,6 +22,8 @@
   permission java.util.PropertyPermission "user.dir", "read";
   permission java.util.PropertyPermission "java.home", "read";
 
+  permission java.util.PropertyPermission "rmi.registry.port", "read";	
+
   permission java.util.PropertyPermission "java.security.policy", "read";
   permission java.util.PropertyPermission "java.security.manager", "read";
 
--- a/test/java/rmi/server/RMISocketFactory/useSocketFactory/unicast/EchoImpl.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/server/RMISocketFactory/useSocketFactory/unicast/EchoImpl.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -64,8 +64,9 @@
 
             System.out.println("EchoServer: creating remote object");
             EchoImpl impl = new EchoImpl(protocol);
+            int registryPort = Integer.parseInt(System.getProperty("rmi.registry.port"));
             System.out.println("EchoServer: binding in registry");
-            Naming.rebind("//:" + TestLibrary.REGISTRY_PORT +
+            Naming.rebind("//:" + registryPort +
                           "/EchoServer", impl);
             System.out.println("EchoServer ready.");
         } catch (Exception e) {
--- a/test/java/rmi/server/RMISocketFactory/useSocketFactory/unicast/UseCustomSocketFactory.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/server/RMISocketFactory/useSocketFactory/unicast/UseCustomSocketFactory.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -46,6 +46,8 @@
 
     public static void main(String[] args) {
 
+        int registryPort = -1;
+
         String[] protocol = new String[] { "", "compress", "xor" };
 
         System.out.println("\nRegression test for bug 4127826\n");
@@ -53,7 +55,8 @@
         TestLibrary.suggestSecurityManager("java.rmi.RMISecurityManager");
 
         try {
-            LocateRegistry.createRegistry(TestLibrary.REGISTRY_PORT);
+            Registry registry = TestLibrary.createRegistryOnUnusedPort();
+            registryPort = TestLibrary.getRegistryPort(registry);
         } catch (Exception e) {
             TestLibrary.bomb("creating registry", e);
         }
@@ -65,7 +68,9 @@
 
             JavaVM serverVM = new JavaVM("EchoImpl",
                                          "-Djava.security.policy=" +
-                                         TestParams.defaultPolicy,
+                                         TestParams.defaultPolicy +
+                                         " -Drmi.registry.port=" +
+                                         registryPort,
                                          protocol[i]);
             System.err.println("\nusing protocol: " +
                                (protocol[i] == "" ? "none" : protocol[i]));
@@ -79,7 +84,7 @@
                 Echo obj = null;
                 do {
                     try {
-                        obj = (Echo) Naming.lookup("//:" + TestLibrary.REGISTRY_PORT +
+                        obj = (Echo) Naming.lookup("//:" + registryPort +
                                                    "/EchoServer");
                         break;
                     } catch (NotBoundException e) {
@@ -109,7 +114,7 @@
             } finally {
                 serverVM.destroy();
                 try {
-                    Naming.unbind("//:" + TestLibrary.REGISTRY_PORT +
+                    Naming.unbind("//:" + registryPort +
                                   "/EchoServer");
                 } catch (Exception e) {
                     TestLibrary.bomb("unbinding EchoServer", e);
--- a/test/java/rmi/server/RMISocketFactory/useSocketFactory/unicast/security.policy	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/server/RMISocketFactory/useSocketFactory/unicast/security.policy	Wed Aug 01 11:08:11 2012 -0400
@@ -22,9 +22,18 @@
   permission java.util.PropertyPermission "user.dir", "read";
   permission java.util.PropertyPermission "java.home", "read";
 
+  permission java.util.PropertyPermission "rmi.registry.port", "read";	
+
   permission java.util.PropertyPermission "java.security.policy", "read";
   permission java.util.PropertyPermission "java.security.manager", "read";
 
+  // used by TestLibrary to get the RMI Registry port
+  permission java.lang.RuntimePermission "accessClassInPackage.sun.rmi.registry";
+  permission java.lang.RuntimePermission "accessClassInPackage.sun.rmi.server";
+  permission java.lang.RuntimePermission "accessClassInPackage.sun.rmi.transport";
+  permission java.lang.RuntimePermission "accessClassInPackage.sun.rmi.transport.proxy";
+  permission java.lang.RuntimePermission "accessClassInPackage.sun.rmi.transport.tcp";
+
   // test needs to export rmid and communicate with objects on arbitrary ports
   permission java.net.SocketPermission "*:1024-", "connect,accept,listen";
 };
--- a/test/java/rmi/server/RemoteServer/AddrInUse.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/server/RemoteServer/AddrInUse.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,7 @@
  * @summary retryServerSocket should not retry on BindException
  * @author Ann Wollrath
  *
+ * @library ../../testlibrary
  * @build AddrInUse
  * @run main/othervm AddrInUse
  */
@@ -36,7 +37,7 @@
 
 public class AddrInUse implements Runnable {
 
-    private static final int PORT = 9999;
+    private static int port = -1;
     private static final long TIMEOUT = 10000;
 
     private boolean exportSucceeded = false;
@@ -49,7 +50,7 @@
          * has already been bound, and record the result.
          */
         try {
-            LocateRegistry.createRegistry(PORT);
+            LocateRegistry.createRegistry(port);
             synchronized (this) {
                 exportSucceeded = true;
                 notifyAll();
@@ -68,8 +69,9 @@
         /*
          * Bind a server socket to a port.
          */
-        System.err.println("create a ServerSocket on port " + PORT + "...");
-        ServerSocket server = new ServerSocket(PORT);
+        ServerSocket server = new ServerSocket(0);
+        port = server.getLocalPort();
+        System.err.println("Created a ServerSocket on port " + port + "...");
 
         /*
          * Start a thread that creates a registry on the same port,
--- a/test/java/rmi/server/UnicastRemoteObject/keepAliveDuringCall/KeepAliveDuringCall.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/server/UnicastRemoteObject/keepAliveDuringCall/KeepAliveDuringCall.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -82,15 +82,17 @@
             UnicastRemoteObject.exportObject(obj);
             System.err.println("exported shutdown monitor");
 
-            Registry localRegistry =
-                LocateRegistry.createRegistry(TestLibrary.REGISTRY_PORT);
+            Registry localRegistry = TestLibrary.createRegistryOnUnusedPort();
+            int registryPort = TestLibrary.getRegistryPort(localRegistry);
             System.err.println("created local registry");
 
             localRegistry.bind(BINDING, obj);
             System.err.println("bound shutdown monitor in local registry");
 
             System.err.println("starting remote ShutdownImpl VM...");
-            (new JavaVM("ShutdownImpl")).start();
+            (new JavaVM("ShutdownImpl",
+                        "-Drmi.registry.port=" +
+                        registryPort, "")).start();
 
             Shutdown s;
             synchronized (obj.lock) {
--- a/test/java/rmi/server/UnicastRemoteObject/keepAliveDuringCall/ShutdownImpl.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/server/UnicastRemoteObject/keepAliveDuringCall/ShutdownImpl.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -68,8 +68,9 @@
 
     public static void main(String[] args) {
         try {
+            int registryPort = Integer.parseInt(System.getProperty("rmi.registry.port"));
             Registry registry =
-                LocateRegistry.getRegistry("", TestLibrary.REGISTRY_PORT);
+                LocateRegistry.getRegistry("", registryPort);
             ShutdownMonitor monitor = (ShutdownMonitor)
                 registry.lookup(KeepAliveDuringCall.BINDING);
             System.err.println("(ShutdownImpl) retrieved shutdown monitor");
--- a/test/java/rmi/server/UnicastRemoteObject/unexportObject/UnexportLeak.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/server/UnicastRemoteObject/unexportObject/UnexportLeak.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -28,8 +28,10 @@
  *
  * @author Ann Wollrath
  *
+ * @library ../../../testlibrary
  * @build UnexportLeak
  * @build UnexportLeak_Stub
+ * @build TestLibrary
  * @build Ping
  * @run main/othervm UnexportLeak
  */
@@ -40,20 +42,18 @@
 import java.rmi.registry.*;
 
 public class UnexportLeak implements Ping {
-
-    private static int PORT = 2006;
-
     public void ping() {
     }
 
     public static void main(String[] args) {
         try {
             System.err.println("\nRegression test for bug 4331349\n");
-            LocateRegistry.createRegistry(PORT);
+            Registry registry = TestLibrary.createRegistryOnUnusedPort();
+            int registryPort = TestLibrary.getRegistryPort(registry);
             Remote obj = new UnexportLeak();
             WeakReference wr = new WeakReference(obj);
             UnicastRemoteObject.exportObject(obj);
-            LocateRegistry.getRegistry(PORT).rebind("UnexportLeak", obj);
+            LocateRegistry.getRegistry(registryPort).rebind("UnexportLeak", obj);
             UnicastRemoteObject.unexportObject(obj, true);
             obj = null;
             flushRefs();
--- a/test/java/rmi/server/Unreferenced/finiteGCLatency/FiniteGCLatency.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/server/Unreferenced/finiteGCLatency/FiniteGCLatency.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -37,6 +37,7 @@
  * @library ../../../testlibrary
  * @build FiniteGCLatency
  * @build FiniteGCLatency_Stub
+ * @build TestLibrary
  * @run main/othervm/timeout=120 FiniteGCLatency
  */
 
@@ -78,11 +79,11 @@
         try {
             UnicastRemoteObject.exportObject(obj);
             System.err.println("exported remote object");
-
-            LocateRegistry.createRegistry(TestLibrary.REGISTRY_PORT);
+            Registry registry1 = TestLibrary.createRegistryOnUnusedPort();
+            int port = TestLibrary.getRegistryPort(registry1);
             System.err.println("created registry");
 
-            Registry registry = LocateRegistry.getRegistry("", TestLibrary.REGISTRY_PORT);
+            Registry registry = LocateRegistry.getRegistry("", port);
             registry.bind(BINDING, obj);
             System.err.println("bound remote object in registry");
 
--- a/test/java/rmi/server/Unreferenced/leaseCheckInterval/LeaseCheckInterval.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/server/Unreferenced/leaseCheckInterval/LeaseCheckInterval.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -87,8 +87,9 @@
             UnicastRemoteObject.exportObject(obj);
             System.err.println("exported remote object");
 
+            int registryPort = TestLibrary.getUnusedRandomPort();
             Registry localRegistry =
-                LocateRegistry.createRegistry(TestLibrary.REGISTRY_PORT);
+                LocateRegistry.createRegistry(registryPort);
             System.err.println("created local registry");
 
             localRegistry.bind(BINDING, obj);
@@ -96,7 +97,8 @@
 
             synchronized (obj.lock) {
                 System.err.println("starting remote client VM...");
-                (new JavaVM("SelfTerminator")).start();
+                (new JavaVM("SelfTerminator", "-Drmi.registry.port=" +
+                            registryPort, "")).start();
 
                 System.err.println("waiting for unreferenced() callback...");
                 obj.lock.wait(TIMEOUT);
--- a/test/java/rmi/server/Unreferenced/leaseCheckInterval/SelfTerminator.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/server/Unreferenced/leaseCheckInterval/SelfTerminator.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -33,8 +33,10 @@
 
     public static void main(String[] args) {
         try {
+            int registryPort =
+                Integer.parseInt(System.getProperty("rmi.registry.port"));
             Registry registry =
-                LocateRegistry.getRegistry("", TestLibrary.REGISTRY_PORT);
+                LocateRegistry.getRegistry("", registryPort);
             Remote stub = registry.lookup(LeaseCheckInterval.BINDING);
             Runtime.getRuntime().halt(0);
         } catch (Exception e) {
--- a/test/java/rmi/server/Unreferenced/unreferencedContext/UnreferencedContext.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/server/Unreferenced/unreferencedContext/UnreferencedContext.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -41,6 +41,7 @@
  * @library ../../../testlibrary
  * @build UnreferencedContext
  * @build UnreferencedContext_Stub
+ * @build TestLibrary
  * @run main/othervm/timeout=120 UnreferencedContext
  */
 
@@ -119,10 +120,11 @@
             UnicastRemoteObject.exportObject(obj);
             System.err.println("exported remote object");
 
-            LocateRegistry.createRegistry(TestLibrary.REGISTRY_PORT);
+            Registry registry1 = TestLibrary.createRegistryOnUnusedPort();
+            int port = TestLibrary.getRegistryPort(registry1);
             System.err.println("created registry");
 
-            Registry registry = LocateRegistry.getRegistry("", TestLibrary.REGISTRY_PORT);
+            Registry registry = LocateRegistry.getRegistry("", port);
             registry.bind(BINDING, obj);
             System.err.println("bound remote object in registry");
 
--- a/test/java/rmi/server/useCustomRef/UseCustomRef.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/server/useCustomRef/UseCustomRef.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -35,6 +35,7 @@
  * @build Ping
  * @build UseCustomRef_Stub
  * @build UseCustomRef_Skel
+ * @build TestLibrary
  * @run main/othervm/policy=security.policy/secure=java.rmi.RMISecurityManager/timeout=120 UseCustomRef
  *
  * This test was failing to run because the synthetic access
@@ -84,8 +85,9 @@
             TestLibrary.suggestSecurityManager("java.rmi.RMISecurityManager");
 
             System.err.println("creating Registry...");
-            registry = LocateRegistry.createRegistry(TestLibrary.REGISTRY_PORT);
 
+            registry = TestLibrary.createRegistryOnUnusedPort();
+            int port = TestLibrary.getRegistryPort(registry);
             /*
              * create object with custom ref and bind in registry
              */
@@ -97,7 +99,7 @@
                                 "instanceof CustomServerRef");
             }
 
-            String name = "//:" + TestLibrary.REGISTRY_PORT + "/UseCustomRef";
+            String name = "//:" + port + "/UseCustomRef";
             //      String name = "UseCustomRef";
             System.err.println("binding object in registry...");
             Naming.rebind(name, cr);
--- a/test/java/rmi/server/useCustomRef/security.policy	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/server/useCustomRef/security.policy	Wed Aug 01 11:08:11 2012 -0400
@@ -8,8 +8,11 @@
 
 grant {
   // the test uses a class in the package sun.rmi.server
+  permission java.lang.RuntimePermission "accessClassInPackage.sun.rmi.registry";
   permission java.lang.RuntimePermission "accessClassInPackage.sun.rmi.server";
   permission java.lang.RuntimePermission "accessClassInPackage.sun.rmi.transport";
+  permission java.lang.RuntimePermission "accessClassInPackage.sun.rmi.transport.proxy";
+  permission java.lang.RuntimePermission "accessClassInPackage.sun.rmi.transport.tcp";
   permission java.util.PropertyPermission "package.restrict.access.sun", "read";
   permission java.util.PropertyPermission "package.restrict.access.sun.rmi", "read";
 
--- a/test/java/rmi/testlibrary/ActivationLibrary.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/testlibrary/ActivationLibrary.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -169,37 +169,10 @@
         return false;
     }
 
-    /**
-     * Check to see if an arry of Strings contains a given string.
-     */
-    private static boolean
-        containsString(String[] strings, String contained)
-    {
-        if (strings == null) {
-            if (contained == null) {
-                return true;
-            }
-            return false;
-        }
-
-        for (int i = 0 ; i < strings.length ; i ++ ) {
-            if ((strings[i] != null) &&
-                (strings[i].indexOf(contained) >= 0))
-            {
-                return true;
-            }
-        }
-        return false;
-    }
-
     /** cleanup after rmid */
     public static void rmidCleanup(RMID rmid) {
-        rmidCleanup(rmid, TestLibrary.RMID_PORT);
-    }
-
-    public static void rmidCleanup(RMID rmid, int port) {
         if (rmid != null) {
-            if (!ActivationLibrary.safeDestroy(rmid, port, SAFE_WAIT_TIME)) {
+            if (!ActivationLibrary.safeDestroy(rmid, SAFE_WAIT_TIME)) {
                 TestLibrary.bomb("rmid not destroyed in: " +
                                  SAFE_WAIT_TIME +
                                  " milliseconds");
@@ -215,8 +188,8 @@
      * @return whether or not shutdown completed succesfully in the
      *         timeAllowed
      */
-    private static boolean safeDestroy(RMID rmid, int port, long timeAllowed) {
-        DestroyThread destroyThread = new DestroyThread(rmid, port);
+    private static boolean safeDestroy(RMID rmid, long timeAllowed) {
+        DestroyThread destroyThread = new DestroyThread(rmid);
         destroyThread.start();
 
         try {
@@ -236,9 +209,9 @@
         private final int port;
         private boolean succeeded = false;
 
-        DestroyThread(RMID rmid, int port) {
+        DestroyThread(RMID rmid) {
             this.rmid = rmid;
-            this.port = port;
+            this.port = rmid.getPort();
             this.setDaemon(true);
         }
 
--- a/test/java/rmi/testlibrary/RMID.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/testlibrary/RMID.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -28,7 +28,6 @@
 import java.io.*;
 import java.rmi.*;
 import java.rmi.activation.*;
-import java.util.Properties;
 
 /**
  * Utility class that creates an instance of rmid with a policy
@@ -133,7 +132,7 @@
                                   boolean debugExec)
     {
         return createRMID(out, err, debugExec, true,
-                          TestLibrary.RMID_PORT);
+                          TestLibrary.getUnusedRandomPort());
     }
 
     public static RMID createRMID(OutputStream out, OutputStream err,
@@ -208,7 +207,7 @@
         // if rmid is already running, then the test will fail with
         // a well recognized exception (port already in use...).
 
-        mesg("starting rmid...");
+        mesg("starting rmid on port #" + port + "...");
         super.start();
 
         int slopFactor = 1;
@@ -235,6 +234,14 @@
 
             // Checking if rmid is present
             if (ActivationLibrary.rmidRunning(port)) {
+                /**
+                 * We need to set the java.rmi.activation.port value as the
+                 * activation system will use the property to determine the
+                 * port #.  The activation system will use this value if set.
+                 * If it isn't set, the activation system will set it to an
+                 * incorrect value.
+                 */
+                System.setProperty("java.rmi.activation.port", Integer.toString(port));
                 mesg("finished starting rmid.");
                 return;
             }
@@ -259,10 +266,6 @@
      * Shutdown does not nullify possible references to the rmid
      * process object (destroy does though).
      */
-    public static void shutdown() {
-        shutdown(TestLibrary.RMID_PORT);
-    }
-
     public static void shutdown(int port) {
 
         try {
@@ -301,9 +304,7 @@
      * if rmid is a child process of the current VM.
      */
     public void destroy() {
-
-        // attempt graceful shutdown of the activation system on
-        // TestLibrary.RMID_PORT
+        // attempt graceful shutdown of the activation system
         shutdown(port);
 
         if (vm != null) {
@@ -357,4 +358,6 @@
             vm = null;
         }
     }
+
+    public int getPort() {return port;}
 }
--- a/test/java/rmi/testlibrary/RegistryRunner.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/testlibrary/RegistryRunner.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -56,12 +56,13 @@
      * Request that the registry process exit and handle
      * related exceptions.
      */
-    public static void requestExit() {
+    public static void requestExit(int port) {
+
         try {
             RemoteExiter exiter =
                 (RemoteExiter)
                 Naming.lookup("rmi://localhost:" +
-                              TestLibrary.REGISTRY_PORT +
+                              port +
                               "/RemoteExiter");
             try {
                 exiter.exit();
@@ -84,7 +85,7 @@
                 System.err.println("Usage: <port>");
                 System.exit(0);
             }
-            int port = TestLibrary.REGISTRY_PORT;
+            int port = -1;
             try {
                 port = Integer.parseInt(args[0]);
             } catch (NumberFormatException nfe) {
--- a/test/java/rmi/testlibrary/StreamPipe.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/testlibrary/StreamPipe.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 1999, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -113,7 +113,9 @@
                 w.flush();
                 line = r.readLine();
             }
-
+        } catch (InterruptedIOException iioe) {
+            // Thread interrupted during IO operation. Terminate StreamPipe.
+            return;
         } catch (IOException e) {
             System.err.println("*** IOException in StreamPipe.run:");
             e.printStackTrace();
--- a/test/java/rmi/testlibrary/TestLibrary.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/testlibrary/TestLibrary.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -36,37 +36,62 @@
  * not make use of packages.
  */
 
+import java.io.ByteArrayOutputStream;
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileOutputStream;
 import java.io.IOException;
-import java.io.OutputStream;
 import java.io.PrintStream;
-import java.net.URL;
 import java.net.MalformedURLException;
-import java.rmi.activation.Activatable;
-import java.rmi.activation.ActivationID;
+import java.net.ServerSocket;
+import java.net.URL;
 import java.rmi.NoSuchObjectException;
+import java.rmi.Remote;
+import java.rmi.RemoteException;
+import java.rmi.registry.LocateRegistry;
 import java.rmi.registry.Registry;
-import java.rmi.Remote;
+import java.rmi.server.RemoteRef;
 import java.rmi.server.UnicastRemoteObject;
 import java.util.Enumeration;
-import java.util.Hashtable;
 import java.util.Properties;
-import java.io.ByteArrayOutputStream;
-import java.security.AccessController;
-import java.security.PrivilegedAction;
+import sun.rmi.registry.RegistryImpl;
+import sun.rmi.server.UnicastServerRef;
+import sun.rmi.transport.Endpoint;
+import sun.rmi.transport.LiveRef;
+import sun.rmi.transport.tcp.TCPEndpoint;
 
 /**
  * Class of utility/library methods (i.e. procedures) that assist with
  * the writing and maintainance of rmi regression tests.
  */
 public class TestLibrary {
-
-    /** standard test port number for registry */
-    public final static int REGISTRY_PORT = 2006;
-    /** port for rmid necessary: not used to actually start rmid */
-    public final static int RMID_PORT = 1098;
+    /**
+     *                       IMPORTANT!
+     *
+     * RMI tests are run concurrently and port conflicts result when a single
+     * port number is used by multiple tests.  When needing a port, use
+     * getUnusedRandomPort() wherever possible.  If getUnusedRandomPort() cannot
+     * be used, reserve and specify a port to use for your test here.   This
+     * will ensure there are no port conflicts amongst the RMI tests.  The
+     * port numbers specified here may also be specified in the respective
+     * tests.  Do not change the reserved port numbers here without also
+     * changing the port numbers in the respective tests.
+     *
+     * When needing an instance of the RMIRegistry, use
+     * createRegistryOnUnusedPort wherever possible to prevent port conflicts.
+     *
+     * Reserved port range: FIXED_PORT_MIN to FIXED_PORT_MAX (inclusive) for
+     * tests which cannot use a random port.  If new fixed ports are added below
+     * FIXED_PORT_MIN or above FIXED_PORT_MAX, then adjust
+     * FIXED_PORT_MIN/MAX appropriately.
+     */
+    public final static int FIXED_PORT_MIN = 64001;
+    public final static int FIXED_PORT_MAX = 64010;
+    public final static int RMIDVIAINHERITEDCHANNEL_ACTIVATION_PORT = 64001;
+    public final static int RMIDVIAINHERITEDCHANNEL_REGISTRY_PORT = 64002;
+    public final static int INHERITEDCHANNELNOTSERVERSOCKET_ACTIVATION_PORT = 64003;
+    public final static int INHERITEDCHANNELNOTSERVERSOCKET_REGISTRY_PORT = 64004;
+    public final static int READTEST_REGISTRY_PORT = 64005;
 
     static void mesg(Object mesg) {
         System.err.println("TEST_LIBRARY: " + mesg.toString());
@@ -340,6 +365,83 @@
     }
 
     /**
+     * Creates an RMI {@link Registry} on a random, un-reserved port.
+     *
+     * @returns an RMI Registry, using a random port.
+     * @throws RemoteException if there was a problem creating a Registry.
+     */
+    public static Registry createRegistryOnUnusedPort() throws RemoteException {
+        return LocateRegistry.createRegistry(getUnusedRandomPort());
+    }
+
+    /**
+     * Returns the port number the RMI {@link Registry} is running on.
+     *
+     * @param registry the registry to find the port of.
+     * @return the port number the registry is using.
+     * @throws RuntimeException if there was a problem getting the port number.
+     */
+    public static int getRegistryPort(Registry registry) {
+        int port = -1;
+
+        try {
+            RemoteRef remoteRef = ((RegistryImpl)registry).getRef();
+            LiveRef liveRef = ((UnicastServerRef)remoteRef).getLiveRef();
+            Endpoint endpoint = liveRef.getChannel().getEndpoint();
+            TCPEndpoint tcpEndpoint = (TCPEndpoint) endpoint;
+            port = tcpEndpoint.getPort();
+        } catch (Exception ex) {
+            throw new RuntimeException("Error getting registry port.", ex);
+        }
+
+        return port;
+    }
+
+    /**
+     * Returns an unused random port number which is not a reserved port.  Will
+     * try up to 10 times to get a random port before giving up and throwing a
+     * RuntimeException.
+     *
+     * @return an unused random port number.
+     * @throws RuntimeException if there was a problem getting a port.
+     */
+    public static int getUnusedRandomPort() {
+        int numTries = 0;
+        int unusedRandomPort = FIXED_PORT_MIN;
+        Exception ex = null;
+
+        while (numTries++ < 10) {
+            ex = null; //reset
+
+            try (ServerSocket ss = new ServerSocket(0)) {
+                unusedRandomPort = ss.getLocalPort();
+            } catch (Exception e) {
+                ex = e;
+            }
+
+            if (!isReservedPort(unusedRandomPort)) {
+                return unusedRandomPort;
+            }
+        }
+
+        // If we're here, then either an exception was thrown or the port is
+        // a reserved port.
+        throw new RuntimeException("Error getting unused random port.", ex);
+    }
+
+    /**
+     * Determines if a port is one of the reserved port numbers.
+     *
+     * @param port the port to test.
+     * @return {@code true} if the port is a reserved port, otherwise
+     *         {@code false}.
+     */
+    public static boolean isReservedPort(int port) {
+        return ((port >= FIXED_PORT_MIN) && (port <= FIXED_PORT_MAX) ||
+                (port == 1099));
+    }
+
+    /**
      * Method to capture the stack trace of an exception and return it
      * as a string.
      */
--- a/test/java/rmi/transport/checkFQDN/CheckFQDN.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/transport/checkFQDN/CheckFQDN.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -34,6 +34,7 @@
  *
  * @library ../../testlibrary
  * @build CheckFQDN CheckFQDNClient CheckFQDN_Stub TellServerName
+ * @build TestLibrary
  * @run main/othervm/timeout=120 CheckFQDN
  */
 
@@ -63,7 +64,7 @@
  */
 public class CheckFQDN extends UnicastRemoteObject
     implements TellServerName {
-
+    public static int REGISTRY_PORT =-1;
     static String propertyBeingTested = null;
     static String propertyBeingTestedValue = null;
 
@@ -77,8 +78,8 @@
             System.err.println
                 ("\nRegression test for bug/rfe 4115683\n");
 
-            Registry registry = java.rmi.registry.LocateRegistry.
-                createRegistry(TestLibrary.REGISTRY_PORT);
+            Registry registry = TestLibrary.createRegistryOnUnusedPort();
+            REGISTRY_PORT = TestLibrary.getRegistryPort(registry);
             registry.bind("CheckFQDN", checkFQDN);
 
             /* test the host name scheme in different environments.*/
@@ -117,7 +118,9 @@
             JavaVM jvm = new JavaVM("CheckFQDNClient",
                                     propOption + property +
                                     equal +
-                                    propertyValue + extraProp,
+                                    propertyValue + extraProp +
+                                    " -Drmi.registry.port=" +
+                                    REGISTRY_PORT,
                                     "");
 
             propertyBeingTested=property;
--- a/test/java/rmi/transport/checkFQDN/CheckFQDNClient.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/transport/checkFQDN/CheckFQDNClient.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -58,8 +58,9 @@
             System.err.println("Client host name: " +
                                hostname);
 
+            int registryPort = Integer.parseInt(System.getProperty("rmi.registry.port"));
             tell = (TellServerName) Naming.lookup("rmi://:" +
-                                                  TestLibrary.REGISTRY_PORT
+                                                  registryPort
                                                   + "/CheckFQDN");
             tell.tellServerName(hostname);
             System.err.println("client has exited");
--- a/test/java/rmi/transport/checkLeaseInfoLeak/CheckLeaseLeak.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/transport/checkLeaseInfoLeak/CheckLeaseLeak.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -29,6 +29,7 @@
  *
  * @library ../../testlibrary
  * @build CheckLeaseLeak CheckLeaseLeak_Stub LeaseLeakClient LeaseLeak
+ * @build TestLibrary
  * @run main/othervm/timeout=240 CheckLeaseLeak
  *
  */
@@ -57,7 +58,6 @@
 import java.rmi.registry.*;
 
 public class CheckLeaseLeak extends UnicastRemoteObject implements LeaseLeak {
-
     public CheckLeaseLeak() throws RemoteException { }
     public void ping () throws RemoteException { }
 
@@ -87,8 +87,8 @@
 
         try {
             Registry registry =
-                java.rmi.registry.LocateRegistry.
-                    createRegistry(TestLibrary.REGISTRY_PORT);
+                TestLibrary.createRegistryOnUnusedPort();
+            int registryPort = TestLibrary.getRegistryPort(registry);
 
             leakServer = new CheckLeaseLeak();
             registry.rebind("/LeaseLeak", leakServer);
@@ -99,7 +99,10 @@
 
                 JavaVM jvm = new JavaVM("LeaseLeakClient",
                                         " -Djava.security.policy=" +
-                                        TestParams.defaultPolicy, "");
+                                        TestParams.defaultPolicy +
+                                        " -Drmi.registry.port=" +
+                                        registryPort,
+                                        "");
                 jvm.start();
 
                 if (jvm.getVM().waitFor() == 1 ) {
--- a/test/java/rmi/transport/checkLeaseInfoLeak/LeaseLeakClient.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/transport/checkLeaseInfoLeak/LeaseLeakClient.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -31,11 +31,11 @@
 
         try {
             LeaseLeak leaseLeak = null;
+            int registryPort = Integer.parseInt(System.getProperty("rmi.registry.port"));
 
             // put a reference on a remote object.
             Registry registry =
-                java.rmi.registry.LocateRegistry.getRegistry(
-                    TestLibrary.REGISTRY_PORT);
+                java.rmi.registry.LocateRegistry.getRegistry(registryPort);
             leaseLeak = (LeaseLeak) registry.lookup("/LeaseLeak");
             leaseLeak.ping();
 
--- a/test/java/rmi/transport/checkLeaseInfoLeak/security.policy	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/transport/checkLeaseInfoLeak/security.policy	Wed Aug 01 11:08:11 2012 -0400
@@ -19,6 +19,7 @@
   permission java.util.PropertyPermission "user.dir", "read";
   permission java.util.PropertyPermission "java.home", "read";
 
+  permission java.util.PropertyPermission "rmi.registry.port", "read";
   permission java.util.PropertyPermission "java.security.policy", "read";
   permission java.util.PropertyPermission "java.security.manager", "read";
 
--- a/test/java/rmi/transport/closeServerSocket/CloseServerSocket.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/transport/closeServerSocket/CloseServerSocket.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -30,7 +30,8 @@
  * the local port is released).
  * @author Peter Jones
  *
- * @build CloseServerSocket
+ * @library ../../testlibrary
+ * @build CloseServerSocket TestLibrary
  * @run main/othervm CloseServerSocket
  */
 
@@ -44,8 +45,7 @@
 import java.rmi.server.UnicastRemoteObject;
 
 public class CloseServerSocket implements Remote {
-
-    private static final int PORT = 2020;
+    private static final int PORT = TestLibrary.getUnusedRandomPort();
 
     private CloseServerSocket() { }
 
@@ -88,7 +88,7 @@
     }
 
     private static void verifyPortFree(int port) throws IOException {
-        ServerSocket ss = new ServerSocket(PORT);
+        ServerSocket ss = new ServerSocket(port);
         ss.close();
         System.err.println("- port " + port + " is free");
     }
--- a/test/java/rmi/transport/dgcDeadLock/DGCDeadLock.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/transport/dgcDeadLock/DGCDeadLock.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -32,6 +32,7 @@
  * @build Test
  * @build TestImpl
  * @build TestImpl_Stub
+ * @build TestLibrary
  * @run main/othervm/policy=security.policy/timeout=360 DGCDeadLock
  */
 
@@ -53,7 +54,7 @@
 import java.io.*;
 
 public class DGCDeadLock implements Runnable {
-
+    private static final int REGISTRY_PORT = TestLibrary.getUnusedRandomPort();
     final static public int HOLD_TARGET_TIME = 25000;
     public static int TEST_FAIL_TIME = HOLD_TARGET_TIME + 30000;
     public static boolean finished = false;
@@ -75,7 +76,9 @@
                 TestParams.defaultPolicy +
                 " -Djava.rmi.dgc.leaseValue=500000" +
                 "  -Dsun.rmi.dgc.checkInterval=" +
-                (HOLD_TARGET_TIME - 5000) + "";
+                (HOLD_TARGET_TIME - 5000) +
+                "   -Drmi.registry.port=" + REGISTRY_PORT +
+                "" ;
 
             testImplVM = new JavaVM("TestImpl", options, "");
             testImplVM.start();
@@ -112,7 +115,7 @@
 
             // create a test client
             Test foo = (Test) Naming.lookup("rmi://:" +
-                                            TestLibrary.REGISTRY_PORT +
+                                            REGISTRY_PORT +
                                             "/Foo");
             echo = foo.echo("Hello world");
             System.err.println("Test object created.");
@@ -131,7 +134,7 @@
 
             //import "Bar"
             Test bar = (Test) Naming.lookup("rmi://:" +
-                                            TestLibrary.REGISTRY_PORT +
+                                            REGISTRY_PORT +
                                             "/Bar");
 
             /* infinite loop to show the liveness of Client,
--- a/test/java/rmi/transport/dgcDeadLock/TestImpl.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/transport/dgcDeadLock/TestImpl.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -36,7 +36,6 @@
 
 public class TestImpl extends UnicastRemoteObject
     implements Test {
-
     static Thread locker = null;
     static TestImpl foo = null;
     static TestImpl bar = null;
@@ -57,20 +56,21 @@
         Registry registry = null;
 
         try {
+            int registryPort = Integer.parseInt(System.getProperty("rmi.registry.port"));
             registry = java.rmi.registry.LocateRegistry.
-                createRegistry(TestLibrary.REGISTRY_PORT);
+                createRegistry(registryPort);
 
             //export "Foo"
             foo = new TestImpl();
             Naming.rebind("rmi://:" +
-                          TestLibrary.REGISTRY_PORT
+                          registryPort
                           + "/Foo", foo);
 
             try {
                 //export "Bar" after leases have been expired.
                 bar = new TestImpl();
                 Naming.rebind("rmi://localhost:" +
-                              TestLibrary.REGISTRY_PORT
+                              registryPort
                               + "/Bar", bar);
             } catch (Exception e) {
                 throw new RemoteException(e.getMessage());
--- a/test/java/rmi/transport/handshakeFailure/HandshakeFailure.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/transport/handshakeFailure/HandshakeFailure.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -30,7 +30,8 @@
  * java.rmi.ConnectException or ConnectIOException, not a MarshalException.
  * @author Peter Jones
  *
- * @build HandshakeFailure
+ * @library ../../testlibrary
+ * @build HandshakeFailure TestLibrary
  * @run main/othervm HandshakeFailure
  */
 
@@ -44,7 +45,7 @@
 
 public class HandshakeFailure {
 
-    private static final int PORT = 2020;
+    private static final int PORT = TestLibrary.getUnusedRandomPort();
     private static final int TIMEOUT = 10000;
 
     public static void main(String[] args) throws Exception {
--- a/test/java/rmi/transport/handshakeTimeout/HandshakeTimeout.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/transport/handshakeTimeout/HandshakeTimeout.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -33,7 +33,8 @@
  * this point (because no data for the invocation has yet been written).
  * @author Peter Jones
  *
- * @build HandshakeTimeout
+ * @library ../../testlibrary
+ * @build HandshakeTimeout TestLibrary
  * @run main/othervm HandshakeTimeout
  */
 
@@ -46,7 +47,7 @@
 
 public class HandshakeTimeout {
 
-    private static final int PORT = 2020;
+    private static final int PORT = TestLibrary.getUnusedRandomPort();
     private static final int TIMEOUT = 10000;
 
     public static void main(String[] args) throws Exception {
--- a/test/java/rmi/transport/httpSocket/HttpSocketTest.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/transport/httpSocket/HttpSocketTest.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -27,7 +27,7 @@
  * @author Dana Burns
  *
  * @library ../../testlibrary
- * @build HttpSocketTest HttpSocketTest_Stub
+ * @build HttpSocketTest HttpSocketTest_Stub TestLibrary
  * @run main/othervm/policy=security.policy HttpSocketTest
  */
 
@@ -56,10 +56,7 @@
 public class HttpSocketTest extends UnicastRemoteObject
     implements MyRemoteInterface
 {
-
     private static final String NAME = "HttpSocketTest";
-    private static final String REGNAME =
-        "//:" + TestLibrary.REGISTRY_PORT + "/" + NAME;
 
     public HttpSocketTest() throws RemoteException{}
 
@@ -76,21 +73,20 @@
         // Set the socket factory.
         System.err.println("installing socket factory");
         RMISocketFactory.setSocketFactory(new RMIHttpToPortSocketFactory());
+        int registryPort = -1;
 
         try {
-
             System.err.println("Starting registry");
-            registry = LocateRegistry.createRegistry(TestLibrary.REGISTRY_PORT);
-
+            registry = TestLibrary.createRegistryOnUnusedPort();
+            registryPort = TestLibrary.getRegistryPort(registry);
         } catch (Exception e) {
             TestLibrary.bomb(e);
         }
 
         try {
-
             registry.rebind( NAME, new HttpSocketTest() );
             MyRemoteInterface httpTest =
-                (MyRemoteInterface)Naming.lookup( REGNAME );
+                (MyRemoteInterface)Naming.lookup("//:" + registryPort + "/" + NAME);
             httpTest.setRemoteObject( new HttpSocketTest() );
             Remote r = httpTest.getRemoteObject();
 
--- a/test/java/rmi/transport/httpSocket/security.policy	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/transport/httpSocket/security.policy	Wed Aug 01 11:08:11 2012 -0400
@@ -4,6 +4,10 @@
 
 grant {
     permission java.net.SocketPermission "*:1024-", "accept,connect,listen";
+    permission java.lang.RuntimePermission "accessClassInPackage.sun.rmi.registry";
+    permission java.lang.RuntimePermission "accessClassInPackage.sun.rmi.server";
+    permission java.lang.RuntimePermission "accessClassInPackage.sun.rmi.transport";
     permission java.lang.RuntimePermission "accessClassInPackage.sun.rmi.transport.proxy";
+    permission java.lang.RuntimePermission "accessClassInPackage.sun.rmi.transport.tcp";
     permission java.lang.RuntimePermission "setFactory";
 };
--- a/test/java/rmi/transport/pinClientSocketFactory/PinClientSocketFactory.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/transport/pinClientSocketFactory/PinClientSocketFactory.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -31,6 +31,8 @@
  * should become unreachable too (through the RMI implementation).
  * @author Peter Jones
  *
+ * @library ../../testlibrary
+ * @build TestLibrary
  * @run main/othervm -Dsun.rmi.transport.connectionTimeout=2000
  *     PinClientSocketFactory
  */
@@ -56,7 +58,7 @@
 
 public class PinClientSocketFactory {
 
-    private static final int PORT = 2345;
+    private static final int PORT = TestLibrary.getUnusedRandomPort();
     private static final int SESSIONS = 50;
 
     public interface Factory extends Remote {
--- a/test/java/rmi/transport/pinLastArguments/PinLastArguments.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/transport/pinLastArguments/PinLastArguments.java	Wed Aug 01 11:08:11 2012 -0400
@@ -78,10 +78,15 @@
         }
         impl = null;
 
-        System.gc();
-
-        if (ref.get() != null) {
-            throw new Error("TEST FAILED: impl not garbage collected");
+        // Might require multiple calls to System.gc() for weak-references
+        // processing to be complete. If the weak-reference is not cleared as
+        // expected we will hang here until timed out by the test harness.
+        while (true) {
+            System.gc();
+            Thread.sleep(20);
+            if (ref.get() == null) {
+                break;
+            }
         }
 
         System.err.println("TEST PASSED");
--- a/test/java/rmi/transport/rapidExportUnexport/RapidExportUnexport.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/transport/rapidExportUnexport/RapidExportUnexport.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -31,7 +31,8 @@
  * procedure (which sleeps 10 seconds after 10 rapid failures).
  * @author Peter Jones
  *
- * @build RapidExportUnexport
+ * @library ../../testlibrary
+ * @build TestLibrary RapidExportUnexport
  * @run main/othervm RapidExportUnexport
  */
 
@@ -39,9 +40,7 @@
 import java.rmi.server.UnicastRemoteObject;
 
 public class RapidExportUnexport {
-
-    private static final int PORT = 2055;
-
+    private static final int PORT = TestLibrary.getUnusedRandomPort();
     private static final int REPS = 100;
     private static final long TIMEOUT = 60000;
 
--- a/test/java/rmi/transport/reuseDefaultPort/ReuseDefaultPort.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/java/rmi/transport/reuseDefaultPort/ReuseDefaultPort.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -33,7 +33,8 @@
  * continue to work because existing applications might depend on it.
  * @author Peter Jones
  *
- * @build ReuseDefaultPort
+ * @library ../../testlibrary
+ * @build ReuseDefaultPort TestLibrary
  * @run main/othervm ReuseDefaultPort
  */
 
@@ -48,7 +49,7 @@
 
 public class ReuseDefaultPort implements Remote {
 
-    private static final int PORT = 2223;
+    private static final int PORT = TestLibrary.getUnusedRandomPort();
 
     private ReuseDefaultPort() { }
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/java/util/prefs/AddNodeChangeListener.java	Wed Aug 01 11:08:11 2012 -0400
@@ -0,0 +1,94 @@
+/*
+ * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code 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
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+ /* @test
+  * @bug  7160252
+  * @summary Checks if events are delivered to a listener
+  *          when a child node is added or removed
+  */
+
+import java.util.prefs.*;
+
+ public class AddNodeChangeListener {
+
+     private static boolean failed = false;
+     private static Preferences userRoot, N2;
+     private static NodeChangeListenerAdd ncla;
+
+     public static void main(String[] args)
+         throws BackingStoreException, InterruptedException
+     {
+        userRoot = Preferences.userRoot();
+        ncla = new NodeChangeListenerAdd();
+        userRoot.addNodeChangeListener(ncla);
+        //Should initiate a node added event
+        addNode();
+        // Should not initiate a node added event
+        addNode();
+        //Should initate a child removed event
+        removeNode();
+
+        if (failed)
+            throw new RuntimeException("Failed");
+    }
+
+    private static void addNode()
+        throws BackingStoreException, InterruptedException
+    {
+        N2 = userRoot.node("N2");
+        userRoot.flush();
+        Thread.sleep(3000);
+        if (ncla.getAddNumber() != 1)
+            failed = true;
+    }
+
+    private static void removeNode()
+        throws BackingStoreException, InterruptedException
+    {
+        N2.removeNode();
+        userRoot.flush();
+        Thread.sleep(3000);
+        if (ncla.getAddNumber() != 0)
+            failed = true;
+    }
+
+    private static class NodeChangeListenerAdd implements NodeChangeListener {
+        private int totalNode = 0;
+
+        @Override
+        public void childAdded(NodeChangeEvent evt) {
+            totalNode++;
+        }
+
+        @Override
+        public void childRemoved(NodeChangeEvent evt) {
+            totalNode--;
+        }
+
+        public int getAddNumber(){
+            return totalNode;
+        }
+    }
+ }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/javax/swing/SwingUtilities/7170657/bug7170657.java	Wed Aug 01 11:08:11 2012 -0400
@@ -0,0 +1,78 @@
+/*
+ * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code 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
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+import java.awt.Frame;
+import java.awt.event.InputEvent;
+import java.awt.event.MouseEvent;
+import java.awt.event.MouseWheelEvent;
+
+import javax.swing.SwingUtilities;
+import javax.swing.event.MenuDragMouseEvent;
+
+/**
+ * @test
+ * @bug 7170657
+ * @author Sergey Bylokhov
+ */
+public final class bug7170657 {
+
+    private static boolean FAILED;
+
+    public static void main(final String[] args) {
+        final int mask = InputEvent.META_DOWN_MASK | InputEvent.CTRL_MASK;
+
+        Frame f = new Frame();
+
+        MouseEvent mwe = new MouseWheelEvent(f, 1, 1, mask, 1, 1, 1, 1, 1, true,
+                                             1, 1, 1);
+        MouseEvent mdme = new MenuDragMouseEvent(f, 1, 1, mask, 1, 1, 1, 1, 1,
+                                                 true, null, null);
+        MouseEvent me = new MouseEvent(f, 1, 1, mask, 1, 1, 1, 1, 1, true,
+                                       MouseEvent.NOBUTTON);
+
+        test(f, mwe);
+        test(f, mdme);
+        test(f, me);
+
+        if (FAILED) {
+            throw new RuntimeException("Wrong mouse event");
+        }
+    }
+
+
+    private static void test(final Frame frame, final MouseEvent me) {
+        MouseEvent newme = SwingUtilities.convertMouseEvent(frame, me, frame);
+        if (me.getModifiersEx() != newme.getModifiersEx()
+                || me.getModifiers() != newme.getModifiers()) {
+            fail(me, newme);
+        }
+    }
+
+    private static void fail(final MouseEvent exp, final MouseEvent act) {
+        System.err.println("Expected: " + exp);
+        System.err.println("Actual: " + act);
+        FAILED = true;
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/javax/swing/border/Test7022041.java	Wed Aug 01 11:08:11 2012 -0400
@@ -0,0 +1,133 @@
+/*
+ * Copyright 2012 Red Hat, Inc. All Rights Reserved.
+ * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code 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
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+import java.awt.Color;
+import java.awt.Font;
+
+import javax.swing.border.EmptyBorder;
+import javax.swing.border.TitledBorder;
+import javax.swing.UIManager;
+import javax.swing.UnsupportedLookAndFeelException;
+
+/* @test
+ * @bug 7022041
+ * @summary This test check the behaviour of getTitleFont() and getTitleColor()
+ *          methods of the TitledBorder class.
+ * @author Pavel Tisnovsky
+ */
+public class Test7022041 {
+
+    public static void main(String[] args) throws Exception {
+        UIManager.LookAndFeelInfo[] installedLookAndFeels = UIManager.getInstalledLookAndFeels();
+        // try to test all installed Look and Feels
+        for (UIManager.LookAndFeelInfo lookAndFeel : installedLookAndFeels) {
+            String name = lookAndFeel.getName();
+            System.out.println("Testing " + name);
+            // Some Look and Feels work only when test is run in a GUI environment
+            // (GTK+ LAF is an example)
+            try {
+                UIManager.setLookAndFeel(lookAndFeel.getClassName());
+                checkTitleColor();
+                System.out.println("    titleColor test ok");
+                checkTitleFont();
+                System.out.println("    titleFont test ok");
+            }
+            catch (UnsupportedLookAndFeelException e) {
+                System.out.println("    Note: LookAndFeel " + name
+                                 + " is not supported on this configuration");
+            }
+        }
+    }
+
+    /**
+      * Check behaviour of method TitledBorder.getTitleColor()
+      */
+    private static void checkTitleColor() {
+        TitledBorder titledBorder = new TitledBorder(new EmptyBorder(1, 1, 1, 1));
+        Color defaultColor = UIManager.getLookAndFeelDefaults().getColor("TitledBorder.titleColor");
+        Color titledBorderColor = titledBorder.getTitleColor();
+
+        // check default configuration
+        if (defaultColor == null) {
+            if (titledBorderColor == null) {
+                return;
+            }
+            else {
+                throw new RuntimeException("TitledBorder default color should be null");
+            }
+        }
+        if (!defaultColor.equals(titledBorderColor)) {
+            throw new RuntimeException("L&F default color " + defaultColor.toString()
+                                     + " differs from TitledBorder color " + titledBorderColor.toString());
+        }
+
+        // title color is explicitly specified
+        Color color = Color.green;
+        titledBorder.setTitleColor(color);
+        if (!color.equals(titledBorder.getTitleColor())) {
+            throw new RuntimeException("TitledBorder color should be " + color.toString());
+        }
+
+        // title color is unspecified
+        titledBorder.setTitleColor(null);
+        if (!defaultColor.equals(titledBorder.getTitleColor())) {
+            throw new RuntimeException("L&F default color " + defaultColor.toString()
+                                     + " differs from TitledBorder color " + titledBorderColor.toString());
+        }
+    }
+
+    /**
+      * Check behaviour of method TitledBorder.getTitleFont()
+      */
+    private static void checkTitleFont() {
+        TitledBorder titledBorder = new TitledBorder(new EmptyBorder(1, 1, 1, 1));
+        Font defaultFont = UIManager.getLookAndFeelDefaults().getFont("TitledBorder.font");
+        Font titledBorderFont = titledBorder.getTitleFont();
+
+        // check default configuration
+        if (defaultFont == null) {
+            if (titledBorderFont == null) {
+                return;
+            }
+            else {
+                throw new RuntimeException("TitledBorder default font should be null");
+            }
+        }
+        if (!defaultFont.equals(titledBorderFont)) {
+            throw new RuntimeException("L&F default font " + defaultFont.toString()
+                                     + " differs from TitledBorder font " + titledBorderFont.toString());
+        }
+
+        // title font is explicitly specified
+        Font font = new Font("Dialog", Font.PLAIN, 10);
+        titledBorder.setTitleFont(font);
+        if (!font.equals(titledBorder.getTitleFont())) {
+            throw new RuntimeException("TitledBorder font should be " + font.toString());
+        }
+
+        // title Font is unspecified
+        titledBorder.setTitleFont(null);
+        if (!defaultFont.equals(titledBorder.getTitleFont())) {
+            throw new RuntimeException("L&F default font " + defaultFont.toString()
+                                     + " differs from TitledBorder font " + titledBorderFont.toString());
+        }
+    }
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/sun/java2d/OpenGL/bug7181438.java	Wed Aug 01 11:08:11 2012 -0400
@@ -0,0 +1,83 @@
+/*
+ * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code 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
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+import java.awt.Color;
+import java.awt.Graphics;
+import java.awt.GraphicsConfiguration;
+import java.awt.GraphicsEnvironment;
+import java.awt.Transparency;
+import java.awt.image.BufferedImage;
+import java.awt.image.VolatileImage;
+
+/**
+ * @test
+ * @bug 7181438
+ * @summary Verifies that we get correct alpha, when we draw opaque
+ * BufferedImage to non opaque VolatileImage via intermediate opaque texture.
+ * @author Sergey Bylokhov
+ * @run main/othervm -Dsun.java2d.accthreshold=0 bug7181438
+ */
+public final class bug7181438 {
+
+    private static final int SIZE = 500;
+
+    public static void main(final String[] args) {
+
+        final BufferedImage bi = createBufferedImage();
+        final VolatileImage vi = createVolatileImage();
+        final Graphics s2dVi = vi.getGraphics();
+
+        //sw->texture->surface blit
+        s2dVi.drawImage(bi, 0, 0, null);
+
+        final BufferedImage results = vi.getSnapshot();
+        for (int i = 0; i < SIZE; ++i) {
+            for (int j = 0; j < SIZE; ++j) {
+                //Image should be opaque: (black color and alpha = 255)
+                if (results.getRGB(i, j) != 0xFF000000) {
+                    throw new RuntimeException("Failed: Wrong alpha");
+                }
+            }
+        }
+        System.out.println("Passed");
+    }
+
+
+    private static VolatileImage createVolatileImage() {
+        final GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
+        final GraphicsConfiguration gc = ge.getDefaultScreenDevice().getDefaultConfiguration();
+        return gc.createCompatibleVolatileImage(SIZE, SIZE,
+                                                Transparency.TRANSLUCENT);
+    }
+
+    private static BufferedImage createBufferedImage() {
+        final BufferedImage bi = new BufferedImage(SIZE, SIZE,
+                                                   BufferedImage.TYPE_INT_RGB);
+        final Graphics bg = bi.getGraphics();
+        //Black color and alpha = 0
+        bg.setColor(new Color(0, 0, 0, 0));
+        bg.fillRect(0, 0, SIZE, SIZE);
+        bg.dispose();
+        return bi;
+    }
+}
--- a/test/sun/nio/cs/OLD/DoubleByteDecoder.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/sun/nio/cs/OLD/DoubleByteDecoder.java	Wed Aug 01 11:08:11 2012 -0400
@@ -26,7 +26,6 @@
 /*
  */
 
-//package sun.nio.cs.ext;
 
 import java.nio.ByteBuffer;
 import java.nio.CharBuffer;
--- a/test/sun/nio/cs/OLD/DoubleByteEncoder.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/sun/nio/cs/OLD/DoubleByteEncoder.java	Wed Aug 01 11:08:11 2012 -0400
@@ -26,7 +26,6 @@
 /*
  */
 
-//package sun.nio.cs.ext;
 
 import java.nio.ByteBuffer;
 import java.nio.CharBuffer;
@@ -95,7 +94,7 @@
         try {
             while (sp < sl) {
                 char c = sa[sp];
-                if (Surrogate.is(c)) {
+                if (Character.isSurrogate(c)) {
                     if (sgp.parse(c, sa, sp, sl) < 0)
                         return sgp.error();
                     if (sl - sp < 2)
@@ -153,7 +152,7 @@
         try {
             while (src.hasRemaining()) {
                 char c = src.get();
-                if (Surrogate.is(c)) {
+                if (Character.isSurrogate(c)) {
                     int surr;
                     if ((surr = sgp.parse(c, src)) < 0)
                         return sgp.error();
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/sun/nio/cs/OLD/EUC_JP_LINUX_OLD.java	Wed Aug 01 11:08:11 2012 -0400
@@ -0,0 +1,367 @@
+/*
+ * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code 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
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ */
+
+import java.nio.*;
+import java.nio.charset.Charset;
+import java.nio.charset.CharsetDecoder;
+import java.nio.charset.CharsetEncoder;
+import java.nio.charset.CoderResult;
+import sun.nio.cs.HistoricallyNamedCharset;
+import sun.nio.cs.Surrogate;
+
+public class EUC_JP_LINUX_OLD
+    extends Charset
+    implements HistoricallyNamedCharset
+{
+    public EUC_JP_LINUX_OLD() {
+        super("x-euc-jp-linux_OLD", null);
+    }
+
+    public String historicalName() {
+        return "EUC_JP_LINUX";
+    }
+
+    public boolean contains(Charset cs) {
+        return ((cs instanceof JIS_X_0201_OLD)
+               || (cs.name().equals("US-ASCII"))
+               || (cs instanceof EUC_JP_LINUX_OLD));
+    }
+
+    public CharsetDecoder newDecoder() {
+        return new Decoder(this);
+    }
+
+    public CharsetEncoder newEncoder() {
+        return new Encoder(this);
+    }
+
+    private static class Decoder extends CharsetDecoder {
+        JIS_X_0201_OLD.Decoder decoderJ0201;
+        protected final char REPLACE_CHAR='\uFFFD';
+
+        private static final int start = 0xa1;
+        private static final int end = 0xfe;
+        private static final short[] jis0208Index1 =
+            JIS_X_0208_Decoder.getIndex1();
+        private static final String[] jis0208Index2 =
+            JIS_X_0208_Decoder.getIndex2();
+
+        private Decoder(Charset cs) {
+            super(cs, 1.0f, 1.0f);
+            decoderJ0201 = new JIS_X_0201_OLD.Decoder(cs);
+        }
+
+        protected char convSingleByte(int b) {
+            if (b < 0 || b > 0x7f)
+                return REPLACE_CHAR;
+            return decoderJ0201.decode(b);
+        }
+
+        protected char decodeDouble(int byte1, int byte2) {
+            if (byte1 == 0x8e) {
+                return decoderJ0201.decode(byte2 - 256);
+            }
+
+            if (((byte1 < 0) || (byte1 > jis0208Index1.length))
+                || ((byte2 < start) || (byte2 > end)))
+                return REPLACE_CHAR;
+
+            int n = (jis0208Index1[byte1 - 0x80] & 0xf) * (end - start + 1)
+                    + (byte2 - start);
+            return jis0208Index2[jis0208Index1[byte1 - 0x80] >> 4].charAt(n);
+        }
+
+        private CoderResult decodeArrayLoop(ByteBuffer src,
+                                            CharBuffer dst)
+        {
+            byte[] sa = src.array();
+            int sp = src.arrayOffset() + src.position();
+            int sl = src.arrayOffset() + src.limit();
+            assert (sp <= sl);
+            sp = (sp <= sl ? sp : sl);
+
+            char[] da = dst.array();
+            int dp = dst.arrayOffset() + dst.position();
+            int dl = dst.arrayOffset() + dst.limit();
+            assert (dp <= dl);
+            dp = (dp <= dl ? dp : dl);
+
+            int b1 = 0, b2 = 0;
+            int inputSize = 0;
+            char outputChar = REPLACE_CHAR; // U+FFFD;
+
+            try {
+                while (sp < sl) {
+                    b1 = sa[sp] & 0xff;
+                    inputSize = 1;
+                    if ((b1 & 0x80) == 0) {
+                        outputChar = (char)b1;
+                    }
+                    else {      // Multibyte char
+                        if ((b1 & 0xff) == 0x8f) {   // JIS0212
+                            if (sp + 3 > sl)
+                               return CoderResult.UNDERFLOW;
+                            inputSize = 3;
+                            return CoderResult.unmappableForLength(inputSize); // substitute
+                        } else {
+                          // JIS0208
+                            if (sp + 2 > sl)
+                               return CoderResult.UNDERFLOW;
+                            b2 = sa[sp + 1] & 0xff;
+                            inputSize = 2;
+                            outputChar = decodeDouble(b1, b2);
+                        }
+                    }
+                    if (outputChar == REPLACE_CHAR) { // can't be decoded
+                        return CoderResult.unmappableForLength(inputSize);
+                    }
+                    if (dp + 1 > dl)
+                        return CoderResult.OVERFLOW;
+                    da[dp++] = outputChar;
+                    sp += inputSize;
+                }
+                return CoderResult.UNDERFLOW;
+            } finally {
+                src.position(sp - src.arrayOffset());
+                dst.position(dp - dst.arrayOffset());
+            }
+        }
+
+        private CoderResult decodeBufferLoop(ByteBuffer src,
+                                             CharBuffer dst)
+        {
+            int mark = src.position();
+            char outputChar = REPLACE_CHAR; // U+FFFD;
+
+            try {
+                while (src.hasRemaining()) {
+                    int b1 = src.get() & 0xff;
+                    int inputSize = 1;
+
+                    if ((b1 & 0x80) == 0) {
+                        outputChar = (char)b1;
+                    } else {    // Multibyte char
+
+                        if ((b1 & 0xff) == 0x8f) { // JIS0212 not supported
+                            if (src.remaining() < 2)
+                                return CoderResult.UNDERFLOW;
+                            return CoderResult.unmappableForLength(3);
+                        } else {
+                            // JIS0208
+                            if (src.remaining() < 1)
+                                return CoderResult.UNDERFLOW;
+                            int b2 = src.get() & 0xff;
+                            inputSize++;
+                            outputChar = decodeDouble(b1, b2);
+                        }
+                    }
+
+                    if (outputChar == REPLACE_CHAR)
+                        return CoderResult.unmappableForLength(inputSize);
+                    if (dst.remaining() < 1)
+                        return CoderResult.OVERFLOW;
+                    dst.put(outputChar);
+                    mark += inputSize;
+                }
+                return CoderResult.UNDERFLOW;
+            } finally {
+                src.position(mark);
+            }
+        }
+
+        protected CoderResult decodeLoop(ByteBuffer src,
+                                         CharBuffer dst)
+        {
+            if (src.hasArray() && dst.hasArray())
+                return decodeArrayLoop(src, dst);
+            else
+                return decodeBufferLoop(src, dst);
+        }
+    }
+
+
+    private static class Encoder extends CharsetEncoder {
+
+        JIS_X_0201_OLD.Encoder encoderJ0201;
+
+        private final Surrogate.Parser sgp = new Surrogate.Parser();
+        private static final short[] jis0208Index1 =
+            JIS_X_0208_Encoder.getIndex1();
+        private static final String[] jis0208Index2 =
+            JIS_X_0208_Encoder.getIndex2();
+
+        private Encoder(Charset cs) {
+            super(cs, 2.0f, 2.0f);
+            encoderJ0201 = new JIS_X_0201_OLD.Encoder(cs);
+        }
+
+        public boolean canEncode(char c) {
+            byte[]  encodedBytes = new byte[2];
+
+            if (encodeSingle(c, encodedBytes) == 0) { //doublebyte
+                if (encodeDouble(c) == 0)
+                    return false;
+            }
+            return true;
+        }
+
+        protected int encodeSingle(char inputChar, byte[] outputByte) {
+            byte b;
+
+            if (inputChar == 0) {
+                outputByte[0] = (byte)0;
+                return 1;
+            }
+
+            if ((b = encoderJ0201.encode(inputChar)) == 0)
+                return 0;
+
+            if (b > 0 && b < 128) {
+                outputByte[0] = b;
+                return 1;
+            }
+            outputByte[0] = (byte)0x8e;
+            outputByte[1] = b;
+            return 2;
+        }
+
+        protected int encodeDouble(char ch) {
+            int offset = jis0208Index1[((ch & 0xff00) >> 8 )] << 8;
+            int r = jis0208Index2[offset >> 12].charAt((offset & 0xfff) + (ch & 0xff));
+            if (r != 0)
+                return r + 0x8080;
+            return r;
+        }
+
+        private CoderResult encodeArrayLoop(CharBuffer src,
+                                            ByteBuffer dst)
+        {
+            char[] sa = src.array();
+            int sp = src.arrayOffset() + src.position();
+            int sl = src.arrayOffset() + src.limit();
+            assert (sp <= sl);
+            sp = (sp <= sl ? sp : sl);
+            byte[] da = dst.array();
+            int dp = dst.arrayOffset() + dst.position();
+            int dl = dst.arrayOffset() + dst.limit();
+            assert (dp <= dl);
+            dp = (dp <= dl ? dp : dl);
+
+            final byte[]  outputByte = new byte[2];
+
+            try {
+                while (sp < sl) {
+                    char c = sa[sp];
+
+                    if (Character.isSurrogate(c)) {
+                        if (sgp.parse(c, sa, sp, sl) < 0)
+                            return sgp.error();
+                        return sgp.unmappableResult();
+                    }
+
+                    int outputSize = encodeSingle(c, outputByte);
+                    if (outputSize == 0) { // DoubleByte
+                        int ncode = encodeDouble(c);
+                        if (ncode != 0 && ((ncode & 0xFF0000) == 0)) {
+                                outputByte[0] = (byte) ((ncode & 0xff00) >> 8);
+                                outputByte[1] = (byte) (ncode & 0xff);
+                                outputSize = 2;
+                        } else {
+                                return CoderResult.unmappableForLength(1);
+                        }
+                    }
+
+                    if (dl - dp < outputSize)
+                        return CoderResult.OVERFLOW;
+                    // Put the byte in the output buffer
+                    for (int i = 0; i < outputSize; i++) {
+                        da[dp++] = outputByte[i];
+                    }
+                    sp++;
+                }
+                return CoderResult.UNDERFLOW;
+            } finally {
+                src.position(sp - src.arrayOffset());
+                dst.position(dp - dst.arrayOffset());
+            }
+        }
+
+        private CoderResult encodeBufferLoop(CharBuffer src,
+                                             ByteBuffer dst)
+        {
+            final byte[]  outputByte = new byte[4];
+            int mark = src.position();
+
+            try {
+                while (src.hasRemaining()) {
+                    char c = src.get();
+                    if (Character.isSurrogate(c)) {
+                        if (sgp.parse(c, src) < 0)
+                            return sgp.error();
+                        return sgp.unmappableResult();
+                    }
+
+                    int outputSize = encodeSingle(c, outputByte);
+                    if (outputSize == 0) { // DoubleByte
+                        int ncode = encodeDouble(c);
+                        if (ncode != 0 ) {
+                            if ((ncode & 0xFF0000) == 0) {
+                                outputByte[0] = (byte) ((ncode & 0xff00) >> 8);
+                                outputByte[1] = (byte) (ncode & 0xff);
+                                outputSize = 2;
+                            }
+                        } else {
+                                return CoderResult.unmappableForLength(1);
+                        }
+                    }
+
+                    if (dst.remaining() < outputSize)
+                        return CoderResult.OVERFLOW;
+
+                    // Put the byte in the output buffer
+                    for (int i = 0; i < outputSize; i++) {
+                        dst.put(outputByte[i]);
+                    }
+                    mark++;
+                }
+                return CoderResult.UNDERFLOW;
+            } finally {
+                src.position(mark);
+            }
+        }
+
+        protected CoderResult encodeLoop(CharBuffer src,
+                                         ByteBuffer dst)
+        {
+            if (src.hasArray() && dst.hasArray())
+                return encodeArrayLoop(src, dst);
+            else
+                return encodeBufferLoop(src, dst);
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/sun/nio/cs/OLD/EUC_JP_OLD.java	Wed Aug 01 11:08:11 2012 -0400
@@ -0,0 +1,420 @@
+/*
+ * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code 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
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ */
+
+import java.nio.ByteBuffer;
+import java.nio.CharBuffer;
+import java.nio.charset.Charset;
+import java.nio.charset.CharsetDecoder;
+import java.nio.charset.CharsetEncoder;
+import java.nio.charset.CoderResult;
+import sun.nio.cs.HistoricallyNamedCharset;
+import sun.nio.cs.Surrogate;
+
+public class EUC_JP_OLD
+    extends Charset
+    implements HistoricallyNamedCharset
+{
+    public EUC_JP_OLD() {
+        super("EUC-JP_OLD", null);
+    }
+
+    public String historicalName() {
+        return "EUC_JP";
+    }
+
+    public boolean contains(Charset cs) {
+        return ((cs.name().equals("US-ASCII"))
+                || (cs instanceof JIS_X_0201_OLD)
+                || (cs instanceof JIS_X_0208_OLD)
+                || (cs instanceof JIS_X_0212_OLD)
+                || (cs instanceof EUC_JP_OLD));
+    }
+
+    public CharsetDecoder newDecoder() {
+        return new Decoder(this);
+    }
+
+    public CharsetEncoder newEncoder() {
+
+        // Need to force the replacement byte to 0x3f
+        // because JIS_X_0208_Encoder defines its own
+        // alternative 2 byte substitution to permit it
+        // to exist as a self-standing Encoder
+
+        byte[] replacementBytes = { (byte)0x3f };
+        return new Encoder(this).replaceWith(replacementBytes);
+    }
+
+
+    static class Decoder extends JIS_X_0208_Decoder {
+
+        JIS_X_0201_OLD.Decoder decoderJ0201;
+        JIS_X_0212_Decoder decoderJ0212;
+
+        private static final short[] j0208Index1 =
+          JIS_X_0208_Decoder.getIndex1();
+        private static final String[] j0208Index2 =
+          JIS_X_0208_Decoder.getIndex2();
+
+        protected Decoder(Charset cs) {
+            super(cs);
+            decoderJ0201 = new JIS_X_0201_OLD.Decoder(cs);
+            decoderJ0212 = new JIS_X_0212_Decoder(cs);
+            start = 0xa1;
+            end = 0xfe;
+        }
+        protected char decode0212(int byte1, int byte2) {
+             return decoderJ0212.decodeDouble(byte1, byte2);
+        }
+
+        protected char decodeDouble(int byte1, int byte2) {
+            if (byte1 == 0x8e) {
+                return decoderJ0201.decode(byte2 - 256);
+            }
+            // Fix for bug 4121358 - similar fix for bug 4117820 put
+            // into ByteToCharDoubleByte.getUnicode()
+            if (((byte1 < 0) || (byte1 > getIndex1().length))
+                || ((byte2 < start) || (byte2 > end)))
+                return REPLACE_CHAR;
+
+            int n = (j0208Index1[byte1 - 0x80] & 0xf) * (end - start + 1)
+                    + (byte2 - start);
+            return j0208Index2[j0208Index1[byte1 - 0x80] >> 4].charAt(n);
+        }
+
+        private CoderResult decodeArrayLoop(ByteBuffer src,
+                                            CharBuffer dst)
+        {
+            byte[] sa = src.array();
+            int sp = src.arrayOffset() + src.position();
+            int sl = src.arrayOffset() + src.limit();
+            assert (sp <= sl);
+            sp = (sp <= sl ? sp : sl);
+
+            char[] da = dst.array();
+            int dp = dst.arrayOffset() + dst.position();
+            int dl = dst.arrayOffset() + dst.limit();
+            assert (dp <= dl);
+            dp = (dp <= dl ? dp : dl);
+
+            int b1 = 0, b2 = 0;
+            int inputSize = 0;
+            char outputChar = REPLACE_CHAR; // U+FFFD;
+
+            try {
+                while (sp < sl) {
+                    b1 = sa[sp] & 0xff;
+                    inputSize = 1;
+
+                    if ((b1 & 0x80) == 0) {
+                        outputChar = (char)b1;
+                    }
+                    else {      // Multibyte char
+                        if ((b1 & 0xff) == 0x8f) {   // JIS0212
+                            if (sp + 3 > sl)
+                               return CoderResult.UNDERFLOW;
+                            b1 = sa[sp + 1] & 0xff;
+                            b2 = sa[sp + 2] & 0xff;
+                            inputSize += 2;
+                            outputChar = decode0212(b1-0x80, b2-0x80);
+                        } else {
+                          // JIS0208
+                            if (sp + 2 > sl)
+                               return CoderResult.UNDERFLOW;
+                            b2 = sa[sp + 1] & 0xff;
+                            inputSize++;
+                            outputChar = decodeDouble(b1, b2);
+                        }
+                    }
+                    if (outputChar == REPLACE_CHAR) { // can't be decoded
+                        return CoderResult.unmappableForLength(inputSize);
+                    }
+                    if (dp + 1 > dl)
+                        return CoderResult.OVERFLOW;
+                    da[dp++] = outputChar;
+                    sp += inputSize;
+                }
+                return CoderResult.UNDERFLOW;
+            } finally {
+                src.position(sp - src.arrayOffset());
+                dst.position(dp - dst.arrayOffset());
+            }
+        }
+
+        private CoderResult decodeBufferLoop(ByteBuffer src,
+                                             CharBuffer dst)
+        {
+            int mark = src.position();
+            int b1 = 0, b2 = 0;
+            int inputSize = 0;
+
+            char outputChar = REPLACE_CHAR; // U+FFFD;
+
+            try {
+                while (src.hasRemaining()) {
+                    b1 = src.get() & 0xff;
+                    inputSize = 1;
+
+                    if ((b1 & 0x80) == 0) {
+                        outputChar = (char)b1;
+                    } else {    // Multibyte char
+                        if ((b1 & 0xff) == 0x8f) {   // JIS0212
+                            if (src.remaining() < 2)
+                               return CoderResult.UNDERFLOW;
+                            b1 = src.get() & 0xff;
+                            b2 = src.get() & 0xff;
+                            inputSize += 2;
+                            outputChar = decode0212(b1-0x80, b2-0x80);
+                        } else {
+                          // JIS0208
+                            if (src.remaining() < 1)
+                               return CoderResult.UNDERFLOW;
+                            b2 = src.get() & 0xff;
+                            inputSize++;
+                            outputChar = decodeDouble(b1, b2);
+                        }
+                    }
+
+                    if (outputChar == REPLACE_CHAR) {
+                        return CoderResult.unmappableForLength(inputSize);
+                    }
+                if (dst.remaining() < 1)
+                    return CoderResult.OVERFLOW;
+                dst.put(outputChar);
+                mark += inputSize;
+                }
+                return CoderResult.UNDERFLOW;
+            } finally {
+                src.position(mark);
+            }
+        }
+
+        // Make some protected methods public for use by JISAutoDetect
+        public CoderResult decodeLoop(ByteBuffer src, CharBuffer dst) {
+            if (src.hasArray() && dst.hasArray())
+                return decodeArrayLoop(src, dst);
+            else
+                return decodeBufferLoop(src, dst);
+        }
+        public void implReset() {
+            super.implReset();
+        }
+        public CoderResult implFlush(CharBuffer out) {
+            return super.implFlush(out);
+        }
+    }
+
+
+    static class Encoder extends JIS_X_0208_Encoder {
+
+        JIS_X_0201_OLD.Encoder encoderJ0201;
+        JIS_X_0212_Encoder encoderJ0212;
+
+        private static final short[] j0208Index1 =
+          JIS_X_0208_Encoder.getIndex1();
+        private static final String[] j0208Index2 =
+          JIS_X_0208_Encoder.getIndex2();
+
+        private final Surrogate.Parser sgp = new Surrogate.Parser();
+
+        protected Encoder(Charset cs) {
+            super(cs, 3.0f, 3.0f);
+            encoderJ0201 = new JIS_X_0201_OLD.Encoder(cs);
+            encoderJ0212 = new JIS_X_0212_Encoder(cs);
+        }
+
+        public boolean canEncode(char c) {
+            byte[]  encodedBytes = new byte[3];
+
+            if (encodeSingle(c, encodedBytes) == 0) { //doublebyte
+                if (encodeDouble(c) == 0)
+                    return false;
+            }
+            return true;
+        }
+
+        protected int encodeSingle(char inputChar, byte[] outputByte) {
+            byte b;
+
+            if (inputChar == 0) {
+                outputByte[0] = (byte)0;
+                return 1;
+            }
+
+            if ((b = encoderJ0201.encode(inputChar)) == 0)
+                return 0;
+
+            if (b > 0 && b < 128) {
+                outputByte[0] = b;
+                return 1;
+            }
+
+            outputByte[0] = (byte)0x8e;
+            outputByte[1] = b;
+            return 2;
+        }
+
+        protected int encodeDouble(char ch) {
+            int offset = j0208Index1[((ch & 0xff00) >> 8 )] << 8;
+            int r = j0208Index2[offset >> 12].charAt((offset & 0xfff) +
+                    (ch & 0xff));
+            if (r != 0)
+                return r + 0x8080;
+            r = encoderJ0212.encodeDouble(ch);
+            if (r == 0)
+                return r;
+            return r + 0x8F8080;
+        }
+
+        private CoderResult encodeArrayLoop(CharBuffer src,
+                                            ByteBuffer dst)
+        {
+            char[] sa = src.array();
+            int sp = src.arrayOffset() + src.position();
+            int sl = src.arrayOffset() + src.limit();
+            assert (sp <= sl);
+            sp = (sp <= sl ? sp : sl);
+            byte[] da = dst.array();
+            int dp = dst.arrayOffset() + dst.position();
+            int dl = dst.arrayOffset() + dst.limit();
+            assert (dp <= dl);
+            dp = (dp <= dl ? dp : dl);
+
+            int outputSize = 0;
+            byte[]  outputByte;
+            int     inputSize = 0;                 // Size of input
+            byte[]  tmpBuf = new byte[3];
+
+            try {
+                while (sp < sl) {
+                    outputByte = tmpBuf;
+                    char c = sa[sp];
+
+                    if (Character.isSurrogate(c)) {
+                        if (sgp.parse(c, sa, sp, sl) < 0)
+                            return sgp.error();
+                        return sgp.unmappableResult();
+                    }
+
+                    outputSize = encodeSingle(c, outputByte);
+
+                    if (outputSize == 0) { // DoubleByte
+                        int ncode = encodeDouble(c);
+                        if (ncode != 0 ) {
+                            if ((ncode & 0xFF0000) == 0) {
+                                outputByte[0] = (byte) ((ncode & 0xff00) >> 8);
+                                outputByte[1] = (byte) (ncode & 0xff);
+                                outputSize = 2;
+                            } else {
+                                outputByte[0] = (byte) 0x8f;
+                                outputByte[1] = (byte) ((ncode & 0xff00) >> 8);
+                                outputByte[2] = (byte) (ncode & 0xff);
+                                outputSize = 3;
+                            }
+                        } else {
+                                return CoderResult.unmappableForLength(1);
+                        }
+                    }
+                    if (dl - dp < outputSize)
+                        return CoderResult.OVERFLOW;
+                    // Put the byte in the output buffer
+                    for (int i = 0; i < outputSize; i++) {
+                        da[dp++] = outputByte[i];
+                    }
+                    sp++;
+                }
+                return CoderResult.UNDERFLOW;
+            } finally {
+                src.position(sp - src.arrayOffset());
+                dst.position(dp - dst.arrayOffset());
+            }
+        }
+
+        private CoderResult encodeBufferLoop(CharBuffer src,
+                                             ByteBuffer dst)
+        {
+            int outputSize = 0;
+            byte[]  outputByte;
+            int     inputSize = 0;                 // Size of input
+            byte[]  tmpBuf = new byte[3];
+
+            int mark = src.position();
+
+            try {
+                while (src.hasRemaining()) {
+                    outputByte = tmpBuf;
+                    char c = src.get();
+                    if (Character.isSurrogate(c)) {
+                        if (sgp.parse(c, src) < 0)
+                            return sgp.error();
+                        return sgp.unmappableResult();
+                    }
+
+                    outputSize = encodeSingle(c, outputByte);
+                    if (outputSize == 0) { // DoubleByte
+                        int ncode = encodeDouble(c);
+                        if (ncode != 0 ) {
+                            if ((ncode & 0xFF0000) == 0) {
+                                outputByte[0] = (byte) ((ncode & 0xff00) >> 8);
+                                outputByte[1] = (byte) (ncode & 0xff);
+                                outputSize = 2;
+                            } else {
+                                outputByte[0] = (byte) 0x8f;
+                                outputByte[1] = (byte) ((ncode & 0xff00) >> 8);
+                                outputByte[2] = (byte) (ncode & 0xff);
+                                outputSize = 3;
+                            }
+                        } else {
+                                return CoderResult.unmappableForLength(1);
+                        }
+                    }
+
+                    if (dst.remaining() < outputSize)
+                        return CoderResult.OVERFLOW;
+                    // Put the byte in the output buffer
+                    for (int i = 0; i < outputSize; i++) {
+                        dst.put(outputByte[i]);
+                    }
+                    mark++;
+                }
+                return CoderResult.UNDERFLOW;
+            } finally {
+                src.position(mark);
+            }
+        }
+
+        protected CoderResult encodeLoop(CharBuffer src,
+                                         ByteBuffer dst)
+        {
+            if (src.hasArray() && dst.hasArray())
+                return encodeArrayLoop(src, dst);
+            else
+                return encodeBufferLoop(src, dst);
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/sun/nio/cs/OLD/EUC_JP_Open_OLD.java	Wed Aug 01 11:08:11 2012 -0400
@@ -0,0 +1,175 @@
+/*
+ * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code 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
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ */
+
+import java.nio.ByteBuffer;
+import java.nio.CharBuffer;
+import java.nio.charset.Charset;
+import java.nio.charset.CharsetDecoder;
+import java.nio.charset.CharsetEncoder;
+import java.nio.charset.CoderResult;
+import sun.nio.cs.HistoricallyNamedCharset;
+import sun.nio.cs.Surrogate;
+
+public class EUC_JP_Open_OLD
+    extends Charset
+    implements HistoricallyNamedCharset
+{
+    public EUC_JP_Open_OLD() {
+        super("x-eucJP-Open_OLD", null);
+    }
+
+    public String historicalName() {
+        return "EUC_JP_Solaris";
+    }
+
+    public boolean contains(Charset cs) {
+        return ((cs.name().equals("US-ASCII"))
+                || (cs instanceof JIS_X_0201_OLD)
+                || (cs instanceof EUC_JP_OLD));
+    }
+
+    public CharsetDecoder newDecoder() {
+        return new Decoder(this);
+    }
+
+    public CharsetEncoder newEncoder() {
+
+        // Need to force the replacement byte to 0x3f
+        // because JIS_X_0208_Encoder defines its own
+        // alternative 2 byte substitution to permit it
+        // to exist as a self-standing Encoder
+
+        byte[] replacementBytes = { (byte)0x3f };
+        return new Encoder(this).replaceWith(replacementBytes);
+    }
+
+    private static class Decoder extends EUC_JP_OLD.Decoder {
+        JIS_X_0201_OLD.Decoder decoderJ0201;
+        JIS_X_0212_Solaris_Decoder decodeMappingJ0212;
+        JIS_X_0208_Solaris_Decoder decodeMappingJ0208;
+
+        private static final short[] j0208Index1 =
+          JIS_X_0208_Solaris_Decoder.getIndex1();
+        private static final String[] j0208Index2 =
+          JIS_X_0208_Solaris_Decoder.getIndex2();
+        private static final int start = 0xa1;
+        private static final int end = 0xfe;
+
+        protected final char REPLACE_CHAR='\uFFFD';
+
+        private Decoder(Charset cs) {
+            super(cs);
+            decoderJ0201 = new JIS_X_0201_OLD.Decoder(cs);
+            decodeMappingJ0212 = new JIS_X_0212_Solaris_Decoder(cs);
+        }
+
+
+        protected char decode0212(int byte1, int byte2) {
+             return decodeMappingJ0212.decodeDouble(byte1, byte2);
+
+        }
+
+        protected char decodeDouble(int byte1, int byte2) {
+            if (byte1 == 0x8e) {
+                return decoderJ0201.decode(byte2 - 256);
+            }
+
+            if (((byte1 < 0)
+                || (byte1 > j0208Index1.length))
+                || ((byte2 < start)
+                || (byte2 > end)))
+                return REPLACE_CHAR;
+
+            char result = super.decodeDouble(byte1, byte2);
+            if (result != '\uFFFD') {
+                return result;
+            } else {
+                int n = (j0208Index1[byte1 - 0x80] & 0xf) *
+                        (end - start + 1)
+                        + (byte2 - start);
+                return j0208Index2[j0208Index1[byte1 - 0x80] >> 4].charAt(n);
+            }
+        }
+    }
+
+
+    private static class Encoder extends EUC_JP_OLD.Encoder {
+
+        JIS_X_0201_OLD.Encoder encoderJ0201;
+        JIS_X_0212_Solaris_Encoder encoderJ0212;
+
+        private static final short[] j0208Index1 =
+            JIS_X_0208_Solaris_Encoder.getIndex1();
+        private static final String[] j0208Index2 =
+            JIS_X_0208_Solaris_Encoder.getIndex2();
+
+        private final Surrogate.Parser sgp = new Surrogate.Parser();
+
+        private Encoder(Charset cs) {
+            super(cs);
+            encoderJ0201 = new JIS_X_0201_OLD.Encoder(cs);
+            encoderJ0212 = new JIS_X_0212_Solaris_Encoder(cs);
+        }
+
+        protected int encodeSingle(char inputChar, byte[] outputByte) {
+            byte b;
+
+            if (inputChar == 0) {
+                outputByte[0] = (byte)0;
+                return 1;
+            }
+
+            if ((b = encoderJ0201.encode(inputChar)) == 0)
+                return 0;
+
+            if (b > 0 && b < 128) {
+                outputByte[0] = b;
+                return 1;
+            }
+
+            outputByte[0] = (byte)0x8e;
+            outputByte[1] = b;
+            return 2;
+        }
+
+        protected int encodeDouble(char ch) {
+            int r = super.encodeDouble(ch);
+            if (r != 0) {
+                return r;
+            }
+            else {
+                int offset = j0208Index1[((ch & 0xff00) >> 8 )] << 8;
+                r = j0208Index2[offset >> 12].charAt((offset & 0xfff) +
+                    (ch & 0xFF));
+                if (r > 0x7500)
+                   return 0x8F8080 + encoderJ0212.encodeDouble(ch);
+                }
+                return (r==0 ? 0: r + 0x8080);
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/sun/nio/cs/OLD/JIS_X_0201_OLD.java	Wed Aug 01 11:08:11 2012 -0400
@@ -0,0 +1,223 @@
+/*
+ * Copyright (c) 2002, 2005, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code 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
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ */
+
+
+import java.nio.charset.Charset;
+import java.nio.charset.CharsetDecoder;
+import java.nio.charset.CharsetEncoder;
+
+public class JIS_X_0201_OLD
+    extends Charset
+{
+
+    public JIS_X_0201_OLD() {
+        super("JIS_X0201_OLD", null);
+    }
+
+    public boolean contains(Charset cs) {
+        return ((cs.name().equals("US-ASCII"))
+                || (cs instanceof JIS_X_0201_OLD));
+    }
+
+    public CharsetDecoder newDecoder() {
+        return new Decoder(this);
+    }
+
+    public CharsetEncoder newEncoder() {
+        return new Encoder(this);
+    }
+
+    public static class Decoder extends SingleByteDecoder {
+
+        public Decoder(Charset cs) {
+            super(cs, byteToCharTable);
+        }
+
+        private final static String byteToCharTable =
+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +    // 0x80 - 0x87
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +    // 0x88 - 0x8F
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +    // 0x90 - 0x97
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +    // 0x98 - 0x9F
+        "\uFFFD\uFF61\uFF62\uFF63\uFF64\uFF65\uFF66\uFF67" +    // 0xA0 - 0xA7
+        "\uFF68\uFF69\uFF6A\uFF6B\uFF6C\uFF6D\uFF6E\uFF6F" +    // 0xA8 - 0xAF
+        "\uFF70\uFF71\uFF72\uFF73\uFF74\uFF75\uFF76\uFF77" +    // 0xB0 - 0xB7
+        "\uFF78\uFF79\uFF7A\uFF7B\uFF7C\uFF7D\uFF7E\uFF7F" +    // 0xB8 - 0xBF
+        "\uFF80\uFF81\uFF82\uFF83\uFF84\uFF85\uFF86\uFF87" +    // 0xC0 - 0xC7
+        "\uFF88\uFF89\uFF8A\uFF8B\uFF8C\uFF8D\uFF8E\uFF8F" +    // 0xC8 - 0xCF
+        "\uFF90\uFF91\uFF92\uFF93\uFF94\uFF95\uFF96\uFF97" +    // 0xD0 - 0xD7
+        "\uFF98\uFF99\uFF9A\uFF9B\uFF9C\uFF9D\uFF9E\uFF9F" +    // 0xD8 - 0xDF
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +    // 0xE0 - 0xE7
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +    // 0xE8 - 0xEF
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +    // 0xF0 - 0xF7
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +    // 0xF8 - 0xFF
+        "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +    // 0x00 - 0x07
+        "\b\t\n\u000B\f\r\u000E\u000F" +        // 0x08 - 0x0F
+        "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +    // 0x10 - 0x17
+        "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +    // 0x18 - 0x1F
+        "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +    // 0x20 - 0x27
+        "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +    // 0x28 - 0x2F
+        "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +    // 0x30 - 0x37
+        "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +    // 0x38 - 0x3F
+        "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +    // 0x40 - 0x47
+        "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +    // 0x48 - 0x4F
+        "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +    // 0x50 - 0x57
+        "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +        // 0x58 - 0x5F
+        "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +    // 0x60 - 0x67
+        "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +    // 0x68 - 0x6F
+        "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +    // 0x70 - 0x77
+        "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";     // 0x78 - 0x7F
+    }
+
+    public static class Encoder extends SingleByteEncoder {
+
+        public Encoder(Charset cs) {
+            super(cs, index1, index2, 0xFF00, 0x00FF, 8);
+        }
+
+        private final static String index2 =
+
+            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
+            "\b\t\n\u000B\f\r\u000E\u000F" +
+            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
+            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
+            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
+            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
+            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
+            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
+            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
+            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
+            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
+            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
+            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
+            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
+            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
+            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\\\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u007E\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u00A1\u00A2\u00A3\u00A4\u00A5\u00A6\u00A7\u00A8" +
+            "\u00A9\u00AA\u00AB\u00AC\u00AD\u00AE\u00AF\u00B0" +
+            "\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7\u00B8" +
+            "\u00B9\u00BA\u00BB\u00BC\u00BD\u00BE\u00BF\u00C0" +
+            "\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7\u00C8" +
+            "\u00C9\u00CA\u00CB\u00CC\u00CD\u00CE\u00CF\u00D0" +
+            "\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6\u00D7\u00D8" +
+            "\u00D9\u00DA\u00DB\u00DC\u00DD\u00DE\u00DF\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
+            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
+
+        private final static short index1[] = {
+            0, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+            166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+            360, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+            166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+            166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+            166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+            166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+            166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+            166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+            166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+            166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+            166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+            166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+            166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+            166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+            166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 519,
+        };
+    }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/sun/nio/cs/OLD/JIS_X_0208_Decoder.java	Wed Aug 01 11:08:11 2012 -0400
@@ -0,0 +1,1009 @@
+/*
+ * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code 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
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ */
+
+
+import java.nio.charset.Charset;
+import java.nio.charset.CharsetDecoder;
+
+public class JIS_X_0208_Decoder extends DoubleByteDecoder
+{
+    public JIS_X_0208_Decoder(Charset cs) {
+        super(cs,
+              index1,
+              index2,
+              0x21,
+              0x7E);
+    }
+
+    private final static String innerIndex0=
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u3000\u3001"+
+        "\u3002\uFF0C\uFF0E\u30FB\uFF1A\uFF1B\uFF1F\uFF01"+
+        "\u309B\u309C\u00B4\uFF40\u00A8\uFF3E\uFFE3\uFF3F"+
+        "\u30FD\u30FE\u309D\u309E\u3003\u4EDD\u3005\u3006"+
+        "\u3007\u30FC\u2014\u2010\uFF0F\uFF3C\u301C\u2016"+
+        "\uFF5C\u2026\u2025\u2018\u2019\u201C\u201D\uFF08"+
+        "\uFF09\u3014\u3015\uFF3B\uFF3D\uFF5B\uFF5D\u3008"+
+        "\u3009\u300A\u300B\u300C\u300D\u300E\u300F\u3010"+
+        "\u3011\uFF0B\u2212\u00B1\u00D7\u00F7\uFF1D\u2260"+
+        "\uFF1C\uFF1E\u2266\u2267\u221E\u2234\u2642\u2640"+
+        "\u00B0\u2032\u2033\u2103\uFFE5\uFF04\u00A2\u00A3"+
+        "\uFF05\uFF03\uFF06\uFF0A\uFF20\u00A7\u2606\u2605"+
+        "\u25CB\u25CF\u25CE\u25C7\u25C6\u25A1\u25A0\u25B3"+
+        "\u25B2\u25BD\u25BC\u203B\u3012\u2192\u2190\u2191"+
+        "\u2193\u3013\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2208\u220B\u2286"+
+        "\u2287\u2282\u2283\u222A\u2229\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2227\u2228\u00AC"+
+        "\u21D2\u21D4\u2200\u2203\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2220"+
+        "\u22A5\u2312\u2202\u2207\u2261\u2252\u226A\u226B"+
+        "\u221A\u223D\u221D\u2235\u222B\u222C\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u212B\u2030\u266F"+
+        "\u266D\u266A\u2020\u2021\u00B6\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\u25EF\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFF10\uFF11\uFF12\uFF13\uFF14\uFF15\uFF16"+
+        "\uFF17\uFF18\uFF19\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFF21\uFF22\uFF23\uFF24\uFF25\uFF26"+
+        "\uFF27\uFF28\uFF29\uFF2A\uFF2B\uFF2C\uFF2D\uFF2E"+
+        "\uFF2F\uFF30\uFF31\uFF32\uFF33\uFF34\uFF35\uFF36"+
+        "\uFF37\uFF38\uFF39\uFF3A\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFF41\uFF42\uFF43\uFF44\uFF45\uFF46"+
+        "\uFF47\uFF48\uFF49\uFF4A\uFF4B\uFF4C\uFF4D\uFF4E"+
+        "\uFF4F\uFF50\uFF51\uFF52\uFF53\uFF54\uFF55\uFF56"+
+        "\uFF57\uFF58\uFF59\uFF5A\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\u3041\u3042\u3043\u3044\u3045\u3046\u3047\u3048"+
+        "\u3049\u304A\u304B\u304C\u304D\u304E\u304F\u3050"+
+        "\u3051\u3052\u3053\u3054\u3055\u3056\u3057\u3058"+
+        "\u3059\u305A\u305B\u305C\u305D\u305E\u305F\u3060"+
+        "\u3061\u3062\u3063\u3064\u3065\u3066\u3067\u3068"+
+        "\u3069\u306A\u306B\u306C\u306D\u306E\u306F\u3070"+
+        "\u3071\u3072\u3073\u3074\u3075\u3076\u3077\u3078"+
+        "\u3079\u307A\u307B\u307C\u307D\u307E\u307F\u3080"+
+        "\u3081\u3082\u3083\u3084\u3085\u3086\u3087\u3088"+
+        "\u3089\u308A\u308B\u308C\u308D\u308E\u308F\u3090"+
+        "\u3091\u3092\u3093\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u30A1\u30A2"+
+        "\u30A3\u30A4\u30A5\u30A6\u30A7\u30A8\u30A9\u30AA"+
+        "\u30AB\u30AC\u30AD\u30AE\u30AF\u30B0\u30B1\u30B2"+
+        "\u30B3\u30B4\u30B5\u30B6\u30B7\u30B8\u30B9\u30BA"+
+        "\u30BB\u30BC\u30BD\u30BE\u30BF\u30C0\u30C1\u30C2"+
+        "\u30C3\u30C4\u30C5\u30C6\u30C7\u30C8\u30C9\u30CA"+
+        "\u30CB\u30CC\u30CD\u30CE\u30CF\u30D0\u30D1\u30D2"+
+        "\u30D3\u30D4\u30D5\u30D6\u30D7\u30D8\u30D9\u30DA"+
+        "\u30DB\u30DC\u30DD\u30DE\u30DF\u30E0\u30E1\u30E2"+
+        "\u30E3\u30E4\u30E5\u30E6\u30E7\u30E8\u30E9\u30EA"+
+        "\u30EB\u30EC\u30ED\u30EE\u30EF\u30F0\u30F1\u30F2"+
+        "\u30F3\u30F4\u30F5\u30F6\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\u0391\u0392\u0393\u0394"+
+        "\u0395\u0396\u0397\u0398\u0399\u039A\u039B\u039C"+
+        "\u039D\u039E\u039F\u03A0\u03A1\u03A3\u03A4\u03A5"+
+        "\u03A6\u03A7\u03A8\u03A9\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\u03B1\u03B2\u03B3\u03B4"+
+        "\u03B5\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC"+
+        "\u03BD\u03BE\u03BF\u03C0\u03C1\u03C3\u03C4\u03C5"+
+        "\u03C6\u03C7\u03C8\u03C9\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\u0410\u0411\u0412\u0413\u0414\u0415"+
+        "\u0401\u0416\u0417\u0418\u0419\u041A\u041B\u041C"+
+        "\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424"+
+        "\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C"+
+        "\u042D\u042E\u042F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\u0430\u0431\u0432\u0433\u0434\u0435"+
+        "\u0451\u0436\u0437\u0438\u0439\u043A\u043B\u043C"+
+        "\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444"+
+        "\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C"+
+        "\u044D\u044E\u044F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\u2500\u2502\u250C\u2510\u2518\u2514\u251C\u252C"+
+        "\u2524\u2534\u253C\u2501\u2503\u250F\u2513\u251B"+
+        "\u2517\u2523\u2533\u252B\u253B\u254B\u2520\u252F"+
+        "\u2528\u2537\u253F\u251D\u2530\u2525\u2538\u2542"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u4E9C\u5516"+
+        "\u5A03\u963F\u54C0\u611B\u6328\u59F6\u9022\u8475"+
+        "\u831C\u7A50\u60AA\u63E1\u6E25\u65ED\u8466\u82A6"+
+        "\u9BF5\u6893\u5727\u65A1\u6271\u5B9B\u59D0\u867B"+
+        "\u98F4\u7D62\u7DBE\u9B8E\u6216\u7C9F\u88B7\u5B89"+
+        "\u5EB5\u6309\u6697\u6848\u95C7\u978D\u674F\u4EE5"+
+        "\u4F0A\u4F4D\u4F9D\u5049\u56F2\u5937\u59D4\u5A01"+
+        "\u5C09\u60DF\u610F\u6170\u6613\u6905\u70BA\u754F"+
+        "\u7570\u79FB\u7DAD\u7DEF\u80C3\u840E\u8863\u8B02"+
+        "\u9055\u907A\u533B\u4E95\u4EA5\u57DF\u80B2\u90C1"+
+        "\u78EF\u4E00\u58F1\u6EA2\u9038\u7A32\u8328\u828B"+
+        "\u9C2F\u5141\u5370\u54BD\u54E1\u56E0\u59FB\u5F15"+
+        "\u98F2\u6DEB\u80E4\u852D\u9662\u9670\u96A0\u97FB"+
+        "\u540B\u53F3\u5B87\u70CF\u7FBD\u8FC2\u96E8\u536F"+
+        "\u9D5C\u7ABA\u4E11\u7893\u81FC\u6E26\u5618\u5504"+
+        "\u6B1D\u851A\u9C3B\u59E5\u53A9\u6D66\u74DC\u958F"+
+        "\u5642\u4E91\u904B\u96F2\u834F\u990C\u53E1\u55B6"+
+        "\u5B30\u5F71\u6620\u66F3\u6804\u6C38\u6CF3\u6D29"+
+        "\u745B\u76C8\u7A4E\u9834\u82F1\u885B\u8A60\u92ED"+
+        "\u6DB2\u75AB\u76CA\u99C5\u60A6\u8B01\u8D8A\u95B2"+
+        "\u698E\u53AD\u5186\u5712\u5830\u5944\u5BB4\u5EF6"+
+        "\u6028\u63A9\u63F4\u6CBF\u6F14\u708E\u7114\u7159"+
+        "\u71D5\u733F\u7E01\u8276\u82D1\u8597\u9060\u925B"+
+        "\u9D1B\u5869\u65BC\u6C5A\u7525\u51F9\u592E\u5965"+
+        "\u5F80\u5FDC\u62BC\u65FA\u6A2A\u6B27\u6BB4\u738B"+
+        "\u7FC1\u8956\u9D2C\u9D0E\u9EC4\u5CA1\u6C96\u837B"+
+        "\u5104\u5C4B\u61B6\u81C6\u6876\u7261\u4E59\u4FFA"+
+        "\u5378\u6069\u6E29\u7A4F\u97F3\u4E0B\u5316\u4EEE"+
+        "\u4F55\u4F3D\u4FA1\u4F73\u52A0\u53EF\u5609\u590F"+
+        "\u5AC1\u5BB6\u5BE1\u79D1\u6687\u679C\u67B6\u6B4C"+
+        "\u6CB3\u706B\u73C2\u798D\u79BE\u7A3C\u7B87\u82B1"+
+        "\u82DB\u8304\u8377\u83EF\u83D3\u8766\u8AB2\u5629"+
+        "\u8CA8\u8FE6\u904E\u971E\u868A\u4FC4\u5CE8\u6211"+
+        "\u7259\u753B\u81E5\u82BD\u86FE\u8CC0\u96C5\u9913"+
+        "\u99D5\u4ECB\u4F1A\u89E3\u56DE\u584A\u58CA\u5EFB"+
+        "\u5FEB\u602A\u6094\u6062\u61D0\u6212\u62D0\u6539"+
+        "\u9B41\u6666\u68B0\u6D77\u7070\u754C\u7686\u7D75"+
+        "\u82A5\u87F9\u958B\u968E\u8C9D\u51F1\u52BE\u5916"+
+        "\u54B3\u5BB3\u5D16\u6168\u6982\u6DAF\u788D\u84CB"+
+        "\u8857\u8A72\u93A7\u9AB8\u6D6C\u99A8\u86D9\u57A3"+
+        "\u67FF\u86CE\u920E\u5283\u5687\u5404\u5ED3\u62E1"+
+        "\u64B9\u683C\u6838\u6BBB\u7372\u78BA\u7A6B\u899A"+
+        "\u89D2\u8D6B\u8F03\u90ED\u95A3\u9694\u9769\u5B66"+
+        "\u5CB3\u697D\u984D\u984E\u639B\u7B20\u6A2B\u6A7F"+
+        "\u68B6\u9C0D\u6F5F\u5272\u559D\u6070\u62EC\u6D3B"+
+        "\u6E07\u6ED1\u845B\u8910\u8F44\u4E14\u9C39\u53F6"+
+        "\u691B\u6A3A\u9784\u682A\u515C\u7AC3\u84B2\u91DC"+
+        "\u938C\u565B\u9D28\u6822\u8305\u8431\u7CA5\u5208"+
+        "\u82C5\u74E6\u4E7E\u4F83\u51A0\u5BD2\u520A\u52D8"+
+        "\u52E7\u5DFB\u559A\u582A\u59E6\u5B8C\u5B98\u5BDB"+
+        "\u5E72\u5E79\u60A3\u611F\u6163\u61BE\u63DB\u6562"+
+        "\u67D1\u6853\u68FA\u6B3E\u6B53\u6C57\u6F22\u6F97"+
+        "\u6F45\u74B0\u7518\u76E3\u770B\u7AFF\u7BA1\u7C21"+
+        "\u7DE9\u7F36\u7FF0\u809D\u8266\u839E\u89B3\u8ACC"+
+        "\u8CAB\u9084\u9451\u9593\u9591\u95A2\u9665\u97D3"+
+        "\u9928\u8218\u4E38\u542B\u5CB8\u5DCC\u73A9\u764C"+
+        "\u773C\u5CA9\u7FEB\u8D0B\u96C1\u9811\u9854\u9858"+
+        "\u4F01\u4F0E\u5371\u559C\u5668\u57FA\u5947\u5B09"+
+        "\u5BC4\u5C90\u5E0C\u5E7E\u5FCC\u63EE\u673A\u65D7"+
+        "\u65E2\u671F\u68CB\u68C4\u6A5F\u5E30\u6BC5\u6C17"+
+        "\u6C7D\u757F\u7948\u5B63\u7A00\u7D00\u5FBD\u898F"+
+        "\u8A18\u8CB4\u8D77\u8ECC\u8F1D\u98E2\u9A0E\u9B3C"+
+        "\u4E80\u507D\u5100\u5993\u5B9C\u622F\u6280\u64EC"+
+        "\u6B3A\u72A0\u7591\u7947\u7FA9\u87FB\u8ABC\u8B70"+
+        "\u63AC\u83CA\u97A0\u5409\u5403\u55AB\u6854\u6A58"+
+        "\u8A70\u7827\u6775\u9ECD\u5374\u5BA2\u811A\u8650"+
+        "\u9006\u4E18\u4E45\u4EC7\u4F11\u53CA\u5438\u5BAE"+
+        "\u5F13\u6025\u6551\u673D\u6C42\u6C72\u6CE3\u7078"+
+        "\u7403\u7A76\u7AAE\u7B08\u7D1A\u7CFE\u7D66\u65E7"+
+        "\u725B\u53BB\u5C45\u5DE8\u62D2\u62E0\u6319\u6E20"+
+        "\u865A\u8A31\u8DDD\u92F8\u6F01\u79A6\u9B5A\u4EA8"+
+        "\u4EAB\u4EAC\u4F9B\u4FA0\u50D1\u5147\u7AF6\u5171"+
+        "\u51F6\u5354\u5321\u537F\u53EB\u55AC\u5883\u5CE1"+
+        "\u5F37\u5F4A\u602F\u6050\u606D\u631F\u6559\u6A4B"+
+        "\u6CC1\u72C2\u72ED\u77EF\u80F8\u8105\u8208\u854E"+
+        "\u90F7\u93E1\u97FF\u9957\u9A5A\u4EF0\u51DD\u5C2D"+
+        "\u6681\u696D\u5C40\u66F2\u6975\u7389\u6850\u7C81"+
+        "\u50C5\u52E4\u5747\u5DFE\u9326\u65A4\u6B23\u6B3D"+
+        "\u7434\u7981\u79BD\u7B4B\u7DCA\u82B9\u83CC\u887F"+
+        "\u895F\u8B39\u8FD1\u91D1\u541F\u9280\u4E5D\u5036"+
+        "\u53E5\u533A\u72D7\u7396\u77E9\u82E6\u8EAF\u99C6"+
+        "\u99C8\u99D2\u5177\u611A\u865E\u55B0\u7A7A\u5076"+
+        "\u5BD3\u9047\u9685\u4E32\u6ADB\u91E7\u5C51\u5C48";
+
+    private final static String innerIndex1=
+        "\u6398\u7A9F\u6C93\u9774\u8F61\u7AAA\u718A\u9688"+
+        "\u7C82\u6817\u7E70\u6851\u936C\u52F2\u541B\u85AB"+
+        "\u8A13\u7FA4\u8ECD\u90E1\u5366\u8888\u7941\u4FC2"+
+        "\u50BE\u5211\u5144\u5553\u572D\u73EA\u578B\u5951"+
+        "\u5F62\u5F84\u6075\u6176\u6167\u61A9\u63B2\u643A"+
+        "\u656C\u666F\u6842\u6E13\u7566\u7A3D\u7CFB\u7D4C"+
+        "\u7D99\u7E4B\u7F6B\u830E\u834A\u86CD\u8A08\u8A63"+
+        "\u8B66\u8EFD\u981A\u9D8F\u82B8\u8FCE\u9BE8\u5287"+
+        "\u621F\u6483\u6FC0\u9699\u6841\u5091\u6B20\u6C7A"+
+        "\u6F54\u7A74\u7D50\u8840\u8A23\u6708\u4EF6\u5039"+
+        "\u5026\u5065\u517C\u5238\u5263\u55A7\u570F\u5805"+
+        "\u5ACC\u5EFA\u61B2\u61F8\u62F3\u6372\u691C\u6A29"+
+        "\u727D\u72AC\u732E\u7814\u786F\u7D79\u770C\u80A9"+
+        "\u898B\u8B19\u8CE2\u8ED2\u9063\u9375\u967A\u9855"+
+        "\u9A13\u9E78\u5143\u539F\u53B3\u5E7B\u5F26\u6E1B"+
+        "\u6E90\u7384\u73FE\u7D43\u8237\u8A00\u8AFA\u9650"+
+        "\u4E4E\u500B\u53E4\u547C\u56FA\u59D1\u5B64\u5DF1"+
+        "\u5EAB\u5F27\u6238\u6545\u67AF\u6E56\u72D0\u7CCA"+
+        "\u88B4\u80A1\u80E1\u83F0\u864E\u8A87\u8DE8\u9237"+
+        "\u96C7\u9867\u9F13\u4E94\u4E92\u4F0D\u5348\u5449"+
+        "\u543E\u5A2F\u5F8C\u5FA1\u609F\u68A7\u6A8E\u745A"+
+        "\u7881\u8A9E\u8AA4\u8B77\u9190\u4E5E\u9BC9\u4EA4"+
+        "\u4F7C\u4FAF\u5019\u5016\u5149\u516C\u529F\u52B9"+
+        "\u52FE\u539A\u53E3\u5411\u540E\u5589\u5751\u57A2"+
+        "\u597D\u5B54\u5B5D\u5B8F\u5DE5\u5DE7\u5DF7\u5E78"+
+        "\u5E83\u5E9A\u5EB7\u5F18\u6052\u614C\u6297\u62D8"+
+        "\u63A7\u653B\u6602\u6643\u66F4\u676D\u6821\u6897"+
+        "\u69CB\u6C5F\u6D2A\u6D69\u6E2F\u6E9D\u7532\u7687"+
+        "\u786C\u7A3F\u7CE0\u7D05\u7D18\u7D5E\u7DB1\u8015"+
+        "\u8003\u80AF\u80B1\u8154\u818F\u822A\u8352\u884C"+
+        "\u8861\u8B1B\u8CA2\u8CFC\u90CA\u9175\u9271\u783F"+
+        "\u92FC\u95A4\u964D\u9805\u9999\u9AD8\u9D3B\u525B"+
+        "\u52AB\u53F7\u5408\u58D5\u62F7\u6FE0\u8C6A\u8F5F"+
+        "\u9EB9\u514B\u523B\u544A\u56FD\u7A40\u9177\u9D60"+
+        "\u9ED2\u7344\u6F09\u8170\u7511\u5FFD\u60DA\u9AA8"+
+        "\u72DB\u8FBC\u6B64\u9803\u4ECA\u56F0\u5764\u58BE"+
+        "\u5A5A\u6068\u61C7\u660F\u6606\u6839\u68B1\u6DF7"+
+        "\u75D5\u7D3A\u826E\u9B42\u4E9B\u4F50\u53C9\u5506"+
+        "\u5D6F\u5DE6\u5DEE\u67FB\u6C99\u7473\u7802\u8A50"+
+        "\u9396\u88DF\u5750\u5EA7\u632B\u50B5\u50AC\u518D"+
+        "\u6700\u54C9\u585E\u59BB\u5BB0\u5F69\u624D\u63A1"+
+        "\u683D\u6B73\u6E08\u707D\u91C7\u7280\u7815\u7826"+
+        "\u796D\u658E\u7D30\u83DC\u88C1\u8F09\u969B\u5264"+
+        "\u5728\u6750\u7F6A\u8CA1\u51B4\u5742\u962A\u583A"+
+        "\u698A\u80B4\u54B2\u5D0E\u57FC\u7895\u9DFA\u4F5C"+
+        "\u524A\u548B\u643E\u6628\u6714\u67F5\u7A84\u7B56"+
+        "\u7D22\u932F\u685C\u9BAD\u7B39\u5319\u518A\u5237"+
+        "\u5BDF\u62F6\u64AE\u64E6\u672D\u6BBA\u85A9\u96D1"+
+        "\u7690\u9BD6\u634C\u9306\u9BAB\u76BF\u6652\u4E09"+
+        "\u5098\u53C2\u5C71\u60E8\u6492\u6563\u685F\u71E6"+
+        "\u73CA\u7523\u7B97\u7E82\u8695\u8B83\u8CDB\u9178"+
+        "\u9910\u65AC\u66AB\u6B8B\u4ED5\u4ED4\u4F3A\u4F7F"+
+        "\u523A\u53F8\u53F2\u55E3\u56DB\u58EB\u59CB\u59C9"+
+        "\u59FF\u5B50\u5C4D\u5E02\u5E2B\u5FD7\u601D\u6307"+
+        "\u652F\u5B5C\u65AF\u65BD\u65E8\u679D\u6B62\u6B7B"+
+        "\u6C0F\u7345\u7949\u79C1\u7CF8\u7D19\u7D2B\u80A2"+
+        "\u8102\u81F3\u8996\u8A5E\u8A69\u8A66\u8A8C\u8AEE"+
+        "\u8CC7\u8CDC\u96CC\u98FC\u6B6F\u4E8B\u4F3C\u4F8D"+
+        "\u5150\u5B57\u5BFA\u6148\u6301\u6642\u6B21\u6ECB"+
+        "\u6CBB\u723E\u74BD\u75D4\u78C1\u793A\u800C\u8033"+
+        "\u81EA\u8494\u8F9E\u6C50\u9E7F\u5F0F\u8B58\u9D2B"+
+        "\u7AFA\u8EF8\u5B8D\u96EB\u4E03\u53F1\u57F7\u5931"+
+        "\u5AC9\u5BA4\u6089\u6E7F\u6F06\u75BE\u8CEA\u5B9F"+
+        "\u8500\u7BE0\u5072\u67F4\u829D\u5C61\u854A\u7E1E"+
+        "\u820E\u5199\u5C04\u6368\u8D66\u659C\u716E\u793E"+
+        "\u7D17\u8005\u8B1D\u8ECA\u906E\u86C7\u90AA\u501F"+
+        "\u52FA\u5C3A\u6753\u707C\u7235\u914C\u91C8\u932B"+
+        "\u82E5\u5BC2\u5F31\u60F9\u4E3B\u53D6\u5B88\u624B"+
+        "\u6731\u6B8A\u72E9\u73E0\u7A2E\u816B\u8DA3\u9152"+
+        "\u9996\u5112\u53D7\u546A\u5BFF\u6388\u6A39\u7DAC"+
+        "\u9700\u56DA\u53CE\u5468\u5B97\u5C31\u5DDE\u4FEE"+
+        "\u6101\u62FE\u6D32\u79C0\u79CB\u7D42\u7E4D\u7FD2"+
+        "\u81ED\u821F\u8490\u8846\u8972\u8B90\u8E74\u8F2F"+
+        "\u9031\u914B\u916C\u96C6\u919C\u4EC0\u4F4F\u5145"+
+        "\u5341\u5F93\u620E\u67D4\u6C41\u6E0B\u7363\u7E26"+
+        "\u91CD\u9283\u53D4\u5919\u5BBF\u6DD1\u795D\u7E2E"+
+        "\u7C9B\u587E\u719F\u51FA\u8853\u8FF0\u4FCA\u5CFB"+
+        "\u6625\u77AC\u7AE3\u821C\u99FF\u51C6\u5FAA\u65EC"+
+        "\u696F\u6B89\u6DF3\u6E96\u6F64\u76FE\u7D14\u5DE1"+
+        "\u9075\u9187\u9806\u51E6\u521D\u6240\u6691\u66D9"+
+        "\u6E1A\u5EB6\u7DD2\u7F72\u66F8\u85AF\u85F7\u8AF8"+
+        "\u52A9\u53D9\u5973\u5E8F\u5F90\u6055\u92E4\u9664"+
+        "\u50B7\u511F\u52DD\u5320\u5347\u53EC\u54E8\u5546"+
+        "\u5531\u5617\u5968\u59BE\u5A3C\u5BB5\u5C06\u5C0F"+
+        "\u5C11\u5C1A\u5E84\u5E8A\u5EE0\u5F70\u627F\u6284"+
+        "\u62DB\u638C\u6377\u6607\u660C\u662D\u6676\u677E"+
+        "\u68A2\u6A1F\u6A35\u6CBC\u6D88\u6E09\u6E58\u713C"+
+        "\u7126\u7167\u75C7\u7701\u785D\u7901\u7965\u79F0"+
+        "\u7AE0\u7B11\u7CA7\u7D39\u8096\u83D6\u848B\u8549"+
+        "\u885D\u88F3\u8A1F\u8A3C\u8A54\u8A73\u8C61\u8CDE"+
+        "\u91A4\u9266\u937E\u9418\u969C\u9798\u4E0A\u4E08"+
+        "\u4E1E\u4E57\u5197\u5270\u57CE\u5834\u58CC\u5B22"+
+        "\u5E38\u60C5\u64FE\u6761\u6756\u6D44\u72B6\u7573"+
+        "\u7A63\u84B8\u8B72\u91B8\u9320\u5631\u57F4\u98FE"+
+        "\u62ED\u690D\u6B96\u71ED\u7E54\u8077\u8272\u89E6"+
+        "\u98DF\u8755\u8FB1\u5C3B\u4F38\u4FE1\u4FB5\u5507"+
+        "\u5A20\u5BDD\u5BE9\u5FC3\u614E\u632F\u65B0\u664B"+
+        "\u68EE\u699B\u6D78\u6DF1\u7533\u75B9\u771F\u795E"+
+        "\u79E6\u7D33\u81E3\u82AF\u85AA\u89AA\u8A3A\u8EAB"+
+        "\u8F9B\u9032\u91DD\u9707\u4EBA\u4EC1\u5203\u5875"+
+        "\u58EC\u5C0B\u751A\u5C3D\u814E\u8A0A\u8FC5\u9663"+
+        "\u976D\u7B25\u8ACF\u9808\u9162\u56F3\u53A8\u9017"+
+        "\u5439\u5782\u5E25\u63A8\u6C34\u708A\u7761\u7C8B"+
+        "\u7FE0\u8870\u9042\u9154\u9310\u9318\u968F\u745E"+
+        "\u9AC4\u5D07\u5D69\u6570\u67A2\u8DA8\u96DB\u636E"+
+        "\u6749\u6919\u83C5\u9817\u96C0\u88FE\u6F84\u647A"+
+        "\u5BF8\u4E16\u702C\u755D\u662F\u51C4\u5236\u52E2"+
+        "\u59D3\u5F81\u6027\u6210\u653F\u6574\u661F\u6674"+
+        "\u68F2\u6816\u6B63\u6E05\u7272\u751F\u76DB\u7CBE"+
+        "\u8056\u58F0\u88FD\u897F\u8AA0\u8A93\u8ACB\u901D"+
+        "\u9192\u9752\u9759\u6589\u7A0E\u8106\u96BB\u5E2D"+
+        "\u60DC\u621A\u65A5\u6614\u6790\u77F3\u7A4D\u7C4D"+
+        "\u7E3E\u810A\u8CAC\u8D64\u8DE1\u8E5F\u78A9\u5207"+
+        "\u62D9\u63A5\u6442\u6298\u8A2D\u7A83\u7BC0\u8AAC"+
+        "\u96EA\u7D76\u820C\u8749\u4ED9\u5148\u5343\u5360"+
+        "\u5BA3\u5C02\u5C16\u5DDD\u6226\u6247\u64B0\u6813"+
+        "\u6834\u6CC9\u6D45\u6D17\u67D3\u6F5C\u714E\u717D"+
+        "\u65CB\u7A7F\u7BAD\u7DDA\u7E4A\u7FA8\u817A\u821B"+
+        "\u8239\u85A6\u8A6E\u8CCE\u8DF5\u9078\u9077\u92AD"+
+        "\u9291\u9583\u9BAE\u524D\u5584\u6F38\u7136\u5168"+
+        "\u7985\u7E55\u81B3\u7CCE\u564C\u5851\u5CA8\u63AA"+
+        "\u66FE\u66FD\u695A\u72D9\u758F\u758E\u790E\u7956"+
+        "\u79DF\u7C97\u7D20\u7D44\u8607\u8A34\u963B\u9061"+
+        "\u9F20\u50E7\u5275\u53CC\u53E2\u5009\u55AA\u58EE"+
+        "\u594F\u723D\u5B8B\u5C64\u531D\u60E3\u60F3\u635C"+
+        "\u6383\u633F\u63BB\u64CD\u65E9\u66F9\u5DE3\u69CD"+
+        "\u69FD\u6F15\u71E5\u4E89\u75E9\u76F8\u7A93\u7CDF"+
+        "\u7DCF\u7D9C\u8061\u8349\u8358\u846C\u84BC\u85FB"+
+        "\u88C5\u8D70\u9001\u906D\u9397\u971C\u9A12\u50CF"+
+        "\u5897\u618E\u81D3\u8535\u8D08\u9020\u4FC3\u5074"+
+        "\u5247\u5373\u606F\u6349\u675F\u6E2C\u8DB3\u901F"+
+        "\u4FD7\u5C5E\u8CCA\u65CF\u7D9A\u5352\u8896\u5176"+
+        "\u63C3\u5B58\u5B6B\u5C0A\u640D\u6751\u905C\u4ED6"+
+        "\u591A\u592A\u6C70\u8A51\u553E\u5815\u59A5\u60F0"+
+        "\u6253\u67C1\u8235\u6955\u9640\u99C4\u9A28\u4F53"+
+        "\u5806\u5BFE\u8010\u5CB1\u5E2F\u5F85\u6020\u614B"+
+        "\u6234\u66FF\u6CF0\u6EDE\u80CE\u817F\u82D4\u888B"+
+        "\u8CB8\u9000\u902E\u968A\u9EDB\u9BDB\u4EE3\u53F0"+
+        "\u5927\u7B2C\u918D\u984C\u9DF9\u6EDD\u7027\u5353"+
+        "\u5544\u5B85\u6258\u629E\u62D3\u6CA2\u6FEF\u7422"+
+        "\u8A17\u9438\u6FC1\u8AFE\u8338\u51E7\u86F8\u53EA"+
+        "\u53E9\u4F46\u9054\u8FB0\u596A\u8131\u5DFD\u7AEA"+
+        "\u8FBF\u68DA\u8C37\u72F8\u9C48\u6A3D\u8AB0\u4E39"+
+        "\u5358\u5606\u5766\u62C5\u63A2\u65E6\u6B4E\u6DE1"+
+        "\u6E5B\u70AD\u77ED\u7AEF\u7BAA\u7DBB\u803D\u80C6"+
+        "\u86CB\u8A95\u935B\u56E3\u58C7\u5F3E\u65AD\u6696"+
+        "\u6A80\u6BB5\u7537\u8AC7\u5024\u77E5\u5730\u5F1B"+
+        "\u6065\u667A\u6C60\u75F4\u7A1A\u7F6E\u81F4\u8718"+
+        "\u9045\u99B3\u7BC9\u755C\u7AF9\u7B51\u84C4\u9010"+
+        "\u79E9\u7A92\u8336\u5AE1\u7740\u4E2D\u4EF2\u5B99"+
+        "\u5FE0\u62BD\u663C\u67F1\u6CE8\u866B\u8877\u8A3B"+
+        "\u914E\u92F3\u99D0\u6A17\u7026\u732A\u82E7\u8457"+
+        "\u8CAF\u4E01\u5146\u51CB\u558B\u5BF5\u5E16\u5E33"+
+        "\u5E81\u5F14\u5F35\u5F6B\u5FB4\u61F2\u6311\u66A2"+
+        "\u671D\u6F6E\u7252\u753A\u773A\u8074\u8139\u8178"+
+        "\u8776\u8ABF\u8ADC\u8D85\u8DF3\u929A\u9577\u9802"+
+        "\u9CE5\u52C5\u6357\u76F4\u6715\u6C88\u73CD\u8CC3"+
+        "\u93AE\u9673\u6D25\u589C\u690E\u69CC\u8FFD\u939A"+
+        "\u75DB\u901A\u585A\u6802\u63B4\u69FB\u4F43\u6F2C"+
+        "\u67D8\u8FBB\u8526\u7DB4\u9354\u693F\u6F70\u576A"+
+        "\u58F7\u5B2C\u7D2C\u722A\u540A\u91E3\u9DB4\u4EAD"+
+        "\u4F4E\u505C\u5075\u5243\u8C9E\u5448\u5824\u5B9A"+
+        "\u5E1D\u5E95\u5EAD\u5EF7\u5F1F\u608C\u62B5\u633A"+
+        "\u63D0\u68AF\u6C40\u7887\u798E\u7A0B\u7DE0\u8247"+
+        "\u8A02\u8AE6\u8E44\u9013\u90B8\u912D\u91D8\u9F0E"+
+        "\u6CE5\u6458\u64E2\u6575\u6EF4\u7684\u7B1B\u9069"+
+        "\u93D1\u6EBA\u54F2\u5FB9\u64A4\u8F4D\u8FED\u9244"+
+        "\u5178\u586B\u5929\u5C55\u5E97\u6DFB\u7E8F\u751C"+
+        "\u8CBC\u8EE2\u985B\u70B9\u4F1D\u6BBF\u6FB1\u7530"+
+        "\u96FB\u514E\u5410\u5835\u5857\u59AC\u5C60\u5F92"+
+        "\u6597\u675C\u6E21\u767B\u83DF\u8CED\u9014\u90FD"+
+        "\u934D\u7825\u783A\u52AA\u5EA6\u571F\u5974\u6012"+
+        "\u5012\u515A\u51AC\u51CD\u5200\u5510\u5854\u5858"+
+        "\u5957\u5B95\u5CF6\u5D8B\u60BC\u6295\u642D\u6771"+
+        "\u6843\u68BC\u68DF\u76D7\u6DD8\u6E6F\u6D9B\u706F"+
+        "\u71C8\u5F53\u75D8\u7977\u7B49\u7B54\u7B52\u7CD6"+
+        "\u7D71\u5230\u8463\u8569\u85E4\u8A0E\u8B04\u8C46"+
+        "\u8E0F\u9003\u900F\u9419\u9676\u982D\u9A30\u95D8"+
+        "\u50CD\u52D5\u540C\u5802\u5C0E\u61A7\u649E\u6D1E"+
+        "\u77B3\u7AE5\u80F4\u8404\u9053\u9285\u5CE0\u9D07"+
+        "\u533F\u5F97\u5FB3\u6D9C\u7279\u7763\u79BF\u7BE4"+
+        "\u6BD2\u72EC\u8AAD\u6803\u6A61\u51F8\u7A81\u6934"+
+        "\u5C4A\u9CF6\u82EB\u5BC5\u9149\u701E\u5678\u5C6F"+
+        "\u60C7\u6566\u6C8C\u8C5A\u9041\u9813\u5451\u66C7"+
+        "\u920D\u5948\u90A3\u5185\u4E4D\u51EA\u8599\u8B0E"+
+        "\u7058\u637A\u934B\u6962\u99B4\u7E04\u7577\u5357"+
+        "\u6960\u8EDF\u96E3\u6C5D\u4E8C\u5C3C\u5F10\u8FE9"+
+        "\u5302\u8CD1\u8089\u8679\u5EFF\u65E5\u4E73\u5165";
+
+    private final static String innerIndex2=
+        "\u5982\u5C3F\u97EE\u4EFB\u598A\u5FCD\u8A8D\u6FE1"+
+        "\u79B0\u7962\u5BE7\u8471\u732B\u71B1\u5E74\u5FF5"+
+        "\u637B\u649A\u71C3\u7C98\u4E43\u5EFC\u4E4B\u57DC"+
+        "\u56A2\u60A9\u6FC3\u7D0D\u80FD\u8133\u81BF\u8FB2"+
+        "\u8997\u86A4\u5DF4\u628A\u64AD\u8987\u6777\u6CE2"+
+        "\u6D3E\u7436\u7834\u5A46\u7F75\u82AD\u99AC\u4FF3"+
+        "\u5EC3\u62DD\u6392\u6557\u676F\u76C3\u724C\u80CC"+
+        "\u80BA\u8F29\u914D\u500D\u57F9\u5A92\u6885\u6973"+
+        "\u7164\u72FD\u8CB7\u58F2\u8CE0\u966A\u9019\u877F"+
+        "\u79E4\u77E7\u8429\u4F2F\u5265\u535A\u62CD\u67CF"+
+        "\u6CCA\u767D\u7B94\u7C95\u8236\u8584\u8FEB\u66DD"+
+        "\u6F20\u7206\u7E1B\u83AB\u99C1\u9EA6\u51FD\u7BB1"+
+        "\u7872\u7BB8\u8087\u7B48\u6AE8\u5E61\u808C\u7551"+
+        "\u7560\u516B\u9262\u6E8C\u767A\u9197\u9AEA\u4F10"+
+        "\u7F70\u629C\u7B4F\u95A5\u9CE9\u567A\u5859\u86E4"+
+        "\u96BC\u4F34\u5224\u534A\u53CD\u53DB\u5E06\u642C"+
+        "\u6591\u677F\u6C3E\u6C4E\u7248\u72AF\u73ED\u7554"+
+        "\u7E41\u822C\u85E9\u8CA9\u7BC4\u91C6\u7169\u9812"+
+        "\u98EF\u633D\u6669\u756A\u76E4\u78D0\u8543\u86EE"+
+        "\u532A\u5351\u5426\u5983\u5E87\u5F7C\u60B2\u6249"+
+        "\u6279\u62AB\u6590\u6BD4\u6CCC\u75B2\u76AE\u7891"+
+        "\u79D8\u7DCB\u7F77\u80A5\u88AB\u8AB9\u8CBB\u907F"+
+        "\u975E\u98DB\u6A0B\u7C38\u5099\u5C3E\u5FAE\u6787"+
+        "\u6BD8\u7435\u7709\u7F8E\u9F3B\u67CA\u7A17\u5339"+
+        "\u758B\u9AED\u5F66\u819D\u83F1\u8098\u5F3C\u5FC5"+
+        "\u7562\u7B46\u903C\u6867\u59EB\u5A9B\u7D10\u767E"+
+        "\u8B2C\u4FF5\u5F6A\u6A19\u6C37\u6F02\u74E2\u7968"+
+        "\u8868\u8A55\u8C79\u5EDF\u63CF\u75C5\u79D2\u82D7"+
+        "\u9328\u92F2\u849C\u86ED\u9C2D\u54C1\u5F6C\u658C"+
+        "\u6D5C\u7015\u8CA7\u8CD3\u983B\u654F\u74F6\u4E0D"+
+        "\u4ED8\u57E0\u592B\u5A66\u5BCC\u51A8\u5E03\u5E9C"+
+        "\u6016\u6276\u6577\u65A7\u666E\u6D6E\u7236\u7B26"+
+        "\u8150\u819A\u8299\u8B5C\u8CA0\u8CE6\u8D74\u961C"+
+        "\u9644\u4FAE\u64AB\u6B66\u821E\u8461\u856A\u90E8"+
+        "\u5C01\u6953\u98A8\u847A\u8557\u4F0F\u526F\u5FA9"+
+        "\u5E45\u670D\u798F\u8179\u8907\u8986\u6DF5\u5F17"+
+        "\u6255\u6CB8\u4ECF\u7269\u9B92\u5206\u543B\u5674"+
+        "\u58B3\u61A4\u626E\u711A\u596E\u7C89\u7CDE\u7D1B"+
+        "\u96F0\u6587\u805E\u4E19\u4F75\u5175\u5840\u5E63"+
+        "\u5E73\u5F0A\u67C4\u4E26\u853D\u9589\u965B\u7C73"+
+        "\u9801\u50FB\u58C1\u7656\u78A7\u5225\u77A5\u8511"+
+        "\u7B86\u504F\u5909\u7247\u7BC7\u7DE8\u8FBA\u8FD4"+
+        "\u904D\u4FBF\u52C9\u5A29\u5F01\u97AD\u4FDD\u8217"+
+        "\u92EA\u5703\u6355\u6B69\u752B\u88DC\u8F14\u7A42"+
+        "\u52DF\u5893\u6155\u620A\u66AE\u6BCD\u7C3F\u83E9"+
+        "\u5023\u4FF8\u5305\u5446\u5831\u5949\u5B9D\u5CF0"+
+        "\u5CEF\u5D29\u5E96\u62B1\u6367\u653E\u65B9\u670B"+
+        "\u6CD5\u6CE1\u70F9\u7832\u7E2B\u80DE\u82B3\u840C"+
+        "\u84EC\u8702\u8912\u8A2A\u8C4A\u90A6\u92D2\u98FD"+
+        "\u9CF3\u9D6C\u4E4F\u4EA1\u508D\u5256\u574A\u59A8"+
+        "\u5E3D\u5FD8\u5FD9\u623F\u66B4\u671B\u67D0\u68D2"+
+        "\u5192\u7D21\u80AA\u81A8\u8B00\u8C8C\u8CBF\u927E"+
+        "\u9632\u5420\u982C\u5317\u50D5\u535C\u58A8\u64B2"+
+        "\u6734\u7267\u7766\u7A46\u91E6\u52C3\u6CA1\u6B86"+
+        "\u5800\u5E4C\u5954\u672C\u7FFB\u51E1\u76C6\u6469"+
+        "\u78E8\u9B54\u9EBB\u57CB\u59B9\u6627\u679A\u6BCE"+
+        "\u54E9\u69D9\u5E55\u819C\u6795\u9BAA\u67FE\u9C52"+
+        "\u685D\u4EA6\u4FE3\u53C8\u62B9\u672B\u6CAB\u8FC4"+
+        "\u4FAD\u7E6D\u9EBF\u4E07\u6162\u6E80\u6F2B\u8513"+
+        "\u5473\u672A\u9B45\u5DF3\u7B95\u5CAC\u5BC6\u871C"+
+        "\u6E4A\u84D1\u7A14\u8108\u5999\u7C8D\u6C11\u7720"+
+        "\u52D9\u5922\u7121\u725F\u77DB\u9727\u9D61\u690B"+
+        "\u5A7F\u5A18\u51A5\u540D\u547D\u660E\u76DF\u8FF7"+
+        "\u9298\u9CF4\u59EA\u725D\u6EC5\u514D\u68C9\u7DBF"+
+        "\u7DEC\u9762\u9EBA\u6478\u6A21\u8302\u5984\u5B5F"+
+        "\u6BDB\u731B\u76F2\u7DB2\u8017\u8499\u5132\u6728"+
+        "\u9ED9\u76EE\u6762\u52FF\u9905\u5C24\u623B\u7C7E"+
+        "\u8CB0\u554F\u60B6\u7D0B\u9580\u5301\u4E5F\u51B6"+
+        "\u591C\u723A\u8036\u91CE\u5F25\u77E2\u5384\u5F79"+
+        "\u7D04\u85AC\u8A33\u8E8D\u9756\u67F3\u85AE\u9453"+
+        "\u6109\u6108\u6CB9\u7652\u8AED\u8F38\u552F\u4F51"+
+        "\u512A\u52C7\u53CB\u5BA5\u5E7D\u60A0\u6182\u63D6"+
+        "\u6709\u67DA\u6E67\u6D8C\u7336\u7337\u7531\u7950"+
+        "\u88D5\u8A98\u904A\u9091\u90F5\u96C4\u878D\u5915"+
+        "\u4E88\u4F59\u4E0E\u8A89\u8F3F\u9810\u50AD\u5E7C"+
+        "\u5996\u5BB9\u5EB8\u63DA\u63FA\u64C1\u66DC\u694A"+
+        "\u69D8\u6D0B\u6EB6\u7194\u7528\u7AAF\u7F8A\u8000"+
+        "\u8449\u84C9\u8981\u8B21\u8E0A\u9065\u967D\u990A"+
+        "\u617E\u6291\u6B32\u6C83\u6D74\u7FCC\u7FFC\u6DC0"+
+        "\u7F85\u87BA\u88F8\u6765\u83B1\u983C\u96F7\u6D1B"+
+        "\u7D61\u843D\u916A\u4E71\u5375\u5D50\u6B04\u6FEB"+
+        "\u85CD\u862D\u89A7\u5229\u540F\u5C65\u674E\u68A8"+
+        "\u7406\u7483\u75E2\u88CF\u88E1\u91CC\u96E2\u9678"+
+        "\u5F8B\u7387\u7ACB\u844E\u63A0\u7565\u5289\u6D41"+
+        "\u6E9C\u7409\u7559\u786B\u7C92\u9686\u7ADC\u9F8D"+
+        "\u4FB6\u616E\u65C5\u865C\u4E86\u4EAE\u50DA\u4E21"+
+        "\u51CC\u5BEE\u6599\u6881\u6DBC\u731F\u7642\u77AD"+
+        "\u7A1C\u7CE7\u826F\u8AD2\u907C\u91CF\u9675\u9818"+
+        "\u529B\u7DD1\u502B\u5398\u6797\u6DCB\u71D0\u7433"+
+        "\u81E8\u8F2A\u96A3\u9C57\u9E9F\u7460\u5841\u6D99"+
+        "\u7D2F\u985E\u4EE4\u4F36\u4F8B\u51B7\u52B1\u5DBA"+
+        "\u601C\u73B2\u793C\u82D3\u9234\u96B7\u96F6\u970A"+
+        "\u9E97\u9F62\u66A6\u6B74\u5217\u52A3\u70C8\u88C2"+
+        "\u5EC9\u604B\u6190\u6F23\u7149\u7C3E\u7DF4\u806F"+
+        "\u84EE\u9023\u932C\u5442\u9B6F\u6AD3\u7089\u8CC2"+
+        "\u8DEF\u9732\u52B4\u5A41\u5ECA\u5F04\u6717\u697C"+
+        "\u6994\u6D6A\u6F0F\u7262\u72FC\u7BED\u8001\u807E"+
+        "\u874B\u90CE\u516D\u9E93\u7984\u808B\u9332\u8AD6"+
+        "\u502D\u548C\u8A71\u6B6A\u8CC4\u8107\u60D1\u67A0"+
+        "\u9DF2\u4E99\u4E98\u9C10\u8A6B\u85C1\u8568\u6900"+
+        "\u6E7E\u7897\u8155\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u5F0C\u4E10"+
+        "\u4E15\u4E2A\u4E31\u4E36\u4E3C\u4E3F\u4E42\u4E56"+
+        "\u4E58\u4E82\u4E85\u8C6B\u4E8A\u8212\u5F0D\u4E8E"+
+        "\u4E9E\u4E9F\u4EA0\u4EA2\u4EB0\u4EB3\u4EB6\u4ECE"+
+        "\u4ECD\u4EC4\u4EC6\u4EC2\u4ED7\u4EDE\u4EED\u4EDF"+
+        "\u4EF7\u4F09\u4F5A\u4F30\u4F5B\u4F5D\u4F57\u4F47"+
+        "\u4F76\u4F88\u4F8F\u4F98\u4F7B\u4F69\u4F70\u4F91"+
+        "\u4F6F\u4F86\u4F96\u5118\u4FD4\u4FDF\u4FCE\u4FD8"+
+        "\u4FDB\u4FD1\u4FDA\u4FD0\u4FE4\u4FE5\u501A\u5028"+
+        "\u5014\u502A\u5025\u5005\u4F1C\u4FF6\u5021\u5029"+
+        "\u502C\u4FFE\u4FEF\u5011\u5006\u5043\u5047\u6703"+
+        "\u5055\u5050\u5048\u505A\u5056\u506C\u5078\u5080"+
+        "\u509A\u5085\u50B4\u50B2\u50C9\u50CA\u50B3\u50C2"+
+        "\u50D6\u50DE\u50E5\u50ED\u50E3\u50EE\u50F9\u50F5"+
+        "\u5109\u5101\u5102\u5116\u5115\u5114\u511A\u5121"+
+        "\u513A\u5137\u513C\u513B\u513F\u5140\u5152\u514C"+
+        "\u5154\u5162\u7AF8\u5169\u516A\u516E\u5180\u5182"+
+        "\u56D8\u518C\u5189\u518F\u5191\u5193\u5195\u5196"+
+        "\u51A4\u51A6\u51A2\u51A9\u51AA\u51AB\u51B3\u51B1"+
+        "\u51B2\u51B0\u51B5\u51BD\u51C5\u51C9\u51DB\u51E0"+
+        "\u8655\u51E9\u51ED\u51F0\u51F5\u51FE\u5204\u520B"+
+        "\u5214\u520E\u5227\u522A\u522E\u5233\u5239\u524F"+
+        "\u5244\u524B\u524C\u525E\u5254\u526A\u5274\u5269"+
+        "\u5273\u527F\u527D\u528D\u5294\u5292\u5271\u5288"+
+        "\u5291\u8FA8\u8FA7\u52AC\u52AD\u52BC\u52B5\u52C1"+
+        "\u52CD\u52D7\u52DE\u52E3\u52E6\u98ED\u52E0\u52F3"+
+        "\u52F5\u52F8\u52F9\u5306\u5308\u7538\u530D\u5310"+
+        "\u530F\u5315\u531A\u5323\u532F\u5331\u5333\u5338"+
+        "\u5340\u5346\u5345\u4E17\u5349\u534D\u51D6\u535E"+
+        "\u5369\u536E\u5918\u537B\u5377\u5382\u5396\u53A0"+
+        "\u53A6\u53A5\u53AE\u53B0\u53B6\u53C3\u7C12\u96D9"+
+        "\u53DF\u66FC\u71EE\u53EE\u53E8\u53ED\u53FA\u5401"+
+        "\u543D\u5440\u542C\u542D\u543C\u542E\u5436\u5429"+
+        "\u541D\u544E\u548F\u5475\u548E\u545F\u5471\u5477"+
+        "\u5470\u5492\u547B\u5480\u5476\u5484\u5490\u5486"+
+        "\u54C7\u54A2\u54B8\u54A5\u54AC\u54C4\u54C8\u54A8"+
+        "\u54AB\u54C2\u54A4\u54BE\u54BC\u54D8\u54E5\u54E6"+
+        "\u550F\u5514\u54FD\u54EE\u54ED\u54FA\u54E2\u5539"+
+        "\u5540\u5563\u554C\u552E\u555C\u5545\u5556\u5557"+
+        "\u5538\u5533\u555D\u5599\u5580\u54AF\u558A\u559F"+
+        "\u557B\u557E\u5598\u559E\u55AE\u557C\u5583\u55A9"+
+        "\u5587\u55A8\u55DA\u55C5\u55DF\u55C4\u55DC\u55E4"+
+        "\u55D4\u5614\u55F7\u5616\u55FE\u55FD\u561B\u55F9"+
+        "\u564E\u5650\u71DF\u5634\u5636\u5632\u5638\u566B"+
+        "\u5664\u562F\u566C\u566A\u5686\u5680\u568A\u56A0"+
+        "\u5694\u568F\u56A5\u56AE\u56B6\u56B4\u56C2\u56BC"+
+        "\u56C1\u56C3\u56C0\u56C8\u56CE\u56D1\u56D3\u56D7"+
+        "\u56EE\u56F9\u5700\u56FF\u5704\u5709\u5708\u570B"+
+        "\u570D\u5713\u5718\u5716\u55C7\u571C\u5726\u5737"+
+        "\u5738\u574E\u573B\u5740\u574F\u5769\u57C0\u5788"+
+        "\u5761\u577F\u5789\u5793\u57A0\u57B3\u57A4\u57AA"+
+        "\u57B0\u57C3\u57C6\u57D4\u57D2\u57D3\u580A\u57D6"+
+        "\u57E3\u580B\u5819\u581D\u5872\u5821\u5862\u584B"+
+        "\u5870\u6BC0\u5852\u583D\u5879\u5885\u58B9\u589F"+
+        "\u58AB\u58BA\u58DE\u58BB\u58B8\u58AE\u58C5\u58D3"+
+        "\u58D1\u58D7\u58D9\u58D8\u58E5\u58DC\u58E4\u58DF"+
+        "\u58EF\u58FA\u58F9\u58FB\u58FC\u58FD\u5902\u590A"+
+        "\u5910\u591B\u68A6\u5925\u592C\u592D\u5932\u5938"+
+        "\u593E\u7AD2\u5955\u5950\u594E\u595A\u5958\u5962"+
+        "\u5960\u5967\u596C\u5969\u5978\u5981\u599D\u4F5E"+
+        "\u4FAB\u59A3\u59B2\u59C6\u59E8\u59DC\u598D\u59D9"+
+        "\u59DA\u5A25\u5A1F\u5A11\u5A1C\u5A09\u5A1A\u5A40"+
+        "\u5A6C\u5A49\u5A35\u5A36\u5A62\u5A6A\u5A9A\u5ABC"+
+        "\u5ABE\u5ACB\u5AC2\u5ABD\u5AE3\u5AD7\u5AE6\u5AE9"+
+        "\u5AD6\u5AFA\u5AFB\u5B0C\u5B0B\u5B16\u5B32\u5AD0"+
+        "\u5B2A\u5B36\u5B3E\u5B43\u5B45\u5B40\u5B51\u5B55"+
+        "\u5B5A\u5B5B\u5B65\u5B69\u5B70\u5B73\u5B75\u5B78"+
+        "\u6588\u5B7A\u5B80\u5B83\u5BA6\u5BB8\u5BC3\u5BC7"+
+        "\u5BC9\u5BD4\u5BD0\u5BE4\u5BE6\u5BE2\u5BDE\u5BE5"+
+        "\u5BEB\u5BF0\u5BF6\u5BF3\u5C05\u5C07\u5C08\u5C0D"+
+        "\u5C13\u5C20\u5C22\u5C28\u5C38\u5C39\u5C41\u5C46"+
+        "\u5C4E\u5C53\u5C50\u5C4F\u5B71\u5C6C\u5C6E\u4E62"+
+        "\u5C76\u5C79\u5C8C\u5C91\u5C94\u599B\u5CAB\u5CBB"+
+        "\u5CB6\u5CBC\u5CB7\u5CC5\u5CBE\u5CC7\u5CD9\u5CE9"+
+        "\u5CFD\u5CFA\u5CED\u5D8C\u5CEA\u5D0B\u5D15\u5D17"+
+        "\u5D5C\u5D1F\u5D1B\u5D11\u5D14\u5D22\u5D1A\u5D19"+
+        "\u5D18\u5D4C\u5D52\u5D4E\u5D4B\u5D6C\u5D73\u5D76"+
+        "\u5D87\u5D84\u5D82\u5DA2\u5D9D\u5DAC\u5DAE\u5DBD"+
+        "\u5D90\u5DB7\u5DBC\u5DC9\u5DCD\u5DD3\u5DD2\u5DD6"+
+        "\u5DDB\u5DEB\u5DF2\u5DF5\u5E0B\u5E1A\u5E19\u5E11"+
+        "\u5E1B\u5E36\u5E37\u5E44\u5E43\u5E40\u5E4E\u5E57"+
+        "\u5E54\u5E5F\u5E62\u5E64\u5E47\u5E75\u5E76\u5E7A"+
+        "\u9EBC\u5E7F\u5EA0\u5EC1\u5EC2\u5EC8\u5ED0\u5ECF";
+
+    private final static String innerIndex3=
+        "\u5ED6\u5EE3\u5EDD\u5EDA\u5EDB\u5EE2\u5EE1\u5EE8"+
+        "\u5EE9\u5EEC\u5EF1\u5EF3\u5EF0\u5EF4\u5EF8\u5EFE"+
+        "\u5F03\u5F09\u5F5D\u5F5C\u5F0B\u5F11\u5F16\u5F29"+
+        "\u5F2D\u5F38\u5F41\u5F48\u5F4C\u5F4E\u5F2F\u5F51"+
+        "\u5F56\u5F57\u5F59\u5F61\u5F6D\u5F73\u5F77\u5F83"+
+        "\u5F82\u5F7F\u5F8A\u5F88\u5F91\u5F87\u5F9E\u5F99"+
+        "\u5F98\u5FA0\u5FA8\u5FAD\u5FBC\u5FD6\u5FFB\u5FE4"+
+        "\u5FF8\u5FF1\u5FDD\u60B3\u5FFF\u6021\u6060\u6019"+
+        "\u6010\u6029\u600E\u6031\u601B\u6015\u602B\u6026"+
+        "\u600F\u603A\u605A\u6041\u606A\u6077\u605F\u604A"+
+        "\u6046\u604D\u6063\u6043\u6064\u6042\u606C\u606B"+
+        "\u6059\u6081\u608D\u60E7\u6083\u609A\u6084\u609B"+
+        "\u6096\u6097\u6092\u60A7\u608B\u60E1\u60B8\u60E0"+
+        "\u60D3\u60B4\u5FF0\u60BD\u60C6\u60B5\u60D8\u614D"+
+        "\u6115\u6106\u60F6\u60F7\u6100\u60F4\u60FA\u6103"+
+        "\u6121\u60FB\u60F1\u610D\u610E\u6147\u613E\u6128"+
+        "\u6127\u614A\u613F\u613C\u612C\u6134\u613D\u6142"+
+        "\u6144\u6173\u6177\u6158\u6159\u615A\u616B\u6174"+
+        "\u616F\u6165\u6171\u615F\u615D\u6153\u6175\u6199"+
+        "\u6196\u6187\u61AC\u6194\u619A\u618A\u6191\u61AB"+
+        "\u61AE\u61CC\u61CA\u61C9\u61F7\u61C8\u61C3\u61C6"+
+        "\u61BA\u61CB\u7F79\u61CD\u61E6\u61E3\u61F6\u61FA"+
+        "\u61F4\u61FF\u61FD\u61FC\u61FE\u6200\u6208\u6209"+
+        "\u620D\u620C\u6214\u621B\u621E\u6221\u622A\u622E"+
+        "\u6230\u6232\u6233\u6241\u624E\u625E\u6263\u625B"+
+        "\u6260\u6268\u627C\u6282\u6289\u627E\u6292\u6293"+
+        "\u6296\u62D4\u6283\u6294\u62D7\u62D1\u62BB\u62CF"+
+        "\u62FF\u62C6\u64D4\u62C8\u62DC\u62CC\u62CA\u62C2"+
+        "\u62C7\u629B\u62C9\u630C\u62EE\u62F1\u6327\u6302"+
+        "\u6308\u62EF\u62F5\u6350\u633E\u634D\u641C\u634F"+
+        "\u6396\u638E\u6380\u63AB\u6376\u63A3\u638F\u6389"+
+        "\u639F\u63B5\u636B\u6369\u63BE\u63E9\u63C0\u63C6"+
+        "\u63E3\u63C9\u63D2\u63F6\u63C4\u6416\u6434\u6406"+
+        "\u6413\u6426\u6436\u651D\u6417\u6428\u640F\u6467"+
+        "\u646F\u6476\u644E\u652A\u6495\u6493\u64A5\u64A9"+
+        "\u6488\u64BC\u64DA\u64D2\u64C5\u64C7\u64BB\u64D8"+
+        "\u64C2\u64F1\u64E7\u8209\u64E0\u64E1\u62AC\u64E3"+
+        "\u64EF\u652C\u64F6\u64F4\u64F2\u64FA\u6500\u64FD"+
+        "\u6518\u651C\u6505\u6524\u6523\u652B\u6534\u6535"+
+        "\u6537\u6536\u6538\u754B\u6548\u6556\u6555\u654D"+
+        "\u6558\u655E\u655D\u6572\u6578\u6582\u6583\u8B8A"+
+        "\u659B\u659F\u65AB\u65B7\u65C3\u65C6\u65C1\u65C4"+
+        "\u65CC\u65D2\u65DB\u65D9\u65E0\u65E1\u65F1\u6772"+
+        "\u660A\u6603\u65FB\u6773\u6635\u6636\u6634\u661C"+
+        "\u664F\u6644\u6649\u6641\u665E\u665D\u6664\u6667"+
+        "\u6668\u665F\u6662\u6670\u6683\u6688\u668E\u6689"+
+        "\u6684\u6698\u669D\u66C1\u66B9\u66C9\u66BE\u66BC"+
+        "\u66C4\u66B8\u66D6\u66DA\u66E0\u663F\u66E6\u66E9"+
+        "\u66F0\u66F5\u66F7\u670F\u6716\u671E\u6726\u6727"+
+        "\u9738\u672E\u673F\u6736\u6741\u6738\u6737\u6746"+
+        "\u675E\u6760\u6759\u6763\u6764\u6789\u6770\u67A9"+
+        "\u677C\u676A\u678C\u678B\u67A6\u67A1\u6785\u67B7"+
+        "\u67EF\u67B4\u67EC\u67B3\u67E9\u67B8\u67E4\u67DE"+
+        "\u67DD\u67E2\u67EE\u67B9\u67CE\u67C6\u67E7\u6A9C"+
+        "\u681E\u6846\u6829\u6840\u684D\u6832\u684E\u68B3"+
+        "\u682B\u6859\u6863\u6877\u687F\u689F\u688F\u68AD"+
+        "\u6894\u689D\u689B\u6883\u6AAE\u68B9\u6874\u68B5"+
+        "\u68A0\u68BA\u690F\u688D\u687E\u6901\u68CA\u6908"+
+        "\u68D8\u6922\u6926\u68E1\u690C\u68CD\u68D4\u68E7"+
+        "\u68D5\u6936\u6912\u6904\u68D7\u68E3\u6925\u68F9"+
+        "\u68E0\u68EF\u6928\u692A\u691A\u6923\u6921\u68C6"+
+        "\u6979\u6977\u695C\u6978\u696B\u6954\u697E\u696E"+
+        "\u6939\u6974\u693D\u6959\u6930\u6961\u695E\u695D"+
+        "\u6981\u696A\u69B2\u69AE\u69D0\u69BF\u69C1\u69D3"+
+        "\u69BE\u69CE\u5BE8\u69CA\u69DD\u69BB\u69C3\u69A7"+
+        "\u6A2E\u6991\u69A0\u699C\u6995\u69B4\u69DE\u69E8"+
+        "\u6A02\u6A1B\u69FF\u6B0A\u69F9\u69F2\u69E7\u6A05"+
+        "\u69B1\u6A1E\u69ED\u6A14\u69EB\u6A0A\u6A12\u6AC1"+
+        "\u6A23\u6A13\u6A44\u6A0C\u6A72\u6A36\u6A78\u6A47"+
+        "\u6A62\u6A59\u6A66\u6A48\u6A38\u6A22\u6A90\u6A8D"+
+        "\u6AA0\u6A84\u6AA2\u6AA3\u6A97\u8617\u6ABB\u6AC3"+
+        "\u6AC2\u6AB8\u6AB3\u6AAC\u6ADE\u6AD1\u6ADF\u6AAA"+
+        "\u6ADA\u6AEA\u6AFB\u6B05\u8616\u6AFA\u6B12\u6B16"+
+        "\u9B31\u6B1F\u6B38\u6B37\u76DC\u6B39\u98EE\u6B47"+
+        "\u6B43\u6B49\u6B50\u6B59\u6B54\u6B5B\u6B5F\u6B61"+
+        "\u6B78\u6B79\u6B7F\u6B80\u6B84\u6B83\u6B8D\u6B98"+
+        "\u6B95\u6B9E\u6BA4\u6BAA\u6BAB\u6BAF\u6BB2\u6BB1"+
+        "\u6BB3\u6BB7\u6BBC\u6BC6\u6BCB\u6BD3\u6BDF\u6BEC"+
+        "\u6BEB\u6BF3\u6BEF\u9EBE\u6C08\u6C13\u6C14\u6C1B"+
+        "\u6C24\u6C23\u6C5E\u6C55\u6C62\u6C6A\u6C82\u6C8D"+
+        "\u6C9A\u6C81\u6C9B\u6C7E\u6C68\u6C73\u6C92\u6C90"+
+        "\u6CC4\u6CF1\u6CD3\u6CBD\u6CD7\u6CC5\u6CDD\u6CAE"+
+        "\u6CB1\u6CBE\u6CBA\u6CDB\u6CEF\u6CD9\u6CEA\u6D1F"+
+        "\u884D\u6D36\u6D2B\u6D3D\u6D38\u6D19\u6D35\u6D33"+
+        "\u6D12\u6D0C\u6D63\u6D93\u6D64\u6D5A\u6D79\u6D59"+
+        "\u6D8E\u6D95\u6FE4\u6D85\u6DF9\u6E15\u6E0A\u6DB5"+
+        "\u6DC7\u6DE6\u6DB8\u6DC6\u6DEC\u6DDE\u6DCC\u6DE8"+
+        "\u6DD2\u6DC5\u6DFA\u6DD9\u6DE4\u6DD5\u6DEA\u6DEE"+
+        "\u6E2D\u6E6E\u6E2E\u6E19\u6E72\u6E5F\u6E3E\u6E23"+
+        "\u6E6B\u6E2B\u6E76\u6E4D\u6E1F\u6E43\u6E3A\u6E4E"+
+        "\u6E24\u6EFF\u6E1D\u6E38\u6E82\u6EAA\u6E98\u6EC9"+
+        "\u6EB7\u6ED3\u6EBD\u6EAF\u6EC4\u6EB2\u6ED4\u6ED5"+
+        "\u6E8F\u6EA5\u6EC2\u6E9F\u6F41\u6F11\u704C\u6EEC"+
+        "\u6EF8\u6EFE\u6F3F\u6EF2\u6F31\u6EEF\u6F32\u6ECC"+
+        "\u6F3E\u6F13\u6EF7\u6F86\u6F7A\u6F78\u6F81\u6F80"+
+        "\u6F6F\u6F5B\u6FF3\u6F6D\u6F82\u6F7C\u6F58\u6F8E"+
+        "\u6F91\u6FC2\u6F66\u6FB3\u6FA3\u6FA1\u6FA4\u6FB9"+
+        "\u6FC6\u6FAA\u6FDF\u6FD5\u6FEC\u6FD4\u6FD8\u6FF1"+
+        "\u6FEE\u6FDB\u7009\u700B\u6FFA\u7011\u7001\u700F"+
+        "\u6FFE\u701B\u701A\u6F74\u701D\u7018\u701F\u7030"+
+        "\u703E\u7032\u7051\u7063\u7099\u7092\u70AF\u70F1"+
+        "\u70AC\u70B8\u70B3\u70AE\u70DF\u70CB\u70DD\u70D9"+
+        "\u7109\u70FD\u711C\u7119\u7165\u7155\u7188\u7166"+
+        "\u7162\u714C\u7156\u716C\u718F\u71FB\u7184\u7195"+
+        "\u71A8\u71AC\u71D7\u71B9\u71BE\u71D2\u71C9\u71D4"+
+        "\u71CE\u71E0\u71EC\u71E7\u71F5\u71FC\u71F9\u71FF"+
+        "\u720D\u7210\u721B\u7228\u722D\u722C\u7230\u7232"+
+        "\u723B\u723C\u723F\u7240\u7246\u724B\u7258\u7274"+
+        "\u727E\u7282\u7281\u7287\u7292\u7296\u72A2\u72A7"+
+        "\u72B9\u72B2\u72C3\u72C6\u72C4\u72CE\u72D2\u72E2"+
+        "\u72E0\u72E1\u72F9\u72F7\u500F\u7317\u730A\u731C"+
+        "\u7316\u731D\u7334\u732F\u7329\u7325\u733E\u734E"+
+        "\u734F\u9ED8\u7357\u736A\u7368\u7370\u7378\u7375"+
+        "\u737B\u737A\u73C8\u73B3\u73CE\u73BB\u73C0\u73E5"+
+        "\u73EE\u73DE\u74A2\u7405\u746F\u7425\u73F8\u7432"+
+        "\u743A\u7455\u743F\u745F\u7459\u7441\u745C\u7469"+
+        "\u7470\u7463\u746A\u7476\u747E\u748B\u749E\u74A7"+
+        "\u74CA\u74CF\u74D4\u73F1\u74E0\u74E3\u74E7\u74E9"+
+        "\u74EE\u74F2\u74F0\u74F1\u74F8\u74F7\u7504\u7503"+
+        "\u7505\u750C\u750E\u750D\u7515\u7513\u751E\u7526"+
+        "\u752C\u753C\u7544\u754D\u754A\u7549\u755B\u7546"+
+        "\u755A\u7569\u7564\u7567\u756B\u756D\u7578\u7576"+
+        "\u7586\u7587\u7574\u758A\u7589\u7582\u7594\u759A"+
+        "\u759D\u75A5\u75A3\u75C2\u75B3\u75C3\u75B5\u75BD"+
+        "\u75B8\u75BC\u75B1\u75CD\u75CA\u75D2\u75D9\u75E3"+
+        "\u75DE\u75FE\u75FF\u75FC\u7601\u75F0\u75FA\u75F2"+
+        "\u75F3\u760B\u760D\u7609\u761F\u7627\u7620\u7621"+
+        "\u7622\u7624\u7634\u7630\u763B\u7647\u7648\u7646"+
+        "\u765C\u7658\u7661\u7662\u7668\u7669\u766A\u7667"+
+        "\u766C\u7670\u7672\u7676\u7678\u767C\u7680\u7683"+
+        "\u7688\u768B\u768E\u7696\u7693\u7699\u769A\u76B0"+
+        "\u76B4\u76B8\u76B9\u76BA\u76C2\u76CD\u76D6\u76D2"+
+        "\u76DE\u76E1\u76E5\u76E7\u76EA\u862F\u76FB\u7708"+
+        "\u7707\u7704\u7729\u7724\u771E\u7725\u7726\u771B"+
+        "\u7737\u7738\u7747\u775A\u7768\u776B\u775B\u7765"+
+        "\u777F\u777E\u7779\u778E\u778B\u7791\u77A0\u779E"+
+        "\u77B0\u77B6\u77B9\u77BF\u77BC\u77BD\u77BB\u77C7"+
+        "\u77CD\u77D7\u77DA\u77DC\u77E3\u77EE\u77FC\u780C"+
+        "\u7812\u7926\u7820\u792A\u7845\u788E\u7874\u7886"+
+        "\u787C\u789A\u788C\u78A3\u78B5\u78AA\u78AF\u78D1"+
+        "\u78C6\u78CB\u78D4\u78BE\u78BC\u78C5\u78CA\u78EC"+
+        "\u78E7\u78DA\u78FD\u78F4\u7907\u7912\u7911\u7919"+
+        "\u792C\u792B\u7940\u7960\u7957\u795F\u795A\u7955"+
+        "\u7953\u797A\u797F\u798A\u799D\u79A7\u9F4B\u79AA"+
+        "\u79AE\u79B3\u79B9\u79BA\u79C9\u79D5\u79E7\u79EC"+
+        "\u79E1\u79E3\u7A08\u7A0D\u7A18\u7A19\u7A20\u7A1F"+
+        "\u7980\u7A31\u7A3B\u7A3E\u7A37\u7A43\u7A57\u7A49"+
+        "\u7A61\u7A62\u7A69\u9F9D\u7A70\u7A79\u7A7D\u7A88"+
+        "\u7A97\u7A95\u7A98\u7A96\u7AA9\u7AC8\u7AB0\u7AB6"+
+        "\u7AC5\u7AC4\u7ABF\u9083\u7AC7\u7ACA\u7ACD\u7ACF"+
+        "\u7AD5\u7AD3\u7AD9\u7ADA\u7ADD\u7AE1\u7AE2\u7AE6"+
+        "\u7AED\u7AF0\u7B02\u7B0F\u7B0A\u7B06\u7B33\u7B18"+
+        "\u7B19\u7B1E\u7B35\u7B28\u7B36\u7B50\u7B7A\u7B04"+
+        "\u7B4D\u7B0B\u7B4C\u7B45\u7B75\u7B65\u7B74\u7B67"+
+        "\u7B70\u7B71\u7B6C\u7B6E\u7B9D\u7B98\u7B9F\u7B8D"+
+        "\u7B9C\u7B9A\u7B8B\u7B92\u7B8F\u7B5D\u7B99\u7BCB"+
+        "\u7BC1\u7BCC\u7BCF\u7BB4\u7BC6\u7BDD\u7BE9\u7C11"+
+        "\u7C14\u7BE6\u7BE5\u7C60\u7C00\u7C07\u7C13\u7BF3"+
+        "\u7BF7\u7C17\u7C0D\u7BF6\u7C23\u7C27\u7C2A\u7C1F"+
+        "\u7C37\u7C2B\u7C3D\u7C4C\u7C43\u7C54\u7C4F\u7C40"+
+        "\u7C50\u7C58\u7C5F\u7C64\u7C56\u7C65\u7C6C\u7C75"+
+        "\u7C83\u7C90\u7CA4\u7CAD\u7CA2\u7CAB\u7CA1\u7CA8"+
+        "\u7CB3\u7CB2\u7CB1\u7CAE\u7CB9\u7CBD\u7CC0\u7CC5"+
+        "\u7CC2\u7CD8\u7CD2\u7CDC\u7CE2\u9B3B\u7CEF\u7CF2"+
+        "\u7CF4\u7CF6\u7CFA\u7D06\u7D02\u7D1C\u7D15\u7D0A"+
+        "\u7D45\u7D4B\u7D2E\u7D32\u7D3F\u7D35\u7D46\u7D73"+
+        "\u7D56\u7D4E\u7D72\u7D68\u7D6E\u7D4F\u7D63\u7D93"+
+        "\u7D89\u7D5B\u7D8F\u7D7D\u7D9B\u7DBA\u7DAE\u7DA3"+
+        "\u7DB5\u7DC7\u7DBD\u7DAB\u7E3D\u7DA2\u7DAF\u7DDC"+
+        "\u7DB8\u7D9F\u7DB0\u7DD8\u7DDD\u7DE4\u7DDE\u7DFB"+
+        "\u7DF2\u7DE1\u7E05\u7E0A\u7E23\u7E21\u7E12\u7E31"+
+        "\u7E1F\u7E09\u7E0B\u7E22\u7E46\u7E66\u7E3B\u7E35"+
+        "\u7E39\u7E43\u7E37\u7E32\u7E3A\u7E67\u7E5D\u7E56"+
+        "\u7E5E\u7E59\u7E5A\u7E79\u7E6A\u7E69\u7E7C\u7E7B"+
+        "\u7E83\u7DD5\u7E7D\u8FAE\u7E7F\u7E88\u7E89\u7E8C"+
+        "\u7E92\u7E90\u7E93\u7E94\u7E96\u7E8E\u7E9B\u7E9C"+
+        "\u7F38\u7F3A\u7F45\u7F4C\u7F4D\u7F4E\u7F50\u7F51"+
+        "\u7F55\u7F54\u7F58\u7F5F\u7F60\u7F68\u7F69\u7F67"+
+        "\u7F78\u7F82\u7F86\u7F83\u7F88\u7F87\u7F8C\u7F94"+
+        "\u7F9E\u7F9D\u7F9A\u7FA3\u7FAF\u7FB2\u7FB9\u7FAE"+
+        "\u7FB6\u7FB8\u8B71\u7FC5\u7FC6\u7FCA\u7FD5\u7FD4"+
+        "\u7FE1\u7FE6\u7FE9\u7FF3\u7FF9\u98DC\u8006\u8004"+
+        "\u800B\u8012\u8018\u8019\u801C\u8021\u8028\u803F"+
+        "\u803B\u804A\u8046\u8052\u8058\u805A\u805F\u8062"+
+        "\u8068\u8073\u8072\u8070\u8076\u8079\u807D\u807F"+
+        "\u8084\u8086\u8085\u809B\u8093\u809A\u80AD\u5190"+
+        "\u80AC\u80DB\u80E5\u80D9\u80DD\u80C4\u80DA\u80D6"+
+        "\u8109\u80EF\u80F1\u811B\u8129\u8123\u812F\u814B";
+
+    private final static String innerIndex4=
+        "\u968B\u8146\u813E\u8153\u8151\u80FC\u8171\u816E"+
+        "\u8165\u8166\u8174\u8183\u8188\u818A\u8180\u8182"+
+        "\u81A0\u8195\u81A4\u81A3\u815F\u8193\u81A9\u81B0"+
+        "\u81B5\u81BE\u81B8\u81BD\u81C0\u81C2\u81BA\u81C9"+
+        "\u81CD\u81D1\u81D9\u81D8\u81C8\u81DA\u81DF\u81E0"+
+        "\u81E7\u81FA\u81FB\u81FE\u8201\u8202\u8205\u8207"+
+        "\u820A\u820D\u8210\u8216\u8229\u822B\u8238\u8233"+
+        "\u8240\u8259\u8258\u825D\u825A\u825F\u8264\u8262"+
+        "\u8268\u826A\u826B\u822E\u8271\u8277\u8278\u827E"+
+        "\u828D\u8292\u82AB\u829F\u82BB\u82AC\u82E1\u82E3"+
+        "\u82DF\u82D2\u82F4\u82F3\u82FA\u8393\u8303\u82FB"+
+        "\u82F9\u82DE\u8306\u82DC\u8309\u82D9\u8335\u8334"+
+        "\u8316\u8332\u8331\u8340\u8339\u8350\u8345\u832F"+
+        "\u832B\u8317\u8318\u8385\u839A\u83AA\u839F\u83A2"+
+        "\u8396\u8323\u838E\u8387\u838A\u837C\u83B5\u8373"+
+        "\u8375\u83A0\u8389\u83A8\u83F4\u8413\u83EB\u83CE"+
+        "\u83FD\u8403\u83D8\u840B\u83C1\u83F7\u8407\u83E0"+
+        "\u83F2\u840D\u8422\u8420\u83BD\u8438\u8506\u83FB"+
+        "\u846D\u842A\u843C\u855A\u8484\u8477\u846B\u84AD"+
+        "\u846E\u8482\u8469\u8446\u842C\u846F\u8479\u8435"+
+        "\u84CA\u8462\u84B9\u84BF\u849F\u84D9\u84CD\u84BB"+
+        "\u84DA\u84D0\u84C1\u84C6\u84D6\u84A1\u8521\u84FF"+
+        "\u84F4\u8517\u8518\u852C\u851F\u8515\u8514\u84FC"+
+        "\u8540\u8563\u8558\u8548\u8541\u8602\u854B\u8555"+
+        "\u8580\u85A4\u8588\u8591\u858A\u85A8\u856D\u8594"+
+        "\u859B\u85EA\u8587\u859C\u8577\u857E\u8590\u85C9"+
+        "\u85BA\u85CF\u85B9\u85D0\u85D5\u85DD\u85E5\u85DC"+
+        "\u85F9\u860A\u8613\u860B\u85FE\u85FA\u8606\u8622"+
+        "\u861A\u8630\u863F\u864D\u4E55\u8654\u865F\u8667"+
+        "\u8671\u8693\u86A3\u86A9\u86AA\u868B\u868C\u86B6"+
+        "\u86AF\u86C4\u86C6\u86B0\u86C9\u8823\u86AB\u86D4"+
+        "\u86DE\u86E9\u86EC\u86DF\u86DB\u86EF\u8712\u8706"+
+        "\u8708\u8700\u8703\u86FB\u8711\u8709\u870D\u86F9"+
+        "\u870A\u8734\u873F\u8737\u873B\u8725\u8729\u871A"+
+        "\u8760\u875F\u8778\u874C\u874E\u8774\u8757\u8768"+
+        "\u876E\u8759\u8753\u8763\u876A\u8805\u87A2\u879F"+
+        "\u8782\u87AF\u87CB\u87BD\u87C0\u87D0\u96D6\u87AB"+
+        "\u87C4\u87B3\u87C7\u87C6\u87BB\u87EF\u87F2\u87E0"+
+        "\u880F\u880D\u87FE\u87F6\u87F7\u880E\u87D2\u8811"+
+        "\u8816\u8815\u8822\u8821\u8831\u8836\u8839\u8827"+
+        "\u883B\u8844\u8842\u8852\u8859\u885E\u8862\u886B"+
+        "\u8881\u887E\u889E\u8875\u887D\u88B5\u8872\u8882"+
+        "\u8897\u8892\u88AE\u8899\u88A2\u888D\u88A4\u88B0"+
+        "\u88BF\u88B1\u88C3\u88C4\u88D4\u88D8\u88D9\u88DD"+
+        "\u88F9\u8902\u88FC\u88F4\u88E8\u88F2\u8904\u890C"+
+        "\u890A\u8913\u8943\u891E\u8925\u892A\u892B\u8941"+
+        "\u8944\u893B\u8936\u8938\u894C\u891D\u8960\u895E"+
+        "\u8966\u8964\u896D\u896A\u896F\u8974\u8977\u897E"+
+        "\u8983\u8988\u898A\u8993\u8998\u89A1\u89A9\u89A6"+
+        "\u89AC\u89AF\u89B2\u89BA\u89BD\u89BF\u89C0\u89DA"+
+        "\u89DC\u89DD\u89E7\u89F4\u89F8\u8A03\u8A16\u8A10"+
+        "\u8A0C\u8A1B\u8A1D\u8A25\u8A36\u8A41\u8A5B\u8A52"+
+        "\u8A46\u8A48\u8A7C\u8A6D\u8A6C\u8A62\u8A85\u8A82"+
+        "\u8A84\u8AA8\u8AA1\u8A91\u8AA5\u8AA6\u8A9A\u8AA3"+
+        "\u8AC4\u8ACD\u8AC2\u8ADA\u8AEB\u8AF3\u8AE7\u8AE4"+
+        "\u8AF1\u8B14\u8AE0\u8AE2\u8AF7\u8ADE\u8ADB\u8B0C"+
+        "\u8B07\u8B1A\u8AE1\u8B16\u8B10\u8B17\u8B20\u8B33"+
+        "\u97AB\u8B26\u8B2B\u8B3E\u8B28\u8B41\u8B4C\u8B4F"+
+        "\u8B4E\u8B49\u8B56\u8B5B\u8B5A\u8B6B\u8B5F\u8B6C"+
+        "\u8B6F\u8B74\u8B7D\u8B80\u8B8C\u8B8E\u8B92\u8B93"+
+        "\u8B96\u8B99\u8B9A\u8C3A\u8C41\u8C3F\u8C48\u8C4C"+
+        "\u8C4E\u8C50\u8C55\u8C62\u8C6C\u8C78\u8C7A\u8C82"+
+        "\u8C89\u8C85\u8C8A\u8C8D\u8C8E\u8C94\u8C7C\u8C98"+
+        "\u621D\u8CAD\u8CAA\u8CBD\u8CB2\u8CB3\u8CAE\u8CB6"+
+        "\u8CC8\u8CC1\u8CE4\u8CE3\u8CDA\u8CFD\u8CFA\u8CFB"+
+        "\u8D04\u8D05\u8D0A\u8D07\u8D0F\u8D0D\u8D10\u9F4E"+
+        "\u8D13\u8CCD\u8D14\u8D16\u8D67\u8D6D\u8D71\u8D73"+
+        "\u8D81\u8D99\u8DC2\u8DBE\u8DBA\u8DCF\u8DDA\u8DD6"+
+        "\u8DCC\u8DDB\u8DCB\u8DEA\u8DEB\u8DDF\u8DE3\u8DFC"+
+        "\u8E08\u8E09\u8DFF\u8E1D\u8E1E\u8E10\u8E1F\u8E42"+
+        "\u8E35\u8E30\u8E34\u8E4A\u8E47\u8E49\u8E4C\u8E50"+
+        "\u8E48\u8E59\u8E64\u8E60\u8E2A\u8E63\u8E55\u8E76"+
+        "\u8E72\u8E7C\u8E81\u8E87\u8E85\u8E84\u8E8B\u8E8A"+
+        "\u8E93\u8E91\u8E94\u8E99\u8EAA\u8EA1\u8EAC\u8EB0"+
+        "\u8EC6\u8EB1\u8EBE\u8EC5\u8EC8\u8ECB\u8EDB\u8EE3"+
+        "\u8EFC\u8EFB\u8EEB\u8EFE\u8F0A\u8F05\u8F15\u8F12"+
+        "\u8F19\u8F13\u8F1C\u8F1F\u8F1B\u8F0C\u8F26\u8F33"+
+        "\u8F3B\u8F39\u8F45\u8F42\u8F3E\u8F4C\u8F49\u8F46"+
+        "\u8F4E\u8F57\u8F5C\u8F62\u8F63\u8F64\u8F9C\u8F9F"+
+        "\u8FA3\u8FAD\u8FAF\u8FB7\u8FDA\u8FE5\u8FE2\u8FEA"+
+        "\u8FEF\u9087\u8FF4\u9005\u8FF9\u8FFA\u9011\u9015"+
+        "\u9021\u900D\u901E\u9016\u900B\u9027\u9036\u9035"+
+        "\u9039\u8FF8\u904F\u9050\u9051\u9052\u900E\u9049"+
+        "\u903E\u9056\u9058\u905E\u9068\u906F\u9076\u96A8"+
+        "\u9072\u9082\u907D\u9081\u9080\u908A\u9089\u908F"+
+        "\u90A8\u90AF\u90B1\u90B5\u90E2\u90E4\u6248\u90DB"+
+        "\u9102\u9112\u9119\u9132\u9130\u914A\u9156\u9158"+
+        "\u9163\u9165\u9169\u9173\u9172\u918B\u9189\u9182"+
+        "\u91A2\u91AB\u91AF\u91AA\u91B5\u91B4\u91BA\u91C0"+
+        "\u91C1\u91C9\u91CB\u91D0\u91D6\u91DF\u91E1\u91DB"+
+        "\u91FC\u91F5\u91F6\u921E\u91FF\u9214\u922C\u9215"+
+        "\u9211\u925E\u9257\u9245\u9249\u9264\u9248\u9295"+
+        "\u923F\u924B\u9250\u929C\u9296\u9293\u929B\u925A"+
+        "\u92CF\u92B9\u92B7\u92E9\u930F\u92FA\u9344\u932E"+
+        "\u9319\u9322\u931A\u9323\u933A\u9335\u933B\u935C"+
+        "\u9360\u937C\u936E\u9356\u93B0\u93AC\u93AD\u9394"+
+        "\u93B9\u93D6\u93D7\u93E8\u93E5\u93D8\u93C3\u93DD"+
+        "\u93D0\u93C8\u93E4\u941A\u9414\u9413\u9403\u9407"+
+        "\u9410\u9436\u942B\u9435\u9421\u943A\u9441\u9452"+
+        "\u9444\u945B\u9460\u9462\u945E\u946A\u9229\u9470"+
+        "\u9475\u9477\u947D\u945A\u947C\u947E\u9481\u947F"+
+        "\u9582\u9587\u958A\u9594\u9596\u9598\u9599\u95A0"+
+        "\u95A8\u95A7\u95AD\u95BC\u95BB\u95B9\u95BE\u95CA"+
+        "\u6FF6\u95C3\u95CD\u95CC\u95D5\u95D4\u95D6\u95DC"+
+        "\u95E1\u95E5\u95E2\u9621\u9628\u962E\u962F\u9642"+
+        "\u964C\u964F\u964B\u9677\u965C\u965E\u965D\u965F"+
+        "\u9666\u9672\u966C\u968D\u9698\u9695\u9697\u96AA"+
+        "\u96A7\u96B1\u96B2\u96B0\u96B4\u96B6\u96B8\u96B9"+
+        "\u96CE\u96CB\u96C9\u96CD\u894D\u96DC\u970D\u96D5"+
+        "\u96F9\u9704\u9706\u9708\u9713\u970E\u9711\u970F"+
+        "\u9716\u9719\u9724\u972A\u9730\u9739\u973D\u973E"+
+        "\u9744\u9746\u9748\u9742\u9749\u975C\u9760\u9764"+
+        "\u9766\u9768\u52D2\u976B\u9771\u9779\u9785\u977C"+
+        "\u9781\u977A\u9786\u978B\u978F\u9790\u979C\u97A8"+
+        "\u97A6\u97A3\u97B3\u97B4\u97C3\u97C6\u97C8\u97CB"+
+        "\u97DC\u97ED\u9F4F\u97F2\u7ADF\u97F6\u97F5\u980F"+
+        "\u980C\u9838\u9824\u9821\u9837\u983D\u9846\u984F"+
+        "\u984B\u986B\u986F\u9870\u9871\u9874\u9873\u98AA"+
+        "\u98AF\u98B1\u98B6\u98C4\u98C3\u98C6\u98E9\u98EB"+
+        "\u9903\u9909\u9912\u9914\u9918\u9921\u991D\u991E"+
+        "\u9924\u9920\u992C\u992E\u993D\u993E\u9942\u9949"+
+        "\u9945\u9950\u994B\u9951\u9952\u994C\u9955\u9997"+
+        "\u9998\u99A5\u99AD\u99AE\u99BC\u99DF\u99DB\u99DD"+
+        "\u99D8\u99D1\u99ED\u99EE\u99F1\u99F2\u99FB\u99F8"+
+        "\u9A01\u9A0F\u9A05\u99E2\u9A19\u9A2B\u9A37\u9A45"+
+        "\u9A42\u9A40\u9A43\u9A3E\u9A55\u9A4D\u9A5B\u9A57"+
+        "\u9A5F\u9A62\u9A65\u9A64\u9A69\u9A6B\u9A6A\u9AAD"+
+        "\u9AB0\u9ABC\u9AC0\u9ACF\u9AD1\u9AD3\u9AD4\u9ADE"+
+        "\u9ADF\u9AE2\u9AE3\u9AE6\u9AEF\u9AEB\u9AEE\u9AF4"+
+        "\u9AF1\u9AF7\u9AFB\u9B06\u9B18\u9B1A\u9B1F\u9B22"+
+        "\u9B23\u9B25\u9B27\u9B28\u9B29\u9B2A\u9B2E\u9B2F"+
+        "\u9B32\u9B44\u9B43\u9B4F\u9B4D\u9B4E\u9B51\u9B58"+
+        "\u9B74\u9B93\u9B83\u9B91\u9B96\u9B97\u9B9F\u9BA0"+
+        "\u9BA8\u9BB4\u9BC0\u9BCA\u9BB9\u9BC6\u9BCF\u9BD1"+
+        "\u9BD2\u9BE3\u9BE2\u9BE4\u9BD4\u9BE1\u9C3A\u9BF2"+
+        "\u9BF1\u9BF0\u9C15\u9C14\u9C09\u9C13\u9C0C\u9C06"+
+        "\u9C08\u9C12\u9C0A\u9C04\u9C2E\u9C1B\u9C25\u9C24"+
+        "\u9C21\u9C30\u9C47\u9C32\u9C46\u9C3E\u9C5A\u9C60"+
+        "\u9C67\u9C76\u9C78\u9CE7\u9CEC\u9CF0\u9D09\u9D08"+
+        "\u9CEB\u9D03\u9D06\u9D2A\u9D26\u9DAF\u9D23\u9D1F"+
+        "\u9D44\u9D15\u9D12\u9D41\u9D3F\u9D3E\u9D46\u9D48"+
+        "\u9D5D\u9D5E\u9D64\u9D51\u9D50\u9D59\u9D72\u9D89"+
+        "\u9D87\u9DAB\u9D6F\u9D7A\u9D9A\u9DA4\u9DA9\u9DB2"+
+        "\u9DC4\u9DC1\u9DBB\u9DB8\u9DBA\u9DC6\u9DCF\u9DC2"+
+        "\u9DD9\u9DD3\u9DF8\u9DE6\u9DED\u9DEF\u9DFD\u9E1A"+
+        "\u9E1B\u9E1E\u9E75\u9E79\u9E7D\u9E81\u9E88\u9E8B"+
+        "\u9E8C\u9E92\u9E95\u9E91\u9E9D\u9EA5\u9EA9\u9EB8"+
+        "\u9EAA\u9EAD\u9761\u9ECC\u9ECE\u9ECF\u9ED0\u9ED4"+
+        "\u9EDC\u9EDE\u9EDD\u9EE0\u9EE5\u9EE8\u9EEF\u9EF4"+
+        "\u9EF6\u9EF7\u9EF9\u9EFB\u9EFC\u9EFD\u9F07\u9F08"+
+        "\u76B7\u9F15\u9F21\u9F2C\u9F3E\u9F4A\u9F52\u9F54"+
+        "\u9F63\u9F5F\u9F60\u9F61\u9F66\u9F67\u9F6C\u9F6A"+
+        "\u9F77\u9F72\u9F76\u9F95\u9F9C\u9FA0\u582F\u69C7"+
+        "\u9059\u7464\u51DC\u7199\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD";
+
+    private final static short index1[] = {
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 0, 0, 0, 0, 0, 0,
+        9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
+        25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
+        41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
+        57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
+        73, 74, 75, 76, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+    };
+
+    private final static String index2[] = {
+        innerIndex0,
+        innerIndex1,
+        innerIndex2,
+        innerIndex3,
+        innerIndex4
+    };
+
+
+    protected char convSingleByte(int b) {
+        return REPLACE_CHAR;
+    }
+
+    static short[] getIndex1() {
+       return index1;
+    }
+
+    static String[] getIndex2() {
+       return index2;
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/sun/nio/cs/OLD/JIS_X_0208_Encoder.java	Wed Aug 01 11:08:11 2012 -0400
@@ -0,0 +1,3122 @@
+/*
+ * Copyright (c) 2003, 2005, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code 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
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ */
+
+
+import java.nio.charset.Charset;
+import java.nio.charset.CharsetEncoder;
+
+public class JIS_X_0208_Encoder extends DoubleByteEncoder
+{
+
+    /*
+     * default replacement defined merely for pseudo
+     * charset x-JIS-X-0208 to instantiate with a
+     * decodeable replacement byte sequence
+     * JIS X 0208(1987) 0x2129 maps to FULLWIDTH QUESTION MARK
+     *
+     */
+
+    private static byte[] repl = { (byte)0x21, (byte)0x29 };
+
+    public JIS_X_0208_Encoder(Charset cs) {
+        super(cs,
+              index1,
+              index2 ,
+              repl
+             );
+    }
+    public JIS_X_0208_Encoder(Charset cs, float avg, float max) {
+        super(cs,
+              index1,
+              index2 ,
+              repl,
+              avg,
+              max
+             );
+    }
+
+    protected int encodeSingle(char inputChar) {
+        return -1;
+    }
+
+    static short[] getIndex1() {
+       return index1;
+    }
+
+    static String[] getIndex2() {
+       return index2;
+    }
+
+    private final static String innerIndex0=
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u2171\u2172\u0000\u0000\u0000\u2178"+
+        "\u212F\u0000\u0000\u0000\u224C\u0000\u0000\u0000"+
+        "\u216B\u215E\u0000\u0000\u212D\u0000\u2279\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u215F"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u2160"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u2621\u2622\u2623\u2624\u2625\u2626\u2627"+
+        "\u2628\u2629\u262A\u262B\u262C\u262D\u262E\u262F"+
+        "\u2630\u2631\u0000\u2632\u2633\u2634\u2635\u2636"+
+        "\u2637\u2638\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u2641\u2642\u2643\u2644\u2645\u2646\u2647"+
+        "\u2648\u2649\u264A\u264B\u264C\u264D\u264E\u264F"+
+        "\u2650\u2651\u0000\u2652\u2653\u2654\u2655\u2656"+
+        "\u2657\u2658\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u2727\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u2721\u2722\u2723\u2724\u2725\u2726\u2728\u2729"+
+        "\u272A\u272B\u272C\u272D\u272E\u272F\u2730\u2731"+
+        "\u2732\u2733\u2734\u2735\u2736\u2737\u2738\u2739"+
+        "\u273A\u273B\u273C\u273D\u273E\u273F\u2740\u2741"+
+        "\u2751\u2752\u2753\u2754\u2755\u2756\u2758\u2759"+
+        "\u275A\u275B\u275C\u275D\u275E\u275F\u2760\u2761"+
+        "\u2762\u2763\u2764\u2765\u2766\u2767\u2768\u2769"+
+        "\u276A\u276B\u276C\u276D\u276E\u276F\u2770\u2771"+
+        "\u0000\u2757\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u213E\u0000\u0000\u0000\u213D\u0000\u2142\u0000"+
+        "\u2146\u2147\u0000\u0000\u2148\u2149\u0000\u0000"+
+        "\u2277\u2278\u0000\u0000\u0000\u2145\u2144\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u2273\u0000\u216C\u216D\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u2228\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u216E\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u2272\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u222B\u222C\u222A\u222D\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u224D\u0000\u224E\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u224F\u0000\u225F\u2250\u0000\u0000\u0000\u2260"+
+        "\u223A\u0000\u0000\u223B\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u215D\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u2265\u0000\u0000\u2267\u2167\u0000"+
+        "\u225C\u0000\u0000\u0000\u0000\u0000\u0000\u224A"+
+        "\u224B\u2241\u2240\u2269\u226A\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u2168\u2268\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u2266\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u2262\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u2162\u2261\u0000\u0000\u0000\u0000\u2165\u2166"+
+        "\u0000\u0000\u2263\u2264\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u223E\u223F\u0000\u0000\u223C\u223D"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u225D\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u225E\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u2821\u282C\u2822\u282D\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u2823\u0000\u0000\u282E"+
+        "\u2824\u0000\u0000\u282F\u2826\u0000\u0000\u2831"+
+        "\u2825\u0000\u0000\u2830\u2827\u283C\u0000\u0000"+
+        "\u2837\u0000\u0000\u2832\u2829\u283E\u0000\u0000"+
+        "\u2839\u0000\u0000\u2834\u2828\u0000\u0000\u2838"+
+        "\u283D\u0000\u0000\u2833\u282A\u0000\u0000\u283A"+
+        "\u283F\u0000\u0000\u2835\u282B\u0000\u0000\u283B"+
+        "\u0000\u0000\u2840\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u2836\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u2223\u2222\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u2225\u2224\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u2227\u2226\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u2221\u217E"+
+        "\u0000\u0000\u0000\u217B\u0000\u0000\u217D\u217C"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u227E"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u217A\u2179\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u216A\u0000\u2169\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u2276\u0000\u0000\u2275\u0000\u2274"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u2121\u2122\u2123\u2137\u0000\u2139\u213A\u213B"+
+        "\u2152\u2153\u2154\u2155\u2156\u2157\u2158\u2159"+
+        "\u215A\u215B\u2229\u222E\u214C\u214D\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u2141\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u2421\u2422\u2423\u2424\u2425\u2426\u2427"+
+        "\u2428\u2429\u242A\u242B\u242C\u242D\u242E\u242F"+
+        "\u2430\u2431\u2432\u2433\u2434\u2435\u2436\u2437"+
+        "\u2438\u2439\u243A\u243B\u243C\u243D\u243E\u243F"+
+        "\u2440\u2441\u2442\u2443\u2444\u2445\u2446\u2447"+
+        "\u2448\u2449\u244A\u244B\u244C\u244D\u244E\u244F"+
+        "\u2450\u2451\u2452\u2453\u2454\u2455\u2456\u2457"+
+        "\u2458\u2459\u245A\u245B\u245C\u245D\u245E\u245F"+
+        "\u2460\u2461\u2462\u2463\u2464\u2465\u2466\u2467"+
+        "\u2468\u2469\u246A\u246B\u246C\u246D\u246E\u246F"+
+        "\u2470\u2471\u2472\u2473\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u212B\u212C\u2135\u2136\u0000"+
+        "\u0000\u2521\u2522\u2523\u2524\u2525\u2526\u2527"+
+        "\u2528\u2529\u252A\u252B\u252C\u252D\u252E\u252F"+
+        "\u2530\u2531\u2532\u2533\u2534\u2535\u2536\u2537"+
+        "\u2538\u2539\u253A\u253B\u253C\u253D\u253E\u253F"+
+        "\u2540\u2541\u2542\u2543\u2544\u2545\u2546\u2547"+
+        "\u2548\u2549\u254A\u254B\u254C\u254D\u254E\u254F"+
+        "\u2550\u2551\u2552\u2553\u2554\u2555\u2556\u2557"+
+        "\u2558\u2559\u255A\u255B\u255C\u255D\u255E\u255F"+
+        "\u2560\u2561\u2562\u2563\u2564\u2565\u2566\u2567"+
+        "\u2568\u2569\u256A\u256B\u256C\u256D\u256E\u256F"+
+        "\u2570\u2571\u2572\u2573\u2574\u2575\u2576\u0000"+
+        "\u0000\u0000\u0000\u2126\u213C\u2133\u2134\u0000"+
+        "\u306C\u437A\u0000\u3C37\u0000\u0000\u0000\u4B7C"+
+        "\u3E66\u3B30\u3E65\u323C\u0000\u4954\u4D3F\u0000"+
+        "\u5022\u312F\u0000\u0000\u336E\u5023\u4024\u5242"+
+        "\u3556\u4A3A\u0000\u0000\u0000\u0000\u3E67\u0000"+
+        "\u0000\u4E3E\u0000\u0000\u0000\u0000\u4A42\u0000"+
+        "\u0000\u0000\u5024\u0000\u0000\u4366\u0000\u0000"+
+        "\u0000\u5025\u367A\u0000\u0000\u0000\u5026\u0000"+
+        "\u345D\u4330\u0000\u3C67\u5027\u0000\u0000\u5028"+
+        "\u0000\u0000\u5029\u4735\u0000\u3557\u0000\u0000"+
+        "\u0000\u0000\u0000\u4737\u0000\u4663\u3843\u4B33"+
+        "\u0000\u0000\u0000\u0000\u0000\u6949\u502A\u3E68"+
+        "\u502B\u3235\u0000\u0000\u0000\u3665\u3870\u4C69"+
+        "\u0000\u0000\u5626\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u4D70\u0000\u467D\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u3425\u0000"+
+        "\u3535\u0000\u502C\u0000\u0000\u502D\u4E3B\u0000"+
+        "\u4D3D\u4168\u502F\u3B76\u4673\u0000\u5032\u0000"+
+        "\u0000\u313E\u385F\u0000\u385E\u3066\u0000\u0000"+
+        "\u4F4B\u4F4A\u0000\u3A33\u3021\u0000\u5033\u5034"+
+        "\u5035\u4B34\u5036\u0000\u3872\u3067\u4B72\u0000"+
+        "\u357C\u0000\u0000\u357D\u357E\u4462\u4E3C\u0000"+
+        "\u5037\u0000\u0000\u5038\u0000\u0000\u5039\u0000"+
+        "\u0000\u0000\u3F4D\u0000\u0000\u0000\u0000\u0000"+
+        "\u3D3A\u3F4E\u503E\u0000\u503C\u0000\u503D\u3558"+
+        "\u0000\u0000\u3A23\u3270\u0000\u503B\u503A\u4A29"+
+        "\u0000\u0000\u0000\u0000\u3B46\u3B45\u423E\u503F"+
+        "\u4955\u4067\u0000\u0000\u0000\u2138\u5040\u5042"+
+        "\u0000\u0000\u0000\u4265\u4E61\u304A\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u5041\u323E\u0000"+
+        "\u3644\u0000\u4367\u0000\u0000\u0000\u376F\u5043"+
+        "\u0000\u0000\u0000\u4724\u0000\u0000\u0000\u0000"+
+        "\u0000\u346B\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u5044\u304B\u0000\u0000\u3860\u346C\u497A"+
+        "\u4832\u3559\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3271\u0000\u5067\u4541\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u476C"+
+        "\u5046\u0000\u0000\u0000\u483C\u0000\u4E62\u0000"+
+        "\u3F2D\u0000\u3B47\u0000\u3B77\u3240\u0000\u0000"+
+        "\u0000\u0000\u0000\u4451\u0000\u0000\u4322\u504A"+
+        "\u0000\u0000\u0000\u0000\u0000\u304C\u4463\u3D3B"+
+        "\u3A34\u4D24\u0000\u424E\u0000\u323F\u0000\u5049"+
+        "\u0000\u4D3E\u5045\u5047\u3A6E\u5048\u5524\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u5050\u0000\u0000\u0000\u0000\u0000\u5053"+
+        "\u5051\u0000\u0000\u3242\u0000\u4A3B\u504B\u0000"+
+        "\u0000\u0000\u0000\u504F\u3873\u0000\u0000\u3B48"+
+        "\u0000\u0000\u0000\u3426\u0000\u0000\u5054\u0000"+
+        "\u504C\u0000\u0000\u4E63\u0000\u3B78\u0000\u504D"+
+        "\u0000\u5052\u0000\u0000\u0000\u0000\u5055\u0000"+
+        "\u504E\u0000\u0000\u3621\u0000\u304D\u0000\u0000"+
+        "\u3622\u3241\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u5525\u0000\u4B79\u496E\u3874"+
+        "\u0000\u0000\u0000\u0000\u0000\u3F2F\u4E37\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4A58"+
+        "\u0000\u0000\u3738\u4225\u3264\u0000\u0000\u0000"+
+        "\u0000\u0000\u3D53\u0000\u0000\u0000\u5059\u0000"+
+        "\u505E\u505C\u0000\u0000\u5057\u0000\u0000\u422F"+
+        "\u505A\u0000\u505D\u505B\u0000\u4A5D\u0000\u5058"+
+        "\u0000\u3F2E\u0000\u4B73\u505F\u5060\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u3D24\u506D"+
+        "\u0000\u0000\u0000\u4750\u0000\u4936\u5068\u0000"+
+        "\u4A70\u0000\u3236\u0000\u0000\u0000\u506C\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u5066\u506F\u0000"+
+        "\u0000\u4152\u0000\u3844\u0000\u475C\u0000\u6047"+
+        "\u0000\u506E\u455D\u0000\u5063\u0000\u3876\u0000"+
+        "\u0000\u3875\u5061\u0000\u0000\u0000\u0000\u3C5A"+
+        "\u0000\u5069\u0000\u4A6F\u434D\u5065\u3771\u0000"+
+        "\u5062\u506A\u5064\u4E51\u506B\u4F41\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u3666\u0000"+
+        "\u0000\u3770\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u5070\u0000\u0000\u0000\u5071"+
+        "\u5075\u304E\u0000\u0000\u0000\u0000\u0000\u4A50"+
+        "\u5074\u0000\u0000\u0000\u0000\u5073\u5077\u0000"+
+        "\u0000\u0000\u5076\u0000\u4464\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u3772\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u5078\u0000\u0000\u0000"+
+        "\u0000\u0000\u3C45\u0000\u4226\u4465\u3676\u0000"+
+        "\u5079\u0000\u0000\u0000\u0000\u3536\u0000\u0000"+
+        "\u507A\u0000\u0000\u0000\u0000\u507C\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u4B35\u0000\u0000"+
+        "\u0000\u3766\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u3B31\u4877\u507B\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u3A45\u4D43\u0000\u0000"+
+        "\u0000\u0000\u507E\u5123\u507D\u3A44\u0000\u3D7D"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u3739\u0000"+
+        "\u0000\u0000\u5124\u0000\u0000\u364F\u0000\u0000"+
+        "\u0000\u5121\u5122\u0000\u0000\u462F\u0000\u417C"+
+        "\u0000\u3623\u0000\u0000\u0000\u4B4D\u5125\u0000"+
+        "\u0000\u0000\u4E3D\u0000\u0000\u0000\u5126\u0000"+
+        "\u0000\u0000\u0000\u5129\u0000\u5127\u0000\u414E"+
+        "\u0000\u0000\u0000\u0000\u0000\u5128\u512A\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u512C\u0000\u0000"+
+        "\u0000\u512B\u0000\u4A48\u0000\u0000\u0000\u0000"+
+        "\u3537\u512E\u512F\u0000\u322F\u0000\u0000\u0000"+
+        "\u0000\u512D\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3C74\u0000\u5132\u5131\u5130\u0000"+
+        "\u5056\u0000\u5133\u0000\u0000\u0000\u0000\u3D7E"+
+        "\u0000\u5134\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u4D25\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u4C59\u0000\u0000\u0000\u0000\u5136"+
+        "\u0000\u0000\u5135\u5138\u5137\u0000\u0000\u5139"+
+        "\u513A\u3074\u0000\u3835\u373B\u3D3C\u437B\u3624"+
+        "\u4068\u3877\u0000\u396E\u513C\u4C48\u4546\u0000"+
+        "\u3B79\u0000\u513B\u0000\u513D\u0000\u0000\u0000"+
+        "\u0000\u0000\u455E\u0000\u3375\u0000\u0000\u0000"+
+        "\u0000\u0000\u513E\u0000\u0000\u467E\u0000\u0000"+
+        "\u4134\u5140\u5141\u482C\u3878\u4F3B\u5142\u0000"+
+        "\u0000\u3626\u0000\u0000\u0000\u4A3C\u4236\u3671"+
+        "\u4535\u0000\u0000\u0000\u3773\u0000\u0000\u0000"+
+        "\u5143\u0000\u5144\u0000\u0000\u4662\u315F\u0000"+
+        "\u0000\u5147\u3A7D\u0000\u5146\u3A46\u0000\u5148"+
+        "\u666E\u5149\u4B41\u514A\u0000\u514B\u514C\u3E69"+
+        "\u0000\u3C4C\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u3427\u0000\u514F\u0000\u514D\u4C3D\u514E\u0000"+
+        "\u495A\u5150\u5151\u5152\u455F\u0000\u0000\u0000"+
+        "\u5156\u5154\u5155\u5153\u3A63\u5157\u4C6A\u4E64"+
+        "\u0000\u0000\u0000\u0000\u0000\u5158\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u4028\u5159\u3D5A\u0000"+
+        "\u0000\u515A\u0000\u437C\u4E3F\u4560\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u5245\u0000"+
+        "\u0000\u0000\u0000\u515B\u7425\u3645\u0000\u0000"+
+        "\u515C\u4B5E\u0000\u0000\u0000\u0000\u3D68\u427C"+
+        "\u0000\u515E\u4664\u0000\u0000\u515F\u0000\u0000"+
+        "\u5160\u332E\u0000\u0000\u0000\u5161\u3627\u0000"+
+        "\u464C\u317A\u3D50\u0000\u0000\u4821\u5162\u0000"+
+        "\u4561\u0000\u0000\u3F4F\u5163\u0000\u4A2C\u405A"+
+        "\u3422\u0000\u3429\u5164\u0000\u0000\u5166\u0000"+
+        "\u0000\u373A\u0000\u0000\u5165\u0000\u0000\u4E73"+
+        "\u0000\u0000\u0000\u0000\u0000\u3D69\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u483D\u4A4C\u0000\u5167"+
+        "\u0000\u4D78\u5168\u0000\u0000\u0000\u5169\u0000"+
+        "\u457E\u0000\u0000\u516A\u0000\u0000\u4029\u3A7E"+
+        "\u3774\u516B\u3B49\u396F\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u4466\u516D\u0000\u0000\u4227"+
+        "\u0000\u0000\u3A6F\u516E\u516F\u4130\u0000\u516C"+
+        "\u0000\u0000\u0000\u0000\u5171\u0000\u4B36\u0000"+
+        "\u0000\u0000\u0000\u3964\u0000\u0000\u5170\u0000"+
+        "\u0000\u0000\u0000\u3775\u3A5E\u476D\u0000\u0000"+
+        "\u0000\u5174\u5172\u0000\u0000\u0000\u0000\u497B"+
+        "\u3E6A\u517B\u3364\u5175\u5173\u414F\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u5177\u0000\u5176"+
+        "\u0000\u0000\u0000\u3344\u0000\u0000\u0000\u3760"+
+        "\u517C\u4E2D\u0000\u0000\u0000\u5178\u0000\u0000"+
+        "\u0000\u517D\u517A\u0000\u5179\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u4E4F\u0000\u0000\u0000\u3879"+
+        "\u3243\u0000\u0000\u4E74\u0000\u0000\u0000\u0000"+
+        "\u0000\u3D75\u4558\u3965\u5222\u5223\u0000\u0000"+
+        "\u0000\u4E65\u0000\u0000\u4F2B\u5225\u0000\u0000"+
+        "\u0000\u387A\u0000\u0000\u5224\u0000\u332F\u0000"+
+        "\u0000\u5226\u0000\u4B56\u0000\u443C\u0000\u4D26"+
+        "\u0000\u4A59\u0000\u0000\u0000\u5227\u0000\u0000"+
+        "\u0000\u0000\u7055\u0000\u0000\u4630\u0000\u5228"+
+        "\u342A\u4C33\u0000\u0000\u0000\u3E21\u5229\u4A67"+
+        "\u522D\u0000\u402A\u522A\u3650\u0000\u522B\u342B"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u372E\u522E\u0000\u522F\u0000\u0000"+
+        "\u5230\u5231\u3C5B\u0000\u0000\u0000\u387B\u4C5E";
+
+    private final static String innerIndex1=
+        "\u0000\u4C68\u4677\u0000\u0000\u4A71\u5232\u0000"+
+        "\u5233\u0000\u0000\u0000\u0000\u5235\u0000\u5237"+
+        "\u5236\u0000\u0000\u0000\u0000\u5238\u323D\u4B4C"+
+        "\u0000\u3A7C\u5239\u0000\u0000\u4159\u0000\u0000"+
+        "\u3E22\u3629\u0000\u523A\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u485B\u0000\u0000\u0000\u0000\u523B"+
+        "\u0000\u523C\u0000\u523D\u0000\u0000\u0000\u0000"+
+        "\u523E\u4924\u3668\u3065\u0000\u0000\u0000\u463F"+
+        "\u523F\u3D3D\u0000\u4069\u0000\u5241\u5240\u3E23"+
+        "\u3861\u5243\u483E\u0000\u0000\u5244\u0000\u0000"+
+        "\u0000\u485C\u4234\u426E\u3628\u0000\u0000\u466E"+
+        "\u4331\u0000\u476E\u0000\u4B4E\u0000\u5246\u0000"+
+        "\u406A\u0000\u0000\u0000\u0000\u0000\u3735\u0000"+
+        "\u0000\u5247\u0000\u0000\u0000\u0000\u5248\u312C"+
+        "\u3075\u346D\u0000\u4228\u3551\u4D71\u0000\u524B"+
+        "\u3237\u0000\u0000\u524A\u0000\u0000\u0000\u362A"+
+        "\u0000\u0000\u524C\u0000\u4C71\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u524D\u0000"+
+        "\u4E52\u0000\u387C\u0000\u0000\u0000\u0000\u3836"+
+        "\u524E\u0000\u0000\u0000\u0000\u5250\u524F\u0000"+
+        "\u3F5F\u3139\u0000\u0000\u0000\u315E\u5251\u0000"+
+        "\u5252\u0000\u0000\u3837\u0000\u0000\u5253\u0000"+
+        "\u0000\u0000\u0000\u356E\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3B32\u5254\u0000\u0000\u0000\u0000"+
+        "\u4B74\u3A35\u355A\u4D27\u4150\u483F\u3C7D\u0000"+
+        "\u0000\u0000\u0000\u0000\u3D47\u0000\u3C68\u3C75"+
+        "\u0000\u3D76\u0000\u4840\u0000\u0000\u0000\u5257"+
+        "\u0000\u3143\u4151\u387D\u3845\u3667\u0000\u0000"+
+        "\u525B\u4321\u427E\u362B\u3E24\u525C\u525A\u3244"+
+        "\u4266\u3C38\u3B4B\u3126\u0000\u0000\u3370\u3966"+
+        "\u3B4A\u0000\u525D\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u525E\u0000\u3549\u3346\u0000\u0000\u0000"+
+        "\u3967\u3548\u445F\u3125\u4631\u4C3E\u3921\u4D79"+
+        "\u4547\u387E\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u372F\u0000\u5267\u0000\u3663"+
+        "\u4B4A\u0000\u0000\u0000\u0000\u0000\u485D\u0000"+
+        "\u0000\u5266\u0000\u345E\u5261\u5262\u5264\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u5265\u0000"+
+        "\u355B\u3F61\u0000\u4A2D\u5263\u525F\u3863\u0000"+
+        "\u5260\u0000\u4F24\u0000\u0000\u0000\u4A72\u0000"+
+        "\u4468\u3862\u3970\u0000\u0000\u0000\u5268\u0000"+
+        "\u0000\u465D\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u526C"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u3C7E\u0000\u3C76\u0000\u0000\u0000\u0000\u0000"+
+        "\u526F\u526D\u0000\u4C23\u0000\u526A\u5273\u526E"+
+        "\u0000\u0000\u0000\u5271\u3846\u4C3F\u0000\u0000"+
+        "\u5272\u0000\u0000\u0000\u5274\u0000\u5276\u0000"+
+        "\u0000\u0000\u0000\u3A70\u4F42\u0000\u526B\u5269"+
+        "\u5275\u0000\u5270\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u5278\u0000\u5323\u527A\u0000\u0000"+
+        "\u527E\u0000\u0000\u5321\u527B\u0000\u0000\u533E"+
+        "\u0000\u0000\u3A69\u3331\u0000\u0000\u0000\u0000"+
+        "\u5279\u0000\u0000\u0000\u5325\u3076\u5324\u0000"+
+        "\u3025\u494A\u5322\u0000\u527C\u0000\u0000\u5277"+
+        "\u527D\u3A48\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u5326\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u3077\u532F\u0000\u0000\u5327\u5328\u0000"+
+        "\u3E25\u4B69\u0000\u0000\u0000\u532D\u532C\u0000"+
+        "\u0000\u0000\u452F\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u532E\u0000\u0000\u532B\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u3134\u0000\u3A36\u3F30"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5329"+
+        "\u4562\u0000\u0000\u0000\u532A\u0000\u3022\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u5334\u4D23"+
+        "\u0000\u3E27\u0000\u533A\u0000\u0000\u0000\u0000"+
+        "\u5339\u5330\u0000\u0000\u0000\u0000\u4243\u0000"+
+        "\u5331\u0000\u0000\u0000\u426F\u5336\u3E26\u0000"+
+        "\u0000\u0000\u0000\u0000\u5333\u0000\u0000\u4C64"+
+        "\u0000\u0000\u0000\u373C\u0000\u0000\u5337\u5338"+
+        "\u0000\u0000\u0000\u0000\u5335\u533B\u0000\u0000"+
+        "\u0000\u0000\u0000\u5332\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u5341\u5346\u0000\u5342\u0000"+
+        "\u533D\u0000\u0000\u5347\u4131\u0000\u0000\u5349"+
+        "\u0000\u3922\u533F\u437D\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u5343\u533C\u342D\u0000\u346E\u3365\u5344\u5340"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3776"+
+        "\u534A\u5348\u4153\u354A\u362C\u0000\u5345\u0000"+
+        "\u3674\u0000\u0000\u0000\u0000\u0000\u3144\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u534E\u534C\u0000\u5427"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u5351\u0000\u0000\u0000"+
+        "\u0000\u0000\u534B\u0000\u534F\u0000\u0000\u534D"+
+        "\u0000\u0000\u0000\u3B4C\u5350\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5353"+
+        "\u0000\u5358\u0000\u0000\u0000\u5356\u5355\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u4332\u0000"+
+        "\u0000\u3245\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u5352\u0000\u5354\u3E28"+
+        "\u3133\u0000\u0000\u5357\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u325E\u0000\u0000\u0000\u0000\u0000\u5362"+
+        "\u0000\u3E7C\u535E\u0000\u535C\u0000\u535D\u0000"+
+        "\u535F\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u313D\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u4139\u0000\u5359\u0000"+
+        "\u535A\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u337A\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u5361\u0000\u0000\u0000"+
+        "\u346F\u0000\u5364\u5360\u5363\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u4A2E\u0000\u0000\u0000"+
+        "\u4655\u0000\u4838\u0000\u0000\u0000\u0000\u0000"+
+        "\u5366\u0000\u0000\u0000\u0000\u0000\u5365\u3345"+
+        "\u0000\u0000\u5367\u0000\u0000\u0000\u0000\u536A"+
+        "\u0000\u0000\u0000\u0000\u5369\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u5368\u0000\u4739\u0000\u0000\u536B\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u536C\u0000"+
+        "\u0000\u0000\u0000\u0000\u536E\u0000\u536D\u0000"+
+        "\u0000\u0000\u0000\u0000\u5370\u0000\u0000\u0000"+
+        "\u5373\u5371\u536F\u5372\u0000\u0000\u0000\u0000"+
+        "\u5374\u0000\u0000\u0000\u0000\u0000\u5375\u0000"+
+        "\u0000\u5376\u0000\u5377\u0000\u0000\u0000\u5378"+
+        "\u5145\u0000\u3C7C\u3B4D\u0000\u0000\u3273\u0000"+
+        "\u3078\u0000\u0000\u4344\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u5379\u0000"+
+        "\u3A24\u0000\u304F\u3F5E\u0000\u0000\u0000\u0000"+
+        "\u0000\u537A\u3847\u0000\u0000\u3971\u0000\u537C"+
+        "\u537B\u0000\u0000\u4A60\u537D\u0000\u0000\u0000"+
+        "\u5421\u537E\u0000\u5422\u0000\u5423\u0000\u3777"+
+        "\u0000\u0000\u3160\u5424\u0000\u0000\u5426\u0000"+
+        "\u5425\u0000\u0000\u0000\u5428\u0000\u0000\u455A"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u5429\u3035"+
+        "\u3A5F\u0000\u0000\u0000\u0000\u373D\u0000\u0000"+
+        "\u434F\u0000\u0000\u0000\u0000\u0000\u0000\u542A"+
+        "\u542B\u0000\u0000\u542D\u0000\u0000\u0000\u0000"+
+        "\u542E\u0000\u3A64\u0000\u0000\u0000\u0000\u3651"+
+        "\u0000\u0000\u4B37\u0000\u0000\u0000\u542C\u542F"+
+        "\u3A41\u3923\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u5433\u0000\u0000\u3A25\u0000\u4333\u0000"+
+        "\u0000\u5430\u445A\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5434"+
+        "\u0000\u0000\u3F62\u0000\u0000\u0000\u0000\u0000"+
+        "\u5432\u5435\u0000\u373F\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u5436\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u5437\u0000\u3924\u3340\u5439\u0000\u0000\u0000"+
+        "\u0000\u0000\u543A\u0000\u0000\u0000\u0000\u0000"+
+        "\u543B\u0000\u0000\u5438\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u5431\u0000\u0000\u543C\u0000\u0000\u543D\u0000"+
+        "\u0000\u0000\u0000\u4B64\u0000\u0000\u3E6B\u0000"+
+        "\u0000\u0000\u543F\u5440\u543E\u0000\u5442\u0000"+
+        "\u0000\u0000\u0000\u0000\u4738\u0000\u0000\u3068"+
+        "\u4956\u0000\u0000\u5443\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u3E7D\u0000\u0000\u3C39"+
+        "\u0000\u475D\u3470\u0000\u3A6B\u0000\u0000\u0000"+
+        "\u4B59\u0000\u4632\u0000\u0000\u3778\u424F\u0000"+
+        "\u0000\u0000\u5441\u5444\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u4244\u0000\u0000"+
+        "\u0000\u5445\u0000\u0000\u0000\u5446\u0000\u0000"+
+        "\u0000\u5448\u0000\u0000\u4469\u0000\u0000\u0000"+
+        "\u0000\u0000\u342E\u0000\u0000\u0000\u0000\u7421"+
+        "\u3161\u4A73\u0000\u0000\u3E6C\u4548\u0000\u0000"+
+        "\u0000\u0000\u3A66\u0000\u0000\u544E\u0000\u0000"+
+        "\u4A3D\u4E5D\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3274\u544A\u0000\u0000\u0000\u0000"+
+        "\u0000\u413A\u544D\u0000\u4563\u0000\u0000\u4549"+
+        "\u4564\u4839\u444D\u0000\u0000\u0000\u3A49\u0000"+
+        "\u0000\u0000\u5449\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u3176\u0000\u4536\u0000\u0000\u0000\u0000"+
+        "\u544B\u0000\u5447\u0000\u0000\u3F50\u0000\u0000"+
+        "\u0000\u544F\u0000\u0000\u0000\u0000\u3D4E\u0000"+
+        "\u0000\u0000\u0000\u362D\u0000\u5450\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u4A68\u0000\u0000\u0000\u417D"+
+        "\u0000\u0000\u0000\u0000\u4446\u0000\u0000\u5452"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u4B4F\u0000\u0000\u5453\u0000\u0000\u5458\u0000"+
+        "\u0000\u0000\u0000\u4A2F\u0000\u0000\u0000\u0000"+
+        "\u5457\u5451\u5454\u5456\u0000\u0000\u3A26\u0000"+
+        "\u0000\u4A49\u0000\u0000\u0000\u5459\u0000\u4345"+
+        "\u0000\u0000\u3275\u0000\u3E6D\u0000\u0000\u0000"+
+        "\u0000\u545B\u0000\u545A\u0000\u3968\u0000\u545C"+
+        "\u545E\u545D\u0000\u0000\u5460\u0000\u5455\u5462"+
+        "\u0000\u0000\u0000\u0000\u5461\u545F\u0000\u0000"+
+        "\u0000\u0000\u0000\u3B4E\u3F51\u0000\u4154\u5463"+
+        "\u403C\u306D\u4764\u0000\u0000\u0000\u0000\u445B"+
+        "\u0000\u5465\u5464\u5466\u5467\u5468\u0000\u0000"+
+        "\u0000\u0000\u5469\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u4A51\u546A\u0000\u0000\u0000\u0000\u3246"+
+        "\u546B\u0000\u0000\u0000\u0000\u4D3C\u3330\u0000"+
+        "\u5249\u3D48\u423F\u546C\u4C6B\u0000\u0000\u0000"+
+        "\u0000\u0000\u4C34\u0000\u0000\u546E\u0000\u4267"+
+        "\u0000\u4537\u4240\u4957\u546F\u5470\u317B\u0000"+
+        "\u0000\u3C3A\u5471\u0000\u0000\u0000\u0000\u3050"+
+        "\u5472\u0000\u0000\u0000\u0000\u0000\u5473\u0000"+
+        "\u0000\u0000\u0000\u0000\u3162\u0000\u0000\u3471"+
+        "\u4660\u4A74\u0000\u0000\u0000\u0000\u5477\u4155"+
+        "\u5476\u3740\u0000\u0000\u4B5B\u5475\u0000\u4565"+
+        "\u5479\u0000\u5478\u0000\u0000\u0000\u0000\u0000"+
+        "\u547B\u0000\u547A\u0000\u0000\u317C\u0000\u547C"+
+        "\u3E29\u547E\u4325\u0000\u547D\u0000\u4A33\u0000"+
+        "\u0000\u0000\u0000\u3D77\u455B\u0000\u0000\u0000"+
+        "\u5521\u0000\u0000\u0000\u0000\u3925\u0000\u0000"+
+        "\u0000\u5522\u4721\u485E\u4C51\u0000\u0000\u0000"+
+        "\u0000\u0000\u4725\u0000\u0000\u552B\u0000\u0000"+
+        "\u0000\u0000\u0000\u3538\u0000\u0000\u4D45\u0000"+
+        "\u0000\u4C2F\u0000\u562C\u0000\u5523\u0000\u0000"+
+        "\u0000\u0000\u0000\u5526\u0000\u4245\u0000\u0000"+
+        "\u4B38\u0000\u0000\u0000\u454A\u0000\u0000\u0000"+
+        "\u0000\u0000\u5527\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u4B65\u0000\u3A4A\u0000\u0000\u3E2A\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u5528\u0000"+
+        "\u0000\u3B50\u0000\u3B4F\u0000\u0000\u0000\u0000"+
+        "\u3039\u3848\u0000\u402B\u3051\u0000\u0000\u0000"+
+        "\u0000\u552C\u552D\u0000\u552A\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u3138\u342F\u0000"+
+        "\u5529\u0000\u4C45\u4931\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u3028\u0000"+
+        "\u0000\u0000\u0000\u3079\u0000\u0000\u0000\u3B51"+
+        "\u0000\u3052\u0000\u3023\u0000\u0000\u0000\u0000"+
+        "\u0000\u5532\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u5530\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u4C3C\u0000\u5533\u0000\u5531\u0000\u0000\u552F"+
+        "\u3F31\u0000\u0000\u0000\u0000\u552E\u0000\u0000"+
+        "\u0000\u4A5A\u0000\u0000\u0000\u0000\u0000\u3864"+
+        "\u0000\u0000\u0000\u0000\u0000\u5537\u5538\u0000"+
+        "\u0000\u0000\u0000\u0000\u3E2B\u0000\u0000\u0000"+
+        "\u5534\u4F2C\u0000\u0000\u0000\u0000\u474C\u0000"+
+        "\u0000\u5536\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3A27\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u5539\u0000\u0000\u0000\u4958\u0000"+
+        "\u0000\u0000\u553A\u0000\u5535\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4C3B"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u475E\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u553B\u4932\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u553C\u5540\u553D\u0000"+
+        "\u0000\u3247\u553F\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u3C3B\u0000\u553E\u3779\u0000\u0000\u0000"+
+        "\u554C\u0000\u0000\u0000\u0000\u0000\u5545\u5542"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u4364\u0000\u5541\u0000\u0000\u5543\u0000"+
+        "\u0000\u5544\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u5546\u5547\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u3472\u0000\u5549\u5548\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u554A\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3E6E\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u554D\u0000\u445C\u0000\u0000\u0000"+
+        "\u3145\u0000\u554B\u0000\u0000\u0000\u554E\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u554F\u0000"+
+        "\u5552\u0000\u0000\u5550\u0000\u5551\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u3B52\u5553\u0000\u0000\u3926\u5554\u0000\u3B7A"+
+        "\u4238\u0000\u5555\u5556\u3B5A\u3927\u0000\u4C52"+
+        "\u0000\u0000\u0000\u3528\u3849\u5557\u3358\u0000"+
+        "\u0000\u5558\u0000\u4239\u0000\u0000\u0000\u0000"+
+        "\u5559\u5623\u0000\u555A\u0000\u555B\u0000\u0000"+
+        "\u555C\u0000\u555E\u0000\u0000\u0000\u0000\u0000"+
+        "\u555F\u0000\u0000\u5560\u0000\u4270\u0000\u3127"+
+        "\u3C69\u3042\u0000\u4157\u3430\u3C35\u0000\u3928"+
+        "\u0000\u0000\u0000\u0000\u0000\u4566\u0000\u3D21"+
+        "\u3431\u4368\u446A\u3038\u3539\u4A75\u0000\u3C42"+
+        "\u0000\u0000\u3552\u406B\u3C3C\u4D28\u5561\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u355C\u0000"+
+        "\u3A4B\u0000\u0000\u3332\u3163\u3E2C\u3248\u0000"+
+        "\u5562\u4D46\u0000\u0000\u0000\u0000\u0000\u3D49"+
+        "\u0000\u0000\u3C64\u5563\u3473\u4652\u4C29\u5564"+
+        "\u0000\u5565\u0000\u0000\u4959\u0000\u0000\u0000"+
+        "\u5567\u0000\u3428\u3677\u5566\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u3432\u0000\u3F32\u556B\u3B21"+
+        "\u0000\u3249\u556A\u0000\u5568\u556C\u5569\u472B"+
+        "\u5C4D\u3F33\u0000\u556D\u0000\u0000\u4E40\u0000"+
+        "\u556E\u0000\u0000\u5570\u0000\u437E\u556F\u0000"+
+        "\u4023\u0000\u3B7B\u0000\u0000\u0000\u4250\u3C77"+
+        "\u0000\u4975\u406C\u0000\u3C4D\u5571\u3E2D\u5572"+
+        "\u5573\u3053\u423A\u3F52\u0000\u5574\u4633\u3E2E"+
+        "\u0000\u3E2F\u0000\u5575\u0000\u0000\u406D\u0000"+
+        "\u0000\u0000\u3E30\u0000\u0000\u0000\u0000\u0000"+
+        "\u5576\u0000\u5577\u0000\u4C60\u0000\u0000\u0000"+
+        "\u5578\u0000\u0000\u0000\u0000\u3646\u0000\u0000"+
+        "\u0000\u3D22\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u5579\u557A\u3C5C\u3F2C\u4674\u3F54\u4878\u4722"+
+        "\u3649\u557B\u0000\u0000\u0000\u356F\u557C\u0000"+
+        "\u367E\u0000\u464F\u3230\u0000\u3B53\u557D\u5622"+
+        "\u5621\u367D\u0000\u557E\u0000\u4538\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u4230\u0000"+
+        "\u454B\u3C48\u0000\u0000\u4158\u4D7A\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u5624\u0000\u5625\u4656"+
+        "\u0000\u3B33\u0000\u0000\u0000\u0000\u5627\u0000"+
+        "\u0000\u5628\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u5629\u0000\u0000\u0000"+
+        "\u3474\u562A\u0000\u0000\u562B\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u322C\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u413B\u3464\u0000\u562D\u4C28\u0000\u0000\u0000"+
+        "\u0000\u4252\u0000\u3359\u0000\u0000\u562F\u5631"+
+        "\u345F\u0000\u0000\u562E\u5630\u0000\u5633\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u5632\u0000\u5634"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u5635\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u463D\u362E\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u3265\u5636\u563B\u0000\u0000\u5639\u0000\u4A77"+
+        "\u4A76\u0000\u0000\u0000\u0000\u0000\u4567\u0000"+
+        "\u0000\u0000\u5638\u3D54\u0000\u5637\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3F72"+
+        "\u0000\u0000\u0000\u563C\u0000\u0000\u3A6A\u0000"+
+        "\u0000\u5642\u0000\u0000\u5643\u563D\u3333\u563E"+
+        "\u5647\u5646\u5645\u5641\u0000\u0000\u0000\u5640"+
+        "\u0000\u0000\u5644\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u4A78\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u564B\u5648\u0000\u564A\u0000"+
+        "\u4D72\u0000\u5649\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u563F\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u3F73\u0000\u0000\u564C\u0000\u0000\u3A37"+
+        "\u0000\u0000\u0000\u564D\u0000\u0000\u564E\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u5651\u0000\u5650\u0000\u0000\u564F"+
+        "\u0000\u0000\u0000\u4568\u563A\u0000\u0000\u0000"+
+        "\u5657\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u5653\u0000\u0000"+
+        "\u0000\u0000\u5652\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u5654\u0000\u5655\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5658"+
+        "\u0000\u0000\u4E66\u0000\u5659\u5656\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u565A\u0000\u0000\u3460\u565B\u0000\u0000"+
+        "\u0000\u0000\u565D\u565C\u0000\u0000\u565E\u0000"+
+        "\u0000\u0000\u0000\u565F\u0000\u406E\u3D23\u0000"+
+        "\u0000\u3D64\u0000\u4163\u0000\u3929\u3A38\u392A"+
+        "\u3570\u0000\u0000\u5660\u0000\u0000\u3A39\u0000"+
+        "\u0000\u384A\u5661\u4C26\u4743\u5662\u0000\u392B"+
+        "\u0000\u0000\u0000\u342C\u0000\u4327\u3652\u0000"+
+        "\u0000\u0000\u3B54\u495B\u0000\u0000\u4841\u0000"+
+        "\u0000\u0000\u0000\u5663\u3475\u0000\u0000\u0000"+
+        "\u0000\u5666\u0000\u0000\u0000\u0000\u4421\u0000"+
+        "\u0000\u5665\u5664\u5667\u0000\u446B\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u3F63\u0000\u0000"+
+        "\u0000\u0000\u0000\u3B55\u0000\u404A\u0000\u4253"+
+        "\u3522\u0000\u0000\u4422\u0000\u0000\u5668\u5669"+
+        "\u3E6F\u0000\u0000\u0000\u0000\u4B39\u0000\u0000"+
+        "\u566C\u0000\u0000\u566B\u566A\u497D\u0000\u5673"+
+        "\u0000\u0000\u0000\u0000\u4B5A\u0000\u566D\u0000"+
+        "\u0000\u0000\u0000\u0000\u566F\u4B6B\u0000\u566E"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5670"+
+        "\u0000\u4828\u5671\u4A3E\u5672\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3433\u4A3F\u472F\u5674\u5675\u0000"+
+        "\u392C\u3434\u5676\u3838\u4D44\u4D29\u3476\u5678"+
+        "\u0000\u4423\u0000\u392D\u3E31\u0000\u0000\u485F"+
+        "\u0000\u0000\u3E32\u0000\u0000\u0000\u0000\u3D78"+
+        "\u0000\u0000\u0000\u0000\u0000\u446C\u4A79\u4539"+
+        "\u0000\u0000\u392E\u0000\u495C\u0000\u0000\u0000"+
+        "\u5679\u0000\u0000\u0000\u0000\u0000\u4559\u3A42"+
+        "\u0000\u0000\u0000\u384B\u0000\u446D\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u3043\u3D6E\u392F"+
+        "\u4D47\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u567A\u567B\u4751\u0000\u0000\u0000\u0000"+
+        "\u567C\u4E77\u4F2D\u0000\u0000\u0000\u0000\u567E"+
+        "\u567D\u0000\u0000\u3347\u0000\u0000\u5721\u0000"+
+        "\u0000\u0000\u5724\u5725\u0000\u5723\u0000\u4940"+
+        "\u3E33\u5727\u5726\u5722\u0000\u0000\u0000\u0000"+
+        "\u5728\u5729\u0000\u0000\u572A\u0000\u0000\u0000"+
+        "\u572D\u572B\u0000\u572C\u572E\u0000\u3164\u446E"+
+        "\u572F\u0000\u377A\u3276\u4736\u0000\u5730\u467B"+
+        "\u0000\u4A5B\u0000\u5731\u4F2E\u0000\u0000\u0000"+
+        "\u0000\u5732\u4A40\u5735\u5021\u5031\u0000\u3C30"+
+        "\u4675\u5736\u0000\u355D\u4424\u307A\u5737\u4A26"+
+        "\u3930\u0000\u0000\u4350\u0000\u0000\u0000\u446F"+
+        "\u0000\u0000\u0000\u0000\u0000\u4C6F\u3839\u384C"+
+        "\u0000\u5738\u0000\u0000\u0000\u5739\u0000\u573F"+
+        "\u0000\u3C65\u0000\u0000\u0000\u4425\u0000\u362F"+
+        "\u573A\u0000\u0000\u0000\u492B\u0000\u4346\u0000"+
+        "\u0000\u573B\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u573C\u0000\u3630\u0000\u573D\u0000\u573E\u0000"+
+        "\u0000\u5740\u0000\u4576\u0000\u0000\u5741\u5742"+
+        "\u0000\u5743\u0000\u0000\u5734\u5733\u0000\u0000"+
+        "\u0000\u5744\u3741\u0000\u0000\u0000\u4927\u0000"+
+        "\u0000\u3A4C\u4937\u4426\u494B\u5745\u0000\u0000"+
+        "\u3E34\u3146\u0000\u5746\u0000\u0000\u0000\u5747"+
+        "\u0000\u4C72\u0000\u0000\u4860\u0000\u0000\u574A"+
+        "\u317D\u402C\u5749\u5748\u3742\u4254\u0000\u574E"+
+        "\u574C\u0000\u574B\u4E27\u3865\u0000\u0000\u0000"+
+        "\u3D79\u574D\u454C\u3D3E\u0000\u0000\u0000\u4640"+
+        "\u5751\u5750\u0000\u0000\u0000\u0000\u574F\u0000"+
+        "\u5752\u3866\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u5753\u497C\u3D5B\u0000\u0000\u5754\u4879\u0000"+
+        "\u0000\u0000\u0000\u4641\u4427\u0000\u0000\u0000"+
+        "\u0000\u4530\u0000\u0000\u5755\u352B\u0000\u0000"+
+        "\u0000\u0000\u0000\u3F34\u0000\u492C\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u3477\u4726\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u5756\u3B56"+
+        "\u4B3A\u4B3B\u0000\u0000\u317E\u575B\u0000\u0000"+
+        "\u4369\u0000\u0000\u0000\u5758\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u3277\u0000\u0000\u0000\u0000"+
+        "\u582D\u575A\u0000\u0000\u0000\u4730\u0000\u0000"+
+        "\u5759\u0000\u0000\u5757\u0000\u397A\u0000\u575D"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u5763\u5769"+
+        "\u5761\u0000\u455C\u0000\u0000\u5766\u495D\u0000"+
+        "\u0000\u5760\u0000\u5765\u4E67\u3B57\u0000\u0000"+
+        "\u4255\u575E\u0000\u0000\u0000\u355E\u5768\u402D"+
+        "\u3165\u5762\u3278\u5767\u0000\u0000\u0000\u3631"+
+        "\u0000\u5764\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u576A\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u576C\u5776\u5774\u0000\u0000\u5771\u0000"+
+        "\u0000\u0000\u5770\u4E78\u0000\u5772\u0000\u0000"+
+        "\u3632\u0000\u3931\u0000\u0000\u3D7A\u0000\u0000"+
+        "\u0000\u5779\u576B\u0000\u0000\u0000\u0000\u576F"+
+        "\u575F\u0000\u327A\u5773\u5775\u4351\u0000\u0000"+
+        "\u3A28\u3238\u576D\u5778\u5777\u3633\u0000\u4229"+
+        "\u3366\u0000\u0000\u0000\u0000\u3743\u0000\u576E"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u577A\u0000\u577D\u5821\u0000\u0000\u0000"+
+        "\u0000\u3C3D\u0000\u5827\u4470\u577B\u0000\u0000"+
+        "\u0000\u0000\u5825\u0000\u3279\u0000\u5823\u5824"+
+        "\u0000\u0000\u577E\u5822\u0000\u0000\u0000\u3867"+
+        "\u4D2A\u0000\u0000\u3435\u0000\u0000\u3159\u5826"+
+        "\u0000\u473A\u302D\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u4861\u575C\u582C\u5830\u4C65\u0000"+
+        "\u5829\u0000\u0000\u0000\u4569\u582E\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u3E70\u582F\u4657"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u4F47\u0000\u582B\u0000\u0000\u0000\u0000"+
+        "\u5831\u0000\u397B\u0000\u404B\u0000\u0000\u3054"+
+        "\u582A\u5828\u0000\u415A\u0000\u0000\u0000\u577C"+
+        "\u3B34\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u4246\u583D\u0000\u415B\u5838\u0000\u5835\u5836"+
+        "\u0000\u3C66\u5839\u583C\u0000\u0000\u0000\u0000"+
+        "\u5837\u3D25\u0000\u583A\u0000\u0000\u5834\u0000"+
+        "\u4C7C\u4C7B\u0000\u0000\u0000\u583E\u583F\u3055"+
+        "\u0000\u0000\u0000\u0000\u0000\u5833\u0000\u0000"+
+        "\u0000\u0000\u3672\u3026\u0000\u0000\u0000\u3436"+
+        "\u0000\u583B\u0000\u0000\u0000\u0000\u0000\u5843"+
+        "\u5842\u0000\u0000\u0000\u5847\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u5848\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u5846\u5849\u5841\u5845"+
+        "\u0000\u0000\u584A\u0000\u584B\u0000\u0000\u5840"+
+        "\u3B7C\u0000\u5844\u4256\u3932\u5832\u3F35\u0000"+
+        "\u0000\u0000\u0000\u5858\u0000\u4A69\u0000\u0000"+
+        "\u584E\u584F\u5850\u0000\u0000\u5857\u0000\u5856"+
+        "\u0000\u0000\u4B7D\u3437\u0000\u5854\u0000\u3745"+
+        "\u3334\u0000\u0000\u5851\u0000\u0000\u4E38\u5853"+
+        "\u3056\u5855\u0000\u584C\u5852\u5859\u3744\u584D"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u4D5D\u0000"+
+        "\u0000\u0000\u4D2B\u0000\u0000\u0000\u0000\u585C"+
+        "\u0000\u0000\u5860\u0000\u0000\u0000\u417E\u0000"+
+        "\u4E79\u5861\u0000\u0000\u585E\u0000\u585B\u0000"+
+        "\u0000\u585A\u585F\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u4A30\u0000\u0000\u4634"+
+        "\u0000\u3746\u0000\u5862\u585D\u0000\u5863\u0000"+
+        "\u0000\u0000\u377B\u0000\u0000\u0000\u3231\u0000"+
+        "\u0000\u0000\u586B\u0000\u0000\u0000\u3438\u0000"+
+        "\u0000\u0000\u0000\u5869\u0000\u0000\u586A\u3A29"+
+        "\u5868\u5866\u5865\u586C\u5864\u586E\u0000\u0000"+
+        "\u327B\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u5870\u0000\u0000\u586F\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u4428\u0000\u5873\u0000\u5871\u5867"+
+        "\u377C\u0000\u5872\u0000\u5876\u5875\u5877\u5874"+
+        "\u5878\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u5879\u587A\u4A6A\u0000\u587C\u587B\u3D3F\u0000"+
+        "\u402E\u3266\u327C\u0000\u587D\u0000\u303F\u0000"+
+        "\u0000\u0000\u404C\u587E\u0000\u6C43\u5921\u3761"+
+        "\u0000\u5922\u0000\u0000\u0000\u0000\u406F\u0000"+
+        "\u0000\u0000\u5923\u0000\u0000\u0000\u5924\u353A"+
+        "\u5925\u0000\u5926\u5927\u4257\u0000\u0000\u0000"+
+        "\u384D\u0000\u0000\u4C61\u0000\u0000\u0000\u4B3C"+
+        "\u3D6A\u5928\u0000\u0000\u0000\u0000\u0000\u4070"+
+        "\u6E3D\u4862\u0000\u3C6A\u0000\u3A4D\u5929\u0000"+
+        "\u0000\u0000\u0000\u4247\u0000\u4A27\u0000\u0000"+
+        "\u4271\u0000\u0000\u592C\u0000\u0000\u592A\u0000"+
+        "\u592D\u0000\u0000\u592B\u0000\u0000\u0000\u0000"+
+        "\u592E\u0000\u0000\u0000\u0000\u0000\u4A31\u0000"+
+        "\u0000\u3037\u0000\u0000\u0000\u0000\u495E\u0000"+
+        "\u0000\u4863\u0000\u0000\u592F\u0000\u5932\u3E35"+
+        "\u353B\u0000\u5930\u5937\u3E36\u0000\u0000\u0000"+
+        "\u0000\u5931\u4744\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u4D5E\u5933\u5934\u5938\u456A\u5935\u3933"+
+        "\u405E\u0000\u0000\u5946\u4834\u0000\u4272\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u4864\u5A2D\u0000\u0000\u0000"+
+        "\u0000\u4A7A\u0000\u0000\u0000\u4471\u0000\u0000"+
+        "\u0000\u4B75\u0000\u593B\u3221\u436A\u0000\u0000"+
+        "\u0000\u0000\u5944\u0000\u0000\u4334\u593E\u5945"+
+        "\u5940\u5947\u5943\u0000\u5942\u476F\u0000\u593C"+
+        "\u327D\u593A\u3571\u4273\u5936\u0000\u0000\u5939"+
+        "\u3934\u405B\u0000\u3E37\u5941\u4752\u0000\u0000"+
+        "\u3572\u3348\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u3367\u3F21\u5949\u594E"+
+        "\u0000\u594A\u0000\u377D\u0000\u594F\u3B22\u3969"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u3D26\u593D";
+
+    private final static String innerIndex2=
+        "\u0000\u3B7D\u594C\u0000\u0000\u0000\u0000\u3B58"+
+        "\u594D\u3044\u0000\u0000\u5948\u0000\u0000\u0000"+
+        "\u0000\u4429\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u3573\u0000\u0000\u0000\u0000\u0000\u3634"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u594B"+
+        "\u3027\u0000\u0000\u3A43\u0000\u0000\u0000\u3F36"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u4472\u0000\u0000\u4854\u5951\u415E"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u422A\u0000\u0000\u3B2B\u5952\u0000\u5954"+
+        "\u5950\u0000\u0000\u0000\u0000\u4A61\u0000\u443D"+
+        "\u0000\u0000\u0000\u0000\u415C\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4A7B"+
+        "\u3C4E\u5960\u0000\u595F\u0000\u0000\u3F78\u0000"+
+        "\u0000\u0000\u377E\u0000\u0000\u0000\u5959\u3E39"+
+        "\u0000\u0000\u4668\u4731\u0000\u0000\u0000\u0000"+
+        "\u5957\u0000\u0000\u415D\u0000\u0000\u0000\u0000"+
+        "\u3C78\u595C\u0000\u0000\u3E38\u0000\u5956\u595B"+
+        "\u0000\u0000\u4753\u0000\u0000\u0000\u5955\u0000"+
+        "\u3721\u0000\u0000\u335D\u0000\u0000\u0000\u595D"+
+        "\u4E2B\u3A4E\u4335\u595A\u0000\u405C\u0000\u3935"+
+        "\u3F64\u3166\u413C\u5958\u3545\u0000\u0000\u0000"+
+        "\u0000\u0000\u3747\u0000\u444F\u595E\u0000\u0000"+
+        "\u0000\u0000\u0000\u415F\u0000\u0000\u5961\u0000"+
+        "\u5963\u0000\u0000\u4237\u5969\u0000\u5964\u0000"+
+        "\u0000\u5966\u0000\u0000\u0000\u0000\u0000\u4941"+
+        "\u4473\u0000\u5967\u0000\u0000\u0000\u4D2C\u0000"+
+        "\u0000\u0000\u4D48\u3439\u0000\u0000\u0000\u0000"+
+        "\u0000\u302E\u0000\u5965\u0000\u0000\u0000\u0000"+
+        "\u0000\u5962\u0000\u0000\u0000\u0000\u3478\u0000"+
+        "\u0000\u0000\u0000\u0000\u3167\u0000\u5968\u0000"+
+        "\u0000\u0000\u4D49\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u596C\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u423B\u0000\u5973"+
+        "\u0000\u0000\u0000\u596D\u0000\u0000\u596A\u5971"+
+        "\u0000\u0000\u0000\u0000\u5953\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u596E\u0000"+
+        "\u5972\u0000\u0000\u0000\u4842\u456B\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u596B\u0000\u596F\u0000"+
+        "\u0000\u0000\u3748\u0000\u0000\u0000\u3A71\u0000"+
+        "\u0000\u0000\u405D\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u5977\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u4526\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5974"+
+        "\u0000\u4B60\u0000\u0000\u0000\u0000\u0000\u5975"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u5976\u0000"+
+        "\u4C4E\u0000\u4022\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u3762\u0000\u0000\u0000\u0000"+
+        "\u597D\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3B35\u597A\u0000\u5979\u0000\u0000"+
+        "\u0000\u0000\u4732\u0000\u0000\u0000\u4635\u0000"+
+        "\u0000\u0000\u0000\u0000\u4531\u597B\u0000\u0000"+
+        "\u0000\u597C\u0000\u496F\u0000\u4745\u3B23\u0000"+
+        "\u4071\u0000\u4B50\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u3349\u0000\u5A25\u597E\u0000\u0000\u0000"+
+        "\u0000\u4D4A\u5A27\u0000\u0000\u5A23\u0000\u5A24"+
+        "\u0000\u0000\u0000\u0000\u0000\u4160\u0000\u0000"+
+        "\u0000\u0000\u5A22\u0000\u593F\u0000\u0000\u0000"+
+        "\u5A26\u0000\u5A21\u0000\u0000\u0000\u0000\u0000"+
+        "\u5A2B\u5A2C\u4527\u5A2E\u0000\u0000\u3B24\u5A29"+
+        "\u0000\u0000\u0000\u0000\u353C\u0000\u0000\u5A2F"+
+        "\u0000\u5A28\u5A33\u0000\u5A32\u0000\u5A31\u0000"+
+        "\u0000\u0000\u5A34\u0000\u0000\u5A36\u3E71\u0000"+
+        "\u5A35\u0000\u0000\u0000\u0000\u5A39\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u5A37\u0000\u0000\u0000\u5A38\u5970\u0000\u0000"+
+        "\u0000\u0000\u0000\u5A3B\u5A3A\u0000\u0000\u0000"+
+        "\u0000\u0000\u5978\u5A3C\u5A30\u0000\u0000\u3B59"+
+        "\u0000\u0000\u0000\u0000\u5A3D\u5A3E\u5A40\u5A3F"+
+        "\u5A41\u327E\u0000\u3936\u0000\u0000\u4A7C\u402F"+
+        "\u0000\u0000\u0000\u0000\u0000\u384E\u0000\u0000"+
+        "\u5A43\u0000\u0000\u0000\u0000\u5A46\u0000\u4952"+
+        "\u0000\u355F\u0000\u0000\u0000\u5A45\u5A44\u4754"+
+        "\u5A47\u3635\u0000\u0000\u0000\u5A49\u5A48\u0000"+
+        "\u0000\u0000\u343A\u3B36\u0000\u0000\u4658\u0000"+
+        "\u0000\u0000\u0000\u0000\u3749\u0000\u0000\u0000"+
+        "\u3F74\u0000\u5A4A\u0000\u4030\u4528\u0000\u495F"+
+        "\u5A4B\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u5A4C\u5A4D\u0000\u0000\u0000\u4A38"+
+        "\u555D\u4046\u0000\u0000\u494C\u0000\u3A58\u0000"+
+        "\u4865\u4843\u0000\u0000\u0000\u0000\u0000\u454D"+
+        "\u0000\u4E41\u0000\u5A4F\u3C50\u0000\u0000\u5A50"+
+        "\u0000\u3036\u0000\u0000\u3654\u404D\u0000\u4960"+
+        "\u0000\u0000\u0000\u5A51\u3B42\u4347\u0000\u3B5B"+
+        "\u3F37\u0000\u0000\u0000\u0000\u0000\u0000\u5A52"+
+        "\u0000\u4A7D\u0000\u0000\u3177\u3B5C\u0000\u0000"+
+        "\u0000\u5A55\u0000\u5A53\u5A56\u4E39\u5A54\u0000"+
+        "\u0000\u0000\u0000\u407B\u5A57\u0000\u0000\u4232"+
+        "\u0000\u0000\u5A58\u0000\u0000\u0000\u0000\u347A"+
+        "\u0000\u5A5A\u0000\u5A59\u0000\u0000\u0000\u0000"+
+        "\u5A5B\u5A5C\u347B\u0000\u0000\u467C\u4336\u356C"+
+        "\u3B5D\u4161\u0000\u0000\u3D5C\u3030\u0000\u0000"+
+        "\u0000\u5A5D\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3222\u5A61\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3937\u5A60\u0000\u0000\u3A2B\u3E3A"+
+        "\u0000\u0000\u5A5F\u0000\u3E3B\u0000\u4C40\u3A2A"+
+        "\u0000\u0000\u0000\u3057\u404E\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u5A66\u0000\u0000\u4031"+
+        "\u3147\u0000\u0000\u0000\u0000\u3D55\u0000\u4B66"+
+        "\u3A72\u0000\u0000\u0000\u0000\u3E3C\u0000\u4027"+
+        "\u0000\u0000\u0000\u0000\u5A65\u5A63\u5A64\u0000"+
+        "\u0000\u0000\u0000\u0000\u436B\u0000\u0000\u5B26"+
+        "\u0000\u5A6A\u3B7E\u3938\u5A68\u0000\u0000\u0000"+
+        "\u0000\u5A69\u0000\u3F38\u0000\u0000\u0000\u5A67"+
+        "\u0000\u0000\u3B2F\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u5A6C\u5A6B\u5A70"+
+        "\u0000\u0000\u5A71\u0000\u5A6D\u0000\u3322\u5A6E"+
+        "\u5A6F\u4855\u0000\u0000\u0000\u0000\u4961\u374A"+
+        "\u5A72\u0000\u0000\u0000\u4032\u0000\u3E3D\u0000"+
+        "\u0000\u0000\u4352\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u3647\u0000\u5A73\u5A77\u0000\u0000\u324B"+
+        "\u5A74\u5A76\u0000\u0000\u0000\u0000\u5A75\u0000"+
+        "\u0000\u3D6B\u0000\u0000\u0000\u0000\u4348\u3045"+
+        "\u5A78\u0000\u0000\u0000\u0000\u5A79\u0000\u0000"+
+        "\u0000\u0000\u442A\u0000\u0000\u0000\u4E71\u0000"+
+        "\u0000\u0000\u0000\u3B43\u0000\u0000\u4A6B\u0000"+
+        "\u0000\u0000\u0000\u0000\u4B3D\u0000\u0000\u0000"+
+        "\u5B22\u5A7B\u0000\u0000\u5A7E\u0000\u5A7D\u0000"+
+        "\u0000\u5A7A\u0000\u0000\u5B21\u0000\u0000\u465E"+
+        "\u0000\u5A7C\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u5B23\u0000"+
+        "\u0000\u3D6C\u5B24\u0000\u4D4B\u4778\u0000\u0000"+
+        "\u5B25\u0000\u0000\u0000\u0000\u0000\u5B27\u0000"+
+        "\u0000\u5B28\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u5B29\u0000\u364A\u3148\u3939\u5B2A\u0000\u5B2B"+
+        "\u3D71\u4162\u0000\u0000\u5258\u413E\u413D\u4258"+
+        "\u3A47\u0000\u0000\u5072\u0000\u0000\u0000\u0000"+
+        "\u376E\u4D2D\u0000\u4A7E\u0000\u497E\u0000\u5B2C"+
+        "\u0000\u0000\u0000\u0000\u3A73\u443F\u5B2D\u4F2F"+
+        "\u0000\u0000\u0000\u4B3E\u0000\u442B\u5B2E\u347C"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u5B2F\u5B30"+
+        "\u4C5A\u0000\u4C24\u4B76\u4B5C\u3B25\u5B32\u0000"+
+        "\u0000\u3C6B\u0000\u0000\u4B51\u0000\u5B34\u5B37"+
+        "\u5B36\u0000\u3479\u0000\u0000\u3560\u0000\u5B33"+
+        "\u0000\u5B35\u0000\u0000\u0000\u0000\u5B38\u0000"+
+        "\u0000\u3F79\u0000\u0000\u0000\u0000\u4D7B\u3049"+
+        "\u3A60\u423C\u0000\u3C5D\u0000\u0000\u3E73\u0000"+
+        "\u0000\u5B3B\u0000\u0000\u454E\u0000\u5B39\u422B"+
+        "\u5B3A\u3E72\u4C5D\u5B3C\u5B3D\u4D68\u0000\u0000"+
+        "\u0000\u0000\u5B42\u0000\u0000\u393A\u0000\u4755"+
+        "\u5B3F\u456C\u5A5E\u5A62\u0000\u354F\u0000\u4747"+
+        "\u0000\u0000\u0000\u0000\u5B41\u0000\u3E3E\u4844"+
+        "\u0000\u0000\u0000\u0000\u0000\u5B47\u0000\u487A"+
+        "\u0000\u5B3E\u0000\u5B44\u5B43\u0000\u0000\u0000"+
+        "\u404F\u0000\u0000\u0000\u0000\u4B6D\u0000\u4E53"+
+        "\u0000\u0000\u4B67\u0000\u324C\u3B5E\u0000\u0000"+
+        "\u4F48\u5B46\u3F75\u0000\u0000\u0000\u5B45\u0000"+
+        "\u0000\u5B40\u0000\u0000\u0000\u0000\u0000\u384F"+
+        "\u0000\u0000\u0000\u5B4C\u5B4A\u0000\u324D\u5B48"+
+        "\u5B4E\u5B54\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u4248\u0000\u0000\u4A41\u0000\u5B56\u0000"+
+        "\u0000\u0000\u4922\u0000\u0000\u0000\u5B55\u4770"+
+        "\u4B3F\u343B\u0000\u4077\u3D40\u0000\u0000\u0000"+
+        "\u4453\u0000\u4D2E\u0000\u0000\u5B51\u5B50\u0000"+
+        "\u0000\u0000\u5B52\u0000\u5B4F\u0000\u0000\u5B57"+
+        "\u0000\u5B4D\u0000\u0000\u5B4B\u0000\u5B53\u5B49"+
+        "\u0000\u436C\u0000\u4C78\u3C46\u3A74\u0000\u0000"+
+        "\u0000\u0000\u0000\u3A3A\u0000\u0000\u4B6F\u3341"+
+        "\u0000\u0000\u444E\u464A\u3149\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u4072\u0000\u0000\u4034\u372A"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u5B59\u0000"+
+        "\u0000\u393B\u337C\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u5B5B\u3374\u5B61\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u5B5E\u0000\u4073\u0000\u0000\u0000"+
+        "\u334B\u3A2C\u0000\u0000\u334A\u3A4F\u0000\u0000"+
+        "\u5B5C\u3765\u374B\u456D\u0000\u0000\u5B5A\u0000"+
+        "\u3046\u0000\u0000\u0000\u0000\u5B5D\u5B5F\u0000"+
+        "\u364D\u372C\u0000\u343C\u354B\u0000\u0000\u0000"+
+        "\u0000\u5B62\u0000\u0000\u3A79\u4B71\u0000\u3B37"+
+        "\u0000\u0000\u0000\u5B63\u0000\u0000\u0000\u4930"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u5B6F\u0000\u3233\u5B64"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u5B75\u5B65"+
+        "\u0000\u4E42\u0000\u5B6C\u0000\u475F\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u5B74\u0000\u5B67"+
+        "\u0000\u0000\u0000\u3034\u5B69\u0000\u0000\u393C"+
+        "\u0000\u0000\u0000\u5B6B\u0000\u5B6A\u0000\u5B66"+
+        "\u5B71\u0000\u3E3F\u0000\u0000\u0000\u546D\u3868"+
+        "\u4D7C\u0000\u0000\u0000\u0000\u5B68\u0000\u4474"+
+        "\u3323\u3A2D\u0000\u5B60\u0000\u5B70\u3361\u0000"+
+        "\u0000\u5B6E\u5B72\u0000\u456E\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u347E\u0000\u5C32\u0000"+
+        "\u0000\u4C49\u5B77\u347D\u0000\u5B7E\u0000\u0000"+
+        "\u0000\u0000\u4B40\u0000\u5C21\u5C23\u0000\u5C27"+
+        "\u5B79\u0000\u432A\u0000\u0000\u0000\u0000\u456F"+
+        "\u5C2B\u5B7C\u0000\u5C28\u0000\u0000\u0000\u5C22"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u3F39\u5C2C"+
+        "\u0000\u0000\u4033\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u5C2A\u343D\u0000\u0000\u0000\u0000\u0000"+
+        "\u4F50\u5B76\u0000\u0000\u5C26\u3058\u0000\u0000"+
+        "\u5B78\u0000\u0000\u4C3A\u5B7D\u3F22\u4447\u5B73"+
+        "\u0000\u0000\u5C25\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u3F7A\u5C2F\u3371\u3821\u0000\u0000\u0000"+
+        "\u0000\u5C31\u5B7A\u5C30\u0000\u5C29\u5B7B\u0000"+
+        "\u5C2D\u0000\u5C2E\u0000\u0000\u0000\u0000\u0000"+
+        "\u5C3F\u0000\u0000\u0000\u464E\u0000\u5C24\u0000"+
+        "\u0000\u5C3B\u0000\u0000\u0000\u5C3D\u0000\u4458"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u4D4C\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u4976\u5C38\u424A\u0000\u0000"+
+        "\u0000\u5C3E\u413F\u0000\u5C35\u5C42\u5C41\u0000"+
+        "\u466F\u5C40\u466A\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u5C44\u5C37\u0000\u3648\u5C3A\u3D5D"+
+        "\u0000\u0000\u0000\u4760\u5C3C\u364B\u0000\u5C34"+
+        "\u5C36\u5C33\u0000\u0000\u4F30\u335A\u5C39\u0000"+
+        "\u0000\u5C43\u3335\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3A67\u0000\u0000\u0000\u315D\u0000"+
+        "\u0000\u5C54\u0000\u0000\u4F31\u5C57\u0000\u0000"+
+        "\u0000\u0000\u0000\u3F3A\u5C56\u0000\u0000\u0000"+
+        "\u5C55\u0000\u0000\u0000\u0000\u0000\u0000\u5C52"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u5C46\u0000"+
+        "\u0000\u5C63\u5C45\u0000\u5C58\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u5C50\u0000\u0000\u5C4B\u5C48"+
+        "\u0000\u5C49\u0000\u5C51\u0000\u0000\u0000\u7422"+
+        "\u0000\u0000\u5C4E\u393D\u4448\u4164\u5C4C\u0000"+
+        "\u5C47\u0000\u0000\u5C4A\u0000\u0000\u0000\u0000"+
+        "\u4D4D\u4B6A\u0000\u0000\u0000\u5C4F\u5C59\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5C61"+
+        "\u5C5A\u0000\u0000\u5C67\u0000\u5C65\u0000\u0000"+
+        "\u0000\u0000\u5C60\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u5C5F\u0000\u4450\u0000\u4165\u0000\u5C5D"+
+        "\u0000\u0000\u5C5B\u0000\u0000\u5C62\u0000\u0000"+
+        "\u0000\u0000\u5C68\u4875\u5C6E\u0000\u0000\u0000"+
+        "\u0000\u0000\u5C69\u5C6C\u5C66\u0000\u0000\u4374"+
+        "\u0000\u4938\u0000\u5C5C\u0000\u0000\u5C64\u3E40"+
+        "\u0000\u4C4F\u5C78\u5C6B\u0000\u0000\u0000\u0000"+
+        "\u0000\u3822\u3223\u335F\u0000\u0000\u5C53\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u3E41\u5C70\u0000"+
+        "\u5C77\u3C79\u3372\u0000\u0000\u432E\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u5C6D\u0000\u0000\u5C72"+
+        "\u5C76\u0000\u0000\u3636\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u354C\u5C74\u0000\u0000\u0000\u0000\u0000\u3521"+
+        "\u0000\u464B\u5C73\u0000\u0000\u0000\u5C75\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u5C6F\u0000\u0000\u0000\u0000\u0000"+
+        "\u5C71\u0000\u0000\u0000\u0000\u0000\u0000\u3360"+
+        "\u4349\u0000\u0000\u0000\u5C7C\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u5C7A\u3869\u0000"+
+        "\u5C79\u0000\u0000\u0000\u0000\u0000\u0000\u5D21"+
+        "\u0000\u0000\u0000\u0000\u5B58\u0000\u0000\u0000"+
+        "\u5C7B\u0000\u5C7D\u5C7E\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u5D2C\u0000\u5D28\u0000\u5B6D\u0000"+
+        "\u0000\u0000\u0000\u5D27\u0000\u0000\u0000\u0000"+
+        "\u5D26\u0000\u0000\u5D23\u0000\u0000\u0000\u0000"+
+        "\u0000\u5C6A\u5D25\u5D24\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u5D2A\u0000\u4F26\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u5D2D\u367B\u0000\u0000\u5D29\u5D2B"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u4827\u0000\u5D2E\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u5D32\u5D2F\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u4D73\u5D30\u0000\u0000"+
+        "\u0000\u0000\u5C5E\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u5D33\u0000\u0000\u0000\u5D34\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u3135\u0000\u5D36"+
+        "\u3767\u3C21\u0000\u3655\u0000\u0000\u0000\u3224"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u4D5F\u0000\u0000\u0000\u0000\u5D38"+
+        "\u5D37\u5D3A\u353D\u0000\u0000\u3656\u343E\u0000"+
+        "\u0000\u0000\u0000\u5D3D\u0000\u0000\u0000\u5D3C"+
+        "\u0000\u5D3E\u0000\u0000\u324E\u0000\u4337\u0000"+
+        "\u5D3F\u0000\u0000\u343F\u5D41\u0000\u0000\u0000"+
+        "\u0000\u5D40\u0000\u5D42\u0000\u0000\u0000\u5D43"+
+        "\u0000\u5D44\u3B5F\u4035\u3A21\u0000\u4970\u0000"+
+        "\u0000\u4A62\u4F44\u0000\u0000\u0000\u0000\u3B75"+
+        "\u0000\u0000\u0000\u3A50\u4E72\u0000\u0000\u0000"+
+        "\u5D45\u5D46\u0000\u3B60\u0000\u0000\u0000\u5D47"+
+        "\u5D48\u0000\u0000\u5D4A\u5D49\u0000\u4B58\u0000"+
+        "\u0000\u3D5E\u3C6C\u3B44\u0000\u5D4B\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u5D4D\u3F23\u0000"+
+        "\u5D4C\u0000\u0000\u0000\u0000\u0000\u5D4E\u0000"+
+        "\u0000\u0000\u0000\u0000\u5D4F\u0000\u0000\u0000"+
+        "\u0000\u0000\u5D50\u5D51\u0000\u0000\u0000\u5D52"+
+        "\u0000\u5D54\u5D53\u5D55\u3225\u434A\u0000\u5D56"+
+        "\u0000\u0000\u3B26\u334C\u5D57\u0000\u0000\u4542"+
+        "\u544C\u0000\u0000\u0000\u0000\u3523\u5D58\u0000"+
+        "\u0000\u0000\u0000\u5D59\u0000\u4A6C\u4B68\u0000"+
+        "\u0000\u0000\u4647\u5D5A\u4866\u0000\u0000\u0000"+
+        "\u487B\u0000\u0000\u4C53\u0000\u0000\u0000\u5D5B"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u5D5D\u5D5C\u0000\u0000\u5D5F"+
+        "\u0000\u0000\u0000\u5D5E\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u5D61\u0000\u0000\u0000\u0000\u0000\u0000\u3B61"+
+        "\u0000\u4C31\u0000\u5D62\u5D63\u0000\u0000\u3524"+
+        "\u0000\u0000\u0000\u5D64\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u5D66\u5D65\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u3F65\u0000\u0000\u4939"+
+        "\u314A\u0000\u0000\u0000\u0000\u0000\u4845\u0000"+
+        "\u4475\u3D41\u3561\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u4846\u0000"+
+        "\u3C2E\u0000\u0000\u0000\u0000\u5D68\u0000\u3440"+
+        "\u0000\u0000\u3178\u0000\u0000\u4672\u5D67\u393E"+
+        "\u4353\u0000\u5D69\u0000\u0000\u0000\u0000\u0000"+
+        "\u5D71\u0000\u5D6A\u0000\u0000\u0000\u0000\u0000"+
+        "\u4241\u0000\u3562\u5D72\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3768\u0000\u0000\u3525\u5D70\u0000"+
+        "\u0000\u5D6E\u5D6B\u4D60\u0000\u0000\u0000\u0000"+
+        "\u4440\u0000\u0000\u0000\u4659\u5D6C\u0000\u0000"+
+        "\u5D74\u0000\u5D73\u3723\u0000\u0000\u322D\u0000"+
+        "\u0000\u3A3B\u5D6D\u5D6F\u0000\u0000\u0000\u0000"+
+        "\u0000\u4B57\u4274\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u4B77\u0000\u0000\u5D7C\u0000"+
+        "\u0000\u5D7D\u0000\u324F\u0000\u0000\u0000\u0000"+
+        "\u4A28\u4C7D\u5E21\u3C23\u3E42\u5D78\u5D7E\u3168"+
+        "\u0000\u3637\u0000\u0000\u5D75\u5D7A\u0000\u0000"+
+        "\u0000\u4074\u4771\u0000\u4867\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u5D77\u0000\u4B21\u0000\u5D79"+
+        "\u0000\u5E24\u0000\u5E22\u0000\u5D7B\u0000\u0000"+
+        "\u0000\u4B22\u4748\u3563\u0000\u4525\u0000\u0000"+
+        "\u436D\u0000\u5E25\u0000\u0000\u0000\u0000\u5E23"+
+        "\u4259\u5D76\u0000\u314B\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u4D4E\u5E30\u0000\u0000\u0000"+
+        "\u0000\u0000\u5E2F\u0000\u0000\u0000\u0000\u4076"+
+        "\u0000\u5E2C\u0000\u4D6C\u0000\u0000\u4636\u5E26"+
+        "\u0000\u0000\u0000\u0000\u0000\u4445\u0000\u0000"+
+        "\u0000\u314C\u393F\u5E29\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3D27\u5E2E\u0000\u5E2D\u5E28\u0000"+
+        "\u5E2B\u0000\u0000\u3368\u0000\u5E2A\u4749\u0000"+
+        "\u0000\u4E2E\u0000\u0000\u3E74\u4075\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u5E36\u5E34\u0000\u494D\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u5E31\u5E33\u0000\u313A\u0000"+
+        "\u0000\u3940\u4F32\u0000\u333D\u0000\u4962\u0000"+
+        "\u0000\u0000\u0000\u0000\u4D61\u0000\u0000\u3324"+
+        "\u3F3B\u5E35\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u5E3A\u0000\u0000"+
+        "\u3E43\u0000\u0000\u0000\u4D30\u0000\u5E37\u0000"+
+        "\u0000\u0000\u0000\u5E32\u0000\u5E38\u0000\u0000"+
+        "\u0000\u4E5E\u0000\u4573\u4642\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3336"+
+        "\u0000\u0000\u3155\u0000\u0000\u5E3E\u0000\u0000"+
+        "\u5E41\u0000\u0000\u0000\u4E43\u0000\u0000\u0000"+
+        "\u4D64\u0000\u0000\u0000\u0000\u5E48\u5E42\u5E3F"+
+        "\u0000\u0000\u0000\u4E54\u5E45\u0000\u0000\u0000"+
+        "\u0000\u3D4A\u5E47\u0000\u0000\u5E4C\u0000\u0000"+
+        "\u4571\u5E4A\u0000\u0000\u0000\u0000\u5E44\u0000"+
+        "\u0000\u4338\u0000\u0000\u5E4B\u0000\u5E40\u0000"+
+        "\u5E46\u0000\u5E4D\u307C\u5E43\u0000\u5E4E\u0000"+
+        "\u0000\u3F3C\u0000\u3D5F\u0000\u4A25\u0000\u3A2E"+
+        "\u0000\u5E3B\u5E49\u453A\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u4036\u0000\u3369"+
+        "\u3A51\u3E44\u5E3D\u3D42\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u374C\u0000\u5E3C\u0000\u0000"+
+        "\u0000\u5E52\u3D6D\u383A\u0000\u5E61\u0000\u5E5B"+
+        "\u3574\u454F\u0000\u5E56\u5E5F\u302F\u3132\u0000"+
+        "\u0000\u3239\u0000\u5E58\u422C\u5E4F\u5E51\u3941"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u5E62\u0000\u5E5D\u0000\u0000\u0000\u5E55\u0000"+
+        "\u0000\u0000\u0000\u5E5C\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u4C2B\u0000\u0000\u5E5A\u5E5E\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u3850\u0000"+
+        "\u3E45\u0000\u0000\u4339\u0000\u0000\u0000\u5E54"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4D2F"+
+        "\u0000\u0000\u0000\u5E57\u0000\u0000\u5E50\u4572"+
+        "\u0000\u0000\u5E53\u0000\u0000\u0000\u5E59\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u4F51\u3C3E"+
+        "\u4B7E\u0000\u5E63\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u482E\u0000\u0000\u5E6F"+
+        "\u383B\u0000\u0000\u0000\u0000\u0000\u3D60\u0000"+
+        "\u5E65\u0000\u0000\u0000\u4E2F\u3942\u0000\u5E72"+
+        "\u0000\u0000\u306E\u0000\u0000\u5E70\u0000\u0000"+
+        "\u0000\u0000\u5E64\u0000\u0000\u0000\u0000\u5E6A"+
+        "\u0000\u0000\u5E6C\u0000\u0000\u0000\u4D4F\u5E67"+
+        "\u0000\u0000\u452E\u0000\u0000\u5E69\u0000\u0000"+
+        "\u0000\u0000\u5E71\u0000\u5E6B\u4C47\u0000\u0000"+
+        "\u0000\u5E66\u0000\u3C22\u5E7E\u0000\u0000\u0000"+
+        "\u0000\u336A\u0000\u5E68\u5E6D\u5E6E\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u426C\u425A\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u5E76\u0000\u0000\u5E7C"+
+        "\u0000\u0000\u5E7A\u0000\u4529\u0000\u0000\u5F23"+
+        "\u5E77\u0000\u0000\u0000\u0000\u0000\u5E78\u5E60"+
+        "\u0000\u3579\u493A\u0000\u0000\u0000\u3C3F\u0000"+
+        "\u0000\u3977\u0000\u0000\u0000\u0000\u0000\u4F33"+
+        "\u0000\u5E74\u0000\u5F22\u3169\u4166\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u4779\u0000\u3441\u4E7A\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u4C21\u4452\u0000\u0000\u0000"+
+        "\u0000\u5E7B\u5E7D\u0000\u0000\u0000\u0000\u0000"+
+        "\u4132\u0000\u0000\u0000\u0000\u0000\u5F21\u5E79"+
+        "\u0000\u5E73\u0000\u0000\u0000\u3443\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u3769\u0000\u0000\u0000"+
+        "\u5F2F\u0000\u0000\u5F2A\u4078\u0000\u0000\u3363"+
+        "\u0000\u0000\u0000\u0000\u3D61\u0000\u5F33\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u5F2C\u442C\u5F29"+
+        "\u4459\u0000\u0000\u0000\u5F4C\u0000\u0000\u0000"+
+        "\u5F26\u0000\u5F25\u0000\u5F2E\u0000\u0000\u0000"+
+        "\u5F28\u5F27\u5F2D\u0000\u4021\u0000\u5F24\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u5F30\u0000"+
+        "\u0000\u5F31\u0000\u0000\u0000\u0000\u0000\u3442"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u5F36\u0000\u5F35\u5F37\u0000\u0000\u0000"+
+        "\u0000\u0000\u5F3A\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u4543\u0000\u5F34\u0000\u0000\u0000\u0000"+
+        "\u0000\u5F38\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u3763\u4279\u5F32\u473B\u0000\u0000\u5F39\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u5F3E\u5F3C\u0000\u0000"+
+        "\u5F3F\u0000\u0000\u5F42\u0000\u0000\u0000\u5F3B"+
+        "\u396A\u4728\u0000\u0000\u5E39\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u4D74\u5F3D\u0000\u5F41\u4275"+
+        "\u0000\u5F40\u0000\u5F2B\u0000\u0000\u6F69\u0000"+
+        "\u0000\u0000\u5F45\u0000\u0000\u0000\u5F49\u0000"+
+        "\u0000\u5F47\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u5F43\u0000\u5F44\u0000\u0000\u0000\u5F48"+
+        "\u0000\u5F46\u0000\u0000\u0000\u494E\u0000\u0000"+
+        "\u5F4E\u0000\u5F4B\u5F4A\u0000\u5F4D\u4654\u5F4F"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u4375\u426D"+
+        "\u0000\u0000\u0000\u0000\u4025\u0000\u0000\u0000"+
+        "\u5F50\u0000\u5F52\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u5F51\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u5E75\u0000\u0000\u0000"+
+        "\u0000\u5F53\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u4667\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u5F54\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u3250\u0000\u0000\u0000\u4574"+
+        "\u3325\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u3564\u0000\u0000\u0000\u3C5E\u3A52\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u4F27\u3F66\u0000\u0000\u0000\u316A\u0000"+
+        "\u0000\u0000\u5F56\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u5F55\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u5F59\u433A\u5F5C\u5F57"+
+        "\u0000\u0000\u0000\u5F5B\u0000\u0000\u0000\u0000"+
+        "\u5F5A\u4540\u3059\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u4E75\u0000\u0000\u5F5E\u0000\u0000\u0000\u3128"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u5F60\u0000\u0000\u0000\u5F5F\u0000\u5F5D"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u5F58\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u4B23\u0000\u0000\u0000\u5F62\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u5F61\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u316B\u0000\u0000\u0000"+
+        "\u0000\u5F64\u4A32\u0000\u5F63\u0000\u0000\u0000"+
+        "\u0000\u4C35\u0000\u0000\u0000\u0000\u3E47\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u4133\u0000"+
+        "\u0000\u0000\u0000\u0000\u3E46\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u4E7B\u0000\u0000\u5F6A\u0000\u4079\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u5F66\u5F6B\u0000"+
+        "\u0000\u316C\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u5F69\u0000\u4761\u5F65\u5F68\u3E48"+
+        "\u0000\u4851\u0000\u0000\u5F6C\u0000\u3C51\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u407A\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u5F6F\u0000\u0000\u0000"+
+        "\u5F67\u0000\u3727\u0000\u0000\u0000\u0000\u5F6D"+
+        "\u0000\u0000\u0000\u0000\u4D50\u5F70\u0000\u0000"+
+        "\u0000\u7426\u0000\u0000\u0000\u0000\u0000\u3D4F"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u5F71\u0000\u0000\u0000\u5F72\u0000\u0000\u0000"+
+        "\u0000\u472E\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u5F74\u0000\u0000\u0000\u0000\u5F75\u0000"+
+        "\u0000\u0000\u0000\u4733\u0000\u0000\u0000\u0000"+
+        "\u4575\u5F77\u0000\u0000\u0000\u0000\u5F79\u0000"+
+        "\u4E55\u0000\u5F76\u0000\u5F78\u316D\u0000\u5F73"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u535B"+
+        "\u5F7A\u0000\u0000\u0000\u0000\u4167\u3B38\u5F7C"+
+        "\u0000\u0000\u0000\u0000\u5F7B\u3F24\u5259\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u5F7D\u0000\u0000"+
+        "\u0000\u6021\u0000\u5F6E\u5F7E\u0000\u0000\u6022"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u477A\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u6023\u0000\u0000"+
+        "\u6024\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u6025\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u6026\u0000\u445E\u0000\u6028\u6027\u0000\u0000"+
+        "\u6029\u0000\u602A\u0000\u0000\u3C5F\u4963\u0000"+
+        "\u0000\u0000\u4C6C\u602B\u602C\u4156\u3C24\u602D"+
+        "\u602E\u0000\u0000\u0000\u0000\u0000\u602F\u4A52"+
+        "\u4847\u0000\u0000\u6030\u4757\u0000\u0000\u0000"+
+        "\u0000\u0000\u442D\u0000\u0000\u0000\u0000\u0000"+
+        "\u6031\u3267\u0000\u356D\u0000\u4C46\u0000\u4C36"+
+        "\u0000\u3234\u4F34\u0000\u0000\u0000\u0000\u4B52"+
+        "\u0000\u4A2A\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u4037\u0000\u6032\u0000\u0000\u0000"+
+        "\u0000\u4643\u0000\u0000\u0000\u3823\u6033\u0000"+
+        "\u3A54\u6035\u6034\u0000\u0000\u0000\u0000\u6036"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u6037\u0000\u0000\u0000\u6038\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u353E\u0000\u6039\u0000\u0000\u0000\u0000\u603A"+
+        "\u0000\u0000\u0000\u0000\u3824\u0000\u0000\u4848"+
+        "\u0000\u0000\u603C\u0000\u0000\u0000\u3E75\u0000"+
+        "\u0000\u603B\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3638\u603D\u603F\u0000\u603E\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u6040\u0000"+
+        "\u3851\u0000\u6041\u0000\u0000\u0000\u0000\u3669"+
+        "\u0000\u4140\u0000\u397D\u0000\u0000\u0000\u0000"+
+        "\u6043\u6044\u6042\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u3C6D\u0000\u0000\u4648\u3639\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6046"+
+        "\u432C\u6045\u0000\u0000\u4F35\u4762\u0000\u0000";
+
+    private final static String innerIndex3=
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u6049\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u604B\u6048"+
+        "\u0000\u0000\u0000\u4C54\u604A\u604C\u0000\u4E44"+
+        "\u0000\u0000\u0000\u0000\u0000\u6050\u0000\u0000"+
+        "\u0000\u604F\u4376\u472D\u0000\u0000\u3825\u604E"+
+        "\u0000\u0000\u0000\u0000\u604D\u0000\u4D31\u4D32"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u6051\u316E"+
+        "\u0000\u0000\u0000\u0000\u3976\u3B62\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u6052\u6053"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6055"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u3D43\u0000\u0000\u0000\u0000"+
+        "\u6057\u0000\u6056\u0000\u0000\u0000\u0000\u0000"+
+        "\u6058\u0000\u334D\u0000\u0000\u605A\u0000\u0000"+
+        "\u6059\u0000\u605C\u605B\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u383C\u0000\u0000\u4E28"+
+        "\u0000\u364C\u0000\u3226\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u366A\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u3461\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u4E68\u605E\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u6060\u0000\u0000\u0000\u0000"+
+        "\u6061\u0000\u3251\u0000\u0000\u0000\u0000\u0000"+
+        "\u605D\u0000\u3B39\u0000\u0000\u4441\u605F\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u6064\u0000"+
+        "\u3C6E\u0000\u0000\u0000\u0000\u6062\u0000\u0000"+
+        "\u0000\u0000\u373E\u0000\u0000\u4849\u6063\u0000"+
+        "\u0000\u607E\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u6069\u0000\u0000\u0000\u0000\u0000\u383D\u0000"+
+        "\u0000\u0000\u0000\u3565\u0000\u6066\u4D7D\u0000"+
+        "\u0000\u4E30\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u4276\u0000\u0000\u6068\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u606A\u4E56\u3657\u487C\u474A\u0000"+
+        "\u0000\u0000\u606B\u0000\u0000\u0000\u0000\u606D"+
+        "\u0000\u6070\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u606C\u0000\u0000"+
+        "\u0000\u606F\u386A\u314D\u6071\u0000\u3F70\u606E"+
+        "\u4E5C\u0000\u0000\u6074\u7424\u0000\u0000\u0000"+
+        "\u0000\u6072\u6075\u0000\u0000\u0000\u0000\u6067"+
+        "\u6073\u0000\u0000\u3A3C\u0000\u0000\u6076\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u6077\u0000"+
+        "\u0000\u0000\u0000\u4D7E\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u6078\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u6079\u0000"+
+        "\u0000\u0000\u6065\u0000\u0000\u0000\u0000\u607A"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u3444\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u3C25\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u607B\u0000\u0000\u0000\u0000\u607C"+
+        "\u0000\u0000\u0000\u0000\u607D\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u313B\u0000\u0000\u0000"+
+        "\u6121\u0000\u493B\u6122\u0000\u0000\u3424\u6123"+
+        "\u0000\u6124\u0000\u0000\u0000\u0000\u6125\u0000"+
+        "\u6127\u6128\u6126\u0000\u0000\u0000\u4953\u612A"+
+        "\u6129\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u612C\u612B\u612D\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u612E\u6130\u612F\u0000"+
+        "\u0000\u3979\u0000\u6132\u0000\u6131\u0000\u0000"+
+        "\u3445\u0000\u3F53\u0000\u453C\u0000\u6133\u4038"+
+        "\u0000\u0000\u0000\u3B3A\u0000\u3179\u6134\u0000"+
+        "\u4D51\u0000\u0000\u4A63\u6135\u0000\u0000\u0000"+
+        "\u4544\u4D33\u3943\u3F3D\u0000\u0000\u0000\u434B"+
+        "\u5234\u0000\u442E\u3268\u6136\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u6137\u0000\u613C\u0000"+
+        "\u0000\u613A\u6139\u5A42\u3326\u6138\u0000\u305A"+
+        "\u0000\u482A\u0000\u0000\u484A\u0000\u0000\u0000"+
+        "\u0000\u4E31\u613D\u613B\u435C\u4026\u0000\u0000"+
+        "\u482B\u0000\u492D\u0000\u613F\u4E2C\u374D\u6140"+
+        "\u0000\u613E\u4856\u6141\u0000\u6142\u0000\u0000"+
+        "\u305B\u0000\u0000\u3E76\u6147\u0000\u6144\u466D"+
+        "\u6143\u0000\u0000\u0000\u0000\u0000\u0000\u3526"+
+        "\u0000\u0000\u614A\u0000\u0000\u0000\u6145\u6146"+
+        "\u0000\u6149\u6148\u4925\u0000\u0000\u4142\u4141"+
+        "\u0000\u353F\u0000\u0000\u614B\u0000\u0000\u0000"+
+        "\u0000\u0000\u614C\u0000\u0000\u614D\u0000\u0000"+
+        "\u0000\u0000\u0000\u614F\u0000\u614E\u0000\u0000"+
+        "\u0000\u0000\u0000\u3156\u0000\u0000\u0000\u0000"+
+        "\u0000\u6157\u4868\u6151\u0000\u6153\u0000\u0000"+
+        "\u6155\u3F3E\u0000\u0000\u6156\u6154\u3C40\u0000"+
+        "\u0000\u0000\u6150\u6152\u0000\u4942\u0000\u3E49"+
+        "\u0000\u0000\u6159\u0000\u0000\u6158\u0000\u0000"+
+        "\u0000\u0000\u615A\u0000\u3C26\u3A2F\u0000\u0000"+
+        "\u4577\u615B\u0000\u444B\u0000\u0000\u615D\u0000"+
+        "\u0000\u0000\u4E21\u615C\u0000\u0000\u0000\u0000"+
+        "\u0000\u4169\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u6162\u0000\u6164\u6165\u4354\u0000\u0000\u0000"+
+        "\u0000\u0000\u6163\u0000\u6160\u0000\u615E\u615F"+
+        "\u0000\u6161\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u6168\u0000\u6166\u0000\u6167\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6169"+
+        "\u616B\u616C\u616D\u0000\u616E\u0000\u0000\u616A"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u6170\u0000\u0000\u0000\u616F\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u6171\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u4E45\u0000\u0000\u0000\u6174\u6172"+
+        "\u6173\u0000\u0000\u0000\u3462\u0000\u0000\u0000"+
+        "\u0000\u0000\u4C7E\u0000\u0000\u0000\u4A4A\u0000"+
+        "\u6176\u0000\u0000\u0000\u6175\u0000\u0000\u0000"+
+        "\u0000\u6177\u6178\u0000\u0000\u0000\u0000\u617C"+
+        "\u6179\u617A\u617B\u0000\u617D\u0000\u0000\u0000"+
+        "\u617E\u0000\u6221\u0000\u0000\u0000\u6222\u0000"+
+        "\u6223\u0000\u482F\u4550\u6224\u4772\u4934\u0000"+
+        "\u6225\u0000\u0000\u6226\u452A\u0000\u3327\u3944"+
+        "\u6227\u0000\u0000\u6228\u0000\u0000\u6229\u0000"+
+        "\u3B29\u0000\u0000\u622B\u0000\u0000\u622A\u0000"+
+        "\u0000\u622C\u622D\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u4869\u0000"+
+        "\u622E\u0000\u0000\u0000\u622F\u0000\u0000\u7369"+
+        "\u6230\u6231\u6232\u0000\u0000\u0000\u0000\u3B2E"+
+        "\u0000\u0000\u6233\u4756\u0000\u0000\u4B5F\u0000"+
+        "\u314E\u0000\u3157\u0000\u0000\u6234\u0000\u0000"+
+        "\u0000\u0000\u6236\u0000\u0000\u0000\u6235\u4570"+
+        "\u0000\u0000\u0000\u4039\u5D39\u0000\u6237\u4C41"+
+        "\u0000\u6238\u0000\u3446\u4857\u6239\u0000\u623A"+
+        "\u0000\u0000\u623B\u0000\u0000\u0000\u4C5C\u0000"+
+        "\u0000\u0000\u4C55\u0000\u443E\u0000\u0000\u0000"+
+        "\u416A\u0000\u0000\u623D\u0000\u0000\u3D62\u0000"+
+        "\u0000\u3E4A\u0000\u0000\u6240\u0000\u0000\u623F"+
+        "\u623E\u487D\u0000\u3447\u3829\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u6246\u0000\u0000\u6243\u3F3F"+
+        "\u4C32\u0000\u0000\u0000\u6242\u6244\u6245\u0000"+
+        "\u0000\u6241\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6247"+
+        "\u6248\u0000\u442F\u0000\u3463\u0000\u0000\u0000"+
+        "\u4365\u0000\u0000\u0000\u0000\u0000\u0000\u6249"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u624A\u624D\u0000\u0000\u0000\u0000"+
+        "\u0000\u3F67\u0000\u4644\u0000\u624E\u4B53\u0000"+
+        "\u624B\u0000\u0000\u624C\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u6251\u0000\u0000\u0000\u0000\u6250\u624F"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u6253\u0000\u0000\u6252\u0000"+
+        "\u0000\u6254\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u6256\u0000"+
+        "\u6255\u0000\u0000\u0000\u0000\u4A4D\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u3D56\u4E46\u0000\u0000"+
+        "\u6257\u0000\u0000\u4637\u0000\u0000\u6258\u0000"+
+        "\u0000\u6259\u0000\u625D\u625B\u625C\u0000\u625A"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u625E"+
+        "\u0000\u0000\u0000\u0000\u0000\u625F\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6260"+
+        "\u0000\u0000\u6261\u4C37\u6262\u0000\u0000\u0000"+
+        "\u0000\u0000\u4C70\u6263\u0000\u434E\u0000\u476A"+
+        "\u0000\u366B\u0000\u0000\u0000\u433B\u6264\u363A"+
+        "\u0000\u0000\u0000\u4050\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u6265\u0000\u0000\u0000"+
+        "\u0000\u0000\u3A3D\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u6266\u0000\u0000\u0000"+
+        "\u0000\u0000\u6267\u0000\u3826\u3A55\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u6269\u0000\u0000\u0000\u0000\u4556\u3A56\u354E"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u4B24\u0000\u474B\u0000\u0000\u0000"+
+        "\u0000\u0000\u4557\u0000\u0000\u0000\u0000\u395C"+
+        "\u0000\u0000\u0000\u0000\u0000\u626B\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u3E4B\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u4E32\u3945\u0000\u0000\u3827"+
+        "\u0000\u0000\u4823\u0000\u626D\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u626F\u0000\u0000\u0000"+
+        "\u0000\u386B\u0000\u0000\u0000\u0000\u626E\u4476"+
+        "\u0000\u0000\u0000\u0000\u6271\u3337\u626C\u0000"+
+        "\u0000\u486A\u0000\u3130\u0000\u3A6C\u0000\u4F52"+
+        "\u0000\u0000\u6270\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u6272\u0000\u0000\u0000\u4A4B"+
+        "\u0000\u4059\u6274\u0000\u0000\u0000\u0000\u6275"+
+        "\u0000\u0000\u0000\u0000\u0000\u6273\u0000\u0000"+
+        "\u0000\u0000\u334E\u0000\u627B\u0000\u627A\u0000"+
+        "\u0000\u3C27\u0000\u0000\u0000\u627C\u6277\u0000"+
+        "\u0000\u0000\u627D\u6278\u0000\u0000\u0000\u0000"+
+        "\u4858\u6276\u0000\u0000\u6279\u0000\u0000\u0000"+
+        "\u0000\u0000\u6322\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6321"+
+        "\u4B61\u0000\u0000\u0000\u627E\u0000\u0000\u306B"+
+        "\u0000\u0000\u0000\u0000\u6324\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u6323\u0000\u0000"+
+        "\u0000\u3E4C\u0000\u0000\u0000\u0000\u0000\u6325"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u4143\u0000"+
+        "\u0000\u6327\u6326\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u6328\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u6268\u0000"+
+        "\u0000\u0000\u626A\u632A\u6329\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3C28\u0000\u4E69\u0000\u3C52\u0000"+
+        "\u632B\u3737\u0000\u0000\u0000\u0000\u0000\u3540"+
+        "\u3527\u3B63\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u4D34\u0000\u0000\u6331\u0000\u6330\u4144\u632D"+
+        "\u0000\u0000\u632F\u0000\u0000\u3D4B\u3F40\u632E"+
+        "\u632C\u0000\u472A\u0000\u0000\u3E4D\u0000\u0000"+
+        "\u493C\u0000\u0000\u0000\u0000\u3A57\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4578"+
+        "\u0000\u0000\u6332\u0000\u0000\u0000\u0000\u6333"+
+        "\u6349\u3658\u0000\u0000\u4F3D\u4135\u0000\u0000"+
+        "\u0000\u0000\u6334\u0000\u0000\u3252\u4477\u4A21"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u6335\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u357A\u6336"+
+        "\u0000\u0000\u6338\u0000\u0000\u0000\u6339\u0000"+
+        "\u4729\u0000\u0000\u633A\u0000\u0000\u0000\u0000"+
+        "\u0000\u633B\u633C\u0000\u0000\u3659\u3253\u4645"+
+        "\u3D28\u3B64\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u633D\u0000\u3D29\u0000\u0000\u0000\u0000"+
+        "\u0000\u324A\u4943\u0000\u0000\u633E\u0000\u0000"+
+        "\u486B\u0000\u0000\u0000\u0000\u0000\u0000\u4145"+
+        "\u0000\u6341\u0000\u6342\u4769\u0000\u3F41\u633F"+
+        "\u0000\u4361\u0000\u0000\u6340\u0000\u0000\u0000"+
+        "\u3E4E\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u305C\u0000\u0000\u0000\u0000"+
+        "\u3529\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u6343\u0000\u0000\u4478\u0000\u6344\u4047\u0000"+
+        "\u0000\u0000\u0000\u0000\u4C2D\u0000\u0000\u4923"+
+        "\u6345\u6346\u4355\u0000\u4E47\u0000\u0000\u6348"+
+        "\u6347\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u3C6F\u0000"+
+        "\u0000\u634A\u3070\u0000\u0000\u0000\u0000\u634D"+
+        "\u0000\u0000\u0000\u634B\u3254\u374E\u634C\u3946"+
+        "\u3972\u0000\u4A66\u634E\u0000\u0000\u4B54\u0000"+
+        "\u0000\u6350\u0000\u0000\u0000\u4051\u314F\u323A"+
+        "\u302C\u0000\u0000\u0000\u0000\u0000\u0000\u634F"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u6351\u6352\u3E77\u0000\u0000\u0000\u0000"+
+        "\u0000\u6353\u0000\u334F\u0000\u0000\u0000\u0000"+
+        "\u6355\u0000\u0000\u0000\u376A\u0000\u3566\u0000"+
+        "\u0000\u6356\u3675\u0000\u0000\u6357\u0000\u407C"+
+        "\u0000\u464D\u0000\u4060\u3A75\u0000\u0000\u0000"+
+        "\u6358\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u4362\u416B\u0000\u635A\u635C\u6359"+
+        "\u635B\u0000\u0000\u0000\u0000\u0000\u0000\u3722"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u635D\u3726\u0000\u0000\u0000\u3567\u4D52"+
+        "\u635F\u0000\u0000\u0000\u0000\u0000\u6360\u0000"+
+        "\u0000\u0000\u312E\u0000\u0000\u0000\u0000\u6363"+
+        "\u0000\u0000\u0000\u3376\u6362\u6361\u0000\u6365"+
+        "\u635E\u0000\u6366\u4E29\u0000\u6367\u0000\u6368"+
+        "\u0000\u0000\u5474\u636A\u0000\u6369\u0000\u0000"+
+        "\u0000\u636B\u636C\u0000\u4E35\u636D\u0000\u706F"+
+        "\u3E4F\u636E\u636F\u3D57\u0000\u4638\u6370\u0000"+
+        "\u0000\u0000\u4328\u0000\u0000\u6371\u0000\u433C"+
+        "\u6372\u0000\u0000\u0000\u0000\u0000\u3625\u0000"+
+        "\u513F\u435D\u3C33\u0000\u0000\u0000\u0000\u3448"+
+        "\u0000\u0000\u6373\u0000\u6422\u0000\u6376\u0000"+
+        "\u3568\u0000\u6375\u6424\u0000\u0000\u0000\u6374"+
+        "\u0000\u3E50\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u6378\u6379\u0000\u452B\u0000\u0000\u637A\u0000"+
+        "\u335E\u0000\u0000\u0000\u0000\u3F5A\u4964\u0000"+
+        "\u637C\u0000\u0000\u0000\u4268\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u6377\u0000\u637B\u637D\u0000"+
+        "\u0000\u3A7B\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u6426\u492E\u0000"+
+        "\u4826\u4579\u0000\u365A\u6425\u6423\u0000\u4835"+
+        "\u637E\u435E\u457B\u0000\u457A\u0000\u3A76\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u6438\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u6428\u0000\u642A"+
+        "\u0000\u0000\u0000\u0000\u642D\u0000\u642E\u0000"+
+        "\u642B\u642C\u0000\u0000\u6429\u6427\u0000\u0000"+
+        "\u0000\u0000\u6421\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u4A4F\u3255"+
+        "\u0000\u0000\u0000\u6435\u0000\u6432\u0000\u6437"+
+        "\u0000\u0000\u6436\u0000\u4773\u4C27\u0000\u3B3B"+
+        "\u6430\u6439\u6434\u0000\u6433\u642F\u0000\u6431"+
+        "\u0000\u3449\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u433D\u0000\u0000\u407D\u0000\u0000"+
+        "\u0000\u4822\u0000\u0000\u643E\u0000\u0000\u0000"+
+        "\u4824\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u4061\u643B\u0000\u0000\u484F\u0000\u643F\u4A53"+
+        "\u0000\u435B\u0000\u643A\u643C\u0000\u0000\u643D"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u6440\u0000\u0000"+
+        "\u3C44\u0000\u0000\u0000\u4646\u6445\u6444\u0000"+
+        "\u0000\u6441\u0000\u0000\u0000\u4F36\u0000\u0000"+
+        "\u0000\u0000\u0000\u644A\u0000\u0000\u644E\u644B"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u6447\u0000\u0000\u0000\u0000\u0000\u0000\u6448"+
+        "\u0000\u0000\u0000\u0000\u0000\u644D\u0000\u0000"+
+        "\u0000\u6442\u5255\u6449\u6443\u0000\u0000\u644C"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6452"+
+        "\u0000\u344A\u0000\u644F\u0000\u0000\u0000\u6450"+
+        "\u0000\u0000\u6451\u6454\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6453"+
+        "\u4876\u0000\u0000\u0000\u0000\u6455\u4E7C\u4A6D"+
+        "\u645A\u0000\u0000\u6457\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u6456\u4052\u0000\u6459"+
+        "\u645B\u0000\u0000\u0000\u6458\u0000\u645F\u0000"+
+        "\u645C\u0000\u0000\u0000\u0000\u0000\u0000\u645D"+
+        "\u6446\u0000\u0000\u0000\u645E\u6460\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u6461\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u4A46\u0000\u6462\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u4C62\u0000"+
+        "\u0000\u364E\u3729\u6463\u0000\u0000\u0000\u0000"+
+        "\u0000\u4A34\u0000\u3F68\u0000\u4C30\u0000\u0000"+
+        "\u6464\u0000\u4E33\u0000\u0000\u4774\u0000\u4146"+
+        "\u4734\u0000\u0000\u3D4D\u0000\u0000\u0000\u3040"+
+        "\u0000\u6469\u6467\u0000\u6465\u3421\u0000\u3E51"+
+        "\u646A\u0000\u0000\u6468\u0000\u6466\u646E\u0000"+
+        "\u0000\u646D\u646C\u646B\u0000\u0000\u0000\u0000"+
+        "\u0000\u646F\u0000\u0000\u0000\u6470\u403A\u0000"+
+        "\u6471\u0000\u6473\u0000\u0000\u6472\u0000\u0000"+
+        "\u0000\u0000\u3852\u0000\u0000\u0000\u4138\u0000"+
+        "\u0000\u0000\u6475\u0000\u0000\u0000\u457C\u0000"+
+        "\u6474\u0000\u0000\u0000\u6476\u0000\u4A35\u416C"+
+        "\u3947\u0000\u6477\u0000\u0000\u0000\u0000\u4E48"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6479"+
+        "\u0000\u0000\u647A\u0000\u647B\u0000\u647C\u0000"+
+        "\u3B65\u0000\u647D\u374F\u0000\u0000\u356A\u0000"+
+        "\u352A\u0000\u6521\u0000\u4C73\u3948\u647E\u0000"+
+        "\u0000\u0000\u6524\u4C66\u0000\u473C\u0000\u0000"+
+        "\u4933\u0000\u0000\u0000\u3D63\u6523\u0000\u3C53"+
+        "\u3949\u3B66\u3569\u4A36\u6522\u0000\u0000\u0000"+
+        "\u4147\u4B42\u3A77\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u3B67\u445D\u0000\u6527\u4E5F"+
+        "\u3A59\u0000\u6528\u3F42\u0000\u652A\u0000\u0000"+
+        "\u0000\u3E52\u3A30\u0000\u0000\u0000\u0000\u6529"+
+        "\u0000\u0000\u3D2A\u383E\u4148\u6525\u652B\u0000"+
+        "\u0000\u0000\u0000\u6526\u3750\u0000\u652E\u6532"+
+        "\u376B\u0000\u0000\u0000\u0000\u0000\u652D\u0000"+
+        "\u0000\u0000\u0000\u6536\u0000\u0000\u394A\u0000"+
+        "\u0000\u4D6D\u303C\u6533\u0000\u0000\u356B\u0000"+
+        "\u6530\u0000\u0000\u0000\u0000\u0000\u6531\u0000"+
+        "\u0000\u457D\u652F\u652C\u0000\u3328\u4064\u0000"+
+        "\u0000\u3828\u0000\u0000\u0000\u6538\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u6535\u0000\u0000\u0000\u0000\u0000\u6537"+
+        "\u0000\u0000\u0000\u6534\u0000\u0000\u0000\u0000"+
+        "\u0000\u3751\u4233\u6539\u416E\u0000\u0000\u6546"+
+        "\u0000\u0000\u6542\u653C\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u6540\u3C7A\u305D\u653B\u6543"+
+        "\u6547\u394B\u4C56\u0000\u4456\u653D\u0000\u0000"+
+        "\u6545\u0000\u653A\u433E\u0000\u653F\u303D\u4C4A"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u653E"+
+        "\u0000\u0000\u365B\u486C\u0000\u0000\u0000\u416D"+
+        "\u0000\u4E50\u3D6F\u0000\u0000\u656E\u0000\u0000"+
+        "\u6548\u0000\u407E\u0000\u6544\u6549\u654B\u0000"+
+        "\u4479\u654E\u0000\u0000\u654A\u0000\u0000\u0000"+
+        "\u4A54\u344B\u0000\u0000\u4C4B\u0000\u0000\u305E"+
+        "\u0000\u0000\u654D\u0000\u4E7D\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u654C\u0000\u0000\u0000\u0000"+
+        "\u0000\u316F\u0000\u0000\u466C\u654F\u0000\u0000"+
+        "\u0000\u6556\u6550\u6557\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u6553\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u477B\u0000\u0000\u3C4A\u6555"+
+        "\u0000\u6552\u6558\u6551\u0000\u0000\u3D44\u0000"+
+        "\u0000\u0000\u0000\u4B25\u0000\u0000\u3D4C\u0000"+
+        "\u0000\u6554\u6560\u0000\u0000\u655C\u0000\u655F"+
+        "\u0000\u655D\u6561\u655B\u0000\u6541\u4053\u0000"+
+        "\u0000\u484B\u0000\u655E\u0000\u0000\u6559\u0000"+
+        "\u0000\u0000\u4121\u3752\u0000\u3D2B\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u3F25\u4136\u6564\u0000"+
+        "\u0000\u6566\u6567\u0000\u0000\u6563\u6565\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u655A\u6562"+
+        "\u0000\u656A\u6569\u0000\u0000\u4B7A\u0000\u0000"+
+        "\u372B\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u6568\u0000\u656C\u656B\u656F\u0000\u6571"+
+        "\u0000\u0000\u3B3C\u656D\u0000\u0000\u0000\u0000"+
+        "\u6572\u6573\u0000\u0000\u6574\u0000\u657A\u453B"+
+        "\u6576\u0000\u6575\u6577\u6578\u0000\u6579\u0000"+
+        "\u0000\u0000\u0000\u657B\u657C\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u344C\u0000"+
+        "\u657D\u0000\u657E\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u6621\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u6622\u6623\u6624\u0000"+
+        "\u6625\u6626\u0000\u0000\u6628\u6627\u0000\u0000"+
+        "\u6629\u0000\u0000\u0000\u0000\u0000\u0000\u662A"+
+        "\u662B\u0000\u0000\u0000\u0000\u0000\u0000\u662E"+
+        "\u662C\u662D\u3A61\u3753\u0000\u0000\u4356\u0000"+
+        "\u4833\u0000\u3D70\u0000\u0000\u474D\u0000\u486D"+
+        "\u662F\u586D\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u6630\u6632\u0000\u4D65\u6631\u6634"+
+        "\u6633\u0000\u4D53\u0000\u6635\u0000\u487E\u0000"+
+        "\u0000\u0000\u0000\u0000\u6636\u0000\u0000\u0000"+
+        "\u0000\u0000\u6639\u0000\u0000\u6638\u6637\u0000"+
+        "\u0000\u0000\u0000\u663A\u3732\u0000\u0000\u0000"+
+        "\u4122\u3541\u0000\u0000\u0000\u0000\u663E\u663B"+
+        "\u0000\u0000\u663C\u0000\u0000\u0000\u663F\u0000"+
+        "\u6640\u663D\u0000\u0000\u0000\u3129\u0000\u0000"+
+        "\u0000\u3227\u0000\u0000\u0000\u6642\u6643\u0000"+
+        "\u0000\u0000\u6644\u0000\u4D62\u0000\u0000\u0000"+
+        "\u0000\u0000\u3D2C\u0000\u6646\u6645\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u3F69\u6647\u0000\u0000\u0000\u0000\u6648\u0000"+
+        "\u0000\u6649\u0000\u3465\u0000\u0000\u0000\u0000"+
+        "\u344D\u0000\u0000\u664A\u0000\u0000\u0000\u0000"+
+        "\u0000\u664B\u0000\u4B5D\u4D63\u0000\u0000\u0000"+
+        "\u4D54\u4F37\u0000\u394D\u664E\u3C54\u664D\u0000"+
+        "\u0000\u0000\u0000\u664F\u3C29\u0000\u0000\u0000"+
+        "\u4251\u0000\u6650\u0000\u0000\u394C\u0000\u4C57"+
+        "\u6651\u6652\u0000\u0000\u6653\u0000\u0000\u0000"+
+        "\u0000\u6654\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u6655\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u3C2A\u0000\u0000\u4C6D\u0000"+
+        "\u0000\u0000\u0000\u6657\u0000\u433F\u0000\u6656"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u6659\u0000"+
+        "\u0000\u0000\u6658\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u665A\u0000\u0000\u0000\u403B\u0000"+
+        "\u665B\u0000\u665C\u0000\u0000\u0000\u4A39\u665D"+
+        "\u0000\u416F\u665E\u0000\u0000\u0000\u0000\u0000"+
+        "\u665F\u0000\u0000\u0000\u0000\u0000\u0000\u4E7E"+
+        "\u6662\u0000\u6661\u6660\u4430\u0000\u6663\u3F26"+
+        "\u0000\u6664\u0000\u0000\u0000\u6665\u4F38\u6666"+
+        "\u0000\u0000\u0000\u0000\u6667\u6669\u6668\u4825"+
+        "\u0000\u4679\u0000\u4F3E\u4829\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u666B\u0000\u0000\u3E53\u0000"+
+        "\u492A\u0000\u666C\u666A\u0000\u344E\u0000\u0000"+
+        "\u0000\u3854\u3B68\u0000\u0000\u486E\u0000\u0000"+
+        "\u0000\u382A\u4B43\u0000\u666F\u666D\u0000\u394E"+
+        "\u0000\u394F\u3069\u0000\u3A68\u0000\u0000\u0000"+
+        "\u0000\u0000\u4759\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u305F\u6674\u0000\u4340\u0000"+
+        "\u0000\u0000\u0000\u0000\u4758\u0000\u425B\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u6676\u0000"+
+        "\u0000\u6672\u6675\u6670\u0000\u6673\u4B26\u0000"+
+        "\u0000\u3855\u0000\u0000\u307D\u6671\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6678"+
+        "\u0000\u6679\u0000\u0000\u4639\u0000\u0000\u0000"+
+        "\u363B\u0000\u0000\u0000\u6726\u473D\u0000\u0000"+
+        "\u0000\u0000\u3B69\u0000\u0000\u363C\u4048\u4F46"+
+        "\u4C2E\u6677\u4054\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3553\u667A\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u667C\u0000\u0000\u0000\u0000"+
+        "\u0000\u667B\u0000\u0000\u0000\u0000\u0000\u667D"+
+        "\u0000\u4326\u0000\u473E\u0000\u0000\u0000\u0000"+
+        "\u0000\u4431\u0000\u0000\u0000\u0000\u6723\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u6722\u0000"+
+        "\u0000\u0000\u0000\u667E\u0000\u0000\u3F55\u0000"+
+        "\u4965\u6725\u0000\u6724\u3950\u4F53\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6735"+
+        "\u0000\u0000\u0000\u0000\u0000\u6729\u672A\u0000"+
+        "\u0000\u0000\u0000\u3C70\u0000\u0000\u6728\u0000"+
+        "\u3978\u6727\u0000\u0000\u672B\u0000\u0000\u0000"+
+        "\u4432\u4A22\u4123\u0000\u0000\u0000\u0000\u425C"+
+        "\u672F\u0000\u6730\u672C\u0000\u0000\u0000\u0000"+
+        "\u672D\u0000\u672E\u0000\u0000\u0000\u0000\u3951"+
+        "\u0000\u0000\u0000\u6736\u0000\u6732\u0000\u0000"+
+        "\u0000\u0000\u4966\u0000\u4B6C\u4928\u0000\u0000"+
+        "\u6731\u0000\u0000\u6734\u6733\u0000\u0000\u0000"+
+        "\u4B44\u6737\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u6738\u0000\u0000\u4137\u0000\u6739\u0000\u0000"+
+        "\u673B\u0000\u673F\u0000\u0000\u673C\u673A\u473F"+
+        "\u673D\u0000\u673E\u0000\u0000\u0000\u3232\u0000"+
+        "\u6745\u6740\u0000\u0000\u0000\u6741\u0000\u0000"+
+        "\u0000\u6742\u0000\u4221\u0000\u0000\u0000\u0000"+
+        "\u6744\u6743\u6746\u0000\u0000\u0000\u0000\u6747"+
+        "\u6748\u0000\u0000\u3F43\u0000\u3269\u0000\u6749"+
+        "\u4E57\u0000\u3C2B\u0000\u0000\u3D2D\u0000\u0000"+
+        "\u0000\u0000\u0000\u3B6A\u4357\u0000\u0000\u0000"+
+        "\u0000\u0000\u674A\u674B\u3131\u0000\u674C\u0000"+
+        "\u0000\u674D\u674E\u0000\u0000\u674F\u0000\u6750"+
+        "\u363D\u5A2A\u6751\u0000\u4065\u6752\u3C4B\u0000"+
+        "\u6753\u0000\u5030\u0000\u0000\u0000\u6754\u4A5E"+
+        "\u345C\u0000\u0000\u4124\u3D58\u0000\u4971\u3D2E"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u6755\u3952\u6756\u484C\u0000\u6764\u0000"+
+        "\u0000\u0000\u0000\u6758\u0000\u4249\u4775\u383F"+
+        "\u6757\u4125\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u6759\u0000\u0000\u0000\u0000\u0000\u0000\u447A"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u675B\u675A\u675D\u0000\u0000\u675C\u0000\u675E"+
+        "\u0000\u0000\u6760\u0000\u675F\u0000\u344F\u0000"+
+        "\u6761\u0000\u6762\u6763\u0000\u0000\u3A31\u4E49"+
+        "\u0000\u6765\u3F27\u0000\u0000\u0000\u3170\u6766"+
+        "\u6767\u0000\u0000\u0000\u0000\u0000\u6768\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u3072\u0000\u6769\u0000\u0000"+
+        "\u0000\u0000\u676A\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u4967\u0000\u0000\u0000\u3C47\u0000\u676C"+
+        "\u0000\u0000\u0000\u0000\u0000\u3329\u3032\u0000"+
+        "\u0000\u0000\u0000\u676B\u676E\u474E\u0000\u3F44"+
+        "\u0000\u3256\u0000\u4B27\u0000\u0000\u0000\u0000"+
+        "\u375D\u365C\u0000\u676D\u0000\u326A\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u3423\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u3171\u6772\u4E6A\u425D\u0000\u0000\u4944"+
+        "\u0000\u677E\u0000\u3257\u677C\u0000\u677A\u6771"+
+        "\u0000\u676F\u0000\u6770\u0000\u3C63\u366C\u4377"+
+        "\u0000\u0000\u0000\u4651\u0000\u0000\u0000\u0000"+
+        "\u0000\u3151\u0000\u6774\u6773\u0000\u0000\u0000"+
+        "\u0000\u6779\u6775\u6778\u0000\u0000\u0000\u0000";
+
+    private final static String innerIndex4=
+        "\u0000\u0000\u4C50\u6777\u3258\u337D\u677B\u0000"+
+        "\u0000\u677D\u0000\u0000\u0000\u0000\u3754\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u6823\u682C"+
+        "\u682D\u0000\u0000\u0000\u302B\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u6834\u0000\u0000\u0000\u0000"+
+        "\u3071\u0000\u0000\u682B\u0000\u0000\u0000\u682A"+
+        "\u0000\u6825\u6824\u0000\u6822\u6821\u4363\u0000"+
+        "\u427B\u6827\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u6826\u0000\u0000\u0000\u0000\u6829\u0000\u0000"+
+        "\u0000\u4170\u3755\u0000\u0000\u0000\u0000\u3141"+
+        "\u6828\u0000\u3953\u0000\u0000\u0000\u0000\u0000"+
+        "\u4171\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u683A\u0000\u683B\u0000\u3259"+
+        "\u0000\u0000\u0000\u322E\u6838\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u682E\u0000\u6836"+
+        "\u0000\u683D\u6837\u0000\u0000\u0000\u6835\u0000"+
+        "\u0000\u0000\u0000\u6776\u0000\u0000\u6833\u0000"+
+        "\u0000\u0000\u682F\u0000\u0000\u0000\u3450\u6831"+
+        "\u683C\u0000\u6832\u0000\u0000\u0000\u0000\u0000"+
+        "\u683E\u0000\u6830\u477C\u0000\u0000\u0000\u0000"+
+        "\u0000\u4D69\u0000\u0000\u0000\u6839\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u684F\u0000\u0000"+
+        "\u0000\u6847\u0000\u0000\u0000\u3F7B\u0000\u0000"+
+        "\u0000\u0000\u3546\u0000\u365D\u0000\u6842\u0000"+
+        "\u0000\u0000\u0000\u325B\u0000\u0000\u3E54\u0000"+
+        "\u6845\u0000\u0000\u0000\u3A5A\u0000\u0000\u4551"+
+        "\u684A\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u4A6E\u0000\u6841\u0000\u0000\u0000\u325A"+
+        "\u3856\u4929\u684B\u0000\u683F\u0000\u0000\u6848"+
+        "\u0000\u0000\u0000\u6852\u0000\u6843\u0000\u0000"+
+        "\u0000\u0000\u0000\u6844\u463A\u0000\u0000\u6849"+
+        "\u0000\u0000\u0000\u6846\u4B28\u684C\u3060\u0000"+
+        "\u0000\u0000\u0000\u6840\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u684E\u0000\u684D\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u476B\u6854\u0000\u685F\u0000\u0000\u0000"+
+        "\u0000\u337E\u0000\u0000\u0000\u6862\u0000\u0000"+
+        "\u6850\u0000\u0000\u0000\u6855\u4D6E\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u685E\u0000"+
+        "\u0000\u4D55\u0000\u0000\u0000\u0000\u4E2A\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4378"+
+        "\u0000\u0000\u0000\u336B\u0000\u0000\u0000\u0000"+
+        "\u0000\u4972\u6864\u4621\u0000\u0000\u3031\u0000"+
+        "\u0000\u685D\u0000\u6859\u4172\u6853\u685B\u6860"+
+        "\u0000\u472C\u0000\u0000\u0000\u302A\u0000\u6858"+
+        "\u0000\u6861\u4978\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u685C\u0000\u6857\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u3E55\u0000\u0000\u0000\u0000"+
+        "\u3D2F\u0000\u0000\u0000\u3C2C\u0000\u0000\u0000"+
+        "\u0000\u4C58\u0000\u0000\u4947\u0000\u0000\u6867"+
+        "\u0000\u6870\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u685A\u0000\u0000"+
+        "\u0000\u0000\u3377\u0000\u0000\u0000\u0000\u0000"+
+        "\u3E78\u6865\u0000\u686A\u4173\u0000\u0000\u6866"+
+        "\u0000\u686D\u0000\u0000\u435F\u0000\u686E\u0000"+
+        "\u0000\u4D56\u6863\u3338\u0000\u6869\u0000\u0000"+
+        "\u686C\u4C2C\u0000\u0000\u0000\u0000\u686F\u0000"+
+        "\u0000\u6868\u686B\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u4B29\u0000\u4F21\u0000"+
+        "\u0000\u0000\u0000\u0000\u6873\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u687A\u0000\u0000\u6872"+
+        "\u3C43\u0000\u0000\u0000\u0000\u0000\u6851\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u4A4E\u0000\u4C22\u6879\u6878\u0000\u6874"+
+        "\u6875\u0000\u3136\u0000\u0000\u0000\u0000\u6877"+
+        "\u0000\u6871\u0000\u0000\u0000\u0000\u4455\u0000"+
+        "\u0000\u0000\u0000\u0000\u6876\u307E\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u4222\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u4A43\u0000\u0000"+
+        "\u687B\u6921\u0000\u4859\u0000\u0000\u0000\u0000"+
+        "\u687E\u3E56\u3C49\u6923\u0000\u0000\u363E\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u6924\u0000\u4979"+
+        "\u687D\u0000\u6856\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u687C\u0000\u0000\u0000\u0000"+
+        "\u4F4F\u4622\u4973\u0000\u0000\u692B\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6931"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u6932\u0000"+
+        "\u6925\u0000\u0000\u0000\u4776\u0000\u0000\u692F"+
+        "\u6927\u0000\u6929\u0000\u0000\u0000\u0000\u0000"+
+        "\u6933\u6928\u0000\u0000\u692C\u0000\u0000\u3172"+
+        "\u0000\u4665\u0000\u692D\u6930\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u6926\u0000\u4126\u0000"+
+        "\u692A\u3B27\u3F45\u3730\u4C74\u0000\u4C79\u3D72"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u6937\u6935\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u4F4E\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u6934\u0000\u0000\u0000\u4D75\u0000\u6936"+
+        "\u6938\u0000\u0000\u0000\u0000\u6939\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u693C\u693A\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u4623\u693B\u0000\u0000"+
+        "\u0000\u484D\u692E\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3D73"+
+        "\u0000\u693D\u6942\u4174\u0000\u0000\u6941\u0000"+
+        "\u0000\u0000\u6922\u0000\u0000\u0000\u6943\u4149"+
+        "\u0000\u0000\u693E\u6940\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u693F\u0000\u0000\u5D31\u5D22"+
+        "\u0000\u0000\u6945\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u6944\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u4D76\u0000\u623C"+
+        "\u6946\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6947"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u6948\u3857\u0000"+
+        "\u3554\u0000\u0000\u0000\u694A\u515D\u0000\u0000"+
+        "\u0000\u0000\u3575\u0000\u4E3A\u0000\u3673\u694B"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u694C"+
+        "\u0000\u0000\u0000\u436E\u0000\u0000\u0000\u0000"+
+        "\u0000\u694D\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u467A\u0000\u303A\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3263\u6952\u6953\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u694E\u0000\u3B3D\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u694F\u4742\u0000\u0000\u0000"+
+        "\u0000\u6950\u6951\u695B\u0000\u0000\u0000\u6955"+
+        "\u6958\u0000\u0000\u0000\u0000\u0000\u6954\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u6956\u0000\u6957\u3C58"+
+        "\u0000\u6959\u0000\u4341\u0000\u3756\u3342\u0000"+
+        "\u0000\u0000\u0000\u0000\u695C\u0000\u0000\u0000"+
+        "\u0000\u333F\u0000\u6961\u0000\u0000\u695D\u6960"+
+        "\u0000\u0000\u0000\u0000\u483A\u0000\u0000\u0000"+
+        "\u0000\u695E\u0000\u0000\u695F\u4948\u485A\u6962"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u427D\u696C\u0000\u6968\u0000\u0000\u326B\u0000"+
+        "\u6966\u0000\u4B2A\u6967\u0000\u0000\u6964\u0000"+
+        "\u6965\u696A\u696D\u0000\u0000\u696B\u0000\u0000"+
+        "\u0000\u6969\u6963\u0000\u0000\u0000\u0000\u0000"+
+        "\u4358\u0000\u6974\u0000\u4C2A\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u6972\u0000\u0000"+
+        "\u0000\u6973\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u696E\u0000\u0000\u6970"+
+        "\u0000\u0000\u0000\u6971\u0000\u0000\u0000\u696F"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u4066\u0000\u4F39\u6978\u0000\u6979\u0000"+
+        "\u0000\u0000\u0000\u6A21\u0000\u3F2A\u0000\u697B"+
+        "\u0000\u697E\u0000\u0000\u0000\u0000\u0000\u6976"+
+        "\u6975\u0000\u0000\u6A22\u0000\u0000\u325C\u0000"+
+        "\u697C\u0000\u6A23\u0000\u0000\u0000\u697D\u0000"+
+        "\u0000\u0000\u0000\u0000\u697A\u0000\u4433\u0000"+
+        "\u6977\u0000\u0000\u0000\u0000\u0000\u0000\u4768"+
+        "\u0000\u0000\u6A27\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u4D3B\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6A26"+
+        "\u0000\u0000\u6A25\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u6A2E\u0000\u0000\u0000\u6A28"+
+        "\u0000\u0000\u0000\u6A30\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u4D66\u6A33\u0000\u6A2A\u0000\u0000"+
+        "\u6A2B\u0000\u0000\u0000\u6A2F\u0000\u6A32\u6A31"+
+        "\u0000\u0000\u0000\u6A29\u0000\u0000\u0000\u0000"+
+        "\u6A2C\u0000\u6A3D\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u6A36\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6A34"+
+        "\u0000\u0000\u6A35\u0000\u0000\u0000\u6A3A\u6A3B"+
+        "\u0000\u332A\u0000\u3542\u0000\u0000\u6A39\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u6A24\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u6A38\u6A3C\u6A37"+
+        "\u0000\u6A3E\u0000\u0000\u0000\u6A40\u6A3F\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u6A42\u6A41\u695A\u0000\u0000\u0000\u6A46"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u6A43\u0000\u0000\u0000\u0000\u6A44\u0000"+
+        "\u0000\u6A45\u0000\u6A47\u0000\u0000\u0000\u0000"+
+        "\u376C\u0000\u6A49\u0000\u6A48\u0000\u3D30\u0000"+
+        "\u0000\u0000\u0000\u0000\u3954\u5E27\u0000\u0000"+
+        "\u0000\u0000\u6A4A\u3D51\u0000\u0000\u0000\u3339"+
+        "\u0000\u6A4B\u0000\u3152\u0000\u3E57\u6A4C\u0000"+
+        "\u0000\u3955\u6A4D\u3061\u0000\u0000\u0000\u0000"+
+        "\u493D\u0000\u0000\u6A4E\u0000\u0000\u0000\u0000"+
+        "\u3F6A\u0000\u6A55\u0000\u0000\u6A52\u0000\u436F"+
+        "\u0000\u0000\u0000\u0000\u0000\u6A53\u6A50\u365E"+
+        "\u0000\u6A4F\u6A56\u0000\u0000\u0000\u0000\u0000"+
+        "\u3736\u0000\u0000\u425E\u0000\u6A5C\u0000\u0000"+
+        "\u0000\u0000\u6A58\u0000\u0000\u0000\u4235\u6A57"+
+        "\u0000\u6A5A\u0000\u0000\u0000\u0000\u6A51\u0000"+
+        "\u0000\u0000\u6A5B\u0000\u6A5D\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u486F\u0000\u0000\u6A59\u0000"+
+        "\u6A5E\u6A60\u0000\u0000\u3853\u6A54\u0000\u3041"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6A5F"+
+        "\u0000\u3A5B\u4E76\u6A61\u6A62\u4175\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4E22"+
+        "\u0000\u0000\u0000\u0000\u6A63\u4D35\u0000\u0000"+
+        "\u6A64\u6A65\u0000\u0000\u4A64\u6A66\u0000\u3A40"+
+        "\u0000\u4E23\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u6A6B\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u6A6C\u3E58\u6A6A\u0000\u0000\u0000"+
+        "\u4D67\u6A67\u0000\u0000\u6A69\u403D\u3F7E\u0000"+
+        "\u0000\u0000\u6A68\u0000\u6A6D\u0000\u0000\u4A23"+
+        "\u0000\u0000\u6A6F\u0000\u6A6E\u0000\u0000\u0000"+
+        "\u336C\u0000\u4B2B\u6A70\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u6A7C\u6A72\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u6A73\u0000\u0000"+
+        "\u0000\u0000\u6A74\u6A75\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u6A79\u0000"+
+        "\u6A7A\u0000\u0000\u6A78\u0000\u0000\u0000\u0000"+
+        "\u0000\u6A76\u0000\u6A71\u6A77\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u6A7B\u7037\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u3228\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u6A7E\u365F"+
+        "\u6A7D\u0000\u0000\u0000\u6B22\u0000\u6B21\u0000"+
+        "\u0000\u0000\u6B24\u0000\u0000\u6B23\u0000\u6B25"+
+        "\u0000\u0000\u3D31\u0000\u6B26\u0000\u0000\u6B27"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u6B28\u403E"+
+        "\u0000\u4D57\u0000\u6B29\u0000\u0000\u4A24\u4746"+
+        "\u6B2A\u0000\u6B2B\u382B\u0000\u0000\u0000\u352C"+
+        "\u0000\u0000\u0000\u6B2C\u0000\u0000\u3B6B\u4741"+
+        "\u6B2D\u0000\u3350\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u6B2E\u0000\u0000\u0000\u0000\u6B30\u4D77"+
+        "\u0000\u6B2F\u3F46\u0000\u6B31\u0000\u0000\u6B32"+
+        "\u0000\u0000\u6B33\u3451\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u6B34\u0000\u0000\u6B35\u0000\u6B36"+
+        "\u6B37\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3351\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u6B38\u0000\u6B39\u6B3A\u0000\u0000"+
+        "\u0000\u0000\u0000\u3272\u0000\u0000\u3F28\u6B3B"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u6B3C\u0000\u0000\u0000"+
+        "\u6B3D\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u3840\u0000\u447B\u6B3E\u0000\u0000\u0000\u0000"+
+        "\u3757\u0000\u3F56\u0000\u6B41\u0000\u4624\u0000"+
+        "\u6B40\u0000\u0000\u3731\u0000\u0000\u6B3F\u4277"+
+        "\u352D\u0000\u0000\u6B42\u0000\u6B43\u0000\u3E59"+
+        "\u0000\u0000\u0000\u376D\u0000\u6B44\u0000\u0000"+
+        "\u0000\u0000\u4B2C\u0000\u0000\u405F\u0000\u0000"+
+        "\u0000\u3576\u0000\u4C75\u414A\u0000\u6B45\u0000"+
+        "\u0000\u0000\u3F47\u4370\u3E5A\u0000\u0000\u0000"+
+        "\u0000\u6B46\u0000\u0000\u0000\u0000\u6B49\u0000"+
+        "\u6B4A\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u3A3E\u4242\u6B48\u0000\u3E5B\u493E\u0000\u0000"+
+        "\u0000\u0000\u0000\u6B47\u0000\u0000\u3B6C\u0000"+
+        "\u3153\u0000\u6B4E\u3758\u0000\u0000\u3B6E\u0000"+
+        "\u0000\u3B6D\u0000\u4F4D\u6B4D\u6B4C\u4127\u0000"+
+        "\u354D\u4F43\u333A\u3E5C\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u6B4B\u0000\u0000\u0000"+
+        "\u0000\u0000\u6B50\u0000\u6B51\u6B4F\u0000\u3858"+
+        "\u0000\u4D40\u0000\u0000\u3B6F\u4727\u0000\u0000"+
+        "\u0000\u6B54\u0000\u4040\u0000\u4342\u0000\u0000"+
+        "\u4D36\u0000\u6B57\u0000\u0000\u0000\u386C\u0000"+
+        "\u403F\u6B53\u0000\u6B58\u386D\u6B55\u6B56\u0000"+
+        "\u6B52\u0000\u0000\u0000\u4062\u4649\u0000\u0000"+
+        "\u432F\u0000\u325D\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u4870\u0000\u0000\u3543\u0000\u0000\u4434"+
+        "\u0000\u0000\u6B5B\u0000\u6B59\u0000\u0000\u434C"+
+        "\u0000\u0000\u0000\u4041\u3452\u6B5A\u0000\u3F5B"+
+        "\u0000\u0000\u4E4A\u0000\u0000\u0000\u4F40\u0000"+
+        "\u0000\u0000\u6B5C\u6B67\u4435\u0000\u6B66\u0000"+
+        "\u6B63\u6B6B\u6B64\u0000\u6B60\u0000\u447C\u6B5F"+
+        "\u0000\u0000\u0000\u6B5D\u0000\u4D21\u3B70\u0000"+
+        "\u0000\u6B61\u0000\u6B5E\u0000\u0000\u0000\u6B65"+
+        "\u3D74\u0000\u3841\u0000\u0000\u0000\u427A\u0000"+
+        "\u4B45\u315A\u3062\u0000\u4625\u0000\u0000\u6B69"+
+        "\u0000\u0000\u0000\u0000\u6B68\u0000\u4666\u0000"+
+        "\u6B6D\u0000\u0000\u0000\u6B62\u0000\u6B6C\u6B6E"+
+        "\u0000\u382C\u6B6A\u3956\u0000\u3C55\u0000\u0000"+
+        "\u6B6F\u4D58\u0000\u0000\u0000\u0000\u6B72\u0000"+
+        "\u6B75\u0000\u0000\u6B73\u4935\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u6B70\u0000\u0000\u0000\u0000"+
+        "\u0000\u3660\u0000\u0000\u0000\u0000\u6B74\u0000"+
+        "\u0000\u6B76\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u6B7A\u0000\u0000\u6B77\u0000\u6B79\u6B78"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u6B7B\u0000"+
+        "\u3C31\u0000\u6B7D\u6B7C\u4968\u0000\u0000\u6C21"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u3759\u0000"+
+        "\u0000\u0000\u0000\u6B7E\u6C22\u0000\u0000\u6C23"+
+        "\u3544\u6641\u3E79\u0000\u6C24\u0000\u0000\u386E"+
+        "\u0000\u0000\u0000\u0000\u0000\u6C25\u0000\u0000"+
+        "\u6C26\u0000\u0000\u3B3E\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u5A4E\u0000\u6C27\u0000\u6C28\u0000"+
+        "\u3D32\u0000\u6C29\u6C2A\u0000\u0000\u6C2B\u0000"+
+        "\u0000\u6C2C\u6C2D\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u432B"+
+        "\u0000\u0000\u6C2E\u0000\u0000\u0000\u0000\u6C30"+
+        "\u0000\u6C2F\u0000\u0000\u0000\u0000\u4626\u0000"+
+        "\u6C31\u0000\u4B2D\u0000\u6C32\u0000\u6C33\u0000"+
+        "\u6C34\u0000\u0000\u0000\u0000\u6C35\u0000\u0000"+
+        "\u0000\u0000\u465A\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u3E5D\u6C36\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u396B\u502E\u6C37\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u6C38\u493F\u6C39\u0000\u6C41\u0000\u0000\u0000"+
+        "\u0000\u0000\u6C3A\u0000\u0000\u6C3C\u0000\u0000"+
+        "\u0000\u6C3B\u6C3D\u0000\u4B46\u6C3E\u6C3F\u0000"+
+        "\u0000\u0000\u0000\u0000\u6C40\u0000\u0000\u0000"+
+        "\u6C42\u0000\u0000\u0000\u0000\u332D\u4467\u0000"+
+        "\u4969\u3A62\u3957\u0000\u0000\u0000\u0000\u494F"+
+        "\u325F\u484E\u6C45\u3453\u4055\u6C44\u6C49\u4379"+
+        "\u4C63\u0000\u6C47\u6C48\u352E\u0000\u6C4A\u4763"+
+        "\u425F\u0000\u0000\u4871\u453D\u6C46\u0000\u4B47"+
+        "\u326C\u6C4C\u4F28\u4442\u4F45\u0000\u0000\u3B71"+
+        "\u6C4B\u0000\u4231\u0000\u0000\u6C5C\u4128\u0000"+
+        "\u0000\u4678\u0000\u4950\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u6C4F\u3B3F\u3B72\u0000\u3E5E\u0000"+
+        "\u4765\u0000\u382D\u6C4E\u6C4D\u0000\u496A\u0000"+
+        "\u0000\u0000\u3C41\u0000\u0000\u4552\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u6C51\u6C52\u3958\u6C50\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u6C53\u6C54\u0000\u6C56"+
+        "\u4223\u0000\u6C55\u3466\u0000\u6C58\u0000\u6C57"+
+        "\u6C59\u0000\u0000\u6C5B\u6C5D\u0000\u6C5E\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u4056\u0000\u3C4F\u6C5F"+
+        "\u0000\u0000\u0000\u3352\u0000\u6C60\u0000\u0000"+
+        "\u4176\u6C61\u0000\u6C62\u496B\u0000\u0000\u352F"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u6C63\u0000\u0000\u0000\u4436\u0000\u0000"+
+        "\u0000\u0000\u315B\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u6C64\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u3C71\u0000\u0000\u0000\u0000"+
+        "\u3F76\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u422D\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u6C67\u0000\u0000\u0000\u6C66\u0000"+
+        "\u0000\u0000\u6C65\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u6C6D\u6C6B\u0000\u0000\u6C68"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u6C6A\u0000"+
+        "\u0000\u0000\u6C69\u6C6C\u0000\u3577\u0000\u6C70"+
+        "\u0000\u4057\u0000\u6C71\u0000\u0000\u0000\u0000"+
+        "\u3859\u0000\u6C6E\u6C6F\u0000\u0000\u0000\u4F29"+
+        "\u0000\u0000\u0000\u4437\u0000\u4129\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u6C72\u0000\u0000\u6C75"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u6C73\u6C74\u4D59\u0000\u0000\u0000\u0000\u4627"+
+        "\u6C78\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u6C76\u6C77\u6C79"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u6D29\u0000\u0000\u0000\u0000\u0000"+
+        "\u6C7C\u0000\u0000\u0000\u6C7D\u6C7B\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u6C7A\u0000\u447D\u0000\u0000\u6D21"+
+        "\u6D25\u6D22\u6C7E\u0000\u6D23\u0000\u0000\u0000"+
+        "\u6D24\u0000\u0000\u0000\u0000\u6D2B\u0000\u0000"+
+        "\u0000\u6D26\u0000\u0000\u0000\u0000\u0000\u4058"+
+        "\u6D28\u0000\u0000\u6D2A\u6D27\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u6D2D\u0000\u3D33\u0000\u6D2C\u0000"+
+        "\u0000\u0000\u0000\u0000\u6D2E\u0000\u0000\u0000"+
+        "\u0000\u6D2F\u0000\u0000\u6D32\u6D31\u0000\u6D30"+
+        "\u0000\u0000\u6D34\u6D33\u0000\u4C76\u0000\u0000"+
+        "\u0000\u6D36\u0000\u6D35\u6D37\u0000\u0000\u0000"+
+        "\u0000\u6D38\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u6D3A\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u6D39\u3F48\u6D3B\u0000\u0000\u366D"+
+        "\u6D3C\u6D3E\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u6D3F\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u6D40\u6D3D\u0000"+
+        "\u6D41\u0000\u3C56\u6D42\u3530\u3733\u0000\u0000"+
+        "\u0000\u0000\u382E\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u6D43\u0000\u0000\u0000\u4670"+
+        "\u0000\u0000\u453E\u6D44\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u6D47\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u3C34\u0000\u0000\u6D46\u6D45\u375A\u6D48\u0000"+
+        "\u0000\u0000\u0000\u3353\u0000\u6D4A\u0000\u0000"+
+        "\u0000\u3A5C\u6D49\u0000\u6D52\u0000\u0000\u0000"+
+        "\u0000\u0000\u6D4C\u6D4E\u4A65\u6D4B\u0000\u0000"+
+        "\u0000\u6D4D\u0000\u6D51\u6D4F\u3531\u0000\u6D50"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u6D53\u0000"+
+        "\u0000\u475A\u4E58\u0000\u0000\u0000\u0000\u3D34"+
+        "\u0000\u0000\u0000\u6D54\u0000\u0000\u0000\u0000"+
+        "\u4D22\u6D56\u0000\u6D55\u0000\u0000\u6D59\u4D41"+
+        "\u0000\u0000\u6D58\u0000\u336D\u6D57\u6D5C\u0000"+
+        "\u0000\u6D5B\u0000\u0000\u6D5A\u4532\u6D5D\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6D5E"+
+        "\u0000\u0000\u0000\u0000\u6D5F\u0000\u0000\u396C"+
+        "\u0000\u3725\u6D60\u6D61\u6D62\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u3F49\u6D63\u0000\u3C2D\u6D64"+
+        "\u0000\u0000\u0000\u6D65\u0000\u0000\u0000\u5221"+
+        "\u517E\u0000\u0000\u0000\u0000\u6D66\u6570\u6D67"+
+        "\u4324\u3F2B\u4740\u0000\u0000\u0000\u0000\u6D68"+
+        "\u0000\u0000\u4A55\u4454\u397E\u0000\u0000\u4329"+
+        "\u0000\u0000\u312A\u0000\u4B78\u3F57\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u375E\u0000"+
+        "\u0000\u3661\u0000\u0000\u4A56\u0000\u0000\u0000"+
+        "\u0000\u0000\u6D69\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u6D6B\u0000\u0000\u6D6A\u3260\u0000"+
+        "\u0000\u4676\u6D6C\u4777\u0000\u4533\u0000\u6D6D"+
+        "\u3D52\u0000\u0000\u0000\u6D6F\u0000\u0000\u4C42"+
+        "\u6D7E\u6D71\u6D72\u0000\u0000\u4449\u0000\u0000"+
+        "\u4260\u4177\u0000\u4628\u0000\u6D70\u3555\u0000"+
+        "\u0000\u0000\u0000\u6D79\u0000\u6D76\u6E25\u4629"+
+        "\u4360\u6D73\u0000\u447E\u4553\u6D74\u6D78\u3F60"+
+        "\u0000\u4767\u444C\u0000\u0000\u4042\u6D77\u422E"+
+        "\u4224\u6D75\u3029\u4F22\u0000\u0000\u0000\u6D7A"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u4261\u0000"+
+        "\u0000\u3D35\u3F4A\u0000\u0000\u6D7C\u6D7B\u0000"+
+        "\u306F\u6D7D\u0000\u0000\u492F\u0000\u6E27\u0000"+
+        "\u0000\u465B\u3F6B\u0000\u0000\u4359\u0000\u3678"+
+        "\u0000\u6E26\u4D37\u313F\u0000\u4A57\u3261\u6E21"+
+        "\u6E22\u6E23\u6E24\u463B\u4323\u3063\u6E28\u0000"+
+        "\u6E29\u7423\u0000\u0000\u423D\u0000\u6E2A\u0000"+
+        "\u3173\u414C\u0000\u382F\u0000\u4D5A\u0000\u0000"+
+        "\u6E2B\u452C\u0000\u0000\u0000\u4178\u3C57\u6E2C"+
+        "\u0000\u0000\u6E2F\u0000\u0000\u3D65\u6E2D\u412B"+
+        "\u412A\u0000\u3064\u0000\u4E4B\u6E31\u0000\u4872"+
+        "\u6E33\u6E32\u6E30\u6364\u3454\u0000\u0000\u6D6E"+
+        "\u0000\u6E35\u6E34\u0000\u0000\u0000\u0000\u6E36"+
+        "\u0000\u4D38\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u4661\u0000\u0000\u4B2E\u0000"+
+        "\u6E37\u0000\u3C59\u0000\u0000\u0000\u0000\u6E38"+
+        "\u0000\u6E39\u0000\u0000\u0000\u6E3A\u0000\u0000"+
+        "\u4521\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u306A\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3959\u0000\u0000\u0000\u4F3A\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u6E3E\u0000\u0000\u0000\u0000"+
+        "\u0000\u3734\u6E3B\u0000\u6E3C\u0000\u0000\u0000"+
+        "\u4974\u0000\u0000\u0000\u0000\u3354\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u4D39\u0000\u363F"+
+        "\u0000\u0000\u0000\u0000\u0000\u4554\u0000\u0000"+
+        "\u0000\u0000\u6E3F\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u6E40\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u6E41\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u4522\u0000\u0000"+
+        "\u6E43\u0000\u6E42\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u4653\u6E44\u3D36\u3C60\u475B\u4371\u0000"+
+        "\u0000\u0000\u3C72\u0000\u3F6C\u0000\u6E45\u0000"+
+        "\u6E46\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3F5D\u6E47\u0000\u6E48\u0000\u0000"+
+        "\u0000\u6E49\u4D6F\u0000\u3D37\u0000\u0000\u0000"+
+        "\u0000\u0000\u6E4B\u6E4A\u0000\u395A\u0000\u3973"+
+        "\u3B40\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u6E4E\u0000\u0000\u0000\u0000\u3D66"+
+        "\u0000\u6E4D\u0000\u6E4C\u0000\u4269\u0000\u0000"+
+        "\u386F\u0000\u4043\u0000\u0000\u0000\u0000\u4830"+
+        "\u0000\u0000\u0000\u0000\u3D39\u0000\u0000\u0000"+
+        "\u0000\u0000\u6E4F\u0000\u3E5F\u0000\u0000\u0000"+
+        "\u0000\u0000\u6E52\u6E50\u0000\u0000\u0000\u6E51"+
+        "\u0000\u0000\u0000\u0000\u6E54\u6E53\u0000\u0000"+
+        "\u3E7A\u0000\u6E55\u0000\u0000\u0000\u0000\u0000"+
+        "\u6E56\u6E57\u0000\u0000\u0000\u0000\u4850\u3A53"+
+        "\u3C61\u6E58\u0000\u6E59\u4E24\u3D45\u4C6E\u4E4C"+
+        "\u6E5A\u3662\u0000\u0000\u0000\u0000\u6E5B\u0000"+
+        "\u4523\u0000\u0000\u6E5E\u3378\u3F4B\u0000\u6E5C"+
+        "\u0000\u6E5D\u0000\u4460\u0000\u0000\u4B55\u367C"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u6E60\u6E61\u0000"+
+        "\u0000\u0000\u0000\u0000\u6E5F\u0000\u0000\u6E63"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u465F\u3343\u0000"+
+        "\u0000\u6E67\u0000\u0000\u6E64\u6E66\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u6E62\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u6F4F\u0000\u0000\u6E65\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u4E6B\u0000\u0000\u385A"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6E6F"+
+        "\u0000\u0000\u0000\u0000\u4534\u6E6A\u0000\u0000"+
+        "\u6E6D\u6E6B\u0000\u6E70\u0000\u0000\u0000\u0000"+
+        "\u6E71\u0000\u0000\u0000\u0000\u0000\u0000\u6E69"+
+        "\u0000\u0000\u6E76\u3174\u0000\u0000\u6E68\u0000"+
+        "\u0000\u0000\u482D\u0000\u6E6C\u0000\u3E60\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u395B\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u4B48\u0000"+
+        "\u3664\u0000\u0000\u3D46\u0000\u463C\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u412D\u0000\u6E74\u0000\u6E6E\u6E73\u0000"+
+        "\u4C43\u0000\u4438\u6E75\u6E72\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u412C\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6E79"+
+        "\u0000\u6E78\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6E77"+
+        "\u0000\u0000\u4B2F\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u3D7B\u0000\u0000\u0000"+
+        "\u0000\u6E7A\u4A5F\u0000\u0000\u3154\u0000\u0000"+
+        "\u0000\u0000\u4946\u4372\u0000\u0000\u0000\u0000"+
+        "\u3578\u0000\u6E7C\u0000\u395D\u0000\u0000\u0000";
+
+    private final static String innerIndex5=
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u3B2C\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6E7B"+
+        "\u3F6D\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u3F6E\u6F21\u6F23\u0000\u0000\u0000\u0000\u0000"+
+        "\u3E7B\u0000\u6F22\u6F24\u0000\u0000\u3653\u0000"+
+        "\u4945\u0000\u0000\u3C62\u4F23\u0000\u6E7E\u3A78"+
+        "\u0000\u0000\u4F3F\u0000\u0000\u6F26\u0000\u0000"+
+        "\u0000\u0000\u6F25\u6F27\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u6E7D\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u4669\u0000\u4555\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u4457\u0000\u6F2C\u0000"+
+        "\u0000\u0000\u0000\u4343\u6F28\u0000\u0000\u0000"+
+        "\u6F29\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u372D\u0000\u6F2B\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u3830\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u6F2A\u0000\u3E61\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u3379\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u6F30\u0000\u3A3F\u4179"+
+        "\u0000\u0000\u444A\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u333B"+
+        "\u0000\u0000\u0000\u0000\u6F2E\u6F2F\u4443\u0000"+
+        "\u6F2D\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u6F31\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u6F37\u0000\u0000\u0000\u0000"+
+        "\u6F3A\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u6F39\u452D\u0000\u0000\u0000\u0000\u6F32\u6F33"+
+        "\u6F36\u0000\u0000\u0000\u0000\u6F38\u0000\u0000"+
+        "\u0000\u3640\u0000\u0000\u6F3B\u6F35\u0000\u0000"+
+        "\u6F34\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u6F3F\u0000\u0000\u0000\u6F40"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u6F41\u0000\u0000\u6F3E\u6F3D\u0000\u0000\u0000"+
+        "\u3E62\u462A\u6F3C\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u6F45\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u6F43\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u6F44\u6F42\u0000"+
+        "\u4278\u0000\u6F46\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u6F47\u0000\u0000\u6F49\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u3455\u6F48\u4C7A\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u6F54\u6F4A\u0000\u0000\u6F4D\u0000"+
+        "\u6F4B\u0000\u6F4C\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u6F4E\u0000\u0000\u0000\u0000\u0000"+
+        "\u6F50\u0000\u0000\u0000\u0000\u6F51\u0000\u6F52"+
+        "\u0000\u0000\u0000\u0000\u6F55\u6F53\u6F56\u6F58"+
+        "\u0000\u6F57\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4439"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u4C67\u0000\u6F59\u412E\u0000\u0000\u0000\u6F5A"+
+        "\u0000\u4A44\u6F5B\u332B\u0000\u0000\u0000\u313C"+
+        "\u0000\u3457\u0000\u3456\u6F5C\u0000\u6F5D\u0000"+
+        "\u6F5E\u6F5F\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u6F60\u0000\u3458\u3355\u395E\u4836\u0000\u6F62"+
+        "\u6F61\u0000\u0000\u0000\u0000\u6F63\u0000\u0000"+
+        "\u0000\u0000\u315C\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u6F66\u0000\u6F65\u6F64\u0000\u6F67\u0000"+
+        "\u0000\u0000\u0000\u6F6A\u0000\u0000\u0000\u3047"+
+        "\u0000\u0000\u6F68\u0000\u6F6C\u6F6B\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u6F6E\u6F6D\u6F6F\u0000"+
+        "\u462E\u0000\u0000\u0000\u6F70\u0000\u0000\u0000"+
+        "\u0000\u6F71\u6F73\u0000\u0000\u6F72\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u496C\u0000\u0000\u0000"+
+        "\u0000\u6F74\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u6F75\u0000\u3A65\u0000\u0000\u0000\u6F76\u6F77"+
+        "\u0000\u0000\u4B49\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u414B\u0000\u0000\u0000\u3024"+
+        "\u424B\u0000\u6F78\u0000\u496D\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u6F7B\u6F79\u395F\u0000\u6F7A"+
+        "\u3842\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u4A45\u6F7D\u7021\u6F7E\u7022"+
+        "\u0000\u0000\u3121\u3F58\u3D7C\u3459\u7023\u0000"+
+        "\u0000\u0000\u4766\u0000\u7025\u0000\u0000\u0000"+
+        "\u3122\u0000\u7024\u4444\u0000\u4E4D\u462B\u6F7C"+
+        "\u4E26\u0000\u3831\u0000\u0000\u4D5B\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u3679\u4E34\u0000"+
+        "\u3728\u0000\u4262\u6721\u0000\u7026\u332C\u3F6F"+
+        "\u0000\u0000\u0000\u0000\u3356\u7028\u0000\u7029"+
+        "\u7027\u3764\u0000\u3A5D\u3E63\u0000\u0000\u0000"+
+        "\u3123\u0000\u0000\u4E59\u0000\u0000\u0000\u702B"+
+        "\u6E2E\u0000\u702A\u0000\u0000\u0000\u0000\u0000"+
+        "\u702E\u702C\u702D\u0000\u702F\u0000\u7030\u4E6C"+
+        "\u7031\u7032\u0000\u4049\u483B\u0000\u0000\u0000"+
+        "\u3F7D\u3467\u0000\u0000\u4D3A\u326D\u3D38\u385B"+
+        "\u0000\u7035\u0000\u7034\u3B73\u7036\u7033\u0000"+
+        "\u0000\u3B28\u0000\u0000\u0000\u703A\u6A2D\u0000"+
+        "\u0000\u5256\u0000\u3F77\u7038\u0000\u0000\u0000"+
+        "\u0000\u0000\u4E25\u4671\u0000\u0000\u0000\u0000"+
+        "\u312B\u0000\u4063\u3C36\u0000\u0000\u0000\u0000"+
+        "\u4A37\u0000\u3140\u0000\u0000\u0000\u4E6D\u4D6B"+
+        "\u0000\u703B\u0000\u4545\u0000\u0000\u0000\u0000"+
+        "\u3C7B\u0000\u0000\u0000\u703C\u0000\u703D\u3F4C"+
+        "\u703E\u0000\u4E6E\u0000\u0000\u7039\u7040\u7042"+
+        "\u0000\u7041\u0000\u703F\u0000\u0000\u7043\u0000"+
+        "\u0000\u7044\u0000\u0000\u417A\u0000\u3262\u0000"+
+        "\u0000\u0000\u0000\u0000\u7045\u0000\u0000\u4C38"+
+        "\u0000\u0000\u7046\u0000\u0000\u0000\u0000\u0000"+
+        "\u7047\u0000\u4F2A\u0000\u0000\u0000\u0000\u0000"+
+        "\u5B31\u7048\u0000\u0000\u0000\u7049\u704A\u0000"+
+        "\u0000\u0000\u704E\u0000\u704B\u0000\u704C\u0000"+
+        "\u704D\u704F\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u4044\u0000\u0000\u0000\u4C77\u0000"+
+        "\u0000\u4045\u0000\u0000\u7050\u0000\u4873\u0000"+
+        "\u7051\u7353\u4C4C\u0000\u7052\u0000\u7053\u0000"+
+        "\u7054\u3357\u0000\u7056\u0000\u3F59\u0000\u0000"+
+        "\u0000\u7057\u0000\u0000\u3724\u0000\u0000\u0000"+
+        "\u0000\u7058\u705C\u0000\u705A\u0000\u0000\u0000"+
+        "\u0000\u705B\u0000\u0000\u3373\u7059\u705D\u0000"+
+        "\u0000\u0000\u0000\u705E\u0000\u3048\u0000\u705F"+
+        "\u7060\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u3E64\u0000\u0000\u0000\u7061\u0000\u0000\u0000"+
+        "\u3547\u0000\u0000\u7064\u0000\u0000\u7063\u0000"+
+        "\u7062\u0000\u0000\u6B71\u0000\u4A5C\u0000\u0000"+
+        "\u0000\u0000\u0000\u7065\u7066\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u7067\u0000\u0000\u7068\u0000"+
+        "\u7069\u0000\u0000\u706A\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u345A\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u706B\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u706C\u4723\u0000"+
+        "\u0000\u0000\u706E\u323B\u0000\u7071\u7070\u0000"+
+        "\u0000\u0000\u0000\u3124\u0000\u0000\u0000\u3641"+
+        "\u0000\u4A47\u443A\u3A22\u0000\u3960\u3D67\u0000"+
+        "\u3F5C\u0000\u0000\u0000\u7073\u0000\u0000\u7072"+
+        "\u4D42\u3468\u4852\u465C\u0000\u0000\u0000\u3F7C"+
+        "\u4E4E\u0000\u375B\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u7076\u0000\u0000\u7075\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u4B4B\u462C\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u3150\u0000\u0000\u7077"+
+        "\u7074\u0000\u0000\u4951\u4D6A\u7078\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u7079\u0000"+
+        "\u0000\u0000\u0000\u707B\u426A\u335B\u335C\u707A"+
+        "\u0000\u0000\u0000\u0000\u3469\u3832\u0000\u0000"+
+        "\u346A\u0000\u0000\u453F\u0000\u0000\u4E60\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u385C"+
+        "\u0000\u0000\u0000\u707C\u0000\u0000\u0000\u707D"+
+        "\u707E\u7121\u0000\u7123\u7122\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u4977\u0000\u7124\u0000\u0000\u0000\u0000\u7125"+
+        "\u0000\u7126\u0000\u0000\u0000\u0000\u7127\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u7129\u7128\u0000\u712A\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u4874\u664C\u0000\u0000\u3F29"+
+        "\u0000\u0000\u3532\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u712B\u0000\u712C\u0000\u522C\u5D3B\u4853"+
+        "\u0000\u0000\u307B\u0000\u303B\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u3B74\u4B30\u3E7E\u0000"+
+        "\u0000\u0000\u0000\u712D\u0000\u4C5F\u0000\u0000"+
+        "\u0000\u712E\u4D5C\u0000\u3142\u0000\u0000\u0000"+
+        "\u3B41\u0000\u712F\u326E\u7130\u0000\u0000\u0000"+
+        "\u7131\u0000\u0000\u0000\u0000\u7133\u7134\u0000"+
+        "\u7136\u7132\u0000\u0000\u7135\u0000\u0000\u0000"+
+        "\u345B\u0000\u0000\u0000\u7137\u0000\u7138\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u7139\u713A\u0000"+
+        "\u0000\u0000\u713B\u0000\u0000\u713D\u0000\u0000"+
+        "\u0000\u713C\u0000\u713F\u7142\u0000\u0000\u0000"+
+        "\u713E\u7140\u7141\u0000\u0000\u7143\u0000\u3642"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u3C73\u7144"+
+        "\u7145\u3961\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u7146\u0000\u0000"+
+        "\u333E\u0000\u0000\u0000\u474F\u7147\u7148\u0000"+
+        "\u0000\u0000\u0000\u435A\u466B\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u7149\u0000\u0000\u0000"+
+        "\u0000\u477D\u0000\u0000\u424C\u3158\u366E\u0000"+
+        "\u366F\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u4373\u714E\u3670\u0000\u0000\u326F\u0000\u0000"+
+        "\u714D\u0000\u0000\u714B\u0000\u714C\u0000\u714A"+
+        "\u0000\u0000\u7158\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u714F\u7150\u0000"+
+        "\u0000\u7151\u7152\u0000\u0000\u0000\u0000\u0000"+
+        "\u7154\u0000\u0000\u7153\u0000\u0000\u0000\u3D59"+
+        "\u0000\u7155\u0000\u0000\u0000\u7157\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u3533\u7156"+
+        "\u0000\u0000\u417B\u3833\u0000\u0000\u0000\u0000"+
+        "\u0000\u7159\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u424D\u0000\u0000\u715A\u0000\u0000\u0000\u0000"+
+        "\u462D\u0000\u0000\u0000\u0000\u0000\u0000\u715B"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u7160\u0000"+
+        "\u715E\u0000\u715D\u715F\u0000\u715C\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u7162\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u7161\u0000\u7164"+
+        "\u0000\u0000\u3643\u7163\u0000\u0000\u0000\u7165"+
+        "\u0000\u0000\u7166\u0000\u7168\u7167\u0000\u0000"+
+        "\u0000\u7169\u716B\u716A\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u397C\u0000\u0000\u0000\u0000\u716C\u0000\u0000"+
+        "\u716D\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u333C\u0000\u0000\u0000\u716E\u0000\u0000\u0000"+
+        "\u716F\u0000\u0000\u0000\u3F71\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u7170"+
+        "\u0000\u7171\u0000\u7172\u7173\u0000\u0000\u0000"+
+        "\u3962\u0000\u0000\u0000\u0000\u0000\u7174\u7175"+
+        "\u0000\u0000\u7176\u7177\u0000\u0000\u7178\u0000"+
+        "\u0000\u0000\u4831\u717A\u0000\u4926\u717B\u7179"+
+        "\u0000\u717D\u0000\u0000\u717C\u0000\u0000\u717E"+
+        "\u0000\u0000\u0000\u7221\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u7222\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u7223\u0000\u7224\u0000\u0000\u0000\u0000\u7225"+
+        "\u0000\u0000\u7226\u7227\u0000\u7228\u0000\u7229"+
+        "\u722A\u722B\u722C\u0000\u0000\u0000\u722D\u722E"+
+        "\u0000\u5D35\u722F\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u6478\u3534\u0000\u0000\u0000"+
+        "\u0000\u3321\u3A32\u7231\u7230\u4C25\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u7233\u7234\u7232"+
+        "\u0000\u7235\u0000\u0000\u4B62\u0000\u0000\u0000"+
+        "\u7236\u0000\u357B\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4F25"+
+        "\u0000\u0000\u0000\u0000\u7237\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u7239\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u303E\u0000"+
+        "\u0000\u723A\u4A2B\u7238\u0000\u0000\u723B\u723C"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u723D"+
+        "\u723E\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u723F\u0000\u4B6E\u3B2D\u0000\u3A7A\u412F\u0000"+
+        "\u0000\u0000\u0000\u0000\u7240\u0000\u0000\u0000"+
+        "\u0000\u7243\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u7241\u0000\u0000\u0000\u0000\u0000\u7244\u0000"+
+        "\u0000\u3871\u7242\u0000\u0000\u0000\u0000\u7245"+
+        "\u0000\u7246\u7247\u0000\u724B\u0000\u3B2A\u0000"+
+        "\u0000\u0000\u0000\u4264\u0000\u0000\u0000\u0000"+
+        "\u0000\u724C\u7249\u7248\u724A\u0000\u0000\u0000"+
+        "\u375F\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u7250\u724F\u724E\u0000\u0000\u3033\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u725A\u0000\u7256\u0000"+
+        "\u7257\u7253\u7259\u0000\u7255\u3362\u0000\u0000"+
+        "\u4F4C\u0000\u7258\u7254\u7252\u7251\u0000\u0000"+
+        "\u0000\u0000\u0000\u725C\u0000\u0000\u0000\u0000"+
+        "\u0000\u725F\u0000\u0000\u725E\u725D\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u4949\u725B\u3073"+
+        "\u7260\u0000\u7262\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u336F\u724D\u3137\u0000\u0000\u7264\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u7263\u7261"+
+        "\u432D\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u4B70\u0000\u0000\u0000\u0000\u4E5A"+
+        "\u0000\u0000\u7265\u0000\u0000\u0000\u0000\u0000"+
+        "\u7266\u0000\u0000\u0000\u0000\u0000\u0000\u7267"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u7268\u0000"+
+        "\u7269\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u443B\u0000\u726A"+
+        "\u0000\u4837\u0000\u726F\u726B\u0000\u0000\u0000"+
+        "\u726C\u0000\u0000\u4B31\u4C44\u0000\u4650\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u7270\u0000\u0000\u7271\u463E"+
+        "\u726E\u726D\u0000\u0000\u0000\u0000\u322A\u0000"+
+        "\u0000\u0000\u7279\u0000\u0000\u7278\u0000\u0000"+
+        "\u0000\u0000\u0000\u3175\u0000\u0000\u0000\u7276"+
+        "\u0000\u0000\u0000\u7275\u0000\u0000\u7273\u0000"+
+        "\u337B\u0000\u7272\u3C32\u3229\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u3963\u0000\u0000\u727C\u727B"+
+        "\u0000\u727A\u0000\u0000\u7277\u0000\u727D\u0000"+
+        "\u727E\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u7325\u7324\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u7326\u0000\u0000\u312D\u7321\u7322\u0000"+
+        "\u3974\u4C39\u0000\u0000\u7323\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u4B32\u0000\u0000\u732B"+
+        "\u0000\u0000\u7327\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u732C\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u7329"+
+        "\u0000\u7328\u0000\u0000\u0000\u0000\u0000\u375C"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u732D\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u732E\u0000\u0000\u0000"+
+        "\u0000\u732F\u0000\u732A\u0000\u0000\u0000\u7274"+
+        "\u0000\u0000\u7330\u0000\u4461\u0000\u0000\u0000"+
+        "\u7334\u0000\u7335\u7333\u0000\u0000\u0000\u0000"+
+        "\u0000\u7332\u7338\u0000\u7331\u0000\u7336\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u7337"+
+        "\u0000\u0000\u0000\u733A\u0000\u0000\u0000\u0000"+
+        "\u0000\u7339\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u733C\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u733D\u0000\u733E"+
+        "\u0000\u0000\u4F49\u0000\u0000\u0000\u0000\u0000"+
+        "\u733B\u426B\u3A6D\u0000\u0000\u733F\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u7340\u7341\u0000\u0000\u7342\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u7343\u0000\u0000"+
+        "\u3834\u7344\u0000\u0000\u0000\u7345\u0000\u3C2F"+
+        "\u0000\u7346\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u7347\u0000\u0000\u7348\u7349\u0000\u0000\u0000"+
+        "\u0000\u734C\u734A\u4F3C\u0000\u734B\u0000\u4E6F"+
+        "\u0000\u0000\u0000\u0000\u0000\u734D\u0000\u4E5B"+
+        "\u0000\u0000\u0000\u0000\u0000\u734E\u477E\u0000"+
+        "\u0000\u734F\u7351\u0000\u0000\u7352\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u7350\u396D\u4C4D\u4B63\u5677\u0000\u5D60\u4B7B"+
+        "\u0000\u0000\u0000\u0000\u322B\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u7354\u3550\u7355\u7356"+
+        "\u7357\u0000\u3975\u0000\u7358\u0000\u0000\u0000"+
+        "\u6054\u4C5B\u0000\u4263\u7359\u735B\u735A\u0000"+
+        "\u735C\u0000\u0000\u0000\u0000\u735D\u0000\u0000"+
+        "\u735E\u0000\u0000\u0000\u0000\u0000\u0000\u735F"+
+        "\u0000\u0000\u0000\u0000\u7360\u0000\u7361\u7362"+
+        "\u0000\u7363\u0000\u7364\u7365\u7366\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u7367"+
+        "\u7368\u0000\u0000\u0000\u0000\u0000\u4524\u0000"+
+        "\u0000\u0000\u0000\u385D\u0000\u736A\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u414D\u736B\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u736C\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u4921\u0000\u0000\u736D\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u736E\u6337\u0000\u0000\u6C5A\u706D"+
+        "\u0000\u0000\u736F\u0000\u7370\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u7372"+
+        "\u7373\u7374\u4E70\u7371\u0000\u0000\u7375\u7376"+
+        "\u0000\u0000\u7378\u0000\u7377\u0000\u0000\u0000"+
+        "\u0000\u0000\u737A\u0000\u0000\u0000\u737B\u7379"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u4E36\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u737C\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u737D\u6354\u0000\u0000"+
+        "\u737E\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u212A\u0000\u2174\u2170\u2173\u2175\u0000"+
+        "\u214A\u214B\u2176\u215C\u2124\u0000\u2125\u213F"+
+        "\u2330\u2331\u2332\u2333\u2334\u2335\u2336\u2337"+
+        "\u2338\u2339\u2127\u2128\u2163\u2161\u2164\u2129"+
+        "\u2177\u2341\u2342\u2343\u2344\u2345\u2346\u2347"+
+        "\u2348\u2349\u234A\u234B\u234C\u234D\u234E\u234F"+
+        "\u2350\u2351\u2352\u2353\u2354\u2355\u2356\u2357"+
+        "\u2358\u2359\u235A\u214E\u2140\u214F\u2130\u2132"+
+        "\u212E\u2361\u2362\u2363\u2364\u2365\u2366\u2367"+
+        "\u2368\u2369\u236A\u236B\u236C\u236D\u236E\u236F"+
+        "\u2370\u2371\u2372\u2373\u2374\u2375\u2376\u2377"+
+        "\u2378\u2379\u237A\u2150\u2143\u2151\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u2131\u0000\u216F\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
+
+    private final static short index1[] = {
+        1, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        4, 5, 6, 7, 0, 8, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 12,
+        13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
+        29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
+        45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
+        61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
+        77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93
+    };
+
+    private final static String index2[] = {
+        innerIndex0,
+        innerIndex1,
+        innerIndex2,
+        innerIndex3,
+        innerIndex4,
+        innerIndex5
+    };
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/sun/nio/cs/OLD/JIS_X_0208_OLD.java	Wed Aug 01 11:08:11 2012 -0400
@@ -0,0 +1,63 @@
+/*
+ * Copyright (c) 2002, 2003, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code 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
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ */
+
+
+import java.nio.charset.Charset;
+import java.nio.charset.CharsetDecoder;
+import java.nio.charset.CharsetEncoder;
+
+public class JIS_X_0208_OLD
+    extends Charset
+{
+
+    public JIS_X_0208_OLD() {
+        super("x-JIS0208_OLD", null);
+    }
+
+    public boolean contains(Charset cs) {
+        return (cs instanceof JIS_X_0208_OLD);
+    }
+
+    public CharsetDecoder newDecoder() {
+        return new Decoder(this);
+    }
+
+    public CharsetEncoder newEncoder() {
+        return new JIS_X_0208_Encoder(this);
+    }
+
+    private static class Decoder extends JIS_X_0208_Decoder {
+        protected char decodeSingle(int b) {
+            return DoubleByteDecoder.REPLACE_CHAR;
+        }
+
+        public Decoder(Charset cs) {
+            super(cs);
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/sun/nio/cs/OLD/JIS_X_0208_Solaris_Decoder.java	Wed Aug 01 11:08:11 2012 -0400
@@ -0,0 +1,210 @@
+/*
+ * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code 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
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ */
+
+
+import java.nio.charset.Charset;
+import java.nio.charset.CharsetDecoder;
+
+public class JIS_X_0208_Solaris_Decoder extends DoubleByteDecoder
+{
+
+    public JIS_X_0208_Solaris_Decoder(Charset cs) {
+        super(cs,
+              index1,
+              index2,
+              0x21,
+              0x7E);
+    }
+    private final static String innerIndex0=
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2460\u2461"+
+        "\u2462\u2463\u2464\u2465\u2466\u2467\u2468\u2469"+
+        "\u246A\u246B\u246C\u246D\u246E\u246F\u2470\u2471"+
+        "\u2472\u2473\u2160\u2161\u2162\u2163\u2164\u2165"+
+        "\u2166\u2167\u2168\u2169\uFFFD\u3349\u3314\u3322"+
+        "\u334D\u3318\u3327\u3303\u3336\u3351\u3357\u330D"+
+        "\u3326\u3323\u332B\u334A\u333B\u339C\u339D\u339E"+
+        "\u338E\u338F\u33C4\u33A1\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\u337B\u301D\u301F\u2116"+
+        "\u33CD\u2121\u32A4\u32A5\u32A6\u32A7\u32A8\u3231"+
+        "\u3232\u3239\u337E\u337D\u337C\u2252\u2261\u222B"+
+        "\u222E\u2211\u221A\u22A5\u2220\u221F\u22BF\u2235"+
+        "\u2229\u222A\uFFFD\uFFFD\u7E8A\u891C\u9348\u9288"+
+        "\u84DC\u4FC9\u70BB\u6631\u68C8\u92F9\u66FB\u5F45"+
+        "\u4E28\u4EE1\u4EFC\u4F00\u4F03\u4F39\u4F56\u4F92"+
+        "\u4F8A\u4F9A\u4F94\u4FCD\u5040\u5022\u4FFF\u501E"+
+        "\u5046\u5070\u5042\u5094\u50F4\u50D8\u514A\u5164"+
+        "\u519D\u51BE\u51EC\u5215\u529C\u52A6\u52C0\u52DB"+
+        "\u5300\u5307\u5324\u5372\u5393\u53B2\u53DD\uFA0E"+
+        "\u549C\u548A\u54A9\u54FF\u5586\u5759\u5765\u57AC"+
+        "\u57C8\u57C7\uFA0F\uFA10\u589E\u58B2\u590B\u5953"+
+        "\u595B\u595D\u5963\u59A4\u59BA\u5B56\u5BC0\u752F"+
+        "\u5BD8\u5BEC\u5C1E\u5CA6\u5CBA\u5CF5\u5D27\u5D53"+
+        "\uFA11\u5D42\u5D6D\u5DB8\u5DB9\u5DD0\u5F21\u5F34"+
+        "\u5F67\u5FB7\u5FDE\u605D\u6085\u608A\u60DE\u60D5"+
+        "\u6120\u60F2\u6111\u6137\u6130\u6198\u6213\u62A6"+
+        "\u63F5\u6460\u649D\u64CE\u654E\u6600\u6615\u663B"+
+        "\u6609\u662E\u661E\u6624\u6665\u6657\u6659\uFA12"+
+        "\u6673\u6699\u66A0\u66B2\u66BF\u66FA\u670E\uF929"+
+        "\u6766\u67BB\u6852\u67C0\u6801\u6844\u68CF\uFA13"+
+        "\u6968\uFA14\u6998\u69E2\u6A30\u6A6B\u6A46\u6A73"+
+        "\u6A7E\u6AE2\u6AE4\u6BD6\u6C3F\u6C5C\u6C86\u6C6F"+
+        "\u6CDA\u6D04\u6D87\u6D6F\u6D96\u6DAC\u6DCF\u6DF8"+
+        "\u6DF2\u6DFC\u6E39\u6E5C\u6E27\u6E3C\u6EBF\u6F88"+
+        "\u6FB5\u6FF5\u7005\u7007\u7028\u7085\u70AB\u710F"+
+        "\u7104\u715C\u7146\u7147\uFA15\u71C1\u71FE\u72B1"+
+        "\u72BE\u7324\uFA16\u7377\u73BD\u73C9\u73D6\u73E3"+
+        "\u73D2\u7407\u73F5\u7426\u742A\u7429\u742E\u7462"+
+        "\u7489\u749F\u7501\u756F\u7682\u769C\u769E\u769B"+
+        "\u76A6\uFA17\u7746\u52AF\u7821\u784E\u7864\u787A"+
+        "\u7930\uFA18\uFA19\uFA1A\u7994\uFA1B\u799B\u7AD1"+
+        "\u7AE7\uFA1C\u7AEB\u7B9E\uFA1D\u7D48\u7D5C\u7DB7"+
+        "\u7DA0\u7DD6\u7E52\u7F47\u7FA1\uFA1E\u8301\u8362"+
+        "\u837F\u83C7\u83F6\u8448\u84B4\u8553\u8559\u856B"+
+        "\uFA1F\u85B0\uFA20\uFA21\u8807\u88F5\u8A12\u8A37"+
+        "\u8A79\u8AA7\u8ABE\u8ADF\uFA22\u8AF6\u8B53\u8B7F"+
+        "\u8CF0\u8CF4\u8D12\u8D76\uFA23\u8ECF\uFA24\uFA25"+
+        "\u9067\u90DE\uFA26\u9115\u9127\u91DA\u91D7\u91DE"+
+        "\u91ED\u91EE\u91E4\u91E5\u9206\u9210\u920A\u923A"+
+        "\u9240\u923C\u924E\u9259\u9251\u9239\u9267\u92A7"+
+        "\u9277\u9278\u92E7\u92D7\u92D9\u92D0\uFA27\u92D5"+
+        "\u92E0\u92D3\u9325\u9321\u92FB\uFA28\u931E\u92FF"+
+        "\u931D\u9302\u9370\u9357\u93A4\u93C6\u93DE\u93F8"+
+        "\u9431\u9445\u9448\u9592\uF9DC\uFA29\u969D\u96AF"+
+        "\u9733\u973B\u9743\u974D\u974F\u9751\u9755\u9857"+
+        "\u9865\uFA2A\uFA2B\u9927\uFA2C\u999E\u9A4E\u9AD9"+
+        "\u9ADC\u9B75\u9B72\u9B8F\u9BB1\u9BBB\u9C00\u9D70"+
+        "\u9D6B\uFA2D\u9E19\u9ED1\uFFFD\uFFFD\u2170\u2171"+
+        "\u2172\u2173\u2174\u2175\u2176\u2177\u2178\u2179"+
+        "\u3052\u00A6\uFF07\uFF02\u2170\u2171\u2172\u2173"+
+        "\u2174\u2175\u2176\u2177\u2178\u2179\u2160\u2161"+
+        "\u2162\u2163\u2164\u2165\u2166\u2167\u2168\u2169"+
+        "\u3052\u00A6\uFF07\uFF02\u3231\u2116\u2121\u306E"+
+        "\u7E8A\u891C\u9348\u9288\u84DC\u4FC9\u70BB\u6631"+
+        "\u68C8\u92F9\u66FB\u5F45\u4E28\u4EE1\u4EFC\u4F00"+
+        "\u4F03\u4F39\u4F56\u4F92\u4F8A\u4F9A\u4F94\u4FCD"+
+        "\u5040\u5022\u4FFF\u501E\u5046\u5070\u5042\u5094"+
+        "\u50F4\u50D8\u514A\u5164\u519D\u51BE\u51EC\u5215"+
+        "\u529C\u52A6\u52C0\u52DB\u5300\u5307\u5324\u5372"+
+        "\u5393\u53B2\u53DD\uFA0E\u549C\u548A\u54A9\u54FF"+
+        "\u5586\u5759\u5765\u57AC\u57C8\u57C7\uFA0F\uFA10"+
+        "\u589E\u58B2\u590B\u5953\u595B\u595D\u5963\u59A4"+
+        "\u59BA\u5B56\u5BC0\u752F\u5BD8\u5BEC\u5C1E\u5CA6"+
+        "\u5CBA\u5CF5\u5D27\u5D53\uFA11\u5D42\u5D6D\u5DB8"+
+        "\u5DB9\u5DD0\u5F21\u5F34\u5F67\u5FB7\u5FDE\u605D"+
+        "\u6085\u608A\u60DE\u60D5\u6120\u60F2\u6111\u6137"+
+        "\u6130\u6198\u6213\u62A6\u63F5\u6460\u649D\u64CE"+
+        "\u654E\u6600\u6615\u663B\u6609\u662E\u661E\u6624"+
+        "\u6665\u6657\u6659\uFA12\u6673\u6699\u66A0\u66B2"+
+        "\u66BF\u66FA\u670E\uF929\u6766\u67BB\u6852\u67C0"+
+        "\u6801\u6844\u68CF\uFA13\u6968\uFA14\u6998\u69E2"+
+        "\u6A30\u6A6B\u6A46\u6A73\u6A7E\u6AE2\u6AE4\u6BD6"+
+        "\u6C3F\u6C5C\u6C86\u6C6F\u6CDA\u6D04\u6D87\u6D6F"+
+        "\u6D96\u6DAC\u6DCF\u6DF8\u6DF2\u6DFC\u6E39\u6E5C"+
+        "\u6E27\u6E3C\u6EBF\u6F88\u6FB5\u6FF5\u7005\u7007"+
+        "\u7028\u7085\u70AB\u710F\u7104\u715C\u7146\u7147"+
+        "\uFA15\u71C1\u71FE\u72B1\u72BE\u7324\uFA16\u7377"+
+        "\u73BD\u73C9\u73D6\u73E3\u73D2\u7407\u73F5\u7426"+
+        "\u742A\u7429\u742E\u7462\u7489\u749F\u7501\u756F"+
+        "\u7682\u769C\u769E\u769B\u76A6\uFA17\u7746\u52AF"+
+        "\u7821\u784E\u7864\u787A\u7930\uFA18\uFA19\uFA1A"+
+        "\u7994\uFA1B\u799B\u7AD1\u7AE7\uFA1C\u7AEB\u7B9E"+
+        "\uFA1D\u7D48\u7D5C\u7DB7\u7DA0\u7DD6\u7E52\u7F47"+
+        "\u7FA1\uFA1E\u8301\u8362\u837F\u83C7\u83F6\u8448"+
+        "\u84B4\u8553\u8559\u856B\uFA1F\u85B0\uFA20\uFA21"+
+        "\u8807\u88F5\u8A12\u8A37\u8A79\u8AA7\u8ABE\u8ADF"+
+        "\uFA22\u8AF6\u8B53\u8B7F\u8CF0\u8CF4\u8D12\u8D76"+
+        "\uFA23\u8ECF\uFA24\uFA25\u9067\u90DE\uFA26\u9115"+
+        "\u9127\u91DA\u91D7\u91DE\u91ED\u91EE\u91E4\u91E5"+
+        "\u9206\u9210\u920A\u923A\u9240\u923C\u924E\u9259"+
+        "\u9251\u9239\u9267\u92A7\u9277\u9278\u92E7\u92D7"+
+        "\u92D9\u92D0\uFA27\u92D5\u92E0\u92D3\u9325\u9321"+
+        "\u92FB\uFA28\u931E\u92FF\u931D\u9302\u9370\u9357"+
+        "\u93A4\u93C6\u93DE\u93F8\u9431\u9445\u9448\u9592"+
+        "\uF9DC\uFA29\u969D\u96AF\u9733\u973B\u9743\u974D"+
+        "\u974F\u9751\u9755\u9857\u9865\uFA2A\uFA2B\u9927"+
+        "\uFA2C\u999E\u9A4E\u9AD9\u9ADC\u9B75\u9B72\u9B8F"+
+        "\u9BB1\u9BBB\u9C00\u9D70\u9D6B\uFA2D\u9E19\u9ED1"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD";
+
+    private static final short index1[] = {
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4, 5, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 6, 7, 8, 9, 10, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+    };
+
+    private final static String index2[] = {
+        innerIndex0
+    };
+
+    protected char convSingleByte(int b) {
+        return REPLACE_CHAR;
+    }
+
+
+    static short[] getIndex1() {
+       return index1;
+    }
+
+    static String[] getIndex2() {
+       return index2;
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/sun/nio/cs/OLD/JIS_X_0208_Solaris_Encoder.java	Wed Aug 01 11:08:11 2012 -0400
@@ -0,0 +1,2727 @@
+/*
+ * Copyright (c) 2003, 2005, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code 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
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ */
+
+
+import java.nio.charset.Charset;
+import java.nio.charset.CharsetEncoder;
+
+public class JIS_X_0208_Solaris_Encoder extends DoubleByteEncoder
+{
+    private static byte[] repl = { (byte)0x21, (byte)0x29 };
+
+    public JIS_X_0208_Solaris_Encoder(Charset cs) {
+        super(cs,
+              index1,
+              index2 ,
+              repl
+             );
+    }
+
+    protected int encodeSingle(char inputChar) {
+        return -1;
+    }
+
+    private final static String innerIndex0=
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u9336\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u2D62\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u2D64\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u2D35\u2D36\u2D37\u2D38\u2D39\u2D3A\u2D3B\u2D3C"+
+        "\u2D3D\u2D3E\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u9321\u9322\u9323\u9324\u9325\u9326\u9327\u9328"+
+        "\u9329\u932A\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u2D74\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u2D75\u0000\u0000\u0000\u0000\u2D78"+
+        "\u2D77\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u2D7B\u2D7C\u2D72\u0000\u0000\u2D73\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u2D7A\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u2D70\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u2D71\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u2D76\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u2D79"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u2D21\u2D22\u2D23\u2D24\u2D25\u2D26\u2D27\u2D28"+
+        "\u2D29\u2D2A\u2D2B\u2D2C\u2D2D\u2D2E\u2D2F\u2D30"+
+        "\u2D31\u2D32\u2D33\u2D34\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u2D60\u0000\u2D61"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u9335\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u933C\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u2D6A\u2D6B\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u2D6C\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u2D65\u2D66\u2D67\u2D68"+
+        "\u2D69\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u2D46\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u2D4A\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u2D41\u0000\u0000\u0000"+
+        "\u2D44\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u2D42\u2D4C\u0000\u0000\u2D4B\u2D45"+
+        "\u0000\u0000\u0000\u2D4D\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u2D47\u0000"+
+        "\u0000\u0000\u0000\u2D4F\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u2D40\u2D4E\u0000\u0000\u2D43\u0000\u0000"+
+        "\u0000\u2D48\u0000\u0000\u0000\u0000\u0000\u2D49"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u2D5F\u2D6F\u2D6E\u2D6D\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u2D53\u2D54"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u2D50\u2D51\u2D52\u0000"+
+        "\u0000\u2D56\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u2D55\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u2D63\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u9349\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u934A\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u934B\u0000\u0000\u0000"+
+        "\u934C\u0000\u0000\u934D\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u934E\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u934F\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u9351\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u9350\u0000\u9353\u0000\u0000\u0000"+
+        "\u0000\u0000\u9352\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u9342\u0000\u0000\u0000\u9354\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u9357"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u9358\u0000"+
+        "\u0000\u0000\u9356\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u9355\u0000\u935B\u0000\u0000\u0000\u9359\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u935A\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u935C\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u935E\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u935D\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u935F\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u9360\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u9361\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u9362\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u9363\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u9364\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u9365\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u9366\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u9558"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u9367\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u9368\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u9369\u0000\u0000\u0000\u0000\u0000\u0000\u936A"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u936B\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u936C\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u936D\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u936E\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u936F\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u9372\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u9371\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u9373\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u9374"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u9375\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
+
+    private final static String innerIndex1=
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u9376\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u9377\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u9378\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u937A"+
+        "\u9379\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u937D\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u937E\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u9421\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u9422\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u9423\u0000\u9424\u0000\u0000"+
+        "\u0000\u0000\u0000\u9425\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u9426\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u9427\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u9428\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u9429\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u942B\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u942C\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u942D\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u942E\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u942F\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u9430\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u9431"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u9434\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u9432\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u9435\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u9436\u9437\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u9438\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u9439\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u943A\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u9348\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u943B"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u943C"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u943D\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u943E\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u943F\u0000\u0000"+
+        "\u0000\u0000\u9440\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u9442\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u9441\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u9444\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u9445\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u9443\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u9447\u0000\u0000\u0000\u0000\u0000\u0000\u9446"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u9448\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u9449\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u944A\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u944B\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u944C\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u944D\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u944E\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u944F\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u9450\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u9453\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u9451\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u9455\u0000"+
+        "\u0000\u0000\u0000\u0000\u9456\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u9454\u0000"+
+        "\u0000\u9344\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u9452\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u9458"+
+        "\u0000\u9459\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u9457\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u945B\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u945C\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u945D\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u945E\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u945F"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u9460\u9347\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u9461\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u9463\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u9464\u0000\u0000\u0000\u0000"+
+        "\u9466\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u9467\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u9468\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u9465\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u9345\u0000\u0000\u0000\u0000\u0000\u0000\u9469"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
+
+    private final static String innerIndex2=
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u946B\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u946D\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u946E\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u946F\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u9471\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u9470\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u9472\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u9473\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u9474\u0000\u9475\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u9476\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u9477"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u9478\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u947A"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u9479\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u947B\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u947C\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u947E"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u947D"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u9521\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u9522\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u9523"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u9525\u0000\u0000\u0000\u0000\u0000"+
+        "\u9524\u0000\u0000\u0000\u9526\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u9529"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u9527\u0000\u0000\u952A\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u9528\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u952B"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u952C\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u952D\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u952E\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u952F\u0000\u9530"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u9531\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u9532\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u9533\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u9343\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u9535\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u9534"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u9537\u9538"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u9536\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u953A\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u953B\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u953C\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u953D\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u953E\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u9540"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u9541\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u9542\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u9545\u0000\u0000\u0000\u9543\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u9544\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u9547\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u9546"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u9548\u0000"+
+        "\u0000\u954A\u9549\u0000\u0000\u0000\u954B\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u954C\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u954D\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u954E"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u954F\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u942A"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u9550"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u9551\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u9554\u9552\u0000\u9553\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u9555\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u9557\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u9559\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u955A\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u955B\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u955C\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
+
+    private final static String innerIndex3=
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u955D\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u9561\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u9563\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u9564\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u9565"+
+        "\u0000\u0000\u0000\u9567\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u9568\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u956A\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u956B\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u956D\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u956C"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u956E\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u956F\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u933D\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u9570"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u9571\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u9573\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u9574\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u9575"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u9576"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u9577\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u9578\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u9579\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u9341\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u957A\u0000\u0000\u0000\u0000"+
+        "\u0000\u957B\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u957C\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u957E\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u9623"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u9624\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u933E\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u9625\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u9626"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u9627\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u9628"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u9629\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u962A"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u962C\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u962D\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u962E"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u962F\u0000\u0000\u0000\u9630\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u9631\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u9632\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u9634"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
+
+    private final static String innerIndex4=
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u9637"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u9638\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u963A\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u963B"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u963D"+
+        "\u0000\u0000\u963C\u0000\u0000\u0000\u963E\u0000"+
+        "\u0000\u0000\u0000\u0000\u9641\u9642\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u963F\u9640\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u9643\u0000"+
+        "\u0000\u0000\u9645\u0000\u0000\u0000\u0000\u0000"+
+        "\u9644\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u964C\u9646\u0000\u9648\u0000\u0000\u0000"+
+        "\u9647\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u9649\u0000"+
+        "\u0000\u964B\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u964A\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u964D"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u964F"+
+        "\u9650\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u9340\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u964E"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u9654\u0000\u0000\u9658\u0000\u9656\u0000\u9652"+
+        "\u0000\u9653\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u9657\u0000\u0000\u0000\u0000\u0000\u0000\u9651"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u9346\u0000\u965B\u0000\u0000\u0000\u965E"+
+        "\u0000\u0000\u9660\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u965F\u965D\u0000"+
+        "\u0000\u965A\u0000\u0000\u0000\u9659\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u933F\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u9662"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u9661\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u9663\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u9664\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u9665\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u9666\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u9667\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u9668\u0000\u0000"+
+        "\u9669\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u966A\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u966D\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u966E"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u966F\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u9670\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u9671\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u9672\u0000\u9673"+
+        "\u0000\u9674\u0000\u0000\u0000\u9675\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u9676"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u9677\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u967A"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u967C\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u967D\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u967E\u0000\u0000\u9721\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u9723\u0000\u0000\u9722\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u9724"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u9725\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u9726\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u9727\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u9729\u0000\u0000\u0000\u0000"+
+        "\u9728\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u972B\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u972C\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u9462\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u966B\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
+
+    private final static String innerIndex5=
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u9370\u937B"+
+        "\u937C\u9433\u945A\u946A\u946C\u9539\u953F\u9556"+
+        "\u955E\u955F\u9560\u9562\u9566\u9569\u9572\u957D"+
+        "\u9621\u9622\u962B\u9633\u9635\u9636\u9639\u9655"+
+        "\u965C\u966C\u9678\u9679\u967B\u972A\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u9338\u0000\u0000\u0000\u0000\u9337"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
+
+    private final static short index1[] = {
+        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 2, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        5, 0, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 9,
+        10, 11, 12, 13, 14, 15, 0, 16, 17, 18, 0, 19, 20, 21, 0, 22,
+        23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+        39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 0, 51, 52, 53,
+        0, 0, 0, 54, 55, 56, 0, 0, 57, 58, 59, 60, 61, 62, 63, 0,
+        64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 80, 0, 0, 0, 0, 81
+    };
+
+    private final static String index2[] = {
+        innerIndex0,
+        innerIndex1,
+        innerIndex2,
+        innerIndex3,
+        innerIndex4,
+        innerIndex5
+    };
+
+    /**
+     * These accessors are temporarily supplied while sun.io
+     * converters co-exist with the sun.nio.cs.{ext} charset coders
+     * These facilitate sharing of conversion tables between the
+     * two co-existing implementations. When sun.io converters
+     * are made extinct these will be unncessary and should be removed
+     */
+    public static short[] getIndex1() {
+       return index1;
+    }
+
+    public static String[] getIndex2() {
+       return index2;
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/sun/nio/cs/OLD/JIS_X_0212_Decoder.java	Wed Aug 01 11:08:11 2012 -0400
@@ -0,0 +1,895 @@
+/*
+ * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code 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
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ */
+
+
+import java.nio.charset.Charset;
+import java.nio.charset.CharsetDecoder;
+import java.nio.charset.CharsetEncoder;
+
+public class JIS_X_0212_Decoder extends DoubleByteDecoder
+{
+    public JIS_X_0212_Decoder(Charset cs) {
+        super(cs,
+              index1,
+              index2,
+              0x21,
+              0x7E);
+    }
+
+    private final static String innerIndex0=
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\u02D8\u02C7\u00B8\u02D9"+
+        "\u02DD\u00AF\u02DB\u02DA\uFF5E\u0384\u0385\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u00A1"+
+        "\u00A6\u00BF\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\u00BA\u00AA\u00A9\u00AE\u2122\u00A4\u2116\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\u0386\u0388\u0389\u038A"+
+        "\u03AA\uFFFD\u038C\uFFFD\u038E\u03AB\uFFFD\u038F"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\u03AC\u03AD\u03AE\u03AF"+
+        "\u03CA\u0390\u03CC\u03C2\u03CD\u03CB\u03B0\u03CE"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\u0402\u0403\u0404\u0405\u0406"+
+        "\u0407\u0408\u0409\u040A\u040B\u040C\u040E\u040F"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\u0452\u0453\u0454\u0455\u0456"+
+        "\u0457\u0458\u0459\u045A\u045B\u045C\u045E\u045F"+
+        "\u00C6\u0110\uFFFD\u0126\uFFFD\u0132\uFFFD\u0141"+
+        "\u013F\uFFFD\u014A\u00D8\u0152\uFFFD\u0166\u00DE"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\u00E6\u0111\u00F0\u0127\u0131\u0133\u0138\u0142"+
+        "\u0140\u0149\u014B\u00F8\u0153\u00DF\u0167\u00FE"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u00C1\u00C0"+
+        "\u00C4\u00C2\u0102\u01CD\u0100\u0104\u00C5\u00C3"+
+        "\u0106\u0108\u010C\u00C7\u010A\u010E\u00C9\u00C8"+
+        "\u00CB\u00CA\u011A\u0116\u0112\u0118\uFFFD\u011C"+
+        "\u011E\u0122\u0120\u0124\u00CD\u00CC\u00CF\u00CE"+
+        "\u01CF\u0130\u012A\u012E\u0128\u0134\u0136\u0139"+
+        "\u013D\u013B\u0143\u0147\u0145\u00D1\u00D3\u00D2"+
+        "\u00D6\u00D4\u01D1\u0150\u014C\u00D5\u0154\u0158"+
+        "\u0156\u015A\u015C\u0160\u015E\u0164\u0162\u00DA"+
+        "\u00D9\u00DC\u00DB\u016C\u01D3\u0170\u016A\u0172"+
+        "\u016E\u0168\u01D7\u01DB\u01D9\u01D5\u0174\u00DD"+
+        "\u0178\u0176\u0179\u017D\u017B\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\u00E1\u00E0\u00E4\u00E2"+
+        "\u0103\u01CE\u0101\u0105\u00E5\u00E3\u0107\u0109"+
+        "\u010D\u00E7\u010B\u010F\u00E9\u00E8\u00EB\u00EA"+
+        "\u011B\u0117\u0113\u0119\u01F5\u011D\u011F\uFFFD"+
+        "\u0121\u0125\u00ED\u00EC\u00EF\u00EE\u01D0\uFFFD"+
+        "\u012B\u012F\u0129\u0135\u0137\u013A\u013E\u013C"+
+        "\u0144\u0148\u0146\u00F1\u00F3\u00F2\u00F6\u00F4"+
+        "\u01D2\u0151\u014D\u00F5\u0155\u0159\u0157\u015B"+
+        "\u015D\u0161\u015F\u0165\u0163\u00FA\u00F9\u00FC"+
+        "\u00FB\u016D\u01D4\u0171\u016B\u0173\u016F\u0169"+
+        "\u01D8\u01DC\u01DA\u01D6\u0175\u00FD\u00FF\u0177"+
+        "\u017A\u017E\u017C\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\u4E02\u4E04\u4E05\u4E0C\u4E12\u4E1F"+
+        "\u4E23\u4E24\u4E28\u4E2B\u4E2E\u4E2F\u4E30\u4E35"+
+        "\u4E40\u4E41\u4E44\u4E47\u4E51\u4E5A\u4E5C\u4E63"+
+        "\u4E68\u4E69\u4E74\u4E75\u4E79\u4E7F\u4E8D\u4E96"+
+        "\u4E97\u4E9D\u4EAF\u4EB9\u4EC3\u4ED0\u4EDA\u4EDB"+
+        "\u4EE0\u4EE1\u4EE2\u4EE8\u4EEF\u4EF1\u4EF3\u4EF5"+
+        "\u4EFD\u4EFE\u4EFF\u4F00\u4F02\u4F03\u4F08\u4F0B"+
+        "\u4F0C\u4F12\u4F15\u4F16\u4F17\u4F19\u4F2E\u4F31"+
+        "\u4F60\u4F33\u4F35\u4F37\u4F39\u4F3B\u4F3E\u4F40"+
+        "\u4F42\u4F48\u4F49\u4F4B\u4F4C\u4F52\u4F54\u4F56"+
+        "\u4F58\u4F5F\u4F63\u4F6A\u4F6C\u4F6E\u4F71\u4F77"+
+        "\u4F78\u4F79\u4F7A\u4F7D\u4F7E\u4F81\u4F82\u4F84"+
+        "\u4F85\u4F89\u4F8A\u4F8C\u4F8E\u4F90\u4F92\u4F93"+
+        "\u4F94\u4F97\u4F99\u4F9A\u4F9E\u4F9F\u4FB2\u4FB7"+
+        "\u4FB9\u4FBB\u4FBC\u4FBD\u4FBE\u4FC0\u4FC1\u4FC5"+
+        "\u4FC6\u4FC8\u4FC9\u4FCB\u4FCC\u4FCD\u4FCF\u4FD2"+
+        "\u4FDC\u4FE0\u4FE2\u4FF0\u4FF2\u4FFC\u4FFD\u4FFF"+
+        "\u5000\u5001\u5004\u5007\u500A\u500C\u500E\u5010"+
+        "\u5013\u5017\u5018\u501B\u501C\u501D\u501E\u5022"+
+        "\u5027\u502E\u5030\u5032\u5033\u5035\u5040\u5041"+
+        "\u5042\u5045\u5046\u504A\u504C\u504E\u5051\u5052"+
+        "\u5053\u5057\u5059\u505F\u5060\u5062\u5063\u5066"+
+        "\u5067\u506A\u506D\u5070\u5071\u503B\u5081\u5083"+
+        "\u5084\u5086\u508A\u508E\u508F\u5090\u5092\u5093"+
+        "\u5094\u5096\u509B\u509C\u509E\u509F\u50A0\u50A1"+
+        "\u50A2\u50AA\u50AF\u50B0\u50B9\u50BA\u50BD\u50C0"+
+        "\u50C3\u50C4\u50C7\u50CC\u50CE\u50D0\u50D3\u50D4"+
+        "\u50D8\u50DC\u50DD\u50DF\u50E2\u50E4\u50E6\u50E8"+
+        "\u50E9\u50EF\u50F1\u50F6\u50FA\u50FE\u5103\u5106"+
+        "\u5107\u5108\u510B\u510C\u510D\u510E\u50F2\u5110"+
+        "\u5117\u5119\u511B\u511C\u511D\u511E\u5123\u5127"+
+        "\u5128\u512C\u512D\u512F\u5131\u5133\u5134\u5135"+
+        "\u5138\u5139\u5142\u514A\u514F\u5153\u5155\u5157"+
+        "\u5158\u515F\u5164\u5166\u517E\u5183\u5184\u518B"+
+        "\u518E\u5198\u519D\u51A1\u51A3\u51AD\u51B8\u51BA"+
+        "\u51BC\u51BE\u51BF\u51C2\u51C8\u51CF\u51D1\u51D2"+
+        "\u51D3\u51D5\u51D8\u51DE\u51E2\u51E5\u51EE\u51F2"+
+        "\u51F3\u51F4\u51F7\u5201\u5202\u5205\u5212\u5213"+
+        "\u5215\u5216\u5218\u5222\u5228\u5231\u5232\u5235"+
+        "\u523C\u5245\u5249\u5255\u5257\u5258\u525A\u525C"+
+        "\u525F\u5260\u5261\u5266\u526E\u5277\u5278\u5279"+
+        "\u5280\u5282\u5285\u528A\u528C\u5293\u5295\u5296"+
+        "\u5297\u5298\u529A\u529C\u52A4\u52A5\u52A6\u52A7"+
+        "\u52AF\u52B0\u52B6\u52B7\u52B8\u52BA\u52BB\u52BD"+
+        "\u52C0\u52C4\u52C6\u52C8\u52CC\u52CF\u52D1\u52D4"+
+        "\u52D6\u52DB\u52DC\u52E1\u52E5\u52E8\u52E9\u52EA"+
+        "\u52EC\u52F0\u52F1\u52F4\u52F6\u52F7\u5300\u5303"+
+        "\u530A\u530B\u530C\u5311\u5313\u5318\u531B\u531C"+
+        "\u531E\u531F\u5325\u5327\u5328\u5329\u532B\u532C"+
+        "\u532D\u5330\u5332\u5335\u533C\u533D\u533E\u5342"+
+        "\u534C\u534B\u5359\u535B\u5361\u5363\u5365\u536C"+
+        "\u536D\u5372\u5379\u537E\u5383\u5387\u5388\u538E"+
+        "\u5393\u5394\u5399\u539D\u53A1\u53A4\u53AA\u53AB"+
+        "\u53AF\u53B2\u53B4\u53B5\u53B7\u53B8\u53BA\u53BD"+
+        "\u53C0\u53C5\u53CF\u53D2\u53D3\u53D5\u53DA\u53DD"+
+        "\u53DE\u53E0\u53E6\u53E7\u53F5\u5402\u5413\u541A"+
+        "\u5421\u5427\u5428\u542A\u542F\u5431\u5434\u5435"+
+        "\u5443\u5444\u5447\u544D\u544F\u545E\u5462\u5464"+
+        "\u5466\u5467\u5469\u546B\u546D\u546E\u5474\u547F"+
+        "\u5481\u5483\u5485\u5488\u5489\u548D\u5491\u5495"+
+        "\u5496\u549C\u549F\u54A1\u54A6\u54A7\u54A9\u54AA"+
+        "\u54AD\u54AE\u54B1\u54B7\u54B9\u54BA\u54BB\u54BF"+
+        "\u54C6\u54CA\u54CD\u54CE\u54E0\u54EA\u54EC\u54EF"+
+        "\u54F6\u54FC\u54FE\u54FF\u5500\u5501\u5505\u5508"+
+        "\u5509\u550C\u550D\u550E\u5515\u552A\u552B\u5532"+
+        "\u5535\u5536\u553B\u553C\u553D\u5541\u5547\u5549"+
+        "\u554A\u554D\u5550\u5551\u5558\u555A\u555B\u555E"+
+        "\u5560\u5561\u5564\u5566\u557F\u5581\u5582\u5586"+
+        "\u5588\u558E\u558F\u5591\u5592\u5593\u5594\u5597"+
+        "\u55A3\u55A4\u55AD\u55B2\u55BF\u55C1\u55C3\u55C6"+
+        "\u55C9\u55CB\u55CC\u55CE\u55D1\u55D2\u55D3\u55D7"+
+        "\u55D8\u55DB\u55DE\u55E2\u55E9\u55F6\u55FF\u5605"+
+        "\u5608\u560A\u560D\u560E\u560F\u5610\u5611\u5612"+
+        "\u5619\u562C\u5630\u5633\u5635\u5637\u5639\u563B"+
+        "\u563C\u563D\u563F\u5640\u5641\u5643\u5644\u5646"+
+        "\u5649\u564B\u564D\u564F\u5654\u565E\u5660\u5661"+
+        "\u5662\u5663\u5666\u5669\u566D\u566F\u5671\u5672"+
+        "\u5675\u5684\u5685\u5688\u568B\u568C\u5695\u5699"+
+        "\u569A\u569D\u569E\u569F\u56A6\u56A7\u56A8\u56A9"+
+        "\u56AB\u56AC\u56AD\u56B1\u56B3\u56B7\u56BE\u56C5"+
+        "\u56C9\u56CA\u56CB\u56CF\u56D0\u56CC\u56CD\u56D9"+
+        "\u56DC\u56DD\u56DF\u56E1\u56E4\u56E5\u56E6\u56E7"+
+        "\u56E8\u56F1\u56EB\u56ED\u56F6\u56F7\u5701\u5702"+
+        "\u5707\u570A\u570C\u5711\u5715\u571A\u571B\u571D"+
+        "\u5720\u5722\u5723\u5724\u5725\u5729\u572A\u572C"+
+        "\u572E\u572F\u5733\u5734\u573D\u573E\u573F\u5745"+
+        "\u5746\u574C\u574D\u5752\u5762\u5765\u5767\u5768"+
+        "\u576B\u576D\u576E\u576F\u5770\u5771\u5773\u5774"+
+        "\u5775\u5777\u5779\u577A\u577B\u577C\u577E\u5781"+
+        "\u5783\u578C\u5794\u5797\u5799\u579A\u579C\u579D"+
+        "\u579E\u579F\u57A1\u5795\u57A7\u57A8\u57A9\u57AC"+
+        "\u57B8\u57BD\u57C7\u57C8\u57CC\u57CF\u57D5\u57DD"+
+        "\u57DE\u57E4\u57E6\u57E7\u57E9\u57ED\u57F0\u57F5"+
+        "\u57F6\u57F8\u57FD\u57FE\u57FF\u5803\u5804\u5808"+
+        "\u5809\u57E1\u580C\u580D\u581B\u581E\u581F\u5820"+
+        "\u5826\u5827\u582D\u5832\u5839\u583F\u5849\u584C"+
+        "\u584D\u584F\u5850\u5855\u585F\u5861\u5864\u5867"+
+        "\u5868\u5878\u587C\u587F\u5880\u5881\u5887\u5888"+
+        "\u5889\u588A\u588C\u588D\u588F\u5890\u5894\u5896"+
+        "\u589D\u58A0\u58A1\u58A2\u58A6\u58A9\u58B1\u58B2"+
+        "\u58C4\u58BC\u58C2\u58C8\u58CD\u58CE\u58D0\u58D2"+
+        "\u58D4\u58D6\u58DA\u58DD\u58E1\u58E2\u58E9\u58F3"+
+        "\u5905\u5906\u590B\u590C\u5912\u5913\u5914\u8641"+
+        "\u591D\u5921\u5923\u5924\u5928\u592F\u5930\u5933"+
+        "\u5935\u5936\u593F\u5943\u5946\u5952\u5953\u5959"+
+        "\u595B\u595D\u595E\u595F\u5961\u5963\u596B\u596D";
+
+    private final static String innerIndex1=
+        "\u596F\u5972\u5975\u5976\u5979\u597B\u597C\u598B"+
+        "\u598C\u598E\u5992\u5995\u5997\u599F\u59A4\u59A7"+
+        "\u59AD\u59AE\u59AF\u59B0\u59B3\u59B7\u59BA\u59BC"+
+        "\u59C1\u59C3\u59C4\u59C8\u59CA\u59CD\u59D2\u59DD"+
+        "\u59DE\u59DF\u59E3\u59E4\u59E7\u59EE\u59EF\u59F1"+
+        "\u59F2\u59F4\u59F7\u5A00\u5A04\u5A0C\u5A0D\u5A0E"+
+        "\u5A12\u5A13\u5A1E\u5A23\u5A24\u5A27\u5A28\u5A2A"+
+        "\u5A2D\u5A30\u5A44\u5A45\u5A47\u5A48\u5A4C\u5A50"+
+        "\u5A55\u5A5E\u5A63\u5A65\u5A67\u5A6D\u5A77\u5A7A"+
+        "\u5A7B\u5A7E\u5A8B\u5A90\u5A93\u5A96\u5A99\u5A9C"+
+        "\u5A9E\u5A9F\u5AA0\u5AA2\u5AA7\u5AAC\u5AB1\u5AB2"+
+        "\u5AB3\u5AB5\u5AB8\u5ABA\u5ABB\u5ABF\u5AC4\u5AC6"+
+        "\u5AC8\u5ACF\u5ADA\u5ADC\u5AE0\u5AE5\u5AEA\u5AEE"+
+        "\u5AF5\u5AF6\u5AFD\u5B00\u5B01\u5B08\u5B17\u5B34"+
+        "\u5B19\u5B1B\u5B1D\u5B21\u5B25\u5B2D\u5B38\u5B41"+
+        "\u5B4B\u5B4C\u5B52\u5B56\u5B5E\u5B68\u5B6E\u5B6F"+
+        "\u5B7C\u5B7D\u5B7E\u5B7F\u5B81\u5B84\u5B86\u5B8A"+
+        "\u5B8E\u5B90\u5B91\u5B93\u5B94\u5B96\u5BA8\u5BA9"+
+        "\u5BAC\u5BAD\u5BAF\u5BB1\u5BB2\u5BB7\u5BBA\u5BBC"+
+        "\u5BC0\u5BC1\u5BCD\u5BCF\u5BD6\u5BD7\u5BD8\u5BD9"+
+        "\u5BDA\u5BE0\u5BEF\u5BF1\u5BF4\u5BFD\u5C0C\u5C17"+
+        "\u5C1E\u5C1F\u5C23\u5C26\u5C29\u5C2B\u5C2C\u5C2E"+
+        "\u5C30\u5C32\u5C35\u5C36\u5C59\u5C5A\u5C5C\u5C62"+
+        "\u5C63\u5C67\u5C68\u5C69\u5C6D\u5C70\u5C74\u5C75"+
+        "\u5C7A\u5C7B\u5C7C\u5C7D\u5C87\u5C88\u5C8A\u5C8F"+
+        "\u5C92\u5C9D\u5C9F\u5CA0\u5CA2\u5CA3\u5CA6\u5CAA"+
+        "\u5CB2\u5CB4\u5CB5\u5CBA\u5CC9\u5CCB\u5CD2\u5CDD"+
+        "\u5CD7\u5CEE\u5CF1\u5CF2\u5CF4\u5D01\u5D06\u5D0D"+
+        "\u5D12\u5D2B\u5D23\u5D24\u5D26\u5D27\u5D31\u5D34"+
+        "\u5D39\u5D3D\u5D3F\u5D42\u5D43\u5D46\u5D48\u5D55"+
+        "\u5D51\u5D59\u5D4A\u5D5F\u5D60\u5D61\u5D62\u5D64"+
+        "\u5D6A\u5D6D\u5D70\u5D79\u5D7A\u5D7E\u5D7F\u5D81"+
+        "\u5D83\u5D88\u5D8A\u5D92\u5D93\u5D94\u5D95\u5D99"+
+        "\u5D9B\u5D9F\u5DA0\u5DA7\u5DAB\u5DB0\u5DB4\u5DB8"+
+        "\u5DB9\u5DC3\u5DC7\u5DCB\u5DD0\u5DCE\u5DD8\u5DD9"+
+        "\u5DE0\u5DE4\u5DE9\u5DF8\u5DF9\u5E00\u5E07\u5E0D"+
+        "\u5E12\u5E14\u5E15\u5E18\u5E1F\u5E20\u5E2E\u5E28"+
+        "\u5E32\u5E35\u5E3E\u5E4B\u5E50\u5E49\u5E51\u5E56"+
+        "\u5E58\u5E5B\u5E5C\u5E5E\u5E68\u5E6A\u5E6B\u5E6C"+
+        "\u5E6D\u5E6E\u5E70\u5E80\u5E8B\u5E8E\u5EA2\u5EA4"+
+        "\u5EA5\u5EA8\u5EAA\u5EAC\u5EB1\u5EB3\u5EBD\u5EBE"+
+        "\u5EBF\u5EC6\u5ECC\u5ECB\u5ECE\u5ED1\u5ED2\u5ED4"+
+        "\u5ED5\u5EDC\u5EDE\u5EE5\u5EEB\u5F02\u5F06\u5F07"+
+        "\u5F08\u5F0E\u5F19\u5F1C\u5F1D\u5F21\u5F22\u5F23"+
+        "\u5F24\u5F28\u5F2B\u5F2C\u5F2E\u5F30\u5F34\u5F36"+
+        "\u5F3B\u5F3D\u5F3F\u5F40\u5F44\u5F45\u5F47\u5F4D"+
+        "\u5F50\u5F54\u5F58\u5F5B\u5F60\u5F63\u5F64\u5F67"+
+        "\u5F6F\u5F72\u5F74\u5F75\u5F78\u5F7A\u5F7D\u5F7E"+
+        "\u5F89\u5F8D\u5F8F\u5F96\u5F9C\u5F9D\u5FA2\u5FA7"+
+        "\u5FAB\u5FA4\u5FAC\u5FAF\u5FB0\u5FB1\u5FB8\u5FC4"+
+        "\u5FC7\u5FC8\u5FC9\u5FCB\u5FD0\u5FD1\u5FD2\u5FD3"+
+        "\u5FD4\u5FDE\u5FE1\u5FE2\u5FE8\u5FE9\u5FEA\u5FEC"+
+        "\u5FED\u5FEE\u5FEF\u5FF2\u5FF3\u5FF6\u5FFA\u5FFC"+
+        "\u6007\u600A\u600D\u6013\u6014\u6017\u6018\u601A"+
+        "\u601F\u6024\u602D\u6033\u6035\u6040\u6047\u6048"+
+        "\u6049\u604C\u6051\u6054\u6056\u6057\u605D\u6061"+
+        "\u6067\u6071\u607E\u607F\u6082\u6086\u6088\u608A"+
+        "\u608E\u6091\u6093\u6095\u6098\u609D\u609E\u60A2"+
+        "\u60A4\u60A5\u60A8\u60B0\u60B1\u60B7\u60BB\u60BE"+
+        "\u60C2\u60C4\u60C8\u60C9\u60CA\u60CB\u60CE\u60CF"+
+        "\u60D4\u60D5\u60D9\u60DB\u60DD\u60DE\u60E2\u60E5"+
+        "\u60F2\u60F5\u60F8\u60FC\u60FD\u6102\u6107\u610A"+
+        "\u610C\u6110\u6111\u6112\u6113\u6114\u6116\u6117"+
+        "\u6119\u611C\u611E\u6122\u612A\u612B\u6130\u6131"+
+        "\u6135\u6136\u6137\u6139\u6141\u6145\u6146\u6149"+
+        "\u615E\u6160\u616C\u6172\u6178\u617B\u617C\u617F"+
+        "\u6180\u6181\u6183\u6184\u618B\u618D\u6192\u6193"+
+        "\u6197\u6198\u619C\u619D\u619F\u61A0\u61A5\u61A8"+
+        "\u61AA\u61AD\u61B8\u61B9\u61BC\u61C0\u61C1\u61C2"+
+        "\u61CE\u61CF\u61D5\u61DC\u61DD\u61DE\u61DF\u61E1"+
+        "\u61E2\u61E7\u61E9\u61E5\u61EC\u61ED\u61EF\u6201"+
+        "\u6203\u6204\u6207\u6213\u6215\u621C\u6220\u6222"+
+        "\u6223\u6227\u6229\u622B\u6239\u623D\u6242\u6243"+
+        "\u6244\u6246\u624C\u6250\u6251\u6252\u6254\u6256"+
+        "\u625A\u625C\u6264\u626D\u626F\u6273\u627A\u627D"+
+        "\u628D\u628E\u628F\u6290\u62A6\u62A8\u62B3\u62B6"+
+        "\u62B7\u62BA\u62BE\u62BF\u62C4\u62CE\u62D5\u62D6"+
+        "\u62DA\u62EA\u62F2\u62F4\u62FC\u62FD\u6303\u6304"+
+        "\u630A\u630B\u630D\u6310\u6313\u6316\u6318\u6329"+
+        "\u632A\u632D\u6335\u6336\u6339\u633C\u6341\u6342"+
+        "\u6343\u6344\u6346\u634A\u634B\u634E\u6352\u6353"+
+        "\u6354\u6358\u635B\u6365\u6366\u636C\u636D\u6371"+
+        "\u6374\u6375\u6378\u637C\u637D\u637F\u6382\u6384"+
+        "\u6387\u638A\u6390\u6394\u6395\u6399\u639A\u639E"+
+        "\u63A4\u63A6\u63AD\u63AE\u63AF\u63BD\u63C1\u63C5"+
+        "\u63C8\u63CE\u63D1\u63D3\u63D4\u63D5\u63DC\u63E0"+
+        "\u63E5\u63EA\u63EC\u63F2\u63F3\u63F5\u63F8\u63F9"+
+        "\u6409\u640A\u6410\u6412\u6414\u6418\u641E\u6420"+
+        "\u6422\u6424\u6425\u6429\u642A\u642F\u6430\u6435"+
+        "\u643D\u643F\u644B\u644F\u6451\u6452\u6453\u6454"+
+        "\u645A\u645B\u645C\u645D\u645F\u6460\u6461\u6463"+
+        "\u646D\u6473\u6474\u647B\u647D\u6485\u6487\u648F"+
+        "\u6490\u6491\u6498\u6499\u649B\u649D\u649F\u64A1"+
+        "\u64A3\u64A6\u64A8\u64AC\u64B3\u64BD\u64BE\u64BF"+
+        "\u64C4\u64C9\u64CA\u64CB\u64CC\u64CE\u64D0\u64D1"+
+        "\u64D5\u64D7\u64E4\u64E5\u64E9\u64EA\u64ED\u64F0"+
+        "\u64F5\u64F7\u64FB\u64FF\u6501\u6504\u6508\u6509"+
+        "\u650A\u650F\u6513\u6514\u6516\u6519\u651B\u651E"+
+        "\u651F\u6522\u6526\u6529\u652E\u6531\u653A\u653C"+
+        "\u653D\u6543\u6547\u6549\u6550\u6552\u6554\u655F"+
+        "\u6560\u6567\u656B\u657A\u657D\u6581\u6585\u658A"+
+        "\u6592\u6595\u6598\u659D\u65A0\u65A3\u65A6\u65AE"+
+        "\u65B2\u65B3\u65B4\u65BF\u65C2\u65C8\u65C9\u65CE"+
+        "\u65D0\u65D4\u65D6\u65D8\u65DF\u65F0\u65F2\u65F4"+
+        "\u65F5\u65F9\u65FE\u65FF\u6600\u6604\u6608\u6609"+
+        "\u660D\u6611\u6612\u6615\u6616\u661D\u661E\u6621"+
+        "\u6622\u6623\u6624\u6626\u6629\u662A\u662B\u662C"+
+        "\u662E\u6630\u6631\u6633\u6639\u6637\u6640\u6645"+
+        "\u6646\u664A\u664C\u6651\u664E\u6657\u6658\u6659"+
+        "\u665B\u665C\u6660\u6661\u66FB\u666A\u666B\u666C"+
+        "\u667E\u6673\u6675\u667F\u6677\u6678\u6679\u667B"+
+        "\u6680\u667C\u668B\u668C\u668D\u6690\u6692\u6699"+
+        "\u669A\u669B\u669C\u669F\u66A0\u66A4\u66AD\u66B1"+
+        "\u66B2\u66B5\u66BB\u66BF\u66C0\u66C2\u66C3\u66C8"+
+        "\u66CC\u66CE\u66CF\u66D4\u66DB\u66DF\u66E8\u66EB"+
+        "\u66EC\u66EE\u66FA\u6705\u6707\u670E\u6713\u6719"+
+        "\u671C\u6720\u6722\u6733\u673E\u6745\u6747\u6748"+
+        "\u674C\u6754\u6755\u675D\u6766\u676C\u676E\u6774"+
+        "\u6776\u677B\u6781\u6784\u678E\u678F\u6791\u6793"+
+        "\u6796\u6798\u6799\u679B\u67B0\u67B1\u67B2\u67B5"+
+        "\u67BB\u67BC\u67BD\u67F9\u67C0\u67C2\u67C3\u67C5"+
+        "\u67C8\u67C9\u67D2\u67D7\u67D9\u67DC\u67E1\u67E6"+
+        "\u67F0\u67F2\u67F6\u67F7\u6852\u6814\u6819\u681D"+
+        "\u681F\u6828\u6827\u682C\u682D\u682F\u6830\u6831"+
+        "\u6833\u683B\u683F\u6844\u6845\u684A\u684C\u6855"+
+        "\u6857\u6858\u685B\u686B\u686E\u686F\u6870\u6871"+
+        "\u6872\u6875\u6879\u687A\u687B\u687C\u6882\u6884"+
+        "\u6886\u6888\u6896\u6898\u689A\u689C\u68A1\u68A3"+
+        "\u68A5\u68A9\u68AA\u68AE\u68B2\u68BB\u68C5\u68C8"+
+        "\u68CC\u68CF\u68D0\u68D1\u68D3\u68D6\u68D9\u68DC"+
+        "\u68DD\u68E5\u68E8\u68EA\u68EB\u68EC\u68ED\u68F0"+
+        "\u68F1\u68F5\u68F6\u68FB\u68FC\u68FD\u6906\u6909"+
+        "\u690A\u6910\u6911\u6913\u6916\u6917\u6931\u6933"+
+        "\u6935\u6938\u693B\u6942\u6945\u6949\u694E\u6957"+
+        "\u695B\u6963\u6964\u6965\u6966\u6968\u6969\u696C"+
+        "\u6970\u6971\u6972\u697A\u697B\u697F\u6980\u698D"+
+        "\u6992\u6996\u6998\u69A1\u69A5\u69A6\u69A8\u69AB"+
+        "\u69AD\u69AF\u69B7\u69B8\u69BA\u69BC\u69C5\u69C8"+
+        "\u69D1\u69D6\u69D7\u69E2\u69E5\u69EE\u69EF\u69F1"+
+        "\u69F3\u69F5\u69FE\u6A00\u6A01\u6A03\u6A0F\u6A11"+
+        "\u6A15\u6A1A\u6A1D\u6A20\u6A24\u6A28\u6A30\u6A32"+
+        "\u6A34\u6A37\u6A3B\u6A3E\u6A3F\u6A45\u6A46\u6A49"+
+        "\u6A4A\u6A4E\u6A50\u6A51\u6A52\u6A55\u6A56\u6A5B"+
+        "\u6A64\u6A67\u6A6A\u6A71\u6A73\u6A7E\u6A81\u6A83"+
+        "\u6A86\u6A87\u6A89\u6A8B\u6A91\u6A9B\u6A9D\u6A9E"+
+        "\u6A9F\u6AA5\u6AAB\u6AAF\u6AB0\u6AB1\u6AB4\u6ABD"+
+        "\u6ABE\u6ABF\u6AC6\u6AC9\u6AC8\u6ACC\u6AD0\u6AD4"+
+        "\u6AD5\u6AD6\u6ADC\u6ADD\u6AE4\u6AE7\u6AEC\u6AF0"+
+        "\u6AF1\u6AF2\u6AFC\u6AFD\u6B02\u6B03\u6B06\u6B07"+
+        "\u6B09\u6B0F\u6B10\u6B11\u6B17\u6B1B\u6B1E\u6B24"+
+        "\u6B28\u6B2B\u6B2C\u6B2F\u6B35\u6B36\u6B3B\u6B3F"+
+        "\u6B46\u6B4A\u6B4D\u6B52\u6B56\u6B58\u6B5D\u6B60"+
+        "\u6B67\u6B6B\u6B6E\u6B70\u6B75\u6B7D\u6B7E\u6B82"+
+        "\u6B85\u6B97\u6B9B\u6B9F\u6BA0\u6BA2\u6BA3\u6BA8"+
+        "\u6BA9\u6BAC\u6BAD\u6BAE\u6BB0\u6BB8\u6BB9\u6BBD"+
+        "\u6BBE\u6BC3\u6BC4\u6BC9\u6BCC\u6BD6\u6BDA\u6BE1"+
+        "\u6BE3\u6BE6\u6BE7\u6BEE\u6BF1\u6BF7\u6BF9\u6BFF"+
+        "\u6C02\u6C04\u6C05\u6C09\u6C0D\u6C0E\u6C10\u6C12"+
+        "\u6C19\u6C1F\u6C26\u6C27\u6C28\u6C2C\u6C2E\u6C33"+
+        "\u6C35\u6C36\u6C3A\u6C3B\u6C3F\u6C4A\u6C4B\u6C4D"+
+        "\u6C4F\u6C52\u6C54\u6C59\u6C5B\u6C5C\u6C6B\u6C6D"+
+        "\u6C6F\u6C74\u6C76\u6C78\u6C79\u6C7B\u6C85\u6C86"+
+        "\u6C87\u6C89\u6C94\u6C95\u6C97\u6C98\u6C9C\u6C9F"+
+        "\u6CB0\u6CB2\u6CB4\u6CC2\u6CC6\u6CCD\u6CCF\u6CD0"+
+        "\u6CD1\u6CD2\u6CD4\u6CD6\u6CDA\u6CDC\u6CE0\u6CE7"+
+        "\u6CE9\u6CEB\u6CEC\u6CEE\u6CF2\u6CF4\u6D04\u6D07"+
+        "\u6D0A\u6D0E\u6D0F\u6D11\u6D13\u6D1A\u6D26\u6D27"+
+        "\u6D28\u6C67\u6D2E\u6D2F\u6D31\u6D39\u6D3C\u6D3F"+
+        "\u6D57\u6D5E\u6D5F\u6D61\u6D65\u6D67\u6D6F\u6D70"+
+        "\u6D7C\u6D82\u6D87\u6D91\u6D92\u6D94\u6D96\u6D97"+
+        "\u6D98\u6DAA\u6DAC\u6DB4\u6DB7\u6DB9\u6DBD\u6DBF"+
+        "\u6DC4\u6DC8\u6DCA\u6DCE\u6DCF\u6DD6\u6DDB\u6DDD"+
+        "\u6DDF\u6DE0\u6DE2\u6DE5\u6DE9\u6DEF\u6DF0\u6DF4"+
+        "\u6DF6\u6DFC\u6E00\u6E04\u6E1E\u6E22\u6E27\u6E32"+
+        "\u6E36\u6E39\u6E3B\u6E3C\u6E44\u6E45\u6E48\u6E49"+
+        "\u6E4B\u6E4F\u6E51\u6E52\u6E53\u6E54\u6E57\u6E5C"+
+        "\u6E5D\u6E5E\u6E62\u6E63\u6E68\u6E73\u6E7B\u6E7D"+
+        "\u6E8D\u6E93\u6E99\u6EA0\u6EA7\u6EAD\u6EAE\u6EB1"+
+        "\u6EB3\u6EBB\u6EBF\u6EC0\u6EC1\u6EC3\u6EC7\u6EC8"+
+        "\u6ECA\u6ECD\u6ECE\u6ECF\u6EEB\u6EED\u6EEE\u6EF9"+
+        "\u6EFB\u6EFD\u6F04\u6F08\u6F0A\u6F0C\u6F0D\u6F16"+
+        "\u6F18\u6F1A\u6F1B\u6F26\u6F29\u6F2A\u6F2F\u6F30"+
+        "\u6F33\u6F36\u6F3B\u6F3C\u6F2D\u6F4F\u6F51\u6F52"+
+        "\u6F53\u6F57\u6F59\u6F5A\u6F5D\u6F5E\u6F61\u6F62"+
+        "\u6F68\u6F6C\u6F7D\u6F7E\u6F83\u6F87\u6F88\u6F8B"+
+        "\u6F8C\u6F8D\u6F90\u6F92\u6F93\u6F94\u6F96\u6F9A"+
+        "\u6F9F\u6FA0\u6FA5\u6FA6\u6FA7\u6FA8\u6FAE\u6FAF"+
+        "\u6FB0\u6FB5\u6FB6\u6FBC\u6FC5\u6FC7\u6FC8\u6FCA";
+
+    private final static String innerIndex2=
+        "\u6FDA\u6FDE\u6FE8\u6FE9\u6FF0\u6FF5\u6FF9\u6FFC"+
+        "\u6FFD\u7000\u7005\u7006\u7007\u700D\u7017\u7020"+
+        "\u7023\u702F\u7034\u7037\u7039\u703C\u7043\u7044"+
+        "\u7048\u7049\u704A\u704B\u7054\u7055\u705D\u705E"+
+        "\u704E\u7064\u7065\u706C\u706E\u7075\u7076\u707E"+
+        "\u7081\u7085\u7086\u7094\u7095\u7096\u7097\u7098"+
+        "\u709B\u70A4\u70AB\u70B0\u70B1\u70B4\u70B7\u70CA"+
+        "\u70D1\u70D3\u70D4\u70D5\u70D6\u70D8\u70DC\u70E4"+
+        "\u70FA\u7103\u7104\u7105\u7106\u7107\u710B\u710C"+
+        "\u710F\u711E\u7120\u712B\u712D\u712F\u7130\u7131"+
+        "\u7138\u7141\u7145\u7146\u7147\u714A\u714B\u7150"+
+        "\u7152\u7157\u715A\u715C\u715E\u7160\u7168\u7179"+
+        "\u7180\u7185\u7187\u718C\u7192\u719A\u719B\u71A0"+
+        "\u71A2\u71AF\u71B0\u71B2\u71B3\u71BA\u71BF\u71C0"+
+        "\u71C1\u71C4\u71CB\u71CC\u71D3\u71D6\u71D9\u71DA"+
+        "\u71DC\u71F8\u71FE\u7200\u7207\u7208\u7209\u7213"+
+        "\u7217\u721A\u721D\u721F\u7224\u722B\u722F\u7234"+
+        "\u7238\u7239\u7241\u7242\u7243\u7245\u724E\u724F"+
+        "\u7250\u7253\u7255\u7256\u725A\u725C\u725E\u7260"+
+        "\u7263\u7268\u726B\u726E\u726F\u7271\u7277\u7278"+
+        "\u727B\u727C\u727F\u7284\u7289\u728D\u728E\u7293"+
+        "\u729B\u72A8\u72AD\u72AE\u72B1\u72B4\u72BE\u72C1"+
+        "\u72C7\u72C9\u72CC\u72D5\u72D6\u72D8\u72DF\u72E5"+
+        "\u72F3\u72F4\u72FA\u72FB\u72FE\u7302\u7304\u7305"+
+        "\u7307\u730B\u730D\u7312\u7313\u7318\u7319\u731E"+
+        "\u7322\u7324\u7327\u7328\u732C\u7331\u7332\u7335"+
+        "\u733A\u733B\u733D\u7343\u734D\u7350\u7352\u7356"+
+        "\u7358\u735D\u735E\u735F\u7360\u7366\u7367\u7369"+
+        "\u736B\u736C\u736E\u736F\u7371\u7377\u7379\u737C"+
+        "\u7380\u7381\u7383\u7385\u7386\u738E\u7390\u7393"+
+        "\u7395\u7397\u7398\u739C\u739E\u739F\u73A0\u73A2"+
+        "\u73A5\u73A6\u73AA\u73AB\u73AD\u73B5\u73B7\u73B9"+
+        "\u73BC\u73BD\u73BF\u73C5\u73C6\u73C9\u73CB\u73CC"+
+        "\u73CF\u73D2\u73D3\u73D6\u73D9\u73DD\u73E1\u73E3"+
+        "\u73E6\u73E7\u73E9\u73F4\u73F5\u73F7\u73F9\u73FA"+
+        "\u73FB\u73FD\u73FF\u7400\u7401\u7404\u7407\u740A"+
+        "\u7411\u741A\u741B\u7424\u7426\u7428\u7429\u742A"+
+        "\u742B\u742C\u742D\u742E\u742F\u7430\u7431\u7439"+
+        "\u7440\u7443\u7444\u7446\u7447\u744B\u744D\u7451"+
+        "\u7452\u7457\u745D\u7462\u7466\u7467\u7468\u746B"+
+        "\u746D\u746E\u7471\u7472\u7480\u7481\u7485\u7486"+
+        "\u7487\u7489\u748F\u7490\u7491\u7492\u7498\u7499"+
+        "\u749A\u749C\u749F\u74A0\u74A1\u74A3\u74A6\u74A8"+
+        "\u74A9\u74AA\u74AB\u74AE\u74AF\u74B1\u74B2\u74B5"+
+        "\u74B9\u74BB\u74BF\u74C8\u74C9\u74CC\u74D0\u74D3"+
+        "\u74D8\u74DA\u74DB\u74DE\u74DF\u74E4\u74E8\u74EA"+
+        "\u74EB\u74EF\u74F4\u74FA\u74FB\u74FC\u74FF\u7506"+
+        "\u7512\u7516\u7517\u7520\u7521\u7524\u7527\u7529"+
+        "\u752A\u752F\u7536\u7539\u753D\u753E\u753F\u7540"+
+        "\u7543\u7547\u7548\u754E\u7550\u7552\u7557\u755E"+
+        "\u755F\u7561\u756F\u7571\u7579\u757A\u757B\u757C"+
+        "\u757D\u757E\u7581\u7585\u7590\u7592\u7593\u7595"+
+        "\u7599\u759C\u75A2\u75A4\u75B4\u75BA\u75BF\u75C0"+
+        "\u75C1\u75C4\u75C6\u75CC\u75CE\u75CF\u75D7\u75DC"+
+        "\u75DF\u75E0\u75E1\u75E4\u75E7\u75EC\u75EE\u75EF"+
+        "\u75F1\u75F9\u7600\u7602\u7603\u7604\u7607\u7608"+
+        "\u760A\u760C\u760F\u7612\u7613\u7615\u7616\u7619"+
+        "\u761B\u761C\u761D\u761E\u7623\u7625\u7626\u7629"+
+        "\u762D\u7632\u7633\u7635\u7638\u7639\u763A\u763C"+
+        "\u764A\u7640\u7641\u7643\u7644\u7645\u7649\u764B"+
+        "\u7655\u7659\u765F\u7664\u7665\u766D\u766E\u766F"+
+        "\u7671\u7674\u7681\u7685\u768C\u768D\u7695\u769B"+
+        "\u769C\u769D\u769F\u76A0\u76A2\u76A3\u76A4\u76A5"+
+        "\u76A6\u76A7\u76A8\u76AA\u76AD\u76BD\u76C1\u76C5"+
+        "\u76C9\u76CB\u76CC\u76CE\u76D4\u76D9\u76E0\u76E6"+
+        "\u76E8\u76EC\u76F0\u76F1\u76F6\u76F9\u76FC\u7700"+
+        "\u7706\u770A\u770E\u7712\u7714\u7715\u7717\u7719"+
+        "\u771A\u771C\u7722\u7728\u772D\u772E\u772F\u7734"+
+        "\u7735\u7736\u7739\u773D\u773E\u7742\u7745\u7746"+
+        "\u774A\u774D\u774E\u774F\u7752\u7756\u7757\u775C"+
+        "\u775E\u775F\u7760\u7762\u7764\u7767\u776A\u776C"+
+        "\u7770\u7772\u7773\u7774\u777A\u777D\u7780\u7784"+
+        "\u778C\u778D\u7794\u7795\u7796\u779A\u779F\u77A2"+
+        "\u77A7\u77AA\u77AE\u77AF\u77B1\u77B5\u77BE\u77C3"+
+        "\u77C9\u77D1\u77D2\u77D5\u77D9\u77DE\u77DF\u77E0"+
+        "\u77E4\u77E6\u77EA\u77EC\u77F0\u77F1\u77F4\u77F8"+
+        "\u77FB\u7805\u7806\u7809\u780D\u780E\u7811\u781D"+
+        "\u7821\u7822\u7823\u782D\u782E\u7830\u7835\u7837"+
+        "\u7843\u7844\u7847\u7848\u784C\u784E\u7852\u785C"+
+        "\u785E\u7860\u7861\u7863\u7864\u7868\u786A\u786E"+
+        "\u787A\u787E\u788A\u788F\u7894\u7898\u78A1\u789D"+
+        "\u789E\u789F\u78A4\u78A8\u78AC\u78AD\u78B0\u78B1"+
+        "\u78B2\u78B3\u78BB\u78BD\u78BF\u78C7\u78C8\u78C9"+
+        "\u78CC\u78CE\u78D2\u78D3\u78D5\u78D6\u78E4\u78DB"+
+        "\u78DF\u78E0\u78E1\u78E6\u78EA\u78F2\u78F3\u7900"+
+        "\u78F6\u78F7\u78FA\u78FB\u78FF\u7906\u790C\u7910"+
+        "\u791A\u791C\u791E\u791F\u7920\u7925\u7927\u7929"+
+        "\u792D\u7931\u7934\u7935\u793B\u793D\u793F\u7944"+
+        "\u7945\u7946\u794A\u794B\u794F\u7951\u7954\u7958"+
+        "\u795B\u795C\u7967\u7969\u796B\u7972\u7979\u797B"+
+        "\u797C\u797E\u798B\u798C\u7991\u7993\u7994\u7995"+
+        "\u7996\u7998\u799B\u799C\u79A1\u79A8\u79A9\u79AB"+
+        "\u79AF\u79B1\u79B4\u79B8\u79BB\u79C2\u79C4\u79C7"+
+        "\u79C8\u79CA\u79CF\u79D4\u79D6\u79DA\u79DD\u79DE"+
+        "\u79E0\u79E2\u79E5\u79EA\u79EB\u79ED\u79F1\u79F8"+
+        "\u79FC\u7A02\u7A03\u7A07\u7A09\u7A0A\u7A0C\u7A11"+
+        "\u7A15\u7A1B\u7A1E\u7A21\u7A27\u7A2B\u7A2D\u7A2F"+
+        "\u7A30\u7A34\u7A35\u7A38\u7A39\u7A3A\u7A44\u7A45"+
+        "\u7A47\u7A48\u7A4C\u7A55\u7A56\u7A59\u7A5C\u7A5D"+
+        "\u7A5F\u7A60\u7A65\u7A67\u7A6A\u7A6D\u7A75\u7A78"+
+        "\u7A7E\u7A80\u7A82\u7A85\u7A86\u7A8A\u7A8B\u7A90"+
+        "\u7A91\u7A94\u7A9E\u7AA0\u7AA3\u7AAC\u7AB3\u7AB5"+
+        "\u7AB9\u7ABB\u7ABC\u7AC6\u7AC9\u7ACC\u7ACE\u7AD1"+
+        "\u7ADB\u7AE8\u7AE9\u7AEB\u7AEC\u7AF1\u7AF4\u7AFB"+
+        "\u7AFD\u7AFE\u7B07\u7B14\u7B1F\u7B23\u7B27\u7B29"+
+        "\u7B2A\u7B2B\u7B2D\u7B2E\u7B2F\u7B30\u7B31\u7B34"+
+        "\u7B3D\u7B3F\u7B40\u7B41\u7B47\u7B4E\u7B55\u7B60"+
+        "\u7B64\u7B66\u7B69\u7B6A\u7B6D\u7B6F\u7B72\u7B73"+
+        "\u7B77\u7B84\u7B89\u7B8E\u7B90\u7B91\u7B96\u7B9B"+
+        "\u7B9E\u7BA0\u7BA5\u7BAC\u7BAF\u7BB0\u7BB2\u7BB5"+
+        "\u7BB6\u7BBA\u7BBB\u7BBC\u7BBD\u7BC2\u7BC5\u7BC8"+
+        "\u7BCA\u7BD4\u7BD6\u7BD7\u7BD9\u7BDA\u7BDB\u7BE8"+
+        "\u7BEA\u7BF2\u7BF4\u7BF5\u7BF8\u7BF9\u7BFA\u7BFC"+
+        "\u7BFE\u7C01\u7C02\u7C03\u7C04\u7C06\u7C09\u7C0B"+
+        "\u7C0C\u7C0E\u7C0F\u7C19\u7C1B\u7C20\u7C25\u7C26"+
+        "\u7C28\u7C2C\u7C31\u7C33\u7C34\u7C36\u7C39\u7C3A"+
+        "\u7C46\u7C4A\u7C55\u7C51\u7C52\u7C53\u7C59\u7C5A"+
+        "\u7C5B\u7C5C\u7C5D\u7C5E\u7C61\u7C63\u7C67\u7C69"+
+        "\u7C6D\u7C6E\u7C70\u7C72\u7C79\u7C7C\u7C7D\u7C86"+
+        "\u7C87\u7C8F\u7C94\u7C9E\u7CA0\u7CA6\u7CB0\u7CB6"+
+        "\u7CB7\u7CBA\u7CBB\u7CBC\u7CBF\u7CC4\u7CC7\u7CC8"+
+        "\u7CC9\u7CCD\u7CCF\u7CD3\u7CD4\u7CD5\u7CD7\u7CD9"+
+        "\u7CDA\u7CDD\u7CE6\u7CE9\u7CEB\u7CF5\u7D03\u7D07"+
+        "\u7D08\u7D09\u7D0F\u7D11\u7D12\u7D13\u7D16\u7D1D"+
+        "\u7D1E\u7D23\u7D26\u7D2A\u7D2D\u7D31\u7D3C\u7D3D"+
+        "\u7D3E\u7D40\u7D41\u7D47\u7D48\u7D4D\u7D51\u7D53"+
+        "\u7D57\u7D59\u7D5A\u7D5C\u7D5D\u7D65\u7D67\u7D6A"+
+        "\u7D70\u7D78\u7D7A\u7D7B\u7D7F\u7D81\u7D82\u7D83"+
+        "\u7D85\u7D86\u7D88\u7D8B\u7D8C\u7D8D\u7D91\u7D96"+
+        "\u7D97\u7D9D\u7D9E\u7DA6\u7DA7\u7DAA\u7DB3\u7DB6"+
+        "\u7DB7\u7DB9\u7DC2\u7DC3\u7DC4\u7DC5\u7DC6\u7DCC"+
+        "\u7DCD\u7DCE\u7DD7\u7DD9\u7E00\u7DE2\u7DE5\u7DE6"+
+        "\u7DEA\u7DEB\u7DED\u7DF1\u7DF5\u7DF6\u7DF9\u7DFA"+
+        "\u7E08\u7E10\u7E11\u7E15\u7E17\u7E1C\u7E1D\u7E20"+
+        "\u7E27\u7E28\u7E2C\u7E2D\u7E2F\u7E33\u7E36\u7E3F"+
+        "\u7E44\u7E45\u7E47\u7E4E\u7E50\u7E52\u7E58\u7E5F"+
+        "\u7E61\u7E62\u7E65\u7E6B\u7E6E\u7E6F\u7E73\u7E78"+
+        "\u7E7E\u7E81\u7E86\u7E87\u7E8A\u7E8D\u7E91\u7E95"+
+        "\u7E98\u7E9A\u7E9D\u7E9E\u7F3C\u7F3B\u7F3D\u7F3E"+
+        "\u7F3F\u7F43\u7F44\u7F47\u7F4F\u7F52\u7F53\u7F5B"+
+        "\u7F5C\u7F5D\u7F61\u7F63\u7F64\u7F65\u7F66\u7F6D"+
+        "\u7F71\u7F7D\u7F7E\u7F7F\u7F80\u7F8B\u7F8D\u7F8F"+
+        "\u7F90\u7F91\u7F96\u7F97\u7F9C\u7FA1\u7FA2\u7FA6"+
+        "\u7FAA\u7FAD\u7FB4\u7FBC\u7FBF\u7FC0\u7FC3\u7FC8"+
+        "\u7FCE\u7FCF\u7FDB\u7FDF\u7FE3\u7FE5\u7FE8\u7FEC"+
+        "\u7FEE\u7FEF\u7FF2\u7FFA\u7FFD\u7FFE\u7FFF\u8007"+
+        "\u8008\u800A\u800D\u800E\u800F\u8011\u8013\u8014"+
+        "\u8016\u801D\u801E\u801F\u8020\u8024\u8026\u802C"+
+        "\u802E\u8030\u8034\u8035\u8037\u8039\u803A\u803C"+
+        "\u803E\u8040\u8044\u8060\u8064\u8066\u806D\u8071"+
+        "\u8075\u8081\u8088\u808E\u809C\u809E\u80A6\u80A7"+
+        "\u80AB\u80B8\u80B9\u80C8\u80CD\u80CF\u80D2\u80D4"+
+        "\u80D5\u80D7\u80D8\u80E0\u80ED\u80EE\u80F0\u80F2"+
+        "\u80F3\u80F6\u80F9\u80FA\u80FE\u8103\u810B\u8116"+
+        "\u8117\u8118\u811C\u811E\u8120\u8124\u8127\u812C"+
+        "\u8130\u8135\u813A\u813C\u8145\u8147\u814A\u814C"+
+        "\u8152\u8157\u8160\u8161\u8167\u8168\u8169\u816D"+
+        "\u816F\u8177\u8181\u8190\u8184\u8185\u8186\u818B"+
+        "\u818E\u8196\u8198\u819B\u819E\u81A2\u81AE\u81B2"+
+        "\u81B4\u81BB\u81CB\u81C3\u81C5\u81CA\u81CE\u81CF"+
+        "\u81D5\u81D7\u81DB\u81DD\u81DE\u81E1\u81E4\u81EB"+
+        "\u81EC\u81F0\u81F1\u81F2\u81F5\u81F6\u81F8\u81F9"+
+        "\u81FD\u81FF\u8200\u8203\u820F\u8213\u8214\u8219"+
+        "\u821A\u821D\u8221\u8222\u8228\u8232\u8234\u823A"+
+        "\u8243\u8244\u8245\u8246\u824B\u824E\u824F\u8251"+
+        "\u8256\u825C\u8260\u8263\u8267\u826D\u8274\u827B"+
+        "\u827D\u827F\u8280\u8281\u8283\u8284\u8287\u8289"+
+        "\u828A\u828E\u8291\u8294\u8296\u8298\u829A\u829B"+
+        "\u82A0\u82A1\u82A3\u82A4\u82A7\u82A8\u82A9\u82AA"+
+        "\u82AE\u82B0\u82B2\u82B4\u82B7\u82BA\u82BC\u82BE"+
+        "\u82BF\u82C6\u82D0\u82D5\u82DA\u82E0\u82E2\u82E4"+
+        "\u82E8\u82EA\u82ED\u82EF\u82F6\u82F7\u82FD\u82FE"+
+        "\u8300\u8301\u8307\u8308\u830A\u830B\u8354\u831B"+
+        "\u831D\u831E\u831F\u8321\u8322\u832C\u832D\u832E"+
+        "\u8330\u8333\u8337\u833A\u833C\u833D\u8342\u8343"+
+        "\u8344\u8347\u834D\u834E\u8351\u8355\u8356\u8357"+
+        "\u8370\u8378\u837D\u837F\u8380\u8382\u8384\u8386"+
+        "\u838D\u8392\u8394\u8395\u8398\u8399\u839B\u839C"+
+        "\u839D\u83A6\u83A7\u83A9\u83AC\u83BE\u83BF\u83C0"+
+        "\u83C7\u83C9\u83CF\u83D0\u83D1\u83D4\u83DD\u8353"+
+        "\u83E8\u83EA\u83F6\u83F8\u83F9\u83FC\u8401\u8406"+
+        "\u840A\u840F\u8411\u8415\u8419\u83AD\u842F\u8439"+
+        "\u8445\u8447\u8448\u844A\u844D\u844F\u8451\u8452"+
+        "\u8456\u8458\u8459\u845A\u845C\u8460\u8464\u8465"+
+        "\u8467\u846A\u8470\u8473\u8474\u8476\u8478\u847C"+
+        "\u847D\u8481\u8485\u8492\u8493\u8495\u849E\u84A6"+
+        "\u84A8\u84A9\u84AA\u84AF\u84B1\u84B4\u84BA\u84BD"+
+        "\u84BE\u84C0\u84C2\u84C7\u84C8\u84CC\u84CF\u84D3";
+
+    private final static String innerIndex3=
+        "\u84DC\u84E7\u84EA\u84EF\u84F0\u84F1\u84F2\u84F7"+
+        "\u8532\u84FA\u84FB\u84FD\u8502\u8503\u8507\u850C"+
+        "\u850E\u8510\u851C\u851E\u8522\u8523\u8524\u8525"+
+        "\u8527\u852A\u852B\u852F\u8533\u8534\u8536\u853F"+
+        "\u8546\u854F\u8550\u8551\u8552\u8553\u8556\u8559"+
+        "\u855C\u855D\u855E\u855F\u8560\u8561\u8562\u8564"+
+        "\u856B\u856F\u8579\u857A\u857B\u857D\u857F\u8581"+
+        "\u8585\u8586\u8589\u858B\u858C\u858F\u8593\u8598"+
+        "\u859D\u859F\u85A0\u85A2\u85A5\u85A7\u85B4\u85B6"+
+        "\u85B7\u85B8\u85BC\u85BD\u85BE\u85BF\u85C2\u85C7"+
+        "\u85CA\u85CB\u85CE\u85AD\u85D8\u85DA\u85DF\u85E0"+
+        "\u85E6\u85E8\u85ED\u85F3\u85F6\u85FC\u85FF\u8600"+
+        "\u8604\u8605\u860D\u860E\u8610\u8611\u8612\u8618"+
+        "\u8619\u861B\u861E\u8621\u8627\u8629\u8636\u8638"+
+        "\u863A\u863C\u863D\u8640\u8642\u8646\u8652\u8653"+
+        "\u8656\u8657\u8658\u8659\u865D\u8660\u8661\u8662"+
+        "\u8663\u8664\u8669\u866C\u866F\u8675\u8676\u8677"+
+        "\u867A\u868D\u8691\u8696\u8698\u869A\u869C\u86A1"+
+        "\u86A6\u86A7\u86A8\u86AD\u86B1\u86B3\u86B4\u86B5"+
+        "\u86B7\u86B8\u86B9\u86BF\u86C0\u86C1\u86C3\u86C5"+
+        "\u86D1\u86D2\u86D5\u86D7\u86DA\u86DC\u86E0\u86E3"+
+        "\u86E5\u86E7\u8688\u86FA\u86FC\u86FD\u8704\u8705"+
+        "\u8707\u870B\u870E\u870F\u8710\u8713\u8714\u8719"+
+        "\u871E\u871F\u8721\u8723\u8728\u872E\u872F\u8731"+
+        "\u8732\u8739\u873A\u873C\u873D\u873E\u8740\u8743"+
+        "\u8745\u874D\u8758\u875D\u8761\u8764\u8765\u876F"+
+        "\u8771\u8772\u877B\u8783\u8784\u8785\u8786\u8787"+
+        "\u8788\u8789\u878B\u878C\u8790\u8793\u8795\u8797"+
+        "\u8798\u8799\u879E\u87A0\u87A3\u87A7\u87AC\u87AD"+
+        "\u87AE\u87B1\u87B5\u87BE\u87BF\u87C1\u87C8\u87C9"+
+        "\u87CA\u87CE\u87D5\u87D6\u87D9\u87DA\u87DC\u87DF"+
+        "\u87E2\u87E3\u87E4\u87EA\u87EB\u87ED\u87F1\u87F3"+
+        "\u87F8\u87FA\u87FF\u8801\u8803\u8806\u8809\u880A"+
+        "\u880B\u8810\u8819\u8812\u8813\u8814\u8818\u881A"+
+        "\u881B\u881C\u881E\u881F\u8828\u882D\u882E\u8830"+
+        "\u8832\u8835\u883A\u883C\u8841\u8843\u8845\u8848"+
+        "\u8849\u884A\u884B\u884E\u8851\u8855\u8856\u8858"+
+        "\u885A\u885C\u885F\u8860\u8864\u8869\u8871\u8879"+
+        "\u887B\u8880\u8898\u889A\u889B\u889C\u889F\u88A0"+
+        "\u88A8\u88AA\u88BA\u88BD\u88BE\u88C0\u88CA\u88CB"+
+        "\u88CC\u88CD\u88CE\u88D1\u88D2\u88D3\u88DB\u88DE"+
+        "\u88E7\u88EF\u88F0\u88F1\u88F5\u88F7\u8901\u8906"+
+        "\u890D\u890E\u890F\u8915\u8916\u8918\u8919\u891A"+
+        "\u891C\u8920\u8926\u8927\u8928\u8930\u8931\u8932"+
+        "\u8935\u8939\u893A\u893E\u8940\u8942\u8945\u8946"+
+        "\u8949\u894F\u8952\u8957\u895A\u895B\u895C\u8961"+
+        "\u8962\u8963\u896B\u896E\u8970\u8973\u8975\u897A"+
+        "\u897B\u897C\u897D\u8989\u898D\u8990\u8994\u8995"+
+        "\u899B\u899C\u899F\u89A0\u89A5\u89B0\u89B4\u89B5"+
+        "\u89B6\u89B7\u89BC\u89D4\u89D5\u89D6\u89D7\u89D8"+
+        "\u89E5\u89E9\u89EB\u89ED\u89F1\u89F3\u89F6\u89F9"+
+        "\u89FD\u89FF\u8A04\u8A05\u8A07\u8A0F\u8A11\u8A12"+
+        "\u8A14\u8A15\u8A1E\u8A20\u8A22\u8A24\u8A26\u8A2B"+
+        "\u8A2C\u8A2F\u8A35\u8A37\u8A3D\u8A3E\u8A40\u8A43"+
+        "\u8A45\u8A47\u8A49\u8A4D\u8A4E\u8A53\u8A56\u8A57"+
+        "\u8A58\u8A5C\u8A5D\u8A61\u8A65\u8A67\u8A75\u8A76"+
+        "\u8A77\u8A79\u8A7A\u8A7B\u8A7E\u8A7F\u8A80\u8A83"+
+        "\u8A86\u8A8B\u8A8F\u8A90\u8A92\u8A96\u8A97\u8A99"+
+        "\u8A9F\u8AA7\u8AA9\u8AAE\u8AAF\u8AB3\u8AB6\u8AB7"+
+        "\u8ABB\u8ABE\u8AC3\u8AC6\u8AC8\u8AC9\u8ACA\u8AD1"+
+        "\u8AD3\u8AD4\u8AD5\u8AD7\u8ADD\u8ADF\u8AEC\u8AF0"+
+        "\u8AF4\u8AF5\u8AF6\u8AFC\u8AFF\u8B05\u8B06\u8B0B"+
+        "\u8B11\u8B1C\u8B1E\u8B1F\u8B0A\u8B2D\u8B30\u8B37"+
+        "\u8B3C\u8B42\u8B43\u8B44\u8B45\u8B46\u8B48\u8B52"+
+        "\u8B53\u8B54\u8B59\u8B4D\u8B5E\u8B63\u8B6D\u8B76"+
+        "\u8B78\u8B79\u8B7C\u8B7E\u8B81\u8B84\u8B85\u8B8B"+
+        "\u8B8D\u8B8F\u8B94\u8B95\u8B9C\u8B9E\u8B9F\u8C38"+
+        "\u8C39\u8C3D\u8C3E\u8C45\u8C47\u8C49\u8C4B\u8C4F"+
+        "\u8C51\u8C53\u8C54\u8C57\u8C58\u8C5B\u8C5D\u8C59"+
+        "\u8C63\u8C64\u8C66\u8C68\u8C69\u8C6D\u8C73\u8C75"+
+        "\u8C76\u8C7B\u8C7E\u8C86\u8C87\u8C8B\u8C90\u8C92"+
+        "\u8C93\u8C99\u8C9B\u8C9C\u8CA4\u8CB9\u8CBA\u8CC5"+
+        "\u8CC6\u8CC9\u8CCB\u8CCF\u8CD6\u8CD5\u8CD9\u8CDD"+
+        "\u8CE1\u8CE8\u8CEC\u8CEF\u8CF0\u8CF2\u8CF5\u8CF7"+
+        "\u8CF8\u8CFE\u8CFF\u8D01\u8D03\u8D09\u8D12\u8D17"+
+        "\u8D1B\u8D65\u8D69\u8D6C\u8D6E\u8D7F\u8D82\u8D84"+
+        "\u8D88\u8D8D\u8D90\u8D91\u8D95\u8D9E\u8D9F\u8DA0"+
+        "\u8DA6\u8DAB\u8DAC\u8DAF\u8DB2\u8DB5\u8DB7\u8DB9"+
+        "\u8DBB\u8DC0\u8DC5\u8DC6\u8DC7\u8DC8\u8DCA\u8DCE"+
+        "\u8DD1\u8DD4\u8DD5\u8DD7\u8DD9\u8DE4\u8DE5\u8DE7"+
+        "\u8DEC\u8DF0\u8DBC\u8DF1\u8DF2\u8DF4\u8DFD\u8E01"+
+        "\u8E04\u8E05\u8E06\u8E0B\u8E11\u8E14\u8E16\u8E20"+
+        "\u8E21\u8E22\u8E23\u8E26\u8E27\u8E31\u8E33\u8E36"+
+        "\u8E37\u8E38\u8E39\u8E3D\u8E40\u8E41\u8E4B\u8E4D"+
+        "\u8E4E\u8E4F\u8E54\u8E5B\u8E5C\u8E5D\u8E5E\u8E61"+
+        "\u8E62\u8E69\u8E6C\u8E6D\u8E6F\u8E70\u8E71\u8E79"+
+        "\u8E7A\u8E7B\u8E82\u8E83\u8E89\u8E90\u8E92\u8E95"+
+        "\u8E9A\u8E9B\u8E9D\u8E9E\u8EA2\u8EA7\u8EA9\u8EAD"+
+        "\u8EAE\u8EB3\u8EB5\u8EBA\u8EBB\u8EC0\u8EC1\u8EC3"+
+        "\u8EC4\u8EC7\u8ECF\u8ED1\u8ED4\u8EDC\u8EE8\u8EEE"+
+        "\u8EF0\u8EF1\u8EF7\u8EF9\u8EFA\u8EED\u8F00\u8F02"+
+        "\u8F07\u8F08\u8F0F\u8F10\u8F16\u8F17\u8F18\u8F1E"+
+        "\u8F20\u8F21\u8F23\u8F25\u8F27\u8F28\u8F2C\u8F2D"+
+        "\u8F2E\u8F34\u8F35\u8F36\u8F37\u8F3A\u8F40\u8F41"+
+        "\u8F43\u8F47\u8F4F\u8F51\u8F52\u8F53\u8F54\u8F55"+
+        "\u8F58\u8F5D\u8F5E\u8F65\u8F9D\u8FA0\u8FA1\u8FA4"+
+        "\u8FA5\u8FA6\u8FB5\u8FB6\u8FB8\u8FBE\u8FC0\u8FC1"+
+        "\u8FC6\u8FCA\u8FCB\u8FCD\u8FD0\u8FD2\u8FD3\u8FD5"+
+        "\u8FE0\u8FE3\u8FE4\u8FE8\u8FEE\u8FF1\u8FF5\u8FF6"+
+        "\u8FFB\u8FFE\u9002\u9004\u9008\u900C\u9018\u901B"+
+        "\u9028\u9029\u902F\u902A\u902C\u902D\u9033\u9034"+
+        "\u9037\u903F\u9043\u9044\u904C\u905B\u905D\u9062"+
+        "\u9066\u9067\u906C\u9070\u9074\u9079\u9085\u9088"+
+        "\u908B\u908C\u908E\u9090\u9095\u9097\u9098\u9099"+
+        "\u909B\u90A0\u90A1\u90A2\u90A5\u90B0\u90B2\u90B3"+
+        "\u90B4\u90B6\u90BD\u90CC\u90BE\u90C3\u90C4\u90C5"+
+        "\u90C7\u90C8\u90D5\u90D7\u90D8\u90D9\u90DC\u90DD"+
+        "\u90DF\u90E5\u90D2\u90F6\u90EB\u90EF\u90F0\u90F4"+
+        "\u90FE\u90FF\u9100\u9104\u9105\u9106\u9108\u910D"+
+        "\u9110\u9114\u9116\u9117\u9118\u911A\u911C\u911E"+
+        "\u9120\u9125\u9122\u9123\u9127\u9129\u912E\u912F"+
+        "\u9131\u9134\u9136\u9137\u9139\u913A\u913C\u913D"+
+        "\u9143\u9147\u9148\u914F\u9153\u9157\u9159\u915A"+
+        "\u915B\u9161\u9164\u9167\u916D\u9174\u9179\u917A"+
+        "\u917B\u9181\u9183\u9185\u9186\u918A\u918E\u9191"+
+        "\u9193\u9194\u9195\u9198\u919E\u91A1\u91A6\u91A8"+
+        "\u91AC\u91AD\u91AE\u91B0\u91B1\u91B2\u91B3\u91B6"+
+        "\u91BB\u91BC\u91BD\u91BF\u91C2\u91C3\u91C5\u91D3"+
+        "\u91D4\u91D7\u91D9\u91DA\u91DE\u91E4\u91E5\u91E9"+
+        "\u91EA\u91EC\u91ED\u91EE\u91EF\u91F0\u91F1\u91F7"+
+        "\u91F9\u91FB\u91FD\u9200\u9201\u9204\u9205\u9206"+
+        "\u9207\u9209\u920A\u920C\u9210\u9212\u9213\u9216"+
+        "\u9218\u921C\u921D\u9223\u9224\u9225\u9226\u9228"+
+        "\u922E\u922F\u9230\u9233\u9235\u9236\u9238\u9239"+
+        "\u923A\u923C\u923E\u9240\u9242\u9243\u9246\u9247"+
+        "\u924A\u924D\u924E\u924F\u9251\u9258\u9259\u925C"+
+        "\u925D\u9260\u9261\u9265\u9267\u9268\u9269\u926E"+
+        "\u926F\u9270\u9275\u9276\u9277\u9278\u9279\u927B"+
+        "\u927C\u927D\u927F\u9288\u9289\u928A\u928D\u928E"+
+        "\u9292\u9297\u9299\u929F\u92A0\u92A4\u92A5\u92A7"+
+        "\u92A8\u92AB\u92AF\u92B2\u92B6\u92B8\u92BA\u92BB"+
+        "\u92BC\u92BD\u92BF\u92C0\u92C1\u92C2\u92C3\u92C5"+
+        "\u92C6\u92C7\u92C8\u92CB\u92CC\u92CD\u92CE\u92D0"+
+        "\u92D3\u92D5\u92D7\u92D8\u92D9\u92DC\u92DD\u92DF"+
+        "\u92E0\u92E1\u92E3\u92E5\u92E7\u92E8\u92EC\u92EE"+
+        "\u92F0\u92F9\u92FB\u92FF\u9300\u9302\u9308\u930D"+
+        "\u9311\u9314\u9315\u931C\u931D\u931E\u931F\u9321"+
+        "\u9324\u9325\u9327\u9329\u932A\u9333\u9334\u9336"+
+        "\u9337\u9347\u9348\u9349\u9350\u9351\u9352\u9355"+
+        "\u9357\u9358\u935A\u935E\u9364\u9365\u9367\u9369"+
+        "\u936A\u936D\u936F\u9370\u9371\u9373\u9374\u9376"+
+        "\u937A\u937D\u937F\u9380\u9381\u9382\u9388\u938A"+
+        "\u938B\u938D\u938F\u9392\u9395\u9398\u939B\u939E"+
+        "\u93A1\u93A3\u93A4\u93A6\u93A8\u93AB\u93B4\u93B5"+
+        "\u93B6\u93BA\u93A9\u93C1\u93C4\u93C5\u93C6\u93C7"+
+        "\u93C9\u93CA\u93CB\u93CC\u93CD\u93D3\u93D9\u93DC"+
+        "\u93DE\u93DF\u93E2\u93E6\u93E7\u93F9\u93F7\u93F8"+
+        "\u93FA\u93FB\u93FD\u9401\u9402\u9404\u9408\u9409"+
+        "\u940D\u940E\u940F\u9415\u9416\u9417\u941F\u942E"+
+        "\u942F\u9431\u9432\u9433\u9434\u943B\u943F\u943D"+
+        "\u9443\u9445\u9448\u944A\u944C\u9455\u9459\u945C"+
+        "\u945F\u9461\u9463\u9468\u946B\u946D\u946E\u946F"+
+        "\u9471\u9472\u9484\u9483\u9578\u9579\u957E\u9584"+
+        "\u9588\u958C\u958D\u958E\u959D\u959E\u959F\u95A1"+
+        "\u95A6\u95A9\u95AB\u95AC\u95B4\u95B6\u95BA\u95BD"+
+        "\u95BF\u95C6\u95C8\u95C9\u95CB\u95D0\u95D1\u95D2"+
+        "\u95D3\u95D9\u95DA\u95DD\u95DE\u95DF\u95E0\u95E4"+
+        "\u95E6\u961D\u961E\u9622\u9624\u9625\u9626\u962C"+
+        "\u9631\u9633\u9637\u9638\u9639\u963A\u963C\u963D"+
+        "\u9641\u9652\u9654\u9656\u9657\u9658\u9661\u966E"+
+        "\u9674\u967B\u967C\u967E\u967F\u9681\u9682\u9683"+
+        "\u9684\u9689\u9691\u9696\u969A\u969D\u969F\u96A4"+
+        "\u96A5\u96A6\u96A9\u96AE\u96AF\u96B3\u96BA\u96CA"+
+        "\u96D2\u5DB2\u96D8\u96DA\u96DD\u96DE\u96DF\u96E9"+
+        "\u96EF\u96F1\u96FA\u9702\u9703\u9705\u9709\u971A"+
+        "\u971B\u971D\u9721\u9722\u9723\u9728\u9731\u9733"+
+        "\u9741\u9743\u974A\u974E\u974F\u9755\u9757\u9758"+
+        "\u975A\u975B\u9763\u9767\u976A\u976E\u9773\u9776"+
+        "\u9777\u9778\u977B\u977D\u977F\u9780\u9789\u9795"+
+        "\u9796\u9797\u9799\u979A\u979E\u979F\u97A2\u97AC"+
+        "\u97AE\u97B1\u97B2\u97B5\u97B6\u97B8\u97B9\u97BA"+
+        "\u97BC\u97BE\u97BF\u97C1\u97C4\u97C5\u97C7\u97C9"+
+        "\u97CA\u97CC\u97CD\u97CE\u97D0\u97D1\u97D4\u97D7"+
+        "\u97D8\u97D9\u97DD\u97DE\u97E0\u97DB\u97E1\u97E4"+
+        "\u97EF\u97F1\u97F4\u97F7\u97F8\u97FA\u9807\u980A"+
+        "\u9819\u980D\u980E\u9814\u9816\u981C\u981E\u9820"+
+        "\u9823\u9826\u982B\u982E\u982F\u9830\u9832\u9833"+
+        "\u9835\u9825\u983E\u9844\u9847\u984A\u9851\u9852"+
+        "\u9853\u9856\u9857\u9859\u985A\u9862\u9863\u9865"+
+        "\u9866\u986A\u986C\u98AB\u98AD\u98AE\u98B0\u98B4"+
+        "\u98B7\u98B8\u98BA\u98BB\u98BF\u98C2\u98C5\u98C8"+
+        "\u98CC\u98E1\u98E3\u98E5\u98E6\u98E7\u98EA\u98F3"+
+        "\u98F6\u9902\u9907\u9908\u9911\u9915\u9916\u9917"+
+        "\u991A\u991B\u991C\u991F\u9922\u9926\u9927\u992B"+
+        "\u9931\u9932\u9933\u9934\u9935\u9939\u993A\u993B"+
+        "\u993C\u9940\u9941\u9946\u9947\u9948\u994D\u994E"+
+        "\u9954\u9958\u9959\u995B\u995C\u995E\u995F\u9960"+
+        "\u999B\u999D\u999F\u99A6\u99B0\u99B1\u99B2\u99B5";
+
+    private final static String innerIndex4=
+        "\u99B9\u99BA\u99BD\u99BF\u99C3\u99C9\u99D3\u99D4"+
+        "\u99D9\u99DA\u99DC\u99DE\u99E7\u99EA\u99EB\u99EC"+
+        "\u99F0\u99F4\u99F5\u99F9\u99FD\u99FE\u9A02\u9A03"+
+        "\u9A04\u9A0B\u9A0C\u9A10\u9A11\u9A16\u9A1E\u9A20"+
+        "\u9A22\u9A23\u9A24\u9A27\u9A2D\u9A2E\u9A33\u9A35"+
+        "\u9A36\u9A38\u9A47\u9A41\u9A44\u9A4A\u9A4B\u9A4C"+
+        "\u9A4E\u9A51\u9A54\u9A56\u9A5D\u9AAA\u9AAC\u9AAE"+
+        "\u9AAF\u9AB2\u9AB4\u9AB5\u9AB6\u9AB9\u9ABB\u9ABE"+
+        "\u9ABF\u9AC1\u9AC3\u9AC6\u9AC8\u9ACE\u9AD0\u9AD2"+
+        "\u9AD5\u9AD6\u9AD7\u9ADB\u9ADC\u9AE0\u9AE4\u9AE5"+
+        "\u9AE7\u9AE9\u9AEC\u9AF2\u9AF3\u9AF5\u9AF9\u9AFA"+
+        "\u9AFD\u9AFF\u9B00\u9B01\u9B02\u9B03\u9B04\u9B05"+
+        "\u9B08\u9B09\u9B0B\u9B0C\u9B0D\u9B0E\u9B10\u9B12"+
+        "\u9B16\u9B19\u9B1B\u9B1C\u9B20\u9B26\u9B2B\u9B2D"+
+        "\u9B33\u9B34\u9B35\u9B37\u9B39\u9B3A\u9B3D\u9B48"+
+        "\u9B4B\u9B4C\u9B55\u9B56\u9B57\u9B5B\u9B5E\u9B61"+
+        "\u9B63\u9B65\u9B66\u9B68\u9B6A\u9B6B\u9B6C\u9B6D"+
+        "\u9B6E\u9B73\u9B75\u9B77\u9B78\u9B79\u9B7F\u9B80"+
+        "\u9B84\u9B85\u9B86\u9B87\u9B89\u9B8A\u9B8B\u9B8D"+
+        "\u9B8F\u9B90\u9B94\u9B9A\u9B9D\u9B9E\u9BA6\u9BA7"+
+        "\u9BA9\u9BAC\u9BB0\u9BB1\u9BB2\u9BB7\u9BB8\u9BBB"+
+        "\u9BBC\u9BBE\u9BBF\u9BC1\u9BC7\u9BC8\u9BCE\u9BD0"+
+        "\u9BD7\u9BD8\u9BDD\u9BDF\u9BE5\u9BE7\u9BEA\u9BEB"+
+        "\u9BEF\u9BF3\u9BF7\u9BF8\u9BF9\u9BFA\u9BFD\u9BFF"+
+        "\u9C00\u9C02\u9C0B\u9C0F\u9C11\u9C16\u9C18\u9C19"+
+        "\u9C1A\u9C1C\u9C1E\u9C22\u9C23\u9C26\u9C27\u9C28"+
+        "\u9C29\u9C2A\u9C31\u9C35\u9C36\u9C37\u9C3D\u9C41"+
+        "\u9C43\u9C44\u9C45\u9C49\u9C4A\u9C4E\u9C4F\u9C50"+
+        "\u9C53\u9C54\u9C56\u9C58\u9C5B\u9C5D\u9C5E\u9C5F"+
+        "\u9C63\u9C69\u9C6A\u9C5C\u9C6B\u9C68\u9C6E\u9C70"+
+        "\u9C72\u9C75\u9C77\u9C7B\u9CE6\u9CF2\u9CF7\u9CF9"+
+        "\u9D0B\u9D02\u9D11\u9D17\u9D18\u9D1C\u9D1D\u9D1E"+
+        "\u9D2F\u9D30\u9D32\u9D33\u9D34\u9D3A\u9D3C\u9D45"+
+        "\u9D3D\u9D42\u9D43\u9D47\u9D4A\u9D53\u9D54\u9D5F"+
+        "\u9D63\u9D62\u9D65\u9D69\u9D6A\u9D6B\u9D70\u9D76"+
+        "\u9D77\u9D7B\u9D7C\u9D7E\u9D83\u9D84\u9D86\u9D8A"+
+        "\u9D8D\u9D8E\u9D92\u9D93\u9D95\u9D96\u9D97\u9D98"+
+        "\u9DA1\u9DAA\u9DAC\u9DAE\u9DB1\u9DB5\u9DB9\u9DBC"+
+        "\u9DBF\u9DC3\u9DC7\u9DC9\u9DCA\u9DD4\u9DD5\u9DD6"+
+        "\u9DD7\u9DDA\u9DDE\u9DDF\u9DE0\u9DE5\u9DE7\u9DE9"+
+        "\u9DEB\u9DEE\u9DF0\u9DF3\u9DF4\u9DFE\u9E0A\u9E02"+
+        "\u9E07\u9E0E\u9E10\u9E11\u9E12\u9E15\u9E16\u9E19"+
+        "\u9E1C\u9E1D\u9E7A\u9E7B\u9E7C\u9E80\u9E82\u9E83"+
+        "\u9E84\u9E85\u9E87\u9E8E\u9E8F\u9E96\u9E98\u9E9B"+
+        "\u9E9E\u9EA4\u9EA8\u9EAC\u9EAE\u9EAF\u9EB0\u9EB3"+
+        "\u9EB4\u9EB5\u9EC6\u9EC8\u9ECB\u9ED5\u9EDF\u9EE4"+
+        "\u9EE7\u9EEC\u9EED\u9EEE\u9EF0\u9EF1\u9EF2\u9EF5"+
+        "\u9EF8\u9EFF\u9F02\u9F03\u9F09\u9F0F\u9F10\u9F11"+
+        "\u9F12\u9F14\u9F16\u9F17\u9F19\u9F1A\u9F1B\u9F1F"+
+        "\u9F22\u9F26\u9F2A\u9F2B\u9F2F\u9F31\u9F32\u9F34"+
+        "\u9F37\u9F39\u9F3A\u9F3C\u9F3D\u9F3F\u9F41\u9F43"+
+        "\u9F44\u9F45\u9F46\u9F47\u9F53\u9F55\u9F56\u9F57"+
+        "\u9F58\u9F5A\u9F5D\u9F5E\u9F68\u9F69\u9F6D\u9F6E"+
+        "\u9F6F\u9F70\u9F71\u9F73\u9F75\u9F7A\u9F7D\u9F8F"+
+        "\u9F90\u9F91\u9F92\u9F94\u9F96\u9F97\u9F9E\u9FA1"+
+        "\u9FA2\u9FA3\u9FA5\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD";
+
+    private final static short index1[] = {
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 1, 0, 0, 0, 2, 3, 0, 4, 5, 6, 0, 0, 0, 0,
+        7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
+        23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+        39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
+        55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+    };
+
+    private final static String index2[] = {
+        innerIndex0,
+        innerIndex1,
+        innerIndex2,
+        innerIndex3,
+        innerIndex4
+    };
+
+    protected char convSingleByte(int b) {
+        return REPLACE_CHAR;
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/sun/nio/cs/OLD/JIS_X_0212_Encoder.java	Wed Aug 01 11:08:11 2012 -0400
@@ -0,0 +1,2980 @@
+/*
+ * Copyright (c) 2003, 2005, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code 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
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ */
+
+
+import java.nio.charset.Charset;
+import java.nio.charset.CharsetEncoder;
+
+public class JIS_X_0212_Encoder extends DoubleByteEncoder
+{
+    /*
+     * default replacement defined merely for pseudo
+     * charset x-JIS-X-0208 to instantiate with a
+     * decodeable replacement byte sequence
+     * JIS X 0212(1990) 0x2244 maps to INVERTED QUESTION MARK
+     * Compound converters, CES (character encoding schemes)
+     * based upon JIS X 0212-1990 will most likely redefine
+     * their own replacement chars or use 0x3f
+     * (ASCII
+     */
+
+    private static byte[] repl = { (byte)0x22, (byte)0x44 };
+
+    public JIS_X_0212_Encoder(Charset cs) {
+        super(cs,
+              index1,
+              index2 ,
+              repl
+             );
+    }
+
+    protected int encodeSingle(char inputChar) {
+        return -1;
+    }
+
+    private final static String innerIndex0=
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u2242\u0000\u0000\u2270\u0000\u2243\u0000"+
+        "\u0000\u226D\u226C\u0000\u0000\u0000\u226E\u2234"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u2231\u0000\u226B\u0000\u0000\u0000\u0000\u2244"+
+        "\u2A22\u2A21\u2A24\u2A2A\u2A23\u2A29\u2921\u2A2E"+
+        "\u2A32\u2A31\u2A34\u2A33\u2A40\u2A3F\u2A42\u2A41"+
+        "\u0000\u2A50\u2A52\u2A51\u2A54\u2A58\u2A53\u0000"+
+        "\u292C\u2A63\u2A62\u2A65\u2A64\u2A72\u2930\u294E"+
+        "\u2B22\u2B21\u2B24\u2B2A\u2B23\u2B29\u2941\u2B2E"+
+        "\u2B32\u2B31\u2B34\u2B33\u2B40\u2B3F\u2B42\u2B41"+
+        "\u2943\u2B50\u2B52\u2B51\u2B54\u2B58\u2B53\u0000"+
+        "\u294C\u2B63\u2B62\u2B65\u2B64\u2B72\u2950\u2B73"+
+        "\u2A27\u2B27\u2A25\u2B25\u2A28\u2B28\u2A2B\u2B2B"+
+        "\u2A2C\u2B2C\u2A2F\u2B2F\u2A2D\u2B2D\u2A30\u2B30"+
+        "\u2922\u2942\u2A37\u2B37\u0000\u0000\u2A36\u2B36"+
+        "\u2A38\u2B38\u2A35\u2B35\u2A3A\u2B3A\u2A3B\u2B3B"+
+        "\u2A3D\u2B3D\u2A3C\u0000\u2A3E\u2B3E\u2924\u2944"+
+        "\u2A47\u2B47\u2A45\u2B45\u0000\u0000\u2A46\u2B46"+
+        "\u2A44\u2945\u2926\u2946\u2A48\u2B48\u2A49\u2B49"+
+        "\u2947\u2A4A\u2B4A\u2A4C\u2B4C\u2A4B\u2B4B\u2929"+
+        "\u2949\u2928\u2948\u2A4D\u2B4D\u2A4F\u2B4F\u2A4E"+
+        "\u2B4E\u294A\u292B\u294B\u2A57\u2B57\u0000\u0000"+
+        "\u2A56\u2B56\u292D\u294D\u2A59\u2B59\u2A5B\u2B5B"+
+        "\u2A5A\u2B5A\u2A5C\u2B5C\u2A5D\u2B5D\u2A5F\u2B5F"+
+        "\u2A5E\u2B5E\u2A61\u2B61\u2A60\u2B60\u292F\u294F"+
+        "\u2A6C\u2B6C\u2A69\u2B69\u2A66\u2B66\u2A6B\u2B6B"+
+        "\u2A68\u2B68\u2A6A\u2B6A\u2A71\u2B71\u2A74\u2B74"+
+        "\u2A73\u2A75\u2B75\u2A77\u2B77\u2A76\u2B76\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u2A26\u2B26\u2A43"+
+        "\u2B43\u2A55\u2B55\u2A67\u2B67\u2A70\u2B70\u2A6D"+
+        "\u2B6D\u2A6F\u2B6F\u2A6E\u2B6E\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u2B39\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u2230"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u222F\u2232\u2236\u2235\u0000\u2233\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u2238\u2239\u2661\u0000"+
+        "\u2662\u2663\u2664\u0000\u2667\u0000\u2669\u266C"+
+        "\u2676\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u2665\u266A\u2671\u2672\u2673\u2674"+
+        "\u267B\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u2678\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u2675\u267A\u2677\u2679\u267C\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u2742\u2743\u2744\u2745\u2746\u2747"+
+        "\u2748\u2749\u274A\u274B\u274C\u0000\u274D\u274E"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u2772\u2773\u2774\u2775\u2776\u2777"+
+        "\u2778\u2779\u277A\u277B\u277C\u0000\u277D\u277E"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u2271\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u226F\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3021\u0000\u3022\u3023\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u3024\u0000\u0000\u0000"+
+        "\u0000\u0000\u3025\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3026"+
+        "\u0000\u0000\u0000\u3027\u3028\u0000\u0000\u0000"+
+        "\u3029\u0000\u0000\u302A\u0000\u0000\u302B\u302C"+
+        "\u302D\u0000\u0000\u0000\u0000\u302E\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u302F\u3030\u0000\u0000\u3031\u0000\u0000\u3032"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u3033\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3034\u0000\u3035\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u3036\u0000\u0000\u0000\u0000"+
+        "\u3037\u3038\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u3039\u303A\u0000\u0000"+
+        "\u0000\u303B\u0000\u0000\u0000\u0000\u0000\u303C"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u303D\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u303E\u303F"+
+        "\u0000\u0000\u0000\u0000\u0000\u3040\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3041"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u3042\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u3043\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u3044\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3045\u3046\u0000\u0000\u0000\u0000"+
+        "\u3047\u3048\u3049\u0000\u0000\u0000\u0000\u0000"+
+        "\u304A\u0000\u0000\u0000\u0000\u0000\u0000\u304B"+
+        "\u0000\u304C\u0000\u304D\u0000\u304E\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u304F\u3050\u3051"+
+        "\u3052\u0000\u3053\u3054\u0000\u0000\u0000\u0000"+
+        "\u3055\u0000\u0000\u3056\u3057\u0000\u0000\u0000"+
+        "\u0000\u0000\u3058\u0000\u0000\u3059\u305A\u305B"+
+        "\u0000\u305C\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u305D\u0000"+
+        "\u0000\u305E\u0000\u3060\u0000\u3061\u0000\u3062"+
+        "\u0000\u3063\u0000\u3064\u0000\u0000\u3065\u0000"+
+        "\u3066\u0000\u3067\u0000\u0000\u0000\u0000\u0000"+
+        "\u3068\u3069\u0000\u306A\u306B\u0000\u0000\u0000"+
+        "\u0000\u0000\u306C\u0000\u306D\u0000\u306E\u0000"+
+        "\u306F\u0000\u0000\u0000\u0000\u0000\u0000\u3070"+
+        "\u305F\u0000\u0000\u3071\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3072\u0000\u3073\u0000\u3074\u0000"+
+        "\u0000\u3075\u0000\u0000\u0000\u0000\u0000\u3076"+
+        "\u3077\u3078\u3079\u0000\u0000\u307A\u307B\u0000"+
+        "\u0000\u307C\u307D\u0000\u307E\u3121\u0000\u0000"+
+        "\u0000\u3122\u3123\u0000\u3124\u0000\u3125\u0000"+
+        "\u3126\u0000\u3127\u3128\u3129\u0000\u0000\u312A"+
+        "\u0000\u312B\u312C\u0000\u0000\u0000\u312D\u312E"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u312F\u0000\u0000\u0000\u0000\u3130"+
+        "\u0000\u3131\u0000\u3132\u3133\u3134\u3135\u0000"+
+        "\u3136\u3137\u0000\u0000\u0000\u3138\u3139\u0000"+
+        "\u313A\u313B\u0000\u313C\u313D\u313E\u0000\u313F"+
+        "\u0000\u0000\u3140\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u3141\u0000\u0000\u0000"+
+        "\u3142\u0000\u3143\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u3144\u0000\u3145\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u3146\u3147\u0000\u3148"+
+        "\u3149\u314A\u0000\u0000\u314B\u0000\u0000\u314C"+
+        "\u0000\u0000\u314D\u0000\u314E\u0000\u314F\u0000"+
+        "\u3150\u0000\u0000\u3151\u0000\u0000\u0000\u3152"+
+        "\u3153\u0000\u0000\u3154\u3155\u3156\u3157\u0000"+
+        "\u0000\u0000\u3158\u0000\u0000\u0000\u0000\u3159"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u315A\u0000"+
+        "\u315B\u0000\u315C\u315D\u0000\u315E\u0000\u0000"+
+        "\u0000\u0000\u0000\u3176\u0000\u0000\u0000\u0000"+
+        "\u315F\u3160\u3161\u0000\u0000\u3162\u3163\u0000"+
+        "\u0000\u0000\u3164\u0000\u3165\u0000\u3166\u0000"+
+        "\u0000\u3167\u3168\u3169\u0000\u0000\u0000\u316A"+
+        "\u0000\u316B\u0000\u0000\u0000\u0000\u0000\u316C"+
+        "\u316D\u0000\u316E\u316F\u0000\u0000\u3170\u3171"+
+        "\u0000\u0000\u3172\u0000\u0000\u3173\u0000\u0000"+
+        "\u3174\u3175\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u3177\u0000\u3178\u3179\u0000\u317A\u0000"+
+        "\u0000\u0000\u317B\u0000\u0000\u0000\u317C\u317D"+
+        "\u317E\u0000\u3221\u3222\u3223\u0000\u3224\u0000"+
+        "\u0000\u0000\u0000\u3225\u3226\u0000\u3227\u3228"+
+        "\u3229\u322A\u322B\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u322C\u0000\u0000\u0000\u0000\u322D"+
+        "\u322E\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u322F\u3230\u0000\u0000\u3231\u0000\u0000"+
+        "\u3232\u0000\u0000\u3233\u3234\u0000\u0000\u3235"+
+        "\u0000\u0000\u0000\u0000\u3236\u0000\u3237\u0000"+
+        "\u3238\u0000\u0000\u3239\u323A\u0000\u0000\u0000"+
+        "\u323B\u0000\u0000\u0000\u323C\u323D\u0000\u323E"+
+        "\u0000\u0000\u323F\u0000\u3240\u0000\u3241\u0000"+
+        "\u3242\u3243\u0000\u0000\u0000\u0000\u0000\u3244"+
+        "\u0000\u3245\u3251\u0000\u0000\u0000\u3246\u0000"+
+        "\u0000\u0000\u3247\u0000\u0000\u0000\u3248\u0000"+
+        "\u0000\u0000\u0000\u3249\u0000\u0000\u324A\u324B"+
+        "\u324C\u0000\u0000\u324D\u324E\u324F\u3250\u0000"+
+        "\u3252\u0000\u0000\u0000\u0000\u0000\u0000\u3253"+
+        "\u0000\u3254\u0000\u3255\u3256\u3257\u3258\u0000"+
+        "\u0000\u0000\u0000\u3259\u0000\u0000\u0000\u325A"+
+        "\u325B\u0000\u0000\u0000\u325C\u325D\u0000\u325E"+
+        "\u0000\u325F\u0000\u3260\u3261\u3262\u0000\u0000"+
+        "\u3263\u3264\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3265\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3266\u0000\u0000\u0000\u0000\u3267"+
+        "\u0000\u0000\u0000\u3268\u0000\u3269\u0000\u326A"+
+        "\u326B\u0000\u0000\u0000\u0000\u0000\u0000\u326C"+
+        "\u0000\u0000\u0000\u0000\u326D\u0000\u326E\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u326F\u0000"+
+        "\u0000\u0000\u0000\u3270\u3271\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u3272\u0000\u0000\u3273\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u3274\u0000\u0000\u0000\u0000\u3275\u0000\u0000"+
+        "\u0000\u3276\u0000\u3277\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u3278\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u3279\u0000\u327A\u0000\u327B\u0000\u327C\u327D"+
+        "\u0000\u0000\u327E\u0000\u0000\u0000\u0000\u0000"+
+        "\u3321\u0000\u0000\u0000\u0000\u0000\u0000\u3322"+
+        "\u0000\u3323\u3324\u3325\u0000\u3326\u0000\u0000"+
+        "\u3327\u0000\u0000\u0000\u0000\u0000\u3328\u0000"+
+        "\u0000\u0000\u3329\u0000\u0000\u332A\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u332B\u0000"+
+        "\u0000\u0000\u332C\u332D\u332E\u0000\u0000\u332F"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u3330\u3331\u0000\u0000\u3332\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3333\u3334\u0000\u3335\u3336\u0000"+
+        "\u3337\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3338\u0000\u0000\u0000\u0000\u0000"+
+        "\u3339\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u333A\u333B\u0000\u0000\u333C\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u333D\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u333E\u0000\u0000"+
+        "\u0000\u333F\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u3340\u0000\u3341"+
+        "\u3342\u0000\u3343\u0000\u3344\u0000\u0000\u3345"+
+        "\u3346\u3347\u0000\u0000\u0000\u0000\u3348\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u3349\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u334A"+
+        "\u334B\u334C\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u334D\u0000\u334E\u0000\u0000\u334F\u0000\u0000"+
+        "\u0000\u0000\u3350\u0000\u3351\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u3352\u0000\u3353\u3354\u3355"+
+        "\u3356\u0000\u3357\u0000\u3358\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u3359\u335A\u335B\u335C"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u335D"+
+        "\u335E\u0000\u0000\u0000\u0000\u0000\u335F\u3360"+
+        "\u3361\u0000\u3362\u3363\u0000\u3364\u0000\u0000"+
+        "\u3365\u0000\u0000\u0000\u3366\u0000\u3367\u0000"+
+        "\u3368\u0000\u0000\u0000\u3369\u0000\u0000\u336A"+
+        "\u0000\u336B\u0000\u0000\u336C\u0000\u336D\u0000"+
+        "\u0000\u0000\u0000\u336E\u336F\u0000\u0000\u0000"+
+        "\u0000\u3370\u0000\u0000\u0000\u3371\u0000\u0000"+
+        "\u3372\u3373\u3374\u0000\u3375\u0000\u0000\u0000"+
+        "\u3376\u3377\u0000\u0000\u3378\u0000\u3379\u337A"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u337B\u0000\u0000\u337C\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u337D\u337E\u3421\u0000\u0000\u0000"+
+        "\u0000\u3422\u0000\u3423\u0000\u0000\u0000\u0000"+
+        "\u3424\u0000\u0000\u3425\u3426\u0000\u3427\u3428"+
+        "\u0000\u0000\u0000\u0000\u0000\u3429\u0000\u342A"+
+        "\u342B\u342C\u0000\u342D\u342E\u342F\u0000\u0000"+
+        "\u3430\u0000\u3431\u0000\u0000\u3432\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u3433\u3434\u3435\u0000"+
+        "\u0000\u0000\u3436\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u3438\u3437\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u3439\u0000\u343A\u0000\u0000\u0000\u0000"+
+        "\u0000\u343B\u0000\u343C\u0000\u343D\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u343E\u343F\u0000\u0000"+
+        "\u0000\u0000\u3440\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u3441\u0000\u0000\u0000\u0000\u3442\u0000"+
+        "\u0000\u0000\u0000\u3443\u0000\u0000\u0000\u3444"+
+        "\u3445\u0000\u0000\u0000\u0000\u0000\u3446\u0000"+
+        "\u0000\u0000\u0000\u3447\u3448\u0000\u0000\u0000"+
+        "\u0000\u3449\u0000\u0000\u0000\u344A\u0000\u0000"+
+        "\u0000\u344B\u0000\u0000\u344C\u0000\u0000\u0000"+
+        "\u0000\u0000\u344D\u344E\u0000\u0000\u0000\u344F"+
+        "\u0000\u0000\u3450\u0000\u3451\u3452\u0000\u3453"+
+        "\u3454\u0000\u3455\u0000\u0000\u3456\u0000\u0000"+
+        "\u3457\u0000\u0000\u0000\u0000\u3458\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3459"+
+        "\u0000\u0000\u345A\u345B\u0000\u345C\u0000\u0000"+
+        "\u0000\u0000\u345D\u0000\u0000\u345E\u345F\u0000"+
+        "\u3460\u0000\u0000\u0000\u0000\u0000\u3461\u3462"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u3463\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3464\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u3465\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3466\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u3467\u0000\u0000\u0000\u0000\u0000\u3468"+
+        "\u3469\u0000\u346A\u0000\u0000\u0000\u0000\u346B"+
+        "\u0000\u346C\u0000\u0000\u346D\u346E\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u346F\u3470\u0000\u0000\u3471"+
+        "\u0000\u0000\u0000\u0000\u0000\u3472\u0000\u3473"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u3474\u0000"+
+        "\u0000\u0000\u3475\u0000\u3476\u0000\u3477\u3478"+
+        "\u0000\u3479\u0000\u347A\u0000\u347B\u347C\u0000"+
+        "\u0000\u0000\u0000\u0000\u347D\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u347E"+
+        "\u0000\u3521\u0000\u3522\u0000\u3523\u0000\u0000"+
+        "\u3524\u3525\u0000\u0000\u0000\u3526\u0000\u0000"+
+        "\u0000\u3527\u0000\u0000\u0000\u3528\u3529\u0000"+
+        "\u0000\u0000\u0000\u0000\u352A\u0000\u0000\u352B"+
+        "\u0000\u352C\u0000\u0000\u0000\u0000\u352D\u352E"+
+        "\u0000\u352F\u3530\u0000\u0000\u3531\u3532\u0000"+
+        "\u0000\u3533\u0000\u0000\u0000\u0000\u0000\u3534"+
+        "\u0000\u3535\u3536\u3537\u0000\u0000\u0000\u3538"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u3539\u0000"+
+        "\u0000\u0000\u353A\u0000\u0000\u353B\u353C\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u353D\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u353E\u0000\u353F\u0000\u0000\u3540"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u3541\u0000"+
+        "\u0000\u0000\u0000\u0000\u3542\u0000\u3543\u3544"+
+        "\u3545\u3546\u0000\u0000\u0000\u3547\u0000\u0000"+
+        "\u3548\u3549\u0000\u0000\u354A\u354B\u354C\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u354D\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u354E\u354F\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3550\u0000\u0000\u3551\u3552\u0000"+
+        "\u0000\u0000\u0000\u3553\u3554\u3555\u0000\u0000"+
+        "\u0000\u3556\u0000\u0000\u0000\u0000\u0000\u3557"+
+        "\u0000\u3558\u3559\u0000\u0000\u355A\u0000\u0000"+
+        "\u355B\u355C\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u355D\u0000\u355E\u355F\u0000\u0000\u3560\u0000"+
+        "\u3561\u3562\u0000\u0000\u3563\u0000\u3564\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3565"+
+        "\u0000\u3566\u3567\u0000\u0000\u0000\u3568\u0000"+
+        "\u3569\u0000\u0000\u0000\u0000\u0000\u356A\u356B"+
+        "\u0000\u356C\u356D\u356E\u356F\u0000\u0000\u3570"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u3571\u3572\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u3573\u0000\u0000"+
+        "\u0000\u0000\u3574\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3575"+
+        "\u0000\u3576\u0000\u3577\u0000\u0000\u3578\u0000"+
+        "\u0000\u3579\u0000\u357A\u357B\u0000\u357C\u0000"+
+        "\u0000\u357D\u357E\u3621\u0000\u0000\u0000\u3622"+
+        "\u3623\u0000\u0000\u3624\u0000\u0000\u3625\u0000"+
+        "\u0000\u0000\u3626\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u3627\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u3628\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3629"+
+        "\u0000\u0000\u0000\u0000\u0000\u362A\u0000\u0000"+
+        "\u362B\u0000\u362C\u0000\u0000\u362D\u362E\u362F"+
+        "\u3630\u3631\u3632\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u3633\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u3634\u0000\u0000\u0000"+
+        "\u3635\u0000\u0000\u3636\u0000\u3637\u0000\u3638"+
+        "\u0000\u3639\u0000\u363A\u363B\u363C\u0000\u363D"+
+        "\u363E\u363F\u0000\u3640\u3641\u0000\u3642\u0000"+
+        "\u0000\u3643\u0000\u3644\u0000\u3645\u0000\u3646"+
+        "\u0000\u0000\u0000\u0000\u3647\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u3648\u0000"+
+        "\u3649\u364A\u364B\u364C\u0000\u0000\u364D\u0000"+
+        "\u0000\u364E\u0000\u0000\u0000\u364F\u0000\u3650"+
+        "\u0000\u3651\u3652\u0000\u0000\u3653\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u3654\u3655\u0000\u0000"+
+        "\u3656\u0000\u0000\u3657\u3658\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u3659\u0000\u0000"+
+        "\u0000\u365A\u365B\u0000\u0000\u365C\u365D\u365E"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u365F\u3660"+
+        "\u3661\u3662\u0000\u3663\u3664\u3665\u0000\u0000"+
+        "\u0000\u3666\u0000\u3667\u0000\u0000\u0000\u3668"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u3669\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u366A\u0000\u0000"+
+        "\u0000\u366B\u366C\u366D\u3670\u3671\u0000\u366E"+
+        "\u366F\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u3672\u0000\u0000\u3673\u3674\u0000\u3675"+
+        "\u0000\u3676\u0000\u0000\u3677\u3678\u3679\u367A"+
+        "\u367B\u0000\u0000\u367D\u0000\u367E\u0000\u0000"+
+        "\u0000\u367C\u0000\u0000\u0000\u0000\u3721\u3722"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
+
+    private final static String innerIndex1=
+        "\u0000\u3723\u3724\u0000\u0000\u0000\u0000\u3725"+
+        "\u0000\u0000\u3726\u0000\u3727\u0000\u0000\u0000"+
+        "\u0000\u3728\u0000\u0000\u0000\u3729\u0000\u0000"+
+        "\u0000\u0000\u372A\u372B\u0000\u372C\u0000\u0000"+
+        "\u372D\u0000\u372E\u372F\u3730\u3731\u0000\u0000"+
+        "\u0000\u3732\u3733\u0000\u3734\u0000\u3735\u3736"+
+        "\u0000\u0000\u0000\u3737\u3738\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u3739\u373A\u373B"+
+        "\u0000\u0000\u0000\u0000\u0000\u373C\u373D\u0000"+
+        "\u0000\u0000\u0000\u0000\u373E\u373F\u0000\u0000"+
+        "\u0000\u0000\u3740\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3741\u0000\u0000\u3742\u0000\u3743"+
+        "\u3744\u0000\u0000\u3745\u0000\u3746\u3747\u3748"+
+        "\u3749\u374A\u0000\u374B\u374C\u374D\u0000\u374E"+
+        "\u0000\u374F\u3750\u3751\u3752\u0000\u3753\u0000"+
+        "\u0000\u3754\u0000\u3755\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u3756\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u3757\u3760\u0000\u3758"+
+        "\u0000\u3759\u375A\u0000\u375B\u375C\u375D\u375E"+
+        "\u0000\u375F\u0000\u0000\u0000\u0000\u0000\u3761"+
+        "\u3762\u3763\u0000\u0000\u3764\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u3765\u0000\u0000\u0000\u0000\u3766\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3767"+
+        "\u3768\u0000\u0000\u0000\u3769\u0000\u0000\u376A"+
+        "\u0000\u0000\u0000\u0000\u0000\u376B\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u376C\u376D\u0000"+
+        "\u0000\u377E\u0000\u0000\u376E\u0000\u376F\u3770"+
+        "\u0000\u3771\u0000\u0000\u0000\u3772\u0000\u0000"+
+        "\u3773\u0000\u0000\u0000\u0000\u3774\u3775\u0000"+
+        "\u3776\u0000\u0000\u0000\u0000\u3777\u3778\u3779"+
+        "\u0000\u0000\u0000\u377A\u377B\u0000\u0000\u0000"+
+        "\u377C\u377D\u0000\u0000\u3821\u3822\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u3823\u0000\u0000\u3824\u3825"+
+        "\u3826\u0000\u0000\u0000\u0000\u0000\u3827\u3828"+
+        "\u0000\u0000\u0000\u0000\u0000\u3829\u0000\u0000"+
+        "\u0000\u0000\u382A\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u382B\u0000\u0000\u0000\u0000\u0000\u382C"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u382D\u0000\u0000\u382E\u382F\u0000\u3830"+
+        "\u3831\u0000\u0000\u0000\u0000\u3832\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3833"+
+        "\u0000\u3834\u0000\u0000\u3835\u0000\u0000\u3836"+
+        "\u3837\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u3838\u0000\u0000\u0000\u3839\u0000\u0000\u383A"+
+        "\u383B\u383C\u0000\u0000\u0000\u0000\u0000\u383D"+
+        "\u383E\u383F\u3840\u0000\u3841\u3842\u0000\u3843"+
+        "\u3844\u0000\u0000\u0000\u3845\u0000\u3846\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u3847\u0000\u0000"+
+        "\u3848\u3849\u384A\u0000\u0000\u0000\u384B\u0000"+
+        "\u0000\u384C\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u384D\u384E\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u3850\u0000\u0000\u0000"+
+        "\u0000\u0000\u3851\u0000\u384F\u0000\u0000\u0000"+
+        "\u3852\u0000\u0000\u0000\u0000\u3853\u3854\u0000"+
+        "\u3855\u0000\u3856\u0000\u3857\u0000\u3858\u0000"+
+        "\u0000\u0000\u3859\u0000\u0000\u385A\u0000\u0000"+
+        "\u0000\u385B\u385C\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u385D\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u385E\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u385F\u3860\u0000"+
+        "\u0000\u0000\u0000\u3861\u3862\u0000\u0000\u0000"+
+        "\u0000\u0000\u3863\u3864\u3865\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u3867\u0000\u0000"+
+        "\u0000\u3868\u0000\u3869\u386A\u0000\u0000\u0000"+
+        "\u386B\u0000\u0000\u0000\u0000\u0000\u0000\u386C"+
+        "\u386D\u0000\u0000\u386E\u0000\u386F\u3870\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3871"+
+        "\u0000\u0000\u0000\u3872\u0000\u0000\u3873\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3874\u3875\u0000\u0000\u0000\u0000"+
+        "\u0000\u3876\u0000\u3877\u0000\u3878\u3879\u387A"+
+        "\u0000\u387B\u0000\u387C\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u387D\u0000\u387E\u0000\u3921"+
+        "\u0000\u0000\u3922\u0000\u0000\u3923\u3924\u0000"+
+        "\u0000\u3925\u0000\u3926\u3927\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u3928\u3929\u0000\u392A\u0000"+
+        "\u0000\u0000\u392B\u0000\u0000\u392C\u0000\u392D"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u392E"+
+        "\u0000\u0000\u0000\u0000\u392F\u0000\u0000\u3930"+
+        "\u0000\u0000\u0000\u0000\u0000\u3931\u3932\u3933"+
+        "\u3934\u0000\u0000\u3935\u0000\u0000\u0000\u3936"+
+        "\u0000\u0000\u3937\u0000\u3938\u0000\u0000\u0000"+
+        "\u0000\u3939\u0000\u393A\u393B\u0000\u0000\u0000"+
+        "\u393C\u0000\u393D\u0000\u0000\u393E\u0000\u0000"+
+        "\u0000\u0000\u393F\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u3940\u3941\u3942"+
+        "\u0000\u0000\u0000\u3943\u3944\u0000\u0000\u3945"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u3946\u3947"+
+        "\u0000\u3948\u3949\u0000\u394A\u0000\u0000\u394B"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u394C\u0000\u0000\u0000\u394D\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u394E\u394F\u3950\u0000"+
+        "\u0000\u0000\u3951\u3952\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u3953\u0000"+
+        "\u0000\u0000\u0000\u3954\u3955\u0000\u0000\u3956"+
+        "\u3957\u0000\u3958\u0000\u0000\u3959\u0000\u0000"+
+        "\u395A\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u395B\u395C\u0000\u395D"+
+        "\u395E\u0000\u0000\u0000\u395F\u0000\u0000\u0000"+
+        "\u3960\u0000\u0000\u0000\u0000\u3961\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u3962\u0000"+
+        "\u0000\u0000\u0000\u3963\u0000\u3964\u0000\u3965"+
+        "\u0000\u0000\u0000\u0000\u0000\u3966\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3967"+
+        "\u0000\u0000\u3968\u3969\u0000\u0000\u396A\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u396B\u0000\u0000\u0000\u0000"+
+        "\u396C\u0000\u0000\u396D\u0000\u0000\u396E\u0000"+
+        "\u0000\u396F\u0000\u0000\u3970\u0000\u3971\u3972"+
+        "\u3973\u0000\u3974\u0000\u0000\u0000\u0000\u3975"+
+        "\u0000\u0000\u0000\u0000\u3976\u0000\u0000\u0000"+
+        "\u0000\u3977\u3978\u3979\u0000\u397A\u0000\u0000"+
+        "\u397B\u0000\u397C\u397D\u0000\u0000\u0000\u397E"+
+        "\u0000\u0000\u0000\u0000\u3A21\u0000\u3A22\u0000"+
+        "\u3A23\u0000\u0000\u0000\u0000\u0000\u0000\u3A24"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3A25\u0000\u3A26\u0000\u0000\u0000"+
+        "\u3A27\u0000\u0000\u0000\u0000\u3A28\u0000\u0000"+
+        "\u0000\u0000\u3A29\u0000\u0000\u0000\u3A2A\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u3A2B\u3A2C\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u3A2D\u0000\u0000"+
+        "\u3A2E\u3A2F\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u3A30\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3A31"+
+        "\u0000\u3A33\u0000\u3A34\u0000\u3A35\u0000\u0000"+
+        "\u0000\u3A36\u0000\u0000\u0000\u3A37\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u3A38\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u3A32\u0000\u0000\u0000"+
+        "\u3A39\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u3A3A\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u3A3B\u3A3C\u0000\u0000\u0000"+
+        "\u0000\u0000\u3A3D\u0000\u0000\u0000\u3A3E\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u3A3F\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u3A40\u0000\u0000\u0000\u0000\u0000\u3A41\u3A42"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u3A43\u3A44\u3A45\u3A46"+
+        "\u0000\u3A47\u0000\u0000\u3A48\u0000\u3A49\u0000"+
+        "\u0000\u0000\u3A4A\u0000\u0000\u0000\u3A4B\u0000"+
+        "\u3A4C\u3A4D\u0000\u3A4E\u3A4F\u0000\u3A50\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u3A51\u3A52\u0000\u0000\u3A53\u3A54\u0000\u3A55"+
+        "\u0000\u3A56\u3A57\u0000\u0000\u0000\u0000\u3A58"+
+        "\u0000\u0000\u3A59\u0000\u3A5A\u0000\u0000\u0000"+
+        "\u3A5B\u3A5C\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u3A5D\u0000\u3A5E"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u3A5F\u3A60"+
+        "\u3A61\u3A62\u3A63\u0000\u0000\u0000\u0000\u0000"+
+        "\u3A64\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3A65"+
+        "\u0000\u3A66\u0000\u0000\u3A67\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u3A68\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u3A69\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3A6A"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u3A6B\u3A6C"+
+        "\u0000\u0000\u0000\u3A6D\u0000\u0000\u3A6E\u0000"+
+        "\u0000\u3A6F\u0000\u3A70\u3A71\u0000\u3A72\u0000"+
+        "\u3A73\u0000\u3A74\u0000\u0000\u3A75\u3A76\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u3A77\u3A78\u0000\u3A79\u0000\u0000\u0000"+
+        "\u0000\u0000\u3A7A\u3A7B\u0000\u0000\u0000\u3A7C"+
+        "\u3A7D\u3A7E\u0000\u0000\u0000\u3B21\u0000\u0000"+
+        "\u3B22\u0000\u0000\u0000\u3B23\u3B24\u0000\u0000"+
+        "\u0000\u0000\u3B25\u3B26\u3B27\u3B28\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3B29"+
+        "\u3B2A\u0000\u3B2B\u0000\u0000\u0000\u0000\u3B2C"+
+        "\u0000\u0000\u3B2D\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u3B2E\u0000\u3B2F"+
+        "\u3B30\u0000\u3B31\u3B32\u0000\u0000\u3B33\u0000"+
+        "\u0000\u0000\u3B34\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3B35\u0000\u3B36\u3B37\u0000\u0000"+
+        "\u0000\u0000\u3B38\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u3B39\u0000\u3B3A\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3B3B\u0000\u0000\u0000\u0000\u3B3D"+
+        "\u0000\u0000\u0000\u0000\u0000\u3B3C\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u3B3E\u0000"+
+        "\u0000\u3B3F\u3B40\u0000\u3B41\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u3B42\u0000\u0000\u0000\u0000\u3B43\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u3B44\u0000\u0000"+
+        "\u0000\u0000\u3B45\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u3B47\u3B48\u0000\u3B49\u3B4A"+
+        "\u0000\u0000\u0000\u3B46\u0000\u0000\u0000\u0000"+
+        "\u0000\u3B4B\u0000\u0000\u3B4C\u0000\u0000\u0000"+
+        "\u0000\u3B4D\u0000\u0000\u0000\u3B4E\u0000\u3B4F"+
+        "\u0000\u0000\u3B50\u3B51\u0000\u0000\u3B52\u0000"+
+        "\u3B53\u0000\u3B57\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u3B55\u0000\u0000\u0000\u3B54\u0000\u0000"+
+        "\u0000\u3B56\u0000\u0000\u0000\u0000\u0000\u3B58"+
+        "\u3B59\u3B5A\u3B5B\u0000\u3B5C\u0000\u0000\u0000"+
+        "\u0000\u0000\u3B5D\u0000\u0000\u3B5E\u0000\u0000"+
+        "\u3B5F\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u3B60\u3B61\u0000\u0000\u0000\u3B62\u3B63"+
+        "\u0000\u3B64\u0000\u3B65\u0000\u0000\u0000\u0000"+
+        "\u3B66\u0000\u3B67\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3B68\u3B69\u3B6A\u3B6B\u0000\u0000"+
+        "\u0000\u3B6C\u0000\u3B6D\u0000\u0000\u0000\u3B6E"+
+        "\u3B6F\u0000\u0000\u0000\u0000\u0000\u0000\u3B70"+
+        "\u0000\u0000\u0000\u3B71\u0000\u0000\u0000\u0000"+
+        "\u3B72\u0000\u6674\u0000\u3B73\u0000\u0000\u0000"+
+        "\u3B74\u3B75\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u3B76\u0000\u0000\u0000\u3B77"+
+        "\u0000\u0000\u0000\u3B78\u0000\u0000\u3B7A\u0000"+
+        "\u3B79\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u3B7B\u3B7C\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u3B7D\u0000\u0000\u0000\u3B7E\u0000\u0000\u0000"+
+        "\u0000\u3C21\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u3C22\u3C23\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u3C24\u0000\u0000\u0000\u0000\u0000\u0000\u3C25"+
+        "\u0000\u0000\u0000\u0000\u0000\u3C26\u0000\u0000"+
+        "\u0000\u0000\u3C27\u0000\u3C28\u3C29\u0000\u0000"+
+        "\u3C2A\u0000\u0000\u0000\u0000\u0000\u0000\u3C2B"+
+        "\u3C2C\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u3C2E\u0000\u0000\u0000\u0000\u0000\u3C2D\u0000"+
+        "\u0000\u0000\u3C2F\u0000\u0000\u3C30\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u3C31\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u3C34\u0000\u3C32\u0000\u0000\u0000\u0000"+
+        "\u3C33\u3C35\u0000\u0000\u0000\u0000\u3C36\u0000"+
+        "\u3C37\u0000\u0000\u3C38\u3C39\u0000\u3C3A\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u3C3B\u0000\u3C3C\u3C3D\u3C3E\u3C3F\u3C40\u0000"+
+        "\u3C41\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u3C42\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u3C43\u0000\u0000\u3C44\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3C45\u0000\u3C46\u3C47\u0000\u0000"+
+        "\u3C48\u0000\u3C49\u0000\u3C4A\u0000\u0000\u0000"+
+        "\u0000\u3C4B\u0000\u3C4C\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u3C4D\u3C4E\u3C4F"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u3C50\u0000"+
+        "\u0000\u0000\u0000\u3C52\u3C51\u0000\u3C53\u0000"+
+        "\u0000\u3C54\u3C55\u0000\u3C56\u3C57\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u3C58\u0000\u3C59\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u3C5A\u0000\u0000"+
+        "\u0000\u0000\u0000\u3C5B\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3C5C\u0000\u0000\u0000\u3C5D\u3C5E"+
+        "\u3C5F\u0000\u0000\u0000\u0000\u0000\u3C60\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u3C61\u0000\u0000\u3C62\u3C63\u0000\u0000"+
+        "\u0000\u3C64\u3C65\u3C66\u3C67\u0000\u0000\u0000"+
+        "\u3C68\u0000\u0000\u3C69\u3C6A\u0000\u3C6B\u0000"+
+        "\u3C6C\u0000\u0000\u0000\u3C6D\u0000\u3C6E\u0000"+
+        "\u0000\u0000\u0000\u3C6F\u0000\u3C70\u0000\u3C71"+
+        "\u3C72\u0000\u0000\u0000\u3C73\u3C74\u0000\u3C75"+
+        "\u0000\u0000\u0000\u0000\u0000\u3C76\u0000\u0000"+
+        "\u3C77\u0000\u0000\u0000\u3C78\u0000\u0000\u0000"+
+        "\u3C79\u0000\u0000\u3C7A\u0000\u0000\u0000\u0000"+
+        "\u3C7B\u0000\u0000\u3C7C\u3C7D\u0000\u0000\u3C7E"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3D21"+
+        "\u0000\u0000\u3D22\u0000\u3D23\u3D24\u0000\u0000"+
+        "\u3D25\u0000\u3D26\u0000\u0000\u3D27\u3D28\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u3D29\u0000\u0000\u0000\u3D2A\u0000\u3D2B"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u3D2C\u0000"+
+        "\u0000\u0000\u0000\u0000\u3D2D\u3D2E\u0000\u0000"+
+        "\u0000\u0000\u3D2F\u0000\u3D32\u0000\u0000\u3D30"+
+        "\u0000\u0000\u0000\u3D31\u3D33\u0000\u0000\u3D34"+
+        "\u3D35\u3D36\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u3D37\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u3D38\u0000\u0000\u3D39"+
+        "\u3D3A\u3D3B\u0000\u3D3C\u0000\u0000\u0000\u0000"+
+        "\u3D3D\u3D3E\u3D3F\u3D40\u3D41\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u3D42\u0000"+
+        "\u0000\u3D43\u3D44\u0000\u0000\u0000\u0000\u0000"+
+        "\u3D45\u3D46\u3D47\u0000\u3D48\u3D49\u3D4A\u3D4B"+
+        "\u0000\u0000\u3D4C\u3D4D\u0000\u0000\u3D4E\u0000"+
+        "\u0000\u0000\u3D4F\u0000\u3D50\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3D51"+
+        "\u0000\u0000\u3D52\u0000\u0000\u3D53\u0000\u0000"+
+        "\u0000\u0000\u0000\u3D54\u3D55\u0000\u0000\u3D56"+
+        "\u3D57\u0000\u3D58\u0000\u0000\u0000\u0000\u3D59"+
+        "\u0000\u0000\u0000\u0000\u3D5A\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u3D5B\u0000\u0000"+
+        "\u0000\u0000\u0000\u3D5C\u0000\u3D5D\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u3D5E\u0000\u0000\u0000\u0000\u0000\u0000\u3D5F"+
+        "\u3D60\u3D61\u0000\u0000\u3D62\u0000\u0000\u0000"+
+        "\u0000\u3D63\u0000\u0000\u3D64\u0000\u3D65\u3D66"+
+        "\u0000\u0000\u0000\u0000\u0000\u3D67\u0000\u0000"+
+        "\u0000\u3D68\u0000\u0000\u0000\u0000\u0000\u3D69"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u3D6A\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u3D6B\u3D6C"+
+        "\u0000\u0000\u3D6D\u0000\u0000\u0000\u3D6E\u0000"+
+        "\u3D6F\u0000\u3D70\u0000\u0000\u0000\u3D71\u0000"+
+        "\u0000\u3D72\u0000\u3D73\u0000\u3D74\u0000\u0000"+
+        "\u3D75\u0000\u0000\u0000\u0000\u3D76\u3D77\u0000"+
+        "\u0000\u0000\u3D78\u0000\u3D79\u3D7A\u0000\u0000"+
+        "\u3D7B\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u3D7C\u3D7D\u0000\u0000\u0000\u0000\u0000\u3D7E"+
+        "\u0000\u0000\u0000\u3E21\u0000\u0000\u3E22\u0000"+
+        "\u0000\u0000\u3E23\u0000\u3E24\u0000\u0000\u0000"+
+        "\u3E25\u3E26\u3E27\u3E28\u0000\u0000\u3E29\u3E2A"+
+        "\u0000\u0000\u0000\u0000\u3E2B\u3E2C\u0000\u0000"+
+        "\u0000\u3E2D\u0000\u3E2E\u0000\u3E2F\u3E30\u0000"+
+        "\u0000\u0000\u3E31\u0000\u0000\u3E32\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3E33\u0000\u0000\u3E34\u0000\u0000"+
+        "\u3E35\u0000\u0000\u0000\u3E36\u3E37\u0000\u0000"+
+        "\u0000\u0000\u3E38\u0000\u0000\u0000\u0000\u3E39"+
+        "\u0000\u0000\u3E3A\u0000\u3E3B\u0000\u0000\u0000"+
+        "\u3E3C\u3E3D\u3E3E\u3E3F\u3E40\u0000\u3E41\u3E42"+
+        "\u0000\u3E43\u0000\u0000\u3E44\u0000\u3E45\u0000"+
+        "\u0000\u0000\u3E46\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3E47\u3E48\u0000\u0000\u0000\u0000"+
+        "\u3E49\u3E4A\u0000\u0000\u0000\u3E4B\u3E4C\u3E4D"+
+        "\u0000\u3E4E\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u3E4F\u0000\u0000\u0000\u3E50\u3E51\u0000"+
+        "\u0000\u3E52\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u3E53\u0000"+
+        "\u3E54\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u3E55\u0000\u0000\u0000"+
+        "\u0000\u0000\u3E56\u0000\u0000\u0000\u0000\u0000"+
+        "\u3E57\u0000\u0000\u3E58\u3E59\u0000\u0000\u3E5A"+
+        "\u3E5B\u3E5C\u0000\u3E5D\u3E5E\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u3E5F\u0000\u3E60\u0000\u0000"+
+        "\u0000\u0000\u3E61\u3E62\u0000\u0000\u0000\u3E63"+
+        "\u3E64\u0000\u0000\u0000\u3E65\u3E66\u0000\u3E67"+
+        "\u3E68\u0000\u0000\u0000\u0000\u3E69\u0000\u0000"+
+        "\u3E6A\u0000\u3E6B\u0000\u0000\u3E6C\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u3E6D\u3E6E\u0000\u0000\u3E6F\u0000\u0000\u0000"+
+        "\u3E70\u3E71\u3E72\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u3E73\u3E74"+
+        "\u0000\u0000\u0000\u0000\u0000\u3E75\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u3E76\u3E77\u3E78\u3E79"+
+        "\u0000\u3E7A\u3E7B\u0000\u0000\u3E7E\u0000\u3E7C"+
+        "\u0000\u3E7D\u0000\u0000\u3F21\u3F22\u0000\u3F23"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u3F24\u0000\u3F25\u3F26\u0000\u0000\u3F27"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u3F28\u0000\u3F29\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u3F2A\u0000\u0000\u0000"+
+        "\u3F2B\u0000\u3F2C\u3F2D\u0000\u0000\u0000\u3F2E"+
+        "\u0000\u3F2F\u0000\u3F30\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u3F31\u0000\u0000\u0000\u3F32\u0000\u0000"+
+        "\u0000\u0000\u3F33\u3F34\u3F35\u0000\u3F36\u0000"+
+        "\u0000\u0000\u0000\u0000\u3F37\u0000\u0000\u0000"+
+        "\u3F38\u3F39\u3F3A\u0000\u3F3B\u0000\u3F3C\u0000"+
+        "\u0000\u0000\u3F3D\u0000\u3F3E\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u3F3F\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u3F40\u0000\u3F41"+
+        "\u0000\u0000\u0000\u3F42\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3F43\u0000\u0000\u3F44\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u3F45\u3F46\u3F47"+
+        "\u3F48\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u3F49\u0000"+
+        "\u3F4A\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u3F4B\u0000\u0000\u3F4C\u3F4D"+
+        "\u0000\u0000\u3F4E\u0000\u0000\u0000\u3F4F\u3F50"+
+        "\u0000\u0000\u0000\u0000\u3F51\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u3F52\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u3F53\u3F54\u0000"+
+        "\u0000\u0000\u3F55\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3F56\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3F57\u0000\u3F58\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u3F59\u3F5A\u0000\u0000"+
+        "\u0000\u0000\u0000\u3F5B\u3F5C\u0000\u0000\u0000"+
+        "\u0000\u0000\u3F5D\u3F5E\u0000\u3F5F\u0000\u0000"+
+        "\u3F60\u0000\u0000\u3F61\u0000\u0000\u3F62\u0000"+
+        "\u3F63\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u3F64\u3F65\u0000\u0000\u3F66\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u3F67\u3F68\u0000"+
+        "\u0000\u3F69\u0000\u0000\u3F6A\u0000\u0000\u0000"+
+        "\u0000\u3F6B\u3F6C\u3F6D\u3F6E\u0000\u3F6F\u0000"+
+        "\u0000\u0000\u3F70\u3F71\u0000\u0000\u3F72\u0000"+
+        "\u0000\u0000\u3F73\u3F74\u3F75\u0000\u0000\u0000"+
+        "\u3F76\u0000\u0000\u3F77\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u3F78\u3F79\u0000"+
+        "\u0000\u0000\u0000\u0000\u3F7A\u3F7B\u0000\u0000"+
+        "\u0000\u3F7C\u0000\u0000\u3F7D\u3F7E\u0000\u0000"+
+        "\u4021\u0000\u0000\u0000\u4022\u4023\u0000\u4024"+
+        "\u0000\u0000\u4025\u0000\u4026\u0000\u0000\u4027"+
+        "\u0000\u0000\u4028\u0000\u0000\u0000\u0000\u0000"+
+        "\u4029\u0000\u0000\u0000\u402A\u402B\u0000\u0000"+
+        "\u0000\u402C\u402D\u0000\u0000\u0000\u402E\u0000"+
+        "\u0000\u0000\u0000\u0000\u402F\u0000\u4030\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u4031\u4032\u4033"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u4034\u0000\u0000"+
+        "\u0000\u4035\u0000\u0000\u0000\u4036\u0000\u0000"+
+        "\u4037\u0000\u0000\u0000\u0000\u0000\u4038\u0000"+
+        "\u0000\u4039\u0000\u403A\u403B\u403C\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u403D\u0000\u0000\u0000"+
+        "\u403E\u0000\u0000\u0000\u0000\u403F\u0000\u0000"+
+        "\u0000\u0000\u4040\u0000\u4041\u0000\u0000\u0000"+
+        "\u0000\u0000\u4042\u4043\u0000\u4044\u0000\u0000"+
+        "\u4045\u4046\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u4047\u4048\u0000\u0000\u0000\u0000\u0000"+
+        "\u4049\u0000\u404A\u0000\u404B\u0000\u0000\u0000"+
+        "\u404C\u0000\u0000\u0000\u0000\u0000\u404D\u0000"+
+        "\u404E\u0000\u404F\u0000\u4050\u4051\u0000\u0000"+
+        "\u0000\u4052\u4053\u0000\u0000\u0000\u0000\u4054"+
+        "\u4055\u0000\u0000\u0000\u0000\u4056\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u4057\u0000\u4058"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u4059\u0000\u0000\u0000\u405A"+
+        "\u0000\u405B\u405C\u405D\u405E\u0000\u0000\u0000"+
+        "\u0000\u0000\u405F\u4060\u4061\u4062\u0000\u4063"+
+        "\u4064\u4065\u0000\u4066\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u4067\u0000\u0000"+
+        "\u0000\u0000\u0000\u4068\u4069\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u406A\u0000\u406B\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u406C\u0000\u406D"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u406E"+
+        "\u406F\u4070\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u4071\u4072\u0000\u4073\u0000\u4074\u0000\u4075"+
+        "\u0000\u4076\u0000\u4077\u0000\u0000\u4078\u0000"+
+        "\u4079\u0000\u0000\u0000\u407A\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u407B\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u407C\u407D\u407E"+
+        "\u0000\u0000\u0000\u0000\u4121\u0000\u0000\u0000"+
+        "\u0000\u4122\u4123\u4124\u4125\u0000\u4126\u0000"+
+        "\u4127\u4128\u0000\u0000\u0000\u4129\u0000\u412A"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u412B\u412C\u0000\u0000"+
+        "\u0000\u412D\u412E\u0000\u0000\u412F\u0000\u0000"+
+        "\u4130\u0000\u0000\u0000\u0000\u4131\u0000\u4132"+
+        "\u0000\u0000\u0000\u4133\u0000\u0000\u0000\u4134"+
+        "\u0000\u4135\u0000\u0000\u4136\u0000\u0000\u0000"+
+        "\u4137\u4138\u4139\u0000\u0000\u0000\u0000\u413A"+
+        "\u0000\u0000\u0000\u413B\u413C\u0000\u413D\u0000"+
+        "\u0000\u413E\u0000\u413F\u0000\u0000\u4140\u4141"+
+        "\u0000\u0000\u4142\u0000\u0000\u0000\u4143\u0000"+
+        "\u0000\u4144\u0000\u0000\u0000\u0000\u4145\u0000"+
+        "\u0000\u4146\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u4147\u0000\u4148\u4149\u0000\u0000"+
+        "\u0000\u0000\u0000\u414A\u0000\u0000\u0000\u414B"+
+        "\u0000\u414C\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u414D\u0000\u414E\u0000\u414F\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4150"+
+        "\u4151\u0000\u0000\u0000\u0000\u0000\u0000\u4152"+
+        "\u0000\u0000\u0000\u4153\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u4154\u0000\u0000\u4155\u0000\u0000"+
+        "\u0000\u4156\u0000\u0000\u0000\u4157\u0000\u0000"+
+        "\u0000\u0000\u4158\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u4159\u0000\u0000\u415A\u0000\u0000"+
+        "\u415B\u0000\u0000\u0000\u0000\u415C\u0000\u0000"+
+        "\u415D\u0000\u0000\u415E\u0000\u0000\u415F\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u4160\u0000"+
+        "\u0000\u0000\u4161\u4162\u4163\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4164"+
+        "\u0000\u0000\u4165\u0000\u0000\u0000\u0000\u0000"+
+        "\u4166\u4167\u0000\u0000\u0000\u0000\u4168\u0000"+
+        "\u4169\u0000\u0000\u0000\u416A\u0000\u416B\u0000"+
+        "\u416C\u0000\u0000\u0000\u0000\u0000\u0000\u416D"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u416E\u0000\u416F\u0000\u4170\u4171\u0000\u0000"+
+        "\u0000\u4172\u0000\u0000\u0000\u0000\u4173\u4174"+
+        "\u4175\u0000\u0000\u0000\u4176\u0000\u0000\u0000"+
+        "\u4177\u4178\u0000\u0000\u0000\u4179\u0000\u0000"+
+        "\u0000\u417A\u417B\u0000\u0000\u417C\u417D\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u417E\u4221\u0000"+
+        "\u0000\u4222\u4223\u4224\u4225\u0000\u4226\u0000"+
+        "\u0000\u4227\u4228\u4229\u422A\u0000\u422B\u0000"+
+        "\u422C\u422D\u0000\u422E\u0000\u0000\u0000\u4230"+
+        "\u0000\u422F\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u4231\u0000\u0000\u0000\u0000\u4232\u4233\u0000"+
+        "\u0000\u0000\u4234\u0000\u4235\u0000\u4237\u0000"+
+        "\u0000\u4236\u0000\u0000\u0000\u0000\u0000\u4238"+
+        "\u4239\u423A\u0000\u423B\u423C\u0000\u0000\u0000"+
+        "\u423D\u423E\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u4240\u4241\u4242\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u4244\u0000\u4245\u0000\u4247"+
+        "\u4248\u4249\u0000\u424A\u424C\u0000\u4243\u4246"+
+        "\u424B\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u424D\u424E\u424F\u0000\u0000"+
+        "\u4250\u0000\u4251\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u4252\u4253\u4254\u4255\u0000\u0000\u4256"+
+        "\u4257\u0000\u0000\u0000\u4258\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u4259\u0000\u0000"+
+        "\u0000\u425A\u425B\u0000\u0000\u425C\u0000\u0000"+
+        "\u0000\u0000\u0000\u425D\u0000\u0000\u0000\u425E"+
+        "\u425F\u0000\u4260\u4261\u0000\u0000\u0000\u0000"+
+        "\u4262\u0000\u0000\u0000\u4263\u0000\u4264\u4265"+
+        "\u0000\u0000\u0000\u0000\u4266\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u4267\u0000\u0000\u0000\u4268"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u4269\u0000\u0000\u426A\u426B\u0000\u426C\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u426D\u423F\u0000\u0000\u0000\u0000";
+
+    private final static String innerIndex2=
+        "\u0000\u0000\u0000\u0000\u0000\u426E\u0000\u426F"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u4270\u0000"+
+        "\u0000\u0000\u0000\u4271\u0000\u0000\u0000\u0000"+
+        "\u0000\u4272\u0000\u0000\u4273\u0000\u0000\u0000"+
+        "\u4274\u0000\u4275\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u4276\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u4277\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u4278\u0000\u4279"+
+        "\u427A\u0000\u0000\u0000\u427B\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u427C\u427D\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u427E\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u4321\u0000"+
+        "\u0000\u0000\u0000\u0000\u4322\u0000\u4323\u0000"+
+        "\u0000\u0000\u0000\u0000\u4324\u0000\u4325\u0000"+
+        "\u0000\u0000\u0000\u4326\u0000\u0000\u0000\u0000"+
+        "\u0000\u4327\u0000\u0000\u4328\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u4329\u432A"+
+        "\u0000\u432B\u0000\u432C\u0000\u0000\u432D\u0000"+
+        "\u432E\u432F\u0000\u4330\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u4331\u4332\u4333\u0000\u0000\u4334\u0000\u0000"+
+        "\u0000\u0000\u0000\u4335\u4336\u4337\u0000\u0000"+
+        "\u4339\u0000\u433A\u433B\u0000\u433C\u0000\u0000"+
+        "\u433D\u433E\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u433F\u0000\u0000\u0000\u0000\u4340"+
+        "\u0000\u4341\u0000\u0000\u4342\u0000\u0000\u0000"+
+        "\u0000\u4343\u0000\u0000\u0000\u0000\u4344\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u4345\u0000\u4346\u0000\u0000\u0000\u4347\u4348"+
+        "\u0000\u4338\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u434A\u0000\u0000\u0000"+
+        "\u0000\u434B\u0000\u0000\u0000\u434C\u0000\u434D"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u434F"+
+        "\u434E\u0000\u0000\u0000\u4350\u4351\u0000\u4352"+
+        "\u4353\u4354\u0000\u4355\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u4356\u0000\u0000\u0000\u4357"+
+        "\u0000\u0000\u0000\u0000\u4358\u4359\u0000\u0000"+
+        "\u0000\u0000\u435A\u0000\u435B\u0000\u0000\u0000"+
+        "\u0000\u0000\u4349\u0000\u0000\u435C\u0000\u435D"+
+        "\u435E\u0000\u0000\u435F\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u4360\u0000\u0000\u4361\u4362"+
+        "\u4363\u4364\u4365\u0000\u0000\u4366\u0000\u0000"+
+        "\u0000\u4367\u4368\u4369\u436A\u0000\u0000\u0000"+
+        "\u0000\u0000\u436B\u0000\u436C\u0000\u436D\u0000"+
+        "\u436E\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u436F\u0000"+
+        "\u4370\u0000\u4371\u0000\u4372\u0000\u0000\u0000"+
+        "\u0000\u4373\u0000\u4374\u0000\u4375\u0000\u0000"+
+        "\u0000\u4376\u4377\u0000\u0000\u0000\u4378\u0000"+
+        "\u0000\u0000\u4379\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u437A\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u437B\u0000\u0000"+
+        "\u437C\u0000\u0000\u0000\u437D\u0000\u0000\u437E"+
+        "\u4421\u4422\u0000\u4423\u0000\u0000\u4424\u0000"+
+        "\u0000\u4425\u0000\u0000\u4426\u4427\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u4428\u0000\u0000"+
+        "\u4429\u0000\u442A\u442B\u442C\u442D\u0000\u0000"+
+        "\u442E\u442F\u0000\u0000\u0000\u4430\u4431\u0000"+
+        "\u0000\u0000\u0000\u4432\u4433\u4434\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u4435\u0000"+
+        "\u0000\u4436\u4437\u0000\u0000\u0000\u0000\u0000"+
+        "\u4438\u4439\u0000\u443A\u0000\u0000\u443B\u443C"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u443D\u0000\u443E\u0000\u443F\u0000\u0000"+
+        "\u4440\u0000\u0000\u4441\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u4442\u0000\u0000\u4443\u0000\u0000"+
+        "\u0000\u4444\u0000\u0000\u0000\u0000\u4445\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4446"+
+        "\u0000\u0000\u0000\u4447\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u4448\u4449\u444A\u444B\u0000"+
+        "\u444C\u444D\u0000\u0000\u444E\u0000\u0000\u0000"+
+        "\u444F\u4450\u4451\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u4452\u4453\u0000\u0000\u0000\u4454"+
+        "\u4455\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u4456\u0000\u0000"+
+        "\u0000\u0000\u4457\u0000\u0000\u0000\u4458\u0000"+
+        "\u4459\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u445A\u0000\u0000\u0000\u445B\u445C\u0000"+
+        "\u445D\u0000\u0000\u445E\u0000\u445F\u0000\u4460"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4461"+
+        "\u4462\u0000\u4463\u0000\u4464\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u4465\u0000\u0000"+
+        "\u4466\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u4467\u0000\u0000\u0000\u0000\u4468\u4469"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u446A\u0000\u0000\u446B\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u446C\u446D"+
+        "\u0000\u446E\u0000\u446F\u0000\u4470\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u4471\u0000"+
+        "\u4472\u4473\u0000\u4474\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4475"+
+        "\u0000\u4476\u0000\u0000\u0000\u4477\u0000\u0000"+
+        "\u0000\u0000\u4478\u0000\u0000\u4479\u0000\u0000"+
+        "\u447A\u0000\u0000\u0000\u447B\u0000\u0000\u0000"+
+        "\u447C\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u447D\u0000\u447E\u0000\u4521\u0000\u0000\u4522"+
+        "\u0000\u0000\u0000\u4523\u0000\u0000\u4524\u4525"+
+        "\u0000\u0000\u0000\u0000\u0000\u4526\u4527\u0000"+
+        "\u0000\u4528\u4529\u0000\u0000\u0000\u452A\u0000"+
+        "\u452B\u452C\u452D\u0000\u0000\u452E\u452F\u0000"+
+        "\u0000\u0000\u0000\u4530\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u4531\u0000\u0000\u4532"+
+        "\u0000\u0000\u4533\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u4534\u0000\u4535\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u4536\u0000"+
+        "\u0000\u4537\u0000\u4538\u0000\u0000\u4539\u453A"+
+        "\u0000\u453B\u0000\u453C\u0000\u0000\u0000\u0000"+
+        "\u0000\u453D\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u453E\u0000\u453F\u4540\u4541"+
+        "\u0000\u0000\u0000\u0000\u0000\u4542\u0000\u0000"+
+        "\u0000\u0000\u0000\u4543\u0000\u0000\u0000\u4544"+
+        "\u4545\u4546\u0000\u0000\u4547\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u4548\u4549\u454A"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u454B\u0000"+
+        "\u454D\u454C\u0000\u0000\u454E\u0000\u0000\u0000"+
+        "\u454F\u0000\u0000\u0000\u4550\u4551\u4552\u0000"+
+        "\u0000\u0000\u0000\u0000\u4553\u4554\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u4555\u0000\u0000\u4556"+
+        "\u0000\u0000\u0000\u0000\u4557\u0000\u0000\u0000"+
+        "\u4558\u4559\u455A\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u455B\u455C\u0000\u0000"+
+        "\u0000\u0000\u455D\u455E\u0000\u0000\u455F\u4560"+
+        "\u0000\u4561\u0000\u0000\u0000\u0000\u0000\u4562"+
+        "\u4563\u4564\u0000\u0000\u0000\u0000\u0000\u4565"+
+        "\u0000\u0000\u0000\u4566\u0000\u0000\u4567\u0000"+
+        "\u0000\u0000\u0000\u0000\u4568\u0000\u0000\u0000"+
+        "\u4569\u0000\u0000\u456A\u456B\u0000\u0000\u456C"+
+        "\u0000\u0000\u0000\u0000\u0000\u456D\u456E\u0000"+
+        "\u0000\u0000\u0000\u456F\u0000\u0000\u0000\u4570"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u4571\u0000"+
+        "\u0000\u0000\u4572\u0000\u0000\u4573\u0000\u0000"+
+        "\u0000\u0000\u4574\u0000\u0000\u0000\u4575\u0000"+
+        "\u4576\u0000\u0000\u0000\u0000\u4577\u0000\u0000"+
+        "\u4578\u0000\u0000\u0000\u0000\u0000\u0000\u4579"+
+        "\u0000\u0000\u0000\u457A\u0000\u0000\u457B\u0000"+
+        "\u457C\u0000\u0000\u0000\u0000\u457D\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u457E\u4621\u0000"+
+        "\u0000\u0000\u4622\u0000\u0000\u4623\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4624"+
+        "\u0000\u0000\u0000\u4625\u0000\u0000\u0000\u4626"+
+        "\u4627\u0000\u4628\u4629\u0000\u0000\u0000\u0000"+
+        "\u462A\u462B\u0000\u0000\u462C\u462D\u462E\u0000"+
+        "\u462F\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u4630\u4631\u0000\u0000\u0000\u4632\u4633\u0000"+
+        "\u0000\u0000\u0000\u4634\u4635\u0000\u0000\u0000"+
+        "\u0000\u4636\u0000\u0000\u4637\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u4638\u0000"+
+        "\u0000\u0000\u4639\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u463A\u0000\u463B\u0000\u0000\u463C\u463D"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u463E\u0000"+
+        "\u0000\u463F\u0000\u0000\u0000\u0000\u0000\u4640"+
+        "\u0000\u4641\u0000\u0000\u0000\u0000\u0000\u4642"+
+        "\u0000\u0000\u4643\u0000\u4644\u4645\u0000\u0000"+
+        "\u0000\u4646\u0000\u0000\u0000\u4647\u4648\u0000"+
+        "\u4649\u0000\u464A\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u464B\u0000\u0000\u0000\u0000\u0000\u464C"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u464D\u464E"+
+        "\u464F\u0000\u0000\u0000\u4650\u0000\u4651\u0000"+
+        "\u0000\u0000\u0000\u4652\u0000\u4653\u4654\u0000"+
+        "\u0000\u0000\u4655\u4656\u0000\u0000\u0000\u4657"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u4658\u4659\u0000\u465A\u0000\u465B"+
+        "\u0000\u0000\u465C\u0000\u465D\u0000\u0000\u0000"+
+        "\u0000\u465E\u0000\u465F\u4660\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4736"+
+        "\u0000\u0000\u0000\u4661\u0000\u4662\u0000\u4663"+
+        "\u0000\u0000\u0000\u0000\u4664\u0000\u4665\u0000"+
+        "\u4666\u4667\u0000\u4668\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u4669\u466A\u466B"+
+        "\u0000\u466C\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u466D\u466E\u0000\u466F"+
+        "\u4670\u0000\u0000\u0000\u4671\u0000\u0000\u4672"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u4673\u0000\u4674\u0000\u4675\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u4676\u0000\u0000\u0000\u4677\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u4678\u0000\u4679"+
+        "\u467A\u467B\u467C\u0000\u467D\u0000\u467E\u0000"+
+        "\u0000\u0000\u4721\u0000\u4722\u0000\u0000\u0000"+
+        "\u4723\u0000\u0000\u0000\u0000\u0000\u0000\u4724"+
+        "\u0000\u4725\u0000\u4726\u4727\u0000\u4728\u0000"+
+        "\u0000\u0000\u4729\u0000\u472A\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u472B\u0000\u0000\u472C"+
+        "\u0000\u0000\u472D\u0000\u0000\u0000\u472E\u472F"+
+        "\u0000\u4730\u0000\u4731\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u4732\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u4733\u4734"+
+        "\u4735\u0000\u0000\u0000\u0000\u0000\u4737\u4738"+
+        "\u0000\u4739\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u473A\u0000\u0000\u473B\u0000\u0000\u473C"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u473D"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u473E\u473F"+
+        "\u0000\u4740\u0000\u0000\u0000\u4741\u0000\u4742"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4743"+
+        "\u4744\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u4745\u0000\u0000\u0000"+
+        "\u0000\u0000\u4746\u0000\u0000\u0000\u0000\u4747"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u4748\u4749\u0000\u474A\u0000\u474B\u474C"+
+        "\u474D\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u474E\u0000\u474F\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u4750\u0000\u0000\u4751"+
+        "\u0000\u4752\u0000\u0000\u0000\u4753\u0000\u4754"+
+        "\u0000\u0000\u0000\u0000\u4755\u0000\u0000\u0000"+
+        "\u4756\u0000\u4757\u0000\u0000\u0000\u4758\u4759"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u475A\u0000"+
+        "\u0000\u0000\u0000\u475B\u0000\u475C\u0000\u475D"+
+        "\u475E\u0000\u475F\u0000\u0000\u4760\u0000\u0000"+
+        "\u0000\u4761\u0000\u0000\u0000\u0000\u0000\u4762"+
+        "\u4763\u0000\u0000\u0000\u4764\u0000\u4765\u0000"+
+        "\u0000\u0000\u0000\u0000\u4766\u0000\u0000\u0000"+
+        "\u4767\u0000\u0000\u0000\u4768\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u4769\u0000"+
+        "\u0000\u0000\u476A\u0000\u0000\u0000\u0000\u476B"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u476C\u0000\u0000\u0000\u476D\u0000"+
+        "\u0000\u476E\u0000\u476F\u4770\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u4771\u4772\u0000\u0000"+
+        "\u4773\u4774\u0000\u4775\u0000\u0000\u0000\u4776"+
+        "\u0000\u4777\u4778\u4779\u477A\u0000\u0000\u477B"+
+        "\u0000\u0000\u0000\u0000\u477C\u477D\u477E\u0000"+
+        "\u0000\u0000\u4821\u4822\u0000\u0000\u0000\u0000"+
+        "\u4823\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u4824\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u4825\u0000\u4826\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u4827\u0000\u0000"+
+        "\u0000\u0000\u0000\u4828\u0000\u0000\u0000\u0000"+
+        "\u0000\u4829\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u482A\u0000\u0000\u0000\u0000\u0000\u0000\u482B"+
+        "\u0000\u0000\u0000\u0000\u0000\u482C\u482D\u0000"+
+        "\u0000\u482E\u0000\u482F\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u4830\u0000\u0000\u0000\u4831"+
+        "\u4832\u4833\u0000\u4834\u0000\u0000\u0000\u4835"+
+        "\u4836\u0000\u4837\u0000\u0000\u4838\u4839\u483A"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u483B\u0000\u483C\u483D\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u483E\u0000\u483F\u0000\u4840\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u4841\u0000\u0000\u0000"+
+        "\u4842\u0000\u4843\u0000\u4844\u4845\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u4846\u0000"+
+        "\u4847\u0000\u4848\u4849\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u484A\u0000"+
+        "\u0000\u484B\u484C\u0000\u0000\u4853\u0000\u484D"+
+        "\u484E\u0000\u0000\u484F\u0000\u0000\u4850\u0000"+
+        "\u0000\u0000\u0000\u4851\u4852\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4854"+
+        "\u0000\u4855\u4856\u4857\u0000\u0000\u0000\u4858"+
+        "\u0000\u4859\u485A\u0000\u0000\u485B\u485C\u0000"+
+        "\u0000\u485D\u485E\u0000\u0000\u0000\u0000\u0000"+
+        "\u485F\u0000\u0000\u0000\u4860\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u4861\u4862\u0000"+
+        "\u0000\u0000\u0000\u4863\u0000\u0000\u0000\u4864"+
+        "\u4865\u0000\u0000\u4866\u4867\u4868\u0000\u0000"+
+        "\u4869\u0000\u486A\u486B\u486C\u0000\u486D\u0000"+
+        "\u0000\u0000\u486E\u0000\u0000\u0000\u0000\u486F"+
+        "\u4870\u0000\u0000\u0000\u0000\u4871\u4872\u4873"+
+        "\u4874\u0000\u0000\u0000\u0000\u0000\u4875\u4876"+
+        "\u4877\u0000\u0000\u0000\u0000\u4878\u4879\u0000"+
+        "\u0000\u0000\u0000\u0000\u487A\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u487B\u0000\u487C"+
+        "\u487D\u0000\u487E\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u4921\u0000\u0000\u0000\u4922\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u4923\u4924\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u4925\u0000\u0000\u0000\u0000\u4926\u0000\u0000"+
+        "\u0000\u4927\u0000\u0000\u4928\u4929\u0000\u0000"+
+        "\u492A\u0000\u0000\u0000\u0000\u492B\u492C\u492D"+
+        "\u0000\u0000\u0000\u0000\u0000\u492E\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u492F"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u4930\u0000\u0000\u4931\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4932"+
+        "\u0000\u0000\u0000\u0000\u4933\u0000\u0000\u4934"+
+        "\u0000\u4935\u0000\u0000\u4936\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u4937\u4938\u0000\u0000\u0000"+
+        "\u4939\u493A\u493B\u493C\u0000\u0000\u4941\u0000"+
+        "\u0000\u0000\u0000\u0000\u493D\u493E\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u493F\u4940\u0000"+
+        "\u0000\u0000\u0000\u0000\u4942\u4943\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u4944\u0000\u4945\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u4946\u4947\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u4948\u0000"+
+        "\u0000\u4949\u0000\u0000\u0000\u494A\u494B\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u494C\u494D\u494E\u494F"+
+        "\u4950\u0000\u0000\u4951\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u4952\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u4953\u0000\u0000\u0000\u0000"+
+        "\u4954\u4955\u0000\u0000\u4956\u0000\u0000\u4957"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u4958\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u4959\u0000\u495A\u495B\u495C\u495D\u0000"+
+        "\u495E\u0000\u0000\u0000\u495F\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u4960\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u4961\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u4962\u4963\u4964\u4965\u4966"+
+        "\u0000\u0000\u0000\u4967\u4968\u0000\u0000\u4969"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u496A\u0000"+
+        "\u496B\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u496C\u0000\u496D\u0000\u496E"+
+        "\u496F\u4970\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u4971\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u4972\u0000\u0000\u0000\u4973\u4974\u4975"+
+        "\u0000\u0000\u4976\u4977\u0000\u0000\u0000\u0000"+
+        "\u4978\u0000\u4979\u0000\u0000\u0000\u0000\u497A"+
+        "\u0000\u0000\u497B\u0000\u497C\u0000\u497D\u0000"+
+        "\u497E\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u4A21\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u4A22\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u4A23\u0000\u0000\u0000\u0000\u4A24\u0000\u4A25"+
+        "\u0000\u0000\u0000\u0000\u4A26\u0000\u0000\u0000"+
+        "\u0000\u0000\u4A27\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u4A28\u4A29\u0000\u0000\u0000\u0000"+
+        "\u4A2A\u0000\u4A2B\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4A2C"+
+        "\u4A2D\u0000\u4A2E\u4A2F\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u4A30\u0000\u0000\u0000\u0000\u4A31"+
+        "\u4A32\u4A33\u0000\u0000\u4A34\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u4A35\u4A36\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u4A37\u0000\u0000\u4A38\u0000"+
+        "\u0000\u4A39\u4A3A\u0000\u4A3B\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u4A3C\u0000\u0000\u0000\u0000\u0000\u4A3D\u0000"+
+        "\u4A3E\u0000\u0000\u0000\u0000\u0000\u0000\u4A3F"+
+        "\u4A40\u4A41\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u4A42\u0000\u0000\u0000\u4A43"+
+        "\u0000\u0000\u4A44\u0000\u0000\u4A45\u0000\u4A46"+
+        "\u0000\u0000\u0000\u0000\u4A47\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u4A48\u0000\u0000\u0000\u4A49"+
+        "\u0000\u0000\u0000\u0000\u4A4A\u0000\u0000\u0000"+
+        "\u4A4B\u4A4C\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u4A4D\u4A4E\u4A4F\u0000\u4A50\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u4A51\u4A52"+
+        "\u4A53\u0000\u0000\u4A54\u0000\u4A55\u4A56\u0000"+
+        "\u0000\u0000\u4A57\u0000\u4A58\u0000\u4A59\u0000"+
+        "\u4A5A\u0000\u0000\u4A5B\u0000\u0000\u0000\u0000"+
+        "\u4A5C\u0000\u0000\u4A5D\u0000\u0000\u4A5E\u4A5F"+
+        "\u0000\u4A60\u0000\u0000\u0000\u0000\u0000\u4A61"+
+        "\u4A62\u0000\u0000\u4A63\u4A64\u0000\u0000\u4A65"+
+        "\u0000\u0000\u0000\u0000\u4A66\u0000\u0000\u0000"+
+        "\u0000\u4A67\u0000\u0000\u0000\u4A68\u4A69\u0000"+
+        "\u0000\u0000\u0000\u4A6A\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u4A6B\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u4A6C\u0000\u0000\u0000\u0000\u4A6D\u4A6E\u0000"+
+        "\u0000\u4A6F\u0000\u0000\u4A70\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u4A71\u0000"+
+        "\u0000\u4A72\u0000\u0000\u0000\u0000\u0000\u4A73"+
+        "\u0000\u4A74\u0000\u0000\u4A75\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u4A76\u4A77\u0000"+
+        "\u4A78\u0000\u0000\u0000\u0000\u0000\u0000\u4A79"+
+        "\u0000\u0000\u0000\u0000\u0000\u4A7A\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u4A7B\u4A7C\u0000\u0000\u0000"+
+        "\u0000\u0000\u4A7D\u4A7E\u0000\u0000\u4B21\u0000"+
+        "\u0000\u0000\u4B22\u0000\u4B23\u4B24\u0000\u4B25"+
+        "\u0000\u0000\u0000\u4B26\u0000\u4B27\u0000\u0000"+
+        "\u0000\u0000\u4B28\u4B29\u0000\u0000\u0000\u0000"+
+        "\u4B2A\u4B2B\u0000\u0000\u0000\u0000\u4B2C\u0000"+
+        "\u0000\u0000\u4B2D\u0000\u4B2E\u0000\u0000\u4B2F"+
+        "\u4B30\u0000\u0000\u0000\u4B31\u0000\u0000\u0000"+
+        "\u0000\u4B32\u4B33\u0000\u0000\u4B34\u0000\u0000"+
+        "\u0000\u0000\u4B35\u4B36\u0000\u4B37\u0000\u0000"+
+        "\u0000\u0000\u0000\u4B38\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u4B39\u0000\u0000"+
+        "\u4B3A\u0000\u4B3B\u0000\u0000\u0000\u4B3C\u0000"+
+        "\u4B3D\u0000\u0000\u0000\u0000\u4B3E\u4B3F\u4B40"+
+        "\u4B41\u0000\u0000\u0000\u0000\u0000\u4B42\u4B43"+
+        "\u0000\u4B44\u0000\u4B45\u4B46\u0000\u4B47\u4B48"+
+        "\u0000\u4B49\u0000\u0000\u0000\u0000\u0000\u4B4A"+
+        "\u0000\u4B4B\u0000\u0000\u4B4C\u0000\u0000\u0000"+
+        "\u4B4D\u4B4E\u0000\u4B4F\u0000\u4B50\u4B51\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u4B52\u0000"+
+        "\u4B53\u0000\u0000\u4B54\u0000\u4B55\u0000\u4B56"+
+        "\u4B57\u0000\u0000\u0000\u4B58\u0000\u4B59\u4B5A"+
+        "\u4B5B\u0000\u4B5C\u0000\u0000\u4B5D\u4B5E\u0000"+
+        "\u0000\u0000\u4B5F\u4B60\u0000\u4B61\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u4B62\u0000\u4B63"+
+        "\u0000\u4B64\u0000\u0000\u4B65\u4B66\u0000\u4B67"+
+        "\u0000\u0000\u0000\u0000\u0000\u4B68\u4B69\u0000"+
+        "\u0000\u4B6A\u0000\u4B6B\u4B6C\u0000\u0000\u4B6D"+
+        "\u0000\u0000\u4B6E\u4B6F\u0000\u0000\u4B70\u0000"+
+        "\u0000\u4B71\u0000\u0000\u0000\u4B72\u0000\u0000"+
+        "\u0000\u4B73\u0000\u4B74\u0000\u0000\u4B75\u4B76"+
+        "\u0000\u4B77\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u4B78\u4B79\u0000\u4B7A"+
+        "\u0000\u4B7B\u4B7C\u4B7D\u0000\u4B7E\u0000\u4C21"+
+        "\u4C22\u4C23\u0000\u0000\u4C24\u0000\u0000\u4C25"+
+        "\u0000\u0000\u4C26\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u4C27\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u4C28\u4C29\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u4C2A\u0000\u4C2B\u0000"+
+        "\u4C2C\u4C2D\u4C2E\u4C2F\u4C30\u4C31\u4C32\u4C33"+
+        "\u4C34\u4C35\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u4C36\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u4C37\u0000\u0000\u4C38\u4C39\u0000\u4C3A\u4C3B"+
+        "\u0000\u0000\u0000\u4C3C\u0000\u4C3D\u0000\u0000"+
+        "\u0000\u4C3E\u4C3F\u0000\u0000\u0000\u0000\u4C40"+
+        "\u0000\u0000\u0000\u0000\u0000\u4C41\u0000\u0000"+
+        "\u0000\u0000\u4C42\u0000\u0000\u0000\u4C43\u4C44"+
+        "\u4C45\u0000\u0000\u4C46\u0000\u4C47\u4C48\u0000"+
+        "\u0000\u4C49\u4C4A\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u4C4B\u4C4C\u0000\u0000\u0000\u4C4D\u4C4E\u4C4F"+
+        "\u0000\u4C50\u0000\u0000\u0000\u0000\u0000\u4C51"+
+        "\u4C52\u4C53\u4C54\u0000\u0000\u0000\u0000\u0000"+
+        "\u4C55\u4C56\u4C57\u0000\u4C58\u0000\u0000\u4C59"+
+        "\u4C5A\u4C5B\u0000\u4C5C\u0000\u0000\u4C5D\u0000"+
+        "\u4C5E\u4C5F\u4C60\u4C61\u0000\u0000\u4C62\u4C63"+
+        "\u0000\u4C64\u4C65\u0000\u0000\u4C66\u0000\u0000"+
+        "\u0000\u4C67\u0000\u4C68\u0000\u0000\u0000\u4C69"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u4C6A\u4C6B\u0000\u0000\u4C6C\u0000\u0000\u0000"+
+        "\u4C6D\u0000\u0000\u4C6E\u0000\u0000\u0000\u0000"+
+        "\u4C6F\u0000\u4C70\u4C71\u0000\u0000\u4C72\u4C73"+
+        "\u0000\u0000\u0000\u0000\u4C74\u0000\u0000\u0000"+
+        "\u4C75\u0000\u4C76\u4C77\u0000\u0000\u0000\u4C78"+
+        "\u0000\u0000\u0000\u0000\u4C79\u0000\u0000\u0000"+
+        "\u0000\u0000\u4C7A\u4C7B\u4C7C\u0000\u0000\u4C7D"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u4C7E\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u4D21\u0000\u0000\u0000\u4D22\u4D23"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u4D24\u4D25\u0000\u0000\u4D26\u0000\u0000\u4D27"+
+        "\u0000\u4D28\u4D29\u0000\u0000\u0000\u0000\u4D2A"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u4D2B\u0000"+
+        "\u0000\u4D2C\u0000\u0000\u0000\u4D2D\u4D2E\u4D2F"+
+        "\u4D30\u0000\u0000\u4D31\u0000\u0000\u0000\u4D32"+
+        "\u4D33\u0000\u0000\u0000\u0000\u0000\u4D34\u0000"+
+        "\u4D35\u0000\u4D36\u0000\u0000\u0000\u0000\u4D37"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u4D38\u4D39"+
+        "\u0000\u4D3A\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4D3B"+
+        "\u0000\u4D3C\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u4D3D\u4D3E\u4D3F\u4D40\u4D41\u4D42\u0000"+
+        "\u0000\u4D43\u0000\u0000\u0000\u4D44\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u4D45\u0000\u4D46\u4D47\u0000\u4D48\u0000\u0000"+
+        "\u0000\u4D49\u0000\u0000\u4D4A\u0000\u0000\u0000"+
+        "\u0000\u0000\u4D4B\u0000\u4D4C\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u4D4D\u0000\u0000\u0000"+
+        "\u0000\u0000\u4D4E\u0000\u0000\u0000\u0000\u4D4F"+
+        "\u4D50\u4D51\u0000\u0000\u4D52\u0000\u4D53\u0000"+
+        "\u0000\u0000\u0000\u0000\u4D54\u0000\u4D55\u4D56"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4D57"+
+        "\u0000\u0000\u0000\u0000\u4D58\u0000\u0000\u4D59"+
+        "\u4D5A\u4D5B\u0000\u0000\u4D5C\u0000\u0000\u4D5D"+
+        "\u0000\u0000\u0000\u0000\u4D5E\u0000\u4D5F\u4D60"+
+        "\u0000\u4D61\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u4D62\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u4D63\u0000\u4D64\u4D65\u4D66\u0000\u0000\u4D67"+
+        "\u4D68\u0000\u4D69\u0000\u4D6A\u0000\u0000\u4D6B"+
+        "\u0000\u0000\u4D6C\u4D6D\u0000\u4D6E\u4D6F\u0000"+
+        "\u0000\u4D70\u0000\u4D71\u4D72\u4D73\u4D74\u0000"+
+        "\u0000\u0000\u0000\u4D75\u0000\u4D76\u4D77\u0000"+
+        "\u0000\u4D78\u0000\u0000\u0000\u4D79\u0000\u0000"+
+        "\u0000\u0000\u4D7A\u4D7B\u0000\u4D7C\u0000\u0000"+
+        "\u4D7D\u4D7E\u4E21\u0000\u4E22\u0000\u0000\u0000"+
+        "\u4E24\u4E25\u0000\u4E26\u4E27\u4E28\u0000\u0000"+
+        "\u0000\u4E29\u4E23\u4E2A\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u4E2B\u0000\u0000"+
+        "\u0000\u4E2C\u0000\u0000\u0000\u0000\u0000\u4E2D"+
+        "\u0000\u0000\u0000\u0000\u4E2E\u4E2F\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u4E30\u4E31\u4E32"+
+        "\u0000\u4E33\u0000\u0000\u4E34\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u4E35\u0000\u0000\u0000\u4E36\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u4E37\u4E38\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u4E39\u0000\u0000"+
+        "\u0000\u0000\u0000\u4E3A\u4E3B\u4E3C\u0000\u4E3D"+
+        "\u4E3E\u0000\u4E3F\u4E40\u4E41\u4E42\u4E43\u4E44"+
+        "\u4E45\u0000\u4E46\u0000\u0000\u4E47\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u4E48\u0000\u0000"+
+        "\u0000\u4E49\u0000\u0000\u0000\u4E4A\u0000\u0000"+
+        "\u0000\u4E4B\u0000\u4E4C\u4E4D\u0000\u4E4E\u0000"+
+        "\u0000\u0000\u0000\u0000\u4E4F\u0000\u0000\u0000"+
+        "\u0000\u4E50\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u4E51\u0000\u0000\u0000\u0000\u0000\u4E52\u0000"+
+        "\u4E53\u0000\u0000\u0000\u4E54\u0000\u0000\u0000"+
+        "\u4E55\u4E56\u0000\u0000\u0000\u0000\u4E57\u0000"+
+        "\u0000\u4E58\u0000\u0000\u4E59\u0000\u0000\u0000";
+
+    private final static String innerIndex3=
+        "\u4E5A\u0000\u0000\u0000\u0000\u0000\u4E5B\u0000"+
+        "\u0000\u0000\u4E5C\u0000\u0000\u0000\u4E5D\u0000"+
+        "\u0000\u0000\u4E5E\u0000\u4E5F\u4E60\u0000\u4E61"+
+        "\u0000\u4E62\u4E63\u0000\u4E64\u0000\u0000\u0000"+
+        "\u0000\u0000\u4E65\u0000\u0000\u0000\u0000\u0000"+
+        "\u4E66\u0000\u0000\u0000\u0000\u4E67\u4E68\u4E69"+
+        "\u0000\u0000\u0000\u0000\u4E6A\u4E6B\u4E6C\u0000"+
+        "\u0000\u4E6D\u0000\u0000\u0000\u4E6E\u4E6F\u0000"+
+        "\u0000\u0000\u4E70\u0000\u0000\u4E71\u4E72\u0000"+
+        "\u0000\u0000\u4E73\u0000\u0000\u4E74\u4E75\u4E76"+
+        "\u0000\u0000\u4E77\u0000\u0000\u0000\u4E78\u4E79"+
+        "\u0000\u0000\u0000\u0000\u4E7A\u0000\u4E7B\u4E7C"+
+        "\u4E7D\u0000\u4E7E\u0000\u4F21\u0000\u0000\u4F22"+
+        "\u0000\u0000\u4F23\u0000\u4F24\u0000\u0000\u0000"+
+        "\u4F25\u0000\u4F26\u4F27\u4F28\u0000\u0000\u0000"+
+        "\u0000\u0000\u4F29\u0000\u0000\u4F2A\u0000\u0000"+
+        "\u4F2B\u0000\u0000\u0000\u4F2C\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u4F2D\u4F2E\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u4F2F\u4F30\u4F31\u0000"+
+        "\u0000\u0000\u4F32\u0000\u0000\u0000\u0000\u4F33"+
+        "\u0000\u0000\u4F34\u0000\u0000\u0000\u0000\u4F35"+
+        "\u0000\u0000\u4F36\u0000\u0000\u0000\u4F37\u4F38"+
+        "\u0000\u4F39\u0000\u0000\u0000\u4F3A\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u4F3B\u0000"+
+        "\u0000\u0000\u0000\u4F3C\u0000\u0000\u0000\u0000"+
+        "\u0000\u4F3D\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u4F3E\u4F3F\u0000\u0000\u4F40\u0000\u0000"+
+        "\u0000\u4F41\u0000\u0000\u0000\u0000\u4F42\u4F43"+
+        "\u4F44\u0000\u0000\u0000\u4F45\u0000\u4F46\u0000"+
+        "\u0000\u0000\u4F47\u0000\u4F48\u0000\u0000\u0000"+
+        "\u4F49\u4F4A\u0000\u0000\u4F4B\u0000\u0000\u0000"+
+        "\u4F4C\u0000\u0000\u4F4D\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u4F4E\u4F4F\u0000"+
+        "\u0000\u4F50\u0000\u0000\u0000\u4F51\u4F52\u0000"+
+        "\u0000\u4F53\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u4F54\u0000\u0000"+
+        "\u0000\u4F55\u4F56\u4F57\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u4F58\u4F59\u0000"+
+        "\u4F5A\u0000\u0000\u0000\u0000\u4F5B\u0000\u4F5C"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u4F5D\u4F5E\u0000\u0000\u4F5F"+
+        "\u4F60\u0000\u0000\u0000\u4F61\u0000\u4F62\u0000"+
+        "\u0000\u0000\u4F63\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u4F64\u0000\u4F65\u0000"+
+        "\u4F66\u4F67\u0000\u4F68\u4F69\u0000\u0000\u0000"+
+        "\u4F6A\u0000\u4F6B\u0000\u0000\u0000\u4F6C\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u4F6D\u0000\u0000\u0000\u4F6E\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u4F6F\u0000\u0000\u0000\u0000\u4F70"+
+        "\u0000\u0000\u0000\u0000\u4F71\u0000\u0000\u0000"+
+        "\u4F72\u0000\u0000\u0000\u0000\u4F74\u4F75\u4F76"+
+        "\u0000\u4F73\u0000\u0000\u4F77\u0000\u0000\u0000"+
+        "\u4F78\u0000\u0000\u0000\u4F79\u4F7A\u0000\u0000"+
+        "\u4F7B\u4F7C\u4F7D\u4F7E\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u5021\u0000\u5022\u0000\u5023"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5024"+
+        "\u5025\u5026\u0000\u0000\u5027\u0000\u5028\u0000"+
+        "\u0000\u0000\u5029\u502A\u0000\u502B\u502C\u0000"+
+        "\u0000\u0000\u0000\u502E\u0000\u0000\u0000\u502F"+
+        "\u5030\u5031\u0000\u0000\u502D\u0000\u5032\u0000"+
+        "\u0000\u0000\u5033\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u5034\u5035\u0000\u0000\u5037\u5038"+
+        "\u0000\u0000\u5039\u503A\u0000\u0000\u0000\u503B"+
+        "\u5036\u0000\u0000\u0000\u0000\u0000\u503C\u0000"+
+        "\u0000\u0000\u0000\u0000\u503D\u0000\u0000\u0000"+
+        "\u503E\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u503F\u0000\u5040\u0000\u5041\u5042"+
+        "\u5043\u0000\u0000\u0000\u0000\u5044\u0000\u5045"+
+        "\u0000\u5046\u0000\u0000\u0000\u5047\u0000\u0000"+
+        "\u0000\u5048\u0000\u0000\u5049\u504A\u0000\u0000"+
+        "\u0000\u0000\u0000\u504B\u0000\u504C\u0000\u504D"+
+        "\u0000\u0000\u0000\u0000\u504E\u504F\u5050\u0000"+
+        "\u0000\u0000\u5051\u5052\u0000\u0000\u0000\u5053"+
+        "\u0000\u5054\u0000\u0000\u5055\u0000\u0000\u0000"+
+        "\u5056\u0000\u0000\u5057\u5058\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5059"+
+        "\u0000\u505A\u0000\u505B\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u505C\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u505D\u0000\u505E\u505F\u0000\u5060\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u5061\u5062\u0000\u0000\u0000"+
+        "\u0000\u5063\u0000\u5064\u5065\u5066\u5067\u0000"+
+        "\u5068\u0000\u0000\u5069\u506A\u0000\u0000\u0000"+
+        "\u0000\u506B\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u506C\u506D\u0000\u506E\u0000\u0000\u0000\u506F"+
+        "\u0000\u5070\u0000\u0000\u5071\u0000\u0000\u0000"+
+        "\u5072\u0000\u0000\u5073\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u5074\u0000\u5075\u0000\u0000\u5076"+
+        "\u5077\u0000\u5078\u0000\u0000\u0000\u0000\u5079"+
+        "\u0000\u0000\u0000\u0000\u507A\u0000\u507B\u0000"+
+        "\u0000\u0000\u507C\u0000\u0000\u507D\u507E\u0000"+
+        "\u5121\u0000\u5122\u0000\u0000\u5123\u0000\u0000"+
+        "\u0000\u0000\u5124\u5125\u0000\u5126\u0000\u0000"+
+        "\u0000\u5127\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u5128\u0000\u0000\u0000\u5129\u0000\u0000\u0000"+
+        "\u0000\u0000\u512A\u512B\u0000\u0000\u0000\u512C"+
+        "\u0000\u512D\u512E\u0000\u512F\u0000\u0000\u0000"+
+        "\u0000\u5130\u0000\u0000\u0000\u5131\u0000\u0000"+
+        "\u0000\u0000\u0000\u5132\u0000\u0000\u5133\u0000"+
+        "\u0000\u5134\u0000\u0000\u0000\u0000\u0000\u5135"+
+        "\u0000\u0000\u0000\u5136\u0000\u5137\u0000\u5138"+
+        "\u5139\u0000\u0000\u0000\u513A\u513B\u0000\u0000"+
+        "\u513C\u513D\u513E\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u513F\u5140\u0000\u5141"+
+        "\u5142\u0000\u0000\u0000\u5143\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u5144\u5145\u0000"+
+        "\u0000\u5146\u0000\u0000\u5147\u5148\u0000\u5149"+
+        "\u514A\u0000\u0000\u0000\u0000\u514B\u0000\u514C"+
+        "\u0000\u0000\u514D\u0000\u0000\u514E\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u514F\u0000\u0000"+
+        "\u5150\u0000\u0000\u0000\u0000\u0000\u5151\u0000"+
+        "\u5152\u0000\u5153\u0000\u0000\u5154\u5155\u0000"+
+        "\u0000\u0000\u5156\u5157\u0000\u0000\u0000\u0000"+
+        "\u5158\u5159\u0000\u0000\u515A\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u515B\u0000"+
+        "\u515C\u0000\u0000\u515D\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u515E\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u515F\u0000\u5160\u0000\u0000"+
+        "\u0000\u5161\u0000\u5162\u5163\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u5164\u0000"+
+        "\u0000\u5165\u0000\u0000\u5166\u0000\u5167\u0000"+
+        "\u0000\u5168\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u5169\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u516A\u516B\u0000\u516C\u516D\u0000\u0000\u0000"+
+        "\u0000\u516E\u0000\u0000\u516F\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u5170\u0000\u5171\u5172\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5173"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u5174\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5175"+
+        "\u0000\u0000\u0000\u5176\u0000\u0000\u0000\u5177"+
+        "\u0000\u5178\u5179\u517A\u0000\u517B\u517C\u517D"+
+        "\u517E\u5221\u0000\u0000\u5222\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u5223\u0000\u5224"+
+        "\u5225\u5226\u0000\u0000\u0000\u0000\u0000\u5227"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u5228\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u5229\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u522A\u0000\u0000\u0000\u522B\u0000\u522C\u0000"+
+        "\u0000\u522D\u522E\u0000\u0000\u522F\u0000\u5230"+
+        "\u0000\u0000\u5231\u5232\u0000\u0000\u0000\u5233"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u5234\u0000\u0000\u0000"+
+        "\u0000\u5235\u0000\u0000\u0000\u0000\u5236\u0000"+
+        "\u5237\u5238\u0000\u0000\u0000\u0000\u5239\u0000"+
+        "\u0000\u0000\u0000\u523A\u0000\u0000\u523B\u0000"+
+        "\u523C\u0000\u0000\u0000\u0000\u523D\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u523E\u0000\u0000\u523F"+
+        "\u5240\u0000\u5241\u0000\u0000\u5242\u5243\u0000"+
+        "\u0000\u0000\u5244\u5245\u5246\u5247\u0000\u0000"+
+        "\u0000\u0000\u5248\u0000\u0000\u5249\u0000\u0000"+
+        "\u524A\u0000\u524B\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u524C\u0000\u524D\u524E"+
+        "\u0000\u524F\u5250\u5251\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u5252\u0000\u5253\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u5254\u0000\u5255\u5256\u0000\u0000"+
+        "\u5257\u5258\u5259\u0000\u525A\u0000\u525B\u0000"+
+        "\u0000\u525C\u525D\u525E\u525F\u0000\u5260\u0000"+
+        "\u0000\u5261\u0000\u5262\u5263\u0000\u5264\u5265"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u5266\u0000\u5267\u0000\u0000\u0000\u0000"+
+        "\u5268\u0000\u0000\u0000\u0000\u5269\u526A\u0000"+
+        "\u526B\u0000\u0000\u0000\u526C\u0000\u0000\u0000"+
+        "\u0000\u526D\u0000\u526E\u526F\u0000\u5270\u0000"+
+        "\u0000\u5271\u5272\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u5273\u0000"+
+        "\u0000\u0000\u5274\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u5276\u5277\u5278\u0000\u5275\u0000\u0000"+
+        "\u0000\u5279\u527A\u527B\u527C\u527D\u527E\u0000"+
+        "\u0000\u5321\u0000\u5322\u0000\u0000\u0000\u5323"+
+        "\u0000\u5324\u0000\u0000\u0000\u5325\u5326\u0000"+
+        "\u5327\u0000\u5328\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u5329\u0000\u0000\u532A\u532B\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u532C\u532D"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u532E"+
+        "\u0000\u0000\u0000\u0000\u532F\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u5330\u0000"+
+        "\u5331\u0000\u0000\u0000\u0000\u0000\u5332\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u5333\u0000\u0000\u0000\u0000\u0000\u5334\u5335"+
+        "\u0000\u0000\u5336\u5337\u5338\u0000\u0000\u5339"+
+        "\u0000\u0000\u0000\u0000\u533A\u0000\u0000\u533B"+
+        "\u533C\u533D\u0000\u0000\u0000\u533E\u0000\u533F"+
+        "\u0000\u0000\u0000\u5340\u5341\u5342\u0000\u5343"+
+        "\u0000\u5344\u5345\u0000\u0000\u5346\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u5347\u0000"+
+        "\u0000\u5348\u0000\u5349\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u534A\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u534B\u0000\u0000\u0000\u534C"+
+        "\u534D\u534E\u0000\u0000\u0000\u0000\u0000\u534F"+
+        "\u0000\u5350\u5351\u5352\u0000\u0000\u5353\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u5354\u5355\u0000"+
+        "\u0000\u0000\u0000\u5356\u0000\u0000\u5357\u0000"+
+        "\u0000\u0000\u5358\u0000\u0000\u5359\u0000\u0000"+
+        "\u0000\u535A\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u535B\u535C\u535D\u0000"+
+        "\u535E\u535F\u0000\u0000\u0000\u0000\u0000\u5360"+
+        "\u5361\u0000\u0000\u0000\u0000\u5362\u0000\u0000"+
+        "\u0000\u5363\u0000\u5364\u0000\u0000\u0000\u5365"+
+        "\u0000\u5366\u5367\u0000\u5368\u5369\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u536A\u0000\u536B"+
+        "\u0000\u0000\u536C\u0000\u0000\u0000\u0000\u0000"+
+        "\u536D\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u536E\u0000\u536F\u5370\u0000\u0000\u0000\u5371"+
+        "\u0000\u5372\u5373\u5374\u0000\u5375\u5376\u0000"+
+        "\u5377\u0000\u0000\u5378\u5379\u537A\u0000\u0000"+
+        "\u0000\u537B\u0000\u0000\u0000\u0000\u537C\u537D"+
+        "\u0000\u0000\u0000\u0000\u0000\u537E\u5421\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u5422\u5423"+
+        "\u0000\u0000\u5424\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u5425\u0000\u0000\u5426\u5427"+
+        "\u0000\u5428\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u5429\u542A\u542B\u542C\u542D\u0000"+
+        "\u0000\u0000\u0000\u0000\u542E\u542F\u5430\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5431"+
+        "\u0000\u5432\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u5434\u0000\u0000\u5435\u5436\u0000"+
+        "\u0000\u0000\u5437\u5438\u0000\u5439\u0000\u0000"+
+        "\u0000\u543A\u0000\u0000\u0000\u543B\u543C\u0000"+
+        "\u0000\u543D\u543E\u0000\u0000\u0000\u0000\u0000"+
+        "\u5433\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u543F\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u5440\u5441\u0000\u0000\u0000\u5442\u0000\u5443"+
+        "\u0000\u0000\u0000\u0000\u5444\u5445\u0000\u0000"+
+        "\u5446\u0000\u0000\u0000\u0000\u0000\u0000\u5447"+
+        "\u5448\u0000\u0000\u0000\u5449\u544A\u0000\u544B"+
+        "\u0000\u0000\u0000\u544C\u0000\u0000\u544D\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u544E"+
+        "\u0000\u0000\u0000\u0000\u544F\u5450\u0000\u5451"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u5452\u0000"+
+        "\u5453\u0000\u5454\u0000\u0000\u0000\u0000\u0000"+
+        "\u5455\u0000\u0000\u0000\u0000\u0000\u0000\u5456"+
+        "\u0000\u5457\u5458\u0000\u0000\u5459\u0000\u0000"+
+        "\u0000\u0000\u0000\u545A\u0000\u0000\u545B\u545C"+
+        "\u0000\u0000\u0000\u545D\u0000\u0000\u0000\u0000"+
+        "\u545E\u0000\u0000\u0000\u0000\u0000\u545F\u0000"+
+        "\u0000\u5460\u0000\u0000\u0000\u0000\u5461\u5462"+
+        "\u0000\u0000\u5463\u0000\u0000\u5464\u0000\u0000"+
+        "\u0000\u5465\u0000\u0000\u0000\u5466\u0000\u0000"+
+        "\u5467\u0000\u5468\u0000\u0000\u5469\u546A\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u546C\u546B\u546D\u546E\u546F"+
+        "\u0000\u0000\u0000\u5470\u5471\u0000\u0000\u5472"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5473"+
+        "\u0000\u0000\u5474\u5475\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u5476\u5477\u5478\u0000\u0000"+
+        "\u0000\u5479\u0000\u547A\u547B\u547C\u547D\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u547E\u0000\u0000"+
+        "\u0000\u5521\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u5522\u5523\u5524"+
+        "\u5525\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u5526\u0000\u5527\u0000\u5528"+
+        "\u5529\u552A\u0000\u0000\u0000\u0000\u552B\u552C"+
+        "\u0000\u0000\u0000\u0000\u552D\u0000\u0000\u0000"+
+        "\u0000\u552E\u552F\u0000\u0000\u0000\u5530\u0000"+
+        "\u0000\u0000\u5531\u0000\u0000\u5532\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u5533\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u5534\u0000\u0000\u5535"+
+        "\u5536\u0000\u0000\u5537\u0000\u0000\u0000\u0000"+
+        "\u5538\u0000\u0000\u0000\u0000\u0000\u5539\u553A"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u553B\u0000\u0000\u0000\u553C"+
+        "\u0000\u0000\u0000\u553D\u0000\u553E\u0000\u0000"+
+        "\u553F\u0000\u0000\u0000\u5540\u0000\u5541\u5542"+
+        "\u0000\u0000\u5543\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u5544\u0000\u0000\u5545\u5546\u5547"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5548"+
+        "\u5549\u0000\u554A\u0000\u0000\u554B\u554C\u554D"+
+        "\u0000\u554E\u0000\u554F\u5550\u0000\u5551\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u5552\u5553\u5554"+
+        "\u5555\u0000\u0000\u0000\u5556\u0000\u5557\u0000"+
+        "\u0000\u0000\u0000\u0000\u5558\u0000\u5559\u0000"+
+        "\u555A\u0000\u0000\u0000\u555B\u555C\u0000\u555D"+
+        "\u0000\u555E\u555F\u0000\u5560\u0000\u5561\u0000"+
+        "\u5562\u0000\u0000\u0000\u5563\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u5564\u0000\u0000\u0000\u5565\u0000\u5566\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u5567\u0000\u0000"+
+        "\u0000\u5568\u0000\u0000\u0000\u5569\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u556A\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u556B\u0000\u0000\u0000\u0000\u0000\u556C\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u556D\u0000\u556E\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u556F\u5570"+
+        "\u0000\u0000\u0000\u5571\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u5572\u5573\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u5574\u0000\u0000\u0000\u0000\u5575\u0000\u5576"+
+        "\u0000\u0000\u5577\u0000\u5578\u5579\u0000\u557A"+
+        "\u557B\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u557C\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u557D\u557E\u0000"+
+        "\u5621\u0000\u5622\u5623\u0000\u0000\u5624\u0000"+
+        "\u0000\u5625\u5626\u0000\u0000\u0000\u5627\u0000"+
+        "\u0000\u0000\u0000\u5628\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u5629\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u562A\u562B"+
+        "\u562C\u0000\u0000\u0000\u562D\u0000\u562E\u0000"+
+        "\u562F\u0000\u0000\u0000\u5630\u0000\u0000\u5631"+
+        "\u0000\u0000\u0000\u0000\u5632\u0000\u0000\u0000"+
+        "\u5633\u0000\u0000\u0000\u0000\u5634\u0000\u0000"+
+        "\u0000\u0000\u5635\u0000\u5636\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u5637\u0000\u5638"+
+        "\u0000\u0000\u5639\u0000\u563A\u0000\u0000\u0000"+
+        "\u0000\u0000\u563B\u0000\u0000\u0000\u0000\u563C"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u563D\u563E\u0000\u0000\u0000\u0000\u0000\u563F"+
+        "\u5640\u5641\u0000\u0000\u0000\u5642\u0000\u5643"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5644"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u5645\u0000\u0000\u5647\u5648\u5649\u0000"+
+        "\u0000\u0000\u0000\u564A\u0000\u0000\u564B\u0000"+
+        "\u5646\u0000\u0000\u0000\u0000\u0000\u564C\u0000"+
+        "\u564D\u0000\u0000\u564E\u0000\u0000\u564F\u0000"+
+        "\u0000\u0000\u5650\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u5651\u0000"+
+        "\u0000\u0000\u5652\u0000\u5653\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u5654\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u5656\u0000\u5657\u0000\u0000"+
+        "\u0000\u0000\u5658\u5655\u0000\u0000\u5659\u565A"+
+        "\u0000\u0000\u0000\u0000\u0000\u565B\u0000\u565C"+
+        "\u0000\u0000\u0000\u565D\u0000\u565E\u565F\u0000"+
+        "\u0000\u5660\u0000\u0000\u5661\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u5662\u5663\u0000\u0000\u0000"+
+        "\u5664\u5665\u5666\u0000\u0000\u5667\u5668\u0000"+
+        "\u5669\u566A\u0000\u0000\u0000\u566B\u0000\u566C"+
+        "\u566D\u0000\u0000\u566E\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u566F"+
+        "\u0000\u0000\u0000\u5670\u5671\u0000\u0000\u0000"+
+        "\u0000\u5672\u5673\u0000\u0000\u5674\u0000\u0000"+
+        "\u0000\u5675\u5676\u0000\u0000\u0000\u0000\u0000"+
+        "\u5677\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u5678\u0000\u5679\u0000\u0000\u0000"+
+        "\u0000\u0000\u567A\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u567B\u567C\u567D\u567E\u0000"+
+        "\u0000\u0000\u0000\u5721\u0000\u0000\u5722\u5723"+
+        "\u0000\u5724\u0000\u0000\u0000\u0000\u5725\u0000"+
+        "\u0000\u0000\u0000\u0000\u5726\u0000\u0000\u0000"+
+        "\u5727\u0000\u0000\u5728\u0000\u0000\u0000\u5729"+
+        "\u0000\u0000\u0000\u0000\u0000\u572A\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u572B\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u572C\u0000\u572D\u0000\u572E"+
+        "\u572F\u5730\u0000\u5731\u5732\u0000\u0000\u5733"+
+        "\u0000\u5734\u5735\u0000\u0000\u0000\u5736\u0000"+
+        "\u0000\u5737\u0000\u0000\u5738\u0000\u5739\u0000"+
+        "\u573A\u0000\u573B\u573C\u0000\u0000\u0000\u0000"+
+        "\u573D\u573E\u0000\u573F\u5740\u0000\u0000\u5741"+
+        "\u5742\u5743\u5744\u0000\u0000\u0000\u5745\u0000"+
+        "\u5746\u0000\u5747\u0000\u5748\u0000\u0000\u5749"+
+        "\u0000\u0000\u574A\u0000\u574B\u0000\u574C\u574D"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u574E\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u574F\u0000\u0000\u0000\u0000\u5750\u0000\u0000"+
+        "\u0000\u0000\u5751\u0000\u0000\u0000\u0000\u0000"+
+        "\u5752\u0000\u5753\u0000\u5754\u0000\u0000\u0000"+
+        "\u5755\u0000\u5756\u0000\u0000\u5757\u0000\u5758"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u5759\u575A"+
+        "\u0000\u0000\u0000\u0000\u0000\u575B\u575C\u0000"+
+        "\u575D\u575E\u0000\u0000\u0000\u0000\u0000\u575F"+
+        "\u5760\u0000\u5761\u5762\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u5764\u0000\u5765\u5766\u5767"+
+        "\u0000\u5768\u5769\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u576A\u576B\u576C\u0000"+
+        "\u576D\u0000\u0000\u576E\u0000\u0000\u0000\u576F"+
+        "\u0000\u0000\u5770\u0000\u5771\u5772\u0000\u0000"+
+        "\u0000\u0000\u5773\u5774\u5775\u0000\u0000\u5776"+
+        "\u0000\u0000\u0000\u0000\u0000\u5777\u5778\u0000"+
+        "\u0000\u5779\u0000\u583E\u5763\u577A\u577B\u577C"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u577D\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u577E\u0000\u0000\u0000\u0000\u5821\u0000\u5822"+
+        "\u5823\u0000\u5824\u0000\u5825\u0000\u5826\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u5827\u0000\u0000"+
+        "\u0000\u0000\u5828\u0000\u5829\u582A\u0000\u0000"+
+        "\u582B\u582C\u0000\u582D\u582E\u582F\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u5830\u5831"+
+        "\u0000\u5832\u0000\u0000\u5833\u584C\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u5834\u5835"+
+        "\u5836\u0000\u0000\u0000\u0000\u0000\u0000\u5837"+
+        "\u0000\u5838\u0000\u0000\u0000\u0000\u0000\u5839"+
+        "\u583A\u583B\u0000\u0000\u583C\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u583D\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u583F\u0000\u5840\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u5841\u0000"+
+        "\u5842\u5843\u0000\u0000\u5844\u0000\u0000\u0000"+
+        "\u0000\u5845\u0000\u0000\u0000\u0000\u5846\u0000"+
+        "\u0000\u0000\u5847\u0000\u0000\u0000\u0000\u5848"+
+        "\u0000\u5849\u0000\u0000\u0000\u584A\u0000\u0000"+
+        "\u0000\u584B\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u584D"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u584E\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u584F\u0000\u5850"+
+        "\u5851\u0000\u5852\u0000\u0000\u5853\u0000\u5854"+
+        "\u0000\u5855\u5856\u0000\u0000\u0000\u5857\u0000"+
+        "\u5858\u5859\u585A\u0000\u585B\u0000\u0000\u0000"+
+        "\u585C\u0000\u0000\u0000\u585D\u585E\u0000\u585F"+
+        "\u0000\u0000\u5860\u0000\u0000\u0000\u0000\u0000"+
+        "\u5861\u0000\u0000\u5862\u5863\u0000\u5864\u0000"+
+        "\u5865\u0000\u0000\u0000\u5866\u5867\u0000\u0000"+
+        "\u0000\u5868\u0000\u0000\u0000\u5869\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u586A\u586B\u0000\u586C\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u586D\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u586E\u0000"+
+        "\u586F\u5870\u5871\u0000\u0000\u0000\u0000\u5872"+
+        "\u0000\u5873\u0000\u0000\u5874\u0000\u0000\u0000"+
+        "\u0000\u0000\u5875\u0000\u0000\u5876\u5877\u0000"+
+        "\u5878\u0000\u5879\u0000\u0000\u0000\u0000\u587A"+
+        "\u587B\u0000\u0000\u0000\u587C\u0000\u0000\u587D"+
+        "\u0000\u0000\u0000\u587E\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u5921\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5922"+
+        "\u0000\u0000\u5923\u0000\u0000\u0000\u0000\u5924"+
+        "\u5925\u5926\u5927\u0000\u0000\u0000\u0000\u5928"+
+        "\u0000\u0000\u592A\u592B\u0000\u592C\u0000\u0000"+
+        "\u0000\u0000\u592D\u592E\u0000\u0000\u0000\u592F"+
+        "\u0000\u0000\u0000\u0000\u5930\u0000\u5931\u0000"+
+        "\u5932\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u5933\u0000\u5934\u0000"+
+        "\u0000\u0000\u5935\u5936\u5937\u5938\u0000\u5939"+
+        "\u0000\u0000\u593A\u593B\u0000\u0000\u0000\u593C"+
+        "\u0000\u0000\u5929\u593D\u593E\u0000\u593F\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5940"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u5941\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5942"+
+        "\u5943\u5944\u5945\u5946\u0000\u0000\u5947\u0000"+
+        "\u0000\u5948\u0000\u0000\u5949\u594A\u594B\u594C"+
+        "\u594D\u594E\u594F\u0000\u5950\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u5951\u0000\u0000\u0000\u5952"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u5953\u5954\u5955\u0000\u5956\u0000\u5957"+
+        "\u0000\u5958\u0000\u0000\u0000\u5959\u595A\u0000"+
+        "\u0000\u595B\u0000\u595C\u595D\u0000\u0000\u595E"+
+        "\u0000\u0000\u0000\u595F\u0000\u0000\u0000\u0000"+
+        "\u5960\u0000\u0000\u0000\u0000\u5961\u0000\u5962"+
+        "\u5963\u0000\u5964\u0000\u0000\u5965\u0000\u5966"+
+        "\u0000\u0000\u0000\u0000\u0000\u5974\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u5967\u0000\u5968\u5969"+
+        "\u596A\u0000\u0000\u0000\u596B\u596C\u596D\u596E"+
+        "\u0000\u0000\u596F\u0000\u0000\u0000\u0000\u5970"+
+        "\u0000\u0000\u5971\u5972\u0000\u0000\u5973\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u5975\u0000\u5976\u0000\u0000\u0000\u0000\u5977"+
+        "\u5978\u0000\u0000\u0000\u0000\u0000\u5979\u0000"+
+        "\u597A\u0000\u0000\u0000\u0000\u597B\u0000\u0000"+
+        "\u0000\u0000\u0000\u597C\u0000\u0000\u597D\u0000"+
+        "\u0000\u0000\u0000\u0000\u597E\u0000\u0000\u5A21"+
+        "\u5A22\u0000\u0000\u0000\u5A23\u5A24\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u5A25\u5A26\u0000"+
+        "\u5A27\u5A28\u5A29\u0000\u0000\u0000\u0000\u0000"+
+        "\u5A2A\u5A2B\u0000\u5A2C\u0000\u0000\u5A2D\u0000"+
+        "\u0000\u5A2E\u0000\u0000\u0000\u0000\u0000\u5A2F"+
+        "\u0000\u5A30\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u5A31\u0000"+
+        "\u5A32\u0000\u5A33\u0000\u5A34\u5A35\u0000\u0000"+
+        "\u5A36\u3866\u5A37\u0000\u0000\u0000\u5A38\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u5A39\u5A3A\u0000\u0000\u5A3B\u5A3C"+
+        "\u5A3D\u5A3E\u0000\u0000\u0000\u5A3F\u0000\u0000"+
+        "\u5A40\u5A41\u5A42\u5A43\u5A44\u0000\u0000\u0000"+
+        "\u0000\u5A45\u0000\u0000\u5A46\u0000\u0000\u5A47"+
+        "\u0000\u0000\u0000\u0000\u0000\u5A48\u5A49\u5A4A"+
+        "\u0000\u0000\u5A4B\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u5A6D\u0000\u0000\u0000\u0000\u5A4C\u0000\u0000"+
+        "\u0000\u5A4D\u0000\u0000\u0000\u0000\u5A4E\u0000"+
+        "\u5A4F\u0000\u5A50\u0000\u5A51\u0000\u0000\u0000"+
+        "\u0000\u5A52\u0000\u0000\u0000\u0000\u5A53\u5A54"+
+        "\u5A55\u0000\u0000\u0000\u0000\u5A56\u0000\u0000"+
+        "\u0000\u5A57\u0000\u5A58\u5A59\u5A5A\u0000\u5A5B"+
+        "\u5A5C\u5A5D\u0000\u0000\u0000\u0000\u0000\u5A5E"+
+        "\u5A5F\u5A60\u0000\u5A61\u0000\u5A62\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u5A63\u5A64\u0000\u0000\u5A65\u0000\u5A66"+
+        "\u0000\u0000\u5A67\u0000\u5A68\u0000\u0000\u0000"+
+        "\u5A69\u0000\u0000\u5A6A\u0000\u5A6B\u0000\u5A6C"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u5A6E\u0000\u5A6F\u5A70\u0000\u0000";
+
+    private final static String innerIndex4=
+        "\u0000\u0000\u0000\u0000\u5A71\u5A72\u0000\u5A73"+
+        "\u0000\u0000\u0000\u5A74\u0000\u0000\u5A75\u5A76"+
+        "\u5A77\u0000\u0000\u5A78\u5A79\u0000\u0000\u0000"+
+        "\u0000\u5A7A\u0000\u0000\u0000\u0000\u5A7B\u5A7C"+
+        "\u0000\u5A7D\u0000\u5A7E\u0000\u0000\u0000\u0000"+
+        "\u5B21\u0000\u0000\u0000\u0000\u0000\u5B22\u5B23"+
+        "\u0000\u5B24\u5B25\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u5B26\u5B27\u0000\u5B28\u5B29\u5B2A\u0000"+
+        "\u5B2B\u0000\u0000\u5B2C\u0000\u5B2D\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u5B2E\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u5B2F\u0000\u0000\u0000\u0000\u5B30\u0000\u0000"+
+        "\u0000\u5B31\u0000\u0000\u5B32\u5B33\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5B34"+
+        "\u0000\u5B35\u5B36\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u5B37\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u5B38\u5B39\u5B3A\u5B3B\u5B3C"+
+        "\u5B3D\u5B3E\u0000\u5B3F\u5B40\u0000\u0000\u0000"+
+        "\u5B41\u0000\u0000\u5B42\u0000\u5B43\u0000\u5B44"+
+        "\u5B45\u5B46\u0000\u0000\u0000\u0000\u5B47\u0000"+
+        "\u5B48\u0000\u0000\u5B49\u0000\u0000\u0000\u5B4A"+
+        "\u0000\u0000\u0000\u0000\u5B4B\u5B4C\u5B4D\u0000"+
+        "\u0000\u5B4E\u0000\u0000\u0000\u5B4F\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u5B50\u5B51"+
+        "\u0000\u5B52\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u5B53\u5B54\u5B55\u0000\u0000\u0000\u5B56\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u5B57\u5B58\u0000"+
+        "\u0000\u5B59\u5B5A\u0000\u5B5B\u0000\u0000\u5B5C"+
+        "\u0000\u0000\u5B5D\u5B5E\u5B5F\u0000\u0000\u0000"+
+        "\u0000\u0000\u5B60\u5B61\u0000\u5B62\u0000\u0000"+
+        "\u0000\u5B63\u0000\u5B64\u0000\u0000\u0000\u0000"+
+        "\u5B65\u0000\u5B66\u0000\u0000\u0000\u0000\u5B67"+
+        "\u0000\u5B68\u0000\u5B69\u0000\u0000\u5B6A\u0000"+
+        "\u0000\u5B6B\u5B6C\u5B6D\u0000\u0000\u0000\u0000"+
+        "\u5B6E\u0000\u5B70\u5B71\u5B72\u0000\u0000\u0000"+
+        "\u5B73\u5B6F\u5B74\u5B75\u5B76\u0000\u5B77\u5B78"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u5B79\u0000\u0000\u0000\u0000\u5B7A\u5B7B\u0000"+
+        "\u5B7C\u0000\u5B7D\u0000\u0000\u5B7E\u0000\u0000"+
+        "\u0000\u0000\u5C21\u0000\u5C22\u0000\u0000\u0000"+
+        "\u0000\u5C23\u0000\u5C24\u0000\u5C25\u0000\u0000"+
+        "\u5C26\u5C27\u5C28\u5C29\u0000\u0000\u5C2A\u0000"+
+        "\u0000\u5C2B\u0000\u0000\u0000\u5C2C\u5C2D\u0000"+
+        "\u5C2E\u0000\u5C2F\u0000\u5C30\u0000\u0000\u5C31"+
+        "\u5C32\u0000\u0000\u0000\u5C33\u0000\u0000\u0000"+
+        "\u0000\u5C34\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u5C35\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u5C36\u0000\u5C37\u0000\u0000\u0000\u0000"+
+        "\u5C38\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u5C39\u0000\u5C3A\u5C3B\u5C3C\u0000\u0000\u5C3D"+
+        "\u5C3E\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u5C3F\u0000\u5C40\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u5C41\u0000\u0000\u5C42\u5C43\u0000"+
+        "\u5C44\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u5C45\u5C46\u5C47\u5C48\u5C49\u0000"+
+        "\u0000\u5C4A\u5C4B\u5C4C\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u5C4D\u0000\u0000\u5C4E\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5C4F"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5C50"+
+        "\u5C51\u5C52\u0000\u0000\u0000\u5C53\u0000\u5C54"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u5C55\u0000\u0000\u0000\u0000\u5C56\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u5C57\u5C58\u5C59"+
+        "\u0000\u0000\u0000\u0000\u0000\u5C5A\u5C5B\u0000"+
+        "\u5C5C\u5C5D\u5C5E\u0000\u5C5F\u0000\u0000\u0000"+
+        "\u5C60\u0000\u0000\u0000\u0000\u0000\u5C61\u5C62"+
+        "\u5C63\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u5C64\u5C65\u5C66\u0000\u0000\u5C67\u0000\u0000"+
+        "\u0000\u5C68\u5C69\u0000\u0000\u0000\u5C6A\u0000"+
+        "\u5C6B\u0000\u5C6C\u0000\u0000\u5C6D\u5C6E\u0000"+
+        "\u0000\u5C6F\u0000\u0000\u0000\u0000\u0000\u5C70"+
+        "\u0000\u0000\u5C71\u0000\u0000\u0000\u0000\u5C72"+
+        "\u0000\u0000\u5C73\u5C74\u5C75\u0000\u0000\u0000"+
+        "\u0000\u5C76\u5C77\u5C78\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u5C79\u0000\u0000\u5C7A\u0000"+
+        "\u5C7B\u0000\u0000\u5C7C\u0000\u5C7D\u0000\u0000"+
+        "\u0000\u0000\u5C7E\u5D21\u5D22\u5D23\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u5D24\u0000\u0000\u0000\u5D25\u0000\u0000"+
+        "\u5D26\u0000\u0000\u0000\u5D27\u5D28\u0000\u0000"+
+        "\u0000\u0000\u0000\u5D29\u5D2A\u0000\u0000\u5D2B"+
+        "\u5D2C\u0000\u0000\u0000\u0000\u5D2D\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u5D2E\u0000\u0000\u0000\u5D2F\u5D30\u5D31\u5D32"+
+        "\u0000\u0000\u0000\u0000\u5D33\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u5D34\u5D35\u5D36\u5D37"+
+        "\u5D38\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u5D39\u0000\u0000"+
+        "\u0000\u5D3A\u0000\u5D3B\u0000\u5D3C\u0000\u0000"+
+        "\u0000\u5D3D\u0000\u5D3E\u0000\u0000\u5D3F\u0000"+
+        "\u0000\u5D40\u0000\u0000\u0000\u5D41\u0000\u5D42"+
+        "\u0000\u0000\u0000\u0000\u5D43\u5D44\u0000\u5D45"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5D46"+
+        "\u0000\u5D47\u5D48\u0000\u5D49\u5D4A\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u5D4B\u0000"+
+        "\u5D4C\u0000\u5D4D\u0000\u5D4E\u0000\u5D4F\u0000"+
+        "\u0000\u0000\u0000\u5D50\u5D51\u0000\u0000\u5D52"+
+        "\u0000\u0000\u0000\u0000\u0000\u5D53\u0000\u5D54"+
+        "\u0000\u0000\u0000\u0000\u0000\u5D55\u5D56\u0000"+
+        "\u5D57\u0000\u0000\u5D58\u0000\u5D59\u0000\u5D5A"+
+        "\u0000\u5D5B\u0000\u0000\u0000\u5D5C\u5D5D\u0000"+
+        "\u0000\u0000\u0000\u5D5E\u0000\u0000\u5D5F\u5D60"+
+        "\u5D61\u0000\u0000\u0000\u5D62\u5D63\u0000\u0000"+
+        "\u0000\u5D64\u0000\u0000\u0000\u5D65\u0000\u5D66"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u5D67\u5D68\u5D69"+
+        "\u0000\u5D6A\u5D6B\u5D6C\u0000\u0000\u5D6D\u5D6E"+
+        "\u5D6F\u0000\u0000\u5D70\u0000\u0000\u5D71\u0000"+
+        "\u0000\u0000\u0000\u5D72\u0000\u0000\u0000\u5D73"+
+        "\u5D74\u0000\u5D75\u0000\u0000\u0000\u5D76\u5D77"+
+        "\u0000\u5D78\u0000\u0000\u0000\u0000\u0000\u5D79"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5D7A"+
+        "\u0000\u5D7B\u0000\u0000\u0000\u0000\u5D7C\u5D7D"+
+        "\u0000\u0000\u0000\u5D7E\u0000\u0000\u5E21\u5E22"+
+        "\u0000\u0000\u0000\u5E23\u0000\u0000\u5E24\u0000"+
+        "\u0000\u0000\u0000\u5E25\u0000\u0000\u5E26\u0000"+
+        "\u5E27\u5E28\u5E29\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u5E2A\u0000\u5E2B\u5E2C\u5E2D\u0000\u5E2E"+
+        "\u0000\u0000\u0000\u0000\u0000\u5E2F\u0000\u5E30"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u5E31\u0000\u0000\u0000"+
+        "\u5E32\u0000\u0000\u0000\u5E33\u5E34\u5E35\u0000"+
+        "\u0000\u0000\u0000\u0000\u5E36\u0000\u0000\u5E37"+
+        "\u0000\u0000\u0000\u0000\u0000\u5E38\u5E39\u0000"+
+        "\u0000\u0000\u5E3F\u5E3A\u0000\u0000\u0000\u0000"+
+        "\u0000\u5E3B\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u5E3C\u0000\u5E3D\u5E3E"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u5E40\u0000\u0000"+
+        "\u5E41\u0000\u0000\u0000\u0000\u0000\u0000\u5E42"+
+        "\u0000\u0000\u0000\u0000\u5E43\u0000\u0000\u0000"+
+        "\u0000\u0000\u5E44\u5E45\u5E46\u5E47\u5E48\u0000"+
+        "\u5E49\u0000\u0000\u0000\u0000\u5E4E\u0000\u0000"+
+        "\u0000\u0000\u5E4A\u5E4B\u5E4C\u0000\u0000\u0000"+
+        "\u0000\u5E4D\u0000\u0000\u0000\u0000\u5E4F\u0000"+
+        "\u0000\u0000\u0000\u5E50\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u5E51\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u5E52\u0000"+
+        "\u5E53\u5E54\u0000\u0000\u5E55\u0000\u5E56\u0000"+
+        "\u0000\u5E57\u0000\u0000\u5E58\u5E59\u0000\u0000"+
+        "\u0000\u0000\u0000\u5E5A\u0000\u5E5B\u0000\u5E5C"+
+        "\u0000\u0000\u0000\u0000\u5E5D\u5E5E\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u5E5F\u0000\u5E60\u5E61"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u5E62\u5E63\u0000\u0000\u0000\u5E64\u5E65\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u5E66\u0000\u5E67"+
+        "\u0000\u5E68\u0000\u5E69\u0000\u0000\u0000\u5E6A"+
+        "\u0000\u5E6B\u0000\u5E6C\u5E6D\u0000\u0000\u5E6E"+
+        "\u5E6F\u5E72\u0000\u5E70\u0000\u5E71\u0000\u0000"+
+        "\u0000\u0000\u0000\u5E73\u5E74\u0000\u5E75\u0000"+
+        "\u5E76\u5E77\u0000\u0000\u0000\u5E78\u0000\u0000"+
+        "\u0000\u0000\u0000\u5E79\u0000\u5E7A\u5E7B\u0000"+
+        "\u0000\u0000\u0000\u5E7C\u0000\u0000\u5E7D\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u5E7E\u5F21"+
+        "\u0000\u0000\u0000\u5F22\u0000\u0000\u0000\u0000"+
+        "\u5F23\u0000\u5F24\u5F25\u0000\u0000\u0000\u0000"+
+        "\u0000\u5F26\u0000\u5F27\u5F28\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u5F29\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u5F2A\u5F2B\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u5F2C\u5F2D\u0000"+
+        "\u0000\u5F2E\u0000\u5F2F\u0000\u0000\u0000\u5F30"+
+        "\u0000\u0000\u0000\u0000\u0000\u5F32\u5F31\u0000"+
+        "\u0000\u5F33\u0000\u0000\u0000\u5F34\u0000\u0000"+
+        "\u0000\u5F35\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u5F36\u0000\u0000\u0000\u5F37\u0000\u0000\u5F38"+
+        "\u5F39\u0000\u5F3A\u0000\u0000\u5F3B\u0000\u5F3C"+
+        "\u5F3D\u0000\u0000\u0000\u0000\u0000\u5F3E\u5F3F"+
+        "\u0000\u5F40\u0000\u5F41\u0000\u0000\u0000\u0000"+
+        "\u0000\u5F42\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u5F43\u0000\u0000\u0000\u0000\u5F44"+
+        "\u0000\u0000\u0000\u5F45\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u5F46\u0000\u0000"+
+        "\u0000\u5F47\u0000\u0000\u5F48\u0000\u5F49\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5F4A"+
+        "\u0000\u0000\u5F4B\u0000\u5F4C\u0000\u0000\u0000"+
+        "\u5F4D\u0000\u0000\u0000\u0000\u5F4E\u0000\u0000"+
+        "\u5F4F\u5F50\u0000\u0000\u0000\u5F51\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u5F52\u5F53"+
+        "\u5F54\u0000\u0000\u0000\u0000\u0000\u5F55\u0000"+
+        "\u0000\u0000\u0000\u5F56\u5F57\u0000\u0000\u5F58"+
+        "\u0000\u0000\u5F59\u0000\u0000\u5F5A\u0000\u5F5B"+
+        "\u0000\u5F5C\u0000\u5F5D\u5F6F\u0000\u0000\u0000"+
+        "\u5F5E\u0000\u0000\u0000\u0000\u5F5F\u5F60\u5F61"+
+        "\u5F62\u0000\u5F63\u0000\u0000\u0000\u5F64\u0000"+
+        "\u0000\u5F65\u0000\u0000\u5F66\u5F67\u0000\u5F68"+
+        "\u0000\u5F69\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u5F6A\u5F6B\u0000\u5F6C"+
+        "\u0000\u0000\u0000\u0000\u5F6D\u0000\u0000\u0000"+
+        "\u5F6E\u5F70\u5F71\u0000\u5F72\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u5F73\u0000\u0000"+
+        "\u0000\u5F74\u0000\u0000\u5F75\u5F76\u5F77\u0000"+
+        "\u0000\u0000\u0000\u5F78\u0000\u0000\u0000\u0000"+
+        "\u0000\u5F79\u0000\u0000\u5F7A\u0000\u5F7B\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u5F7C\u5F7D\u5F7E\u6021\u0000\u0000\u6022\u6023"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u6024\u0000\u6025\u0000\u0000\u6026\u6027"+
+        "\u6028\u6029\u0000\u0000\u0000\u602A\u0000\u0000"+
+        "\u602B\u602C\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u602D\u0000\u602E\u602F\u6030"+
+        "\u0000\u0000\u0000\u0000\u6031\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u6032\u6033\u6034\u6035\u0000"+
+        "\u0000\u6036\u6037\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u6038\u0000\u0000\u6039\u603A\u0000\u603B"+
+        "\u603C\u603D\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u603E\u603F\u6040\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u6041\u6042\u0000\u0000\u0000\u0000"+
+        "\u0000\u6043\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u6044\u0000\u6045\u0000\u0000\u6046\u0000\u0000"+
+        "\u0000\u0000\u6047\u6048\u0000\u6049\u604A\u0000"+
+        "\u0000\u0000\u604B\u0000\u0000\u0000\u0000\u604C"+
+        "\u0000\u604D\u0000\u0000\u0000\u604E\u604F\u0000"+
+        "\u0000\u0000\u0000\u6050\u0000\u6051\u0000\u0000"+
+        "\u0000\u0000\u6052\u6053\u0000\u0000\u0000\u0000"+
+        "\u6054\u6055\u0000\u6056\u6057\u0000\u0000\u6058"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6059"+
+        "\u0000\u605A\u0000\u0000\u605B\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u605C\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u605D\u0000\u0000\u0000\u0000\u6064\u605E\u0000"+
+        "\u605F\u6060\u0000\u0000\u0000\u0000\u0000\u6061"+
+        "\u0000\u6062\u6063\u0000\u0000\u0000\u0000\u0000"+
+        "\u6065\u0000\u6066\u0000\u0000\u0000\u0000\u6067"+
+        "\u6068\u0000\u0000\u0000\u0000\u0000\u0000\u6069"+
+        "\u606A\u0000\u0000\u0000\u0000\u0000\u606B\u606C"+
+        "\u606D\u0000\u0000\u0000\u0000\u0000\u606E\u0000"+
+        "\u606F\u6070\u0000\u6071\u0000\u6072\u0000\u6073"+
+        "\u6074\u0000\u0000\u0000\u6075\u6076\u6077\u0000"+
+        "\u0000\u0000\u0000\u0000\u6078\u6079\u607A\u607B"+
+        "\u0000\u0000\u607C\u0000\u0000\u0000\u0000\u0000"+
+        "\u607D\u607E\u0000\u6121\u0000\u0000\u0000\u6122"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6123"+
+        "\u0000\u6124\u6125\u6126\u6127\u6128\u0000\u0000"+
+        "\u6129\u0000\u0000\u0000\u0000\u612A\u612B\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u612C\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u612D\u0000\u0000"+
+        "\u612E\u612F\u0000\u0000\u6130\u6131\u6132\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u6133\u6134\u0000"+
+        "\u6135\u0000\u0000\u0000\u0000\u0000\u6136\u0000"+
+        "\u6137\u6138\u0000\u0000\u0000\u0000\u6139\u0000"+
+        "\u0000\u0000\u613A\u613B\u0000\u613C\u0000\u0000"+
+        "\u613D\u0000\u613E\u613F\u0000\u6140\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u6141\u0000\u0000\u6142\u6143\u0000\u0000\u0000"+
+        "\u6144\u0000\u0000\u0000\u0000\u0000\u6145\u0000"+
+        "\u0000\u6146\u0000\u0000\u0000\u6147\u6148\u0000"+
+        "\u0000\u0000\u0000\u6149\u0000\u0000\u614A\u0000"+
+        "\u0000\u0000\u614B\u0000\u614C\u0000\u0000\u0000"+
+        "\u614D\u0000\u0000\u0000\u614E\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u614F\u0000\u0000\u6150\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u6151\u6152\u6154\u0000\u6155\u6156\u0000\u6153"+
+        "\u0000\u0000\u0000\u6157\u6158\u0000\u0000\u6159"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u615A"+
+        "\u0000\u0000\u0000\u615B\u615C\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u615D\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u615E\u0000\u615F\u0000\u0000"+
+        "\u0000\u0000\u6160\u0000\u0000\u0000\u6161\u6162"+
+        "\u0000\u0000\u0000\u0000\u6163\u0000\u0000\u0000"+
+        "\u6164\u0000\u0000\u0000\u6165\u0000\u0000\u0000"+
+        "\u0000\u6166\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u6167\u0000\u0000"+
+        "\u6168\u0000\u0000\u6169\u616A\u0000\u616B\u0000"+
+        "\u616C\u0000\u0000\u0000\u0000\u616D\u0000\u616E"+
+        "\u616F\u6170\u0000\u6171\u0000\u0000\u0000\u0000"+
+        "\u6172\u6173\u6174\u0000\u0000\u6175\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u6176\u0000\u6177\u6178\u6179\u0000\u617A\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u617B\u617D\u0000"+
+        "\u0000\u0000\u0000\u617E\u6221\u6222\u0000\u6223"+
+        "\u6224\u0000\u0000\u0000\u617C\u0000\u0000\u0000"+
+        "\u0000\u0000\u622D\u0000\u0000\u6225\u0000\u6226"+
+        "\u6227\u6228\u0000\u0000\u6229\u622A\u0000\u622B"+
+        "\u0000\u0000\u0000\u0000\u0000\u622C\u0000\u0000"+
+        "\u0000\u0000\u0000\u622F\u0000\u0000\u0000\u6230"+
+        "\u6231\u0000\u0000\u0000\u6232\u0000\u622E\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u6233\u6234"+
+        "\u6235\u0000\u0000\u0000\u6236\u6237\u6238\u0000"+
+        "\u6239\u0000\u0000\u0000\u0000\u623A\u0000\u0000"+
+        "\u623B\u0000\u0000\u0000\u623C\u0000\u623D\u623E"+
+        "\u623F\u0000\u6240\u0000\u6241\u0000\u6242\u0000"+
+        "\u6243\u0000\u6245\u6246\u0000\u6244\u0000\u6247"+
+        "\u0000\u6248\u0000\u0000\u0000\u0000\u6249\u624A"+
+        "\u0000\u624B\u0000\u0000\u624C\u0000\u624D\u624E"+
+        "\u0000\u624F\u6250\u0000\u6251\u6252\u0000\u0000"+
+        "\u0000\u0000\u0000\u6253\u0000\u0000\u0000\u6254"+
+        "\u6255\u0000\u0000\u0000\u0000\u0000\u0000\u6256"+
+        "\u0000\u0000\u0000\u6257\u0000\u0000\u0000\u6258"+
+        "\u0000\u6259\u625A\u625B\u0000\u0000\u0000\u0000"+
+        "\u0000\u625C\u0000\u0000\u625D\u0000\u0000\u625E"+
+        "\u0000\u0000\u0000\u0000\u0000\u625F\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u6260\u0000\u0000\u0000"+
+        "\u0000\u6261\u6262\u6263\u0000\u0000\u0000\u0000"+
+        "\u0000\u6264\u0000\u6265\u0000\u6266\u6267\u0000"+
+        "\u0000\u0000\u6268\u0000\u0000\u0000\u6269\u0000"+
+        "\u0000\u626A\u0000\u626B\u626C\u626D\u0000\u0000"+
+        "\u626E\u0000\u0000\u0000\u0000\u0000\u626F\u0000"+
+        "\u0000\u6270\u0000\u0000\u0000\u0000\u6271\u0000"+
+        "\u6272\u0000\u0000\u0000\u6273\u6274\u6275\u0000"+
+        "\u6276\u6277\u6278\u6279\u0000\u0000\u627A\u0000"+
+        "\u0000\u0000\u0000\u627B\u627C\u627D\u0000\u627E"+
+        "\u0000\u0000\u6321\u6322\u0000\u6323\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u6324\u6325\u0000\u0000\u6326"+
+        "\u0000\u6327\u6328\u0000\u0000\u0000\u6329\u0000"+
+        "\u0000\u0000\u0000\u0000\u632A\u632B\u0000\u0000"+
+        "\u0000\u632C\u632D\u0000\u632E\u632F\u6330\u6331"+
+        "\u6332\u6333\u0000\u0000\u0000\u0000\u0000\u6334"+
+        "\u0000\u6335\u0000\u6336\u0000\u6337\u0000\u0000"+
+        "\u6338\u6339\u0000\u0000\u633A\u633B\u633C\u633D"+
+        "\u0000\u633E\u633F\u0000\u6340\u0000\u0000\u0000"+
+        "\u6341\u0000\u6342\u6343\u0000\u0000\u6344\u0000"+
+        "\u6345\u0000\u0000\u0000\u6346\u6347\u0000\u0000"+
+        "\u0000\u0000\u0000\u6348\u6349\u634A\u634B\u0000"+
+        "\u634C\u0000\u0000\u0000\u0000\u0000\u634D\u634E"+
+        "\u634F\u0000\u0000\u6350\u0000\u6351\u6352\u0000"+
+        "\u6353\u6354\u6355\u0000\u6356\u0000\u6357\u0000"+
+        "\u6358\u0000\u6359\u635A\u0000\u0000\u635B\u635C"+
+        "\u0000\u0000\u635D\u0000\u0000\u635E\u635F\u6360"+
+        "\u0000\u6361\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u6362\u6363\u0000\u0000\u6364\u6365\u0000\u0000"+
+        "\u6366\u6367\u0000\u0000\u0000\u6368\u0000\u6369"+
+        "\u636A\u636B\u0000\u0000\u0000\u0000\u636C\u636D"+
+        "\u636E\u0000\u0000\u0000\u0000\u636F\u6370\u6371"+
+        "\u6372\u6373\u0000\u6374\u6375\u6376\u0000\u6377"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u6378\u6379\u637A\u0000\u0000\u637B\u637C\u0000"+
+        "\u0000\u0000\u637D\u0000\u0000\u0000\u0000\u637E"+
+        "\u0000\u6421\u0000\u0000\u0000\u0000\u0000\u6422"+
+        "\u6423\u0000\u0000\u0000\u6424\u6425\u0000\u6426"+
+        "\u6427\u0000\u0000\u6428\u0000\u0000\u0000\u6429"+
+        "\u0000\u0000\u642A\u0000\u0000\u0000\u642B\u0000"+
+        "\u642C\u0000\u642D\u642E\u642F\u6430\u0000\u6431"+
+        "\u6432\u6433\u6434\u6435\u0000\u6436\u6437\u6438"+
+        "\u6439\u0000\u0000\u643A\u643B\u643C\u643D\u0000"+
+        "\u643E\u0000\u0000\u643F\u0000\u6440\u0000\u6441"+
+        "\u6442\u6443\u0000\u0000\u6444\u6445\u0000\u6446"+
+        "\u6447\u6448\u0000\u6449\u0000\u644A\u0000\u644B"+
+        "\u644C\u0000\u0000\u0000\u644D\u0000\u644E\u0000"+
+        "\u644F\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u6450\u0000\u6451\u0000\u0000\u0000\u6452"+
+        "\u6453\u0000\u6454\u0000\u0000\u0000\u0000\u0000"+
+        "\u6455\u0000\u0000\u0000\u0000\u6456\u0000\u0000"+
+        "\u0000\u6457\u0000\u0000\u6458\u6459\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u645A\u645B\u645C\u645D"+
+        "\u0000\u645E\u0000\u0000\u645F\u6460\u0000\u6461"+
+        "\u0000\u6462\u6463\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u6464\u6465\u0000\u6466\u6467"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6468"+
+        "\u6469\u646A\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u646B\u646C\u646D\u0000\u0000\u646E\u0000\u646F"+
+        "\u6470\u0000\u6471\u0000\u0000\u0000\u6472\u0000"+
+        "\u0000\u0000\u0000\u0000\u6473\u6474\u0000\u6475"+
+        "\u0000\u6476\u6477\u0000\u0000\u6478\u0000\u6479"+
+        "\u647A\u647B\u0000\u647C\u647D\u0000\u647E\u0000"+
+        "\u0000\u0000\u6521\u0000\u0000\u6522\u0000\u6523"+
+        "\u6524\u6525\u6526\u0000\u0000\u0000\u0000\u0000"+
+        "\u6527\u0000\u6528\u6529\u0000\u652A\u0000\u652B"+
+        "\u0000\u0000\u652C\u0000\u0000\u652D\u0000\u0000"+
+        "\u652E\u0000\u0000\u652F\u0000\u0000\u6530\u0000"+
+        "\u0000\u6531\u0000\u6532\u6533\u0000\u6534\u0000"+
+        "\u6535\u653B\u0000\u6536\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u6537\u6538\u6539\u0000"+
+        "\u0000\u0000\u653A\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u653C\u0000\u0000\u653D\u653E\u653F\u6540"+
+        "\u0000\u6541\u6542\u6543\u6544\u6545\u0000\u0000"+
+        "\u0000\u0000\u0000\u6546\u0000\u0000\u0000\u0000"+
+        "\u0000\u6547\u0000\u0000\u6548\u0000\u6549\u654A"+
+        "\u0000\u0000\u654B\u0000\u0000\u0000\u654C\u654D"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u654F"+
+        "\u6550\u654E\u6551\u6552\u0000\u6553\u0000\u0000"+
+        "\u0000\u6554\u6555\u0000\u6556\u0000\u0000\u0000"+
+        "\u6557\u6558\u0000\u0000\u0000\u6559\u655A\u655B"+
+        "\u0000\u0000\u0000\u0000\u0000\u655C\u655D\u655E"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u655F"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u6560\u6561"+
+        "\u0000\u6562\u6563\u6564\u6565\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u6566\u0000\u6568\u0000\u6567"+
+        "\u0000\u0000\u0000\u6569\u0000\u656A\u0000\u0000"+
+        "\u656B\u0000\u656C\u0000\u656D\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u656E\u0000\u0000"+
+        "\u0000\u656F\u0000\u0000\u6570\u0000\u0000\u6571"+
+        "\u0000\u6572\u0000\u6573\u0000\u0000\u0000\u0000"+
+        "\u6574\u0000\u0000\u6575\u0000\u6576\u6577\u6578"+
+        "\u0000\u6579\u657A\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u657C\u657B\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u657D\u657E\u0000\u0000\u0000\u0000\u6621\u0000"+
+        "\u0000\u0000\u0000\u0000\u6622\u0000\u0000\u0000"+
+        "\u6623\u0000\u0000\u0000\u6624\u6625\u6626\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u6627\u6628\u6629"+
+        "\u0000\u662A\u0000\u0000\u0000\u0000\u662B\u0000"+
+        "\u0000\u662C\u0000\u662D\u662E\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u662F\u0000\u6630\u0000"+
+        "\u0000\u0000\u6631\u0000\u0000\u6632\u0000\u6633"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u6634\u0000"+
+        "\u6635\u6636\u0000\u6637\u0000\u0000\u0000\u0000"+
+        "\u6638\u6639\u663A\u663B\u0000\u0000\u0000\u0000"+
+        "\u0000\u663C\u663D\u0000\u0000\u663E\u663F\u6640"+
+        "\u6641\u0000\u0000\u0000\u6642\u0000\u6643\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u6644\u6645\u0000"+
+        "\u0000\u0000\u6646\u0000\u6647\u6648\u6649\u0000"+
+        "\u0000\u0000\u0000\u0000\u664A\u0000\u0000\u0000"+
+        "\u0000\u664B\u0000\u664C\u0000\u0000\u0000\u664D"+
+        "\u664E\u664F\u6650\u0000\u6651\u6652\u0000\u0000"+
+        "\u0000\u6653\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u6654\u0000\u6655\u0000\u6656\u6657"+
+        "\u6658\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u6659\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u665A\u0000"+
+        "\u0000\u0000\u0000\u0000\u665B\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u665C\u665D\u0000\u665E\u665F"+
+        "\u0000\u6660\u6661\u6662\u6663\u0000\u0000\u0000"+
+        "\u0000\u6664\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u6665\u0000\u0000\u0000\u0000\u6666\u0000"+
+        "\u0000\u0000\u6667\u0000\u0000\u6668\u0000\u6669"+
+        "\u0000\u0000\u0000\u0000\u666A\u666B\u666C\u0000"+
+        "\u0000\u666D\u0000\u0000\u0000\u0000\u666E\u666F"+
+        "\u0000\u0000\u0000\u6670\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u6671\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u6672\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u6673\u0000\u0000\u0000\u0000\u0000"+
+        "\u6675\u0000\u6676\u0000\u0000\u6677\u6678\u6679"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u667A\u0000\u0000\u0000\u0000\u0000\u667B"+
+        "\u0000\u667C\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u667D\u0000\u0000\u0000\u0000\u0000";
+
+    private final static String innerIndex5=
+        "\u0000\u0000\u667E\u6721\u0000\u6722\u0000\u0000"+
+        "\u0000\u6723\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u6724\u6725\u0000\u6726\u0000\u0000"+
+        "\u0000\u6727\u6728\u6729\u0000\u0000\u0000\u0000"+
+        "\u672A\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u672B\u0000\u672C\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u672D\u0000\u672E\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u672F\u0000\u0000\u0000\u6730\u6731"+
+        "\u0000\u0000\u0000\u0000\u0000\u6732\u0000\u6733"+
+        "\u6734\u0000\u6735\u6736\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u6737\u0000\u0000\u0000\u6738"+
+        "\u0000\u0000\u6739\u0000\u0000\u0000\u673A\u0000"+
+        "\u0000\u0000\u0000\u673B\u0000\u0000\u673C\u673D"+
+        "\u673E\u0000\u0000\u673F\u0000\u6740\u0000\u6741"+
+        "\u6742\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u6743\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u6744\u6745\u6746"+
+        "\u0000\u6747\u6748\u0000\u0000\u0000\u6749\u674A"+
+        "\u0000\u0000\u674B\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u674C\u0000\u674D\u0000"+
+        "\u0000\u674E\u674F\u0000\u0000\u6750\u6751\u0000"+
+        "\u6752\u6753\u6754\u0000\u6755\u0000\u6756\u6757"+
+        "\u0000\u6758\u0000\u0000\u6759\u675A\u0000\u675B"+
+        "\u0000\u675C\u675D\u0000\u675E\u675F\u6760\u0000"+
+        "\u6761\u6762\u0000\u0000\u6763\u0000\u0000\u6764"+
+        "\u6765\u6766\u0000\u676A\u0000\u6767\u6768\u0000"+
+        "\u6769\u676B\u0000\u0000\u676C\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u676D"+
+        "\u0000\u676E\u0000\u0000\u676F\u0000\u0000\u6770"+
+        "\u6771\u0000\u6772\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6773"+
+        "\u0000\u0000\u6774\u0000\u0000\u6776\u6777\u0000"+
+        "\u0000\u0000\u0000\u0000\u6778\u0000\u6779\u0000"+
+        "\u0000\u6775\u0000\u0000\u677A\u0000\u677B\u0000"+
+        "\u677C\u0000\u0000\u677D\u0000\u6828\u677E\u0000"+
+        "\u0000\u0000\u0000\u6821\u0000\u0000\u6822\u6823"+
+        "\u6824\u0000\u6825\u6826\u0000\u6827\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u6829\u0000"+
+        "\u0000\u0000\u0000\u0000\u682A\u0000\u0000\u682B"+
+        "\u0000\u0000\u682C\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u682D\u682E\u682F\u0000\u0000\u6830\u6831"+
+        "\u0000\u6832\u6833\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u6834\u6835\u0000\u6836\u6837\u0000"+
+        "\u0000\u0000\u6838\u0000\u6839\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u683A\u0000\u683B\u683C\u0000"+
+        "\u683D\u0000\u0000\u0000\u683E\u0000\u0000\u683F"+
+        "\u6840\u0000\u6841\u6842\u0000\u0000\u0000\u6843"+
+        "\u0000\u0000\u6844\u0000\u0000\u6845\u0000\u0000"+
+        "\u6846\u0000\u0000\u0000\u6847\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u6848\u0000\u6849\u0000\u684A\u684B\u684C"+
+        "\u0000\u0000\u684D\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u684E\u0000\u0000\u684F\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u6850\u0000\u0000\u0000\u0000\u6851"+
+        "\u6852\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u6853\u0000\u0000\u0000\u6854\u6855\u6856"+
+        "\u0000\u0000\u6857\u6858\u6859\u0000\u0000\u685A"+
+        "\u0000\u0000\u685B\u0000\u0000\u0000\u685C\u685D"+
+        "\u0000\u0000\u0000\u685E\u0000\u0000\u0000\u0000"+
+        "\u0000\u685F\u6860\u6861\u6862\u6863\u0000\u0000"+
+        "\u0000\u6864\u6865\u6866\u6867\u0000\u0000\u0000"+
+        "\u6868\u6869\u0000\u0000\u0000\u0000\u686A\u686B"+
+        "\u686C\u0000\u0000\u0000\u0000\u686D\u686E\u0000"+
+        "\u0000\u0000\u0000\u0000\u686F\u0000\u0000\u0000"+
+        "\u6870\u6871\u0000\u6872\u6873\u0000\u6874\u6875"+
+        "\u6876\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u6877\u0000\u6878\u0000\u6879"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u687A\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u687B\u687C\u687D\u0000\u0000\u687E\u0000\u0000"+
+        "\u0000\u6921\u6922\u0000\u0000\u6923\u0000\u6924"+
+        "\u0000\u0000\u0000\u6925\u0000\u0000\u0000\u0000"+
+        "\u0000\u6926\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u6927\u6928\u0000\u0000\u0000"+
+        "\u0000\u6929\u692A\u0000\u692B\u0000\u692C\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u692D"+
+        "\u0000\u0000\u692E\u692F\u6930\u0000\u0000\u0000"+
+        "\u6931\u0000\u0000\u0000\u6932\u6933\u0000\u0000"+
+        "\u0000\u6934\u0000\u0000\u0000\u6935\u6936\u0000"+
+        "\u0000\u0000\u6937\u6938\u6939\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u693A\u693B\u0000\u0000\u0000"+
+        "\u693C\u693D\u0000\u0000\u0000\u0000\u693E\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u693F\u0000"+
+        "\u6940\u0000\u6941\u6942\u6943\u0000\u0000\u6944"+
+        "\u0000\u0000\u0000\u0000\u0000\u6945\u6946\u0000"+
+        "\u0000\u0000\u0000\u6947\u0000\u6948\u6949\u0000"+
+        "\u694A\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u694C\u0000\u0000\u694D\u0000\u0000\u694B"+
+        "\u0000\u0000\u694E\u694F\u6950\u0000\u6951\u0000"+
+        "\u0000\u6952\u0000\u0000\u6953\u0000\u6954\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u6955\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u6956\u0000\u6957\u0000\u6958\u6959"+
+        "\u0000\u0000\u695A\u0000\u695B\u695C\u695D\u0000"+
+        "\u0000\u695E\u0000\u695F\u0000\u0000\u6960\u6961"+
+        "\u0000\u6962\u0000\u6963\u0000\u0000\u6964\u0000"+
+        "\u6965\u0000\u0000\u0000\u0000\u0000\u6966\u0000"+
+        "\u6967\u0000\u6968\u0000\u0000\u6969\u696A\u696B"+
+        "\u0000\u0000\u0000\u696C\u696D\u0000\u0000\u0000"+
+        "\u696E\u0000\u0000\u0000\u696F\u6970\u0000\u6971"+
+        "\u0000\u6972\u0000\u0000\u6973\u0000\u0000\u0000"+
+        "\u0000\u0000\u6974\u6975\u0000\u6976\u0000\u0000"+
+        "\u0000\u6977\u6978\u0000\u0000\u6979\u0000\u697A"+
+        "\u697B\u697C\u697D\u697E\u6A21\u6A22\u0000\u0000"+
+        "\u6A23\u6A24\u0000\u6A25\u6A26\u6A27\u6A28\u0000"+
+        "\u6A29\u0000\u6A2A\u0000\u0000\u0000\u6A2B\u0000"+
+        "\u0000\u6A2C\u0000\u6A2D\u6A2E\u0000\u0000\u0000"+
+        "\u6A2F\u0000\u0000\u0000\u0000\u0000\u6A30\u0000"+
+        "\u0000\u0000\u0000\u6A31\u0000\u6A32\u0000\u0000"+
+        "\u0000\u0000\u0000\u6A33\u6A34\u6A35\u0000\u6A36"+
+        "\u0000\u6A37\u6A38\u0000\u0000\u6A39\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u6A3A\u0000\u0000\u6A3B\u6A3C\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u6A3D\u6A3E\u6A3F"+
+        "\u0000\u0000\u0000\u6A40\u0000\u0000\u6A41\u0000"+
+        "\u0000\u6A42\u0000\u6A43\u0000\u6A44\u6A45\u0000"+
+        "\u6A46\u0000\u6A47\u6A48\u6A49\u6A4A\u6A4B\u0000"+
+        "\u0000\u0000\u0000\u6A4C\u0000\u6A4D\u0000\u6A4E"+
+        "\u6A4F\u6A50\u0000\u0000\u0000\u0000\u0000\u6A51"+
+        "\u6A52\u0000\u0000\u0000\u6A53\u6A54\u6A55\u6A56"+
+        "\u0000\u6A57\u6A58\u6A59\u0000\u6A5A\u0000\u6A5B"+
+        "\u6A5C\u0000\u0000\u0000\u6A5D\u0000\u0000\u0000"+
+        "\u0000\u0000\u6A5E\u0000\u0000\u6A5F\u6A60\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u6A61\u6A62"+
+        "\u0000\u6A63\u0000\u0000\u6A64\u0000\u0000\u0000"+
+        "\u6A65\u6A66\u6A67\u0000\u0000\u0000\u0000\u6A68"+
+        "\u6A69\u0000\u0000\u6A6A\u6A6B\u0000\u6A6C\u6A6D"+
+        "\u0000\u6A6E\u0000\u0000\u0000\u0000\u0000\u6A6F"+
+        "\u6A70\u0000\u0000\u0000\u0000\u0000\u6A71\u0000"+
+        "\u6A72\u0000\u0000\u0000\u0000\u0000\u0000\u6A73"+
+        "\u6A74\u0000\u0000\u0000\u0000\u6A75\u0000\u6A76"+
+        "\u0000\u0000\u0000\u0000\u0000\u6A77\u0000\u6A78"+
+        "\u0000\u0000\u6A79\u6A7A\u0000\u0000\u0000\u6A7B"+
+        "\u0000\u0000\u0000\u6A7C\u0000\u0000\u0000\u6A7D"+
+        "\u6A7E\u6B21\u6B22\u0000\u0000\u6B23\u0000\u6B24"+
+        "\u6B25\u0000\u6B26\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u6B27\u0000\u0000\u0000\u6B28"+
+        "\u0000\u6B29\u0000\u0000\u0000\u0000\u6B2A\u0000"+
+        "\u6B2B\u6B2C\u6B2D\u0000\u6B2E\u0000\u6B2F\u0000"+
+        "\u0000\u0000\u6B30\u6B31\u0000\u0000\u6B32\u6B33"+
+        "\u6B34\u6B35\u6B36\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u6B37\u0000\u0000\u0000\u6B38\u6B39\u6B3A"+
+        "\u0000\u0000\u0000\u0000\u0000\u6B3B\u0000\u0000"+
+        "\u0000\u6B3C\u0000\u6B3D\u6B3E\u6B3F\u0000\u0000"+
+        "\u0000\u6B40\u6B41\u0000\u0000\u0000\u6B42\u6B43"+
+        "\u6B44\u0000\u0000\u6B45\u6B46\u0000\u6B47\u0000"+
+        "\u6B48\u0000\u0000\u6B49\u6B50\u6B4A\u6B4B\u6B4C"+
+        "\u0000\u0000\u0000\u6B4D\u0000\u0000\u0000\u0000"+
+        "\u6B52\u6B4E\u6B4F\u6B51\u0000\u0000\u6B53\u0000"+
+        "\u6B54\u0000\u6B55\u0000\u0000\u6B56\u0000\u6B57"+
+        "\u0000\u0000\u0000\u6B58\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u6B59\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u6B5A\u0000\u0000\u0000\u0000\u6B5B"+
+        "\u0000\u6B5C\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u6B5E\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u6B5D\u0000\u0000\u0000\u0000"+
+        "\u0000\u6B5F\u0000\u0000\u0000\u0000\u0000\u6B60"+
+        "\u6B61\u0000\u0000\u0000\u6B62\u6B63\u6B64\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6B65"+
+        "\u6B66\u0000\u6B67\u6B68\u6B69\u0000\u0000\u0000"+
+        "\u0000\u0000\u6B6A\u0000\u6B6B\u6B6D\u0000\u0000"+
+        "\u0000\u0000\u6B6E\u6B6F\u0000\u6B6C\u0000\u6B70"+
+        "\u0000\u0000\u6B71\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u6B72\u6B73\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6B74"+
+        "\u0000\u0000\u6B76\u6B75\u0000\u6B77\u0000\u0000"+
+        "\u0000\u6B78\u6B79\u6B7A\u0000\u0000\u0000\u0000"+
+        "\u6B7B\u0000\u0000\u0000\u0000\u0000\u6B7C\u6B7D"+
+        "\u0000\u0000\u0000\u6B7E\u6C21\u0000\u6C22\u0000"+
+        "\u0000\u0000\u0000\u6C23\u6C24\u0000\u6C25\u0000"+
+        "\u0000\u0000\u6C26\u0000\u0000\u6C27\u6C28\u0000"+
+        "\u0000\u0000\u6C29\u6C2A\u0000\u6C2B\u6C2C\u6C2D"+
+        "\u6C2E\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u6C2F\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u6C30\u0000\u6C31\u0000\u6C32\u0000"+
+        "\u0000\u6C33\u0000\u0000\u0000\u6C34\u0000\u0000"+
+        "\u0000\u6C35\u0000\u0000\u6C36\u0000\u0000\u6C37"+
+        "\u0000\u0000\u0000\u6C38\u0000\u0000\u0000\u6C39"+
+        "\u0000\u6C3A\u6C3B\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u6C3C\u6C3D\u6C3E\u6C3F"+
+        "\u0000\u0000\u6C40\u0000\u0000\u0000\u6C41\u6C42"+
+        "\u6C43\u0000\u0000\u0000\u0000\u6C44\u0000\u6C45"+
+        "\u0000\u6C46\u0000\u6C47\u0000\u0000\u6C48\u0000"+
+        "\u6C49\u0000\u0000\u6C4A\u6C4B\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u6C4C\u0000"+
+        "\u0000\u0000\u6C4E\u0000\u0000\u0000\u0000\u6C4F"+
+        "\u0000\u0000\u6C4D\u0000\u0000\u0000\u6C50\u0000"+
+        "\u6C51\u6C52\u6C53\u0000\u0000\u6C54\u6C55\u0000"+
+        "\u0000\u6C56\u0000\u0000\u6C57\u6C58\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u6C59\u6C5A\u6C5B\u0000\u0000\u0000"+
+        "\u6C5C\u0000\u6C5D\u6C5E\u6C5F\u6C60\u0000\u6C61"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u6C62\u6C63"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u6C64\u0000"+
+        "\u6C65\u0000\u0000\u6C66\u0000\u0000\u6C67\u0000"+
+        "\u0000\u0000\u0000\u0000\u6C68\u0000\u0000\u0000"+
+        "\u6C69\u0000\u0000\u0000\u6C6A\u0000\u6C6B\u6C6C"+
+        "\u6C6D\u0000\u0000\u6C6E\u6C6F\u6C70\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u6C71\u0000"+
+        "\u6C72\u0000\u0000\u6C73\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u6C74\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6C75"+
+        "\u0000\u0000\u0000\u0000\u6C76\u0000\u0000\u6C77"+
+        "\u0000\u0000\u0000\u0000\u6C78\u6C79\u6C7A\u0000"+
+        "\u6C7B\u6C7C\u6C7D\u0000\u0000\u6C7E\u0000\u0000"+
+        "\u6D21\u0000\u0000\u0000\u0000\u0000\u0000\u6D22"+
+        "\u0000\u0000\u6D23\u6D24\u0000\u0000\u0000\u0000"+
+        "\u0000\u6D25\u0000\u0000\u0000\u0000\u0000\u6D26"+
+        "\u6D27\u6D28\u6D29\u0000\u6D2A\u0000\u6D2B\u6D2C"+
+        "\u0000\u6D2D\u6D2E\u6D2F\u0000\u0000\u0000\u6D30"+
+        "\u0000\u0000\u6D31\u0000\u0000\u0000\u6D32\u0000"+
+        "\u0000\u0000\u6D33\u6D34\u0000\u0000\u0000\u6D35"+
+        "\u0000\u6D36\u6D37\u0000\u6D38\u0000\u0000\u6D39"+
+        "\u0000\u6D3A\u6D3B\u0000\u6D3C\u6D3D\u0000\u6D3E"+
+        "\u0000\u6D3F\u0000\u6D40\u6D41\u6D42\u6D43\u6D44"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u6D45\u0000\u6D46\u6D47\u6D48"+
+        "\u6D49\u0000\u6D4A\u0000\u0000\u6D4B\u6D4C\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u6D4D\u6D4E\u0000\u0000\u0000\u6D4F\u6D50\u6D51"+
+        "\u6D52\u6D53\u0000\u6D54\u0000\u6D55\u0000\u0000"+
+        "\u0000\u0000\u6D56\u0000\u0000\u6D57\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6D58"+
+        "\u6D59\u6D5A\u6D5B\u0000\u6D5C\u0000\u6D5D\u6D5E"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u6D5F\u0000"+
+        "\u0000\u6D60\u6D61\u6D62\u0000\u6D63\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u2237\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
+
+    private final static short index1[] = {
+        1, 2, 3, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 8,
+        9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
+        25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
+        41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
+        57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
+        73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 89
+    };
+
+    private final static String index2[] = {
+        innerIndex0,
+        innerIndex1,
+        innerIndex2,
+        innerIndex3,
+        innerIndex4,
+        innerIndex5
+    };
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/sun/nio/cs/OLD/JIS_X_0212_OLD.java	Wed Aug 01 11:08:11 2012 -0400
@@ -0,0 +1,63 @@
+/*
+ * Copyright (c) 2002, 2003, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code 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
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ */
+
+
+import java.nio.charset.Charset;
+import java.nio.charset.CharsetDecoder;
+import java.nio.charset.CharsetEncoder;
+
+public class JIS_X_0212_OLD
+    extends Charset
+{
+
+    public JIS_X_0212_OLD() {
+        super("JIS_X0212-1990_OLD", null);
+    }
+
+    public boolean contains(Charset cs) {
+        return (cs instanceof JIS_X_0212_OLD);
+    }
+
+    public CharsetDecoder newDecoder() {
+        return new Decoder(this);
+    }
+
+    public CharsetEncoder newEncoder() {
+        return new JIS_X_0212_Encoder(this);
+    }
+
+    private static class Decoder extends JIS_X_0212_Decoder {
+        protected char decodeSingle(int b) {
+            return DoubleByteDecoder.REPLACE_CHAR;
+        }
+
+        public Decoder(Charset cs) {
+            super(cs);
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/sun/nio/cs/OLD/JIS_X_0212_Solaris_Decoder.java	Wed Aug 01 11:08:11 2012 -0400
@@ -0,0 +1,918 @@
+/*
+ * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code 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
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ */
+
+
+import java.nio.charset.Charset;
+import java.nio.charset.CharsetDecoder;
+
+public class JIS_X_0212_Solaris_Decoder extends DoubleByteDecoder
+{
+    public JIS_X_0212_Solaris_Decoder(Charset cs) {
+        super(cs,
+              index1,
+              index2,
+              0x21,
+              0x7E);
+    }
+
+    private final static String innerIndex0=
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\u02D8\u02C7\u00B8\u02D9"+
+        "\u02DD\u00AF\u02DB\u02DA\uFF5E\u0384\u0385\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u00A1"+
+        "\u00A6\u00BF\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\u00BA\u00AA\u00A9\u00AE\u2122\u00A4\u2116\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\u0386\u0388\u0389\u038A"+
+        "\u03AA\uFFFD\u038C\uFFFD\u038E\u03AB\uFFFD\u038F"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\u03AC\u03AD\u03AE\u03AF"+
+        "\u03CA\u0390\u03CC\u03C2\u03CD\u03CB\u03B0\u03CE"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\u0402\u0403\u0404\u0405\u0406"+
+        "\u0407\u0408\u0409\u040A\u040B\u040C\u040E\u040F"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\u0452\u0453\u0454\u0455\u0456"+
+        "\u0457\u0458\u0459\u045A\u045B\u045C\u045E\u045F"+
+        "\u00C6\u0110\uFFFD\u0126\uFFFD\u0132\uFFFD\u0141"+
+        "\u013F\uFFFD\u014A\u00D8\u0152\uFFFD\u0166\u00DE"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\u00E6\u0111\u00F0\u0127\u0131\u0133\u0138\u0142"+
+        "\u0140\u0149\u014B\u00F8\u0153\u00DF\u0167\u00FE"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u00C1\u00C0"+
+        "\u00C4\u00C2\u0102\u01CD\u0100\u0104\u00C5\u00C3"+
+        "\u0106\u0108\u010C\u00C7\u010A\u010E\u00C9\u00C8"+
+        "\u00CB\u00CA\u011A\u0116\u0112\u0118\uFFFD\u011C"+
+        "\u011E\u0122\u0120\u0124\u00CD\u00CC\u00CF\u00CE"+
+        "\u01CF\u0130\u012A\u012E\u0128\u0134\u0136\u0139"+
+        "\u013D\u013B\u0143\u0147\u0145\u00D1\u00D3\u00D2"+
+        "\u00D6\u00D4\u01D1\u0150\u014C\u00D5\u0154\u0158"+
+        "\u0156\u015A\u015C\u0160\u015E\u0164\u0162\u00DA"+
+        "\u00D9\u00DC\u00DB\u016C\u01D3\u0170\u016A\u0172"+
+        "\u016E\u0168\u01D7\u01DB\u01D9\u01D5\u0174\u00DD"+
+        "\u0178\u0176\u0179\u017D\u017B\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\u00E1\u00E0\u00E4\u00E2"+
+        "\u0103\u01CE\u0101\u0105\u00E5\u00E3\u0107\u0109"+
+        "\u010D\u00E7\u010B\u010F\u00E9\u00E8\u00EB\u00EA"+
+        "\u011B\u0117\u0113\u0119\u01F5\u011D\u011F\uFFFD"+
+        "\u0121\u0125\u00ED\u00EC\u00EF\u00EE\u01D0\uFFFD"+
+        "\u012B\u012F\u0129\u0135\u0137\u013A\u013E\u013C"+
+        "\u0144\u0148\u0146\u00F1\u00F3\u00F2\u00F6\u00F4"+
+        "\u01D2\u0151\u014D\u00F5\u0155\u0159\u0157\u015B"+
+        "\u015D\u0161\u015F\u0165\u0163\u00FA\u00F9\u00FC"+
+        "\u00FB\u016D\u01D4\u0171\u016B\u0173\u016F\u0169"+
+        "\u01D8\u01DC\u01DA\u01D6\u0175\u00FD\u00FF\u0177"+
+        "\u017A\u017E\u017C\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\u4E02\u4E04\u4E05\u4E0C\u4E12\u4E1F"+
+        "\u4E23\u4E24\u4E28\u4E2B\u4E2E\u4E2F\u4E30\u4E35"+
+        "\u4E40\u4E41\u4E44\u4E47\u4E51\u4E5A\u4E5C\u4E63"+
+        "\u4E68\u4E69\u4E74\u4E75\u4E79\u4E7F\u4E8D\u4E96"+
+        "\u4E97\u4E9D\u4EAF\u4EB9\u4EC3\u4ED0\u4EDA\u4EDB"+
+        "\u4EE0\u4EE1\u4EE2\u4EE8\u4EEF\u4EF1\u4EF3\u4EF5"+
+        "\u4EFD\u4EFE\u4EFF\u4F00\u4F02\u4F03\u4F08\u4F0B"+
+        "\u4F0C\u4F12\u4F15\u4F16\u4F17\u4F19\u4F2E\u4F31"+
+        "\u4F60\u4F33\u4F35\u4F37\u4F39\u4F3B\u4F3E\u4F40"+
+        "\u4F42\u4F48\u4F49\u4F4B\u4F4C\u4F52\u4F54\u4F56"+
+        "\u4F58\u4F5F\u4F63\u4F6A\u4F6C\u4F6E\u4F71\u4F77"+
+        "\u4F78\u4F79\u4F7A\u4F7D\u4F7E\u4F81\u4F82\u4F84"+
+        "\u4F85\u4F89\u4F8A\u4F8C\u4F8E\u4F90\u4F92\u4F93"+
+        "\u4F94\u4F97\u4F99\u4F9A\u4F9E\u4F9F\u4FB2\u4FB7"+
+        "\u4FB9\u4FBB\u4FBC\u4FBD\u4FBE\u4FC0\u4FC1\u4FC5"+
+        "\u4FC6\u4FC8\u4FC9\u4FCB\u4FCC\u4FCD\u4FCF\u4FD2"+
+        "\u4FDC\u4FE0\u4FE2\u4FF0\u4FF2\u4FFC\u4FFD\u4FFF"+
+        "\u5000\u5001\u5004\u5007\u500A\u500C\u500E\u5010"+
+        "\u5013\u5017\u5018\u501B\u501C\u501D\u501E\u5022"+
+        "\u5027\u502E\u5030\u5032\u5033\u5035\u5040\u5041"+
+        "\u5042\u5045\u5046\u504A\u504C\u504E\u5051\u5052"+
+        "\u5053\u5057\u5059\u505F\u5060\u5062\u5063\u5066"+
+        "\u5067\u506A\u506D\u5070\u5071\u503B\u5081\u5083"+
+        "\u5084\u5086\u508A\u508E\u508F\u5090\u5092\u5093"+
+        "\u5094\u5096\u509B\u509C\u509E\u509F\u50A0\u50A1"+
+        "\u50A2\u50AA\u50AF\u50B0\u50B9\u50BA\u50BD\u50C0"+
+        "\u50C3\u50C4\u50C7\u50CC\u50CE\u50D0\u50D3\u50D4"+
+        "\u50D8\u50DC\u50DD\u50DF\u50E2\u50E4\u50E6\u50E8"+
+        "\u50E9\u50EF\u50F1\u50F6\u50FA\u50FE\u5103\u5106"+
+        "\u5107\u5108\u510B\u510C\u510D\u510E\u50F2\u5110"+
+        "\u5117\u5119\u511B\u511C\u511D\u511E\u5123\u5127"+
+        "\u5128\u512C\u512D\u512F\u5131\u5133\u5134\u5135"+
+        "\u5138\u5139\u5142\u514A\u514F\u5153\u5155\u5157"+
+        "\u5158\u515F\u5164\u5166\u517E\u5183\u5184\u518B"+
+        "\u518E\u5198\u519D\u51A1\u51A3\u51AD\u51B8\u51BA"+
+        "\u51BC\u51BE\u51BF\u51C2\u51C8\u51CF\u51D1\u51D2"+
+        "\u51D3\u51D5\u51D8\u51DE\u51E2\u51E5\u51EE\u51F2"+
+        "\u51F3\u51F4\u51F7\u5201\u5202\u5205\u5212\u5213"+
+        "\u5215\u5216\u5218\u5222\u5228\u5231\u5232\u5235"+
+        "\u523C\u5245\u5249\u5255\u5257\u5258\u525A\u525C"+
+        "\u525F\u5260\u5261\u5266\u526E\u5277\u5278\u5279"+
+        "\u5280\u5282\u5285\u528A\u528C\u5293\u5295\u5296"+
+        "\u5297\u5298\u529A\u529C\u52A4\u52A5\u52A6\u52A7"+
+        "\u52AF\u52B0\u52B6\u52B7\u52B8\u52BA\u52BB\u52BD"+
+        "\u52C0\u52C4\u52C6\u52C8\u52CC\u52CF\u52D1\u52D4"+
+        "\u52D6\u52DB\u52DC\u52E1\u52E5\u52E8\u52E9\u52EA"+
+        "\u52EC\u52F0\u52F1\u52F4\u52F6\u52F7\u5300\u5303"+
+        "\u530A\u530B\u530C\u5311\u5313\u5318\u531B\u531C"+
+        "\u531E\u531F\u5325\u5327\u5328\u5329\u532B\u532C"+
+        "\u532D\u5330\u5332\u5335\u533C\u533D\u533E\u5342"+
+        "\u534C\u534B\u5359\u535B\u5361\u5363\u5365\u536C"+
+        "\u536D\u5372\u5379\u537E\u5383\u5387\u5388\u538E"+
+        "\u5393\u5394\u5399\u539D\u53A1\u53A4\u53AA\u53AB"+
+        "\u53AF\u53B2\u53B4\u53B5\u53B7\u53B8\u53BA\u53BD"+
+        "\u53C0\u53C5\u53CF\u53D2\u53D3\u53D5\u53DA\u53DD"+
+        "\u53DE\u53E0\u53E6\u53E7\u53F5\u5402\u5413\u541A"+
+        "\u5421\u5427\u5428\u542A\u542F\u5431\u5434\u5435"+
+        "\u5443\u5444\u5447\u544D\u544F\u545E\u5462\u5464"+
+        "\u5466\u5467\u5469\u546B\u546D\u546E\u5474\u547F"+
+        "\u5481\u5483\u5485\u5488\u5489\u548D\u5491\u5495"+
+        "\u5496\u549C\u549F\u54A1\u54A6\u54A7\u54A9\u54AA"+
+        "\u54AD\u54AE\u54B1\u54B7\u54B9\u54BA\u54BB\u54BF"+
+        "\u54C6\u54CA\u54CD\u54CE\u54E0\u54EA\u54EC\u54EF"+
+        "\u54F6\u54FC\u54FE\u54FF\u5500\u5501\u5505\u5508"+
+        "\u5509\u550C\u550D\u550E\u5515\u552A\u552B\u5532"+
+        "\u5535\u5536\u553B\u553C\u553D\u5541\u5547\u5549"+
+        "\u554A\u554D\u5550\u5551\u5558\u555A\u555B\u555E"+
+        "\u5560\u5561\u5564\u5566\u557F\u5581\u5582\u5586"+
+        "\u5588\u558E\u558F\u5591\u5592\u5593\u5594\u5597"+
+        "\u55A3\u55A4\u55AD\u55B2\u55BF\u55C1\u55C3\u55C6"+
+        "\u55C9\u55CB\u55CC\u55CE\u55D1\u55D2\u55D3\u55D7"+
+        "\u55D8\u55DB\u55DE\u55E2\u55E9\u55F6\u55FF\u5605"+
+        "\u5608\u560A\u560D\u560E\u560F\u5610\u5611\u5612"+
+        "\u5619\u562C\u5630\u5633\u5635\u5637\u5639\u563B"+
+        "\u563C\u563D\u563F\u5640\u5641\u5643\u5644\u5646"+
+        "\u5649\u564B\u564D\u564F\u5654\u565E\u5660\u5661"+
+        "\u5662\u5663\u5666\u5669\u566D\u566F\u5671\u5672"+
+        "\u5675\u5684\u5685\u5688\u568B\u568C\u5695\u5699"+
+        "\u569A\u569D\u569E\u569F\u56A6\u56A7\u56A8\u56A9"+
+        "\u56AB\u56AC\u56AD\u56B1\u56B3\u56B7\u56BE\u56C5"+
+        "\u56C9\u56CA\u56CB\u56CF\u56D0\u56CC\u56CD\u56D9"+
+        "\u56DC\u56DD\u56DF\u56E1\u56E4\u56E5\u56E6\u56E7"+
+        "\u56E8\u56F1\u56EB\u56ED\u56F6\u56F7\u5701\u5702"+
+        "\u5707\u570A\u570C\u5711\u5715\u571A\u571B\u571D"+
+        "\u5720\u5722\u5723\u5724\u5725\u5729\u572A\u572C"+
+        "\u572E\u572F\u5733\u5734\u573D\u573E\u573F\u5745"+
+        "\u5746\u574C\u574D\u5752\u5762\u5765\u5767\u5768"+
+        "\u576B\u576D\u576E\u576F\u5770\u5771\u5773\u5774"+
+        "\u5775\u5777\u5779\u577A\u577B\u577C\u577E\u5781"+
+        "\u5783\u578C\u5794\u5797\u5799\u579A\u579C\u579D"+
+        "\u579E\u579F\u57A1\u5795\u57A7\u57A8\u57A9\u57AC"+
+        "\u57B8\u57BD\u57C7\u57C8\u57CC\u57CF\u57D5\u57DD"+
+        "\u57DE\u57E4\u57E6\u57E7\u57E9\u57ED\u57F0\u57F5"+
+        "\u57F6\u57F8\u57FD\u57FE\u57FF\u5803\u5804\u5808"+
+        "\u5809\u57E1\u580C\u580D\u581B\u581E\u581F\u5820"+
+        "\u5826\u5827\u582D\u5832\u5839\u583F\u5849\u584C"+
+        "\u584D\u584F\u5850\u5855\u585F\u5861\u5864\u5867"+
+        "\u5868\u5878\u587C\u587F\u5880\u5881\u5887\u5888"+
+        "\u5889\u588A\u588C\u588D\u588F\u5890\u5894\u5896"+
+        "\u589D\u58A0\u58A1\u58A2\u58A6\u58A9\u58B1\u58B2"+
+        "\u58C4\u58BC\u58C2\u58C8\u58CD\u58CE\u58D0\u58D2"+
+        "\u58D4\u58D6\u58DA\u58DD\u58E1\u58E2\u58E9\u58F3"+
+        "\u5905\u5906\u590B\u590C\u5912\u5913\u5914\u8641"+
+        "\u591D\u5921\u5923\u5924\u5928\u592F\u5930\u5933"+
+        "\u5935\u5936\u593F\u5943\u5946\u5952\u5953\u5959"+
+        "\u595B\u595D\u595E\u595F\u5961\u5963\u596B\u596D";
+
+    private final static String innerIndex1=
+        "\u596F\u5972\u5975\u5976\u5979\u597B\u597C\u598B"+
+        "\u598C\u598E\u5992\u5995\u5997\u599F\u59A4\u59A7"+
+        "\u59AD\u59AE\u59AF\u59B0\u59B3\u59B7\u59BA\u59BC"+
+        "\u59C1\u59C3\u59C4\u59C8\u59CA\u59CD\u59D2\u59DD"+
+        "\u59DE\u59DF\u59E3\u59E4\u59E7\u59EE\u59EF\u59F1"+
+        "\u59F2\u59F4\u59F7\u5A00\u5A04\u5A0C\u5A0D\u5A0E"+
+        "\u5A12\u5A13\u5A1E\u5A23\u5A24\u5A27\u5A28\u5A2A"+
+        "\u5A2D\u5A30\u5A44\u5A45\u5A47\u5A48\u5A4C\u5A50"+
+        "\u5A55\u5A5E\u5A63\u5A65\u5A67\u5A6D\u5A77\u5A7A"+
+        "\u5A7B\u5A7E\u5A8B\u5A90\u5A93\u5A96\u5A99\u5A9C"+
+        "\u5A9E\u5A9F\u5AA0\u5AA2\u5AA7\u5AAC\u5AB1\u5AB2"+
+        "\u5AB3\u5AB5\u5AB8\u5ABA\u5ABB\u5ABF\u5AC4\u5AC6"+
+        "\u5AC8\u5ACF\u5ADA\u5ADC\u5AE0\u5AE5\u5AEA\u5AEE"+
+        "\u5AF5\u5AF6\u5AFD\u5B00\u5B01\u5B08\u5B17\u5B34"+
+        "\u5B19\u5B1B\u5B1D\u5B21\u5B25\u5B2D\u5B38\u5B41"+
+        "\u5B4B\u5B4C\u5B52\u5B56\u5B5E\u5B68\u5B6E\u5B6F"+
+        "\u5B7C\u5B7D\u5B7E\u5B7F\u5B81\u5B84\u5B86\u5B8A"+
+        "\u5B8E\u5B90\u5B91\u5B93\u5B94\u5B96\u5BA8\u5BA9"+
+        "\u5BAC\u5BAD\u5BAF\u5BB1\u5BB2\u5BB7\u5BBA\u5BBC"+
+        "\u5BC0\u5BC1\u5BCD\u5BCF\u5BD6\u5BD7\u5BD8\u5BD9"+
+        "\u5BDA\u5BE0\u5BEF\u5BF1\u5BF4\u5BFD\u5C0C\u5C17"+
+        "\u5C1E\u5C1F\u5C23\u5C26\u5C29\u5C2B\u5C2C\u5C2E"+
+        "\u5C30\u5C32\u5C35\u5C36\u5C59\u5C5A\u5C5C\u5C62"+
+        "\u5C63\u5C67\u5C68\u5C69\u5C6D\u5C70\u5C74\u5C75"+
+        "\u5C7A\u5C7B\u5C7C\u5C7D\u5C87\u5C88\u5C8A\u5C8F"+
+        "\u5C92\u5C9D\u5C9F\u5CA0\u5CA2\u5CA3\u5CA6\u5CAA"+
+        "\u5CB2\u5CB4\u5CB5\u5CBA\u5CC9\u5CCB\u5CD2\u5CDD"+
+        "\u5CD7\u5CEE\u5CF1\u5CF2\u5CF4\u5D01\u5D06\u5D0D"+
+        "\u5D12\u5D2B\u5D23\u5D24\u5D26\u5D27\u5D31\u5D34"+
+        "\u5D39\u5D3D\u5D3F\u5D42\u5D43\u5D46\u5D48\u5D55"+
+        "\u5D51\u5D59\u5D4A\u5D5F\u5D60\u5D61\u5D62\u5D64"+
+        "\u5D6A\u5D6D\u5D70\u5D79\u5D7A\u5D7E\u5D7F\u5D81"+
+        "\u5D83\u5D88\u5D8A\u5D92\u5D93\u5D94\u5D95\u5D99"+
+        "\u5D9B\u5D9F\u5DA0\u5DA7\u5DAB\u5DB0\u5DB4\u5DB8"+
+        "\u5DB9\u5DC3\u5DC7\u5DCB\u5DD0\u5DCE\u5DD8\u5DD9"+
+        "\u5DE0\u5DE4\u5DE9\u5DF8\u5DF9\u5E00\u5E07\u5E0D"+
+        "\u5E12\u5E14\u5E15\u5E18\u5E1F\u5E20\u5E2E\u5E28"+
+        "\u5E32\u5E35\u5E3E\u5E4B\u5E50\u5E49\u5E51\u5E56"+
+        "\u5E58\u5E5B\u5E5C\u5E5E\u5E68\u5E6A\u5E6B\u5E6C"+
+        "\u5E6D\u5E6E\u5E70\u5E80\u5E8B\u5E8E\u5EA2\u5EA4"+
+        "\u5EA5\u5EA8\u5EAA\u5EAC\u5EB1\u5EB3\u5EBD\u5EBE"+
+        "\u5EBF\u5EC6\u5ECC\u5ECB\u5ECE\u5ED1\u5ED2\u5ED4"+
+        "\u5ED5\u5EDC\u5EDE\u5EE5\u5EEB\u5F02\u5F06\u5F07"+
+        "\u5F08\u5F0E\u5F19\u5F1C\u5F1D\u5F21\u5F22\u5F23"+
+        "\u5F24\u5F28\u5F2B\u5F2C\u5F2E\u5F30\u5F34\u5F36"+
+        "\u5F3B\u5F3D\u5F3F\u5F40\u5F44\u5F45\u5F47\u5F4D"+
+        "\u5F50\u5F54\u5F58\u5F5B\u5F60\u5F63\u5F64\u5F67"+
+        "\u5F6F\u5F72\u5F74\u5F75\u5F78\u5F7A\u5F7D\u5F7E"+
+        "\u5F89\u5F8D\u5F8F\u5F96\u5F9C\u5F9D\u5FA2\u5FA7"+
+        "\u5FAB\u5FA4\u5FAC\u5FAF\u5FB0\u5FB1\u5FB8\u5FC4"+
+        "\u5FC7\u5FC8\u5FC9\u5FCB\u5FD0\u5FD1\u5FD2\u5FD3"+
+        "\u5FD4\u5FDE\u5FE1\u5FE2\u5FE8\u5FE9\u5FEA\u5FEC"+
+        "\u5FED\u5FEE\u5FEF\u5FF2\u5FF3\u5FF6\u5FFA\u5FFC"+
+        "\u6007\u600A\u600D\u6013\u6014\u6017\u6018\u601A"+
+        "\u601F\u6024\u602D\u6033\u6035\u6040\u6047\u6048"+
+        "\u6049\u604C\u6051\u6054\u6056\u6057\u605D\u6061"+
+        "\u6067\u6071\u607E\u607F\u6082\u6086\u6088\u608A"+
+        "\u608E\u6091\u6093\u6095\u6098\u609D\u609E\u60A2"+
+        "\u60A4\u60A5\u60A8\u60B0\u60B1\u60B7\u60BB\u60BE"+
+        "\u60C2\u60C4\u60C8\u60C9\u60CA\u60CB\u60CE\u60CF"+
+        "\u60D4\u60D5\u60D9\u60DB\u60DD\u60DE\u60E2\u60E5"+
+        "\u60F2\u60F5\u60F8\u60FC\u60FD\u6102\u6107\u610A"+
+        "\u610C\u6110\u6111\u6112\u6113\u6114\u6116\u6117"+
+        "\u6119\u611C\u611E\u6122\u612A\u612B\u6130\u6131"+
+        "\u6135\u6136\u6137\u6139\u6141\u6145\u6146\u6149"+
+        "\u615E\u6160\u616C\u6172\u6178\u617B\u617C\u617F"+
+        "\u6180\u6181\u6183\u6184\u618B\u618D\u6192\u6193"+
+        "\u6197\u6198\u619C\u619D\u619F\u61A0\u61A5\u61A8"+
+        "\u61AA\u61AD\u61B8\u61B9\u61BC\u61C0\u61C1\u61C2"+
+        "\u61CE\u61CF\u61D5\u61DC\u61DD\u61DE\u61DF\u61E1"+
+        "\u61E2\u61E7\u61E9\u61E5\u61EC\u61ED\u61EF\u6201"+
+        "\u6203\u6204\u6207\u6213\u6215\u621C\u6220\u6222"+
+        "\u6223\u6227\u6229\u622B\u6239\u623D\u6242\u6243"+
+        "\u6244\u6246\u624C\u6250\u6251\u6252\u6254\u6256"+
+        "\u625A\u625C\u6264\u626D\u626F\u6273\u627A\u627D"+
+        "\u628D\u628E\u628F\u6290\u62A6\u62A8\u62B3\u62B6"+
+        "\u62B7\u62BA\u62BE\u62BF\u62C4\u62CE\u62D5\u62D6"+
+        "\u62DA\u62EA\u62F2\u62F4\u62FC\u62FD\u6303\u6304"+
+        "\u630A\u630B\u630D\u6310\u6313\u6316\u6318\u6329"+
+        "\u632A\u632D\u6335\u6336\u6339\u633C\u6341\u6342"+
+        "\u6343\u6344\u6346\u634A\u634B\u634E\u6352\u6353"+
+        "\u6354\u6358\u635B\u6365\u6366\u636C\u636D\u6371"+
+        "\u6374\u6375\u6378\u637C\u637D\u637F\u6382\u6384"+
+        "\u6387\u638A\u6390\u6394\u6395\u6399\u639A\u639E"+
+        "\u63A4\u63A6\u63AD\u63AE\u63AF\u63BD\u63C1\u63C5"+
+        "\u63C8\u63CE\u63D1\u63D3\u63D4\u63D5\u63DC\u63E0"+
+        "\u63E5\u63EA\u63EC\u63F2\u63F3\u63F5\u63F8\u63F9"+
+        "\u6409\u640A\u6410\u6412\u6414\u6418\u641E\u6420"+
+        "\u6422\u6424\u6425\u6429\u642A\u642F\u6430\u6435"+
+        "\u643D\u643F\u644B\u644F\u6451\u6452\u6453\u6454"+
+        "\u645A\u645B\u645C\u645D\u645F\u6460\u6461\u6463"+
+        "\u646D\u6473\u6474\u647B\u647D\u6485\u6487\u648F"+
+        "\u6490\u6491\u6498\u6499\u649B\u649D\u649F\u64A1"+
+        "\u64A3\u64A6\u64A8\u64AC\u64B3\u64BD\u64BE\u64BF"+
+        "\u64C4\u64C9\u64CA\u64CB\u64CC\u64CE\u64D0\u64D1"+
+        "\u64D5\u64D7\u64E4\u64E5\u64E9\u64EA\u64ED\u64F0"+
+        "\u64F5\u64F7\u64FB\u64FF\u6501\u6504\u6508\u6509"+
+        "\u650A\u650F\u6513\u6514\u6516\u6519\u651B\u651E"+
+        "\u651F\u6522\u6526\u6529\u652E\u6531\u653A\u653C"+
+        "\u653D\u6543\u6547\u6549\u6550\u6552\u6554\u655F"+
+        "\u6560\u6567\u656B\u657A\u657D\u6581\u6585\u658A"+
+        "\u6592\u6595\u6598\u659D\u65A0\u65A3\u65A6\u65AE"+
+        "\u65B2\u65B3\u65B4\u65BF\u65C2\u65C8\u65C9\u65CE"+
+        "\u65D0\u65D4\u65D6\u65D8\u65DF\u65F0\u65F2\u65F4"+
+        "\u65F5\u65F9\u65FE\u65FF\u6600\u6604\u6608\u6609"+
+        "\u660D\u6611\u6612\u6615\u6616\u661D\u661E\u6621"+
+        "\u6622\u6623\u6624\u6626\u6629\u662A\u662B\u662C"+
+        "\u662E\u6630\u6631\u6633\u6639\u6637\u6640\u6645"+
+        "\u6646\u664A\u664C\u6651\u664E\u6657\u6658\u6659"+
+        "\u665B\u665C\u6660\u6661\u66FB\u666A\u666B\u666C"+
+        "\u667E\u6673\u6675\u667F\u6677\u6678\u6679\u667B"+
+        "\u6680\u667C\u668B\u668C\u668D\u6690\u6692\u6699"+
+        "\u669A\u669B\u669C\u669F\u66A0\u66A4\u66AD\u66B1"+
+        "\u66B2\u66B5\u66BB\u66BF\u66C0\u66C2\u66C3\u66C8"+
+        "\u66CC\u66CE\u66CF\u66D4\u66DB\u66DF\u66E8\u66EB"+
+        "\u66EC\u66EE\u66FA\u6705\u6707\u670E\u6713\u6719"+
+        "\u671C\u6720\u6722\u6733\u673E\u6745\u6747\u6748"+
+        "\u674C\u6754\u6755\u675D\u6766\u676C\u676E\u6774"+
+        "\u6776\u677B\u6781\u6784\u678E\u678F\u6791\u6793"+
+        "\u6796\u6798\u6799\u679B\u67B0\u67B1\u67B2\u67B5"+
+        "\u67BB\u67BC\u67BD\u67F9\u67C0\u67C2\u67C3\u67C5"+
+        "\u67C8\u67C9\u67D2\u67D7\u67D9\u67DC\u67E1\u67E6"+
+        "\u67F0\u67F2\u67F6\u67F7\u6852\u6814\u6819\u681D"+
+        "\u681F\u6828\u6827\u682C\u682D\u682F\u6830\u6831"+
+        "\u6833\u683B\u683F\u6844\u6845\u684A\u684C\u6855"+
+        "\u6857\u6858\u685B\u686B\u686E\u686F\u6870\u6871"+
+        "\u6872\u6875\u6879\u687A\u687B\u687C\u6882\u6884"+
+        "\u6886\u6888\u6896\u6898\u689A\u689C\u68A1\u68A3"+
+        "\u68A5\u68A9\u68AA\u68AE\u68B2\u68BB\u68C5\u68C8"+
+        "\u68CC\u68CF\u68D0\u68D1\u68D3\u68D6\u68D9\u68DC"+
+        "\u68DD\u68E5\u68E8\u68EA\u68EB\u68EC\u68ED\u68F0"+
+        "\u68F1\u68F5\u68F6\u68FB\u68FC\u68FD\u6906\u6909"+
+        "\u690A\u6910\u6911\u6913\u6916\u6917\u6931\u6933"+
+        "\u6935\u6938\u693B\u6942\u6945\u6949\u694E\u6957"+
+        "\u695B\u6963\u6964\u6965\u6966\u6968\u6969\u696C"+
+        "\u6970\u6971\u6972\u697A\u697B\u697F\u6980\u698D"+
+        "\u6992\u6996\u6998\u69A1\u69A5\u69A6\u69A8\u69AB"+
+        "\u69AD\u69AF\u69B7\u69B8\u69BA\u69BC\u69C5\u69C8"+
+        "\u69D1\u69D6\u69D7\u69E2\u69E5\u69EE\u69EF\u69F1"+
+        "\u69F3\u69F5\u69FE\u6A00\u6A01\u6A03\u6A0F\u6A11"+
+        "\u6A15\u6A1A\u6A1D\u6A20\u6A24\u6A28\u6A30\u6A32"+
+        "\u6A34\u6A37\u6A3B\u6A3E\u6A3F\u6A45\u6A46\u6A49"+
+        "\u6A4A\u6A4E\u6A50\u6A51\u6A52\u6A55\u6A56\u6A5B"+
+        "\u6A64\u6A67\u6A6A\u6A71\u6A73\u6A7E\u6A81\u6A83"+
+        "\u6A86\u6A87\u6A89\u6A8B\u6A91\u6A9B\u6A9D\u6A9E"+
+        "\u6A9F\u6AA5\u6AAB\u6AAF\u6AB0\u6AB1\u6AB4\u6ABD"+
+        "\u6ABE\u6ABF\u6AC6\u6AC9\u6AC8\u6ACC\u6AD0\u6AD4"+
+        "\u6AD5\u6AD6\u6ADC\u6ADD\u6AE4\u6AE7\u6AEC\u6AF0"+
+        "\u6AF1\u6AF2\u6AFC\u6AFD\u6B02\u6B03\u6B06\u6B07"+
+        "\u6B09\u6B0F\u6B10\u6B11\u6B17\u6B1B\u6B1E\u6B24"+
+        "\u6B28\u6B2B\u6B2C\u6B2F\u6B35\u6B36\u6B3B\u6B3F"+
+        "\u6B46\u6B4A\u6B4D\u6B52\u6B56\u6B58\u6B5D\u6B60"+
+        "\u6B67\u6B6B\u6B6E\u6B70\u6B75\u6B7D\u6B7E\u6B82"+
+        "\u6B85\u6B97\u6B9B\u6B9F\u6BA0\u6BA2\u6BA3\u6BA8"+
+        "\u6BA9\u6BAC\u6BAD\u6BAE\u6BB0\u6BB8\u6BB9\u6BBD"+
+        "\u6BBE\u6BC3\u6BC4\u6BC9\u6BCC\u6BD6\u6BDA\u6BE1"+
+        "\u6BE3\u6BE6\u6BE7\u6BEE\u6BF1\u6BF7\u6BF9\u6BFF"+
+        "\u6C02\u6C04\u6C05\u6C09\u6C0D\u6C0E\u6C10\u6C12"+
+        "\u6C19\u6C1F\u6C26\u6C27\u6C28\u6C2C\u6C2E\u6C33"+
+        "\u6C35\u6C36\u6C3A\u6C3B\u6C3F\u6C4A\u6C4B\u6C4D"+
+        "\u6C4F\u6C52\u6C54\u6C59\u6C5B\u6C5C\u6C6B\u6C6D"+
+        "\u6C6F\u6C74\u6C76\u6C78\u6C79\u6C7B\u6C85\u6C86"+
+        "\u6C87\u6C89\u6C94\u6C95\u6C97\u6C98\u6C9C\u6C9F"+
+        "\u6CB0\u6CB2\u6CB4\u6CC2\u6CC6\u6CCD\u6CCF\u6CD0"+
+        "\u6CD1\u6CD2\u6CD4\u6CD6\u6CDA\u6CDC\u6CE0\u6CE7"+
+        "\u6CE9\u6CEB\u6CEC\u6CEE\u6CF2\u6CF4\u6D04\u6D07"+
+        "\u6D0A\u6D0E\u6D0F\u6D11\u6D13\u6D1A\u6D26\u6D27"+
+        "\u6D28\u6C67\u6D2E\u6D2F\u6D31\u6D39\u6D3C\u6D3F"+
+        "\u6D57\u6D5E\u6D5F\u6D61\u6D65\u6D67\u6D6F\u6D70"+
+        "\u6D7C\u6D82\u6D87\u6D91\u6D92\u6D94\u6D96\u6D97"+
+        "\u6D98\u6DAA\u6DAC\u6DB4\u6DB7\u6DB9\u6DBD\u6DBF"+
+        "\u6DC4\u6DC8\u6DCA\u6DCE\u6DCF\u6DD6\u6DDB\u6DDD"+
+        "\u6DDF\u6DE0\u6DE2\u6DE5\u6DE9\u6DEF\u6DF0\u6DF4"+
+        "\u6DF6\u6DFC\u6E00\u6E04\u6E1E\u6E22\u6E27\u6E32"+
+        "\u6E36\u6E39\u6E3B\u6E3C\u6E44\u6E45\u6E48\u6E49"+
+        "\u6E4B\u6E4F\u6E51\u6E52\u6E53\u6E54\u6E57\u6E5C"+
+        "\u6E5D\u6E5E\u6E62\u6E63\u6E68\u6E73\u6E7B\u6E7D"+
+        "\u6E8D\u6E93\u6E99\u6EA0\u6EA7\u6EAD\u6EAE\u6EB1"+
+        "\u6EB3\u6EBB\u6EBF\u6EC0\u6EC1\u6EC3\u6EC7\u6EC8"+
+        "\u6ECA\u6ECD\u6ECE\u6ECF\u6EEB\u6EED\u6EEE\u6EF9"+
+        "\u6EFB\u6EFD\u6F04\u6F08\u6F0A\u6F0C\u6F0D\u6F16"+
+        "\u6F18\u6F1A\u6F1B\u6F26\u6F29\u6F2A\u6F2F\u6F30"+
+        "\u6F33\u6F36\u6F3B\u6F3C\u6F2D\u6F4F\u6F51\u6F52"+
+        "\u6F53\u6F57\u6F59\u6F5A\u6F5D\u6F5E\u6F61\u6F62"+
+        "\u6F68\u6F6C\u6F7D\u6F7E\u6F83\u6F87\u6F88\u6F8B"+
+        "\u6F8C\u6F8D\u6F90\u6F92\u6F93\u6F94\u6F96\u6F9A"+
+        "\u6F9F\u6FA0\u6FA5\u6FA6\u6FA7\u6FA8\u6FAE\u6FAF"+
+        "\u6FB0\u6FB5\u6FB6\u6FBC\u6FC5\u6FC7\u6FC8\u6FCA";
+
+    private final static String innerIndex2=
+        "\u6FDA\u6FDE\u6FE8\u6FE9\u6FF0\u6FF5\u6FF9\u6FFC"+
+        "\u6FFD\u7000\u7005\u7006\u7007\u700D\u7017\u7020"+
+        "\u7023\u702F\u7034\u7037\u7039\u703C\u7043\u7044"+
+        "\u7048\u7049\u704A\u704B\u7054\u7055\u705D\u705E"+
+        "\u704E\u7064\u7065\u706C\u706E\u7075\u7076\u707E"+
+        "\u7081\u7085\u7086\u7094\u7095\u7096\u7097\u7098"+
+        "\u709B\u70A4\u70AB\u70B0\u70B1\u70B4\u70B7\u70CA"+
+        "\u70D1\u70D3\u70D4\u70D5\u70D6\u70D8\u70DC\u70E4"+
+        "\u70FA\u7103\u7104\u7105\u7106\u7107\u710B\u710C"+
+        "\u710F\u711E\u7120\u712B\u712D\u712F\u7130\u7131"+
+        "\u7138\u7141\u7145\u7146\u7147\u714A\u714B\u7150"+
+        "\u7152\u7157\u715A\u715C\u715E\u7160\u7168\u7179"+
+        "\u7180\u7185\u7187\u718C\u7192\u719A\u719B\u71A0"+
+        "\u71A2\u71AF\u71B0\u71B2\u71B3\u71BA\u71BF\u71C0"+
+        "\u71C1\u71C4\u71CB\u71CC\u71D3\u71D6\u71D9\u71DA"+
+        "\u71DC\u71F8\u71FE\u7200\u7207\u7208\u7209\u7213"+
+        "\u7217\u721A\u721D\u721F\u7224\u722B\u722F\u7234"+
+        "\u7238\u7239\u7241\u7242\u7243\u7245\u724E\u724F"+
+        "\u7250\u7253\u7255\u7256\u725A\u725C\u725E\u7260"+
+        "\u7263\u7268\u726B\u726E\u726F\u7271\u7277\u7278"+
+        "\u727B\u727C\u727F\u7284\u7289\u728D\u728E\u7293"+
+        "\u729B\u72A8\u72AD\u72AE\u72B1\u72B4\u72BE\u72C1"+
+        "\u72C7\u72C9\u72CC\u72D5\u72D6\u72D8\u72DF\u72E5"+
+        "\u72F3\u72F4\u72FA\u72FB\u72FE\u7302\u7304\u7305"+
+        "\u7307\u730B\u730D\u7312\u7313\u7318\u7319\u731E"+
+        "\u7322\u7324\u7327\u7328\u732C\u7331\u7332\u7335"+
+        "\u733A\u733B\u733D\u7343\u734D\u7350\u7352\u7356"+
+        "\u7358\u735D\u735E\u735F\u7360\u7366\u7367\u7369"+
+        "\u736B\u736C\u736E\u736F\u7371\u7377\u7379\u737C"+
+        "\u7380\u7381\u7383\u7385\u7386\u738E\u7390\u7393"+
+        "\u7395\u7397\u7398\u739C\u739E\u739F\u73A0\u73A2"+
+        "\u73A5\u73A6\u73AA\u73AB\u73AD\u73B5\u73B7\u73B9"+
+        "\u73BC\u73BD\u73BF\u73C5\u73C6\u73C9\u73CB\u73CC"+
+        "\u73CF\u73D2\u73D3\u73D6\u73D9\u73DD\u73E1\u73E3"+
+        "\u73E6\u73E7\u73E9\u73F4\u73F5\u73F7\u73F9\u73FA"+
+        "\u73FB\u73FD\u73FF\u7400\u7401\u7404\u7407\u740A"+
+        "\u7411\u741A\u741B\u7424\u7426\u7428\u7429\u742A"+
+        "\u742B\u742C\u742D\u742E\u742F\u7430\u7431\u7439"+
+        "\u7440\u7443\u7444\u7446\u7447\u744B\u744D\u7451"+
+        "\u7452\u7457\u745D\u7462\u7466\u7467\u7468\u746B"+
+        "\u746D\u746E\u7471\u7472\u7480\u7481\u7485\u7486"+
+        "\u7487\u7489\u748F\u7490\u7491\u7492\u7498\u7499"+
+        "\u749A\u749C\u749F\u74A0\u74A1\u74A3\u74A6\u74A8"+
+        "\u74A9\u74AA\u74AB\u74AE\u74AF\u74B1\u74B2\u74B5"+
+        "\u74B9\u74BB\u74BF\u74C8\u74C9\u74CC\u74D0\u74D3"+
+        "\u74D8\u74DA\u74DB\u74DE\u74DF\u74E4\u74E8\u74EA"+
+        "\u74EB\u74EF\u74F4\u74FA\u74FB\u74FC\u74FF\u7506"+
+        "\u7512\u7516\u7517\u7520\u7521\u7524\u7527\u7529"+
+        "\u752A\u752F\u7536\u7539\u753D\u753E\u753F\u7540"+
+        "\u7543\u7547\u7548\u754E\u7550\u7552\u7557\u755E"+
+        "\u755F\u7561\u756F\u7571\u7579\u757A\u757B\u757C"+
+        "\u757D\u757E\u7581\u7585\u7590\u7592\u7593\u7595"+
+        "\u7599\u759C\u75A2\u75A4\u75B4\u75BA\u75BF\u75C0"+
+        "\u75C1\u75C4\u75C6\u75CC\u75CE\u75CF\u75D7\u75DC"+
+        "\u75DF\u75E0\u75E1\u75E4\u75E7\u75EC\u75EE\u75EF"+
+        "\u75F1\u75F9\u7600\u7602\u7603\u7604\u7607\u7608"+
+        "\u760A\u760C\u760F\u7612\u7613\u7615\u7616\u7619"+
+        "\u761B\u761C\u761D\u761E\u7623\u7625\u7626\u7629"+
+        "\u762D\u7632\u7633\u7635\u7638\u7639\u763A\u763C"+
+        "\u764A\u7640\u7641\u7643\u7644\u7645\u7649\u764B"+
+        "\u7655\u7659\u765F\u7664\u7665\u766D\u766E\u766F"+
+        "\u7671\u7674\u7681\u7685\u768C\u768D\u7695\u769B"+
+        "\u769C\u769D\u769F\u76A0\u76A2\u76A3\u76A4\u76A5"+
+        "\u76A6\u76A7\u76A8\u76AA\u76AD\u76BD\u76C1\u76C5"+
+        "\u76C9\u76CB\u76CC\u76CE\u76D4\u76D9\u76E0\u76E6"+
+        "\u76E8\u76EC\u76F0\u76F1\u76F6\u76F9\u76FC\u7700"+
+        "\u7706\u770A\u770E\u7712\u7714\u7715\u7717\u7719"+
+        "\u771A\u771C\u7722\u7728\u772D\u772E\u772F\u7734"+
+        "\u7735\u7736\u7739\u773D\u773E\u7742\u7745\u7746"+
+        "\u774A\u774D\u774E\u774F\u7752\u7756\u7757\u775C"+
+        "\u775E\u775F\u7760\u7762\u7764\u7767\u776A\u776C"+
+        "\u7770\u7772\u7773\u7774\u777A\u777D\u7780\u7784"+
+        "\u778C\u778D\u7794\u7795\u7796\u779A\u779F\u77A2"+
+        "\u77A7\u77AA\u77AE\u77AF\u77B1\u77B5\u77BE\u77C3"+
+        "\u77C9\u77D1\u77D2\u77D5\u77D9\u77DE\u77DF\u77E0"+
+        "\u77E4\u77E6\u77EA\u77EC\u77F0\u77F1\u77F4\u77F8"+
+        "\u77FB\u7805\u7806\u7809\u780D\u780E\u7811\u781D"+
+        "\u7821\u7822\u7823\u782D\u782E\u7830\u7835\u7837"+
+        "\u7843\u7844\u7847\u7848\u784C\u784E\u7852\u785C"+
+        "\u785E\u7860\u7861\u7863\u7864\u7868\u786A\u786E"+
+        "\u787A\u787E\u788A\u788F\u7894\u7898\u78A1\u789D"+
+        "\u789E\u789F\u78A4\u78A8\u78AC\u78AD\u78B0\u78B1"+
+        "\u78B2\u78B3\u78BB\u78BD\u78BF\u78C7\u78C8\u78C9"+
+        "\u78CC\u78CE\u78D2\u78D3\u78D5\u78D6\u78E4\u78DB"+
+        "\u78DF\u78E0\u78E1\u78E6\u78EA\u78F2\u78F3\u7900"+
+        "\u78F6\u78F7\u78FA\u78FB\u78FF\u7906\u790C\u7910"+
+        "\u791A\u791C\u791E\u791F\u7920\u7925\u7927\u7929"+
+        "\u792D\u7931\u7934\u7935\u793B\u793D\u793F\u7944"+
+        "\u7945\u7946\u794A\u794B\u794F\u7951\u7954\u7958"+
+        "\u795B\u795C\u7967\u7969\u796B\u7972\u7979\u797B"+
+        "\u797C\u797E\u798B\u798C\u7991\u7993\u7994\u7995"+
+        "\u7996\u7998\u799B\u799C\u79A1\u79A8\u79A9\u79AB"+
+        "\u79AF\u79B1\u79B4\u79B8\u79BB\u79C2\u79C4\u79C7"+
+        "\u79C8\u79CA\u79CF\u79D4\u79D6\u79DA\u79DD\u79DE"+
+        "\u79E0\u79E2\u79E5\u79EA\u79EB\u79ED\u79F1\u79F8"+
+        "\u79FC\u7A02\u7A03\u7A07\u7A09\u7A0A\u7A0C\u7A11"+
+        "\u7A15\u7A1B\u7A1E\u7A21\u7A27\u7A2B\u7A2D\u7A2F"+
+        "\u7A30\u7A34\u7A35\u7A38\u7A39\u7A3A\u7A44\u7A45"+
+        "\u7A47\u7A48\u7A4C\u7A55\u7A56\u7A59\u7A5C\u7A5D"+
+        "\u7A5F\u7A60\u7A65\u7A67\u7A6A\u7A6D\u7A75\u7A78"+
+        "\u7A7E\u7A80\u7A82\u7A85\u7A86\u7A8A\u7A8B\u7A90"+
+        "\u7A91\u7A94\u7A9E\u7AA0\u7AA3\u7AAC\u7AB3\u7AB5"+
+        "\u7AB9\u7ABB\u7ABC\u7AC6\u7AC9\u7ACC\u7ACE\u7AD1"+
+        "\u7ADB\u7AE8\u7AE9\u7AEB\u7AEC\u7AF1\u7AF4\u7AFB"+
+        "\u7AFD\u7AFE\u7B07\u7B14\u7B1F\u7B23\u7B27\u7B29"+
+        "\u7B2A\u7B2B\u7B2D\u7B2E\u7B2F\u7B30\u7B31\u7B34"+
+        "\u7B3D\u7B3F\u7B40\u7B41\u7B47\u7B4E\u7B55\u7B60"+
+        "\u7B64\u7B66\u7B69\u7B6A\u7B6D\u7B6F\u7B72\u7B73"+
+        "\u7B77\u7B84\u7B89\u7B8E\u7B90\u7B91\u7B96\u7B9B"+
+        "\u7B9E\u7BA0\u7BA5\u7BAC\u7BAF\u7BB0\u7BB2\u7BB5"+
+        "\u7BB6\u7BBA\u7BBB\u7BBC\u7BBD\u7BC2\u7BC5\u7BC8"+
+        "\u7BCA\u7BD4\u7BD6\u7BD7\u7BD9\u7BDA\u7BDB\u7BE8"+
+        "\u7BEA\u7BF2\u7BF4\u7BF5\u7BF8\u7BF9\u7BFA\u7BFC"+
+        "\u7BFE\u7C01\u7C02\u7C03\u7C04\u7C06\u7C09\u7C0B"+
+        "\u7C0C\u7C0E\u7C0F\u7C19\u7C1B\u7C20\u7C25\u7C26"+
+        "\u7C28\u7C2C\u7C31\u7C33\u7C34\u7C36\u7C39\u7C3A"+
+        "\u7C46\u7C4A\u7C55\u7C51\u7C52\u7C53\u7C59\u7C5A"+
+        "\u7C5B\u7C5C\u7C5D\u7C5E\u7C61\u7C63\u7C67\u7C69"+
+        "\u7C6D\u7C6E\u7C70\u7C72\u7C79\u7C7C\u7C7D\u7C86"+
+        "\u7C87\u7C8F\u7C94\u7C9E\u7CA0\u7CA6\u7CB0\u7CB6"+
+        "\u7CB7\u7CBA\u7CBB\u7CBC\u7CBF\u7CC4\u7CC7\u7CC8"+
+        "\u7CC9\u7CCD\u7CCF\u7CD3\u7CD4\u7CD5\u7CD7\u7CD9"+
+        "\u7CDA\u7CDD\u7CE6\u7CE9\u7CEB\u7CF5\u7D03\u7D07"+
+        "\u7D08\u7D09\u7D0F\u7D11\u7D12\u7D13\u7D16\u7D1D"+
+        "\u7D1E\u7D23\u7D26\u7D2A\u7D2D\u7D31\u7D3C\u7D3D"+
+        "\u7D3E\u7D40\u7D41\u7D47\u7D48\u7D4D\u7D51\u7D53"+
+        "\u7D57\u7D59\u7D5A\u7D5C\u7D5D\u7D65\u7D67\u7D6A"+
+        "\u7D70\u7D78\u7D7A\u7D7B\u7D7F\u7D81\u7D82\u7D83"+
+        "\u7D85\u7D86\u7D88\u7D8B\u7D8C\u7D8D\u7D91\u7D96"+
+        "\u7D97\u7D9D\u7D9E\u7DA6\u7DA7\u7DAA\u7DB3\u7DB6"+
+        "\u7DB7\u7DB9\u7DC2\u7DC3\u7DC4\u7DC5\u7DC6\u7DCC"+
+        "\u7DCD\u7DCE\u7DD7\u7DD9\u7E00\u7DE2\u7DE5\u7DE6"+
+        "\u7DEA\u7DEB\u7DED\u7DF1\u7DF5\u7DF6\u7DF9\u7DFA"+
+        "\u7E08\u7E10\u7E11\u7E15\u7E17\u7E1C\u7E1D\u7E20"+
+        "\u7E27\u7E28\u7E2C\u7E2D\u7E2F\u7E33\u7E36\u7E3F"+
+        "\u7E44\u7E45\u7E47\u7E4E\u7E50\u7E52\u7E58\u7E5F"+
+        "\u7E61\u7E62\u7E65\u7E6B\u7E6E\u7E6F\u7E73\u7E78"+
+        "\u7E7E\u7E81\u7E86\u7E87\u7E8A\u7E8D\u7E91\u7E95"+
+        "\u7E98\u7E9A\u7E9D\u7E9E\u7F3C\u7F3B\u7F3D\u7F3E"+
+        "\u7F3F\u7F43\u7F44\u7F47\u7F4F\u7F52\u7F53\u7F5B"+
+        "\u7F5C\u7F5D\u7F61\u7F63\u7F64\u7F65\u7F66\u7F6D"+
+        "\u7F71\u7F7D\u7F7E\u7F7F\u7F80\u7F8B\u7F8D\u7F8F"+
+        "\u7F90\u7F91\u7F96\u7F97\u7F9C\u7FA1\u7FA2\u7FA6"+
+        "\u7FAA\u7FAD\u7FB4\u7FBC\u7FBF\u7FC0\u7FC3\u7FC8"+
+        "\u7FCE\u7FCF\u7FDB\u7FDF\u7FE3\u7FE5\u7FE8\u7FEC"+
+        "\u7FEE\u7FEF\u7FF2\u7FFA\u7FFD\u7FFE\u7FFF\u8007"+
+        "\u8008\u800A\u800D\u800E\u800F\u8011\u8013\u8014"+
+        "\u8016\u801D\u801E\u801F\u8020\u8024\u8026\u802C"+
+        "\u802E\u8030\u8034\u8035\u8037\u8039\u803A\u803C"+
+        "\u803E\u8040\u8044\u8060\u8064\u8066\u806D\u8071"+
+        "\u8075\u8081\u8088\u808E\u809C\u809E\u80A6\u80A7"+
+        "\u80AB\u80B8\u80B9\u80C8\u80CD\u80CF\u80D2\u80D4"+
+        "\u80D5\u80D7\u80D8\u80E0\u80ED\u80EE\u80F0\u80F2"+
+        "\u80F3\u80F6\u80F9\u80FA\u80FE\u8103\u810B\u8116"+
+        "\u8117\u8118\u811C\u811E\u8120\u8124\u8127\u812C"+
+        "\u8130\u8135\u813A\u813C\u8145\u8147\u814A\u814C"+
+        "\u8152\u8157\u8160\u8161\u8167\u8168\u8169\u816D"+
+        "\u816F\u8177\u8181\u8190\u8184\u8185\u8186\u818B"+
+        "\u818E\u8196\u8198\u819B\u819E\u81A2\u81AE\u81B2"+
+        "\u81B4\u81BB\u81CB\u81C3\u81C5\u81CA\u81CE\u81CF"+
+        "\u81D5\u81D7\u81DB\u81DD\u81DE\u81E1\u81E4\u81EB"+
+        "\u81EC\u81F0\u81F1\u81F2\u81F5\u81F6\u81F8\u81F9"+
+        "\u81FD\u81FF\u8200\u8203\u820F\u8213\u8214\u8219"+
+        "\u821A\u821D\u8221\u8222\u8228\u8232\u8234\u823A"+
+        "\u8243\u8244\u8245\u8246\u824B\u824E\u824F\u8251"+
+        "\u8256\u825C\u8260\u8263\u8267\u826D\u8274\u827B"+
+        "\u827D\u827F\u8280\u8281\u8283\u8284\u8287\u8289"+
+        "\u828A\u828E\u8291\u8294\u8296\u8298\u829A\u829B"+
+        "\u82A0\u82A1\u82A3\u82A4\u82A7\u82A8\u82A9\u82AA"+
+        "\u82AE\u82B0\u82B2\u82B4\u82B7\u82BA\u82BC\u82BE"+
+        "\u82BF\u82C6\u82D0\u82D5\u82DA\u82E0\u82E2\u82E4"+
+        "\u82E8\u82EA\u82ED\u82EF\u82F6\u82F7\u82FD\u82FE"+
+        "\u8300\u8301\u8307\u8308\u830A\u830B\u8354\u831B"+
+        "\u831D\u831E\u831F\u8321\u8322\u832C\u832D\u832E"+
+        "\u8330\u8333\u8337\u833A\u833C\u833D\u8342\u8343"+
+        "\u8344\u8347\u834D\u834E\u8351\u8355\u8356\u8357"+
+        "\u8370\u8378\u837D\u837F\u8380\u8382\u8384\u8386"+
+        "\u838D\u8392\u8394\u8395\u8398\u8399\u839B\u839C"+
+        "\u839D\u83A6\u83A7\u83A9\u83AC\u83BE\u83BF\u83C0"+
+        "\u83C7\u83C9\u83CF\u83D0\u83D1\u83D4\u83DD\u8353"+
+        "\u83E8\u83EA\u83F6\u83F8\u83F9\u83FC\u8401\u8406"+
+        "\u840A\u840F\u8411\u8415\u8419\u83AD\u842F\u8439"+
+        "\u8445\u8447\u8448\u844A\u844D\u844F\u8451\u8452"+
+        "\u8456\u8458\u8459\u845A\u845C\u8460\u8464\u8465"+
+        "\u8467\u846A\u8470\u8473\u8474\u8476\u8478\u847C"+
+        "\u847D\u8481\u8485\u8492\u8493\u8495\u849E\u84A6"+
+        "\u84A8\u84A9\u84AA\u84AF\u84B1\u84B4\u84BA\u84BD"+
+        "\u84BE\u84C0\u84C2\u84C7\u84C8\u84CC\u84CF\u84D3";
+
+    private final static String innerIndex3=
+        "\u84DC\u84E7\u84EA\u84EF\u84F0\u84F1\u84F2\u84F7"+
+        "\u8532\u84FA\u84FB\u84FD\u8502\u8503\u8507\u850C"+
+        "\u850E\u8510\u851C\u851E\u8522\u8523\u8524\u8525"+
+        "\u8527\u852A\u852B\u852F\u8533\u8534\u8536\u853F"+
+        "\u8546\u854F\u8550\u8551\u8552\u8553\u8556\u8559"+
+        "\u855C\u855D\u855E\u855F\u8560\u8561\u8562\u8564"+
+        "\u856B\u856F\u8579\u857A\u857B\u857D\u857F\u8581"+
+        "\u8585\u8586\u8589\u858B\u858C\u858F\u8593\u8598"+
+        "\u859D\u859F\u85A0\u85A2\u85A5\u85A7\u85B4\u85B6"+
+        "\u85B7\u85B8\u85BC\u85BD\u85BE\u85BF\u85C2\u85C7"+
+        "\u85CA\u85CB\u85CE\u85AD\u85D8\u85DA\u85DF\u85E0"+
+        "\u85E6\u85E8\u85ED\u85F3\u85F6\u85FC\u85FF\u8600"+
+        "\u8604\u8605\u860D\u860E\u8610\u8611\u8612\u8618"+
+        "\u8619\u861B\u861E\u8621\u8627\u8629\u8636\u8638"+
+        "\u863A\u863C\u863D\u8640\u8642\u8646\u8652\u8653"+
+        "\u8656\u8657\u8658\u8659\u865D\u8660\u8661\u8662"+
+        "\u8663\u8664\u8669\u866C\u866F\u8675\u8676\u8677"+
+        "\u867A\u868D\u8691\u8696\u8698\u869A\u869C\u86A1"+
+        "\u86A6\u86A7\u86A8\u86AD\u86B1\u86B3\u86B4\u86B5"+
+        "\u86B7\u86B8\u86B9\u86BF\u86C0\u86C1\u86C3\u86C5"+
+        "\u86D1\u86D2\u86D5\u86D7\u86DA\u86DC\u86E0\u86E3"+
+        "\u86E5\u86E7\u8688\u86FA\u86FC\u86FD\u8704\u8705"+
+        "\u8707\u870B\u870E\u870F\u8710\u8713\u8714\u8719"+
+        "\u871E\u871F\u8721\u8723\u8728\u872E\u872F\u8731"+
+        "\u8732\u8739\u873A\u873C\u873D\u873E\u8740\u8743"+
+        "\u8745\u874D\u8758\u875D\u8761\u8764\u8765\u876F"+
+        "\u8771\u8772\u877B\u8783\u8784\u8785\u8786\u8787"+
+        "\u8788\u8789\u878B\u878C\u8790\u8793\u8795\u8797"+
+        "\u8798\u8799\u879E\u87A0\u87A3\u87A7\u87AC\u87AD"+
+        "\u87AE\u87B1\u87B5\u87BE\u87BF\u87C1\u87C8\u87C9"+
+        "\u87CA\u87CE\u87D5\u87D6\u87D9\u87DA\u87DC\u87DF"+
+        "\u87E2\u87E3\u87E4\u87EA\u87EB\u87ED\u87F1\u87F3"+
+        "\u87F8\u87FA\u87FF\u8801\u8803\u8806\u8809\u880A"+
+        "\u880B\u8810\u8819\u8812\u8813\u8814\u8818\u881A"+
+        "\u881B\u881C\u881E\u881F\u8828\u882D\u882E\u8830"+
+        "\u8832\u8835\u883A\u883C\u8841\u8843\u8845\u8848"+
+        "\u8849\u884A\u884B\u884E\u8851\u8855\u8856\u8858"+
+        "\u885A\u885C\u885F\u8860\u8864\u8869\u8871\u8879"+
+        "\u887B\u8880\u8898\u889A\u889B\u889C\u889F\u88A0"+
+        "\u88A8\u88AA\u88BA\u88BD\u88BE\u88C0\u88CA\u88CB"+
+        "\u88CC\u88CD\u88CE\u88D1\u88D2\u88D3\u88DB\u88DE"+
+        "\u88E7\u88EF\u88F0\u88F1\u88F5\u88F7\u8901\u8906"+
+        "\u890D\u890E\u890F\u8915\u8916\u8918\u8919\u891A"+
+        "\u891C\u8920\u8926\u8927\u8928\u8930\u8931\u8932"+
+        "\u8935\u8939\u893A\u893E\u8940\u8942\u8945\u8946"+
+        "\u8949\u894F\u8952\u8957\u895A\u895B\u895C\u8961"+
+        "\u8962\u8963\u896B\u896E\u8970\u8973\u8975\u897A"+
+        "\u897B\u897C\u897D\u8989\u898D\u8990\u8994\u8995"+
+        "\u899B\u899C\u899F\u89A0\u89A5\u89B0\u89B4\u89B5"+
+        "\u89B6\u89B7\u89BC\u89D4\u89D5\u89D6\u89D7\u89D8"+
+        "\u89E5\u89E9\u89EB\u89ED\u89F1\u89F3\u89F6\u89F9"+
+        "\u89FD\u89FF\u8A04\u8A05\u8A07\u8A0F\u8A11\u8A12"+
+        "\u8A14\u8A15\u8A1E\u8A20\u8A22\u8A24\u8A26\u8A2B"+
+        "\u8A2C\u8A2F\u8A35\u8A37\u8A3D\u8A3E\u8A40\u8A43"+
+        "\u8A45\u8A47\u8A49\u8A4D\u8A4E\u8A53\u8A56\u8A57"+
+        "\u8A58\u8A5C\u8A5D\u8A61\u8A65\u8A67\u8A75\u8A76"+
+        "\u8A77\u8A79\u8A7A\u8A7B\u8A7E\u8A7F\u8A80\u8A83"+
+        "\u8A86\u8A8B\u8A8F\u8A90\u8A92\u8A96\u8A97\u8A99"+
+        "\u8A9F\u8AA7\u8AA9\u8AAE\u8AAF\u8AB3\u8AB6\u8AB7"+
+        "\u8ABB\u8ABE\u8AC3\u8AC6\u8AC8\u8AC9\u8ACA\u8AD1"+
+        "\u8AD3\u8AD4\u8AD5\u8AD7\u8ADD\u8ADF\u8AEC\u8AF0"+
+        "\u8AF4\u8AF5\u8AF6\u8AFC\u8AFF\u8B05\u8B06\u8B0B"+
+        "\u8B11\u8B1C\u8B1E\u8B1F\u8B0A\u8B2D\u8B30\u8B37"+
+        "\u8B3C\u8B42\u8B43\u8B44\u8B45\u8B46\u8B48\u8B52"+
+        "\u8B53\u8B54\u8B59\u8B4D\u8B5E\u8B63\u8B6D\u8B76"+
+        "\u8B78\u8B79\u8B7C\u8B7E\u8B81\u8B84\u8B85\u8B8B"+
+        "\u8B8D\u8B8F\u8B94\u8B95\u8B9C\u8B9E\u8B9F\u8C38"+
+        "\u8C39\u8C3D\u8C3E\u8C45\u8C47\u8C49\u8C4B\u8C4F"+
+        "\u8C51\u8C53\u8C54\u8C57\u8C58\u8C5B\u8C5D\u8C59"+
+        "\u8C63\u8C64\u8C66\u8C68\u8C69\u8C6D\u8C73\u8C75"+
+        "\u8C76\u8C7B\u8C7E\u8C86\u8C87\u8C8B\u8C90\u8C92"+
+        "\u8C93\u8C99\u8C9B\u8C9C\u8CA4\u8CB9\u8CBA\u8CC5"+
+        "\u8CC6\u8CC9\u8CCB\u8CCF\u8CD6\u8CD5\u8CD9\u8CDD"+
+        "\u8CE1\u8CE8\u8CEC\u8CEF\u8CF0\u8CF2\u8CF5\u8CF7"+
+        "\u8CF8\u8CFE\u8CFF\u8D01\u8D03\u8D09\u8D12\u8D17"+
+        "\u8D1B\u8D65\u8D69\u8D6C\u8D6E\u8D7F\u8D82\u8D84"+
+        "\u8D88\u8D8D\u8D90\u8D91\u8D95\u8D9E\u8D9F\u8DA0"+
+        "\u8DA6\u8DAB\u8DAC\u8DAF\u8DB2\u8DB5\u8DB7\u8DB9"+
+        "\u8DBB\u8DC0\u8DC5\u8DC6\u8DC7\u8DC8\u8DCA\u8DCE"+
+        "\u8DD1\u8DD4\u8DD5\u8DD7\u8DD9\u8DE4\u8DE5\u8DE7"+
+        "\u8DEC\u8DF0\u8DBC\u8DF1\u8DF2\u8DF4\u8DFD\u8E01"+
+        "\u8E04\u8E05\u8E06\u8E0B\u8E11\u8E14\u8E16\u8E20"+
+        "\u8E21\u8E22\u8E23\u8E26\u8E27\u8E31\u8E33\u8E36"+
+        "\u8E37\u8E38\u8E39\u8E3D\u8E40\u8E41\u8E4B\u8E4D"+
+        "\u8E4E\u8E4F\u8E54\u8E5B\u8E5C\u8E5D\u8E5E\u8E61"+
+        "\u8E62\u8E69\u8E6C\u8E6D\u8E6F\u8E70\u8E71\u8E79"+
+        "\u8E7A\u8E7B\u8E82\u8E83\u8E89\u8E90\u8E92\u8E95"+
+        "\u8E9A\u8E9B\u8E9D\u8E9E\u8EA2\u8EA7\u8EA9\u8EAD"+
+        "\u8EAE\u8EB3\u8EB5\u8EBA\u8EBB\u8EC0\u8EC1\u8EC3"+
+        "\u8EC4\u8EC7\u8ECF\u8ED1\u8ED4\u8EDC\u8EE8\u8EEE"+
+        "\u8EF0\u8EF1\u8EF7\u8EF9\u8EFA\u8EED\u8F00\u8F02"+
+        "\u8F07\u8F08\u8F0F\u8F10\u8F16\u8F17\u8F18\u8F1E"+
+        "\u8F20\u8F21\u8F23\u8F25\u8F27\u8F28\u8F2C\u8F2D"+
+        "\u8F2E\u8F34\u8F35\u8F36\u8F37\u8F3A\u8F40\u8F41"+
+        "\u8F43\u8F47\u8F4F\u8F51\u8F52\u8F53\u8F54\u8F55"+
+        "\u8F58\u8F5D\u8F5E\u8F65\u8F9D\u8FA0\u8FA1\u8FA4"+
+        "\u8FA5\u8FA6\u8FB5\u8FB6\u8FB8\u8FBE\u8FC0\u8FC1"+
+        "\u8FC6\u8FCA\u8FCB\u8FCD\u8FD0\u8FD2\u8FD3\u8FD5"+
+        "\u8FE0\u8FE3\u8FE4\u8FE8\u8FEE\u8FF1\u8FF5\u8FF6"+
+        "\u8FFB\u8FFE\u9002\u9004\u9008\u900C\u9018\u901B"+
+        "\u9028\u9029\u902F\u902A\u902C\u902D\u9033\u9034"+
+        "\u9037\u903F\u9043\u9044\u904C\u905B\u905D\u9062"+
+        "\u9066\u9067\u906C\u9070\u9074\u9079\u9085\u9088"+
+        "\u908B\u908C\u908E\u9090\u9095\u9097\u9098\u9099"+
+        "\u909B\u90A0\u90A1\u90A2\u90A5\u90B0\u90B2\u90B3"+
+        "\u90B4\u90B6\u90BD\u90CC\u90BE\u90C3\u90C4\u90C5"+
+        "\u90C7\u90C8\u90D5\u90D7\u90D8\u90D9\u90DC\u90DD"+
+        "\u90DF\u90E5\u90D2\u90F6\u90EB\u90EF\u90F0\u90F4"+
+        "\u90FE\u90FF\u9100\u9104\u9105\u9106\u9108\u910D"+
+        "\u9110\u9114\u9116\u9117\u9118\u911A\u911C\u911E"+
+        "\u9120\u9125\u9122\u9123\u9127\u9129\u912E\u912F"+
+        "\u9131\u9134\u9136\u9137\u9139\u913A\u913C\u913D"+
+        "\u9143\u9147\u9148\u914F\u9153\u9157\u9159\u915A"+
+        "\u915B\u9161\u9164\u9167\u916D\u9174\u9179\u917A"+
+        "\u917B\u9181\u9183\u9185\u9186\u918A\u918E\u9191"+
+        "\u9193\u9194\u9195\u9198\u919E\u91A1\u91A6\u91A8"+
+        "\u91AC\u91AD\u91AE\u91B0\u91B1\u91B2\u91B3\u91B6"+
+        "\u91BB\u91BC\u91BD\u91BF\u91C2\u91C3\u91C5\u91D3"+
+        "\u91D4\u91D7\u91D9\u91DA\u91DE\u91E4\u91E5\u91E9"+
+        "\u91EA\u91EC\u91ED\u91EE\u91EF\u91F0\u91F1\u91F7"+
+        "\u91F9\u91FB\u91FD\u9200\u9201\u9204\u9205\u9206"+
+        "\u9207\u9209\u920A\u920C\u9210\u9212\u9213\u9216"+
+        "\u9218\u921C\u921D\u9223\u9224\u9225\u9226\u9228"+
+        "\u922E\u922F\u9230\u9233\u9235\u9236\u9238\u9239"+
+        "\u923A\u923C\u923E\u9240\u9242\u9243\u9246\u9247"+
+        "\u924A\u924D\u924E\u924F\u9251\u9258\u9259\u925C"+
+        "\u925D\u9260\u9261\u9265\u9267\u9268\u9269\u926E"+
+        "\u926F\u9270\u9275\u9276\u9277\u9278\u9279\u927B"+
+        "\u927C\u927D\u927F\u9288\u9289\u928A\u928D\u928E"+
+        "\u9292\u9297\u9299\u929F\u92A0\u92A4\u92A5\u92A7"+
+        "\u92A8\u92AB\u92AF\u92B2\u92B6\u92B8\u92BA\u92BB"+
+        "\u92BC\u92BD\u92BF\u92C0\u92C1\u92C2\u92C3\u92C5"+
+        "\u92C6\u92C7\u92C8\u92CB\u92CC\u92CD\u92CE\u92D0"+
+        "\u92D3\u92D5\u92D7\u92D8\u92D9\u92DC\u92DD\u92DF"+
+        "\u92E0\u92E1\u92E3\u92E5\u92E7\u92E8\u92EC\u92EE"+
+        "\u92F0\u92F9\u92FB\u92FF\u9300\u9302\u9308\u930D"+
+        "\u9311\u9314\u9315\u931C\u931D\u931E\u931F\u9321"+
+        "\u9324\u9325\u9327\u9329\u932A\u9333\u9334\u9336"+
+        "\u9337\u9347\u9348\u9349\u9350\u9351\u9352\u9355"+
+        "\u9357\u9358\u935A\u935E\u9364\u9365\u9367\u9369"+
+        "\u936A\u936D\u936F\u9370\u9371\u9373\u9374\u9376"+
+        "\u937A\u937D\u937F\u9380\u9381\u9382\u9388\u938A"+
+        "\u938B\u938D\u938F\u9392\u9395\u9398\u939B\u939E"+
+        "\u93A1\u93A3\u93A4\u93A6\u93A8\u93AB\u93B4\u93B5"+
+        "\u93B6\u93BA\u93A9\u93C1\u93C4\u93C5\u93C6\u93C7"+
+        "\u93C9\u93CA\u93CB\u93CC\u93CD\u93D3\u93D9\u93DC"+
+        "\u93DE\u93DF\u93E2\u93E6\u93E7\u93F9\u93F7\u93F8"+
+        "\u93FA\u93FB\u93FD\u9401\u9402\u9404\u9408\u9409"+
+        "\u940D\u940E\u940F\u9415\u9416\u9417\u941F\u942E"+
+        "\u942F\u9431\u9432\u9433\u9434\u943B\u943F\u943D"+
+        "\u9443\u9445\u9448\u944A\u944C\u9455\u9459\u945C"+
+        "\u945F\u9461\u9463\u9468\u946B\u946D\u946E\u946F"+
+        "\u9471\u9472\u9484\u9483\u9578\u9579\u957E\u9584"+
+        "\u9588\u958C\u958D\u958E\u959D\u959E\u959F\u95A1"+
+        "\u95A6\u95A9\u95AB\u95AC\u95B4\u95B6\u95BA\u95BD"+
+        "\u95BF\u95C6\u95C8\u95C9\u95CB\u95D0\u95D1\u95D2"+
+        "\u95D3\u95D9\u95DA\u95DD\u95DE\u95DF\u95E0\u95E4"+
+        "\u95E6\u961D\u961E\u9622\u9624\u9625\u9626\u962C"+
+        "\u9631\u9633\u9637\u9638\u9639\u963A\u963C\u963D"+
+        "\u9641\u9652\u9654\u9656\u9657\u9658\u9661\u966E"+
+        "\u9674\u967B\u967C\u967E\u967F\u9681\u9682\u9683"+
+        "\u9684\u9689\u9691\u9696\u969A\u969D\u969F\u96A4"+
+        "\u96A5\u96A6\u96A9\u96AE\u96AF\u96B3\u96BA\u96CA"+
+        "\u96D2\u5DB2\u96D8\u96DA\u96DD\u96DE\u96DF\u96E9"+
+        "\u96EF\u96F1\u96FA\u9702\u9703\u9705\u9709\u971A"+
+        "\u971B\u971D\u9721\u9722\u9723\u9728\u9731\u9733"+
+        "\u9741\u9743\u974A\u974E\u974F\u9755\u9757\u9758"+
+        "\u975A\u975B\u9763\u9767\u976A\u976E\u9773\u9776"+
+        "\u9777\u9778\u977B\u977D\u977F\u9780\u9789\u9795"+
+        "\u9796\u9797\u9799\u979A\u979E\u979F\u97A2\u97AC"+
+        "\u97AE\u97B1\u97B2\u97B5\u97B6\u97B8\u97B9\u97BA"+
+        "\u97BC\u97BE\u97BF\u97C1\u97C4\u97C5\u97C7\u97C9"+
+        "\u97CA\u97CC\u97CD\u97CE\u97D0\u97D1\u97D4\u97D7"+
+        "\u97D8\u97D9\u97DD\u97DE\u97E0\u97DB\u97E1\u97E4"+
+        "\u97EF\u97F1\u97F4\u97F7\u97F8\u97FA\u9807\u980A"+
+        "\u9819\u980D\u980E\u9814\u9816\u981C\u981E\u9820"+
+        "\u9823\u9826\u982B\u982E\u982F\u9830\u9832\u9833"+
+        "\u9835\u9825\u983E\u9844\u9847\u984A\u9851\u9852"+
+        "\u9853\u9856\u9857\u9859\u985A\u9862\u9863\u9865"+
+        "\u9866\u986A\u986C\u98AB\u98AD\u98AE\u98B0\u98B4"+
+        "\u98B7\u98B8\u98BA\u98BB\u98BF\u98C2\u98C5\u98C8"+
+        "\u98CC\u98E1\u98E3\u98E5\u98E6\u98E7\u98EA\u98F3"+
+        "\u98F6\u9902\u9907\u9908\u9911\u9915\u9916\u9917"+
+        "\u991A\u991B\u991C\u991F\u9922\u9926\u9927\u992B"+
+        "\u9931\u9932\u9933\u9934\u9935\u9939\u993A\u993B"+
+        "\u993C\u9940\u9941\u9946\u9947\u9948\u994D\u994E"+
+        "\u9954\u9958\u9959\u995B\u995C\u995E\u995F\u9960"+
+        "\u999B\u999D\u999F\u99A6\u99B0\u99B1\u99B2\u99B5";
+
+    private final static String innerIndex4=
+        "\u99B9\u99BA\u99BD\u99BF\u99C3\u99C9\u99D3\u99D4"+
+        "\u99D9\u99DA\u99DC\u99DE\u99E7\u99EA\u99EB\u99EC"+
+        "\u99F0\u99F4\u99F5\u99F9\u99FD\u99FE\u9A02\u9A03"+
+        "\u9A04\u9A0B\u9A0C\u9A10\u9A11\u9A16\u9A1E\u9A20"+
+        "\u9A22\u9A23\u9A24\u9A27\u9A2D\u9A2E\u9A33\u9A35"+
+        "\u9A36\u9A38\u9A47\u9A41\u9A44\u9A4A\u9A4B\u9A4C"+
+        "\u9A4E\u9A51\u9A54\u9A56\u9A5D\u9AAA\u9AAC\u9AAE"+
+        "\u9AAF\u9AB2\u9AB4\u9AB5\u9AB6\u9AB9\u9ABB\u9ABE"+
+        "\u9ABF\u9AC1\u9AC3\u9AC6\u9AC8\u9ACE\u9AD0\u9AD2"+
+        "\u9AD5\u9AD6\u9AD7\u9ADB\u9ADC\u9AE0\u9AE4\u9AE5"+
+        "\u9AE7\u9AE9\u9AEC\u9AF2\u9AF3\u9AF5\u9AF9\u9AFA"+
+        "\u9AFD\u9AFF\u9B00\u9B01\u9B02\u9B03\u9B04\u9B05"+
+        "\u9B08\u9B09\u9B0B\u9B0C\u9B0D\u9B0E\u9B10\u9B12"+
+        "\u9B16\u9B19\u9B1B\u9B1C\u9B20\u9B26\u9B2B\u9B2D"+
+        "\u9B33\u9B34\u9B35\u9B37\u9B39\u9B3A\u9B3D\u9B48"+
+        "\u9B4B\u9B4C\u9B55\u9B56\u9B57\u9B5B\u9B5E\u9B61"+
+        "\u9B63\u9B65\u9B66\u9B68\u9B6A\u9B6B\u9B6C\u9B6D"+
+        "\u9B6E\u9B73\u9B75\u9B77\u9B78\u9B79\u9B7F\u9B80"+
+        "\u9B84\u9B85\u9B86\u9B87\u9B89\u9B8A\u9B8B\u9B8D"+
+        "\u9B8F\u9B90\u9B94\u9B9A\u9B9D\u9B9E\u9BA6\u9BA7"+
+        "\u9BA9\u9BAC\u9BB0\u9BB1\u9BB2\u9BB7\u9BB8\u9BBB"+
+        "\u9BBC\u9BBE\u9BBF\u9BC1\u9BC7\u9BC8\u9BCE\u9BD0"+
+        "\u9BD7\u9BD8\u9BDD\u9BDF\u9BE5\u9BE7\u9BEA\u9BEB"+
+        "\u9BEF\u9BF3\u9BF7\u9BF8\u9BF9\u9BFA\u9BFD\u9BFF"+
+        "\u9C00\u9C02\u9C0B\u9C0F\u9C11\u9C16\u9C18\u9C19"+
+        "\u9C1A\u9C1C\u9C1E\u9C22\u9C23\u9C26\u9C27\u9C28"+
+        "\u9C29\u9C2A\u9C31\u9C35\u9C36\u9C37\u9C3D\u9C41"+
+        "\u9C43\u9C44\u9C45\u9C49\u9C4A\u9C4E\u9C4F\u9C50"+
+        "\u9C53\u9C54\u9C56\u9C58\u9C5B\u9C5D\u9C5E\u9C5F"+
+        "\u9C63\u9C69\u9C6A\u9C5C\u9C6B\u9C68\u9C6E\u9C70"+
+        "\u9C72\u9C75\u9C77\u9C7B\u9CE6\u9CF2\u9CF7\u9CF9"+
+        "\u9D0B\u9D02\u9D11\u9D17\u9D18\u9D1C\u9D1D\u9D1E"+
+        "\u9D2F\u9D30\u9D32\u9D33\u9D34\u9D3A\u9D3C\u9D45"+
+        "\u9D3D\u9D42\u9D43\u9D47\u9D4A\u9D53\u9D54\u9D5F"+
+        "\u9D63\u9D62\u9D65\u9D69\u9D6A\u9D6B\u9D70\u9D76"+
+        "\u9D77\u9D7B\u9D7C\u9D7E\u9D83\u9D84\u9D86\u9D8A"+
+        "\u9D8D\u9D8E\u9D92\u9D93\u9D95\u9D96\u9D97\u9D98"+
+        "\u9DA1\u9DAA\u9DAC\u9DAE\u9DB1\u9DB5\u9DB9\u9DBC"+
+        "\u9DBF\u9DC3\u9DC7\u9DC9\u9DCA\u9DD4\u9DD5\u9DD6"+
+        "\u9DD7\u9DDA\u9DDE\u9DDF\u9DE0\u9DE5\u9DE7\u9DE9"+
+        "\u9DEB\u9DEE\u9DF0\u9DF3\u9DF4\u9DFE\u9E0A\u9E02"+
+        "\u9E07\u9E0E\u9E10\u9E11\u9E12\u9E15\u9E16\u9E19"+
+        "\u9E1C\u9E1D\u9E7A\u9E7B\u9E7C\u9E80\u9E82\u9E83"+
+        "\u9E84\u9E85\u9E87\u9E8E\u9E8F\u9E96\u9E98\u9E9B"+
+        "\u9E9E\u9EA4\u9EA8\u9EAC\u9EAE\u9EAF\u9EB0\u9EB3"+
+        "\u9EB4\u9EB5\u9EC6\u9EC8\u9ECB\u9ED5\u9EDF\u9EE4"+
+        "\u9EE7\u9EEC\u9EED\u9EEE\u9EF0\u9EF1\u9EF2\u9EF5"+
+        "\u9EF8\u9EFF\u9F02\u9F03\u9F09\u9F0F\u9F10\u9F11"+
+        "\u9F12\u9F14\u9F16\u9F17\u9F19\u9F1A\u9F1B\u9F1F"+
+        "\u9F22\u9F26\u9F2A\u9F2B\u9F2F\u9F31\u9F32\u9F34"+
+        "\u9F37\u9F39\u9F3A\u9F3C\u9F3D\u9F3F\u9F41\u9F43"+
+        "\u9F44\u9F45\u9F46\u9F47\u9F53\u9F55\u9F56\u9F57"+
+        "\u9F58\u9F5A\u9F5D\u9F5E\u9F68\u9F69\u9F6D\u9F6E"+
+        "\u9F6F\u9F70\u9F71\u9F73\u9F75\u9F7A\u9F7D\u9F8F"+
+        "\u9F90\u9F91\u9F92\u9F94\u9F96\u9F97\u9F9E\u9FA1"+
+        "\u9FA2\u9FA3\u9FA5\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"+
+        "\u2170\u2171\u2172\u2173\u2174\u2175\u2176\u2177"+
+        "\u2178\u2179\u2160\u2161\u2162\u2163\u2164\u2165"+
+        "\u2166\u2167\u2168\u2169\uFF07\uFF02\u3231\u2116"+
+        "\u2121\u70BB\u4EFC\u50F4\u51EC\u5307\u5324\uFA0E"+
+        "\u548A\u5759\uFA0F\uFA10\u589E\u5BEC\u5CF5\u5D53"+
+        "\uFA11\u5FB7\u6085\u6120\u654E\u663B\u6665\uFA12"+
+        "\uF929\u6801\uFA13\uFA14\u6A6B\u6AE2\u6DF8\u6DF2"+
+        "\u7028\uFA15\uFA16\u7501\u7682\u769E\uFA17\u7930"+
+        "\uFA18\uFA19\uFA1A\uFA1B\u7AE7\uFA1C\uFA1D\u7DA0"+
+        "\u7DD6\uFA1E\u8362\uFA1F\u85B0\uFA20\uFA21\u8807"+
+        "\uFA22\u8B7F\u8CF4\u8D76\uFA23\uFA24\uFA25\u90DE"+
+        "\uFA26\u9115\uFA27\uFA28\u9592\uF9DC\uFA29\u973B"+
+        "\u974D\u9751\uFA2A\uFA2B\uFA2C\u999E\u9AD9\u9B72"+
+        "\uFA2D\u9ED1";
+
+    private final static short index1[] = {
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 1, 0, 0, 0, 2, 3, 0, 4, 5, 6, 0, 0, 0, 0,
+        7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
+        23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+        39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
+        55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 0, 0,
+        0, 0, 0, 69, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+    };
+
+    private final static String index2[] = {
+        innerIndex0,
+        innerIndex1,
+        innerIndex2,
+        innerIndex3,
+        innerIndex4
+    };
+
+    protected char convSingleByte(int b) {
+        return REPLACE_CHAR;
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/sun/nio/cs/OLD/JIS_X_0212_Solaris_Encoder.java	Wed Aug 01 11:08:11 2012 -0400
@@ -0,0 +1,3065 @@
+/*
+ * Copyright (c) 2003, 2005, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code 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
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ */
+
+
+import java.nio.charset.Charset;
+import java.nio.charset.CharsetEncoder;
+
+public class JIS_X_0212_Solaris_Encoder extends DoubleByteEncoder
+{
+
+    private static byte[] repl = { (byte)0x22, (byte)0x44 };
+
+    public JIS_X_0212_Solaris_Encoder(Charset cs) {
+        super(cs,
+              index1,
+              index2 ,
+              repl
+             );
+    }
+
+    protected int encodeSingle(char inputChar) {
+        return -1;
+    }
+
+    private final static String innerIndex0=
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007"+
+        "\b\t\n\u000B\f\r\u000E\u000F"+
+        "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017"+
+        "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F"+
+        "\u0020\u0021\"\u0023\u0024\u0025\u0026\'"+
+        "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F"+
+        "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037"+
+        "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u0000"+
+        "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047"+
+        "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F"+
+        "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057"+
+        "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F"+
+        "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067"+
+        "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F"+
+        "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077"+
+        "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u2242\u0000\u0000\u2270\u0000\u2243\u0000"+
+        "\u0000\u226D\u226C\u0000\u0000\u0000\u226E\u2234"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u2231\u0000\u226B\u0000\u0000\u0000\u0000\u2244"+
+        "\u2A22\u2A21\u2A24\u2A2A\u2A23\u2A29\u2921\u2A2E"+
+        "\u2A32\u2A31\u2A34\u2A33\u2A40\u2A3F\u2A42\u2A41"+
+        "\u0000\u2A50\u2A52\u2A51\u2A54\u2A58\u2A53\u0000"+
+        "\u292C\u2A63\u2A62\u2A65\u2A64\u2A72\u2930\u294E"+
+        "\u2B22\u2B21\u2B24\u2B2A\u2B23\u2B29\u2941\u2B2E"+
+        "\u2B32\u2B31\u2B34\u2B33\u2B40\u2B3F\u2B42\u2B41"+
+        "\u2943\u2B50\u2B52\u2B51\u2B54\u2B58\u2B53\u0000"+
+        "\u294C\u2B63\u2B62\u2B65\u2B64\u2B72\u2950\u2B73"+
+        "\u2A27\u2B27\u2A25\u2B25\u2A28\u2B28\u2A2B\u2B2B"+
+        "\u2A2C\u2B2C\u2A2F\u2B2F\u2A2D\u2B2D\u2A30\u2B30"+
+        "\u2922\u2942\u2A37\u2B37\u0000\u0000\u2A36\u2B36"+
+        "\u2A38\u2B38\u2A35\u2B35\u2A3A\u2B3A\u2A3B\u2B3B"+
+        "\u2A3D\u2B3D\u2A3C\u0000\u2A3E\u2B3E\u2924\u2944"+
+        "\u2A47\u2B47\u2A45\u2B45\u0000\u0000\u2A46\u2B46"+
+        "\u2A44\u2945\u2926\u2946\u2A48\u2B48\u2A49\u2B49"+
+        "\u2947\u2A4A\u2B4A\u2A4C\u2B4C\u2A4B\u2B4B\u2929"+
+        "\u2949\u2928\u2948\u2A4D\u2B4D\u2A4F\u2B4F\u2A4E"+
+        "\u2B4E\u294A\u292B\u294B\u2A57\u2B57\u0000\u0000"+
+        "\u2A56\u2B56\u292D\u294D\u2A59\u2B59\u2A5B\u2B5B"+
+        "\u2A5A\u2B5A\u2A5C\u2B5C\u2A5D\u2B5D\u2A5F\u2B5F"+
+        "\u2A5E\u2B5E\u2A61\u2B61\u2A60\u2B60\u292F\u294F"+
+        "\u2A6C\u2B6C\u2A69\u2B69\u2A66\u2B66\u2A6B\u2B6B"+
+        "\u2A68\u2B68\u2A6A\u2B6A\u2A71\u2B71\u2A74\u2B74"+
+        "\u2A73\u2A75\u2B75\u2A77\u2B77\u2A76\u2B76\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u2A26\u2B26\u2A43"+
+        "\u2B43\u2A55\u2B55\u2A67\u2B67\u2A70\u2B70\u2A6D"+
+        "\u2B6D\u2A6F\u2B6F\u2A6E\u2B6E\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u2B39\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u2230"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u222F\u2232\u2236\u2235\u0000\u2233\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u2238\u2239\u2661\u0000"+
+        "\u2662\u2663\u2664\u0000\u2667\u0000\u2669\u266C"+
+        "\u2676\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u2665\u266A\u2671\u2672\u2673\u2674"+
+        "\u267B\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u2678\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u2675\u267A\u2677\u2679\u267C\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u2742\u2743\u2744\u2745\u2746\u2747"+
+        "\u2748\u2749\u274A\u274B\u274C\u0000\u274D\u274E"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u2772\u2773\u2774\u2775\u2776\u2777"+
+        "\u2778\u2779\u277A\u277B\u277C\u0000\u277D\u277E"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u2271\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u226F\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u7373\u7374\u7375\u7376\u7377\u7378\u7379\u737A"+
+        "\u737B\u737C\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3021\u0000\u3022\u3023\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u3024\u0000\u0000\u0000"+
+        "\u0000\u0000\u3025\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3026"+
+        "\u0000\u0000\u0000\u3027\u3028\u0000\u0000\u0000"+
+        "\u3029\u0000\u0000\u302A\u0000\u0000\u302B\u302C"+
+        "\u302D\u0000\u0000\u0000\u0000\u302E\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u302F\u3030\u0000\u0000\u3031\u0000\u0000\u3032"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u3033\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3034\u0000\u3035\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u3036\u0000\u0000\u0000\u0000"+
+        "\u3037\u3038\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u3039\u303A\u0000\u0000"+
+        "\u0000\u303B\u0000\u0000\u0000\u0000\u0000\u303C"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u303D\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u303E\u303F"+
+        "\u0000\u0000\u0000\u0000\u0000\u3040\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3041"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u3042\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u3043\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u3044\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3045\u3046\u0000\u0000\u0000\u0000"+
+        "\u3047\u3048\u3049\u0000\u0000\u0000\u0000\u0000"+
+        "\u304A\u0000\u0000\u0000\u0000\u0000\u0000\u304B"+
+        "\u0000\u304C\u0000\u304D\u0000\u304E\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u742F\u304F\u3050\u3051"+
+        "\u3052\u0000\u3053\u3054\u0000\u0000\u0000\u0000"+
+        "\u3055\u0000\u0000\u3056\u3057\u0000\u0000\u0000"+
+        "\u0000\u0000\u3058\u0000\u0000\u3059\u305A\u305B"+
+        "\u0000\u305C\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u305D\u0000"+
+        "\u0000\u305E\u0000\u3060\u0000\u3061\u0000\u3062"+
+        "\u0000\u3063\u0000\u3064\u0000\u0000\u3065\u0000"+
+        "\u3066\u0000\u3067\u0000\u0000\u0000\u0000\u0000"+
+        "\u3068\u3069\u0000\u306A\u306B\u0000\u0000\u0000"+
+        "\u0000\u0000\u306C\u0000\u306D\u0000\u306E\u0000"+
+        "\u306F\u0000\u0000\u0000\u0000\u0000\u0000\u3070"+
+        "\u305F\u0000\u0000\u3071\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3072\u0000\u3073\u0000\u3074\u0000"+
+        "\u0000\u3075\u0000\u0000\u0000\u0000\u0000\u3076"+
+        "\u3077\u3078\u3079\u0000\u0000\u307A\u307B\u0000"+
+        "\u0000\u307C\u307D\u0000\u307E\u3121\u0000\u0000"+
+        "\u0000\u3122\u3123\u0000\u3124\u0000\u3125\u0000"+
+        "\u3126\u0000\u3127\u3128\u3129\u0000\u0000\u312A"+
+        "\u0000\u312B\u312C\u0000\u0000\u0000\u312D\u312E"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u312F\u0000\u0000\u0000\u0000\u3130"+
+        "\u0000\u3131\u0000\u3132\u3133\u3134\u3135\u0000"+
+        "\u3136\u3137\u0000\u0000\u0000\u3138\u3139\u0000"+
+        "\u313A\u313B\u0000\u313C\u313D\u313E\u0000\u313F"+
+        "\u0000\u0000\u3140\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u3141\u0000\u0000\u0000"+
+        "\u3142\u0000\u3143\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u3144\u0000\u3145\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u3146\u3147\u0000\u3148"+
+        "\u3149\u314A\u0000\u0000\u314B\u0000\u0000\u314C"+
+        "\u0000\u0000\u314D\u0000\u314E\u0000\u314F\u0000"+
+        "\u3150\u0000\u0000\u3151\u0000\u0000\u0000\u3152"+
+        "\u3153\u0000\u0000\u3154\u3155\u3156\u3157\u0000"+
+        "\u0000\u0000\u3158\u0000\u0000\u0000\u0000\u3159"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u315A\u0000"+
+        "\u315B\u0000\u315C\u315D\u0000\u315E\u0000\u0000"+
+        "\u0000\u0000\u0000\u3176\u0000\u0000\u0000\u0000"+
+        "\u315F\u3160\u3161\u0000\u0000\u3162\u3163\u0000"+
+        "\u0000\u0000\u3164\u0000\u3165\u0000\u3166\u0000"+
+        "\u0000\u3167\u3168\u3169\u0000\u0000\u0000\u316A"+
+        "\u0000\u316B\u0000\u0000\u0000\u0000\u0000\u316C"+
+        "\u316D\u0000\u316E\u316F\u0000\u0000\u3170\u3171"+
+        "\u0000\u0000\u3172\u0000\u0000\u3173\u0000\u0000"+
+        "\u3174\u3175\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u3177\u0000\u3178\u3179\u0000\u317A\u0000"+
+        "\u0000\u0000\u317B\u0000\u0000\u0000\u317C\u317D"+
+        "\u317E\u0000\u3221\u3222\u3223\u0000\u3224\u0000"+
+        "\u0000\u0000\u0000\u3225\u3226\u0000\u3227\u3228"+
+        "\u3229\u322A\u322B\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u322C\u0000\u0000\u0000\u0000\u322D"+
+        "\u322E\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u322F\u3230\u0000\u0000\u3231\u0000\u0000"+
+        "\u3232\u0000\u0000\u3233\u3234\u0000\u0000\u3235"+
+        "\u0000\u0000\u0000\u0000\u3236\u0000\u3237\u0000"+
+        "\u3238\u0000\u0000\u3239\u323A\u0000\u0000\u0000"+
+        "\u323B\u0000\u0000\u0000\u323C\u323D\u0000\u323E"+
+        "\u0000\u0000\u323F\u0000\u3240\u0000\u3241\u0000"+
+        "\u3242\u3243\u0000\u0000\u0000\u0000\u0000\u3244"+
+        "\u0000\u3245\u3251\u0000\u7430\u0000\u3246\u0000"+
+        "\u0000\u0000\u3247\u0000\u0000\u0000\u3248\u0000"+
+        "\u0000\u0000\u0000\u3249\u0000\u0000\u324A\u324B"+
+        "\u324C\u0000\u0000\u324D\u324E\u324F\u3250\u0000"+
+        "\u3252\u0000\u0000\u0000\u0000\u0000\u0000\u3253"+
+        "\u0000\u3254\u0000\u3255\u3256\u3257\u3258\u0000"+
+        "\u0000\u0000\u0000\u3259\u0000\u0000\u0000\u325A"+
+        "\u325B\u0000\u0000\u0000\u325C\u325D\u0000\u325E"+
+        "\u0000\u325F\u0000\u3260\u3261\u3262\u0000\u0000"+
+        "\u3263\u3264\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3265\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3266\u0000\u0000\u0000\u0000\u3267"+
+        "\u0000\u0000\u0000\u3268\u0000\u3269\u0000\u326A"+
+        "\u326B\u0000\u0000\u0000\u0000\u0000\u0000\u326C"+
+        "\u0000\u0000\u0000\u0000\u326D\u0000\u326E\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u326F\u0000"+
+        "\u0000\u0000\u0000\u3270\u3271\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u3272\u0000\u0000\u3273\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u3274\u0000\u0000\u0000\u0000\u3275\u0000\u0000"+
+        "\u0000\u3276\u0000\u3277\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u3278\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u3279\u0000\u327A\u0000\u327B\u0000\u327C\u327D"+
+        "\u0000\u0000\u327E\u0000\u0000\u0000\u0000\u0000"+
+        "\u3321\u0000\u0000\u0000\u0000\u0000\u0000\u3322"+
+        "\u0000\u3323\u3324\u3325\u0000\u3326\u0000\u0000"+
+        "\u3327\u0000\u0000\u0000\u0000\u0000\u3328\u0000"+
+        "\u0000\u0000\u3329\u0000\u0000\u332A\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u7431\u0000\u332B\u0000"+
+        "\u0000\u0000\u332C\u332D\u332E\u0000\u0000\u332F"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u3330\u3331\u0000\u0000\u3332\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3333\u3334\u0000\u3335\u3336\u0000"+
+        "\u3337\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3338\u0000\u0000\u0000\u0000\u0000"+
+        "\u3339\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u333A\u333B\u0000\u0000\u333C\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u333D\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u333E\u0000\u0000"+
+        "\u0000\u333F\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u3340\u0000\u3341"+
+        "\u3342\u0000\u3343\u0000\u3344\u0000\u0000\u3345"+
+        "\u3346\u3347\u0000\u0000\u0000\u0000\u3348\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u3349\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u334A"+
+        "\u334B\u334C\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u334D\u0000\u334E\u0000\u0000\u334F\u0000\u0000"+
+        "\u0000\u0000\u3350\u0000\u3351\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u3352\u0000\u3353\u3354\u3355"+
+        "\u3356\u0000\u3357\u0000\u3358\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u3359\u335A\u335B\u335C"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u335D"+
+        "\u335E\u0000\u0000\u0000\u0000\u0000\u335F\u3360"+
+        "\u3361\u0000\u3362\u3363\u0000\u3364\u0000\u0000"+
+        "\u3365\u0000\u0000\u0000\u3366\u0000\u3367\u0000"+
+        "\u3368\u0000\u0000\u0000\u3369\u0000\u0000\u336A"+
+        "\u0000\u336B\u0000\u0000\u336C\u0000\u336D\u0000"+
+        "\u0000\u0000\u0000\u336E\u336F\u0000\u0000\u0000"+
+        "\u0000\u3370\u0000\u0000\u0000\u3371\u0000\u0000"+
+        "\u3372\u3373\u3374\u0000\u3375\u0000\u0000\u0000"+
+        "\u3376\u3377\u0000\u0000\u3378\u0000\u3379\u337A"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u337B\u0000\u0000\u337C\u0000\u0000\u0000\u7432"+
+        "\u0000\u0000\u337D\u337E\u3421\u0000\u0000\u0000"+
+        "\u0000\u3422\u0000\u3423\u0000\u0000\u0000\u0000"+
+        "\u3424\u0000\u0000\u3425\u3426\u0000\u3427\u3428"+
+        "\u0000\u0000\u0000\u0000\u7433\u3429\u0000\u342A"+
+        "\u342B\u342C\u0000\u342D\u342E\u342F\u0000\u0000"+
+        "\u3430\u0000\u3431\u0000\u0000\u3432\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u3433\u3434\u3435\u0000"+
+        "\u0000\u0000\u3436\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u3438\u3437\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u3439\u0000\u343A\u0000\u0000\u0000\u0000"+
+        "\u0000\u343B\u0000\u343C\u0000\u343D\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u343E\u343F\u0000\u0000"+
+        "\u0000\u0000\u3440\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u3441\u0000\u0000\u0000\u0000\u3442\u0000"+
+        "\u0000\u0000\u0000\u3443\u0000\u0000\u0000\u3444"+
+        "\u3445\u0000\u0000\u0000\u0000\u0000\u3446\u0000"+
+        "\u0000\u0000\u0000\u3447\u3448\u0000\u0000\u0000"+
+        "\u0000\u3449\u0000\u0000\u0000\u344A\u0000\u0000"+
+        "\u0000\u344B\u0000\u0000\u344C\u0000\u0000\u0000"+
+        "\u0000\u0000\u344D\u344E\u0000\u0000\u0000\u344F"+
+        "\u0000\u0000\u3450\u0000\u3451\u3452\u0000\u3453"+
+        "\u3454\u0000\u3455\u0000\u0000\u3456\u0000\u0000"+
+        "\u3457\u0000\u0000\u0000\u0000\u3458\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3459"+
+        "\u0000\u0000\u345A\u345B\u0000\u345C\u0000\u0000"+
+        "\u0000\u0000\u345D\u0000\u0000\u345E\u345F\u0000"+
+        "\u3460\u0000\u0000\u0000\u0000\u0000\u3461\u3462"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u3463\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3464\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u3465\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3466\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u3467\u0000\u0000\u0000\u0000\u0000\u3468"+
+        "\u3469\u0000\u346A\u0000\u0000\u0000\u0000\u346B"+
+        "\u0000\u346C\u0000\u0000\u346D\u346E\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u346F\u3470\u0000\u0000\u3471"+
+        "\u0000\u0000\u0000\u0000\u0000\u3472\u0000\u3473"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u3474\u0000"+
+        "\u0000\u0000\u3475\u0000\u3476\u0000\u3477\u3478"+
+        "\u0000\u3479\u0000\u347A\u0000\u347B\u347C\u0000"+
+        "\u0000\u0000\u0000\u0000\u347D\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u347E"+
+        "\u0000\u3521\u0000\u3522\u0000\u3523\u0000\u0000"+
+        "\u3524\u3525\u7435\u0000\u0000\u3526\u0000\u0000"+
+        "\u0000\u3527\u0000\u0000\u0000\u3528\u3529\u0000"+
+        "\u0000\u0000\u0000\u0000\u352A\u0000\u0000\u352B"+
+        "\u0000\u352C\u0000\u0000\u0000\u0000\u352D\u352E"+
+        "\u0000\u352F\u3530\u0000\u0000\u3531\u3532\u0000"+
+        "\u0000\u3533\u0000\u0000\u0000\u0000\u0000\u3534"+
+        "\u0000\u3535\u3536\u3537\u0000\u0000\u0000\u3538"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u3539\u0000"+
+        "\u0000\u0000\u353A\u0000\u0000\u353B\u353C\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u353D\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u353E\u0000\u353F\u0000\u0000\u3540"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u3541\u0000"+
+        "\u0000\u0000\u0000\u0000\u3542\u0000\u3543\u3544"+
+        "\u3545\u3546\u0000\u0000\u0000\u3547\u0000\u0000"+
+        "\u3548\u3549\u0000\u0000\u354A\u354B\u354C\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u354D\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u354E\u354F\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3550\u0000\u0000\u3551\u3552\u0000"+
+        "\u0000\u0000\u0000\u3553\u3554\u3555\u0000\u0000"+
+        "\u0000\u3556\u0000\u0000\u0000\u0000\u0000\u3557"+
+        "\u0000\u3558\u3559\u0000\u0000\u355A\u0000\u0000"+
+        "\u355B\u355C\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u355D\u0000\u355E\u355F\u0000\u0000\u3560\u0000"+
+        "\u3561\u3562\u0000\u0000\u3563\u0000\u3564\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3565"+
+        "\u0000\u3566\u3567\u0000\u0000\u0000\u3568\u0000"+
+        "\u3569\u0000\u0000\u0000\u0000\u0000\u356A\u356B"+
+        "\u0000\u356C\u356D\u356E\u356F\u0000\u0000\u3570"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u3571\u3572\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u3573\u0000\u0000"+
+        "\u0000\u0000\u3574\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3575"+
+        "\u0000\u3576\u0000\u3577\u0000\u0000\u3578\u0000"+
+        "\u0000\u3579\u0000\u357A\u357B\u0000\u357C\u0000"+
+        "\u0000\u357D\u357E\u3621\u0000\u0000\u0000\u3622"+
+        "\u3623\u0000\u0000\u3624\u0000\u0000\u3625\u0000"+
+        "\u0000\u0000\u3626\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u3627\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u3628\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3629"+
+        "\u0000\u0000\u0000\u0000\u0000\u362A\u0000\u0000"+
+        "\u362B\u0000\u362C\u0000\u0000\u362D\u362E\u362F"+
+        "\u3630\u3631\u3632\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u3633\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u3634\u0000\u0000\u0000"+
+        "\u3635\u0000\u0000\u3636\u0000\u3637\u0000\u3638"+
+        "\u0000\u3639\u0000\u363A\u363B\u363C\u0000\u363D"+
+        "\u363E\u363F\u0000\u3640\u3641\u0000\u3642\u0000"+
+        "\u0000\u3643\u0000\u3644\u0000\u3645\u0000\u3646"+
+        "\u0000\u0000\u0000\u0000\u3647\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u3648\u0000"+
+        "\u3649\u364A\u364B\u364C\u0000\u0000\u364D\u0000"+
+        "\u0000\u364E\u0000\u0000\u0000\u364F\u0000\u3650"+
+        "\u0000\u3651\u3652\u0000\u0000\u3653\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u3654\u3655\u0000\u0000"+
+        "\u3656\u0000\u0000\u3657\u3658\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u3659\u0000\u0000"+
+        "\u0000\u365A\u365B\u0000\u0000\u365C\u365D\u365E"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u365F\u3660"+
+        "\u3661\u3662\u0000\u3663\u3664\u3665\u0000\u0000"+
+        "\u0000\u3666\u0000\u3667\u0000\u0000\u0000\u3668"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u3669\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u366A\u0000\u0000"+
+        "\u0000\u366B\u366C\u366D\u3670\u3671\u0000\u366E"+
+        "\u366F\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u3672\u0000\u0000\u3673\u3674\u0000\u3675"+
+        "\u0000\u3676\u0000\u0000\u3677\u3678\u3679\u367A"+
+        "\u367B\u0000\u0000\u367D\u0000\u367E\u0000\u0000"+
+        "\u0000\u367C\u0000\u0000\u0000\u0000\u3721\u3722"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
+
+    private final static String innerIndex1=
+        "\u0000\u3723\u3724\u0000\u0000\u0000\u0000\u3725"+
+        "\u0000\u0000\u3726\u0000\u3727\u0000\u0000\u0000"+
+        "\u0000\u3728\u0000\u0000\u0000\u3729\u0000\u0000"+
+        "\u0000\u0000\u372A\u372B\u0000\u372C\u0000\u0000"+
+        "\u372D\u0000\u372E\u372F\u3730\u3731\u0000\u0000"+
+        "\u0000\u3732\u3733\u0000\u3734\u0000\u3735\u3736"+
+        "\u0000\u0000\u0000\u3737\u3738\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u3739\u373A\u373B"+
+        "\u0000\u0000\u0000\u0000\u0000\u373C\u373D\u0000"+
+        "\u0000\u0000\u0000\u0000\u373E\u373F\u0000\u0000"+
+        "\u0000\u0000\u3740\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u7436\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3741\u0000\u0000\u3742\u0000\u3743"+
+        "\u3744\u0000\u0000\u3745\u0000\u3746\u3747\u3748"+
+        "\u3749\u374A\u0000\u374B\u374C\u374D\u0000\u374E"+
+        "\u0000\u374F\u3750\u3751\u3752\u0000\u3753\u0000"+
+        "\u0000\u3754\u0000\u3755\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u3756\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u3757\u3760\u0000\u3758"+
+        "\u0000\u3759\u375A\u0000\u375B\u375C\u375D\u375E"+
+        "\u0000\u375F\u0000\u0000\u0000\u0000\u0000\u3761"+
+        "\u3762\u3763\u0000\u0000\u3764\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u3765\u0000\u0000\u0000\u0000\u3766\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3767"+
+        "\u3768\u0000\u0000\u0000\u3769\u0000\u0000\u376A"+
+        "\u0000\u0000\u0000\u0000\u0000\u376B\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u376C\u376D\u0000"+
+        "\u0000\u377E\u0000\u0000\u376E\u0000\u376F\u3770"+
+        "\u0000\u3771\u0000\u0000\u0000\u3772\u0000\u0000"+
+        "\u3773\u0000\u0000\u0000\u0000\u3774\u3775\u0000"+
+        "\u3776\u0000\u0000\u0000\u0000\u3777\u3778\u3779"+
+        "\u0000\u0000\u0000\u377A\u377B\u0000\u0000\u0000"+
+        "\u377C\u377D\u0000\u0000\u3821\u3822\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u3823\u0000\u0000\u3824\u3825"+
+        "\u3826\u0000\u0000\u0000\u0000\u0000\u3827\u3828"+
+        "\u0000\u0000\u0000\u0000\u0000\u3829\u0000\u0000"+
+        "\u0000\u0000\u382A\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u382B\u0000\u0000\u0000\u0000\u0000\u382C"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u382D\u0000\u0000\u382E\u382F\u0000\u3830"+
+        "\u3831\u0000\u0000\u0000\u0000\u3832\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3833"+
+        "\u0000\u3834\u0000\u0000\u3835\u0000\u0000\u3836"+
+        "\u3837\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u3838\u0000\u0000\u0000\u3839\u0000\u0000\u383A"+
+        "\u383B\u383C\u0000\u0000\u0000\u0000\u0000\u383D"+
+        "\u383E\u383F\u3840\u0000\u3841\u3842\u0000\u3843"+
+        "\u3844\u0000\u0000\u0000\u3845\u0000\u3846\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u3847\u7439\u0000"+
+        "\u3848\u3849\u384A\u0000\u0000\u0000\u384B\u0000"+
+        "\u0000\u384C\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u384D\u384E\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u3850\u0000\u0000\u0000"+
+        "\u0000\u0000\u3851\u0000\u384F\u0000\u0000\u0000"+
+        "\u3852\u0000\u0000\u0000\u0000\u3853\u3854\u0000"+
+        "\u3855\u0000\u3856\u0000\u3857\u0000\u3858\u0000"+
+        "\u0000\u0000\u3859\u0000\u0000\u385A\u0000\u0000"+
+        "\u0000\u385B\u385C\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u385D\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u385E\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u385F\u3860\u0000"+
+        "\u0000\u0000\u0000\u3861\u3862\u0000\u0000\u0000"+
+        "\u0000\u0000\u3863\u3864\u3865\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u3867\u0000\u0000"+
+        "\u0000\u3868\u0000\u3869\u386A\u0000\u0000\u0000"+
+        "\u386B\u0000\u0000\u0000\u0000\u0000\u0000\u386C"+
+        "\u386D\u0000\u0000\u386E\u0000\u386F\u3870\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3871"+
+        "\u0000\u0000\u0000\u3872\u0000\u0000\u3873\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3874\u3875\u0000\u0000\u0000\u0000"+
+        "\u0000\u3876\u0000\u3877\u0000\u3878\u3879\u387A"+
+        "\u0000\u387B\u0000\u387C\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u387D\u0000\u387E\u0000\u3921"+
+        "\u0000\u0000\u3922\u0000\u0000\u3923\u3924\u0000"+
+        "\u0000\u3925\u0000\u3926\u3927\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u3928\u3929\u0000\u392A\u0000"+
+        "\u0000\u0000\u392B\u0000\u0000\u392C\u0000\u392D"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u392E"+
+        "\u0000\u0000\u0000\u0000\u392F\u0000\u0000\u3930"+
+        "\u0000\u0000\u0000\u0000\u0000\u3931\u3932\u3933"+
+        "\u3934\u0000\u0000\u3935\u0000\u0000\u0000\u3936"+
+        "\u0000\u0000\u3937\u0000\u3938\u0000\u0000\u0000"+
+        "\u0000\u3939\u0000\u393A\u393B\u0000\u0000\u0000"+
+        "\u393C\u0000\u393D\u0000\u0000\u393E\u0000\u0000"+
+        "\u0000\u0000\u393F\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u3940\u3941\u3942"+
+        "\u0000\u0000\u0000\u3943\u3944\u0000\u0000\u3945"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u3946\u3947"+
+        "\u0000\u3948\u3949\u0000\u394A\u0000\u0000\u394B"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u394C\u0000\u0000\u0000\u394D\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u394E\u394F\u3950\u0000"+
+        "\u0000\u0000\u3951\u3952\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u3953\u0000"+
+        "\u0000\u0000\u0000\u3954\u3955\u0000\u0000\u3956"+
+        "\u3957\u0000\u3958\u0000\u0000\u3959\u0000\u0000"+
+        "\u395A\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u395B\u395C\u0000\u395D"+
+        "\u395E\u0000\u0000\u0000\u395F\u0000\u0000\u0000"+
+        "\u3960\u0000\u0000\u0000\u0000\u3961\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u3962\u0000"+
+        "\u0000\u0000\u0000\u3963\u0000\u3964\u0000\u3965"+
+        "\u0000\u0000\u0000\u0000\u0000\u3966\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3967"+
+        "\u0000\u0000\u3968\u3969\u0000\u0000\u396A\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u396B\u0000\u0000\u0000\u0000"+
+        "\u396C\u0000\u0000\u396D\u0000\u0000\u396E\u0000"+
+        "\u0000\u396F\u0000\u0000\u3970\u0000\u3971\u3972"+
+        "\u3973\u0000\u3974\u0000\u0000\u0000\u0000\u3975"+
+        "\u0000\u0000\u0000\u0000\u3976\u0000\u0000\u0000"+
+        "\u0000\u3977\u3978\u3979\u0000\u397A\u0000\u0000"+
+        "\u397B\u0000\u397C\u397D\u0000\u0000\u0000\u397E"+
+        "\u0000\u0000\u0000\u0000\u3A21\u0000\u3A22\u0000"+
+        "\u3A23\u0000\u0000\u0000\u0000\u0000\u0000\u3A24"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3A25\u0000\u3A26\u0000\u0000\u0000"+
+        "\u3A27\u0000\u0000\u0000\u0000\u3A28\u0000\u0000"+
+        "\u0000\u0000\u3A29\u0000\u0000\u0000\u3A2A\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u3A2B\u3A2C\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u3A2D\u0000\u0000"+
+        "\u3A2E\u3A2F\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u3A30\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3A31"+
+        "\u0000\u3A33\u0000\u3A34\u0000\u3A35\u0000\u0000"+
+        "\u0000\u3A36\u0000\u0000\u0000\u3A37\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u3A38\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u3A32\u0000\u0000\u0000"+
+        "\u3A39\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u3A3A\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u3A3B\u3A3C\u0000\u0000\u0000"+
+        "\u0000\u0000\u3A3D\u0000\u0000\u0000\u3A3E\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u3A3F\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u3A40\u0000\u0000\u0000\u0000\u0000\u3A41\u3A42"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u3A43\u3A44\u3A45\u3A46"+
+        "\u0000\u3A47\u0000\u0000\u3A48\u0000\u3A49\u0000"+
+        "\u0000\u0000\u3A4A\u0000\u0000\u0000\u3A4B\u0000"+
+        "\u3A4C\u3A4D\u0000\u3A4E\u3A4F\u0000\u3A50\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u3A51\u3A52\u0000\u0000\u3A53\u3A54\u0000\u3A55"+
+        "\u0000\u3A56\u3A57\u0000\u0000\u0000\u0000\u3A58"+
+        "\u0000\u0000\u3A59\u0000\u3A5A\u0000\u0000\u0000"+
+        "\u3A5B\u3A5C\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u3A5D\u0000\u3A5E"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u3A5F\u3A60"+
+        "\u3A61\u3A62\u3A63\u0000\u0000\u0000\u0000\u0000"+
+        "\u3A64\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u743A\u0000\u0000\u3A65"+
+        "\u0000\u3A66\u0000\u0000\u3A67\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u3A68\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u3A69\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3A6A"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u3A6B\u3A6C"+
+        "\u0000\u0000\u0000\u3A6D\u0000\u0000\u3A6E\u0000"+
+        "\u0000\u3A6F\u0000\u3A70\u3A71\u0000\u3A72\u0000"+
+        "\u3A73\u0000\u3A74\u0000\u0000\u3A75\u3A76\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u3A77\u3A78\u0000\u3A79\u0000\u0000\u0000"+
+        "\u0000\u0000\u3A7A\u3A7B\u0000\u0000\u0000\u3A7C"+
+        "\u3A7D\u3A7E\u0000\u0000\u0000\u3B21\u0000\u0000"+
+        "\u3B22\u0000\u0000\u0000\u3B23\u3B24\u0000\u0000"+
+        "\u0000\u0000\u3B25\u3B26\u3B27\u3B28\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3B29"+
+        "\u3B2A\u0000\u3B2B\u0000\u0000\u0000\u0000\u3B2C"+
+        "\u0000\u0000\u3B2D\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u3B2E\u0000\u3B2F"+
+        "\u3B30\u0000\u3B31\u3B32\u0000\u0000\u3B33\u0000"+
+        "\u0000\u0000\u3B34\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3B35\u0000\u3B36\u3B37\u0000\u0000"+
+        "\u0000\u0000\u3B38\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u3B39\u0000\u3B3A\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3B3B\u0000\u0000\u0000\u0000\u3B3D"+
+        "\u0000\u0000\u0000\u0000\u0000\u3B3C\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u3B3E\u0000"+
+        "\u0000\u3B3F\u3B40\u0000\u3B41\u743B\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u3B42\u0000\u0000\u0000\u0000\u3B43\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u3B44\u0000\u0000"+
+        "\u0000\u0000\u3B45\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u3B47\u3B48\u0000\u3B49\u3B4A"+
+        "\u0000\u0000\u0000\u3B46\u0000\u0000\u0000\u0000"+
+        "\u0000\u3B4B\u0000\u0000\u3B4C\u0000\u0000\u0000"+
+        "\u0000\u3B4D\u0000\u0000\u0000\u3B4E\u0000\u3B4F"+
+        "\u0000\u0000\u3B50\u3B51\u0000\u0000\u3B52\u0000"+
+        "\u3B53\u0000\u3B57\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u3B55\u0000\u743C\u0000\u3B54\u0000\u0000"+
+        "\u0000\u3B56\u0000\u0000\u0000\u0000\u0000\u3B58"+
+        "\u3B59\u3B5A\u3B5B\u0000\u3B5C\u0000\u0000\u0000"+
+        "\u0000\u0000\u3B5D\u0000\u0000\u3B5E\u0000\u0000"+
+        "\u3B5F\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u3B60\u3B61\u0000\u0000\u0000\u3B62\u3B63"+
+        "\u0000\u3B64\u0000\u3B65\u0000\u0000\u0000\u0000"+
+        "\u3B66\u0000\u3B67\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3B68\u3B69\u3B6A\u3B6B\u0000\u0000"+
+        "\u0000\u3B6C\u0000\u3B6D\u0000\u0000\u0000\u3B6E"+
+        "\u3B6F\u0000\u0000\u0000\u0000\u0000\u0000\u3B70"+
+        "\u0000\u0000\u0000\u3B71\u0000\u0000\u0000\u0000"+
+        "\u3B72\u0000\u6674\u0000\u3B73\u0000\u0000\u0000"+
+        "\u3B74\u3B75\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u3B76\u0000\u0000\u0000\u3B77"+
+        "\u0000\u0000\u0000\u3B78\u0000\u0000\u3B7A\u0000"+
+        "\u3B79\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u3B7B\u3B7C\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u3B7D\u0000\u0000\u0000\u3B7E\u0000\u0000\u0000"+
+        "\u0000\u3C21\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u3C22\u3C23\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u3C24\u0000\u0000\u0000\u0000\u0000\u0000\u3C25"+
+        "\u0000\u0000\u0000\u0000\u0000\u3C26\u0000\u0000"+
+        "\u0000\u0000\u3C27\u0000\u3C28\u3C29\u0000\u0000"+
+        "\u3C2A\u0000\u0000\u0000\u0000\u0000\u0000\u3C2B"+
+        "\u3C2C\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u3C2E\u0000\u0000\u0000\u0000\u0000\u3C2D\u0000"+
+        "\u0000\u0000\u3C2F\u0000\u0000\u3C30\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u3C31\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u3C34\u0000\u3C32\u0000\u0000\u0000\u0000"+
+        "\u3C33\u3C35\u0000\u0000\u0000\u0000\u3C36\u0000"+
+        "\u3C37\u0000\u0000\u3C38\u3C39\u0000\u3C3A\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u3C3B\u0000\u3C3C\u3C3D\u3C3E\u3C3F\u3C40\u0000"+
+        "\u3C41\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u3C42\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u3C43\u0000\u0000\u3C44\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3C45\u0000\u3C46\u3C47\u0000\u0000"+
+        "\u3C48\u0000\u3C49\u0000\u3C4A\u0000\u0000\u0000"+
+        "\u0000\u3C4B\u0000\u3C4C\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u3C4D\u3C4E\u3C4F"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u3C50\u0000"+
+        "\u0000\u0000\u0000\u3C52\u3C51\u0000\u3C53\u0000"+
+        "\u0000\u3C54\u3C55\u0000\u3C56\u3C57\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u3C58\u0000\u3C59\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u3C5A\u0000\u0000"+
+        "\u0000\u0000\u0000\u3C5B\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3C5C\u0000\u0000\u0000\u3C5D\u3C5E"+
+        "\u3C5F\u0000\u0000\u0000\u0000\u0000\u3C60\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u3C61\u0000\u0000\u3C62\u3C63\u0000\u0000"+
+        "\u0000\u3C64\u3C65\u3C66\u3C67\u0000\u0000\u0000"+
+        "\u3C68\u0000\u0000\u3C69\u3C6A\u0000\u3C6B\u0000"+
+        "\u3C6C\u0000\u0000\u0000\u3C6D\u0000\u3C6E\u0000"+
+        "\u0000\u0000\u0000\u3C6F\u0000\u3C70\u0000\u3C71"+
+        "\u3C72\u0000\u0000\u0000\u3C73\u3C74\u0000\u3C75"+
+        "\u0000\u0000\u0000\u0000\u0000\u3C76\u0000\u0000"+
+        "\u3C77\u0000\u0000\u0000\u3C78\u0000\u0000\u0000"+
+        "\u3C79\u0000\u0000\u3C7A\u0000\u0000\u0000\u0000"+
+        "\u3C7B\u0000\u0000\u3C7C\u3C7D\u0000\u0000\u3C7E"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3D21"+
+        "\u0000\u0000\u3D22\u0000\u3D23\u3D24\u0000\u0000"+
+        "\u3D25\u0000\u3D26\u0000\u0000\u3D27\u3D28\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u3D29\u0000\u0000\u0000\u3D2A\u0000\u3D2B"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u3D2C\u0000"+
+        "\u0000\u0000\u0000\u0000\u3D2D\u3D2E\u0000\u0000"+
+        "\u0000\u0000\u3D2F\u0000\u3D32\u0000\u0000\u3D30"+
+        "\u0000\u0000\u0000\u3D31\u3D33\u0000\u0000\u3D34"+
+        "\u3D35\u3D36\u0000\u0000\u0000\u0000\u0000\u743E"+
+        "\u3D37\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u3D38\u0000\u0000\u3D39"+
+        "\u3D3A\u3D3B\u0000\u3D3C\u0000\u0000\u0000\u0000"+
+        "\u3D3D\u3D3E\u3D3F\u3D40\u3D41\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u3D42\u0000"+
+        "\u0000\u3D43\u3D44\u0000\u0000\u0000\u0000\u0000"+
+        "\u3D45\u3D46\u3D47\u0000\u3D48\u3D49\u3D4A\u3D4B"+
+        "\u0000\u0000\u3D4C\u3D4D\u0000\u0000\u3D4E\u0000"+
+        "\u0000\u0000\u3D4F\u0000\u3D50\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u3D51"+
+        "\u0000\u0000\u3D52\u0000\u0000\u3D53\u0000\u0000"+
+        "\u0000\u0000\u0000\u3D54\u3D55\u0000\u0000\u3D56"+
+        "\u3D57\u0000\u3D58\u0000\u0000\u0000\u0000\u3D59"+
+        "\u0000\u0000\u0000\u0000\u3D5A\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u3D5B\u0000\u0000"+
+        "\u0000\u0000\u0000\u3D5C\u0000\u3D5D\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u3D5E\u0000\u0000\u0000\u0000\u0000\u0000\u3D5F"+
+        "\u3D60\u3D61\u0000\u0000\u3D62\u0000\u0000\u0000"+
+        "\u0000\u3D63\u0000\u0000\u3D64\u0000\u3D65\u3D66"+
+        "\u0000\u0000\u0000\u0000\u0000\u3D67\u0000\u0000"+
+        "\u0000\u3D68\u0000\u0000\u0000\u0000\u0000\u3D69"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u3D6A\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u3D6B\u3D6C"+
+        "\u0000\u0000\u3D6D\u0000\u0000\u743F\u3D6E\u0000"+
+        "\u3D6F\u0000\u3D70\u0000\u0000\u0000\u3D71\u0000"+
+        "\u0000\u3D72\u0000\u3D73\u0000\u3D74\u0000\u0000"+
+        "\u3D75\u0000\u0000\u0000\u0000\u3D76\u3D77\u0000"+
+        "\u0000\u0000\u3D78\u0000\u3D79\u3D7A\u0000\u0000"+
+        "\u3D7B\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u3D7C\u3D7D\u0000\u0000\u0000\u0000\u0000\u3D7E"+
+        "\u0000\u0000\u0000\u3E21\u0000\u0000\u3E22\u0000"+
+        "\u0000\u0000\u3E23\u0000\u3E24\u0000\u0000\u0000"+
+        "\u3E25\u3E26\u3E27\u3E28\u0000\u0000\u3E29\u3E2A"+
+        "\u0000\u0000\u0000\u0000\u3E2B\u3E2C\u0000\u0000"+
+        "\u0000\u3E2D\u0000\u3E2E\u0000\u3E2F\u3E30\u0000"+
+        "\u0000\u0000\u3E31\u0000\u0000\u3E32\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3E33\u0000\u0000\u3E34\u0000\u0000"+
+        "\u3E35\u0000\u0000\u0000\u3E36\u3E37\u0000\u0000"+
+        "\u0000\u0000\u3E38\u0000\u0000\u0000\u0000\u3E39"+
+        "\u0000\u0000\u3E3A\u0000\u3E3B\u0000\u0000\u0000"+
+        "\u3E3C\u3E3D\u3E3E\u3E3F\u3E40\u0000\u3E41\u3E42"+
+        "\u0000\u3E43\u0000\u0000\u3E44\u0000\u3E45\u0000"+
+        "\u7440\u0000\u3E46\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3E47\u3E48\u0000\u0000\u0000\u0000"+
+        "\u3E49\u3E4A\u0000\u0000\u0000\u3E4B\u3E4C\u3E4D"+
+        "\u0000\u3E4E\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u3E4F\u0000\u0000\u0000\u3E50\u3E51\u0000"+
+        "\u0000\u3E52\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u3E53\u0000"+
+        "\u3E54\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u3E55\u0000\u0000\u0000"+
+        "\u0000\u0000\u3E56\u0000\u0000\u0000\u0000\u0000"+
+        "\u3E57\u0000\u0000\u3E58\u3E59\u0000\u0000\u3E5A"+
+        "\u3E5B\u3E5C\u0000\u3E5D\u3E5E\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u3E5F\u0000\u3E60\u0000\u0000"+
+        "\u0000\u0000\u3E61\u3E62\u0000\u0000\u0000\u3E63"+
+        "\u3E64\u0000\u0000\u0000\u3E65\u3E66\u0000\u3E67"+
+        "\u3E68\u0000\u0000\u0000\u0000\u3E69\u0000\u0000"+
+        "\u3E6A\u0000\u3E6B\u0000\u0000\u3E6C\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u3E6D\u3E6E\u0000\u0000\u3E6F\u0000\u0000\u0000"+
+        "\u3E70\u3E71\u3E72\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u3E73\u3E74"+
+        "\u0000\u0000\u0000\u0000\u0000\u3E75\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u3E76\u3E77\u3E78\u3E79"+
+        "\u0000\u3E7A\u3E7B\u0000\u0000\u3E7E\u0000\u3E7C"+
+        "\u0000\u3E7D\u0000\u0000\u3F21\u3F22\u0000\u3F23"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u3F24\u0000\u3F25\u3F26\u0000\u0000\u3F27"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u3F28\u0000\u3F29\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u3F2A\u0000\u0000\u0000"+
+        "\u3F2B\u0000\u3F2C\u3F2D\u0000\u0000\u0000\u3F2E"+
+        "\u0000\u3F2F\u0000\u3F30\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u3F31\u0000\u0000\u0000\u3F32\u0000\u0000"+
+        "\u0000\u0000\u3F33\u3F34\u3F35\u0000\u3F36\u0000"+
+        "\u0000\u0000\u0000\u0000\u3F37\u0000\u0000\u0000"+
+        "\u3F38\u3F39\u3F3A\u0000\u3F3B\u0000\u3F3C\u0000"+
+        "\u0000\u0000\u3F3D\u0000\u3F3E\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u3F3F\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u3F40\u0000\u3F41"+
+        "\u0000\u0000\u0000\u3F42\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3F43\u0000\u0000\u3F44\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u3F45\u3F46\u3F47"+
+        "\u3F48\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u3F49\u0000"+
+        "\u3F4A\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u3F4B\u0000\u0000\u3F4C\u3F4D"+
+        "\u0000\u0000\u3F4E\u0000\u0000\u0000\u3F4F\u3F50"+
+        "\u0000\u0000\u0000\u0000\u3F51\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u3F52\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u3F53\u3F54\u0000"+
+        "\u0000\u0000\u3F55\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3F56\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u3F57\u0000\u3F58\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u3F59\u3F5A\u0000\u0000"+
+        "\u0000\u0000\u0000\u3F5B\u3F5C\u0000\u0000\u0000"+
+        "\u0000\u0000\u3F5D\u3F5E\u0000\u3F5F\u0000\u0000"+
+        "\u3F60\u0000\u0000\u3F61\u0000\u0000\u3F62\u0000"+
+        "\u3F63\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u3F64\u3F65\u0000\u0000\u3F66\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u3F67\u3F68\u0000"+
+        "\u0000\u3F69\u0000\u0000\u3F6A\u0000\u0000\u0000"+
+        "\u0000\u3F6B\u3F6C\u3F6D\u3F6E\u0000\u3F6F\u0000"+
+        "\u0000\u0000\u3F70\u3F71\u0000\u0000\u3F72\u0000"+
+        "\u0000\u0000\u3F73\u3F74\u3F75\u0000\u0000\u0000"+
+        "\u3F76\u0000\u0000\u3F77\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u3F78\u3F79\u0000"+
+        "\u0000\u0000\u0000\u0000\u3F7A\u3F7B\u0000\u0000"+
+        "\u0000\u3F7C\u0000\u0000\u3F7D\u3F7E\u0000\u0000"+
+        "\u4021\u0000\u0000\u0000\u4022\u4023\u0000\u4024"+
+        "\u0000\u0000\u4025\u0000\u4026\u0000\u0000\u4027"+
+        "\u0000\u0000\u4028\u0000\u0000\u0000\u0000\u0000"+
+        "\u4029\u0000\u0000\u0000\u402A\u402B\u0000\u0000"+
+        "\u0000\u402C\u402D\u0000\u0000\u0000\u402E\u0000"+
+        "\u0000\u0000\u0000\u0000\u402F\u0000\u4030\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u4031\u4032\u4033"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u4034\u0000\u0000"+
+        "\u0000\u4035\u0000\u0000\u0000\u4036\u0000\u0000"+
+        "\u4037\u0000\u0000\u0000\u0000\u0000\u4038\u0000"+
+        "\u0000\u4039\u0000\u403A\u403B\u403C\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u403D\u0000\u0000\u0000"+
+        "\u403E\u0000\u0000\u0000\u0000\u403F\u0000\u0000"+
+        "\u0000\u0000\u4040\u0000\u4041\u0000\u0000\u0000"+
+        "\u0000\u0000\u4042\u4043\u0000\u4044\u0000\u0000"+
+        "\u4045\u4046\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u4047\u4048\u0000\u0000\u0000\u0000\u0000"+
+        "\u4049\u0000\u404A\u0000\u404B\u0000\u0000\u0000"+
+        "\u404C\u0000\u0000\u0000\u0000\u0000\u404D\u0000"+
+        "\u404E\u0000\u404F\u0000\u4050\u4051\u0000\u0000"+
+        "\u0000\u4052\u4053\u0000\u0000\u0000\u0000\u4054"+
+        "\u4055\u0000\u0000\u0000\u0000\u4056\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u4057\u0000\u4058"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u4059\u0000\u0000\u0000\u405A"+
+        "\u0000\u405B\u405C\u405D\u405E\u0000\u0000\u0000"+
+        "\u0000\u0000\u405F\u4060\u4061\u4062\u0000\u4063"+
+        "\u4064\u4065\u0000\u4066\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u4067\u0000\u0000"+
+        "\u0000\u0000\u0000\u4068\u4069\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u406A\u0000\u406B\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u406C\u0000\u406D"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u406E"+
+        "\u406F\u4070\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u4071\u4072\u0000\u4073\u0000\u4074\u0000\u4075"+
+        "\u0000\u4076\u0000\u4077\u0000\u0000\u4078\u0000"+
+        "\u4079\u0000\u0000\u0000\u407A\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u407B\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u407C\u407D\u407E"+
+        "\u0000\u0000\u0000\u0000\u4121\u0000\u0000\u0000"+
+        "\u0000\u4122\u4123\u4124\u4125\u0000\u4126\u0000"+
+        "\u4127\u4128\u0000\u0000\u0000\u4129\u0000\u412A"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u412B\u412C\u0000\u0000"+
+        "\u0000\u412D\u412E\u0000\u0000\u412F\u0000\u0000"+
+        "\u4130\u0000\u0000\u0000\u0000\u4131\u0000\u4132"+
+        "\u0000\u0000\u0000\u4133\u0000\u0000\u0000\u4134"+
+        "\u0000\u4135\u0000\u0000\u4136\u0000\u0000\u0000"+
+        "\u4137\u4138\u4139\u0000\u0000\u0000\u0000\u413A"+
+        "\u0000\u0000\u0000\u413B\u413C\u0000\u413D\u0000"+
+        "\u0000\u413E\u0000\u413F\u0000\u0000\u4140\u4141"+
+        "\u0000\u0000\u4142\u0000\u0000\u0000\u4143\u0000"+
+        "\u0000\u4144\u0000\u0000\u0000\u0000\u4145\u0000"+
+        "\u0000\u4146\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u4147\u0000\u4148\u4149\u0000\u0000"+
+        "\u0000\u0000\u0000\u414A\u0000\u0000\u0000\u414B"+
+        "\u0000\u414C\u0000\u0000\u0000\u0000\u7441\u0000"+
+        "\u414D\u0000\u414E\u0000\u414F\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4150"+
+        "\u4151\u0000\u0000\u0000\u0000\u0000\u0000\u4152"+
+        "\u0000\u0000\u0000\u4153\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u4154\u0000\u0000\u4155\u0000\u0000"+
+        "\u0000\u4156\u0000\u0000\u0000\u4157\u0000\u0000"+
+        "\u0000\u0000\u4158\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u4159\u0000\u0000\u415A\u0000\u0000"+
+        "\u415B\u0000\u0000\u0000\u0000\u415C\u0000\u0000"+
+        "\u415D\u0000\u0000\u415E\u0000\u0000\u415F\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u4160\u0000"+
+        "\u0000\u0000\u4161\u4162\u4163\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4164"+
+        "\u0000\u0000\u4165\u0000\u0000\u0000\u0000\u0000"+
+        "\u4166\u4167\u0000\u0000\u0000\u0000\u4168\u0000"+
+        "\u4169\u0000\u0000\u0000\u416A\u0000\u416B\u0000"+
+        "\u416C\u0000\u0000\u0000\u0000\u0000\u0000\u416D"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u416E\u0000\u416F\u0000\u4170\u4171\u0000\u0000"+
+        "\u0000\u4172\u0000\u0000\u0000\u0000\u4173\u4174"+
+        "\u4175\u0000\u0000\u0000\u4176\u0000\u0000\u0000"+
+        "\u4177\u4178\u0000\u0000\u0000\u4179\u0000\u0000"+
+        "\u0000\u417A\u417B\u0000\u0000\u417C\u417D\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u417E\u4221\u0000"+
+        "\u0000\u4222\u4223\u4224\u4225\u0000\u4226\u0000"+
+        "\u0000\u4227\u4228\u4229\u422A\u0000\u422B\u0000"+
+        "\u422C\u422D\u0000\u422E\u0000\u0000\u0000\u4230"+
+        "\u0000\u422F\u0000\u7442\u0000\u0000\u0000\u0000"+
+        "\u4231\u0000\u0000\u0000\u0000\u4232\u4233\u0000"+
+        "\u0000\u0000\u4234\u0000\u4235\u0000\u4237\u0000"+
+        "\u0000\u4236\u0000\u0000\u0000\u0000\u0000\u4238"+
+        "\u4239\u423A\u0000\u423B\u423C\u0000\u0000\u0000"+
+        "\u423D\u423E\u0000\u0000\u0000\u7443\u0000\u0000"+
+        "\u0000\u0000\u4240\u4241\u4242\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u4244\u0000\u4245\u0000\u4247"+
+        "\u4248\u4249\u0000\u424A\u424C\u0000\u4243\u4246"+
+        "\u424B\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u424D\u424E\u424F\u0000\u0000"+
+        "\u4250\u0000\u4251\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u4252\u4253\u4254\u4255\u0000\u0000\u4256"+
+        "\u4257\u0000\u0000\u0000\u4258\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u4259\u0000\u0000"+
+        "\u0000\u425A\u425B\u0000\u0000\u425C\u0000\u0000"+
+        "\u0000\u0000\u0000\u425D\u0000\u0000\u0000\u425E"+
+        "\u425F\u0000\u4260\u4261\u0000\u0000\u0000\u0000"+
+        "\u4262\u0000\u0000\u0000\u4263\u0000\u4264\u4265"+
+        "\u0000\u0000\u0000\u0000\u4266\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u4267\u0000\u0000\u0000\u4268"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u4269\u0000\u0000\u426A\u426B\u0000\u426C\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u426D\u423F\u0000\u0000\u0000\u0000";
+
+    private final static String innerIndex2=
+        "\u0000\u0000\u0000\u0000\u0000\u426E\u0000\u426F"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u4270\u0000"+
+        "\u0000\u0000\u0000\u4271\u0000\u0000\u0000\u0000"+
+        "\u0000\u4272\u0000\u0000\u4273\u0000\u0000\u0000"+
+        "\u4274\u0000\u4275\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u4276\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u4277\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u4278\u0000\u4279"+
+        "\u427A\u0000\u0000\u0000\u427B\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u427C\u427D\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u427E\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u4321\u0000"+
+        "\u0000\u0000\u0000\u0000\u4322\u0000\u4323\u0000"+
+        "\u0000\u0000\u0000\u0000\u4324\u0000\u4325\u0000"+
+        "\u0000\u0000\u0000\u4326\u0000\u0000\u0000\u0000"+
+        "\u0000\u4327\u0000\u0000\u4328\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u4329\u432A"+
+        "\u0000\u432B\u0000\u432C\u0000\u0000\u432D\u0000"+
+        "\u432E\u432F\u0000\u4330\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u4331\u4332\u4333\u0000\u0000\u4334\u0000\u0000"+
+        "\u0000\u0000\u0000\u4335\u4336\u4337\u0000\u0000"+
+        "\u4339\u0000\u433A\u433B\u0000\u433C\u0000\u0000"+
+        "\u433D\u433E\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u433F\u0000\u0000\u0000\u0000\u4340"+
+        "\u0000\u4341\u0000\u0000\u4342\u0000\u0000\u0000"+
+        "\u0000\u4343\u0000\u0000\u0000\u0000\u4344\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u4345\u0000\u4346\u0000\u0000\u0000\u4347\u4348"+
+        "\u0000\u4338\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u7446\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u434A\u0000\u0000\u0000"+
+        "\u0000\u434B\u0000\u0000\u0000\u434C\u0000\u434D"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u434F"+
+        "\u434E\u0000\u0000\u0000\u4350\u4351\u0000\u4352"+
+        "\u4353\u4354\u0000\u4355\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u4356\u0000\u0000\u0000\u4357"+
+        "\u0000\u0000\u0000\u0000\u4358\u4359\u0000\u0000"+
+        "\u0000\u0000\u435A\u0000\u435B\u0000\u0000\u0000"+
+        "\u0000\u0000\u4349\u0000\u0000\u435C\u0000\u435D"+
+        "\u435E\u0000\u0000\u435F\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u4360\u0000\u0000\u4361\u4362"+
+        "\u4363\u4364\u4365\u0000\u0000\u4366\u0000\u0000"+
+        "\u0000\u4367\u4368\u4369\u436A\u0000\u0000\u0000"+
+        "\u0000\u0000\u436B\u0000\u436C\u0000\u436D\u0000"+
+        "\u436E\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u436F\u0000"+
+        "\u4370\u0000\u4371\u0000\u4372\u0000\u0000\u0000"+
+        "\u0000\u4373\u0000\u4374\u0000\u4375\u0000\u0000"+
+        "\u0000\u4376\u4377\u0000\u0000\u0000\u4378\u0000"+
+        "\u0000\u0000\u4379\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u437A\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u437B\u0000\u0000"+
+        "\u437C\u0000\u0000\u0000\u437D\u0000\u0000\u437E"+
+        "\u4421\u4422\u0000\u4423\u0000\u0000\u4424\u0000"+
+        "\u0000\u4425\u0000\u0000\u4426\u4427\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u4428\u0000\u0000"+
+        "\u4429\u0000\u442A\u442B\u442C\u442D\u0000\u0000"+
+        "\u442E\u442F\u0000\u0000\u0000\u4430\u4431\u0000"+
+        "\u0000\u0000\u0000\u4432\u4433\u4434\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u4435\u0000"+
+        "\u0000\u4436\u4437\u0000\u0000\u0000\u0000\u0000"+
+        "\u4438\u4439\u0000\u443A\u0000\u0000\u443B\u443C"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u443D\u0000\u443E\u0000\u443F\u0000\u0000"+
+        "\u4440\u0000\u0000\u4441\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u4442\u0000\u0000\u4443\u0000\u0000"+
+        "\u0000\u4444\u0000\u0000\u0000\u0000\u4445\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4446"+
+        "\u0000\u0000\u0000\u4447\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u4448\u4449\u444A\u444B\u0000"+
+        "\u444C\u444D\u0000\u0000\u444E\u0000\u0000\u0000"+
+        "\u444F\u4450\u4451\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u4452\u4453\u0000\u0000\u0000\u4454"+
+        "\u4455\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u4456\u0000\u0000"+
+        "\u0000\u0000\u4457\u0000\u0000\u0000\u4458\u0000"+
+        "\u4459\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u445A\u0000\u0000\u0000\u445B\u445C\u0000"+
+        "\u445D\u0000\u0000\u445E\u0000\u445F\u0000\u4460"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4461"+
+        "\u4462\u0000\u4463\u0000\u4464\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u4465\u0000\u0000"+
+        "\u4466\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u4467\u0000\u0000\u0000\u0000\u4468\u4469"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u446A\u0000\u0000\u446B\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u446C\u446D"+
+        "\u0000\u446E\u0000\u446F\u0000\u4470\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u4471\u0000"+
+        "\u4472\u4473\u0000\u4474\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4475"+
+        "\u0000\u4476\u0000\u0000\u0000\u4477\u0000\u0000"+
+        "\u0000\u0000\u4478\u0000\u0000\u4479\u0000\u0000"+
+        "\u447A\u0000\u0000\u0000\u447B\u0000\u0000\u0000"+
+        "\u447C\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u447D\u0000\u447E\u0000\u4521\u0000\u0000\u4522"+
+        "\u0000\u0000\u0000\u4523\u0000\u0000\u4524\u4525"+
+        "\u0000\u0000\u0000\u0000\u0000\u4526\u4527\u0000"+
+        "\u0000\u4528\u4529\u0000\u0000\u0000\u452A\u0000"+
+        "\u452B\u452C\u452D\u0000\u0000\u452E\u452F\u0000"+
+        "\u0000\u0000\u0000\u4530\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u4531\u0000\u0000\u4532"+
+        "\u0000\u0000\u4533\u7449\u0000\u0000\u0000\u0000"+
+        "\u0000\u4534\u0000\u4535\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u4536\u0000"+
+        "\u0000\u4537\u0000\u4538\u0000\u0000\u4539\u453A"+
+        "\u0000\u453B\u0000\u453C\u0000\u0000\u0000\u0000"+
+        "\u0000\u453D\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u453E\u0000\u453F\u4540\u4541"+
+        "\u0000\u0000\u0000\u0000\u0000\u4542\u0000\u0000"+
+        "\u0000\u0000\u0000\u4543\u0000\u0000\u0000\u4544"+
+        "\u4545\u4546\u0000\u0000\u4547\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u4548\u4549\u454A"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u454B\u0000"+
+        "\u454D\u454C\u0000\u0000\u454E\u0000\u0000\u0000"+
+        "\u454F\u0000\u0000\u0000\u4550\u4551\u4552\u0000"+
+        "\u0000\u0000\u0000\u0000\u4553\u4554\u0000\u0000"+
+        "\u0000\u0000\u744A\u0000\u4555\u0000\u0000\u4556"+
+        "\u0000\u0000\u0000\u0000\u4557\u0000\u0000\u0000"+
+        "\u4558\u4559\u455A\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u455B\u455C\u0000\u0000"+
+        "\u0000\u0000\u455D\u455E\u0000\u0000\u455F\u4560"+
+        "\u0000\u4561\u0000\u0000\u0000\u0000\u0000\u4562"+
+        "\u4563\u4564\u0000\u0000\u0000\u0000\u0000\u4565"+
+        "\u0000\u0000\u0000\u4566\u0000\u0000\u4567\u0000"+
+        "\u0000\u0000\u0000\u0000\u4568\u0000\u0000\u0000"+
+        "\u4569\u0000\u0000\u456A\u456B\u0000\u0000\u456C"+
+        "\u0000\u0000\u0000\u0000\u0000\u456D\u456E\u0000"+
+        "\u0000\u0000\u0000\u456F\u0000\u0000\u0000\u4570"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u4571\u0000"+
+        "\u0000\u0000\u4572\u0000\u0000\u4573\u0000\u0000"+
+        "\u0000\u0000\u4574\u0000\u0000\u0000\u4575\u0000"+
+        "\u4576\u0000\u0000\u0000\u0000\u4577\u0000\u0000"+
+        "\u4578\u0000\u0000\u0000\u0000\u0000\u0000\u4579"+
+        "\u0000\u0000\u0000\u457A\u0000\u0000\u457B\u0000"+
+        "\u457C\u0000\u0000\u0000\u0000\u457D\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u457E\u4621\u0000"+
+        "\u0000\u0000\u4622\u0000\u0000\u4623\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4624"+
+        "\u0000\u0000\u0000\u4625\u0000\u0000\u0000\u4626"+
+        "\u4627\u0000\u4628\u4629\u0000\u0000\u0000\u0000"+
+        "\u462A\u462B\u0000\u0000\u462C\u462D\u462E\u0000"+
+        "\u462F\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u4630\u4631\u0000\u0000\u0000\u4632\u4633\u0000"+
+        "\u0000\u0000\u0000\u4634\u4635\u0000\u0000\u0000"+
+        "\u0000\u4636\u0000\u0000\u4637\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u4638\u0000"+
+        "\u0000\u0000\u4639\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u463A\u0000\u463B\u0000\u0000\u463C\u463D"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u463E\u0000"+
+        "\u0000\u463F\u0000\u0000\u0000\u0000\u0000\u4640"+
+        "\u0000\u4641\u0000\u0000\u0000\u0000\u0000\u4642"+
+        "\u0000\u0000\u4643\u0000\u4644\u4645\u0000\u0000"+
+        "\u0000\u4646\u0000\u0000\u0000\u4647\u4648\u0000"+
+        "\u4649\u0000\u464A\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u464B\u0000\u0000\u0000\u0000\u0000\u464C"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u464D\u464E"+
+        "\u464F\u0000\u0000\u0000\u4650\u0000\u4651\u0000"+
+        "\u0000\u0000\u0000\u4652\u0000\u4653\u4654\u0000"+
+        "\u0000\u0000\u4655\u4656\u0000\u0000\u0000\u4657"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u4658\u4659\u0000\u465A\u0000\u465B"+
+        "\u0000\u0000\u465C\u0000\u465D\u0000\u0000\u0000"+
+        "\u0000\u465E\u0000\u465F\u4660\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4736"+
+        "\u0000\u0000\u0000\u4661\u0000\u4662\u0000\u4663"+
+        "\u0000\u0000\u0000\u0000\u4664\u0000\u4665\u0000"+
+        "\u4666\u4667\u0000\u4668\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u4669\u466A\u466B"+
+        "\u0000\u466C\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u466D\u466E\u0000\u466F"+
+        "\u4670\u0000\u0000\u0000\u4671\u0000\u0000\u4672"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u4673\u0000\u4674\u0000\u4675\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u4676\u0000\u0000\u0000\u4677\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u4678\u0000\u4679"+
+        "\u467A\u467B\u467C\u0000\u467D\u0000\u467E\u0000"+
+        "\u0000\u0000\u4721\u0000\u4722\u0000\u0000\u0000"+
+        "\u4723\u0000\u0000\u0000\u0000\u0000\u0000\u4724"+
+        "\u0000\u4725\u0000\u4726\u4727\u0000\u4728\u0000"+
+        "\u0000\u0000\u4729\u0000\u472A\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u472B\u0000\u0000\u472C"+
+        "\u0000\u0000\u472D\u0000\u0000\u0000\u472E\u472F"+
+        "\u0000\u4730\u0000\u4731\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u4732\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u4733\u4734"+
+        "\u4735\u0000\u0000\u0000\u0000\u0000\u4737\u4738"+
+        "\u0000\u4739\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u473A\u0000\u0000\u473B\u0000\u0000\u473C"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u473D"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u473E\u473F"+
+        "\u0000\u4740\u0000\u0000\u0000\u4741\u0000\u4742"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4743"+
+        "\u4744\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u4745\u0000\u0000\u0000"+
+        "\u0000\u0000\u4746\u0000\u0000\u0000\u0000\u4747"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u4748\u4749\u0000\u474A\u0000\u474B\u474C"+
+        "\u474D\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u474E\u0000\u474F\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u4750\u0000\u0000\u4751"+
+        "\u0000\u4752\u0000\u0000\u0000\u4753\u0000\u4754"+
+        "\u0000\u0000\u0000\u0000\u4755\u0000\u0000\u0000"+
+        "\u4756\u0000\u4757\u0000\u0000\u0000\u4758\u4759"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u475A\u0000"+
+        "\u0000\u0000\u0000\u475B\u0000\u475C\u0000\u475D"+
+        "\u475E\u0000\u475F\u0000\u0000\u4760\u0000\u0000"+
+        "\u0000\u4761\u0000\u0000\u0000\u0000\u0000\u4762"+
+        "\u4763\u0000\u744C\u0000\u4764\u0000\u4765\u0000"+
+        "\u744B\u0000\u0000\u0000\u4766\u0000\u0000\u0000"+
+        "\u4767\u0000\u0000\u0000\u4768\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u4769\u0000"+
+        "\u0000\u0000\u476A\u0000\u0000\u0000\u0000\u476B"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u476C\u0000\u0000\u0000\u476D\u0000"+
+        "\u0000\u476E\u0000\u476F\u4770\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u4771\u4772\u0000\u0000"+
+        "\u4773\u4774\u0000\u4775\u0000\u0000\u0000\u4776"+
+        "\u0000\u4777\u4778\u4779\u477A\u0000\u0000\u477B"+
+        "\u0000\u0000\u0000\u0000\u477C\u477D\u477E\u0000"+
+        "\u0000\u0000\u4821\u4822\u0000\u0000\u0000\u0000"+
+        "\u4823\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u4824\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u4825\u0000\u4826\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u4827\u0000\u0000"+
+        "\u0000\u0000\u0000\u4828\u0000\u0000\u0000\u0000"+
+        "\u0000\u4829\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u482A\u0000\u0000\u0000\u0000\u0000\u0000\u482B"+
+        "\u0000\u0000\u0000\u0000\u0000\u482C\u482D\u0000"+
+        "\u0000\u482E\u0000\u482F\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u4830\u0000\u0000\u0000\u4831"+
+        "\u4832\u4833\u0000\u4834\u0000\u0000\u0000\u4835"+
+        "\u4836\u0000\u4837\u0000\u0000\u4838\u4839\u483A"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u483B\u0000\u483C\u483D\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u483E\u0000\u483F\u0000\u4840\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u4841\u0000\u0000\u0000"+
+        "\u4842\u0000\u4843\u0000\u4844\u4845\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u4846\u0000"+
+        "\u4847\u0000\u4848\u4849\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u484A\u0000"+
+        "\u0000\u484B\u484C\u0000\u0000\u4853\u0000\u484D"+
+        "\u484E\u0000\u0000\u484F\u0000\u0000\u4850\u0000"+
+        "\u0000\u0000\u0000\u4851\u4852\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4854"+
+        "\u0000\u4855\u4856\u4857\u0000\u0000\u0000\u4858"+
+        "\u0000\u4859\u485A\u0000\u0000\u485B\u485C\u0000"+
+        "\u0000\u485D\u485E\u0000\u0000\u0000\u0000\u0000"+
+        "\u485F\u0000\u0000\u0000\u4860\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u4861\u4862\u0000"+
+        "\u0000\u0000\u0000\u4863\u0000\u0000\u0000\u4864"+
+        "\u4865\u0000\u0000\u4866\u4867\u4868\u0000\u0000"+
+        "\u4869\u0000\u486A\u486B\u486C\u0000\u486D\u0000"+
+        "\u0000\u0000\u486E\u0000\u0000\u0000\u0000\u486F"+
+        "\u4870\u0000\u0000\u0000\u0000\u4871\u4872\u4873"+
+        "\u4874\u0000\u0000\u0000\u0000\u0000\u4875\u4876"+
+        "\u4877\u0000\u0000\u0000\u0000\u4878\u4879\u0000"+
+        "\u0000\u0000\u0000\u0000\u487A\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u487B\u0000\u487C"+
+        "\u487D\u0000\u487E\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u4921\u0000\u0000\u0000\u4922\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u4923\u4924\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u4925\u0000\u0000\u0000\u0000\u4926\u0000\u0000"+
+        "\u0000\u4927\u0000\u0000\u4928\u4929\u0000\u0000"+
+        "\u492A\u0000\u0000\u0000\u0000\u492B\u492C\u492D"+
+        "\u0000\u0000\u0000\u0000\u0000\u492E\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u492F"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u4930\u0000\u0000\u4931\u0000\u0000\u0000\u0000"+
+        "\u744D\u0000\u0000\u0000\u0000\u0000\u0000\u4932"+
+        "\u0000\u0000\u0000\u0000\u4933\u0000\u0000\u4934"+
+        "\u0000\u4935\u0000\u0000\u4936\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u4937\u4938\u0000\u0000\u0000"+
+        "\u4939\u493A\u493B\u493C\u0000\u0000\u4941\u0000"+
+        "\u0000\u0000\u0000\u0000\u493D\u493E\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u493F\u4940\u0000"+
+        "\u0000\u0000\u0000\u0000\u4942\u4943\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u4944\u0000\u4945\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u4946\u4947\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u4948\u0000"+
+        "\u0000\u4949\u0000\u0000\u0000\u494A\u494B\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u494C\u494D\u494E\u494F"+
+        "\u4950\u0000\u0000\u4951\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u4952\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u4953\u0000\u0000\u0000\u0000"+
+        "\u4954\u4955\u0000\u0000\u4956\u0000\u0000\u4957"+
+        "\u0000\u0000\u0000\u742E\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u4958\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u4959\u0000\u495A\u495B\u495C\u495D\u0000"+
+        "\u495E\u0000\u0000\u0000\u495F\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u4960\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u4961\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u4962\u4963\u4964\u4965\u4966"+
+        "\u0000\u0000\u0000\u4967\u4968\u0000\u0000\u4969"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u496A\u0000"+
+        "\u496B\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u496C\u0000\u496D\u0000\u496E"+
+        "\u496F\u4970\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u4971\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u4972\u0000\u0000\u0000\u4973\u4974\u4975"+
+        "\u0000\u0000\u4976\u4977\u0000\u0000\u0000\u0000"+
+        "\u4978\u0000\u4979\u0000\u0000\u0000\u0000\u497A"+
+        "\u0000\u0000\u497B\u0000\u497C\u0000\u497D\u0000"+
+        "\u497E\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u4A21\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u4A22\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u4A23\u0000\u0000\u0000\u0000\u4A24\u0000\u4A25"+
+        "\u0000\u0000\u0000\u0000\u4A26\u0000\u0000\u0000"+
+        "\u0000\u0000\u4A27\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u4A28\u4A29\u0000\u0000\u0000\u0000"+
+        "\u4A2A\u0000\u4A2B\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4A2C"+
+        "\u4A2D\u0000\u4A2E\u4A2F\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u4A30\u0000\u0000\u0000\u0000\u4A31"+
+        "\u4A32\u4A33\u0000\u0000\u4A34\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u4A35\u4A36\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u4A37\u0000\u0000\u4A38\u0000"+
+        "\u0000\u4A39\u4A3A\u0000\u4A3B\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u4A3C\u0000\u0000\u0000\u0000\u0000\u4A3D\u0000"+
+        "\u4A3E\u0000\u0000\u0000\u0000\u0000\u0000\u4A3F"+
+        "\u4A40\u4A41\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u4A42\u0000\u0000\u0000\u4A43"+
+        "\u0000\u0000\u4A44\u0000\u0000\u4A45\u0000\u4A46"+
+        "\u0000\u0000\u0000\u0000\u4A47\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u4A48\u0000\u0000\u0000\u4A49"+
+        "\u0000\u0000\u0000\u0000\u4A4A\u0000\u0000\u0000"+
+        "\u4A4B\u4A4C\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u4A4D\u4A4E\u4A4F\u0000\u4A50\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u4A51\u4A52"+
+        "\u4A53\u0000\u0000\u4A54\u0000\u4A55\u4A56\u0000"+
+        "\u0000\u0000\u4A57\u0000\u4A58\u0000\u4A59\u0000"+
+        "\u4A5A\u0000\u0000\u4A5B\u0000\u0000\u0000\u0000"+
+        "\u4A5C\u0000\u0000\u4A5D\u0000\u0000\u4A5E\u4A5F"+
+        "\u0000\u4A60\u0000\u0000\u0000\u0000\u0000\u4A61"+
+        "\u4A62\u0000\u0000\u4A63\u4A64\u0000\u0000\u4A65"+
+        "\u0000\u0000\u0000\u0000\u4A66\u0000\u0000\u0000"+
+        "\u0000\u4A67\u0000\u0000\u0000\u4A68\u4A69\u0000"+
+        "\u0000\u0000\u0000\u4A6A\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u4A6B\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u4A6C\u0000\u0000\u0000\u0000\u4A6D\u4A6E\u0000"+
+        "\u0000\u4A6F\u0000\u0000\u4A70\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u4A71\u0000"+
+        "\u0000\u4A72\u0000\u0000\u0000\u0000\u0000\u4A73"+
+        "\u0000\u4A74\u0000\u0000\u4A75\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u4A76\u4A77\u0000"+
+        "\u4A78\u0000\u0000\u0000\u0000\u0000\u0000\u4A79"+
+        "\u0000\u0000\u0000\u0000\u0000\u4A7A\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u4A7B\u4A7C\u0000\u0000\u0000"+
+        "\u0000\u0000\u4A7D\u4A7E\u0000\u0000\u4B21\u0000"+
+        "\u0000\u0000\u4B22\u0000\u4B23\u4B24\u0000\u4B25"+
+        "\u0000\u0000\u0000\u4B26\u0000\u4B27\u0000\u0000"+
+        "\u0000\u0000\u4B28\u4B29\u0000\u0000\u0000\u0000"+
+        "\u4B2A\u4B2B\u0000\u0000\u0000\u0000\u4B2C\u0000"+
+        "\u0000\u0000\u4B2D\u0000\u4B2E\u0000\u0000\u4B2F"+
+        "\u4B30\u0000\u0000\u0000\u4B31\u0000\u0000\u0000"+
+        "\u0000\u4B32\u4B33\u0000\u0000\u4B34\u0000\u0000"+
+        "\u0000\u0000\u4B35\u4B36\u0000\u4B37\u0000\u0000"+
+        "\u0000\u0000\u0000\u4B38\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u4B39\u0000\u0000"+
+        "\u4B3A\u0000\u4B3B\u0000\u0000\u0000\u4B3C\u0000"+
+        "\u4B3D\u0000\u0000\u0000\u0000\u4B3E\u4B3F\u4B40"+
+        "\u4B41\u0000\u0000\u0000\u0000\u0000\u4B42\u4B43"+
+        "\u0000\u4B44\u0000\u4B45\u4B46\u0000\u4B47\u4B48"+
+        "\u0000\u4B49\u0000\u0000\u0000\u0000\u0000\u4B4A"+
+        "\u0000\u4B4B\u0000\u0000\u4B4C\u0000\u0000\u0000"+
+        "\u4B4D\u4B4E\u0000\u4B4F\u0000\u4B50\u4B51\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u4B52\u0000"+
+        "\u4B53\u0000\u0000\u4B54\u0000\u4B55\u0000\u4B56"+
+        "\u4B57\u0000\u0000\u0000\u4B58\u0000\u4B59\u4B5A"+
+        "\u4B5B\u0000\u4B5C\u0000\u0000\u4B5D\u4B5E\u0000"+
+        "\u0000\u0000\u4B5F\u4B60\u0000\u4B61\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u4B62\u0000\u4B63"+
+        "\u0000\u4B64\u0000\u0000\u4B65\u4B66\u0000\u4B67"+
+        "\u0000\u0000\u0000\u0000\u0000\u4B68\u4B69\u0000"+
+        "\u0000\u4B6A\u0000\u4B6B\u4B6C\u0000\u0000\u4B6D"+
+        "\u0000\u0000\u4B6E\u4B6F\u0000\u0000\u4B70\u0000"+
+        "\u0000\u4B71\u0000\u0000\u0000\u4B72\u0000\u0000"+
+        "\u0000\u4B73\u0000\u4B74\u0000\u0000\u4B75\u4B76"+
+        "\u0000\u4B77\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u4B78\u4B79\u0000\u4B7A"+
+        "\u0000\u4B7B\u4B7C\u4B7D\u0000\u4B7E\u0000\u4C21"+
+        "\u4C22\u4C23\u0000\u0000\u4C24\u0000\u0000\u4C25"+
+        "\u0000\u0000\u4C26\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u4C27\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u4C28\u4C29\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u4C2A\u0000\u4C2B\u0000"+
+        "\u4C2C\u4C2D\u4C2E\u4C2F\u4C30\u4C31\u4C32\u4C33"+
+        "\u4C34\u4C35\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u4C36\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u4C37\u0000\u0000\u4C38\u4C39\u0000\u4C3A\u4C3B"+
+        "\u0000\u0000\u0000\u4C3C\u0000\u4C3D\u0000\u0000"+
+        "\u0000\u4C3E\u4C3F\u0000\u0000\u0000\u0000\u4C40"+
+        "\u0000\u0000\u0000\u0000\u0000\u4C41\u0000\u0000"+
+        "\u0000\u0000\u4C42\u0000\u0000\u0000\u4C43\u4C44"+
+        "\u4C45\u0000\u0000\u4C46\u0000\u4C47\u4C48\u0000"+
+        "\u0000\u4C49\u4C4A\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u4C4B\u4C4C\u0000\u0000\u0000\u4C4D\u4C4E\u4C4F"+
+        "\u0000\u4C50\u0000\u0000\u0000\u0000\u0000\u4C51"+
+        "\u4C52\u4C53\u4C54\u0000\u0000\u0000\u0000\u0000"+
+        "\u4C55\u4C56\u4C57\u0000\u4C58\u0000\u0000\u4C59"+
+        "\u4C5A\u4C5B\u0000\u4C5C\u0000\u0000\u4C5D\u0000"+
+        "\u4C5E\u4C5F\u4C60\u4C61\u0000\u0000\u4C62\u4C63"+
+        "\u0000\u4C64\u4C65\u0000\u0000\u4C66\u0000\u0000"+
+        "\u0000\u4C67\u0000\u4C68\u0000\u0000\u0000\u4C69"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u4C6A\u4C6B\u0000\u0000\u4C6C\u0000\u0000\u0000"+
+        "\u4C6D\u0000\u0000\u4C6E\u0000\u0000\u0000\u0000"+
+        "\u4C6F\u0000\u4C70\u4C71\u0000\u0000\u4C72\u4C73"+
+        "\u0000\u0000\u0000\u0000\u4C74\u0000\u0000\u0000"+
+        "\u4C75\u0000\u4C76\u4C77\u0000\u0000\u0000\u4C78"+
+        "\u0000\u0000\u0000\u0000\u4C79\u0000\u0000\u0000"+
+        "\u0000\u0000\u4C7A\u4C7B\u4C7C\u0000\u0000\u4C7D"+
+        "\u0000\u7450\u0000\u0000\u0000\u0000\u4C7E\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u4D21\u0000\u0000\u0000\u4D22\u4D23"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u4D24\u4D25\u0000\u0000\u4D26\u0000\u0000\u4D27"+
+        "\u0000\u4D28\u4D29\u0000\u0000\u0000\u0000\u4D2A"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u4D2B\u0000"+
+        "\u0000\u4D2C\u0000\u0000\u0000\u4D2D\u4D2E\u4D2F"+
+        "\u4D30\u0000\u0000\u4D31\u0000\u0000\u0000\u4D32"+
+        "\u4D33\u0000\u0000\u0000\u0000\u0000\u4D34\u0000"+
+        "\u4D35\u0000\u4D36\u0000\u0000\u0000\u0000\u4D37"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u4D38\u4D39"+
+        "\u0000\u4D3A\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4D3B"+
+        "\u0000\u4D3C\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u4D3D\u4D3E\u4D3F\u4D40\u4D41\u4D42\u0000"+
+        "\u0000\u4D43\u0000\u0000\u0000\u4D44\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u4D45\u0000\u4D46\u4D47\u0000\u4D48\u0000\u0000"+
+        "\u0000\u4D49\u0000\u0000\u4D4A\u0000\u0000\u0000"+
+        "\u0000\u0000\u4D4B\u0000\u4D4C\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u4D4D\u0000\u0000\u0000"+
+        "\u0000\u0000\u4D4E\u0000\u0000\u0000\u0000\u4D4F"+
+        "\u4D50\u4D51\u0000\u0000\u4D52\u0000\u4D53\u0000"+
+        "\u0000\u0000\u0000\u0000\u4D54\u0000\u4D55\u4D56"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u4D57"+
+        "\u0000\u0000\u0000\u0000\u4D58\u0000\u0000\u4D59"+
+        "\u4D5A\u4D5B\u0000\u0000\u4D5C\u0000\u0000\u4D5D"+
+        "\u0000\u0000\u0000\u0000\u4D5E\u0000\u4D5F\u4D60"+
+        "\u0000\u4D61\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u4D62\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u4D63\u0000\u4D64\u4D65\u4D66\u0000\u0000\u4D67"+
+        "\u4D68\u0000\u4D69\u0000\u4D6A\u0000\u0000\u4D6B"+
+        "\u0000\u0000\u4D6C\u4D6D\u0000\u4D6E\u4D6F\u0000"+
+        "\u0000\u4D70\u0000\u4D71\u4D72\u4D73\u4D74\u0000"+
+        "\u0000\u0000\u0000\u4D75\u0000\u4D76\u4D77\u0000"+
+        "\u0000\u4D78\u0000\u0000\u0000\u4D79\u0000\u0000"+
+        "\u0000\u0000\u4D7A\u4D7B\u0000\u4D7C\u0000\u0000"+
+        "\u4D7D\u4D7E\u4E21\u0000\u4E22\u0000\u0000\u0000"+
+        "\u4E24\u4E25\u0000\u4E26\u4E27\u4E28\u0000\u0000"+
+        "\u0000\u4E29\u4E23\u4E2A\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u4E2B\u0000\u0000"+
+        "\u0000\u4E2C\u0000\u0000\u0000\u0000\u0000\u4E2D"+
+        "\u0000\u0000\u0000\u0000\u4E2E\u4E2F\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u4E30\u4E31\u4E32"+
+        "\u0000\u4E33\u0000\u0000\u4E34\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u4E35\u7451\u0000\u0000\u4E36\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u4E37\u4E38\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u4E39\u0000\u0000"+
+        "\u0000\u0000\u0000\u4E3A\u4E3B\u4E3C\u7452\u4E3D"+
+        "\u4E3E\u0000\u4E3F\u4E40\u4E41\u4E42\u4E43\u4E44"+
+        "\u4E45\u0000\u4E46\u0000\u0000\u4E47\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u4E48\u0000\u0000"+
+        "\u0000\u4E49\u0000\u0000\u0000\u4E4A\u0000\u0000"+
+        "\u0000\u4E4B\u0000\u4E4C\u4E4D\u0000\u4E4E\u0000"+
+        "\u0000\u0000\u0000\u0000\u4E4F\u0000\u0000\u0000"+
+        "\u0000\u4E50\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u4E51\u0000\u0000\u0000\u0000\u0000\u4E52\u0000"+
+        "\u4E53\u0000\u0000\u0000\u4E54\u0000\u0000\u0000"+
+        "\u4E55\u4E56\u0000\u0000\u0000\u0000\u4E57\u0000"+
+        "\u0000\u4E58\u0000\u0000\u4E59\u0000\u0000\u0000";
+
+    private final static String innerIndex3=
+        "\u4E5A\u0000\u0000\u0000\u0000\u0000\u4E5B\u0000"+
+        "\u0000\u0000\u4E5C\u0000\u0000\u0000\u4E5D\u0000"+
+        "\u0000\u0000\u4E5E\u0000\u4E5F\u4E60\u0000\u4E61"+
+        "\u0000\u4E62\u4E63\u0000\u4E64\u0000\u0000\u0000"+
+        "\u0000\u0000\u4E65\u0000\u0000\u0000\u0000\u0000"+
+        "\u4E66\u0000\u0000\u0000\u0000\u4E67\u4E68\u4E69"+
+        "\u0000\u0000\u0000\u0000\u4E6A\u4E6B\u4E6C\u0000"+
+        "\u0000\u4E6D\u0000\u0000\u0000\u4E6E\u4E6F\u0000"+
+        "\u0000\u0000\u4E70\u0000\u0000\u4E71\u4E72\u0000"+
+        "\u0000\u0000\u4E73\u0000\u0000\u4E74\u4E75\u4E76"+
+        "\u0000\u0000\u4E77\u0000\u0000\u0000\u4E78\u4E79"+
+        "\u0000\u0000\u0000\u0000\u4E7A\u0000\u4E7B\u4E7C"+
+        "\u4E7D\u0000\u4E7E\u0000\u4F21\u0000\u0000\u4F22"+
+        "\u0000\u0000\u4F23\u0000\u4F24\u0000\u0000\u0000"+
+        "\u4F25\u0000\u4F26\u4F27\u4F28\u0000\u0000\u0000"+
+        "\u0000\u0000\u4F29\u0000\u0000\u4F2A\u0000\u0000"+
+        "\u4F2B\u0000\u0000\u0000\u4F2C\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u4F2D\u4F2E\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u4F2F\u4F30\u4F31\u0000"+
+        "\u0000\u0000\u4F32\u0000\u0000\u0000\u0000\u4F33"+
+        "\u0000\u0000\u4F34\u0000\u0000\u0000\u0000\u4F35"+
+        "\u0000\u0000\u4F36\u0000\u0000\u0000\u4F37\u4F38"+
+        "\u0000\u4F39\u0000\u0000\u0000\u4F3A\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u4F3B\u0000"+
+        "\u0000\u0000\u0000\u4F3C\u0000\u0000\u0000\u0000"+
+        "\u0000\u4F3D\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u4F3E\u4F3F\u0000\u0000\u4F40\u0000\u0000"+
+        "\u0000\u4F41\u0000\u0000\u0000\u0000\u4F42\u4F43"+
+        "\u4F44\u0000\u0000\u0000\u4F45\u0000\u4F46\u0000"+
+        "\u0000\u0000\u4F47\u0000\u4F48\u0000\u0000\u0000"+
+        "\u4F49\u4F4A\u0000\u0000\u4F4B\u0000\u0000\u0000"+
+        "\u4F4C\u0000\u0000\u4F4D\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u4F4E\u4F4F\u0000"+
+        "\u0000\u4F50\u0000\u0000\u0000\u4F51\u4F52\u0000"+
+        "\u0000\u4F53\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u4F54\u0000\u0000"+
+        "\u0000\u4F55\u4F56\u4F57\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u4F58\u4F59\u0000"+
+        "\u4F5A\u0000\u0000\u0000\u0000\u4F5B\u0000\u4F5C"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u4F5D\u4F5E\u0000\u0000\u4F5F"+
+        "\u4F60\u0000\u0000\u0000\u4F61\u0000\u4F62\u0000"+
+        "\u0000\u0000\u4F63\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u4F64\u0000\u4F65\u0000"+
+        "\u4F66\u4F67\u0000\u4F68\u4F69\u0000\u0000\u0000"+
+        "\u4F6A\u0000\u4F6B\u0000\u0000\u0000\u4F6C\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u4F6D\u0000\u0000\u0000\u4F6E\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u4F6F\u0000\u0000\u0000\u0000\u4F70"+
+        "\u0000\u0000\u0000\u0000\u4F71\u0000\u0000\u0000"+
+        "\u4F72\u0000\u0000\u0000\u0000\u4F74\u4F75\u4F76"+
+        "\u0000\u4F73\u0000\u0000\u4F77\u0000\u0000\u0000"+
+        "\u4F78\u0000\u0000\u0000\u4F79\u4F7A\u0000\u0000"+
+        "\u4F7B\u4F7C\u4F7D\u4F7E\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u5021\u0000\u5022\u0000\u5023"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5024"+
+        "\u5025\u5026\u0000\u0000\u5027\u0000\u5028\u0000"+
+        "\u0000\u0000\u5029\u502A\u0000\u502B\u502C\u0000"+
+        "\u0000\u0000\u0000\u502E\u0000\u0000\u0000\u502F"+
+        "\u5030\u5031\u0000\u0000\u502D\u0000\u5032\u0000"+
+        "\u0000\u0000\u5033\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u5034\u5035\u0000\u0000\u5037\u5038"+
+        "\u0000\u0000\u5039\u503A\u0000\u0000\u0000\u503B"+
+        "\u5036\u0000\u0000\u0000\u0000\u0000\u503C\u0000"+
+        "\u0000\u0000\u0000\u0000\u503D\u0000\u0000\u0000"+
+        "\u503E\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u503F\u0000\u5040\u0000\u5041\u5042"+
+        "\u5043\u0000\u0000\u0000\u0000\u5044\u0000\u5045"+
+        "\u0000\u5046\u0000\u0000\u0000\u5047\u0000\u0000"+
+        "\u7454\u5048\u0000\u0000\u5049\u504A\u0000\u0000"+
+        "\u0000\u0000\u0000\u504B\u0000\u504C\u0000\u504D"+
+        "\u0000\u0000\u0000\u0000\u504E\u504F\u5050\u0000"+
+        "\u0000\u0000\u5051\u5052\u0000\u0000\u0000\u5053"+
+        "\u0000\u5054\u0000\u0000\u5055\u0000\u0000\u0000"+
+        "\u5056\u0000\u0000\u5057\u5058\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5059"+
+        "\u0000\u505A\u0000\u505B\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u505C\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u505D\u0000\u505E\u505F\u0000\u5060\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u5061\u5062\u0000\u0000\u0000"+
+        "\u0000\u5063\u0000\u5064\u5065\u5066\u5067\u0000"+
+        "\u5068\u0000\u0000\u5069\u506A\u0000\u0000\u0000"+
+        "\u0000\u506B\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u506C\u506D\u0000\u506E\u0000\u0000\u0000\u506F"+
+        "\u0000\u5070\u0000\u0000\u5071\u0000\u0000\u0000"+
+        "\u5072\u0000\u0000\u5073\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u5074\u0000\u5075\u0000\u0000\u5076"+
+        "\u5077\u0000\u5078\u0000\u0000\u0000\u0000\u5079"+
+        "\u0000\u0000\u0000\u0000\u507A\u0000\u507B\u0000"+
+        "\u0000\u0000\u507C\u0000\u0000\u507D\u507E\u0000"+
+        "\u5121\u0000\u5122\u0000\u0000\u5123\u0000\u0000"+
+        "\u0000\u0000\u5124\u5125\u0000\u5126\u0000\u0000"+
+        "\u0000\u5127\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u5128\u0000\u0000\u0000\u5129\u0000\u0000\u0000"+
+        "\u0000\u0000\u512A\u512B\u0000\u0000\u0000\u512C"+
+        "\u0000\u512D\u512E\u0000\u512F\u0000\u0000\u0000"+
+        "\u0000\u5130\u0000\u0000\u0000\u5131\u0000\u0000"+
+        "\u0000\u0000\u0000\u5132\u0000\u0000\u5133\u0000"+
+        "\u0000\u5134\u0000\u0000\u0000\u0000\u0000\u5135"+
+        "\u0000\u0000\u0000\u5136\u0000\u5137\u0000\u5138"+
+        "\u5139\u0000\u0000\u0000\u513A\u513B\u0000\u0000"+
+        "\u513C\u513D\u513E\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u513F\u5140\u0000\u5141"+
+        "\u5142\u0000\u0000\u0000\u5143\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u5144\u5145\u0000"+
+        "\u0000\u5146\u0000\u0000\u5147\u5148\u0000\u5149"+
+        "\u514A\u0000\u0000\u0000\u0000\u514B\u0000\u514C"+
+        "\u0000\u0000\u514D\u0000\u0000\u514E\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u514F\u0000\u0000"+
+        "\u5150\u0000\u0000\u0000\u0000\u0000\u5151\u0000"+
+        "\u5152\u0000\u5153\u0000\u0000\u5154\u5155\u0000"+
+        "\u0000\u0000\u5156\u5157\u0000\u0000\u0000\u0000"+
+        "\u5158\u5159\u0000\u0000\u515A\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u515B\u0000"+
+        "\u515C\u0000\u0000\u515D\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u515E\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u515F\u0000\u5160\u0000\u0000"+
+        "\u0000\u5161\u0000\u5162\u5163\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u5164\u0000"+
+        "\u0000\u5165\u0000\u0000\u5166\u0000\u5167\u0000"+
+        "\u0000\u5168\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u5169\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u7459"+
+        "\u516A\u516B\u0000\u516C\u516D\u0000\u0000\u0000"+
+        "\u0000\u516E\u0000\u0000\u516F\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u5170\u0000\u5171\u5172\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5173"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u5174\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5175"+
+        "\u0000\u0000\u0000\u5176\u0000\u0000\u0000\u5177"+
+        "\u0000\u5178\u5179\u517A\u0000\u517B\u517C\u517D"+
+        "\u517E\u5221\u0000\u0000\u5222\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u5223\u0000\u5224"+
+        "\u5225\u5226\u0000\u0000\u0000\u0000\u0000\u5227"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u5228\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u5229\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u522A\u0000\u0000\u0000\u522B\u0000\u522C\u0000"+
+        "\u0000\u522D\u522E\u0000\u0000\u522F\u0000\u5230"+
+        "\u0000\u0000\u5231\u5232\u0000\u0000\u0000\u5233"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u5234\u0000\u0000\u0000"+
+        "\u0000\u5235\u0000\u0000\u0000\u0000\u5236\u0000"+
+        "\u5237\u5238\u0000\u0000\u0000\u0000\u5239\u0000"+
+        "\u0000\u0000\u0000\u523A\u0000\u0000\u523B\u0000"+
+        "\u523C\u0000\u0000\u0000\u0000\u523D\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u523E\u0000\u0000\u523F"+
+        "\u5240\u0000\u5241\u0000\u0000\u5242\u5243\u0000"+
+        "\u0000\u0000\u5244\u5245\u5246\u5247\u0000\u0000"+
+        "\u0000\u0000\u5248\u0000\u0000\u5249\u0000\u0000"+
+        "\u524A\u0000\u524B\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u524C\u0000\u524D\u524E"+
+        "\u0000\u524F\u5250\u5251\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u5252\u0000\u5253\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u5254\u0000\u5255\u5256\u0000\u0000"+
+        "\u5257\u5258\u5259\u0000\u525A\u0000\u525B\u0000"+
+        "\u0000\u525C\u525D\u525E\u525F\u0000\u5260\u0000"+
+        "\u0000\u5261\u0000\u5262\u5263\u0000\u5264\u5265"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u5266\u0000\u5267\u0000\u0000\u0000\u0000"+
+        "\u5268\u0000\u0000\u0000\u0000\u5269\u526A\u0000"+
+        "\u526B\u0000\u0000\u0000\u526C\u0000\u0000\u0000"+
+        "\u0000\u526D\u0000\u526E\u526F\u0000\u5270\u0000"+
+        "\u0000\u5271\u5272\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u5273\u0000"+
+        "\u0000\u0000\u5274\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u5276\u5277\u5278\u0000\u5275\u0000\u0000"+
+        "\u0000\u5279\u527A\u527B\u527C\u527D\u527E\u0000"+
+        "\u0000\u5321\u0000\u5322\u0000\u0000\u0000\u5323"+
+        "\u0000\u5324\u0000\u0000\u0000\u5325\u5326\u0000"+
+        "\u5327\u0000\u5328\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u5329\u0000\u0000\u532A\u532B\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u532C\u532D"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u532E"+
+        "\u0000\u0000\u0000\u0000\u532F\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u5330\u0000"+
+        "\u5331\u0000\u0000\u0000\u0000\u0000\u5332\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u5333\u0000\u0000\u0000\u0000\u0000\u5334\u5335"+
+        "\u0000\u0000\u5336\u5337\u5338\u0000\u0000\u5339"+
+        "\u0000\u0000\u0000\u0000\u533A\u0000\u0000\u533B"+
+        "\u533C\u533D\u0000\u0000\u0000\u533E\u0000\u533F"+
+        "\u0000\u0000\u0000\u5340\u5341\u5342\u0000\u5343"+
+        "\u0000\u5344\u5345\u0000\u0000\u5346\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u5347\u0000"+
+        "\u0000\u5348\u0000\u5349\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u534A\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u534B\u0000\u0000\u0000\u534C"+
+        "\u534D\u534E\u0000\u0000\u0000\u0000\u0000\u534F"+
+        "\u0000\u5350\u5351\u5352\u0000\u0000\u5353\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u5354\u5355\u0000"+
+        "\u0000\u0000\u0000\u5356\u0000\u0000\u5357\u0000"+
+        "\u0000\u0000\u5358\u0000\u0000\u5359\u0000\u0000"+
+        "\u0000\u535A\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u535B\u535C\u535D\u0000"+
+        "\u535E\u535F\u0000\u0000\u0000\u0000\u0000\u5360"+
+        "\u5361\u0000\u0000\u0000\u0000\u5362\u0000\u0000"+
+        "\u0000\u5363\u0000\u5364\u0000\u0000\u0000\u5365"+
+        "\u0000\u5366\u5367\u0000\u5368\u5369\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u536A\u0000\u536B"+
+        "\u0000\u0000\u536C\u0000\u0000\u0000\u0000\u0000"+
+        "\u536D\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u536E\u0000\u536F\u5370\u0000\u0000\u0000\u5371"+
+        "\u0000\u5372\u5373\u5374\u0000\u5375\u5376\u0000"+
+        "\u5377\u0000\u0000\u5378\u5379\u537A\u0000\u0000"+
+        "\u0000\u537B\u0000\u0000\u0000\u0000\u537C\u537D"+
+        "\u0000\u0000\u0000\u0000\u0000\u537E\u5421\u0000"+
+        "\u745C\u0000\u0000\u0000\u0000\u0000\u5422\u5423"+
+        "\u0000\u0000\u5424\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u5425\u0000\u0000\u5426\u5427"+
+        "\u0000\u5428\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u5429\u542A\u542B\u542C\u542D\u0000"+
+        "\u0000\u0000\u0000\u0000\u542E\u542F\u5430\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u745D\u5431"+
+        "\u0000\u5432\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u5434\u0000\u0000\u5435\u5436\u0000"+
+        "\u0000\u0000\u5437\u5438\u0000\u5439\u0000\u0000"+
+        "\u0000\u543A\u0000\u0000\u0000\u543B\u543C\u0000"+
+        "\u0000\u543D\u543E\u0000\u0000\u0000\u0000\u0000"+
+        "\u5433\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u543F\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u5440\u5441\u0000\u0000\u0000\u5442\u0000\u5443"+
+        "\u0000\u0000\u0000\u0000\u5444\u5445\u0000\u0000"+
+        "\u5446\u0000\u0000\u0000\u0000\u0000\u0000\u5447"+
+        "\u5448\u0000\u0000\u0000\u5449\u544A\u0000\u544B"+
+        "\u0000\u0000\u0000\u544C\u0000\u0000\u544D\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u544E"+
+        "\u0000\u0000\u0000\u0000\u544F\u5450\u0000\u5451"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u5452\u0000"+
+        "\u5453\u0000\u5454\u0000\u0000\u0000\u0000\u0000"+
+        "\u5455\u0000\u0000\u0000\u0000\u0000\u0000\u5456"+
+        "\u0000\u5457\u5458\u0000\u0000\u5459\u0000\u0000"+
+        "\u0000\u0000\u0000\u545A\u0000\u0000\u545B\u545C"+
+        "\u0000\u0000\u0000\u545D\u0000\u0000\u0000\u0000"+
+        "\u545E\u0000\u0000\u0000\u0000\u0000\u545F\u0000"+
+        "\u0000\u5460\u0000\u0000\u0000\u0000\u5461\u5462"+
+        "\u0000\u0000\u5463\u0000\u0000\u5464\u0000\u0000"+
+        "\u0000\u5465\u0000\u0000\u0000\u5466\u0000\u0000"+
+        "\u5467\u0000\u5468\u0000\u0000\u5469\u546A\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u546C\u546B\u546D\u546E\u546F"+
+        "\u0000\u0000\u0000\u5470\u5471\u0000\u0000\u5472"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5473"+
+        "\u0000\u0000\u5474\u5475\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u5476\u5477\u5478\u0000\u0000"+
+        "\u0000\u5479\u0000\u547A\u547B\u547C\u547D\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u547E\u0000\u0000"+
+        "\u0000\u5521\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u5522\u5523\u5524"+
+        "\u5525\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u5526\u0000\u5527\u0000\u5528"+
+        "\u5529\u552A\u0000\u0000\u0000\u0000\u552B\u552C"+
+        "\u0000\u0000\u0000\u0000\u552D\u0000\u0000\u0000"+
+        "\u0000\u552E\u552F\u0000\u0000\u0000\u5530\u0000"+
+        "\u0000\u0000\u5531\u0000\u0000\u5532\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u5533\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u5534\u0000\u0000\u5535"+
+        "\u5536\u0000\u0000\u5537\u0000\u0000\u0000\u0000"+
+        "\u5538\u0000\u0000\u0000\u0000\u0000\u5539\u553A"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u553B\u0000\u0000\u0000\u553C"+
+        "\u0000\u0000\u0000\u553D\u0000\u553E\u0000\u0000"+
+        "\u553F\u0000\u0000\u0000\u5540\u0000\u5541\u5542"+
+        "\u0000\u0000\u5543\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u5544\u0000\u0000\u5545\u5546\u5547"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5548"+
+        "\u5549\u0000\u554A\u0000\u0000\u554B\u554C\u554D"+
+        "\u0000\u554E\u0000\u554F\u5550\u0000\u5551\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u5552\u5553\u5554"+
+        "\u5555\u0000\u0000\u0000\u5556\u0000\u5557\u0000"+
+        "\u0000\u0000\u0000\u0000\u5558\u0000\u5559\u0000"+
+        "\u555A\u0000\u0000\u0000\u555B\u555C\u0000\u555D"+
+        "\u0000\u555E\u555F\u0000\u5560\u0000\u5561\u0000"+
+        "\u5562\u0000\u0000\u0000\u5563\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u5564\u0000\u0000\u0000\u5565\u0000\u5566\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u5567\u0000\u0000"+
+        "\u0000\u5568\u0000\u0000\u0000\u5569\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u556A\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u556B\u0000\u0000\u0000\u0000\u0000\u556C\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u556D\u0000\u556E\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u556F\u5570"+
+        "\u0000\u0000\u0000\u5571\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u5572\u5573\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u5574\u0000\u0000\u0000\u0000\u5575\u0000\u5576"+
+        "\u0000\u0000\u5577\u0000\u5578\u5579\u0000\u557A"+
+        "\u557B\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u557C\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u557D\u557E\u0000"+
+        "\u5621\u0000\u5622\u5623\u0000\u0000\u5624\u0000"+
+        "\u0000\u5625\u5626\u0000\u0000\u0000\u5627\u0000"+
+        "\u0000\u0000\u0000\u5628\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u5629\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u562A\u562B"+
+        "\u562C\u0000\u0000\u0000\u562D\u0000\u562E\u0000"+
+        "\u562F\u0000\u0000\u0000\u5630\u0000\u0000\u5631"+
+        "\u0000\u0000\u0000\u0000\u5632\u0000\u0000\u0000"+
+        "\u5633\u0000\u0000\u0000\u0000\u5634\u0000\u0000"+
+        "\u0000\u0000\u5635\u0000\u5636\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u5637\u0000\u5638"+
+        "\u0000\u0000\u5639\u0000\u563A\u0000\u0000\u0000"+
+        "\u0000\u0000\u563B\u0000\u0000\u0000\u0000\u563C"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u563D\u563E\u0000\u0000\u0000\u0000\u0000\u563F"+
+        "\u5640\u5641\u0000\u0000\u0000\u5642\u0000\u5643"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5644"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u5645\u0000\u0000\u5647\u5648\u5649\u0000"+
+        "\u0000\u0000\u0000\u564A\u0000\u0000\u564B\u0000"+
+        "\u5646\u0000\u0000\u0000\u0000\u0000\u564C\u0000"+
+        "\u564D\u0000\u0000\u564E\u0000\u0000\u564F\u0000"+
+        "\u0000\u0000\u5650\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u5651\u0000"+
+        "\u0000\u0000\u5652\u0000\u5653\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u5654\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u5656\u0000\u5657\u0000\u0000"+
+        "\u0000\u0000\u5658\u5655\u0000\u0000\u5659\u565A"+
+        "\u0000\u0000\u0000\u0000\u0000\u565B\u0000\u565C"+
+        "\u0000\u0000\u0000\u565D\u0000\u565E\u565F\u0000"+
+        "\u0000\u5660\u0000\u0000\u5661\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u5662\u5663\u0000\u0000\u0000"+
+        "\u5664\u5665\u5666\u0000\u0000\u5667\u5668\u0000"+
+        "\u5669\u566A\u0000\u0000\u0000\u566B\u0000\u566C"+
+        "\u566D\u0000\u0000\u566E\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u566F"+
+        "\u0000\u0000\u0000\u5670\u5671\u0000\u0000\u0000"+
+        "\u0000\u5672\u5673\u0000\u0000\u5674\u0000\u0000"+
+        "\u0000\u5675\u5676\u0000\u0000\u0000\u0000\u0000"+
+        "\u5677\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u5678\u0000\u5679\u0000\u0000\u0000"+
+        "\u0000\u0000\u567A\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u567B\u567C\u567D\u567E\u0000"+
+        "\u0000\u0000\u0000\u5721\u0000\u0000\u5722\u5723"+
+        "\u0000\u5724\u0000\u0000\u0000\u0000\u5725\u0000"+
+        "\u0000\u0000\u0000\u0000\u5726\u0000\u0000\u0000"+
+        "\u5727\u0000\u0000\u5728\u0000\u0000\u0000\u5729"+
+        "\u0000\u0000\u0000\u0000\u0000\u572A\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u572B\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u572C\u0000\u572D\u0000\u572E"+
+        "\u572F\u5730\u0000\u5731\u5732\u0000\u0000\u5733"+
+        "\u0000\u5734\u5735\u0000\u0000\u0000\u5736\u0000"+
+        "\u0000\u5737\u0000\u0000\u5738\u0000\u5739\u0000"+
+        "\u573A\u0000\u573B\u573C\u0000\u0000\u0000\u0000"+
+        "\u573D\u573E\u0000\u573F\u5740\u0000\u0000\u5741"+
+        "\u5742\u5743\u5744\u0000\u0000\u0000\u5745\u0000"+
+        "\u5746\u0000\u5747\u0000\u5748\u0000\u0000\u5749"+
+        "\u0000\u0000\u574A\u0000\u574B\u0000\u574C\u574D"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u574E\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u574F\u0000\u0000\u0000\u0000\u5750\u0000\u0000"+
+        "\u0000\u0000\u5751\u0000\u0000\u0000\u0000\u0000"+
+        "\u5752\u0000\u5753\u0000\u5754\u0000\u0000\u0000"+
+        "\u5755\u0000\u5756\u0000\u0000\u5757\u0000\u5758"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u5759\u575A"+
+        "\u0000\u0000\u0000\u0000\u0000\u575B\u575C\u0000"+
+        "\u575D\u575E\u0000\u0000\u0000\u0000\u0000\u575F"+
+        "\u5760\u0000\u5761\u5762\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u5764\u0000\u5765\u5766\u5767"+
+        "\u0000\u5768\u5769\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u576A\u576B\u576C\u0000"+
+        "\u576D\u0000\u0000\u576E\u0000\u0000\u0000\u576F"+
+        "\u0000\u0000\u5770\u0000\u5771\u5772\u0000\u0000"+
+        "\u0000\u0000\u5773\u5774\u5775\u0000\u0000\u5776"+
+        "\u0000\u0000\u0000\u0000\u0000\u5777\u5778\u0000"+
+        "\u0000\u5779\u0000\u583E\u5763\u577A\u577B\u577C"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u745F\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u577D\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u577E\u0000\u0000\u0000\u0000\u5821\u0000\u5822"+
+        "\u5823\u0000\u5824\u0000\u5825\u0000\u5826\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u5827\u0000\u0000"+
+        "\u0000\u0000\u5828\u0000\u5829\u582A\u0000\u0000"+
+        "\u582B\u582C\u0000\u582D\u582E\u582F\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u5830\u5831"+
+        "\u0000\u5832\u0000\u0000\u5833\u584C\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u5834\u5835"+
+        "\u5836\u0000\u0000\u0000\u0000\u0000\u0000\u5837"+
+        "\u0000\u5838\u0000\u0000\u0000\u0000\u0000\u5839"+
+        "\u583A\u583B\u0000\u0000\u583C\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u583D\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u583F\u0000\u5840\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u5841\u0000"+
+        "\u5842\u5843\u0000\u0000\u5844\u0000\u0000\u0000"+
+        "\u0000\u5845\u0000\u0000\u0000\u0000\u5846\u0000"+
+        "\u0000\u0000\u5847\u0000\u0000\u0000\u0000\u5848"+
+        "\u0000\u5849\u0000\u0000\u0000\u584A\u0000\u0000"+
+        "\u0000\u584B\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u584D"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u584E\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u584F\u0000\u5850"+
+        "\u5851\u0000\u5852\u0000\u0000\u5853\u0000\u5854"+
+        "\u0000\u5855\u5856\u0000\u0000\u0000\u5857\u0000"+
+        "\u5858\u5859\u585A\u0000\u585B\u0000\u0000\u0000"+
+        "\u585C\u0000\u0000\u0000\u585D\u585E\u0000\u585F"+
+        "\u0000\u0000\u5860\u0000\u0000\u0000\u0000\u0000"+
+        "\u5861\u0000\u0000\u5862\u5863\u0000\u5864\u0000"+
+        "\u5865\u0000\u0000\u0000\u5866\u5867\u0000\u0000"+
+        "\u0000\u5868\u0000\u0000\u0000\u5869\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u586A\u586B\u0000\u586C\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u586D\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u586E\u0000"+
+        "\u586F\u5870\u5871\u0000\u0000\u0000\u0000\u5872"+
+        "\u0000\u5873\u0000\u0000\u5874\u0000\u0000\u0000"+
+        "\u0000\u0000\u5875\u0000\u0000\u5876\u5877\u0000"+
+        "\u5878\u0000\u5879\u0000\u0000\u0000\u0000\u587A"+
+        "\u587B\u0000\u0000\u0000\u587C\u0000\u0000\u587D"+
+        "\u0000\u0000\u0000\u587E\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u5921\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5922"+
+        "\u0000\u0000\u5923\u0000\u0000\u0000\u0000\u5924"+
+        "\u5925\u5926\u5927\u0000\u0000\u0000\u0000\u5928"+
+        "\u0000\u0000\u592A\u592B\u0000\u592C\u0000\u0000"+
+        "\u0000\u0000\u592D\u592E\u0000\u0000\u0000\u592F"+
+        "\u0000\u0000\u0000\u0000\u5930\u0000\u5931\u0000"+
+        "\u5932\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u5933\u0000\u5934\u0000"+
+        "\u0000\u0000\u5935\u5936\u5937\u5938\u0000\u5939"+
+        "\u0000\u0000\u593A\u593B\u0000\u0000\u0000\u593C"+
+        "\u0000\u0000\u5929\u593D\u593E\u0000\u593F\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5940"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u5941\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5942"+
+        "\u5943\u5944\u5945\u5946\u0000\u0000\u5947\u0000"+
+        "\u0000\u5948\u0000\u0000\u5949\u594A\u594B\u594C"+
+        "\u594D\u594E\u594F\u0000\u5950\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u5951\u0000\u0000\u0000\u5952"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u5953\u5954\u5955\u0000\u5956\u0000\u5957"+
+        "\u0000\u5958\u0000\u0000\u0000\u5959\u595A\u0000"+
+        "\u0000\u595B\u0000\u595C\u595D\u0000\u0000\u595E"+
+        "\u0000\u0000\u0000\u595F\u0000\u0000\u0000\u0000"+
+        "\u5960\u0000\u0000\u0000\u0000\u5961\u0000\u5962"+
+        "\u5963\u0000\u5964\u0000\u0000\u5965\u0000\u5966"+
+        "\u0000\u0000\u0000\u0000\u0000\u5974\u0000\u0000"+
+        "\u7461\u0000\u0000\u0000\u5967\u0000\u5968\u5969"+
+        "\u596A\u0000\u0000\u0000\u596B\u596C\u596D\u596E"+
+        "\u0000\u0000\u596F\u0000\u0000\u0000\u0000\u5970"+
+        "\u0000\u0000\u5971\u5972\u0000\u0000\u5973\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u5975\u0000\u5976\u0000\u0000\u0000\u0000\u5977"+
+        "\u5978\u0000\u0000\u0000\u0000\u0000\u5979\u0000"+
+        "\u597A\u0000\u0000\u0000\u0000\u597B\u0000\u0000"+
+        "\u0000\u0000\u0000\u597C\u0000\u0000\u597D\u0000"+
+        "\u0000\u0000\u0000\u0000\u597E\u0000\u0000\u5A21"+
+        "\u5A22\u0000\u0000\u0000\u5A23\u5A24\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u5A25\u5A26\u0000"+
+        "\u5A27\u5A28\u5A29\u0000\u0000\u0000\u0000\u0000"+
+        "\u5A2A\u5A2B\u0000\u5A2C\u0000\u0000\u5A2D\u0000"+
+        "\u0000\u5A2E\u0000\u0000\u0000\u0000\u0000\u5A2F"+
+        "\u0000\u5A30\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u5A31\u0000"+
+        "\u5A32\u0000\u5A33\u0000\u5A34\u5A35\u0000\u0000"+
+        "\u5A36\u3866\u5A37\u0000\u0000\u0000\u5A38\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u5A39\u5A3A\u0000\u0000\u5A3B\u5A3C"+
+        "\u5A3D\u5A3E\u0000\u0000\u0000\u5A3F\u0000\u0000"+
+        "\u5A40\u5A41\u5A42\u5A43\u5A44\u0000\u0000\u0000"+
+        "\u0000\u5A45\u0000\u0000\u5A46\u0000\u0000\u5A47"+
+        "\u0000\u0000\u0000\u0000\u0000\u5A48\u5A49\u5A4A"+
+        "\u0000\u0000\u5A4B\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u5A6D\u0000\u0000\u0000\u0000\u5A4C\u0000\u0000"+
+        "\u0000\u5A4D\u0000\u0000\u0000\u0000\u5A4E\u0000"+
+        "\u5A4F\u0000\u5A50\u0000\u5A51\u0000\u0000\u0000"+
+        "\u0000\u5A52\u0000\u0000\u0000\u0000\u5A53\u5A54"+
+        "\u5A55\u0000\u0000\u0000\u0000\u5A56\u0000\u0000"+
+        "\u0000\u5A57\u0000\u5A58\u5A59\u5A5A\u0000\u5A5B"+
+        "\u5A5C\u5A5D\u0000\u0000\u0000\u0000\u0000\u5A5E"+
+        "\u5A5F\u5A60\u0000\u5A61\u0000\u5A62\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u5A63\u5A64\u0000\u0000\u5A65\u0000\u5A66"+
+        "\u0000\u0000\u5A67\u0000\u5A68\u0000\u0000\u0000"+
+        "\u5A69\u0000\u0000\u5A6A\u0000\u5A6B\u0000\u5A6C"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u5A6E\u0000\u5A6F\u5A70\u0000\u0000";
+
+    private final static String innerIndex4=
+        "\u0000\u0000\u0000\u0000\u5A71\u5A72\u0000\u5A73"+
+        "\u0000\u0000\u0000\u5A74\u0000\u0000\u5A75\u5A76"+
+        "\u5A77\u0000\u0000\u5A78\u5A79\u0000\u0000\u0000"+
+        "\u0000\u5A7A\u0000\u0000\u0000\u0000\u5A7B\u5A7C"+
+        "\u0000\u5A7D\u0000\u5A7E\u0000\u0000\u0000\u0000"+
+        "\u5B21\u0000\u0000\u0000\u0000\u0000\u5B22\u5B23"+
+        "\u0000\u5B24\u5B25\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u5B26\u5B27\u0000\u5B28\u5B29\u5B2A\u0000"+
+        "\u5B2B\u0000\u0000\u5B2C\u0000\u5B2D\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u5B2E\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u5B2F\u0000\u0000\u0000\u0000\u5B30\u0000\u0000"+
+        "\u0000\u5B31\u0000\u0000\u5B32\u5B33\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5B34"+
+        "\u0000\u5B35\u5B36\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u5B37\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u5B38\u5B39\u5B3A\u5B3B\u5B3C"+
+        "\u5B3D\u5B3E\u0000\u5B3F\u5B40\u0000\u0000\u0000"+
+        "\u5B41\u0000\u0000\u5B42\u0000\u5B43\u0000\u5B44"+
+        "\u5B45\u5B46\u0000\u0000\u0000\u0000\u5B47\u0000"+
+        "\u5B48\u0000\u0000\u5B49\u0000\u0000\u0000\u5B4A"+
+        "\u0000\u0000\u0000\u0000\u5B4B\u5B4C\u5B4D\u0000"+
+        "\u0000\u5B4E\u0000\u0000\u0000\u5B4F\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u5B50\u5B51"+
+        "\u0000\u5B52\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u5B53\u5B54\u5B55\u0000\u0000\u0000\u5B56\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u5B57\u5B58\u0000"+
+        "\u0000\u5B59\u5B5A\u0000\u5B5B\u0000\u0000\u5B5C"+
+        "\u0000\u0000\u5B5D\u5B5E\u5B5F\u0000\u0000\u0000"+
+        "\u0000\u0000\u5B60\u5B61\u0000\u5B62\u0000\u0000"+
+        "\u0000\u5B63\u0000\u5B64\u0000\u0000\u0000\u0000"+
+        "\u5B65\u0000\u5B66\u0000\u0000\u0000\u0000\u5B67"+
+        "\u0000\u5B68\u0000\u5B69\u0000\u0000\u5B6A\u7464"+
+        "\u0000\u5B6B\u5B6C\u5B6D\u0000\u0000\u0000\u0000"+
+        "\u5B6E\u0000\u5B70\u5B71\u5B72\u0000\u0000\u0000"+
+        "\u5B73\u5B6F\u5B74\u5B75\u5B76\u0000\u5B77\u5B78"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u5B79\u0000\u0000\u0000\u0000\u5B7A\u5B7B\u0000"+
+        "\u5B7C\u0000\u5B7D\u0000\u0000\u5B7E\u0000\u0000"+
+        "\u0000\u0000\u5C21\u0000\u5C22\u0000\u0000\u0000"+
+        "\u0000\u5C23\u0000\u5C24\u0000\u5C25\u0000\u0000"+
+        "\u5C26\u5C27\u5C28\u5C29\u0000\u0000\u5C2A\u0000"+
+        "\u0000\u5C2B\u0000\u0000\u0000\u5C2C\u5C2D\u0000"+
+        "\u5C2E\u0000\u5C2F\u0000\u5C30\u0000\u0000\u5C31"+
+        "\u5C32\u0000\u0000\u0000\u5C33\u0000\u0000\u0000"+
+        "\u0000\u5C34\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u5C35\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u5C36\u0000\u5C37\u0000\u0000\u0000\u0000"+
+        "\u5C38\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u5C39\u0000\u5C3A\u5C3B\u5C3C\u0000\u0000\u5C3D"+
+        "\u5C3E\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u5C3F\u0000\u5C40\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u5C41\u0000\u0000\u5C42\u5C43\u0000"+
+        "\u5C44\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u5C45\u5C46\u5C47\u5C48\u5C49\u0000"+
+        "\u0000\u5C4A\u5C4B\u5C4C\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u5C4D\u0000\u0000\u5C4E\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5C4F"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5C50"+
+        "\u5C51\u5C52\u0000\u0000\u0000\u5C53\u0000\u5C54"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u5C55\u0000\u0000\u0000\u0000\u5C56\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u5C57\u5C58\u5C59"+
+        "\u0000\u0000\u0000\u0000\u0000\u5C5A\u5C5B\u0000"+
+        "\u5C5C\u5C5D\u5C5E\u0000\u5C5F\u0000\u0000\u0000"+
+        "\u5C60\u0000\u0000\u0000\u0000\u0000\u5C61\u5C62"+
+        "\u5C63\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u5C64\u5C65\u5C66\u0000\u0000\u5C67\u0000\u0000"+
+        "\u0000\u5C68\u5C69\u0000\u0000\u0000\u5C6A\u0000"+
+        "\u5C6B\u0000\u5C6C\u0000\u0000\u5C6D\u5C6E\u0000"+
+        "\u0000\u5C6F\u0000\u0000\u0000\u0000\u0000\u5C70"+
+        "\u0000\u0000\u5C71\u0000\u0000\u0000\u0000\u5C72"+
+        "\u0000\u0000\u5C73\u5C74\u5C75\u0000\u0000\u0000"+
+        "\u0000\u5C76\u5C77\u5C78\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u5C79\u0000\u0000\u5C7A\u0000"+
+        "\u5C7B\u0000\u0000\u5C7C\u0000\u5C7D\u0000\u0000"+
+        "\u0000\u0000\u5C7E\u5D21\u5D22\u5D23\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u5D24\u0000\u0000\u0000\u5D25\u0000\u0000"+
+        "\u5D26\u0000\u0000\u0000\u5D27\u5D28\u0000\u0000"+
+        "\u0000\u0000\u0000\u5D29\u5D2A\u0000\u0000\u5D2B"+
+        "\u5D2C\u0000\u0000\u0000\u0000\u5D2D\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u5D2E\u0000\u0000\u0000\u5D2F\u5D30\u5D31\u5D32"+
+        "\u0000\u0000\u0000\u0000\u5D33\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u5D34\u5D35\u5D36\u5D37"+
+        "\u5D38\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u5D39\u0000\u0000"+
+        "\u0000\u5D3A\u0000\u5D3B\u0000\u5D3C\u0000\u0000"+
+        "\u0000\u5D3D\u0000\u5D3E\u0000\u0000\u5D3F\u0000"+
+        "\u0000\u5D40\u0000\u0000\u0000\u5D41\u0000\u5D42"+
+        "\u0000\u0000\u0000\u0000\u5D43\u5D44\u0000\u5D45"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5D46"+
+        "\u0000\u5D47\u5D48\u0000\u5D49\u5D4A\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u5D4B\u0000"+
+        "\u5D4C\u0000\u5D4D\u0000\u5D4E\u0000\u5D4F\u0000"+
+        "\u0000\u0000\u0000\u5D50\u5D51\u0000\u0000\u5D52"+
+        "\u0000\u0000\u0000\u0000\u0000\u5D53\u0000\u5D54"+
+        "\u0000\u0000\u0000\u0000\u0000\u5D55\u5D56\u0000"+
+        "\u5D57\u0000\u0000\u5D58\u0000\u5D59\u0000\u5D5A"+
+        "\u0000\u5D5B\u0000\u0000\u0000\u5D5C\u5D5D\u0000"+
+        "\u0000\u0000\u0000\u5D5E\u0000\u0000\u5D5F\u5D60"+
+        "\u5D61\u0000\u0000\u0000\u5D62\u5D63\u0000\u0000"+
+        "\u0000\u5D64\u0000\u0000\u0000\u5D65\u0000\u5D66"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u5D67\u5D68\u5D69"+
+        "\u0000\u5D6A\u5D6B\u5D6C\u0000\u0000\u5D6D\u5D6E"+
+        "\u5D6F\u0000\u0000\u5D70\u0000\u0000\u5D71\u0000"+
+        "\u0000\u0000\u0000\u5D72\u0000\u0000\u0000\u5D73"+
+        "\u5D74\u0000\u5D75\u0000\u0000\u0000\u5D76\u5D77"+
+        "\u0000\u5D78\u0000\u0000\u0000\u0000\u0000\u5D79"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5D7A"+
+        "\u0000\u5D7B\u0000\u0000\u0000\u0000\u5D7C\u5D7D"+
+        "\u0000\u0000\u0000\u5D7E\u0000\u0000\u5E21\u5E22"+
+        "\u0000\u0000\u0000\u5E23\u0000\u0000\u5E24\u0000"+
+        "\u0000\u0000\u0000\u5E25\u0000\u0000\u5E26\u0000"+
+        "\u5E27\u5E28\u5E29\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u5E2A\u0000\u5E2B\u5E2C\u5E2D\u0000\u5E2E"+
+        "\u0000\u0000\u0000\u0000\u0000\u5E2F\u0000\u5E30"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u5E31\u0000\u0000\u0000"+
+        "\u5E32\u0000\u0000\u0000\u5E33\u5E34\u5E35\u0000"+
+        "\u0000\u0000\u0000\u0000\u5E36\u0000\u0000\u5E37"+
+        "\u0000\u0000\u0000\u0000\u0000\u5E38\u5E39\u0000"+
+        "\u0000\u0000\u5E3F\u5E3A\u0000\u0000\u0000\u0000"+
+        "\u0000\u5E3B\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u5E3C\u0000\u5E3D\u5E3E"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u5E40\u0000\u0000"+
+        "\u5E41\u0000\u0000\u0000\u0000\u0000\u0000\u5E42"+
+        "\u0000\u0000\u0000\u0000\u5E43\u0000\u0000\u0000"+
+        "\u0000\u0000\u5E44\u5E45\u5E46\u5E47\u5E48\u0000"+
+        "\u5E49\u0000\u0000\u0000\u0000\u5E4E\u0000\u0000"+
+        "\u0000\u0000\u5E4A\u5E4B\u5E4C\u0000\u0000\u0000"+
+        "\u0000\u5E4D\u0000\u0000\u0000\u0000\u5E4F\u0000"+
+        "\u0000\u0000\u0000\u5E50\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u5E51\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u5E52\u0000"+
+        "\u5E53\u5E54\u0000\u0000\u5E55\u0000\u5E56\u7466"+
+        "\u0000\u5E57\u0000\u0000\u5E58\u5E59\u0000\u0000"+
+        "\u0000\u0000\u0000\u5E5A\u0000\u5E5B\u0000\u5E5C"+
+        "\u0000\u0000\u0000\u0000\u5E5D\u5E5E\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u5E5F\u0000\u5E60\u5E61"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u5E62\u5E63\u0000\u0000\u0000\u5E64\u5E65\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u5E66\u0000\u5E67"+
+        "\u0000\u5E68\u0000\u5E69\u0000\u0000\u0000\u5E6A"+
+        "\u0000\u5E6B\u0000\u5E6C\u5E6D\u0000\u0000\u5E6E"+
+        "\u5E6F\u5E72\u0000\u5E70\u0000\u5E71\u0000\u0000"+
+        "\u0000\u0000\u0000\u5E73\u5E74\u0000\u5E75\u0000"+
+        "\u5E76\u5E77\u0000\u0000\u0000\u5E78\u0000\u0000"+
+        "\u0000\u0000\u0000\u5E79\u0000\u5E7A\u5E7B\u0000"+
+        "\u0000\u0000\u0000\u5E7C\u0000\u0000\u5E7D\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u5E7E\u5F21"+
+        "\u0000\u0000\u0000\u5F22\u0000\u0000\u0000\u0000"+
+        "\u5F23\u0000\u5F24\u5F25\u0000\u0000\u0000\u0000"+
+        "\u0000\u5F26\u0000\u5F27\u5F28\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u5F29\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u5F2A\u5F2B\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u5F2C\u5F2D\u0000"+
+        "\u0000\u5F2E\u0000\u5F2F\u0000\u0000\u0000\u5F30"+
+        "\u0000\u0000\u0000\u0000\u0000\u5F32\u5F31\u0000"+
+        "\u0000\u5F33\u0000\u0000\u0000\u5F34\u0000\u0000"+
+        "\u0000\u5F35\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u5F36\u0000\u0000\u0000\u5F37\u0000\u0000\u5F38"+
+        "\u5F39\u0000\u5F3A\u0000\u7467\u5F3B\u0000\u5F3C"+
+        "\u5F3D\u0000\u0000\u0000\u0000\u0000\u5F3E\u5F3F"+
+        "\u0000\u5F40\u0000\u5F41\u0000\u0000\u0000\u0000"+
+        "\u0000\u5F42\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u5F43\u0000\u0000\u0000\u0000\u5F44"+
+        "\u0000\u0000\u0000\u5F45\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u5F46\u0000\u0000"+
+        "\u0000\u5F47\u0000\u0000\u5F48\u0000\u5F49\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u7468\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u5F4A"+
+        "\u0000\u0000\u5F4B\u0000\u5F4C\u0000\u0000\u0000"+
+        "\u5F4D\u0000\u0000\u0000\u0000\u5F4E\u0000\u0000"+
+        "\u5F4F\u5F50\u0000\u0000\u0000\u5F51\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u5F52\u5F53"+
+        "\u5F54\u0000\u0000\u0000\u0000\u0000\u5F55\u0000"+
+        "\u0000\u0000\u0000\u5F56\u5F57\u0000\u0000\u5F58"+
+        "\u0000\u0000\u5F59\u0000\u0000\u5F5A\u0000\u5F5B"+
+        "\u0000\u5F5C\u0000\u5F5D\u5F6F\u0000\u0000\u0000"+
+        "\u5F5E\u0000\u0000\u0000\u0000\u5F5F\u5F60\u5F61"+
+        "\u5F62\u0000\u5F63\u0000\u0000\u0000\u5F64\u0000"+
+        "\u0000\u5F65\u0000\u0000\u5F66\u5F67\u0000\u5F68"+
+        "\u0000\u5F69\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u5F6A\u5F6B\u0000\u5F6C"+
+        "\u0000\u0000\u0000\u0000\u5F6D\u0000\u0000\u0000"+
+        "\u5F6E\u5F70\u5F71\u0000\u5F72\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u5F73\u0000\u0000"+
+        "\u0000\u5F74\u0000\u0000\u5F75\u5F76\u5F77\u0000"+
+        "\u0000\u0000\u0000\u5F78\u0000\u0000\u0000\u0000"+
+        "\u0000\u5F79\u0000\u0000\u5F7A\u0000\u5F7B\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u5F7C\u5F7D\u5F7E\u6021\u0000\u0000\u6022\u6023"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u6024\u0000\u6025\u0000\u0000\u6026\u6027"+
+        "\u6028\u6029\u0000\u0000\u0000\u602A\u0000\u0000"+
+        "\u602B\u602C\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u602D\u0000\u602E\u602F\u6030"+
+        "\u0000\u0000\u0000\u0000\u6031\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u6032\u6033\u6034\u6035\u0000"+
+        "\u0000\u6036\u6037\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u6038\u0000\u0000\u6039\u603A\u0000\u603B"+
+        "\u603C\u603D\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u603E\u603F\u6040\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u6041\u6042\u0000\u0000\u0000\u0000"+
+        "\u0000\u6043\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u6044\u0000\u6045\u0000\u0000\u6046\u0000\u0000"+
+        "\u0000\u0000\u6047\u6048\u0000\u6049\u604A\u0000"+
+        "\u0000\u0000\u604B\u0000\u0000\u0000\u0000\u604C"+
+        "\u0000\u604D\u0000\u0000\u0000\u604E\u604F\u0000"+
+        "\u0000\u0000\u0000\u6050\u0000\u6051\u0000\u0000"+
+        "\u0000\u0000\u6052\u6053\u0000\u0000\u0000\u0000"+
+        "\u6054\u6055\u0000\u6056\u6057\u0000\u0000\u6058"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6059"+
+        "\u0000\u605A\u0000\u0000\u605B\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u605C\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u605D\u0000\u0000\u0000\u0000\u6064\u605E\u0000"+
+        "\u605F\u6060\u0000\u0000\u0000\u0000\u0000\u6061"+
+        "\u0000\u6062\u6063\u0000\u0000\u0000\u0000\u0000"+
+        "\u6065\u0000\u6066\u0000\u0000\u0000\u0000\u6067"+
+        "\u6068\u0000\u0000\u0000\u0000\u0000\u0000\u6069"+
+        "\u606A\u0000\u0000\u0000\u0000\u0000\u606B\u606C"+
+        "\u606D\u0000\u0000\u0000\u0000\u0000\u606E\u0000"+
+        "\u606F\u6070\u0000\u6071\u0000\u6072\u0000\u6073"+
+        "\u6074\u0000\u0000\u0000\u6075\u6076\u6077\u0000"+
+        "\u0000\u0000\u0000\u0000\u6078\u6079\u607A\u607B"+
+        "\u0000\u0000\u607C\u0000\u0000\u0000\u0000\u0000"+
+        "\u607D\u607E\u0000\u6121\u0000\u0000\u0000\u6122"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6123"+
+        "\u0000\u6124\u6125\u6126\u6127\u6128\u0000\u0000"+
+        "\u6129\u0000\u0000\u0000\u0000\u612A\u612B\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u612C\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u612D\u0000\u0000"+
+        "\u612E\u612F\u0000\u0000\u6130\u6131\u6132\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u6133\u6134\u0000"+
+        "\u6135\u0000\u0000\u0000\u0000\u0000\u6136\u0000"+
+        "\u6137\u6138\u0000\u0000\u0000\u0000\u6139\u0000"+
+        "\u0000\u0000\u613A\u613B\u0000\u613C\u0000\u0000"+
+        "\u613D\u0000\u613E\u613F\u0000\u6140\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u6141\u0000\u0000\u6142\u6143\u0000\u0000\u0000"+
+        "\u6144\u0000\u0000\u0000\u0000\u0000\u6145\u0000"+
+        "\u0000\u6146\u0000\u0000\u0000\u6147\u6148\u0000"+
+        "\u0000\u0000\u0000\u6149\u0000\u0000\u614A\u0000"+
+        "\u0000\u0000\u614B\u0000\u614C\u0000\u0000\u0000"+
+        "\u614D\u0000\u0000\u0000\u614E\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u614F\u0000\u0000\u6150\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u6151\u6152\u6154\u0000\u6155\u6156\u0000\u6153"+
+        "\u0000\u0000\u0000\u6157\u6158\u0000\u0000\u6159"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u615A"+
+        "\u0000\u0000\u0000\u615B\u615C\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u615D\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u615E\u0000\u615F\u0000\u0000"+
+        "\u0000\u0000\u6160\u0000\u0000\u0000\u6161\u6162"+
+        "\u0000\u0000\u0000\u0000\u6163\u0000\u0000\u0000"+
+        "\u6164\u0000\u0000\u0000\u6165\u0000\u0000\u0000"+
+        "\u0000\u6166\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u6167\u0000\u0000"+
+        "\u6168\u0000\u0000\u6169\u616A\u0000\u616B\u0000"+
+        "\u616C\u0000\u0000\u0000\u0000\u616D\u0000\u616E"+
+        "\u616F\u6170\u0000\u6171\u0000\u0000\u0000\u0000"+
+        "\u6172\u6173\u6174\u0000\u0000\u6175\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u6176\u0000\u6177\u6178\u6179\u0000\u617A\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u617B\u617D\u0000"+
+        "\u0000\u0000\u0000\u617E\u6221\u6222\u0000\u6223"+
+        "\u6224\u0000\u0000\u0000\u617C\u0000\u0000\u0000"+
+        "\u0000\u0000\u622D\u0000\u0000\u6225\u0000\u6226"+
+        "\u6227\u6228\u0000\u0000\u6229\u622A\u746C\u622B"+
+        "\u0000\u0000\u0000\u0000\u0000\u622C\u0000\u0000"+
+        "\u0000\u0000\u0000\u622F\u0000\u0000\u0000\u6230"+
+        "\u6231\u0000\u0000\u0000\u6232\u0000\u622E\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u6233\u6234"+
+        "\u6235\u0000\u0000\u0000\u6236\u6237\u6238\u0000"+
+        "\u6239\u0000\u0000\u0000\u0000\u623A\u0000\u0000"+
+        "\u623B\u0000\u0000\u0000\u623C\u746E\u623D\u623E"+
+        "\u623F\u0000\u6240\u0000\u6241\u0000\u6242\u0000"+
+        "\u6243\u0000\u6245\u6246\u0000\u6244\u0000\u6247"+
+        "\u0000\u6248\u0000\u0000\u0000\u0000\u6249\u624A"+
+        "\u0000\u624B\u0000\u0000\u624C\u0000\u624D\u624E"+
+        "\u0000\u624F\u6250\u0000\u6251\u6252\u0000\u0000"+
+        "\u0000\u0000\u0000\u6253\u0000\u0000\u0000\u6254"+
+        "\u6255\u0000\u0000\u0000\u0000\u0000\u0000\u6256"+
+        "\u0000\u0000\u0000\u6257\u0000\u0000\u0000\u6258"+
+        "\u0000\u6259\u625A\u625B\u0000\u0000\u0000\u0000"+
+        "\u0000\u625C\u0000\u0000\u625D\u0000\u0000\u625E"+
+        "\u0000\u0000\u0000\u0000\u0000\u625F\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u6260\u0000\u0000\u0000"+
+        "\u0000\u6261\u6262\u6263\u0000\u0000\u0000\u0000"+
+        "\u0000\u6264\u0000\u6265\u0000\u6266\u6267\u0000"+
+        "\u0000\u0000\u6268\u0000\u0000\u0000\u6269\u0000"+
+        "\u0000\u626A\u0000\u626B\u626C\u626D\u0000\u0000"+
+        "\u626E\u0000\u0000\u0000\u0000\u0000\u626F\u0000"+
+        "\u0000\u6270\u0000\u0000\u0000\u0000\u6271\u0000"+
+        "\u6272\u0000\u0000\u0000\u6273\u6274\u6275\u0000"+
+        "\u6276\u6277\u6278\u6279\u0000\u0000\u627A\u0000"+
+        "\u0000\u0000\u0000\u627B\u627C\u627D\u0000\u627E"+
+        "\u0000\u0000\u6321\u6322\u0000\u6323\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u6324\u6325\u0000\u0000\u6326"+
+        "\u0000\u6327\u6328\u0000\u0000\u0000\u6329\u0000"+
+        "\u0000\u0000\u0000\u0000\u632A\u632B\u0000\u0000"+
+        "\u0000\u632C\u632D\u0000\u632E\u632F\u6330\u6331"+
+        "\u6332\u6333\u0000\u0000\u0000\u0000\u0000\u6334"+
+        "\u0000\u6335\u0000\u6336\u0000\u6337\u0000\u0000"+
+        "\u6338\u6339\u0000\u0000\u633A\u633B\u633C\u633D"+
+        "\u0000\u633E\u633F\u0000\u6340\u0000\u0000\u0000"+
+        "\u6341\u0000\u6342\u6343\u0000\u0000\u6344\u0000"+
+        "\u6345\u0000\u0000\u0000\u6346\u6347\u0000\u0000"+
+        "\u0000\u0000\u0000\u6348\u6349\u634A\u634B\u0000"+
+        "\u634C\u0000\u0000\u0000\u0000\u0000\u634D\u634E"+
+        "\u634F\u0000\u0000\u6350\u0000\u6351\u6352\u0000"+
+        "\u6353\u6354\u6355\u0000\u6356\u0000\u6357\u0000"+
+        "\u6358\u0000\u6359\u635A\u0000\u0000\u635B\u635C"+
+        "\u0000\u0000\u635D\u0000\u0000\u635E\u635F\u6360"+
+        "\u0000\u6361\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u6362\u6363\u0000\u0000\u6364\u6365\u0000\u0000"+
+        "\u6366\u6367\u0000\u0000\u0000\u6368\u0000\u6369"+
+        "\u636A\u636B\u0000\u0000\u0000\u0000\u636C\u636D"+
+        "\u636E\u0000\u0000\u0000\u0000\u636F\u6370\u6371"+
+        "\u6372\u6373\u0000\u6374\u6375\u6376\u0000\u6377"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u6378\u6379\u637A\u0000\u0000\u637B\u637C\u0000"+
+        "\u0000\u0000\u637D\u0000\u0000\u0000\u0000\u637E"+
+        "\u0000\u6421\u0000\u0000\u0000\u0000\u0000\u6422"+
+        "\u6423\u0000\u0000\u0000\u6424\u6425\u0000\u6426"+
+        "\u6427\u0000\u0000\u6428\u0000\u0000\u0000\u6429"+
+        "\u0000\u0000\u642A\u0000\u0000\u0000\u642B\u0000"+
+        "\u642C\u0000\u642D\u642E\u642F\u6430\u0000\u6431"+
+        "\u6432\u6433\u6434\u6435\u0000\u6436\u6437\u6438"+
+        "\u6439\u0000\u0000\u643A\u643B\u643C\u643D\u0000"+
+        "\u643E\u0000\u0000\u643F\u0000\u6440\u0000\u6441"+
+        "\u6442\u6443\u0000\u0000\u6444\u6445\u0000\u6446"+
+        "\u6447\u6448\u0000\u6449\u0000\u644A\u0000\u644B"+
+        "\u644C\u0000\u0000\u0000\u644D\u0000\u644E\u0000"+
+        "\u644F\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u6450\u0000\u6451\u0000\u0000\u0000\u6452"+
+        "\u6453\u0000\u6454\u0000\u0000\u0000\u0000\u0000"+
+        "\u6455\u0000\u0000\u0000\u0000\u6456\u0000\u0000"+
+        "\u0000\u6457\u0000\u0000\u6458\u6459\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u645A\u645B\u645C\u645D"+
+        "\u0000\u645E\u0000\u0000\u645F\u6460\u0000\u6461"+
+        "\u0000\u6462\u6463\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u6464\u6465\u0000\u6466\u6467"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6468"+
+        "\u6469\u646A\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u646B\u646C\u646D\u0000\u0000\u646E\u0000\u646F"+
+        "\u6470\u0000\u6471\u0000\u0000\u0000\u6472\u0000"+
+        "\u0000\u0000\u0000\u0000\u6473\u6474\u0000\u6475"+
+        "\u0000\u6476\u6477\u0000\u0000\u6478\u0000\u6479"+
+        "\u647A\u647B\u0000\u647C\u647D\u0000\u647E\u0000"+
+        "\u0000\u0000\u6521\u0000\u0000\u6522\u0000\u6523"+
+        "\u6524\u6525\u6526\u0000\u0000\u0000\u0000\u0000"+
+        "\u6527\u0000\u6528\u6529\u0000\u652A\u0000\u652B"+
+        "\u0000\u0000\u652C\u0000\u0000\u652D\u0000\u0000"+
+        "\u652E\u0000\u0000\u652F\u0000\u0000\u6530\u0000"+
+        "\u0000\u6531\u0000\u6532\u6533\u0000\u6534\u0000"+
+        "\u6535\u653B\u0000\u6536\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u6537\u6538\u6539\u0000"+
+        "\u0000\u0000\u653A\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u653C\u0000\u0000\u653D\u653E\u653F\u6540"+
+        "\u0000\u6541\u6542\u6543\u6544\u6545\u0000\u0000"+
+        "\u0000\u0000\u0000\u6546\u0000\u0000\u0000\u0000"+
+        "\u0000\u6547\u0000\u0000\u6548\u0000\u6549\u654A"+
+        "\u0000\u0000\u654B\u0000\u0000\u0000\u654C\u654D"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u654F"+
+        "\u6550\u654E\u6551\u6552\u0000\u6553\u0000\u0000"+
+        "\u0000\u6554\u6555\u0000\u6556\u0000\u0000\u0000"+
+        "\u6557\u6558\u0000\u0000\u0000\u6559\u655A\u655B"+
+        "\u0000\u0000\u0000\u0000\u0000\u655C\u655D\u655E"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u655F"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u6560\u6561"+
+        "\u0000\u6562\u6563\u6564\u6565\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u6566\u0000\u6568\u0000\u6567"+
+        "\u0000\u0000\u0000\u6569\u0000\u656A\u0000\u0000"+
+        "\u656B\u0000\u656C\u0000\u656D\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u656E\u0000\u0000"+
+        "\u0000\u656F\u0000\u0000\u6570\u0000\u0000\u6571"+
+        "\u0000\u6572\u0000\u6573\u0000\u0000\u0000\u0000"+
+        "\u6574\u0000\u0000\u6575\u0000\u6576\u6577\u6578"+
+        "\u0000\u6579\u657A\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u657C\u657B\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u657D\u657E\u0000\u0000\u0000\u0000\u6621\u0000"+
+        "\u0000\u0000\u0000\u0000\u6622\u0000\u0000\u0000"+
+        "\u6623\u0000\u0000\u0000\u6624\u6625\u6626\u0000"+
+        "\u0000\u0000\u7471\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u6627\u6628\u6629"+
+        "\u0000\u662A\u0000\u0000\u0000\u0000\u662B\u0000"+
+        "\u0000\u662C\u0000\u662D\u662E\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u662F\u0000\u6630\u0000"+
+        "\u0000\u0000\u6631\u0000\u0000\u6632\u0000\u6633"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u6634\u0000"+
+        "\u6635\u6636\u0000\u6637\u0000\u0000\u0000\u0000"+
+        "\u6638\u6639\u663A\u663B\u0000\u0000\u0000\u0000"+
+        "\u0000\u663C\u663D\u0000\u0000\u663E\u663F\u6640"+
+        "\u6641\u0000\u0000\u0000\u6642\u0000\u6643\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u6644\u6645\u0000"+
+        "\u0000\u0000\u6646\u0000\u6647\u6648\u6649\u0000"+
+        "\u0000\u0000\u0000\u0000\u664A\u0000\u0000\u0000"+
+        "\u0000\u664B\u0000\u664C\u0000\u0000\u0000\u664D"+
+        "\u664E\u664F\u6650\u0000\u6651\u6652\u0000\u0000"+
+        "\u0000\u6653\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u6654\u0000\u6655\u0000\u6656\u6657"+
+        "\u6658\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u6659\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u665A\u0000"+
+        "\u0000\u0000\u0000\u0000\u665B\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u665C\u665D\u0000\u665E\u665F"+
+        "\u0000\u6660\u6661\u6662\u6663\u0000\u0000\u0000"+
+        "\u0000\u6664\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u6665\u0000\u0000\u0000\u0000\u6666\u0000"+
+        "\u0000\u0000\u6667\u0000\u0000\u6668\u0000\u6669"+
+        "\u0000\u0000\u0000\u0000\u666A\u666B\u666C\u0000"+
+        "\u0000\u666D\u0000\u0000\u0000\u0000\u666E\u666F"+
+        "\u0000\u0000\u0000\u6670\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u6671\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u6672\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u6673\u0000\u0000\u0000\u0000\u0000"+
+        "\u6675\u0000\u6676\u0000\u0000\u6677\u6678\u6679"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u667A\u0000\u0000\u0000\u0000\u0000\u667B"+
+        "\u0000\u667C\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u667D\u0000\u0000\u0000\u0000\u0000";
+
+    private final static String innerIndex5=
+        "\u0000\u0000\u667E\u6721\u0000\u6722\u0000\u0000"+
+        "\u0000\u6723\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u6724\u6725\u0000\u6726\u0000\u0000"+
+        "\u0000\u6727\u6728\u6729\u0000\u0000\u0000\u0000"+
+        "\u672A\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u672B\u0000\u672C\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u7474\u0000\u0000\u0000\u0000"+
+        "\u0000\u672D\u0000\u672E\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u672F\u0000\u0000\u7475\u6730\u6731"+
+        "\u0000\u7476\u0000\u0000\u0000\u6732\u0000\u6733"+
+        "\u6734\u0000\u6735\u6736\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u6737\u0000\u0000\u0000\u6738"+
+        "\u0000\u0000\u6739\u0000\u0000\u0000\u673A\u0000"+
+        "\u0000\u0000\u0000\u673B\u0000\u0000\u673C\u673D"+
+        "\u673E\u0000\u0000\u673F\u0000\u6740\u0000\u6741"+
+        "\u6742\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u6743\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u6744\u6745\u6746"+
+        "\u0000\u6747\u6748\u0000\u0000\u0000\u6749\u674A"+
+        "\u0000\u0000\u674B\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u674C\u0000\u674D\u0000"+
+        "\u0000\u674E\u674F\u0000\u0000\u6750\u6751\u0000"+
+        "\u6752\u6753\u6754\u0000\u6755\u0000\u6756\u6757"+
+        "\u0000\u6758\u0000\u0000\u6759\u675A\u0000\u675B"+
+        "\u0000\u675C\u675D\u0000\u675E\u675F\u6760\u0000"+
+        "\u6761\u6762\u0000\u0000\u6763\u0000\u0000\u6764"+
+        "\u6765\u6766\u0000\u676A\u0000\u6767\u6768\u0000"+
+        "\u6769\u676B\u0000\u0000\u676C\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u676D"+
+        "\u0000\u676E\u0000\u0000\u676F\u0000\u0000\u6770"+
+        "\u6771\u0000\u6772\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6773"+
+        "\u0000\u0000\u6774\u0000\u0000\u6776\u6777\u0000"+
+        "\u0000\u0000\u0000\u0000\u6778\u0000\u6779\u0000"+
+        "\u0000\u6775\u0000\u0000\u677A\u0000\u677B\u0000"+
+        "\u677C\u0000\u0000\u677D\u0000\u6828\u677E\u0000"+
+        "\u0000\u0000\u0000\u6821\u0000\u0000\u6822\u6823"+
+        "\u6824\u0000\u6825\u6826\u0000\u6827\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u6829\u0000"+
+        "\u0000\u0000\u0000\u0000\u682A\u0000\u0000\u682B"+
+        "\u0000\u0000\u682C\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u682D\u682E\u682F\u0000\u0000\u6830\u6831"+
+        "\u0000\u6832\u6833\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u6834\u6835\u0000\u6836\u6837\u0000"+
+        "\u0000\u0000\u6838\u0000\u6839\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u683A\u0000\u683B\u683C\u0000"+
+        "\u683D\u0000\u0000\u0000\u683E\u0000\u0000\u683F"+
+        "\u6840\u0000\u6841\u6842\u0000\u0000\u0000\u6843"+
+        "\u0000\u0000\u6844\u0000\u0000\u6845\u0000\u0000"+
+        "\u6846\u0000\u0000\u0000\u6847\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u6848\u0000\u6849\u0000\u684A\u684B\u684C"+
+        "\u0000\u0000\u684D\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u684E\u0000\u0000\u684F\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u6850\u0000\u0000\u0000\u0000\u6851"+
+        "\u6852\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u6853\u0000\u0000\u0000\u6854\u6855\u6856"+
+        "\u0000\u0000\u6857\u6858\u6859\u0000\u0000\u685A"+
+        "\u0000\u0000\u685B\u0000\u0000\u0000\u685C\u685D"+
+        "\u0000\u0000\u0000\u685E\u0000\u0000\u0000\u0000"+
+        "\u0000\u685F\u6860\u6861\u6862\u6863\u0000\u0000"+
+        "\u0000\u6864\u6865\u6866\u6867\u0000\u0000\u0000"+
+        "\u6868\u6869\u0000\u0000\u0000\u0000\u686A\u686B"+
+        "\u686C\u0000\u0000\u0000\u0000\u686D\u686E\u0000"+
+        "\u0000\u0000\u0000\u0000\u686F\u0000\u0000\u0000"+
+        "\u6870\u6871\u0000\u6872\u6873\u0000\u6874\u6875"+
+        "\u6876\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u6877\u0000\u6878\u747A\u6879"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u687A\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u687B\u687C\u687D\u0000\u0000\u687E\u0000\u0000"+
+        "\u0000\u6921\u6922\u0000\u0000\u6923\u0000\u6924"+
+        "\u0000\u0000\u0000\u6925\u0000\u0000\u0000\u0000"+
+        "\u0000\u6926\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u6927\u6928\u0000\u0000\u0000"+
+        "\u0000\u6929\u692A\u0000\u692B\u0000\u692C\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u692D"+
+        "\u0000\u0000\u692E\u692F\u6930\u0000\u0000\u0000"+
+        "\u6931\u0000\u0000\u0000\u6932\u6933\u0000\u0000"+
+        "\u0000\u6934\u0000\u0000\u0000\u6935\u6936\u0000"+
+        "\u0000\u0000\u6937\u6938\u6939\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u693A\u693B\u0000\u0000\u0000"+
+        "\u693C\u693D\u0000\u0000\u0000\u0000\u693E\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u693F\u0000"+
+        "\u6940\u0000\u6941\u6942\u6943\u0000\u0000\u6944"+
+        "\u0000\u0000\u0000\u0000\u0000\u6945\u6946\u0000"+
+        "\u0000\u0000\u0000\u6947\u0000\u6948\u6949\u0000"+
+        "\u694A\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u694C\u0000\u0000\u694D\u0000\u0000\u694B"+
+        "\u0000\u0000\u694E\u694F\u6950\u0000\u6951\u0000"+
+        "\u0000\u6952\u0000\u0000\u6953\u0000\u6954\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u6955\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u6956\u0000\u6957\u0000\u6958\u6959"+
+        "\u0000\u0000\u695A\u0000\u695B\u695C\u695D\u0000"+
+        "\u0000\u695E\u0000\u695F\u0000\u0000\u6960\u6961"+
+        "\u0000\u6962\u0000\u6963\u0000\u0000\u6964\u0000"+
+        "\u6965\u0000\u0000\u0000\u0000\u0000\u6966\u0000"+
+        "\u6967\u0000\u6968\u0000\u0000\u6969\u696A\u696B"+
+        "\u0000\u747B\u0000\u696C\u696D\u0000\u0000\u0000"+
+        "\u696E\u0000\u0000\u0000\u696F\u6970\u0000\u6971"+
+        "\u0000\u6972\u0000\u0000\u6973\u0000\u0000\u0000"+
+        "\u0000\u0000\u6974\u6975\u0000\u6976\u0000\u0000"+
+        "\u0000\u6977\u6978\u0000\u0000\u6979\u0000\u697A"+
+        "\u697B\u697C\u697D\u697E\u6A21\u6A22\u0000\u0000"+
+        "\u6A23\u6A24\u0000\u6A25\u6A26\u6A27\u6A28\u0000"+
+        "\u6A29\u0000\u6A2A\u0000\u0000\u0000\u6A2B\u0000"+
+        "\u0000\u6A2C\u0000\u6A2D\u6A2E\u0000\u0000\u0000"+
+        "\u6A2F\u0000\u0000\u0000\u0000\u0000\u6A30\u0000"+
+        "\u0000\u0000\u0000\u6A31\u0000\u6A32\u0000\u0000"+
+        "\u0000\u0000\u0000\u6A33\u6A34\u6A35\u0000\u6A36"+
+        "\u0000\u6A37\u6A38\u0000\u0000\u6A39\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u6A3A\u0000\u0000\u6A3B\u6A3C\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u6A3D\u6A3E\u6A3F"+
+        "\u0000\u0000\u0000\u6A40\u0000\u0000\u6A41\u0000"+
+        "\u0000\u6A42\u0000\u6A43\u0000\u6A44\u6A45\u0000"+
+        "\u6A46\u0000\u6A47\u6A48\u6A49\u6A4A\u6A4B\u0000"+
+        "\u0000\u0000\u747C\u6A4C\u0000\u6A4D\u0000\u6A4E"+
+        "\u6A4F\u6A50\u0000\u0000\u0000\u0000\u0000\u6A51"+
+        "\u6A52\u0000\u0000\u0000\u6A53\u6A54\u6A55\u6A56"+
+        "\u0000\u6A57\u6A58\u6A59\u0000\u6A5A\u0000\u6A5B"+
+        "\u6A5C\u0000\u0000\u0000\u6A5D\u0000\u0000\u0000"+
+        "\u0000\u0000\u6A5E\u0000\u0000\u6A5F\u6A60\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u6A61\u6A62"+
+        "\u0000\u6A63\u0000\u0000\u6A64\u0000\u0000\u0000"+
+        "\u6A65\u6A66\u6A67\u0000\u0000\u0000\u0000\u6A68"+
+        "\u6A69\u0000\u0000\u6A6A\u6A6B\u0000\u6A6C\u6A6D"+
+        "\u0000\u6A6E\u0000\u0000\u0000\u0000\u0000\u6A6F"+
+        "\u6A70\u0000\u0000\u0000\u0000\u0000\u6A71\u0000"+
+        "\u6A72\u0000\u0000\u0000\u0000\u0000\u0000\u6A73"+
+        "\u6A74\u0000\u0000\u0000\u0000\u6A75\u0000\u6A76"+
+        "\u0000\u0000\u0000\u0000\u0000\u6A77\u0000\u6A78"+
+        "\u0000\u0000\u6A79\u6A7A\u0000\u0000\u0000\u6A7B"+
+        "\u0000\u0000\u0000\u6A7C\u0000\u0000\u0000\u6A7D"+
+        "\u6A7E\u6B21\u6B22\u0000\u0000\u6B23\u0000\u6B24"+
+        "\u6B25\u0000\u6B26\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u6B27\u0000\u0000\u0000\u6B28"+
+        "\u0000\u6B29\u0000\u0000\u0000\u0000\u6B2A\u0000"+
+        "\u6B2B\u6B2C\u6B2D\u0000\u6B2E\u0000\u6B2F\u0000"+
+        "\u0000\u0000\u6B30\u6B31\u0000\u0000\u6B32\u6B33"+
+        "\u6B34\u6B35\u6B36\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u6B37\u0000\u0000\u0000\u6B38\u6B39\u6B3A"+
+        "\u0000\u0000\u0000\u0000\u0000\u6B3B\u0000\u0000"+
+        "\u0000\u6B3C\u0000\u6B3D\u6B3E\u6B3F\u0000\u0000"+
+        "\u0000\u6B40\u6B41\u0000\u0000\u0000\u6B42\u6B43"+
+        "\u6B44\u0000\u0000\u6B45\u6B46\u0000\u6B47\u0000"+
+        "\u6B48\u0000\u0000\u6B49\u6B50\u6B4A\u6B4B\u6B4C"+
+        "\u0000\u0000\u0000\u6B4D\u0000\u0000\u0000\u0000"+
+        "\u6B52\u6B4E\u6B4F\u6B51\u0000\u0000\u6B53\u0000"+
+        "\u6B54\u0000\u6B55\u0000\u0000\u6B56\u0000\u6B57"+
+        "\u0000\u0000\u0000\u6B58\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u6B59\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u6B5A\u0000\u0000\u0000\u0000\u6B5B"+
+        "\u0000\u6B5C\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u6B5E\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u6B5D\u0000\u0000\u0000\u0000"+
+        "\u0000\u6B5F\u0000\u0000\u0000\u0000\u0000\u6B60"+
+        "\u6B61\u0000\u0000\u0000\u6B62\u6B63\u6B64\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6B65"+
+        "\u6B66\u0000\u6B67\u6B68\u6B69\u0000\u0000\u0000"+
+        "\u0000\u0000\u6B6A\u0000\u6B6B\u6B6D\u0000\u0000"+
+        "\u0000\u0000\u6B6E\u6B6F\u0000\u6B6C\u0000\u6B70"+
+        "\u0000\u0000\u6B71\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u6B72\u6B73\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6B74"+
+        "\u0000\u0000\u6B76\u6B75\u0000\u6B77\u0000\u0000"+
+        "\u0000\u6B78\u6B79\u6B7A\u0000\u0000\u0000\u0000"+
+        "\u6B7B\u0000\u0000\u0000\u0000\u0000\u6B7C\u6B7D"+
+        "\u0000\u0000\u0000\u6B7E\u6C21\u0000\u6C22\u0000"+
+        "\u0000\u0000\u0000\u6C23\u6C24\u0000\u6C25\u0000"+
+        "\u0000\u0000\u6C26\u0000\u0000\u6C27\u6C28\u0000"+
+        "\u0000\u0000\u6C29\u6C2A\u0000\u6C2B\u6C2C\u6C2D"+
+        "\u6C2E\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u6C2F\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u6C30\u0000\u6C31\u0000\u6C32\u0000"+
+        "\u0000\u6C33\u0000\u0000\u0000\u6C34\u0000\u0000"+
+        "\u0000\u6C35\u0000\u0000\u6C36\u0000\u0000\u6C37"+
+        "\u0000\u0000\u0000\u6C38\u0000\u0000\u0000\u6C39"+
+        "\u0000\u6C3A\u6C3B\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u6C3C\u6C3D\u6C3E\u6C3F"+
+        "\u0000\u0000\u6C40\u0000\u0000\u0000\u6C41\u6C42"+
+        "\u6C43\u0000\u0000\u0000\u0000\u6C44\u0000\u6C45"+
+        "\u0000\u6C46\u0000\u6C47\u0000\u0000\u6C48\u0000"+
+        "\u6C49\u0000\u0000\u6C4A\u6C4B\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u6C4C\u0000"+
+        "\u0000\u0000\u6C4E\u0000\u0000\u0000\u0000\u6C4F"+
+        "\u0000\u0000\u6C4D\u0000\u0000\u0000\u6C50\u0000"+
+        "\u6C51\u6C52\u6C53\u0000\u0000\u6C54\u6C55\u0000"+
+        "\u0000\u6C56\u0000\u0000\u6C57\u6C58\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u6C59\u6C5A\u6C5B\u0000\u0000\u0000"+
+        "\u6C5C\u0000\u6C5D\u6C5E\u6C5F\u6C60\u0000\u6C61"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u6C62\u6C63"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u6C64\u0000"+
+        "\u6C65\u0000\u0000\u6C66\u0000\u0000\u6C67\u0000"+
+        "\u0000\u0000\u0000\u0000\u6C68\u0000\u0000\u0000"+
+        "\u6C69\u0000\u0000\u0000\u6C6A\u0000\u6C6B\u6C6C"+
+        "\u6C6D\u0000\u0000\u6C6E\u6C6F\u6C70\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u6C71\u0000"+
+        "\u6C72\u0000\u0000\u6C73\u0000\u0000\u0000\u0000"+
+        "\u0000\u747E\u0000\u0000\u0000\u6C74\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6C75"+
+        "\u0000\u0000\u0000\u0000\u6C76\u0000\u0000\u6C77"+
+        "\u0000\u0000\u0000\u0000\u6C78\u6C79\u6C7A\u0000"+
+        "\u6C7B\u6C7C\u6C7D\u0000\u0000\u6C7E\u0000\u0000"+
+        "\u6D21\u0000\u0000\u0000\u0000\u0000\u0000\u6D22"+
+        "\u0000\u0000\u6D23\u6D24\u0000\u0000\u0000\u0000"+
+        "\u0000\u6D25\u0000\u0000\u0000\u0000\u0000\u6D26"+
+        "\u6D27\u6D28\u6D29\u0000\u6D2A\u0000\u6D2B\u6D2C"+
+        "\u0000\u6D2D\u6D2E\u6D2F\u0000\u0000\u0000\u6D30"+
+        "\u0000\u0000\u6D31\u0000\u0000\u0000\u6D32\u0000"+
+        "\u0000\u0000\u6D33\u6D34\u0000\u0000\u0000\u6D35"+
+        "\u0000\u6D36\u6D37\u0000\u6D38\u0000\u0000\u6D39"+
+        "\u0000\u6D3A\u6D3B\u0000\u6D3C\u6D3D\u0000\u6D3E"+
+        "\u0000\u6D3F\u0000\u6D40\u6D41\u6D42\u6D43\u6D44"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u6D45\u0000\u6D46\u6D47\u6D48"+
+        "\u6D49\u0000\u6D4A\u0000\u0000\u6D4B\u6D4C\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u6D4D\u6D4E\u0000\u0000\u0000\u6D4F\u6D50\u6D51"+
+        "\u6D52\u6D53\u0000\u6D54\u0000\u6D55\u0000\u0000"+
+        "\u0000\u0000\u6D56\u0000\u0000\u6D57\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u6D58"+
+        "\u6D59\u6D5A\u6D5B\u0000\u6D5C\u0000\u6D5D\u6D5E"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u6D5F\u0000"+
+        "\u0000\u6D60\u6D61\u6D62\u0000\u6D63\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u2271\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u7445\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u7472\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u7434\u7437"+
+        "\u7438\u743D\u7444\u7447\u7448\u744E\u744F\u7453"+
+        "\u7455\u7456\u7457\u7458\u745A\u745B\u745E\u7460"+
+        "\u7462\u7463\u7465\u7469\u746A\u746B\u746D\u746F"+
+        "\u7470\u7473\u7477\u7478\u7479\u747D\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u742A\u0000\u0000\u0000\u0000\u7429"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u2237\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
+
+    private final static short index1[] = {
+        1, 2, 3, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 8,
+        9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
+        25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
+        41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
+        57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
+        73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 89, 0, 0, 90, 91, 0, 0, 0, 0, 92
+    };
+
+    private final static String index2[] = {
+        innerIndex0,
+        innerIndex1,
+        innerIndex2,
+        innerIndex3,
+        innerIndex4,
+        innerIndex5
+    };
+}
--- a/test/sun/nio/cs/OLD/MS932_OLD.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/sun/nio/cs/OLD/MS932_OLD.java	Wed Aug 01 11:08:11 2012 -0400
@@ -45,7 +45,7 @@
 
     public boolean contains(Charset cs) {
         return ((cs.name().equals("US-ASCII"))
-                || (cs instanceof JIS_X_0201)
+                || (cs instanceof JIS_X_0201_OLD)
                 || (cs instanceof MS932_OLD));
     }
 
@@ -61,11 +61,11 @@
                                          //        implements DelegatableDecoder
     {
 
-        JIS_X_0201.Decoder jisDec0201;
+        JIS_X_0201_OLD.Decoder jisDec0201;
 
         private Decoder(Charset cs) {
             super(cs);
-            jisDec0201 = new JIS_X_0201.Decoder(cs);
+            jisDec0201 = new JIS_X_0201_OLD.Decoder(cs);
         }
 
         protected char decodeSingle(int b) {
@@ -90,12 +90,12 @@
 
     private static class Encoder extends MS932DB.Encoder {
 
-        private JIS_X_0201.Encoder jisEnc0201;
+        private JIS_X_0201_OLD.Encoder jisEnc0201;
 
 
         private Encoder(Charset cs) {
             super(cs);
-            jisEnc0201 = new JIS_X_0201.Encoder(cs);
+            jisEnc0201 = new JIS_X_0201_OLD.Encoder(cs);
         }
 
         protected int encodeSingle(char inputChar) {
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/sun/nio/cs/OLD/PCK_OLD.java	Wed Aug 01 11:08:11 2012 -0400
@@ -0,0 +1,144 @@
+/*
+ * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code 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
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ */
+
+import java.nio.charset.Charset;
+import java.nio.charset.CharsetDecoder;
+import java.nio.charset.CharsetEncoder;
+import java.nio.charset.CoderResult;
+import java.nio.ByteBuffer;
+import java.nio.CharBuffer;
+import sun.nio.cs.HistoricallyNamedCharset;
+
+public class PCK_OLD
+    extends Charset
+    implements HistoricallyNamedCharset
+{
+
+    public PCK_OLD() {
+        super("x-PCK_OLD", null);
+    }
+
+    public String historicalName() {
+        return "PCK";
+    }
+
+    public boolean contains(Charset cs) {
+        return ((cs.name().equals("US-ASCII"))
+                || (cs instanceof JIS_X_0201_OLD)
+                || (cs instanceof PCK_OLD));
+    }
+
+    public CharsetDecoder newDecoder() {
+        return new Decoder(this);
+    }
+
+    public CharsetEncoder newEncoder() {
+
+        // Need to force the replacement byte to 0x3f
+        // because JIS_X_0208_Encoder defines its own
+        // alternative 2 byte substitution to permit it
+        // to exist as a self-standing Encoder
+
+        byte[] replacementBytes = { (byte)0x3f };
+        return new Encoder(this).replaceWith(replacementBytes);
+    }
+
+    private static class Decoder extends SJIS_OLD.Decoder {
+
+        JIS_X_0208_Solaris_Decoder jis0208;
+        private static final char REPLACE_CHAR='\uFFFD';
+
+        private Decoder(Charset cs) {
+            super(cs);
+            jis0208 = new JIS_X_0208_Solaris_Decoder(cs);
+        }
+
+        protected char decodeDouble(int c1, int c2) {
+            char outChar;
+
+            if ((outChar = super.decodeDouble(c1, c2)) != '\uFFFD')  {
+                // Map JIS X 0208:1983 0x213D <--> U+2015
+                return ((outChar != '\u2014')? outChar: '\u2015');
+            } else {
+                int adjust = c2 < 0x9F ? 1 : 0;
+                int rowOffset = c1 < 0xA0 ? 0x70 : 0xB0;
+                int cellOffset = (adjust == 1) ? (c2 > 0x7F ? 0x20 : 0x1F) : 0x7E;
+                int b1 = ((c1 - rowOffset) << 1) - adjust;
+                int b2 = c2 - cellOffset;
+                char outChar2 = jis0208.decodeDouble(b1, b2);
+                return outChar2;
+            }
+        }
+    }
+
+    private static class Encoder extends SJIS_OLD.Encoder {
+
+        private JIS_X_0201_OLD.Encoder jis0201;
+
+        private static final short[] j0208Index1 =
+            JIS_X_0208_Solaris_Encoder.getIndex1();
+        private static final String[] j0208Index2 =
+            JIS_X_0208_Solaris_Encoder.getIndex2();
+
+        private Encoder(Charset cs) {
+            super(cs);
+            jis0201 = new JIS_X_0201_OLD.Encoder(cs);
+        }
+
+        protected int encodeDouble(char ch) {
+            int result = 0;
+
+            // PCK uses JIS_X_0208:1983 rather than JIS_X_0208:1997
+
+            switch (ch) {
+                case '\u2015':
+                    return 0x815C;
+                case '\u2014':
+                    return 0;
+                default:
+                    break;
+            }
+
+            if ((result = super.encodeDouble(ch)) != 0) {
+                return result;
+            }
+            else {
+                int offset = j0208Index1[ch >> 8] << 8;
+                int pos = j0208Index2[offset >> 12].charAt((offset & 0xfff) + (ch & 0xff));
+                if (pos != 0) {
+                int c1 = (pos >> 8) & 0xff;
+                int c2 = pos & 0xff;
+                int rowOffset = c1 < 0x5F ? 0x70 : 0xB0;
+                int cellOffset = (c1 % 2 == 1) ? (c2 > 0x5F ? 0x20 : 0x1F) : 0x7E;
+                result = ((((c1 + 1 ) >> 1) + rowOffset) << 8) | (c2 + cellOffset);
+                }
+            }
+            return result;
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/sun/nio/cs/OLD/SJIS_OLD.java	Wed Aug 01 11:08:11 2012 -0400
@@ -0,0 +1,160 @@
+/*
+ * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code 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
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ */
+
+import java.nio.*;
+import java.nio.charset.Charset;
+import java.nio.charset.CharsetDecoder;
+import java.nio.charset.CharsetEncoder;
+import java.nio.charset.CoderResult;
+import sun.nio.cs.HistoricallyNamedCharset;
+
+public class SJIS_OLD
+    extends Charset
+    implements HistoricallyNamedCharset
+{
+
+    public SJIS_OLD() {
+        super("Shift_JIS_OLD", null);
+    }
+
+    public String historicalName() {
+        return "SJIS";
+    }
+
+    public boolean contains(Charset cs) {
+        return ((cs.name().equals("US-ASCII"))
+                || (cs instanceof JIS_X_0201_OLD)
+                || (cs instanceof SJIS_OLD)
+                || (cs instanceof JIS_X_0208_OLD));
+    }
+
+    public CharsetDecoder newDecoder() {
+        return new Decoder(this);
+    }
+
+    public CharsetEncoder newEncoder() {
+
+        // Need to force the replacement byte to 0x3f
+        // because JIS_X_0208_Encoder defines its own
+        // alternative 2 byte substitution to permit it
+        // to exist as a self-standing Encoder
+
+        byte[] replacementBytes = { (byte)0x3f };
+        return new Encoder(this).replaceWith(replacementBytes);
+    }
+
+    static class Decoder extends JIS_X_0208_Decoder {
+
+        JIS_X_0201_OLD.Decoder jis0201;
+
+        protected Decoder(Charset cs) {
+            super(cs);
+            jis0201 = new JIS_X_0201_OLD.Decoder(cs);
+        }
+
+        protected char decodeSingle(int b) {
+            // If the high bits are all off, it's ASCII == Unicode
+            if ((b & 0xFF80) == 0) {
+                return (char)b;
+            }
+            return jis0201.decode(b);
+        }
+
+        protected char decodeDouble(int c1, int c2) {
+            int adjust = c2 < 0x9F ? 1 : 0;
+            int rowOffset = c1 < 0xA0 ? 0x70 : 0xB0;
+            int cellOffset = (adjust == 1) ? (c2 > 0x7F ? 0x20 : 0x1F) : 0x7E;
+            int b1 = ((c1 - rowOffset) << 1) - adjust;
+            int b2 = c2 - cellOffset;
+            return super.decodeDouble(b1, b2);
+        }
+
+        // Make some protected methods public for use by JISAutoDetect
+        public CoderResult decodeLoop(ByteBuffer src, CharBuffer dst) {
+            return super.decodeLoop(src, dst);
+        }
+        public void implReset() {
+            super.implReset();
+        }
+        public CoderResult implFlush(CharBuffer out) {
+            return super.implFlush(out);
+        }
+    }
+
+    static class Encoder extends JIS_X_0208_Encoder {
+
+        private JIS_X_0201_OLD.Encoder jis0201;
+
+        private static final short[] j0208Index1 =
+            JIS_X_0208_Encoder.getIndex1();
+        private static final String[] j0208Index2 =
+            JIS_X_0208_Encoder.getIndex2();
+
+        protected Encoder(Charset cs) {
+            super(cs);
+            jis0201 = new JIS_X_0201_OLD.Encoder(cs);
+        }
+
+        protected int encodeSingle(char inputChar) {
+            byte b;
+
+            // \u0000 - \u007F map straight through
+            if ((inputChar & 0xFF80) == 0)
+                return (byte)inputChar;
+
+            if ((b = jis0201.encode(inputChar)) == 0)
+                return -1;
+            else
+                return b;
+        }
+
+        protected int encodeDouble(char ch) {
+            int offset = j0208Index1[ch >> 8] << 8;
+            int pos = j0208Index2[offset >> 12].charAt((offset & 0xfff) + (ch & 0xff));
+            if (pos == 0) {
+                /* Zero value indicates this Unicode has no mapping to
+                 * JIS0208.
+                 * We bail here because the JIS -> SJIS algorithm produces
+                 * bogus SJIS values for invalid JIS input.  Zero should be
+                 * the only invalid JIS value in our table.
+                 */
+                return 0;
+            }
+            /*
+             * This algorithm for converting from JIS to SJIS comes from
+             * Ken Lunde's "Understanding Japanese Information Processing",
+             * pg 163.
+             */
+            int c1 = (pos >> 8) & 0xff;
+            int c2 = pos & 0xff;
+            int rowOffset = c1 < 0x5F ? 0x70 : 0xB0;
+            int cellOffset = (c1 % 2 == 1) ? (c2 > 0x5F ? 0x20 : 0x1F) : 0x7E;
+            return ((((c1 + 1 ) >> 1) + rowOffset) << 8) | (c2 + cellOffset);
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/sun/nio/cs/OLD/SingleByteDecoder.java	Wed Aug 01 11:08:11 2012 -0400
@@ -0,0 +1,115 @@
+/*
+ * Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code 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
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ */
+
+
+import java.nio.ByteBuffer;
+import java.nio.CharBuffer;
+import java.nio.charset.Charset;
+import java.nio.charset.CharsetDecoder;
+import java.nio.charset.CoderResult;
+import java.nio.charset.CharacterCodingException;
+import java.nio.charset.MalformedInputException;
+import java.nio.charset.UnmappableCharacterException;
+
+
+public abstract class SingleByteDecoder
+    extends CharsetDecoder
+{
+
+    private final String byteToCharTable;
+
+    protected SingleByteDecoder(Charset cs, String byteToCharTable) {
+        super(cs, 1.0f, 1.0f);
+        this.byteToCharTable = byteToCharTable;
+    }
+
+    private CoderResult decodeArrayLoop(ByteBuffer src, CharBuffer dst) {
+        byte[] sa = src.array();
+        int sp = src.arrayOffset() + src.position();
+        int sl = src.arrayOffset() + src.limit();
+        assert (sp <= sl);
+        sp = (sp <= sl ? sp : sl);
+        char[] da = dst.array();
+        int dp = dst.arrayOffset() + dst.position();
+        int dl = dst.arrayOffset() + dst.limit();
+        assert (dp <= dl);
+        dp = (dp <= dl ? dp : dl);
+
+        try {
+            while (sp < sl) {
+                int b = sa[sp];
+
+                char c = decode(b);
+                if (c == '\uFFFD')
+                    return CoderResult.unmappableForLength(1);
+                if (dl - dp < 1)
+                    return CoderResult.OVERFLOW;
+                da[dp++] = c;
+                sp++;
+            }
+            return CoderResult.UNDERFLOW;
+        } finally {
+            src.position(sp - src.arrayOffset());
+            dst.position(dp - dst.arrayOffset());
+        }
+    }
+
+    private CoderResult decodeBufferLoop(ByteBuffer src, CharBuffer dst) {
+        int mark = src.position();
+        try {
+            while (src.hasRemaining()) {
+                int b = src.get();
+
+                char c = decode(b);
+                if (c == '\uFFFD')
+                    return CoderResult.unmappableForLength(1);
+                if (!dst.hasRemaining())
+                    return CoderResult.OVERFLOW;
+                mark++;
+                dst.put(c);
+            }
+            return CoderResult.UNDERFLOW;
+        } finally {
+            src.position(mark);
+        }
+    }
+
+    protected CoderResult decodeLoop(ByteBuffer src, CharBuffer dst) {
+        if (true && src.hasArray() && dst.hasArray())
+            return decodeArrayLoop(src, dst);
+        else
+            return decodeBufferLoop(src, dst);
+    }
+
+    public char decode(int byteIndex) {
+        int n = byteIndex + 128;
+        if (n >= byteToCharTable.length() || n < 0)
+            return '\uFFFD';
+        return byteToCharTable.charAt(n);
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/sun/nio/cs/OLD/SingleByteEncoder.java	Wed Aug 01 11:08:11 2012 -0400
@@ -0,0 +1,157 @@
+/*
+ * Copyright (c) 2000, 2004, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code 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
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ */
+
+
+import java.nio.ByteBuffer;
+import java.nio.CharBuffer;
+import java.nio.charset.Charset;
+import java.nio.charset.CharsetEncoder;
+import java.nio.charset.CoderResult;
+import java.nio.charset.CharacterCodingException;
+import java.nio.charset.MalformedInputException;
+import java.nio.charset.UnmappableCharacterException;
+import sun.nio.cs.Surrogate;
+
+
+public abstract class SingleByteEncoder
+    extends CharsetEncoder
+{
+
+    private final short index1[];
+    private final String index2;
+    private final int mask1;
+    private final int mask2;
+    private final int shift;
+
+    private final Surrogate.Parser sgp = new Surrogate.Parser();
+
+    protected SingleByteEncoder(Charset cs,
+                                short[] index1, String index2,
+                                int mask1, int mask2, int shift)
+    {
+        super(cs, 1.0f, 1.0f);
+        this.index1 = index1;
+        this.index2 = index2;
+        this.mask1 = mask1;
+        this.mask2 = mask2;
+        this.shift = shift;
+    }
+
+    public boolean canEncode(char c) {
+        char testEncode = index2.charAt(index1[(c & mask1) >> shift]
+                                        + (c & mask2));
+        return testEncode != '\u0000' || c == '\u0000';
+    }
+
+    private CoderResult encodeArrayLoop(CharBuffer src, ByteBuffer dst) {
+        char[] sa = src.array();
+        int sp = src.arrayOffset() + src.position();
+        int sl = src.arrayOffset() + src.limit();
+        assert (sp <= sl);
+        sp = (sp <= sl ? sp : sl);
+        byte[] da = dst.array();
+        int dp = dst.arrayOffset() + dst.position();
+        int dl = dst.arrayOffset() + dst.limit();
+        assert (dp <= dl);
+        dp = (dp <= dl ? dp : dl);
+
+        try {
+            while (sp < sl) {
+                char c = sa[sp];
+                if (Character.isSurrogate(c)) {
+                    if (sgp.parse(c, sa, sp, sl) < 0)
+                        return sgp.error();
+                    return sgp.unmappableResult();
+                }
+                if (c >= '\uFFFE')
+                    return CoderResult.unmappableForLength(1);
+                if (dl - dp < 1)
+                    return CoderResult.OVERFLOW;
+
+                char e = index2.charAt(index1[(c & mask1) >> shift]
+                                       + (c & mask2));
+
+                // If output byte is zero because input char is zero
+                // then character is mappable, o.w. fail
+                if (e == '\u0000' && c != '\u0000')
+                    return CoderResult.unmappableForLength(1);
+
+                sp++;
+                da[dp++] = (byte)e;
+            }
+            return CoderResult.UNDERFLOW;
+        } finally {
+            src.position(sp - src.arrayOffset());
+            dst.position(dp - dst.arrayOffset());
+        }
+    }
+
+    private CoderResult encodeBufferLoop(CharBuffer src, ByteBuffer dst) {
+        int mark = src.position();
+        try {
+            while (src.hasRemaining()) {
+                char c = src.get();
+                if (Character.isSurrogate(c)) {
+                    if (sgp.parse(c, src) < 0)
+                        return sgp.error();
+                    return sgp.unmappableResult();
+                }
+                if (c >= '\uFFFE')
+                    return CoderResult.unmappableForLength(1);
+                if (!dst.hasRemaining())
+                    return CoderResult.OVERFLOW;
+
+                char e = index2.charAt(index1[(c & mask1) >> shift]
+                                       + (c & mask2));
+
+                // If output byte is zero because input char is zero
+                // then character is mappable, o.w. fail
+                if (e == '\u0000' && c != '\u0000')
+                    return CoderResult.unmappableForLength(1);
+
+                mark++;
+                dst.put((byte)e);
+            }
+            return CoderResult.UNDERFLOW;
+        } finally {
+            src.position(mark);
+        }
+    }
+
+    protected CoderResult encodeLoop(CharBuffer src, ByteBuffer dst) {
+        if (true && src.hasArray() && dst.hasArray())
+            return encodeArrayLoop(src, dst);
+        else
+            return encodeBufferLoop(src, dst);
+    }
+
+    public byte encode(char inputChar) {
+        return (byte)index2.charAt(index1[(inputChar & mask1) >> shift] +
+                (inputChar & mask2));
+    }
+}
--- a/test/sun/nio/cs/OLD/TestIBMDB.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/sun/nio/cs/OLD/TestIBMDB.java	Wed Aug 01 11:08:11 2012 -0400
@@ -24,8 +24,8 @@
 /*
  * @test
  * @bug 6843578
- * @summary Test IBM DB charsets
- * @build IBM930_OLD IBM933_OLD IBM935_OLD IBM937_OLD IBM939_OLD IBM942_OLD IBM943_OLD IBM948_OLD IBM949_OLD IBM950_OLD IBM970_OLD IBM942C_OLD IBM943C_OLD IBM949C_OLD IBM1381_OLD IBM1383_OLD EUC_CN_OLD EUC_KR_OLD GBK_OLD Johab_OLD MS932_OLD MS936_OLD MS949_OLD MS950_OLD
+ * @summary Test old and new implementation of db charsets
+ * @build IBM930_OLD IBM933_OLD IBM935_OLD IBM937_OLD IBM939_OLD IBM942_OLD IBM943_OLD IBM948_OLD IBM949_OLD IBM950_OLD IBM970_OLD IBM942C_OLD IBM943C_OLD IBM949C_OLD IBM1381_OLD IBM1383_OLD EUC_CN_OLD EUC_KR_OLD GBK_OLD Johab_OLD MS932_OLD MS936_OLD MS949_OLD MS950_OLD SJIS_OLD PCK_OLD EUC_JP_OLD EUC_JP_LINUX_OLD EUC_JP_Open_OLD
  * @run main TestIBMDB
  */
 
@@ -490,6 +490,7 @@
     }
 
     static String[] csnames = new String[] {
+
         "IBM930",
         "IBM933",
         "IBM935",
@@ -515,12 +516,20 @@
         "MS936",
         "MS949",
         "MS950",
+
+        "EUC_JP",
+        "EUC_JP_LINUX",
+        "EUC_JP_Open",
+        "SJIS",
+        "PCK",
     };
 
     public static void main(String[] args) throws Exception {
         for (String csname: csnames) {
             System.out.printf("-----------------------------------%n");
             String oldname = csname + "_OLD";
+            if ("EUC_JP_Open".equals(csname))
+                csname = "eucjp-open";
             checkInit(csname);
             Charset csOld = (Charset)Class.forName(oldname).newInstance();
             Charset csNew = Charset.forName(csname);
--- a/test/sun/nio/cs/StrCodingBenchmark.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/sun/nio/cs/StrCodingBenchmark.java	Wed Aug 01 11:08:11 2012 -0400
@@ -75,7 +75,7 @@
         return nanoss;
     }
 
-    public static void time(Job ... jobs) throws Throwable {
+    public static long[] time(Job ... jobs) throws Throwable {
 
         long[] warmup = time0(jobs); // Warm up run
         long[] nanoss = time0(jobs); // Real timing run
@@ -110,6 +110,7 @@
         // Print out absolute and relative times, calibrated against first job
         for (int i = 0; i < jobs.length; i++)
             System.out.printf(format, jobs[i].name(), milliss[i], ratios[i]);
+        return milliss;
     }
 
     public static Job[] filter(Pattern filter, Job[] jobs) {
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/sun/nio/cs/StrCodingBenchmarkDB.java	Wed Aug 01 11:08:11 2012 -0400
@@ -0,0 +1,139 @@
+/*
+ * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code 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
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+import java.util.*;
+import java.nio.*;
+import java.nio.charset.*;
+import java.util.concurrent.*;
+import java.util.regex.Pattern;
+
+public class StrCodingBenchmarkDB extends StrCodingBenchmark {
+
+
+    public static void main(String[] args) throws Throwable {
+        final int itrs = Integer.getInteger("iterations", 100000);
+        //final int itrs = Integer.getInteger("iterations", 12);
+        final int size       = Integer.getInteger("size", 2048);
+        final int subsize    = Integer.getInteger("subsize", 128);
+        final int maxchar    = Integer.getInteger("maxchar", 128);
+        final String regex = System.getProperty("filter");
+        final Pattern filter = (regex == null) ? null : Pattern.compile(regex);
+        final boolean useSecurityManager = Boolean.getBoolean("SecurityManager");
+        if (useSecurityManager)
+            System.setSecurityManager(new PermissiveSecurityManger());
+        final Random rnd = new Random();
+
+        String[] csns = new String[] {
+            "Big5",
+            "Johab",
+            "EUC_CN",
+            "EUC_KR",
+            "MS932",
+            "MS936",
+            "MS949",
+            "MS950",
+            "GBK",
+
+            "Big5_HKSCS",
+            "Big5_HKSCS_2001",
+            "Big5_Solaris",
+            "MS950_HKSCS",
+            "MS950_HKSCS_XP",
+            "IBM1364",
+            "IBM1381",
+            "IBM1383",
+            "IBM930",
+            "IBM933",
+            "IBM935",
+            "IBM937",
+            "IBM939",
+            "IBM942",
+            "IBM943",
+            "IBM948",
+            "IBM949",
+            "IBM950",
+            "IBM970",
+        };
+
+        ArrayList<long[]> sum = new ArrayList<>();
+
+        for (final String csn : csns) {
+            final Charset cs = Charset.forName(csn);
+            List<Integer> cps = new ArrayList<>(0x4000);
+            int off = 0;
+            int cp = 0;
+            int n = 0;
+            CharsetEncoder enc = cs.newEncoder();
+            while (cp < 0x10000 && n < cps.size()) {
+                if (enc.canEncode((char)cp)) {
+                    cps.add(cp);
+                    n++;
+                }
+                cp++;
+            }
+            Collections.shuffle(cps);
+            char[] ca = new char[cps.size()];
+            for (int i = 0; i < cps.size(); i++)
+                ca[i] = (char)(int)cps.get(i);
+
+
+            System.out.printf("%n--------%s---------%n", csn);
+            for (int sz = 8; sz <= 2048; sz *= 2) {
+                System.out.printf("   [len=%d]%n", sz);
+
+                final char[] chars  = Arrays.copyOf(ca, sz);
+                final String str = new String(chars);
+                final byte[] bs  = str.getBytes(cs);
+
+                Job[] jobs = {
+
+                    new Job("String decode: csn") {
+                    public void work() throws Throwable {
+                        for (int i = 0; i < itrs; i++)
+                            new String(bs, csn);
+                    }},
+
+                    new Job("String decode: cs") {
+                    public void work() throws Throwable {
+                        for (int i = 0; i < itrs; i++)
+                            new String(bs, cs);
+                    }},
+
+                    new Job("String encode: csn") {
+                    public void work() throws Throwable {
+                        for (int i = 0; i < itrs; i++)
+                            str.getBytes(csn);
+                    }},
+
+                    new Job("String encode: cs") {
+                    public void work() throws Throwable {
+                        for (int i = 0; i < itrs; i++)
+                            str.getBytes(cs);
+                    }},
+                };
+                sum.add(time(jobs));
+
+            }
+        }
+    }
+}
--- a/test/sun/nio/cs/TestStringCoding.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/sun/nio/cs/TestStringCoding.java	Wed Aug 01 11:08:11 2012 -0400
@@ -24,7 +24,7 @@
  */
 
 /* @test
-   @bug 6636323 6636319 7040220 7096080
+   @bug 6636323 6636319 7040220 7096080 7183053
    @summary Test if StringCoding and NIO result have the same de/encoding result
  * @run main/othervm/timeout=2000 TestStringCoding
  */
@@ -70,11 +70,62 @@
                     }
                     test(cs, Arrays.copyOf(bmpCA, clen), Arrays.copyOf(sbBA, blen));
                 }
+
+                testMixed(cs);
                 System.out.println("done!");
             }
         }
     }
 
+    static void testMixed(Charset cs) throws Throwable {
+        CharsetDecoder dec = cs.newDecoder()
+            .onMalformedInput(CodingErrorAction.REPLACE)
+            .onUnmappableCharacter(CodingErrorAction.REPLACE);
+        CharsetEncoder enc = cs.newEncoder()
+            .onMalformedInput(CodingErrorAction.REPLACE)
+            .onUnmappableCharacter(CodingErrorAction.REPLACE);
+        List<Integer> cps = new ArrayList<>(0x10000);
+        int off = 0;
+        int cp = 0;
+        while (cp < 0x10000) {
+            if (enc.canEncode((char)cp)) {
+               cps.add(cp);
+            }
+            cp++;
+        }
+        Collections.shuffle(cps);
+        char[] bmpCA = new char[cps.size()];
+        for (int i = 0; i < cps.size(); i++)
+            bmpCA[i] = (char)(int)cps.get(i);
+        String bmpStr = new String(bmpCA);
+        //getBytes(csn);
+        byte[] bmpBA = bmpStr.getBytes(cs.name());
+        ByteBuffer bf = enc.reset().encode(CharBuffer.wrap(bmpCA));
+        byte[] baNIO = new byte[bf.limit()];
+        bf.get(baNIO, 0, baNIO.length);
+        if (!Arrays.equals(bmpBA, baNIO)) {
+            throw new RuntimeException("getBytes(csn) failed  -> " + cs.name());
+        }
+
+        //getBytes(cs);
+        bmpBA = bmpStr.getBytes(cs);
+        if (!Arrays.equals(bmpBA, baNIO))
+            throw new RuntimeException("getBytes(cs) failed  -> " + cs.name());
+
+        //new String(csn);
+        String strSC = new String(bmpBA, cs.name());
+        String strNIO = dec.reset().decode(ByteBuffer.wrap(bmpBA)).toString();
+        if(!strNIO.equals(strSC)) {
+            throw new RuntimeException("new String(csn) failed  -> " + cs.name());
+        }
+
+        //new String(cs);
+        strSC = new String(bmpBA, cs);
+        if (!strNIO.equals(strSC))
+            throw new RuntimeException("new String(cs) failed  -> " + cs.name());
+
+    }
+
     static void test(Charset cs, char[] bmpCA, byte[] sbBA) throws Throwable {
         String bmpStr = new String(bmpCA);
         CharsetDecoder dec = cs.newDecoder()
@@ -100,6 +151,7 @@
         //new String(csn);
         String strSC = new String(sbBA, cs.name());
         String strNIO = dec.reset().decode(ByteBuffer.wrap(sbBA)).toString();
+
         if(!strNIO.equals(strSC))
             throw new RuntimeException("new String(csn) failed  -> " + cs.name());
 
@@ -112,7 +164,7 @@
         if (enc instanceof sun.nio.cs.ArrayEncoder &&
             cs.contains(Charset.forName("ASCII"))) {
             if (cs.name().equals("UTF-8") ||     // utf8 handles surrogates
-                cs.name().equals("CESU-8"))       // utf8 handles surrogates
+                cs.name().equals("CESU-8"))      // utf8 handles surrogates
                 return;
             enc.replaceWith(new byte[] { (byte)'A'});
             sun.nio.cs.ArrayEncoder cae = (sun.nio.cs.ArrayEncoder)enc;
@@ -137,12 +189,16 @@
                                                        cs.name())))
                 throw new RuntimeException("encode3(surrogates) failed  -> "
                                            + cs.name());
+            /* sun.nio.cs.ArrayDeEncoder works on the assumption that the
+               invoker (StringCoder) allocates enough output buf, utf8
+               and double-byte coder does not check the output buffer limit.
             ba = new byte[str.length() - 1];
             n = cae.encode(str.toCharArray(), 0, str.length(), ba);
-            if (n != 7 || !"abABABc".equals(new String(ba, 0, n,
-                                                      cs.name())))
+            if (n != 7 || !"abABABc".equals(new String(ba, 0, n, cs.name()))) {
                 throw new RuntimeException("encode4(surrogates) failed  -> "
                                            + cs.name());
+            }
+            */
         }
 
     }
--- a/test/sun/nio/cs/TestX11JIS0201.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/sun/nio/cs/TestX11JIS0201.java	Wed Aug 01 11:08:11 2012 -0400
@@ -50,5 +50,20 @@
         if (! cs.name().equals("X11JIS0201")){
             throw new Exception("X11JIS0201 does not work correctly");
         }
+        CharsetEncoder enc = cs.newEncoder();
+        char[] cc = new char[0xffff];
+        for (char c = 0; c < 0xffff; c++) {
+            cc[c] = c;
+            if (enc.canEncode(c) !=
+                ((c >= 0xff61 && c <= 0xff9f) || c == 0x203e || c == 0xa5)) {
+                throw new RuntimeException("x11jis0201 canEncod() failed!");
+            }
+        }
+        String s = new String(cc);
+        byte[] bb_x11 = s.getBytes(cs);
+        byte[] bb = s.getBytes("jis0201");
+        if (!java.util.Arrays.equals(bb, bb_x11)) {
+            throw new RuntimeException("x11jis0201 encoding failed");
+        }
     }
 }
--- a/test/sun/rmi/rmic/newrmic/equivalence/AppleUserImpl.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/sun/rmi/rmic/newrmic/equivalence/AppleUserImpl.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,6 +25,7 @@
 import java.rmi.Naming;
 import java.rmi.server.UnicastRemoteObject;
 import java.rmi.registry.LocateRegistry;
+import java.rmi.registry.Registry;
 import java.util.Random;
 import java.util.ArrayList;
 import java.util.Date;
@@ -249,11 +250,12 @@
         }
 
         synchronized (user) {
+            int port = -1;
             // create new registry and bind new AppleUserImpl in registry
             try {
-                LocateRegistry.createRegistry(1099); //TestLibrary.REGISTRY_PORT);
-                Naming.rebind("rmi://localhost:1099/AppleUser",user);
-                              //TestLibrary.REGISTRY_PORT + "/AppleUser", user);
+                Registry registry = TestLibrary.createRegistryOnUnusedPort();
+                port = TestLibrary.getRegistryPort(registry);
+                Naming.rebind("rmi://localhost:" + port + "/AppleUser",user);
             } catch (RemoteException e) {
                 //TestLibrary.bomb("Failed to bind AppleUser", e);
             } catch (java.net.MalformedURLException e) {
@@ -263,10 +265,9 @@
             // start the other server if available
             try {
                 Class app = Class.forName("ApplicationServer");
-                server = new Thread((Runnable) app.newInstance());
-                logger.log(Level.INFO, "Starting application server " +
-                    "in same process");
-                server.start();
+                java.lang.reflect.Constructor appConstructor =
+                        app.getDeclaredConstructor(new Class[] {Integer.TYPE});
+                server = new Thread((Runnable) appConstructor.newInstance(port));
             } catch (ClassNotFoundException e) {
                 // assume the other server is running in a separate process
                 logger.log(Level.INFO, "Application server must be " +
--- a/test/sun/rmi/rmic/newrmic/equivalence/run.sh	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/sun/rmi/rmic/newrmic/equivalence/run.sh	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,8 @@
 # @summary This test verifies that the new implementation of rmic
 # generates equivalent classes as the old implementation, for a set
 # of sample input classes.
+# @library ../../../../../java/rmi/testlibrary
+# @build TestLibrary
 # @author Peter Jones
 #
 # @build AgentServerImpl
--- a/test/sun/rmi/runtime/Log/6409194/NoConsoleOutput.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/sun/rmi/runtime/Log/6409194/NoConsoleOutput.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -90,7 +90,6 @@
     }
 
     public static class DoRMIStuff {
-        private static final int PORT = 2020;
         private interface Foo extends Remote {
             Object echo(Object obj) throws RemoteException;
         }
@@ -99,8 +98,9 @@
             public Object echo(Object obj) { return obj; }
         }
         public static void main(String[] args) throws Exception {
-            LocateRegistry.createRegistry(PORT);
-            Registry reg = LocateRegistry.getRegistry("", PORT);
+            Registry registry = TestLibrary.createRegistryOnUnusedPort();
+            int registryPort = TestLibrary.getRegistryPort(registry);
+            Registry reg = LocateRegistry.getRegistry("", registryPort);
             FooImpl fooimpl = new FooImpl();
             UnicastRemoteObject.exportObject(fooimpl, 0);
             reg.rebind("foo", fooimpl);
--- a/test/sun/rmi/runtime/Log/checkLogging/CheckLogging.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/sun/rmi/runtime/Log/checkLogging/CheckLogging.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -77,8 +77,9 @@
  * logger output is non-null.
  */
 public class CheckLogging {
-    private static final String LOCATION =
-        "rmi://localhost:" + TestLibrary.REGISTRY_PORT + "/";
+    private static int REGISTRY_PORT = -1;
+    private static String LOCATION;
+
     private static final ByteArrayOutputStream clientCallOut =
         new ByteArrayOutputStream();
 
@@ -100,7 +101,9 @@
     private static Registry registry;
     static {
         try {
-            registry = LocateRegistry.createRegistry(TestLibrary.REGISTRY_PORT);
+            registry = TestLibrary.createRegistryOnUnusedPort();
+            REGISTRY_PORT = TestLibrary.getRegistryPort(registry);
+            LOCATION = "rmi://localhost:" + REGISTRY_PORT + "/";
         } catch (Exception e) {
             TestLibrary.bomb("could not create registry");
         }
--- a/test/sun/rmi/transport/proxy/EagerHttpFallback.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/sun/rmi/transport/proxy/EagerHttpFallback.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,6 +25,8 @@
  * @bug 4290727
  * @summary Verify that ConnectException will trigger HTTP fallback if
  *          sun.rmi.transport.proxy.eagerHttpFallback system property is set.
+ * @library ../../../../java/rmi/testlibrary
+ * @build TestLibrary
  * @run main/othervm EagerHttpFallback
  */
 
@@ -33,8 +35,8 @@
 
 public class EagerHttpFallback {
 
-    static final int INITIAL_PORT = 7070;
-    static final int FALLBACK_PORT = 7071;
+    static final int INITIAL_PORT = TestLibrary.getUnusedRandomPort();
+    static final int FALLBACK_PORT = TestLibrary.getUnusedRandomPort();
 
     public static void main(String[] args) throws Exception {
         System.setProperty("http.proxyHost", "127.0.0.1");
--- a/test/sun/rmi/transport/tcp/DeadCachedConnection.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/sun/rmi/transport/tcp/DeadCachedConnection.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -58,7 +58,7 @@
 import java.rmi.server.*;
 
 public class DeadCachedConnection {
-    static public final int regport = 17340;
+    static public final int regport = TestLibrary.getUnusedRandomPort();
 
     static public void main(String[] argv)
         throws Exception {
--- a/test/sun/security/krb5/ServiceNameClone.java	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code 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
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-/*
- * @test
- * @bug 6856069
- * @summary PrincipalName.clone() does not invoke super.clone()
- */
-
-import sun.security.krb5.ServiceName;
-
-public class ServiceNameClone {
-    public static void main(String[] args) throws Exception {
-        ServiceName sn = new ServiceName("me@HERE");
-        if (sn.clone().getClass() != ServiceName.class) {
-            throw new Exception("ServiceName's clone is not a ServiceName");
-        }
-        if (!sn.clone().equals(sn)) {
-            throw new Exception("ServiceName's clone changed");
-        }
-    }
-}
--- a/test/sun/security/krb5/auto/BadKdc.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/sun/security/krb5/auto/BadKdc.java	Wed Aug 01 11:08:11 2012 -0400
@@ -67,7 +67,7 @@
      *       This is tough.
      *    c. Feed the KDC a UDP packet first. The current "solution".
      */
-    public static void go(int[]... expected)
+    public static void go(String... expected)
             throws Exception {
         try {
             go0(expected);
@@ -83,7 +83,7 @@
         }
     }
 
-    public static void go0(int[]... expected)
+    public static void go0(String... expected)
             throws Exception {
         System.setProperty("sun.security.krb5.debug", "true");
 
@@ -148,8 +148,9 @@
         return k;
     }
 
-    private static void test(int... expected) throws Exception {
+    private static void test(String expected) throws Exception {
         ByteArrayOutputStream bo = new ByteArrayOutputStream();
+        System.out.println("----------------- TEST -----------------");
         try {
             test0(bo, expected);
         } catch (Exception e) {
@@ -164,31 +165,34 @@
      * One round of test for max_retries and timeout.
      * @param expected the expected kdc# timeout kdc# timeout...
      */
-    private static void test0(ByteArrayOutputStream bo, int... expected)
+    private static void test0(ByteArrayOutputStream bo, String expected)
             throws Exception {
         PrintStream oldout = System.out;
+        boolean failed = false;
         System.setOut(new PrintStream(bo));
         try {
             Context.fromUserPass(OneKDC.USER, OneKDC.PASS, false);
+        } catch (Exception e) {
+            failed = true;
         } finally {
             System.setOut(oldout);
         }
 
         String[] lines = new String(bo.toByteArray()).split("\n");
-        System.out.println("----------------- TEST -----------------");
-        int count = 0;
+        StringBuilder sb = new StringBuilder();
         for (String line: lines) {
             Matcher m = re.matcher(line);
             if (m.find()) {
                 System.out.println(line);
-                if (Integer.parseInt(m.group(1)) != expected[count++] ||
-                        Integer.parseInt(m.group(2)) != expected[count++]) {
-                    throw new Exception("Fail here");
-                }
+                sb.append(m.group(1)).append(m.group(2));
             }
         }
-        if (count != expected.length) {
-            throw new Exception("Less rounds");
+        if (failed) sb.append('-');
+
+        String output = sb.toString();
+        System.out.println("Expected: " + expected + ", actual " + output);
+        if (!output.matches(expected)) {
+            throw new Exception("Does not match");
         }
     }
 }
--- a/test/sun/security/krb5/auto/BadKdc1.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/sun/security/krb5/auto/BadKdc1.java	Wed Aug 01 11:08:11 2012 -0400
@@ -37,16 +37,16 @@
            throws Exception {
        Security.setProperty("krb5.kdc.bad.policy", "tryLess");
        BadKdc.go(
-               new int[]{1,2,1,2,1,2,2,2,2,2,2,2,3,2,1,2,2,2,3,2}, // 1, 2
-               // The above line means try kdc1 for 2 seconds, then kdc1
-               // for 2 seconds,..., finally kdc3 for 2 seconds.
-               new int[]{1,2,2,2,3,2,1,2,2,2,3,2}, // 1, 2
+               "121212222222(32){1,2}1222(32){1,2}", // 1 2
+               // The above line means try kdc1 for 2 seconds then kdc1
+               // for 2 seconds... finally kdc3 for 2 seconds.
+               "1222(32){1,2}1222(32){1,2}",    // 1 2
                // refresh
-               new int[]{1,2,1,2,1,2,2,2,2,2,2,2,3,2,1,2,2,2,3,2}, // 1, 2
-               // k3 off, k2 on
-               new int[]{1,2,2,2,1,2,2,2}, // 1
+               "121212222222(32){1,2}1222(32){1,2}",  // 1 2
+               // k3 off k2 on
+               "(122212(22){1,2}|1222323232-)", // 1
                // k1 on
-               new int[]{1,2,1,2}  // empty
+               "(12(12){1,2}|122232-)"  // empty
        );
    }
 }
--- a/test/sun/security/krb5/auto/BadKdc2.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/sun/security/krb5/auto/BadKdc2.java	Wed Aug 01 11:08:11 2012 -0400
@@ -37,14 +37,14 @@
             throws Exception {
         Security.setProperty("krb5.kdc.bad.policy", "tryLess:2,1000");
         BadKdc.go(
-                new int[]{1,2,1,2,1,2,2,2,2,2,2,2,3,2,1,1,1,1,2,1,2,1,3,2}, // 1, 2
-                new int[]{1,1,1,1,2,1,2,1,3,2,1,1,1,1,2,1,2,1,3,2}, // 1, 2
+                "121212222222(32){1,2}11112121(32){1,2}", // 1 2
+                "11112121(32){1,2}11112121(32){1,2}", // 1 2
                 // refresh
-                new int[]{1,2,1,2,1,2,2,2,2,2,2,2,3,2,1,1,1,1,2,1,2,1,3,2}, // 1, 2
-                // k3 off, k2 on
-                new int[]{1,1,1,1,2,1,1,1,1,1,2,2}, // 1
+                "121212222222(32){1,2}11112121(32){1,2}", // 1 2
+                // k3 off k2 on
+                "1111(21){1,2}1111(22){1,2}", // 1
                 // k1 on
-                new int[]{1,1,1,2}  // empty
+                "(11){1,2}(12){1,2}"  // empty
         );
     }
 }
--- a/test/sun/security/krb5/auto/BadKdc3.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/sun/security/krb5/auto/BadKdc3.java	Wed Aug 01 11:08:11 2012 -0400
@@ -37,14 +37,14 @@
             throws Exception {
         Security.setProperty("krb5.kdc.bad.policy", "tryLast");
         BadKdc.go(
-                new int[]{1,2,1,2,1,2,2,2,2,2,2,2,3,2,3,2}, // 1, 2
-                new int[]{3,2,3,2}, // 1, 2
+                "121212222222(32){2,4}", // 1 2
+                "(32){2,4}", // 1 2
                 // refresh
-                new int[]{1,2,1,2,1,2,2,2,2,2,2,2,3,2,3,2}, // 1, 2
-                // k3 off, k2 on
-                new int[]{3,2,3,2,3,2,1,2,1,2,1,2,2,2,2,2}, // 1, 3
+                "121212222222(32){2,4}", // 1 2
+                // k3 off k2 on
+                "323232121212(22){2,4}", // 1 3
                 // k1 on
-                new int[]{2,2,2,2}  // 1, 3
+                "(22){2,4}"  // 1 3
         );
     }
 }
--- a/test/sun/security/krb5/auto/BadKdc4.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/sun/security/krb5/auto/BadKdc4.java	Wed Aug 01 11:08:11 2012 -0400
@@ -37,14 +37,14 @@
             throws Exception {
         Security.setProperty("krb5.kdc.bad.policy", "");
         BadKdc.go(
-            new int[]{1,2,1,2,1,2,2,2,2,2,2,2,3,2,1,2,1,2,1,2,2,2,2,2,2,2,3,2},
-            new int[]{1,2,1,2,1,2,2,2,2,2,2,2,3,2,1,2,1,2,1,2,2,2,2,2,2,2,3,2},
+            "121212222222(32){1,2}121212222222(32){1,2}",
+            "121212222222(32){1,2}121212222222(32){1,2}",
             // refresh
-            new int[]{1,2,1,2,1,2,2,2,2,2,2,2,3,2,1,2,1,2,1,2,2,2,2,2,2,2,3,2},
-            // k3 off, k2 on
-            new int[]{1,2,1,2,1,2,2,2,1,2,1,2,1,2,2,2},
+            "121212222222(32){1,2}121212222222(32){1,2}",
+            // k3 off k2 on
+            "121212(22){1,2}121212(22){1,2}",
             // k1 on
-            new int[]{1,2,1,2}
+            "(12){2,4}"
         );
     }
 }
--- a/test/sun/security/krb5/auto/KDC.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/sun/security/krb5/auto/KDC.java	Wed Aug 01 11:08:11 2012 -0400
@@ -606,9 +606,8 @@
         TGSReq tgsReq = new TGSReq(in);
         PrincipalName service = tgsReq.reqBody.sname;
         if (options.containsKey(KDC.Option.RESP_NT)) {
-            service = new PrincipalName(service.getNameStrings(),
-                    (int)options.get(KDC.Option.RESP_NT));
-            service.setRealm(service.getRealm());
+            service = new PrincipalName((int)options.get(KDC.Option.RESP_NT),
+                    service.getNameStrings(), service.getRealm());
         }
         try {
             System.out.println(realm + "> " + tgsReq.reqBody.cname +
@@ -632,7 +631,6 @@
                         EncryptedData ed = apReq.authenticator;
                         tkt = apReq.ticket;
                         int te = tkt.encPart.getEType();
-                        tkt.sname.setRealm(tkt.realm);
                         EncryptionKey kkey = keyForUser(tkt.sname, te, true);
                         byte[] bb = tkt.encPart.decrypt(kkey, KeyUsage.KU_TICKET);
                         DerInputStream derIn = new DerInputStream(bb);
@@ -693,7 +691,6 @@
             EncTicketPart enc = new EncTicketPart(
                     tFlags,
                     key,
-                    etp.crealm,
                     etp.cname,
                     new TransitedEncoding(1, new byte[0]),  // TODO
                     new KerberosTime(new Date()),
@@ -709,7 +706,6 @@
                 throw new KrbException(Krb5.KDC_ERR_SUMTYPE_NOSUPP); // TODO
             }
             Ticket t = new Ticket(
-                    body.crealm,
                     service,
                     new EncryptedData(skey, enc.asn1Encode(), KeyUsage.KU_TICKET)
             );
@@ -725,7 +721,6 @@
                     new KerberosTime(new Date()),
                     body.from,
                     till, body.rtime,
-                    body.crealm,
                     service,
                     body.addresses != null  // always set caddr
                             ? body.addresses
@@ -734,7 +729,6 @@
                     );
             EncryptedData edata = new EncryptedData(ckey, enc_part.asn1Encode(), KeyUsage.KU_ENC_TGS_REP_PART_SESSKEY);
             TGSRep tgsRep = new TGSRep(null,
-                    etp.crealm,
                     etp.cname,
                     t,
                     edata);
@@ -756,8 +750,8 @@
                         new KerberosTime(new Date()),
                         0,
                         ke.returnCode(),
-                        body.crealm, body.cname,
-                        new Realm(getRealm()), service,
+                        body.cname,
+                        service,
                         KrbException.errorMessage(ke.returnCode()),
                         null);
             }
@@ -780,7 +774,6 @@
         if (options.containsKey(KDC.Option.RESP_NT)) {
             service = new PrincipalName(service.getNameStrings(),
                     (int)options.get(KDC.Option.RESP_NT));
-            service.setRealm(service.getRealm());
         }
         try {
             System.out.println(realm + "> " + asReq.reqBody.cname +
@@ -788,7 +781,6 @@
                     service);
 
             KDCReqBody body = asReq.reqBody;
-            body.cname.setRealm(getRealm());
 
             eTypes = KDCReqBodyDotEType(body);
             int eType = eTypes[0];
@@ -971,7 +963,6 @@
             EncTicketPart enc = new EncTicketPart(
                     tFlags,
                     key,
-                    body.crealm,
                     body.cname,
                     new TransitedEncoding(1, new byte[0]),
                     new KerberosTime(new Date()),
@@ -980,7 +971,6 @@
                     body.addresses,
                     null);
             Ticket t = new Ticket(
-                    body.crealm,
                     service,
                     new EncryptedData(skey, enc.asn1Encode(), KeyUsage.KU_TICKET)
             );
@@ -996,14 +986,12 @@
                     new KerberosTime(new Date()),
                     body.from,
                     till, body.rtime,
-                    body.crealm,
                     service,
                     body.addresses
                     );
             EncryptedData edata = new EncryptedData(ckey, enc_part.asn1Encode(), KeyUsage.KU_ENC_AS_REP_PART);
             ASRep asRep = new ASRep(
                     outPAs.toArray(new PAData[outPAs.size()]),
-                    body.crealm,
                     body.cname,
                     t,
                     edata);
@@ -1024,7 +1012,6 @@
                 asRep.encKDCRepPart = enc_part;
                 sun.security.krb5.internal.ccache.Credentials credentials =
                     new sun.security.krb5.internal.ccache.Credentials(asRep);
-                asReq.reqBody.cname.setRealm(getRealm());
                 CredentialsCache cache =
                     CredentialsCache.create(asReq.reqBody.cname, ccache);
                 if (cache == null) {
@@ -1059,8 +1046,8 @@
                         new KerberosTime(new Date()),
                         0,
                         ke.returnCode(),
-                        body.crealm, body.cname,
-                        new Realm(getRealm()), service,
+                        body.cname,
+                        service,
                         KrbException.errorMessage(ke.returnCode()),
                         eData);
             }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/sun/security/krb5/name/Constructors.java	Wed Aug 01 11:08:11 2012 -0400
@@ -0,0 +1,135 @@
+/*
+ * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code 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
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+/*
+ * @test
+ * @bug 6966259
+ * @summary Make PrincipalName and Realm immutable
+ * @run main/othervm Constructors
+ */
+
+import java.util.Arrays;
+import sun.security.krb5.*;
+
+public class Constructors {
+    public static void main(String[] args) throws Exception {
+
+        int type;
+        boolean testNoDefaultDomain;
+
+        // Part 1: on format
+
+        // Good ones
+        type = PrincipalName.KRB_NT_UNKNOWN;
+        checkName("a", type, "R", "R", "a");
+        checkName("a@R2", type, "R", "R", "a");
+        checkName("a/b", type, "R", "R", "a", "b");
+        checkName("a/b@R2", type, "R", "R", "a", "b");
+        checkName("a/b/c", type, "R", "R", "a", "b", "c");
+        checkName("a/b/c@R2", type, "R", "R", "a", "b", "c");
+        // Weird ones
+        checkName("a\\/b", type, "R", "R", "a/b");
+        checkName("a\\/b\\/c", type, "R", "R", "a/b/c");
+        checkName("a\\/b\\@R2", type, "R", "R", "a/b@R2");
+        // Bad ones
+        checkName("a", type, "", null);
+        checkName("a/", type, "R", null);
+        checkName("/a", type, "R", null);
+        checkName("a//b", type, "R", null);
+        checkName("a@", type, null, null);
+        type = PrincipalName.KRB_NT_SRV_HST;
+
+        // Part 2: on realm choices
+
+        // When there is no default realm
+        System.setProperty("java.security.krb5.conf",
+                System.getProperty("test.src", ".") + "/empty.conf");
+        Config.refresh();
+
+        // A Windows client login to AD always has a default realm
+        try {
+            Realm r = Realm.getDefault();
+            System.out.println("testNoDefaultDomain = false. Realm is " + r);
+            testNoDefaultDomain = false;
+        } catch (RealmException re) {
+            // Great. This is what we expected
+            testNoDefaultDomain = true;
+        }
+
+        if (testNoDefaultDomain) {
+            type = PrincipalName.KRB_NT_UNKNOWN;
+            checkName("a", type, "R1", "R1", "a");      // arg
+            checkName("a@R1", type, null, "R1", "a");   // or r in name
+            checkName("a@R2", type, "R1", "R1", "a");   // arg over r
+            checkName("a", type, null, null);      // fail if none
+            checkName("a/b@R1", type, null, "R1", "a", "b");
+            type = PrincipalName.KRB_NT_SRV_HST;
+            // Let's pray "b.h" won't be canonicalized
+            checkName("a/b.h", type, "R1", "R1", "a", "b.h");    // arg
+            checkName("a/b.h@R1", type, null, "R1", "a", "b.h"); // or r in name
+            checkName("a/b.h@R1", type, "R2", "R2", "a", "b.h"); // arg over r
+            checkName("a/b.h", type, null, null);    // fail if none
+        }
+
+        // When there is default realm
+        System.setProperty("java.security.krb5.conf",
+                System.getProperty("test.src", ".") + "/krb5.conf");
+        Config.refresh();
+
+        type = PrincipalName.KRB_NT_UNKNOWN;
+        checkName("a", type, "R1", "R1", "a");      // arg
+        checkName("a@R1", type, null, "R1", "a");   // or r in name
+        checkName("a@R2", type, "R1", "R1", "a");   // arg over r
+        checkName("a", type, null, "R", "a");       // default
+        checkName("a/b", type, null, "R", "a", "b");
+        type = PrincipalName.KRB_NT_SRV_HST;
+        checkName("a/b.h3", type, "R1", "R1", "a", "b.h3");     // arg
+        checkName("a/b.h@R1", type, null, "R1", "a", "b.h");    // or r in name
+        checkName("a/b.h3@R2", type, "R1", "R1", "a", "b.h3");  // arg over r
+        checkName("a/b.h2", type, "R1", "R1", "a", "b.h2");     // arg over map
+        checkName("a/b.h2@R1", type, null, "R1", "a", "b.h2");  // r over map
+        checkName("a/b.h2", type, null, "R2", "a", "b.h2");     // map
+        checkName("a/b.h", type, null, "R", "a", "b.h");        // default
+    }
+
+    // Check if the creation matches the expected output.
+    // Note: realm == null means creation failure
+    static void checkName(String n, int t, String s,
+            String realm, String... parts)
+            throws Exception {
+        PrincipalName pn = null;
+        try {
+            pn = new PrincipalName(n, t, s);
+        } catch (Exception e) {
+            if (realm == null) {
+                return; // This is expected
+            } else {
+                throw e;
+            }
+        }
+        if (!pn.getRealmAsString().equals(realm)
+                || !Arrays.equals(pn.getNameStrings(), parts)) {
+            throw new Exception(pn.toString() + " vs "
+                    + Arrays.toString(parts) + "@" + realm);
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/sun/security/krb5/name/empty.conf	Wed Aug 01 11:08:11 2012 -0400
@@ -0,0 +1,2 @@
+[libdefaults]
+dns_fallback = false
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/sun/security/krb5/name/krb5.conf	Wed Aug 01 11:08:11 2012 -0400
@@ -0,0 +1,10 @@
+[libdefaults]
+default_realm = R
+
+[realms]
+R = {
+    kdc = kdc
+}
+
+[domain_realm]
+.h2 = R2
--- a/test/sun/security/mscapi/ShortRSAKey1024.sh	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/sun/security/mscapi/ShortRSAKey1024.sh	Wed Aug 01 11:08:11 2012 -0400
@@ -27,7 +27,9 @@
 # @test
 # @bug 7106773
 # @summary 512 bits RSA key cannot work with SHA384 and SHA512
-# @run shell ShortRSAKey1024.sh
+# @run shell ShortRSAKey1024.sh 1024
+# @run shell ShortRSAKey1024.sh 768
+# @run shell ShortRSAKey1024.sh 512
 
 # set a few environment variables so that the shell-script can run stand-alone
 # in the source directory
@@ -55,17 +57,27 @@
     ;;
 esac
 
+BITS=$1
+
 case "$OS" in
     Windows* | CYGWIN* )
 
+        echo "Removing the keypair if it already exists (for unknown reason)..."
+        ${TESTJAVA}${FS}bin${FS}keytool \
+            -delete \
+            -storetype Windows-My \
+            -debug \
+            -alias 7106773.$BITS
+
         echo "Creating a temporary RSA keypair in the Windows-My store..."
         ${TESTJAVA}${FS}bin${FS}keytool \
             -genkeypair \
             -storetype Windows-My \
             -keyalg RSA \
-            -alias 7106773.1024 \
-            -keysize 1024 \
+            -alias 7106773.$BITS \
+            -keysize $BITS \
             -dname "cn=localhost,c=US" \
+            -debug \
             -noprompt
 
         if [ "$?" -ne "0" ]; then
@@ -77,7 +89,7 @@
         echo "Running the test..."
         ${TESTJAVA}${FS}bin${FS}javac -d . \
             ${TESTSRC}${FS}ShortRSAKeyWithinTLS.java
-        ${TESTJAVA}${FS}bin${FS}java ShortRSAKeyWithinTLS 7106773.1024 1024 \
+        ${TESTJAVA}${FS}bin${FS}java ShortRSAKeyWithinTLS 7106773.$BITS $BITS \
             TLSv1.2 TLS_DHE_RSA_WITH_AES_128_CBC_SHA
 
         rc=$?
@@ -87,7 +99,8 @@
         ${TESTJAVA}${FS}bin${FS}keytool \
             -delete \
             -storetype Windows-My \
-            -alias 7106773.1024
+            -debug \
+            -alias 7106773.$BITS
 
         echo "Done".
         exit $rc
--- a/test/sun/security/mscapi/ShortRSAKey512.sh	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,101 +0,0 @@
-#!/bin/sh
-
-#
-# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.
-#
-# This code 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
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-
-# @test
-# @bug 7106773
-# @summary 512 bits RSA key cannot work with SHA384 and SHA512
-# @run shell ShortRSAKey512.sh
-
-# set a few environment variables so that the shell-script can run stand-alone
-# in the source directory
-if [ "${TESTSRC}" = "" ] ; then
-   TESTSRC="."
-fi
-
-if [ "${TESTCLASSES}" = "" ] ; then
-   TESTCLASSES="."
-fi
-
-if [ "${TESTJAVA}" = "" ] ; then
-   echo "TESTJAVA not set.  Test cannot execute."
-   echo "FAILED!!!"
-   exit 1
-fi
-
-OS=`uname -s`
-case "$OS" in
-  SunOS | Linux | Darwin | CYGWIN* )
-    FS="/"
-    ;;
-  Windows_* )
-    FS="\\"
-    ;;
-esac
-
-case "$OS" in
-    Windows* | CYGWIN* )
-
-        echo "Creating a temporary RSA keypair in the Windows-My store..."
-        ${TESTJAVA}${FS}bin${FS}keytool \
-            -genkeypair \
-            -storetype Windows-My \
-            -keyalg RSA \
-            -alias 7106773.512 \
-            -keysize 512 \
-            -dname "cn=localhost,c=US" \
-            -noprompt
-
-        if [ "$?" -ne "0" ]; then
-            echo "Unable to generate key pair in Windows-My keystore"
-            exit 1
-        fi
-
-        echo
-        echo "Running the test..."
-        ${TESTJAVA}${FS}bin${FS}javac -d . \
-            ${TESTSRC}${FS}ShortRSAKeyWithinTLS.java
-        ${TESTJAVA}${FS}bin${FS}java ShortRSAKeyWithinTLS 7106773.512 512 \
-            TLSv1.2 TLS_DHE_RSA_WITH_AES_128_CBC_SHA
-
-
-        rc=$?
-
-        echo
-        echo "Removing the temporary RSA keypair from the Windows-My store..."
-        ${TESTJAVA}${FS}bin${FS}keytool \
-            -delete \
-            -storetype Windows-My \
-            -alias 7106773.512
-
-        echo "Done".
-        exit $rc
-        ;;
-
-    * )
-        echo "This test is not intended for '$OS' - passing test"
-        exit 0
-        ;;
-esac
--- a/test/sun/security/mscapi/ShortRSAKey768.sh	Wed Aug 01 11:06:44 2012 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,100 +0,0 @@
-#!/bin/sh
-
-#
-# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.
-#
-# This code 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
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-
-# @test
-# @bug 7106773
-# @summary 512 bits RSA key cannot work with SHA384 and SHA512
-# @run shell ShortRSAKey768.sh
-
-# set a few environment variables so that the shell-script can run stand-alone
-# in the source directory
-if [ "${TESTSRC}" = "" ] ; then
-   TESTSRC="."
-fi
-
-if [ "${TESTCLASSES}" = "" ] ; then
-   TESTCLASSES="."
-fi
-
-if [ "${TESTJAVA}" = "" ] ; then
-   echo "TESTJAVA not set.  Test cannot execute."
-   echo "FAILED!!!"
-   exit 1
-fi
-
-OS=`uname -s`
-case "$OS" in
-  SunOS | Linux | Darwin | CYGWIN* )
-    FS="/"
-    ;;
-  Windows_* )
-    FS="\\"
-    ;;
-esac
-
-case "$OS" in
-    Windows* | CYGWIN* )
-
-        echo "Creating a temporary RSA keypair in the Windows-My store..."
-        ${TESTJAVA}${FS}bin${FS}keytool \
-            -genkeypair \
-            -storetype Windows-My \
-            -keyalg RSA \
-            -alias 7106773.768 \
-            -keysize 768 \
-            -dname "cn=localhost,c=US" \
-            -noprompt
-
-        if [ "$?" -ne "0" ]; then
-            echo "Unable to generate key pair in Windows-My keystore"
-            exit 1
-        fi
-
-        echo
-        echo "Running the test..."
-        ${TESTJAVA}${FS}bin${FS}javac -d . \
-            ${TESTSRC}${FS}ShortRSAKeyWithinTLS.java
-        ${TESTJAVA}${FS}bin${FS}java ShortRSAKeyWithinTLS 7106773.768 768 \
-            TLSv1.2 TLS_DHE_RSA_WITH_AES_128_CBC_SHA
-
-        rc=$?
-
-        echo
-        echo "Removing the temporary RSA keypair from the Windows-My store..."
-        ${TESTJAVA}${FS}bin${FS}keytool \
-            -delete \
-            -storetype Windows-My \
-            -alias 7106773.768
-
-        echo "Done".
-        exit $rc
-        ;;
-
-    * )
-        echo "This test is not intended for '$OS' - passing test"
-        exit 0
-        ;;
-esac
--- a/test/sun/security/pkcs11/PKCS11Test.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/sun/security/pkcs11/PKCS11Test.java	Wed Aug 01 11:08:11 2012 -0400
@@ -245,6 +245,10 @@
         osMap.put("SunOS-amd64-64", "/usr/lib/mps/64/");
         osMap.put("Linux-i386-32", "/usr/lib/");
         osMap.put("Linux-amd64-64", "/usr/lib64/");
+        osMap.put("Windows-x86-32",
+            PKCS11_BASE + "/nss/lib/windows-i586/".replace('/', SEP));
+        osMap.put("Windows-amd64-64",
+            PKCS11_BASE + "/nss/lib/windows-amd64/".replace('/', SEP));
     }
 
     private final static char[] hexDigits = "0123456789abcdef".toCharArray();
Binary file test/sun/security/pkcs11/nss/lib/windows-amd64/freebl3.chk has changed
Binary file test/sun/security/pkcs11/nss/lib/windows-amd64/freebl3.dll has changed
Binary file test/sun/security/pkcs11/nss/lib/windows-amd64/libnspr4.dll has changed
Binary file test/sun/security/pkcs11/nss/lib/windows-amd64/libnspr4.lib has changed
Binary file test/sun/security/pkcs11/nss/lib/windows-amd64/libplc4.dll has changed
Binary file test/sun/security/pkcs11/nss/lib/windows-amd64/libplc4.lib has changed
Binary file test/sun/security/pkcs11/nss/lib/windows-amd64/libplds4.dll has changed
Binary file test/sun/security/pkcs11/nss/lib/windows-amd64/libplds4.lib has changed
Binary file test/sun/security/pkcs11/nss/lib/windows-amd64/nss3.dll has changed
Binary file test/sun/security/pkcs11/nss/lib/windows-amd64/nss3.lib has changed
Binary file test/sun/security/pkcs11/nss/lib/windows-amd64/nssckbi.dll has changed
Binary file test/sun/security/pkcs11/nss/lib/windows-amd64/nssdbm3.chk has changed
Binary file test/sun/security/pkcs11/nss/lib/windows-amd64/nssdbm3.dll has changed
Binary file test/sun/security/pkcs11/nss/lib/windows-amd64/nssutil3.dll has changed
Binary file test/sun/security/pkcs11/nss/lib/windows-amd64/nssutil3.lib has changed
Binary file test/sun/security/pkcs11/nss/lib/windows-amd64/softokn3.chk has changed
Binary file test/sun/security/pkcs11/nss/lib/windows-amd64/softokn3.dll has changed
Binary file test/sun/security/pkcs11/nss/lib/windows-amd64/sqlite3.dll has changed
Binary file test/sun/security/pkcs11/nss/lib/windows-amd64/ssl3.dll has changed
Binary file test/sun/security/pkcs11/nss/lib/windows-amd64/ssl3.lib has changed
Binary file test/sun/security/pkcs11/nss/lib/windows-i586/freebl3.chk has changed
Binary file test/sun/security/pkcs11/nss/lib/windows-i586/freebl3.dll has changed
Binary file test/sun/security/pkcs11/nss/lib/windows-i586/libnspr4.dll has changed
Binary file test/sun/security/pkcs11/nss/lib/windows-i586/libnspr4.lib has changed
Binary file test/sun/security/pkcs11/nss/lib/windows-i586/libplc4.dll has changed
Binary file test/sun/security/pkcs11/nss/lib/windows-i586/libplc4.lib has changed
Binary file test/sun/security/pkcs11/nss/lib/windows-i586/libplds4.dll has changed
Binary file test/sun/security/pkcs11/nss/lib/windows-i586/libplds4.lib has changed
Binary file test/sun/security/pkcs11/nss/lib/windows-i586/nss3.dll has changed
Binary file test/sun/security/pkcs11/nss/lib/windows-i586/nss3.lib has changed
Binary file test/sun/security/pkcs11/nss/lib/windows-i586/nssckbi.dll has changed
Binary file test/sun/security/pkcs11/nss/lib/windows-i586/nssdbm3.chk has changed
Binary file test/sun/security/pkcs11/nss/lib/windows-i586/nssdbm3.dll has changed
Binary file test/sun/security/pkcs11/nss/lib/windows-i586/nssutil3.dll has changed
Binary file test/sun/security/pkcs11/nss/lib/windows-i586/nssutil3.lib has changed
Binary file test/sun/security/pkcs11/nss/lib/windows-i586/softokn3.chk has changed
Binary file test/sun/security/pkcs11/nss/lib/windows-i586/softokn3.dll has changed
Binary file test/sun/security/pkcs11/nss/lib/windows-i586/sqlite3.dll has changed
Binary file test/sun/security/pkcs11/nss/lib/windows-i586/ssl3.dll has changed
Binary file test/sun/security/pkcs11/nss/lib/windows-i586/ssl3.lib has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/sun/security/pkcs11/nss/src/MD5SUMS	Wed Aug 01 11:08:11 2012 -0400
@@ -0,0 +1,1 @@
+1390c8a35c667e05e542  nss-3.13.1.tar.gz
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/sun/security/pkcs11/nss/src/SHA1SUMS	Wed Aug 01 11:08:11 2012 -0400
@@ -0,0 +1,1 @@
+d8e7ee9f9f1e0bfa2ea8b72d25727634fea130a6  nss-3.13.1.tar.gz
Binary file test/sun/security/pkcs11/nss/src/nss-3.13.1.tar.gz has changed
--- a/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLEngineImpl/SSLEngineBadBufferArrayAccess.java	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLEngineImpl/SSLEngineBadBufferArrayAccess.java	Wed Aug 01 11:08:11 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -287,18 +287,27 @@
                     if (serverClose) {
                         serverEngine.closeOutbound();
                     }
+                }
+
+                if (closed && isEngineClosed(serverEngine)) {
                     serverIn.flip();
 
                     /*
                      * A sanity check to ensure we got what was sent.
                      */
                     if (serverIn.remaining() != clientMsg.length) {
-                        throw new Exception("Client:  Data length error");
+                        throw new Exception("Client: Data length error -" +
+                            " IF THIS FAILS, PLEASE REPORT THIS TO THE" +
+                            " SECURITY TEAM.  WE HAVE BEEN UNABLE TO" +
+                            " RELIABLY DUPLICATE.");
                     }
 
                     for (int i = 0; i < clientMsg.length; i++) {
                         if (clientMsg[i] != serverIn.get()) {
-                            throw new Exception("Client:  Data content error");
+                            throw new Exception("Client: Data content error -" +
+                            " IF THIS FAILS, PLEASE REPORT THIS TO THE" +
+                            " SECURITY TEAM.  WE HAVE BEEN UNABLE TO" +
+                            " RELIABLY DUPLICATE.");
                         }
                     }
                     serverIn.compact();
--- a/test/sun/security/util/Oid/S11N.sh	Wed Aug 01 11:06:44 2012 -0400
+++ b/test/sun/security/util/Oid/S11N.sh	Wed Aug 01 11:08:11 2012 -0400
@@ -71,7 +71,7 @@
       i[3-6]86 )
         PF="linux-i586"
         ;;
-      amd64* )
+      amd64* | x86_64 )
         PF="linux-amd64"
         ;;
       * )
@@ -97,15 +97,29 @@
     ;;
 esac
 
+echo "==================================================="
+echo "Try to set ALT_JAVA_RE_JDK if you see timeout error"
+echo "==================================================="
+
 # the test code
 
 ${TESTJAVA}${FS}bin${FS}javac -target 1.4 -source 1.4 \
         -d . ${TESTSRC}${FS}SerialTest.java || exit 10
 
+# You can set ALT_JAVA_RE_JDK to another location that contains the
+# binaries for older JDK releases. You can set it to a non-existent
+# directory to skip the interop tests between different versions.
+
+if [ "$ALT_JAVA_RE_JDK" = "" ]; then
+    JAVA_RE_JDK=/java/re/j2se
+else
+    JAVA_RE_JDK=$ALT_JAVA_RE_JDK
+fi
+
 OLDJAVA="
-    /java/re/j2se/1.6.0/latest/binaries/${PF}
-    /java/re/j2se/1.5.0/latest/binaries/${PF}
-    /java/re/j2se/1.4.2/latest/binaries/${PF}
+    $JAVA_RE_JDK/1.6.0/latest/binaries/${PF}
+    $JAVA_RE_JDK/1.5.0/latest/binaries/${PF}
+    $JAVA_RE_JDK/1.4.2/latest/binaries/${PF}
 "
 
 SMALL="
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/sun/security/x509/AlgorithmId/NonStandardNames.java	Wed Aug 01 11:08:11 2012 -0400
@@ -0,0 +1,84 @@
+/*
+ * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code 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
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 7180907
+ * @summary Jarsigner -verify fails if rsa file used sha-256 with authenticated attributes
+ */
+
+import java.security.MessageDigest;
+import java.security.Signature;
+import java.security.cert.X509Certificate;
+import sun.security.pkcs.ContentInfo;
+import sun.security.pkcs.PKCS7;
+import sun.security.pkcs.PKCS9Attribute;
+import sun.security.pkcs.PKCS9Attributes;
+import sun.security.pkcs.SignerInfo;
+import sun.security.tools.CertAndKeyGen;
+import sun.security.x509.AlgorithmId;
+import sun.security.x509.X500Name;
+
+public class NonStandardNames {
+
+    public static void main(String[] args) throws Exception {
+
+        byte[] data = "Hello".getBytes();
+        X500Name n = new X500Name("cn=Me");
+
+        CertAndKeyGen cakg = new CertAndKeyGen("RSA", "SHA256withRSA");
+        cakg.generate(1024);
+        X509Certificate cert = cakg.getSelfCertificate(n, 1000);
+
+        MessageDigest md = MessageDigest.getInstance("SHA-256");
+        PKCS9Attributes authed = new PKCS9Attributes(new PKCS9Attribute[]{
+            new PKCS9Attribute(PKCS9Attribute.CONTENT_TYPE_OID, ContentInfo.DATA_OID),
+            new PKCS9Attribute(PKCS9Attribute.MESSAGE_DIGEST_OID, md.digest(data)),
+        });
+
+        Signature s = Signature.getInstance("SHA256withRSA");
+        s.initSign(cakg.getPrivateKey());
+        s.update(authed.getDerEncoding());
+        byte[] sig = s.sign();
+
+        SignerInfo signerInfo = new SignerInfo(
+                n,
+                cert.getSerialNumber(),
+                AlgorithmId.get("SHA-256"),
+                authed,
+                AlgorithmId.get("SHA256withRSA"),
+                sig,
+                null
+                );
+
+        PKCS7 pkcs7 = new PKCS7(
+                new AlgorithmId[] {signerInfo.getDigestAlgorithmId()},
+                new ContentInfo(data),
+                new X509Certificate[] {cert},
+                new SignerInfo[] {signerInfo});
+
+        if (pkcs7.verify(signerInfo, data) == null) {
+            throw new Exception("Not verified");
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/tools/pack200/RepackTest.java	Wed Aug 01 11:08:11 2012 -0400
@@ -0,0 +1,74 @@
+/*
+ * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code 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
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+/*
+ * @test
+ * @bug 7184145
+ * @summary tests repacking of a simple named jarfile.
+ * @compile -XDignore.symbol.file Utils.java RepackTest.java
+ * @run main RepackTest
+ * @author ksrini
+ */
+public class RepackTest {
+
+    public static void main(String... args) throws Exception {
+        testRepack();
+    }
+
+    /*
+     * there are two cases we need to test, where the file in question is
+     * orpaned, ie. without a parent ie. not qualified by a parent path
+     * relative nor absolute
+     * case 1: src and dest are the same
+     * case 2: src and dest are different
+     */
+    static void testRepack() throws IOException {
+
+        // make a copy of the test specimen to local directory
+        File testFile = new File("src_tools.jar");
+        Utils.copyFile(Utils.locateJar("golden.jar"), testFile);
+        List<String> cmdsList = new ArrayList<>();
+
+        // case 1:
+        cmdsList.add(Utils.getPack200Cmd());
+        cmdsList.add("--repack");
+        cmdsList.add(testFile.getName());
+        Utils.runExec(cmdsList);
+
+        // case 2:
+        File dstFile = new File("dst_tools.jar");
+        cmdsList.clear();
+        cmdsList.add(Utils.getPack200Cmd());
+        cmdsList.add("--repack");
+        cmdsList.add(dstFile.getName());
+        cmdsList.add(testFile.getName());
+        Utils.runExec(cmdsList);
+
+        // tidy up
+        testFile.delete();
+        dstFile.delete();
+    }
+}