Code

Update charclass.h/cpp to use complete Unicode character database
authorishmal <ishmal@users.sourceforge.net>
Fri, 7 Mar 2008 20:44:54 +0000 (20:44 +0000)
committerishmal <ishmal@users.sourceforge.net>
Fri, 7 Mar 2008 20:44:54 +0000 (20:44 +0000)
src/dom/charclass.cpp
src/dom/charclass.h
src/dom/cssparser.cpp
src/dom/io/domstream.cpp
src/dom/svg/svgparser.cpp
src/dom/uri.cpp
src/dom/xmlreader.cpp
src/dom/xpathparser.cpp

index 39934c45e0e60d179887bcf08e9cc08b6b9f8dfa..61853fa616f03ea072619492cd3dd1a300234a01 100644 (file)
-/**
- * Phoebe DOM Implementation.
+/*
+ * Generated by UcdReader at:Fri Mar 07 14:15:18 CST 2008
+ * block table size:2 (4 bytes)
+ * plane table size:6 (64 bytes)
  *
- * This is a C++ approximation of the W3C DOM model, which follows
- * fairly closely the specifications in the various .idl files, copies of
- * which are provided for reference.  Most important is this one:
  *
- * http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/idl-definitions.html
+ *  This table reflects information gleaned from the Unicode Character
+ *  Database.  All codepoints are included.
  *
- * Authors:
- *   Bob Jamison
+ *  You might notice that this table is larger than some other implementations.
+ *  This is because we included the entire UCD set of codepoints, rather than
+ *  truncating it at 16 bits for UTF-16
  *
- * Copyright (C) 2005-2008 Bob Jamison
+ *  This lookup table should be compared to the raw unfolded table lookup
+ *  to make sure that no bits are lost in compression.  This is done internally
+ *  before this file is generated (else it would not -be- generated).  However,
+ *  you should also do this in the target compiler.
  *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
+ * The character properties are currently encoded into 32 bits in the
+ * following manner:
  *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- *  Lesser General Public License for more details.
+ * -----------------------------------------------------------------
+ * |3|3|2|2|2|2|2|2|2|2|2|2|1|1|1|1|1|1|1|1|1|1|0|0|0|0|0|0|0|0|0|0|
+ * |1|0|9|8|7|6|5|4|3|2|1|0|9|8|7|6|5|4|3|2|1|0|9|8|7|6|5|4|3|2|1|0|
+ * |-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|
+ * |A|B|B|B|B|C|C|C|C|C|C|C|C|C|D|E|F|G|G|G|H|H|I|I|I|I|I|J|J|J|J|J|
+ * -----------------------------------------------------------------
  *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ * A 1 bit      mirrored property
+ * B 4 bits     directionality property
+ * C 9 bits     signed offset used for converting case
+ * D 1 bit      if 1, adding the signed offset converts the character to
+ *              lowercase
+ * E 1 bit      if 1, subtracting the signed offset converts the character to
+ *              uppercase
+ * F 1 bit      if 1, character has a titlecase equivalent (possibly itself)
+ * G 3 bits     This field is for storing our own lexical information, in addition
+ *              to that given by the UCD.  The fields are as follows:
+ *              0  may not be part of an identifier
+ *              1  ignorable control; may continue a Unicode identifier or JS
+ *                 identifier
+ *              2  may continue a JS identifier but not a Unicode identifier
+ *                 (unused)
+ *              3  may continue a Unicode identifier or JS identifier
+ *              4  is a JS whitespace character
+ *              5  may start or continue a JS identifier;
+ *                 may continue but not start a Unicode identifier (_)
+ *              6  may start or continue a JS identifier but not a Unicode
+ *                 identifier ($)
+ *              7  may start or continue a Unicode identifier or JS identifier
+ *              Thus:
+ *                 5, 6, 7 may start a JS identifier
+ *                 1, 2, 3, 5, 6, 7 may continue a JS identifier
+ *                 7 may start a Unicode identifier
+ *                 1, 3, 5, 7 may continue a Unicode identifier
+ *                 1 is ignorable within an identifier
+ *                 4 is JS whitespace
+ *  H 2 bits    This field is for storing additional information regarding this
+ *              codepoint's numeric properties.  The values are:
+ *              0  this character has no numeric property
+ *              1  adding the digit offset to the character code and then
+ *                 masking with 0x1F will produce the desired numeric value
+ *              2  this character has a 'strange' numeric value
+ *              3  a JS supradecimal digit: adding the digit offset to the
+ *                 character code, then masking with 0x1F, then adding 10
+ *                 will produce the desired numeric value
+ *  I 5 bits    digit offset
+ *  J 5 bits    character type
  */
 
-#include "charclass.h"
 
 
 /**
- * (impl) LetterOrDigit ::=
- *        Letter | Digit
+ * Plane table has 4352 entries
  */
-bool isLetterOrDigit(int ch)
+static unsigned short plane[] =
 {
-    if (isLetter(ch))
-        return true;
-    if (isDigit(ch))
-        return true;
-    return false;
-}
+  0x0000,  0x0040,  0x0080,  0x00c0,  0x0100,  0x0140,  0x0180,  0x01c0, /* 8 */
+  0x0200,  0x0240,  0x0280,  0x02c0,  0x0300,  0x0340,  0x0380,  0x03c0, /* 16 */
+  0x0400,  0x0440,  0x0480,  0x04c0,  0x0500,  0x0540,  0x0580,  0x05c0, /* 24 */
+  0x0600,  0x0640,  0x0680,  0x06c0,  0x01ff,  0x0700,  0x0740,  0x0780, /* 32 */
+  0x07c0,  0x0800,  0x0840,  0x0880,  0x08c0,  0x0900,  0x0940,  0x0980, /* 40 */
+  0x09c0,  0x0a00,  0x0a40,  0x0a80,  0x0ac0,  0x0b00,  0x0b40,  0x0b80, /* 48 */
+  0x0bc0,  0x0c00,  0x0c40,  0x0c80,  0x0501,  0x0501,  0x0501,  0x0501, /* 56 */
+  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501, /* 64 */
+  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501, /* 72 */
+  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0cc0,  0x0501,  0x0501, /* 80 */
+  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501, /* 88 */
+  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501, /* 96 */
+  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501, /* 104 */
+  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501, /* 112 */
+  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501, /* 120 */
+  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501, /* 128 */
+  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501, /* 136 */
+  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501, /* 144 */
+  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501, /* 152 */
+  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0d00, /* 160 */
+  0x0d40,  0x0501,  0x0501,  0x0501,  0x0d80,  0x01ff,  0x01ff,  0x0dc0, /* 168 */
+  0x0e00,  0x01ff,  0x01ff,  0x01ff,  0x0501,  0x0501,  0x0501,  0x0501, /* 176 */
+  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501, /* 184 */
+  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501, /* 192 */
+  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501, /* 200 */
+  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501, /* 208 */
+  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0e40, /* 216 */
+  0x0e80,  0x0ec0,  0x0e82,  0x0e82,  0x0e82,  0x0e82,  0x0e82,  0x0e82, /* 224 */
+  0x0f00,  0x0f40,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02, /* 232 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02, /* 240 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02, /* 248 */
+  0x0f02,  0x0501,  0x0f80,  0x0fc0,  0x1000,  0x1040,  0x1080,  0x10c0, /* 256 */
+  0x1100,  0x1140,  0x01ff,  0x1180,  0x11c0,  0x01ff,  0x01ff,  0x01ff, /* 264 */
+  0x1200,  0x1240,  0x1280,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 272 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 280 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 288 */
+  0x0501,  0x0501,  0x0501,  0x12c0,  0x1300,  0x01ff,  0x01ff,  0x01ff, /* 296 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 304 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 312 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 320 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 328 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 336 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 344 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 352 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 360 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 368 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 376 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 384 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 392 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 400 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 408 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 416 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 424 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 432 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 440 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 448 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 456 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 464 */
+  0x1340,  0x1380,  0x13c0,  0x1400,  0x1440,  0x1480,  0x14c0,  0x1500, /* 472 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 480 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 488 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 496 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 504 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 512 */
+  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501, /* 520 */
+  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501, /* 528 */
+  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501, /* 536 */
+  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501, /* 544 */
+  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501, /* 552 */
+  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501, /* 560 */
+  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501, /* 568 */
+  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501, /* 576 */
+  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501, /* 584 */
+  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501, /* 592 */
+  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501, /* 600 */
+  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501, /* 608 */
+  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501, /* 616 */
+  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501, /* 624 */
+  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501, /* 632 */
+  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501, /* 640 */
+  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501, /* 648 */
+  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501, /* 656 */
+  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501, /* 664 */
+  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501, /* 672 */
+  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x0501,  0x1540,  0x01ff, /* 680 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 688 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 696 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 704 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 712 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 720 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 728 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 736 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 744 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 752 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 760 */
+  0x0501,  0x0501,  0x1580,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 768 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 776 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 784 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 792 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 800 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 808 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 816 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 824 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 832 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 840 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 848 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 856 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 864 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 872 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 880 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 888 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 896 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 904 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 912 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 920 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 928 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 936 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 944 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 952 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 960 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 968 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 976 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 984 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 992 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1000 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1008 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1016 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1024 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1032 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1040 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1048 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1056 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1064 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1072 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1080 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1088 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1096 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1104 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1112 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1120 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1128 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1136 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1144 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1152 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1160 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1168 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1176 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1184 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1192 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1200 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1208 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1216 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1224 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1232 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1240 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1248 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1256 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1264 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1272 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1280 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1288 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1296 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1304 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1312 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1320 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1328 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1336 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1344 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1352 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1360 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1368 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1376 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1384 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1392 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1400 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1408 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1416 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1424 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1432 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1440 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1448 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1456 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1464 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1472 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1480 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1488 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1496 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1504 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1512 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1520 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1528 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1536 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1544 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1552 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1560 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1568 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1576 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1584 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1592 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1600 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1608 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1616 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1624 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1632 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1640 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1648 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1656 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1664 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1672 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1680 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1688 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1696 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1704 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1712 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1720 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1728 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1736 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1744 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1752 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1760 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1768 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1776 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1784 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1792 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1800 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1808 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1816 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1824 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1832 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1840 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1848 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1856 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1864 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1872 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1880 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1888 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1896 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1904 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1912 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1920 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1928 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1936 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1944 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1952 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1960 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1968 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1976 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1984 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 1992 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2000 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2008 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2016 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2024 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2032 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2040 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2048 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2056 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2064 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2072 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2080 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2088 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2096 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2104 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2112 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2120 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2128 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2136 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2144 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2152 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2160 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2168 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2176 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2184 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2192 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2200 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2208 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2216 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2224 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2232 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2240 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2248 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2256 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2264 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2272 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2280 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2288 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2296 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2304 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2312 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2320 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2328 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2336 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2344 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2352 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2360 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2368 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2376 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2384 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2392 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2400 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2408 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2416 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2424 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2432 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2440 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2448 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2456 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2464 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2472 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2480 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2488 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2496 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2504 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2512 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2520 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2528 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2536 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2544 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2552 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2560 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2568 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2576 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2584 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2592 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2600 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2608 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2616 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2624 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2632 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2640 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2648 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2656 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2664 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2672 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2680 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2688 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2696 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2704 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2712 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2720 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2728 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2736 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2744 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2752 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2760 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2768 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2776 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2784 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2792 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2800 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2808 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2816 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2824 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2832 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2840 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2848 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2856 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2864 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2872 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2880 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2888 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2896 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2904 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2912 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2920 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2928 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2936 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2944 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2952 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2960 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2968 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2976 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2984 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 2992 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3000 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3008 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3016 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3024 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3032 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3040 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3048 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3056 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3064 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3072 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3080 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3088 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3096 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3104 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3112 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3120 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3128 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3136 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3144 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3152 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3160 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3168 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3176 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3184 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3192 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3200 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3208 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3216 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3224 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3232 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3240 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3248 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3256 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3264 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3272 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3280 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3288 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3296 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3304 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3312 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3320 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3328 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3336 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3344 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3352 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3360 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3368 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3376 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3384 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3392 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3400 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3408 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3416 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3424 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3432 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3440 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3448 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3456 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3464 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3472 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3480 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3488 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3496 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3504 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3512 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3520 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3528 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3536 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3544 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3552 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3560 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3568 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3576 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3584 */
+  0x15c0,  0x1600,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3592 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3600 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3608 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3616 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3624 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3632 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3640 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3648 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3656 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3664 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3672 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3680 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3688 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3696 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3704 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3712 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3720 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3728 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3736 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3744 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3752 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3760 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3768 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3776 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3784 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3792 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3800 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3808 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3816 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3824 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3832 */
+  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff,  0x01ff, /* 3840 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02, /* 3848 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02, /* 3856 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02, /* 3864 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02, /* 3872 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02, /* 3880 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02, /* 3888 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02, /* 3896 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02, /* 3904 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02, /* 3912 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02, /* 3920 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02, /* 3928 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02, /* 3936 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02, /* 3944 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02, /* 3952 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02, /* 3960 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02, /* 3968 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02, /* 3976 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02, /* 3984 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02, /* 3992 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02, /* 4000 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02, /* 4008 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02, /* 4016 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02, /* 4024 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02, /* 4032 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02, /* 4040 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02, /* 4048 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02, /* 4056 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02, /* 4064 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02, /* 4072 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02, /* 4080 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02, /* 4088 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x1640, /* 4096 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02, /* 4104 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02, /* 4112 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02, /* 4120 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02, /* 4128 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02, /* 4136 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02, /* 4144 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02, /* 4152 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02, /* 4160 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02, /* 4168 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02, /* 4176 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02, /* 4184 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02, /* 4192 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02, /* 4200 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02, /* 4208 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02, /* 4216 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02, /* 4224 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02, /* 4232 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02, /* 4240 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02, /* 4248 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02, /* 4256 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02, /* 4264 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02, /* 4272 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02, /* 4280 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02, /* 4288 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02, /* 4296 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02, /* 4304 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02, /* 4312 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02, /* 4320 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02, /* 4328 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02, /* 4336 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02, /* 4344 */
+  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x0f02,  0x1680, /* 4352 */
 
-/**
- * (84) Letter ::=
- *        BaseChar | Ideographic
- */
-bool isLetter(int ch)
-{
-    if (isBaseChar(ch))
-        return true;
-    if (isIdeographic(ch))
-        return true;
-    return false;
-}
+};
 
 /**
- *
- * Following are from unicode.org, in the UnicodeData file
- * in the Unicode Database
+ * Block table has 5824 entries
  */
