RFC3454.java   [plain text]


/**
 * Copyright (C) 2004, 2005, 2006, 2007  Free Software Foundation, Inc.
 *
 * Author: Oliver Hitz
 *
 * This file is part of GNU Libidn.
 *
 * 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.
 *
 * 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.
 *
 * 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 Street, Fifth Floor, Boston, MA 02110-1301
 * USA
 */

package gnu.inet.encoding;

/* Do not edit - automatically generated */

public class RFC3454
{
  final static char[][] A1 = new char[][] {
    new char[] { '\u0221' },
    new char[] { '\u0234', '\u024F' },
    new char[] { '\u02AE', '\u02AF' },
    new char[] { '\u02EF', '\u02FF' },
    new char[] { '\u0350', '\u035F' },
    new char[] { '\u0370', '\u0373' },
    new char[] { '\u0376', '\u0379' },
    new char[] { '\u037B', '\u037D' },
    new char[] { '\u037F', '\u0383' },
    new char[] { '\u038B' },
    new char[] { '\u038D' },
    new char[] { '\u03A2' },
    new char[] { '\u03CF' },
    new char[] { '\u03F7', '\u03FF' },
    new char[] { '\u0487' },
    new char[] { '\u04CF' },
    new char[] { '\u04F6', '\u04F7' },
    new char[] { '\u04FA', '\u04FF' },
    new char[] { '\u0510', '\u0530' },
    new char[] { '\u0557', '\u0558' },
    new char[] { '\u0560' },
    new char[] { '\u0588' },
    new char[] { '\u058B', '\u0590' },
    new char[] { '\u05A2' },
    new char[] { '\u05BA' },
    new char[] { '\u05C5', '\u05CF' },
    new char[] { '\u05EB', '\u05EF' },
    new char[] { '\u05F5', '\u060B' },
    new char[] { '\u060D', '\u061A' },
    new char[] { '\u061C', '\u061E' },
    new char[] { '\u0620' },
    new char[] { '\u063B', '\u063F' },
    new char[] { '\u0656', '\u065F' },
    new char[] { '\u06EE', '\u06EF' },
    new char[] { '\u06FF' },
    new char[] { '\u070E' },
    new char[] { '\u072D', '\u072F' },
    new char[] { '\u074B', '\u077F' },
    new char[] { '\u07B2', '\u0900' },
    new char[] { '\u0904' },
    new char[] { '\u093A', '\u093B' },
    new char[] { '\u094E', '\u094F' },
    new char[] { '\u0955', '\u0957' },
    new char[] { '\u0971', '\u0980' },
    new char[] { '\u0984' },
    new char[] { '\u098D', '\u098E' },
    new char[] { '\u0991', '\u0992' },
    new char[] { '\u09A9' },
    new char[] { '\u09B1' },
    new char[] { '\u09B3', '\u09B5' },
    new char[] { '\u09BA', '\u09BB' },
    new char[] { '\u09BD' },
    new char[] { '\u09C5', '\u09C6' },
    new char[] { '\u09C9', '\u09CA' },
    new char[] { '\u09CE', '\u09D6' },
    new char[] { '\u09D8', '\u09DB' },
    new char[] { '\u09DE' },
    new char[] { '\u09E4', '\u09E5' },
    new char[] { '\u09FB', '\u0A01' },
    new char[] { '\u0A03', '\u0A04' },
    new char[] { '\u0A0B', '\u0A0E' },
    new char[] { '\u0A11', '\u0A12' },
    new char[] { '\u0A29' },
    new char[] { '\u0A31' },
    new char[] { '\u0A34' },
    new char[] { '\u0A37' },
    new char[] { '\u0A3A', '\u0A3B' },
    new char[] { '\u0A3D' },
    new char[] { '\u0A43', '\u0A46' },
    new char[] { '\u0A49', '\u0A4A' },
    new char[] { '\u0A4E', '\u0A58' },
    new char[] { '\u0A5D' },
    new char[] { '\u0A5F', '\u0A65' },
    new char[] { '\u0A75', '\u0A80' },
    new char[] { '\u0A84' },
    new char[] { '\u0A8C' },
    new char[] { '\u0A8E' },
    new char[] { '\u0A92' },
    new char[] { '\u0AA9' },
    new char[] { '\u0AB1' },
    new char[] { '\u0AB4' },
    new char[] { '\u0ABA', '\u0ABB' },
    new char[] { '\u0AC6' },
    new char[] { '\u0ACA' },
    new char[] { '\u0ACE', '\u0ACF' },
    new char[] { '\u0AD1', '\u0ADF' },
    new char[] { '\u0AE1', '\u0AE5' },
    new char[] { '\u0AF0', '\u0B00' },
    new char[] { '\u0B04' },
    new char[] { '\u0B0D', '\u0B0E' },
    new char[] { '\u0B11', '\u0B12' },
    new char[] { '\u0B29' },
    new char[] { '\u0B31' },
    new char[] { '\u0B34', '\u0B35' },
    new char[] { '\u0B3A', '\u0B3B' },
    new char[] { '\u0B44', '\u0B46' },
    new char[] { '\u0B49', '\u0B4A' },
    new char[] { '\u0B4E', '\u0B55' },
    new char[] { '\u0B58', '\u0B5B' },
    new char[] { '\u0B5E' },
    new char[] { '\u0B62', '\u0B65' },
    new char[] { '\u0B71', '\u0B81' },
    new char[] { '\u0B84' },
    new char[] { '\u0B8B', '\u0B8D' },
    new char[] { '\u0B91' },
    new char[] { '\u0B96', '\u0B98' },
    new char[] { '\u0B9B' },
    new char[] { '\u0B9D' },
    new char[] { '\u0BA0', '\u0BA2' },
    new char[] { '\u0BA5', '\u0BA7' },
    new char[] { '\u0BAB', '\u0BAD' },
    new char[] { '\u0BB6' },
    new char[] { '\u0BBA', '\u0BBD' },
    new char[] { '\u0BC3', '\u0BC5' },
    new char[] { '\u0BC9' },
    new char[] { '\u0BCE', '\u0BD6' },
    new char[] { '\u0BD8', '\u0BE6' },
    new char[] { '\u0BF3', '\u0C00' },
    new char[] { '\u0C04' },
    new char[] { '\u0C0D' },
    new char[] { '\u0C11' },
    new char[] { '\u0C29' },
    new char[] { '\u0C34' },
    new char[] { '\u0C3A', '\u0C3D' },
    new char[] { '\u0C45' },
    new char[] { '\u0C49' },
    new char[] { '\u0C4E', '\u0C54' },
    new char[] { '\u0C57', '\u0C5F' },
    new char[] { '\u0C62', '\u0C65' },
    new char[] { '\u0C70', '\u0C81' },
    new char[] { '\u0C84' },
    new char[] { '\u0C8D' },
    new char[] { '\u0C91' },
    new char[] { '\u0CA9' },
    new char[] { '\u0CB4' },
    new char[] { '\u0CBA', '\u0CBD' },
    new char[] { '\u0CC5' },
    new char[] { '\u0CC9' },
    new char[] { '\u0CCE', '\u0CD4' },
    new char[] { '\u0CD7', '\u0CDD' },
    new char[] { '\u0CDF' },
    new char[] { '\u0CE2', '\u0CE5' },
    new char[] { '\u0CF0', '\u0D01' },
    new char[] { '\u0D04' },
    new char[] { '\u0D0D' },
    new char[] { '\u0D11' },
    new char[] { '\u0D29' },
    new char[] { '\u0D3A', '\u0D3D' },
    new char[] { '\u0D44', '\u0D45' },
    new char[] { '\u0D49' },
    new char[] { '\u0D4E', '\u0D56' },
    new char[] { '\u0D58', '\u0D5F' },
    new char[] { '\u0D62', '\u0D65' },
    new char[] { '\u0D70', '\u0D81' },
    new char[] { '\u0D84' },
    new char[] { '\u0D97', '\u0D99' },
    new char[] { '\u0DB2' },
    new char[] { '\u0DBC' },
    new char[] { '\u0DBE', '\u0DBF' },
    new char[] { '\u0DC7', '\u0DC9' },
    new char[] { '\u0DCB', '\u0DCE' },
    new char[] { '\u0DD5' },
    new char[] { '\u0DD7' },
    new char[] { '\u0DE0', '\u0DF1' },
    new char[] { '\u0DF5', '\u0E00' },
    new char[] { '\u0E3B', '\u0E3E' },
    new char[] { '\u0E5C', '\u0E80' },
    new char[] { '\u0E83' },
    new char[] { '\u0E85', '\u0E86' },
    new char[] { '\u0E89' },
    new char[] { '\u0E8B', '\u0E8C' },
    new char[] { '\u0E8E', '\u0E93' },
    new char[] { '\u0E98' },
    new char[] { '\u0EA0' },
    new char[] { '\u0EA4' },
    new char[] { '\u0EA6' },
    new char[] { '\u0EA8', '\u0EA9' },
    new char[] { '\u0EAC' },
    new char[] { '\u0EBA' },
    new char[] { '\u0EBE', '\u0EBF' },
    new char[] { '\u0EC5' },
    new char[] { '\u0EC7' },
    new char[] { '\u0ECE', '\u0ECF' },
    new char[] { '\u0EDA', '\u0EDB' },
    new char[] { '\u0EDE', '\u0EFF' },
    new char[] { '\u0F48' },
    new char[] { '\u0F6B', '\u0F70' },
    new char[] { '\u0F8C', '\u0F8F' },
    new char[] { '\u0F98' },
    new char[] { '\u0FBD' },
    new char[] { '\u0FCD', '\u0FCE' },
    new char[] { '\u0FD0', '\u0FFF' },
    new char[] { '\u1022' },
    new char[] { '\u1028' },
    new char[] { '\u102B' },
    new char[] { '\u1033', '\u1035' },
    new char[] { '\u103A', '\u103F' },
    new char[] { '\u105A', '\u109F' },
    new char[] { '\u10C6', '\u10CF' },
    new char[] { '\u10F9', '\u10FA' },
    new char[] { '\u10FC', '\u10FF' },
    new char[] { '\u115A', '\u115E' },
    new char[] { '\u11A3', '\u11A7' },
    new char[] { '\u11FA', '\u11FF' },
    new char[] { '\u1207' },
    new char[] { '\u1247' },
    new char[] { '\u1249' },
    new char[] { '\u124E', '\u124F' },
    new char[] { '\u1257' },
    new char[] { '\u1259' },
    new char[] { '\u125E', '\u125F' },
    new char[] { '\u1287' },
    new char[] { '\u1289' },
    new char[] { '\u128E', '\u128F' },
    new char[] { '\u12AF' },
    new char[] { '\u12B1' },
    new char[] { '\u12B6', '\u12B7' },
    new char[] { '\u12BF' },
    new char[] { '\u12C1' },
    new char[] { '\u12C6', '\u12C7' },
    new char[] { '\u12CF' },
    new char[] { '\u12D7' },
    new char[] { '\u12EF' },
    new char[] { '\u130F' },
    new char[] { '\u1311' },
    new char[] { '\u1316', '\u1317' },
    new char[] { '\u131F' },
    new char[] { '\u1347' },
    new char[] { '\u135B', '\u1360' },
    new char[] { '\u137D', '\u139F' },
    new char[] { '\u13F5', '\u1400' },
    new char[] { '\u1677', '\u167F' },
    new char[] { '\u169D', '\u169F' },
    new char[] { '\u16F1', '\u16FF' },
    new char[] { '\u170D' },
    new char[] { '\u1715', '\u171F' },
    new char[] { '\u1737', '\u173F' },
    new char[] { '\u1754', '\u175F' },
    new char[] { '\u176D' },
    new char[] { '\u1771' },
    new char[] { '\u1774', '\u177F' },
    new char[] { '\u17DD', '\u17DF' },
    new char[] { '\u17EA', '\u17FF' },
    new char[] { '\u180F' },
    new char[] { '\u181A', '\u181F' },
    new char[] { '\u1878', '\u187F' },
    new char[] { '\u18AA', '\u1DFF' },
    new char[] { '\u1E9C', '\u1E9F' },
    new char[] { '\u1EFA', '\u1EFF' },
    new char[] { '\u1F16', '\u1F17' },
    new char[] { '\u1F1E', '\u1F1F' },
    new char[] { '\u1F46', '\u1F47' },
    new char[] { '\u1F4E', '\u1F4F' },
    new char[] { '\u1F58' },
    new char[] { '\u1F5A' },
    new char[] { '\u1F5C' },
    new char[] { '\u1F5E' },
    new char[] { '\u1F7E', '\u1F7F' },
    new char[] { '\u1FB5' },
    new char[] { '\u1FC5' },
    new char[] { '\u1FD4', '\u1FD5' },
    new char[] { '\u1FDC' },
    new char[] { '\u1FF0', '\u1FF1' },
    new char[] { '\u1FF5' },
    new char[] { '\u1FFF' },
    new char[] { '\u2053', '\u2056' },
    new char[] { '\u2058', '\u205E' },
    new char[] { '\u2064', '\u2069' },
    new char[] { '\u2072', '\u2073' },
    new char[] { '\u208F', '\u209F' },
    new char[] { '\u20B2', '\u20CF' },
    new char[] { '\u20EB', '\u20FF' },
    new char[] { '\u213B', '\u213C' },
    new char[] { '\u214C', '\u2152' },
    new char[] { '\u2184', '\u218F' },
    new char[] { '\u23CF', '\u23FF' },
    new char[] { '\u2427', '\u243F' },
    new char[] { '\u244B', '\u245F' },
    new char[] { '\u24FF' },
    new char[] { '\u2614', '\u2615' },
    new char[] { '\u2618' },
    new char[] { '\u267E', '\u267F' },
    new char[] { '\u268A', '\u2700' },
    new char[] { '\u2705' },
    new char[] { '\u270A', '\u270B' },
    new char[] { '\u2728' },
    new char[] { '\u274C' },
    new char[] { '\u274E' },
    new char[] { '\u2753', '\u2755' },
    new char[] { '\u2757' },
    new char[] { '\u275F', '\u2760' },
    new char[] { '\u2795', '\u2797' },
    new char[] { '\u27B0' },
    new char[] { '\u27BF', '\u27CF' },
    new char[] { '\u27EC', '\u27EF' },
    new char[] { '\u2B00', '\u2E7F' },
    new char[] { '\u2E9A' },
    new char[] { '\u2EF4', '\u2EFF' },
    new char[] { '\u2FD6', '\u2FEF' },
    new char[] { '\u2FFC', '\u2FFF' },
    new char[] { '\u3040' },
    new char[] { '\u3097', '\u3098' },
    new char[] { '\u3100', '\u3104' },
    new char[] { '\u312D', '\u3130' },
    new char[] { '\u318F' },
    new char[] { '\u31B8', '\u31EF' },
    new char[] { '\u321D', '\u321F' },
    new char[] { '\u3244', '\u3250' },
    new char[] { '\u327C', '\u327E' },
    new char[] { '\u32CC', '\u32CF' },
    new char[] { '\u32FF' },
    new char[] { '\u3377', '\u337A' },
    new char[] { '\u33DE', '\u33DF' },
    new char[] { '\u33FF' },
    new char[] { '\u4DB6', '\u4DFF' },
    new char[] { '\u9FA6', '\u9FFF' },
    new char[] { '\uA48D', '\uA48F' },
    new char[] { '\uA4C7', '\uABFF' },
    new char[] { '\uD7A4', '\uD7FF' },
    new char[] { '\uFA2E', '\uFA2F' },
    new char[] { '\uFA6B', '\uFAFF' },
    new char[] { '\uFB07', '\uFB12' },
    new char[] { '\uFB18', '\uFB1C' },
    new char[] { '\uFB37' },
    new char[] { '\uFB3D' },
    new char[] { '\uFB3F' },
    new char[] { '\uFB42' },
    new char[] { '\uFB45' },
    new char[] { '\uFBB2', '\uFBD2' },
    new char[] { '\uFD40', '\uFD4F' },
    new char[] { '\uFD90', '\uFD91' },
    new char[] { '\uFDC8', '\uFDCF' },
    new char[] { '\uFDFD', '\uFDFF' },
    new char[] { '\uFE10', '\uFE1F' },
    new char[] { '\uFE24', '\uFE2F' },
    new char[] { '\uFE47', '\uFE48' },
    new char[] { '\uFE53' },
    new char[] { '\uFE67' },
    new char[] { '\uFE6C', '\uFE6F' },
    new char[] { '\uFE75' },
    new char[] { '\uFEFD', '\uFEFE' },
    new char[] { '\uFF00' },
    new char[] { '\uFFBF', '\uFFC1' },
    new char[] { '\uFFC8', '\uFFC9' },
    new char[] { '\uFFD0', '\uFFD1' },
    new char[] { '\uFFD8', '\uFFD9' },
    new char[] { '\uFFDD', '\uFFDF' },
    new char[] { '\uFFE7' },
    new char[] { '\uFFEF', '\uFFF8' },
  };