+static unsigned short block[] =
+{
+  0x0000,  0x0004,  0x0008,  0x000c,  0x0000,  0x0000,  0x0000,  0x0010, /* 8 */
+  0x0014,  0x0018,  0x001c,  0x0020,  0x0024,  0x0028,  0x002c,  0x0030, /* 16 */
+  0x0034,  0x0038,  0x003c,  0x0040,  0x0044,  0x0048,  0x004c,  0x0050, /* 24 */
+  0x0054,  0x0058,  0x005c,  0x0060,  0x0064,  0x0068,  0x006c,  0x0070, /* 32 */
+  0x0000,  0x0074,  0x0000,  0x0000,  0x0000,  0x0000,  0x0000,  0x0000, /* 40 */
+  0x0078,  0x007c,  0x0080,  0x0084,  0x0088,  0x008c,  0x0090,  0x0094, /* 48 */
+  0x0098,  0x009c,  0x0098,  0x00a0,  0x0098,  0x00a4,  0x0098,  0x00a8, /* 56 */
+  0x00ac,  0x00b0,  0x00ac,  0x00ac,  0x00ac,  0x00b4,  0x00ac,  0x00b8, /* 64 */
+  0x00bc,  0x00c0,  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x00bc, /* 72 */
+  0x00bc,  0x00bc,  0x00c4,  0x00c2,  0x00c8,  0x00bc,  0x00cc,  0x00bd, /* 80 */
+  0x00bd,  0x00bd,  0x00d0,  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x00bc, /* 88 */
+  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x00d4,  0x00ce, /* 96 */
+  0x00d8,  0x00dc,  0x00e0,  0x00e4,  0x00e8,  0x00ec,  0x00f0,  0x00f4, /* 104 */
+  0x00bc,  0x00f8,  0x00fc,  0x00f8,  0x0100,  0x0104,  0x0108,  0x010c, /* 112 */
+  0x0110,  0x0114,  0x0118,  0x011c,  0x00bd,  0x00bd,  0x00bd,  0x0120, /* 120 */
+  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x0124,  0x0128,  0x00bc,  0x00bc, /* 128 */
+  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x00bc, /* 136 */
+  0x012c,  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x0130,  0x0134,  0x0138, /* 144 */
+  0x013c,  0x0140,  0x00bc,  0x00bc,  0x0144,  0x0148,  0x014c,  0x0130, /* 152 */
+  0x0150,  0x0130,  0x0154,  0x0158,  0x015c,  0x0160,  0x0130,  0x0156, /* 160 */
+  0x0164,  0x0130,  0x0168,  0x016c,  0x0170,  0x0174,  0x0130,  0x0130, /* 168 */
+  0x0130,  0x0130,  0x0130,  0x0130,  0x0178,  0x017c,  0x0180,  0x0178, /* 176 */
+  0x0184,  0x0188,  0x018c,  0x018a,  0x0184,  0x0186,  0x0186,  0x0186, /* 184 */
+  0x0178,  0x0185,  0x0186,  0x0190,  0x0186,  0x0186,  0x0186,  0x0186, /* 192 */
+  0x0194,  0x0198,  0x0194,  0x0194,  0x0194,  0x0194,  0x0194,  0x0194, /* 200 */
+  0x0194,  0x0194,  0x0194,  0x0194,  0x0194,  0x0194,  0x0194,  0x0194, /* 208 */
+  0x0194,  0x019c,  0x0194,  0x0194,  0x0194,  0x0194,  0x0194,  0x0194, /* 216 */
+  0x0194,  0x0194,  0x0194,  0x0194,  0x01a0,  0x01a4,  0x01a8,  0x01ac, /* 224 */
+  0x01a0,  0x01b0,  0x01b4,  0x01b8,  0x01bc,  0x0098,  0x0098,  0x0098, /* 232 */
+  0x01c0,  0x0098,  0x0098,  0x01c4,  0x00ab,  0x00ac,  0x00ac,  0x00ac, /* 240 */
+  0x01c8,  0x00ac,  0x00ac,  0x01cc,  0x01d0,  0x01d4,  0x00bc,  0x00bc, /* 248 */
+  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x01d8,  0x01dc,  0x01e0,  0x01e4, /* 256 */
+  0x01e8,  0x01ec,  0x01e8,  0x01e8,  0x0098,  0x0098,  0x0098,  0x0098, /* 264 */
+  0x0098,  0x0098,  0x0098,  0x0098,  0x00ac,  0x00ac,  0x00ac,  0x00ac, /* 272 */
+  0x00ac,  0x00ac,  0x00ac,  0x00ac,  0x01f0,  0x01f4,  0x01f0,  0x01f0, /* 280 */
+  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x00bc, /* 288 */
+  0x01f8,  0x01fc,  0x0200,  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x00bc, /* 296 */
+  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x00bc, /* 304 */
+  0x0204,  0x00bd,  0x00bd,  0x0208,  0x00bc,  0x00bc,  0x00bc,  0x00bc, /* 312 */
+  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x00bc, /* 320 */
+  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x01a0,  0x01a0,  0x01a0, /* 328 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x020c,  0x0210,  0x020d,  0x020d, /* 336 */
+  0x020d,  0x020d,  0x020d,  0x020d,  0x020d,  0x0214,  0x0218,  0x021c, /* 344 */
+  0x0220,  0x0224,  0x0221,  0x0221,  0x0221,  0x0221,  0x0221,  0x0221, /* 352 */
+  0x0221,  0x0228,  0x022c,  0x01a0,  0x0230,  0x0194,  0x0194,  0x0194, /* 360 */
+  0x0194,  0x0194,  0x0194,  0x0194,  0x0194,  0x0194,  0x0194,  0x0234, /* 368 */
+  0x0238,  0x0234,  0x01a0,  0x01a0,  0x023c,  0x0240,  0x023c,  0x023c, /* 376 */
+  0x023c,  0x023c,  0x0244,  0x01a0,  0x0248,  0x024c,  0x01a0,  0x01a0, /* 384 */
+  0x0250,  0x01a0,  0x0254,  0x0258,  0x0194,  0x019e,  0x025c,  0x0260, /* 392 */
+  0x0264,  0x0268,  0x0265,  0x0265,  0x0265,  0x0265,  0x026c,  0x01a0, /* 400 */
+  0x0270,  0x0265,  0x0274,  0x0194,  0x0194,  0x0194,  0x0194,  0x01fc, /* 408 */
+  0x0278,  0x027c,  0x0280,  0x0284,  0x0288,  0x0265,  0x0265,  0x0265, /* 416 */
+  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x0265, /* 424 */
+  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x0265, /* 432 */
+  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x028c,  0x0194,  0x0290, /* 440 */
+  0x0194,  0x0294,  0x0298,  0x029c,  0x0024,  0x0028,  0x02a0,  0x02a4, /* 448 */
+  0x02a8,  0x02ac,  0x02a8,  0x02b0,  0x0287,  0x0265,  0x0265,  0x0265, /* 456 */
+  0x0265,  0x0265,  0x0265,  0x0265,  0x0194,  0x0194,  0x0194,  0x0194, /* 464 */
+  0x0194,  0x0194,  0x01fc,  0x0264,  0x0265,  0x0265,  0x0265,  0x0265, /* 472 */
+  0x0265,  0x0265,  0x0265,  0x02b4,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 480 */
+  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x0265, /* 488 */
+  0x0265,  0x02b8,  0x0194,  0x0194,  0x02bc,  0x01a0,  0x01a0,  0x01a0, /* 496 */
+  0x02c0,  0x02c4,  0x02c8,  0x023c,  0x023c,  0x023c,  0x023c,  0x023c, /* 504 */
+  0x023c,  0x023c,  0x02cc,  0x0194,  0x0194,  0x02d0,  0x02d4,  0x01a0, /* 512 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 520 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 528 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 536 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 544 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 552 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 560 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 568 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 576 */
+  0x02d8,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 584 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x02dc,  0x02e0, /* 592 */
+  0x02e4,  0x0194,  0x02e8,  0x02ec,  0x02f0,  0x019f,  0x0110,  0x0110, /* 600 */
+  0x02f4,  0x02f8,  0x02fc,  0x0300,  0x0304,  0x01a0,  0x0308,  0x0110, /* 608 */
+  0x030c,  0x0310,  0x0110,  0x0314,  0x0318,  0x0110,  0x0110,  0x0110, /* 616 */
+  0x0110,  0x0110,  0x031c,  0x0110,  0x0320,  0x0315,  0x02dc,  0x02e0, /* 624 */
+  0x02e4,  0x0324,  0x0328,  0x032c,  0x01a0,  0x0330,  0x01a0,  0x031b, /* 632 */
+  0x02f4,  0x0334,  0x02fc,  0x0300,  0x0338,  0x033c,  0x0340,  0x01a0, /* 640 */
+  0x02d8,  0x0310,  0x0312,  0x0308,  0x0314,  0x0110,  0x0110,  0x0110, /* 648 */
+  0x0110,  0x0110,  0x031c,  0x0110,  0x031c,  0x0316,  0x02dc,  0x0344, /* 656 */
+  0x0348,  0x034c,  0x0350,  0x019e,  0x01a0,  0x01a0,  0x0310,  0x0320, /* 664 */
+  0x01a0,  0x0334,  0x02fc,  0x0300,  0x02f2,  0x032e,  0x01a0,  0x01a0, /* 672 */
+  0x02d8,  0x0310,  0x0110,  0x031b,  0x031b,  0x0110,  0x0110,  0x0110, /* 680 */
+  0x0110,  0x0110,  0x031c,  0x0110,  0x031c,  0x0310,  0x02dc,  0x02e0, /* 688 */
+  0x02e4,  0x0354,  0x0358,  0x02ec,  0x032e,  0x01a0,  0x01a0,  0x01a0, /* 696 */
+  0x02f4,  0x0334,  0x02fc,  0x0300,  0x035c,  0x01a0,  0x01a0,  0x01a0, /* 704 */
+  0x030c,  0x0310,  0x0110,  0x0314,  0x0314,  0x0110,  0x0110,  0x0110, /* 712 */
+  0x0110,  0x0110,  0x031c,  0x0110,  0x031c,  0x0310,  0x02dc,  0x0360, /* 720 */
+  0x02e4,  0x0330,  0x0328,  0x02ec,  0x01a0,  0x0364,  0x01a0,  0x031b, /* 728 */
+  0x02dc,  0x0334,  0x02fc,  0x0300,  0x0368,  0x01a0,  0x01a0,  0x01a0, /* 736 */
+  0x02de,  0x0310,  0x0312,  0x0315,  0x031c,  0x02dc,  0x0316,  0x031c, /* 744 */
+  0x0308,  0x032e,  0x0312,  0x0315,  0x0110,  0x0110,  0x02dc,  0x0325, /* 752 */
+  0x030d,  0x0325,  0x036c,  0x02ec,  0x01a0,  0x0330,  0x01a0,  0x01a0, /* 760 */
+  0x01a0,  0x0334,  0x02fc,  0x0300,  0x0370,  0x0374,  0x0378,  0x01a0, /* 768 */
+  0x0345,  0x0310,  0x0110,  0x031c,  0x031c,  0x0110,  0x0110,  0x0110, /* 776 */
+  0x0110,  0x0110,  0x031c,  0x0110,  0x0110,  0x0310,  0x02dc,  0x022f, /* 784 */
+  0x02e8,  0x037c,  0x0355,  0x019e,  0x01a0,  0x034e,  0x01a0,  0x01a0, /* 792 */
+  0x02dc,  0x0334,  0x02fc,  0x0300,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 800 */
+  0x0325,  0x0310,  0x0110,  0x031c,  0x031c,  0x0110,  0x0110,  0x0110, /* 808 */
+  0x0110,  0x0110,  0x031c,  0x0110,  0x0110,  0x0310,  0x02dc,  0x0380, /* 816 */
+  0x02e9,  0x0384,  0x036c,  0x019e,  0x01a0,  0x0326,  0x01a0,  0x0309, /* 824 */
+  0x02f4,  0x0334,  0x02fc,  0x0300,  0x0388,  0x01a0,  0x01a0,  0x01a0, /* 832 */
+  0x0325,  0x0310,  0x0110,  0x031c,  0x031c,  0x0110,  0x0110,  0x0110, /* 840 */
+  0x0110,  0x0110,  0x031c,  0x0110,  0x0110,  0x0110,  0x02dc,  0x0325, /* 848 */
+  0x02e4,  0x0325,  0x036c,  0x02ec,  0x01a0,  0x0330,  0x01a0,  0x01a0, /* 856 */
+  0x02dc,  0x0334,  0x02fc,  0x0300,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 864 */
+  0x0325,  0x0310,  0x0110,  0x0110,  0x0110,  0x0312,  0x0315,  0x0110, /* 872 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x031b,  0x0110,  0x0110,  0x038c, /* 880 */
+  0x0110,  0x0312,  0x0390,  0x0330,  0x02e3,  0x0394,  0x02e9,  0x02e9, /* 888 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x0325,  0x0304,  0x01a0,  0x01a0, /* 896 */
+  0x0310,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 904 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0398,  0x0194,  0x01fc,  0x039c, /* 912 */
+  0x0110,  0x03a0,  0x0194,  0x03a4,  0x02fa,  0x02fe,  0x03a8,  0x01a0, /* 920 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 928 */
+  0x0316,  0x0314,  0x0320,  0x038c,  0x01a0,  0x0110,  0x0310,  0x0110, /* 936 */
+  0x0310,  0x03ac,  0x0315,  0x0310,  0x0398,  0x0194,  0x0354,  0x032d, /* 944 */
+  0x0110,  0x03b0,  0x0194,  0x019e,  0x02fa,  0x02fe,  0x03b4,  0x02dc, /* 952 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 960 */
+  0x03b8,  0x021a,  0x021a,  0x021a,  0x03bc,  0x03c0,  0x03c4,  0x03bf, /* 968 */
+  0x02fa,  0x02fe,  0x03c8,  0x03cc,  0x03ca,  0x03d0,  0x03d4,  0x03d8, /* 976 */
+  0x0110,  0x0110,  0x0310,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 984 */
+  0x0110,  0x0110,  0x0312,  0x01a0,  0x0230,  0x0194,  0x0194,  0x02e6, /* 992 */
+  0x0194,  0x03dc,  0x0110,  0x01a0,  0x0194,  0x0194,  0x0230,  0x0194, /* 1000 */
+  0x0194,  0x0194,  0x0194,  0x0194,  0x0194,  0x0194,  0x0194,  0x03e0, /* 1008 */
+  0x03bf,  0x03e4,  0x03bf,  0x03e8,  0x03ec,  0x01a0,  0x01a0,  0x01a0, /* 1016 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 1024 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 1032 */
+  0x031b,  0x0110,  0x0316,  0x02e4,  0x03f0,  0x022f,  0x02ec,  0x01a0, /* 1040 */
+  0x02fa,  0x02fe,  0x03a8,  0x021a,  0x0110,  0x03f4,  0x019e,  0x01a0, /* 1048 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 1056 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 1064 */
+  0x03f8,  0x03fc,  0x03f8,  0x03f8,  0x03f8,  0x03f8,  0x03f8,  0x03f8, /* 1072 */
+  0x03f8,  0x0400,  0x01a0,  0x01a0,  0x0110,  0x0110,  0x0110,  0x0110, /* 1080 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0404,  0x0408, /* 1088 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 1096 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 1104 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x02dc,  0x0308, /* 1112 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 1120 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 1128 */
+  0x0312,  0x01a0,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 1136 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 1144 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x02dc,  0x01a0, /* 1152 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 1160 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 1168 */
+  0x0110,  0x0110,  0x031c,  0x02dc,  0x0110,  0x0312,  0x031c,  0x02dc, /* 1176 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 1184 */
+  0x0110,  0x0110,  0x031c,  0x02dc,  0x0110,  0x0110,  0x0110,  0x0110, /* 1192 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x031c,  0x02dc,  0x0110,  0x0312, /* 1200 */
+  0x031c,  0x02dc,  0x0110,  0x0110,  0x0110,  0x0312,  0x0110,  0x0110, /* 1208 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 1216 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x031c,  0x02dc,  0x0110,  0x0110, /* 1224 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 1232 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0312,  0x034c, /* 1240 */
+  0x03bb,  0x021a,  0x040c,  0x0410,  0x0414,  0x0418,  0x041c,  0x0420, /* 1248 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0373,  0x0373,  0x025a,  0x01a0, /* 1256 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 1264 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 1272 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x032e,  0x01a0,  0x01a0, /* 1280 */
+  0x0310,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 1288 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 1296 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 1304 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 1312 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 1320 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 1328 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 1336 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 1344 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 1352 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 1360 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 1368 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 1376 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 1384 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 1392 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 1400 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 1408 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 1416 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 1424 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 1432 */
+  0x0110,  0x0110,  0x0110,  0x0424,  0x0110,  0x0312,  0x01a0,  0x01a0, /* 1440 */
+  0x0428,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x042c,  0x0430, /* 1448 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 1456 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 1464 */
+  0x0110,  0x0110,  0x0404,  0x0434,  0x0438,  0x01a0,  0x01a0,  0x01a0, /* 1472 */
+  0x0110,  0x0110,  0x0110,  0x031c,  0x02f4,  0x019f,  0x01a0,  0x01a0, /* 1480 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x02f4,  0x043c,  0x01a0,  0x01a0, /* 1488 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x02f4,  0x01a0,  0x01a0,  0x01a0, /* 1496 */
+  0x0110,  0x0110,  0x0110,  0x031c,  0x0440,  0x01a0,  0x01a0,  0x01a0, /* 1504 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 1512 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0444,  0x0194,  0x02e7, /* 1520 */
+  0x02e9,  0x0448,  0x02e4,  0x0194,  0x0194,  0x044c,  0x0450,  0x0454, /* 1528 */
+  0x02fa,  0x02fe,  0x03b4,  0x01a0,  0x0458,  0x045c,  0x0460,  0x01a0, /* 1536 */
+  0x0464,  0x0468,  0x046c,  0x0470,  0x02fa,  0x02fe,  0x03b4,  0x01a0, /* 1544 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 1552 */
+  0x0474,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 1560 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x01a0,  0x01a0, /* 1568 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 1576 */
+  0x0110,  0x0110,  0x0454,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 1584 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 1592 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 1600 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x032e, /* 1608 */
+  0x02e6,  0x02e2,  0x0478,  0x01a0,  0x0448,  0x02e9,  0x02e4,  0x01a0, /* 1616 */
+  0x025b,  0x047c,  0x02fc,  0x0300,  0x0110,  0x0110,  0x0110,  0x0110, /* 1624 */
+  0x0110,  0x0110,  0x0110,  0x02dc,  0x0110,  0x032e,  0x01a0,  0x01a0, /* 1632 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 1640 */
+  0x0110,  0x0110,  0x02dc,  0x01a0,  0x02e9,  0x02e9,  0x02e9,  0x02e9, /* 1648 */
+  0x0480,  0x0110,  0x0327,  0x01a0,  0x02fa,  0x02fe,  0x03b4,  0x0462, /* 1656 */
+  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373, /* 1664 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0484,  0x02e8,  0x0432, /* 1672 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 1680 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 1688 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 1696 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 1704 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 1712 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 1720 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 1728 */
+  0x0194,  0x0480,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 1736 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0488,  0x02e6,  0x02e8, /* 1744 */
+  0x0448,  0x0480,  0x0110,  0x01a0,  0x02fa,  0x02fe,  0x03a8,  0x021a, /* 1752 */
+  0x03be,  0x03bf,  0x03c1,  0x0194,  0x0194,  0x03bf,  0x03bf,  0x048c, /* 1760 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 1768 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 1776 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 1784 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 1792 */
+  0x0130,  0x0130,  0x0130,  0x0130,  0x0130,  0x0130,  0x0130,  0x0130, /* 1800 */
+  0x0130,  0x0130,  0x0130,  0x0178,  0x0178,  0x0178,  0x0178,  0x0178, /* 1808 */
+  0x0178,  0x0178,  0x0178,  0x0178,  0x0178,  0x0178,  0x0178,  0x0178, /* 1816 */
+  0x0490,  0x0130,  0x0130,  0x0130,  0x0130,  0x0130,  0x0494,  0x0156, /* 1824 */
+  0x0130,  0x0130,  0x0130,  0x0130,  0x0130,  0x0130,  0x0175,  0x0178, /* 1832 */
+  0x0178,  0x0178,  0x0178,  0x0178,  0x0178,  0x0178,  0x0178,  0x0178, /* 1840 */
+  0x0194,  0x0194,  0x01fc,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 1848 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x022f, /* 1856 */
+  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x00bc, /* 1864 */
+  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x00bc, /* 1872 */
+  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x00bc, /* 1880 */
+  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x00bc, /* 1888 */
+  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x0498,  0x049c,  0x01a0, /* 1896 */
+  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x00bc, /* 1904 */
+  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x00bc, /* 1912 */
+  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x04a0,  0x01a0, /* 1920 */
+  0x04a4,  0x04a8,  0x04ac,  0x04b0,  0x04a4,  0x04b4,  0x04ac,  0x04b8, /* 1928 */
+  0x04a4,  0x04a4,  0x04ac,  0x04ac,  0x04a4,  0x04a4,  0x04ac,  0x04ac, /* 1936 */
+  0x04a4,  0x04b4,  0x04ac,  0x04bc,  0x04c0,  0x04c4,  0x04c8,  0x04cc, /* 1944 */
+  0x04a4,  0x04a4,  0x04ac,  0x04ac,  0x04d0,  0x04d4,  0x04d8,  0x04dc, /* 1952 */
+  0x049a,  0x049a,  0x04e0,  0x04e4,  0x049a,  0x049a,  0x04e0,  0x04e0, /* 1960 */
+  0x049a,  0x049a,  0x04e0,  0x04e0,  0x04e8,  0x04ec,  0x04f0,  0x04f4, /* 1968 */
+  0x04f8,  0x04ec,  0x04fc,  0x0500,  0x04e8,  0x0504,  0x0508,  0x050c, /* 1976 */
+  0x04e8,  0x0510,  0x0514,  0x0518,  0x0504,  0x04ec,  0x051c,  0x0520, /* 1984 */
+  0x0524,  0x0528,  0x052c,  0x0530,  0x0534,  0x0538,  0x053c,  0x0540, /* 1992 */
+  0x0464,  0x0464,  0x0544,  0x0548,  0x054c,  0x0550,  0x0554,  0x0558, /* 2000 */
+  0x055c,  0x0560,  0x0464,  0x0464,  0x0564,  0x055c,  0x0464,  0x0568, /* 2008 */
+  0x056c,  0x01a0,  0x0570,  0x056c,  0x0574,  0x0578,  0x057c,  0x0580, /* 2016 */
+  0x0584,  0x0578,  0x057c,  0x0588,  0x0178,  0x0408,  0x01a0,  0x01a0, /* 2024 */
+  0x007a,  0x007a,  0x007a,  0x007a,  0x007a,  0x058c,  0x01a0,  0x01a0, /* 2032 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x0194,  0x0194,  0x0194,  0x0590, /* 2040 */
+  0x0594,  0x0598,  0x0194,  0x0194,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 2048 */
+  0x059c,  0x05a0,  0x05a4,  0x05a8,  0x05a7,  0x059d,  0x05ac,  0x05b0, /* 2056 */
+  0x0373,  0x05b4,  0x05b8,  0x05bc,  0x05c0,  0x05c4,  0x05c8,  0x05cc, /* 2064 */
+  0x05d0,  0x05d4,  0x05d8,  0x05dc,  0x05e0,  0x05e4,  0x05e3,  0x05e8, /* 2072 */
+  0x05ec,  0x05f0,  0x05f4,  0x05f8,  0x05fc,  0x0600,  0x0604,  0x0608, /* 2080 */
+  0x060c,  0x0610,  0x01a0,  0x01a0,  0x05d1,  0x0614,  0x0618,  0x0373, /* 2088 */
+  0x061c,  0x0620,  0x0373,  0x061d,  0x0373,  0x0373,  0x0373,  0x0373, /* 2096 */
+  0x0373,  0x0373,  0x0373,  0x0618,  0x061d,  0x0614,  0x0373,  0x0373, /* 2104 */
+  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x05d1,  0x05d1,  0x05d1, /* 2112 */
+  0x0624,  0x05d0,  0x0628,  0x062c,  0x0630,  0x0634,  0x0638,  0x063c, /* 2120 */
+  0x062b,  0x0640,  0x062e,  0x0625,  0x0625,  0x05d1,  0x0644,  0x0625, /* 2128 */
+  0x0625,  0x0625,  0x0625,  0x05d0,  0x0638,  0x062c,  0x05d1,  0x062e, /* 2136 */
+  0x0640,  0x0625,  0x0625,  0x0638,  0x0625,  0x0625,  0x0625,  0x0625, /* 2144 */
+  0x0625,  0x0625,  0x0625,  0x0642,  0x062b,  0x05d1,  0x05d0,  0x05d1, /* 2152 */
+  0x0638,  0x0638,  0x0625,  0x0625,  0x0625,  0x0625,  0x05d0,  0x0638, /* 2160 */
+  0x05d1,  0x05d1,  0x0624,  0x062c,  0x062c,  0x0638,  0x0625,  0x0625, /* 2168 */
+  0x0625,  0x0625,  0x0625,  0x062c,  0x0625,  0x0625,  0x0625,  0x0625, /* 2176 */
+  0x0373,  0x0373,  0x0625,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373, /* 2184 */
+  0x0648,  0x0373,  0x064c,  0x0373,  0x0373,  0x0650,  0x03bf,  0x03bf, /* 2192 */
+  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf, /* 2200 */
+  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x0654,  0x0614, /* 2208 */
+  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0658,  0x0617,  0x05d1, /* 2216 */
+  0x05d1,  0x05d1,  0x05d1,  0x05d1,  0x05d1,  0x0373,  0x0373,  0x0373, /* 2224 */
+  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x05d1, /* 2232 */
+  0x061b,  0x0373,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 2240 */
+  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373, /* 2248 */
+  0x0373,  0x065c,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 2256 */
+  0x0373,  0x0373,  0x0660,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 2264 */
+  0x0459,  0x045d,  0x0664,  0x0668,  0x066c,  0x0459,  0x045d,  0x0664, /* 2272 */
+  0x0668,  0x0670,  0x0674,  0x0579,  0x0678,  0x067c,  0x0680,  0x03bf, /* 2280 */
+  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x0684,  0x0688,  0x0686, /* 2288 */
+  0x0686,  0x0686,  0x0686,  0x0686,  0x068c,  0x0690,  0x068c,  0x068c, /* 2296 */
+  0x068c,  0x068c,  0x0694,  0x0667,  0x066b,  0x0698,  0x045c,  0x069c, /* 2304 */
+  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373, /* 2312 */
+  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373, /* 2320 */
+  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373, /* 2328 */
+  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373, /* 2336 */
+  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373, /* 2344 */
+  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0617,  0x0373,  0x0373, /* 2352 */
+  0x05da,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373, /* 2360 */
+  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x05d1,  0x05d1, /* 2368 */
+  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373, /* 2376 */
+  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373, /* 2384 */
+  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373, /* 2392 */
+  0x0373,  0x0373,  0x0373,  0x0617,  0x0373,  0x0373,  0x0373,  0x0373, /* 2400 */
+  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x025b, /* 2408 */
+  0x0373,  0x0373,  0x0373,  0x0659,  0x065c,  0x01a0,  0x01a0,  0x01a0, /* 2416 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 2424 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 2432 */
+  0x065f,  0x065e,  0x025a,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373, /* 2440 */
+  0x0373,  0x0373,  0x065f,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373, /* 2448 */
+  0x0373,  0x0373,  0x0373,  0x06a0,  0x065c,  0x06a4,  0x0373,  0x065c, /* 2456 */
+  0x065f,  0x0373,  0x03d6,  0x03d6,  0x03d6,  0x06a8,  0x045b,  0x06ac, /* 2464 */
+  0x0459,  0x045d,  0x06b0,  0x045b,  0x06ac,  0x025b,  0x0373,  0x0373, /* 2472 */
+  0x0373,  0x0373,  0x0373,  0x0373,  0x065f,  0x0373,  0x0373,  0x065c, /* 2480 */
+  0x0642,  0x06b4,  0x06b8,  0x01a0,  0x062e,  0x062b,  0x05d1,  0x062b, /* 2488 */
+  0x0638,  0x06bc,  0x03d6,  0x01a0,  0x05d1,  0x05d1,  0x05d1,  0x05d1, /* 2496 */
+  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf, /* 2504 */
+  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf, /* 2512 */
+  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf, /* 2520 */
+  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf, /* 2528 */
+  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf, /* 2536 */
+  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf, /* 2544 */
+  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf, /* 2552 */
+  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf, /* 2560 */
+  0x05d1,  0x05d1,  0x05d1,  0x05d1,  0x05d1,  0x05d1,  0x05d1,  0x05d1, /* 2568 */
+  0x05d1,  0x05d1,  0x05d1,  0x05d1,  0x05d1,  0x05d1,  0x05d1,  0x05d1, /* 2576 */
+  0x05d1,  0x05d1,  0x05d1,  0x05d1,  0x05d1,  0x05d1,  0x05d1,  0x05d1, /* 2584 */
+  0x05d1,  0x05d1,  0x05d1,  0x05d1,  0x05d1,  0x05d1,  0x05d1,  0x05d1, /* 2592 */
+  0x06c0,  0x06c4,  0x06c8,  0x06c4,  0x06c4,  0x06c4,  0x06cc,  0x0625, /* 2600 */
+  0x0625,  0x0625,  0x0625,  0x0625,  0x05d1,  0x05d1,  0x05d0,  0x05d1, /* 2608 */
+  0x0625,  0x062c,  0x0641,  0x0638,  0x062b,  0x062c,  0x03d6,  0x05d0, /* 2616 */
+  0x0644,  0x062c,  0x062c,  0x05d1,  0x05d1,  0x0625,  0x062c,  0x06b5, /* 2624 */
+  0x05d1,  0x05d1,  0x0638,  0x0625,  0x0625,  0x0625,  0x0625,  0x063d, /* 2632 */
+  0x062c,  0x0640,  0x0644,  0x062b,  0x05d1,  0x062c,  0x05d1,  0x062b, /* 2640 */
+  0x05d1,  0x05d1,  0x05d1,  0x05d1,  0x05d1,  0x062e,  0x05d0,  0x05d1, /* 2648 */
+  0x05d1,  0x062c,  0x0638,  0x063c,  0x0642,  0x05d0,  0x0624,  0x0625, /* 2656 */
+  0x0625,  0x0625,  0x0625,  0x0625,  0x0625,  0x0625,  0x0625,  0x0625, /* 2664 */
+  0x0625,  0x0638,  0x0625,  0x063c,  0x0625,  0x0625,  0x0625,  0x0625, /* 2672 */
+  0x0625,  0x0625,  0x0625,  0x0625,  0x0625,  0x062b,  0x05d1,  0x0640, /* 2680 */
+  0x0638,  0x062b,  0x05d1,  0x062b,  0x062e,  0x062e,  0x0625,  0x0641, /* 2688 */
+  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x065c,  0x01a0, /* 2696 */
+  0x0373,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 2704 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 2712 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 2720 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 2728 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 2736 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 2744 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 2752 */
+  0x020d,  0x020d,  0x020d,  0x020d,  0x020d,  0x020d,  0x020d,  0x020d, /* 2760 */
+  0x020d,  0x020d,  0x020d,  0x0214,  0x0221,  0x0221,  0x0221,  0x0221, /* 2768 */
+  0x0221,  0x0221,  0x0221,  0x0221,  0x0221,  0x0221,  0x0221,  0x06d0, /* 2776 */
+  0x06d4,  0x06d8,  0x00bd,  0x0610,  0x01a0,  0x012d,  0x01a0,  0x01a0, /* 2784 */
+  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x00bc, /* 2792 */
+  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x00bc, /* 2800 */
+  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x00bc,  0x00bc, /* 2808 */
+  0x00bc,  0x06dc,  0x065c,  0x01a0,  0x01a0,  0x01a0,  0x0463,  0x06e0, /* 2816 */
+  0x049a,  0x049a,  0x049a,  0x049a,  0x049a,  0x049a,  0x049a,  0x049a, /* 2824 */
+  0x049a,  0x06e4,  0x01a0,  0x01a0,  0x0110,  0x0110,  0x0110,  0x0110, /* 2832 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 2840 */
+  0x0110,  0x02dc,  0x01a0,  0x01a7,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 2848 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0312,  0x01a0,  0x01a0, /* 2856 */
+  0x0110,  0x0312,  0x0110,  0x0312,  0x0110,  0x0312,  0x0110,  0x0312, /* 2864 */
+  0x0110,  0x0312,  0x0110,  0x0312,  0x0110,  0x0312,  0x0110,  0x0312, /* 2872 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 2880 */
+  0x053a,  0x0555,  0x0554,  0x0555,  0x0464,  0x0467,  0x01a0,  0x06e8, /* 2888 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 2896 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 2904 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 2912 */
+  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x065d,  0x0373, /* 2920 */
+  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373, /* 2928 */
+  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373, /* 2936 */
+  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x01a0,  0x01a0,  0x01a0, /* 2944 */
+  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373, /* 2952 */
+  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373, /* 2960 */
+  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373, /* 2968 */
+  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373, /* 2976 */
+  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373, /* 2984 */
+  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373, /* 2992 */
+  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x025a,  0x01a0,  0x01a0, /* 3000 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x0373,  0x0373,  0x0373,  0x01a0, /* 3008 */
+  0x06ec,  0x06f0,  0x03d6,  0x03d6,  0x064d,  0x03d6,  0x03d6,  0x06f4, /* 3016 */
+  0x06f8,  0x06fc,  0x0700,  0x0194,  0x0704,  0x0708,  0x070c,  0x0710, /* 3024 */
+  0x0310,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 3032 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 3040 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0312,  0x0714,  0x0718, /* 3048 */
+  0x071c,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 3056 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 3064 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0720,  0x0724, /* 3072 */
+  0x01a0,  0x0310,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 3080 */
+  0x0110,  0x0110,  0x0110,  0x032e,  0x0310,  0x0110,  0x0110,  0x0110, /* 3088 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 3096 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 3104 */
+  0x0110,  0x0110,  0x0110,  0x0312,  0x0728,  0x072c,  0x03bf,  0x03bf, /* 3112 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x01a0,  0x01a0, /* 3120 */
+  0x0373,  0x0373,  0x0373,  0x0373,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 3128 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x0110,  0x0110,  0x0110,  0x0110, /* 3136 */
+  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x0730, /* 3144 */
+  0x033c,  0x0411,  0x0734,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf, /* 3152 */
+  0x03bf,  0x01a0,  0x01a0,  0x01a0,  0x0738,  0x073c,  0x0740,  0x0744, /* 3160 */
+  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x064f, /* 3168 */
+  0x033c,  0x0411,  0x0734,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf, /* 3176 */
+  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x0748,  0x074c,  0x0750,  0x0754, /* 3184 */
+  0x03bf,  0x03bf,  0x03bf,  0x0373,  0x03bf,  0x03bf,  0x03bf,  0x03bf, /* 3192 */
+  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x0758, /* 3200 */
+  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf, /* 3208 */
+  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf, /* 3216 */
+  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf, /* 3224 */
+  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x0654,  0x064f,  0x03bf, /* 3232 */
+  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf, /* 3240 */
+  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf, /* 3248 */
+  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x0655, /* 3256 */
+  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x0654, /* 3264 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 3272 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 3280 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 3288 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 3296 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 3304 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x02dc,  0x01a0,  0x01a0, /* 3312 */
+  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373, /* 3320 */
+  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373, /* 3328 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 3336 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 3344 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 3352 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 3360 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 3368 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x01a0, /* 3376 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 3384 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 3392 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x075c,  0x0110,  0x0110, /* 3400 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 3408 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 3416 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 3424 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 3432 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 3440 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 3448 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 3456 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 3464 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 3472 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 3480 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 3488 */
+  0x0110,  0x0110,  0x0110,  0x032e,  0x0373,  0x0373,  0x0373,  0x0373, /* 3496 */
+  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373, /* 3504 */
+  0x0373,  0x065c,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 3512 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 3520 */
+  0x0186,  0x0186,  0x0186,  0x0186,  0x0186,  0x0187,  0x0760,  0x01a0, /* 3528 */
+  0x01a4,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 3536 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 3544 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 3552 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 3560 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 3568 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 3576 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 3584 */
+  0x0764,  0x0768,  0x0484,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 3592 */
+  0x076c,  0x0770,  0x0373,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 3600 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 3608 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0464,  0x01a0,  0x01a0, /* 3616 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 3624 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 3632 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 3640 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 3648 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 3656 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 3664 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 3672 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 3680 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 3688 */
+  0x0110,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 3696 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 3704 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 3712 */
+  0x0774,  0x0778,  0x0774,  0x0774,  0x0774,  0x0774,  0x0774,  0x0774, /* 3720 */
+  0x0774,  0x0774,  0x0774,  0x0774,  0x0774,  0x0774,  0x0774,  0x0774, /* 3728 */
+  0x0774,  0x0774,  0x0774,  0x0774,  0x0774,  0x0774,  0x0774,  0x0774, /* 3736 */
+  0x0774,  0x0774,  0x0774,  0x0774,  0x0774,  0x0774,  0x0774,  0x0774, /* 3744 */
+  0x0774,  0x0774,  0x0774,  0x0774,  0x0774,  0x0774,  0x0774,  0x0774, /* 3752 */
+  0x0774,  0x0774,  0x0774,  0x0774,  0x0774,  0x0774,  0x0774,  0x0774, /* 3760 */
+  0x0774,  0x0774,  0x0774,  0x0774,  0x0774,  0x0774,  0x0774,  0x0774, /* 3768 */
+  0x0774,  0x0774,  0x0774,  0x0774,  0x0774,  0x0774,  0x0774,  0x0774, /* 3776 */
+  0x0774,  0x0774,  0x0774,  0x0774,  0x0774,  0x0774,  0x0774,  0x0774, /* 3784 */
+  0x0774,  0x0774,  0x0774,  0x0774,  0x0774,  0x0774,  0x0774,  0x0774, /* 3792 */
+  0x0774,  0x0774,  0x0774,  0x0774,  0x0774,  0x0774,  0x0774,  0x0774, /* 3800 */
+  0x0774,  0x0774,  0x0774,  0x0774,  0x0774,  0x0774,  0x0774,  0x0774, /* 3808 */
+  0x0774,  0x0774,  0x0774,  0x0774,  0x0774,  0x0774,  0x0774,  0x0774, /* 3816 */
+  0x0774,  0x0774,  0x0774,  0x0774,  0x0774,  0x0774,  0x0774,  0x0774, /* 3824 */
+  0x0774,  0x0774,  0x0774,  0x0774,  0x0774,  0x0774,  0x0774,  0x0774, /* 3832 */
+  0x0774,  0x0774,  0x0774,  0x0774,  0x0774,  0x0774,  0x0774,  0x0774, /* 3840 */
+  0x077c,  0x0780,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c, /* 3848 */
+  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c, /* 3856 */
+  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c, /* 3864 */
+  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c, /* 3872 */
+  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c, /* 3880 */
+  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c, /* 3888 */
+  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c, /* 3896 */
+  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c, /* 3904 */
+  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c, /* 3912 */
+  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c, /* 3920 */
+  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c, /* 3928 */
+  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c, /* 3936 */
+  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c, /* 3944 */
+  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c, /* 3952 */
+  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c, /* 3960 */
+  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c, /* 3968 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 3976 */
+  0x0110,  0x0110,  0x0110,  0x02dc,  0x0110,  0x0110,  0x0110,  0x0110, /* 3984 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 3992 */
+  0x0110,  0x0110,  0x0312,  0x01a0,  0x0110,  0x0110,  0x0110,  0x0110, /* 4000 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 4008 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 4016 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x02dc,  0x01a0, /* 4024 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 4032 */
+  0x049a,  0x04ea,  0x01a0,  0x01a0,  0x0784,  0x049a,  0x01a0,  0x0788, /* 4040 */
+  0x023c,  0x023c,  0x078c,  0x023c,  0x023c,  0x0244,  0x023c,  0x0790, /* 4048 */
+  0x0245,  0x0246,  0x023c,  0x023c,  0x0265,  0x0265,  0x0265,  0x0265, /* 4056 */
+  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x0265, /* 4064 */
+  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x0265, /* 4072 */
+  0x0265,  0x0265,  0x0265,  0x0265,  0x02b4,  0x01a0,  0x01a0,  0x01a0, /* 4080 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x0794,  0x0265,  0x0265,  0x0265, /* 4088 */
+  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x0265, /* 4096 */
+  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x0265, /* 4104 */
+  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x0265, /* 4112 */
+  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x0265, /* 4120 */
+  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x0265, /* 4128 */
+  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x0265, /* 4136 */
+  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x0265, /* 4144 */
+  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x0265, /* 4152 */
+  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x0265, /* 4160 */
+  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x0265, /* 4168 */
+  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x0798, /* 4176 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x0265,  0x0265,  0x0265,  0x0265, /* 4184 */
+  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x0265, /* 4192 */
+  0x0265,  0x0265,  0x0265,  0x0265,  0x02b6,  0x0265,  0x0265,  0x0265, /* 4200 */
+  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x0265, /* 4208 */
+  0x0265,  0x0265,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 4216 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x0265,  0x0265,  0x0265,  0x079c, /* 4224 */
+  0x0194,  0x0194,  0x0194,  0x0194,  0x0464,  0x07a0,  0x07a4,  0x01a0, /* 4232 */
+  0x0194,  0x01a0,  0x01a0,  0x01a0,  0x07a8,  0x07ac,  0x07b0,  0x07ae, /* 4240 */
+  0x07ae,  0x07b4,  0x07b8,  0x07bc,  0x07c0,  0x07c4,  0x07c8,  0x07cc, /* 4248 */
+  0x07d0,  0x07d4,  0x07d8,  0x01a0,  0x0265,  0x07dc,  0x0265,  0x0265, /* 4256 */
+  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x0265, /* 4264 */
+  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x0265, /* 4272 */
+  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x0265, /* 4280 */
+  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x0265,  0x07e0, /* 4288 */
+  0x07e4,  0x0018,  0x001c,  0x0020,  0x0024,  0x0028,  0x002c,  0x0030, /* 4296 */
+  0x0034,  0x0038,  0x07e8,  0x0040,  0x0044,  0x0048,  0x004c,  0x0050, /* 4304 */
+  0x0054,  0x0058,  0x07ec,  0x0060,  0x0064,  0x0068,  0x006c,  0x07f0, /* 4312 */
+  0x07f4,  0x07f8,  0x0110,  0x0110,  0x07fc,  0x0110,  0x0110,  0x0110, /* 4320 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0800, /* 4328 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0312, /* 4336 */
+  0x0315,  0x0110,  0x0315,  0x0110,  0x0315,  0x0110,  0x0315,  0x032e, /* 4344 */
+  0x0804,  0x0808,  0x0619,  0x080c,  0x01a0,  0x01a0,  0x0810,  0x025a, /* 4352 */
+  0x0110,  0x0110,  0x0110,  0x0310,  0x0110,  0x0110,  0x0110,  0x0110, /* 4360 */
+  0x0110,  0x0312,  0x0110,  0x0110,  0x0110,  0x0110,  0x0312,  0x031b, /* 4368 */
+  0x0110,  0x0110,  0x0110,  0x02dc,  0x0110,  0x0110,  0x0110,  0x02dc, /* 4376 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 4384 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 4392 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 4400 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 4408 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0312,  0x01a0, /* 4416 */
+  0x0814,  0x0818,  0x040e,  0x0412,  0x0416,  0x041a,  0x081c,  0x0820, /* 4424 */
+  0x0824,  0x0828,  0x082c,  0x0830,  0x0834,  0x0838,  0x03bf,  0x03bf, /* 4432 */
+  0x083c,  0x0840,  0x0844,  0x0848,  0x0845,  0x084c,  0x0850,  0x0854, /* 4440 */
+  0x0858,  0x085c,  0x0860,  0x0864,  0x0848,  0x0868,  0x086c,  0x0373, /* 4448 */
+  0x0373,  0x0373,  0x0870,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 4456 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 4464 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 4472 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 4480 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0312, /* 4488 */
+  0x0874,  0x01a0,  0x01a0,  0x01a0,  0x0110,  0x0110,  0x0110,  0x0110, /* 4496 */
+  0x0878,  0x0110,  0x087c,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 4504 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 4512 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0880, /* 4520 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 4528 */
+  0x0110,  0x01a0,  0x0110,  0x0110,  0x0884,  0x0888,  0x01a0,  0x01a0, /* 4536 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 4544 */
+  0x088c,  0x0890,  0x088c,  0x088c,  0x088c,  0x088c,  0x088c,  0x088c, /* 4552 */
+  0x088c,  0x088c,  0x0894,  0x0898,  0x0894,  0x0894,  0x0894,  0x0894, /* 4560 */
+  0x0894,  0x0894,  0x0894,  0x0894,  0x0110,  0x0110,  0x0110,  0x0110, /* 4568 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 4576 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x02dc, /* 4584 */
+  0x02fa,  0x02fe,  0x03b4,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 4592 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 4600 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 4608 */
+  0x023c,  0x089c,  0x0246,  0x023c,  0x023c,  0x023c,  0x023c,  0x023c, /* 4616 */
+  0x023c,  0x023c,  0x023c,  0x023c,  0x023c,  0x0245,  0x0792,  0x08a0, /* 4624 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 4632 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 4640 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 4648 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 4656 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 4664 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 4672 */
+  0x023c,  0x023c,  0x023c,  0x023c,  0x023c,  0x08a4,  0x08a8,  0x08ac, /* 4680 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 4688 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 4696 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 4704 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 4712 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 4720 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 4728 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 4736 */
+  0x08b0,  0x034e,  0x01a0,  0x0194,  0x023c,  0x0247,  0x0247,  0x023c, /* 4744 */
+  0x023c,  0x023c,  0x023c,  0x023c,  0x023c,  0x01a0,  0x01fc,  0x034c, /* 4752 */
+  0x08b4,  0x08b8,  0x01a0,  0x01a0,  0x08bc,  0x08c0,  0x024c,  0x01a0, /* 4760 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 4768 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 4776 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 4784 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 4792 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 4800 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 4808 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 4816 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 4824 */
+  0x0110,  0x0110,  0x0110,  0x0312,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 4832 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 4840 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 4848 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 4856 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 4864 */
+  0x06fa,  0x06fe,  0x06fb,  0x08c4,  0x06fd,  0x08c8,  0x06fc,  0x08cc, /* 4872 */
+  0x08d0,  0x08d4,  0x06fe,  0x08d8,  0x08dc,  0x08d8,  0x08e0,  0x08e4, /* 4880 */
+  0x08e8,  0x08ec,  0x08f0,  0x08f4,  0x08f8,  0x08fc,  0x0900,  0x0904, /* 4888 */
+  0x0908,  0x01a0,  0x01a0,  0x01a0,  0x021a,  0x01a0,  0x01a0,  0x01a0, /* 4896 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 4904 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 4912 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 4920 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 4928 */
+  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf, /* 4936 */
+  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf, /* 4944 */
+  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf, /* 4952 */
+  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf, /* 4960 */
+  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf, /* 4968 */
+  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf, /* 4976 */
+  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf, /* 4984 */
+  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03e7,  0x01a0,  0x01a0, /* 4992 */
+  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf, /* 5000 */
+  0x03bf,  0x0758,  0x090c,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf, /* 5008 */
+  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf, /* 5016 */
+  0x03bf,  0x0910,  0x03c4,  0x0914,  0x0918,  0x056c,  0x091c,  0x0194, /* 5024 */
+  0x0920,  0x01fa,  0x0194,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf, /* 5032 */
+  0x03bf,  0x03bf,  0x03c2,  0x03c4,  0x03bf,  0x03bf,  0x03bf,  0x03bf, /* 5040 */
+  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03bf,  0x03e7, /* 5048 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 5056 */
+  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373, /* 5064 */
+  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373, /* 5072 */
+  0x0924,  0x0928,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 5080 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 5088 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 5096 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 5104 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 5112 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 5120 */
+  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373, /* 5128 */
+  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x0373, /* 5136 */
+  0x0373,  0x0373,  0x0373,  0x0373,  0x0373,  0x065c,  0x01a0,  0x01a0, /* 5144 */
+  0x033c,  0x0411,  0x0415,  0x0419,  0x092c,  0x01a0,  0x01a0,  0x01a0, /* 5152 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 5160 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 5168 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 5176 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 5184 */
+  0x05ad,  0x05ad,  0x05ad,  0x05ad,  0x05ad,  0x05ad,  0x05a8,  0x0130, /* 5192 */
+  0x0130,  0x0130,  0x0130,  0x0130,  0x0130,  0x05ad,  0x05ad,  0x05ad, /* 5200 */
+  0x05ad,  0x05ad,  0x05ad,  0x05a8,  0x0130,  0x0930,  0x0130,  0x0130, /* 5208 */
+  0x0130,  0x0130,  0x05ad,  0x05ad,  0x05ad,  0x05ad,  0x05ad,  0x05ad, /* 5216 */
+  0x05a8,  0x0130,  0x0130,  0x0130,  0x0130,  0x0130,  0x0130,  0x0934, /* 5224 */
+  0x0938,  0x0935,  0x093c,  0x0934,  0x05ad,  0x05a8,  0x0940,  0x0944, /* 5232 */
+  0x0130,  0x0948,  0x0130,  0x0130,  0x05ad,  0x05ad,  0x05ad,  0x05ad, /* 5240 */
+  0x05ad,  0x05ad,  0x05a8,  0x0130,  0x0130,  0x0130,  0x0130,  0x0130, /* 5248 */
+  0x0130,  0x094c,  0x0950,  0x093c,  0x05ad,  0x0934,  0x05ad,  0x0954, /* 5256 */
+  0x0130,  0x0130,  0x0130,  0x0130,  0x0130,  0x0130,  0x094c,  0x0950, /* 5264 */
+  0x05ad,  0x0952,  0x093b,  0x05ad,  0x0958,  0x0130,  0x0130,  0x0130, /* 5272 */
+  0x0130,  0x0130,  0x0130,  0x05ad,  0x05ad,  0x05ad,  0x05ad,  0x05ad, /* 5280 */
+  0x05ad,  0x05a8,  0x0130,  0x0130,  0x0130,  0x0130,  0x0130,  0x0130, /* 5288 */
+  0x05ad,  0x05ad,  0x05ad,  0x05ad,  0x05ad,  0x05ad,  0x05a8,  0x0130, /* 5296 */
+  0x0130,  0x0130,  0x0130,  0x0130,  0x0130,  0x05ad,  0x05ad,  0x05ad, /* 5304 */
+  0x05ad,  0x05ad,  0x05ad,  0x05a8,  0x0130,  0x0130,  0x0130,  0x0130, /* 5312 */
+  0x0130,  0x0130,  0x05ad,  0x05ad,  0x05ad,  0x05ad,  0x05ad,  0x05ad, /* 5320 */
+  0x05a8,  0x0130,  0x0130,  0x0130,  0x0130,  0x0130,  0x0130,  0x05ad, /* 5328 */
+  0x05ad,  0x05ad,  0x05ad,  0x05ad,  0x05ad,  0x05a8,  0x0130,  0x0130, /* 5336 */
+  0x0130,  0x0130,  0x0130,  0x0130,  0x05ad,  0x05ad,  0x05ad,  0x05ad, /* 5344 */
+  0x05ad,  0x05ad,  0x05a8,  0x0130,  0x0130,  0x0130,  0x0130,  0x0130, /* 5352 */
+  0x0130,  0x095c,  0x05ad,  0x05ad,  0x05ad,  0x05ad,  0x05ad,  0x05ad, /* 5360 */
+  0x0960,  0x0130,  0x0130,  0x0130,  0x0130,  0x0130,  0x0964,  0x0130, /* 5368 */
+  0x05cc,  0x05ad,  0x05ad,  0x05ad,  0x05ad,  0x05ad,  0x0968,  0x0130, /* 5376 */
+  0x0130,  0x0130,  0x0130,  0x0130,  0x0130,  0x096c,  0x0130,  0x05ad, /* 5384 */
+  0x05ad,  0x05ad,  0x05ad,  0x05ad,  0x05ad,  0x0960,  0x0130,  0x0130, /* 5392 */
+  0x0130,  0x0130,  0x0130,  0x0964,  0x0130,  0x05cc,  0x05ad,  0x05ad, /* 5400 */
+  0x05ad,  0x05ad,  0x05ad,  0x0968,  0x0130,  0x0130,  0x0130,  0x0130, /* 5408 */
+  0x0130,  0x0130,  0x0970,  0x0130,  0x05ad,  0x05ad,  0x05ad,  0x05ad, /* 5416 */
+  0x05ad,  0x05ad,  0x0960,  0x0130,  0x0130,  0x0130,  0x0130,  0x0130, /* 5424 */
+  0x0964,  0x0130,  0x0974,  0x0978,  0x0026,  0x002a,  0x0024,  0x0028, /* 5432 */
+  0x097c,  0x0026,  0x002a,  0x0024,  0x0028,  0x0980,  0x0026,  0x002a, /* 5440 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 5448 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 5456 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 5464 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 5472 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 5480 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110, /* 5488 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0312,  0x01a0,  0x01a0, /* 5496 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 5504 */
+  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x0110,  0x02dc, /* 5512 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 5520 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 5528 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 5536 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 5544 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 5552 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 5560 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 5568 */
+  0x0984,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 5576 */
+  0x056c,  0x056c,  0x056c,  0x056c,  0x056c,  0x056c,  0x056c,  0x056c, /* 5584 */
+  0x056c,  0x056c,  0x056c,  0x056c,  0x056c,  0x056c,  0x056c,  0x056c, /* 5592 */
+  0x056c,  0x056c,  0x056c,  0x056c,  0x056c,  0x056c,  0x056c,  0x056c, /* 5600 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 5608 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 5616 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 5624 */
+  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 5632 */
+  0x0194,  0x0194,  0x0194,  0x0194,  0x0194,  0x0194,  0x0194,  0x0194, /* 5640 */
+  0x0194,  0x0194,  0x0194,  0x0194,  0x0194,  0x0194,  0x0194,  0x0194, /* 5648 */
+  0x0194,  0x0194,  0x0194,  0x0194,  0x0194,  0x0194,  0x0194,  0x0194, /* 5656 */
+  0x0194,  0x0194,  0x0194,  0x0194,  0x0194,  0x0194,  0x0194,  0x0194, /* 5664 */
+  0x0194,  0x0194,  0x0194,  0x0194,  0x0194,  0x0194,  0x0194,  0x0194, /* 5672 */
+  0x0194,  0x0194,  0x0194,  0x0194,  0x0194,  0x0194,  0x0194,  0x0194, /* 5680 */
+  0x0194,  0x0194,  0x0194,  0x0194,  0x0194,  0x0194,  0x0194,  0x0194, /* 5688 */
+  0x0194,  0x0194,  0x0194,  0x0194,  0x01a0,  0x01a0,  0x01a0,  0x01a0, /* 5696 */
+  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c, /* 5704 */
+  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c, /* 5712 */
+  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c, /* 5720 */
+  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c, /* 5728 */
+  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c, /* 5736 */
+  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c, /* 5744 */
+  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c, /* 5752 */
+  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x0782, /* 5760 */
+  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c, /* 5768 */
+  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c, /* 5776 */
+  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c, /* 5784 */
+  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c, /* 5792 */
+  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c, /* 5800 */
+  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c, /* 5808 */
+  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c, /* 5816 */
+  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x077c,  0x0988, /* 5824 */
 
-
+};
 
 /**
- * (85) BaseChar ::=
+ * Property table has 2442 entries
  */
-bool isBaseChar(int ch)
+static unsigned int prop[] =
 {
+  0x4800100f,  0x4800100f,  0x4800100f,  0x4800100f, /* 4 */
+  0x4800100f,  0x4800100f,  0x4800100f,  0x4800100f, /* 8 */
+  0x4800100f,  0x5800000f,  0x5000000f,  0x5800000f, /* 12 */
+  0x6000000f,  0x5000000f,  0x4800100f,  0x4800100f, /* 16 */
+  0x5000000f,  0x5000000f,  0x5000000f,  0x5800000f, /* 20 */
+  0x6000400c,  0x68000018,  0x68000018,  0x28000018, /* 24 */
+  0x2800501a,  0x28000018,  0x68000018,  0x68000018, /* 28 */
+  0xe8000015,  0xe8000016,  0x68000018,  0x20000019, /* 32 */
+  0x38000018,  0x20000014,  0x38000018,  0x38000018, /* 36 */
+  0x18003409,  0x18003429,  0x18003449,  0x18003469, /* 40 */
+  0x18003489,  0x180034a9,  0x180034c9,  0x180034e9, /* 44 */
+  0x18003509,  0x18003529,  0x38000018,  0x68000018, /* 48 */
+  0xe8000019,  0x68000019,  0xe8000019,  0x68000018, /* 52 */
+  0x68000018,  0x00827c01,  0x00827c21,  0x00827c41, /* 56 */
+  0x00827c61,  0x00827c81,  0x00827ca1,  0x00827cc1, /* 60 */
+  0x00827ce1,  0x07fd7d01,  0x07fd7d21,  0x00827d41, /* 64 */
+  0x00827d61,  0x00827d81,  0x00827da1,  0x00827dc1, /* 68 */
+  0x00827de1,  0x00827e01,  0x00827e21,  0x00827e41, /* 72 */
+  0x00827e61,  0x00827e81,  0x00827ea1,  0x00827ec1, /* 76 */
+  0x00827ee1,  0x00827f01,  0x00827f21,  0xe8000015, /* 80 */
+  0x68000018,  0xe8000016,  0x6800001b,  0x68002017, /* 84 */
+  0x6800001b,  0x00817c02,  0x00817c22,  0x00817c42, /* 88 */
+  0x00817c62,  0x00817c82,  0x00817ca2,  0x00817cc2, /* 92 */
+  0x00817ce2,  0x07fd7d02,  0x00817d22,  0x00817d42, /* 96 */
+  0x00817d62,  0x00817d82,  0x00817da2,  0x00817dc2, /* 100 */
+  0x00817de2,  0x00817e02,  0x00817e22,  0x00817e42, /* 104 */
+  0x00817e62,  0x00817e82,  0x00817ea2,  0x00817ec2, /* 108 */
+  0x00817ee2,  0x00817f02,  0x00817f22,  0xe8000015, /* 112 */
+  0x68000019,  0xe8000016,  0x68000019,  0x4800100f, /* 116 */
+  0x4800100f,  0x5000100f,  0x4800100f,  0x4800100f, /* 120 */
+  0x3800000c,  0x68000018,  0x2800501a,  0x2800501a, /* 124 */
+  0x2800501a,  0x2800501a,  0x6800001c,  0x6800001c, /* 128 */
+  0x6800001b,  0x6800001c,  0x00007002,  0xe800001d, /* 132 */
+  0x68000019,  0x48001010,  0x6800001c,  0x6800001b, /* 136 */
+  0x2800001c,  0x28000019,  0x1800044b,  0x1800046b, /* 140 */
+  0x6800001b,  0x07fd7002,  0x6800001c,  0x68000018, /* 144 */
+  0x6800001b,  0x1800042b,  0x00007002,  0xe800001e, /* 148 */
+  0x68000beb,  0x68000beb,  0x68000beb,  0x68000018, /* 152 */
+  0x00827001,  0x00827001,  0x00827001,  0x00827001, /* 156 */
+  0x00827001,  0x00827001,  0x00827001,  0x00827001, /* 160 */
+  0x07fd7001,  0x07fd7001,  0x00827001,  0x00827001, /* 164 */
+  0x00827001,  0x00827001,  0x00827001,  0x68000019, /* 168 */
+  0x00827001,  0x00827001,  0x00827001,  0x07fd7002, /* 172 */
+  0x00817002,  0x00817002,  0x00817002,  0x00817002, /* 176 */
+  0x00817002,  0x00817002,  0x00817002,  0x00817002, /* 180 */
+  0x00817002,  0x00817002,  0x00817002,  0x68000019, /* 184 */
+  0x00817002,  0x00817002,  0x00817002,  0x061d7002, /* 188 */
+  0x00067001,  0x00057002,  0x00067001,  0x00057002, /* 192 */
+  0x00067001,  0x00057002,  0x00067001,  0x00057002, /* 196 */
+  0x07fd7001,  0x00057002,  0x00067001,  0x00057002, /* 200 */
+  0x07fd7001,  0x03a17002,  0x00067001,  0x00057002, /* 204 */
+  0x00007002,  0x00067001,  0x00057002,  0x00067001, /* 208 */
+  0x00057002,  0x07fd7002,  0x00067001,  0x00057002, /* 212 */
+  0x061e7001,  0x00067001,  0x00057002,  0x00067001, /* 216 */
+  0x04f57002,  0x034a7001,  0x00067001,  0x00057002, /* 220 */
+  0x00067001,  0x00057002,  0x033a7001,  0x00067001, /* 224 */
+  0x00057002,  0x03367001,  0x03367001,  0x00067001, /* 228 */
+  0x00057002,  0x00007002,  0x013e7001,  0x032a7001, /* 232 */
+  0x032e7001,  0x00067001,  0x00057002,  0x03367001, /* 236 */
+  0x033e7001,  0x067d7002,  0x034e7001,  0x03467001, /* 240 */
+  0x00067001,  0x00057002,  0x05757002,  0x00007002, /* 244 */
+  0x034e7001,  0x03567001,  0x05f97002,  0x035a7001, /* 248 */
+  0x00067001,  0x00057002,  0x036a7001,  0x00067001, /* 252 */
+  0x00057002,  0x036a7001,  0x00007002,  0x00007002, /* 256 */
+  0x00057002,  0x03667001,  0x03667001,  0x00067001, /* 260 */
+  0x00057002,  0x00067001,  0x00057002,  0x036e7001, /* 264 */
+  0x00067001,  0x00057002,  0x00007002,  0x00007005, /* 268 */
+  0x00067001,  0x00057002,  0x00007002,  0x07217002, /* 272 */
+  0x00007005,  0x00007005,  0x00007005,  0x00007005, /* 276 */
+  0x000a7001,  0x0007f003,  0x00097002,  0x000a7001, /* 280 */
+  0x0007f003,  0x00097002,  0x000a7001,  0x0007f003, /* 284 */
+  0x00097002,  0x00067001,  0x00057002,  0x00067001, /* 288 */
+  0x00057002,  0x013d7002,  0x00067001,  0x00057002, /* 292 */
+  0x07fd7002,  0x000a7001,  0x0007f003,  0x00097002, /* 296 */
+  0x00067001,  0x00057002,  0x067e7001,  0x07227001, /* 300 */
+  0x05fa7001,  0x00007002,  0x00067001,  0x00057002, /* 304 */
+  0x00007002,  0x00007002,  0x00007002,  0x00007002, /* 308 */
+  0x00007002,  0x00007002,  0x07fe7001,  0x00067001, /* 312 */
+  0x00057002,  0x05767001,  0x07fe7001,  0x00007002, /* 316 */
+  0x00007002,  0x00067001,  0x00057002,  0x04f67001, /* 320 */
+  0x01167001,  0x011e7001,  0x00067001,  0x00057002, /* 324 */
+  0x00007002,  0x00007002,  0x00007002,  0x03497002, /* 328 */
+  0x03397002,  0x00007002,  0x03357002,  0x03357002, /* 332 */
+  0x00007002,  0x03297002,  0x00007002,  0x032d7002, /* 336 */
+  0x03357002,  0x00007002,  0x00007002,  0x033d7002, /* 340 */
+  0x03457002,  0x034d7002,  0x00007002,  0x07fd7002, /* 344 */
+  0x00007002,  0x00007002,  0x00007002,  0x034d7002, /* 348 */
+  0x00007002,  0x00007002,  0x03557002,  0x00007002, /* 352 */
+  0x00007002,  0x03597002,  0x00007002,  0x00007002, /* 356 */
+  0x03697002,  0x00007002,  0x00007002,  0x03697002, /* 360 */
+  0x03697002,  0x01157002,  0x03657002,  0x03657002, /* 364 */
+  0x011d7002,  0x00007002,  0x00007002,  0x00007002, /* 368 */
+  0x00007002,  0x00007002,  0x036d7002,  0x00007002, /* 372 */
+  0x00007005,  0x00007002,  0x00007002,  0x00007002, /* 376 */
+  0x00007004,  0x00007004,  0x00007004,  0x00007004, /* 380 */
+  0x00007004,  0x00007004,  0x00007004,  0x00007004, /* 384 */
+  0x00007004,  0x68007004,  0x68007004,  0x00007004, /* 388 */
+  0x00007004,  0x00007004,  0x6800001b,  0x6800001b, /* 392 */
+  0x6800001b,  0x6800001b,  0x68007004,  0x68007004, /* 396 */
+  0x68007004,  0x68007004,  0x68007004,  0x68007004, /* 400 */
+  0x6800001b,  0x6800001b,  0x00007004,  0x6800001b, /* 404 */
+  0x40003006,  0x40003006,  0x40003006,  0x40003006, /* 408 */
+  0x40003006,  0x40003006,  0x40003006,  0x47fd3006, /* 412 */
+  0x40003006,  0x46b13006,  0x40003006,  0x40003006, /* 416 */
+  0x78000000,  0x78000000,  0x78000000,  0x78000000, /* 420 */
+  0x6800001b,  0x6800001b,  0x78000000,  0x78000000, /* 424 */
+  0x78000000,  0x78000000,  0x00007004,  0x05f97002, /* 428 */
+  0x05f97002,  0x05f97002,  0x68000018,  0x78000000, /* 432 */
+  0x6800001b,  0x6800001b,  0x009a7001,  0x68000018, /* 436 */
+  0x00967001,  0x00967001,  0x00967001,  0x78000000, /* 440 */
+  0x01027001,  0x78000000,  0x00fe7001,  0x00fe7001, /* 444 */
+  0x07fd7002,  0x00827001,  0x00827001,  0x00827001, /* 448 */
+  0x00827001,  0x00827001,  0x78000000,  0x07fd7001, /* 452 */
+  0x00997002,  0x00957002,  0x00957002,  0x00957002, /* 456 */
+  0x00817002,  0x00817002,  0x007d7002,  0x00817002, /* 460 */
+  0x01017002,  0x00fd7002,  0x00fd7002,  0x78000000, /* 464 */
+  0x00f97002,  0x00e57002,  0x00007001,  0x00007001, /* 468 */
+  0x00007001,  0x00bd7002,  0x00d97002,  0x00007002, /* 472 */
+  0x01597002,  0x01417002,  0x07e57002,  0x00007002, /* 476 */
+  0x07127001,  0x01817002,  0x68000019,  0x00067001, /* 480 */
+  0x00057002,  0x07e67001,  0x00067001,  0x00057002, /* 484 */
+  0x00007002,  0x05fa7001,  0x05fa7001,  0x05fa7001, /* 488 */
+  0x01427001,  0x01427001,  0x01427001,  0x01427001, /* 492 */
+  0x01427001,  0x01427001,  0x01427001,  0x01427001, /* 496 */
+  0x01417002,  0x01417002,  0x01417002,  0x01417002, /* 500 */
+  0x01417002,  0x01417002,  0x01417002,  0x01417002, /* 504 */
+  0x00067001,  0x00057002,  0x0000001c,  0x40003006, /* 508 */
+  0x40003006,  0x40003006,  0x40003006,  0x78000000, /* 512 */
+  0x40000007,  0x40000007,  0x00067001,  0x00057002, /* 516 */
+  0x003e7001,  0x00067001,  0x00057002,  0x00067001, /* 520 */
+  0x00057002,  0x00067001,  0x00057002,  0x003d7002, /* 524 */
+  0x78000000,  0x00c27001,  0x00c27001,  0x00c27001, /* 528 */
+  0x00c27001,  0x00c27001,  0x00c27001,  0x00c27001, /* 532 */
+  0x00c27001,  0x00c27001,  0x00c27001,  0x78000000, /* 536 */
+  0x78000000,  0x00007004,  0x00000018,  0x00000018, /* 540 */
+  0x00000018,  0x00000018,  0x00000018,  0x00000018, /* 544 */
+  0x78000000,  0x00c17002,  0x00c17002,  0x00c17002, /* 548 */
+  0x00c17002,  0x00c17002,  0x00c17002,  0x00c17002, /* 552 */
+  0x00c17002,  0x00c17002,  0x00c17002,  0x07fd7002, /* 556 */
+  0x78000000,  0x00000018,  0x68000014,  0x78000000, /* 560 */
+  0x78000000,  0x40003006,  0x40003006,  0x40003006, /* 564 */
+  0x40003006,  0x40003006,  0x08000018,  0x40003006, /* 568 */
+  0x08000018,  0x40003006,  0x40003006,  0x08000018, /* 572 */
+  0x08007005,  0x08007005,  0x08007005,  0x08007005, /* 576 */
+  0x08007005,  0x08007005,  0x08007005,  0x08007005, /* 580 */
+  0x08007005,  0x08007005,  0x08007005,  0x78000000, /* 584 */
+  0x08007005,  0x08007005,  0x08007005,  0x08000018, /* 588 */
+  0x08000018,  0x78000000,  0x78000000,  0x78000000, /* 592 */
+  0x10001010,  0x10001010,  0x10001010,  0x10001010, /* 596 */
+  0x78000000,  0x78000000,  0x78000000,  0x1000501a, /* 600 */
+  0x38000018,  0x10000018,  0x6800001c,  0x6800001c, /* 604 */
+  0x78000000,  0x78000000,  0x78000000,  0x10000018, /* 608 */
+  0x78000000,  0x78000000,  0x10000018,  0x10000018, /* 612 */
+  0x78000000,  0x10007005,  0x10007005,  0x10007005, /* 616 */
+  0x10007005,  0x10007005,  0x10007005,  0x10007005, /* 620 */
+  0x10007005,  0x10007005,  0x10007005,  0x78000000, /* 624 */
+  0x10007004,  0x10007005,  0x10007005,  0x10007005, /* 628 */
+  0x10007005,  0x10007005,  0x10007005,  0x40003006, /* 632 */
+  0x30003409,  0x30003429,  0x30003449,  0x30003469, /* 636 */
+  0x30003489,  0x300034a9,  0x300034c9,  0x300034e9, /* 640 */
+  0x30003509,  0x30003529,  0x28000018,  0x30000018, /* 644 */
+  0x30000018,  0x10000018,  0x10007005,  0x10007005, /* 648 */
+  0x40003006,  0x10007005,  0x10007005,  0x10007005, /* 652 */
+  0x10000018,  0x10007005,  0x40003006,  0x40003006, /* 656 */
+  0x40003006,  0x10001010,  0x40000007,  0x40003006, /* 660 */
+  0x40003006,  0x10007004,  0x10007004,  0x40003006, /* 664 */
+  0x40003006,  0x6800001c,  0x40003006,  0x40003006, /* 668 */
+  0x40003006,  0x40003006,  0x10007005,  0x10007005, /* 672 */
+  0x18003509,  0x18003529,  0x10007005,  0x10007005, /* 676 */
+  0x10007005,  0x1000001c,  0x1000001c,  0x10007005, /* 680 */
+  0x10000018,  0x10000018,  0x10000018,  0x10000018, /* 684 */
+  0x10000018,  0x10000018,  0x10000018,  0x10000018, /* 688 */
+  0x10000018,  0x10000018,  0x78000000,  0x48001010, /* 692 */
+  0x10007005,  0x10007005,  0x78000000,  0x78000000, /* 696 */
+  0x10007005,  0x10007005,  0x40003006,  0x40003006, /* 700 */
+  0x40003006,  0x10007005,  0x78000000,  0x78000000, /* 704 */
+  0x08003409,  0x08003429,  0x08003449,  0x08003469, /* 708 */
+  0x08003489,  0x080034a9,  0x080034c9,  0x080034e9, /* 712 */
+  0x08003509,  0x08003529,  0x08007005,  0x08007005, /* 716 */
+  0x08007005,  0x08007005,  0x08007005,  0x40003006, /* 720 */
+  0x08007004,  0x08007004,  0x6800001c,  0x68000018, /* 724 */
+  0x68000018,  0x68000018,  0x08007004,  0x78000000, /* 728 */
+  0x78000000,  0x40003006,  0x40003006,  0x00003008, /* 732 */
+  0x00007005,  0x00007005,  0x78000000,  0x78000000, /* 736 */
+  0x40003006,  0x00007005,  0x00003008,  0x00003008, /* 740 */
+  0x00003008,  0x40003006,  0x40003006,  0x40003006, /* 744 */
+  0x40003006,  0x00003008,  0x00003008,  0x00003008, /* 748 */
+  0x00003008,  0x40003006,  0x78000000,  0x78000000, /* 752 */
+  0x00007005,  0x40003006,  0x40003006,  0x40003006, /* 756 */
+  0x00007005,  0x00007005,  0x40003006,  0x40003006, /* 760 */
+  0x00000018,  0x00000018,  0x00003409,  0x00003429, /* 764 */
+  0x00003449,  0x00003469,  0x00003489,  0x000034a9, /* 768 */
+  0x000034c9,  0x000034e9,  0x00003509,  0x00003529, /* 772 */
+  0x00000018,  0x78000000,  0x78000000,  0x78000000, /* 776 */
+  0x78000000,  0x78000000,  0x78000000,  0x00007005, /* 780 */
+  0x78000000,  0x40003006,  0x00003008,  0x00003008, /* 784 */
+  0x78000000,  0x00007005,  0x00007005,  0x00007005, /* 788 */
+  0x00007005,  0x78000000,  0x78000000,  0x00007005, /* 792 */
+  0x00007005,  0x78000000,  0x78000000,  0x00007005, /* 796 */
+  0x00007005,  0x78000000,  0x00007005,  0x00007005, /* 800 */
+  0x00007005,  0x78000000,  0x00007005,  0x78000000, /* 804 */
+  0x40003006,  0x78000000,  0x78000000,  0x00003008, /* 808 */
+  0x00003008,  0x78000000,  0x78000000,  0x00003008, /* 812 */
+  0x00003008,  0x40003006,  0x00007005,  0x78000000, /* 816 */
+  0x78000000,  0x78000000,  0x78000000,  0x00003008, /* 820 */
+  0x78000000,  0x78000000,  0x00003409,  0x00003429, /* 824 */
+  0x00007005,  0x00007005,  0x2800501a,  0x2800501a, /* 828 */
+  0x0000042b,  0x0000044b,  0x0000046b,  0x0000048b, /* 832 */
+  0x0000000b,  0x0000060b,  0x0000001c,  0x78000000, /* 836 */
+  0x40003006,  0x78000000,  0x00003008,  0x00003008, /* 840 */
+  0x00003008,  0x40003006,  0x40003006,  0x78000000, /* 844 */
+  0x78000000,  0x78000000,  0x78000000,  0x40003006, /* 848 */
+  0x40003006,  0x78000000,  0x78000000,  0x40003006, /* 852 */
+  0x40003006,  0x40003006,  0x78000000,  0x40003006, /* 856 */
+  0x40003006,  0x00003008,  0x78000000,  0x00003008, /* 860 */
+  0x78000000,  0x2800501a,  0x78000000,  0x78000000, /* 864 */
+  0x40003006,  0x00007005,  0x00003008,  0x40003006, /* 868 */
+  0x78000000,  0x78000000,  0x40003006,  0x00003008, /* 872 */
+  0x0000001c,  0x00007005,  0x78000000,  0x78000000, /* 876 */
+  0x00003008,  0x78000000,  0x00003008,  0x00003008, /* 880 */
+  0x0000054b,  0x0000088b,  0x0000090b,  0x6800001c, /* 884 */
+  0x6800001c,  0x6800001c,  0x6800001c,  0x6800001c, /* 888 */
+  0x6800001c,  0x2800501a,  0x6800001c,  0x78000000, /* 892 */
+  0x00003008,  0x78000000,  0x40003006,  0x40003006, /* 896 */
+  0x40003006,  0x00007005,  0x00003008,  0x00003006, /* 900 */
+  0x00003008,  0x78000000,  0x00003006,  0x00003008, /* 904 */
+  0x78000000,  0x6800001c,  0x6800001c,  0x78000000, /* 908 */
+  0x78000000,  0x00007005,  0x78000000,  0x78000000, /* 912 */
+  0x78000000,  0x78000000,  0x40003006,  0x78000000, /* 916 */
+  0x40003006,  0x78000000,  0x40003006,  0x78000000, /* 920 */
+  0x00007005,  0x40003006,  0x00007005,  0x00007005, /* 924 */
+  0x78000000,  0x78000000,  0x78000000,  0x2800501a, /* 928 */
+  0x00007005,  0x00007005,  0x00007004,  0x40003006, /* 932 */
+  0x40003006,  0x40003006,  0x40003006,  0x00000018, /* 936 */
+  0x00003509,  0x00003529,  0x00000018,  0x00000018, /* 940 */
+  0x78000000,  0x00007005,  0x78000000,  0x00007005, /* 944 */
+  0x00007005,  0x78000000,  0x00007004,  0x78000000, /* 948 */
+  0x00003509,  0x00003529,  0x78000000,  0x78000000, /* 952 */
+  0x00007005,  0x0000001c,  0x0000001c,  0x0000001c, /* 956 */
+  0x00000018,  0x00000018,  0x00000018,  0x0000001c, /* 960 */
+  0x0000001c,  0x0000001c,  0x0000001c,  0x0000001c, /* 964 */
+  0x40003006,  0x40003006,  0x0000001c,  0x0000001c, /* 968 */
+  0x00003509,  0x00003529,  0x00000beb,  0x00000beb, /* 972 */
+  0x00000beb,  0x00000beb,  0x00000beb,  0x00000beb, /* 976 */
+  0x0000001c,  0x40003006,  0x0000001c,  0x40003006, /* 980 */
+  0x0000001c,  0x40003006,  0xe8000015,  0xe8000016, /* 984 */
+  0xe8000015,  0xe8000016,  0x00003008,  0x00003008, /* 988 */
+  0x40003006,  0x00000018,  0x40003006,  0x40003006, /* 992 */
+  0x40003006,  0x78000000,  0x0000001c,  0x0000001c, /* 996 */
+  0x0000001c,  0x0000001c,  0x40003006,  0x0000001c, /* 1000 */
+  0x0000001c,  0x78000000,  0x78000000,  0x0000001c, /* 1004 */
+  0x00000018,  0x00000018,  0x78000000,  0x78000000, /* 1008 */
+  0x40003006,  0x00003008,  0x40003006,  0x78000000, /* 1012 */
+  0x00007005,  0x00007005,  0x00003008,  0x00003008, /* 1016 */
+  0x07fe7001,  0x07fe7001,  0x07fe7001,  0x07fe7001, /* 1020 */
+  0x07fe7001,  0x07fe7001,  0x07fe7001,  0x07fe7001, /* 1024 */
+  0x07fe7001,  0x07fe7001,  0x78000000,  0x78000000, /* 1028 */
+  0x00007005,  0x00007005,  0x00007005,  0x00000018, /* 1032 */
+  0x00007004,  0x78000000,  0x78000000,  0x78000000, /* 1036 */
+  0x00000018,  0x0000042b,  0x0000044b,  0x0000046b, /* 1040 */
+  0x0000048b,  0x000004ab,  0x000004cb,  0x000004eb, /* 1044 */
+  0x0000050b,  0x0000052b,  0x0000054b,  0x0000068b, /* 1048 */
+  0x000007cb,  0x0000090b,  0x00000a4b,  0x00000b8b, /* 1052 */
+  0x000008cb,  0x00000a0b,  0x00000b4b,  0x0000088b, /* 1056 */
+  0x00000a0b,  0x78000000,  0x78000000,  0x78000000, /* 1060 */
+  0x00007005,  0x00000018,  0x00000018,  0x00007005, /* 1064 */
+  0x6000400c,  0x00007005,  0x00007005,  0x00007005, /* 1068 */
+  0x00007005,  0x00007005,  0x00007005,  0xe8000015, /* 1072 */
+  0xe8000016,  0x78000000,  0x78000000,  0x78000000, /* 1076 */
+  0x00000018,  0x00000018,  0x0000762a,  0x0000764a, /* 1080 */
+  0x0000766a,  0x78000000,  0x78000000,  0x78000000, /* 1084 */
+  0x40003006,  0x00000018,  0x00000018,  0x78000000, /* 1088 */
+  0x00007005,  0x78000000,  0x40003006,  0x40003006, /* 1092 */
+  0x00001010,  0x00001010,  0x00003008,  0x40003006, /* 1096 */
+  0x00003008,  0x00003008,  0x40003006,  0x00003008, /* 1100 */
+  0x00000018,  0x00000018,  0x00000018,  0x00007004, /* 1104 */
+  0x00000018,  0x00000018,  0x00000018,  0x2800501a, /* 1108 */
+  0x00007005,  0x40003006,  0x78000000,  0x78000000, /* 1112 */
+  0x6800040b,  0x6800042b,  0x6800044b,  0x6800046b, /* 1116 */
+  0x6800048b,  0x680004ab,  0x680004cb,  0x680004eb, /* 1120 */
+  0x6800050b,  0x6800052b,  0x78000000,  0x78000000, /* 1124 */
+  0x68000018,  0x68000018,  0x68000018,  0x68000018, /* 1128 */
+  0x68000018,  0x68000018,  0x68000014,  0x68000018, /* 1132 */
+  0x68000018,  0x68000018,  0x68000018,  0x40003006, /* 1136 */
+  0x40003006,  0x40003006,  0x6000400c,  0x78000000, /* 1140 */
+  0x00007005,  0x00007005,  0x00007005,  0x00007004, /* 1144 */
+  0x40003006,  0x40003008,  0x40003008,  0x40003008, /* 1148 */
+  0x68000018,  0x68000018,  0x00003409,  0x00003429, /* 1152 */
+  0x00003008,  0x00007005,  0x00007005,  0x00007005, /* 1156 */
+  0x00007005,  0x00007005,  0x00007005,  0x40003006, /* 1160 */
+  0x40003006,  0x00003008,  0x40003006,  0x40003006, /* 1164 */
+  0x0000001c,  0x78000000,  0x78000000,  0x78000000, /* 1168 */
+  0x00007004,  0x00007004,  0x00007002,  0x00007002, /* 1172 */
+  0x00007004,  0x00007002,  0x00007002,  0x00007002, /* 1176 */
+  0x00067001,  0x00057002,  0x07fd7002,  0x07fd7002, /* 1180 */
+  0x07fd7002,  0x07fd7002,  0x07fd7002,  0x00ed7002, /* 1184 */
+  0x00067001,  0x00057002,  0x78000000,  0x78000000, /* 1188 */
+  0x07e17002,  0x07e17002,  0x07e17002,  0x07e17002, /* 1192 */
+  0x07e17002,  0x07e17002,  0x07e17002,  0x07e17002, /* 1196 */
+  0x07e27001,  0x07e27001,  0x07e27001,  0x07e27001, /* 1200 */
+  0x07e27001,  0x07e27001,  0x07e27001,  0x07e27001, /* 1204 */
+  0x07e17002,  0x07e17002,  0x78000000,  0x78000000, /* 1208 */
+  0x07e27001,  0x07e27001,  0x78000000,  0x78000000, /* 1212 */
+  0x07e27001,  0x07e27001,  0x78000000,  0x78000000, /* 1216 */
+  0x07fd7002,  0x07e17002,  0x07fd7002,  0x07e17002, /* 1220 */
+  0x07fd7002,  0x07e17002,  0x07fd7002,  0x07e17002, /* 1224 */
+  0x78000000,  0x07e27001,  0x78000000,  0x07e27001, /* 1228 */
+  0x78000000,  0x07e27001,  0x78000000,  0x07e27001, /* 1232 */
+  0x06d97002,  0x06d97002,  0x06a97002,  0x06a97002, /* 1236 */
+  0x06a97002,  0x06a97002,  0x06717002,  0x06717002, /* 1240 */
+  0x06017002,  0x06017002,  0x06417002,  0x06417002, /* 1244 */
+  0x06097002,  0x06097002,  0x78000000,  0x78000000, /* 1248 */
+  0x07fd7003,  0x07fd7003,  0x07fd7003,  0x07fd7003, /* 1252 */
+  0x07fd7003,  0x07fd7003,  0x07fd7003,  0x07fd7003, /* 1256 */
+  0x07e17002,  0x07e17002,  0x07fd7002,  0x07fd7002, /* 1260 */
+  0x07fd7002,  0x78000000,  0x07fd7002,  0x07fd7002, /* 1264 */
+  0x07e27001,  0x07e27001,  0x06da7001,  0x06da7001, /* 1268 */
+  0x07fd7003,  0x6800001b,  0x07fd7002,  0x6800001b, /* 1272 */
+  0x6800001b,  0x6800001b,  0x07fd7002,  0x07fd7002, /* 1276 */
+  0x06aa7001,  0x06aa7001,  0x06aa7001,  0x06aa7001, /* 1280 */
+  0x07fd7003,  0x6800001b,  0x6800001b,  0x6800001b, /* 1284 */
+  0x78000000,  0x78000000,  0x07fd7002,  0x07fd7002, /* 1288 */
+  0x07e27001,  0x07e27001,  0x06727001,  0x06727001, /* 1292 */
+  0x78000000,  0x6800001b,  0x6800001b,  0x6800001b, /* 1296 */
+  0x07fd7002,  0x07e57002,  0x07fd7002,  0x07fd7002, /* 1300 */
+  0x07e27001,  0x07e27001,  0x06427001,  0x06427001, /* 1304 */
+  0x07e67001,  0x6800001b,  0x6800001b,  0x6800001b, /* 1308 */
+  0x06027001,  0x06027001,  0x060a7001,  0x060a7001, /* 1312 */
+  0x07fd7003,  0x6800001b,  0x6800001b,  0x78000000, /* 1316 */
+  0x6000400c,  0x6000400c,  0x6000400c,  0x6000400c, /* 1320 */
+  0x6000400c,  0x6000400c,  0x6000400c,  0x6000000c, /* 1324 */
+  0x6000400c,  0x6000400c,  0x6000400c,  0x48001010, /* 1328 */
+  0x48001010,  0x48001010,  0x00001010,  0x08001010, /* 1332 */
+  0x68000014,  0x68000014,  0x68000014,  0x68000014, /* 1336 */
+  0x68000014,  0x68000014,  0x68000018,  0x68000018, /* 1340 */
+  0xe800001d,  0xe800001e,  0xe8000015,  0xe800001d, /* 1344 */
+  0xe800001d,  0xe800001e,  0xe8000015,  0xe800001d, /* 1348 */
+  0x6000400d,  0x5000400e,  0x78001010,  0x78001010, /* 1352 */
+  0x78001010,  0x78001010,  0x78001010,  0x3800000c, /* 1356 */
+  0x28000018,  0x28000018,  0x28000018,  0x28000018, /* 1360 */
+  0x28000018,  0x68000018,  0x68000018,  0x68000018, /* 1364 */
+  0x68000018,  0xe800001d,  0xe800001e,  0x68000018, /* 1368 */
+  0x68000018,  0x68000018,  0x68000018,  0x68002017, /* 1372 */
+  0x68002017,  0x68000018,  0x68000018,  0x68000018, /* 1376 */
+  0x38000019,  0xe8000015,  0xe8000016,  0x68000018, /* 1380 */
+  0x68000018,  0x68000018,  0x68000019,  0x68000018, /* 1384 */
+  0x68000018,  0x68000018,  0x68000018,  0x6000400c, /* 1388 */
+  0x48001010,  0x48001010,  0x48001010,  0x48001010, /* 1392 */
+  0x78000000,  0x78000000,  0x48001010,  0x48001010, /* 1396 */
+  0x1800040b,  0x00007002,  0x78000000,  0x78000000, /* 1400 */
+  0x1800048b,  0x180004ab,  0x180004cb,  0x180004eb, /* 1404 */
+  0x1800050b,  0x1800052b,  0x20000019,  0x20000019, /* 1408 */
+  0x68000019,  0xe8000015,  0xe8000016,  0x00007002, /* 1412 */
+  0x1800040b,  0x1800042b,  0x1800044b,  0x1800046b, /* 1416 */
+  0x68000019,  0xe8000015,  0xe8000016,  0x78000000, /* 1420 */
+  0x2800501a,  0x2800501a,  0x78000000,  0x78000000, /* 1424 */
+  0x40003006,  0x40000007,  0x40000007,  0x40000007, /* 1428 */
+  0x40000007,  0x40003006,  0x40000007,  0x40000007, /* 1432 */
+  0x40000007,  0x40003006,  0x40003006,  0x40003006, /* 1436 */
+  0x6800001c,  0x6800001c,  0x00007001,  0x6800001c, /* 1440 */
+  0x6800001c,  0x6800001c,  0x6800001c,  0x00007001, /* 1444 */
+  0x6800001c,  0x6800001c,  0x00007002,  0x00007001, /* 1448 */
+  0x00007001,  0x00007001,  0x00007002,  0x00007002, /* 1452 */
+  0x6800001c,  0x00007001,  0x00007001,  0x00007001, /* 1456 */
+  0x00007001,  0x00007001,  0x6800001c,  0x6800001c, /* 1460 */
+  0x00007001,  0x6800001c,  0x07fe7001,  0x6800001c, /* 1464 */
+  0x00007001,  0x6800001c,  0x07fe7001,  0x07fe7001, /* 1468 */
+  0x00007001,  0x00007001,  0x2800001c,  0x00007002, /* 1472 */
+  0x00007001,  0x00007001,  0x00727001,  0x00007001, /* 1476 */
+  0x00007002,  0x00007005,  0x00007005,  0x00007005, /* 1480 */
+  0x00007005,  0x00007002,  0x6800001c,  0x6800001c, /* 1484 */
+  0x00007002,  0x00007002,  0x00007001,  0x00007001, /* 1488 */
+  0xe8000019,  0x68000019,  0x68000019,  0x68000019, /* 1492 */
+  0x68000019,  0x00007001,  0x00007002,  0x00007002, /* 1496 */
+  0x00007002,  0x00007002,  0x6800001c,  0x68000019, /* 1500 */
+  0x6800001c,  0x6800001c,  0x00717002,  0x78000000, /* 1504 */
+  0x78000000,  0x78000000,  0x78000000,  0x68000beb, /* 1508 */
+  0x68000beb,  0x68000beb,  0x68000beb,  0x68000beb, /* 1512 */
+  0x68000beb,  0x68000beb,  0x68000beb,  0x6800082b, /* 1516 */
+  0x0042742a,  0x0042744a,  0x0042746a,  0x0042748a, /* 1520 */
+  0x004274aa,  0x004274ca,  0x004274ea,  0x0042750a, /* 1524 */
+  0x0042752a,  0x0042754a,  0x0042756a,  0x0042758a, /* 1528 */
+  0x00427a4a,  0x0042788a,  0x00427a8a,  0x0042790a, /* 1532 */
+  0x0041742a,  0x0041744a,  0x0041746a,  0x0041748a, /* 1536 */
+  0x004174aa,  0x004174ca,  0x004174ea,  0x0041750a, /* 1540 */
+  0x0041752a,  0x0041754a,  0x0041756a,  0x0041758a, /* 1544 */
+  0x00417a4a,  0x0041788a,  0x00417a8a,  0x0041790a, /* 1548 */
+  0x0000790a,  0x0000790a,  0x00007a0a,  0x00067001, /* 1552 */
+  0x00057002,  0x78000000,  0x78000000,  0x78000000, /* 1556 */
+  0x68000019,  0x6800001c,  0x6800001c,  0x6800001c, /* 1560 */
+  0x6800001c,  0x6800001c,  0x68000019,  0x68000019, /* 1564 */
+  0x68000019,  0x6800001c,  0x6800001c,  0x68000019, /* 1568 */
+  0x6800001c,  0x6800001c,  0x68000019,  0x6800001c, /* 1572 */
+  0x68000019,  0xe8000019,  0xe8000019,  0xe8000019, /* 1576 */
+  0xe8000019,  0xe8000019,  0xe8000019,  0xe8000019, /* 1580 */
+  0xe8000019,  0xe8000019,  0x68000019,  0x68000019, /* 1584 */
+  0x68000019,  0xe8000019,  0x20000019,  0x28000019, /* 1588 */
+  0x68000019,  0xe8000019,  0xe8000019,  0x68000019, /* 1592 */
+  0x68000019,  0x68000019,  0xe8000019,  0xe8000019, /* 1596 */
+  0xe8000019,  0xe8000019,  0x68000019,  0xe8000019, /* 1600 */
+  0xe8000019,  0x68000019,  0xe8000019,  0x68000019, /* 1604 */
+  0x68000019,  0xe8000019,  0x68000019,  0xe8000019, /* 1608 */
+  0xe8000019,  0xe8000019,  0x6800001c,  0x6800001c, /* 1612 */
+  0x6800001c,  0xe8000015,  0xe8000016,  0x6800001c, /* 1616 */
+  0x6800001c,  0x6800001c,  0x0000001c,  0x0000001c, /* 1620 */
+  0x0000001c,  0x0000001c,  0x0000001c,  0x6800001c, /* 1624 */
+  0x6800001c,  0x0000001c,  0x6800001c,  0x6800001c, /* 1628 */
+  0x6800001c,  0x6800001c,  0x6800001c,  0x78000000, /* 1632 */
+  0x6800001c,  0x6800001c,  0x6800001c,  0x78000000, /* 1636 */
+  0x6800052b,  0x6800054b,  0x6800056b,  0x6800058b, /* 1640 */
+  0x680005ab,  0x680005cb,  0x680005eb,  0x6800060b, /* 1644 */
+  0x6800062b,  0x6800064b,  0x6800066b,  0x6800068b, /* 1648 */
+  0x6800062b,  0x6800064b,  0x6800066b,  0x6800068b, /* 1652 */
+  0x1800042b,  0x1800044b,  0x1800046b,  0x1800048b, /* 1656 */
+  0x1800052b,  0x1800054b,  0x1800056b,  0x1800058b, /* 1660 */
+  0x180005ab,  0x180005cb,  0x180005eb,  0x1800060b, /* 1664 */
+  0x1800062b,  0x1800064b,  0x1800066b,  0x1800068b, /* 1668 */
+  0x0000001c,  0x0000001c,  0x006a001c,  0x006a001c, /* 1672 */
+  0x006a001c,  0x006a001c,  0x006a001c,  0x006a001c, /* 1676 */
+  0x0069001c,  0x0069001c,  0x0069001c,  0x0069001c, /* 1680 */
+  0x0069001c,  0x0069001c,  0x0069001c,  0x0069001c, /* 1684 */
+  0x0069001c,  0x0069001c,  0x6800040b,  0x6800056b, /* 1688 */
+  0x6800068b,  0x6800042b,  0x6800044b,  0x6800046b, /* 1692 */
+  0x6800050b,  0x6800052b,  0x6800054b,  0x6800040b, /* 1696 */
+  0x78000000,  0x6800001c,  0x78000000,  0x6800001c, /* 1700 */
+  0x78000000,  0x78000000,  0x6800001c,  0x78000000, /* 1704 */
+  0xe8000015,  0xe8000016,  0x6800042b,  0x6800044b, /* 1708 */
+  0x680004eb,  0x6800050b,  0x6800052b,  0x6800054b, /* 1712 */
+  0x6800052b,  0x6800054b,  0x6800042b,  0x6800044b, /* 1716 */
+  0xe8000019,  0xe8000015,  0xe8000016,  0x68000019, /* 1720 */
+  0x68000019,  0x68000019,  0x68000019,  0x78000000, /* 1724 */
+  0xe8000019,  0xe8000019,  0xe8000015,  0xe8000016, /* 1728 */
+  0x68000019,  0x68000019,  0x68000019,  0xe8000015, /* 1732 */
+  0xe8000016,  0xe8000015,  0xe8000016,  0xe8000015, /* 1736 */
+  0xe8000016,  0xe8000015,  0xe8000016,  0xe8000015, /* 1740 */
+  0xe8000016,  0x68000019,  0x68000019,  0xe8000019, /* 1744 */
+  0x00c17002,  0x00c17002,  0x00c17002,  0x78000000, /* 1748 */
+  0x00067001,  0x00057002,  0x07fe7001,  0x07fe7001, /* 1752 */
+  0x07fe7001,  0x07fd7002,  0x07fd7002,  0x00067001, /* 1756 */
+  0x00007002,  0x6800001c,  0x6800001c,  0x6800001c, /* 1760 */
+  0x68000018,  0x68000beb,  0x68000018,  0x68000018, /* 1764 */
+  0x07fd7002,  0x07fd7002,  0x78000000,  0x78000000, /* 1768 */
+  0xe800001d,  0xe800001e,  0x78000000,  0x78000000, /* 1772 */
+  0x6000400c,  0x68000018,  0x68000018,  0x68000018, /* 1776 */
+  0x6800001c,  0x00007004,  0x00007005,  0x0000740a, /* 1780 */
+  0x68000014,  0xe8000015,  0xe8000016,  0xe8000016, /* 1784 */
+  0x6800001c,  0x0000742a,  0x0000744a,  0x0000746a, /* 1788 */
+  0x0000748a,  0x000074aa,  0x000074ca,  0x000074ea, /* 1792 */
+  0x0000750a,  0x0000752a,  0x40003006,  0x40003006, /* 1796 */
+  0x68000014,  0x00007004,  0x00007004,  0x00007004, /* 1800 */
+  0x00007004,  0x00007004,  0x6800001c,  0x6800001c, /* 1804 */
+  0x0000754a,  0x0000768a,  0x000077ca,  0x00007004, /* 1808 */
+  0x00007005,  0x68000018,  0x6800001c,  0x6800001c, /* 1812 */
+  0x78000000,  0x40003006,  0x40003006,  0x6800001b, /* 1816 */
+  0x6800001b,  0x00007004,  0x00007004,  0x00007005, /* 1820 */
+  0x68000014,  0x00007005,  0x00007005,  0x00007005, /* 1824 */
+  0x00007005,  0x00007005,  0x00007005,  0x68000018, /* 1828 */
+  0x00007004,  0x00007004,  0x00007004,  0x00007005, /* 1832 */
+  0x0000001c,  0x0000001c,  0x0000042b,  0x0000044b, /* 1836 */
+  0x0000046b,  0x0000048b,  0x0000001c,  0x0000001c, /* 1840 */
+  0x0000001c,  0x6800001c,  0x6800001c,  0x78000000, /* 1844 */
+  0x0000052b,  0x0000054b,  0x0000001c,  0x0000001c, /* 1848 */
+  0x6800001c,  0x680006ab,  0x680006cb,  0x680006eb, /* 1852 */
+  0x6800070b,  0x6800072b,  0x6800074b,  0x6800076b, /* 1856 */
+  0x6800078b,  0x680007ab,  0x680007cb,  0x680007eb, /* 1860 */
+  0x6800080b,  0x6800082b,  0x6800084b,  0x6800086b, /* 1864 */
+  0x0000001c,  0x6800088b,  0x680008ab,  0x680008cb, /* 1868 */
+  0x680008eb,  0x6800090b,  0x6800092b,  0x6800094b, /* 1872 */
+  0x6800096b,  0x6800098b,  0x680009ab,  0x680009cb, /* 1876 */
+  0x680009eb,  0x68000a0b,  0x68000a2b,  0x68000a4b, /* 1880 */
+  0x0000001c,  0x0000001c,  0x0000001c,  0x78000000, /* 1884 */
+  0x00007005,  0x00007004,  0x00007005,  0x00007005, /* 1888 */
+  0x68007004,  0x68007004,  0x68007004,  0x78000000, /* 1892 */
+  0x00007005,  0x00007005,  0x40003008,  0x00007005, /* 1896 */
+  0x00007005,  0x00007005,  0x40003006,  0x00007005, /* 1900 */
+  0x00007005,  0x00007005,  0x00007005,  0x00003008, /* 1904 */
+  0x00003008,  0x40003006,  0x40003006,  0x00003008, /* 1908 */
+  0x00000013,  0x00000013,  0x00000013,  0x00000013, /* 1912 */
+  0x00000013,  0x00000013,  0x00000013,  0x00000013, /* 1916 */
+  0x00000012,  0x00000012,  0x00000012,  0x00000012, /* 1920 */
+  0x00000012,  0x00000012,  0x00000012,  0x00000012, /* 1924 */
+  0x78000000,  0x78000000,  0x78000000,  0x07fd7002, /* 1928 */
+  0x78000000,  0x08007005,  0x40003006,  0x08007005, /* 1932 */
+  0x08007005,  0x20000019,  0x08007005,  0x08007005, /* 1936 */
+  0x08007005,  0x78000000,  0x08007005,  0x78000000, /* 1940 */
+  0x78000000,  0x78000000,  0x78000000,  0x10007005, /* 1944 */
+  0x10007005,  0x10007005,  0x68000015,  0x68000016, /* 1948 */
+  0x1000501a,  0x6800001c,  0x78000000,  0x78000000, /* 1952 */
+  0x68000018,  0x68000018,  0x68000018,  0x68000015, /* 1956 */
+  0x68000016,  0x68000018,  0x78000000,  0x78000000, /* 1960 */
+  0x68000018,  0x68000014,  0x68000014,  0x68002017, /* 1964 */
+  0x68002017,  0x68000015,  0x68000016,  0x68000015, /* 1968 */
+  0x68000016,  0x68000015,  0x68000016,  0x68000015, /* 1972 */
+  0x68000016,  0x68000018,  0x68000018,  0x68000015, /* 1976 */
+  0x68000016,  0x68000018,  0x68000018,  0x68000018, /* 1980 */
+  0x68000018,  0x68002017,  0x68002017,  0x68002017, /* 1984 */
+  0x38000018,  0x68000018,  0x38000018,  0x78000000, /* 1988 */
+  0x68000018,  0x38000018,  0x68000018,  0x68000018, /* 1992 */
+  0x68000014,  0xe8000015,  0xe8000016,  0xe8000015, /* 1996 */
+  0xe8000016,  0xe8000015,  0xe8000016,  0x28000018, /* 2000 */
+  0x68000018,  0x68000018,  0x20000019,  0x20000014, /* 2004 */
+  0xe8000019,  0xe8000019,  0x68000019,  0x78000000, /* 2008 */
+  0x68000018,  0x2800501a,  0x28000018,  0x68000018, /* 2012 */
+  0x10007005,  0x78000000,  0x10007005,  0x10007005, /* 2016 */
+  0x10007005,  0x78000000,  0x78000000,  0x48001010, /* 2020 */
+  0x78000000,  0x68000018,  0x68000018,  0x28000018, /* 2024 */
+  0x00827ce1,  0x00827d01,  0x00827d21,  0x00827d41, /* 2028 */
+  0x00817ce2,  0x00817d02,  0x00817d22,  0x00817d42, /* 2032 */
+  0x68000019,  0xe8000016,  0x68000019,  0xe8000015, /* 2036 */
+  0xe8000016,  0x68000018,  0xe8000015,  0xe8000016, /* 2040 */
+  0x68000018,  0x68000018,  0x00007005,  0x00007005, /* 2044 */
+  0x00007004,  0x00007005,  0x00007005,  0x00007005, /* 2048 */
+  0x00007005,  0x00007005,  0x00007004,  0x00007004, /* 2052 */
+  0x2800501a,  0x2800501a,  0x68000019,  0x6800001b, /* 2056 */
+  0x6800001c,  0x2800501a,  0x2800501a,  0x78000000, /* 2060 */
+  0x68000019,  0x6800001c,  0x6800001c,  0x78000000, /* 2064 */
+  0x78000000,  0x68001010,  0x68001010,  0x68001010, /* 2068 */
+  0x00000018,  0x68000018,  0x0000001c,  0x78000000, /* 2072 */
+  0x78000000,  0x78000000,  0x78000000,  0x0000042b, /* 2076 */
+  0x00000b4b,  0x0000088b,  0x0000090b,  0x0000098b, /* 2080 */
+  0x00000a0b,  0x00000a8b,  0x00000b0b,  0x00000b8b, /* 2084 */
+  0x0000080b,  0x0000088b,  0x0000090b,  0x00000a0b, /* 2088 */
+  0x00000b0b,  0x0000080b,  0x0000090b,  0x00000a0b, /* 2092 */
+  0x00000b0b,  0x0000080b,  0x0000090b,  0x00000a0b, /* 2096 */
+  0x0000080b,  0x00000a0b,  0x0000080b,  0x00000a0b, /* 2100 */
+  0x0000080b,  0x00000a0b,  0x0000080b,  0x00000a0b, /* 2104 */
+  0x78000000,  0x78000000,  0x78000000,  0x0000001c, /* 2108 */
+  0x68007bea,  0x68007bea,  0x6800742a,  0x680074aa, /* 2112 */
+  0x68007a4a,  0x68007a8a,  0x6800790a,  0x68007a0a, /* 2116 */
+  0x680074aa,  0x6800754a,  0x68007a4a,  0x6800788a, /* 2120 */
+  0x68007a8a,  0x6800790a,  0x6800790a,  0x680074aa, /* 2124 */
+  0x6800790a,  0x68007a0a,  0x68007a0a,  0x6800754a, /* 2128 */
+  0x6800742a,  0x6800742a,  0x6800742a,  0x6800744a, /* 2132 */
+  0x6800744a,  0x6800744a,  0x6800744a,  0x680074aa, /* 2136 */
+  0x6800754a,  0x6800754a,  0x6800754a,  0x6800754a, /* 2140 */
+  0x6800754a,  0x680077ca,  0x68007a4a,  0x68007a4a, /* 2144 */
+  0x68007a4a,  0x68007a4a,  0x6800788a,  0x6800798a, /* 2148 */
+  0x68007a8a,  0x68007a8a,  0x68007a8a,  0x68007a8a, /* 2152 */
+  0x68007a4a,  0x68000beb,  0x68000beb,  0x68000beb, /* 2156 */
+  0x68000beb,  0x6800001c,  0x6800001c,  0x6800001c, /* 2160 */
+  0x6800001c,  0x6800001c,  0x6800040b,  0x78000000, /* 2164 */
+  0x0000042b,  0x000004ab,  0x0000054b,  0x00000a4b, /* 2168 */
+  0x00007005,  0x00007b4a,  0x00007005,  0x00007005, /* 2172 */
+  0x00007005,  0x00007005,  0x0000788a,  0x78000000, /* 2176 */
+  0x00007005,  0x00007005,  0x78000000,  0x00000018, /* 2180 */
+  0x00000018,  0x0000742a,  0x0000744a,  0x0000754a, /* 2184 */
+  0x0000768a,  0x0000788a,  0x78000000,  0x78000000, /* 2188 */
+  0x00a27001,  0x00a27001,  0x00a27001,  0x00a27001, /* 2192 */
+  0x00a27001,  0x00a27001,  0x00a27001,  0x00a27001, /* 2196 */
+  0x00a17002,  0x00a17002,  0x00a17002,  0x00a17002, /* 2200 */
+  0x00a17002,  0x00a17002,  0x00a17002,  0x00a17002, /* 2204 */
+  0x08007005,  0x08007005,  0x78000000,  0x78000000, /* 2208 */
+  0x08007005,  0x78000000,  0x78000000,  0x08007005, /* 2212 */
+  0x08007005,  0x08007005,  0x0800042b,  0x0800054b, /* 2216 */
+  0x0800068b,  0x0800088b,  0x78000000,  0x78000000, /* 2220 */
+  0x78000000,  0x78000000,  0x78000000,  0x68000018, /* 2224 */
+  0x08007005,  0x40003006,  0x40003006,  0x40003006, /* 2228 */
+  0x0800042b,  0x0800044b,  0x0800046b,  0x0800048b, /* 2232 */
+  0x0800054b,  0x0800068b,  0x0800088b,  0x0800090b, /* 2236 */
+  0x08000018,  0x08000018,  0x08000018,  0x08000018, /* 2240 */
+  0x08000018,  0x08000018,  0x08000018,  0x08000018, /* 2244 */
+  0x000074ea,  0x0000750a,  0x0000752a,  0x0000748a, /* 2248 */
+  0x0000752a,  0x0000742a,  0x0000744a,  0x0000746a, /* 2252 */
+  0x0000750a,  0x0000752a,  0x0000742a,  0x0000744a, /* 2256 */
+  0x0000746a,  0x0000748a,  0x000074aa,  0x0000744a, /* 2260 */
+  0x0000746a,  0x0000746a,  0x0000748a,  0x000074aa, /* 2264 */
+  0x0000742a,  0x0000744a,  0x0000746a,  0x0000746a, /* 2268 */
+  0x0000748a,  0x000074aa,  0x0000700a,  0x0000700a, /* 2272 */
+  0x0000748a,  0x000074aa,  0x0000746a,  0x0000746a, /* 2276 */
+  0x0000748a,  0x0000748a,  0x0000748a,  0x0000748a, /* 2280 */
+  0x000074ca,  0x000074ea,  0x000074ea,  0x000074ea, /* 2284 */
+  0x0000750a,  0x0000750a,  0x0000752a,  0x0000752a, /* 2288 */
+  0x0000752a,  0x0000752a,  0x0000744a,  0x0000746a, /* 2292 */
+  0x0000748a,  0x000074aa,  0x000074ca,  0x0000742a, /* 2296 */
+  0x0000744a,  0x0000746a,  0x0000748a,  0x0000748a, /* 2300 */
+  0x000074aa,  0x000074aa,  0x0000700a,  0x0000700a, /* 2304 */
+  0x0000742a,  0x0000744a,  0x00007bea,  0x00007bea, /* 2308 */
+  0x00007bea,  0x00007bea,  0x00007bea,  0x00007bea, /* 2312 */
+  0x00007bea,  0x00007bea,  0x00007bea,  0x78000000, /* 2316 */
+  0x78000000,  0x78000000,  0x0000001c,  0x0000001c, /* 2320 */
+  0x0000001c,  0x00003008,  0x00003008,  0x40003006, /* 2324 */
+  0x0000001c,  0x00003008,  0x00003008,  0x00003008, /* 2328 */
+  0x00003008,  0x00003008,  0x00003008,  0x48001010, /* 2332 */
+  0x48001010,  0x48001010,  0x48001010,  0x40003006, /* 2336 */
+  0x40003006,  0x40003006,  0x40003006,  0x0000001c, /* 2340 */
+  0x6800001c,  0x6800001c,  0x40003006,  0x40003006, /* 2344 */
+  0x40003006,  0x6800001c,  0x78000000,  0x78000000, /* 2348 */
+  0x00000a0b,  0x00000b4b,  0x78000000,  0x78000000, /* 2352 */
+  0x00007002,  0x78000000,  0x00007002,  0x00007002, /* 2356 */
+  0x00007001,  0x78000000,  0x00007001,  0x00007001, /* 2360 */
+  0x78000000,  0x78000000,  0x00007001,  0x78000000, /* 2364 */
+  0x78000000,  0x00007001,  0x00007001,  0x00007001, /* 2368 */
+  0x00007002,  0x00007002,  0x78000000,  0x00007002, /* 2372 */
+  0x78000000,  0x00007002,  0x00007002,  0x00007002, /* 2376 */
+  0x78000000,  0x00007002,  0x00007002,  0x00007002, /* 2380 */
+  0x00007001,  0x00007001,  0x78000000,  0x00007001, /* 2384 */
+  0x00007001,  0x00007001,  0x00007001,  0x78000000, /* 2388 */
+  0x00007001,  0x78000000,  0x00007002,  0x00007002, /* 2392 */
+  0x00007001,  0x78000000,  0x00007002,  0x00007002, /* 2396 */
+  0x00007002,  0x00007002,  0x78000000,  0x78000000, /* 2400 */
+  0x00007001,  0x00000019,  0x00007002,  0x00007002, /* 2404 */
+  0x00007002,  0x00007002,  0x00007002,  0x80000019, /* 2408 */
+  0x00007001,  0x00007001,  0x00007001,  0x00000019, /* 2412 */
+  0x00007002,  0x80000019,  0x00007002,  0x00007002, /* 2416 */
+  0x00007002,  0x80000019,  0x00007002,  0x00007002, /* 2420 */
+  0x00007002,  0x00007002,  0x00007001,  0x00007002, /* 2424 */
+  0x78000000,  0x78000000,  0x18003409,  0x18003429, /* 2428 */
+  0x18003509,  0x18003529,  0x18003409,  0x18003429, /* 2432 */
+  0x18003509,  0x18003529,  0x18003409,  0x18003429, /* 2436 */
+  0x78000000,  0x48001010,  0x78000000,  0x78000000, /* 2440 */
+  0x00000012,  0x00000012,
+};
 