  final static char[] B1 = new char[] {
    '\u00AD',
    '\u034F',
    '\u1806',
    '\u180B',
    '\u180C',
    '\u180D',
    '\u200B',
    '\u200C',
    '\u200D',
    '\u2060',
    '\uFE00',
    '\uFE01',
    '\uFE02',
    '\uFE03',
    '\uFE04',
    '\uFE05',
    '\uFE06',
    '\uFE07',
    '\uFE08',
    '\uFE09',
    '\uFE0A',
    '\uFE0B',
    '\uFE0C',
    '\uFE0D',
    '\uFE0E',
    '\uFE0F',
    '\uFEFF',
  };

  final static char[] B2search = new char[] {
    '\u0041',
    '\u0042',
    '\u0043',
    '\u0044',
    '\u0045',
    '\u0046',
    '\u0047',
    '\u0048',
    '\u0049',
    '\u004A',
    '\u004B',
    '\u004C',
    '\u004D',
    '\u004E',
    '\u004F',
    '\u0050',
    '\u0051',
    '\u0052',
    '\u0053',
    '\u0054',
    '\u0055',
    '\u0056',
    '\u0057',
    '\u0058',
    '\u0059',
    '\u005A',
    '\u00B5',
    '\u00C0',
    '\u00C1',
    '\u00C2',
    '\u00C3',
    '\u00C4',
    '\u00C5',
    '\u00C6',
    '\u00C7',
    '\u00C8',
    '\u00C9',
    '\u00CA',
    '\u00CB',
    '\u00CC',
    '\u00CD',
    '\u00CE',
    '\u00CF',
    '\u00D0',
    '\u00D1',
    '\u00D2',
    '\u00D3',
    '\u00D4',
    '\u00D5',
    '\u00D6',
    '\u00D8',
    '\u00D9',
    '\u00DA',
    '\u00DB',
    '\u00DC',
    '\u00DD',
    '\u00DE',
    '\u00DF',
    '\u0100',
    '\u0102',
    '\u0104',
    '\u0106',
    '\u0108',
    '\u010A',
    '\u010C',
    '\u010E',
    '\u0110',
    '\u0112',
    '\u0114',
    '\u0116',
    '\u0118',
    '\u011A',
    '\u011C',
    '\u011E',
    '\u0120',
    '\u0122',
    '\u0124',
    '\u0126',
    '\u0128',
    '\u012A',
    '\u012C',
    '\u012E',
    '\u0130',
    '\u0132',
    '\u0134',
    '\u0136',
    '\u0139',
    '\u013B',
    '\u013D',
    '\u013F',
    '\u0141',
    '\u0143',
    '\u0145',
    '\u0147',
    '\u0149',
    '\u014A',
    '\u014C',
    '\u014E',
    '\u0150',
    '\u0152',
    '\u0154',
    '\u0156',
    '\u0158',
    '\u015A',
    '\u015C',
    '\u015E',
    '\u0160',
    '\u0162',
    '\u0164',
    '\u0166',
    '\u0168',
    '\u016A',
    '\u016C',
    '\u016E',
    '\u0170',
    '\u0172',
    '\u0174',
    '\u0176',
    '\u0178',
    '\u0179',
    '\u017B',
    '\u017D',
    '\u017F',
    '\u0181',
    '\u0182',
    '\u0184',
    '\u0186',
    '\u0187',
    '\u0189',
    '\u018A',
    '\u018B',
    '\u018E',
    '\u018F',
    '\u0190',
    '\u0191',
    '\u0193',
    '\u0194',
    '\u0196',
    '\u0197',
    '\u0198',
    '\u019C',
    '\u019D',
    '\u019F',
    '\u01A0',
    '\u01A2',
    '\u01A4',
    '\u01A6',
    '\u01A7',
    '\u01A9',
    '\u01AC',
    '\u01AE',
    '\u01AF',
    '\u01B1',
    '\u01B2',
    '\u01B3',
    '\u01B5',
    '\u01B7',
    '\u01B8',
    '\u01BC',
    '\u01C4',
    '\u01C5',
    '\u01C7',
    '\u01C8',
    '\u01CA',
    '\u01CB',
    '\u01CD',
    '\u01CF',
    '\u01D1',
    '\u01D3',
    '\u01D5',
    '\u01D7',
    '\u01D9',
    '\u01DB',
    '\u01DE',
    '\u01E0',
    '\u01E2',
    '\u01E4',
    '\u01E6',
    '\u01E8',
    '\u01EA',
    '\u01EC',
    '\u01EE',
    '\u01F0',
    '\u01F1',
    '\u01F2',
    '\u01F4',
    '\u01F6',
    '\u01F7',
    '\u01F8',
    '\u01FA',
    '\u01FC',
    '\u01FE',
    '\u0200',
    '\u0202',
    '\u0204',
    '\u0206',
    '\u0208',
    '\u020A',
    '\u020C',
    '\u020E',
    '\u0210',
    '\u0212',
    '\u0214',
    '\u0216',
    '\u0218',
    '\u021A',
    '\u021C',
    '\u021E',
    '\u0220',
    '\u0222',
    '\u0224',
    '\u0226',
    '\u0228',
    '\u022A',
    '\u022C',
    '\u022E',
    '\u0230',
    '\u0232',
    '\u0345',
    '\u037A',
    '\u0386',
    '\u0388',
    '\u0389',
    '\u038A',
    '\u038C',
    '\u038E',
    '\u038F',
    '\u0390',
    '\u0391',
    '\u0392',
    '\u0393',
    '\u0394',
    '\u0395',
    '\u0396',
    '\u0397',
    '\u0398',
    '\u0399',
    '\u039A',
    '\u039B',
    '\u039C',
    '\u039D',
    '\u039E',
    '\u039F',
    '\u03A0',
    '\u03A1',
    '\u03A3',
    '\u03A4',
    '\u03A5',
    '\u03A6',
    '\u03A7',
    '\u03A8',
    '\u03A9',
    '\u03AA',
    '\u03AB',
    '\u03B0',
    '\u03C2',
    '\u03D0',
    '\u03D1',
    '\u03D2',
    '\u03D3',
    '\u03D4',
    '\u03D5',
    '\u03D6',
    '\u03D8',
    '\u03DA',
    '\u03DC',
    '\u03DE',
    '\u03E0',
    '\u03E2',
    '\u03E4',
    '\u03E6',
    '\u03E8',
    '\u03EA',
    '\u03EC',
    '\u03EE',
    '\u03F0',
    '\u03F1',
    '\u03F2',
    '\u03F4',
    '\u03F5',
    '\u0400',
    '\u0401',
    '\u0402',
    '\u0403',
    '\u0404',
    '\u0405',
    '\u0406',
    '\u0407',
    '\u0408',
    '\u0409',
    '\u040A',
    '\u040B',
    '\u040C',
    '\u040D',
    '\u040E',
    '\u040F',
    '\u0410',
    '\u0411',
    '\u0412',
    '\u0413',
    '\u0414',
    '\u0415',
    '\u0416',
    '\u0417',
    '\u0418',
    '\u0419',
    '\u041A',
    '\u041B',
    '\u041C',
    '\u041D',
    '\u041E',
    '\u041F',
    '\u0420',
    '\u0421',
    '\u0422',
    '\u0423',
    '\u0424',
    '\u0425',
    '\u0426',
    '\u0427',
    '\u0428',
    '\u0429',
    '\u042A',
    '\u042B',
    '\u042C',
    '\u042D',
    '\u042E',
    '\u042F',
    '\u0460',
    '\u0462',
    '\u0464',
    '\u0466',
    '\u0468',
    '\u046A',
    '\u046C',
    '\u046E',
    '\u0470',
    '\u0472',
    '\u0474',
    '\u0476',
    '\u0478',
    '\u047A',
    '\u047C',
    '\u047E',
    '\u0480',
    '\u048A',
    '\u048C',
    '\u048E',
    '\u0490',
    '\u0492',
    '\u0494',
    '\u0496',
    '\u0498',
    '\u049A',
    '\u049C',
    '\u049E',
    '\u04A0',
    '\u04A2',
    '\u04A4',
    '\u04A6',
    '\u04A8',
    '\u04AA',
    '\u04AC',
    '\u04AE',
    '\u04B0',
    '\u04B2',
    '\u04B4',
    '\u04B6',
    '\u04B8',
    '\u04BA',
    '\u04BC',
    '\u04BE',
    '\u04C1',
    '\u04C3',
    '\u04C5',
    '\u04C7',
    '\u04C9',
    '\u04CB',
    '\u04CD',
    '\u04D0',
    '\u04D2',
    '\u04D4',
    '\u04D6',
    '\u04D8',
    '\u04DA',
    '\u04DC',
    '\u04DE',
    '\u04E0',
    '\u04E2',
    '\u04E4',
    '\u04E6',
    '\u04E8',
    '\u04EA',
    '\u04EC',
    '\u04EE',
    '\u04F0',
    '\u04F2',
    '\u04F4',
    '\u04F8',
    '\u0500',
    '\u0502',
    '\u0504',
    '\u0506',
    '\u0508',
    '\u050A',
    '\u050C',
    '\u050E',
    '\u0531',
    '\u0532',
    '\u0533',
    '\u0534',
    '\u0535',
    '\u0536',
    '\u0537',
    '\u0538',
    '\u0539',
    '\u053A',
    '\u053B',
    '\u053C',
    '\u053D',
    '\u053E',
    '\u053F',
    '\u0540',
    '\u0541',
    '\u0542',
    '\u0543',
    '\u0544',
    '\u0545',
    '\u0546',
    '\u0547',
    '\u0548',
    '\u0549',
    '\u054A',
    '\u054B',
    '\u054C',
    '\u054D',
    '\u054E',
    '\u054F',
    '\u0550',
    '\u0551',
    '\u0552',
    '\u0553',
    '\u0554',
    '\u0555',
    '\u0556',
    '\u0587',
    '\u1E00',
    '\u1E02',
    '\u1E04',
    '\u1E06',
    '\u1E08',
    '\u1E0A',
    '\u1E0C',
    '\u1E0E',
    '\u1E10',
    '\u1E12',
    '\u1E14',
    '\u1E16',
    '\u1E18',
    '\u1E1A',
    '\u1E1C',
    '\u1E1E',
    '\u1E20',
    '\u1E22',
    '\u1E24',
    '\u1E26',
    '\u1E28',
    '\u1E2A',
    '\u1E2C',
    '\u1E2E',
    '\u1E30',
    '\u1E32',
    '\u1E34',
    '\u1E36',
    '\u1E38',
    '\u1E3A',
    '\u1E3C',
    '\u1E3E',
    '\u1E40',
    '\u1E42',
    '\u1E44',
    '\u1E46',
    '\u1E48',
    '\u1E4A',
    '\u1E4C',
    '\u1E4E',
    '\u1E50',
    '\u1E52',
    '\u1E54',
    '\u1E56',
    '\u1E58',
    '\u1E5A',
    '\u1E5C',
    '\u1E5E',
    '\u1E60',
    '\u1E62',
    '\u1E64',
    '\u1E66',
    '\u1E68',
    '\u1E6A',
    '\u1E6C',
    '\u1E6E',
    '\u1E70',
    '\u1E72',
    '\u1E74',
    '\u1E76',
    '\u1E78',
    '\u1E7A',
    '\u1E7C',
    '\u1E7E',
    '\u1E80',
    '\u1E82',
    '\u1E84',
    '\u1E86',
    '\u1E88',
    '\u1E8A',
    '\u1E8C',
    '\u1E8E',
    '\u1E90',
    '\u1E92',
    '\u1E94',
    '\u1E96',
    '\u1E97',
    '\u1E98',
    '\u1E99',
    '\u1E9A',
    '\u1E9B',
    '\u1EA0',
    '\u1EA2',
    '\u1EA4',
    '\u1EA6',
    '\u1EA8',
    '\u1EAA',
    '\u1EAC',
    '\u1EAE',
    '\u1EB0',
    '\u1EB2',
    '\u1EB4',
    '\u1EB6',
    '\u1EB8',
    '\u1EBA',
    '\u1EBC',
    '\u1EBE',
    '\u1EC0',
    '\u1EC2',
    '\u1EC4',
    '\u1EC6',
    '\u1EC8',
    '\u1ECA',
    '\u1ECC',
    '\u1ECE',
    '\u1ED0',
    '\u1ED2',
    '\u1ED4',
    '\u1ED6',
    '\u1ED8',
    '\u1EDA',
    '\u1EDC',
    '\u1EDE',
    '\u1EE0',
    '\u1EE2',
    '\u1EE4',
    '\u1EE6',
    '\u1EE8',
    '\u1EEA',
    '\u1EEC',
    '\u1EEE',
    '\u1EF0',
    '\u1EF2',
    '\u1EF4',
    '\u1EF6',
    '\u1EF8',
    '\u1F08',
    '\u1F09',
    '\u1F0A',
    '\u1F0B',
    '\u1F0C',
    '\u1F0D',
    '\u1F0E',
    '\u1F0F',
    '\u1F18',
    '\u1F19',
    '\u1F1A',
    '\u1F1B',
    '\u1F1C',
    '\u1F1D',
    '\u1F28',
    '\u1F29',
    '\u1F2A',
    '\u1F2B',
    '\u1F2C',
    '\u1F2D',
    '\u1F2E',
    '\u1F2F',
    '\u1F38',
    '\u1F39',
    '\u1F3A',
    '\u1F3B',
    '\u1F3C',
    '\u1F3D',
    '\u1F3E',
    '\u1F3F',
    '\u1F48',
    '\u1F49',
    '\u1F4A',
    '\u1F4B',
    '\u1F4C',
    '\u1F4D',
    '\u1F50',
    '\u1F52',
    '\u1F54',
    '\u1F56',
    '\u1F59',
    '\u1F5B',
    '\u1F5D',
    '\u1F5F',
    '\u1F68',
    '\u1F69',
    '\u1F6A',
    '\u1F6B',
    '\u1F6C',
    '\u1F6D',
    '\u1F6E',
    '\u1F6F',
    '\u1F80',
    '\u1F81',
    '\u1F82',
    '\u1F83',
    '\u1F84',
    '\u1F85',
    '\u1F86',
    '\u1F87',
    '\u1F88',
    '\u1F89',
    '\u1F8A',
    '\u1F8B',
    '\u1F8C',
    '\u1F8D',
    '\u1F8E',
    '\u1F8F',
    '\u1F90',
    '\u1F91',
    '\u1F92',
    '\u1F93',
    '\u1F94',
    '\u1F95',
    '\u1F96',
    '\u1F97',
    '\u1F98',
    '\u1F99',
    '\u1F9A',
    '\u1F9B',
    '\u1F9C',
    '\u1F9D',
    '\u1F9E',
    '\u1F9F',
    '\u1FA0',
    '\u1FA1',
    '\u1FA2',
    '\u1FA3',
    '\u1FA4',
    '\u1FA5',
    '\u1FA6',
    '\u1FA7',
    '\u1FA8',
    '\u1FA9',
    '\u1FAA',
    '\u1FAB',
    '\u1FAC',
    '\u1FAD',
    '\u1FAE',
    '\u1FAF',
    '\u1FB2',
    '\u1FB3',
    '\u1FB4',
    '\u1FB6',
    '\u1FB7',
    '\u1FB8',
    '\u1FB9',
    '\u1FBA',
    '\u1FBB',
    '\u1FBC',
    '\u1FBE',
    '\u1FC2',
    '\u1FC3',
    '\u1FC4',
    '\u1FC6',
    '\u1FC7',
    '\u1FC8',
    '\u1FC9',
    '\u1FCA',
    '\u1FCB',
    '\u1FCC',
    '\u1FD2',
    '\u1FD3',
    '\u1FD6',
    '\u1FD7',
    '\u1FD8',
    '\u1FD9',
    '\u1FDA',
    '\u1FDB',
    '\u1FE2',
    '\u1FE3',
    '\u1FE4',
    '\u1FE6',
    '\u1FE7',
    '\u1FE8',
    '\u1FE9',
    '\u1FEA',
    '\u1FEB',
    '\u1FEC',
    '\u1FF2',
    '\u1FF3',
    '\u1FF4',
    '\u1FF6',
    '\u1FF7',
    '\u1FF8',
    '\u1FF9',
    '\u1FFA',
    '\u1FFB',
    '\u1FFC',
    '\u20A8',
    '\u2102',
    '\u2103',
    '\u2107',
    '\u2109',
    '\u210B',
    '\u210C',
    '\u210D',
    '\u2110',
    '\u2111',
    '\u2112',
    '\u2115',
    '\u2116',
    '\u2119',
    '\u211A',
    '\u211B',
    '\u211C',
    '\u211D',
    '\u2120',
    '\u2121',
    '\u2122',
    '\u2124',
    '\u2126',
    '\u2128',
    '\u212A',
    '\u212B',
    '\u212C',
    '\u212D',
    '\u2130',
    '\u2131',
    '\u2133',
    '\u213E',
    '\u213F',
    '\u2145',
    '\u2160',
    '\u2161',
    '\u2162',
    '\u2163',
    '\u2164',
    '\u2165',
    '\u2166',
    '\u2167',
    '\u2168',
    '\u2169',
    '\u216A',
    '\u216B',
    '\u216C',
    '\u216D',
    '\u216E',
    '\u216F',
    '\u24B6',
    '\u24B7',
    '\u24B8',
    '\u24B9',
    '\u24BA',
    '\u24BB',
    '\u24BC',
    '\u24BD',
    '\u24BE',
    '\u24BF',
    '\u24C0',
    '\u24C1',
    '\u24C2',
    '\u24C3',
    '\u24C4',
    '\u24C5',
    '\u24C6',
    '\u24C7',
    '\u24C8',
    '\u24C9',
    '\u24CA',
    '\u24CB',
    '\u24CC',
    '\u24CD',
    '\u24CE',
    '\u24CF',
    '\u3371',
    '\u3373',
    '\u3375',
    '\u3380',
    '\u3381',
    '\u3382',
    '\u3383',
    '\u3384',
    '\u3385',
    '\u3386',
    '\u3387',
    '\u338A',
    '\u338B',
    '\u338C',
    '\u3390',
    '\u3391',
    '\u3392',
    '\u3393',
    '\u3394',
    '\u33A9',
    '\u33AA',
    '\u33AB',
    '\u33AC',
    '\u33B4',
    '\u33B5',
    '\u33B6',
    '\u33B7',
    '\u33B8',
    '\u33B9',
    '\u33BA',
    '\u33BB',
    '\u33BC',
    '\u33BD',
    '\u33BE',
    '\u33BF',
    '\u33C0',
    '\u33C1',
    '\u33C3',
    '\u33C6',
    '\u33C7',
    '\u33C8',
    '\u33C9',
    '\u33CB',
    '\u33CD',
    '\u33CE',
    '\u33D7',
    '\u33D9',
    '\u33DA',
    '\u33DC',
    '\u33DD',
    '\uFB00',
    '\uFB01',
    '\uFB02',
    '\uFB03',
    '\uFB04',
    '\uFB05',
    '\uFB06',
    '\uFB13',
    '\uFB14',
    '\uFB15',
    '\uFB16',
    '\uFB17',
    '\uFF21',
    '\uFF22',
    '\uFF23',
    '\uFF24',
    '\uFF25',
    '\uFF26',
    '\uFF27',
    '\uFF28',
    '\uFF29',
    '\uFF2A',
    '\uFF2B',
    '\uFF2C',
    '\uFF2D',
    '\uFF2E',
    '\uFF2F',
    '\uFF30',
    '\uFF31',
    '\uFF32',
    '\uFF33',
    '\uFF34',
    '\uFF35',
    '\uFF36',
    '\uFF37',
    '\uFF38',
    '\uFF39',
    '\uFF3A',
  };