-    if ( (0x0041 <= ch && ch <= 0x005A) ||
-         (0x0061 <= ch && ch <= 0x007A) ||
-         (0x00C0 <= ch && ch <= 0x00D6) ||
-         (0x00D8 <= ch && ch <= 0x00F6) ||
-         (0x00F8 <= ch && ch <= 0x00FF) ||
-         (0x0100 <= ch && ch <= 0x0131) ||
-         (0x0134 <= ch && ch <= 0x013E) ||
-         (0x0141 <= ch && ch <= 0x0148) ||
-         (0x014A <= ch && ch <= 0x017E) ||
-         (0x0180 <= ch && ch <= 0x01C3) ||
-         (0x01CD <= ch && ch <= 0x01F0) ||
-         (0x01F4 <= ch && ch <= 0x01F5) ||
-         (0x01FA <= ch && ch <= 0x0217) ||
-         (0x0250 <= ch && ch <= 0x02A8) ||
-         (0x02BB <= ch && ch <= 0x02C1) ||
-         ch == 0x0386 ||
-         (0x0388 <= ch && ch <= 0x038A) ||
-         ch == 0x038C ||
-         (0x038E <= ch && ch <= 0x03A1) ||
-         (0x03A3 <= ch && ch <= 0x03CE) ||
-         (0x03D0 <= ch && ch <= 0x03D6) ||
-         ch == 0x03DA ||
-         ch == 0x03DC ||
-         ch == 0x03DE ||
-         ch == 0x03E0 ||
-         (0x03E2 <= ch && ch <= 0x03F3) ||
-         (0x0401 <= ch && ch <= 0x040C) ||
-         (0x040E <= ch && ch <= 0x044F) ||
-         (0x0451 <= ch && ch <= 0x045C) ||
-         (0x045E <= ch && ch <= 0x0481) ||
-         (0x0490 <= ch && ch <= 0x04C4) ||
-         (0x04C7 <= ch && ch <= 0x04C8) ||
-         (0x04CB <= ch && ch <= 0x04CC) ||
-         (0x04D0 <= ch && ch <= 0x04EB) ||
-         (0x04EE <= ch && ch <= 0x04F5) ||
-         (0x04F8 <= ch && ch <= 0x04F9) ||
-         (0x0531 <= ch && ch <= 0x0556) ||
-         ch == 0x0559 ||
-         (0x0561 <= ch && ch <= 0x0586) ||
-         (0x05D0 <= ch && ch <= 0x05EA) ||
-         (0x05F0 <= ch && ch <= 0x05F2) ||
-         (0x0621 <= ch && ch <= 0x063A) ||
-         (0x0641 <= ch && ch <= 0x064A) ||
-         (0x0671 <= ch && ch <= 0x06B7) ||
-         (0x06BA <= ch && ch <= 0x06BE) ||
-         (0x06C0 <= ch && ch <= 0x06CE) ||
-         (0x06D0 <= ch && ch <= 0x06D3) ||
-         ch == 0x06D5 ||
-         (0x06E5 <= ch && ch <= 0x06E6) ||
-         (0x0905 <= ch && ch <= 0x0939) ||
-         ch == 0x093D ||
-         (0x0958 <= ch && ch <= 0x0961) ||
-         (0x0985 <= ch && ch <= 0x098C) ||
-         (0x098F <= ch && ch <= 0x0990) ||
-         (0x0993 <= ch && ch <= 0x09A8) ||
-         (0x09AA <= ch && ch <= 0x09B0) ||
-         ch == 0x09B2 ||
-         (0x09B6 <= ch && ch <= 0x09B9) ||
-         (0x09DC <= ch && ch <= 0x09DD) ||
-         (0x09DF <= ch && ch <= 0x09E1) ||
-         (0x09F0 <= ch && ch <= 0x09F1) ||
-         (0x0A05 <= ch && ch <= 0x0A0A) ||
-         (0x0A0F <= ch && ch <= 0x0A10) ||
-         (0x0A13 <= ch && ch <= 0x0A28) ||
-         (0x0A2A <= ch && ch <= 0x0A30) ||
-         (0x0A32 <= ch && ch <= 0x0A33) ||
-         (0x0A35 <= ch && ch <= 0x0A36) ||
-         (0x0A38 <= ch && ch <= 0x0A39) ||
-         (0x0A59 <= ch && ch <= 0x0A5C) ||
-         ch == 0x0A5E ||
-         (0x0A72 <= ch && ch <= 0x0A74) ||
-         (0x0A85 <= ch && ch <= 0x0A8B) ||
-         ch == 0x0A8D ||
-         (0x0A8F <= ch && ch <= 0x0A91) ||
-         (0x0A93 <= ch && ch <= 0x0AA8) ||
-         (0x0AAA <= ch && ch <= 0x0AB0) ||
-         (0x0AB2 <= ch && ch <= 0x0AB3) ||
-         (0x0AB5 <= ch && ch <= 0x0AB9) ||
-         ch == 0x0ABD ||
-         ch == 0x0AE0 ||
-         (0x0B05 <= ch && ch <= 0x0B0C) ||
-         (0x0B0F <= ch && ch <= 0x0B10) ||
-         (0x0B13 <= ch && ch <= 0x0B28) ||
-         (0x0B2A <= ch && ch <= 0x0B30) ||
-         (0x0B32 <= ch && ch <= 0x0B33) ||
-         (0x0B36 <= ch && ch <= 0x0B39) ||
-         ch == 0x0B3D ||
-         (0x0B5C <= ch && ch <= 0x0B5D) ||
-         (0x0B5F <= ch && ch <= 0x0B61) ||
-         (0x0B85 <= ch && ch <= 0x0B8A) ||
-         (0x0B8E <= ch && ch <= 0x0B90) ||
-         (0x0B92 <= ch && ch <= 0x0B95) ||
-         (0x0B99 <= ch && ch <= 0x0B9A) ||
-         ch == 0x0B9C ||
-         (0x0B9E <= ch && ch <= 0x0B9F) ||
-         (0x0BA3 <= ch && ch <= 0x0BA4) ||
-         (0x0BA8 <= ch && ch <= 0x0BAA) ||
-         (0x0BAE <= ch && ch <= 0x0BB5) ||
-         (0x0BB7 <= ch && ch <= 0x0BB9) ||
-         (0x0C05 <= ch && ch <= 0x0C0C) ||
-         (0x0C0E <= ch && ch <= 0x0C10) ||
-         (0x0C12 <= ch && ch <= 0x0C28) ||
-         (0x0C2A <= ch && ch <= 0x0C33) ||
-         (0x0C35 <= ch && ch <= 0x0C39) ||
-         (0x0C60 <= ch && ch <= 0x0C61) ||
-         (0x0C85 <= ch && ch <= 0x0C8C) ||
-         (0x0C8E <= ch && ch <= 0x0C90) ||
-         (0x0C92 <= ch && ch <= 0x0CA8) ||
-         (0x0CAA <= ch && ch <= 0x0CB3) ||
-         (0x0CB5 <= ch && ch <= 0x0CB9) ||
-         ch == 0x0CDE ||
-         (0x0CE0 <= ch && ch <= 0x0CE1) ||
-         (0x0D05 <= ch && ch <= 0x0D0C) ||
-         (0x0D0E <= ch && ch <= 0x0D10) ||
-         (0x0D12 <= ch && ch <= 0x0D28) ||
-         (0x0D2A <= ch && ch <= 0x0D39) ||
-         (0x0D60 <= ch && ch <= 0x0D61) ||
-         (0x0E01 <= ch && ch <= 0x0E2E) ||
-         ch == 0x0E30 ||
-         (0x0E32 <= ch && ch <= 0x0E33) ||
-         (0x0E40 <= ch && ch <= 0x0E45) ||
-         (0x0E81 <= ch && ch <= 0x0E82) ||
-         ch == 0x0E84 ||
-         (0x0E87 <= ch && ch <= 0x0E88) ||
-         ch == 0x0E8A ||
-         ch == 0x0E8D ||
-         (0x0E94 <= ch && ch <= 0x0E97) ||
-         (0x0E99 <= ch && ch <= 0x0E9F) ||
-         (0x0EA1 <= ch && ch <= 0x0EA3) ||
-         ch == 0x0EA5 ||
-         ch == 0x0EA7 ||
-         (0x0EAA <= ch && ch <= 0x0EAB) ||
-         (0x0EAD <= ch && ch <= 0x0EAE) ||
-         ch == 0x0EB0 ||
-         (0x0EB2 <= ch && ch <= 0x0EB3) ||
-         ch == 0x0EBD ||
-         (0x0EC0 <= ch && ch <= 0x0EC4) ||
-         (0x0F40 <= ch && ch <= 0x0F47) ||
-         (0x0F49 <= ch && ch <= 0x0F69) ||
-         (0x10A0 <= ch && ch <= 0x10C5) ||
-         (0x10D0 <= ch && ch <= 0x10F6) ||
-         ch == 0x1100 ||
-         (0x1102 <= ch && ch <= 0x1103) ||
-         (0x1105 <= ch && ch <= 0x1107) ||
-         ch == 0x1109 ||
-         (0x110B <= ch && ch <= 0x110C) ||
-         (0x110E <= ch && ch <= 0x1112) ||
-         ch == 0x113C ||
-         ch == 0x113E ||
-         ch == 0x1140 ||
-         ch == 0x114C ||
-         ch == 0x114E ||
-         ch == 0x1150 ||
-         (0x1154 <= ch && ch <= 0x1155) ||
-         ch == 0x1159 ||
-         (0x115F <= ch && ch <= 0x1161) ||
-         ch == 0x1163 ||
-         ch == 0x1165 ||
-         ch == 0x1167 ||
-         ch == 0x1169 ||
-         (0x116D <= ch && ch <= 0x116E) ||
-         (0x1172 <= ch && ch <= 0x1173) ||
-         ch == 0x1175 ||
-         ch == 0x119E ||
-         ch == 0x11A8 ||
-         ch == 0x11AB ||
-         (0x11AE <= ch && ch <= 0x11AF) ||
-         (0x11B7 <= ch && ch <= 0x11B8) ||
-         ch == 0x11BA ||
-         (0x11BC <= ch && ch <= 0x11C2) ||
-         ch == 0x11EB ||
-         ch == 0x11F0 ||
-         ch == 0x11F9 ||
-         (0x1E00 <= ch && ch <= 0x1E9B) ||
-         (0x1EA0 <= ch && ch <= 0x1EF9) ||
-         (0x1F00 <= ch && ch <= 0x1F15) ||
-         (0x1F18 <= ch && ch <= 0x1F1D) ||
-         (0x1F20 <= ch && ch <= 0x1F45) ||
-         (0x1F48 <= ch && ch <= 0x1F4D) ||
-         (0x1F50 <= ch && ch <= 0x1F57) ||
-         ch == 0x1F59 ||
-         ch == 0x1F5B ||
-         ch == 0x1F5D ||
-         (0x1F5F <= ch && ch <= 0x1F7D) ||
-         (0x1F80 <= ch && ch <= 0x1FB4) ||
-         (0x1FB6 <= ch && ch <= 0x1FBC) ||
-         ch == 0x1FBE ||
-         (0x1FC2 <= ch && ch <= 0x1FC4) ||
-         (0x1FC6 <= ch && ch <= 0x1FCC) ||
-         (0x1FD0 <= ch && ch <= 0x1FD3) ||
-         (0x1FD6 <= ch && ch <= 0x1FDB) ||
-         (0x1FE0 <= ch && ch <= 0x1FEC) ||
-         (0x1FF2 <= ch && ch <= 0x1FF4) ||
-         (0x1FF6 <= ch && ch <= 0x1FFC) ||
-         ch == 0x2126 ||
-         (0x212A <= ch && ch <= 0x212B) ||
-         ch == 0x212E ||
-         (0x2180 <= ch && ch <= 0x2182) ||
-         (0x3041 <= ch && ch <= 0x3094) ||
-         (0x30A1 <= ch && ch <= 0x30FA) ||
-         (0x3105 <= ch && ch <= 0x312C) ||
-         (0xAC00 <= ch && ch <= 0xD7A3)    )
-        return true;
-    return false;
-}
+#define UNI_CODE(ch) (prop[block[plane[(ch>>8)&8191]+((ch>>2)&63)]+(ch&3)])
 
+/**
+ * Fetch the category type
 
+ */
+#define UNI_TYPE(ch) (UNI_CODE(ch) & 0x1f)
 
 /**
- * (86)    Ideographic ::=
+ * Fetch the digit offset
  */
-bool isIdeographic(int ch)
-{
-    if ( (0x4E00 <= ch && ch <=0x9FA5) ||
-          ch == 0x3007 ||
-         (0x3021 <= ch && ch <=0x3029)  )
-        return true;
-    return false;
-}
+#define UNI_DIGIT_OFFSET(ch) ((UNI_CODE(ch)>>5) & 0x1f)
 
 /**
- * (87)    CombiningChar ::=
+ * Fetch the numeric property
  */
-bool isCombiningChar(int ch)
-{
-    if ( (0x0300 <= ch && ch <= 0x0345) ||
-         (0x0360 <= ch && ch <= 0x0361) ||
-         (0x0483 <= ch && ch <= 0x0486) ||
-         (0x0591 <= ch && ch <= 0x05A1) ||
-         (0x05A3 <= ch && ch <= 0x05B9) ||
-         (0x05BB <= ch && ch <= 0x05BD) ||
-         ch == 0x05BF ||
-         (0x05C1 <= ch && ch <= 0x05C2) ||
-         ch == 0x05C4 ||
-         (0x064B <= ch && ch <= 0x0652) ||
-         ch == 0x0670 ||
-         (0x06D6 <= ch && ch <= 0x06DC) ||
-         (0x06DD <= ch && ch <= 0x06DF) ||
-         (0x06E0 <= ch && ch <= 0x06E4) ||
-         (0x06E7 <= ch && ch <= 0x06E8) ||
-         (0x06EA <= ch && ch <= 0x06ED) ||
-         (0x0901 <= ch && ch <= 0x0903) ||
-         ch == 0x093C ||
-         (0x093E <= ch && ch <= 0x094C) ||
-         ch == 0x094D ||
-         (0x0951 <= ch && ch <= 0x0954) ||
-         (0x0962 <= ch && ch <= 0x0963) ||
-         (0x0981 <= ch && ch <= 0x0983) ||
-         ch == 0x09BC ||
-         ch == 0x09BE ||
-         ch == 0x09BF ||
-         (0x09C0 <= ch && ch <= 0x09C4) ||
-         (0x09C7 <= ch && ch <= 0x09C8) ||
-         (0x09CB <= ch && ch <= 0x09CD) ||
-         ch == 0x09D7 ||
-         (0x09E2 <= ch && ch <= 0x09E3) ||
-         ch == 0x0A02 ||
-         ch == 0x0A3C ||
-         ch == 0x0A3E ||
-         ch == 0x0A3F ||
-         (0x0A40 <= ch && ch <= 0x0A42) ||
-         (0x0A47 <= ch && ch <= 0x0A48) ||
-         (0x0A4B <= ch && ch <= 0x0A4D) ||
-         (0x0A70 <= ch && ch <= 0x0A71) ||
-         (0x0A81 <= ch && ch <= 0x0A83) ||
-         ch == 0x0ABC ||
-         (0x0ABE <= ch && ch <= 0x0AC5) ||
-         (0x0AC7 <= ch && ch <= 0x0AC9) ||
-         (0x0ACB <= ch && ch <= 0x0ACD) ||
-         (0x0B01 <= ch && ch <= 0x0B03) ||
-         ch == 0x0B3C ||
-         (0x0B3E <= ch && ch <= 0x0B43) ||
-         (0x0B47 <= ch && ch <= 0x0B48) ||
-         (0x0B4B <= ch && ch <= 0x0B4D) ||
-         (0x0B56 <= ch && ch <= 0x0B57) ||
-         (0x0B82 <= ch && ch <= 0x0B83) ||
-         (0x0BBE <= ch && ch <= 0x0BC2) ||
-         (0x0BC6 <= ch && ch <= 0x0BC8) ||
-         (0x0BCA <= ch && ch <= 0x0BCD) ||
-         ch == 0x0BD7 ||
-         (0x0C01 <= ch && ch <= 0x0C03) ||
-         (0x0C3E <= ch && ch <= 0x0C44) ||
-         (0x0C46 <= ch && ch <= 0x0C48) ||
-         (0x0C4A <= ch && ch <= 0x0C4D) ||
-         (0x0C55 <= ch && ch <= 0x0C56) ||
-         (0x0C82 <= ch && ch <= 0x0C83) ||
-         (0x0CBE <= ch && ch <= 0x0CC4) ||
-         (0x0CC6 <= ch && ch <= 0x0CC8) ||
-         (0x0CCA <= ch && ch <= 0x0CCD) ||
-         (0x0CD5 <= ch && ch <= 0x0CD6) ||
-         (0x0D02 <= ch && ch <= 0x0D03) ||
-         (0x0D3E <= ch && ch <= 0x0D43) ||
-         (0x0D46 <= ch && ch <= 0x0D48) ||
-         (0x0D4A <= ch && ch <= 0x0D4D) ||
-         ch == 0x0D57 ||
-         ch == 0x0E31 ||
-         (0x0E34 <= ch && ch <= 0x0E3A) ||
-         (0x0E47 <= ch && ch <= 0x0E4E) ||
-         ch == 0x0EB1 ||
-         (0x0EB4 <= ch && ch <= 0x0EB9) ||
-         (0x0EBB <= ch && ch <= 0x0EBC) ||
-         (0x0EC8 <= ch && ch <= 0x0ECD) ||
-         (0x0F18 <= ch && ch <= 0x0F19) ||
-         ch == 0x0F35 ||
-         ch == 0x0F37 ||
-         ch == 0x0F39 ||
-         ch == 0x0F3E ||
-         ch == 0x0F3F ||
-         (0x0F71 <= ch && ch <= 0x0F84) ||
-         (0x0F86 <= ch && ch <= 0x0F8B) ||
-         (0x0F90 <= ch && ch <= 0x0F95) ||
-         ch == 0x0F97 ||
-         (0x0F99 <= ch && ch <= 0x0FAD) ||
-         (0x0FB1 <= ch && ch <= 0x0FB7) ||
-         ch == 0x0FB9 ||
-         (0x20D0 <= ch && ch <= 0x20DC) ||
-         ch == 0x20E1 ||
-         (0x302A <= ch && ch <= 0x302F) ||
-         ch == 0x3099 ||
-         ch == 0x309A      )
-        return true;
-    return false;
-}
-
+#define UNI_NUM_PROP(ch) ((UNI_CODE(ch)>>10) & 0x3)
 
 /**
- * (88)    Digit ::=
+ * Fetch the lexical property
  */