  final static String[] B2replace = new String[] {
    "\u0061",
    "\u0062",
    "\u0063",
    "\u0064",
    "\u0065",
    "\u0066",
    "\u0067",
    "\u0068",
    "\u0069",
    "\u006A",
    "\u006B",
    "\u006C",
    "\u006D",
    "\u006E",
    "\u006F",
    "\u0070",
    "\u0071",
    "\u0072",
    "\u0073",
    "\u0074",
    "\u0075",
    "\u0076",
    "\u0077",
    "\u0078",
    "\u0079",
    "\u007A",
    "\u03BC",
    "\u00E0",
    "\u00E1",
    "\u00E2",
    "\u00E3",
    "\u00E4",
    "\u00E5",
    "\u00E6",
    "\u00E7",
    "\u00E8",
    "\u00E9",
    "\u00EA",
    "\u00EB",
    "\u00EC",
    "\u00ED",
    "\u00EE",
    "\u00EF",
    "\u00F0",
    "\u00F1",
    "\u00F2",
    "\u00F3",
    "\u00F4",
    "\u00F5",
    "\u00F6",
    "\u00F8",
    "\u00F9",
    "\u00FA",
    "\u00FB",
    "\u00FC",
    "\u00FD",
    "\u00FE",
    "\u0073\u0073",
    "\u0101",
    "\u0103",
    "\u0105",
    "\u0107",
    "\u0109",
    "\u010B",
    "\u010D",
    "\u010F",
    "\u0111",
    "\u0113",
    "\u0115",
    "\u0117",
    "\u0119",
    "\u011B",
    "\u011D",
    "\u011F",
    "\u0121",
    "\u0123",
    "\u0125",
    "\u0127",
    "\u0129",
    "\u012B",
    "\u012D",
    "\u012F",
    "\u0069\u0307",
    "\u0133",
    "\u0135",
    "\u0137",
    "\u013A",
    "\u013C",
    "\u013E",
    "\u0140",
    "\u0142",
    "\u0144",
    "\u0146",
    "\u0148",
    "\u02BC\u006E",
    "\u014B",
    "\u014D",
    "\u014F",
    "\u0151",
    "\u0153",
    "\u0155",
    "\u0157",
    "\u0159",
    "\u015B",
    "\u015D",
    "\u015F",
    "\u0161",
    "\u0163",
    "\u0165",
    "\u0167",
    "\u0169",
    "\u016B",
    "\u016D",
    "\u016F",
    "\u0171",
    "\u0173",
    "\u0175",
    "\u0177",
    "\u00FF",
    "\u017A",
    "\u017C",
    "\u017E",
    "\u0073",
    "\u0253",
    "\u0183",
    "\u0185",
    "\u0254",
    "\u0188",
    "\u0256",
    "\u0257",
    "\u018C",
    "\u01DD",
    "\u0259",
    "\u025B",
    "\u0192",
    "\u0260",
    "\u0263",
    "\u0269",
    "\u0268",
    "\u0199",
    "\u026F",
    "\u0272",
    "\u0275",
    "\u01A1",
    "\u01A3",
    "\u01A5",
    "\u0280",
    "\u01A8",
    "\u0283",
    "\u01AD",
    "\u0288",
    "\u01B0",
    "\u028A",
    "\u028B",
    "\u01B4",
    "\u01B6",
    "\u0292",
    "\u01B9",
    "\u01BD",
    "\u01C6",
    "\u01C6",
    "\u01C9",
    "\u01C9",
    "\u01CC",
    "\u01CC",
    "\u01CE",
    "\u01D0",
    "\u01D2",
    "\u01D4",
    "\u01D6",
    "\u01D8",
    "\u01DA",
    "\u01DC",
    "\u01DF",
    "\u01E1",
    "\u01E3",
    "\u01E5",
    "\u01E7",
    "\u01E9",
    "\u01EB",
    "\u01ED",
    "\u01EF",
    "\u006A\u030C",
    "\u01F3",
    "\u01F3",
    "\u01F5",
    "\u0195",
    "\u01BF",
    "\u01F9",
    "\u01FB",
    "\u01FD",
    "\u01FF",
    "\u0201",
    "\u0203",
    "\u0205",
    "\u0207",
    "\u0209",
    "\u020B",
    "\u020D",
    "\u020F",
    "\u0211",
    "\u0213",
    "\u0215",
    "\u0217",
    "\u0219",
    "\u021B",
    "\u021D",
    "\u021F",
    "\u019E",
    "\u0223",
    "\u0225",
    "\u0227",
    "\u0229",
    "\u022B",
    "\u022D",
    "\u022F",
    "\u0231",
    "\u0233",
    "\u03B9",
    "\u0020\u03B9",
    "\u03AC",
    "\u03AD",
    "\u03AE",
    "\u03AF",
    "\u03CC",
    "\u03CD",
    "\u03CE",
    "\u03B9\u0308\u0301",
    "\u03B1",
    "\u03B2",
    "\u03B3",
    "\u03B4",
    "\u03B5",
    "\u03B6",
    "\u03B7",
    "\u03B8",
    "\u03B9",
    "\u03BA",
    "\u03BB",
    "\u03BC",
    "\u03BD",
    "\u03BE",
    "\u03BF",
    "\u03C0",
    "\u03C1",
    "\u03C3",
    "\u03C4",
    "\u03C5",
    "\u03C6",
    "\u03C7",
    "\u03C8",
    "\u03C9",
    "\u03CA",
    "\u03CB",
    "\u03C5\u0308\u0301",
    "\u03C3",
    "\u03B2",
    "\u03B8",
    "\u03C5",
    "\u03CD",
    "\u03CB",
    "\u03C6",
    "\u03C0",
    "\u03D9",
    "\u03DB",
    "\u03DD",
    "\u03DF",
    "\u03E1",
    "\u03E3",
    "\u03E5",
    "\u03E7",
    "\u03E9",
    "\u03EB",
    "\u03ED",
    "\u03EF",
    "\u03BA",
    "\u03C1",
    "\u03C3",
    "\u03B8",
    "\u03B5",
    "\u0450",
    "\u0451",
    "\u0452",
    "\u0453",
    "\u0454",
    "\u0455",
    "\u0456",
    "\u0457",
    "\u0458",
    "\u0459",
    "\u045A",
    "\u045B",
    "\u045C",
    "\u045D",
    "\u045E",
    "\u045F",
    "\u0430",
    "\u0431",
    "\u0432",
    "\u0433",
    "\u0434",
    "\u0435",
    "\u0436",
    "\u0437",
    "\u0438",
    "\u0439",
    "\u043A",
    "\u043B",
    "\u043C",
    "\u043D",
    "\u043E",
    "\u043F",
    "\u0440",
    "\u0441",
    "\u0442",
    "\u0443",
    "\u0444",
    "\u0445",
    "\u0446",
    "\u0447",
    "\u0448",
    "\u0449",
    "\u044A",
    "\u044B",
    "\u044C",
    "\u044D",
    "\u044E",
    "\u044F",
    "\u0461",
    "\u0463",
    "\u0465",
    "\u0467",
    "\u0469",
    "\u046B",
    "\u046D",
    "\u046F",
    "\u0471",
    "\u0473",
    "\u0475",
    "\u0477",
    "\u0479",
    "\u047B",
    "\u047D",
    "\u047F",
    "\u0481",
    "\u048B",
    "\u048D",
    "\u048F",
    "\u0491",
    "\u0493",
    "\u0495",
    "\u0497",
    "\u0499",
    "\u049B",
    "\u049D",
    "\u049F",
    "\u04A1",
    "\u04A3",
    "\u04A5",
    "\u04A7",
    "\u04A9",
    "\u04AB",
    "\u04AD",
    "\u04AF",
    "\u04B1",
    "\u04B3",
    "\u04B5",
    "\u04B7",
    "\u04B9",
    "\u04BB",
    "\u04BD",
    "\u04BF",
    "\u04C2",
    "\u04C4",
    "\u04C6",
    "\u04C8",
    "\u04CA",
    "\u04CC",
    "\u04CE",
    "\u04D1",
    "\u04D3",
    "\u04D5",
    "\u04D7",
    "\u04D9",
    "\u04DB",
    "\u04DD",
    "\u04DF",
    "\u04E1",
    "\u04E3",
    "\u04E5",
    "\u04E7",
    "\u04E9",
    "\u04EB",
    "\u04ED",
    "\u04EF",
    "\u04F1",
    "\u04F3",
    "\u04F5",
    "\u04F9",
    "\u0501",
    "\u0503",
    "\u0505",
    "\u0507",
    "\u0509",
    "\u050B",
    "\u050D",
    "\u050F",
    "\u0561",
    "\u0562",
    "\u0563",
    "\u0564",
    "\u0565",
    "\u0566",
    "\u0567",
    "\u0568",
    "\u0569",
    "\u056A",
    "\u056B",
    "\u056C",
    "\u056D",
    "\u056E",
    "\u056F",
    "\u0570",
    "\u0571",
    "\u0572",
    "\u0573",
    "\u0574",
    "\u0575",
    "\u0576",
    "\u0577",
    "\u0578",
    "\u0579",
    "\u057A",
    "\u057B",
    "\u057C",
    "\u057D",
    "\u057E",
    "\u057F",
    "\u0580",
    "\u0581",
    "\u0582",
    "\u0583",
    "\u0584",
    "\u0585",
    "\u0586",
    "\u0565\u0582",
    "\u1E01",
    "\u1E03",
    "\u1E05",
    "\u1E07",
    "\u1E09",
    "\u1E0B",
    "\u1E0D",
    "\u1E0F",
    "\u1E11",
    "\u1E13",
    "\u1E15",
    "\u1E17",
    "\u1E19",
    "\u1E1B",
    "\u1E1D",
    "\u1E1F",
    "\u1E21",
    "\u1E23",
    "\u1E25",
    "\u1E27",
    "\u1E29",
    "\u1E2B",
    "\u1E2D",
    "\u1E2F",
    "\u1E31",
    "\u1E33",
    "\u1E35",
    "\u1E37",
    "\u1E39",
    "\u1E3B",
    "\u1E3D",
    "\u1E3F",
    "\u1E41",
    "\u1E43",
    "\u1E45",
    "\u1E47",
    "\u1E49",
    "\u1E4B",
    "\u1E4D",
    "\u1E4F",
    "\u1E51",
    "\u1E53",
    "\u1E55",
    "\u1E57",
    "\u1E59",
    "\u1E5B",
    "\u1E5D",
    "\u1E5F",
    "\u1E61",
    "\u1E63",
    "\u1E65",
    "\u1E67",
    "\u1E69",
    "\u1E6B",
    "\u1E6D",
    "\u1E6F",
    "\u1E71",
    "\u1E73",
    "\u1E75",
    "\u1E77",
    "\u1E79",
    "\u1E7B",
    "\u1E7D",
    "\u1E7F",
    "\u1E81",
    "\u1E83",
    "\u1E85",
    "\u1E87",
    "\u1E89",
    "\u1E8B",
    "\u1E8D",
    "\u1E8F",
    "\u1E91",
    "\u1E93",
    "\u1E95",
    "\u0068\u0331",
    "\u0074\u0308",
    "\u0077\u030A",
    "\u0079\u030A",
    "\u0061\u02BE",
    "\u1E61",
    "\u1EA1",
    "\u1EA3",
    "\u1EA5",
    "\u1EA7",
    "\u1EA9",
    "\u1EAB",
    "\u1EAD",
    "\u1EAF",
    "\u1EB1",
    "\u1EB3",
    "\u1EB5",
    "\u1EB7",
    "\u1EB9",
    "\u1EBB",
    "\u1EBD",
    "\u1EBF",
    "\u1EC1",
    "\u1EC3",
    "\u1EC5",
    "\u1EC7",
    "\u1EC9",
    "\u1ECB",
    "\u1ECD",
    "\u1ECF",
    "\u1ED1",
    "\u1ED3",
    "\u1ED5",
    "\u1ED7",
    "\u1ED9",
    "\u1EDB",
    "\u1EDD",
    "\u1EDF",
    "\u1EE1",
    "\u1EE3",
    "\u1EE5",
    "\u1EE7",
    "\u1EE9",
    "\u1EEB",
    "\u1EED",
    "\u1EEF",
    "\u1EF1",
    "\u1EF3",
    "\u1EF5",
    "\u1EF7",
    "\u1EF9",
    "\u1F00",
    "\u1F01",
    "\u1F02",
    "\u1F03",
    "\u1F04",
    "\u1F05",
    "\u1F06",
    "\u1F07",
    "\u1F10",
    "\u1F11",
    "\u1F12",
    "\u1F13",
    "\u1F14",
    "\u1F15",
    "\u1F20",
    "\u1F21",
    "\u1F22",
    "\u1F23",
    "\u1F24",
    "\u1F25",
    "\u1F26",
    "\u1F27",
    "\u1F30",
    "\u1F31",
    "\u1F32",
    "\u1F33",
    "\u1F34",
    "\u1F35",
    "\u1F36",
    "\u1F37",
    "\u1F40",
    "\u1F41",
    "\u1F42",
    "\u1F43",
    "\u1F44",
    "\u1F45",
    "\u03C5\u0313",
    "\u03C5\u0313\u0300",
    "\u03C5\u0313\u0301",
    "\u03C5\u0313\u0342",
    "\u1F51",
    "\u1F53",
    "\u1F55",
    "\u1F57",
    "\u1F60",
    "\u1F61",
    "\u1F62",
    "\u1F63",
    "\u1F64",
    "\u1F65",
    "\u1F66",
    "\u1F67",
    "\u1F00\u03B9",
    "\u1F01\u03B9",
    "\u1F02\u03B9",
    "\u1F03\u03B9",
    "\u1F04\u03B9",
    "\u1F05\u03B9",
    "\u1F06\u03B9",
    "\u1F07\u03B9",
    "\u1F00\u03B9",
    "\u1F01\u03B9",
    "\u1F02\u03B9",
    "\u1F03\u03B9",
    "\u1F04\u03B9",
    "\u1F05\u03B9",
    "\u1F06\u03B9",
    "\u1F07\u03B9",
    "\u1F20\u03B9",
    "\u1F21\u03B9",
    "\u1F22\u03B9",
    "\u1F23\u03B9",
    "\u1F24\u03B9",
    "\u1F25\u03B9",
    "\u1F26\u03B9",
    "\u1F27\u03B9",
    "\u1F20\u03B9",
    "\u1F21\u03B9",
    "\u1F22\u03B9",
    "\u1F23\u03B9",
    "\u1F24\u03B9",
    "\u1F25\u03B9",
    "\u1F26\u03B9",
    "\u1F27\u03B9",
    "\u1F60\u03B9",
    "\u1F61\u03B9",
    "\u1F62\u03B9",
    "\u1F63\u03B9",
    "\u1F64\u03B9",
    "\u1F65\u03B9",
    "\u1F66\u03B9",
    "\u1F67\u03B9",
    "\u1F60\u03B9",
    "\u1F61\u03B9",
    "\u1F62\u03B9",
    "\u1F63\u03B9",
    "\u1F64\u03B9",
    "\u1F65\u03B9",
    "\u1F66\u03B9",
    "\u1F67\u03B9",
    "\u1F70\u03B9",
    "\u03B1\u03B9",
    "\u03AC\u03B9",
    "\u03B1\u0342",
    "\u03B1\u0342\u03B9",
    "\u1FB0",
    "\u1FB1",
    "\u1F70",
    "\u1F71",
    "\u03B1\u03B9",
    "\u03B9",
    "\u1F74\u03B9",
    "\u03B7\u03B9",
    "\u03AE\u03B9",
    "\u03B7\u0342",
    "\u03B7\u0342\u03B9",
    "\u1F72",
    "\u1F73",
    "\u1F74",
    "\u1F75",
    "\u03B7\u03B9",
    "\u03B9\u0308\u0300",
    "\u03B9\u0308\u0301",
    "\u03B9\u0342",
    "\u03B9\u0308\u0342",
    "\u1FD0",
    "\u1FD1",
    "\u1F76",
    "\u1F77",
    "\u03C5\u0308\u0300",
    "\u03C5\u0308\u0301",
    "\u03C1\u0313",
    "\u03C5\u0342",
    "\u03C5\u0308\u0342",
    "\u1FE0",
    "\u1FE1",
    "\u1F7A",
    "\u1F7B",
    "\u1FE5",
    "\u1F7C\u03B9",
    "\u03C9\u03B9",
    "\u03CE\u03B9",
    "\u03C9\u0342",
    "\u03C9\u0342\u03B9",
    "\u1F78",
    "\u1F79",
    "\u1F7C",
    "\u1F7D",
    "\u03C9\u03B9",
    "\u0072\u0073",
    "\u0063",
    "\u00B0\u0063",
    "\u025B",
    "\u00B0\u0066",
    "\u0068",
    "\u0068",
    "\u0068",
    "\u0069",
    "\u0069",
    "\u006C",
    "\u006E",
    "\u006E\u006F",
    "\u0070",
    "\u0071",
    "\u0072",
    "\u0072",
    "\u0072",
    "\u0073\u006D",
    "\u0074\u0065\u006C",
    "\u0074\u006D",
    "\u007A",
    "\u03C9",
    "\u007A",
    "\u006B",
    "\u00E5",
    "\u0062",
    "\u0063",
    "\u0065",
    "\u0066",
    "\u006D",
    "\u03B3",
    "\u03C0",
    "\u0064",
    "\u2170",
    "\u2171",
    "\u2172",
    "\u2173",
    "\u2174",
    "\u2175",
    "\u2176",
    "\u2177",
    "\u2178",
    "\u2179",
    "\u217A",
    "\u217B",
    "\u217C",
    "\u217D",
    "\u217E",
    "\u217F",
    "\u24D0",
    "\u24D1",
    "\u24D2",
    "\u24D3",
    "\u24D4",
    "\u24D5",
    "\u24D6",
    "\u24D7",
    "\u24D8",
    "\u24D9",
    "\u24DA",
    "\u24DB",
    "\u24DC",
    "\u24DD",
    "\u24DE",
    "\u24DF",
    "\u24E0",
    "\u24E1",
    "\u24E2",
    "\u24E3",
    "\u24E4",
    "\u24E5",
    "\u24E6",
    "\u24E7",
    "\u24E8",
    "\u24E9",
    "\u0068\u0070\u0061",
    "\u0061\u0075",
    "\u006F\u0076",
    "\u0070\u0061",
    "\u006E\u0061",
    "\u03BC\u0061",
    "\u006D\u0061",
    "\u006B\u0061",
    "\u006B\u0062",
    "\u006D\u0062",
    "\u0067\u0062",
    "\u0070\u0066",
    "\u006E\u0066",
    "\u03BC\u0066",
    "\u0068\u007A",
    "\u006B\u0068\u007A",
    "\u006D\u0068\u007A",
    "\u0067\u0068\u007A",
    "\u0074\u0068\u007A",
    "\u0070\u0061",
    "\u006B\u0070\u0061",
    "\u006D\u0070\u0061",
    "\u0067\u0070\u0061",
    "\u0070\u0076",
    "\u006E\u0076",
    "\u03BC\u0076",
    "\u006D\u0076",
    "\u006B\u0076",
    "\u006D\u0076",
    "\u0070\u0077",
    "\u006E\u0077",
    "\u03BC\u0077",
    "\u006D\u0077",
    "\u006B\u0077",
    "\u006D\u0077",
    "\u006B\u03C9",
    "\u006D\u03C9",
    "\u0062\u0071",
    "\u0063\u2215\u006B\u0067",
    "\u0063\u006F\u002E",
    "\u0064\u0062",
    "\u0067\u0079",
    "\u0068\u0070",
    "\u006B\u006B",
    "\u006B\u006D",
    "\u0070\u0068",
    "\u0070\u0070\u006D",
    "\u0070\u0072",
    "\u0073\u0076",
    "\u0077\u0062",
    "\u0066\u0066",
    "\u0066\u0069",
    "\u0066\u006C",
    "\u0066\u0066\u0069",
    "\u0066\u0066\u006C",
    "\u0073\u0074",
    "\u0073\u0074",
    "\u0574\u0576",
    "\u0574\u0565",
    "\u0574\u056B",
    "\u057E\u0576",
    "\u0574\u056D",
    "\uFF41",
    "\uFF42",
    "\uFF43",
    "\uFF44",
    "\uFF45",
    "\uFF46",
    "\uFF47",
    "\uFF48",
    "\uFF49",
    "\uFF4A",
    "\uFF4B",
    "\uFF4C",
    "\uFF4D",
    "\uFF4E",
    "\uFF4F",
    "\uFF50",
    "\uFF51",
    "\uFF52",
    "\uFF53",
    "\uFF54",
    "\uFF55",
    "\uFF56",
    "\uFF57",
    "\uFF58",
    "\uFF59",
    "\uFF5A",
  };

  final static char[] B3search = new char[] {
    '\u0041',
    '\u0042',
    '\u0043',
    '\u0044',
    '\u0045',
    '\u0046',
    '\u0047',
    '\u0048',
    '\u0049',
    '\u004A',
    '\u004B',
    '\u004C',
    '\u004D',
    '\u004E',
    '\u004F',
    '\u0050',
    '\u0051',
    '\u0052',
    '\u0053',
    '\u0054',
    '\u0055',
    '\u0056',
    '\u0057',
    '\u0058',
    '\u0059',
    '\u005A',
    '\u00B5',
    '\u00C0',
    '\u00C1',
    '\u00C2',
    '\u00C3',
    '\u00C4',
    '\u00C5',
    '\u00C6',
    '\u00C7',
    '\u00C8',
    '\u00C9',
    '\u00CA',
    '\u00CB',
    '\u00CC',
    '\u00CD',
    '\u00CE',
    '\u00CF',
    '\u00D0',
    '\u00D1',
    '\u00D2',
    '\u00D3',
    '\u00D4',
    '\u00D5',
    '\u00D6',
    '\u00D8',
    '\u00D9',
    '\u00DA',
    '\u00DB',
    '\u00DC',
    '\u00DD',
    '\u00DE',
    '\u00DF',
    '\u0100',
    '\u0102',
    '\u0104',
    '\u0106',
    '\u0108',
    '\u010A',
    '\u010C',
    '\u010E',
    '\u0110',
    '\u0112',
    '\u0114',
    '\u0116',
    '\u0118',
    '\u011A',
    '\u011C',
    '\u011E',
    '\u0120',
    '\u0122',
    '\u0124',
    '\u0126',
    '\u0128',
    '\u012A',
    '\u012C',
    '\u012E',
    '\u0130',
    '\u0132',
    '\u0134',
    '\u0136',
    '\u0139',
    '\u013B',
    '\u013D',
    '\u013F',
    '\u0141',
    '\u0143',
    '\u0145',
    '\u0147',
    '\u0149',
    '\u014A',
    '\u014C',
    '\u014E',
    '\u0150',
    '\u0152',
    '\u0154',
    '\u0156',
    '\u0158',
    '\u015A',
    '\u015C',
    '\u015E',
    '\u0160',
    '\u0162',
    '\u0164',
    '\u0166',
    '\u0168',
    '\u016A',
    '\u016C',
    '\u016E',
    '\u0170',
    '\u0172',
    '\u0174',
    '\u0176',
    '\u0178',
    '\u0179',
    '\u017B',
    '\u017D',
    '\u017F',
    '\u0181',
    '\u0182',
    '\u0184',
    '\u0186',
    '\u0187',
    '\u0189',
    '\u018A',
    '\u018B',
    '\u018E',
    '\u018F',
    '\u0190',
    '\u0191',
    '\u0193',
    '\u0194',
    '\u0196',
    '\u0197',
    '\u0198',
    '\u019C',
    '\u019D',
    '\u019F',
    '\u01A0',
    '\u01A2',
    '\u01A4',
    '\u01A6',
    '\u01A7',
    '\u01A9',
    '\u01AC',
    '\u01AE',
    '\u01AF',
    '\u01B1',
    '\u01B2',
    '\u01B3',
    '\u01B5',
    '\u01B7',
    '\u01B8',
    '\u01BC',
    '\u01C4',
    '\u01C5',
    '\u01C7',
    '\u01C8',
    '\u01CA',
    '\u01CB',
    '\u01CD',
    '\u01CF',
    '\u01D1',
    '\u01D3',
    '\u01D5',
    '\u01D7',
    '\u01D9',
    '\u01DB',
    '\u01DE',
    '\u01E0',
    '\u01E2',
    '\u01E4',
    '\u01E6',
    '\u01E8',
    '\u01EA',
    '\u01EC',
    '\u01EE',
    '\u01F0',
    '\u01F1',
    '\u01F2',
    '\u01F4',
    '\u01F6',
    '\u01F7',
    '\u01F8',
    '\u01FA',
    '\u01FC',
    '\u01FE',
    '\u0200',
    '\u0202',
    '\u0204',
    '\u0206',
    '\u0208',
    '\u020A',
    '\u020C',
    '\u020E',
    '\u0210',
    '\u0212',
    '\u0214',
    '\u0216',
    '\u0218',
    '\u021A',
    '\u021C',
    '\u021E',
    '\u0220',
    '\u0222',
    '\u0224',
    '\u0226',
    '\u0228',
    '\u022A',
    '\u022C',
    '\u022E',
    '\u0230',
    '\u0232',
    '\u0345',
    '\u0386',
    '\u0388',
    '\u0389',
    '\u038A',
    '\u038C',
    '\u038E',
    '\u038F',
    '\u0390',
    '\u0391',
    '\u0392',
    '\u0393',
    '\u0394',
    '\u0395',
    '\u0396',
    '\u0397',
    '\u0398',
    '\u0399',
    '\u039A',
    '\u039B',
    '\u039C',
    '\u039D',
    '\u039E',
    '\u039F',
    '\u03A0',
    '\u03A1',
    '\u03A3',
    '\u03A4',
    '\u03A5',
    '\u03A6',
    '\u03A7',
    '\u03A8',
    '\u03A9',
    '\u03AA',
    '\u03AB',
    '\u03B0',
    '\u03C2',
    '\u03D0',
    '\u03D1',
    '\u03D5',
    '\u03D6',
    '\u03D8',
    '\u03DA',
    '\u03DC',
    '\u03DE',
    '\u03E0',
    '\u03E2',
    '\u03E4',
    '\u03E6',
    '\u03E8',
    '\u03EA',
    '\u03EC',
    '\u03EE',
    '\u03F0',
    '\u03F1',
    '\u03F2',
    '\u03F4',
    '\u03F5',
    '\u0400',
    '\u0401',
    '\u0402',
    '\u0403',
    '\u0404',
    '\u0405',
    '\u0406',
    '\u0407',
    '\u0408',
    '\u0409',
    '\u040A',
    '\u040B',
    '\u040C',
    '\u040D',
    '\u040E',
    '\u040F',
    '\u0410',
    '\u0411',
    '\u0412',
    '\u0413',
    '\u0414',
    '\u0415',
    '\u0416',
    '\u0417',
    '\u0418',
    '\u0419',
    '\u041A',
    '\u041B',
    '\u041C',
    '\u041D',
    '\u041E',
    '\u041F',
    '\u0420',
    '\u0421',
    '\u0422',
    '\u0423',
    '\u0424',
    '\u0425',
    '\u0426',
    '\u0427',
    '\u0428',
    '\u0429',
    '\u042A',
    '\u042B',
    '\u042C',
    '\u042D',
    '\u042E',
    '\u042F',
    '\u0460',
    '\u0462',
    '\u0464',
    '\u0466',
    '\u0468',
    '\u046A',
    '\u046C',
    '\u046E',
    '\u0470',
    '\u0472',
    '\u0474',
    '\u0476',
    '\u0478',
    '\u047A',
    '\u047C',
    '\u047E',
    '\u0480',
    '\u048A',
    '\u048C',
    '\u048E',
    '\u0490',
    '\u0492',
    '\u0494',
    '\u0496',
    '\u0498',
    '\u049A',
    '\u049C',
    '\u049E',
    '\u04A0',
    '\u04A2',
    '\u04A4',
    '\u04A6',
    '\u04A8',
    '\u04AA',
    '\u04AC',
    '\u04AE',
    '\u04B0',
    '\u04B2',
    '\u04B4',
    '\u04B6',
    '\u04B8',
    '\u04BA',
    '\u04BC',
    '\u04BE',
    '\u04C1',
    '\u04C3',
    '\u04C5',
    '\u04C7',
    '\u04C9',
    '\u04CB',
    '\u04CD',
    '\u04D0',
    '\u04D2',
    '\u04D4',
    '\u04D6',
    '\u04D8',
    '\u04DA',
    '\u04DC',
    '\u04DE',
    '\u04E0',
    '\u04E2',
    '\u04E4',
    '\u04E6',
    '\u04E8',
    '\u04EA',
    '\u04EC',
    '\u04EE',
    '\u04F0',
    '\u04F2',
    '\u04F4',
    '\u04F8',
    '\u0500',
    '\u0502',
    '\u0504',
    '\u0506',
    '\u0508',
    '\u050A',
    '\u050C',
    '\u050E',
    '\u0531',
    '\u0532',
    '\u0533',
    '\u0534',
    '\u0535',
    '\u0536',
    '\u0537',
    '\u0538',
    '\u0539',
    '\u053A',
    '\u053B',
    '\u053C',
    '\u053D',
    '\u053E',
    '\u053F',
    '\u0540',
    '\u0541',
    '\u0542',
    '\u0543',
    '\u0544',
    '\u0545',
    '\u0546',
    '\u0547',
    '\u0548',
    '\u0549',
    '\u054A',
    '\u054B',
    '\u054C',
    '\u054D',
    '\u054E',
    '\u054F',
    '\u0550',
    '\u0551',
    '\u0552',
    '\u0553',
    '\u0554',
    '\u0555',
    '\u0556',
    '\u0587',
    '\u1E00',
    '\u1E02',
    '\u1E04',
    '\u1E06',
    '\u1E08',
    '\u1E0A',
    '\u1E0C',
    '\u1E0E',
    '\u1E10',
    '\u1E12',
    '\u1E14',
    '\u1E16',
    '\u1E18',
    '\u1E1A',
    '\u1E1C',
    '\u1E1E',
    '\u1E20',
    '\u1E22',
    '\u1E24',
    '\u1E26',
    '\u1E28',
    '\u1E2A',
    '\u1E2C',
    '\u1E2E',
    '\u1E30',
    '\u1E32',
    '\u1E34',
    '\u1E36',
    '\u1E38',
    '\u1E3A',
    '\u1E3C',
    '\u1E3E',
    '\u1E40',
    '\u1E42',
    '\u1E44',
    '\u1E46',
    '\u1E48',
    '\u1E4A',
    '\u1E4C',
    '\u1E4E',
    '\u1E50',
    '\u1E52',
    '\u1E54',
    '\u1E56',
    '\u1E58',
    '\u1E5A',
    '\u1E5C',
    '\u1E5E',
    '\u1E60',
    '\u1E62',
    '\u1E64',
    '\u1E66',
    '\u1E68',
    '\u1E6A',
    '\u1E6C',
    '\u1E6E',
    '\u1E70',
    '\u1E72',
    '\u1E74',
    '\u1E76',
    '\u1E78',
    '\u1E7A',
    '\u1E7C',
    '\u1E7E',
    '\u1E80',
    '\u1E82',
    '\u1E84',
    '\u1E86',
    '\u1E88',
    '\u1E8A',
    '\u1E8C',
    '\u1E8E',
    '\u1E90',
    '\u1E92',
    '\u1E94',
    '\u1E96',
    '\u1E97',
    '\u1E98',
    '\u1E99',
    '\u1E9A',
    '\u1E9B',
    '\u1EA0',
    '\u1EA2',
    '\u1EA4',
    '\u1EA6',
    '\u1EA8',
    '\u1EAA',
    '\u1EAC',
    '\u1EAE',
    '\u1EB0',
    '\u1EB2',
    '\u1EB4',
    '\u1EB6',
    '\u1EB8',
    '\u1EBA',
    '\u1EBC',
    '\u1EBE',
    '\u1EC0',
    '\u1EC2',
    '\u1EC4',
    '\u1EC6',
    '\u1EC8',
    '\u1ECA',
    '\u1ECC',
    '\u1ECE',
    '\u1ED0',
    '\u1ED2',
    '\u1ED4',
    '\u1ED6',
    '\u1ED8',
    '\u1EDA',
    '\u1EDC',
    '\u1EDE',
    '\u1EE0',
    '\u1EE2',
    '\u1EE4',
    '\u1EE6',
    '\u1EE8',
    '\u1EEA',
    '\u1EEC',
    '\u1EEE',
    '\u1EF0',
    '\u1EF2',
    '\u1EF4',
    '\u1EF6',
    '\u1EF8',
    '\u1F08',
    '\u1F09',
    '\u1F0A',
    '\u1F0B',
    '\u1F0C',
    '\u1F0D',
    '\u1F0E',
    '\u1F0F',
    '\u1F18',
    '\u1F19',
    '\u1F1A',
    '\u1F1B',
    '\u1F1C',
    '\u1F1D',
    '\u1F28',
    '\u1F29',
    '\u1F2A',
    '\u1F2B',
    '\u1F2C',
    '\u1F2D',
    '\u1F2E',
    '\u1F2F',
    '\u1F38',
    '\u1F39',
    '\u1F3A',
    '\u1F3B',
    '\u1F3C',
    '\u1F3D',
    '\u1F3E',
    '\u1F3F',
    '\u1F48',
    '\u1F49',
    '\u1F4A',
    '\u1F4B',
    '\u1F4C',
    '\u1F4D',
    '\u1F50',
    '\u1F52',
    '\u1F54',
    '\u1F56',
    '\u1F59',
    '\u1F5B',
    '\u1F5D',
    '\u1F5F',
    '\u1F68',
    '\u1F69',
    '\u1F6A',
    '\u1F6B',
    '\u1F6C',
    '\u1F6D',
    '\u1F6E',
    '\u1F6F',
    '\u1F80',
    '\u1F81',
    '\u1F82',
    '\u1F83',
    '\u1F84',
    '\u1F85',
    '\u1F86',
    '\u1F87',
    '\u1F88',
    '\u1F89',
    '\u1F8A',
    '\u1F8B',
    '\u1F8C',
    '\u1F8D',
    '\u1F8E',
    '\u1F8F',
    '\u1F90',
    '\u1F91',
    '\u1F92',
    '\u1F93',
    '\u1F94',
    '\u1F95',
    '\u1F96',
    '\u1F97',
    '\u1F98',
    '\u1F99',
    '\u1F9A',
    '\u1F9B',
    '\u1F9C',
    '\u1F9D',
    '\u1F9E',
    '\u1F9F',
    '\u1FA0',
    '\u1FA1',
    '\u1FA2',
    '\u1FA3',
    '\u1FA4',
    '\u1FA5',
    '\u1FA6',
    '\u1FA7',
    '\u1FA8',
    '\u1FA9',
    '\u1FAA',
    '\u1FAB',
    '\u1FAC',
    '\u1FAD',
    '\u1FAE',
    '\u1FAF',
    '\u1FB2',
    '\u1FB3',
    '\u1FB4',
    '\u1FB6',
    '\u1FB7',
    '\u1FB8',
    '\u1FB9',
    '\u1FBA',
    '\u1FBB',
    '\u1FBC',
    '\u1FBE',
    '\u1FC2',
    '\u1FC3',
    '\u1FC4',
    '\u1FC6',
    '\u1FC7',
    '\u1FC8',
    '\u1FC9',
    '\u1FCA',
    '\u1FCB',
    '\u1FCC',
    '\u1FD2',
    '\u1FD3',
    '\u1FD6',
    '\u1FD7',
    '\u1FD8',
    '\u1FD9',
    '\u1FDA',
    '\u1FDB',
    '\u1FE2',
    '\u1FE3',
    '\u1FE4',
    '\u1FE6',
    '\u1FE7',
    '\u1FE8',
    '\u1FE9',
    '\u1FEA',
    '\u1FEB',
    '\u1FEC',
    '\u1FF2',
    '\u1FF3',
    '\u1FF4',
    '\u1FF6',
    '\u1FF7',
    '\u1FF8',
    '\u1FF9',
    '\u1FFA',
    '\u1FFB',
    '\u1FFC',
    '\u2126',
    '\u212A',
    '\u212B',
    '\u2160',
    '\u2161',
    '\u2162',
    '\u2163',
    '\u2164',
    '\u2165',
    '\u2166',
    '\u2167',
    '\u2168',
    '\u2169',
    '\u216A',
    '\u216B',
    '\u216C',
    '\u216D',
    '\u216E',
    '\u216F',
    '\u24B6',
    '\u24B7',
    '\u24B8',
    '\u24B9',
    '\u24BA',
    '\u24BB',
    '\u24BC',
    '\u24BD',
    '\u24BE',
    '\u24BF',
    '\u24C0',
    '\u24C1',
    '\u24C2',
    '\u24C3',
    '\u24C4',
    '\u24C5',
    '\u24C6',
    '\u24C7',
    '\u24C8',
    '\u24C9',
    '\u24CA',
    '\u24CB',
    '\u24CC',
    '\u24CD',
    '\u24CE',
    '\u24CF',
    '\uFB00',
    '\uFB01',
    '\uFB02',
    '\uFB03',
    '\uFB04',
    '\uFB05',
    '\uFB06',
    '\uFB13',
    '\uFB14',
    '\uFB15',
    '\uFB16',
    '\uFB17',
    '\uFF21',
    '\uFF22',
    '\uFF23',
    '\uFF24',
    '\uFF25',
    '\uFF26',
    '\uFF27',
    '\uFF28',
    '\uFF29',
    '\uFF2A',
    '\uFF2B',
    '\uFF2C',
    '\uFF2D',
    '\uFF2E',
    '\uFF2F',
    '\uFF30',
    '\uFF31',
    '\uFF32',
    '\uFF33',
    '\uFF34',
    '\uFF35',
    '\uFF36',
    '\uFF37',
    '\uFF38',
    '\uFF39',
    '\uFF3A',
  };