-bool isDigit(int ch)
-{
-    if ( (0x0030 <= ch && ch <= 0x0039) ||
-         (0x0660 <= ch && ch <= 0x0669) ||
-         (0x06F0 <= ch && ch <= 0x06F9) ||
-         (0x0966 <= ch && ch <= 0x096F) ||
-         (0x09E6 <= ch && ch <= 0x09EF) ||
-         (0x0A66 <= ch && ch <= 0x0A6F) ||
-         (0x0AE6 <= ch && ch <= 0x0AEF) ||
-         (0x0B66 <= ch && ch <= 0x0B6F) ||
-         (0x0BE7 <= ch && ch <= 0x0BEF) ||
-         (0x0C66 <= ch && ch <= 0x0C6F) ||
-         (0x0CE6 <= ch && ch <= 0x0CEF) ||
-         (0x0D66 <= ch && ch <= 0x0D6F) ||
-         (0x0E50 <= ch && ch <= 0x0E59) ||
-         (0x0ED0 <= ch && ch <= 0x0ED9) ||
-         (0x0F20 <= ch && ch <= 0x0F29)   )
-        return true;
-    return false;
-}
-
+#define UNI_LEX_PROP(ch) ((UNI_CODE(ch)>>12) & 0x7)
 
 /**
- * (89)    Extender ::=
+ * Fetch the case mapping offset
  */