  final static String[] B3replace = new String[] {
    "\u0061",
    "\u0062",
    "\u0063",
    "\u0064",
    "\u0065",
    "\u0066",
    "\u0067",
    "\u0068",
    "\u0069",
    "\u006A",
    "\u006B",
    "\u006C",
    "\u006D",
    "\u006E",
    "\u006F",
    "\u0070",
    "\u0071",
    "\u0072",
    "\u0073",
    "\u0074",
    "\u0075",
    "\u0076",
    "\u0077",
    "\u0078",
    "\u0079",
    "\u007A",
    "\u03BC",
    "\u00E0",
    "\u00E1",
    "\u00E2",
    "\u00E3",
    "\u00E4",
    "\u00E5",
    "\u00E6",
    "\u00E7",
    "\u00E8",
    "\u00E9",
    "\u00EA",
    "\u00EB",
    "\u00EC",
    "\u00ED",
    "\u00EE",
    "\u00EF",
    "\u00F0",
    "\u00F1",
    "\u00F2",
    "\u00F3",
    "\u00F4",
    "\u00F5",
    "\u00F6",
    "\u00F8",
    "\u00F9",
    "\u00FA",
    "\u00FB",
    "\u00FC",
    "\u00FD",
    "\u00FE",
    "\u0073\u0073",
    "\u0101",
    "\u0103",
    "\u0105",
    "\u0107",
    "\u0109",
    "\u010B",
    "\u010D",
    "\u010F",
    "\u0111",
    "\u0113",
    "\u0115",
    "\u0117",
    "\u0119",
    "\u011B",
    "\u011D",
    "\u011F",
    "\u0121",
    "\u0123",
    "\u0125",
    "\u0127",
    "\u0129",
    "\u012B",
    "\u012D",
    "\u012F",
    "\u0069\u0307",
    "\u0133",
    "\u0135",
    "\u0137",
    "\u013A",
    "\u013C",
    "\u013E",
    "\u0140",
    "\u0142",
    "\u0144",
    "\u0146",
    "\u0148",
    "\u02BC\u006E",
    "\u014B",
    "\u014D",
    "\u014F",
    "\u0151",
    "\u0153",
    "\u0155",
    "\u0157",
    "\u0159",
    "\u015B",
    "\u015D",
    "\u015F",
    "\u0161",
    "\u0163",
    "\u0165",
    "\u0167",
    "\u0169",
    "\u016B",
    "\u016D",
    "\u016F",
    "\u0171",
    "\u0173",
    "\u0175",
    "\u0177",
    "\u00FF",
    "\u017A",
    "\u017C",
    "\u017E",
    "\u0073",
    "\u0253",
    "\u0183",
    "\u0185",
    "\u0254",
    "\u0188",
    "\u0256",
    "\u0257",
    "\u018C",
    "\u01DD",
    "\u0259",
    "\u025B",
    "\u0192",
    "\u0260",
    "\u0263",
    "\u0269",
    "\u0268",
    "\u0199",
    "\u026F",
    "\u0272",
    "\u0275",
    "\u01A1",
    "\u01A3",
    "\u01A5",
    "\u0280",
    "\u01A8",
    "\u0283",
    "\u01AD",
    "\u0288",
    "\u01B0",
    "\u028A",
    "\u028B",
    "\u01B4",
    "\u01B6",
    "\u0292",
    "\u01B9",
    "\u01BD",
    "\u01C6",
    "\u01C6",
    "\u01C9",
    "\u01C9",
    "\u01CC",
    "\u01CC",
    "\u01CE",
    "\u01D0",
    "\u01D2",
    "\u01D4",
    "\u01D6",
    "\u01D8",
    "\u01DA",
    "\u01DC",
    "\u01DF",
    "\u01E1",
    "\u01E3",
    "\u01E5",
    "\u01E7",
    "\u01E9",
    "\u01EB",
    "\u01ED",
    "\u01EF",
    "\u006A\u030C",
    "\u01F3",
    "\u01F3",
    "\u01F5",
    "\u0195",
    "\u01BF",
    "\u01F9",
    "\u01FB",
    "\u01FD",
    "\u01FF",
    "\u0201",
    "\u0203",
    "\u0205",
    "\u0207",
    "\u0209",
    "\u020B",
    "\u020D",
    "\u020F",
    "\u0211",
    "\u0213",
    "\u0215",
    "\u0217",
    "\u0219",
    "\u021B",
    "\u021D",
    "\u021F",
    "\u019E",
    "\u0223",
    "\u0225",
    "\u0227",
    "\u0229",
    "\u022B",
    "\u022D",
    "\u022F",
    "\u0231",
    "\u0233",
    "\u03B9",
    "\u03AC",
    "\u03AD",
    "\u03AE",
    "\u03AF",
    "\u03CC",
    "\u03CD",
    "\u03CE",
    "\u03B9\u0308\u0301",
    "\u03B1",
    "\u03B2",
    "\u03B3",
    "\u03B4",
    "\u03B5",
    "\u03B6",
    "\u03B7",
    "\u03B8",
    "\u03B9",
    "\u03BA",
    "\u03BB",
    "\u03BC",
    "\u03BD",
    "\u03BE",
    "\u03BF",
    "\u03C0",
    "\u03C1",
    "\u03C3",
    "\u03C4",
    "\u03C5",
    "\u03C6",
    "\u03C7",
    "\u03C8",
    "\u03C9",
    "\u03CA",
    "\u03CB",
    "\u03C5\u0308\u0301",
    "\u03C3",
    "\u03B2",
    "\u03B8",
    "\u03C6",
    "\u03C0",
    "\u03D9",
    "\u03DB",
    "\u03DD",
    "\u03DF",
    "\u03E1",
    "\u03E3",
    "\u03E5",
    "\u03E7",
    "\u03E9",
    "\u03EB",
    "\u03ED",
    "\u03EF",
    "\u03BA",
    "\u03C1",
    "\u03C3",
    "\u03B8",
    "\u03B5",
    "\u0450",
    "\u0451",
    "\u0452",
    "\u0453",
    "\u0454",
    "\u0455",
    "\u0456",
    "\u0457",
    "\u0458",
    "\u0459",
    "\u045A",
    "\u045B",
    "\u045C",
    "\u045D",
    "\u045E",
    "\u045F",
    "\u0430",
    "\u0431",
    "\u0432",
    "\u0433",
    "\u0434",
    "\u0435",
    "\u0436",
    "\u0437",
    "\u0438",
    "\u0439",
    "\u043A",
    "\u043B",
    "\u043C",
    "\u043D",
    "\u043E",
    "\u043F",
    "\u0440",
    "\u0441",
    "\u0442",
    "\u0443",
    "\u0444",
    "\u0445",
    "\u0446",
    "\u0447",
    "\u0448",
    "\u0449",
    "\u044A",
    "\u044B",
    "\u044C",
    "\u044D",
    "\u044E",
    "\u044F",
    "\u0461",
    "\u0463",
    "\u0465",
    "\u0467",
    "\u0469",
    "\u046B",
    "\u046D",
    "\u046F",
    "\u0471",
    "\u0473",
    "\u0475",
    "\u0477",
    "\u0479",
    "\u047B",
    "\u047D",
    "\u047F",
    "\u0481",
    "\u048B",
    "\u048D",
    "\u048F",
    "\u0491",
    "\u0493",
    "\u0495",
    "\u0497",
    "\u0499",
    "\u049B",
    "\u049D",
    "\u049F",
    "\u04A1",
    "\u04A3",
    "\u04A5",
    "\u04A7",
    "\u04A9",
    "\u04AB",
    "\u04AD",
    "\u04AF",
    "\u04B1",
    "\u04B3",
    "\u04B5",
    "\u04B7",
    "\u04B9",
    "\u04BB",
    "\u04BD",
    "\u04BF",
    "\u04C2",
    "\u04C4",
    "\u04C6",
    "\u04C8",
    "\u04CA",
    "\u04CC",
    "\u04CE",
    "\u04D1",
    "\u04D3",
    "\u04D5",
    "\u04D7",
    "\u04D9",
    "\u04DB",
    "\u04DD",
    "\u04DF",
    "\u04E1",
    "\u04E3",
    "\u04E5",
    "\u04E7",
    "\u04E9",
    "\u04EB",
    "\u04ED",
    "\u04EF",
    "\u04F1",
    "\u04F3",
    "\u04F5",
    "\u04F9",
    "\u0501",
    "\u0503",
    "\u0505",
    "\u0507",
    "\u0509",
    "\u050B",
    "\u050D",
    "\u050F",
    "\u0561",
    "\u0562",
    "\u0563",
    "\u0564",
    "\u0565",
    "\u0566",
    "\u0567",
    "\u0568",
    "\u0569",
    "\u056A",
    "\u056B",
    "\u056C",
    "\u056D",
    "\u056E",
    "\u056F",
    "\u0570",
    "\u0571",
    "\u0572",
    "\u0573",
    "\u0574",
    "\u0575",
    "\u0576",
    "\u0577",
    "\u0578",
    "\u0579",
    "\u057A",
    "\u057B",
    "\u057C",
    "\u057D",
    "\u057E",
    "\u057F",
    "\u0580",
    "\u0581",
    "\u0582",
    "\u0583",
    "\u0584",
    "\u0585",
    "\u0586",
    "\u0565\u0582",
    "\u1E01",
    "\u1E03",
    "\u1E05",
    "\u1E07",
    "\u1E09",
    "\u1E0B",
    "\u1E0D",
    "\u1E0F",
    "\u1E11",
    "\u1E13",
    "\u1E15",
    "\u1E17",
    "\u1E19",
    "\u1E1B",
    "\u1E1D",
    "\u1E1F",
    "\u1E21",
    "\u1E23",
    "\u1E25",
    "\u1E27",
    "\u1E29",
    "\u1E2B",
    "\u1E2D",
    "\u1E2F",
    "\u1E31",
    "\u1E33",
    "\u1E35",
    "\u1E37",
    "\u1E39",
    "\u1E3B",
    "\u1E3D",
    "\u1E3F",
    "\u1E41",
    "\u1E43",
    "\u1E45",
    "\u1E47",
    "\u1E49",
    "\u1E4B",
    "\u1E4D",
    "\u1E4F",
    "\u1E51",
    "\u1E53",
    "\u1E55",
    "\u1E57",
    "\u1E59",
    "\u1E5B",
    "\u1E5D",
    "\u1E5F",
    "\u1E61",
    "\u1E63",
    "\u1E65",
    "\u1E67",
    "\u1E69",
    "\u1E6B",
    "\u1E6D",
    "\u1E6F",
    "\u1E71",
    "\u1E73",
    "\u1E75",
    "\u1E77",
    "\u1E79",
    "\u1E7B",
    "\u1E7D",
    "\u1E7F",
    "\u1E81",
    "\u1E83",
    "\u1E85",
    "\u1E87",
    "\u1E89",
    "\u1E8B",
    "\u1E8D",
    "\u1E8F",
    "\u1E91",
    "\u1E93",
    "\u1E95",
    "\u0068\u0331",
    "\u0074\u0308",
    "\u0077\u030A",
    "\u0079\u030A",
    "\u0061\u02BE",
    "\u1E61",
    "\u1EA1",
    "\u1EA3",
    "\u1EA5",
    "\u1EA7",
    "\u1EA9",
    "\u1EAB",
    "\u1EAD",
    "\u1EAF",
    "\u1EB1",
    "\u1EB3",
    "\u1EB5",
    "\u1EB7",
    "\u1EB9",
    "\u1EBB",
    "\u1EBD",
    "\u1EBF",
    "\u1EC1",
    "\u1EC3",
    "\u1EC5",
    "\u1EC7",
    "\u1EC9",
    "\u1ECB",
    "\u1ECD",
    "\u1ECF",
    "\u1ED1",
    "\u1ED3",
    "\u1ED5",
    "\u1ED7",
    "\u1ED9",
    "\u1EDB",
    "\u1EDD",
    "\u1EDF",
    "\u1EE1",
    "\u1EE3",
    "\u1EE5",
    "\u1EE7",
    "\u1EE9",
    "\u1EEB",
    "\u1EED",
    "\u1EEF",
    "\u1EF1",
    "\u1EF3",
    "\u1EF5",
    "\u1EF7",
    "\u1EF9",
    "\u1F00",
    "\u1F01",
    "\u1F02",
    "\u1F03",
    "\u1F04",
    "\u1F05",
    "\u1F06",
    "\u1F07",
    "\u1F10",
    "\u1F11",
    "\u1F12",
    "\u1F13",
    "\u1F14",
    "\u1F15",
    "\u1F20",
    "\u1F21",
    "\u1F22",
    "\u1F23",
    "\u1F24",
    "\u1F25",
    "\u1F26",
    "\u1F27",
    "\u1F30",
    "\u1F31",
    "\u1F32",
    "\u1F33",
    "\u1F34",
    "\u1F35",
    "\u1F36",
    "\u1F37",
    "\u1F40",
    "\u1F41",
    "\u1F42",
    "\u1F43",
    "\u1F44",
    "\u1F45",
    "\u03C5\u0313",
    "\u03C5\u0313\u0300",
    "\u03C5\u0313\u0301",
    "\u03C5\u0313\u0342",
    "\u1F51",
    "\u1F53",
    "\u1F55",
    "\u1F57",
    "\u1F60",
    "\u1F61",
    "\u1F62",
    "\u1F63",
    "\u1F64",
    "\u1F65",
    "\u1F66",
    "\u1F67",
    "\u1F00\u03B9",
    "\u1F01\u03B9",
    "\u1F02\u03B9",
    "\u1F03\u03B9",
    "\u1F04\u03B9",
    "\u1F05\u03B9",
    "\u1F06\u03B9",
    "\u1F07\u03B9",
    "\u1F00\u03B9",
    "\u1F01\u03B9",
    "\u1F02\u03B9",
    "\u1F03\u03B9",
    "\u1F04\u03B9",
    "\u1F05\u03B9",
    "\u1F06\u03B9",
    "\u1F07\u03B9",
    "\u1F20\u03B9",
    "\u1F21\u03B9",
    "\u1F22\u03B9",
    "\u1F23\u03B9",
    "\u1F24\u03B9",
    "\u1F25\u03B9",
    "\u1F26\u03B9",
    "\u1F27\u03B9",
    "\u1F20\u03B9",
    "\u1F21\u03B9",
    "\u1F22\u03B9",
    "\u1F23\u03B9",
    "\u1F24\u03B9",
    "\u1F25\u03B9",
    "\u1F26\u03B9",
    "\u1F27\u03B9",
    "\u1F60\u03B9",
    "\u1F61\u03B9",
    "\u1F62\u03B9",
    "\u1F63\u03B9",
    "\u1F64\u03B9",
    "\u1F65\u03B9",
    "\u1F66\u03B9",
    "\u1F67\u03B9",
    "\u1F60\u03B9",
    "\u1F61\u03B9",
    "\u1F62\u03B9",
    "\u1F63\u03B9",
    "\u1F64\u03B9",
    "\u1F65\u03B9",
    "\u1F66\u03B9",
    "\u1F67\u03B9",
    "\u1F70\u03B9",
    "\u03B1\u03B9",
    "\u03AC\u03B9",
    "\u03B1\u0342",
    "\u03B1\u0342\u03B9",
    "\u1FB0",
    "\u1FB1",
    "\u1F70",
    "\u1F71",
    "\u03B1\u03B9",
    "\u03B9",
    "\u1F74\u03B9",
    "\u03B7\u03B9",
    "\u03AE\u03B9",
    "\u03B7\u0342",
    "\u03B7\u0342\u03B9",
    "\u1F72",
    "\u1F73",
    "\u1F74",
    "\u1F75",
    "\u03B7\u03B9",
    "\u03B9\u0308\u0300",
    "\u03B9\u0308\u0301",
    "\u03B9\u0342",
    "\u03B9\u0308\u0342",
    "\u1FD0",
    "\u1FD1",
    "\u1F76",
    "\u1F77",
    "\u03C5\u0308\u0300",
    "\u03C5\u0308\u0301",
    "\u03C1\u0313",
    "\u03C5\u0342",
    "\u03C5\u0308\u0342",
    "\u1FE0",
    "\u1FE1",
    "\u1F7A",
    "\u1F7B",
    "\u1FE5",
    "\u1F7C\u03B9",
    "\u03C9\u03B9",
    "\u03CE\u03B9",
    "\u03C9\u0342",
    "\u03C9\u0342\u03B9",
    "\u1F78",
    "\u1F79",
    "\u1F7C",
    "\u1F7D",
    "\u03C9\u03B9",
    "\u03C9",
    "\u006B",
    "\u00E5",
    "\u2170",
    "\u2171",
    "\u2172",
    "\u2173",
    "\u2174",
    "\u2175",
    "\u2176",
    "\u2177",
    "\u2178",
    "\u2179",
    "\u217A",
    "\u217B",
    "\u217C",
    "\u217D",
    "\u217E",
    "\u217F",
    "\u24D0",
    "\u24D1",
    "\u24D2",
    "\u24D3",
    "\u24D4",
    "\u24D5",
    "\u24D6",
    "\u24D7",
    "\u24D8",
    "\u24D9",
    "\u24DA",
    "\u24DB",
    "\u24DC",
    "\u24DD",
    "\u24DE",
    "\u24DF",
    "\u24E0",
    "\u24E1",
    "\u24E2",
    "\u24E3",
    "\u24E4",
    "\u24E5",
    "\u24E6",
    "\u24E7",
    "\u24E8",
    "\u24E9",
    "\u0066\u0066",
    "\u0066\u0069",
    "\u0066\u006C",
    "\u0066\u0066\u0069",
    "\u0066\u0066\u006C",
    "\u0073\u0074",
    "\u0073\u0074",
    "\u0574\u0576",
    "\u0574\u0565",
    "\u0574\u056B",
    "\u057E\u0576",
    "\u0574\u056D",
    "\uFF41",
    "\uFF42",
    "\uFF43",
    "\uFF44",
    "\uFF45",
    "\uFF46",
    "\uFF47",
    "\uFF48",
    "\uFF49",
    "\uFF4A",
    "\uFF4B",
    "\uFF4C",
    "\uFF4D",
    "\uFF4E",
    "\uFF4F",
    "\uFF50",
    "\uFF51",
    "\uFF52",
    "\uFF53",
    "\uFF54",
    "\uFF55",
    "\uFF56",
    "\uFF57",
    "\uFF58",
    "\uFF59",
    "\uFF5A",
  };

  final static char[] C11 = new char[] {
    '\u0020',
  };

  final static char[] C12 = new char[] {
    '\u00A0',
    '\u1680',
    '\u2000',
    '\u2001',
    '\u2002',
    '\u2003',
    '\u2004',
    '\u2005',
    '\u2006',
    '\u2007',
    '\u2008',
    '\u2009',
    '\u200A',
    '\u200B',
    '\u202F',
    '\u205F',
    '\u3000',
  };

  final static char[][] C21 = new char[][] {
    new char[] { '\u0000', '\u001F' },
    new char[] { '\u007F' },
  };

  final static char[][] C22 = new char[][] {
    new char[] { '\u0080', '\u009F' },
    new char[] { '\u06DD' },
    new char[] { '\u070F' },
    new char[] { '\u180E' },
    new char[] { '\u200C' },
    new char[] { '\u200D' },
    new char[] { '\u2028' },
    new char[] { '\u2029' },
    new char[] { '\u2060' },
    new char[] { '\u2061' },
    new char[] { '\u2062' },
    new char[] { '\u2063' },
    new char[] { '\u206A', '\u206F' },
    new char[] { '\uFEFF' },
    new char[] { '\uFFF9', '\uFFFC' },
  };

  final static char[][] C3 = new char[][] {
    new char[] { '\uE000', '\uF8FF' },
  };