-bool isExtender(int ch)
-{
-    if ( ch == 0x00B7 ||
-         ch == 0x02D0 ||
-         ch == 0x02D1 ||
-         ch == 0x0387 ||
-         ch == 0x0640 ||
-         ch == 0x0E46 ||
-         ch == 0x0EC6 ||
-         ch == 0x3005 ||
-         (0x3031 <= ch && ch <= 0x3035) ||
-         (0x309D <= ch && ch <= 0x309E) ||
-         (0x30FC <= ch && ch <= 0x30FE)   )
-        return true;
-    return false;
-}
-
+#define UNI_CASE_OFFSET(ch) ((UNI_CODE(ch)>>18) & 0x1ff)
 
 
+/**
+ * Look for comments in ucd.h
+ */
+#include "ucd.h"
 
 
 
-/**
- * UNICODE general class Zs
- */
-bool isSpaceSeparator(int ch)
+unsigned int uni_code(int ch)
 {
-    if (ch == 0x0020 ||
-        ch == 0x200A ||
-        ch == 0x2003 ||
-        ch == 0x205F ||
-        ch == 0x2005 ||
-        ch == 0x202F ||
-        ch == 0x2000 ||
-        ch == 0x180E ||
-        ch == 0x2001 ||
-        ch == 0x2004 ||
-        ch == 0x3000 ||
-        ch == 0x2008 ||
-        ch == 0x2006 ||
-        ch == 0x2002 ||
-        ch == 0x2007 ||
-        ch == 0x2009 ||
-        ch == 0x00A0 ||
-        ch == 0x1680)
-        return true;
-    return false;
+    return UNI_CODE(ch);
 }
 
-/**
- * UNICODE general class Zl
- */
-bool isLineSeparator(int ch)
+unsigned int uni_type(int ch)
 {
-    if (ch == 0x2028)
-        return true;
-    return false;
+    return UNI_TYPE(ch);
 }
 
-/**
- * UNICODE general class Zp
- */
-bool isParagraphSeparator(int ch)
+int uni_is_lower(int ch)
 {
-    if (ch == 0x2029)
-        return true;
-    return false;
+    return (UNI_TYPE(ch) == UNI_LOWERCASE_LETTER);
 }
 
-/**
- * The union of the 3 space types.
- */
-bool isSpaceChar(int ch)
+int uni_is_upper(int ch)
 {
-    if ( isSpaceSeparator(ch) ||
-         isLineSeparator(ch)  ||
-         isParagraphSeparator(ch))
-        return true;
-    return false;
+    return (UNI_TYPE(ch) == UNI_UPPERCASE_LETTER);
 }
 
-/**
- * 3 spaces in isSpaceChar() which don't break
- */
-bool isNonBreakingSpace(int ch)
+int uni_is_title(int ch)
 {
-    if (ch == 0x00A0 || ch == 0x2007 || ch == 0x202F)
-        return true;
-    return false;
+    return (UNI_TYPE(ch) == UNI_TITLECASE_LETTER);
 }
 
-/**
- *
- */
-bool isWhitespace(int ch)
+int uni_is_digit(int ch)
 {
-    if (isSpaceChar(ch) && !isNonBreakingSpace(ch))
-        return true;
-    if (ch == 0x0009 || // HORIZONTAL TABULATION
-        ch == 0x000A || // LINE FEED.
-        ch == 0x000B || // VERTICAL TABULATION.
-        ch == 0x000C || // FORM FEED.
-        ch == 0x000D || // CARRIAGE RETURN.
-        ch == 0x001C || // FILE SEPARATOR.
-        ch == 0x001D || // GROUP SEPARATOR.
-        ch == 0x001E || // RECORD SEPARATOR.
-        ch == 0x001F)   // UNIT SEPARATOR.
-        return true;
-    return false;
+    return (UNI_TYPE(ch) == UNI_DECIMAL_DIGIT_NUMBER);
 }
 
+int uni_is_defined(int ch)
+{
+    return (UNI_TYPE(ch) != UNI_UNASSIGNED);
+}
 
+int uni_is_letter(int ch)
+{
+    int c = UNI_CODE(ch);
+    return (c>=UNI_UPPERCASE_LETTER && c<=UNI_OTHER_LETTER);
+}
 
+int uni_is_letter_or_digit(int ch)
+{
+    int c = UNI_CODE(ch);
+    return ((c>=UNI_UPPERCASE_LETTER && c<=UNI_OTHER_LETTER)
+              || c==UNI_DECIMAL_DIGIT_NUMBER);
+}
 
-
-
-
+int uni_is_space(int ch)
+{
+    int c = UNI_CODE(ch);
+    return (c==UNI_SPACE_SEPARATOR || c==UNI_LINE_SEPARATOR
+              || c==UNI_PARAGRAPH_SEPARATOR);
+}
 
 
 
index eeb8c50da73dbc438f60a1fa662a8cc73108d59f..26d5dc265ec56022b1cf7c39b591a2ad4528c5bf 100644 (file)
@@ -1,23 +1,22 @@
 #ifndef __CHARCLASS_H__
 #define __CHARCLASS_H__
 /**
+ *
  * Phoebe DOM Implementation.
  *
  * This is a C++ approximation of the W3C DOM model, which follows
  * fairly closely the specifications in the various .idl files, copies of
  * which are provided for reference.  Most important is this one:
  *
- * http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/idl-definitions.html
- *
  * Authors:
  *   Bob Jamison
  *
- * Copyright (C) 2005-2008 Bob Jamison
+ * Copyright (C) 2008 Bob Jamison
  *
  *  This library is free software; you can redistribute it and/or
  *  modify it under the terms of the GNU Lesser General Public
  *  License as published by the Free Software Foundation; either
- *  version 2.1 of the License, or (at your option) any later version.
+ *  version 3 of the License, or (at your option) any later version.
  *
  *  This library is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  You should have received a copy of the GNU Lesser General Public
  *  License along with this library; if not, write to the Free Software
  *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
  */
 
 
-
-/**
- * Utility classes to test characters for their class, as specified in
- * http://www.w3.org/TR/REC-xml/#CharClasses
- */
-
-
-/**
- * Convenience method.  Not in spec
- * [impl] LetterOrDigit ::=
- *        Letter | Digit
- */
-bool isLetterOrDigit(int ch);
-
-
 /**
- * [84] Letter ::=
- *        BaseChar | Ideographic
+ * Enumerated Unicode general category types
  */