  final static char[][] C4 = new char[][] {
    new char[] { '\uFDD0', '\uFDEF' },
    new char[] { '\uFFFE', '\uFFFF' },
  };

  final static char[][] C5 = new char[][] {
    new char[] { '\uD800', '\uDFFF' },
  };

  final static char[][] C6 = new char[][] {
    new char[] { '\uFFF9' },
    new char[] { '\uFFFA' },
    new char[] { '\uFFFB' },
    new char[] { '\uFFFC' },
    new char[] { '\uFFFD' },
  };

  final static char[][] C7 = new char[][] {
    new char[] { '\u2FF0', '\u2FFB' },
  };

  final static char[][] C8 = new char[][] {
    new char[] { '\u0340' },
    new char[] { '\u0341' },
    new char[] { '\u200E' },
    new char[] { '\u200F' },
    new char[] { '\u202A' },
    new char[] { '\u202B' },
    new char[] { '\u202C' },
    new char[] { '\u202D' },
    new char[] { '\u202E' },
    new char[] { '\u206A' },
    new char[] { '\u206B' },
    new char[] { '\u206C' },
    new char[] { '\u206D' },
    new char[] { '\u206E' },
    new char[] { '\u206F' },
  };

  final static char[][] D1 = new char[][] {
    new char[] { '\u05BE' },
    new char[] { '\u05C0' },
    new char[] { '\u05C3' },
    new char[] { '\u05D0', '\u05EA' },
    new char[] { '\u05F0', '\u05F4' },
    new char[] { '\u061B' },
    new char[] { '\u061F' },
    new char[] { '\u0621', '\u063A' },
    new char[] { '\u0640', '\u064A' },
    new char[] { '\u066D', '\u066F' },
    new char[] { '\u0671', '\u06D5' },
    new char[] { '\u06DD' },
    new char[] { '\u06E5', '\u06E6' },
    new char[] { '\u06FA', '\u06FE' },
    new char[] { '\u0700', '\u070D' },
    new char[] { '\u0710' },
    new char[] { '\u0712', '\u072C' },
    new char[] { '\u0780', '\u07A5' },
    new char[] { '\u07B1' },
    new char[] { '\u200F' },
    new char[] { '\uFB1D' },
    new char[] { '\uFB1F', '\uFB28' },
    new char[] { '\uFB2A', '\uFB36' },
    new char[] { '\uFB38', '\uFB3C' },
    new char[] { '\uFB3E' },
    new char[] { '\uFB40', '\uFB41' },
    new char[] { '\uFB43', '\uFB44' },
    new char[] { '\uFB46', '\uFBB1' },
    new char[] { '\uFBD3', '\uFD3D' },
    new char[] { '\uFD50', '\uFD8F' },
    new char[] { '\uFD92', '\uFDC7' },
    new char[] { '\uFDF0', '\uFDFC' },
    new char[] { '\uFE70', '\uFE74' },
    new char[] { '\uFE76', '\uFEFC' },
  };