-bool isLetter(int ch);
+typedef enum UniCharType
+{
+    UNI_UNASSIGNED                =  0,  /* Cn */
+    UNI_UPPERCASE_LETTER          =  1,  /* Lu */
+    UNI_LOWERCASE_LETTER          =  2,  /* Ll */
+    UNI_TITLECASE_LETTER          =  3,  /* Lt */
+    UNI_MODIFIER_LETTER           =  4,  /* Lm */
+    UNI_OTHER_LETTER              =  5,  /* Lo */
+    UNI_NON_SPACING_MARK          =  6,  /* Mn */
+    UNI_ENCLOSING_MARK            =  7,  /* Me */
+    UNI_COMBINING_SPACING_MARK    =  8,  /* Mc */
+    UNI_DECIMAL_DIGIT_NUMBER      =  9,  /* Nd */
+    UNI_LETTER_NUMBER             = 10,  /* Nl */
+    UNI_OTHER_NUMBER              = 11,  /* No */
+    UNI_SPACE_SEPARATOR           = 12,  /* Zs */
+    UNI_LINE_SEPARATOR            = 13,  /* Zl */
+    UNI_PARAGRAPH_SEPARATOR       = 14,  /* Zp */
+    UNI_CONTROL                   = 15,  /* Cc */
+    UNI_FORMAT                    = 16,  /* Cf */
+    UNI_UNUSED_RESERVE            = 17,  /* xx */
+    UNI_PRIVATE_USE               = 18,  /* Co */
+    UNI_SURROGATE                 = 19,  /* Cs */
+    UNI_DASH_PUNCTUATION          = 20,  /* Pd */
+    UNI_START_PUNCTUATION         = 21,  /* Ps */
+    UNI_END_PUNCTUATION           = 22,  /* Pe */
+    UNI_CONNECTOR_PUNCTUATION     = 23,  /* Pc */
+    UNI_OTHER_PUNCTUATION         = 24,  /* Po */
+    UNI_MATH_SYMBOL               = 25,  /* Sm */
+    UNI_CURRENCY_SYMBOL           = 26,  /* Sc */
+    UNI_MODIFIER_SYMBOL           = 27,  /* Sk */
+    UNI_OTHER_SYMBOL              = 28,  /* So */
+    UNI_INITIAL_QUOTE_PUNCTUATION = 29,  /* Pi */
+    UNI_FINAL_QUOTE_PUNCTUATION   = 30   /* Pf */
+} UniCharType;
 
 
 /**
- * [85] BaseChar ::=
- * [#x0041-#x005A] | [#x0061-#x007A] | [#x00C0-#x00D6] | [#x00D8-#x00F6] |
- * [#x00F8-#x00FF] | [#x0100-#x0131] | [#x0134-#x013E] | [#x0141-#x0148] |
- * [#x014A-#x017E] | [#x0180-#x01C3] | [#x01CD-#x01F0] | [#x01F4-#x01F5] |
- * [#x01FA-#x0217] | [#x0250-#x02A8] | [#x02BB-#x02C1] | #x0386 |
- * [#x0388-#x038A] | #x038C | [#x038E-#x03A1] | [#x03A3-#x03CE] |
- * [#x03D0-#x03D6] | #x03DA | #x03DC | #x03DE | #x03E0 | [#x03E2-#x03F3] |
- * [#x0401-#x040C] | [#x040E-#x044F] | [#x0451-#x045C] | [#x045E-#x0481] |
- * [#x0490-#x04C4] | [#x04C7-#x04C8] | [#x04CB-#x04CC] | [#x04D0-#x04EB] |
- * [#x04EE-#x04F5] | [#x04F8-#x04F9] | [#x0531-#x0556] | #x0559 |
- * [#x0561-#x0586] | [#x05D0-#x05EA] | [#x05F0-#x05F2] | [#x0621-#x063A] |
- * [#x0641-#x064A] | [#x0671-#x06B7] | [#x06BA-#x06BE] | [#x06C0-#x06CE] |
- * [#x06D0-#x06D3] | #x06D5 | [#x06E5-#x06E6] | [#x0905-#x0939] | #x093D |
- * [#x0958-#x0961] | [#x0985-#x098C] | [#x098F-#x0990] | [#x0993-#x09A8] |
- * [#x09AA-#x09B0] | #x09B2 | [#x09B6-#x09B9] | [#x09DC-#x09DD] |
- * [#x09DF-#x09E1] | [#x09F0-#x09F1] | [#x0A05-#x0A0A] | [#x0A0F-#x0A10] |
- * [#x0A13-#x0A28] | [#x0A2A-#x0A30] | [#x0A32-#x0A33] | [#x0A35-#x0A36] |
- * [#x0A38-#x0A39] | [#x0A59-#x0A5C] | #x0A5E | [#x0A72-#x0A74] |
- * [#x0A85-#x0A8B] | #x0A8D | [#x0A8F-#x0A91] | [#x0A93-#x0AA8] |
- * [#x0AAA-#x0AB0] | [#x0AB2-#x0AB3] | [#x0AB5-#x0AB9] | #x0ABD | #x0AE0 |
- * [#x0B05-#x0B0C] | [#x0B0F-#x0B10] | [#x0B13-#x0B28] | [#x0B2A-#x0B30] |
- * [#x0B32-#x0B33] | [#x0B36-#x0B39] | #x0B3D | [#x0B5C-#x0B5D] |
- * [#x0B5F-#x0B61] | [#x0B85-#x0B8A] | [#x0B8E-#x0B90] | [#x0B92-#x0B95] |
- * [#x0B99-#x0B9A] | #x0B9C | [#x0B9E-#x0B9F] | [#x0BA3-#x0BA4] |
- * [#x0BA8-#x0BAA] | [#x0BAE-#x0BB5] | [#x0BB7-#x0BB9] | [#x0C05-#x0C0C] |
- * [#x0C0E-#x0C10] | [#x0C12-#x0C28] | [#x0C2A-#x0C33] |
- * [#x0C35-#x0C39] | [#x0C60-#x0C61] | [#x0C85-#x0C8C] | [#x0C8E-#x0C90] |
- * [#x0C92-#x0CA8] | [#x0CAA-#x0CB3] | [#x0CB5-#x0CB9] | #x0CDE |
- * [#x0CE0-#x0CE1] | [#x0D05-#x0D0C] | [#x0D0E-#x0D10] | [#x0D12-#x0D28] |
- * [#x0D2A-#x0D39] | [#x0D60-#x0D61] | [#x0E01-#x0E2E] | #x0E30 |
- * [#x0E32-#x0E33] | [#x0E40-#x0E45] | [#x0E81-#x0E82] | #x0E84 |
- * [#x0E87-#x0E88] | #x0E8A | #x0E8D | [#x0E94-#x0E97] | [#x0E99-#x0E9F] |
- * [#x0EA1-#x0EA3] | #x0EA5 | #x0EA7 | [#x0EAA-#x0EAB] | [#x0EAD-#x0EAE] |
- * #x0EB0 | [#x0EB2-#x0EB3] | #x0EBD | [#x0EC0-#x0EC4] | [#x0F40-#x0F47] |
- * [#x0F49-#x0F69] | [#x10A0-#x10C5] | [#x10D0-#x10F6] | #x1100 |
- * [#x1102-#x1103] | [#x1105-#x1107] | #x1109 | [#x110B-#x110C] |
- * [#x110E-#x1112] | #x113C | #x113E | #x1140 | #x114C | #x114E |
- * #x1150 | [#x1154-#x1155] | #x1159 | [#x115F-#x1161] | #x1163 |
- * #x1165 | #x1167 | #x1169 | [#x116D-#x116E] | [#x1172-#x1173] | #x1175 |
- * #x119E | #x11A8 | #x11AB | [#x11AE-#x11AF] | [#x11B7-#x11B8] | #x11BA |
- * [#x11BC-#x11C2] | #x11EB | #x11F0 | #x11F9 | [#x1E00-#x1E9B] |
- * [#x1EA0-#x1EF9] | [#x1F00-#x1F15] | [#x1F18-#x1F1D] | [#x1F20-#x1F45] |
- * [#x1F48-#x1F4D] | [#x1F50-#x1F57] | #x1F59 | #x1F5B | #x1F5D |
- * [#x1F5F-#x1F7D] | [#x1F80-#x1FB4] | [#x1FB6-#x1FBC] | #x1FBE |
- * [#x1FC2-#x1FC4] | [#x1FC6-#x1FCC] | [#x1FD0-#x1FD3] | [#x1FD6-#x1FDB] |
- * [#x1FE0-#x1FEC] | [#x1FF2-#x1FF4] | [#x1FF6-#x1FFC] | #x2126 |
- * [#x212A-#x212B] | #x212E | [#x2180-#x2182] | [#x3041-#x3094] |
- * [#x30A1-#x30FA] | [#x3105-#x312C] | [#xAC00-#xD7A3]
+ * Get the raw table entry for this Unicode codepoint
+ * @param ch the Unicode codepoint to test
+ * @return the raw UCD property table entry 
  */
-bool isBaseChar(int ch);
+unsigned int uni_code(int ch);
 
 
 /**
- * [86]    Ideographic ::=
- *         [#x4E00-#x9FA5] | #x3007 | [#x3021-#x3029]
+ * Get the Unicode General Category of ths character
+ * @param ch the Unicode codepoint to test
+ * @return the 'UniCharType' General Category enumeration (above)
  */
-bool isIdeographic(int ch);
-
-
-
+unsigned int uni_type(int ch);
 
 
 /**
- * [87]    CombiningChar ::=
- * [#x0300-#x0345] | [#x0360-#x0361] | [#x0483-#x0486] | [#x0591-#x05A1] |
- * [#x05A3-#x05B9] | [#x05BB-#x05BD] | #x05BF | [#x05C1-#x05C2] | #x05C4 |
- * [#x064B-#x0652] | #x0670 | [#x06D6-#x06DC] | [#x06DD-#x06DF] |
- * [#x06E0-#x06E4] | [#x06E7-#x06E8] | [#x06EA-#x06ED] | [#x0901-#x0903] |
- * #x093C | [#x093E-#x094C] | #x094D | [#x0951-#x0954] |[#x0962-#x0963] |
- * [#x0981-#x0983] | #x09BC | #x09BE | #x09BF | [#x09C0-#x09C4] |
- * [#x09C7-#x09C8] | [#x09CB-#x09CD] | #x09D7 | [#x09E2-#x09E3] |
- * #x0A02 | #x0A3C | #x0A3E | #x0A3F | [#x0A40-#x0A42] | [#x0A47-#x0A48] |
- * [#x0A4B-#x0A4D] | [#x0A70-#x0A71] | [#x0A81-#x0A83] | #x0ABC |
- * [#x0ABE-#x0AC5] | [#x0AC7-#x0AC9] | [#x0ACB-#x0ACD] | [#x0B01-#x0B03] |
- * #x0B3C | [#x0B3E-#x0B43] | [#x0B47-#x0B48] | [#x0B4B-#x0B4D] |
- * [#x0B56-#x0B57] | [#x0B82-#x0B83] | [#x0BBE-#x0BC2] | [#x0BC6-#x0BC8] |
- * [#x0BCA-#x0BCD] | #x0BD7 | [#x0C01-#x0C03] | [#x0C3E-#x0C44] |
- * [#x0C46-#x0C48] | [#x0C4A-#x0C4D] | [#x0C55-#x0C56] | [#x0C82-#x0C83] |
- * [#x0CBE-#x0CC4] | [#x0CC6-#x0CC8] | [#x0CCA-#x0CCD] | [#x0CD5-#x0CD6] |
- * [#x0D02-#x0D03] | [#x0D3E-#x0D43] | [#x0D46-#x0D48] | [#x0D4A-#x0D4D] |
- * #x0D57 | #x0E31 | [#x0E34-#x0E3A] | [#x0E47-#x0E4E] | #x0EB1 |
- * [#x0EB4-#x0EB9] | [#x0EBB-#x0EBC] | [#x0EC8-#x0ECD] | [#x0F18-#x0F19] |
- * #x0F35 | #x0F37 | #x0F39 | #x0F3E | #x0F3F | [#x0F71-#x0F84] |
- * [#x0F86-#x0F8B] | [#x0F90-#x0F95] | #x0F97 | [#x0F99-#x0FAD] |
- * [#x0FB1-#x0FB7] | #x0FB9 | [#x20D0-#x20DC] | #x20E1 | [#x302A-#x302F] |
- * #x3099 | #x309A
+ * Test if this Unicode code point is lower case
+ * @param ch the Unicode codepoint to test
+ * @return 1 if successful, else 0
  */
-bool isCombiningChar(int ch);
-
+int uni_is_lower(int ch);
 
 
 /**
- * [88]    Digit ::=
- * [#x0030-#x0039] | [#x0660-#x0669] | [#x06F0-#x06F9] |
- * [#x0966-#x096F] | [#x09E6-#x09EF] | [#x0A66-#x0A6F] | [#x0AE6-#x0AEF] |
- * [#x0B66-#x0B6F] | [#x0BE7-#x0BEF] | [#x0C66-#x0C6F] | [#x0CE6-#x0CEF] |
- * [#x0D66-#x0D6F] | [#x0E50-#x0E59] | [#x0ED0-#x0ED9] | [#x0F20-#x0F29]
+ * Test if this Unicode code point is upper case
+ * @param ch the Unicode codepoint to test
+ * @return 1 if successful, else 0
  */
-bool isDigit(int ch);
-
-
+int uni_is_upper(int ch);
 
 
 /**
- * [89]    Extender ::=
- * #x00B7 | #x02D0 | #x02D1 | #x0387 | #x0640 | #x0E46 | #x0EC6 |
- * #x3005 | [#x3031-#x3035] | [#x309D-#x309E] | [#x30FC-#x30FE]
+ * Test if this Unicode code point is title case
+ * @param ch the Unicode codepoint to test
+ * @return 1 if successful, else 0
  */
-bool isExtender(int ch);
-
+int uni_is_title(int ch);
 
 
 /**
- *
- * Following are from unicode.org, in the UnicodeData file
- * in the Unicode Database
+ * Test if this Unicode code point is a numeric digit
+ * @param ch the Unicode codepoint to test
+ * @return 1 if successful, else 0
  */
+int uni_is_digit(int ch);
 
-/**
- * Does it separate purely by space?
- * UNICODE general class Zs 
- */
-bool isSpaceSeparator(int ch);
 
 /**
- * Does it separate lines? Not the same as a newline.
- * UNICODE general class Zl 
+ * Test if this Unicode code point is defined in the database
+ * @param ch the Unicode codepoint to test
+ * @return 1 if successful, else 0
  */
-bool isLineSeparator(int ch);
+int uni_is_defined(int ch);
 
 /**
- *  UNICODE general class Zp
+ * Test if this Unicode code point is a letter
+ * @param ch the Unicode codepoint to test
+ * @return 1 if successful, else 0
  */
-bool isParagraphSeparator(int ch);
+int uni_is_letter(int ch);
 
-/**
- * The union of the 3 space types.
- */
-bool isSpaceChar(int ch);
 
 /**
- * 3 spaces in isSpaceChar() which don't break
+ * Test if this Unicode code point is a letter or a digit
+ * @param ch the Unicode codepoint to test
+ * @return 1 if successful, else 0
  */
-bool isNonBreakingSpace(int ch);
+int uni_is_letter_or_digit(int ch);
 
 /**
- *  Union of all non-printing characters
+ * Test if this Unicode code point is considered to be a space
+ * @param ch the Unicode codepoint to test
+ * @return 1 if successful, else 0
  */
-bool isWhitespace(int ch);
-
-#endif  /* __CHARCLASS_H__ */
-
-
-
-
-
-
-
-
-
-
-
-
-
+int uni_is_space(int ch);
 
 
 
+#endif /* __CHARCLASS_H__ */
 
+           
index 7aed0dd22716bb360079a6dcf995de68623d925f..78ce4ce9b7fe33b679a1065d08522af6a8bb6ae9 100644 (file)
@@ -10,7 +10,7 @@
  * Authors:
  *   Bob Jamison
  *
- * Copyright (C) 2005-2007 Bob Jamison
+ * Copyright (C) 2005-2008 Bob Jamison
  *
  *  This library is free software; you can redistribute it and/or
  *  modify it under the terms of the GNU Lesser General Public
@@ -192,7 +192,7 @@ int CssParser::skipwhite(int p)
             return -1;
             }
         }
-    else if (!isWhitespace(get(p)))
+    else if (!uni_is_space(get(p)))
         break;
     else
         p++;
@@ -207,7 +207,7 @@ int CssParser::skipwhite(int p)
 int CssParser::getWord(int p, DOMString &result)
 {
     XMLCh ch = get(p);
-    if (!isLetter(ch))
+    if (!uni_is_letter(ch))
         return p;
     DOMString str;
     str.push_back(ch);
@@ -216,7 +216,7 @@ int CssParser::getWord(int p, DOMString &result)
     while (p < parselen)
         {
         ch = get(p);
-        if (isLetterOrDigit(ch) || ch=='-' || ch=='_')
+        if (uni_is_letter_or_digit(ch) || ch=='-' || ch=='_')
             {
             str.push_back(ch);
             p++;
@@ -901,7 +901,7 @@ int CssParser::getSimpleSelector(int p0)
     //######################
 
     //#Element name 0 or 1
-    if (isLetter(ch))
+    if (uni_is_letter(ch))
         {
         p2 = getWord(p, str);
         if (p2<0)
@@ -994,7 +994,7 @@ int CssParser::getSimpleSelector(int p0)
                 {
                 p = skipwhite(p);
                 ch = get(p);
-                if (isLetter(ch))
+                if (uni_is_letter(ch))
                     {
                     p2 = getWord(p, str);
                     if (p2<0)
@@ -1052,7 +1052,7 @@ int CssParser::getSimpleSelector(int p0)
                 p++;
                 p = skipwhite(p);
                 ch = get(p);
-                if (isLetter(ch))
+                if (uni_is_letter(ch))
                     {
                     p2 = getWord(p, str);
                     if (p2<0)
@@ -1101,7 +1101,7 @@ int CssParser::getDeclaration(int p0, CSSStyleDeclaration &declarationList)
     //## PROPERTY
     p = skipwhite(p);
     XMLCh ch = get(p);
-    if (!isLetter(ch))
+    if (!uni_is_letter(ch))
         return p0; //not me
     DOMString propName;
     int p2 = getWord(p, propName);
@@ -1351,7 +1351,7 @@ int CssParser::getTerm(int p0)
             unitType = CSSPrimitiveValue::CSS_KHZ;
             p+=2;
             }
-        else if (isLetter(get(p)))//some other string
+        else if (uni_is_letter(get(p)))//some other string
             {
             DOMString suffix;
             p2 = getWord(p, suffix);
@@ -1417,7 +1417,7 @@ int CssParser::getTerm(int p0)
 
     //## IDENT
     ch = get(p);
-    if (isLetter(ch))
+    if (uni_is_letter(ch))
         {
         p2 = getWord(p, str);
         if (p2<0)
index c35a3d148d19fb83fc0293c700a102b8b22f4d44..9a3d49f150991a55e823cefa28a7900c64998a62 100644 (file)
@@ -10,7 +10,7 @@
  * Authors:
  *   Bob Jamison
  *
- * Copyright (C) 2006 Bob Jamison
+ * Copyright (C) 2006-2008 Bob Jamison
  *
  *  This library is free software; you can redistribute it and/or
  *  modify it under the terms of the GNU Lesser General Public
@@ -598,7 +598,7 @@ DOMString BasicReader::readWord()
     while (available() > 0)
         {
         XMLCh ch = get();
-        if (isWhitespace(ch))
+        if (uni_is_space(ch))
             break;
         str.push_back(ch);
         }
index e263f1481b89c77c7e9056284015f0a5a8f42be6..e78a8e508b074d6308de4c72c62fe3d4d3001f56 100644 (file)
@@ -10,7 +10,7 @@
  * Authors:
  *   Bob Jamison
  *
- * Copyright (C) 2005 Bob Jamison
+ * Copyright (C) 2005-2008 Bob Jamison
  *
  *  This library is free software; you can redistribute it and/or
  *  modify it under the terms of the GNU Lesser General Public
@@ -150,7 +150,7 @@ int SvgParser::skipwhite(int p)
             return -1;
             }
         }
-    else if (!isWhitespace(get(p)))
+    else if (!uni_is_space(get(p)))
         break;
     else
         p++;
@@ -165,7 +165,7 @@ int SvgParser::skipwhite(int p)
 int SvgParser::getWord(int p, DOMString &result)
 {
     XMLCh ch = get(p);
-    if (!isLetter(ch))
+    if (!uni_is_letter(ch))
         return p;
     DOMString str;
     str.push_back(ch);
@@ -174,7 +174,7 @@ int SvgParser::getWord(int p, DOMString &result)
     while (p < parselen)
         {
         ch = get(p);
-        if (isLetterOrDigit(ch) || ch=='-' || ch=='_')
+        if (uni_is_letter_or_digit(ch) || ch=='-' || ch=='_')
             {
             str.push_back(ch);
             p++;
index 13b76c413d3a962a685bd505cec1e5be3a842609..8b810e611e1bf87d4202ca469f5f6cbd7c8a0a04 100644 (file)
@@ -270,7 +270,7 @@ DOMString URI::getNativePath() const
     if (pathStr.size() >= 3)
         {
         if (pathStr[0] == '/' &&
-            isLetter(pathStr[1]) &&
+            uni_is_letter(pathStr[1]) &&
             pathStr[2] == ':')
             firstChar++;
          }
@@ -766,7 +766,7 @@ int URI::parseHierarchicalPart(int p0)
 
     //# Are we absolute?
     ch = peek(p);
-    if (isLetter(ch) && peek(p+1)==':')
+    if (uni_is_letter(ch) && peek(p+1)==':')
         {
         absolute = true;
         path.push_back((XMLCh)'/');
index 6e6db723dbe22a39b63369a49f78bc0996f357e3..32a97e0c000d54f10c197f3b2b7d478a0a931f06 100644 (file)
@@ -10,7 +10,7 @@
  * Authors:
  *   Bob Jamison
  *
- * Copyright (C) 2005 Bob Jamison
+ * Copyright (C) 2005-2008 Bob Jamison
  *
  *  This library is free software; you can redistribute it and/or
  *  modify it under the terms of the GNU Lesser General Public
@@ -193,7 +193,7 @@ int XmlReader::skipwhite(int p)
   while (p < len)
     {
     int b = get(p);
-    if (!isWhitespace(b))
+    if (!uni_is_space(b))
         break;
     p++;
     }
index 916158ec23fabdfda241308bd7359303a447b8e1..f2e000e6d70a953c984f32a0a6f4e80ffa7af63e 100644 (file)
@@ -187,7 +187,7 @@ int XPathParser::skipwhite(int p0)
     while (p < parselen)
         {
         int ch = peek(p);
-        if (!isWhitespace(ch))
+        if (!uni_is_space(ch))
             break;
         ch = get(p++);
         }
@@ -200,7 +200,7 @@ int XPathParser::getword(int p0, DOMString &str)
     while (p < parselen)
         {
         int ch = peek(p);
-        if (!isLetterOrDigit(ch))
+        if (!uni_is_letter_or_digit(ch))
             break;
         ch = get(p++);
         str.push_back((XMLCh)ch);
@@ -270,7 +270,7 @@ int XPathParser::getNumber(int p0, double &dresult)
                 return p0;
             seen_eminus = true;
             }
-        else if (!isDigit(ch))
+        else if (!uni_is_digit(ch))
             break;
         num.push_back((XMLCh)ch);
         i++;
@@ -344,7 +344,7 @@ int XPathParser::getNCName(int p0, DOMString &result)
 {
     int p = p0;
     int ch = peek(p);
-    if (ch != '_' && !isLetter(ch))
+    if (ch != '_' && !uni_is_letter(ch))
         return p0;
 
     result.push_back((XMLCh)ch);
@@ -352,9 +352,9 @@ int XPathParser::getNCName(int p0, DOMString &result)
     while (p < parselen)
         {
         ch = peek(p);
-        if (   isLetterOrDigit(ch) ||
-               isCombiningChar(ch) ||
-               isExtender(ch)      ||
+        if (   uni_is_letter_or_digit(ch) ||
+               // isCombiningChar(ch) ||
+               // isExtender(ch)      ||
                ch == '.' || ch == '-' || ch == '_' )
            {
            result.push_back((XMLCh)ch);