  final static char[][] D2 = new char[][] {
    new char[] { '\u0041', '\u005A' },
    new char[] { '\u0061', '\u007A' },
    new char[] { '\u00AA' },
    new char[] { '\u00B5' },
    new char[] { '\u00BA' },
    new char[] { '\u00C0', '\u00D6' },
    new char[] { '\u00D8', '\u00F6' },
    new char[] { '\u00F8', '\u0220' },
    new char[] { '\u0222', '\u0233' },
    new char[] { '\u0250', '\u02AD' },
    new char[] { '\u02B0', '\u02B8' },
    new char[] { '\u02BB', '\u02C1' },
    new char[] { '\u02D0', '\u02D1' },
    new char[] { '\u02E0', '\u02E4' },
    new char[] { '\u02EE' },
    new char[] { '\u037A' },
    new char[] { '\u0386' },
    new char[] { '\u0388', '\u038A' },
    new char[] { '\u038C' },
    new char[] { '\u038E', '\u03A1' },
    new char[] { '\u03A3', '\u03CE' },
    new char[] { '\u03D0', '\u03F5' },
    new char[] { '\u0400', '\u0482' },
    new char[] { '\u048A', '\u04CE' },
    new char[] { '\u04D0', '\u04F5' },
    new char[] { '\u04F8', '\u04F9' },
    new char[] { '\u0500', '\u050F' },
    new char[] { '\u0531', '\u0556' },
    new char[] { '\u0559', '\u055F' },
    new char[] { '\u0561', '\u0587' },
    new char[] { '\u0589' },
    new char[] { '\u0903' },
    new char[] { '\u0905', '\u0939' },
    new char[] { '\u093D', '\u0940' },
    new char[] { '\u0949', '\u094C' },
    new char[] { '\u0950' },
    new char[] { '\u0958', '\u0961' },
    new char[] { '\u0964', '\u0970' },
    new char[] { '\u0982', '\u0983' },
    new char[] { '\u0985', '\u098C' },
    new char[] { '\u098F', '\u0990' },
    new char[] { '\u0993', '\u09A8' },
    new char[] { '\u09AA', '\u09B0' },
    new char[] { '\u09B2' },
    new char[] { '\u09B6', '\u09B9' },
    new char[] { '\u09BE', '\u09C0' },
    new char[] { '\u09C7', '\u09C8' },
    new char[] { '\u09CB', '\u09CC' },
    new char[] { '\u09D7' },
    new char[] { '\u09DC', '\u09DD' },
    new char[] { '\u09DF', '\u09E1' },
    new char[] { '\u09E6', '\u09F1' },
    new char[] { '\u09F4', '\u09FA' },
    new char[] { '\u0A05', '\u0A0A' },
    new char[] { '\u0A0F', '\u0A10' },
    new char[] { '\u0A13', '\u0A28' },
    new char[] { '\u0A2A', '\u0A30' },
    new char[] { '\u0A32', '\u0A33' },
    new char[] { '\u0A35', '\u0A36' },
    new char[] { '\u0A38', '\u0A39' },
    new char[] { '\u0A3E', '\u0A40' },
    new char[] { '\u0A59', '\u0A5C' },
    new char[] { '\u0A5E' },
    new char[] { '\u0A66', '\u0A6F' },
    new char[] { '\u0A72', '\u0A74' },
    new char[] { '\u0A83' },
    new char[] { '\u0A85', '\u0A8B' },
    new char[] { '\u0A8D' },
    new char[] { '\u0A8F', '\u0A91' },
    new char[] { '\u0A93', '\u0AA8' },
    new char[] { '\u0AAA', '\u0AB0' },
    new char[] { '\u0AB2', '\u0AB3' },
    new char[] { '\u0AB5', '\u0AB9' },
    new char[] { '\u0ABD', '\u0AC0' },
    new char[] { '\u0AC9' },
    new char[] { '\u0ACB', '\u0ACC' },
    new char[] { '\u0AD0' },
    new char[] { '\u0AE0' },
    new char[] { '\u0AE6', '\u0AEF' },
    new char[] { '\u0B02', '\u0B03' },
    new char[] { '\u0B05', '\u0B0C' },
    new char[] { '\u0B0F', '\u0B10' },
    new char[] { '\u0B13', '\u0B28' },
    new char[] { '\u0B2A', '\u0B30' },
    new char[] { '\u0B32', '\u0B33' },
    new char[] { '\u0B36', '\u0B39' },
    new char[] { '\u0B3D', '\u0B3E' },
    new char[] { '\u0B40' },
    new char[] { '\u0B47', '\u0B48' },
    new char[] { '\u0B4B', '\u0B4C' },
    new char[] { '\u0B57' },
    new char[] { '\u0B5C', '\u0B5D' },
    new char[] { '\u0B5F', '\u0B61' },
    new char[] { '\u0B66', '\u0B70' },
    new char[] { '\u0B83' },
    new char[] { '\u0B85', '\u0B8A' },
    new char[] { '\u0B8E', '\u0B90' },
    new char[] { '\u0B92', '\u0B95' },
    new char[] { '\u0B99', '\u0B9A' },
    new char[] { '\u0B9C' },
    new char[] { '\u0B9E', '\u0B9F' },
    new char[] { '\u0BA3', '\u0BA4' },
    new char[] { '\u0BA8', '\u0BAA' },
    new char[] { '\u0BAE', '\u0BB5' },
    new char[] { '\u0BB7', '\u0BB9' },
    new char[] { '\u0BBE', '\u0BBF' },
    new char[] { '\u0BC1', '\u0BC2' },
    new char[] { '\u0BC6', '\u0BC8' },
    new char[] { '\u0BCA', '\u0BCC' },
    new char[] { '\u0BD7' },
    new char[] { '\u0BE7', '\u0BF2' },
    new char[] { '\u0C01', '\u0C03' },
    new char[] { '\u0C05', '\u0C0C' },
    new char[] { '\u0C0E', '\u0C10' },
    new char[] { '\u0C12', '\u0C28' },
    new char[] { '\u0C2A', '\u0C33' },
    new char[] { '\u0C35', '\u0C39' },
    new char[] { '\u0C41', '\u0C44' },
    new char[] { '\u0C60', '\u0C61' },
    new char[] { '\u0C66', '\u0C6F' },
    new char[] { '\u0C82', '\u0C83' },
    new char[] { '\u0C85', '\u0C8C' },
    new char[] { '\u0C8E', '\u0C90' },
    new char[] { '\u0C92', '\u0CA8' },
    new char[] { '\u0CAA', '\u0CB3' },
    new char[] { '\u0CB5', '\u0CB9' },
    new char[] { '\u0CBE' },
    new char[] { '\u0CC0', '\u0CC4' },
    new char[] { '\u0CC7', '\u0CC8' },
    new char[] { '\u0CCA', '\u0CCB' },
    new char[] { '\u0CD5', '\u0CD6' },
    new char[] { '\u0CDE' },
    new char[] { '\u0CE0', '\u0CE1' },
    new char[] { '\u0CE6', '\u0CEF' },
    new char[] { '\u0D02', '\u0D03' },
    new char[] { '\u0D05', '\u0D0C' },
    new char[] { '\u0D0E', '\u0D10' },
    new char[] { '\u0D12', '\u0D28' },
    new char[] { '\u0D2A', '\u0D39' },
    new char[] { '\u0D3E', '\u0D40' },
    new char[] { '\u0D46', '\u0D48' },
    new char[] { '\u0D4A', '\u0D4C' },
    new char[] { '\u0D57' },
    new char[] { '\u0D60', '\u0D61' },
    new char[] { '\u0D66', '\u0D6F' },
    new char[] { '\u0D82', '\u0D83' },
    new char[] { '\u0D85', '\u0D96' },
    new char[] { '\u0D9A', '\u0DB1' },
    new char[] { '\u0DB3', '\u0DBB' },
    new char[] { '\u0DBD' },
    new char[] { '\u0DC0', '\u0DC6' },
    new char[] { '\u0DCF', '\u0DD1' },
    new char[] { '\u0DD8', '\u0DDF' },
    new char[] { '\u0DF2', '\u0DF4' },
    new char[] { '\u0E01', '\u0E30' },
    new char[] { '\u0E32', '\u0E33' },
    new char[] { '\u0E40', '\u0E46' },
    new char[] { '\u0E4F', '\u0E5B' },
    new char[] { '\u0E81', '\u0E82' },
    new char[] { '\u0E84' },
    new char[] { '\u0E87', '\u0E88' },
    new char[] { '\u0E8A' },
    new char[] { '\u0E8D' },
    new char[] { '\u0E94', '\u0E97' },
    new char[] { '\u0E99', '\u0E9F' },
    new char[] { '\u0EA1', '\u0EA3' },
    new char[] { '\u0EA5' },
    new char[] { '\u0EA7' },
    new char[] { '\u0EAA', '\u0EAB' },
    new char[] { '\u0EAD', '\u0EB0' },
    new char[] { '\u0EB2', '\u0EB3' },
    new char[] { '\u0EBD' },
    new char[] { '\u0EC0', '\u0EC4' },
    new char[] { '\u0EC6' },
    new char[] { '\u0ED0', '\u0ED9' },
    new char[] { '\u0EDC', '\u0EDD' },
    new char[] { '\u0F00', '\u0F17' },
    new char[] { '\u0F1A', '\u0F34' },
    new char[] { '\u0F36' },
    new char[] { '\u0F38' },
    new char[] { '\u0F3E', '\u0F47' },
    new char[] { '\u0F49', '\u0F6A' },
    new char[] { '\u0F7F' },
    new char[] { '\u0F85' },
    new char[] { '\u0F88', '\u0F8B' },
    new char[] { '\u0FBE', '\u0FC5' },
    new char[] { '\u0FC7', '\u0FCC' },
    new char[] { '\u0FCF' },
    new char[] { '\u1000', '\u1021' },
    new char[] { '\u1023', '\u1027' },
    new char[] { '\u1029', '\u102A' },
    new char[] { '\u102C' },
    new char[] { '\u1031' },
    new char[] { '\u1038' },
    new char[] { '\u1040', '\u1057' },
    new char[] { '\u10A0', '\u10C5' },
    new char[] { '\u10D0', '\u10F8' },
    new char[] { '\u10FB' },
    new char[] { '\u1100', '\u1159' },
    new char[] { '\u115F', '\u11A2' },
    new char[] { '\u11A8', '\u11F9' },
    new char[] { '\u1200', '\u1206' },
    new char[] { '\u1208', '\u1246' },
    new char[] { '\u1248' },
    new char[] { '\u124A', '\u124D' },
    new char[] { '\u1250', '\u1256' },
    new char[] { '\u1258' },
    new char[] { '\u125A', '\u125D' },
    new char[] { '\u1260', '\u1286' },
    new char[] { '\u1288' },
    new char[] { '\u128A', '\u128D' },
    new char[] { '\u1290', '\u12AE' },
    new char[] { '\u12B0' },
    new char[] { '\u12B2', '\u12B5' },
    new char[] { '\u12B8', '\u12BE' },
    new char[] { '\u12C0' },
    new char[] { '\u12C2', '\u12C5' },
    new char[] { '\u12C8', '\u12CE' },
    new char[] { '\u12D0', '\u12D6' },
    new char[] { '\u12D8', '\u12EE' },
    new char[] { '\u12F0', '\u130E' },
    new char[] { '\u1310' },
    new char[] { '\u1312', '\u1315' },
    new char[] { '\u1318', '\u131E' },
    new char[] { '\u1320', '\u1346' },
    new char[] { '\u1348', '\u135A' },
    new char[] { '\u1361', '\u137C' },
    new char[] { '\u13A0', '\u13F4' },
    new char[] { '\u1401', '\u1676' },
    new char[] { '\u1681', '\u169A' },
    new char[] { '\u16A0', '\u16F0' },
    new char[] { '\u1700', '\u170C' },
    new char[] { '\u170E', '\u1711' },
    new char[] { '\u1720', '\u1731' },
    new char[] { '\u1735', '\u1736' },
    new char[] { '\u1740', '\u1751' },
    new char[] { '\u1760', '\u176C' },
    new char[] { '\u176E', '\u1770' },
    new char[] { '\u1780', '\u17B6' },
    new char[] { '\u17BE', '\u17C5' },
    new char[] { '\u17C7', '\u17C8' },
    new char[] { '\u17D4', '\u17DA' },
    new char[] { '\u17DC' },
    new char[] { '\u17E0', '\u17E9' },
    new char[] { '\u1810', '\u1819' },
    new char[] { '\u1820', '\u1877' },
    new char[] { '\u1880', '\u18A8' },
    new char[] { '\u1E00', '\u1E9B' },
    new char[] { '\u1EA0', '\u1EF9' },
    new char[] { '\u1F00', '\u1F15' },
    new char[] { '\u1F18', '\u1F1D' },
    new char[] { '\u1F20', '\u1F45' },
    new char[] { '\u1F48', '\u1F4D' },
    new char[] { '\u1F50', '\u1F57' },
    new char[] { '\u1F59' },
    new char[] { '\u1F5B' },
    new char[] { '\u1F5D' },
    new char[] { '\u1F5F', '\u1F7D' },
    new char[] { '\u1F80', '\u1FB4' },
    new char[] { '\u1FB6', '\u1FBC' },
    new char[] { '\u1FBE' },
    new char[] { '\u1FC2', '\u1FC4' },
    new char[] { '\u1FC6', '\u1FCC' },
    new char[] { '\u1FD0', '\u1FD3' },
    new char[] { '\u1FD6', '\u1FDB' },
    new char[] { '\u1FE0', '\u1FEC' },
    new char[] { '\u1FF2', '\u1FF4' },
    new char[] { '\u1FF6', '\u1FFC' },
    new char[] { '\u200E' },
    new char[] { '\u2071' },
    new char[] { '\u207F' },
    new char[] { '\u2102' },
    new char[] { '\u2107' },
    new char[] { '\u210A', '\u2113' },
    new char[] { '\u2115' },
    new char[] { '\u2119', '\u211D' },
    new char[] { '\u2124' },
    new char[] { '\u2126' },
    new char[] { '\u2128' },
    new char[] { '\u212A', '\u212D' },
    new char[] { '\u212F', '\u2131' },
    new char[] { '\u2133', '\u2139' },
    new char[] { '\u213D', '\u213F' },
    new char[] { '\u2145', '\u2149' },
    new char[] { '\u2160', '\u2183' },
    new char[] { '\u2336', '\u237A' },
    new char[] { '\u2395' },
    new char[] { '\u249C', '\u24E9' },
    new char[] { '\u3005', '\u3007' },
    new char[] { '\u3021', '\u3029' },
    new char[] { '\u3031', '\u3035' },
    new char[] { '\u3038', '\u303C' },
    new char[] { '\u3041', '\u3096' },
    new char[] { '\u309D', '\u309F' },
    new char[] { '\u30A1', '\u30FA' },
    new char[] { '\u30FC', '\u30FF' },
    new char[] { '\u3105', '\u312C' },
    new char[] { '\u3131', '\u318E' },
    new char[] { '\u3190', '\u31B7' },
    new char[] { '\u31F0', '\u321C' },
    new char[] { '\u3220', '\u3243' },
    new char[] { '\u3260', '\u327B' },
    new char[] { '\u327F', '\u32B0' },
    new char[] { '\u32C0', '\u32CB' },
    new char[] { '\u32D0', '\u32FE' },
    new char[] { '\u3300', '\u3376' },
    new char[] { '\u337B', '\u33DD' },
    new char[] { '\u33E0', '\u33FE' },
    new char[] { '\u3400', '\u4DB5' },
    new char[] { '\u4E00', '\u9FA5' },
    new char[] { '\uA000', '\uA48C' },
    new char[] { '\uAC00', '\uD7A3' },
    new char[] { '\uD800', '\uFA2D' },
    new char[] { '\uFA30', '\uFA6A' },
    new char[] { '\uFB00', '\uFB06' },
    new char[] { '\uFB13', '\uFB17' },
    new char[] { '\uFF21', '\uFF3A' },
    new char[] { '\uFF41', '\uFF5A' },
    new char[] { '\uFF66', '\uFFBE' },
    new char[] { '\uFFC2', '\uFFC7' },
    new char[] { '\uFFCA', '\uFFCF' },
    new char[] { '\uFFD2', '\uFFD7' },
    new char[] { '\uFFDA', '\uFFDC' },
  };

}