bug 1230490 - Allow 16 bit character codes 2/2; r=evilpie
authorMorgan Phillips <winter2718@gmail.com>
Tue, 02 Aug 2016 16:33:58 -0700
changeset 308099 5ee1aee9ddc03d410126796ff28e44a1d8a15ab9
parent 308098 3cf7753c4d5ce44f3ce41f57126b53b8f93560bb
child 308100 3534790e9a6787a4cf75b1ee741d3696460b53a8
push id80255
push usermphillips@mozilla.com
push dateThu, 04 Aug 2016 02:53:38 +0000
treeherdermozilla-inbound@5ee1aee9ddc0 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersevilpie
bugs1230490
milestone51.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
bug 1230490 - Allow 16 bit character codes 2/2; r=evilpie
js/src/tests/ecma_5/String/string-space-trim.js
js/src/tests/ecma_5/String/string-upper-lower-mapping.js
js/src/tests/ecma_6/RegExp/unicode-ignoreCase.js
js/src/tests/ecma_6/String/string-code-point-upper-lower-mapping.js
js/src/vm/CaseFolding.txt
js/src/vm/Unicode.cpp
js/src/vm/UnicodeData.txt
js/src/vm/UnicodeNonBMP.h
--- a/js/src/tests/ecma_5/String/string-space-trim.js
+++ b/js/src/tests/ecma_5/String/string-space-trim.js
@@ -1,15 +1,15 @@
 /* Generated by make_unicode.py DO NOT MODIFY */
 
 /*
  * Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/licenses/publicdomain/
  */
-var onlySpace = String.fromCharCode(0x9, 0xa, 0xb, 0xc, 0xd, 0x20, 0xa0, 0x1680, 0x180e, 0x2000, 0x2001, 0x2002, 0x2003, 0x2004, 0x2005, 0x2006, 0x2007, 0x2008, 0x2009, 0x200a, 0x2028, 0x2029, 0x202f, 0x205f, 0x3000, 0xfeff);
+var onlySpace = String.fromCharCode(0x9, 0xa, 0xb, 0xc, 0xd, 0x20, 0xa0, 0x1680, 0x2000, 0x2001, 0x2002, 0x2003, 0x2004, 0x2005, 0x2006, 0x2007, 0x2008, 0x2009, 0x200a, 0x2028, 0x2029, 0x202f, 0x205f, 0x3000, 0xfeff);
 
 assertEq(onlySpace.trim(), "");
 assertEq((onlySpace + 'aaaa').trim(), 'aaaa');
 assertEq(('aaaa' + onlySpace).trim(), 'aaaa');
 assertEq((onlySpace + 'aaaa' + onlySpace).trim(), 'aaaa');
 
 if (typeof reportCompare === "function")
     reportCompare(true, true);
--- a/js/src/tests/ecma_5/String/string-upper-lower-mapping.js
+++ b/js/src/tests/ecma_5/String/string-upper-lower-mapping.js
@@ -604,33 +604,33 @@ var mapping = [
   [0x186, 0x254], /* LATIN SMALL LETTER OPEN O */
   [0x255, 0x255], /* LATIN SMALL LETTER C WITH CURL (LATIN SMALL LETTER C CURL) */
   [0x189, 0x256], /* LATIN SMALL LETTER D WITH TAIL (LATIN SMALL LETTER D RETROFLEX HOOK) */
   [0x18a, 0x257], /* LATIN SMALL LETTER D WITH HOOK (LATIN SMALL LETTER D HOOK) */
   [0x258, 0x258], /* LATIN SMALL LETTER REVERSED E */
   [0x18f, 0x259], /* LATIN SMALL LETTER SCHWA */
   [0x25a, 0x25a], /* LATIN SMALL LETTER SCHWA WITH HOOK (LATIN SMALL LETTER SCHWA HOOK) */
   [0x190, 0x25b], /* LATIN SMALL LETTER OPEN E (LATIN SMALL LETTER EPSILON) */
-  [0x25c, 0x25c], /* LATIN SMALL LETTER REVERSED OPEN E (LATIN SMALL LETTER REVERSED EPSILON) */
+  [0xa7ab, 0x25c], /* LATIN SMALL LETTER REVERSED OPEN E (LATIN SMALL LETTER REVERSED EPSILON) */
   [0x25d, 0x25d], /* LATIN SMALL LETTER REVERSED OPEN E WITH HOOK (LATIN SMALL LETTER REVERSED EPSILON HOOK) */
   [0x25e, 0x25e], /* LATIN SMALL LETTER CLOSED REVERSED OPEN E (LATIN SMALL LETTER CLOSED REVERSED EPSILON) */
   [0x25f, 0x25f], /* LATIN SMALL LETTER DOTLESS J WITH STROKE (LATIN SMALL LETTER DOTLESS J BAR) */
   [0x193, 0x260], /* LATIN SMALL LETTER G WITH HOOK (LATIN SMALL LETTER G HOOK) */
-  [0x261, 0x261], /* LATIN SMALL LETTER SCRIPT G */
+  [0xa7ac, 0x261], /* LATIN SMALL LETTER SCRIPT G */
   [0x262, 0x262], /* LATIN LETTER SMALL CAPITAL G */
   [0x194, 0x263], /* LATIN SMALL LETTER GAMMA */
   [0x264, 0x264], /* LATIN SMALL LETTER RAMS HORN (LATIN SMALL LETTER BABY GAMMA) */
   [0xa78d, 0x265], /* LATIN SMALL LETTER TURNED H */
   [0xa7aa, 0x266], /* LATIN SMALL LETTER H WITH HOOK (LATIN SMALL LETTER H HOOK) */
   [0x267, 0x267], /* LATIN SMALL LETTER HENG WITH HOOK (LATIN SMALL LETTER HENG HOOK) */
   [0x197, 0x268], /* LATIN SMALL LETTER I WITH STROKE (LATIN SMALL LETTER BARRED I) */
   [0x196, 0x269], /* LATIN SMALL LETTER IOTA */
-  [0x26a, 0x26a], /* LATIN LETTER SMALL CAPITAL I */
+  [0xa7ae, 0x26a], /* LATIN LETTER SMALL CAPITAL I */
   [0x2c62, 0x26b], /* LATIN SMALL LETTER L WITH MIDDLE TILDE */
-  [0x26c, 0x26c], /* LATIN SMALL LETTER L WITH BELT (LATIN SMALL LETTER L BELT) */
+  [0xa7ad, 0x26c], /* LATIN SMALL LETTER L WITH BELT (LATIN SMALL LETTER L BELT) */
   [0x26d, 0x26d], /* LATIN SMALL LETTER L WITH RETROFLEX HOOK (LATIN SMALL LETTER L RETROFLEX HOOK) */
   [0x26e, 0x26e], /* LATIN SMALL LETTER LEZH (LATIN SMALL LETTER L YOGH) */
   [0x19c, 0x26f], /* LATIN SMALL LETTER TURNED M */
   [0x270, 0x270], /* LATIN SMALL LETTER TURNED M WITH LONG LEG */
   [0x2c6e, 0x271], /* LATIN SMALL LETTER M WITH HOOK (LATIN SMALL LETTER M HOOK) */
   [0x19d, 0x272], /* LATIN SMALL LETTER N WITH LEFT HOOK (LATIN SMALL LETTER N HOOK) */
   [0x273, 0x273], /* LATIN SMALL LETTER N WITH RETROFLEX HOOK (LATIN SMALL LETTER N RETROFLEX HOOK) */
   [0x274, 0x274], /* LATIN LETTER SMALL CAPITAL N */
@@ -647,17 +647,17 @@ var mapping = [
   [0x27f, 0x27f], /* LATIN SMALL LETTER REVERSED R WITH FISHHOOK (LATIN SMALL LETTER REVERSED FISHHOOK R) */
   [0x1a6, 0x280], /* LATIN LETTER SMALL CAPITAL R */
   [0x281, 0x281], /* LATIN LETTER SMALL CAPITAL INVERTED R */
   [0x282, 0x282], /* LATIN SMALL LETTER S WITH HOOK (LATIN SMALL LETTER S HOOK) */
   [0x1a9, 0x283], /* LATIN SMALL LETTER ESH */
   [0x284, 0x284], /* LATIN SMALL LETTER DOTLESS J WITH STROKE AND HOOK (LATIN SMALL LETTER DOTLESS J BAR HOOK) */
   [0x285, 0x285], /* LATIN SMALL LETTER SQUAT REVERSED ESH */
   [0x286, 0x286], /* LATIN SMALL LETTER ESH WITH CURL (LATIN SMALL LETTER ESH CURL) */
-  [0x287, 0x287], /* LATIN SMALL LETTER TURNED T */
+  [0xa7b1, 0x287], /* LATIN SMALL LETTER TURNED T */
   [0x1ae, 0x288], /* LATIN SMALL LETTER T WITH RETROFLEX HOOK (LATIN SMALL LETTER T RETROFLEX HOOK) */
   [0x244, 0x289], /* LATIN SMALL LETTER U BAR */
   [0x1b1, 0x28a], /* LATIN SMALL LETTER UPSILON */
   [0x1b2, 0x28b], /* LATIN SMALL LETTER V WITH HOOK (LATIN SMALL LETTER SCRIPT V) */
   [0x245, 0x28c], /* LATIN SMALL LETTER TURNED V */
   [0x28d, 0x28d], /* LATIN SMALL LETTER TURNED W */
   [0x28e, 0x28e], /* LATIN SMALL LETTER TURNED Y */
   [0x28f, 0x28f], /* LATIN LETTER SMALL CAPITAL Y */
@@ -669,18 +669,18 @@ var mapping = [
   [0x295, 0x295], /* LATIN LETTER PHARYNGEAL VOICED FRICATIVE (LATIN LETTER REVERSED GLOTTAL STOP) */
   [0x296, 0x296], /* LATIN LETTER INVERTED GLOTTAL STOP */
   [0x297, 0x297], /* LATIN LETTER STRETCHED C */
   [0x298, 0x298], /* LATIN LETTER BILABIAL CLICK (LATIN LETTER BULLSEYE) */
   [0x299, 0x299], /* LATIN LETTER SMALL CAPITAL B */
   [0x29a, 0x29a], /* LATIN SMALL LETTER CLOSED OPEN E (LATIN SMALL LETTER CLOSED EPSILON) */
   [0x29b, 0x29b], /* LATIN LETTER SMALL CAPITAL G WITH HOOK (LATIN LETTER SMALL CAPITAL G HOOK) */
   [0x29c, 0x29c], /* LATIN LETTER SMALL CAPITAL H */
-  [0x29d, 0x29d], /* LATIN SMALL LETTER J WITH CROSSED-TAIL (LATIN SMALL LETTER CROSSED-TAIL J) */
-  [0x29e, 0x29e], /* LATIN SMALL LETTER TURNED K */
+  [0xa7b2, 0x29d], /* LATIN SMALL LETTER J WITH CROSSED-TAIL (LATIN SMALL LETTER CROSSED-TAIL J) */
+  [0xa7b0, 0x29e], /* LATIN SMALL LETTER TURNED K */
   [0x29f, 0x29f], /* LATIN LETTER SMALL CAPITAL L */
   [0x2a0, 0x2a0], /* LATIN SMALL LETTER Q WITH HOOK (LATIN SMALL LETTER Q HOOK) */
   [0x2a1, 0x2a1], /* LATIN LETTER GLOTTAL STOP WITH STROKE (LATIN LETTER GLOTTAL STOP BAR) */
   [0x2a2, 0x2a2], /* LATIN LETTER REVERSED GLOTTAL STOP WITH STROKE (LATIN LETTER REVERSED GLOTTAL STOP BAR) */
   [0x2a3, 0x2a3], /* LATIN SMALL LETTER DZ DIGRAPH (LATIN SMALL LETTER D Z) */
   [0x2a4, 0x2a4], /* LATIN SMALL LETTER DEZH DIGRAPH (LATIN SMALL LETTER D YOGH) */
   [0x2a5, 0x2a5], /* LATIN SMALL LETTER DZ DIGRAPH WITH CURL (LATIN SMALL LETTER D Z CURL) */
   [0x2a6, 0x2a6], /* LATIN SMALL LETTER TS DIGRAPH (LATIN SMALL LETTER T S) */
@@ -895,17 +895,17 @@ var mapping = [
   [0x376, 0x377], /* GREEK SMALL LETTER PAMPHYLIAN DIGAMMA */
   [0x378, 0x378],
   [0x379, 0x379],
   [0x37a, 0x37a], /* GREEK YPOGEGRAMMENI (GREEK SPACING IOTA BELOW) */
   [0x3fd, 0x37b], /* GREEK SMALL REVERSED LUNATE SIGMA SYMBOL */
   [0x3fe, 0x37c], /* GREEK SMALL DOTTED LUNATE SIGMA SYMBOL */
   [0x3ff, 0x37d], /* GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL */
   [0x37e, 0x37e], /* GREEK QUESTION MARK */
-  [0x37f, 0x37f],
+  [0x37f, 0x3f3], /* GREEK CAPITAL LETTER YOT */
   [0x380, 0x380],
   [0x381, 0x381],
   [0x382, 0x382],
   [0x383, 0x383],
   [0x384, 0x384], /* GREEK TONOS (GREEK SPACING TONOS) */
   [0x385, 0x385], /* GREEK DIALYTIKA TONOS (GREEK SPACING DIAERESIS TONOS) */
   [0x386, 0x3ac], /* GREEK CAPITAL LETTER ALPHA WITH TONOS (GREEK CAPITAL LETTER ALPHA TONOS) */
   [0x387, 0x387], /* GREEK ANO TELEIA */
@@ -1011,17 +1011,17 @@ var mapping = [
   [0x3ea, 0x3eb], /* COPTIC SMALL LETTER GANGIA (GREEK SMALL LETTER GANGIA) */
   [0x3ec, 0x3ed], /* COPTIC CAPITAL LETTER SHIMA (GREEK CAPITAL LETTER SHIMA) */
   [0x3ec, 0x3ed], /* COPTIC SMALL LETTER SHIMA (GREEK SMALL LETTER SHIMA) */
   [0x3ee, 0x3ef], /* COPTIC CAPITAL LETTER DEI (GREEK CAPITAL LETTER DEI) */
   [0x3ee, 0x3ef], /* COPTIC SMALL LETTER DEI (GREEK SMALL LETTER DEI) */
   [0x39a, 0x3f0], /* GREEK KAPPA SYMBOL (GREEK SMALL LETTER SCRIPT KAPPA) */
   [0x3a1, 0x3f1], /* GREEK RHO SYMBOL (GREEK SMALL LETTER TAILED RHO) */
   [0x3f9, 0x3f2], /* GREEK LUNATE SIGMA SYMBOL (GREEK SMALL LETTER LUNATE SIGMA) */
-  [0x3f3, 0x3f3], /* GREEK LETTER YOT */
+  [0x37f, 0x3f3], /* GREEK LETTER YOT */
   [0x3f4, 0x3b8], /* GREEK CAPITAL THETA SYMBOL */
   [0x395, 0x3f5], /* GREEK LUNATE EPSILON SYMBOL */
   [0x3f6, 0x3f6], /* GREEK REVERSED LUNATE EPSILON SYMBOL */
   [0x3f7, 0x3f8], /* GREEK CAPITAL LETTER SHO */
   [0x3f7, 0x3f8], /* GREEK SMALL LETTER SHO */
   [0x3f9, 0x3f2], /* GREEK CAPITAL LUNATE SIGMA SYMBOL */
   [0x3fa, 0x3fb], /* GREEK CAPITAL LETTER SAN */
   [0x3fa, 0x3fb], /* GREEK SMALL LETTER SAN */
@@ -1320,24 +1320,24 @@ var mapping = [
   [0x520, 0x521], /* CYRILLIC CAPITAL LETTER EL WITH MIDDLE HOOK */
   [0x520, 0x521], /* CYRILLIC SMALL LETTER EL WITH MIDDLE HOOK */
   [0x522, 0x523], /* CYRILLIC CAPITAL LETTER EN WITH MIDDLE HOOK */
   [0x522, 0x523], /* CYRILLIC SMALL LETTER EN WITH MIDDLE HOOK */
   [0x524, 0x525], /* CYRILLIC CAPITAL LETTER PE WITH DESCENDER */
   [0x524, 0x525], /* CYRILLIC SMALL LETTER PE WITH DESCENDER */
   [0x526, 0x527], /* CYRILLIC CAPITAL LETTER SHHA WITH DESCENDER */
   [0x526, 0x527], /* CYRILLIC SMALL LETTER SHHA WITH DESCENDER */
-  [0x528, 0x528],
-  [0x529, 0x529],
-  [0x52a, 0x52a],
-  [0x52b, 0x52b],
-  [0x52c, 0x52c],
-  [0x52d, 0x52d],
-  [0x52e, 0x52e],
-  [0x52f, 0x52f],
+  [0x528, 0x529], /* CYRILLIC CAPITAL LETTER EN WITH LEFT HOOK */
+  [0x528, 0x529], /* CYRILLIC SMALL LETTER EN WITH LEFT HOOK */
+  [0x52a, 0x52b], /* CYRILLIC CAPITAL LETTER DZZHE */
+  [0x52a, 0x52b], /* CYRILLIC SMALL LETTER DZZHE */
+  [0x52c, 0x52d], /* CYRILLIC CAPITAL LETTER DCHE */
+  [0x52c, 0x52d], /* CYRILLIC SMALL LETTER DCHE */
+  [0x52e, 0x52f], /* CYRILLIC CAPITAL LETTER EL WITH DESCENDER */
+  [0x52e, 0x52f], /* CYRILLIC SMALL LETTER EL WITH DESCENDER */
   [0x530, 0x530],
   [0x531, 0x561], /* ARMENIAN CAPITAL LETTER AYB */
   [0x532, 0x562], /* ARMENIAN CAPITAL LETTER BEN */
   [0x533, 0x563], /* ARMENIAN CAPITAL LETTER GIM */
   [0x534, 0x564], /* ARMENIAN CAPITAL LETTER DA */
   [0x535, 0x565], /* ARMENIAN CAPITAL LETTER ECH */
   [0x536, 0x566], /* ARMENIAN CAPITAL LETTER ZA */
   [0x537, 0x567], /* ARMENIAN CAPITAL LETTER EH */
@@ -1421,18 +1421,18 @@ var mapping = [
   [0x555, 0x585], /* ARMENIAN SMALL LETTER OH */
   [0x556, 0x586], /* ARMENIAN SMALL LETTER FEH */
   [0x587, 0x587], /* ARMENIAN SMALL LIGATURE ECH YIWN */
   [0x588, 0x588],
   [0x589, 0x589], /* ARMENIAN FULL STOP (ARMENIAN PERIOD) */
   [0x58a, 0x58a], /* ARMENIAN HYPHEN */
   [0x58b, 0x58b],
   [0x58c, 0x58c],
-  [0x58d, 0x58d],
-  [0x58e, 0x58e],
+  [0x58d, 0x58d], /* RIGHT-FACING ARMENIAN ETERNITY SIGN */
+  [0x58e, 0x58e], /* LEFT-FACING ARMENIAN ETERNITY SIGN */
   [0x58f, 0x58f], /* ARMENIAN DRAM SIGN */
   [0x590, 0x590],
   [0x591, 0x591], /* HEBREW ACCENT ETNAHTA */
   [0x592, 0x592], /* HEBREW ACCENT SEGOL */
   [0x593, 0x593], /* HEBREW ACCENT SHALSHELET */
   [0x594, 0x594], /* HEBREW ACCENT ZAQEF QATAN */
   [0x595, 0x595], /* HEBREW ACCENT ZAQEF GADOL */
   [0x596, 0x596], /* HEBREW ACCENT TIPEHA */
@@ -1541,17 +1541,17 @@ var mapping = [
   [0x5fd, 0x5fd],
   [0x5fe, 0x5fe],
   [0x5ff, 0x5ff],
   [0x600, 0x600], /* ARABIC NUMBER SIGN */
   [0x601, 0x601], /* ARABIC SIGN SANAH */
   [0x602, 0x602], /* ARABIC FOOTNOTE MARKER */
   [0x603, 0x603], /* ARABIC SIGN SAFHA */
   [0x604, 0x604], /* ARABIC SIGN SAMVAT */
-  [0x605, 0x605],
+  [0x605, 0x605], /* ARABIC NUMBER MARK ABOVE */
   [0x606, 0x606], /* ARABIC-INDIC CUBE ROOT */
   [0x607, 0x607], /* ARABIC-INDIC FOURTH ROOT */
   [0x608, 0x608], /* ARABIC RAY */
   [0x609, 0x609], /* ARABIC-INDIC PER MILLE SIGN */
   [0x60a, 0x60a], /* ARABIC-INDIC PER TEN THOUSAND SIGN */
   [0x60b, 0x60b], /* AFGHANI SIGN */
   [0x60c, 0x60c], /* ARABIC COMMA */
   [0x60d, 0x60d], /* ARABIC DATE SEPARATOR */
@@ -1564,17 +1564,17 @@ var mapping = [
   [0x614, 0x614], /* ARABIC SIGN TAKHALLUS */
   [0x615, 0x615], /* ARABIC SMALL HIGH TAH */
   [0x616, 0x616], /* ARABIC SMALL HIGH LIGATURE ALEF WITH LAM WITH YEH */
   [0x617, 0x617], /* ARABIC SMALL HIGH ZAIN */
   [0x618, 0x618], /* ARABIC SMALL FATHA */
   [0x619, 0x619], /* ARABIC SMALL DAMMA */
   [0x61a, 0x61a], /* ARABIC SMALL KASRA */
   [0x61b, 0x61b], /* ARABIC SEMICOLON */
-  [0x61c, 0x61c],
+  [0x61c, 0x61c], /* ARABIC LETTER MARK */
   [0x61d, 0x61d],
   [0x61e, 0x61e], /* ARABIC TRIPLE DOT PUNCTUATION MARK */
   [0x61f, 0x61f], /* ARABIC QUESTION MARK */
   [0x620, 0x620], /* ARABIC LETTER KASHMIRI YEH */
   [0x621, 0x621], /* ARABIC LETTER HAMZA (ARABIC LETTER HAMZAH) */
   [0x622, 0x622], /* ARABIC LETTER ALEF WITH MADDA ABOVE (ARABIC LETTER MADDAH ON ALEF) */
   [0x623, 0x623], /* ARABIC LETTER ALEF WITH HAMZA ABOVE (ARABIC LETTER HAMZAH ON ALEF) */
   [0x624, 0x624], /* ARABIC LETTER WAW WITH HAMZA ABOVE (ARABIC LETTER HAMZAH ON WAW) */
@@ -2209,45 +2209,45 @@ var mapping = [
   [0x899, 0x899],
   [0x89a, 0x89a],
   [0x89b, 0x89b],
   [0x89c, 0x89c],
   [0x89d, 0x89d],
   [0x89e, 0x89e],
   [0x89f, 0x89f],
   [0x8a0, 0x8a0], /* ARABIC LETTER BEH WITH SMALL V BELOW */
-  [0x8a1, 0x8a1],
+  [0x8a1, 0x8a1], /* ARABIC LETTER BEH WITH HAMZA ABOVE */
   [0x8a2, 0x8a2], /* ARABIC LETTER JEEM WITH TWO DOTS ABOVE */
   [0x8a3, 0x8a3], /* ARABIC LETTER TAH WITH TWO DOTS ABOVE */
   [0x8a4, 0x8a4], /* ARABIC LETTER FEH WITH DOT BELOW AND THREE DOTS ABOVE */
   [0x8a5, 0x8a5], /* ARABIC LETTER QAF WITH DOT BELOW */
   [0x8a6, 0x8a6], /* ARABIC LETTER LAM WITH DOUBLE BAR */
   [0x8a7, 0x8a7], /* ARABIC LETTER MEEM WITH THREE DOTS ABOVE */
   [0x8a8, 0x8a8], /* ARABIC LETTER YEH WITH TWO DOTS BELOW AND HAMZA ABOVE */
   [0x8a9, 0x8a9], /* ARABIC LETTER YEH WITH TWO DOTS BELOW AND DOT ABOVE */
   [0x8aa, 0x8aa], /* ARABIC LETTER REH WITH LOOP */
   [0x8ab, 0x8ab], /* ARABIC LETTER WAW WITH DOT WITHIN */
   [0x8ac, 0x8ac], /* ARABIC LETTER ROHINGYA YEH */
-  [0x8ad, 0x8ad],
-  [0x8ae, 0x8ae],
-  [0x8af, 0x8af],
-  [0x8b0, 0x8b0],
-  [0x8b1, 0x8b1],
-  [0x8b2, 0x8b2],
-  [0x8b3, 0x8b3],
-  [0x8b4, 0x8b4],
+  [0x8ad, 0x8ad], /* ARABIC LETTER LOW ALEF */
+  [0x8ae, 0x8ae], /* ARABIC LETTER DAL WITH THREE DOTS BELOW */
+  [0x8af, 0x8af], /* ARABIC LETTER SAD WITH THREE DOTS BELOW */
+  [0x8b0, 0x8b0], /* ARABIC LETTER GAF WITH INVERTED STROKE */
+  [0x8b1, 0x8b1], /* ARABIC LETTER STRAIGHT WAW */
+  [0x8b2, 0x8b2], /* ARABIC LETTER ZAIN WITH INVERTED V ABOVE */
+  [0x8b3, 0x8b3], /* ARABIC LETTER AIN WITH THREE DOTS BELOW */
+  [0x8b4, 0x8b4], /* ARABIC LETTER KAF WITH DOT BELOW */
   [0x8b5, 0x8b5],
-  [0x8b6, 0x8b6],
-  [0x8b7, 0x8b7],
-  [0x8b8, 0x8b8],
-  [0x8b9, 0x8b9],
-  [0x8ba, 0x8ba],
-  [0x8bb, 0x8bb],
-  [0x8bc, 0x8bc],
-  [0x8bd, 0x8bd],
+  [0x8b6, 0x8b6], /* ARABIC LETTER BEH WITH SMALL MEEM ABOVE */
+  [0x8b7, 0x8b7], /* ARABIC LETTER PEH WITH SMALL MEEM ABOVE */
+  [0x8b8, 0x8b8], /* ARABIC LETTER TEH WITH SMALL TEH ABOVE */
+  [0x8b9, 0x8b9], /* ARABIC LETTER REH WITH SMALL NOON ABOVE */
+  [0x8ba, 0x8ba], /* ARABIC LETTER YEH WITH TWO DOTS BELOW AND SMALL NOON ABOVE */
+  [0x8bb, 0x8bb], /* ARABIC LETTER AFRICAN FEH */
+  [0x8bc, 0x8bc], /* ARABIC LETTER AFRICAN QAF */
+  [0x8bd, 0x8bd], /* ARABIC LETTER AFRICAN NOON */
   [0x8be, 0x8be],
   [0x8bf, 0x8bf],
   [0x8c0, 0x8c0],
   [0x8c1, 0x8c1],
   [0x8c2, 0x8c2],
   [0x8c3, 0x8c3],
   [0x8c4, 0x8c4],
   [0x8c5, 0x8c5],
@@ -2260,32 +2260,32 @@ var mapping = [
   [0x8cc, 0x8cc],
   [0x8cd, 0x8cd],
   [0x8ce, 0x8ce],
   [0x8cf, 0x8cf],
   [0x8d0, 0x8d0],
   [0x8d1, 0x8d1],
   [0x8d2, 0x8d2],
   [0x8d3, 0x8d3],
-  [0x8d4, 0x8d4],
-  [0x8d5, 0x8d5],
-  [0x8d6, 0x8d6],
-  [0x8d7, 0x8d7],
-  [0x8d8, 0x8d8],
-  [0x8d9, 0x8d9],
-  [0x8da, 0x8da],
-  [0x8db, 0x8db],
-  [0x8dc, 0x8dc],
-  [0x8dd, 0x8dd],
-  [0x8de, 0x8de],
-  [0x8df, 0x8df],
-  [0x8e0, 0x8e0],
-  [0x8e1, 0x8e1],
-  [0x8e2, 0x8e2],
-  [0x8e3, 0x8e3],
+  [0x8d4, 0x8d4], /* ARABIC SMALL HIGH WORD AR-RUB */
+  [0x8d5, 0x8d5], /* ARABIC SMALL HIGH SAD */
+  [0x8d6, 0x8d6], /* ARABIC SMALL HIGH AIN */
+  [0x8d7, 0x8d7], /* ARABIC SMALL HIGH QAF */
+  [0x8d8, 0x8d8], /* ARABIC SMALL HIGH NOON WITH KASRA */
+  [0x8d9, 0x8d9], /* ARABIC SMALL LOW NOON WITH KASRA */
+  [0x8da, 0x8da], /* ARABIC SMALL HIGH WORD ATH-THALATHA */
+  [0x8db, 0x8db], /* ARABIC SMALL HIGH WORD AS-SAJDA */
+  [0x8dc, 0x8dc], /* ARABIC SMALL HIGH WORD AN-NISF */
+  [0x8dd, 0x8dd], /* ARABIC SMALL HIGH WORD SAKTA */
+  [0x8de, 0x8de], /* ARABIC SMALL HIGH WORD QIF */
+  [0x8df, 0x8df], /* ARABIC SMALL HIGH WORD WAQFA */
+  [0x8e0, 0x8e0], /* ARABIC SMALL HIGH FOOTNOTE MARKER */
+  [0x8e1, 0x8e1], /* ARABIC SMALL HIGH SIGN SAFHA */
+  [0x8e2, 0x8e2], /* ARABIC DISPUTED END OF AYAH */
+  [0x8e3, 0x8e3], /* ARABIC TURNED DAMMA BELOW */
   [0x8e4, 0x8e4], /* ARABIC CURLY FATHA */
   [0x8e5, 0x8e5], /* ARABIC CURLY DAMMA */
   [0x8e6, 0x8e6], /* ARABIC CURLY KASRA */
   [0x8e7, 0x8e7], /* ARABIC CURLY FATHATAN */
   [0x8e8, 0x8e8], /* ARABIC CURLY DAMMATAN */
   [0x8e9, 0x8e9], /* ARABIC CURLY KASRATAN */
   [0x8ea, 0x8ea], /* ARABIC TONE ONE DOT ABOVE */
   [0x8eb, 0x8eb], /* ARABIC TONE TWO DOTS ABOVE */
@@ -2303,17 +2303,17 @@ var mapping = [
   [0x8f7, 0x8f7], /* ARABIC LEFT ARROWHEAD ABOVE */
   [0x8f8, 0x8f8], /* ARABIC RIGHT ARROWHEAD ABOVE */
   [0x8f9, 0x8f9], /* ARABIC LEFT ARROWHEAD BELOW */
   [0x8fa, 0x8fa], /* ARABIC RIGHT ARROWHEAD BELOW */
   [0x8fb, 0x8fb], /* ARABIC DOUBLE RIGHT ARROWHEAD ABOVE */
   [0x8fc, 0x8fc], /* ARABIC DOUBLE RIGHT ARROWHEAD ABOVE WITH DOT */
   [0x8fd, 0x8fd], /* ARABIC RIGHT ARROWHEAD ABOVE WITH DOT */
   [0x8fe, 0x8fe], /* ARABIC DAMMA WITH DOT */
-  [0x8ff, 0x8ff],
+  [0x8ff, 0x8ff], /* ARABIC MARK SIDEWAYS NOON GHUNNA */
   [0x900, 0x900], /* DEVANAGARI SIGN INVERTED CANDRABINDU */
   [0x901, 0x901], /* DEVANAGARI SIGN CANDRABINDU */
   [0x902, 0x902], /* DEVANAGARI SIGN ANUSVARA */
   [0x903, 0x903], /* DEVANAGARI SIGN VISARGA */
   [0x904, 0x904], /* DEVANAGARI LETTER SHORT A */
   [0x905, 0x905], /* DEVANAGARI LETTER A */
   [0x906, 0x906], /* DEVANAGARI LETTER AA */
   [0x907, 0x907], /* DEVANAGARI LETTER I */
@@ -2424,25 +2424,25 @@ var mapping = [
   [0x970, 0x970], /* DEVANAGARI ABBREVIATION SIGN */
   [0x971, 0x971], /* DEVANAGARI SIGN HIGH SPACING DOT */
   [0x972, 0x972], /* DEVANAGARI LETTER CANDRA A */
   [0x973, 0x973], /* DEVANAGARI LETTER OE */
   [0x974, 0x974], /* DEVANAGARI LETTER OOE */
   [0x975, 0x975], /* DEVANAGARI LETTER AW */
   [0x976, 0x976], /* DEVANAGARI LETTER UE */
   [0x977, 0x977], /* DEVANAGARI LETTER UUE */
-  [0x978, 0x978],
+  [0x978, 0x978], /* DEVANAGARI LETTER MARWARI DDA */
   [0x979, 0x979], /* DEVANAGARI LETTER ZHA */
   [0x97a, 0x97a], /* DEVANAGARI LETTER HEAVY YA */
   [0x97b, 0x97b], /* DEVANAGARI LETTER GGA */
   [0x97c, 0x97c], /* DEVANAGARI LETTER JJA */
   [0x97d, 0x97d], /* DEVANAGARI LETTER GLOTTAL STOP */
   [0x97e, 0x97e], /* DEVANAGARI LETTER DDDA */
   [0x97f, 0x97f], /* DEVANAGARI LETTER BBA */
-  [0x980, 0x980],
+  [0x980, 0x980], /* BENGALI ANJI */
   [0x981, 0x981], /* BENGALI SIGN CANDRABINDU */
   [0x982, 0x982], /* BENGALI SIGN ANUSVARA */
   [0x983, 0x983], /* BENGALI SIGN VISARGA */
   [0x984, 0x984],
   [0x985, 0x985], /* BENGALI LETTER A */
   [0x986, 0x986], /* BENGALI LETTER AA */
   [0x987, 0x987], /* BENGALI LETTER I */
   [0x988, 0x988], /* BENGALI LETTER II */
@@ -2809,17 +2809,17 @@ var mapping = [
   [0xaf1, 0xaf1], /* GUJARATI RUPEE SIGN */
   [0xaf2, 0xaf2],
   [0xaf3, 0xaf3],
   [0xaf4, 0xaf4],
   [0xaf5, 0xaf5],
   [0xaf6, 0xaf6],
   [0xaf7, 0xaf7],
   [0xaf8, 0xaf8],
-  [0xaf9, 0xaf9],
+  [0xaf9, 0xaf9], /* GUJARATI LETTER ZHA */
   [0xafa, 0xafa],
   [0xafb, 0xafb],
   [0xafc, 0xafc],
   [0xafd, 0xafd],
   [0xafe, 0xafe],
   [0xaff, 0xaff],
   [0xb00, 0xb00],
   [0xb01, 0xb01], /* ORIYA SIGN CANDRABINDU */
@@ -3072,17 +3072,17 @@ var mapping = [
   [0xbf8, 0xbf8], /* TAMIL AS ABOVE SIGN */
   [0xbf9, 0xbf9], /* TAMIL RUPEE SIGN */
   [0xbfa, 0xbfa], /* TAMIL NUMBER SIGN */
   [0xbfb, 0xbfb],
   [0xbfc, 0xbfc],
   [0xbfd, 0xbfd],
   [0xbfe, 0xbfe],
   [0xbff, 0xbff],
-  [0xc00, 0xc00],
+  [0xc00, 0xc00], /* TELUGU SIGN COMBINING CANDRABINDU ABOVE */
   [0xc01, 0xc01], /* TELUGU SIGN CANDRABINDU */
   [0xc02, 0xc02], /* TELUGU SIGN ANUSVARA */
   [0xc03, 0xc03], /* TELUGU SIGN VISARGA */
   [0xc04, 0xc04],
   [0xc05, 0xc05], /* TELUGU LETTER A */
   [0xc06, 0xc06], /* TELUGU LETTER AA */
   [0xc07, 0xc07], /* TELUGU LETTER I */
   [0xc08, 0xc08], /* TELUGU LETTER II */
@@ -3124,17 +3124,17 @@ var mapping = [
   [0xc2c, 0xc2c], /* TELUGU LETTER BA */
   [0xc2d, 0xc2d], /* TELUGU LETTER BHA */
   [0xc2e, 0xc2e], /* TELUGU LETTER MA */
   [0xc2f, 0xc2f], /* TELUGU LETTER YA */
   [0xc30, 0xc30], /* TELUGU LETTER RA */
   [0xc31, 0xc31], /* TELUGU LETTER RRA */
   [0xc32, 0xc32], /* TELUGU LETTER LA */
   [0xc33, 0xc33], /* TELUGU LETTER LLA */
-  [0xc34, 0xc34],
+  [0xc34, 0xc34], /* TELUGU LETTER LLLA */
   [0xc35, 0xc35], /* TELUGU LETTER VA */
   [0xc36, 0xc36], /* TELUGU LETTER SHA */
   [0xc37, 0xc37], /* TELUGU LETTER SSA */
   [0xc38, 0xc38], /* TELUGU LETTER SA */
   [0xc39, 0xc39], /* TELUGU LETTER HA */
   [0xc3a, 0xc3a],
   [0xc3b, 0xc3b],
   [0xc3c, 0xc3c],
@@ -3162,17 +3162,17 @@ var mapping = [
   [0xc52, 0xc52],
   [0xc53, 0xc53],
   [0xc54, 0xc54],
   [0xc55, 0xc55], /* TELUGU LENGTH MARK */
   [0xc56, 0xc56], /* TELUGU AI LENGTH MARK */
   [0xc57, 0xc57],
   [0xc58, 0xc58], /* TELUGU LETTER TSA */
   [0xc59, 0xc59], /* TELUGU LETTER DZA */
-  [0xc5a, 0xc5a],
+  [0xc5a, 0xc5a], /* TELUGU LETTER RRRA */
   [0xc5b, 0xc5b],
   [0xc5c, 0xc5c],
   [0xc5d, 0xc5d],
   [0xc5e, 0xc5e],
   [0xc5f, 0xc5f],
   [0xc60, 0xc60], /* TELUGU LETTER VOCALIC RR */
   [0xc61, 0xc61], /* TELUGU LETTER VOCALIC LL */
   [0xc62, 0xc62], /* TELUGU VOWEL SIGN VOCALIC L */
@@ -3200,18 +3200,18 @@ var mapping = [
   [0xc78, 0xc78], /* TELUGU FRACTION DIGIT ZERO FOR ODD POWERS OF FOUR */
   [0xc79, 0xc79], /* TELUGU FRACTION DIGIT ONE FOR ODD POWERS OF FOUR */
   [0xc7a, 0xc7a], /* TELUGU FRACTION DIGIT TWO FOR ODD POWERS OF FOUR */
   [0xc7b, 0xc7b], /* TELUGU FRACTION DIGIT THREE FOR ODD POWERS OF FOUR */
   [0xc7c, 0xc7c], /* TELUGU FRACTION DIGIT ONE FOR EVEN POWERS OF FOUR */
   [0xc7d, 0xc7d], /* TELUGU FRACTION DIGIT TWO FOR EVEN POWERS OF FOUR */
   [0xc7e, 0xc7e], /* TELUGU FRACTION DIGIT THREE FOR EVEN POWERS OF FOUR */
   [0xc7f, 0xc7f], /* TELUGU SIGN TUUMU */
-  [0xc80, 0xc80],
-  [0xc81, 0xc81],
+  [0xc80, 0xc80], /* KANNADA SIGN SPACING CANDRABINDU */
+  [0xc81, 0xc81], /* KANNADA SIGN CANDRABINDU */
   [0xc82, 0xc82], /* KANNADA SIGN ANUSVARA */
   [0xc83, 0xc83], /* KANNADA SIGN VISARGA */
   [0xc84, 0xc84],
   [0xc85, 0xc85], /* KANNADA LETTER A */
   [0xc86, 0xc86], /* KANNADA LETTER AA */
   [0xc87, 0xc87], /* KANNADA LETTER I */
   [0xc88, 0xc88], /* KANNADA LETTER II */
   [0xc89, 0xc89], /* KANNADA LETTER U */
@@ -3329,17 +3329,17 @@ var mapping = [
   [0xcf9, 0xcf9],
   [0xcfa, 0xcfa],
   [0xcfb, 0xcfb],
   [0xcfc, 0xcfc],
   [0xcfd, 0xcfd],
   [0xcfe, 0xcfe],
   [0xcff, 0xcff],
   [0xd00, 0xd00],
-  [0xd01, 0xd01],
+  [0xd01, 0xd01], /* MALAYALAM SIGN CANDRABINDU */
   [0xd02, 0xd02], /* MALAYALAM SIGN ANUSVARA */
   [0xd03, 0xd03], /* MALAYALAM SIGN VISARGA */
   [0xd04, 0xd04],
   [0xd05, 0xd05], /* MALAYALAM LETTER A */
   [0xd06, 0xd06], /* MALAYALAM LETTER AA */
   [0xd07, 0xd07], /* MALAYALAM LETTER I */
   [0xd08, 0xd08], /* MALAYALAM LETTER II */
   [0xd09, 0xd09], /* MALAYALAM LETTER U */
@@ -3407,33 +3407,33 @@ var mapping = [
   [0xd47, 0xd47], /* MALAYALAM VOWEL SIGN EE */
   [0xd48, 0xd48], /* MALAYALAM VOWEL SIGN AI */
   [0xd49, 0xd49],
   [0xd4a, 0xd4a], /* MALAYALAM VOWEL SIGN O */
   [0xd4b, 0xd4b], /* MALAYALAM VOWEL SIGN OO */
   [0xd4c, 0xd4c], /* MALAYALAM VOWEL SIGN AU */
   [0xd4d, 0xd4d], /* MALAYALAM SIGN VIRAMA */
   [0xd4e, 0xd4e], /* MALAYALAM LETTER DOT REPH */
-  [0xd4f, 0xd4f],
+  [0xd4f, 0xd4f], /* MALAYALAM SIGN PARA */
   [0xd50, 0xd50],
   [0xd51, 0xd51],
   [0xd52, 0xd52],
   [0xd53, 0xd53],
-  [0xd54, 0xd54],
-  [0xd55, 0xd55],
-  [0xd56, 0xd56],
+  [0xd54, 0xd54], /* MALAYALAM LETTER CHILLU M */
+  [0xd55, 0xd55], /* MALAYALAM LETTER CHILLU Y */
+  [0xd56, 0xd56], /* MALAYALAM LETTER CHILLU LLL */
   [0xd57, 0xd57], /* MALAYALAM AU LENGTH MARK */
-  [0xd58, 0xd58],
-  [0xd59, 0xd59],
-  [0xd5a, 0xd5a],
-  [0xd5b, 0xd5b],
-  [0xd5c, 0xd5c],
-  [0xd5d, 0xd5d],
-  [0xd5e, 0xd5e],
-  [0xd5f, 0xd5f],
+  [0xd58, 0xd58], /* MALAYALAM FRACTION ONE ONE-HUNDRED-AND-SIXTIETH */
+  [0xd59, 0xd59], /* MALAYALAM FRACTION ONE FORTIETH */
+  [0xd5a, 0xd5a], /* MALAYALAM FRACTION THREE EIGHTIETHS */
+  [0xd5b, 0xd5b], /* MALAYALAM FRACTION ONE TWENTIETH */
+  [0xd5c, 0xd5c], /* MALAYALAM FRACTION ONE TENTH */
+  [0xd5d, 0xd5d], /* MALAYALAM FRACTION THREE TWENTIETHS */
+  [0xd5e, 0xd5e], /* MALAYALAM FRACTION ONE FIFTH */
+  [0xd5f, 0xd5f], /* MALAYALAM LETTER ARCHAIC II */
   [0xd60, 0xd60], /* MALAYALAM LETTER VOCALIC RR */
   [0xd61, 0xd61], /* MALAYALAM LETTER VOCALIC LL */
   [0xd62, 0xd62], /* MALAYALAM VOWEL SIGN VOCALIC L */
   [0xd63, 0xd63], /* MALAYALAM VOWEL SIGN VOCALIC LL */
   [0xd64, 0xd64],
   [0xd65, 0xd65],
   [0xd66, 0xd66], /* MALAYALAM DIGIT ZERO */
   [0xd67, 0xd67], /* MALAYALAM DIGIT ONE */
@@ -3446,19 +3446,19 @@ var mapping = [
   [0xd6e, 0xd6e], /* MALAYALAM DIGIT EIGHT */
   [0xd6f, 0xd6f], /* MALAYALAM DIGIT NINE */
   [0xd70, 0xd70], /* MALAYALAM NUMBER TEN */
   [0xd71, 0xd71], /* MALAYALAM NUMBER ONE HUNDRED */
   [0xd72, 0xd72], /* MALAYALAM NUMBER ONE THOUSAND */
   [0xd73, 0xd73], /* MALAYALAM FRACTION ONE QUARTER */
   [0xd74, 0xd74], /* MALAYALAM FRACTION ONE HALF */
   [0xd75, 0xd75], /* MALAYALAM FRACTION THREE QUARTERS */
-  [0xd76, 0xd76],
-  [0xd77, 0xd77],
-  [0xd78, 0xd78],
+  [0xd76, 0xd76], /* MALAYALAM FRACTION ONE SIXTEENTH */
+  [0xd77, 0xd77], /* MALAYALAM FRACTION ONE EIGHTH */
+  [0xd78, 0xd78], /* MALAYALAM FRACTION THREE SIXTEENTHS */
   [0xd79, 0xd79], /* MALAYALAM DATE MARK */
   [0xd7a, 0xd7a], /* MALAYALAM LETTER CHILLU NN */
   [0xd7b, 0xd7b], /* MALAYALAM LETTER CHILLU N */
   [0xd7c, 0xd7c], /* MALAYALAM LETTER CHILLU RR */
   [0xd7d, 0xd7d], /* MALAYALAM LETTER CHILLU L */
   [0xd7e, 0xd7e], /* MALAYALAM LETTER CHILLU LL */
   [0xd7f, 0xd7f], /* MALAYALAM LETTER CHILLU K */
   [0xd80, 0xd80],
@@ -3558,26 +3558,26 @@ var mapping = [
   [0xdde, 0xdde], /* SINHALA VOWEL SIGN KOMBUVA HAA GAYANUKITTA */
   [0xddf, 0xddf], /* SINHALA VOWEL SIGN GAYANUKITTA */
   [0xde0, 0xde0],
   [0xde1, 0xde1],
   [0xde2, 0xde2],
   [0xde3, 0xde3],
   [0xde4, 0xde4],
   [0xde5, 0xde5],
-  [0xde6, 0xde6],
-  [0xde7, 0xde7],
-  [0xde8, 0xde8],
-  [0xde9, 0xde9],
-  [0xdea, 0xdea],
-  [0xdeb, 0xdeb],
-  [0xdec, 0xdec],
-  [0xded, 0xded],
-  [0xdee, 0xdee],
-  [0xdef, 0xdef],
+  [0xde6, 0xde6], /* SINHALA LITH DIGIT ZERO */
+  [0xde7, 0xde7], /* SINHALA LITH DIGIT ONE */
+  [0xde8, 0xde8], /* SINHALA LITH DIGIT TWO */
+  [0xde9, 0xde9], /* SINHALA LITH DIGIT THREE */
+  [0xdea, 0xdea], /* SINHALA LITH DIGIT FOUR */
+  [0xdeb, 0xdeb], /* SINHALA LITH DIGIT FIVE */
+  [0xdec, 0xdec], /* SINHALA LITH DIGIT SIX */
+  [0xded, 0xded], /* SINHALA LITH DIGIT SEVEN */
+  [0xdee, 0xdee], /* SINHALA LITH DIGIT EIGHT */
+  [0xdef, 0xdef], /* SINHALA LITH DIGIT NINE */
   [0xdf0, 0xdf0],
   [0xdf1, 0xdf1],
   [0xdf2, 0xdf2], /* SINHALA VOWEL SIGN DIGA GAETTA-PILLA */
   [0xdf3, 0xdf3], /* SINHALA VOWEL SIGN DIGA GAYANUKITTA */
   [0xdf4, 0xdf4], /* SINHALA PUNCTUATION KUNDDALIYA */
   [0xdf5, 0xdf5],
   [0xdf6, 0xdf6],
   [0xdf7, 0xdf7],
@@ -5024,110 +5024,110 @@ var mapping = [
   [0x1398, 0x1398], /* ETHIOPIC TONAL MARK DERET-HIDET */
   [0x1399, 0x1399], /* ETHIOPIC TONAL MARK KURT */
   [0x139a, 0x139a],
   [0x139b, 0x139b],
   [0x139c, 0x139c],
   [0x139d, 0x139d],
   [0x139e, 0x139e],
   [0x139f, 0x139f],
-  [0x13a0, 0x13a0], /* CHEROKEE LETTER A */
-  [0x13a1, 0x13a1], /* CHEROKEE LETTER E */
-  [0x13a2, 0x13a2], /* CHEROKEE LETTER I */
-  [0x13a3, 0x13a3], /* CHEROKEE LETTER O */
-  [0x13a4, 0x13a4], /* CHEROKEE LETTER U */
-  [0x13a5, 0x13a5], /* CHEROKEE LETTER V */
-  [0x13a6, 0x13a6], /* CHEROKEE LETTER GA */
-  [0x13a7, 0x13a7], /* CHEROKEE LETTER KA */
-  [0x13a8, 0x13a8], /* CHEROKEE LETTER GE */
-  [0x13a9, 0x13a9], /* CHEROKEE LETTER GI */
-  [0x13aa, 0x13aa], /* CHEROKEE LETTER GO */
-  [0x13ab, 0x13ab], /* CHEROKEE LETTER GU */
-  [0x13ac, 0x13ac], /* CHEROKEE LETTER GV */
-  [0x13ad, 0x13ad], /* CHEROKEE LETTER HA */
-  [0x13ae, 0x13ae], /* CHEROKEE LETTER HE */
-  [0x13af, 0x13af], /* CHEROKEE LETTER HI */
-  [0x13b0, 0x13b0], /* CHEROKEE LETTER HO */
-  [0x13b1, 0x13b1], /* CHEROKEE LETTER HU */
-  [0x13b2, 0x13b2], /* CHEROKEE LETTER HV */
-  [0x13b3, 0x13b3], /* CHEROKEE LETTER LA */
-  [0x13b4, 0x13b4], /* CHEROKEE LETTER LE */
-  [0x13b5, 0x13b5], /* CHEROKEE LETTER LI */
-  [0x13b6, 0x13b6], /* CHEROKEE LETTER LO */
-  [0x13b7, 0x13b7], /* CHEROKEE LETTER LU */
-  [0x13b8, 0x13b8], /* CHEROKEE LETTER LV */
-  [0x13b9, 0x13b9], /* CHEROKEE LETTER MA */
-  [0x13ba, 0x13ba], /* CHEROKEE LETTER ME */
-  [0x13bb, 0x13bb], /* CHEROKEE LETTER MI */
-  [0x13bc, 0x13bc], /* CHEROKEE LETTER MO */
-  [0x13bd, 0x13bd], /* CHEROKEE LETTER MU */
-  [0x13be, 0x13be], /* CHEROKEE LETTER NA */
-  [0x13bf, 0x13bf], /* CHEROKEE LETTER HNA */
-  [0x13c0, 0x13c0], /* CHEROKEE LETTER NAH */
-  [0x13c1, 0x13c1], /* CHEROKEE LETTER NE */
-  [0x13c2, 0x13c2], /* CHEROKEE LETTER NI */
-  [0x13c3, 0x13c3], /* CHEROKEE LETTER NO */
-  [0x13c4, 0x13c4], /* CHEROKEE LETTER NU */
-  [0x13c5, 0x13c5], /* CHEROKEE LETTER NV */
-  [0x13c6, 0x13c6], /* CHEROKEE LETTER QUA */
-  [0x13c7, 0x13c7], /* CHEROKEE LETTER QUE */
-  [0x13c8, 0x13c8], /* CHEROKEE LETTER QUI */
-  [0x13c9, 0x13c9], /* CHEROKEE LETTER QUO */
-  [0x13ca, 0x13ca], /* CHEROKEE LETTER QUU */
-  [0x13cb, 0x13cb], /* CHEROKEE LETTER QUV */
-  [0x13cc, 0x13cc], /* CHEROKEE LETTER SA */
-  [0x13cd, 0x13cd], /* CHEROKEE LETTER S */
-  [0x13ce, 0x13ce], /* CHEROKEE LETTER SE */
-  [0x13cf, 0x13cf], /* CHEROKEE LETTER SI */
-  [0x13d0, 0x13d0], /* CHEROKEE LETTER SO */
-  [0x13d1, 0x13d1], /* CHEROKEE LETTER SU */
-  [0x13d2, 0x13d2], /* CHEROKEE LETTER SV */
-  [0x13d3, 0x13d3], /* CHEROKEE LETTER DA */
-  [0x13d4, 0x13d4], /* CHEROKEE LETTER TA */
-  [0x13d5, 0x13d5], /* CHEROKEE LETTER DE */
-  [0x13d6, 0x13d6], /* CHEROKEE LETTER TE */
-  [0x13d7, 0x13d7], /* CHEROKEE LETTER DI */
-  [0x13d8, 0x13d8], /* CHEROKEE LETTER TI */
-  [0x13d9, 0x13d9], /* CHEROKEE LETTER DO */
-  [0x13da, 0x13da], /* CHEROKEE LETTER DU */
-  [0x13db, 0x13db], /* CHEROKEE LETTER DV */
-  [0x13dc, 0x13dc], /* CHEROKEE LETTER DLA */
-  [0x13dd, 0x13dd], /* CHEROKEE LETTER TLA */
-  [0x13de, 0x13de], /* CHEROKEE LETTER TLE */
-  [0x13df, 0x13df], /* CHEROKEE LETTER TLI */
-  [0x13e0, 0x13e0], /* CHEROKEE LETTER TLO */
-  [0x13e1, 0x13e1], /* CHEROKEE LETTER TLU */
-  [0x13e2, 0x13e2], /* CHEROKEE LETTER TLV */
-  [0x13e3, 0x13e3], /* CHEROKEE LETTER TSA */
-  [0x13e4, 0x13e4], /* CHEROKEE LETTER TSE */
-  [0x13e5, 0x13e5], /* CHEROKEE LETTER TSI */
-  [0x13e6, 0x13e6], /* CHEROKEE LETTER TSO */
-  [0x13e7, 0x13e7], /* CHEROKEE LETTER TSU */
-  [0x13e8, 0x13e8], /* CHEROKEE LETTER TSV */
-  [0x13e9, 0x13e9], /* CHEROKEE LETTER WA */
-  [0x13ea, 0x13ea], /* CHEROKEE LETTER WE */
-  [0x13eb, 0x13eb], /* CHEROKEE LETTER WI */
-  [0x13ec, 0x13ec], /* CHEROKEE LETTER WO */
-  [0x13ed, 0x13ed], /* CHEROKEE LETTER WU */
-  [0x13ee, 0x13ee], /* CHEROKEE LETTER WV */
-  [0x13ef, 0x13ef], /* CHEROKEE LETTER YA */
-  [0x13f0, 0x13f0], /* CHEROKEE LETTER YE */
-  [0x13f1, 0x13f1], /* CHEROKEE LETTER YI */
-  [0x13f2, 0x13f2], /* CHEROKEE LETTER YO */
-  [0x13f3, 0x13f3], /* CHEROKEE LETTER YU */
-  [0x13f4, 0x13f4], /* CHEROKEE LETTER YV */
-  [0x13f5, 0x13f5],
+  [0x13a0, 0xab70], /* CHEROKEE LETTER A */
+  [0x13a1, 0xab71], /* CHEROKEE LETTER E */
+  [0x13a2, 0xab72], /* CHEROKEE LETTER I */
+  [0x13a3, 0xab73], /* CHEROKEE LETTER O */
+  [0x13a4, 0xab74], /* CHEROKEE LETTER U */
+  [0x13a5, 0xab75], /* CHEROKEE LETTER V */
+  [0x13a6, 0xab76], /* CHEROKEE LETTER GA */
+  [0x13a7, 0xab77], /* CHEROKEE LETTER KA */
+  [0x13a8, 0xab78], /* CHEROKEE LETTER GE */
+  [0x13a9, 0xab79], /* CHEROKEE LETTER GI */
+  [0x13aa, 0xab7a], /* CHEROKEE LETTER GO */
+  [0x13ab, 0xab7b], /* CHEROKEE LETTER GU */
+  [0x13ac, 0xab7c], /* CHEROKEE LETTER GV */
+  [0x13ad, 0xab7d], /* CHEROKEE LETTER HA */
+  [0x13ae, 0xab7e], /* CHEROKEE LETTER HE */
+  [0x13af, 0xab7f], /* CHEROKEE LETTER HI */
+  [0x13b0, 0xab80], /* CHEROKEE LETTER HO */
+  [0x13b1, 0xab81], /* CHEROKEE LETTER HU */
+  [0x13b2, 0xab82], /* CHEROKEE LETTER HV */
+  [0x13b3, 0xab83], /* CHEROKEE LETTER LA */
+  [0x13b4, 0xab84], /* CHEROKEE LETTER LE */
+  [0x13b5, 0xab85], /* CHEROKEE LETTER LI */
+  [0x13b6, 0xab86], /* CHEROKEE LETTER LO */
+  [0x13b7, 0xab87], /* CHEROKEE LETTER LU */
+  [0x13b8, 0xab88], /* CHEROKEE LETTER LV */
+  [0x13b9, 0xab89], /* CHEROKEE LETTER MA */
+  [0x13ba, 0xab8a], /* CHEROKEE LETTER ME */
+  [0x13bb, 0xab8b], /* CHEROKEE LETTER MI */
+  [0x13bc, 0xab8c], /* CHEROKEE LETTER MO */
+  [0x13bd, 0xab8d], /* CHEROKEE LETTER MU */
+  [0x13be, 0xab8e], /* CHEROKEE LETTER NA */
+  [0x13bf, 0xab8f], /* CHEROKEE LETTER HNA */
+  [0x13c0, 0xab90], /* CHEROKEE LETTER NAH */
+  [0x13c1, 0xab91], /* CHEROKEE LETTER NE */
+  [0x13c2, 0xab92], /* CHEROKEE LETTER NI */
+  [0x13c3, 0xab93], /* CHEROKEE LETTER NO */
+  [0x13c4, 0xab94], /* CHEROKEE LETTER NU */
+  [0x13c5, 0xab95], /* CHEROKEE LETTER NV */
+  [0x13c6, 0xab96], /* CHEROKEE LETTER QUA */
+  [0x13c7, 0xab97], /* CHEROKEE LETTER QUE */
+  [0x13c8, 0xab98], /* CHEROKEE LETTER QUI */
+  [0x13c9, 0xab99], /* CHEROKEE LETTER QUO */
+  [0x13ca, 0xab9a], /* CHEROKEE LETTER QUU */
+  [0x13cb, 0xab9b], /* CHEROKEE LETTER QUV */
+  [0x13cc, 0xab9c], /* CHEROKEE LETTER SA */
+  [0x13cd, 0xab9d], /* CHEROKEE LETTER S */
+  [0x13ce, 0xab9e], /* CHEROKEE LETTER SE */
+  [0x13cf, 0xab9f], /* CHEROKEE LETTER SI */
+  [0x13d0, 0xaba0], /* CHEROKEE LETTER SO */
+  [0x13d1, 0xaba1], /* CHEROKEE LETTER SU */
+  [0x13d2, 0xaba2], /* CHEROKEE LETTER SV */
+  [0x13d3, 0xaba3], /* CHEROKEE LETTER DA */
+  [0x13d4, 0xaba4], /* CHEROKEE LETTER TA */
+  [0x13d5, 0xaba5], /* CHEROKEE LETTER DE */
+  [0x13d6, 0xaba6], /* CHEROKEE LETTER TE */
+  [0x13d7, 0xaba7], /* CHEROKEE LETTER DI */
+  [0x13d8, 0xaba8], /* CHEROKEE LETTER TI */
+  [0x13d9, 0xaba9], /* CHEROKEE LETTER DO */
+  [0x13da, 0xabaa], /* CHEROKEE LETTER DU */
+  [0x13db, 0xabab], /* CHEROKEE LETTER DV */
+  [0x13dc, 0xabac], /* CHEROKEE LETTER DLA */
+  [0x13dd, 0xabad], /* CHEROKEE LETTER TLA */
+  [0x13de, 0xabae], /* CHEROKEE LETTER TLE */
+  [0x13df, 0xabaf], /* CHEROKEE LETTER TLI */
+  [0x13e0, 0xabb0], /* CHEROKEE LETTER TLO */
+  [0x13e1, 0xabb1], /* CHEROKEE LETTER TLU */
+  [0x13e2, 0xabb2], /* CHEROKEE LETTER TLV */
+  [0x13e3, 0xabb3], /* CHEROKEE LETTER TSA */
+  [0x13e4, 0xabb4], /* CHEROKEE LETTER TSE */
+  [0x13e5, 0xabb5], /* CHEROKEE LETTER TSI */
+  [0x13e6, 0xabb6], /* CHEROKEE LETTER TSO */
+  [0x13e7, 0xabb7], /* CHEROKEE LETTER TSU */
+  [0x13e8, 0xabb8], /* CHEROKEE LETTER TSV */
+  [0x13e9, 0xabb9], /* CHEROKEE LETTER WA */
+  [0x13ea, 0xabba], /* CHEROKEE LETTER WE */
+  [0x13eb, 0xabbb], /* CHEROKEE LETTER WI */
+  [0x13ec, 0xabbc], /* CHEROKEE LETTER WO */
+  [0x13ed, 0xabbd], /* CHEROKEE LETTER WU */
+  [0x13ee, 0xabbe], /* CHEROKEE LETTER WV */
+  [0x13ef, 0xabbf], /* CHEROKEE LETTER YA */
+  [0x13f0, 0x13f8], /* CHEROKEE LETTER YE */
+  [0x13f1, 0x13f9], /* CHEROKEE LETTER YI */
+  [0x13f2, 0x13fa], /* CHEROKEE LETTER YO */
+  [0x13f3, 0x13fb], /* CHEROKEE LETTER YU */
+  [0x13f4, 0x13fc], /* CHEROKEE LETTER YV */
+  [0x13f5, 0x13fd], /* CHEROKEE LETTER MV */
   [0x13f6, 0x13f6],
   [0x13f7, 0x13f7],
-  [0x13f8, 0x13f8],
-  [0x13f9, 0x13f9],
-  [0x13fa, 0x13fa],
-  [0x13fb, 0x13fb],
-  [0x13fc, 0x13fc],
-  [0x13fd, 0x13fd],
+  [0x13f0, 0x13f8], /* CHEROKEE SMALL LETTER YE */
+  [0x13f1, 0x13f9], /* CHEROKEE SMALL LETTER YI */
+  [0x13f2, 0x13fa], /* CHEROKEE SMALL LETTER YO */
+  [0x13f3, 0x13fb], /* CHEROKEE SMALL LETTER YU */
+  [0x13f4, 0x13fc], /* CHEROKEE SMALL LETTER YV */
+  [0x13f5, 0x13fd], /* CHEROKEE SMALL LETTER MV */
   [0x13fe, 0x13fe],
   [0x13ff, 0x13ff],
   [0x1400, 0x1400], /* CANADIAN SYLLABICS HYPHEN */
   [0x1401, 0x1401], /* CANADIAN SYLLABICS E */
   [0x1402, 0x1402], /* CANADIAN SYLLABICS AAI */
   [0x1403, 0x1403], /* CANADIAN SYLLABICS I */
   [0x1404, 0x1404], /* CANADIAN SYLLABICS II */
   [0x1405, 0x1405], /* CANADIAN SYLLABICS O */
@@ -5873,24 +5873,24 @@ var mapping = [
   [0x16e9, 0x16e9], /* RUNIC LETTER Q */
   [0x16ea, 0x16ea], /* RUNIC LETTER X */
   [0x16eb, 0x16eb], /* RUNIC SINGLE PUNCTUATION */
   [0x16ec, 0x16ec], /* RUNIC MULTIPLE PUNCTUATION */
   [0x16ed, 0x16ed], /* RUNIC CROSS PUNCTUATION */
   [0x16ee, 0x16ee], /* RUNIC ARLAUG SYMBOL */
   [0x16ef, 0x16ef], /* RUNIC TVIMADUR SYMBOL */
   [0x16f0, 0x16f0], /* RUNIC BELGTHOR SYMBOL */
-  [0x16f1, 0x16f1],
-  [0x16f2, 0x16f2],
-  [0x16f3, 0x16f3],
-  [0x16f4, 0x16f4],
-  [0x16f5, 0x16f5],
-  [0x16f6, 0x16f6],
-  [0x16f7, 0x16f7],
-  [0x16f8, 0x16f8],
+  [0x16f1, 0x16f1], /* RUNIC LETTER K */
+  [0x16f2, 0x16f2], /* RUNIC LETTER SH */
+  [0x16f3, 0x16f3], /* RUNIC LETTER OO */
+  [0x16f4, 0x16f4], /* RUNIC LETTER FRANKS CASKET OS */
+  [0x16f5, 0x16f5], /* RUNIC LETTER FRANKS CASKET IS */
+  [0x16f6, 0x16f6], /* RUNIC LETTER FRANKS CASKET EH */
+  [0x16f7, 0x16f7], /* RUNIC LETTER FRANKS CASKET AC */
+  [0x16f8, 0x16f8], /* RUNIC LETTER FRANKS CASKET AESC */
   [0x16f9, 0x16f9],
   [0x16fa, 0x16fa],
   [0x16fb, 0x16fb],
   [0x16fc, 0x16fc],
   [0x16fd, 0x16fd],
   [0x16fe, 0x16fe],
   [0x16ff, 0x16ff],
   [0x1700, 0x1700], /* TAGALOG LETTER A */
@@ -6429,18 +6429,18 @@ var mapping = [
   [0x1915, 0x1915], /* LIMBU LETTER YA */
   [0x1916, 0x1916], /* LIMBU LETTER RA */
   [0x1917, 0x1917], /* LIMBU LETTER LA */
   [0x1918, 0x1918], /* LIMBU LETTER WA */
   [0x1919, 0x1919], /* LIMBU LETTER SHA */
   [0x191a, 0x191a], /* LIMBU LETTER SSA */
   [0x191b, 0x191b], /* LIMBU LETTER SA */
   [0x191c, 0x191c], /* LIMBU LETTER HA */
-  [0x191d, 0x191d],
-  [0x191e, 0x191e],
+  [0x191d, 0x191d], /* LIMBU LETTER GYAN */
+  [0x191e, 0x191e], /* LIMBU LETTER TRA */
   [0x191f, 0x191f],
   [0x1920, 0x1920], /* LIMBU VOWEL SIGN A */
   [0x1921, 0x1921], /* LIMBU VOWEL SIGN I */
   [0x1922, 0x1922], /* LIMBU VOWEL SIGN U */
   [0x1923, 0x1923], /* LIMBU VOWEL SIGN EE */
   [0x1924, 0x1924], /* LIMBU VOWEL SIGN AI */
   [0x1925, 0x1925], /* LIMBU VOWEL SIGN OO */
   [0x1926, 0x1926], /* LIMBU VOWEL SIGN AU */
@@ -6832,31 +6832,31 @@ var mapping = [
   [0x1aa8, 0x1aa8], /* TAI THAM SIGN KAAN */
   [0x1aa9, 0x1aa9], /* TAI THAM SIGN KAANKUU */
   [0x1aaa, 0x1aaa], /* TAI THAM SIGN SATKAAN */
   [0x1aab, 0x1aab], /* TAI THAM SIGN SATKAANKUU */
   [0x1aac, 0x1aac], /* TAI THAM SIGN HANG */
   [0x1aad, 0x1aad], /* TAI THAM SIGN CAANG */
   [0x1aae, 0x1aae],
   [0x1aaf, 0x1aaf],
-  [0x1ab0, 0x1ab0],
-  [0x1ab1, 0x1ab1],
-  [0x1ab2, 0x1ab2],
-  [0x1ab3, 0x1ab3],
-  [0x1ab4, 0x1ab4],
-  [0x1ab5, 0x1ab5],
-  [0x1ab6, 0x1ab6],
-  [0x1ab7, 0x1ab7],
-  [0x1ab8, 0x1ab8],
-  [0x1ab9, 0x1ab9],
-  [0x1aba, 0x1aba],
-  [0x1abb, 0x1abb],
-  [0x1abc, 0x1abc],
-  [0x1abd, 0x1abd],
-  [0x1abe, 0x1abe],
+  [0x1ab0, 0x1ab0], /* COMBINING DOUBLED CIRCUMFLEX ACCENT */
+  [0x1ab1, 0x1ab1], /* COMBINING DIAERESIS-RING */
+  [0x1ab2, 0x1ab2], /* COMBINING INFINITY */
+  [0x1ab3, 0x1ab3], /* COMBINING DOWNWARDS ARROW */
+  [0x1ab4, 0x1ab4], /* COMBINING TRIPLE DOT */
+  [0x1ab5, 0x1ab5], /* COMBINING X-X BELOW */
+  [0x1ab6, 0x1ab6], /* COMBINING WIGGLY LINE BELOW */
+  [0x1ab7, 0x1ab7], /* COMBINING OPEN MARK BELOW */
+  [0x1ab8, 0x1ab8], /* COMBINING DOUBLE OPEN MARK BELOW */
+  [0x1ab9, 0x1ab9], /* COMBINING LIGHT CENTRALIZATION STROKE BELOW */
+  [0x1aba, 0x1aba], /* COMBINING STRONG CENTRALIZATION STROKE BELOW */
+  [0x1abb, 0x1abb], /* COMBINING PARENTHESES ABOVE */
+  [0x1abc, 0x1abc], /* COMBINING DOUBLE PARENTHESES ABOVE */
+  [0x1abd, 0x1abd], /* COMBINING PARENTHESES BELOW */
+  [0x1abe, 0x1abe], /* COMBINING PARENTHESES OVERLAY */
   [0x1abf, 0x1abf],
   [0x1ac0, 0x1ac0],
   [0x1ac1, 0x1ac1],
   [0x1ac2, 0x1ac2],
   [0x1ac3, 0x1ac3],
   [0x1ac4, 0x1ac4],
   [0x1ac5, 0x1ac5],
   [0x1ac6, 0x1ac6],
@@ -7296,25 +7296,25 @@ var mapping = [
   [0x1c78, 0x1c78], /* OL CHIKI MU TTUDDAG */
   [0x1c79, 0x1c79], /* OL CHIKI GAAHLAA TTUDDAAG */
   [0x1c7a, 0x1c7a], /* OL CHIKI MU-GAAHLAA TTUDDAAG */
   [0x1c7b, 0x1c7b], /* OL CHIKI RELAA */
   [0x1c7c, 0x1c7c], /* OL CHIKI PHAARKAA */
   [0x1c7d, 0x1c7d], /* OL CHIKI AHAD */
   [0x1c7e, 0x1c7e], /* OL CHIKI PUNCTUATION MUCAAD */
   [0x1c7f, 0x1c7f], /* OL CHIKI PUNCTUATION DOUBLE MUCAAD */
-  [0x1c80, 0x1c80],
-  [0x1c81, 0x1c81],
-  [0x1c82, 0x1c82],
-  [0x1c83, 0x1c83],
-  [0x1c84, 0x1c84],
-  [0x1c85, 0x1c85],
-  [0x1c86, 0x1c86],
-  [0x1c87, 0x1c87],
-  [0x1c88, 0x1c88],
+  [0x412, 0x1c80], /* CYRILLIC SMALL LETTER ROUNDED VE */
+  [0x414, 0x1c81], /* CYRILLIC SMALL LETTER LONG-LEGGED DE */
+  [0x41e, 0x1c82], /* CYRILLIC SMALL LETTER NARROW O */
+  [0x421, 0x1c83], /* CYRILLIC SMALL LETTER WIDE ES */
+  [0x422, 0x1c84], /* CYRILLIC SMALL LETTER TALL TE */
+  [0x422, 0x1c85], /* CYRILLIC SMALL LETTER THREE-LEGGED TE */
+  [0x42a, 0x1c86], /* CYRILLIC SMALL LETTER TALL HARD SIGN */
+  [0x462, 0x1c87], /* CYRILLIC SMALL LETTER TALL YAT */
+  [0xa64a, 0x1c88], /* CYRILLIC SMALL LETTER UNBLENDED UK */
   [0x1c89, 0x1c89],
   [0x1c8a, 0x1c8a],
   [0x1c8b, 0x1c8b],
   [0x1c8c, 0x1c8c],
   [0x1c8d, 0x1c8d],
   [0x1c8e, 0x1c8e],
   [0x1c8f, 0x1c8f],
   [0x1c90, 0x1c90],
@@ -7416,18 +7416,18 @@ var mapping = [
   [0x1cf0, 0x1cf0], /* VEDIC SIGN RTHANG LONG ANUSVARA */
   [0x1cf1, 0x1cf1], /* VEDIC SIGN ANUSVARA UBHAYATO MUKHA */
   [0x1cf2, 0x1cf2], /* VEDIC SIGN ARDHAVISARGA */
   [0x1cf3, 0x1cf3], /* VEDIC SIGN ROTATED ARDHAVISARGA */
   [0x1cf4, 0x1cf4], /* VEDIC TONE CANDRA ABOVE */
   [0x1cf5, 0x1cf5], /* VEDIC SIGN JIHVAMULIYA */
   [0x1cf6, 0x1cf6], /* VEDIC SIGN UPADHMANIYA */
   [0x1cf7, 0x1cf7],
-  [0x1cf8, 0x1cf8],
-  [0x1cf9, 0x1cf9],
+  [0x1cf8, 0x1cf8], /* VEDIC TONE RING ABOVE */
+  [0x1cf9, 0x1cf9], /* VEDIC TONE DOUBLE RING ABOVE */
   [0x1cfa, 0x1cfa],
   [0x1cfb, 0x1cfb],
   [0x1cfc, 0x1cfc],
   [0x1cfd, 0x1cfd],
   [0x1cfe, 0x1cfe],
   [0x1cff, 0x1cff],
   [0x1d00, 0x1d00], /* LATIN LETTER SMALL CAPITAL A */
   [0x1d01, 0x1d01], /* LATIN LETTER SMALL CAPITAL AE */
@@ -7655,37 +7655,37 @@ var mapping = [
   [0x1ddf, 0x1ddf], /* COMBINING LATIN LETTER SMALL CAPITAL M */
   [0x1de0, 0x1de0], /* COMBINING LATIN SMALL LETTER N */
   [0x1de1, 0x1de1], /* COMBINING LATIN LETTER SMALL CAPITAL N */
   [0x1de2, 0x1de2], /* COMBINING LATIN LETTER SMALL CAPITAL R */
   [0x1de3, 0x1de3], /* COMBINING LATIN SMALL LETTER R ROTUNDA */
   [0x1de4, 0x1de4], /* COMBINING LATIN SMALL LETTER S */
   [0x1de5, 0x1de5], /* COMBINING LATIN SMALL LETTER LONG S */
   [0x1de6, 0x1de6], /* COMBINING LATIN SMALL LETTER Z */
-  [0x1de7, 0x1de7],
-  [0x1de8, 0x1de8],
-  [0x1de9, 0x1de9],
-  [0x1dea, 0x1dea],
-  [0x1deb, 0x1deb],
-  [0x1dec, 0x1dec],
-  [0x1ded, 0x1ded],
-  [0x1dee, 0x1dee],
-  [0x1def, 0x1def],
-  [0x1df0, 0x1df0],
-  [0x1df1, 0x1df1],
-  [0x1df2, 0x1df2],
-  [0x1df3, 0x1df3],
-  [0x1df4, 0x1df4],
-  [0x1df5, 0x1df5],
+  [0x1de7, 0x1de7], /* COMBINING LATIN SMALL LETTER ALPHA */
+  [0x1de8, 0x1de8], /* COMBINING LATIN SMALL LETTER B */
+  [0x1de9, 0x1de9], /* COMBINING LATIN SMALL LETTER BETA */
+  [0x1dea, 0x1dea], /* COMBINING LATIN SMALL LETTER SCHWA */
+  [0x1deb, 0x1deb], /* COMBINING LATIN SMALL LETTER F */
+  [0x1dec, 0x1dec], /* COMBINING LATIN SMALL LETTER L WITH DOUBLE MIDDLE TILDE */
+  [0x1ded, 0x1ded], /* COMBINING LATIN SMALL LETTER O WITH LIGHT CENTRALIZATION STROKE */
+  [0x1dee, 0x1dee], /* COMBINING LATIN SMALL LETTER P */
+  [0x1def, 0x1def], /* COMBINING LATIN SMALL LETTER ESH */
+  [0x1df0, 0x1df0], /* COMBINING LATIN SMALL LETTER U WITH LIGHT CENTRALIZATION STROKE */
+  [0x1df1, 0x1df1], /* COMBINING LATIN SMALL LETTER W */
+  [0x1df2, 0x1df2], /* COMBINING LATIN SMALL LETTER A WITH DIAERESIS */
+  [0x1df3, 0x1df3], /* COMBINING LATIN SMALL LETTER O WITH DIAERESIS */
+  [0x1df4, 0x1df4], /* COMBINING LATIN SMALL LETTER U WITH DIAERESIS */
+  [0x1df5, 0x1df5], /* COMBINING UP TACK ABOVE */
   [0x1df6, 0x1df6],
   [0x1df7, 0x1df7],
   [0x1df8, 0x1df8],
   [0x1df9, 0x1df9],
   [0x1dfa, 0x1dfa],
-  [0x1dfb, 0x1dfb],
+  [0x1dfb, 0x1dfb], /* COMBINING DELETION MARK */
   [0x1dfc, 0x1dfc], /* COMBINING DOUBLE INVERTED BREVE BELOW */
   [0x1dfd, 0x1dfd], /* COMBINING ALMOST EQUAL TO BELOW */
   [0x1dfe, 0x1dfe], /* COMBINING LEFT ARROWHEAD ABOVE */
   [0x1dff, 0x1dff], /* COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW */
   [0x1e00, 0x1e01], /* LATIN CAPITAL LETTER A WITH RING BELOW */
   [0x1e00, 0x1e01], /* LATIN SMALL LETTER A WITH RING BELOW */
   [0x1e02, 0x1e03], /* LATIN CAPITAL LETTER B WITH DOT ABOVE */
   [0x1e02, 0x1e03], /* LATIN SMALL LETTER B WITH DOT ABOVE */
@@ -8294,20 +8294,20 @@ var mapping = [
   [0x205e, 0x205e], /* VERTICAL FOUR DOTS */
   [0x205f, 0x205f], /* MEDIUM MATHEMATICAL SPACE */
   [0x2060, 0x2060], /* WORD JOINER */
   [0x2061, 0x2061], /* FUNCTION APPLICATION */
   [0x2062, 0x2062], /* INVISIBLE TIMES */
   [0x2063, 0x2063], /* INVISIBLE SEPARATOR */
   [0x2064, 0x2064], /* INVISIBLE PLUS */
   [0x2065, 0x2065],
-  [0x2066, 0x2066],
-  [0x2067, 0x2067],
-  [0x2068, 0x2068],
-  [0x2069, 0x2069],
+  [0x2066, 0x2066], /* LEFT-TO-RIGHT ISOLATE */
+  [0x2067, 0x2067], /* RIGHT-TO-LEFT ISOLATE */
+  [0x2068, 0x2068], /* FIRST STRONG ISOLATE */
+  [0x2069, 0x2069], /* POP DIRECTIONAL ISOLATE */
   [0x206a, 0x206a], /* INHIBIT SYMMETRIC SWAPPING */
   [0x206b, 0x206b], /* ACTIVATE SYMMETRIC SWAPPING */
   [0x206c, 0x206c], /* INHIBIT ARABIC FORM SHAPING */
   [0x206d, 0x206d], /* ACTIVATE ARABIC FORM SHAPING */
   [0x206e, 0x206e], /* NATIONAL DIGIT SHAPES */
   [0x206f, 0x206f], /* NOMINAL DIGIT SHAPES */
   [0x2070, 0x2070], /* SUPERSCRIPT ZERO (SUPERSCRIPT DIGIT ZERO) */
   [0x2071, 0x2071], /* SUPERSCRIPT LATIN SMALL LETTER I */
@@ -8379,20 +8379,20 @@ var mapping = [
   [0x20b3, 0x20b3], /* AUSTRAL SIGN */
   [0x20b4, 0x20b4], /* HRYVNIA SIGN */
   [0x20b5, 0x20b5], /* CEDI SIGN */
   [0x20b6, 0x20b6], /* LIVRE TOURNOIS SIGN */
   [0x20b7, 0x20b7], /* SPESMILO SIGN */
   [0x20b8, 0x20b8], /* TENGE SIGN */
   [0x20b9, 0x20b9], /* INDIAN RUPEE SIGN */
   [0x20ba, 0x20ba], /* TURKISH LIRA SIGN */
-  [0x20bb, 0x20bb],
-  [0x20bc, 0x20bc],
-  [0x20bd, 0x20bd],
-  [0x20be, 0x20be],
+  [0x20bb, 0x20bb], /* NORDIC MARK SIGN */
+  [0x20bc, 0x20bc], /* MANAT SIGN */
+  [0x20bd, 0x20bd], /* RUBLE SIGN */
+  [0x20be, 0x20be], /* LARI SIGN */
   [0x20bf, 0x20bf],
   [0x20c0, 0x20c0],
   [0x20c1, 0x20c1],
   [0x20c2, 0x20c2],
   [0x20c3, 0x20c3],
   [0x20c4, 0x20c4],
   [0x20c5, 0x20c5],
   [0x20c6, 0x20c6],
@@ -8586,18 +8586,18 @@ var mapping = [
   [0x2182, 0x2182], /* ROMAN NUMERAL TEN THOUSAND */
   [0x2183, 0x2184], /* ROMAN NUMERAL REVERSED ONE HUNDRED */
   [0x2183, 0x2184], /* LATIN SMALL LETTER REVERSED C */
   [0x2185, 0x2185], /* ROMAN NUMERAL SIX LATE FORM */
   [0x2186, 0x2186], /* ROMAN NUMERAL FIFTY EARLY FORM */
   [0x2187, 0x2187], /* ROMAN NUMERAL FIFTY THOUSAND */
   [0x2188, 0x2188], /* ROMAN NUMERAL ONE HUNDRED THOUSAND */
   [0x2189, 0x2189], /* VULGAR FRACTION ZERO THIRDS */
-  [0x218a, 0x218a],
-  [0x218b, 0x218b],
+  [0x218a, 0x218a], /* TURNED DIGIT TWO */
+  [0x218b, 0x218b], /* TURNED DIGIT THREE */
   [0x218c, 0x218c],
   [0x218d, 0x218d],
   [0x218e, 0x218e],
   [0x218f, 0x218f],
   [0x2190, 0x2190], /* LEFTWARDS ARROW (LEFT ARROW) */
   [0x2191, 0x2191], /* UPWARDS ARROW (UP ARROW) */
   [0x2192, 0x2192], /* RIGHTWARDS ARROW (RIGHT ARROW) */
   [0x2193, 0x2193], /* DOWNWARDS ARROW (DOWN ARROW) */
@@ -9204,27 +9204,27 @@ var mapping = [
   [0x23ec, 0x23ec], /* BLACK DOWN-POINTING DOUBLE TRIANGLE */
   [0x23ed, 0x23ed], /* BLACK RIGHT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR */
   [0x23ee, 0x23ee], /* BLACK LEFT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR */
   [0x23ef, 0x23ef], /* BLACK RIGHT-POINTING TRIANGLE WITH DOUBLE VERTICAL BAR */
   [0x23f0, 0x23f0], /* ALARM CLOCK */
   [0x23f1, 0x23f1], /* STOPWATCH */
   [0x23f2, 0x23f2], /* TIMER CLOCK */
   [0x23f3, 0x23f3], /* HOURGLASS WITH FLOWING SAND */
-  [0x23f4, 0x23f4],
-  [0x23f5, 0x23f5],
-  [0x23f6, 0x23f6],
-  [0x23f7, 0x23f7],
-  [0x23f8, 0x23f8],
-  [0x23f9, 0x23f9],
-  [0x23fa, 0x23fa],
-  [0x23fb, 0x23fb],
-  [0x23fc, 0x23fc],
-  [0x23fd, 0x23fd],
-  [0x23fe, 0x23fe],
+  [0x23f4, 0x23f4], /* BLACK MEDIUM LEFT-POINTING TRIANGLE */
+  [0x23f5, 0x23f5], /* BLACK MEDIUM RIGHT-POINTING TRIANGLE */
+  [0x23f6, 0x23f6], /* BLACK MEDIUM UP-POINTING TRIANGLE */
+  [0x23f7, 0x23f7], /* BLACK MEDIUM DOWN-POINTING TRIANGLE */
+  [0x23f8, 0x23f8], /* DOUBLE VERTICAL BAR */
+  [0x23f9, 0x23f9], /* BLACK SQUARE FOR STOP */
+  [0x23fa, 0x23fa], /* BLACK CIRCLE FOR RECORD */
+  [0x23fb, 0x23fb], /* POWER SYMBOL */
+  [0x23fc, 0x23fc], /* POWER ON-OFF SYMBOL */
+  [0x23fd, 0x23fd], /* POWER ON SYMBOL */
+  [0x23fe, 0x23fe], /* POWER SLEEP SYMBOL */
   [0x23ff, 0x23ff],
   [0x2400, 0x2400], /* SYMBOL FOR NULL (GRAPHIC FOR NULL) */
   [0x2401, 0x2401], /* SYMBOL FOR START OF HEADING (GRAPHIC FOR START OF HEADING) */
   [0x2402, 0x2402], /* SYMBOL FOR START OF TEXT (GRAPHIC FOR START OF TEXT) */
   [0x2403, 0x2403], /* SYMBOL FOR END OF TEXT (GRAPHIC FOR END OF TEXT) */
   [0x2404, 0x2404], /* SYMBOL FOR END OF TRANSMISSION (GRAPHIC FOR END OF TRANSMISSION) */
   [0x2405, 0x2405], /* SYMBOL FOR ENQUIRY (GRAPHIC FOR ENQUIRY) */
   [0x2406, 0x2406], /* SYMBOL FOR ACKNOWLEDGE (GRAPHIC FOR ACKNOWLEDGE) */
@@ -9984,17 +9984,17 @@ var mapping = [
   [0x26f8, 0x26f8], /* ICE SKATE */
   [0x26f9, 0x26f9], /* PERSON WITH BALL */
   [0x26fa, 0x26fa], /* TENT */
   [0x26fb, 0x26fb], /* JAPANESE BANK SYMBOL */
   [0x26fc, 0x26fc], /* HEADSTONE GRAVEYARD SYMBOL */
   [0x26fd, 0x26fd], /* FUEL PUMP */
   [0x26fe, 0x26fe], /* CUP ON BLACK SQUARE */
   [0x26ff, 0x26ff], /* WHITE FLAG WITH HORIZONTAL MIDDLE BLACK STRIPE */
-  [0x2700, 0x2700],
+  [0x2700, 0x2700], /* BLACK SAFETY SCISSORS */
   [0x2701, 0x2701], /* UPPER BLADE SCISSORS */
   [0x2702, 0x2702], /* BLACK SCISSORS */
   [0x2703, 0x2703], /* LOWER BLADE SCISSORS */
   [0x2704, 0x2704], /* WHITE SCISSORS */
   [0x2705, 0x2705], /* WHITE HEAVY CHECK MARK */
   [0x2706, 0x2706], /* TELEPHONE LOCATION SIGN */
   [0x2707, 0x2707], /* TAPE DRIVE */
   [0x2708, 0x2708], /* AIRPLANE */
@@ -11085,149 +11085,149 @@ var mapping = [
   [0x2b45, 0x2b45], /* LEFTWARDS QUADRUPLE ARROW */
   [0x2b46, 0x2b46], /* RIGHTWARDS QUADRUPLE ARROW */
   [0x2b47, 0x2b47], /* REVERSE TILDE OPERATOR ABOVE RIGHTWARDS ARROW */
   [0x2b48, 0x2b48], /* RIGHTWARDS ARROW ABOVE REVERSE ALMOST EQUAL TO */
   [0x2b49, 0x2b49], /* TILDE OPERATOR ABOVE LEFTWARDS ARROW */
   [0x2b4a, 0x2b4a], /* LEFTWARDS ARROW ABOVE ALMOST EQUAL TO */
   [0x2b4b, 0x2b4b], /* LEFTWARDS ARROW ABOVE REVERSE TILDE OPERATOR */
   [0x2b4c, 0x2b4c], /* RIGHTWARDS ARROW ABOVE REVERSE TILDE OPERATOR */
-  [0x2b4d, 0x2b4d],
-  [0x2b4e, 0x2b4e],
-  [0x2b4f, 0x2b4f],
+  [0x2b4d, 0x2b4d], /* DOWNWARDS TRIANGLE-HEADED ZIGZAG ARROW */
+  [0x2b4e, 0x2b4e], /* SHORT SLANTED NORTH ARROW */
+  [0x2b4f, 0x2b4f], /* SHORT BACKSLANTED SOUTH ARROW */
   [0x2b50, 0x2b50], /* WHITE MEDIUM STAR */
   [0x2b51, 0x2b51], /* BLACK SMALL STAR */
   [0x2b52, 0x2b52], /* WHITE SMALL STAR */
   [0x2b53, 0x2b53], /* BLACK RIGHT-POINTING PENTAGON */
   [0x2b54, 0x2b54], /* WHITE RIGHT-POINTING PENTAGON */
   [0x2b55, 0x2b55], /* HEAVY LARGE CIRCLE */
   [0x2b56, 0x2b56], /* HEAVY OVAL WITH OVAL INSIDE */
   [0x2b57, 0x2b57], /* HEAVY CIRCLE WITH CIRCLE INSIDE */
   [0x2b58, 0x2b58], /* HEAVY CIRCLE */
   [0x2b59, 0x2b59], /* HEAVY CIRCLED SALTIRE */
-  [0x2b5a, 0x2b5a],
-  [0x2b5b, 0x2b5b],
-  [0x2b5c, 0x2b5c],
-  [0x2b5d, 0x2b5d],
-  [0x2b5e, 0x2b5e],
-  [0x2b5f, 0x2b5f],
-  [0x2b60, 0x2b60],
-  [0x2b61, 0x2b61],
-  [0x2b62, 0x2b62],
-  [0x2b63, 0x2b63],
-  [0x2b64, 0x2b64],
-  [0x2b65, 0x2b65],
-  [0x2b66, 0x2b66],
-  [0x2b67, 0x2b67],
-  [0x2b68, 0x2b68],
-  [0x2b69, 0x2b69],
-  [0x2b6a, 0x2b6a],
-  [0x2b6b, 0x2b6b],
-  [0x2b6c, 0x2b6c],
-  [0x2b6d, 0x2b6d],
-  [0x2b6e, 0x2b6e],
-  [0x2b6f, 0x2b6f],
-  [0x2b70, 0x2b70],
-  [0x2b71, 0x2b71],
-  [0x2b72, 0x2b72],
-  [0x2b73, 0x2b73],
+  [0x2b5a, 0x2b5a], /* SLANTED NORTH ARROW WITH HOOKED HEAD */
+  [0x2b5b, 0x2b5b], /* BACKSLANTED SOUTH ARROW WITH HOOKED TAIL */
+  [0x2b5c, 0x2b5c], /* SLANTED NORTH ARROW WITH HORIZONTAL TAIL */
+  [0x2b5d, 0x2b5d], /* BACKSLANTED SOUTH ARROW WITH HORIZONTAL TAIL */
+  [0x2b5e, 0x2b5e], /* BENT ARROW POINTING DOWNWARDS THEN NORTH EAST */
+  [0x2b5f, 0x2b5f], /* SHORT BENT ARROW POINTING DOWNWARDS THEN NORTH EAST */
+  [0x2b60, 0x2b60], /* LEFTWARDS TRIANGLE-HEADED ARROW */
+  [0x2b61, 0x2b61], /* UPWARDS TRIANGLE-HEADED ARROW */
+  [0x2b62, 0x2b62], /* RIGHTWARDS TRIANGLE-HEADED ARROW */
+  [0x2b63, 0x2b63], /* DOWNWARDS TRIANGLE-HEADED ARROW */
+  [0x2b64, 0x2b64], /* LEFT RIGHT TRIANGLE-HEADED ARROW */
+  [0x2b65, 0x2b65], /* UP DOWN TRIANGLE-HEADED ARROW */
+  [0x2b66, 0x2b66], /* NORTH WEST TRIANGLE-HEADED ARROW */
+  [0x2b67, 0x2b67], /* NORTH EAST TRIANGLE-HEADED ARROW */
+  [0x2b68, 0x2b68], /* SOUTH EAST TRIANGLE-HEADED ARROW */
+  [0x2b69, 0x2b69], /* SOUTH WEST TRIANGLE-HEADED ARROW */
+  [0x2b6a, 0x2b6a], /* LEFTWARDS TRIANGLE-HEADED DASHED ARROW */
+  [0x2b6b, 0x2b6b], /* UPWARDS TRIANGLE-HEADED DASHED ARROW */
+  [0x2b6c, 0x2b6c], /* RIGHTWARDS TRIANGLE-HEADED DASHED ARROW */
+  [0x2b6d, 0x2b6d], /* DOWNWARDS TRIANGLE-HEADED DASHED ARROW */
+  [0x2b6e, 0x2b6e], /* CLOCKWISE TRIANGLE-HEADED OPEN CIRCLE ARROW */
+  [0x2b6f, 0x2b6f], /* ANTICLOCKWISE TRIANGLE-HEADED OPEN CIRCLE ARROW */
+  [0x2b70, 0x2b70], /* LEFTWARDS TRIANGLE-HEADED ARROW TO BAR */
+  [0x2b71, 0x2b71], /* UPWARDS TRIANGLE-HEADED ARROW TO BAR */
+  [0x2b72, 0x2b72], /* RIGHTWARDS TRIANGLE-HEADED ARROW TO BAR */
+  [0x2b73, 0x2b73], /* DOWNWARDS TRIANGLE-HEADED ARROW TO BAR */
   [0x2b74, 0x2b74],
   [0x2b75, 0x2b75],
-  [0x2b76, 0x2b76],
-  [0x2b77, 0x2b77],
-  [0x2b78, 0x2b78],
-  [0x2b79, 0x2b79],
-  [0x2b7a, 0x2b7a],
-  [0x2b7b, 0x2b7b],
-  [0x2b7c, 0x2b7c],
-  [0x2b7d, 0x2b7d],
-  [0x2b7e, 0x2b7e],
-  [0x2b7f, 0x2b7f],
-  [0x2b80, 0x2b80],
-  [0x2b81, 0x2b81],
-  [0x2b82, 0x2b82],
-  [0x2b83, 0x2b83],
-  [0x2b84, 0x2b84],
-  [0x2b85, 0x2b85],
-  [0x2b86, 0x2b86],
-  [0x2b87, 0x2b87],
-  [0x2b88, 0x2b88],
-  [0x2b89, 0x2b89],
-  [0x2b8a, 0x2b8a],
-  [0x2b8b, 0x2b8b],
-  [0x2b8c, 0x2b8c],
-  [0x2b8d, 0x2b8d],
-  [0x2b8e, 0x2b8e],
-  [0x2b8f, 0x2b8f],
-  [0x2b90, 0x2b90],
-  [0x2b91, 0x2b91],
-  [0x2b92, 0x2b92],
-  [0x2b93, 0x2b93],
-  [0x2b94, 0x2b94],
-  [0x2b95, 0x2b95],
+  [0x2b76, 0x2b76], /* NORTH WEST TRIANGLE-HEADED ARROW TO BAR */
+  [0x2b77, 0x2b77], /* NORTH EAST TRIANGLE-HEADED ARROW TO BAR */
+  [0x2b78, 0x2b78], /* SOUTH EAST TRIANGLE-HEADED ARROW TO BAR */
+  [0x2b79, 0x2b79], /* SOUTH WEST TRIANGLE-HEADED ARROW TO BAR */
+  [0x2b7a, 0x2b7a], /* LEFTWARDS TRIANGLE-HEADED ARROW WITH DOUBLE HORIZONTAL STROKE */
+  [0x2b7b, 0x2b7b], /* UPWARDS TRIANGLE-HEADED ARROW WITH DOUBLE HORIZONTAL STROKE */
+  [0x2b7c, 0x2b7c], /* RIGHTWARDS TRIANGLE-HEADED ARROW WITH DOUBLE HORIZONTAL STROKE */
+  [0x2b7d, 0x2b7d], /* DOWNWARDS TRIANGLE-HEADED ARROW WITH DOUBLE HORIZONTAL STROKE */
+  [0x2b7e, 0x2b7e], /* HORIZONTAL TAB KEY */
+  [0x2b7f, 0x2b7f], /* VERTICAL TAB KEY */
+  [0x2b80, 0x2b80], /* LEFTWARDS TRIANGLE-HEADED ARROW OVER RIGHTWARDS TRIANGLE-HEADED ARROW */
+  [0x2b81, 0x2b81], /* UPWARDS TRIANGLE-HEADED ARROW LEFTWARDS OF DOWNWARDS TRIANGLE-HEADED ARROW */
+  [0x2b82, 0x2b82], /* RIGHTWARDS TRIANGLE-HEADED ARROW OVER LEFTWARDS TRIANGLE-HEADED ARROW */
+  [0x2b83, 0x2b83], /* DOWNWARDS TRIANGLE-HEADED ARROW LEFTWARDS OF UPWARDS TRIANGLE-HEADED ARROW */
+  [0x2b84, 0x2b84], /* LEFTWARDS TRIANGLE-HEADED PAIRED ARROWS */
+  [0x2b85, 0x2b85], /* UPWARDS TRIANGLE-HEADED PAIRED ARROWS */
+  [0x2b86, 0x2b86], /* RIGHTWARDS TRIANGLE-HEADED PAIRED ARROWS */
+  [0x2b87, 0x2b87], /* DOWNWARDS TRIANGLE-HEADED PAIRED ARROWS */
+  [0x2b88, 0x2b88], /* LEFTWARDS BLACK CIRCLED WHITE ARROW */
+  [0x2b89, 0x2b89], /* UPWARDS BLACK CIRCLED WHITE ARROW */
+  [0x2b8a, 0x2b8a], /* RIGHTWARDS BLACK CIRCLED WHITE ARROW */
+  [0x2b8b, 0x2b8b], /* DOWNWARDS BLACK CIRCLED WHITE ARROW */
+  [0x2b8c, 0x2b8c], /* ANTICLOCKWISE TRIANGLE-HEADED RIGHT U-SHAPED ARROW */
+  [0x2b8d, 0x2b8d], /* ANTICLOCKWISE TRIANGLE-HEADED BOTTOM U-SHAPED ARROW */
+  [0x2b8e, 0x2b8e], /* ANTICLOCKWISE TRIANGLE-HEADED LEFT U-SHAPED ARROW */
+  [0x2b8f, 0x2b8f], /* ANTICLOCKWISE TRIANGLE-HEADED TOP U-SHAPED ARROW */
+  [0x2b90, 0x2b90], /* RETURN LEFT */
+  [0x2b91, 0x2b91], /* RETURN RIGHT */
+  [0x2b92, 0x2b92], /* NEWLINE LEFT */
+  [0x2b93, 0x2b93], /* NEWLINE RIGHT */
+  [0x2b94, 0x2b94], /* FOUR CORNER ARROWS CIRCLING ANTICLOCKWISE */
+  [0x2b95, 0x2b95], /* RIGHTWARDS BLACK ARROW */
   [0x2b96, 0x2b96],
   [0x2b97, 0x2b97],
-  [0x2b98, 0x2b98],
-  [0x2b99, 0x2b99],
-  [0x2b9a, 0x2b9a],
-  [0x2b9b, 0x2b9b],
-  [0x2b9c, 0x2b9c],
-  [0x2b9d, 0x2b9d],
-  [0x2b9e, 0x2b9e],
-  [0x2b9f, 0x2b9f],
-  [0x2ba0, 0x2ba0],
-  [0x2ba1, 0x2ba1],
-  [0x2ba2, 0x2ba2],
-  [0x2ba3, 0x2ba3],
-  [0x2ba4, 0x2ba4],
-  [0x2ba5, 0x2ba5],
-  [0x2ba6, 0x2ba6],
-  [0x2ba7, 0x2ba7],
-  [0x2ba8, 0x2ba8],
-  [0x2ba9, 0x2ba9],
-  [0x2baa, 0x2baa],
-  [0x2bab, 0x2bab],
-  [0x2bac, 0x2bac],
-  [0x2bad, 0x2bad],
-  [0x2bae, 0x2bae],
-  [0x2baf, 0x2baf],
-  [0x2bb0, 0x2bb0],
-  [0x2bb1, 0x2bb1],
-  [0x2bb2, 0x2bb2],
-  [0x2bb3, 0x2bb3],
-  [0x2bb4, 0x2bb4],
-  [0x2bb5, 0x2bb5],
-  [0x2bb6, 0x2bb6],
-  [0x2bb7, 0x2bb7],
-  [0x2bb8, 0x2bb8],
-  [0x2bb9, 0x2bb9],
+  [0x2b98, 0x2b98], /* THREE-D TOP-LIGHTED LEFTWARDS EQUILATERAL ARROWHEAD */
+  [0x2b99, 0x2b99], /* THREE-D RIGHT-LIGHTED UPWARDS EQUILATERAL ARROWHEAD */
+  [0x2b9a, 0x2b9a], /* THREE-D TOP-LIGHTED RIGHTWARDS EQUILATERAL ARROWHEAD */
+  [0x2b9b, 0x2b9b], /* THREE-D LEFT-LIGHTED DOWNWARDS EQUILATERAL ARROWHEAD */
+  [0x2b9c, 0x2b9c], /* BLACK LEFTWARDS EQUILATERAL ARROWHEAD */
+  [0x2b9d, 0x2b9d], /* BLACK UPWARDS EQUILATERAL ARROWHEAD */
+  [0x2b9e, 0x2b9e], /* BLACK RIGHTWARDS EQUILATERAL ARROWHEAD */
+  [0x2b9f, 0x2b9f], /* BLACK DOWNWARDS EQUILATERAL ARROWHEAD */
+  [0x2ba0, 0x2ba0], /* DOWNWARDS TRIANGLE-HEADED ARROW WITH LONG TIP LEFTWARDS */
+  [0x2ba1, 0x2ba1], /* DOWNWARDS TRIANGLE-HEADED ARROW WITH LONG TIP RIGHTWARDS */
+  [0x2ba2, 0x2ba2], /* UPWARDS TRIANGLE-HEADED ARROW WITH LONG TIP LEFTWARDS */
+  [0x2ba3, 0x2ba3], /* UPWARDS TRIANGLE-HEADED ARROW WITH LONG TIP RIGHTWARDS */
+  [0x2ba4, 0x2ba4], /* LEFTWARDS TRIANGLE-HEADED ARROW WITH LONG TIP UPWARDS */
+  [0x2ba5, 0x2ba5], /* RIGHTWARDS TRIANGLE-HEADED ARROW WITH LONG TIP UPWARDS */
+  [0x2ba6, 0x2ba6], /* LEFTWARDS TRIANGLE-HEADED ARROW WITH LONG TIP DOWNWARDS */
+  [0x2ba7, 0x2ba7], /* RIGHTWARDS TRIANGLE-HEADED ARROW WITH LONG TIP DOWNWARDS */
+  [0x2ba8, 0x2ba8], /* BLACK CURVED DOWNWARDS AND LEFTWARDS ARROW */
+  [0x2ba9, 0x2ba9], /* BLACK CURVED DOWNWARDS AND RIGHTWARDS ARROW */
+  [0x2baa, 0x2baa], /* BLACK CURVED UPWARDS AND LEFTWARDS ARROW */
+  [0x2bab, 0x2bab], /* BLACK CURVED UPWARDS AND RIGHTWARDS ARROW */
+  [0x2bac, 0x2bac], /* BLACK CURVED LEFTWARDS AND UPWARDS ARROW */
+  [0x2bad, 0x2bad], /* BLACK CURVED RIGHTWARDS AND UPWARDS ARROW */
+  [0x2bae, 0x2bae], /* BLACK CURVED LEFTWARDS AND DOWNWARDS ARROW */
+  [0x2baf, 0x2baf], /* BLACK CURVED RIGHTWARDS AND DOWNWARDS ARROW */
+  [0x2bb0, 0x2bb0], /* RIBBON ARROW DOWN LEFT */
+  [0x2bb1, 0x2bb1], /* RIBBON ARROW DOWN RIGHT */
+  [0x2bb2, 0x2bb2], /* RIBBON ARROW UP LEFT */
+  [0x2bb3, 0x2bb3], /* RIBBON ARROW UP RIGHT */
+  [0x2bb4, 0x2bb4], /* RIBBON ARROW LEFT UP */
+  [0x2bb5, 0x2bb5], /* RIBBON ARROW RIGHT UP */
+  [0x2bb6, 0x2bb6], /* RIBBON ARROW LEFT DOWN */
+  [0x2bb7, 0x2bb7], /* RIBBON ARROW RIGHT DOWN */
+  [0x2bb8, 0x2bb8], /* UPWARDS WHITE ARROW FROM BAR WITH HORIZONTAL BAR */
+  [0x2bb9, 0x2bb9], /* UP ARROWHEAD IN A RECTANGLE BOX */
   [0x2bba, 0x2bba],
   [0x2bbb, 0x2bbb],
   [0x2bbc, 0x2bbc],
-  [0x2bbd, 0x2bbd],
-  [0x2bbe, 0x2bbe],
-  [0x2bbf, 0x2bbf],
-  [0x2bc0, 0x2bc0],
-  [0x2bc1, 0x2bc1],
-  [0x2bc2, 0x2bc2],
-  [0x2bc3, 0x2bc3],
-  [0x2bc4, 0x2bc4],
-  [0x2bc5, 0x2bc5],
-  [0x2bc6, 0x2bc6],
-  [0x2bc7, 0x2bc7],
-  [0x2bc8, 0x2bc8],
+  [0x2bbd, 0x2bbd], /* BALLOT BOX WITH LIGHT X */
+  [0x2bbe, 0x2bbe], /* CIRCLED X */
+  [0x2bbf, 0x2bbf], /* CIRCLED BOLD X */
+  [0x2bc0, 0x2bc0], /* BLACK SQUARE CENTRED */
+  [0x2bc1, 0x2bc1], /* BLACK DIAMOND CENTRED */
+  [0x2bc2, 0x2bc2], /* TURNED BLACK PENTAGON */
+  [0x2bc3, 0x2bc3], /* HORIZONTAL BLACK OCTAGON */
+  [0x2bc4, 0x2bc4], /* BLACK OCTAGON */
+  [0x2bc5, 0x2bc5], /* BLACK MEDIUM UP-POINTING TRIANGLE CENTRED */
+  [0x2bc6, 0x2bc6], /* BLACK MEDIUM DOWN-POINTING TRIANGLE CENTRED */
+  [0x2bc7, 0x2bc7], /* BLACK MEDIUM LEFT-POINTING TRIANGLE CENTRED */
+  [0x2bc8, 0x2bc8], /* BLACK MEDIUM RIGHT-POINTING TRIANGLE CENTRED */
   [0x2bc9, 0x2bc9],
-  [0x2bca, 0x2bca],
-  [0x2bcb, 0x2bcb],
-  [0x2bcc, 0x2bcc],
-  [0x2bcd, 0x2bcd],
-  [0x2bce, 0x2bce],
-  [0x2bcf, 0x2bcf],
-  [0x2bd0, 0x2bd0],
-  [0x2bd1, 0x2bd1],
+  [0x2bca, 0x2bca], /* TOP HALF BLACK CIRCLE */
+  [0x2bcb, 0x2bcb], /* BOTTOM HALF BLACK CIRCLE */
+  [0x2bcc, 0x2bcc], /* LIGHT FOUR POINTED BLACK CUSP */
+  [0x2bcd, 0x2bcd], /* ROTATED LIGHT FOUR POINTED BLACK CUSP */
+  [0x2bce, 0x2bce], /* WHITE FOUR POINTED CUSP */
+  [0x2bcf, 0x2bcf], /* ROTATED WHITE FOUR POINTED CUSP */
+  [0x2bd0, 0x2bd0], /* SQUARE POSITION INDICATOR */
+  [0x2bd1, 0x2bd1], /* UNCERTAINTY SIGN */
   [0x2bd2, 0x2bd2],
   [0x2bd3, 0x2bd3],
   [0x2bd4, 0x2bd4],
   [0x2bd5, 0x2bd5],
   [0x2bd6, 0x2bd6],
   [0x2bd7, 0x2bd7],
   [0x2bd8, 0x2bd8],
   [0x2bd9, 0x2bd9],
@@ -11244,20 +11244,20 @@ var mapping = [
   [0x2be4, 0x2be4],
   [0x2be5, 0x2be5],
   [0x2be6, 0x2be6],
   [0x2be7, 0x2be7],
   [0x2be8, 0x2be8],
   [0x2be9, 0x2be9],
   [0x2bea, 0x2bea],
   [0x2beb, 0x2beb],
-  [0x2bec, 0x2bec],
-  [0x2bed, 0x2bed],
-  [0x2bee, 0x2bee],
-  [0x2bef, 0x2bef],
+  [0x2bec, 0x2bec], /* LEFTWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS */
+  [0x2bed, 0x2bed], /* UPWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS */
+  [0x2bee, 0x2bee], /* RIGHTWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS */
+  [0x2bef, 0x2bef], /* DOWNWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS */
   [0x2bf0, 0x2bf0],
   [0x2bf1, 0x2bf1],
   [0x2bf2, 0x2bf2],
   [0x2bf3, 0x2bf3],
   [0x2bf4, 0x2bf4],
   [0x2bf5, 0x2bf5],
   [0x2bf6, 0x2bf6],
   [0x2bf7, 0x2bf7],
@@ -11836,25 +11836,25 @@ var mapping = [
   [0x2e34, 0x2e34], /* RAISED COMMA */
   [0x2e35, 0x2e35], /* TURNED SEMICOLON */
   [0x2e36, 0x2e36], /* DAGGER WITH LEFT GUARD */
   [0x2e37, 0x2e37], /* DAGGER WITH RIGHT GUARD */
   [0x2e38, 0x2e38], /* TURNED DAGGER */
   [0x2e39, 0x2e39], /* TOP HALF SECTION SIGN */
   [0x2e3a, 0x2e3a], /* TWO-EM DASH */
   [0x2e3b, 0x2e3b], /* THREE-EM DASH */
-  [0x2e3c, 0x2e3c],
-  [0x2e3d, 0x2e3d],
-  [0x2e3e, 0x2e3e],
-  [0x2e3f, 0x2e3f],
-  [0x2e40, 0x2e40],
-  [0x2e41, 0x2e41],
-  [0x2e42, 0x2e42],
-  [0x2e43, 0x2e43],
-  [0x2e44, 0x2e44],
+  [0x2e3c, 0x2e3c], /* STENOGRAPHIC FULL STOP */
+  [0x2e3d, 0x2e3d], /* VERTICAL SIX DOTS */
+  [0x2e3e, 0x2e3e], /* WIGGLY VERTICAL LINE */
+  [0x2e3f, 0x2e3f], /* CAPITULUM */
+  [0x2e40, 0x2e40], /* DOUBLE HYPHEN */
+  [0x2e41, 0x2e41], /* REVERSED COMMA */
+  [0x2e42, 0x2e42], /* DOUBLE LOW-REVERSED-9 QUOTATION MARK */
+  [0x2e43, 0x2e43], /* DASH WITH LEFT UPTURN */
+  [0x2e44, 0x2e44], /* DOUBLE SUSPENSION MARK */
   [0x2e45, 0x2e45],
   [0x2e46, 0x2e46],
   [0x2e47, 0x2e47],
   [0x2e48, 0x2e48],
   [0x2e49, 0x2e49],
   [0x2e4a, 0x2e4a],
   [0x2e4b, 0x2e4b],
   [0x2e4c, 0x2e4c],
@@ -40909,25 +40909,25 @@ var mapping = [
   [0x9fc5, 0x9fc5], /* CJK Ideograph */
   [0x9fc6, 0x9fc6], /* CJK Ideograph */
   [0x9fc7, 0x9fc7], /* CJK Ideograph */
   [0x9fc8, 0x9fc8], /* CJK Ideograph */
   [0x9fc9, 0x9fc9], /* CJK Ideograph */
   [0x9fca, 0x9fca], /* CJK Ideograph */
   [0x9fcb, 0x9fcb], /* CJK Ideograph */
   [0x9fcc, 0x9fcc], /* CJK Ideograph */
-  [0x9fcd, 0x9fcd],
-  [0x9fce, 0x9fce],
-  [0x9fcf, 0x9fcf],
-  [0x9fd0, 0x9fd0],
-  [0x9fd1, 0x9fd1],
-  [0x9fd2, 0x9fd2],
-  [0x9fd3, 0x9fd3],
-  [0x9fd4, 0x9fd4],
-  [0x9fd5, 0x9fd5],
+  [0x9fcd, 0x9fcd], /* CJK Ideograph */
+  [0x9fce, 0x9fce], /* CJK Ideograph */
+  [0x9fcf, 0x9fcf], /* CJK Ideograph */
+  [0x9fd0, 0x9fd0], /* CJK Ideograph */
+  [0x9fd1, 0x9fd1], /* CJK Ideograph */
+  [0x9fd2, 0x9fd2], /* CJK Ideograph */
+  [0x9fd3, 0x9fd3], /* CJK Ideograph */
+  [0x9fd4, 0x9fd4], /* CJK Ideograph */
+  [0x9fd5, 0x9fd5], /* CJK Ideograph */
   [0x9fd6, 0x9fd6],
   [0x9fd7, 0x9fd7],
   [0x9fd8, 0x9fd8],
   [0x9fd9, 0x9fd9],
   [0x9fda, 0x9fda],
   [0x9fdb, 0x9fdb],
   [0x9fdc, 0x9fdc],
   [0x9fdd, 0x9fdd],
@@ -42648,23 +42648,23 @@ var mapping = [
   [0xa690, 0xa691], /* CYRILLIC CAPITAL LETTER TSSE */
   [0xa690, 0xa691], /* CYRILLIC SMALL LETTER TSSE */
   [0xa692, 0xa693], /* CYRILLIC CAPITAL LETTER TCHE */
   [0xa692, 0xa693], /* CYRILLIC SMALL LETTER TCHE */
   [0xa694, 0xa695], /* CYRILLIC CAPITAL LETTER HWE */
   [0xa694, 0xa695], /* CYRILLIC SMALL LETTER HWE */
   [0xa696, 0xa697], /* CYRILLIC CAPITAL LETTER SHWE */
   [0xa696, 0xa697], /* CYRILLIC SMALL LETTER SHWE */
-  [0xa698, 0xa698],
-  [0xa699, 0xa699],
-  [0xa69a, 0xa69a],
-  [0xa69b, 0xa69b],
-  [0xa69c, 0xa69c],
-  [0xa69d, 0xa69d],
-  [0xa69e, 0xa69e],
+  [0xa698, 0xa699], /* CYRILLIC CAPITAL LETTER DOUBLE O */
+  [0xa698, 0xa699], /* CYRILLIC SMALL LETTER DOUBLE O */
+  [0xa69a, 0xa69b], /* CYRILLIC CAPITAL LETTER CROSSED O */
+  [0xa69a, 0xa69b], /* CYRILLIC SMALL LETTER CROSSED O */
+  [0xa69c, 0xa69c], /* MODIFIER LETTER CYRILLIC HARD SIGN */
+  [0xa69d, 0xa69d], /* MODIFIER LETTER CYRILLIC SOFT SIGN */
+  [0xa69e, 0xa69e], /* COMBINING CYRILLIC LETTER EF */
   [0xa69f, 0xa69f], /* COMBINING CYRILLIC LETTER IOTIFIED E */
   [0xa6a0, 0xa6a0], /* BAMUM LETTER A */
   [0xa6a1, 0xa6a1], /* BAMUM LETTER KA */
   [0xa6a2, 0xa6a2], /* BAMUM LETTER U */
   [0xa6a3, 0xa6a3], /* BAMUM LETTER KU */
   [0xa6a4, 0xa6a4], /* BAMUM LETTER EE */
   [0xa6a5, 0xa6a5], /* BAMUM LETTER REE */
   [0xa6a6, 0xa6a6], /* BAMUM LETTER TAE */
@@ -42895,57 +42895,57 @@ var mapping = [
   [0xa786, 0xa787], /* LATIN SMALL LETTER INSULAR T */
   [0xa788, 0xa788], /* MODIFIER LETTER LOW CIRCUMFLEX ACCENT */
   [0xa789, 0xa789], /* MODIFIER LETTER COLON */
   [0xa78a, 0xa78a], /* MODIFIER LETTER SHORT EQUALS SIGN */
   [0xa78b, 0xa78c], /* LATIN CAPITAL LETTER SALTILLO */
   [0xa78b, 0xa78c], /* LATIN SMALL LETTER SALTILLO */
   [0xa78d, 0x265], /* LATIN CAPITAL LETTER TURNED H */
   [0xa78e, 0xa78e], /* LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT */
-  [0xa78f, 0xa78f],
+  [0xa78f, 0xa78f], /* LATIN LETTER SINOLOGICAL DOT */
   [0xa790, 0xa791], /* LATIN CAPITAL LETTER N WITH DESCENDER */
   [0xa790, 0xa791], /* LATIN SMALL LETTER N WITH DESCENDER */
   [0xa792, 0xa793], /* LATIN CAPITAL LETTER C WITH BAR */
   [0xa792, 0xa793], /* LATIN SMALL LETTER C WITH BAR */
-  [0xa794, 0xa794],
-  [0xa795, 0xa795],
-  [0xa796, 0xa796],
-  [0xa797, 0xa797],
-  [0xa798, 0xa798],
-  [0xa799, 0xa799],
-  [0xa79a, 0xa79a],
-  [0xa79b, 0xa79b],
-  [0xa79c, 0xa79c],
-  [0xa79d, 0xa79d],
-  [0xa79e, 0xa79e],
-  [0xa79f, 0xa79f],
+  [0xa794, 0xa794], /* LATIN SMALL LETTER C WITH PALATAL HOOK */
+  [0xa795, 0xa795], /* LATIN SMALL LETTER H WITH PALATAL HOOK */
+  [0xa796, 0xa797], /* LATIN CAPITAL LETTER B WITH FLOURISH */
+  [0xa796, 0xa797], /* LATIN SMALL LETTER B WITH FLOURISH */
+  [0xa798, 0xa799], /* LATIN CAPITAL LETTER F WITH STROKE */
+  [0xa798, 0xa799], /* LATIN SMALL LETTER F WITH STROKE */
+  [0xa79a, 0xa79b], /* LATIN CAPITAL LETTER VOLAPUK AE */
+  [0xa79a, 0xa79b], /* LATIN SMALL LETTER VOLAPUK AE */
+  [0xa79c, 0xa79d], /* LATIN CAPITAL LETTER VOLAPUK OE */
+  [0xa79c, 0xa79d], /* LATIN SMALL LETTER VOLAPUK OE */
+  [0xa79e, 0xa79f], /* LATIN CAPITAL LETTER VOLAPUK UE */
+  [0xa79e, 0xa79f], /* LATIN SMALL LETTER VOLAPUK UE */
   [0xa7a0, 0xa7a1], /* LATIN CAPITAL LETTER G WITH OBLIQUE STROKE */
   [0xa7a0, 0xa7a1], /* LATIN SMALL LETTER G WITH OBLIQUE STROKE */
   [0xa7a2, 0xa7a3], /* LATIN CAPITAL LETTER K WITH OBLIQUE STROKE */
   [0xa7a2, 0xa7a3], /* LATIN SMALL LETTER K WITH OBLIQUE STROKE */
   [0xa7a4, 0xa7a5], /* LATIN CAPITAL LETTER N WITH OBLIQUE STROKE */
   [0xa7a4, 0xa7a5], /* LATIN SMALL LETTER N WITH OBLIQUE STROKE */
   [0xa7a6, 0xa7a7], /* LATIN CAPITAL LETTER R WITH OBLIQUE STROKE */
   [0xa7a6, 0xa7a7], /* LATIN SMALL LETTER R WITH OBLIQUE STROKE */
   [0xa7a8, 0xa7a9], /* LATIN CAPITAL LETTER S WITH OBLIQUE STROKE */
   [0xa7a8, 0xa7a9], /* LATIN SMALL LETTER S WITH OBLIQUE STROKE */
   [0xa7aa, 0x266], /* LATIN CAPITAL LETTER H WITH HOOK */
-  [0xa7ab, 0xa7ab],
-  [0xa7ac, 0xa7ac],
-  [0xa7ad, 0xa7ad],
-  [0xa7ae, 0xa7ae],
+  [0xa7ab, 0x25c], /* LATIN CAPITAL LETTER REVERSED OPEN E */
+  [0xa7ac, 0x261], /* LATIN CAPITAL LETTER SCRIPT G */
+  [0xa7ad, 0x26c], /* LATIN CAPITAL LETTER L WITH BELT */
+  [0xa7ae, 0x26a], /* LATIN CAPITAL LETTER SMALL CAPITAL I */
   [0xa7af, 0xa7af],
-  [0xa7b0, 0xa7b0],
-  [0xa7b1, 0xa7b1],
-  [0xa7b2, 0xa7b2],
-  [0xa7b3, 0xa7b3],
-  [0xa7b4, 0xa7b4],
-  [0xa7b5, 0xa7b5],
-  [0xa7b6, 0xa7b6],
-  [0xa7b7, 0xa7b7],
+  [0xa7b0, 0x29e], /* LATIN CAPITAL LETTER TURNED K */
+  [0xa7b1, 0x287], /* LATIN CAPITAL LETTER TURNED T */
+  [0xa7b2, 0x29d], /* LATIN CAPITAL LETTER J WITH CROSSED-TAIL */
+  [0xa7b3, 0xab53], /* LATIN CAPITAL LETTER CHI */
+  [0xa7b4, 0xa7b5], /* LATIN CAPITAL LETTER BETA */
+  [0xa7b4, 0xa7b5], /* LATIN SMALL LETTER BETA */
+  [0xa7b6, 0xa7b7], /* LATIN CAPITAL LETTER OMEGA */
+  [0xa7b6, 0xa7b7], /* LATIN SMALL LETTER OMEGA */
   [0xa7b8, 0xa7b8],
   [0xa7b9, 0xa7b9],
   [0xa7ba, 0xa7ba],
   [0xa7bb, 0xa7bb],
   [0xa7bc, 0xa7bc],
   [0xa7bd, 0xa7bd],
   [0xa7be, 0xa7be],
   [0xa7bf, 0xa7bf],
@@ -42999,17 +42999,17 @@ var mapping = [
   [0xa7ef, 0xa7ef],
   [0xa7f0, 0xa7f0],
   [0xa7f1, 0xa7f1],
   [0xa7f2, 0xa7f2],
   [0xa7f3, 0xa7f3],
   [0xa7f4, 0xa7f4],
   [0xa7f5, 0xa7f5],
   [0xa7f6, 0xa7f6],
-  [0xa7f7, 0xa7f7],
+  [0xa7f7, 0xa7f7], /* LATIN EPIGRAPHIC LETTER SIDEWAYS I */
   [0xa7f8, 0xa7f8], /* MODIFIER LETTER CAPITAL H WITH STROKE */
   [0xa7f9, 0xa7f9], /* MODIFIER LETTER SMALL LIGATURE OE */
   [0xa7fa, 0xa7fa], /* LATIN LETTER SMALL CAPITAL TURNED M */
   [0xa7fb, 0xa7fb], /* LATIN EPIGRAPHIC LETTER REVERSED F */
   [0xa7fc, 0xa7fc], /* LATIN EPIGRAPHIC LETTER REVERSED P */
   [0xa7fd, 0xa7fd], /* LATIN EPIGRAPHIC LETTER INVERTED M */
   [0xa7fe, 0xa7fe], /* LATIN EPIGRAPHIC LETTER I LONGA */
   [0xa7ff, 0xa7ff], /* LATIN EPIGRAPHIC LETTER ARCHAIC M */
@@ -43205,17 +43205,17 @@ var mapping = [
   [0xa8bd, 0xa8bd], /* SAURASHTRA VOWEL SIGN VOCALIC LL */
   [0xa8be, 0xa8be], /* SAURASHTRA VOWEL SIGN E */
   [0xa8bf, 0xa8bf], /* SAURASHTRA VOWEL SIGN EE */
   [0xa8c0, 0xa8c0], /* SAURASHTRA VOWEL SIGN AI */
   [0xa8c1, 0xa8c1], /* SAURASHTRA VOWEL SIGN O */
   [0xa8c2, 0xa8c2], /* SAURASHTRA VOWEL SIGN OO */
   [0xa8c3, 0xa8c3], /* SAURASHTRA VOWEL SIGN AU */
   [0xa8c4, 0xa8c4], /* SAURASHTRA SIGN VIRAMA */
-  [0xa8c5, 0xa8c5],
+  [0xa8c5, 0xa8c5], /* SAURASHTRA SIGN CANDRABINDU */
   [0xa8c6, 0xa8c6],
   [0xa8c7, 0xa8c7],
   [0xa8c8, 0xa8c8],
   [0xa8c9, 0xa8c9],
   [0xa8ca, 0xa8ca],
   [0xa8cb, 0xa8cb],
   [0xa8cc, 0xa8cc],
   [0xa8cd, 0xa8cd],
@@ -43260,18 +43260,18 @@ var mapping = [
   [0xa8f4, 0xa8f4], /* DEVANAGARI SIGN DOUBLE CANDRABINDU VIRAMA */
   [0xa8f5, 0xa8f5], /* DEVANAGARI SIGN CANDRABINDU TWO */
   [0xa8f6, 0xa8f6], /* DEVANAGARI SIGN CANDRABINDU THREE */
   [0xa8f7, 0xa8f7], /* DEVANAGARI SIGN CANDRABINDU AVAGRAHA */
   [0xa8f8, 0xa8f8], /* DEVANAGARI SIGN PUSHPIKA */
   [0xa8f9, 0xa8f9], /* DEVANAGARI GAP FILLER */
   [0xa8fa, 0xa8fa], /* DEVANAGARI CARET */
   [0xa8fb, 0xa8fb], /* DEVANAGARI HEADSTROKE */
-  [0xa8fc, 0xa8fc],
-  [0xa8fd, 0xa8fd],
+  [0xa8fc, 0xa8fc], /* DEVANAGARI SIGN SIDDHAM */
+  [0xa8fd, 0xa8fd], /* DEVANAGARI JAIN OM */
   [0xa8fe, 0xa8fe],
   [0xa8ff, 0xa8ff],
   [0xa900, 0xa900], /* KAYAH LI DIGIT ZERO */
   [0xa901, 0xa901], /* KAYAH LI DIGIT ONE */
   [0xa902, 0xa902], /* KAYAH LI DIGIT TWO */
   [0xa903, 0xa903], /* KAYAH LI DIGIT THREE */
   [0xa904, 0xa904], /* KAYAH LI DIGIT FOUR */
   [0xa905, 0xa905], /* KAYAH LI DIGIT FIVE */
@@ -43488,47 +43488,47 @@ var mapping = [
   [0xa9d8, 0xa9d8], /* JAVANESE DIGIT EIGHT */
   [0xa9d9, 0xa9d9], /* JAVANESE DIGIT NINE */
   [0xa9da, 0xa9da],
   [0xa9db, 0xa9db],
   [0xa9dc, 0xa9dc],
   [0xa9dd, 0xa9dd],
   [0xa9de, 0xa9de], /* JAVANESE PADA TIRTA TUMETES */
   [0xa9df, 0xa9df], /* JAVANESE PADA ISEN-ISEN */
-  [0xa9e0, 0xa9e0],
-  [0xa9e1, 0xa9e1],
-  [0xa9e2, 0xa9e2],
-  [0xa9e3, 0xa9e3],
-  [0xa9e4, 0xa9e4],
-  [0xa9e5, 0xa9e5],
-  [0xa9e6, 0xa9e6],
-  [0xa9e7, 0xa9e7],
-  [0xa9e8, 0xa9e8],
-  [0xa9e9, 0xa9e9],
-  [0xa9ea, 0xa9ea],
-  [0xa9eb, 0xa9eb],
-  [0xa9ec, 0xa9ec],
-  [0xa9ed, 0xa9ed],
-  [0xa9ee, 0xa9ee],
-  [0xa9ef, 0xa9ef],
-  [0xa9f0, 0xa9f0],
-  [0xa9f1, 0xa9f1],
-  [0xa9f2, 0xa9f2],
-  [0xa9f3, 0xa9f3],
-  [0xa9f4, 0xa9f4],
-  [0xa9f5, 0xa9f5],
-  [0xa9f6, 0xa9f6],
-  [0xa9f7, 0xa9f7],
-  [0xa9f8, 0xa9f8],
-  [0xa9f9, 0xa9f9],
-  [0xa9fa, 0xa9fa],
-  [0xa9fb, 0xa9fb],
-  [0xa9fc, 0xa9fc],
-  [0xa9fd, 0xa9fd],
-  [0xa9fe, 0xa9fe],
+  [0xa9e0, 0xa9e0], /* MYANMAR LETTER SHAN GHA */
+  [0xa9e1, 0xa9e1], /* MYANMAR LETTER SHAN CHA */
+  [0xa9e2, 0xa9e2], /* MYANMAR LETTER SHAN JHA */
+  [0xa9e3, 0xa9e3], /* MYANMAR LETTER SHAN NNA */
+  [0xa9e4, 0xa9e4], /* MYANMAR LETTER SHAN BHA */
+  [0xa9e5, 0xa9e5], /* MYANMAR SIGN SHAN SAW */
+  [0xa9e6, 0xa9e6], /* MYANMAR MODIFIER LETTER SHAN REDUPLICATION */
+  [0xa9e7, 0xa9e7], /* MYANMAR LETTER TAI LAING NYA */
+  [0xa9e8, 0xa9e8], /* MYANMAR LETTER TAI LAING FA */
+  [0xa9e9, 0xa9e9], /* MYANMAR LETTER TAI LAING GA */
+  [0xa9ea, 0xa9ea], /* MYANMAR LETTER TAI LAING GHA */
+  [0xa9eb, 0xa9eb], /* MYANMAR LETTER TAI LAING JA */
+  [0xa9ec, 0xa9ec], /* MYANMAR LETTER TAI LAING JHA */
+  [0xa9ed, 0xa9ed], /* MYANMAR LETTER TAI LAING DDA */
+  [0xa9ee, 0xa9ee], /* MYANMAR LETTER TAI LAING DDHA */
+  [0xa9ef, 0xa9ef], /* MYANMAR LETTER TAI LAING NNA */
+  [0xa9f0, 0xa9f0], /* MYANMAR TAI LAING DIGIT ZERO */
+  [0xa9f1, 0xa9f1], /* MYANMAR TAI LAING DIGIT ONE */
+  [0xa9f2, 0xa9f2], /* MYANMAR TAI LAING DIGIT TWO */
+  [0xa9f3, 0xa9f3], /* MYANMAR TAI LAING DIGIT THREE */
+  [0xa9f4, 0xa9f4], /* MYANMAR TAI LAING DIGIT FOUR */
+  [0xa9f5, 0xa9f5], /* MYANMAR TAI LAING DIGIT FIVE */
+  [0xa9f6, 0xa9f6], /* MYANMAR TAI LAING DIGIT SIX */
+  [0xa9f7, 0xa9f7], /* MYANMAR TAI LAING DIGIT SEVEN */
+  [0xa9f8, 0xa9f8], /* MYANMAR TAI LAING DIGIT EIGHT */
+  [0xa9f9, 0xa9f9], /* MYANMAR TAI LAING DIGIT NINE */
+  [0xa9fa, 0xa9fa], /* MYANMAR LETTER TAI LAING LLA */
+  [0xa9fb, 0xa9fb], /* MYANMAR LETTER TAI LAING DA */
+  [0xa9fc, 0xa9fc], /* MYANMAR LETTER TAI LAING DHA */
+  [0xa9fd, 0xa9fd], /* MYANMAR LETTER TAI LAING BA */
+  [0xa9fe, 0xa9fe], /* MYANMAR LETTER TAI LAING BHA */
   [0xa9ff, 0xa9ff],
   [0xaa00, 0xaa00], /* CHAM LETTER A */
   [0xaa01, 0xaa01], /* CHAM LETTER I */
   [0xaa02, 0xaa02], /* CHAM LETTER U */
   [0xaa03, 0xaa03], /* CHAM LETTER E */
   [0xaa04, 0xaa04], /* CHAM LETTER AI */
   [0xaa05, 0xaa05], /* CHAM LETTER O */
   [0xaa06, 0xaa06], /* CHAM LETTER KA */
@@ -43644,20 +43644,20 @@ var mapping = [
   [0xaa74, 0xaa74], /* MYANMAR LOGOGRAM KHAMTI OAY */
   [0xaa75, 0xaa75], /* MYANMAR LOGOGRAM KHAMTI QN */
   [0xaa76, 0xaa76], /* MYANMAR LOGOGRAM KHAMTI HM */
   [0xaa77, 0xaa77], /* MYANMAR SYMBOL AITON EXCLAMATION */
   [0xaa78, 0xaa78], /* MYANMAR SYMBOL AITON ONE */
   [0xaa79, 0xaa79], /* MYANMAR SYMBOL AITON TWO */
   [0xaa7a, 0xaa7a], /* MYANMAR LETTER AITON RA */
   [0xaa7b, 0xaa7b], /* MYANMAR SIGN PAO KAREN TONE */
-  [0xaa7c, 0xaa7c],
-  [0xaa7d, 0xaa7d],
-  [0xaa7e, 0xaa7e],
-  [0xaa7f, 0xaa7f],
+  [0xaa7c, 0xaa7c], /* MYANMAR SIGN TAI LAING TONE-2 */
+  [0xaa7d, 0xaa7d], /* MYANMAR SIGN TAI LAING TONE-5 */
+  [0xaa7e, 0xaa7e], /* MYANMAR LETTER SHWE PALAUNG CHA */
+  [0xaa7f, 0xaa7f], /* MYANMAR LETTER SHWE PALAUNG SHA */
   [0xaa80, 0xaa80], /* TAI VIET LETTER LOW KO */
   [0xaa81, 0xaa81], /* TAI VIET LETTER HIGH KO */
   [0xaa82, 0xaa82], /* TAI VIET LETTER LOW KHO */
   [0xaa83, 0xaa83], /* TAI VIET LETTER HIGH KHO */
   [0xaa84, 0xaa84], /* TAI VIET LETTER LOW KHHO */
   [0xaa85, 0xaa85], /* TAI VIET LETTER HIGH KHHO */
   [0xaa86, 0xaa86], /* TAI VIET LETTER LOW GO */
   [0xaa87, 0xaa87], /* TAI VIET LETTER HIGH GO */
@@ -43824,160 +43824,160 @@ var mapping = [
   [0xab28, 0xab28], /* ETHIOPIC SYLLABLE BBA */
   [0xab29, 0xab29], /* ETHIOPIC SYLLABLE BBU */
   [0xab2a, 0xab2a], /* ETHIOPIC SYLLABLE BBI */
   [0xab2b, 0xab2b], /* ETHIOPIC SYLLABLE BBAA */
   [0xab2c, 0xab2c], /* ETHIOPIC SYLLABLE BBEE */
   [0xab2d, 0xab2d], /* ETHIOPIC SYLLABLE BBE */
   [0xab2e, 0xab2e], /* ETHIOPIC SYLLABLE BBO */
   [0xab2f, 0xab2f],
-  [0xab30, 0xab30],
-  [0xab31, 0xab31],
-  [0xab32, 0xab32],
-  [0xab33, 0xab33],
-  [0xab34, 0xab34],
-  [0xab35, 0xab35],
-  [0xab36, 0xab36],
-  [0xab37, 0xab37],
-  [0xab38, 0xab38],
-  [0xab39, 0xab39],
-  [0xab3a, 0xab3a],
-  [0xab3b, 0xab3b],
-  [0xab3c, 0xab3c],
-  [0xab3d, 0xab3d],
-  [0xab3e, 0xab3e],
-  [0xab3f, 0xab3f],
-  [0xab40, 0xab40],
-  [0xab41, 0xab41],
-  [0xab42, 0xab42],
-  [0xab43, 0xab43],
-  [0xab44, 0xab44],
-  [0xab45, 0xab45],
-  [0xab46, 0xab46],
-  [0xab47, 0xab47],
-  [0xab48, 0xab48],
-  [0xab49, 0xab49],
-  [0xab4a, 0xab4a],
-  [0xab4b, 0xab4b],
-  [0xab4c, 0xab4c],
-  [0xab4d, 0xab4d],
-  [0xab4e, 0xab4e],
-  [0xab4f, 0xab4f],
-  [0xab50, 0xab50],
-  [0xab51, 0xab51],
-  [0xab52, 0xab52],
-  [0xab53, 0xab53],
-  [0xab54, 0xab54],
-  [0xab55, 0xab55],
-  [0xab56, 0xab56],
-  [0xab57, 0xab57],
-  [0xab58, 0xab58],
-  [0xab59, 0xab59],
-  [0xab5a, 0xab5a],
-  [0xab5b, 0xab5b],
-  [0xab5c, 0xab5c],
-  [0xab5d, 0xab5d],
-  [0xab5e, 0xab5e],
-  [0xab5f, 0xab5f],
-  [0xab60, 0xab60],
-  [0xab61, 0xab61],
-  [0xab62, 0xab62],
-  [0xab63, 0xab63],
-  [0xab64, 0xab64],
-  [0xab65, 0xab65],
+  [0xab30, 0xab30], /* LATIN SMALL LETTER BARRED ALPHA */
+  [0xab31, 0xab31], /* LATIN SMALL LETTER A REVERSED-SCHWA */
+  [0xab32, 0xab32], /* LATIN SMALL LETTER BLACKLETTER E */
+  [0xab33, 0xab33], /* LATIN SMALL LETTER BARRED E */
+  [0xab34, 0xab34], /* LATIN SMALL LETTER E WITH FLOURISH */
+  [0xab35, 0xab35], /* LATIN SMALL LETTER LENIS F */
+  [0xab36, 0xab36], /* LATIN SMALL LETTER SCRIPT G WITH CROSSED-TAIL */
+  [0xab37, 0xab37], /* LATIN SMALL LETTER L WITH INVERTED LAZY S */
+  [0xab38, 0xab38], /* LATIN SMALL LETTER L WITH DOUBLE MIDDLE TILDE */
+  [0xab39, 0xab39], /* LATIN SMALL LETTER L WITH MIDDLE RING */
+  [0xab3a, 0xab3a], /* LATIN SMALL LETTER M WITH CROSSED-TAIL */
+  [0xab3b, 0xab3b], /* LATIN SMALL LETTER N WITH CROSSED-TAIL */
+  [0xab3c, 0xab3c], /* LATIN SMALL LETTER ENG WITH CROSSED-TAIL */
+  [0xab3d, 0xab3d], /* LATIN SMALL LETTER BLACKLETTER O */
+  [0xab3e, 0xab3e], /* LATIN SMALL LETTER BLACKLETTER O WITH STROKE */
+  [0xab3f, 0xab3f], /* LATIN SMALL LETTER OPEN O WITH STROKE */
+  [0xab40, 0xab40], /* LATIN SMALL LETTER INVERTED OE */
+  [0xab41, 0xab41], /* LATIN SMALL LETTER TURNED OE WITH STROKE */
+  [0xab42, 0xab42], /* LATIN SMALL LETTER TURNED OE WITH HORIZONTAL STROKE */
+  [0xab43, 0xab43], /* LATIN SMALL LETTER TURNED O OPEN-O */
+  [0xab44, 0xab44], /* LATIN SMALL LETTER TURNED O OPEN-O WITH STROKE */
+  [0xab45, 0xab45], /* LATIN SMALL LETTER STIRRUP R */
+  [0xab46, 0xab46], /* LATIN LETTER SMALL CAPITAL R WITH RIGHT LEG */
+  [0xab47, 0xab47], /* LATIN SMALL LETTER R WITHOUT HANDLE */
+  [0xab48, 0xab48], /* LATIN SMALL LETTER DOUBLE R */
+  [0xab49, 0xab49], /* LATIN SMALL LETTER R WITH CROSSED-TAIL */
+  [0xab4a, 0xab4a], /* LATIN SMALL LETTER DOUBLE R WITH CROSSED-TAIL */
+  [0xab4b, 0xab4b], /* LATIN SMALL LETTER SCRIPT R */
+  [0xab4c, 0xab4c], /* LATIN SMALL LETTER SCRIPT R WITH RING */
+  [0xab4d, 0xab4d], /* LATIN SMALL LETTER BASELINE ESH */
+  [0xab4e, 0xab4e], /* LATIN SMALL LETTER U WITH SHORT RIGHT LEG */
+  [0xab4f, 0xab4f], /* LATIN SMALL LETTER U BAR WITH SHORT RIGHT LEG */
+  [0xab50, 0xab50], /* LATIN SMALL LETTER UI */
+  [0xab51, 0xab51], /* LATIN SMALL LETTER TURNED UI */
+  [0xab52, 0xab52], /* LATIN SMALL LETTER U WITH LEFT HOOK */
+  [0xa7b3, 0xab53], /* LATIN SMALL LETTER CHI */
+  [0xab54, 0xab54], /* LATIN SMALL LETTER CHI WITH LOW RIGHT RING */
+  [0xab55, 0xab55], /* LATIN SMALL LETTER CHI WITH LOW LEFT SERIF */
+  [0xab56, 0xab56], /* LATIN SMALL LETTER X WITH LOW RIGHT RING */
+  [0xab57, 0xab57], /* LATIN SMALL LETTER X WITH LONG LEFT LEG */
+  [0xab58, 0xab58], /* LATIN SMALL LETTER X WITH LONG LEFT LEG AND LOW RIGHT RING */
+  [0xab59, 0xab59], /* LATIN SMALL LETTER X WITH LONG LEFT LEG WITH SERIF */
+  [0xab5a, 0xab5a], /* LATIN SMALL LETTER Y WITH SHORT RIGHT LEG */
+  [0xab5b, 0xab5b], /* MODIFIER BREVE WITH INVERTED BREVE */
+  [0xab5c, 0xab5c], /* MODIFIER LETTER SMALL HENG */
+  [0xab5d, 0xab5d], /* MODIFIER LETTER SMALL L WITH INVERTED LAZY S */
+  [0xab5e, 0xab5e], /* MODIFIER LETTER SMALL L WITH MIDDLE TILDE */
+  [0xab5f, 0xab5f], /* MODIFIER LETTER SMALL U WITH LEFT HOOK */
+  [0xab60, 0xab60], /* LATIN SMALL LETTER SAKHA YAT */
+  [0xab61, 0xab61], /* LATIN SMALL LETTER IOTIFIED E */
+  [0xab62, 0xab62], /* LATIN SMALL LETTER OPEN OE */
+  [0xab63, 0xab63], /* LATIN SMALL LETTER UO */
+  [0xab64, 0xab64], /* LATIN SMALL LETTER INVERTED ALPHA */
+  [0xab65, 0xab65], /* GREEK LETTER SMALL CAPITAL OMEGA */
   [0xab66, 0xab66],
   [0xab67, 0xab67],
   [0xab68, 0xab68],
   [0xab69, 0xab69],
   [0xab6a, 0xab6a],
   [0xab6b, 0xab6b],
   [0xab6c, 0xab6c],
   [0xab6d, 0xab6d],
   [0xab6e, 0xab6e],
   [0xab6f, 0xab6f],
-  [0xab70, 0xab70],
-  [0xab71, 0xab71],
-  [0xab72, 0xab72],
-  [0xab73, 0xab73],
-  [0xab74, 0xab74],
-  [0xab75, 0xab75],
-  [0xab76, 0xab76],
-  [0xab77, 0xab77],
-  [0xab78, 0xab78],
-  [0xab79, 0xab79],
-  [0xab7a, 0xab7a],
-  [0xab7b, 0xab7b],
-  [0xab7c, 0xab7c],
-  [0xab7d, 0xab7d],
-  [0xab7e, 0xab7e],
-  [0xab7f, 0xab7f],
-  [0xab80, 0xab80],
-  [0xab81, 0xab81],
-  [0xab82, 0xab82],
-  [0xab83, 0xab83],
-  [0xab84, 0xab84],
-  [0xab85, 0xab85],
-  [0xab86, 0xab86],
-  [0xab87, 0xab87],
-  [0xab88, 0xab88],
-  [0xab89, 0xab89],
-  [0xab8a, 0xab8a],
-  [0xab8b, 0xab8b],
-  [0xab8c, 0xab8c],
-  [0xab8d, 0xab8d],
-  [0xab8e, 0xab8e],
-  [0xab8f, 0xab8f],
-  [0xab90, 0xab90],
-  [0xab91, 0xab91],
-  [0xab92, 0xab92],
-  [0xab93, 0xab93],
-  [0xab94, 0xab94],
-  [0xab95, 0xab95],
-  [0xab96, 0xab96],
-  [0xab97, 0xab97],
-  [0xab98, 0xab98],
-  [0xab99, 0xab99],
-  [0xab9a, 0xab9a],
-  [0xab9b, 0xab9b],
-  [0xab9c, 0xab9c],
-  [0xab9d, 0xab9d],
-  [0xab9e, 0xab9e],
-  [0xab9f, 0xab9f],
-  [0xaba0, 0xaba0],
-  [0xaba1, 0xaba1],
-  [0xaba2, 0xaba2],
-  [0xaba3, 0xaba3],
-  [0xaba4, 0xaba4],
-  [0xaba5, 0xaba5],
-  [0xaba6, 0xaba6],
-  [0xaba7, 0xaba7],
-  [0xaba8, 0xaba8],
-  [0xaba9, 0xaba9],
-  [0xabaa, 0xabaa],
-  [0xabab, 0xabab],
-  [0xabac, 0xabac],
-  [0xabad, 0xabad],
-  [0xabae, 0xabae],
-  [0xabaf, 0xabaf],
-  [0xabb0, 0xabb0],
-  [0xabb1, 0xabb1],
-  [0xabb2, 0xabb2],
-  [0xabb3, 0xabb3],
-  [0xabb4, 0xabb4],
-  [0xabb5, 0xabb5],
-  [0xabb6, 0xabb6],
-  [0xabb7, 0xabb7],
-  [0xabb8, 0xabb8],
-  [0xabb9, 0xabb9],
-  [0xabba, 0xabba],
-  [0xabbb, 0xabbb],
-  [0xabbc, 0xabbc],
-  [0xabbd, 0xabbd],
-  [0xabbe, 0xabbe],
-  [0xabbf, 0xabbf],
+  [0x13a0, 0xab70], /* CHEROKEE SMALL LETTER A */
+  [0x13a1, 0xab71], /* CHEROKEE SMALL LETTER E */
+  [0x13a2, 0xab72], /* CHEROKEE SMALL LETTER I */
+  [0x13a3, 0xab73], /* CHEROKEE SMALL LETTER O */
+  [0x13a4, 0xab74], /* CHEROKEE SMALL LETTER U */
+  [0x13a5, 0xab75], /* CHEROKEE SMALL LETTER V */
+  [0x13a6, 0xab76], /* CHEROKEE SMALL LETTER GA */
+  [0x13a7, 0xab77], /* CHEROKEE SMALL LETTER KA */
+  [0x13a8, 0xab78], /* CHEROKEE SMALL LETTER GE */
+  [0x13a9, 0xab79], /* CHEROKEE SMALL LETTER GI */
+  [0x13aa, 0xab7a], /* CHEROKEE SMALL LETTER GO */
+  [0x13ab, 0xab7b], /* CHEROKEE SMALL LETTER GU */
+  [0x13ac, 0xab7c], /* CHEROKEE SMALL LETTER GV */
+  [0x13ad, 0xab7d], /* CHEROKEE SMALL LETTER HA */
+  [0x13ae, 0xab7e], /* CHEROKEE SMALL LETTER HE */
+  [0x13af, 0xab7f], /* CHEROKEE SMALL LETTER HI */
+  [0x13b0, 0xab80], /* CHEROKEE SMALL LETTER HO */
+  [0x13b1, 0xab81], /* CHEROKEE SMALL LETTER HU */
+  [0x13b2, 0xab82], /* CHEROKEE SMALL LETTER HV */
+  [0x13b3, 0xab83], /* CHEROKEE SMALL LETTER LA */
+  [0x13b4, 0xab84], /* CHEROKEE SMALL LETTER LE */
+  [0x13b5, 0xab85], /* CHEROKEE SMALL LETTER LI */
+  [0x13b6, 0xab86], /* CHEROKEE SMALL LETTER LO */
+  [0x13b7, 0xab87], /* CHEROKEE SMALL LETTER LU */
+  [0x13b8, 0xab88], /* CHEROKEE SMALL LETTER LV */
+  [0x13b9, 0xab89], /* CHEROKEE SMALL LETTER MA */
+  [0x13ba, 0xab8a], /* CHEROKEE SMALL LETTER ME */
+  [0x13bb, 0xab8b], /* CHEROKEE SMALL LETTER MI */
+  [0x13bc, 0xab8c], /* CHEROKEE SMALL LETTER MO */
+  [0x13bd, 0xab8d], /* CHEROKEE SMALL LETTER MU */
+  [0x13be, 0xab8e], /* CHEROKEE SMALL LETTER NA */
+  [0x13bf, 0xab8f], /* CHEROKEE SMALL LETTER HNA */
+  [0x13c0, 0xab90], /* CHEROKEE SMALL LETTER NAH */
+  [0x13c1, 0xab91], /* CHEROKEE SMALL LETTER NE */
+  [0x13c2, 0xab92], /* CHEROKEE SMALL LETTER NI */
+  [0x13c3, 0xab93], /* CHEROKEE SMALL LETTER NO */
+  [0x13c4, 0xab94], /* CHEROKEE SMALL LETTER NU */
+  [0x13c5, 0xab95], /* CHEROKEE SMALL LETTER NV */
+  [0x13c6, 0xab96], /* CHEROKEE SMALL LETTER QUA */
+  [0x13c7, 0xab97], /* CHEROKEE SMALL LETTER QUE */
+  [0x13c8, 0xab98], /* CHEROKEE SMALL LETTER QUI */
+  [0x13c9, 0xab99], /* CHEROKEE SMALL LETTER QUO */
+  [0x13ca, 0xab9a], /* CHEROKEE SMALL LETTER QUU */
+  [0x13cb, 0xab9b], /* CHEROKEE SMALL LETTER QUV */
+  [0x13cc, 0xab9c], /* CHEROKEE SMALL LETTER SA */
+  [0x13cd, 0xab9d], /* CHEROKEE SMALL LETTER S */
+  [0x13ce, 0xab9e], /* CHEROKEE SMALL LETTER SE */
+  [0x13cf, 0xab9f], /* CHEROKEE SMALL LETTER SI */
+  [0x13d0, 0xaba0], /* CHEROKEE SMALL LETTER SO */
+  [0x13d1, 0xaba1], /* CHEROKEE SMALL LETTER SU */
+  [0x13d2, 0xaba2], /* CHEROKEE SMALL LETTER SV */
+  [0x13d3, 0xaba3], /* CHEROKEE SMALL LETTER DA */
+  [0x13d4, 0xaba4], /* CHEROKEE SMALL LETTER TA */
+  [0x13d5, 0xaba5], /* CHEROKEE SMALL LETTER DE */
+  [0x13d6, 0xaba6], /* CHEROKEE SMALL LETTER TE */
+  [0x13d7, 0xaba7], /* CHEROKEE SMALL LETTER DI */
+  [0x13d8, 0xaba8], /* CHEROKEE SMALL LETTER TI */
+  [0x13d9, 0xaba9], /* CHEROKEE SMALL LETTER DO */
+  [0x13da, 0xabaa], /* CHEROKEE SMALL LETTER DU */
+  [0x13db, 0xabab], /* CHEROKEE SMALL LETTER DV */
+  [0x13dc, 0xabac], /* CHEROKEE SMALL LETTER DLA */
+  [0x13dd, 0xabad], /* CHEROKEE SMALL LETTER TLA */
+  [0x13de, 0xabae], /* CHEROKEE SMALL LETTER TLE */
+  [0x13df, 0xabaf], /* CHEROKEE SMALL LETTER TLI */
+  [0x13e0, 0xabb0], /* CHEROKEE SMALL LETTER TLO */
+  [0x13e1, 0xabb1], /* CHEROKEE SMALL LETTER TLU */
+  [0x13e2, 0xabb2], /* CHEROKEE SMALL LETTER TLV */
+  [0x13e3, 0xabb3], /* CHEROKEE SMALL LETTER TSA */
+  [0x13e4, 0xabb4], /* CHEROKEE SMALL LETTER TSE */
+  [0x13e5, 0xabb5], /* CHEROKEE SMALL LETTER TSI */
+  [0x13e6, 0xabb6], /* CHEROKEE SMALL LETTER TSO */
+  [0x13e7, 0xabb7], /* CHEROKEE SMALL LETTER TSU */
+  [0x13e8, 0xabb8], /* CHEROKEE SMALL LETTER TSV */
+  [0x13e9, 0xabb9], /* CHEROKEE SMALL LETTER WA */
+  [0x13ea, 0xabba], /* CHEROKEE SMALL LETTER WE */
+  [0x13eb, 0xabbb], /* CHEROKEE SMALL LETTER WI */
+  [0x13ec, 0xabbc], /* CHEROKEE SMALL LETTER WO */
+  [0x13ed, 0xabbd], /* CHEROKEE SMALL LETTER WU */
+  [0x13ee, 0xabbe], /* CHEROKEE SMALL LETTER WV */
+  [0x13ef, 0xabbf], /* CHEROKEE SMALL LETTER YA */
   [0xabc0, 0xabc0], /* MEETEI MAYEK LETTER KOK */
   [0xabc1, 0xabc1], /* MEETEI MAYEK LETTER SAM */
   [0xabc2, 0xabc2], /* MEETEI MAYEK LETTER LAI */
   [0xabc3, 0xabc3], /* MEETEI MAYEK LETTER MIT */
   [0xabc4, 0xabc4], /* MEETEI MAYEK LETTER PA */
   [0xabc5, 0xabc5], /* MEETEI MAYEK LETTER NA */
   [0xabc6, 0xabc6], /* MEETEI MAYEK LETTER CHIL */
   [0xabc7, 0xabc7], /* MEETEI MAYEK LETTER TIL */
@@ -65063,25 +65063,25 @@ var mapping = [
   [0xfe1f, 0xfe1f],
   [0xfe20, 0xfe20], /* COMBINING LIGATURE LEFT HALF */
   [0xfe21, 0xfe21], /* COMBINING LIGATURE RIGHT HALF */
   [0xfe22, 0xfe22], /* COMBINING DOUBLE TILDE LEFT HALF */
   [0xfe23, 0xfe23], /* COMBINING DOUBLE TILDE RIGHT HALF */
   [0xfe24, 0xfe24], /* COMBINING MACRON LEFT HALF */
   [0xfe25, 0xfe25], /* COMBINING MACRON RIGHT HALF */
   [0xfe26, 0xfe26], /* COMBINING CONJOINING MACRON */
-  [0xfe27, 0xfe27],
-  [0xfe28, 0xfe28],
-  [0xfe29, 0xfe29],
-  [0xfe2a, 0xfe2a],
-  [0xfe2b, 0xfe2b],
-  [0xfe2c, 0xfe2c],
-  [0xfe2d, 0xfe2d],
-  [0xfe2e, 0xfe2e],
-  [0xfe2f, 0xfe2f],
+  [0xfe27, 0xfe27], /* COMBINING LIGATURE LEFT HALF BELOW */
+  [0xfe28, 0xfe28], /* COMBINING LIGATURE RIGHT HALF BELOW */
+  [0xfe29, 0xfe29], /* COMBINING TILDE LEFT HALF BELOW */
+  [0xfe2a, 0xfe2a], /* COMBINING TILDE RIGHT HALF BELOW */
+  [0xfe2b, 0xfe2b], /* COMBINING MACRON LEFT HALF BELOW */
+  [0xfe2c, 0xfe2c], /* COMBINING MACRON RIGHT HALF BELOW */
+  [0xfe2d, 0xfe2d], /* COMBINING CONJOINING MACRON BELOW */
+  [0xfe2e, 0xfe2e], /* COMBINING CYRILLIC TITLO LEFT HALF */
+  [0xfe2f, 0xfe2f], /* COMBINING CYRILLIC TITLO RIGHT HALF */
   [0xfe30, 0xfe30], /* PRESENTATION FORM FOR VERTICAL TWO DOT LEADER (GLYPH FOR VERTICAL TWO DOT LEADER) */
   [0xfe31, 0xfe31], /* PRESENTATION FORM FOR VERTICAL EM DASH (GLYPH FOR VERTICAL EM DASH) */
   [0xfe32, 0xfe32], /* PRESENTATION FORM FOR VERTICAL EN DASH (GLYPH FOR VERTICAL EN DASH) */
   [0xfe33, 0xfe33], /* PRESENTATION FORM FOR VERTICAL LOW LINE (GLYPH FOR VERTICAL SPACING UNDERSCORE) */
   [0xfe34, 0xfe34], /* PRESENTATION FORM FOR VERTICAL WAVY LOW LINE (GLYPH FOR VERTICAL SPACING WAVY UNDERSCORE) */
   [0xfe35, 0xfe35], /* PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS (GLYPH FOR VERTICAL OPENING PARENTHESIS) */
   [0xfe36, 0xfe36], /* PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS (GLYPH FOR VERTICAL CLOSING PARENTHESIS) */
   [0xfe37, 0xfe37], /* PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET (GLYPH FOR VERTICAL OPENING CURLY BRACKET) */
--- a/js/src/tests/ecma_6/RegExp/unicode-ignoreCase.js
+++ b/js/src/tests/ecma_6/RegExp/unicode-ignoreCase.js
@@ -457,16 +457,17 @@ test(0x25b,0x190);
 test(0x25c,0xa7ab);
 test(0x260,0x193);
 test(0x261,0xa7ac);
 test(0x263,0x194);
 test(0x265,0xa78d);
 test(0x266,0xa7aa);
 test(0x268,0x197);
 test(0x269,0x196);
+test(0x26a,0xa7ae);
 test(0x26b,0x2c62);
 test(0x26c,0xa7ad);
 test(0x26f,0x19c);
 test(0x271,0x2c6e);
 test(0x272,0x19d);
 test(0x275,0x19f);
 test(0x27d,0x2c64);
 test(0x280,0x1a6);
@@ -615,73 +616,73 @@ test(0x409,0x459);
 test(0x40a,0x45a);
 test(0x40b,0x45b);
 test(0x40c,0x45c);
 test(0x40d,0x45d);
 test(0x40e,0x45e);
 test(0x40f,0x45f);
 test(0x410,0x430);
 test(0x411,0x431);
-test(0x412,0x432);
+test(0x412,0x432,0x1c80);
 test(0x413,0x433);
-test(0x414,0x434);
+test(0x414,0x434,0x1c81);
 test(0x415,0x435);
 test(0x416,0x436);
 test(0x417,0x437);
 test(0x418,0x438);
 test(0x419,0x439);
 test(0x41a,0x43a);
 test(0x41b,0x43b);
 test(0x41c,0x43c);
 test(0x41d,0x43d);
-test(0x41e,0x43e);
+test(0x41e,0x43e,0x1c82);
 test(0x41f,0x43f);
 test(0x420,0x440);
-test(0x421,0x441);
-test(0x422,0x442);
+test(0x421,0x441,0x1c83);
+test(0x422,0x442,0x1c84,0x1c85);
 test(0x423,0x443);
 test(0x424,0x444);
 test(0x425,0x445);
 test(0x426,0x446);
 test(0x427,0x447);
 test(0x428,0x448);
 test(0x429,0x449);
-test(0x42a,0x44a);
+test(0x42a,0x44a,0x1c86);
 test(0x42b,0x44b);
 test(0x42c,0x44c);
 test(0x42d,0x44d);
 test(0x42e,0x44e);
 test(0x42f,0x44f);
 test(0x430,0x410);
 test(0x431,0x411);
-test(0x432,0x412);
+test(0x432,0x412,0x1c80);
 test(0x433,0x413);
-test(0x434,0x414);
+test(0x434,0x414,0x1c81);
 test(0x435,0x415);
 test(0x436,0x416);
 test(0x437,0x417);
 test(0x438,0x418);
 test(0x439,0x419);
 test(0x43a,0x41a);
 test(0x43b,0x41b);
 test(0x43c,0x41c);
 test(0x43d,0x41d);
-test(0x43e,0x41e);
+test(0x43e,0x41e,0x1c82);
 test(0x43f,0x41f);
 test(0x440,0x420);
-test(0x441,0x421);
-test(0x442,0x422);
+test(0x441,0x421,0x1c83);
+test(0x442,0x422,0x1c84,0x1c85);
 test(0x443,0x423);
 test(0x444,0x424);
 test(0x445,0x425);
 test(0x446,0x426);
 test(0x447,0x427);
 test(0x448,0x428);
 test(0x449,0x429);
-test(0x44a,0x42a);
+test(0x44a,0x42a,0x1c86);
 test(0x44b,0x42b);
 test(0x44c,0x42c);
 test(0x44d,0x42d);
 test(0x44e,0x42e);
 test(0x44f,0x42f);
 test(0x450,0x400);
 test(0x451,0x401);
 test(0x452,0x402);
@@ -695,18 +696,18 @@ test(0x459,0x409);
 test(0x45a,0x40a);
 test(0x45b,0x40b);
 test(0x45c,0x40c);
 test(0x45d,0x40d);
 test(0x45e,0x40e);
 test(0x45f,0x40f);
 test(0x460,0x461);
 test(0x461,0x460);
-test(0x462,0x463);
-test(0x463,0x462);
+test(0x462,0x463,0x1c87);
+test(0x463,0x462,0x1c87);
 test(0x464,0x465);
 test(0x465,0x464);
 test(0x466,0x467);
 test(0x467,0x466);
 test(0x468,0x469);
 test(0x469,0x468);
 test(0x46a,0x46b);
 test(0x46b,0x46a);
@@ -1101,16 +1102,25 @@ test(0x13f3,0x13fb);
 test(0x13f4,0x13fc);
 test(0x13f5,0x13fd);
 test(0x13f8,0x13f0);
 test(0x13f9,0x13f1);
 test(0x13fa,0x13f2);
 test(0x13fb,0x13f3);
 test(0x13fc,0x13f4);
 test(0x13fd,0x13f5);
+test(0x1c80,0x432,0x412);
+test(0x1c81,0x434,0x414);
+test(0x1c82,0x43e,0x41e);
+test(0x1c83,0x441,0x421);
+test(0x1c84,0x442,0x422,0x1c85);
+test(0x1c85,0x442,0x422,0x1c84);
+test(0x1c86,0x44a,0x42a);
+test(0x1c87,0x463,0x462);
+test(0x1c88,0xa64b,0xa64a);
 test(0x1d79,0xa77d);
 test(0x1d7d,0x2c63);
 test(0x1e00,0x1e01);
 test(0x1e01,0x1e00);
 test(0x1e02,0x1e03);
 test(0x1e03,0x1e02);
 test(0x1e04,0x1e05);
 test(0x1e05,0x1e04);
@@ -1908,18 +1918,18 @@ test(0xa641,0xa640);
 test(0xa642,0xa643);
 test(0xa643,0xa642);
 test(0xa644,0xa645);
 test(0xa645,0xa644);
 test(0xa646,0xa647);
 test(0xa647,0xa646);
 test(0xa648,0xa649);
 test(0xa649,0xa648);
-test(0xa64a,0xa64b);
-test(0xa64b,0xa64a);
+test(0xa64a,0xa64b,0x1c88);
+test(0xa64b,0x1c88,0xa64a);
 test(0xa64c,0xa64d);
 test(0xa64d,0xa64c);
 test(0xa64e,0xa64f);
 test(0xa64f,0xa64e);
 test(0xa650,0xa651);
 test(0xa651,0xa650);
 test(0xa652,0xa653);
 test(0xa653,0xa652);
@@ -2094,16 +2104,17 @@ test(0xa7a5,0xa7a4);
 test(0xa7a6,0xa7a7);
 test(0xa7a7,0xa7a6);
 test(0xa7a8,0xa7a9);
 test(0xa7a9,0xa7a8);
 test(0xa7aa,0x266);
 test(0xa7ab,0x25c);
 test(0xa7ac,0x261);
 test(0xa7ad,0x26c);
+test(0xa7ae,0x26a);
 test(0xa7b0,0x29e);
 test(0xa7b1,0x287);
 test(0xa7b2,0x29d);
 test(0xa7b3,0xab53);
 test(0xa7b4,0xa7b5);
 test(0xa7b5,0xa7b4);
 test(0xa7b6,0xa7b7);
 test(0xa7b7,0xa7b6);
@@ -2315,16 +2326,88 @@ test(0x10447,0x1041f);
 test(0x10448,0x10420);
 test(0x10449,0x10421);
 test(0x1044a,0x10422);
 test(0x1044b,0x10423);
 test(0x1044c,0x10424);
 test(0x1044d,0x10425);
 test(0x1044e,0x10426);
 test(0x1044f,0x10427);
+test(0x104b0,0x104d8);
+test(0x104b1,0x104d9);
+test(0x104b2,0x104da);
+test(0x104b3,0x104db);
+test(0x104b4,0x104dc);
+test(0x104b5,0x104dd);
+test(0x104b6,0x104de);
+test(0x104b7,0x104df);
+test(0x104b8,0x104e0);
+test(0x104b9,0x104e1);
+test(0x104ba,0x104e2);
+test(0x104bb,0x104e3);
+test(0x104bc,0x104e4);
+test(0x104bd,0x104e5);
+test(0x104be,0x104e6);
+test(0x104bf,0x104e7);
+test(0x104c0,0x104e8);
+test(0x104c1,0x104e9);
+test(0x104c2,0x104ea);
+test(0x104c3,0x104eb);
+test(0x104c4,0x104ec);
+test(0x104c5,0x104ed);
+test(0x104c6,0x104ee);
+test(0x104c7,0x104ef);
+test(0x104c8,0x104f0);
+test(0x104c9,0x104f1);
+test(0x104ca,0x104f2);
+test(0x104cb,0x104f3);
+test(0x104cc,0x104f4);
+test(0x104cd,0x104f5);
+test(0x104ce,0x104f6);
+test(0x104cf,0x104f7);
+test(0x104d0,0x104f8);
+test(0x104d1,0x104f9);
+test(0x104d2,0x104fa);
+test(0x104d3,0x104fb);
+test(0x104d8,0x104b0);
+test(0x104d9,0x104b1);
+test(0x104da,0x104b2);
+test(0x104db,0x104b3);
+test(0x104dc,0x104b4);
+test(0x104dd,0x104b5);
+test(0x104de,0x104b6);
+test(0x104df,0x104b7);
+test(0x104e0,0x104b8);
+test(0x104e1,0x104b9);
+test(0x104e2,0x104ba);
+test(0x104e3,0x104bb);
+test(0x104e4,0x104bc);
+test(0x104e5,0x104bd);
+test(0x104e6,0x104be);
+test(0x104e7,0x104bf);
+test(0x104e8,0x104c0);
+test(0x104e9,0x104c1);
+test(0x104ea,0x104c2);
+test(0x104eb,0x104c3);
+test(0x104ec,0x104c4);
+test(0x104ed,0x104c5);
+test(0x104ee,0x104c6);
+test(0x104ef,0x104c7);
+test(0x104f0,0x104c8);
+test(0x104f1,0x104c9);
+test(0x104f2,0x104ca);
+test(0x104f3,0x104cb);
+test(0x104f4,0x104cc);
+test(0x104f5,0x104cd);
+test(0x104f6,0x104ce);
+test(0x104f7,0x104cf);
+test(0x104f8,0x104d0);
+test(0x104f9,0x104d1);
+test(0x104fa,0x104d2);
+test(0x104fb,0x104d3);
 test(0x10c80,0x10cc0);
 test(0x10c81,0x10cc1);
 test(0x10c82,0x10cc2);
 test(0x10c83,0x10cc3);
 test(0x10c84,0x10cc4);
 test(0x10c85,0x10cc5);
 test(0x10c86,0x10cc6);
 test(0x10c87,0x10cc7);
@@ -2481,11 +2564,79 @@ test(0x118d7,0x118b7);
 test(0x118d8,0x118b8);
 test(0x118d9,0x118b9);
 test(0x118da,0x118ba);
 test(0x118db,0x118bb);
 test(0x118dc,0x118bc);
 test(0x118dd,0x118bd);
 test(0x118de,0x118be);
 test(0x118df,0x118bf);
+test(0x1e900,0x1e922);
+test(0x1e901,0x1e923);
+test(0x1e902,0x1e924);
+test(0x1e903,0x1e925);
+test(0x1e904,0x1e926);
+test(0x1e905,0x1e927);
+test(0x1e906,0x1e928);
+test(0x1e907,0x1e929);
+test(0x1e908,0x1e92a);
+test(0x1e909,0x1e92b);
+test(0x1e90a,0x1e92c);
+test(0x1e90b,0x1e92d);
+test(0x1e90c,0x1e92e);
+test(0x1e90d,0x1e92f);
+test(0x1e90e,0x1e930);
+test(0x1e90f,0x1e931);
+test(0x1e910,0x1e932);
+test(0x1e911,0x1e933);
+test(0x1e912,0x1e934);
+test(0x1e913,0x1e935);
+test(0x1e914,0x1e936);
+test(0x1e915,0x1e937);
+test(0x1e916,0x1e938);
+test(0x1e917,0x1e939);
+test(0x1e918,0x1e93a);
+test(0x1e919,0x1e93b);
+test(0x1e91a,0x1e93c);
+test(0x1e91b,0x1e93d);
+test(0x1e91c,0x1e93e);
+test(0x1e91d,0x1e93f);
+test(0x1e91e,0x1e940);
+test(0x1e91f,0x1e941);
+test(0x1e920,0x1e942);
+test(0x1e921,0x1e943);
+test(0x1e922,0x1e900);
+test(0x1e923,0x1e901);
+test(0x1e924,0x1e902);
+test(0x1e925,0x1e903);
+test(0x1e926,0x1e904);
+test(0x1e927,0x1e905);
+test(0x1e928,0x1e906);
+test(0x1e929,0x1e907);
+test(0x1e92a,0x1e908);
+test(0x1e92b,0x1e909);
+test(0x1e92c,0x1e90a);
+test(0x1e92d,0x1e90b);
+test(0x1e92e,0x1e90c);
+test(0x1e92f,0x1e90d);
+test(0x1e930,0x1e90e);
+test(0x1e931,0x1e90f);
+test(0x1e932,0x1e910);
+test(0x1e933,0x1e911);
+test(0x1e934,0x1e912);
+test(0x1e935,0x1e913);
+test(0x1e936,0x1e914);
+test(0x1e937,0x1e915);
+test(0x1e938,0x1e916);
+test(0x1e939,0x1e917);
+test(0x1e93a,0x1e918);
+test(0x1e93b,0x1e919);
+test(0x1e93c,0x1e91a);
+test(0x1e93d,0x1e91b);
+test(0x1e93e,0x1e91c);
+test(0x1e93f,0x1e91d);
+test(0x1e940,0x1e91e);
+test(0x1e941,0x1e91f);
+test(0x1e942,0x1e920);
+test(0x1e943,0x1e921);
 
 if (typeof reportCompare === "function")
     reportCompare(true, true);
--- a/js/src/tests/ecma_6/String/string-code-point-upper-lower-mapping.js
+++ b/js/src/tests/ecma_6/String/string-code-point-upper-lower-mapping.js
@@ -39,16 +39,169 @@ assertEq(String.fromCodePoint(0x10447).t
 assertEq(String.fromCodePoint(0x10448).toUpperCase().codePointAt(0), 0x10420);
 assertEq(String.fromCodePoint(0x10449).toUpperCase().codePointAt(0), 0x10421);
 assertEq(String.fromCodePoint(0x1044a).toUpperCase().codePointAt(0), 0x10422);
 assertEq(String.fromCodePoint(0x1044b).toUpperCase().codePointAt(0), 0x10423);
 assertEq(String.fromCodePoint(0x1044c).toUpperCase().codePointAt(0), 0x10424);
 assertEq(String.fromCodePoint(0x1044d).toUpperCase().codePointAt(0), 0x10425);
 assertEq(String.fromCodePoint(0x1044e).toUpperCase().codePointAt(0), 0x10426);
 assertEq(String.fromCodePoint(0x1044f).toUpperCase().codePointAt(0), 0x10427);
+assertEq(String.fromCodePoint(0x104d8).toUpperCase().codePointAt(0), 0x104b0);
+assertEq(String.fromCodePoint(0x104d9).toUpperCase().codePointAt(0), 0x104b1);
+assertEq(String.fromCodePoint(0x104da).toUpperCase().codePointAt(0), 0x104b2);
+assertEq(String.fromCodePoint(0x104db).toUpperCase().codePointAt(0), 0x104b3);
+assertEq(String.fromCodePoint(0x104dc).toUpperCase().codePointAt(0), 0x104b4);
+assertEq(String.fromCodePoint(0x104dd).toUpperCase().codePointAt(0), 0x104b5);
+assertEq(String.fromCodePoint(0x104de).toUpperCase().codePointAt(0), 0x104b6);
+assertEq(String.fromCodePoint(0x104df).toUpperCase().codePointAt(0), 0x104b7);
+assertEq(String.fromCodePoint(0x104e0).toUpperCase().codePointAt(0), 0x104b8);
+assertEq(String.fromCodePoint(0x104e1).toUpperCase().codePointAt(0), 0x104b9);
+assertEq(String.fromCodePoint(0x104e2).toUpperCase().codePointAt(0), 0x104ba);
+assertEq(String.fromCodePoint(0x104e3).toUpperCase().codePointAt(0), 0x104bb);
+assertEq(String.fromCodePoint(0x104e4).toUpperCase().codePointAt(0), 0x104bc);
+assertEq(String.fromCodePoint(0x104e5).toUpperCase().codePointAt(0), 0x104bd);
+assertEq(String.fromCodePoint(0x104e6).toUpperCase().codePointAt(0), 0x104be);
+assertEq(String.fromCodePoint(0x104e7).toUpperCase().codePointAt(0), 0x104bf);
+assertEq(String.fromCodePoint(0x104e8).toUpperCase().codePointAt(0), 0x104c0);
+assertEq(String.fromCodePoint(0x104e9).toUpperCase().codePointAt(0), 0x104c1);
+assertEq(String.fromCodePoint(0x104ea).toUpperCase().codePointAt(0), 0x104c2);
+assertEq(String.fromCodePoint(0x104eb).toUpperCase().codePointAt(0), 0x104c3);
+assertEq(String.fromCodePoint(0x104ec).toUpperCase().codePointAt(0), 0x104c4);
+assertEq(String.fromCodePoint(0x104ed).toUpperCase().codePointAt(0), 0x104c5);
+assertEq(String.fromCodePoint(0x104ee).toUpperCase().codePointAt(0), 0x104c6);
+assertEq(String.fromCodePoint(0x104ef).toUpperCase().codePointAt(0), 0x104c7);
+assertEq(String.fromCodePoint(0x104f0).toUpperCase().codePointAt(0), 0x104c8);
+assertEq(String.fromCodePoint(0x104f1).toUpperCase().codePointAt(0), 0x104c9);
+assertEq(String.fromCodePoint(0x104f2).toUpperCase().codePointAt(0), 0x104ca);
+assertEq(String.fromCodePoint(0x104f3).toUpperCase().codePointAt(0), 0x104cb);
+assertEq(String.fromCodePoint(0x104f4).toUpperCase().codePointAt(0), 0x104cc);
+assertEq(String.fromCodePoint(0x104f5).toUpperCase().codePointAt(0), 0x104cd);
+assertEq(String.fromCodePoint(0x104f6).toUpperCase().codePointAt(0), 0x104ce);
+assertEq(String.fromCodePoint(0x104f7).toUpperCase().codePointAt(0), 0x104cf);
+assertEq(String.fromCodePoint(0x104f8).toUpperCase().codePointAt(0), 0x104d0);
+assertEq(String.fromCodePoint(0x104f9).toUpperCase().codePointAt(0), 0x104d1);
+assertEq(String.fromCodePoint(0x104fa).toUpperCase().codePointAt(0), 0x104d2);
+assertEq(String.fromCodePoint(0x104fb).toUpperCase().codePointAt(0), 0x104d3);
+assertEq(String.fromCodePoint(0x10cc0).toUpperCase().codePointAt(0), 0x10c80);
+assertEq(String.fromCodePoint(0x10cc1).toUpperCase().codePointAt(0), 0x10c81);
+assertEq(String.fromCodePoint(0x10cc2).toUpperCase().codePointAt(0), 0x10c82);
+assertEq(String.fromCodePoint(0x10cc3).toUpperCase().codePointAt(0), 0x10c83);
+assertEq(String.fromCodePoint(0x10cc4).toUpperCase().codePointAt(0), 0x10c84);
+assertEq(String.fromCodePoint(0x10cc5).toUpperCase().codePointAt(0), 0x10c85);
+assertEq(String.fromCodePoint(0x10cc6).toUpperCase().codePointAt(0), 0x10c86);
+assertEq(String.fromCodePoint(0x10cc7).toUpperCase().codePointAt(0), 0x10c87);
+assertEq(String.fromCodePoint(0x10cc8).toUpperCase().codePointAt(0), 0x10c88);
+assertEq(String.fromCodePoint(0x10cc9).toUpperCase().codePointAt(0), 0x10c89);
+assertEq(String.fromCodePoint(0x10cca).toUpperCase().codePointAt(0), 0x10c8a);
+assertEq(String.fromCodePoint(0x10ccb).toUpperCase().codePointAt(0), 0x10c8b);
+assertEq(String.fromCodePoint(0x10ccc).toUpperCase().codePointAt(0), 0x10c8c);
+assertEq(String.fromCodePoint(0x10ccd).toUpperCase().codePointAt(0), 0x10c8d);
+assertEq(String.fromCodePoint(0x10cce).toUpperCase().codePointAt(0), 0x10c8e);
+assertEq(String.fromCodePoint(0x10ccf).toUpperCase().codePointAt(0), 0x10c8f);
+assertEq(String.fromCodePoint(0x10cd0).toUpperCase().codePointAt(0), 0x10c90);
+assertEq(String.fromCodePoint(0x10cd1).toUpperCase().codePointAt(0), 0x10c91);
+assertEq(String.fromCodePoint(0x10cd2).toUpperCase().codePointAt(0), 0x10c92);
+assertEq(String.fromCodePoint(0x10cd3).toUpperCase().codePointAt(0), 0x10c93);
+assertEq(String.fromCodePoint(0x10cd4).toUpperCase().codePointAt(0), 0x10c94);
+assertEq(String.fromCodePoint(0x10cd5).toUpperCase().codePointAt(0), 0x10c95);
+assertEq(String.fromCodePoint(0x10cd6).toUpperCase().codePointAt(0), 0x10c96);
+assertEq(String.fromCodePoint(0x10cd7).toUpperCase().codePointAt(0), 0x10c97);
+assertEq(String.fromCodePoint(0x10cd8).toUpperCase().codePointAt(0), 0x10c98);
+assertEq(String.fromCodePoint(0x10cd9).toUpperCase().codePointAt(0), 0x10c99);
+assertEq(String.fromCodePoint(0x10cda).toUpperCase().codePointAt(0), 0x10c9a);
+assertEq(String.fromCodePoint(0x10cdb).toUpperCase().codePointAt(0), 0x10c9b);
+assertEq(String.fromCodePoint(0x10cdc).toUpperCase().codePointAt(0), 0x10c9c);
+assertEq(String.fromCodePoint(0x10cdd).toUpperCase().codePointAt(0), 0x10c9d);
+assertEq(String.fromCodePoint(0x10cde).toUpperCase().codePointAt(0), 0x10c9e);
+assertEq(String.fromCodePoint(0x10cdf).toUpperCase().codePointAt(0), 0x10c9f);
+assertEq(String.fromCodePoint(0x10ce0).toUpperCase().codePointAt(0), 0x10ca0);
+assertEq(String.fromCodePoint(0x10ce1).toUpperCase().codePointAt(0), 0x10ca1);
+assertEq(String.fromCodePoint(0x10ce2).toUpperCase().codePointAt(0), 0x10ca2);
+assertEq(String.fromCodePoint(0x10ce3).toUpperCase().codePointAt(0), 0x10ca3);
+assertEq(String.fromCodePoint(0x10ce4).toUpperCase().codePointAt(0), 0x10ca4);
+assertEq(String.fromCodePoint(0x10ce5).toUpperCase().codePointAt(0), 0x10ca5);
+assertEq(String.fromCodePoint(0x10ce6).toUpperCase().codePointAt(0), 0x10ca6);
+assertEq(String.fromCodePoint(0x10ce7).toUpperCase().codePointAt(0), 0x10ca7);
+assertEq(String.fromCodePoint(0x10ce8).toUpperCase().codePointAt(0), 0x10ca8);
+assertEq(String.fromCodePoint(0x10ce9).toUpperCase().codePointAt(0), 0x10ca9);
+assertEq(String.fromCodePoint(0x10cea).toUpperCase().codePointAt(0), 0x10caa);
+assertEq(String.fromCodePoint(0x10ceb).toUpperCase().codePointAt(0), 0x10cab);
+assertEq(String.fromCodePoint(0x10cec).toUpperCase().codePointAt(0), 0x10cac);
+assertEq(String.fromCodePoint(0x10ced).toUpperCase().codePointAt(0), 0x10cad);
+assertEq(String.fromCodePoint(0x10cee).toUpperCase().codePointAt(0), 0x10cae);
+assertEq(String.fromCodePoint(0x10cef).toUpperCase().codePointAt(0), 0x10caf);
+assertEq(String.fromCodePoint(0x10cf0).toUpperCase().codePointAt(0), 0x10cb0);
+assertEq(String.fromCodePoint(0x10cf1).toUpperCase().codePointAt(0), 0x10cb1);
+assertEq(String.fromCodePoint(0x10cf2).toUpperCase().codePointAt(0), 0x10cb2);
+assertEq(String.fromCodePoint(0x118c0).toUpperCase().codePointAt(0), 0x118a0);
+assertEq(String.fromCodePoint(0x118c1).toUpperCase().codePointAt(0), 0x118a1);
+assertEq(String.fromCodePoint(0x118c2).toUpperCase().codePointAt(0), 0x118a2);
+assertEq(String.fromCodePoint(0x118c3).toUpperCase().codePointAt(0), 0x118a3);
+assertEq(String.fromCodePoint(0x118c4).toUpperCase().codePointAt(0), 0x118a4);
+assertEq(String.fromCodePoint(0x118c5).toUpperCase().codePointAt(0), 0x118a5);
+assertEq(String.fromCodePoint(0x118c6).toUpperCase().codePointAt(0), 0x118a6);
+assertEq(String.fromCodePoint(0x118c7).toUpperCase().codePointAt(0), 0x118a7);
+assertEq(String.fromCodePoint(0x118c8).toUpperCase().codePointAt(0), 0x118a8);
+assertEq(String.fromCodePoint(0x118c9).toUpperCase().codePointAt(0), 0x118a9);
+assertEq(String.fromCodePoint(0x118ca).toUpperCase().codePointAt(0), 0x118aa);
+assertEq(String.fromCodePoint(0x118cb).toUpperCase().codePointAt(0), 0x118ab);
+assertEq(String.fromCodePoint(0x118cc).toUpperCase().codePointAt(0), 0x118ac);
+assertEq(String.fromCodePoint(0x118cd).toUpperCase().codePointAt(0), 0x118ad);
+assertEq(String.fromCodePoint(0x118ce).toUpperCase().codePointAt(0), 0x118ae);
+assertEq(String.fromCodePoint(0x118cf).toUpperCase().codePointAt(0), 0x118af);
+assertEq(String.fromCodePoint(0x118d0).toUpperCase().codePointAt(0), 0x118b0);
+assertEq(String.fromCodePoint(0x118d1).toUpperCase().codePointAt(0), 0x118b1);
+assertEq(String.fromCodePoint(0x118d2).toUpperCase().codePointAt(0), 0x118b2);
+assertEq(String.fromCodePoint(0x118d3).toUpperCase().codePointAt(0), 0x118b3);
+assertEq(String.fromCodePoint(0x118d4).toUpperCase().codePointAt(0), 0x118b4);
+assertEq(String.fromCodePoint(0x118d5).toUpperCase().codePointAt(0), 0x118b5);
+assertEq(String.fromCodePoint(0x118d6).toUpperCase().codePointAt(0), 0x118b6);
+assertEq(String.fromCodePoint(0x118d7).toUpperCase().codePointAt(0), 0x118b7);
+assertEq(String.fromCodePoint(0x118d8).toUpperCase().codePointAt(0), 0x118b8);
+assertEq(String.fromCodePoint(0x118d9).toUpperCase().codePointAt(0), 0x118b9);
+assertEq(String.fromCodePoint(0x118da).toUpperCase().codePointAt(0), 0x118ba);
+assertEq(String.fromCodePoint(0x118db).toUpperCase().codePointAt(0), 0x118bb);
+assertEq(String.fromCodePoint(0x118dc).toUpperCase().codePointAt(0), 0x118bc);
+assertEq(String.fromCodePoint(0x118dd).toUpperCase().codePointAt(0), 0x118bd);
+assertEq(String.fromCodePoint(0x118de).toUpperCase().codePointAt(0), 0x118be);
+assertEq(String.fromCodePoint(0x118df).toUpperCase().codePointAt(0), 0x118bf);
+assertEq(String.fromCodePoint(0x1e922).toUpperCase().codePointAt(0), 0x1e900);
+assertEq(String.fromCodePoint(0x1e923).toUpperCase().codePointAt(0), 0x1e901);
+assertEq(String.fromCodePoint(0x1e924).toUpperCase().codePointAt(0), 0x1e902);
+assertEq(String.fromCodePoint(0x1e925).toUpperCase().codePointAt(0), 0x1e903);
+assertEq(String.fromCodePoint(0x1e926).toUpperCase().codePointAt(0), 0x1e904);
+assertEq(String.fromCodePoint(0x1e927).toUpperCase().codePointAt(0), 0x1e905);
+assertEq(String.fromCodePoint(0x1e928).toUpperCase().codePointAt(0), 0x1e906);
+assertEq(String.fromCodePoint(0x1e929).toUpperCase().codePointAt(0), 0x1e907);
+assertEq(String.fromCodePoint(0x1e92a).toUpperCase().codePointAt(0), 0x1e908);
+assertEq(String.fromCodePoint(0x1e92b).toUpperCase().codePointAt(0), 0x1e909);
+assertEq(String.fromCodePoint(0x1e92c).toUpperCase().codePointAt(0), 0x1e90a);
+assertEq(String.fromCodePoint(0x1e92d).toUpperCase().codePointAt(0), 0x1e90b);
+assertEq(String.fromCodePoint(0x1e92e).toUpperCase().codePointAt(0), 0x1e90c);
+assertEq(String.fromCodePoint(0x1e92f).toUpperCase().codePointAt(0), 0x1e90d);
+assertEq(String.fromCodePoint(0x1e930).toUpperCase().codePointAt(0), 0x1e90e);
+assertEq(String.fromCodePoint(0x1e931).toUpperCase().codePointAt(0), 0x1e90f);
+assertEq(String.fromCodePoint(0x1e932).toUpperCase().codePointAt(0), 0x1e910);
+assertEq(String.fromCodePoint(0x1e933).toUpperCase().codePointAt(0), 0x1e911);
+assertEq(String.fromCodePoint(0x1e934).toUpperCase().codePointAt(0), 0x1e912);
+assertEq(String.fromCodePoint(0x1e935).toUpperCase().codePointAt(0), 0x1e913);
+assertEq(String.fromCodePoint(0x1e936).toUpperCase().codePointAt(0), 0x1e914);
+assertEq(String.fromCodePoint(0x1e937).toUpperCase().codePointAt(0), 0x1e915);
+assertEq(String.fromCodePoint(0x1e938).toUpperCase().codePointAt(0), 0x1e916);
+assertEq(String.fromCodePoint(0x1e939).toUpperCase().codePointAt(0), 0x1e917);
+assertEq(String.fromCodePoint(0x1e93a).toUpperCase().codePointAt(0), 0x1e918);
+assertEq(String.fromCodePoint(0x1e93b).toUpperCase().codePointAt(0), 0x1e919);
+assertEq(String.fromCodePoint(0x1e93c).toUpperCase().codePointAt(0), 0x1e91a);
+assertEq(String.fromCodePoint(0x1e93d).toUpperCase().codePointAt(0), 0x1e91b);
+assertEq(String.fromCodePoint(0x1e93e).toUpperCase().codePointAt(0), 0x1e91c);
+assertEq(String.fromCodePoint(0x1e93f).toUpperCase().codePointAt(0), 0x1e91d);
+assertEq(String.fromCodePoint(0x1e940).toUpperCase().codePointAt(0), 0x1e91e);
+assertEq(String.fromCodePoint(0x1e941).toUpperCase().codePointAt(0), 0x1e91f);
+assertEq(String.fromCodePoint(0x1e942).toUpperCase().codePointAt(0), 0x1e920);
+assertEq(String.fromCodePoint(0x1e943).toUpperCase().codePointAt(0), 0x1e921);
 assertEq(String.fromCodePoint(0x10400).toLowerCase().codePointAt(0), 0x10428);
 assertEq(String.fromCodePoint(0x10401).toLowerCase().codePointAt(0), 0x10429);
 assertEq(String.fromCodePoint(0x10402).toLowerCase().codePointAt(0), 0x1042a);
 assertEq(String.fromCodePoint(0x10403).toLowerCase().codePointAt(0), 0x1042b);
 assertEq(String.fromCodePoint(0x10404).toLowerCase().codePointAt(0), 0x1042c);
 assertEq(String.fromCodePoint(0x10405).toLowerCase().codePointAt(0), 0x1042d);
 assertEq(String.fromCodePoint(0x10406).toLowerCase().codePointAt(0), 0x1042e);
 assertEq(String.fromCodePoint(0x10407).toLowerCase().codePointAt(0), 0x1042f);
@@ -79,11 +232,164 @@ assertEq(String.fromCodePoint(0x1041f).t
 assertEq(String.fromCodePoint(0x10420).toLowerCase().codePointAt(0), 0x10448);
 assertEq(String.fromCodePoint(0x10421).toLowerCase().codePointAt(0), 0x10449);
 assertEq(String.fromCodePoint(0x10422).toLowerCase().codePointAt(0), 0x1044a);
 assertEq(String.fromCodePoint(0x10423).toLowerCase().codePointAt(0), 0x1044b);
 assertEq(String.fromCodePoint(0x10424).toLowerCase().codePointAt(0), 0x1044c);
 assertEq(String.fromCodePoint(0x10425).toLowerCase().codePointAt(0), 0x1044d);
 assertEq(String.fromCodePoint(0x10426).toLowerCase().codePointAt(0), 0x1044e);
 assertEq(String.fromCodePoint(0x10427).toLowerCase().codePointAt(0), 0x1044f);
+assertEq(String.fromCodePoint(0x104b0).toLowerCase().codePointAt(0), 0x104d8);
+assertEq(String.fromCodePoint(0x104b1).toLowerCase().codePointAt(0), 0x104d9);
+assertEq(String.fromCodePoint(0x104b2).toLowerCase().codePointAt(0), 0x104da);
+assertEq(String.fromCodePoint(0x104b3).toLowerCase().codePointAt(0), 0x104db);
+assertEq(String.fromCodePoint(0x104b4).toLowerCase().codePointAt(0), 0x104dc);
+assertEq(String.fromCodePoint(0x104b5).toLowerCase().codePointAt(0), 0x104dd);
+assertEq(String.fromCodePoint(0x104b6).toLowerCase().codePointAt(0), 0x104de);
+assertEq(String.fromCodePoint(0x104b7).toLowerCase().codePointAt(0), 0x104df);
+assertEq(String.fromCodePoint(0x104b8).toLowerCase().codePointAt(0), 0x104e0);
+assertEq(String.fromCodePoint(0x104b9).toLowerCase().codePointAt(0), 0x104e1);
+assertEq(String.fromCodePoint(0x104ba).toLowerCase().codePointAt(0), 0x104e2);
+assertEq(String.fromCodePoint(0x104bb).toLowerCase().codePointAt(0), 0x104e3);
+assertEq(String.fromCodePoint(0x104bc).toLowerCase().codePointAt(0), 0x104e4);
+assertEq(String.fromCodePoint(0x104bd).toLowerCase().codePointAt(0), 0x104e5);
+assertEq(String.fromCodePoint(0x104be).toLowerCase().codePointAt(0), 0x104e6);
+assertEq(String.fromCodePoint(0x104bf).toLowerCase().codePointAt(0), 0x104e7);
+assertEq(String.fromCodePoint(0x104c0).toLowerCase().codePointAt(0), 0x104e8);
+assertEq(String.fromCodePoint(0x104c1).toLowerCase().codePointAt(0), 0x104e9);
+assertEq(String.fromCodePoint(0x104c2).toLowerCase().codePointAt(0), 0x104ea);
+assertEq(String.fromCodePoint(0x104c3).toLowerCase().codePointAt(0), 0x104eb);
+assertEq(String.fromCodePoint(0x104c4).toLowerCase().codePointAt(0), 0x104ec);
+assertEq(String.fromCodePoint(0x104c5).toLowerCase().codePointAt(0), 0x104ed);
+assertEq(String.fromCodePoint(0x104c6).toLowerCase().codePointAt(0), 0x104ee);
+assertEq(String.fromCodePoint(0x104c7).toLowerCase().codePointAt(0), 0x104ef);
+assertEq(String.fromCodePoint(0x104c8).toLowerCase().codePointAt(0), 0x104f0);
+assertEq(String.fromCodePoint(0x104c9).toLowerCase().codePointAt(0), 0x104f1);
+assertEq(String.fromCodePoint(0x104ca).toLowerCase().codePointAt(0), 0x104f2);
+assertEq(String.fromCodePoint(0x104cb).toLowerCase().codePointAt(0), 0x104f3);
+assertEq(String.fromCodePoint(0x104cc).toLowerCase().codePointAt(0), 0x104f4);
+assertEq(String.fromCodePoint(0x104cd).toLowerCase().codePointAt(0), 0x104f5);
+assertEq(String.fromCodePoint(0x104ce).toLowerCase().codePointAt(0), 0x104f6);
+assertEq(String.fromCodePoint(0x104cf).toLowerCase().codePointAt(0), 0x104f7);
+assertEq(String.fromCodePoint(0x104d0).toLowerCase().codePointAt(0), 0x104f8);
+assertEq(String.fromCodePoint(0x104d1).toLowerCase().codePointAt(0), 0x104f9);
+assertEq(String.fromCodePoint(0x104d2).toLowerCase().codePointAt(0), 0x104fa);
+assertEq(String.fromCodePoint(0x104d3).toLowerCase().codePointAt(0), 0x104fb);
+assertEq(String.fromCodePoint(0x10c80).toLowerCase().codePointAt(0), 0x10cc0);
+assertEq(String.fromCodePoint(0x10c81).toLowerCase().codePointAt(0), 0x10cc1);
+assertEq(String.fromCodePoint(0x10c82).toLowerCase().codePointAt(0), 0x10cc2);
+assertEq(String.fromCodePoint(0x10c83).toLowerCase().codePointAt(0), 0x10cc3);
+assertEq(String.fromCodePoint(0x10c84).toLowerCase().codePointAt(0), 0x10cc4);
+assertEq(String.fromCodePoint(0x10c85).toLowerCase().codePointAt(0), 0x10cc5);
+assertEq(String.fromCodePoint(0x10c86).toLowerCase().codePointAt(0), 0x10cc6);
+assertEq(String.fromCodePoint(0x10c87).toLowerCase().codePointAt(0), 0x10cc7);
+assertEq(String.fromCodePoint(0x10c88).toLowerCase().codePointAt(0), 0x10cc8);
+assertEq(String.fromCodePoint(0x10c89).toLowerCase().codePointAt(0), 0x10cc9);
+assertEq(String.fromCodePoint(0x10c8a).toLowerCase().codePointAt(0), 0x10cca);
+assertEq(String.fromCodePoint(0x10c8b).toLowerCase().codePointAt(0), 0x10ccb);
+assertEq(String.fromCodePoint(0x10c8c).toLowerCase().codePointAt(0), 0x10ccc);
+assertEq(String.fromCodePoint(0x10c8d).toLowerCase().codePointAt(0), 0x10ccd);
+assertEq(String.fromCodePoint(0x10c8e).toLowerCase().codePointAt(0), 0x10cce);
+assertEq(String.fromCodePoint(0x10c8f).toLowerCase().codePointAt(0), 0x10ccf);
+assertEq(String.fromCodePoint(0x10c90).toLowerCase().codePointAt(0), 0x10cd0);
+assertEq(String.fromCodePoint(0x10c91).toLowerCase().codePointAt(0), 0x10cd1);
+assertEq(String.fromCodePoint(0x10c92).toLowerCase().codePointAt(0), 0x10cd2);
+assertEq(String.fromCodePoint(0x10c93).toLowerCase().codePointAt(0), 0x10cd3);
+assertEq(String.fromCodePoint(0x10c94).toLowerCase().codePointAt(0), 0x10cd4);
+assertEq(String.fromCodePoint(0x10c95).toLowerCase().codePointAt(0), 0x10cd5);
+assertEq(String.fromCodePoint(0x10c96).toLowerCase().codePointAt(0), 0x10cd6);
+assertEq(String.fromCodePoint(0x10c97).toLowerCase().codePointAt(0), 0x10cd7);
+assertEq(String.fromCodePoint(0x10c98).toLowerCase().codePointAt(0), 0x10cd8);
+assertEq(String.fromCodePoint(0x10c99).toLowerCase().codePointAt(0), 0x10cd9);
+assertEq(String.fromCodePoint(0x10c9a).toLowerCase().codePointAt(0), 0x10cda);
+assertEq(String.fromCodePoint(0x10c9b).toLowerCase().codePointAt(0), 0x10cdb);
+assertEq(String.fromCodePoint(0x10c9c).toLowerCase().codePointAt(0), 0x10cdc);
+assertEq(String.fromCodePoint(0x10c9d).toLowerCase().codePointAt(0), 0x10cdd);
+assertEq(String.fromCodePoint(0x10c9e).toLowerCase().codePointAt(0), 0x10cde);
+assertEq(String.fromCodePoint(0x10c9f).toLowerCase().codePointAt(0), 0x10cdf);
+assertEq(String.fromCodePoint(0x10ca0).toLowerCase().codePointAt(0), 0x10ce0);
+assertEq(String.fromCodePoint(0x10ca1).toLowerCase().codePointAt(0), 0x10ce1);
+assertEq(String.fromCodePoint(0x10ca2).toLowerCase().codePointAt(0), 0x10ce2);
+assertEq(String.fromCodePoint(0x10ca3).toLowerCase().codePointAt(0), 0x10ce3);
+assertEq(String.fromCodePoint(0x10ca4).toLowerCase().codePointAt(0), 0x10ce4);
+assertEq(String.fromCodePoint(0x10ca5).toLowerCase().codePointAt(0), 0x10ce5);
+assertEq(String.fromCodePoint(0x10ca6).toLowerCase().codePointAt(0), 0x10ce6);
+assertEq(String.fromCodePoint(0x10ca7).toLowerCase().codePointAt(0), 0x10ce7);
+assertEq(String.fromCodePoint(0x10ca8).toLowerCase().codePointAt(0), 0x10ce8);
+assertEq(String.fromCodePoint(0x10ca9).toLowerCase().codePointAt(0), 0x10ce9);
+assertEq(String.fromCodePoint(0x10caa).toLowerCase().codePointAt(0), 0x10cea);
+assertEq(String.fromCodePoint(0x10cab).toLowerCase().codePointAt(0), 0x10ceb);
+assertEq(String.fromCodePoint(0x10cac).toLowerCase().codePointAt(0), 0x10cec);
+assertEq(String.fromCodePoint(0x10cad).toLowerCase().codePointAt(0), 0x10ced);
+assertEq(String.fromCodePoint(0x10cae).toLowerCase().codePointAt(0), 0x10cee);
+assertEq(String.fromCodePoint(0x10caf).toLowerCase().codePointAt(0), 0x10cef);
+assertEq(String.fromCodePoint(0x10cb0).toLowerCase().codePointAt(0), 0x10cf0);
+assertEq(String.fromCodePoint(0x10cb1).toLowerCase().codePointAt(0), 0x10cf1);
+assertEq(String.fromCodePoint(0x10cb2).toLowerCase().codePointAt(0), 0x10cf2);
+assertEq(String.fromCodePoint(0x118a0).toLowerCase().codePointAt(0), 0x118c0);
+assertEq(String.fromCodePoint(0x118a1).toLowerCase().codePointAt(0), 0x118c1);
+assertEq(String.fromCodePoint(0x118a2).toLowerCase().codePointAt(0), 0x118c2);
+assertEq(String.fromCodePoint(0x118a3).toLowerCase().codePointAt(0), 0x118c3);
+assertEq(String.fromCodePoint(0x118a4).toLowerCase().codePointAt(0), 0x118c4);
+assertEq(String.fromCodePoint(0x118a5).toLowerCase().codePointAt(0), 0x118c5);
+assertEq(String.fromCodePoint(0x118a6).toLowerCase().codePointAt(0), 0x118c6);
+assertEq(String.fromCodePoint(0x118a7).toLowerCase().codePointAt(0), 0x118c7);
+assertEq(String.fromCodePoint(0x118a8).toLowerCase().codePointAt(0), 0x118c8);
+assertEq(String.fromCodePoint(0x118a9).toLowerCase().codePointAt(0), 0x118c9);
+assertEq(String.fromCodePoint(0x118aa).toLowerCase().codePointAt(0), 0x118ca);
+assertEq(String.fromCodePoint(0x118ab).toLowerCase().codePointAt(0), 0x118cb);
+assertEq(String.fromCodePoint(0x118ac).toLowerCase().codePointAt(0), 0x118cc);
+assertEq(String.fromCodePoint(0x118ad).toLowerCase().codePointAt(0), 0x118cd);
+assertEq(String.fromCodePoint(0x118ae).toLowerCase().codePointAt(0), 0x118ce);
+assertEq(String.fromCodePoint(0x118af).toLowerCase().codePointAt(0), 0x118cf);
+assertEq(String.fromCodePoint(0x118b0).toLowerCase().codePointAt(0), 0x118d0);
+assertEq(String.fromCodePoint(0x118b1).toLowerCase().codePointAt(0), 0x118d1);
+assertEq(String.fromCodePoint(0x118b2).toLowerCase().codePointAt(0), 0x118d2);
+assertEq(String.fromCodePoint(0x118b3).toLowerCase().codePointAt(0), 0x118d3);
+assertEq(String.fromCodePoint(0x118b4).toLowerCase().codePointAt(0), 0x118d4);
+assertEq(String.fromCodePoint(0x118b5).toLowerCase().codePointAt(0), 0x118d5);
+assertEq(String.fromCodePoint(0x118b6).toLowerCase().codePointAt(0), 0x118d6);
+assertEq(String.fromCodePoint(0x118b7).toLowerCase().codePointAt(0), 0x118d7);
+assertEq(String.fromCodePoint(0x118b8).toLowerCase().codePointAt(0), 0x118d8);
+assertEq(String.fromCodePoint(0x118b9).toLowerCase().codePointAt(0), 0x118d9);
+assertEq(String.fromCodePoint(0x118ba).toLowerCase().codePointAt(0), 0x118da);
+assertEq(String.fromCodePoint(0x118bb).toLowerCase().codePointAt(0), 0x118db);
+assertEq(String.fromCodePoint(0x118bc).toLowerCase().codePointAt(0), 0x118dc);
+assertEq(String.fromCodePoint(0x118bd).toLowerCase().codePointAt(0), 0x118dd);
+assertEq(String.fromCodePoint(0x118be).toLowerCase().codePointAt(0), 0x118de);
+assertEq(String.fromCodePoint(0x118bf).toLowerCase().codePointAt(0), 0x118df);
+assertEq(String.fromCodePoint(0x1e900).toLowerCase().codePointAt(0), 0x1e922);
+assertEq(String.fromCodePoint(0x1e901).toLowerCase().codePointAt(0), 0x1e923);
+assertEq(String.fromCodePoint(0x1e902).toLowerCase().codePointAt(0), 0x1e924);
+assertEq(String.fromCodePoint(0x1e903).toLowerCase().codePointAt(0), 0x1e925);
+assertEq(String.fromCodePoint(0x1e904).toLowerCase().codePointAt(0), 0x1e926);
+assertEq(String.fromCodePoint(0x1e905).toLowerCase().codePointAt(0), 0x1e927);
+assertEq(String.fromCodePoint(0x1e906).toLowerCase().codePointAt(0), 0x1e928);
+assertEq(String.fromCodePoint(0x1e907).toLowerCase().codePointAt(0), 0x1e929);
+assertEq(String.fromCodePoint(0x1e908).toLowerCase().codePointAt(0), 0x1e92a);
+assertEq(String.fromCodePoint(0x1e909).toLowerCase().codePointAt(0), 0x1e92b);
+assertEq(String.fromCodePoint(0x1e90a).toLowerCase().codePointAt(0), 0x1e92c);
+assertEq(String.fromCodePoint(0x1e90b).toLowerCase().codePointAt(0), 0x1e92d);
+assertEq(String.fromCodePoint(0x1e90c).toLowerCase().codePointAt(0), 0x1e92e);
+assertEq(String.fromCodePoint(0x1e90d).toLowerCase().codePointAt(0), 0x1e92f);
+assertEq(String.fromCodePoint(0x1e90e).toLowerCase().codePointAt(0), 0x1e930);
+assertEq(String.fromCodePoint(0x1e90f).toLowerCase().codePointAt(0), 0x1e931);
+assertEq(String.fromCodePoint(0x1e910).toLowerCase().codePointAt(0), 0x1e932);
+assertEq(String.fromCodePoint(0x1e911).toLowerCase().codePointAt(0), 0x1e933);
+assertEq(String.fromCodePoint(0x1e912).toLowerCase().codePointAt(0), 0x1e934);
+assertEq(String.fromCodePoint(0x1e913).toLowerCase().codePointAt(0), 0x1e935);
+assertEq(String.fromCodePoint(0x1e914).toLowerCase().codePointAt(0), 0x1e936);
+assertEq(String.fromCodePoint(0x1e915).toLowerCase().codePointAt(0), 0x1e937);
+assertEq(String.fromCodePoint(0x1e916).toLowerCase().codePointAt(0), 0x1e938);
+assertEq(String.fromCodePoint(0x1e917).toLowerCase().codePointAt(0), 0x1e939);
+assertEq(String.fromCodePoint(0x1e918).toLowerCase().codePointAt(0), 0x1e93a);
+assertEq(String.fromCodePoint(0x1e919).toLowerCase().codePointAt(0), 0x1e93b);
+assertEq(String.fromCodePoint(0x1e91a).toLowerCase().codePointAt(0), 0x1e93c);
+assertEq(String.fromCodePoint(0x1e91b).toLowerCase().codePointAt(0), 0x1e93d);
+assertEq(String.fromCodePoint(0x1e91c).toLowerCase().codePointAt(0), 0x1e93e);
+assertEq(String.fromCodePoint(0x1e91d).toLowerCase().codePointAt(0), 0x1e93f);
+assertEq(String.fromCodePoint(0x1e91e).toLowerCase().codePointAt(0), 0x1e940);
+assertEq(String.fromCodePoint(0x1e91f).toLowerCase().codePointAt(0), 0x1e941);
+assertEq(String.fromCodePoint(0x1e920).toLowerCase().codePointAt(0), 0x1e942);
+assertEq(String.fromCodePoint(0x1e921).toLowerCase().codePointAt(0), 0x1e943);
 
 if (typeof reportCompare === "function")
     reportCompare(true, true);
--- a/js/src/vm/CaseFolding.txt
+++ b/js/src/vm/CaseFolding.txt
@@ -1,15 +1,16 @@
-# CaseFolding-8.0.0.txt
-# Date: 2015-01-13, 18:16:36 GMT [MD]
+# CaseFolding-9.0.0.txt
+# Date: 2016-03-02, 18:54:54 GMT
+# Ā© 2016 UnicodeĀ®, Inc.
+# Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
+# For terms of use, see http://www.unicode.org/terms_of_use.html
 #
 # Unicode Character Database
-# Copyright (c) 1991-2015 Unicode, Inc.
-# For terms of use, see http://www.unicode.org/terms_of_use.html
-# For documentation, see http://www.unicode.org/reports/tr44/
+#   For documentation, see http://www.unicode.org/reports/tr44/
 #
 # Case Folding Properties
 #
 # This file is a supplement to the UnicodeData file.
 # It provides a case folding mapping generated from the Unicode Character Database.
 # If all characters are mapped according to the full mapping below, then
 # case differences (according to UnicodeData.txt and SpecialCasing.txt)
 # are eliminated.
@@ -588,16 +589,25 @@ 10C5; C; 2D25; # GEORGIAN CAPITAL LETTER
 10C7; C; 2D27; # GEORGIAN CAPITAL LETTER YN
 10CD; C; 2D2D; # GEORGIAN CAPITAL LETTER AEN
 13F8; C; 13F0; # CHEROKEE SMALL LETTER YE
 13F9; C; 13F1; # CHEROKEE SMALL LETTER YI
 13FA; C; 13F2; # CHEROKEE SMALL LETTER YO
 13FB; C; 13F3; # CHEROKEE SMALL LETTER YU
 13FC; C; 13F4; # CHEROKEE SMALL LETTER YV
 13FD; C; 13F5; # CHEROKEE SMALL LETTER MV
+1C80; C; 0432; # CYRILLIC SMALL LETTER ROUNDED VE
+1C81; C; 0434; # CYRILLIC SMALL LETTER LONG-LEGGED DE
+1C82; C; 043E; # CYRILLIC SMALL LETTER NARROW O
+1C83; C; 0441; # CYRILLIC SMALL LETTER WIDE ES
+1C84; C; 0442; # CYRILLIC SMALL LETTER TALL TE
+1C85; C; 0442; # CYRILLIC SMALL LETTER THREE-LEGGED TE
+1C86; C; 044A; # CYRILLIC SMALL LETTER TALL HARD SIGN
+1C87; C; 0463; # CYRILLIC SMALL LETTER TALL YAT
+1C88; C; A64B; # CYRILLIC SMALL LETTER UNBLENDED UK
 1E00; C; 1E01; # LATIN CAPITAL LETTER A WITH RING BELOW
 1E02; C; 1E03; # LATIN CAPITAL LETTER B WITH DOT ABOVE
 1E04; C; 1E05; # LATIN CAPITAL LETTER B WITH DOT BELOW
 1E06; C; 1E07; # LATIN CAPITAL LETTER B WITH LINE BELOW
 1E08; C; 1E09; # LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE
 1E0A; C; 1E0B; # LATIN CAPITAL LETTER D WITH DOT ABOVE
 1E0C; C; 1E0D; # LATIN CAPITAL LETTER D WITH DOT BELOW
 1E0E; C; 1E0F; # LATIN CAPITAL LETTER D WITH LINE BELOW
@@ -1158,16 +1168,17 @@ A7A0; C; A7A1; # LATIN CAPITAL LETTER G 
 A7A2; C; A7A3; # LATIN CAPITAL LETTER K WITH OBLIQUE STROKE
 A7A4; C; A7A5; # LATIN CAPITAL LETTER N WITH OBLIQUE STROKE
 A7A6; C; A7A7; # LATIN CAPITAL LETTER R WITH OBLIQUE STROKE
 A7A8; C; A7A9; # LATIN CAPITAL LETTER S WITH OBLIQUE STROKE
 A7AA; C; 0266; # LATIN CAPITAL LETTER H WITH HOOK
 A7AB; C; 025C; # LATIN CAPITAL LETTER REVERSED OPEN E
 A7AC; C; 0261; # LATIN CAPITAL LETTER SCRIPT G
 A7AD; C; 026C; # LATIN CAPITAL LETTER L WITH BELT
+A7AE; C; 026A; # LATIN CAPITAL LETTER SMALL CAPITAL I
 A7B0; C; 029E; # LATIN CAPITAL LETTER TURNED K
 A7B1; C; 0287; # LATIN CAPITAL LETTER TURNED T
 A7B2; C; 029D; # LATIN CAPITAL LETTER J WITH CROSSED-TAIL
 A7B3; C; AB53; # LATIN CAPITAL LETTER CHI
 A7B4; C; A7B5; # LATIN CAPITAL LETTER BETA
 A7B6; C; A7B7; # LATIN CAPITAL LETTER OMEGA
 AB70; C; 13A0; # CHEROKEE SMALL LETTER A
 AB71; C; 13A1; # CHEROKEE SMALL LETTER E
@@ -1322,16 +1333,52 @@ 1041F; C; 10447; # DESERET CAPITAL LETTE
 10420; C; 10448; # DESERET CAPITAL LETTER ZHEE
 10421; C; 10449; # DESERET CAPITAL LETTER ER
 10422; C; 1044A; # DESERET CAPITAL LETTER EL
 10423; C; 1044B; # DESERET CAPITAL LETTER EM
 10424; C; 1044C; # DESERET CAPITAL LETTER EN
 10425; C; 1044D; # DESERET CAPITAL LETTER ENG
 10426; C; 1044E; # DESERET CAPITAL LETTER OI
 10427; C; 1044F; # DESERET CAPITAL LETTER EW
+104B0; C; 104D8; # OSAGE CAPITAL LETTER A
+104B1; C; 104D9; # OSAGE CAPITAL LETTER AI
+104B2; C; 104DA; # OSAGE CAPITAL LETTER AIN
+104B3; C; 104DB; # OSAGE CAPITAL LETTER AH
+104B4; C; 104DC; # OSAGE CAPITAL LETTER BRA
+104B5; C; 104DD; # OSAGE CAPITAL LETTER CHA
+104B6; C; 104DE; # OSAGE CAPITAL LETTER EHCHA
+104B7; C; 104DF; # OSAGE CAPITAL LETTER E
+104B8; C; 104E0; # OSAGE CAPITAL LETTER EIN
+104B9; C; 104E1; # OSAGE CAPITAL LETTER HA
+104BA; C; 104E2; # OSAGE CAPITAL LETTER HYA
+104BB; C; 104E3; # OSAGE CAPITAL LETTER I
+104BC; C; 104E4; # OSAGE CAPITAL LETTER KA
+104BD; C; 104E5; # OSAGE CAPITAL LETTER EHKA
+104BE; C; 104E6; # OSAGE CAPITAL LETTER KYA
+104BF; C; 104E7; # OSAGE CAPITAL LETTER LA
+104C0; C; 104E8; # OSAGE CAPITAL LETTER MA
+104C1; C; 104E9; # OSAGE CAPITAL LETTER NA
+104C2; C; 104EA; # OSAGE CAPITAL LETTER O
+104C3; C; 104EB; # OSAGE CAPITAL LETTER OIN
+104C4; C; 104EC; # OSAGE CAPITAL LETTER PA
+104C5; C; 104ED; # OSAGE CAPITAL LETTER EHPA
+104C6; C; 104EE; # OSAGE CAPITAL LETTER SA
+104C7; C; 104EF; # OSAGE CAPITAL LETTER SHA
+104C8; C; 104F0; # OSAGE CAPITAL LETTER TA
+104C9; C; 104F1; # OSAGE CAPITAL LETTER EHTA
+104CA; C; 104F2; # OSAGE CAPITAL LETTER TSA
+104CB; C; 104F3; # OSAGE CAPITAL LETTER EHTSA
+104CC; C; 104F4; # OSAGE CAPITAL LETTER TSHA
+104CD; C; 104F5; # OSAGE CAPITAL LETTER DHA
+104CE; C; 104F6; # OSAGE CAPITAL LETTER U
+104CF; C; 104F7; # OSAGE CAPITAL LETTER WA
+104D0; C; 104F8; # OSAGE CAPITAL LETTER KHA
+104D1; C; 104F9; # OSAGE CAPITAL LETTER GHA
+104D2; C; 104FA; # OSAGE CAPITAL LETTER ZA
+104D3; C; 104FB; # OSAGE CAPITAL LETTER ZHA
 10C80; C; 10CC0; # OLD HUNGARIAN CAPITAL LETTER A
 10C81; C; 10CC1; # OLD HUNGARIAN CAPITAL LETTER AA
 10C82; C; 10CC2; # OLD HUNGARIAN CAPITAL LETTER EB
 10C83; C; 10CC3; # OLD HUNGARIAN CAPITAL LETTER AMB
 10C84; C; 10CC4; # OLD HUNGARIAN CAPITAL LETTER EC
 10C85; C; 10CC5; # OLD HUNGARIAN CAPITAL LETTER ENC
 10C86; C; 10CC6; # OLD HUNGARIAN CAPITAL LETTER ECS
 10C87; C; 10CC7; # OLD HUNGARIAN CAPITAL LETTER ED
@@ -1405,10 +1452,44 @@ 118B7; C; 118D7; # WARANG CITI CAPITAL L
 118B8; C; 118D8; # WARANG CITI CAPITAL LETTER PU
 118B9; C; 118D9; # WARANG CITI CAPITAL LETTER HIYO
 118BA; C; 118DA; # WARANG CITI CAPITAL LETTER HOLO
 118BB; C; 118DB; # WARANG CITI CAPITAL LETTER HORR
 118BC; C; 118DC; # WARANG CITI CAPITAL LETTER HAR
 118BD; C; 118DD; # WARANG CITI CAPITAL LETTER SSUU
 118BE; C; 118DE; # WARANG CITI CAPITAL LETTER SII
 118BF; C; 118DF; # WARANG CITI CAPITAL LETTER VIYO
+1E900; C; 1E922; # ADLAM CAPITAL LETTER ALIF
+1E901; C; 1E923; # ADLAM CAPITAL LETTER DAALI
+1E902; C; 1E924; # ADLAM CAPITAL LETTER LAAM
+1E903; C; 1E925; # ADLAM CAPITAL LETTER MIIM
+1E904; C; 1E926; # ADLAM CAPITAL LETTER BA
+1E905; C; 1E927; # ADLAM CAPITAL LETTER SINNYIIYHE
+1E906; C; 1E928; # ADLAM CAPITAL LETTER PE
+1E907; C; 1E929; # ADLAM CAPITAL LETTER BHE
+1E908; C; 1E92A; # ADLAM CAPITAL LETTER RA
+1E909; C; 1E92B; # ADLAM CAPITAL LETTER E
+1E90A; C; 1E92C; # ADLAM CAPITAL LETTER FA
+1E90B; C; 1E92D; # ADLAM CAPITAL LETTER I
+1E90C; C; 1E92E; # ADLAM CAPITAL LETTER O
+1E90D; C; 1E92F; # ADLAM CAPITAL LETTER DHA
+1E90E; C; 1E930; # ADLAM CAPITAL LETTER YHE
+1E90F; C; 1E931; # ADLAM CAPITAL LETTER WAW
+1E910; C; 1E932; # ADLAM CAPITAL LETTER NUN
+1E911; C; 1E933; # ADLAM CAPITAL LETTER KAF
+1E912; C; 1E934; # ADLAM CAPITAL LETTER YA
+1E913; C; 1E935; # ADLAM CAPITAL LETTER U
+1E914; C; 1E936; # ADLAM CAPITAL LETTER JIIM
+1E915; C; 1E937; # ADLAM CAPITAL LETTER CHI
+1E916; C; 1E938; # ADLAM CAPITAL LETTER HA
+1E917; C; 1E939; # ADLAM CAPITAL LETTER QAAF
+1E918; C; 1E93A; # ADLAM CAPITAL LETTER GA
+1E919; C; 1E93B; # ADLAM CAPITAL LETTER NYA
+1E91A; C; 1E93C; # ADLAM CAPITAL LETTER TU
+1E91B; C; 1E93D; # ADLAM CAPITAL LETTER NHA
+1E91C; C; 1E93E; # ADLAM CAPITAL LETTER VA
+1E91D; C; 1E93F; # ADLAM CAPITAL LETTER KHA
+1E91E; C; 1E940; # ADLAM CAPITAL LETTER GBE
+1E91F; C; 1E941; # ADLAM CAPITAL LETTER ZAL
+1E920; C; 1E942; # ADLAM CAPITAL LETTER KPO
+1E921; C; 1E943; # ADLAM CAPITAL LETTER SHA
 #
 # EOF
--- a/js/src/vm/Unicode.cpp
+++ b/js/src/vm/Unicode.cpp
@@ -104,32 +104,39 @@ const CharacterInfo unicode::js_charinfo
     {10783, 0, 2},
     {10780, 0, 2},
     {10782, 0, 2},
     {65326, 0, 2},
     {65330, 0, 2},
     {65331, 0, 2},
     {65334, 0, 2},
     {65333, 0, 2},
+    {42319, 0, 2},
+    {42315, 0, 2},
     {65329, 0, 2},
     {42280, 0, 2},
     {42308, 0, 2},
     {65327, 0, 2},
     {65325, 0, 2},
     {10743, 0, 2},
+    {42305, 0, 2},
     {10749, 0, 2},
     {65323, 0, 2},
     {65322, 0, 2},
     {10727, 0, 2},
     {65318, 0, 2},
+    {42282, 0, 2},
     {65467, 0, 2},
     {65319, 0, 2},
     {65465, 0, 2},
     {65317, 0, 2},
+    {42261, 0, 2},
+    {42258, 0, 2},
     {84, 0, 4},
+    {0, 116, 2},
     {0, 38, 2},
     {0, 37, 2},
     {0, 64, 2},
     {0, 63, 2},
     {65498, 0, 2},
     {65499, 0, 2},
     {65505, 0, 2},
     {65472, 0, 2},
@@ -138,25 +145,35 @@ const CharacterInfo unicode::js_charinfo
     {65474, 0, 2},
     {65479, 0, 2},
     {65489, 0, 2},
     {65482, 0, 2},
     {65528, 0, 2},
     {65450, 0, 2},
     {65456, 0, 2},
     {7, 0, 2},
+    {65420, 0, 2},
     {0, 65476, 2},
     {65440, 0, 2},
     {0, 65529, 2},
     {0, 80, 2},
     {0, 15, 2},
     {65521, 0, 2},
     {0, 48, 2},
     {65488, 0, 2},
     {0, 7264, 2},
+    {0, 38864, 2},
+    {59282, 0, 2},
+    {59283, 0, 2},
+    {59292, 0, 2},
+    {59294, 0, 2},
+    {59293, 0, 2},
+    {59300, 0, 2},
+    {59355, 0, 2},
+    {35266, 0, 2},
     {35332, 0, 2},
     {3814, 0, 2},
     {65477, 0, 2},
     {0, 57921, 2},
     {8, 0, 2},
     {0, 65528, 2},
     {74, 0, 2},
     {86, 0, 2},
@@ -191,136 +208,88 @@ const CharacterInfo unicode::js_charinfo
     {0, 54787, 2},
     {0, 54753, 2},
     {0, 54754, 2},
     {0, 54721, 2},
     {58272, 0, 2},
     {0, 30204, 2},
     {0, 23256, 2},
     {0, 23228, 2},
+    {0, 23217, 2},
+    {0, 23221, 2},
+    {0, 23231, 2},
+    {0, 23278, 2},
+    {0, 23254, 2},
+    {0, 23275, 2},
+    {0, 928, 2},
+    {64608, 0, 2},
+    {26672, 0, 2},
 };
 
-const uint8_t unicode::index1[] = {
-      0,   1,   2,   3,   4,   5,   6,   7,   8,   9,  10,  11,  12,  13,  14,  15,   8,  16,
-     17,  18,  19,  20,  21,  22,  23,  23,  24,  25,  26,  27,  28,  29,  30,  31,  32,   8,
-     33,   8,  34,   8,   8,  35,  36,  37,  38,  39,  40,  41,  42,  20,  43,  44,  20,  20,
-     45,  46,  47,  48,  49,  20,  20,  50,  51,  52,  53,  54,  55,   4,   4,  56,   4,  57,
-     58,  59,  60,  61,  62,  63,  64,  65,  66,  67,  68,  69,  70,  71,  72,  73,  62,  71,
-     74,  75,  76,  77,  78,  79,  80,  81,  82,  73,  83,  84,  85,  86,  83,  87,  88,  89,
-     90,  91,  92,  93,  94,  95,  96,   4,  97,  98,  99,   4, 100, 101, 102, 103, 104, 105,
-    106,   4,  20, 107, 108, 109, 110, 111, 112, 113,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20, 114,  20, 115, 116, 117,  20, 118,  20, 119,   4, 120,  20,  20, 121,  94,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20, 122,
-    123,  20,  20, 124, 125, 126, 127, 128,  20, 129, 130, 131, 132,  20,  20, 133,  20, 134,
-     20, 135, 136, 137, 138, 139,  20, 140, 141,   4, 142,  20, 143, 144, 145, 146,   4,   4,
-    147, 129, 148, 149, 150, 151,  20, 152,  20, 153, 154, 155,   4,   4, 156, 157,  20,  20,
-     20, 158,  20,  20,  23, 159,   8,   8,   8,   8, 160,   8,   8,   8, 161, 162, 163, 164,
-    162, 165, 166, 167, 168, 169, 170, 171, 172,   4, 173, 174, 175, 176, 177, 178, 179,   4,
-      4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,
-      4,   4,   4,   4,   4, 180, 181, 182,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,
-      4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,
-      4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,
-      4,   4,   4,   4,   4,   4,   4,   4,   4,   4, 183, 184, 185, 186,   8,   8,   8, 187,
-    188, 189,  20, 190, 191, 192, 192,  23,   4, 193,   4,   4,   4,   4,   4,   4,   4,   4,
-      4,   4,   4,   4,   4,   4, 194, 195,  94,  20, 196,  94,  20, 113, 197, 198,  20,  20,
-    199, 200,   4, 201,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,
-      4,   4,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20, 135,   4,   4,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-    202,   4,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20, 202,   4, 201, 155,  20,  20,  20,  20,  20,  20,  20,  20, 203, 204,   8, 205,
-    206,  20,  20, 207, 208, 209,   8, 210, 211, 212,   4, 213, 214, 215,  20, 216, 217, 129,
-    218, 219,  51, 220, 221, 136,  58, 222, 223,   4,  20, 224, 225, 226,  20, 227, 228, 229,
-    230, 231,   4,   4,   4,   4,  20, 232,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20, 233, 234, 235,
-      4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,
-      4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,
-      4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,
-      4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,
-      4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,
-      4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,
-      4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,
-      4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,
-      4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,
-      4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,
-      4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,
-      4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,
-      4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,
-      4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,
-      4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,  20,  20,  20,  20,  20,  20,
-     20,  20,  20,  20,  20, 236,  20,  20, 237,   4, 238, 239, 240,  20,  20, 241, 242,  20,
-     20,  20,  20,  20,  20,  20,  20,  20,  20, 155, 201,  20, 243,  20, 244, 245, 246, 247,
-    248, 249,  20,  20,  20, 250, 251,   2,   3, 252,  20, 253, 254,   4,
+const uint16_t unicode::index1[] = {
+      0,   1,   2,   3,   4,   5,   6,   7,   8,   9,  10,  11,  12,  13,  14,  15,  16,  17,
+     18,  19,  20,  21,  22,  23,  24,  25,  26,  27,  28,  29,  30,  31,  32,  33,  34,  35,
+     36,  37,  38,  39,  40,  41,  42,  43,  44,  45,  46,  47,  48,  49,  50,  51,  52,  53,
+     54,  55,  56,  57,  58,  59,  60,  61,  62,  63,  64,  65,  66,  67,  26,  26,  26,  26,
+     26,  68,  69,  70,  71,  72,  73,  74,  75,  26,  26,  26,  26,  26,  26,  26,  26,  76,
+     77,  78,  79,  80,  81,  82,  83,  84,  85,  86,  87,  88,  89,  90,  91,  92,  93,  94,
+     95,  96,  97,  98,  99, 100, 101, 102,  26, 103,  26, 104, 105, 105, 106, 105, 107, 108,
+    109, 110, 111, 112, 113, 114, 115, 116, 117,  94,  94,  94,  94,  94,  94,  94,  94,  94,
+     94,  94, 118, 119,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,
+     94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94, 120, 121, 105, 122,
+    123, 124, 125, 126, 127,  94,  94,  94,  94,  94,  94,  94, 128,  75, 129, 130, 131,  26,
+    132, 133,  94,  94,  94,  94,  94,  94,  94,  94,  26,  26,  26,  26,  26,  26,  26,  26,
+     26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,
+     26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,
+     26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,
+     26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,
+     26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,
+     26,  26,  26,  26,  86,  94,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,
+     26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,
+     26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,
+     26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,
+     26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,
+     26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,
+     26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,
+     26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,
+     26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,
+     26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,
+     26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,
+     26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,
+     26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,
+     26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,
+     26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,
+     26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,
+     26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,
+     26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,
+     26,  26,  26,  26,  26,  26,  26,  26,  26, 134,  26,  26,  26,  26,  26,  26,  26,  26,
+     26,  26,  26,  26,  26,  26,  26,  26,  26,  26, 135, 136,  26,  26,  26,  26, 137, 138,
+    139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
+    157, 158, 159, 160,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,
+     26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,
+     26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,
+     26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,
+     26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,
+     26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,
+     26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,
+     26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,
+     26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,
+     26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26,  26, 161, 162,
+     94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,
+     94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,
+     94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,
+     94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,
+     94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,
+     94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,
+     94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,
+     94,  94,  94,  94,  94,  94,  26,  26,  26,  26,  26, 163,  26, 164, 165, 166, 167, 168,
+     26,  26,  26,  26, 169, 170, 171, 172, 173, 174,  26, 175, 176, 177, 178, 179,
 };
 
-const uint8_t unicode::index2[] = {
+const uint16_t unicode::index2[] = {
       0,   0,   0,   0,   0,   0,   0,   0,   0,   1,   1,   1,   1,   1,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   1,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   2,   2,   2,   2,   2,   2,
       2,   2,   2,   2,   0,   0,   0,   0,   0,   0,   0,   3,   3,   3,   3,   3,   3,   3,
       3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,
       3,   0,   0,   0,   0,   2,   0,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,
       4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
@@ -339,442 +308,628 @@ const uint8_t unicode::index2[] = {
       8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,  12,   8,
       9,   8,   9,   8,   9,  13,  14,  15,   8,   9,   8,   9,  16,   8,   9,  17,  17,   8,
       9,   5,  18,  19,  20,   8,   9,  17,  21,  22,  23,  24,   8,   9,  25,   5,  23,  26,
      27,  28,   8,   9,   8,   9,   8,   9,  29,   8,   9,  29,   5,   5,   8,   9,  29,   8,
       9,  30,  30,   8,   9,   8,   9,  31,   8,   9,   5,   5,   8,   9,   5,  32,   5,   5,
       5,   5,  33,  34,  35,  33,  34,  35,  33,  34,  35,   8,   9,   8,   9,   8,   9,   8,
       9,   8,   9,   8,   9,   8,   9,   8,   9,  36,   8,   9,   8,   9,   8,   9,   8,   9,
       8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   5,  33,  34,  35,   8,   9,  37,  38,
-      8,   9,   8,   9,   8,   9,   8,   9,  39,   5,   8,   9,   8,   9,   8,   9,   8,   9,
-      8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   5,   5,   5,   5,   5,   5,  40,   8,
-      9,  41,  42,  43,  43,   8,   9,  44,  45,  46,   8,   9,   8,   9,   8,   9,   8,   9,
-      8,   9,  47,  48,  49,  50,  51,   5,  52,  52,   5,  53,   5,  54,   5,   5,   5,   5,
-     52,   5,   5,  55,   5,  56,  57,   5,  58,  59,   5,  60,   5,   5,   5,  59,   5,  61,
-     62,   5,   5,  63,   5,   5,   5,   5,   5,   5,   5,  64,   5,   5,  65,   5,   5,  65,
-      5,   5,   5,   5,  65,  66,  67,  67,  68,   5,   5,   5,   5,   5,  69,   5,   5,   5,
+      8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,
+      8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,
+      8,   9,   8,   9,  39,   5,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,
+      8,   9,   8,   9,   8,   9,   5,   5,   5,   5,   5,   5,  40,   8,   9,  41,  42,  43,
+     43,   8,   9,  44,  45,  46,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,  47,  48,
+     49,  50,  51,   5,  52,  52,   5,  53,   5,  54,  55,   5,   5,   5,  52,  56,   5,  57,
+      5,  58,  59,   5,  60,  61,  59,  62,  63,   5,   5,  61,   5,  64,  65,   5,   5,  66,
+      5,   5,   5,   5,   5,   5,   5,  67,   5,   5,  68,   5,   5,  68,   5,   5,   5,  69,
+     68,  70,  71,  71,  72,   5,   5,   5,   5,   5,  73,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,  74,  75,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
       5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
-      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
-      5,   5,   5,   5,   5,   5,   5,   5,   0,   0,   0,   0,   5,   5,   5,   5,   5,   5,
-      5,   5,   5,   5,   5,   5,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   5,   5,   5,   5,   5,   0,   0,   0,   0,   0,   0,   0,   5,   0,   5,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   2,   2,
+      5,   5,   5,   5,   0,   0,   0,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   5,   5,
+      5,   5,   5,   0,   0,   0,   0,   0,   0,   0,   5,   0,   5,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   2,   2,   2,   2,   2,   2,
       2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,
-      2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,  70,
       2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,
       2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,
-      2,   2,   2,   2,   2,   2,   8,   9,   8,   9,   5,   0,   8,   9,   0,   0,   5,  27,
-     27,  27,   0,   0,   0,   0,   0,   0,   0,   0,  71,   0,  72,  72,  72,   0,  73,   0,
-     74,  74,   5,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,
-      3,   3,   0,   3,   3,   3,   3,   3,   3,   3,   3,   3,  75,  76,  76,  76,   5,   4,
-      4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,  77,   4,
-      4,   4,   4,   4,   4,   4,   4,   4,  78,  79,  79,  80,  81,  82,   5,   5,   5,  83,
-     84,  85,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,
-      8,   9,   8,   9,   8,   9,   8,   9,  86,  87,  88,   5,  89,  90,   0,   8,   9,  91,
-      8,   9,   5,  39,  39,  39,  92,  92,  92,  92,  92,  92,  92,  92,  92,  92,  92,  92,
-     92,  92,  92,  92,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,
+      2,   2,   2,   2,   2,   2,   2,   2,   2,  76,   2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   8,   9,
+      8,   9,   5,   0,   8,   9,   0,   0,   5,  27,  27,  27,   0,  77,   0,   0,   0,   0,
+      0,   0,  78,   0,  79,  79,  79,   0,  80,   0,  81,  81,   5,   3,   3,   3,   3,   3,
+      3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   0,   3,   3,   3,   3,   3,
+      3,   3,   3,   3,  82,  83,  83,  83,   5,   4,   4,   4,   4,   4,   4,   4,   4,   4,
+      4,   4,   4,   4,   4,   4,   4,   4,  84,   4,   4,   4,   4,   4,   4,   4,   4,   4,
+     85,  86,  86,  87,  88,  89,   5,   5,   5,  90,  91,  92,   8,   9,   8,   9,   8,   9,
+      8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,
+     93,  94,  95,  96,  97,  98,   0,   8,   9,  99,   8,   9,   5,  39,  39,  39, 100, 100,
+    100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100,   3,   3,   3,   3,
       3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,
+      3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   4,   4,   4,   4,   4,   4,   4,   4,
       4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,
-      4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,  87,  87,  87,  87,
-     87,  87,  87,  87,  87,  87,  87,  87,  87,  87,  87,  87,   8,   9,   0,   2,   2,   2,
-      2,   2,   0,   0,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,
-      8,   9,   8,   9,   8,   9,   8,   9,  93,   8,   9,   8,   9,   8,   9,   8,   9,   8,
-      9,   8,   9,   8,   9,  94,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,
-      8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,  95,  95,  95,  95,  95,  95,  95,  95,  95,  95,  95,  95,  95,  95,  95,
-     95,  95,  95,  95,  95,  95,  95,  95,  95,  95,  95,  95,  95,  95,  95,  95,  95,  95,
-     95,  95,  95,  95,  95,   0,   0,   5,   0,   0,   0,   0,   0,   0,   0,  96,  96,  96,
-     96,  96,  96,  96,  96,  96,  96,  96,  96,  96,  96,  96,  96,  96,  96,  96,  96,  96,
-     96,  96,  96,  96,  96,  96,  96,  96,  96,  96,  96,  96,  96,  96,  96,  96,  96,   5,
-      0,   0,   0,   0,   0,   0,   0,   0,   0,   2,   2,   2,   2,   2,   2,   2,   2,   2,
+      4,   4,   4,   4,   4,   4,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,  94,
+     94,  94,  94,  94,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,
+      8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,
+      8,   9,   0,   2,   2,   2,   2,   2,   0,   0,   8,   9,   8,   9,   8,   9,   8,   9,
+      8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,
+      8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,
+      8,   9,   8,   9,   8,   9,   8,   9,   8,   9, 101,   8,   9,   8,   9,   8,   9,   8,
+      9,   8,   9,   8,   9,   8,   9, 102,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,
+      8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,
+      8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,
+      8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,
+      8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,
+      8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   0, 103, 103, 103,
+    103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
+    103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,   0,
+      0,   5,   0,   0,   0,   0,   0,   0,   0, 104, 104, 104, 104, 104, 104, 104, 104, 104,
+    104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
+    104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104,   5,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,
       2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,
-      2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,
-      0,   2,   0,   2,   2,   0,   2,   2,   0,   2,   0,   0,   0,   0,   0,   0,   0,   0,
+      2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   0,   2,   0,   2,   2,   0,
+      2,   2,   0,   2,   0,   0,   0,   0,   0,   0,   0,   0,   5,   5,   5,   5,   5,   5,
       5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
-      5,   5,   5,   5,   5,   5,   5,   5,   5,   0,   0,   0,   0,   0,   5,   5,   5,   0,
+      5,   5,   5,   0,   0,   0,   0,   0,   5,   5,   5,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   2,   2,   2,   2,   2,   2,   2,   2,
-      2,   2,   2,   0,   0,   0,   0,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
-      5,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,
-      2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   0,   0,   0,   0,
-      5,   5,   2,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      0,   0,   0,   0,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   0,   0,   0,
+      0,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   2,   2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   0,   0,   0,   0,   5,   5,   2,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
       5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
       5,   5,   0,   5,   2,   2,   2,   2,   2,   2,   2,   0,   0,   2,   2,   2,   2,   2,
       2,   5,   5,   2,   2,   0,   2,   2,   2,   2,   5,   5,   2,   2,   2,   2,   2,   2,
       2,   2,   2,   2,   5,   5,   5,   0,   0,   5,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   5,   2,   5,   5,   5,   5,   5,   5,   5,   5,
       5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
       5,   5,   5,   5,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,
       2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   0,   0,   5,   5,   5,
       5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
-      5,   5,   5,   5,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   5,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   2,   2,   2,   2,   2,   2,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   2,   2,   2,   2,
+      2,   2,   2,   2,   2,   2,   2,   5,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   5,   5,   0,   0,   0,   0,   5,   0,   0,   0,   0,   0,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      2,   2,   2,   2,   5,   2,   2,   2,   2,   2,   2,   2,   2,   2,   5,   2,   2,   2,
+      5,   2,   2,   2,   2,   2,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   2,   2,   2,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   0,   5,   5,
+      5,   5,   5,   5,   5,   5,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   2,   2,   0,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,
       2,   2,   2,   2,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
       5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
-      5,   2,   2,   2,   2,   2,   2,   2,   2,   2,   5,   5,   0,   0,   0,   0,   5,   0,
-      0,   0,   0,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
-      5,   5,   5,   5,   5,   5,   5,   5,   2,   2,   2,   2,   5,   2,   2,   2,   2,   2,
-      2,   2,   2,   2,   5,   2,   2,   2,   5,   2,   2,   2,   2,   2,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   5,   5,   5,   5,
       5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
-      5,   5,   5,   2,   2,   2,   0,   0,   0,   0,   5,   0,   5,   5,   5,   5,   5,   5,
-      5,   5,   5,   5,   5,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   2,   2,   2,   2,   2,   2,   2,   2,
-      2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,
-      2,   0,   2,   2,   2,   2,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
-      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
-      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
-      5,   5,   5,   5,   5,   5,   2,   2,   2,   5,   2,   2,   2,   2,   2,   2,   2,   2,
-      2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   5,   2,   2,   2,   2,   2,   2,   2,
-      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   2,   2,   0,   0,   2,   2,   2,   2,
-      2,   2,   2,   2,   2,   2,   0,   5,   5,   5,   5,   5,   5,   5,   0,   5,   5,   5,
-      5,   5,   5,   5,   0,   2,   2,   2,   0,   5,   5,   5,   5,   5,   5,   5,   5,   0,
+      5,   5,   5,   5,   2,   2,   2,   5,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   2,   2,   2,   2,   5,   2,   2,   2,   2,   2,   2,   2,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   2,   2,   0,   0,   2,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   2,   2,   2,   0,   5,   5,   5,   5,   5,   5,   5,   5,   0,   0,   5,
+      5,   0,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   0,   5,   5,   5,   5,   5,   5,   5,   0,   5,   0,
+      0,   0,   5,   5,   5,   5,   0,   0,   2,   5,   2,   2,   2,   2,   2,   2,   2,   0,
+      0,   2,   2,   0,   0,   2,   2,   2,   5,   0,   0,   0,   0,   0,   0,   0,   0,   2,
+      0,   0,   0,   0,   5,   5,   0,   5,   5,   5,   2,   2,   0,   0,   2,   2,   2,   2,
+      2,   2,   2,   2,   2,   2,   5,   5,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   2,   2,   2,   0,   5,   5,   5,   5,   5,   5,   0,   0,   0,
       0,   5,   5,   0,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
       5,   5,   5,   5,   5,   5,   5,   5,   5,   0,   5,   5,   5,   5,   5,   5,   5,   0,
-      5,   0,   0,   0,   5,   5,   5,   5,   0,   0,   2,   5,   2,   2,   2,   2,   2,   2,
-      2,   0,   0,   2,   2,   0,   0,   2,   2,   2,   5,   0,   0,   0,   0,   0,   0,   0,
-      0,   2,   0,   0,   0,   0,   5,   5,   0,   5,   5,   5,   2,   2,   0,   0,   2,   2,
-      2,   2,   2,   2,   2,   2,   2,   2,   5,   5,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   2,   2,   2,   0,   5,   5,   5,   5,   5,   5,   0,
-      0,   0,   0,   5,   5,   0,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   0,   5,   5,   0,   5,   5,   0,   0,   2,   0,   2,   2,   2,   2,   2,   0,
+      0,   0,   0,   2,   2,   0,   0,   2,   2,   2,   0,   0,   0,   2,   0,   0,   0,   0,
+      0,   0,   0,   5,   5,   5,   5,   0,   5,   0,   0,   0,   0,   0,   0,   0,   2,   2,
+      2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   5,   5,   5,   2,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   2,   2,   2,   0,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   0,   5,   5,   5,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
       5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   0,   5,   5,   5,   5,   5,   5,
-      5,   0,   5,   5,   0,   5,   5,   0,   5,   5,   0,   0,   2,   0,   2,   2,   2,   2,
-      2,   0,   0,   0,   0,   2,   2,   0,   0,   2,   2,   2,   0,   0,   0,   2,   0,   0,
-      0,   0,   0,   0,   0,   5,   5,   5,   5,   0,   5,   0,   0,   0,   0,   0,   0,   0,
-      2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   5,   5,   5,   2,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,   0,   2,   2,   2,   0,   5,   5,   5,   5,   5,
-      5,   5,   5,   5,   0,   5,   5,   5,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   0,   5,   5,   0,   5,   5,   5,   5,   5,   0,   0,   2,   5,   2,   2,   2,   2,
+      2,   2,   2,   2,   0,   2,   2,   2,   0,   2,   2,   2,   0,   0,   5,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   5,   5,   2,   2,   0,   0,
+      2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   5,   0,   0,   0,   0,   0,   0,   0,   2,   2,   2,   0,   5,   5,   5,   5,   5,
+      5,   5,   5,   0,   0,   5,   5,   0,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,
       5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   0,   5,   5,   5,   5,
       5,   5,   5,   0,   5,   5,   0,   5,   5,   5,   5,   5,   0,   0,   2,   5,   2,   2,
-      2,   2,   2,   2,   2,   2,   0,   2,   2,   2,   0,   2,   2,   2,   0,   0,   5,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   5,   5,   2,   2,
-      0,   0,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   2,   2,   2,   2,   2,   0,   0,   2,
-      2,   0,   0,   2,   2,   2,   0,   0,   0,   0,   0,   0,   0,   0,   2,   2,   0,   0,
-      0,   0,   5,   5,   0,   5,   5,   5,   2,   2,   0,   0,   2,   2,   2,   2,   2,   2,
-      2,   2,   2,   2,   0,   5,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   2,   5,   0,   5,   5,   5,   5,   5,   5,   0,   0,   0,   5,   5,
-      5,   0,   5,   5,   5,   5,   0,   0,   0,   5,   5,   0,   5,   0,   5,   5,   0,   0,
-      0,   5,   5,   0,   0,   0,   5,   5,   5,   0,   0,   0,   5,   5,   5,   5,   5,   5,
-      5,   5,   5,   5,   5,   5,   0,   0,   0,   0,   2,   2,   2,   2,   2,   0,   0,   0,
-      2,   2,   2,   0,   2,   2,   2,   2,   0,   0,   5,   0,   0,   0,   0,   0,   0,   2,
-      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   2,   2,   2,   2,
-      2,   2,   2,   2,   2,   2,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   2,   2,   2,   0,   5,   5,   5,   5,   5,   5,   5,   5,   0,
-      5,   5,   5,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
-      5,   5,   5,   5,   5,   5,   5,   5,   5,   0,   5,   5,   5,   5,   5,   5,   5,   5,
-      5,   5,   0,   5,   5,   5,   5,   5,   0,   0,   0,   5,   2,   2,   2,   2,   2,   2,
-      2,   0,   2,   2,   2,   0,   2,   2,   2,   2,   0,   0,   0,   0,   0,   0,   0,   2,
-      2,   0,   5,   5,   0,   0,   0,   0,   0,   0,   0,   0,   2,   2,   0,   5,   5,   5,
-      5,   5,   5,   5,   5,   0,   5,   5,   5,   0,   5,   5,   5,   5,   5,   5,   5,   5,
-      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   0,   5,   5,
-      5,   5,   5,   5,   5,   5,   5,   5,   0,   5,   5,   5,   5,   5,   0,   0,   2,   5,
-      2,   2,   2,   2,   2,   2,   2,   0,   2,   2,   2,   0,   2,   2,   2,   2,   0,   0,
-      0,   0,   0,   0,   0,   2,   2,   0,   0,   0,   0,   0,   0,   0,   5,   0,   5,   5,
-      2,   2,   0,   0,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   0,   5,   5,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   5,   5,   5,   5,   5,   5,
+      2,   2,   2,   2,   2,   0,   0,   2,   2,   0,   0,   2,   2,   2,   0,   0,   0,   0,
+      0,   0,   0,   0,   2,   2,   0,   0,   0,   0,   5,   5,   0,   5,   5,   5,   2,   2,
+      0,   0,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   0,   5,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   2,   5,   0,   5,   5,   5,
+      5,   5,   5,   0,   0,   0,   5,   5,   5,   0,   5,   5,   5,   5,   0,   0,   0,   5,
+      5,   0,   5,   0,   5,   5,   0,   0,   0,   5,   5,   0,   0,   0,   5,   5,   5,   0,
+      0,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   0,   0,   0,   0,
+      2,   2,   2,   2,   2,   0,   0,   0,   2,   2,   2,   0,   2,   2,   2,   2,   0,   0,
+      5,   0,   0,   0,   0,   0,   0,   2,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   2,   2,   2,   2,   0,   5,
+      5,   5,   5,   5,   5,   5,   5,   0,   5,   5,   5,   0,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   0,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   0,   0,
+      0,   5,   2,   2,   2,   2,   2,   2,   2,   0,   2,   2,   2,   0,   2,   2,   2,   2,
+      0,   0,   0,   0,   0,   0,   0,   2,   2,   0,   5,   5,   5,   0,   0,   0,   0,   0,
+      5,   5,   2,   2,   0,   0,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   5,   2,   2,   2,
+      0,   5,   5,   5,   5,   5,   5,   5,   5,   0,   5,   5,   5,   0,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   0,   5,   5,   5,   5,   5,
+      0,   0,   2,   5,   2,   2,   2,   2,   2,   2,   2,   0,   2,   2,   2,   0,   2,   2,
+      2,   2,   0,   0,   0,   0,   0,   0,   0,   2,   2,   0,   0,   0,   0,   0,   0,   0,
+      5,   0,   5,   5,   2,   2,   0,   0,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,
+      0,   5,   5,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   2,
+      2,   2,   0,   5,   5,   5,   5,   5,   5,   5,   5,   0,   5,   5,   5,   0,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
       5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
       5,   5,   5,   0,   0,   5,   2,   2,   2,   2,   2,   2,   2,   0,   2,   2,   2,   0,
-      2,   2,   2,   2,   5,   0,   0,   0,   0,   0,   0,   0,   0,   2,   0,   0,   0,   0,
-      0,   0,   0,   0,   5,   5,   2,   2,   0,   0,   2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   5,   0,   0,   0,   0,   0,   5,   5,   5,   2,   0,   0,   0,   0,
+      0,   0,   0,   5,   5,   5,   2,   2,   0,   0,   2,   2,   2,   2,   2,   2,   2,   2,
       2,   2,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   5,   5,   5,   5,   5,   5,
       0,   0,   2,   2,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
       5,   5,   5,   5,   5,   0,   0,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
       5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   0,   5,   5,   5,
       5,   5,   5,   5,   5,   5,   0,   5,   0,   0,   5,   5,   5,   5,   5,   5,   5,   0,
       0,   0,   2,   0,   0,   0,   0,   2,   2,   2,   2,   2,   2,   0,   2,   0,   2,   2,
-      2,   2,   2,   2,   2,   2,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   2,   2,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      2,   2,   2,   2,   2,   2,   0,   0,   0,   0,   0,   0,   2,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   0,   0,   2,   2,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
       5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
       5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   2,   5,   5,
       2,   2,   2,   2,   2,   2,   2,   0,   0,   0,   0,   0,   5,   5,   5,   5,   5,   5,
       5,   2,   2,   2,   2,   2,   2,   2,   2,   0,   2,   2,   2,   2,   2,   2,   2,   2,
-      2,   2,   0,   0,   0,   0,   0,   0,   0,   5,   5,   0,   5,   0,   0,   5,   5,   0,
-      5,   0,   0,   5,   0,   0,   0,   0,   0,   0,   5,   5,   5,   5,   0,   5,   5,   5,
-      5,   5,   5,   5,   0,   5,   5,   5,   0,   5,   0,   5,   0,   0,   5,   5,   0,   5,
-      5,   5,   5,   2,   5,   5,   2,   2,   2,   2,   2,   2,   0,   2,   2,   5,   0,   0,
-      5,   5,   5,   5,   5,   0,   5,   0,   2,   2,   2,   2,   2,   2,   0,   0,   2,   2,
-      2,   2,   2,   2,   2,   2,   2,   2,   0,   0,   5,   5,   5,   5,   5,   0,   0,   0,
+      2,   2,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   5,   5,   0,   5,   0,   0,   5,   5,   0,   5,   0,   0,   5,
+      0,   0,   0,   0,   0,   0,   5,   5,   5,   5,   0,   5,   5,   5,   5,   5,   5,   5,
+      0,   5,   5,   5,   0,   5,   0,   5,   0,   0,   5,   5,   0,   5,   5,   5,   5,   2,
+      5,   5,   2,   2,   2,   2,   2,   2,   0,   2,   2,   5,   0,   0,   5,   5,   5,   5,
+      5,   0,   5,   0,   2,   2,   2,   2,   2,   2,   0,   0,   2,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   0,   0,   5,   5,   5,   5,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   2,   2,   0,   0,   0,   0,   0,   0,   2,   2,   2,   2,   2,   2,   2,   2,
-      2,   2,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   2,   0,   2,   0,   2,
-      0,   0,   0,   0,   2,   2,   5,   5,   5,   5,   5,   5,   5,   5,   0,   5,   5,   5,
+      0,   0,   0,   0,   0,   0,   5,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   2,   2,   0,   0,   0,   0,
+      0,   0,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   2,   0,   2,   0,   2,   0,   0,   0,   0,   2,   2,   5,   5,
+      5,   5,   5,   5,   5,   5,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   0,   0,   0,   0,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   0,   2,   2,   5,   5,
+      5,   5,   5,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   0,   2,   2,   2,
+      2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   2,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   5,   5,   5,   5,   5,   5,   5,   5,
       5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
-      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   0,   0,   0,
-      0,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,
-      2,   2,   2,   0,   2,   2,   5,   5,   5,   5,   5,   2,   2,   2,   2,   2,   2,   2,
-      2,   2,   2,   2,   0,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   2,
       2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,
-      2,   2,   2,   2,   2,   0,   0,   0,   0,   0,   0,   0,   0,   0,   2,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   2,   2,   2,
-      2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   5,
-      2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   0,   0,   0,   0,   0,   0,   5,   5,
-      5,   5,   5,   5,   2,   2,   2,   2,   5,   5,   5,   5,   2,   2,   2,   5,   2,   2,
-      2,   5,   5,   2,   2,   2,   2,   2,   2,   2,   5,   5,   5,   2,   2,   2,   2,   5,
-      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   2,   2,   2,   2,   2,   2,
-      2,   2,   2,   2,   2,   2,   5,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,
-      2,   2,   2,   2,   0,   0,  97,  97,  97,  97,  97,  97,  97,  97,  97,  97,  97,  97,
-     97,  97,  97,  97,  97,  97,  97,  97,  97,  97,  97,  97,  97,  97,  97,  97,  97,  97,
-     97,  97,  97,  97,  97,  97,  97,  97,   0,  97,   0,   0,   0,   0,   0,  97,   0,   0,
+      2,   5,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   0,   0,   0,   0,   0,   0,
+      5,   5,   5,   5,   5,   5,   2,   2,   2,   2,   5,   5,   5,   5,   2,   2,   2,   5,
+      2,   2,   2,   5,   5,   2,   2,   2,   2,   2,   2,   2,   5,   5,   5,   2,   2,   2,
+      2,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   2,   2,   2,   2,
+      2,   2,   2,   2,   2,   2,   2,   2,   5,   2,   2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   2,   2,   0,   0, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
+    105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
+    105, 105, 105, 105, 105, 105, 105, 105, 105, 105,   0, 105,   0,   0,   0,   0,   0, 105,
+      0,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   0,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   0,   5,   5,   5,   5,   0,   0,   5,   5,   5,   5,   5,   5,
+      5,   0,   5,   0,   5,   5,   5,   5,   0,   0,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   0,   5,   5,
+      5,   5,   0,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   0,   5,   5,   5,   5,   0,   0,   5,   5,   5,   5,   5,   5,   5,   0,   5,   0,
+      5,   5,   5,   5,   0,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   0,   5,   5,   5,   5,   0,   0,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
       5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
       5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
-      5,   5,   5,   5,   5,   5,   5,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
-      5,   5,   5,   0,   5,   5,   5,   5,   0,   0,   5,   5,   5,   5,   5,   5,   5,   0,
-      5,   0,   5,   5,   5,   5,   0,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   0,
-      5,   5,   5,   5,   0,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   0,   0,   2,   2,   2,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
+    106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
+    106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
+    106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
+    106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,  87,  87,  87,  87,
+     87,  87,   0,   0,  92,  92,  92,  92,  92,  92,   0,   0,   0,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   0,   0,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   1,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   0,   0,   0,   0,   0,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
       5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
-      5,   5,   5,   0,   5,   5,   5,   5,   0,   0,   5,   5,   5,   5,   5,   5,   5,   0,
-      5,   0,   5,   5,   5,   5,   0,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
-      5,   5,   5,   5,   5,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
-      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   0,   5,   5,   5,   5,
-      0,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   0,   0,   0,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   0,   0,   0,   0,   0,   0,   0,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   0,   5,   5,   5,   5,   2,   2,
+      2,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   2,   2,   2,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   2,   2,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   0,
+      5,   5,   5,   0,   2,   2,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   2,   2,
+      2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   0,   0,   0,   5,   0,   0,
+      0,   0,   5,   2,   0,   0,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   2,   2,   2,   0,   0,
+      2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   0,   0,   0,   0,   0,   0,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
       5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
-      5,   0,   0,   2,   2,   2,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
-      5,   5,   5,   5,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   0,   0,   0,   0,
+      0,   0,   0,   0,   5,   5,   5,   5,   5,   2,   2,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   2,   5,   0,   0,   0,   0,   0,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   0,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   0,   0,   0,   0,
+      2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   0,   0,   5,   5,   5,   5,   5,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   0,   0,
       0,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
-      5,   5,   5,   5,   5,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   5,   5,
-      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   0,   0,   5,   5,   5,   5,   5,
-      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   1,   5,   5,   5,   5,   5,
-      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
-      5,   5,   5,   0,   0,   0,   0,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
-      5,   0,   0,   0,   5,   5,   5,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   0,
-      5,   5,   5,   5,   2,   2,   2,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
-      2,   2,   2,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   5,   5,   5,   5,
-      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   2,   2,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   5,   5,   5,   5,   5,   5,   5,   5,
-      5,   5,   5,   5,   5,   0,   5,   5,   5,   0,   2,   2,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
-      5,   5,   5,   5,   5,   5,   5,   5,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,
-      2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,
-      2,   2,   2,   2,   0,   0,   0,   5,   0,   0,   0,   0,   5,   2,   0,   0,   2,   2,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   0,   0,   0,   0,   0,   0,   2,   2,
       2,   2,   2,   2,   2,   2,   2,   2,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   2,   2,   2,   1,   0,   2,   2,   2,   2,   2,   2,   2,   2,
-      2,   2,   0,   0,   0,   0,   0,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
-      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   0,   0,   0,   0,
-      0,   0,   0,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   2,   5,   0,   0,   0,
-      0,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   2,   2,   2,
+      2,   2,   0,   0,   0,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
       5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
-      5,   5,   5,   5,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   5,   5,   5,   5,
       5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
-      5,   5,   5,   5,   5,   5,   5,   0,   0,   0,   2,   2,   2,   2,   2,   2,   2,   2,
-      2,   2,   2,   2,   0,   0,   0,   0,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,
-      2,   2,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   2,   2,   2,   2,   2,   2,
-      2,   2,   2,   2,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
-      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   0,   0,
-      5,   5,   5,   5,   5,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   5,   5,
-      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   0,   0,   0,   0,   2,   2,   2,   2,
-      2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   5,   5,   5,   5,   5,
-      5,   5,   2,   2,   0,   0,   0,   0,   0,   0,   2,   2,   2,   2,   2,   2,   2,   2,
-      2,   2,   0,   0,   0,   0,   0,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
-      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   2,   2,   2,   2,   2,
-      0,   0,   0,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
-      5,   5,   5,   5,   5,   5,   5,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   0,
+      5,   5,   5,   5,   5,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   0,   2,   2,
       2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,
-      2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   0,   0,   2,   2,   2,   2,   2,
-      2,   2,   2,   2,   2,   2,   0,   0,   0,   0,   0,   0,   2,   2,   2,   2,   2,   2,
-      2,   2,   2,   2,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   5,
+      2,   2,   2,   2,   2,   2,   2,   2,   2,   0,   0,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   0,   0,   0,   0,   0,   0,   2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   5,   0,   0,
+      0,   0,   0,   0,   0,   0,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   2,   2,   2,   2,   2,   5,   5,   5,   5,   5,   5,   5,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   2,   2,   2,   2,
+      2,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
       5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
-      5,   5,   2,   2,   2,   2,   2,   5,   5,   5,   5,   5,   5,   5,   0,   0,   0,   0,
-      2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,   0,   2,   2,   2,   2,   2,   2,   2,   2,   2,
-      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   2,   2,   2,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   2,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   5,   5,   5,   5,   5,   5,   5,
+      0,   0,   0,   0,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   2,   2,
+      2,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   2,   2,   2,   2,   5,   5,   2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
       5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
-      5,   5,   5,   5,   5,   5,   5,   5,   5,   2,   2,   2,   2,   2,   2,   2,   2,   2,
-      2,   2,   2,   2,   5,   5,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   5,   5,
       5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   2,   2,   2,   2,   2,   2,   2,   2,
       2,   2,   2,   2,   2,   2,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      5,   5,   5,   5,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,
-      2,   2,   2,   2,   2,   2,   0,   0,   0,   0,   0,   0,   0,   0,   2,   2,   2,   2,
-      2,   2,   2,   2,   2,   2,   0,   0,   0,   5,   5,   5,   2,   2,   2,   2,   2,   2,
-      2,   2,   2,   2,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   0,   0,   0,   0,   0,   0,   0,   0,   2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   0,   0,   0,   5,   5,   5,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
       5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
-      5,   5,   5,   5,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   2,   2,   2,   0,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,
-      2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   5,   5,   5,   5,   2,   5,   5,
-      5,   5,   2,   2,   2,   5,   5,   0,   0,   0,   0,   0,   0,   0,   0,   0,   5,   5,
+      0,   0, 107, 108, 109, 110, 110, 111, 112, 113, 114,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   2,   2,   2,   0,   2,   2,   2,   2,
+      2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   5,
+      5,   5,   5,   2,   5,   5,   5,   5,   2,   2,   2,   5,   5,   0,   2,   2,   0,   0,
+      0,   0,   0,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
       5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
-      5,   5,   5,   5,   5,  98,   5,   5,   5,  99,   5,   5,   2,   2,   2,   2,   2,   2,
-      2,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   2,   2,   2,   2,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,
-      8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   5,   5,   5,   5,   5, 100,
-      5,   5, 101,   5, 102, 102, 102, 102, 102, 102, 102, 102, 103, 103, 103, 103, 103, 103,
-    103, 103, 102, 102, 102, 102, 102, 102,   0,   0, 103, 103, 103, 103, 103, 103,   0,   0,
-    102, 102, 102, 102, 102, 102, 102, 102, 103, 103, 103, 103, 103, 103, 103, 103, 102, 102,
-    102, 102, 102, 102, 102, 102, 103, 103, 103, 103, 103, 103, 103, 103, 102, 102, 102, 102,
-    102, 102,   0,   0, 103, 103, 103, 103, 103, 103,   0,   0,   5, 102,   5, 102,   5, 102,
-      5, 102,   0, 103,   0, 103,   0, 103,   0, 103, 102, 102, 102, 102, 102, 102, 102, 102,
-    103, 103, 103, 103, 103, 103, 103, 103, 104, 104, 105, 105, 105, 105, 106, 106, 107, 107,
-    108, 108, 109, 109,   0,   0, 102, 102, 102, 102, 102, 102, 102, 102, 103, 103, 103, 103,
-    103, 103, 103, 103, 102, 102,   5, 110,   5,   0,   5,   5, 103, 103, 111, 111, 112,   0,
-    113,   0,   0,   0,   5, 110,   5,   0,   5,   5, 114, 114, 114, 114, 112,   0,   0,   0,
-    102, 102,   5,   5,   0,   0,   5,   5, 103, 103, 115, 115,   0,   0,   0,   0, 102, 102,
-      5,   5,   5,  88,   5,   5, 103, 103, 116, 116,  91,   0,   0,   0,   0,   0,   5, 110,
-      5,   0,   5,   5, 117, 117, 118, 118, 112,   0,   0,   0,   1,   1,   1,   1,   1,   1,
+      5,   5,   5,   5,   5,   5,   5, 115,   5,   5,   5, 116,   5,   5,   2,   2,   2,   2,
+      2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   0,   0,   0,   0,
+      0,   2,   2,   2,   2,   2,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,
+      8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,
+      8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,
+      8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,
+      8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,
+      8,   9,   5,   5,   5,   5,   5, 117,   5,   5, 118,   5,   8,   9,   8,   9,   8,   9,
+      8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,
+      8,   9,   8,   9,   8,   9,   8,   9, 119, 119, 119, 119, 119, 119, 119, 119, 120, 120,
+    120, 120, 120, 120, 120, 120, 119, 119, 119, 119, 119, 119,   0,   0, 120, 120, 120, 120,
+    120, 120,   0,   0, 119, 119, 119, 119, 119, 119, 119, 119, 120, 120, 120, 120, 120, 120,
+    120, 120, 119, 119, 119, 119, 119, 119, 119, 119, 120, 120, 120, 120, 120, 120, 120, 120,
+    119, 119, 119, 119, 119, 119,   0,   0, 120, 120, 120, 120, 120, 120,   0,   0,   5, 119,
+      5, 119,   5, 119,   5, 119,   0, 120,   0, 120,   0, 120,   0, 120, 119, 119, 119, 119,
+    119, 119, 119, 119, 120, 120, 120, 120, 120, 120, 120, 120, 121, 121, 122, 122, 122, 122,
+    123, 123, 124, 124, 125, 125, 126, 126,   0,   0, 119, 119, 119, 119, 119, 119, 119, 119,
+    120, 120, 120, 120, 120, 120, 120, 120, 119, 119, 119, 119, 119, 119, 119, 119, 120, 120,
+    120, 120, 120, 120, 120, 120, 119, 119, 119, 119, 119, 119, 119, 119, 120, 120, 120, 120,
+    120, 120, 120, 120, 119, 119,   5, 127,   5,   0,   5,   5, 120, 120, 128, 128, 129,   0,
+    130,   0,   0,   0,   5, 127,   5,   0,   5,   5, 131, 131, 131, 131, 129,   0,   0,   0,
+    119, 119,   5,   5,   0,   0,   5,   5, 120, 120, 132, 132,   0,   0,   0,   0, 119, 119,
+      5,   5,   5,  95,   5,   5, 120, 120, 133, 133,  99,   0,   0,   0,   0,   0,   5, 127,
+      5,   0,   5,   5, 134, 134, 135, 135, 129,   0,   0,   0,   1,   1,   1,   1,   1,   1,
       1,   1,   1,   1,   1,   0,   2,   2,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   1,   1,
       0,   0,   0,   0,   0,   1,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   2,   2,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   2,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   1,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   5,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   5,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   5,   5,   5,   5,   5,   5,
       5,   5,   5,   5,   5,   5,   5,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,
-      2,   2,   2,   0,   0,   0,   0,   2,   0,   0,   0,   2,   2,   2,   2,   2,   2,   2,
-      2,   2,   2,   2,   2,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   5,   0,   0,   0,   0,   5,   0,   0,   5,   5,   5,   5,   5,   5,
-      5,   5,   5,   5,   0,   5,   0,   0,   0,   5,   5,   5,   5,   5,   0,   0,   0,   0,
-      0,   0,   5,   0, 119,   0,   5,   0, 120, 121,   5,   5,   0,   5,   5,   5, 122,   5,
-      5,   5,   5,   5,   5,   5,   0,   0,   5,   5,   5,   5,   0,   0,   0,   0,   0,   5,
-      5,   5,   5,   5,   0,   0,   0,   0, 123,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
-    124, 124, 124, 124, 124, 124, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
-    125, 125, 125, 125,   5,   5,   5,   8,   9,   5,   5,   5,   5,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   0,
+      0,   0,   0,   2,   0,   0,   0,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,
+      2,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      5,   0,   0,   0,   0,   5,   0,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      0,   5,   0,   0,   0,   5,   5,   5,   5,   5,   0,   0,   0,   0,   0,   0,   5,   0,
+    136,   0,   5,   0, 137, 138,   5,   5,   0,   5,   5,   5, 139,   5,   5,   5,   5,   5,
+      5,   5,   0,   0,   5,   5,   5,   5,   0,   0,   0,   0,   0,   5,   5,   5,   5,   5,
+      0,   0,   0,   0, 140,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
+    141, 141, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142,
+      5,   5,   5,   8,   9,   5,   5,   5,   5,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 143, 143, 143, 143, 143, 143, 143, 143,
+    143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143,
+    144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
+    144, 144, 144, 144, 144, 144, 144, 144,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 103, 103, 103, 103, 103, 103,
+    103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
+    103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
+    103, 103, 103, 103, 103,   0, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
+    104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
+    104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104,   0,
+      8,   9, 145, 146, 147, 148, 149,   8,   9,   8,   9,   8,   9, 150, 151, 152, 153,   5,
+      8,   9,   5,   8,   9,   5,   5,   5,   5,   5,   5,   5, 154, 154,   8,   9,   8,   9,
+      8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,
+      8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   5,   0,   0,   0,
+      0,   0,   0,   8,   9,   8,   9,   2,   2,   2,   8,   9,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
+    155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
+    155, 155, 155, 155, 155, 155, 155, 155,   0, 155,   0,   0,   0,   0,   0, 155,   0,   0,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   0,   0,   0,   0,   0,   0,   0,   5,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   2,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   5,   5,   5,   5,   5,   5,   5,   0,   5,   5,   5,   5,   5,   5,
+      5,   0,   5,   5,   5,   5,   5,   5,   5,   0,   5,   5,   5,   5,   5,   5,   5,   0,
+      5,   5,   5,   5,   5,   5,   5,   0,   5,   5,   5,   5,   5,   5,   5,   0,   5,   5,
+      5,   5,   5,   5,   5,   0,   5,   5,   5,   5,   5,   5,   5,   0,   2,   2,   2,   2,
+      2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
-    126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 127, 127, 127, 127, 127, 127,
-    127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
-    127, 127,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,  95,  95,  95,  95,  95,  95,  95,  95,  95,  95,  95,  95,
-     95,  95,  95,  95,  95,  95,  95,  95,  95,  95,  95,  95,  95,  95,  95,  95,  95,  95,
-     95,  95,  95,  95,  95,  95,  95,  95,  95,  95,  95,  95,  95,  95,  95,  95,  95,   0,
-     96,  96,  96,  96,  96,  96,  96,  96,  96,  96,  96,  96,  96,  96,  96,  96,  96,  96,
-     96,  96,  96,  96,  96,  96,  96,  96,  96,  96,  96,  96,  96,  96,  96,  96,  96,  96,
-     96,  96,  96,  96,  96,  96,  96,  96,  96,  96,  96,   0,   8,   9, 128, 129, 130, 131,
-    132,   8,   9,   8,   9,   8,   9, 133, 134, 135, 136,   5,   8,   9,   5,   8,   9,   5,
-      5,   5,   5,   5,   5,   5, 137, 137,   8,   9,   8,   9,   5,   0,   0,   0,   0,   0,
-      0,   8,   9,   8,   9,   2,   2,   2,   8,   9,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138,
-    138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138,
-    138, 138, 138, 138, 138, 138,   0, 138,   0,   0,   0,   0,   0, 138,   0,   0,   5,   5,
+      0,   0,   0,   5,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   1,   0,   0,   0,   0,   5,   5,   5,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   2,   2,   2,   2,   2,   2,   0,   5,   5,   5,
+      5,   5,   0,   0,   5,   5,   5,   5,   5,   0,   0,   0,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   0,
+      0,   2,   2,   0,   0,   5,   5,   5,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
       5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
-      5,   5,   5,   5,   0,   0,   0,   0,   0,   0,   0,   5,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,   0,   2,   5,   5,   5,   5,   5,   5,   5,   5,
-      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   5,   5,   5,   5,   5,   5,   5,   0,   5,   5,   5,   5,
-      5,   5,   5,   0,   5,   5,   5,   5,   5,   5,   5,   0,   5,   5,   5,   5,   5,   5,
-      5,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   5,
-      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   1,   0,
-      0,   0,   0,   5,   5,   5,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   5,   5,   5,   5,   5,
-      5,   5,   5,   5,   2,   2,   2,   2,   2,   2,   0,   5,   5,   5,   5,   5,   0,   0,
-      5,   5,   5,   5,   5,   0,   0,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
-      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   0,   0,   2,   2,   0,
-      0,   5,   5,   5,   0,   0,   0,   0,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   0,   5,   5,   5,   5,   0,   0,   0,   0,
+      0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   0,   0,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,
       5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
-      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   0,   0,   0,   5,
-      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
       5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   5,   5,   5,   5,   5,   5,   5,   5,
       5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
-      5,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
-      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   5,   5,
-      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   0,   0,   0,   5,   5,   5,   5,
-      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   2,   2,   2,   2,   2,   2,
-      2,   2,   2,   2,   5,   5,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,
-      8,   9,   8,   9,   5,   2,   0,   0,   0,   0,   2,   2,   2,   2,   2,   2,   2,   2,
-      2,   2,   0,   5,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,
-      8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   0,   0,   0,   0,   0,   0,   0,   2,
-      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   2,   2,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   0,   0,   8,   9,   8,   9,   8,   9,
-      8,   9,   8,   9,   8,   9,   8,   9,   5,   5,   8,   9,   8,   9,   8,   9,   8,   9,
+      0,   0,   0,   0,   0,   0,   0,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      0,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   0,   0,   0,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   2,   2,
+      2,   2,   2,   2,   2,   2,   2,   2,   5,   5,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   8,   9,   8,   9,   8,   9,
+      8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,
       8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,
-      8,   9,   8,   9,   5,   5,   5,   5,   5,   5,   5,   5,   5,   8,   9,   8,   9, 139,
-      8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   5,   0,   0,   8,   9, 140,   5,   0,
-      8,   9,   8,   9,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   8,   9,
-      8,   9,   8,   9,   8,   9,   8,   9, 141,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      8,   9,   8,   9,   5,   2,   0,   0,   0,   0,   2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   0,   5,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,
+      8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   5,   5,   2,   2,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   2,   2,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   0,   0,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,
+      5,   5,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,
+      8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,
+      8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,
+      8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   8,   9,   8,   9, 156,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   5,   0,
+      0,   8,   9, 157,   5,   5,   8,   9,   8,   9,   5,   5,   8,   9,   8,   9,   8,   9,
+      8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9, 158, 159, 160, 161,
+    158,   0, 162, 163, 164, 165,   8,   9,   8,   9,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   2,   5,   5,   5,   2,   5,   5,   5,
-      5,   2,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
-      5,   5,   5,   5,   5,   5,   5,   2,   2,   2,   2,   2,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   2,   5,   5,   5,   2,   5,
+      5,   5,   5,   2,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   2,   2,   2,   2,   2,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
       5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
-      5,   5,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   2,   2,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   2,   2,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
       5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
-      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   2,   2,   2,   2,   2,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,
-      0,   0,   0,   0,   0,   0,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,
-      2,   2,   2,   2,   2,   2,   5,   5,   5,   5,   5,   5,   0,   0,   0,   5,   0,   0,
-      0,   0,   5,   5,   5,   5,   5,   5,   2,   2,   2,   2,   2,   2,   2,   2,   0,   0,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   0,   0,   0,   0,   0,   0,
+      2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,
+      5,   5,   5,   5,   5,   5,   0,   0,   0,   5,   0,   5,   0,   0,   2,   2,   2,   2,
+      2,   2,   2,   2,   2,   2,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   2,   2,
+      2,   2,   2,   2,   2,   2,   0,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   2,   2,   2,   2,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   0,   0,   0,   2,   2,
+      2,   2,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
       5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
-      5,   5,   5,   5,   5,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,
-      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   5,   5,   5,   5,   5,   5,
       5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   2,   2,   2,   2,   2,
       2,   2,   2,   2,   2,   2,   2,   2,   2,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   5,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   0,   0,
-      0,   0,   0,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   2,   2,   2,   2,   2,
-      2,   2,   2,   2,   2,   2,   2,   2,   2,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      5,   5,   5,   2,   5,   5,   5,   5,   5,   5,   5,   5,   2,   2,   0,   0,   2,   2,
-      2,   2,   2,   2,   2,   2,   2,   2,   0,   0,   0,   0,   0,   0,   5,   5,   5,   5,
+      0,   0,   0,   0,   5,   5,   5,   5,   5,   2,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   5,   5,   5,   5,   5,   0,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,
+      2,   0,   0,   0,   0,   0,   0,   0,   0,   0,   5,   5,   5,   2,   5,   5,   5,   5,
+      5,   5,   5,   5,   2,   2,   0,   0,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,
+      0,   0,   0,   0,   0,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   0,   0,   0,   5,   2,   2,   2,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
       5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
-      5,   0,   0,   0,   5,   2,   0,   0,   0,   0,   5,   5,   5,   5,   5,   5,   5,   5,
-      5,   5,   5,   5,   5,   5,   5,   5,   2,   5,   2,   2,   2,   5,   5,   2,   2,   5,
-      5,   5,   5,   5,   2,   2,   5,   2,   5,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   5,   5,   5,
-      0,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   2,   2,   2,   2,   2,
-      0,   0,   5,   5,   5,   2,   2,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   5,
-      5,   5,   5,   5,   5,   0,   0,   5,   5,   5,   5,   5,   5,   0,   0,   5,   5,   5,
-      5,   5,   5,   0,   0,   0,   0,   0,   0,   0,   0,   0,   5,   5,   5,   5,   5,   5,
-      5,   0,   5,   5,   5,   5,   5,   5,   5,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,   5,   5,   5,   2,   2,   2,   2,   2,   2,   2,
-      2,   0,   2,   2,   0,   0,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   0,   0,
-      0,   0,   0,   0,   5,   5,   5,   5,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   2,   5,   2,   2,
+      2,   5,   5,   2,   2,   5,   5,   5,   5,   5,   2,   2,   5,   2,   5,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   5,   5,   5,   0,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   2,   2,   2,   2,   2,   0,   0,   5,   5,   5,   2,   2,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   5,   5,   5,   5,   5,   5,   0,   0,   5,   5,   5,   5,   5,
+      5,   0,   0,   5,   5,   5,   5,   5,   5,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      5,   5,   5,   5,   5,   5,   5,   0,   5,   5,   5,   5,   5,   5,   5,   0,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5, 166,   5,   5,
+      5,   5,   5,   5,   5,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167,
+    167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167,
+    167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167,
+    167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167,
+    167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   2,   2,   2,
+      2,   2,   2,   2,   2,   0,   2,   2,   0,   0,   2,   2,   2,   2,   2,   2,   2,   2,
+      2,   2,   0,   0,   0,   0,   0,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
       5,   5,   5,   5,   5,   5,   5,   0,   0,   0,   0,   5,   5,   5,   5,   5,   5,   5,
       5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
       5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
       5,   5,   5,   5,   5,   5,   0,   0,   0,   0,   5,   5,   5,   5,   5,   5,   5,   5,
-      5,   5,   5,   5,   5,   5,   0,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   0,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
       5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
-      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   0,   0,   0,   0,
-      0,   0,   5,   5,   5,   5,   5,   5,   5,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   5,   5,   5,   5,   5,   0,   0,   0,   0,   0,   5,   2,   5,   5,   5,
-      5,   5,   5,   5,   5,   5,   5,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
-      5,   5,   5,   0,   5,   5,   5,   5,   5,   0,   5,   0,   5,   5,   0,   5,   5,   0,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   5,   5,   5,   5,   5,   5,
+      5,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   5,   5,   5,   5,   5,
+      0,   0,   0,   0,   0,   5,   2,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   0,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   0,   5,   5,   5,   5,
+      5,   0,   5,   0,   5,   5,   0,   5,   5,   0,   5,   5,   5,   5,   5,   5,   5,   5,
       5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
       5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
-      5,   5,   5,   5,   5,   5,   5,   5,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
-      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   0,   0,
       5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
-      5,   5,   5,   5,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
-      5,   5,   0,   0,   0,   0,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,
-      2,   2,   2,   2,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   2,   2,   2,   2,   2,   2,   2,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   2,   2,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   2,   2,   2,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   5,   5,   5,   5,   5,   0,   5,   5,
       5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
       5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
-      5,   0,   0,   1,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   0,   0,   0,   0,   0,   0,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
       5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
       5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
-      5,   5,   5,   5,   5,   5,   5,   5,   5,   0,   0,   0,   5,   5,   5,   5,   5,   5,
-      0,   0,   5,   5,   5,   5,   5,   5,   0,   0,   5,   5,   5,   5,   5,   5,   0,   0,
-      5,   5,   5,   0,   0,   0,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   0,   0,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   0,   0,
+      0,   0,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   2,   2,
+      2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,   0,   0,   0,   2,
+      2,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   2,   2,   2,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   5,   5,   5,   5,   5,   0,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   0,   0,   1,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   2,   2,   2,   2,   2,   2,
+      2,   2,   2,   2,   0,   0,   0,   0,   0,   0,   0,   3,   3,   3,   3,   3,   3,   3,
+      3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,   3,
+      3,   0,   0,   0,   0,   2,   0,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,
+      4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      5,   5,   5,   5,   5,   5,   5,   0,   0,   0,   5,   5,   5,   5,   5,   5,   0,   0,
+      5,   5,   5,   5,   5,   5,   0,   0,   5,   5,   5,   5,   5,   5,   0,   0,   5,   5,
+      5,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
 };
 
 const CodepointsWithSameUpperCaseInfo unicode::js_codepoints_with_same_upper_info[] = {
     {0, 0, 0},
     {32, 0, 0},
     {32, 232, 0},
     {32, 300, 0},
     {0, 200, 0},
@@ -806,16 +961,17 @@ const CodepointsWithSameUpperCaseInfo un
     {65406, 0, 0},
     {10795, 0, 0},
     {65373, 0, 0},
     {10792, 0, 0},
     {65341, 0, 0},
     {69, 0, 0},
     {71, 0, 0},
     {0, 116, 7289},
+    {116, 0, 0},
     {38, 0, 0},
     {37, 0, 0},
     {64, 0, 0},
     {63, 0, 0},
     {32, 62, 0},
     {32, 96, 0},
     {32, 57, 0},
     {65452, 32, 7205},
@@ -839,19 +995,43 @@ const CodepointsWithSameUpperCaseInfo un
     {65511, 0, 0},
     {65521, 0, 0},
     {65514, 0, 0},
     {65482, 0, 0},
     {65488, 0, 0},
     {65472, 0, 0},
     {65529, 0, 0},
     {80, 0, 0},
+    {32, 6254, 0},
+    {32, 6253, 0},
+    {32, 6244, 0},
+    {32, 6242, 0},
+    {32, 6242, 6243},
+    {32, 6236, 0},
+    {0, 6222, 0},
+    {0, 6221, 0},
+    {0, 6212, 0},
+    {0, 6210, 0},
+    {0, 6210, 6211},
+    {0, 6204, 0},
+    {1, 6181, 0},
+    {0, 6180, 0},
     {15, 0, 0},
     {48, 0, 0},
     {7264, 0, 0},
+    {38864, 0, 0},
+    {59314, 0, 0},
+    {59315, 0, 0},
+    {59324, 0, 0},
+    {59326, 0, 0},
+    {59326, 0, 1},
+    {59325, 65535, 0},
+    {59332, 0, 0},
+    {59356, 0, 0},
+    {0, 35267, 0},
     {1, 59, 0},
     {0, 58, 0},
     {65478, 0, 0},
     {65528, 0, 0},
     {65462, 0, 0},
     {65527, 0, 0},
     {58247, 58363, 0},
     {65450, 0, 0},
@@ -865,32 +1045,41 @@ const CodepointsWithSameUpperCaseInfo un
     {54793, 0, 0},
     {61722, 0, 0},
     {54809, 0, 0},
     {54756, 0, 0},
     {54787, 0, 0},
     {54753, 0, 0},
     {54754, 0, 0},
     {54721, 0, 0},
+    {30270, 1, 0},
+    {30269, 0, 0},
     {30204, 0, 0},
     {23256, 0, 0},
     {23228, 0, 0},
+    {23217, 0, 0},
+    {23221, 0, 0},
+    {23231, 0, 0},
+    {23278, 0, 0},
+    {23254, 0, 0},
+    {23275, 0, 0},
+    {928, 0, 0},
 };
 
 const uint8_t unicode::codepoints_with_same_upper_index1[] = {
       0,   1,   2,   3,   4,   5,   6,   7,   8,   9,   0,   0,   0,  10,  11,  12,  13,  14,
      15,  16,  17,  18,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  19,  20,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,  21,  22,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  21,  22,  23,  21,  24,  25,
-     26,  27,   0,   0,   0,   0,  28,  29,  30,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,  31,  32,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  33,  34,  21,  35,
+      0,   0,   0,   0,   0,   0,  23,   0,   0,   0,   0,   0,  24,  25,  26,  24,  27,  28,
+     29,  30,   0,   0,   0,   0,  31,  32,  33,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,  34,  35,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  36,  37,  24,  38,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
@@ -907,18 +1096,18 @@ const uint8_t unicode::codepoints_with_s
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  36,
-     37,   0,  38,  39,  40,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  39,
+     40,   0,  41,  42,  43,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
@@ -927,17 +1116,17 @@ const uint8_t unicode::codepoints_with_s
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  41,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  44,   0,   0,   0,
 };
 
 const uint8_t unicode::codepoints_with_same_upper_index2[] = {
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   1,   1,   1,   1,   1,   1,   1,
       1,   2,   1,   1,   1,   1,   1,   1,   1,   1,   1,   3,   1,   1,   1,   1,   1,   1,
@@ -970,127 +1159,137 @@ const uint8_t unicode::codepoints_with_s
       7,   0,   7,   0,   7,   0,   0,   0,   0,   0,   0,   0,  31,   7,   0,  32,  33,   0,
       0,   7,   0,  34,  35,  36,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  37,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   7,   0,   7,   0,   0,   0,   7,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,  38,   0,  39,  39,  39,   0,  40,   0,  41,  41,
-      0,   1,  42,   1,   1,  43,   1,   1,  44,  45,  46,   1,  47,   1,   1,   1,  48,  49,
-      0,  50,   1,   1,  51,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,  52,   0,
-      0,  53,   0,   0,  54,  55,  56,   0,  57,   0,   0,   0,  58,  59,  26,  27,   0,   0,
-     60,   0,   0,   0,   0,   0,   0,   0,   0,  61,  62,  63,   0,   0,   0,  64,  65,   0,
+      0,  38,   0,   0,   0,   0,   0,   0,  39,   0,  40,  40,  40,   0,  41,   0,  42,  42,
+      0,   1,  43,   1,   1,  44,   1,   1,  45,  46,  47,   1,  48,   1,   1,   1,  49,  50,
+      0,  51,   1,   1,  52,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,  53,   0,
+      0,  54,   0,   0,  55,  56,  57,   0,  58,   0,   0,   0,  59,  60,  26,  27,   0,   0,
+     61,   0,   0,   0,   0,   0,   0,   0,   0,  62,  63,  64,   0,   0,   0,  65,  66,   0,
       7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,
-      7,   0,   7,   0,   7,   0,  66,  67,   0,   0,   0,  68,   0,   7,   0,  69,   7,   0,
-      0,  30,  30,  30,  70,  70,  70,  70,  70,  70,  70,  70,  70,  70,  70,  70,  70,  70,
-     70,  70,   1,   1,   1,   1,   1,   1,   1,   1,   1,   1,   1,   1,   1,   1,   1,   1,
-      1,   1,   1,   1,   1,   1,   1,   1,   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   7,   0,   7,   0,   7,   0,   7,   0,
+      7,   0,   7,   0,   7,   0,  67,  68,   0,   0,   0,  69,   0,   7,   0,  70,   7,   0,
+      0,  30,  30,  30,  71,  71,  71,  71,  71,  71,  71,  71,  71,  71,  71,  71,  71,  71,
+     71,  71,   1,   1,  72,   1,  73,   1,   1,   1,   1,   1,   1,   1,   1,   1,  74,   1,
+      1,  75,  76,   1,   1,   1,   1,   1,   1,   1,  77,   1,   1,   1,   1,   1,   0,   0,
+     78,   0,  79,   0,   0,   0,   0,   0,   0,   0,   0,   0,  80,   0,   0,  81,  82,   0,
+      0,   0,   0,   0,   0,   0,  83,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   7,   0,  84,  85,   7,   0,   7,   0,
       7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,
       7,   0,   7,   0,   7,   0,   7,   0,   0,   0,   0,   0,   0,   0,   0,   0,   7,   0,
       7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,
       7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,
-      7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,  71,   7,
+      7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,  86,   7,
       0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   0,   7,   0,   7,   0,
       7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,
       7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,
       7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,
       7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,
-      7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,  72,  72,  72,  72,  72,  72,  72,  72,  72,  72,  72,  72,  72,  72,  72,
-     72,  72,  72,  72,  72,  72,  72,  72,  72,  72,  72,  72,  72,  72,  72,  72,  72,  72,
-     72,  72,  72,  72,  72,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,  73,  73,  73,  73,  73,  73,  73,  73,  73,  73,  73,  73,
-     73,  73,  73,  73,  73,  73,  73,  73,  73,  73,  73,  73,  73,  73,  73,  73,  73,  73,
-     73,  73,  73,  73,  73,  73,  73,  73,   0,  73,   0,   0,   0,   0,   0,  73,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   7,   0,   7,   0,   7,   0,
-      7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,
-      7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,
-      7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,
-      7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,
       7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,
-     74,  75,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,
+      7,   0,   0,  87,  87,  87,  87,  87,  87,  87,  87,  87,  87,  87,  87,  87,  87,  87,
+     87,  87,  87,  87,  87,  87,  87,  87,  87,  87,  87,  87,  87,  87,  87,  87,  87,  87,
+     87,  87,  87,  87,  87,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,  88,  88,  88,  88,  88,  88,  88,  88,  88,  88,  88,  88,
+     88,  88,  88,  88,  88,  88,  88,  88,  88,  88,  88,  88,  88,  88,  88,  88,  88,  88,
+     88,  88,  88,  88,  88,  88,  88,  88,   0,  88,   0,   0,   0,   0,   0,  88,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,  89,  89,  89,  89,  89,  89,  89,  89,  89,  89,
+     89,  89,  89,  89,  89,  89,  89,  89,  89,  89,  89,  89,  89,  89,  89,  89,  89,  89,
+     89,  89,  89,  89,  89,  89,  89,  89,  89,  89,  89,  89,  89,  89,  89,  89,  89,  89,
+     89,  89,  89,  89,  89,  89,  89,  89,  89,  89,  89,  89,  89,  89,  89,  89,  89,  89,
+     89,  89,  89,  89,  89,  89,  89,  89,  89,  89,  89,  89,  89,  89,  89,  89,  62,  62,
+     62,  62,  62,  62,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  90,  91,  92,  93,
+     94,  95,  96,  97,  98,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,
+      7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,
+      7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,
       7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,
       7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,
-      0,   0,   0,   0,   0,  76,   0,   0,   0,   0,   7,   0,   7,   0,   7,   0,   7,   0,
+      7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,  99, 100,   7,   0,   7,   0,
+      7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,
+      7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,
+      7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   0,   0,   0,   0,   0, 101,
+      0,   0,   0,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,
       7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,
-      7,   0,   7,   0,   7,   0,   0,   0,   0,   0,   0,   0,   0,   0,  77,  77,  77,  77,
-     77,  77,  77,  77,   0,   0,   0,   0,   0,   0,   0,   0,  77,  77,  77,  77,  77,  77,
-      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  77,  77,  77,  77,  77,  77,  77,  77,
-      0,   0,   0,   0,   0,   0,   0,   0,  77,  77,  77,  77,  77,  77,  77,  77,   0,   0,
-      0,   0,   0,   0,   0,   0,  77,  77,  77,  77,  77,  77,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,  77,   0,  77,   0,  77,   0,  77,   0,   0,   0,   0,   0,   0,
-      0,   0,  77,  77,  77,  77,  77,  77,  77,  77,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  77,  77,
-     77,  77,  77,  77,  77,  77,   0,   0,   0,   0,   0,   0,   0,   0,  77,  77,  77,  77,
-     77,  77,  77,  77,   0,   0,   0,   0,   0,   0,   0,   0,  77,  77,  77,  77,  77,  77,
-     77,  77,   0,   0,   0,   0,   0,   0,   0,   0,  77,  77,  78,  78,  79,   0,  80,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,  81,  81,  81,  81,  79,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,  77,  77,  82,  82,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,  77,  77,  83,  83,  69,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,  84,  84,  85,  85,  79,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0, 102, 102, 102, 102, 102, 102, 102, 102,   0,   0,
+      0,   0,   0,   0,   0,   0, 102, 102, 102, 102, 102, 102,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0, 102, 102, 102, 102, 102, 102, 102, 102,   0,   0,   0,   0,   0,   0,
+      0,   0, 102, 102, 102, 102, 102, 102, 102, 102,   0,   0,   0,   0,   0,   0,   0,   0,
+    102, 102, 102, 102, 102, 102,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 102,
+      0, 102,   0, 102,   0, 102,   0,   0,   0,   0,   0,   0,   0,   0, 102, 102, 102, 102,
+    102, 102, 102, 102,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 102, 102, 102, 102, 102, 102, 102, 102,
+      0,   0,   0,   0,   0,   0,   0,   0, 102, 102, 102, 102, 102, 102, 102, 102,   0,   0,
+      0,   0,   0,   0,   0,   0, 102, 102, 102, 102, 102, 102, 102, 102,   0,   0,   0,   0,
+      0,   0,   0,   0, 102, 102, 103, 103, 104,   0, 105,   0,   0,   0,   0,   0,   0,   0,
+      0,   0, 106, 106, 106, 106, 104,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+    102, 102, 107, 107,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 102, 102,
+    108, 108,  70,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 109, 109, 110, 110,
+    104,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,  86,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+    111,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  87,  87,
-     87,  87,  87,  87,  87,  87,  87,  87,  87,  87,  87,  87,  87,  87,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   7,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 112, 112, 112, 112, 112, 112, 112, 112,
+    112, 112, 112, 112, 112, 112, 112, 112,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   7,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,  88,  88,  88,  88,  88,  88,  88,  88,  88,  88,  88,  88,  88,  88,
-     88,  88,  88,  88,  88,  88,  88,  88,  88,  88,  88,  88,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 113, 113,
+    113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
+    113, 113, 113, 113, 113, 113,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,  72,  72,  72,  72,  72,  72,  72,  72,  72,  72,  72,  72,
-     72,  72,  72,  72,  72,  72,  72,  72,  72,  72,  72,  72,  72,  72,  72,  72,  72,  72,
-     72,  72,  72,  72,  72,  72,  72,  72,  72,  72,  72,  72,  72,  72,  72,  72,  72,   0,
+     87,  87,  87,  87,  87,  87,  87,  87,  87,  87,  87,  87,  87,  87,  87,  87,  87,  87,
+     87,  87,  87,  87,  87,  87,  87,  87,  87,  87,  87,  87,  87,  87,  87,  87,  87,  87,
+     87,  87,  87,  87,  87,  87,  87,  87,  87,  87,  87,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   7,   0,  89,  90,  91,   0,
-      0,   7,   0,   7,   0,   7,   0,  92,  93,  94,  95,   0,   7,   0,   0,   7,   0,   0,
-      0,   0,   0,   0,   0,   0,  96,  96,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,
+      0,   0,   0,   0,   0,   0,   7,   0, 114, 115, 116,   0,   0,   7,   0,   7,   0,   7,
+      0, 117, 118, 119, 120,   0,   7,   0,   0,   7,   0,   0,   0,   0,   0,   0,   0,   0,
+    121, 121,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,
       7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,
-      7,   0,   7,   0,   7,   0,   7,   0,   0,   0,   0,   0,   0,   0,   0,   7,   0,   7,
-      0,   0,   0,   0,   7,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,
+      7,   0,   0,   0,   0,   0,   0,   0,   0,   7,   0,   7,   0,   0,   0,   0,   7,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   7,   0,   7,   0,   7,   0,
+      7,   0,   7,   0, 122, 123,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,
       7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,
-      7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   7,   0,   7,   0,   7,   0,   7,   0,
-      7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   0,   0,
+      7,   0,   7,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,
+      7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   0,   0,   7,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   7,   0,   7,   0,   7,   0,
+      7,   0,   7,   0,   7,   0,   7,   0,   0,   0,   7,   0,   7,   0,   7,   0,   7,   0,
       7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,
       7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,
       7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,
-      7,   0,   7,   0,   7,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   7,   0,   7,
-      0,  97,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   0,   0,   0,   7,   0,  98,
-      0,   0,   7,   0,   7,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      7,   0,   7,   0,   7,   0,   7,   0,   7,   0,  99,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   7,   0,   7,   0, 124,   7,   0,   7,   0,
+      7,   0,   7,   0,   7,   0,   0,   0,   0,   7,   0, 125,   0,   0,   7,   0,   7,   0,
+      0,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,   7,   0,
+      7,   0,   7,   0, 126, 127, 128, 129, 126,   0, 130, 131, 132, 133,   7,   0,   7,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   1,   1,   1,   1,   1,   1,   1,
-      1,   1,   1,   1,   1,   1,   1,   1,   1,   1,   1,   1,   1,   1,   1,   1,   1,   1,
-      1,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   1,   1,   1,   1,   1,   1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,
 };
 
 const FoldingInfo unicode::js_foldinfo[] = {
     {0, 0, 0, 0},
     {32, 0, 0, 0},
     {32, 8415, 0, 0},
     {32, 300, 0, 0},
     {0, 65504, 0, 0},
@@ -1209,25 +1408,48 @@ const FoldingInfo unicode::js_foldinfo[]
     {65482, 65450, 0, 0},
     {65488, 65456, 0, 0},
     {0, 7, 0, 0},
     {0, 65420, 0, 0},
     {65476, 65444, 65501, 0},
     {65472, 65440, 0, 0},
     {65529, 0, 0, 0},
     {80, 0, 0, 0},
+    {32, 6254, 0, 0},
+    {32, 6253, 0, 0},
+    {32, 6244, 0, 0},
+    {32, 6242, 0, 0},
+    {32, 6242, 6243, 0},
+    {32, 6236, 0, 0},
+    {0, 65504, 6222, 0},
+    {0, 65504, 6221, 0},
+    {0, 65504, 6212, 0},
+    {0, 65504, 6210, 0},
+    {0, 65504, 6210, 6211},
+    {0, 65504, 6204, 0},
     {0, 65456, 0, 0},
+    {1, 6181, 0, 0},
+    {0, 65535, 6180, 0},
     {15, 0, 0, 0},
     {0, 65521, 0, 0},
     {48, 0, 0, 0},
     {0, 65488, 0, 0},
     {7264, 0, 0, 0},
     {0, 38864, 0, 0},
     {0, 8, 0, 0},
     {65528, 0, 0, 0},
+    {59314, 59282, 0, 0},
+    {59315, 59283, 0, 0},
+    {59324, 59292, 0, 0},
+    {59326, 59294, 0, 0},
+    {59326, 59294, 1, 0},
+    {59325, 59293, 65535, 0},
+    {59332, 59300, 0, 0},
+    {59356, 59355, 0, 0},
+    {35267, 35266, 0, 0},
     {0, 35332, 0, 0},
     {0, 3814, 0, 0},
     {1, 59, 0, 0},
     {0, 65535, 58, 0},
     {65478, 65477, 0, 0},
     {57921, 0, 0, 0},
     {0, 74, 0, 0},
     {0, 86, 0, 0},
@@ -1259,16 +1481,18 @@ const FoldingInfo unicode::js_foldinfo[]
     {0, 54741, 0, 0},
     {0, 54744, 0, 0},
     {54756, 0, 0, 0},
     {54787, 0, 0, 0},
     {54753, 0, 0, 0},
     {54754, 0, 0, 0},
     {54721, 0, 0, 0},
     {0, 58272, 0, 0},
+    {1, 30270, 0, 0},
+    {0, 30269, 65535, 0},
     {30204, 0, 0, 0},
     {23256, 0, 0, 0},
     {23228, 0, 0, 0},
     {23217, 0, 0, 0},
     {23221, 0, 0, 0},
     {23231, 0, 0, 0},
     {23278, 0, 0, 0},
     {23254, 0, 0, 0},
@@ -1280,21 +1504,21 @@ const FoldingInfo unicode::js_foldinfo[]
 
 const uint8_t unicode::folding_index1[] = {
       0,   1,   2,   3,   4,   5,   6,   7,   8,   9,  10,   0,   0,  11,  12,  13,  14,  15,
      16,  17,  18,  19,  20,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  21,  22,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,  23,  24,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,   0,  25,   0,   0,  26,  27,  28,  26,  29,  30,
-     31,  32,   0,   0,   0,   0,  33,  34,  35,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,  36,  37,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  38,  39,  26,  40,
-     41,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,  25,   0,   0,  26,   0,   0,  27,  28,  29,  27,  30,  31,
+     32,  33,   0,   0,   0,   0,  34,  35,  36,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,  37,  38,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  39,  40,  27,  41,
+     42,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
@@ -1310,19 +1534,19 @@ const uint8_t unicode::folding_index1[] 
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  42,
-     43,   0,  44,  45,  46,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,  47,  48,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  43,
+     44,   0,  45,  46,  47,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,  48,  49,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
@@ -1330,17 +1554,17 @@ const uint8_t unicode::folding_index1[] 
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  49,  50,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  50,  51,   0,   0,
 };
 
 const uint8_t unicode::folding_index2[] = {
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   1,   1,   1,   1,   1,   1,   1,
       1,   1,   1,   2,   1,   1,   1,   1,   1,   1,   1,   3,   1,   1,   1,   1,   1,   1,
@@ -1368,159 +1592,162 @@ const uint8_t unicode::folding_index2[] 
      13,  12,  13,  12,  13,  12,  13,  12,  13,  38,  12,  13,  12,  13,  12,  13,  12,  13,
      12,  13,  12,  13,  12,  13,  12,  13,  12,  13,   0,  35,  36,  37,  12,  13,  39,  40,
      12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,
      12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,
      12,  13,  12,  13,  41,   0,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,
      12,  13,  12,  13,  12,  13,   0,   0,   0,   0,   0,   0,  42,  12,  13,  43,  44,  45,
      45,  12,  13,  46,  47,  48,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  49,  50,
      51,  52,  53,   0,  54,  54,   0,  55,   0,  56,  57,   0,   0,   0,  54,  58,   0,  59,
-      0,  60,  61,   0,  62,  63,   0,  64,  65,   0,   0,  63,   0,  66,  67,   0,   0,  68,
+      0,  60,  61,   0,  62,  63,  61,  64,  65,   0,   0,  63,   0,  66,  67,   0,   0,  68,
       0,   0,   0,   0,   0,   0,   0,  69,   0,   0,  70,   0,   0,  70,   0,   0,   0,  71,
      70,  72,  73,  73,  74,   0,   0,   0,   0,   0,  75,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,  76,  77,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,  78,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  12,  13,  12,  13,
       0,   0,  12,  13,   0,   0,   0,  29,  29,  29,   0,  79,   0,   0,   0,   0,   0,   0,
      80,   0,  81,  81,  81,   0,  82,   0,  83,  83,   0,   1,  84,   1,   1,  85,   1,   1,
      86,  87,  88,   1,  89,   1,   1,   1,  90,  91,   0,  92,   1,   1,  93,   1,   1,  94,
       1,   1,  95,  96,  96,  96,   0,   4,  97,   4,   4,  98,   4,   4,  99, 100, 101,   4,
     102,   4,   4,   4, 103, 104, 105, 106,   4,   4, 107,   4,   4, 108,   4,   4, 109, 110,
     110, 111, 112, 113,   0,   0,   0, 114, 115, 116,  12,  13,  12,  13,  12,  13,  12,  13,
      12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13, 117, 118,
     119, 120, 121, 122,   0,  12,  13, 123,  12,  13,   0,  41,  41,  41, 124, 124, 124, 124,
-    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,   1,   1,   1,   1,   1,   1,
-      1,   1,   1,   1,   1,   1,   1,   1,   1,   1,   1,   1,   1,   1,   1,   1,   1,   1,
-      1,   1,   1,   1,   1,   1,   1,   1,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,
-      4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,
-      4,   4,   4,   4, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
-    125, 125,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,   1,   1, 125,   1, 126,   1,
+      1,   1,   1,   1,   1,   1,   1,   1, 127,   1,   1, 128, 129,   1,   1,   1,   1,   1,
+      1,   1, 130,   1,   1,   1,   1,   1,   4,   4, 131,   4, 132,   4,   4,   4,   4,   4,
+      4,   4,   4,   4, 133,   4,   4, 134, 135,   4,   4,   4,   4,   4,   4,   4, 136,   4,
+      4,   4,   4,   4, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137,
+    137, 137,  12,  13, 138, 139,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,
      12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,
       0,   0,   0,   0,   0,   0,   0,   0,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,
      12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,
      12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,
-     12,  13,  12,  13,  12,  13,  12,  13, 126,  12,  13,  12,  13,  12,  13,  12,  13,  12,
-     13,  12,  13,  12,  13, 127,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,
+     12,  13,  12,  13,  12,  13,  12,  13, 140,  12,  13,  12,  13,  12,  13,  12,  13,  12,
+     13,  12,  13,  12,  13, 141,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,
      12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,
      12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,
      12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,
      12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,
-     12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,   0, 128, 128, 128, 128, 128,
-    128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
-    128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
-    129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
-    129, 129, 129, 129, 129, 129, 129, 129, 129,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
-    130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
-    130, 130, 130, 130, 130, 130, 130, 130, 130, 130,   0, 130,   0,   0,   0,   0,   0, 130,
+     12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,   0, 142, 142, 142, 142, 142,
+    142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142,
+    142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143,
+    143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143,
+    143, 143, 143, 143, 143, 143, 143, 143, 143,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 131, 131, 131, 131, 131, 131, 131, 131,
-    131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131,
-    131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131,
-    131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131,
-    131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131,
-    132, 132, 132, 132, 132, 132,   0,   0, 133, 133, 133, 133, 133, 133,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
+    144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
+    144, 144, 144, 144, 144, 144, 144, 144, 144, 144,   0, 144,   0,   0,   0,   0,   0, 144,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0, 134,   0,   0,   0, 135,   0,   0,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,
-     12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,
-     12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,
-     12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,
-     12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,
-     12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13, 136, 137,  12,  13,
-     12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,
-     12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,
-     12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,   0,   0,   0,   0,
-      0, 138,   0,   0, 139,   0,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,
-     12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,
-     12,  13, 132, 132, 132, 132, 132, 132, 132, 132, 133, 133, 133, 133, 133, 133, 133, 133,
-    132, 132, 132, 132, 132, 132,   0,   0, 133, 133, 133, 133, 133, 133,   0,   0, 132, 132,
-    132, 132, 132, 132, 132, 132, 133, 133, 133, 133, 133, 133, 133, 133, 132, 132, 132, 132,
-    132, 132, 132, 132, 133, 133, 133, 133, 133, 133, 133, 133, 132, 132, 132, 132, 132, 132,
-      0,   0, 133, 133, 133, 133, 133, 133,   0,   0,   0, 132,   0, 132,   0, 132,   0, 132,
-      0, 133,   0, 133,   0, 133,   0, 133, 132, 132, 132, 132, 132, 132, 132, 132, 133, 133,
-    133, 133, 133, 133, 133, 133, 140, 140, 141, 141, 141, 141, 142, 142, 143, 143, 144, 144,
-    145, 145,   0,   0, 132, 132, 132, 132, 132, 132, 132, 132, 133, 133, 133, 133, 133, 133,
-    133, 133, 132, 132, 132, 132, 132, 132, 132, 132, 133, 133, 133, 133, 133, 133, 133, 133,
-    132, 132, 132, 132, 132, 132, 132, 132, 133, 133, 133, 133, 133, 133, 133, 133, 132, 132,
-      0, 146,   0,   0,   0,   0, 133, 133, 147, 147, 148,   0, 149,   0,   0,   0,   0, 146,
-      0,   0,   0,   0, 150, 150, 150, 150, 148,   0,   0,   0, 132, 132,   0,   0,   0,   0,
-      0,   0, 133, 133, 151, 151,   0,   0,   0,   0, 132, 132,   0,   0,   0, 119,   0,   0,
-    133, 133, 152, 152, 123,   0,   0,   0,   0,   0,   0, 146,   0,   0,   0,   0, 153, 153,
-    154, 154, 148,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0, 155,   0,   0,   0, 156, 157,   0,   0,   0,   0,
-      0,   0, 158,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 159,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 160, 160, 160, 160, 160, 160,
-    160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 161, 161, 161, 161, 161, 161, 161, 161,
-    161, 161, 161, 161, 161, 161, 161, 161,   0,   0,   0,  12,  13,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 145, 145, 145, 145, 145, 145, 145, 145,
+    145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
+    145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
+    145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
+    145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
+    146, 146, 146, 146, 146, 146,   0,   0, 147, 147, 147, 147, 147, 147,   0,   0, 148, 149,
+    150, 151, 152, 153, 154, 155, 156,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-    162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
-    162, 162, 162, 162, 162, 162, 162, 162, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163,
-    163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 157,   0,   0,   0, 158,   0,   0,
+     12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,
+     12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,
+     12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,
+     12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,
+     12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,
+     12,  13,  12,  13,  12,  13, 159, 160,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,
+     12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,
+     12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,
+     12,  13,  12,  13,  12,  13,   0,   0,   0,   0,   0, 161,   0,   0, 162,   0,  12,  13,
+     12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,
+     12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13, 146, 146, 146, 146, 146, 146,
+    146, 146, 147, 147, 147, 147, 147, 147, 147, 147, 146, 146, 146, 146, 146, 146,   0,   0,
+    147, 147, 147, 147, 147, 147,   0,   0, 146, 146, 146, 146, 146, 146, 146, 146, 147, 147,
+    147, 147, 147, 147, 147, 147, 146, 146, 146, 146, 146, 146, 146, 146, 147, 147, 147, 147,
+    147, 147, 147, 147, 146, 146, 146, 146, 146, 146,   0,   0, 147, 147, 147, 147, 147, 147,
+      0,   0,   0, 146,   0, 146,   0, 146,   0, 146,   0, 147,   0, 147,   0, 147,   0, 147,
+    146, 146, 146, 146, 146, 146, 146, 146, 147, 147, 147, 147, 147, 147, 147, 147, 163, 163,
+    164, 164, 164, 164, 165, 165, 166, 166, 167, 167, 168, 168,   0,   0, 146, 146, 146, 146,
+    146, 146, 146, 146, 147, 147, 147, 147, 147, 147, 147, 147, 146, 146, 146, 146, 146, 146,
+    146, 146, 147, 147, 147, 147, 147, 147, 147, 147, 146, 146, 146, 146, 146, 146, 146, 146,
+    147, 147, 147, 147, 147, 147, 147, 147, 146, 146,   0, 169,   0,   0,   0,   0, 147, 147,
+    170, 170, 171,   0, 172,   0,   0,   0,   0, 169,   0,   0,   0,   0, 173, 173, 173, 173,
+    171,   0,   0,   0, 146, 146,   0,   0,   0,   0,   0,   0, 147, 147, 174, 174,   0,   0,
+      0,   0, 146, 146,   0,   0,   0, 119,   0,   0, 147, 147, 175, 175, 123,   0,   0,   0,
+      0,   0,   0, 169,   0,   0,   0,   0, 176, 176, 177, 177, 171,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
-    128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
-    128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,   0, 129, 129, 129, 129,
-    129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
-    129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
-    129, 129, 129, 129, 129, 129, 129,   0,  12,  13, 164, 165, 166, 167, 168,  12,  13,  12,
-     13,  12,  13, 169, 170, 171, 172,   0,  12,  13,   0,  12,  13,   0,   0,   0,   0,   0,
-      0,   0, 173, 173,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,
-     12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,
-     12,  13,  12,  13,   0,   0,   0,   0,   0,   0,   0,  12,  13,  12,  13,   0,   0,   0,
-     12,  13,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 174, 174, 174, 174,
-    174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-    174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,   0, 174,
-      0,   0,   0,   0,   0, 174,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,
-     12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,
-     12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  12,  13,
-     12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,
-     12,  13,  12,  13,  12,  13,  12,  13,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+    178,   0,   0,   0, 179, 180,   0,   0,   0,   0,   0,   0, 181,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0, 182,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
+    183, 183, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
+      0,   0,   0,  12,  13,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,
-     12,  13,   0,   0,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 185, 185, 185, 185, 185, 185, 185, 185,
+    185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
+    186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+    186, 186, 186, 186, 186, 186, 186, 186,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 142, 142, 142, 142, 142, 142,
+    142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142,
+    142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142,
+    142, 142, 142, 142, 142,   0, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143,
+    143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143,
+    143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143,   0,
+     12,  13, 187, 188, 189, 190, 191,  12,  13,  12,  13,  12,  13, 192, 193, 194, 195,   0,
+     12,  13,   0,  12,  13,   0,   0,   0,   0,   0,   0,   0, 196, 196,  12,  13,  12,  13,
+     12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,
+     12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,   0,   0,   0,   0,
+      0,   0,   0,  12,  13,  12,  13,   0,   0,   0,  12,  13,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197,
+    197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197,
+    197, 197, 197, 197, 197, 197, 197, 197,   0, 197,   0,   0,   0,   0,   0, 197,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  12,  13,
+     12,  13,  12,  13,  12,  13,  12,  13, 198, 199,  12,  13,  12,  13,  12,  13,  12,  13,
+     12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,
+     12,  13,  12,  13,  12,  13,  12,  13,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,
+     12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  12,  13,
+     12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,   0,   0,  12,  13,  12,  13,
      12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,
      12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,
-     12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,  12,  13,  12,  13, 175,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,
-      0,   0,   0,  12,  13, 176,   0,   0,  12,  13,  12,  13,   0,   0,  12,  13,  12,  13,
-     12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13, 177, 178,
-    179, 180,   0,   0, 181, 182, 183, 184,  12,  13,  12,  13,   0,   0,   0,   0,   0,   0,
+     12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,
+     12,  13,  12,  13,   0,   0,   0,   0,   0,   0,   0,   0,   0,  12,  13,  12,  13, 200,
+     12,  13,  12,  13,  12,  13,  12,  13,  12,  13,   0,   0,   0,  12,  13, 201,   0,   0,
+     12,  13,  12,  13,   0,   0,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,  12,  13,
+     12,  13,  12,  13,  12,  13,  12,  13, 202, 203, 204, 205, 202,   0, 206, 207, 208, 209,
+     12,  13,  12,  13,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 210,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0, 185,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 186, 186, 186, 186,
-    186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
-    186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
-    186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
-    186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
-    186, 186, 186, 186,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211,
+    211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211,
+    211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211,
+    211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211,
+    211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   1,   1,   1,   1,   1,   1,   1,   1,   1,   1,   1,   1,   1,   1,   1,   1,   1,
-      1,   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,   4,   4,   4,
-      4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,
-      4,   4,   4,   4,   4,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   1,   1,   1,   1,   1,   1,   1,   1,   1,   1,   1,
+      1,   0,   0,   0,   0,   0,   0,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,
+      4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   4,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
 };
 
 
--- a/js/src/vm/UnicodeData.txt
+++ b/js/src/vm/UnicodeData.txt
@@ -597,33 +597,33 @@ 0253;LATIN SMALL LETTER B WITH HOOK;Ll;0
 0254;LATIN SMALL LETTER OPEN O;Ll;0;L;;;;;N;;;0186;;0186
 0255;LATIN SMALL LETTER C WITH CURL;Ll;0;L;;;;;N;LATIN SMALL LETTER C CURL;;;;
 0256;LATIN SMALL LETTER D WITH TAIL;Ll;0;L;;;;;N;LATIN SMALL LETTER D RETROFLEX HOOK;;0189;;0189
 0257;LATIN SMALL LETTER D WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER D HOOK;;018A;;018A
 0258;LATIN SMALL LETTER REVERSED E;Ll;0;L;;;;;N;;;;;
 0259;LATIN SMALL LETTER SCHWA;Ll;0;L;;;;;N;;;018F;;018F
 025A;LATIN SMALL LETTER SCHWA WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER SCHWA HOOK;;;;
 025B;LATIN SMALL LETTER OPEN E;Ll;0;L;;;;;N;LATIN SMALL LETTER EPSILON;;0190;;0190
-025C;LATIN SMALL LETTER REVERSED OPEN E;Ll;0;L;;;;;N;LATIN SMALL LETTER REVERSED EPSILON;;;;
+025C;LATIN SMALL LETTER REVERSED OPEN E;Ll;0;L;;;;;N;LATIN SMALL LETTER REVERSED EPSILON;;A7AB;;A7AB
 025D;LATIN SMALL LETTER REVERSED OPEN E WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER REVERSED EPSILON HOOK;;;;
 025E;LATIN SMALL LETTER CLOSED REVERSED OPEN E;Ll;0;L;;;;;N;LATIN SMALL LETTER CLOSED REVERSED EPSILON;;;;
 025F;LATIN SMALL LETTER DOTLESS J WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER DOTLESS J BAR;;;;
 0260;LATIN SMALL LETTER G WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER G HOOK;;0193;;0193
-0261;LATIN SMALL LETTER SCRIPT G;Ll;0;L;;;;;N;;;;;
+0261;LATIN SMALL LETTER SCRIPT G;Ll;0;L;;;;;N;;;A7AC;;A7AC
 0262;LATIN LETTER SMALL CAPITAL G;Ll;0;L;;;;;N;;;;;
 0263;LATIN SMALL LETTER GAMMA;Ll;0;L;;;;;N;;;0194;;0194
 0264;LATIN SMALL LETTER RAMS HORN;Ll;0;L;;;;;N;LATIN SMALL LETTER BABY GAMMA;;;;
 0265;LATIN SMALL LETTER TURNED H;Ll;0;L;;;;;N;;;A78D;;A78D
 0266;LATIN SMALL LETTER H WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER H HOOK;;A7AA;;A7AA
 0267;LATIN SMALL LETTER HENG WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER HENG HOOK;;;;
 0268;LATIN SMALL LETTER I WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER BARRED I;;0197;;0197
 0269;LATIN SMALL LETTER IOTA;Ll;0;L;;;;;N;;;0196;;0196
-026A;LATIN LETTER SMALL CAPITAL I;Ll;0;L;;;;;N;;;;;
+026A;LATIN LETTER SMALL CAPITAL I;Ll;0;L;;;;;N;;;A7AE;;A7AE
 026B;LATIN SMALL LETTER L WITH MIDDLE TILDE;Ll;0;L;;;;;N;;;2C62;;2C62
-026C;LATIN SMALL LETTER L WITH BELT;Ll;0;L;;;;;N;LATIN SMALL LETTER L BELT;;;;
+026C;LATIN SMALL LETTER L WITH BELT;Ll;0;L;;;;;N;LATIN SMALL LETTER L BELT;;A7AD;;A7AD
 026D;LATIN SMALL LETTER L WITH RETROFLEX HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER L RETROFLEX HOOK;;;;
 026E;LATIN SMALL LETTER LEZH;Ll;0;L;;;;;N;LATIN SMALL LETTER L YOGH;;;;
 026F;LATIN SMALL LETTER TURNED M;Ll;0;L;;;;;N;;;019C;;019C
 0270;LATIN SMALL LETTER TURNED M WITH LONG LEG;Ll;0;L;;;;;N;;;;;
 0271;LATIN SMALL LETTER M WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER M HOOK;;2C6E;;2C6E
 0272;LATIN SMALL LETTER N WITH LEFT HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER N HOOK;;019D;;019D
 0273;LATIN SMALL LETTER N WITH RETROFLEX HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER N RETROFLEX HOOK;;;;
 0274;LATIN LETTER SMALL CAPITAL N;Ll;0;L;;;;;N;;;;;
@@ -640,17 +640,17 @@ 027E;LATIN SMALL LETTER R WITH FISHHOOK;
 027F;LATIN SMALL LETTER REVERSED R WITH FISHHOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER REVERSED FISHHOOK R;;;;
 0280;LATIN LETTER SMALL CAPITAL R;Ll;0;L;;;;;N;;;01A6;;01A6
 0281;LATIN LETTER SMALL CAPITAL INVERTED R;Ll;0;L;;;;;N;;;;;
 0282;LATIN SMALL LETTER S WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER S HOOK;;;;
 0283;LATIN SMALL LETTER ESH;Ll;0;L;;;;;N;;;01A9;;01A9
 0284;LATIN SMALL LETTER DOTLESS J WITH STROKE AND HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER DOTLESS J BAR HOOK;;;;
 0285;LATIN SMALL LETTER SQUAT REVERSED ESH;Ll;0;L;;;;;N;;;;;
 0286;LATIN SMALL LETTER ESH WITH CURL;Ll;0;L;;;;;N;LATIN SMALL LETTER ESH CURL;;;;
-0287;LATIN SMALL LETTER TURNED T;Ll;0;L;;;;;N;;;;;
+0287;LATIN SMALL LETTER TURNED T;Ll;0;L;;;;;N;;;A7B1;;A7B1
 0288;LATIN SMALL LETTER T WITH RETROFLEX HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER T RETROFLEX HOOK;;01AE;;01AE
 0289;LATIN SMALL LETTER U BAR;Ll;0;L;;;;;N;;;0244;;0244
 028A;LATIN SMALL LETTER UPSILON;Ll;0;L;;;;;N;;;01B1;;01B1
 028B;LATIN SMALL LETTER V WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER SCRIPT V;;01B2;;01B2
 028C;LATIN SMALL LETTER TURNED V;Ll;0;L;;;;;N;;;0245;;0245
 028D;LATIN SMALL LETTER TURNED W;Ll;0;L;;;;;N;;;;;
 028E;LATIN SMALL LETTER TURNED Y;Ll;0;L;;;;;N;;;;;
 028F;LATIN LETTER SMALL CAPITAL Y;Ll;0;L;;;;;N;;;;;
@@ -662,18 +662,18 @@ 0294;LATIN LETTER GLOTTAL STOP;Lo;0;L;;;
 0295;LATIN LETTER PHARYNGEAL VOICED FRICATIVE;Ll;0;L;;;;;N;LATIN LETTER REVERSED GLOTTAL STOP;;;;
 0296;LATIN LETTER INVERTED GLOTTAL STOP;Ll;0;L;;;;;N;;;;;
 0297;LATIN LETTER STRETCHED C;Ll;0;L;;;;;N;;;;;
 0298;LATIN LETTER BILABIAL CLICK;Ll;0;L;;;;;N;LATIN LETTER BULLSEYE;;;;
 0299;LATIN LETTER SMALL CAPITAL B;Ll;0;L;;;;;N;;;;;
 029A;LATIN SMALL LETTER CLOSED OPEN E;Ll;0;L;;;;;N;LATIN SMALL LETTER CLOSED EPSILON;;;;
 029B;LATIN LETTER SMALL CAPITAL G WITH HOOK;Ll;0;L;;;;;N;LATIN LETTER SMALL CAPITAL G HOOK;;;;
 029C;LATIN LETTER SMALL CAPITAL H;Ll;0;L;;;;;N;;;;;
-029D;LATIN SMALL LETTER J WITH CROSSED-TAIL;Ll;0;L;;;;;N;LATIN SMALL LETTER CROSSED-TAIL J;;;;
-029E;LATIN SMALL LETTER TURNED K;Ll;0;L;;;;;N;;;;;
+029D;LATIN SMALL LETTER J WITH CROSSED-TAIL;Ll;0;L;;;;;N;LATIN SMALL LETTER CROSSED-TAIL J;;A7B2;;A7B2
+029E;LATIN SMALL LETTER TURNED K;Ll;0;L;;;;;N;;;A7B0;;A7B0
 029F;LATIN LETTER SMALL CAPITAL L;Ll;0;L;;;;;N;;;;;
 02A0;LATIN SMALL LETTER Q WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER Q HOOK;;;;
 02A1;LATIN LETTER GLOTTAL STOP WITH STROKE;Ll;0;L;;;;;N;LATIN LETTER GLOTTAL STOP BAR;;;;
 02A2;LATIN LETTER REVERSED GLOTTAL STOP WITH STROKE;Ll;0;L;;;;;N;LATIN LETTER REVERSED GLOTTAL STOP BAR;;;;
 02A3;LATIN SMALL LETTER DZ DIGRAPH;Ll;0;L;;;;;N;LATIN SMALL LETTER D Z;;;;
 02A4;LATIN SMALL LETTER DEZH DIGRAPH;Ll;0;L;;;;;N;LATIN SMALL LETTER D YOGH;;;;
 02A5;LATIN SMALL LETTER DZ DIGRAPH WITH CURL;Ll;0;L;;;;;N;LATIN SMALL LETTER D Z CURL;;;;
 02A6;LATIN SMALL LETTER TS DIGRAPH;Ll;0;L;;;;;N;LATIN SMALL LETTER T S;;;;
@@ -886,16 +886,17 @@ 0374;GREEK NUMERAL SIGN;Lm;0;ON;02B9;;;;
 0375;GREEK LOWER NUMERAL SIGN;Sk;0;ON;;;;;N;;;;;
 0376;GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA;Lu;0;L;;;;;N;;;;0377;
 0377;GREEK SMALL LETTER PAMPHYLIAN DIGAMMA;Ll;0;L;;;;;N;;;0376;;0376
 037A;GREEK YPOGEGRAMMENI;Lm;0;L;<compat> 0020 0345;;;;N;GREEK SPACING IOTA BELOW;;;;
 037B;GREEK SMALL REVERSED LUNATE SIGMA SYMBOL;Ll;0;L;;;;;N;;;03FD;;03FD
 037C;GREEK SMALL DOTTED LUNATE SIGMA SYMBOL;Ll;0;L;;;;;N;;;03FE;;03FE
 037D;GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL;Ll;0;L;;;;;N;;;03FF;;03FF
 037E;GREEK QUESTION MARK;Po;0;ON;003B;;;;N;;;;;
+037F;GREEK CAPITAL LETTER YOT;Lu;0;L;;;;;N;;;;03F3;
 0384;GREEK TONOS;Sk;0;ON;<compat> 0020 0301;;;;N;GREEK SPACING TONOS;;;;
 0385;GREEK DIALYTIKA TONOS;Sk;0;ON;00A8 0301;;;;N;GREEK SPACING DIAERESIS TONOS;;;;
 0386;GREEK CAPITAL LETTER ALPHA WITH TONOS;Lu;0;L;0391 0301;;;;N;GREEK CAPITAL LETTER ALPHA TONOS;;;03AC;
 0387;GREEK ANO TELEIA;Po;0;ON;00B7;;;;N;;;;;
 0388;GREEK CAPITAL LETTER EPSILON WITH TONOS;Lu;0;L;0395 0301;;;;N;GREEK CAPITAL LETTER EPSILON TONOS;;;03AD;
 0389;GREEK CAPITAL LETTER ETA WITH TONOS;Lu;0;L;0397 0301;;;;N;GREEK CAPITAL LETTER ETA TONOS;;;03AE;
 038A;GREEK CAPITAL LETTER IOTA WITH TONOS;Lu;0;L;0399 0301;;;;N;GREEK CAPITAL LETTER IOTA TONOS;;;03AF;
 038C;GREEK CAPITAL LETTER OMICRON WITH TONOS;Lu;0;L;039F 0301;;;;N;GREEK CAPITAL LETTER OMICRON TONOS;;;03CC;
@@ -994,17 +995,17 @@ 03EA;COPTIC CAPITAL LETTER GANGIA;Lu;0;L
 03EB;COPTIC SMALL LETTER GANGIA;Ll;0;L;;;;;N;GREEK SMALL LETTER GANGIA;;03EA;;03EA
 03EC;COPTIC CAPITAL LETTER SHIMA;Lu;0;L;;;;;N;GREEK CAPITAL LETTER SHIMA;;;03ED;
 03ED;COPTIC SMALL LETTER SHIMA;Ll;0;L;;;;;N;GREEK SMALL LETTER SHIMA;;03EC;;03EC
 03EE;COPTIC CAPITAL LETTER DEI;Lu;0;L;;;;;N;GREEK CAPITAL LETTER DEI;;;03EF;
 03EF;COPTIC SMALL LETTER DEI;Ll;0;L;;;;;N;GREEK SMALL LETTER DEI;;03EE;;03EE
 03F0;GREEK KAPPA SYMBOL;Ll;0;L;<compat> 03BA;;;;N;GREEK SMALL LETTER SCRIPT KAPPA;;039A;;039A
 03F1;GREEK RHO SYMBOL;Ll;0;L;<compat> 03C1;;;;N;GREEK SMALL LETTER TAILED RHO;;03A1;;03A1
 03F2;GREEK LUNATE SIGMA SYMBOL;Ll;0;L;<compat> 03C2;;;;N;GREEK SMALL LETTER LUNATE SIGMA;;03F9;;03F9
-03F3;GREEK LETTER YOT;Ll;0;L;;;;;N;;;;;
+03F3;GREEK LETTER YOT;Ll;0;L;;;;;N;;;037F;;037F
 03F4;GREEK CAPITAL THETA SYMBOL;Lu;0;L;<compat> 0398;;;;N;;;;03B8;
 03F5;GREEK LUNATE EPSILON SYMBOL;Ll;0;L;<compat> 03B5;;;;N;;;0395;;0395
 03F6;GREEK REVERSED LUNATE EPSILON SYMBOL;Sm;0;ON;;;;;N;;;;;
 03F7;GREEK CAPITAL LETTER SHO;Lu;0;L;;;;;N;;;;03F8;
 03F8;GREEK SMALL LETTER SHO;Ll;0;L;;;;;N;;;03F7;;03F7
 03F9;GREEK CAPITAL LUNATE SIGMA SYMBOL;Lu;0;L;<compat> 03A3;;;;N;;;;03F2;
 03FA;GREEK CAPITAL LETTER SAN;Lu;0;L;;;;;N;;;;03FB;
 03FB;GREEK SMALL LETTER SAN;Ll;0;L;;;;;N;;;03FA;;03FA
@@ -1303,16 +1304,24 @@ 051F;CYRILLIC SMALL LETTER ALEUT KA;Ll;0
 0520;CYRILLIC CAPITAL LETTER EL WITH MIDDLE HOOK;Lu;0;L;;;;;N;;;;0521;
 0521;CYRILLIC SMALL LETTER EL WITH MIDDLE HOOK;Ll;0;L;;;;;N;;;0520;;0520
 0522;CYRILLIC CAPITAL LETTER EN WITH MIDDLE HOOK;Lu;0;L;;;;;N;;;;0523;
 0523;CYRILLIC SMALL LETTER EN WITH MIDDLE HOOK;Ll;0;L;;;;;N;;;0522;;0522
 0524;CYRILLIC CAPITAL LETTER PE WITH DESCENDER;Lu;0;L;;;;;N;;;;0525;
 0525;CYRILLIC SMALL LETTER PE WITH DESCENDER;Ll;0;L;;;;;N;;;0524;;0524
 0526;CYRILLIC CAPITAL LETTER SHHA WITH DESCENDER;Lu;0;L;;;;;N;;;;0527;
 0527;CYRILLIC SMALL LETTER SHHA WITH DESCENDER;Ll;0;L;;;;;N;;;0526;;0526
+0528;CYRILLIC CAPITAL LETTER EN WITH LEFT HOOK;Lu;0;L;;;;;N;;;;0529;
+0529;CYRILLIC SMALL LETTER EN WITH LEFT HOOK;Ll;0;L;;;;;N;;;0528;;0528
+052A;CYRILLIC CAPITAL LETTER DZZHE;Lu;0;L;;;;;N;;;;052B;
+052B;CYRILLIC SMALL LETTER DZZHE;Ll;0;L;;;;;N;;;052A;;052A
+052C;CYRILLIC CAPITAL LETTER DCHE;Lu;0;L;;;;;N;;;;052D;
+052D;CYRILLIC SMALL LETTER DCHE;Ll;0;L;;;;;N;;;052C;;052C
+052E;CYRILLIC CAPITAL LETTER EL WITH DESCENDER;Lu;0;L;;;;;N;;;;052F;
+052F;CYRILLIC SMALL LETTER EL WITH DESCENDER;Ll;0;L;;;;;N;;;052E;;052E
 0531;ARMENIAN CAPITAL LETTER AYB;Lu;0;L;;;;;N;;;;0561;
 0532;ARMENIAN CAPITAL LETTER BEN;Lu;0;L;;;;;N;;;;0562;
 0533;ARMENIAN CAPITAL LETTER GIM;Lu;0;L;;;;;N;;;;0563;
 0534;ARMENIAN CAPITAL LETTER DA;Lu;0;L;;;;;N;;;;0564;
 0535;ARMENIAN CAPITAL LETTER ECH;Lu;0;L;;;;;N;;;;0565;
 0536;ARMENIAN CAPITAL LETTER ZA;Lu;0;L;;;;;N;;;;0566;
 0537;ARMENIAN CAPITAL LETTER EH;Lu;0;L;;;;;N;;;;0567;
 0538;ARMENIAN CAPITAL LETTER ET;Lu;0;L;;;;;N;;;;0568;
@@ -1389,16 +1398,18 @@ 0581;ARMENIAN SMALL LETTER CO;Ll;0;L;;;;
 0582;ARMENIAN SMALL LETTER YIWN;Ll;0;L;;;;;N;;;0552;;0552
 0583;ARMENIAN SMALL LETTER PIWR;Ll;0;L;;;;;N;;;0553;;0553
 0584;ARMENIAN SMALL LETTER KEH;Ll;0;L;;;;;N;;;0554;;0554
 0585;ARMENIAN SMALL LETTER OH;Ll;0;L;;;;;N;;;0555;;0555
 0586;ARMENIAN SMALL LETTER FEH;Ll;0;L;;;;;N;;;0556;;0556
 0587;ARMENIAN SMALL LIGATURE ECH YIWN;Ll;0;L;<compat> 0565 0582;;;;N;;;;;
 0589;ARMENIAN FULL STOP;Po;0;L;;;;;N;ARMENIAN PERIOD;;;;
 058A;ARMENIAN HYPHEN;Pd;0;ON;;;;;N;;;;;
+058D;RIGHT-FACING ARMENIAN ETERNITY SIGN;So;0;ON;;;;;N;;;;;
+058E;LEFT-FACING ARMENIAN ETERNITY SIGN;So;0;ON;;;;;N;;;;;
 058F;ARMENIAN DRAM SIGN;Sc;0;ET;;;;;N;;;;;
 0591;HEBREW ACCENT ETNAHTA;Mn;220;NSM;;;;;N;;;;;
 0592;HEBREW ACCENT SEGOL;Mn;230;NSM;;;;;N;;;;;
 0593;HEBREW ACCENT SHALSHELET;Mn;230;NSM;;;;;N;;;;;
 0594;HEBREW ACCENT ZAQEF QATAN;Mn;230;NSM;;;;;N;;;;;
 0595;HEBREW ACCENT ZAQEF GADOL;Mn;230;NSM;;;;;N;;;;;
 0596;HEBREW ACCENT TIPEHA;Mn;220;NSM;;;;;N;;;;;
 0597;HEBREW ACCENT REVIA;Mn;230;NSM;;;;;N;;;;;
@@ -1482,16 +1493,17 @@ 05F1;HEBREW LIGATURE YIDDISH VAV YOD;Lo;
 05F2;HEBREW LIGATURE YIDDISH DOUBLE YOD;Lo;0;R;;;;;N;HEBREW LETTER DOUBLE YOD;;;;
 05F3;HEBREW PUNCTUATION GERESH;Po;0;R;;;;;N;;;;;
 05F4;HEBREW PUNCTUATION GERSHAYIM;Po;0;R;;;;;N;;;;;
 0600;ARABIC NUMBER SIGN;Cf;0;AN;;;;;N;;;;;
 0601;ARABIC SIGN SANAH;Cf;0;AN;;;;;N;;;;;
 0602;ARABIC FOOTNOTE MARKER;Cf;0;AN;;;;;N;;;;;
 0603;ARABIC SIGN SAFHA;Cf;0;AN;;;;;N;;;;;
 0604;ARABIC SIGN SAMVAT;Cf;0;AN;;;;;N;;;;;
+0605;ARABIC NUMBER MARK ABOVE;Cf;0;AN;;;;;N;;;;;
 0606;ARABIC-INDIC CUBE ROOT;Sm;0;ON;;;;;N;;;;;
 0607;ARABIC-INDIC FOURTH ROOT;Sm;0;ON;;;;;N;;;;;
 0608;ARABIC RAY;Sm;0;AL;;;;;N;;;;;
 0609;ARABIC-INDIC PER MILLE SIGN;Po;0;ET;;;;;N;;;;;
 060A;ARABIC-INDIC PER TEN THOUSAND SIGN;Po;0;ET;;;;;N;;;;;
 060B;AFGHANI SIGN;Sc;0;AL;;;;;N;;;;;
 060C;ARABIC COMMA;Po;0;CS;;;;;N;;;;;
 060D;ARABIC DATE SEPARATOR;Po;0;AL;;;;;N;;;;;
@@ -1504,16 +1516,17 @@ 0613;ARABIC SIGN RADI ALLAHOU ANHU;Mn;23
 0614;ARABIC SIGN TAKHALLUS;Mn;230;NSM;;;;;N;;;;;
 0615;ARABIC SMALL HIGH TAH;Mn;230;NSM;;;;;N;;;;;
 0616;ARABIC SMALL HIGH LIGATURE ALEF WITH LAM WITH YEH;Mn;230;NSM;;;;;N;;;;;
 0617;ARABIC SMALL HIGH ZAIN;Mn;230;NSM;;;;;N;;;;;
 0618;ARABIC SMALL FATHA;Mn;30;NSM;;;;;N;;;;;
 0619;ARABIC SMALL DAMMA;Mn;31;NSM;;;;;N;;;;;
 061A;ARABIC SMALL KASRA;Mn;32;NSM;;;;;N;;;;;
 061B;ARABIC SEMICOLON;Po;0;AL;;;;;N;;;;;
+061C;ARABIC LETTER MARK;Cf;0;AL;;;;;N;;;;;
 061E;ARABIC TRIPLE DOT PUNCTUATION MARK;Po;0;AL;;;;;N;;;;;
 061F;ARABIC QUESTION MARK;Po;0;AL;;;;;N;;;;;
 0620;ARABIC LETTER KASHMIRI YEH;Lo;0;AL;;;;;N;;;;;
 0621;ARABIC LETTER HAMZA;Lo;0;AL;;;;;N;ARABIC LETTER HAMZAH;;;;
 0622;ARABIC LETTER ALEF WITH MADDA ABOVE;Lo;0;AL;0627 0653;;;;N;ARABIC LETTER MADDAH ON ALEF;;;;
 0623;ARABIC LETTER ALEF WITH HAMZA ABOVE;Lo;0;AL;0627 0654;;;;N;ARABIC LETTER HAMZAH ON ALEF;;;;
 0624;ARABIC LETTER WAW WITH HAMZA ABOVE;Lo;0;AL;0648 0654;;;;N;ARABIC LETTER HAMZAH ON WAW;;;;
 0625;ARABIC LETTER ALEF WITH HAMZA BELOW;Lo;0;AL;0627 0655;;;;N;ARABIC LETTER HAMZAH UNDER ALEF;;;;
@@ -2055,27 +2068,60 @@ 0855;MANDAIC LETTER AT;Lo;0;R;;;;;N;;;;;
 0856;MANDAIC LETTER DUSHENNA;Lo;0;R;;;;;N;;;;;
 0857;MANDAIC LETTER KAD;Lo;0;R;;;;;N;;;;;
 0858;MANDAIC LETTER AIN;Lo;0;R;;;;;N;;;;;
 0859;MANDAIC AFFRICATION MARK;Mn;220;NSM;;;;;N;;;;;
 085A;MANDAIC VOCALIZATION MARK;Mn;220;NSM;;;;;N;;;;;
 085B;MANDAIC GEMINATION MARK;Mn;220;NSM;;;;;N;;;;;
 085E;MANDAIC PUNCTUATION;Po;0;R;;;;;N;;;;;
 08A0;ARABIC LETTER BEH WITH SMALL V BELOW;Lo;0;AL;;;;;N;;;;;
+08A1;ARABIC LETTER BEH WITH HAMZA ABOVE;Lo;0;AL;;;;;N;;;;;
 08A2;ARABIC LETTER JEEM WITH TWO DOTS ABOVE;Lo;0;AL;;;;;N;;;;;
 08A3;ARABIC LETTER TAH WITH TWO DOTS ABOVE;Lo;0;AL;;;;;N;;;;;
 08A4;ARABIC LETTER FEH WITH DOT BELOW AND THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;;
 08A5;ARABIC LETTER QAF WITH DOT BELOW;Lo;0;AL;;;;;N;;;;;
 08A6;ARABIC LETTER LAM WITH DOUBLE BAR;Lo;0;AL;;;;;N;;;;;
 08A7;ARABIC LETTER MEEM WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;;
 08A8;ARABIC LETTER YEH WITH TWO DOTS BELOW AND HAMZA ABOVE;Lo;0;AL;;;;;N;;;;;
 08A9;ARABIC LETTER YEH WITH TWO DOTS BELOW AND DOT ABOVE;Lo;0;AL;;;;;N;;;;;
 08AA;ARABIC LETTER REH WITH LOOP;Lo;0;AL;;;;;N;;;;;
 08AB;ARABIC LETTER WAW WITH DOT WITHIN;Lo;0;AL;;;;;N;;;;;
 08AC;ARABIC LETTER ROHINGYA YEH;Lo;0;AL;;;;;N;;;;;
+08AD;ARABIC LETTER LOW ALEF;Lo;0;AL;;;;;N;;;;;
+08AE;ARABIC LETTER DAL WITH THREE DOTS BELOW;Lo;0;AL;;;;;N;;;;;
+08AF;ARABIC LETTER SAD WITH THREE DOTS BELOW;Lo;0;AL;;;;;N;;;;;
+08B0;ARABIC LETTER GAF WITH INVERTED STROKE;Lo;0;AL;;;;;N;;;;;
+08B1;ARABIC LETTER STRAIGHT WAW;Lo;0;AL;;;;;N;;;;;
+08B2;ARABIC LETTER ZAIN WITH INVERTED V ABOVE;Lo;0;AL;;;;;N;;;;;
+08B3;ARABIC LETTER AIN WITH THREE DOTS BELOW;Lo;0;AL;;;;;N;;;;;
+08B4;ARABIC LETTER KAF WITH DOT BELOW;Lo;0;AL;;;;;N;;;;;
+08B6;ARABIC LETTER BEH WITH SMALL MEEM ABOVE;Lo;0;AL;;;;;N;;;;;
+08B7;ARABIC LETTER PEH WITH SMALL MEEM ABOVE;Lo;0;AL;;;;;N;;;;;
+08B8;ARABIC LETTER TEH WITH SMALL TEH ABOVE;Lo;0;AL;;;;;N;;;;;
+08B9;ARABIC LETTER REH WITH SMALL NOON ABOVE;Lo;0;AL;;;;;N;;;;;
+08BA;ARABIC LETTER YEH WITH TWO DOTS BELOW AND SMALL NOON ABOVE;Lo;0;AL;;;;;N;;;;;
+08BB;ARABIC LETTER AFRICAN FEH;Lo;0;AL;;;;;N;;;;;
+08BC;ARABIC LETTER AFRICAN QAF;Lo;0;AL;;;;;N;;;;;
+08BD;ARABIC LETTER AFRICAN NOON;Lo;0;AL;;;;;N;;;;;
+08D4;ARABIC SMALL HIGH WORD AR-RUB;Mn;230;NSM;;;;;N;;;;;
+08D5;ARABIC SMALL HIGH SAD;Mn;230;NSM;;;;;N;;;;;
+08D6;ARABIC SMALL HIGH AIN;Mn;230;NSM;;;;;N;;;;;
+08D7;ARABIC SMALL HIGH QAF;Mn;230;NSM;;;;;N;;;;;
+08D8;ARABIC SMALL HIGH NOON WITH KASRA;Mn;230;NSM;;;;;N;;;;;
+08D9;ARABIC SMALL LOW NOON WITH KASRA;Mn;230;NSM;;;;;N;;;;;
+08DA;ARABIC SMALL HIGH WORD ATH-THALATHA;Mn;230;NSM;;;;;N;;;;;
+08DB;ARABIC SMALL HIGH WORD AS-SAJDA;Mn;230;NSM;;;;;N;;;;;
+08DC;ARABIC SMALL HIGH WORD AN-NISF;Mn;230;NSM;;;;;N;;;;;
+08DD;ARABIC SMALL HIGH WORD SAKTA;Mn;230;NSM;;;;;N;;;;;
+08DE;ARABIC SMALL HIGH WORD QIF;Mn;230;NSM;;;;;N;;;;;
+08DF;ARABIC SMALL HIGH WORD WAQFA;Mn;230;NSM;;;;;N;;;;;
+08E0;ARABIC SMALL HIGH FOOTNOTE MARKER;Mn;230;NSM;;;;;N;;;;;
+08E1;ARABIC SMALL HIGH SIGN SAFHA;Mn;230;NSM;;;;;N;;;;;
+08E2;ARABIC DISPUTED END OF AYAH;Cf;0;AN;;;;;N;;;;;
+08E3;ARABIC TURNED DAMMA BELOW;Mn;220;NSM;;;;;N;;;;;
 08E4;ARABIC CURLY FATHA;Mn;230;NSM;;;;;N;;;;;
 08E5;ARABIC CURLY DAMMA;Mn;230;NSM;;;;;N;;;;;
 08E6;ARABIC CURLY KASRA;Mn;220;NSM;;;;;N;;;;;
 08E7;ARABIC CURLY FATHATAN;Mn;230;NSM;;;;;N;;;;;
 08E8;ARABIC CURLY DAMMATAN;Mn;230;NSM;;;;;N;;;;;
 08E9;ARABIC CURLY KASRATAN;Mn;220;NSM;;;;;N;;;;;
 08EA;ARABIC TONE ONE DOT ABOVE;Mn;230;NSM;;;;;N;;;;;
 08EB;ARABIC TONE TWO DOTS ABOVE;Mn;230;NSM;;;;;N;;;;;
@@ -2093,16 +2139,17 @@ 08F6;ARABIC KASRA WITH DOT BELOW;Mn;220;
 08F7;ARABIC LEFT ARROWHEAD ABOVE;Mn;230;NSM;;;;;N;;;;;
 08F8;ARABIC RIGHT ARROWHEAD ABOVE;Mn;230;NSM;;;;;N;;;;;
 08F9;ARABIC LEFT ARROWHEAD BELOW;Mn;220;NSM;;;;;N;;;;;
 08FA;ARABIC RIGHT ARROWHEAD BELOW;Mn;220;NSM;;;;;N;;;;;
 08FB;ARABIC DOUBLE RIGHT ARROWHEAD ABOVE;Mn;230;NSM;;;;;N;;;;;
 08FC;ARABIC DOUBLE RIGHT ARROWHEAD ABOVE WITH DOT;Mn;230;NSM;;;;;N;;;;;
 08FD;ARABIC RIGHT ARROWHEAD ABOVE WITH DOT;Mn;230;NSM;;;;;N;;;;;
 08FE;ARABIC DAMMA WITH DOT;Mn;230;NSM;;;;;N;;;;;
+08FF;ARABIC MARK SIDEWAYS NOON GHUNNA;Mn;230;NSM;;;;;N;;;;;
 0900;DEVANAGARI SIGN INVERTED CANDRABINDU;Mn;0;NSM;;;;;N;;;;;
 0901;DEVANAGARI SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;;
 0902;DEVANAGARI SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;;
 0903;DEVANAGARI SIGN VISARGA;Mc;0;L;;;;;N;;;;;
 0904;DEVANAGARI LETTER SHORT A;Lo;0;L;;;;;N;;;;;
 0905;DEVANAGARI LETTER A;Lo;0;L;;;;;N;;;;;
 0906;DEVANAGARI LETTER AA;Lo;0;L;;;;;N;;;;;
 0907;DEVANAGARI LETTER I;Lo;0;L;;;;;N;;;;;
@@ -2213,23 +2260,25 @@ 096F;DEVANAGARI DIGIT NINE;Nd;0;L;;9;9;9
 0970;DEVANAGARI ABBREVIATION SIGN;Po;0;L;;;;;N;;;;;
 0971;DEVANAGARI SIGN HIGH SPACING DOT;Lm;0;L;;;;;N;;;;;
 0972;DEVANAGARI LETTER CANDRA A;Lo;0;L;;;;;N;;;;;
 0973;DEVANAGARI LETTER OE;Lo;0;L;;;;;N;;;;;
 0974;DEVANAGARI LETTER OOE;Lo;0;L;;;;;N;;;;;
 0975;DEVANAGARI LETTER AW;Lo;0;L;;;;;N;;;;;
 0976;DEVANAGARI LETTER UE;Lo;0;L;;;;;N;;;;;
 0977;DEVANAGARI LETTER UUE;Lo;0;L;;;;;N;;;;;
+0978;DEVANAGARI LETTER MARWARI DDA;Lo;0;L;;;;;N;;;;;
 0979;DEVANAGARI LETTER ZHA;Lo;0;L;;;;;N;;;;;
 097A;DEVANAGARI LETTER HEAVY YA;Lo;0;L;;;;;N;;;;;
 097B;DEVANAGARI LETTER GGA;Lo;0;L;;;;;N;;;;;
 097C;DEVANAGARI LETTER JJA;Lo;0;L;;;;;N;;;;;
 097D;DEVANAGARI LETTER GLOTTAL STOP;Lo;0;L;;;;;N;;;;;
 097E;DEVANAGARI LETTER DDDA;Lo;0;L;;;;;N;;;;;
 097F;DEVANAGARI LETTER BBA;Lo;0;L;;;;;N;;;;;
+0980;BENGALI ANJI;Lo;0;L;;;;;N;;;;;
 0981;BENGALI SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;;
 0982;BENGALI SIGN ANUSVARA;Mc;0;L;;;;;N;;;;;
 0983;BENGALI SIGN VISARGA;Mc;0;L;;;;;N;;;;;
 0985;BENGALI LETTER A;Lo;0;L;;;;;N;;;;;
 0986;BENGALI LETTER AA;Lo;0;L;;;;;N;;;;;
 0987;BENGALI LETTER I;Lo;0;L;;;;;N;;;;;
 0988;BENGALI LETTER II;Lo;0;L;;;;;N;;;;;
 0989;BENGALI LETTER U;Lo;0;L;;;;;N;;;;;
@@ -2475,16 +2524,17 @@ 0AE9;GUJARATI DIGIT THREE;Nd;0;L;;3;3;3;
 0AEA;GUJARATI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
 0AEB;GUJARATI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
 0AEC;GUJARATI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
 0AED;GUJARATI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
 0AEE;GUJARATI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
 0AEF;GUJARATI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
 0AF0;GUJARATI ABBREVIATION SIGN;Po;0;L;;;;;N;;;;;
 0AF1;GUJARATI RUPEE SIGN;Sc;0;ET;;;;;N;;;;;
+0AF9;GUJARATI LETTER ZHA;Lo;0;L;;;;;N;;;;;
 0B01;ORIYA SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;;
 0B02;ORIYA SIGN ANUSVARA;Mc;0;L;;;;;N;;;;;
 0B03;ORIYA SIGN VISARGA;Mc;0;L;;;;;N;;;;;
 0B05;ORIYA LETTER A;Lo;0;L;;;;;N;;;;;
 0B06;ORIYA LETTER AA;Lo;0;L;;;;;N;;;;;
 0B07;ORIYA LETTER I;Lo;0;L;;;;;N;;;;;
 0B08;ORIYA LETTER II;Lo;0;L;;;;;N;;;;;
 0B09;ORIYA LETTER U;Lo;0;L;;;;;N;;;;;
@@ -2637,16 +2687,17 @@ 0BF2;TAMIL NUMBER ONE THOUSAND;No;0;L;;;
 0BF3;TAMIL DAY SIGN;So;0;ON;;;;;N;;;;;
 0BF4;TAMIL MONTH SIGN;So;0;ON;;;;;N;;;;;
 0BF5;TAMIL YEAR SIGN;So;0;ON;;;;;N;;;;;
 0BF6;TAMIL DEBIT SIGN;So;0;ON;;;;;N;;;;;
 0BF7;TAMIL CREDIT SIGN;So;0;ON;;;;;N;;;;;
 0BF8;TAMIL AS ABOVE SIGN;So;0;ON;;;;;N;;;;;
 0BF9;TAMIL RUPEE SIGN;Sc;0;ET;;;;;N;;;;;
 0BFA;TAMIL NUMBER SIGN;So;0;ON;;;;;N;;;;;
+0C00;TELUGU SIGN COMBINING CANDRABINDU ABOVE;Mn;0;NSM;;;;;N;;;;;
 0C01;TELUGU SIGN CANDRABINDU;Mc;0;L;;;;;N;;;;;
 0C02;TELUGU SIGN ANUSVARA;Mc;0;L;;;;;N;;;;;
 0C03;TELUGU SIGN VISARGA;Mc;0;L;;;;;N;;;;;
 0C05;TELUGU LETTER A;Lo;0;L;;;;;N;;;;;
 0C06;TELUGU LETTER AA;Lo;0;L;;;;;N;;;;;
 0C07;TELUGU LETTER I;Lo;0;L;;;;;N;;;;;
 0C08;TELUGU LETTER II;Lo;0;L;;;;;N;;;;;
 0C09;TELUGU LETTER U;Lo;0;L;;;;;N;;;;;
@@ -2684,16 +2735,17 @@ 0C2B;TELUGU LETTER PHA;Lo;0;L;;;;;N;;;;;
 0C2C;TELUGU LETTER BA;Lo;0;L;;;;;N;;;;;
 0C2D;TELUGU LETTER BHA;Lo;0;L;;;;;N;;;;;
 0C2E;TELUGU LETTER MA;Lo;0;L;;;;;N;;;;;
 0C2F;TELUGU LETTER YA;Lo;0;L;;;;;N;;;;;
 0C30;TELUGU LETTER RA;Lo;0;L;;;;;N;;;;;
 0C31;TELUGU LETTER RRA;Lo;0;L;;;;;N;;;;;
 0C32;TELUGU LETTER LA;Lo;0;L;;;;;N;;;;;
 0C33;TELUGU LETTER LLA;Lo;0;L;;;;;N;;;;;
+0C34;TELUGU LETTER LLLA;Lo;0;L;;;;;N;;;;;
 0C35;TELUGU LETTER VA;Lo;0;L;;;;;N;;;;;
 0C36;TELUGU LETTER SHA;Lo;0;L;;;;;N;;;;;
 0C37;TELUGU LETTER SSA;Lo;0;L;;;;;N;;;;;
 0C38;TELUGU LETTER SA;Lo;0;L;;;;;N;;;;;
 0C39;TELUGU LETTER HA;Lo;0;L;;;;;N;;;;;
 0C3D;TELUGU SIGN AVAGRAHA;Lo;0;L;;;;;N;;;;;
 0C3E;TELUGU VOWEL SIGN AA;Mn;0;NSM;;;;;N;;;;;
 0C3F;TELUGU VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;;
@@ -2708,16 +2760,17 @@ 0C48;TELUGU VOWEL SIGN AI;Mn;0;NSM;0C46 
 0C4A;TELUGU VOWEL SIGN O;Mn;0;NSM;;;;;N;;;;;
 0C4B;TELUGU VOWEL SIGN OO;Mn;0;NSM;;;;;N;;;;;
 0C4C;TELUGU VOWEL SIGN AU;Mn;0;NSM;;;;;N;;;;;
 0C4D;TELUGU SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;;
 0C55;TELUGU LENGTH MARK;Mn;84;NSM;;;;;N;;;;;
 0C56;TELUGU AI LENGTH MARK;Mn;91;NSM;;;;;N;;;;;
 0C58;TELUGU LETTER TSA;Lo;0;L;;;;;N;;;;;
 0C59;TELUGU LETTER DZA;Lo;0;L;;;;;N;;;;;
+0C5A;TELUGU LETTER RRRA;Lo;0;L;;;;;N;;;;;
 0C60;TELUGU LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;;
 0C61;TELUGU LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;;
 0C62;TELUGU VOWEL SIGN VOCALIC L;Mn;0;NSM;;;;;N;;;;;
 0C63;TELUGU VOWEL SIGN VOCALIC LL;Mn;0;NSM;;;;;N;;;;;
 0C66;TELUGU DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
 0C67;TELUGU DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
 0C68;TELUGU DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
 0C69;TELUGU DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
@@ -2730,16 +2783,18 @@ 0C6F;TELUGU DIGIT NINE;Nd;0;L;;9;9;9;N;;
 0C78;TELUGU FRACTION DIGIT ZERO FOR ODD POWERS OF FOUR;No;0;ON;;;;0;N;;;;;
 0C79;TELUGU FRACTION DIGIT ONE FOR ODD POWERS OF FOUR;No;0;ON;;;;1;N;;;;;
 0C7A;TELUGU FRACTION DIGIT TWO FOR ODD POWERS OF FOUR;No;0;ON;;;;2;N;;;;;
 0C7B;TELUGU FRACTION DIGIT THREE FOR ODD POWERS OF FOUR;No;0;ON;;;;3;N;;;;;
 0C7C;TELUGU FRACTION DIGIT ONE FOR EVEN POWERS OF FOUR;No;0;ON;;;;1;N;;;;;
 0C7D;TELUGU FRACTION DIGIT TWO FOR EVEN POWERS OF FOUR;No;0;ON;;;;2;N;;;;;
 0C7E;TELUGU FRACTION DIGIT THREE FOR EVEN POWERS OF FOUR;No;0;ON;;;;3;N;;;;;
 0C7F;TELUGU SIGN TUUMU;So;0;L;;;;;N;;;;;
+0C80;KANNADA SIGN SPACING CANDRABINDU;Lo;0;L;;;;;N;;;;;
+0C81;KANNADA SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;;
 0C82;KANNADA SIGN ANUSVARA;Mc;0;L;;;;;N;;;;;
 0C83;KANNADA SIGN VISARGA;Mc;0;L;;;;;N;;;;;
 0C85;KANNADA LETTER A;Lo;0;L;;;;;N;;;;;
 0C86;KANNADA LETTER AA;Lo;0;L;;;;;N;;;;;
 0C87;KANNADA LETTER I;Lo;0;L;;;;;N;;;;;
 0C88;KANNADA LETTER II;Lo;0;L;;;;;N;;;;;
 0C89;KANNADA LETTER U;Lo;0;L;;;;;N;;;;;
 0C8A;KANNADA LETTER UU;Lo;0;L;;;;;N;;;;;
@@ -2816,16 +2871,17 @@ 0CE9;KANNADA DIGIT THREE;Nd;0;L;;3;3;3;N
 0CEA;KANNADA DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
 0CEB;KANNADA DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
 0CEC;KANNADA DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
 0CED;KANNADA DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
 0CEE;KANNADA DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
 0CEF;KANNADA DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
 0CF1;KANNADA SIGN JIHVAMULIYA;Lo;0;L;;;;;N;;;;;
 0CF2;KANNADA SIGN UPADHMANIYA;Lo;0;L;;;;;N;;;;;
+0D01;MALAYALAM SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;;
 0D02;MALAYALAM SIGN ANUSVARA;Mc;0;L;;;;;N;;;;;
 0D03;MALAYALAM SIGN VISARGA;Mc;0;L;;;;;N;;;;;
 0D05;MALAYALAM LETTER A;Lo;0;L;;;;;N;;;;;
 0D06;MALAYALAM LETTER AA;Lo;0;L;;;;;N;;;;;
 0D07;MALAYALAM LETTER I;Lo;0;L;;;;;N;;;;;
 0D08;MALAYALAM LETTER II;Lo;0;L;;;;;N;;;;;
 0D09;MALAYALAM LETTER U;Lo;0;L;;;;;N;;;;;
 0D0A;MALAYALAM LETTER UU;Lo;0;L;;;;;N;;;;;
@@ -2886,17 +2942,29 @@ 0D44;MALAYALAM VOWEL SIGN VOCALIC RR;Mn;
 0D46;MALAYALAM VOWEL SIGN E;Mc;0;L;;;;;N;;;;;
 0D47;MALAYALAM VOWEL SIGN EE;Mc;0;L;;;;;N;;;;;
 0D48;MALAYALAM VOWEL SIGN AI;Mc;0;L;;;;;N;;;;;
 0D4A;MALAYALAM VOWEL SIGN O;Mc;0;L;0D46 0D3E;;;;N;;;;;
 0D4B;MALAYALAM VOWEL SIGN OO;Mc;0;L;0D47 0D3E;;;;N;;;;;
 0D4C;MALAYALAM VOWEL SIGN AU;Mc;0;L;0D46 0D57;;;;N;;;;;
 0D4D;MALAYALAM SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;;
 0D4E;MALAYALAM LETTER DOT REPH;Lo;0;L;;;;;N;;;;;
+0D4F;MALAYALAM SIGN PARA;So;0;L;;;;;N;;;;;
+0D54;MALAYALAM LETTER CHILLU M;Lo;0;L;;;;;N;;;;;
+0D55;MALAYALAM LETTER CHILLU Y;Lo;0;L;;;;;N;;;;;
+0D56;MALAYALAM LETTER CHILLU LLL;Lo;0;L;;;;;N;;;;;
 0D57;MALAYALAM AU LENGTH MARK;Mc;0;L;;;;;N;;;;;
+0D58;MALAYALAM FRACTION ONE ONE-HUNDRED-AND-SIXTIETH;No;0;L;;;;1/160;N;;;;;
+0D59;MALAYALAM FRACTION ONE FORTIETH;No;0;L;;;;1/40;N;;;;;
+0D5A;MALAYALAM FRACTION THREE EIGHTIETHS;No;0;L;;;;3/80;N;;;;;
+0D5B;MALAYALAM FRACTION ONE TWENTIETH;No;0;L;;;;1/20;N;;;;;
+0D5C;MALAYALAM FRACTION ONE TENTH;No;0;L;;;;1/10;N;;;;;
+0D5D;MALAYALAM FRACTION THREE TWENTIETHS;No;0;L;;;;3/20;N;;;;;
+0D5E;MALAYALAM FRACTION ONE FIFTH;No;0;L;;;;1/5;N;;;;;
+0D5F;MALAYALAM LETTER ARCHAIC II;Lo;0;L;;;;;N;;;;;
 0D60;MALAYALAM LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;;
 0D61;MALAYALAM LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;;
 0D62;MALAYALAM VOWEL SIGN VOCALIC L;Mn;0;NSM;;;;;N;;;;;
 0D63;MALAYALAM VOWEL SIGN VOCALIC LL;Mn;0;NSM;;;;;N;;;;;
 0D66;MALAYALAM DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
 0D67;MALAYALAM DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
 0D68;MALAYALAM DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
 0D69;MALAYALAM DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
@@ -2907,16 +2975,19 @@ 0D6D;MALAYALAM DIGIT SEVEN;Nd;0;L;;7;7;7
 0D6E;MALAYALAM DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
 0D6F;MALAYALAM DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
 0D70;MALAYALAM NUMBER TEN;No;0;L;;;;10;N;;;;;
 0D71;MALAYALAM NUMBER ONE HUNDRED;No;0;L;;;;100;N;;;;;
 0D72;MALAYALAM NUMBER ONE THOUSAND;No;0;L;;;;1000;N;;;;;
 0D73;MALAYALAM FRACTION ONE QUARTER;No;0;L;;;;1/4;N;;;;;
 0D74;MALAYALAM FRACTION ONE HALF;No;0;L;;;;1/2;N;;;;;
 0D75;MALAYALAM FRACTION THREE QUARTERS;No;0;L;;;;3/4;N;;;;;
+0D76;MALAYALAM FRACTION ONE SIXTEENTH;No;0;L;;;;1/16;N;;;;;
+0D77;MALAYALAM FRACTION ONE EIGHTH;No;0;L;;;;1/8;N;;;;;
+0D78;MALAYALAM FRACTION THREE SIXTEENTHS;No;0;L;;;;3/16;N;;;;;
 0D79;MALAYALAM DATE MARK;So;0;L;;;;;N;;;;;
 0D7A;MALAYALAM LETTER CHILLU NN;Lo;0;L;;;;;N;;;;;
 0D7B;MALAYALAM LETTER CHILLU N;Lo;0;L;;;;;N;;;;;
 0D7C;MALAYALAM LETTER CHILLU RR;Lo;0;L;;;;;N;;;;;
 0D7D;MALAYALAM LETTER CHILLU L;Lo;0;L;;;;;N;;;;;
 0D7E;MALAYALAM LETTER CHILLU LL;Lo;0;L;;;;;N;;;;;
 0D7F;MALAYALAM LETTER CHILLU K;Lo;0;L;;;;;N;;;;;
 0D82;SINHALA SIGN ANUSVARAYA;Mc;0;L;;;;;N;;;;;
@@ -2991,16 +3062,26 @@ 0DD6;SINHALA VOWEL SIGN DIGA PAA-PILLA;M
 0DD8;SINHALA VOWEL SIGN GAETTA-PILLA;Mc;0;L;;;;;N;;;;;
 0DD9;SINHALA VOWEL SIGN KOMBUVA;Mc;0;L;;;;;N;;;;;
 0DDA;SINHALA VOWEL SIGN DIGA KOMBUVA;Mc;0;L;0DD9 0DCA;;;;N;;;;;
 0DDB;SINHALA VOWEL SIGN KOMBU DEKA;Mc;0;L;;;;;N;;;;;
 0DDC;SINHALA VOWEL SIGN KOMBUVA HAA AELA-PILLA;Mc;0;L;0DD9 0DCF;;;;N;;;;;
 0DDD;SINHALA VOWEL SIGN KOMBUVA HAA DIGA AELA-PILLA;Mc;0;L;0DDC 0DCA;;;;N;;;;;
 0DDE;SINHALA VOWEL SIGN KOMBUVA HAA GAYANUKITTA;Mc;0;L;0DD9 0DDF;;;;N;;;;;
 0DDF;SINHALA VOWEL SIGN GAYANUKITTA;Mc;0;L;;;;;N;;;;;
+0DE6;SINHALA LITH DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
+0DE7;SINHALA LITH DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+0DE8;SINHALA LITH DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+0DE9;SINHALA LITH DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+0DEA;SINHALA LITH DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+0DEB;SINHALA LITH DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+0DEC;SINHALA LITH DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+0DED;SINHALA LITH DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+0DEE;SINHALA LITH DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+0DEF;SINHALA LITH DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
 0DF2;SINHALA VOWEL SIGN DIGA GAETTA-PILLA;Mc;0;L;;;;;N;;;;;
 0DF3;SINHALA VOWEL SIGN DIGA GAYANUKITTA;Mc;0;L;;;;;N;;;;;
 0DF4;SINHALA PUNCTUATION KUNDDALIYA;Po;0;L;;;;;N;;;;;
 0E01;THAI CHARACTER KO KAI;Lo;0;L;;;;;N;THAI LETTER KO KAI;;;;
 0E02;THAI CHARACTER KHO KHAI;Lo;0;L;;;;;N;THAI LETTER KHO KHAI;;;;
 0E03;THAI CHARACTER KHO KHUAT;Lo;0;L;;;;;N;THAI LETTER KHO KHUAT;;;;
 0E04;THAI CHARACTER KHO KHWAI;Lo;0;L;;;;;N;THAI LETTER KHO KHWAI;;;;
 0E05;THAI CHARACTER KHO KHON;Lo;0;L;;;;;N;THAI LETTER KHO KHON;;;;
@@ -4247,101 +4328,108 @@ 1391;ETHIOPIC TONAL MARK DERET;So;0;ON;;
 1392;ETHIOPIC TONAL MARK RIKRIK;So;0;ON;;;;;N;;;;;
 1393;ETHIOPIC TONAL MARK SHORT RIKRIK;So;0;ON;;;;;N;;;;;
 1394;ETHIOPIC TONAL MARK DIFAT;So;0;ON;;;;;N;;;;;
 1395;ETHIOPIC TONAL MARK KENAT;So;0;ON;;;;;N;;;;;
 1396;ETHIOPIC TONAL MARK CHIRET;So;0;ON;;;;;N;;;;;
 1397;ETHIOPIC TONAL MARK HIDET;So;0;ON;;;;;N;;;;;
 1398;ETHIOPIC TONAL MARK DERET-HIDET;So;0;ON;;;;;N;;;;;
 1399;ETHIOPIC TONAL MARK KURT;So;0;ON;;;;;N;;;;;
-13A0;CHEROKEE LETTER A;Lo;0;L;;;;;N;;;;;
-13A1;CHEROKEE LETTER E;Lo;0;L;;;;;N;;;;;
-13A2;CHEROKEE LETTER I;Lo;0;L;;;;;N;;;;;
-13A3;CHEROKEE LETTER O;Lo;0;L;;;;;N;;;;;
-13A4;CHEROKEE LETTER U;Lo;0;L;;;;;N;;;;;
-13A5;CHEROKEE LETTER V;Lo;0;L;;;;;N;;;;;
-13A6;CHEROKEE LETTER GA;Lo;0;L;;;;;N;;;;;
-13A7;CHEROKEE LETTER KA;Lo;0;L;;;;;N;;;;;
-13A8;CHEROKEE LETTER GE;Lo;0;L;;;;;N;;;;;
-13A9;CHEROKEE LETTER GI;Lo;0;L;;;;;N;;;;;
-13AA;CHEROKEE LETTER GO;Lo;0;L;;;;;N;;;;;
-13AB;CHEROKEE LETTER GU;Lo;0;L;;;;;N;;;;;
-13AC;CHEROKEE LETTER GV;Lo;0;L;;;;;N;;;;;
-13AD;CHEROKEE LETTER HA;Lo;0;L;;;;;N;;;;;
-13AE;CHEROKEE LETTER HE;Lo;0;L;;;;;N;;;;;
-13AF;CHEROKEE LETTER HI;Lo;0;L;;;;;N;;;;;
-13B0;CHEROKEE LETTER HO;Lo;0;L;;;;;N;;;;;
-13B1;CHEROKEE LETTER HU;Lo;0;L;;;;;N;;;;;
-13B2;CHEROKEE LETTER HV;Lo;0;L;;;;;N;;;;;
-13B3;CHEROKEE LETTER LA;Lo;0;L;;;;;N;;;;;
-13B4;CHEROKEE LETTER LE;Lo;0;L;;;;;N;;;;;
-13B5;CHEROKEE LETTER LI;Lo;0;L;;;;;N;;;;;
-13B6;CHEROKEE LETTER LO;Lo;0;L;;;;;N;;;;;
-13B7;CHEROKEE LETTER LU;Lo;0;L;;;;;N;;;;;
-13B8;CHEROKEE LETTER LV;Lo;0;L;;;;;N;;;;;
-13B9;CHEROKEE LETTER MA;Lo;0;L;;;;;N;;;;;
-13BA;CHEROKEE LETTER ME;Lo;0;L;;;;;N;;;;;
-13BB;CHEROKEE LETTER MI;Lo;0;L;;;;;N;;;;;
-13BC;CHEROKEE LETTER MO;Lo;0;L;;;;;N;;;;;
-13BD;CHEROKEE LETTER MU;Lo;0;L;;;;;N;;;;;
-13BE;CHEROKEE LETTER NA;Lo;0;L;;;;;N;;;;;
-13BF;CHEROKEE LETTER HNA;Lo;0;L;;;;;N;;;;;
-13C0;CHEROKEE LETTER NAH;Lo;0;L;;;;;N;;;;;
-13C1;CHEROKEE LETTER NE;Lo;0;L;;;;;N;;;;;
-13C2;CHEROKEE LETTER NI;Lo;0;L;;;;;N;;;;;
-13C3;CHEROKEE LETTER NO;Lo;0;L;;;;;N;;;;;
-13C4;CHEROKEE LETTER NU;Lo;0;L;;;;;N;;;;;
-13C5;CHEROKEE LETTER NV;Lo;0;L;;;;;N;;;;;
-13C6;CHEROKEE LETTER QUA;Lo;0;L;;;;;N;;;;;
-13C7;CHEROKEE LETTER QUE;Lo;0;L;;;;;N;;;;;
-13C8;CHEROKEE LETTER QUI;Lo;0;L;;;;;N;;;;;
-13C9;CHEROKEE LETTER QUO;Lo;0;L;;;;;N;;;;;
-13CA;CHEROKEE LETTER QUU;Lo;0;L;;;;;N;;;;;
-13CB;CHEROKEE LETTER QUV;Lo;0;L;;;;;N;;;;;
-13CC;CHEROKEE LETTER SA;Lo;0;L;;;;;N;;;;;
-13CD;CHEROKEE LETTER S;Lo;0;L;;;;;N;;;;;
-13CE;CHEROKEE LETTER SE;Lo;0;L;;;;;N;;;;;
-13CF;CHEROKEE LETTER SI;Lo;0;L;;;;;N;;;;;
-13D0;CHEROKEE LETTER SO;Lo;0;L;;;;;N;;;;;
-13D1;CHEROKEE LETTER SU;Lo;0;L;;;;;N;;;;;
-13D2;CHEROKEE LETTER SV;Lo;0;L;;;;;N;;;;;
-13D3;CHEROKEE LETTER DA;Lo;0;L;;;;;N;;;;;
-13D4;CHEROKEE LETTER TA;Lo;0;L;;;;;N;;;;;
-13D5;CHEROKEE LETTER DE;Lo;0;L;;;;;N;;;;;
-13D6;CHEROKEE LETTER TE;Lo;0;L;;;;;N;;;;;
-13D7;CHEROKEE LETTER DI;Lo;0;L;;;;;N;;;;;
-13D8;CHEROKEE LETTER TI;Lo;0;L;;;;;N;;;;;
-13D9;CHEROKEE LETTER DO;Lo;0;L;;;;;N;;;;;
-13DA;CHEROKEE LETTER DU;Lo;0;L;;;;;N;;;;;
-13DB;CHEROKEE LETTER DV;Lo;0;L;;;;;N;;;;;
-13DC;CHEROKEE LETTER DLA;Lo;0;L;;;;;N;;;;;
-13DD;CHEROKEE LETTER TLA;Lo;0;L;;;;;N;;;;;
-13DE;CHEROKEE LETTER TLE;Lo;0;L;;;;;N;;;;;
-13DF;CHEROKEE LETTER TLI;Lo;0;L;;;;;N;;;;;
-13E0;CHEROKEE LETTER TLO;Lo;0;L;;;;;N;;;;;
-13E1;CHEROKEE LETTER TLU;Lo;0;L;;;;;N;;;;;
-13E2;CHEROKEE LETTER TLV;Lo;0;L;;;;;N;;;;;
-13E3;CHEROKEE LETTER TSA;Lo;0;L;;;;;N;;;;;
-13E4;CHEROKEE LETTER TSE;Lo;0;L;;;;;N;;;;;
-13E5;CHEROKEE LETTER TSI;Lo;0;L;;;;;N;;;;;
-13E6;CHEROKEE LETTER TSO;Lo;0;L;;;;;N;;;;;
-13E7;CHEROKEE LETTER TSU;Lo;0;L;;;;;N;;;;;
-13E8;CHEROKEE LETTER TSV;Lo;0;L;;;;;N;;;;;
-13E9;CHEROKEE LETTER WA;Lo;0;L;;;;;N;;;;;
-13EA;CHEROKEE LETTER WE;Lo;0;L;;;;;N;;;;;
-13EB;CHEROKEE LETTER WI;Lo;0;L;;;;;N;;;;;
-13EC;CHEROKEE LETTER WO;Lo;0;L;;;;;N;;;;;
-13ED;CHEROKEE LETTER WU;Lo;0;L;;;;;N;;;;;
-13EE;CHEROKEE LETTER WV;Lo;0;L;;;;;N;;;;;
-13EF;CHEROKEE LETTER YA;Lo;0;L;;;;;N;;;;;
-13F0;CHEROKEE LETTER YE;Lo;0;L;;;;;N;;;;;
-13F1;CHEROKEE LETTER YI;Lo;0;L;;;;;N;;;;;
-13F2;CHEROKEE LETTER YO;Lo;0;L;;;;;N;;;;;
-13F3;CHEROKEE LETTER YU;Lo;0;L;;;;;N;;;;;
-13F4;CHEROKEE LETTER YV;Lo;0;L;;;;;N;;;;;
+13A0;CHEROKEE LETTER A;Lu;0;L;;;;;N;;;;AB70;
+13A1;CHEROKEE LETTER E;Lu;0;L;;;;;N;;;;AB71;
+13A2;CHEROKEE LETTER I;Lu;0;L;;;;;N;;;;AB72;
+13A3;CHEROKEE LETTER O;Lu;0;L;;;;;N;;;;AB73;
+13A4;CHEROKEE LETTER U;Lu;0;L;;;;;N;;;;AB74;
+13A5;CHEROKEE LETTER V;Lu;0;L;;;;;N;;;;AB75;
+13A6;CHEROKEE LETTER GA;Lu;0;L;;;;;N;;;;AB76;
+13A7;CHEROKEE LETTER KA;Lu;0;L;;;;;N;;;;AB77;
+13A8;CHEROKEE LETTER GE;Lu;0;L;;;;;N;;;;AB78;
+13A9;CHEROKEE LETTER GI;Lu;0;L;;;;;N;;;;AB79;
+13AA;CHEROKEE LETTER GO;Lu;0;L;;;;;N;;;;AB7A;
+13AB;CHEROKEE LETTER GU;Lu;0;L;;;;;N;;;;AB7B;
+13AC;CHEROKEE LETTER GV;Lu;0;L;;;;;N;;;;AB7C;
+13AD;CHEROKEE LETTER HA;Lu;0;L;;;;;N;;;;AB7D;
+13AE;CHEROKEE LETTER HE;Lu;0;L;;;;;N;;;;AB7E;
+13AF;CHEROKEE LETTER HI;Lu;0;L;;;;;N;;;;AB7F;
+13B0;CHEROKEE LETTER HO;Lu;0;L;;;;;N;;;;AB80;
+13B1;CHEROKEE LETTER HU;Lu;0;L;;;;;N;;;;AB81;
+13B2;CHEROKEE LETTER HV;Lu;0;L;;;;;N;;;;AB82;
+13B3;CHEROKEE LETTER LA;Lu;0;L;;;;;N;;;;AB83;
+13B4;CHEROKEE LETTER LE;Lu;0;L;;;;;N;;;;AB84;
+13B5;CHEROKEE LETTER LI;Lu;0;L;;;;;N;;;;AB85;
+13B6;CHEROKEE LETTER LO;Lu;0;L;;;;;N;;;;AB86;
+13B7;CHEROKEE LETTER LU;Lu;0;L;;;;;N;;;;AB87;
+13B8;CHEROKEE LETTER LV;Lu;0;L;;;;;N;;;;AB88;
+13B9;CHEROKEE LETTER MA;Lu;0;L;;;;;N;;;;AB89;
+13BA;CHEROKEE LETTER ME;Lu;0;L;;;;;N;;;;AB8A;
+13BB;CHEROKEE LETTER MI;Lu;0;L;;;;;N;;;;AB8B;
+13BC;CHEROKEE LETTER MO;Lu;0;L;;;;;N;;;;AB8C;
+13BD;CHEROKEE LETTER MU;Lu;0;L;;;;;N;;;;AB8D;
+13BE;CHEROKEE LETTER NA;Lu;0;L;;;;;N;;;;AB8E;
+13BF;CHEROKEE LETTER HNA;Lu;0;L;;;;;N;;;;AB8F;
+13C0;CHEROKEE LETTER NAH;Lu;0;L;;;;;N;;;;AB90;
+13C1;CHEROKEE LETTER NE;Lu;0;L;;;;;N;;;;AB91;
+13C2;CHEROKEE LETTER NI;Lu;0;L;;;;;N;;;;AB92;
+13C3;CHEROKEE LETTER NO;Lu;0;L;;;;;N;;;;AB93;
+13C4;CHEROKEE LETTER NU;Lu;0;L;;;;;N;;;;AB94;
+13C5;CHEROKEE LETTER NV;Lu;0;L;;;;;N;;;;AB95;
+13C6;CHEROKEE LETTER QUA;Lu;0;L;;;;;N;;;;AB96;
+13C7;CHEROKEE LETTER QUE;Lu;0;L;;;;;N;;;;AB97;
+13C8;CHEROKEE LETTER QUI;Lu;0;L;;;;;N;;;;AB98;
+13C9;CHEROKEE LETTER QUO;Lu;0;L;;;;;N;;;;AB99;
+13CA;CHEROKEE LETTER QUU;Lu;0;L;;;;;N;;;;AB9A;
+13CB;CHEROKEE LETTER QUV;Lu;0;L;;;;;N;;;;AB9B;
+13CC;CHEROKEE LETTER SA;Lu;0;L;;;;;N;;;;AB9C;
+13CD;CHEROKEE LETTER S;Lu;0;L;;;;;N;;;;AB9D;
+13CE;CHEROKEE LETTER SE;Lu;0;L;;;;;N;;;;AB9E;
+13CF;CHEROKEE LETTER SI;Lu;0;L;;;;;N;;;;AB9F;
+13D0;CHEROKEE LETTER SO;Lu;0;L;;;;;N;;;;ABA0;
+13D1;CHEROKEE LETTER SU;Lu;0;L;;;;;N;;;;ABA1;
+13D2;CHEROKEE LETTER SV;Lu;0;L;;;;;N;;;;ABA2;
+13D3;CHEROKEE LETTER DA;Lu;0;L;;;;;N;;;;ABA3;
+13D4;CHEROKEE LETTER TA;Lu;0;L;;;;;N;;;;ABA4;
+13D5;CHEROKEE LETTER DE;Lu;0;L;;;;;N;;;;ABA5;
+13D6;CHEROKEE LETTER TE;Lu;0;L;;;;;N;;;;ABA6;
+13D7;CHEROKEE LETTER DI;Lu;0;L;;;;;N;;;;ABA7;
+13D8;CHEROKEE LETTER TI;Lu;0;L;;;;;N;;;;ABA8;
+13D9;CHEROKEE LETTER DO;Lu;0;L;;;;;N;;;;ABA9;
+13DA;CHEROKEE LETTER DU;Lu;0;L;;;;;N;;;;ABAA;
+13DB;CHEROKEE LETTER DV;Lu;0;L;;;;;N;;;;ABAB;
+13DC;CHEROKEE LETTER DLA;Lu;0;L;;;;;N;;;;ABAC;
+13DD;CHEROKEE LETTER TLA;Lu;0;L;;;;;N;;;;ABAD;
+13DE;CHEROKEE LETTER TLE;Lu;0;L;;;;;N;;;;ABAE;
+13DF;CHEROKEE LETTER TLI;Lu;0;L;;;;;N;;;;ABAF;
+13E0;CHEROKEE LETTER TLO;Lu;0;L;;;;;N;;;;ABB0;
+13E1;CHEROKEE LETTER TLU;Lu;0;L;;;;;N;;;;ABB1;
+13E2;CHEROKEE LETTER TLV;Lu;0;L;;;;;N;;;;ABB2;
+13E3;CHEROKEE LETTER TSA;Lu;0;L;;;;;N;;;;ABB3;
+13E4;CHEROKEE LETTER TSE;Lu;0;L;;;;;N;;;;ABB4;
+13E5;CHEROKEE LETTER TSI;Lu;0;L;;;;;N;;;;ABB5;
+13E6;CHEROKEE LETTER TSO;Lu;0;L;;;;;N;;;;ABB6;
+13E7;CHEROKEE LETTER TSU;Lu;0;L;;;;;N;;;;ABB7;
+13E8;CHEROKEE LETTER TSV;Lu;0;L;;;;;N;;;;ABB8;
+13E9;CHEROKEE LETTER WA;Lu;0;L;;;;;N;;;;ABB9;
+13EA;CHEROKEE LETTER WE;Lu;0;L;;;;;N;;;;ABBA;
+13EB;CHEROKEE LETTER WI;Lu;0;L;;;;;N;;;;ABBB;
+13EC;CHEROKEE LETTER WO;Lu;0;L;;;;;N;;;;ABBC;
+13ED;CHEROKEE LETTER WU;Lu;0;L;;;;;N;;;;ABBD;
+13EE;CHEROKEE LETTER WV;Lu;0;L;;;;;N;;;;ABBE;
+13EF;CHEROKEE LETTER YA;Lu;0;L;;;;;N;;;;ABBF;
+13F0;CHEROKEE LETTER YE;Lu;0;L;;;;;N;;;;13F8;
+13F1;CHEROKEE LETTER YI;Lu;0;L;;;;;N;;;;13F9;
+13F2;CHEROKEE LETTER YO;Lu;0;L;;;;;N;;;;13FA;
+13F3;CHEROKEE LETTER YU;Lu;0;L;;;;;N;;;;13FB;
+13F4;CHEROKEE LETTER YV;Lu;0;L;;;;;N;;;;13FC;
+13F5;CHEROKEE LETTER MV;Lu;0;L;;;;;N;;;;13FD;
+13F8;CHEROKEE SMALL LETTER YE;Ll;0;L;;;;;N;;;13F0;;13F0
+13F9;CHEROKEE SMALL LETTER YI;Ll;0;L;;;;;N;;;13F1;;13F1
+13FA;CHEROKEE SMALL LETTER YO;Ll;0;L;;;;;N;;;13F2;;13F2
+13FB;CHEROKEE SMALL LETTER YU;Ll;0;L;;;;;N;;;13F3;;13F3
+13FC;CHEROKEE SMALL LETTER YV;Ll;0;L;;;;;N;;;13F4;;13F4
+13FD;CHEROKEE SMALL LETTER MV;Ll;0;L;;;;;N;;;13F5;;13F5
 1400;CANADIAN SYLLABICS HYPHEN;Pd;0;ON;;;;;N;;;;;
 1401;CANADIAN SYLLABICS E;Lo;0;L;;;;;N;;;;;
 1402;CANADIAN SYLLABICS AAI;Lo;0;L;;;;;N;;;;;
 1403;CANADIAN SYLLABICS I;Lo;0;L;;;;;N;;;;;
 1404;CANADIAN SYLLABICS II;Lo;0;L;;;;;N;;;;;
 1405;CANADIAN SYLLABICS O;Lo;0;L;;;;;N;;;;;
 1406;CANADIAN SYLLABICS OO;Lo;0;L;;;;;N;;;;;
 1407;CANADIAN SYLLABICS Y-CREE OO;Lo;0;L;;;;;N;;;;;
@@ -5082,16 +5170,24 @@ 16E8;RUNIC LETTER ICELANDIC-YR;Lo;0;L;;;
 16E9;RUNIC LETTER Q;Lo;0;L;;;;;N;;;;;
 16EA;RUNIC LETTER X;Lo;0;L;;;;;N;;;;;
 16EB;RUNIC SINGLE PUNCTUATION;Po;0;L;;;;;N;;;;;
 16EC;RUNIC MULTIPLE PUNCTUATION;Po;0;L;;;;;N;;;;;
 16ED;RUNIC CROSS PUNCTUATION;Po;0;L;;;;;N;;;;;
 16EE;RUNIC ARLAUG SYMBOL;Nl;0;L;;;;17;N;;;;;
 16EF;RUNIC TVIMADUR SYMBOL;Nl;0;L;;;;18;N;;;;;
 16F0;RUNIC BELGTHOR SYMBOL;Nl;0;L;;;;19;N;;;;;
+16F1;RUNIC LETTER K;Lo;0;L;;;;;N;;;;;
+16F2;RUNIC LETTER SH;Lo;0;L;;;;;N;;;;;
+16F3;RUNIC LETTER OO;Lo;0;L;;;;;N;;;;;
+16F4;RUNIC LETTER FRANKS CASKET OS;Lo;0;L;;;;;N;;;;;
+16F5;RUNIC LETTER FRANKS CASKET IS;Lo;0;L;;;;;N;;;;;
+16F6;RUNIC LETTER FRANKS CASKET EH;Lo;0;L;;;;;N;;;;;
+16F7;RUNIC LETTER FRANKS CASKET AC;Lo;0;L;;;;;N;;;;;
+16F8;RUNIC LETTER FRANKS CASKET AESC;Lo;0;L;;;;;N;;;;;
 1700;TAGALOG LETTER A;Lo;0;L;;;;;N;;;;;
 1701;TAGALOG LETTER I;Lo;0;L;;;;;N;;;;;
 1702;TAGALOG LETTER U;Lo;0;L;;;;;N;;;;;
 1703;TAGALOG LETTER KA;Lo;0;L;;;;;N;;;;;
 1704;TAGALOG LETTER GA;Lo;0;L;;;;;N;;;;;
 1705;TAGALOG LETTER NGA;Lo;0;L;;;;;N;;;;;
 1706;TAGALOG LETTER TA;Lo;0;L;;;;;N;;;;;
 1707;TAGALOG LETTER DA;Lo;0;L;;;;;N;;;;;
@@ -5291,17 +5387,17 @@ 1805;MONGOLIAN FOUR DOTS;Po;0;ON;;;;;N;;
 1806;MONGOLIAN TODO SOFT HYPHEN;Pd;0;ON;;;;;N;;;;;
 1807;MONGOLIAN SIBE SYLLABLE BOUNDARY MARKER;Po;0;ON;;;;;N;;;;;
 1808;MONGOLIAN MANCHU COMMA;Po;0;ON;;;;;N;;;;;
 1809;MONGOLIAN MANCHU FULL STOP;Po;0;ON;;;;;N;;;;;
 180A;MONGOLIAN NIRUGU;Po;0;ON;;;;;N;;;;;
 180B;MONGOLIAN FREE VARIATION SELECTOR ONE;Mn;0;NSM;;;;;N;;;;;
 180C;MONGOLIAN FREE VARIATION SELECTOR TWO;Mn;0;NSM;;;;;N;;;;;
 180D;MONGOLIAN FREE VARIATION SELECTOR THREE;Mn;0;NSM;;;;;N;;;;;
-180E;MONGOLIAN VOWEL SEPARATOR;Zs;0;WS;;;;;N;;;;;
+180E;MONGOLIAN VOWEL SEPARATOR;Cf;0;BN;;;;;N;;;;;
 1810;MONGOLIAN DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
 1811;MONGOLIAN DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
 1812;MONGOLIAN DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
 1813;MONGOLIAN DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
 1814;MONGOLIAN DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
 1815;MONGOLIAN DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
 1816;MONGOLIAN DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
 1817;MONGOLIAN DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
@@ -5395,18 +5491,18 @@ 1874;MONGOLIAN LETTER MANCHU KA;Lo;0;L;;
 1875;MONGOLIAN LETTER MANCHU RA;Lo;0;L;;;;;N;;;;;
 1876;MONGOLIAN LETTER MANCHU FA;Lo;0;L;;;;;N;;;;;
 1877;MONGOLIAN LETTER MANCHU ZHA;Lo;0;L;;;;;N;;;;;
 1880;MONGOLIAN LETTER ALI GALI ANUSVARA ONE;Lo;0;L;;;;;N;;;;;
 1881;MONGOLIAN LETTER ALI GALI VISARGA ONE;Lo;0;L;;;;;N;;;;;
 1882;MONGOLIAN LETTER ALI GALI DAMARU;Lo;0;L;;;;;N;;;;;
 1883;MONGOLIAN LETTER ALI GALI UBADAMA;Lo;0;L;;;;;N;;;;;
 1884;MONGOLIAN LETTER ALI GALI INVERTED UBADAMA;Lo;0;L;;;;;N;;;;;
-1885;MONGOLIAN LETTER ALI GALI BALUDA;Lo;0;L;;;;;N;;;;;
-1886;MONGOLIAN LETTER ALI GALI THREE BALUDA;Lo;0;L;;;;;N;;;;;
+1885;MONGOLIAN LETTER ALI GALI BALUDA;Mn;0;NSM;;;;;N;;;;;
+1886;MONGOLIAN LETTER ALI GALI THREE BALUDA;Mn;0;NSM;;;;;N;;;;;
 1887;MONGOLIAN LETTER ALI GALI A;Lo;0;L;;;;;N;;;;;
 1888;MONGOLIAN LETTER ALI GALI I;Lo;0;L;;;;;N;;;;;
 1889;MONGOLIAN LETTER ALI GALI KA;Lo;0;L;;;;;N;;;;;
 188A;MONGOLIAN LETTER ALI GALI NGA;Lo;0;L;;;;;N;;;;;
 188B;MONGOLIAN LETTER ALI GALI CA;Lo;0;L;;;;;N;;;;;
 188C;MONGOLIAN LETTER ALI GALI TTA;Lo;0;L;;;;;N;;;;;
 188D;MONGOLIAN LETTER ALI GALI TTHA;Lo;0;L;;;;;N;;;;;
 188E;MONGOLIAN LETTER ALI GALI DDA;Lo;0;L;;;;;N;;;;;
@@ -5532,16 +5628,18 @@ 1914;LIMBU LETTER MA;Lo;0;L;;;;;N;;;;;
 1915;LIMBU LETTER YA;Lo;0;L;;;;;N;;;;;
 1916;LIMBU LETTER RA;Lo;0;L;;;;;N;;;;;
 1917;LIMBU LETTER LA;Lo;0;L;;;;;N;;;;;
 1918;LIMBU LETTER WA;Lo;0;L;;;;;N;;;;;
 1919;LIMBU LETTER SHA;Lo;0;L;;;;;N;;;;;
 191A;LIMBU LETTER SSA;Lo;0;L;;;;;N;;;;;
 191B;LIMBU LETTER SA;Lo;0;L;;;;;N;;;;;
 191C;LIMBU LETTER HA;Lo;0;L;;;;;N;;;;;
+191D;LIMBU LETTER GYAN;Lo;0;L;;;;;N;;;;;
+191E;LIMBU LETTER TRA;Lo;0;L;;;;;N;;;;;
 1920;LIMBU VOWEL SIGN A;Mn;0;NSM;;;;;N;;;;;
 1921;LIMBU VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;;
 1922;LIMBU VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
 1923;LIMBU VOWEL SIGN EE;Mc;0;L;;;;;N;;;;;
 1924;LIMBU VOWEL SIGN AI;Mc;0;L;;;;;N;;;;;
 1925;LIMBU VOWEL SIGN OO;Mc;0;L;;;;;N;;;;;
 1926;LIMBU VOWEL SIGN AU;Mc;0;L;;;;;N;;;;;
 1927;LIMBU VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;;
@@ -5648,42 +5746,42 @@ 19A3;NEW TAI LUE LETTER LOW HA;Lo;0;L;;;
 19A4;NEW TAI LUE LETTER LOW DA;Lo;0;L;;;;;N;;;;;
 19A5;NEW TAI LUE LETTER LOW BA;Lo;0;L;;;;;N;;;;;
 19A6;NEW TAI LUE LETTER HIGH KVA;Lo;0;L;;;;;N;;;;;
 19A7;NEW TAI LUE LETTER HIGH XVA;Lo;0;L;;;;;N;;;;;
 19A8;NEW TAI LUE LETTER LOW KVA;Lo;0;L;;;;;N;;;;;
 19A9;NEW TAI LUE LETTER LOW XVA;Lo;0;L;;;;;N;;;;;
 19AA;NEW TAI LUE LETTER HIGH SUA;Lo;0;L;;;;;N;;;;;
 19AB;NEW TAI LUE LETTER LOW SUA;Lo;0;L;;;;;N;;;;;
-19B0;NEW TAI LUE VOWEL SIGN VOWEL SHORTENER;Mc;0;L;;;;;N;;;;;
-19B1;NEW TAI LUE VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
-19B2;NEW TAI LUE VOWEL SIGN II;Mc;0;L;;;;;N;;;;;
-19B3;NEW TAI LUE VOWEL SIGN U;Mc;0;L;;;;;N;;;;;
-19B4;NEW TAI LUE VOWEL SIGN UU;Mc;0;L;;;;;N;;;;;
-19B5;NEW TAI LUE VOWEL SIGN E;Mc;0;L;;;;;N;;;;;
-19B6;NEW TAI LUE VOWEL SIGN AE;Mc;0;L;;;;;N;;;;;
-19B7;NEW TAI LUE VOWEL SIGN O;Mc;0;L;;;;;N;;;;;
-19B8;NEW TAI LUE VOWEL SIGN OA;Mc;0;L;;;;;N;;;;;
-19B9;NEW TAI LUE VOWEL SIGN UE;Mc;0;L;;;;;N;;;;;
-19BA;NEW TAI LUE VOWEL SIGN AY;Mc;0;L;;;;;N;;;;;
-19BB;NEW TAI LUE VOWEL SIGN AAY;Mc;0;L;;;;;N;;;;;
-19BC;NEW TAI LUE VOWEL SIGN UY;Mc;0;L;;;;;N;;;;;
-19BD;NEW TAI LUE VOWEL SIGN OY;Mc;0;L;;;;;N;;;;;
-19BE;NEW TAI LUE VOWEL SIGN OAY;Mc;0;L;;;;;N;;;;;
-19BF;NEW TAI LUE VOWEL SIGN UEY;Mc;0;L;;;;;N;;;;;
-19C0;NEW TAI LUE VOWEL SIGN IY;Mc;0;L;;;;;N;;;;;
+19B0;NEW TAI LUE VOWEL SIGN VOWEL SHORTENER;Lo;0;L;;;;;N;;;;;
+19B1;NEW TAI LUE VOWEL SIGN AA;Lo;0;L;;;;;N;;;;;
+19B2;NEW TAI LUE VOWEL SIGN II;Lo;0;L;;;;;N;;;;;
+19B3;NEW TAI LUE VOWEL SIGN U;Lo;0;L;;;;;N;;;;;
+19B4;NEW TAI LUE VOWEL SIGN UU;Lo;0;L;;;;;N;;;;;
+19B5;NEW TAI LUE VOWEL SIGN E;Lo;0;L;;;;;N;;;;;
+19B6;NEW TAI LUE VOWEL SIGN AE;Lo;0;L;;;;;N;;;;;
+19B7;NEW TAI LUE VOWEL SIGN O;Lo;0;L;;;;;N;;;;;
+19B8;NEW TAI LUE VOWEL SIGN OA;Lo;0;L;;;;;N;;;;;
+19B9;NEW TAI LUE VOWEL SIGN UE;Lo;0;L;;;;;N;;;;;
+19BA;NEW TAI LUE VOWEL SIGN AY;Lo;0;L;;;;;N;;;;;
+19BB;NEW TAI LUE VOWEL SIGN AAY;Lo;0;L;;;;;N;;;;;
+19BC;NEW TAI LUE VOWEL SIGN UY;Lo;0;L;;;;;N;;;;;
+19BD;NEW TAI LUE VOWEL SIGN OY;Lo;0;L;;;;;N;;;;;
+19BE;NEW TAI LUE VOWEL SIGN OAY;Lo;0;L;;;;;N;;;;;
+19BF;NEW TAI LUE VOWEL SIGN UEY;Lo;0;L;;;;;N;;;;;
+19C0;NEW TAI LUE VOWEL SIGN IY;Lo;0;L;;;;;N;;;;;
 19C1;NEW TAI LUE LETTER FINAL V;Lo;0;L;;;;;N;;;;;
 19C2;NEW TAI LUE LETTER FINAL NG;Lo;0;L;;;;;N;;;;;
 19C3;NEW TAI LUE LETTER FINAL N;Lo;0;L;;;;;N;;;;;
 19C4;NEW TAI LUE LETTER FINAL M;Lo;0;L;;;;;N;;;;;
 19C5;NEW TAI LUE LETTER FINAL K;Lo;0;L;;;;;N;;;;;
 19C6;NEW TAI LUE LETTER FINAL D;Lo;0;L;;;;;N;;;;;
 19C7;NEW TAI LUE LETTER FINAL B;Lo;0;L;;;;;N;;;;;
-19C8;NEW TAI LUE TONE MARK-1;Mc;0;L;;;;;N;;;;;
-19C9;NEW TAI LUE TONE MARK-2;Mc;0;L;;;;;N;;;;;
+19C8;NEW TAI LUE TONE MARK-1;Lo;0;L;;;;;N;;;;;
+19C9;NEW TAI LUE TONE MARK-2;Lo;0;L;;;;;N;;;;;
 19D0;NEW TAI LUE DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
 19D1;NEW TAI LUE DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
 19D2;NEW TAI LUE DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
 19D3;NEW TAI LUE DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
 19D4;NEW TAI LUE DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
 19D5;NEW TAI LUE DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
 19D6;NEW TAI LUE DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
 19D7;NEW TAI LUE DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
@@ -5746,17 +5844,17 @@ 1A12;BUGINESE LETTER LA;Lo;0;L;;;;;N;;;;
 1A13;BUGINESE LETTER VA;Lo;0;L;;;;;N;;;;;
 1A14;BUGINESE LETTER SA;Lo;0;L;;;;;N;;;;;
 1A15;BUGINESE LETTER A;Lo;0;L;;;;;N;;;;;
 1A16;BUGINESE LETTER HA;Lo;0;L;;;;;N;;;;;
 1A17;BUGINESE VOWEL SIGN I;Mn;230;NSM;;;;;N;;;;;
 1A18;BUGINESE VOWEL SIGN U;Mn;220;NSM;;;;;N;;;;;
 1A19;BUGINESE VOWEL SIGN E;Mc;0;L;;;;;N;;;;;
 1A1A;BUGINESE VOWEL SIGN O;Mc;0;L;;;;;N;;;;;
-1A1B;BUGINESE VOWEL SIGN AE;Mc;0;L;;;;;N;;;;;
+1A1B;BUGINESE VOWEL SIGN AE;Mn;0;NSM;;;;;N;;;;;
 1A1E;BUGINESE PALLAWA;Po;0;L;;;;;N;;;;;
 1A1F;BUGINESE END OF SECTION;Po;0;L;;;;;N;;;;;
 1A20;TAI THAM LETTER HIGH KA;Lo;0;L;;;;;N;;;;;
 1A21;TAI THAM LETTER HIGH KHA;Lo;0;L;;;;;N;;;;;
 1A22;TAI THAM LETTER HIGH KXA;Lo;0;L;;;;;N;;;;;
 1A23;TAI THAM LETTER LOW KA;Lo;0;L;;;;;N;;;;;
 1A24;TAI THAM LETTER LOW KXA;Lo;0;L;;;;;N;;;;;
 1A25;TAI THAM LETTER LOW KHA;Lo;0;L;;;;;N;;;;;
@@ -5876,16 +5974,31 @@ 1AA5;TAI THAM SIGN DOKMAI;Po;0;L;;;;;N;;
 1AA6;TAI THAM SIGN REVERSED ROTATED RANA;Po;0;L;;;;;N;;;;;
 1AA7;TAI THAM SIGN MAI YAMOK;Lm;0;L;;;;;N;;;;;
 1AA8;TAI THAM SIGN KAAN;Po;0;L;;;;;N;;;;;
 1AA9;TAI THAM SIGN KAANKUU;Po;0;L;;;;;N;;;;;
 1AAA;TAI THAM SIGN SATKAAN;Po;0;L;;;;;N;;;;;
 1AAB;TAI THAM SIGN SATKAANKUU;Po;0;L;;;;;N;;;;;
 1AAC;TAI THAM SIGN HANG;Po;0;L;;;;;N;;;;;
 1AAD;TAI THAM SIGN CAANG;Po;0;L;;;;;N;;;;;
+1AB0;COMBINING DOUBLED CIRCUMFLEX ACCENT;Mn;230;NSM;;;;;N;;;;;
+1AB1;COMBINING DIAERESIS-RING;Mn;230;NSM;;;;;N;;;;;
+1AB2;COMBINING INFINITY;Mn;230;NSM;;;;;N;;;;;
+1AB3;COMBINING DOWNWARDS ARROW;Mn;230;NSM;;;;;N;;;;;
+1AB4;COMBINING TRIPLE DOT;Mn;230;NSM;;;;;N;;;;;
+1AB5;COMBINING X-X BELOW;Mn;220;NSM;;;;;N;;;;;
+1AB6;COMBINING WIGGLY LINE BELOW;Mn;220;NSM;;;;;N;;;;;
+1AB7;COMBINING OPEN MARK BELOW;Mn;220;NSM;;;;;N;;;;;
+1AB8;COMBINING DOUBLE OPEN MARK BELOW;Mn;220;NSM;;;;;N;;;;;
+1AB9;COMBINING LIGHT CENTRALIZATION STROKE BELOW;Mn;220;NSM;;;;;N;;;;;
+1ABA;COMBINING STRONG CENTRALIZATION STROKE BELOW;Mn;220;NSM;;;;;N;;;;;
+1ABB;COMBINING PARENTHESES ABOVE;Mn;230;NSM;;;;;N;;;;;
+1ABC;COMBINING DOUBLE PARENTHESES ABOVE;Mn;230;NSM;;;;;N;;;;;
+1ABD;COMBINING PARENTHESES BELOW;Mn;220;NSM;;;;;N;;;;;
+1ABE;COMBINING PARENTHESES OVERLAY;Me;0;NSM;;;;;N;;;;;
 1B00;BALINESE SIGN ULU RICEM;Mn;0;NSM;;;;;N;;;;;
 1B01;BALINESE SIGN ULU CANDRA;Mn;0;NSM;;;;;N;;;;;
 1B02;BALINESE SIGN CECEK;Mn;0;NSM;;;;;N;;;;;
 1B03;BALINESE SIGN SURANG;Mn;0;NSM;;;;;N;;;;;
 1B04;BALINESE SIGN BISAH;Mc;0;L;;;;;N;;;;;
 1B05;BALINESE LETTER AKARA;Lo;0;L;;;;;N;;;;;
 1B06;BALINESE LETTER AKARA TEDUNG;Lo;0;L;1B05 1B35;;;;N;;;;;
 1B07;BALINESE LETTER IKARA;Lo;0;L;;;;;N;;;;;
@@ -6041,18 +6154,18 @@ 1BA3;SUNDANESE CONSONANT SIGN PANYIKU;Mn
 1BA4;SUNDANESE VOWEL SIGN PANGHULU;Mn;0;NSM;;;;;N;;;;;
 1BA5;SUNDANESE VOWEL SIGN PANYUKU;Mn;0;NSM;;;;;N;;;;;
 1BA6;SUNDANESE VOWEL SIGN PANAELAENG;Mc;0;L;;;;;N;;;;;
 1BA7;SUNDANESE VOWEL SIGN PANOLONG;Mc;0;L;;;;;N;;;;;
 1BA8;SUNDANESE VOWEL SIGN PAMEPET;Mn;0;NSM;;;;;N;;;;;
 1BA9;SUNDANESE VOWEL SIGN PANEULEUNG;Mn;0;NSM;;;;;N;;;;;
 1BAA;SUNDANESE SIGN PAMAAEH;Mc;9;L;;;;;N;;;;;
 1BAB;SUNDANESE SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;;
-1BAC;SUNDANESE CONSONANT SIGN PASANGAN MA;Mc;0;L;;;;;N;;;;;
-1BAD;SUNDANESE CONSONANT SIGN PASANGAN WA;Mc;0;L;;;;;N;;;;;
+1BAC;SUNDANESE CONSONANT SIGN PASANGAN MA;Mn;0;NSM;;;;;N;;;;;
+1BAD;SUNDANESE CONSONANT SIGN PASANGAN WA;Mn;0;NSM;;;;;N;;;;;
 1BAE;SUNDANESE LETTER KHA;Lo;0;L;;;;;N;;;;;
 1BAF;SUNDANESE LETTER SYA;Lo;0;L;;;;;N;;;;;
 1BB0;SUNDANESE DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
 1BB1;SUNDANESE DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
 1BB2;SUNDANESE DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
 1BB3;SUNDANESE DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
 1BB4;SUNDANESE DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
 1BB5;SUNDANESE DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
@@ -6239,16 +6352,25 @@ 1C77;OL CHIKI LETTER OH;Lo;0;L;;;;;N;;;;
 1C78;OL CHIKI MU TTUDDAG;Lm;0;L;;;;;N;;;;;
 1C79;OL CHIKI GAAHLAA TTUDDAAG;Lm;0;L;;;;;N;;;;;
 1C7A;OL CHIKI MU-GAAHLAA TTUDDAAG;Lm;0;L;;;;;N;;;;;
 1C7B;OL CHIKI RELAA;Lm;0;L;;;;;N;;;;;
 1C7C;OL CHIKI PHAARKAA;Lm;0;L;;;;;N;;;;;
 1C7D;OL CHIKI AHAD;Lm;0;L;;;;;N;;;;;
 1C7E;OL CHIKI PUNCTUATION MUCAAD;Po;0;L;;;;;N;;;;;
 1C7F;OL CHIKI PUNCTUATION DOUBLE MUCAAD;Po;0;L;;;;;N;;;;;
+1C80;CYRILLIC SMALL LETTER ROUNDED VE;Ll;0;L;;;;;N;;;0412;;0412
+1C81;CYRILLIC SMALL LETTER LONG-LEGGED DE;Ll;0;L;;;;;N;;;0414;;0414
+1C82;CYRILLIC SMALL LETTER NARROW O;Ll;0;L;;;;;N;;;041E;;041E
+1C83;CYRILLIC SMALL LETTER WIDE ES;Ll;0;L;;;;;N;;;0421;;0421
+1C84;CYRILLIC SMALL LETTER TALL TE;Ll;0;L;;;;;N;;;0422;;0422
+1C85;CYRILLIC SMALL LETTER THREE-LEGGED TE;Ll;0;L;;;;;N;;;0422;;0422
+1C86;CYRILLIC SMALL LETTER TALL HARD SIGN;Ll;0;L;;;;;N;;;042A;;042A
+1C87;CYRILLIC SMALL LETTER TALL YAT;Ll;0;L;;;;;N;;;0462;;0462
+1C88;CYRILLIC SMALL LETTER UNBLENDED UK;Ll;0;L;;;;;N;;;A64A;;A64A
 1CC0;SUNDANESE PUNCTUATION BINDU SURYA;Po;0;L;;;;;N;;;;;
 1CC1;SUNDANESE PUNCTUATION BINDU PANGLONG;Po;0;L;;;;;N;;;;;
 1CC2;SUNDANESE PUNCTUATION BINDU PURNAMA;Po;0;L;;;;;N;;;;;
 1CC3;SUNDANESE PUNCTUATION BINDU CAKRA;Po;0;L;;;;;N;;;;;
 1CC4;SUNDANESE PUNCTUATION BINDU LEU SATANGA;Po;0;L;;;;;N;;;;;
 1CC5;SUNDANESE PUNCTUATION BINDU KA SATANGA;Po;0;L;;;;;N;;;;;
 1CC6;SUNDANESE PUNCTUATION BINDU DA SATANGA;Po;0;L;;;;;N;;;;;
 1CC7;SUNDANESE PUNCTUATION BINDU BA SATANGA;Po;0;L;;;;;N;;;;;
@@ -6286,16 +6408,18 @@ 1CEE;VEDIC SIGN HEXIFORM LONG ANUSVARA;L
 1CEF;VEDIC SIGN LONG ANUSVARA;Lo;0;L;;;;;N;;;;;
 1CF0;VEDIC SIGN RTHANG LONG ANUSVARA;Lo;0;L;;;;;N;;;;;
 1CF1;VEDIC SIGN ANUSVARA UBHAYATO MUKHA;Lo;0;L;;;;;N;;;;;
 1CF2;VEDIC SIGN ARDHAVISARGA;Mc;0;L;;;;;N;;;;;
 1CF3;VEDIC SIGN ROTATED ARDHAVISARGA;Mc;0;L;;;;;N;;;;;
 1CF4;VEDIC TONE CANDRA ABOVE;Mn;230;NSM;;;;;N;;;;;
 1CF5;VEDIC SIGN JIHVAMULIYA;Lo;0;L;;;;;N;;;;;
 1CF6;VEDIC SIGN UPADHMANIYA;Lo;0;L;;;;;N;;;;;
+1CF8;VEDIC TONE RING ABOVE;Mn;230;NSM;;;;;N;;;;;
+1CF9;VEDIC TONE DOUBLE RING ABOVE;Mn;230;NSM;;;;;N;;;;;
 1D00;LATIN LETTER SMALL CAPITAL A;Ll;0;L;;;;;N;;;;;
 1D01;LATIN LETTER SMALL CAPITAL AE;Ll;0;L;;;;;N;;;;;
 1D02;LATIN SMALL LETTER TURNED AE;Ll;0;L;;;;;N;;;;;
 1D03;LATIN LETTER SMALL CAPITAL BARRED B;Ll;0;L;;;;;N;;;;;
 1D04;LATIN LETTER SMALL CAPITAL C;Ll;0;L;;;;;N;;;;;
 1D05;LATIN LETTER SMALL CAPITAL D;Ll;0;L;;;;;N;;;;;
 1D06;LATIN LETTER SMALL CAPITAL ETH;Ll;0;L;;;;;N;;;;;
 1D07;LATIN LETTER SMALL CAPITAL E;Ll;0;L;;;;;N;;;;;
@@ -6517,16 +6641,32 @@ 1DDE;COMBINING LATIN LETTER SMALL CAPITA
 1DDF;COMBINING LATIN LETTER SMALL CAPITAL M;Mn;230;NSM;;;;;N;;;;;
 1DE0;COMBINING LATIN SMALL LETTER N;Mn;230;NSM;;;;;N;;;;;
 1DE1;COMBINING LATIN LETTER SMALL CAPITAL N;Mn;230;NSM;;;;;N;;;;;
 1DE2;COMBINING LATIN LETTER SMALL CAPITAL R;Mn;230;NSM;;;;;N;;;;;
 1DE3;COMBINING LATIN SMALL LETTER R ROTUNDA;Mn;230;NSM;;;;;N;;;;;
 1DE4;COMBINING LATIN SMALL LETTER S;Mn;230;NSM;;;;;N;;;;;
 1DE5;COMBINING LATIN SMALL LETTER LONG S;Mn;230;NSM;;;;;N;;;;;
 1DE6;COMBINING LATIN SMALL LETTER Z;Mn;230;NSM;;;;;N;;;;;
+1DE7;COMBINING LATIN SMALL LETTER ALPHA;Mn;230;NSM;;;;;N;;;;;
+1DE8;COMBINING LATIN SMALL LETTER B;Mn;230;NSM;;;;;N;;;;;
+1DE9;COMBINING LATIN SMALL LETTER BETA;Mn;230;NSM;;;;;N;;;;;
+1DEA;COMBINING LATIN SMALL LETTER SCHWA;Mn;230;NSM;;;;;N;;;;;
+1DEB;COMBINING LATIN SMALL LETTER F;Mn;230;NSM;;;;;N;;;;;
+1DEC;COMBINING LATIN SMALL LETTER L WITH DOUBLE MIDDLE TILDE;Mn;230;NSM;;;;;N;;;;;
+1DED;COMBINING LATIN SMALL LETTER O WITH LIGHT CENTRALIZATION STROKE;Mn;230;NSM;;;;;N;;;;;
+1DEE;COMBINING LATIN SMALL LETTER P;Mn;230;NSM;;;;;N;;;;;
+1DEF;COMBINING LATIN SMALL LETTER ESH;Mn;230;NSM;;;;;N;;;;;
+1DF0;COMBINING LATIN SMALL LETTER U WITH LIGHT CENTRALIZATION STROKE;Mn;230;NSM;;;;;N;;;;;
+1DF1;COMBINING LATIN SMALL LETTER W;Mn;230;NSM;;;;;N;;;;;
+1DF2;COMBINING LATIN SMALL LETTER A WITH DIAERESIS;Mn;230;NSM;;;;;N;;;;;
+1DF3;COMBINING LATIN SMALL LETTER O WITH DIAERESIS;Mn;230;NSM;;;;;N;;;;;
+1DF4;COMBINING LATIN SMALL LETTER U WITH DIAERESIS;Mn;230;NSM;;;;;N;;;;;
+1DF5;COMBINING UP TACK ABOVE;Mn;230;NSM;;;;;N;;;;;
+1DFB;COMBINING DELETION MARK;Mn;230;NSM;;;;;N;;;;;
 1DFC;COMBINING DOUBLE INVERTED BREVE BELOW;Mn;233;NSM;;;;;N;;;;;
 1DFD;COMBINING ALMOST EQUAL TO BELOW;Mn;220;NSM;;;;;N;;;;;
 1DFE;COMBINING LEFT ARROWHEAD ABOVE;Mn;230;NSM;;;;;N;;;;;
 1DFF;COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW;Mn;220;NSM;;;;;N;;;;;
 1E00;LATIN CAPITAL LETTER A WITH RING BELOW;Lu;0;L;0041 0325;;;;N;;;;1E01;
 1E01;LATIN SMALL LETTER A WITH RING BELOW;Ll;0;L;0061 0325;;;;N;;;1E00;;1E00
 1E02;LATIN CAPITAL LETTER B WITH DOT ABOVE;Lu;0;L;0042 0307;;;;N;;;;1E03;
 1E03;LATIN SMALL LETTER B WITH DOT ABOVE;Ll;0;L;0062 0307;;;;N;;;1E02;;1E02
@@ -7111,16 +7251,20 @@ 205C;DOTTED CROSS;Po;0;ON;;;;;N;;;;;
 205D;TRICOLON;Po;0;ON;;;;;N;;;;;
 205E;VERTICAL FOUR DOTS;Po;0;ON;;;;;N;;;;;
 205F;MEDIUM MATHEMATICAL SPACE;Zs;0;WS;<compat> 0020;;;;N;;;;;
 2060;WORD JOINER;Cf;0;BN;;;;;N;;;;;
 2061;FUNCTION APPLICATION;Cf;0;BN;;;;;N;;;;;
 2062;INVISIBLE TIMES;Cf;0;BN;;;;;N;;;;;
 2063;INVISIBLE SEPARATOR;Cf;0;BN;;;;;N;;;;;
 2064;INVISIBLE PLUS;Cf;0;BN;;;;;N;;;;;
+2066;LEFT-TO-RIGHT ISOLATE;Cf;0;LRI;;;;;N;;;;;
+2067;RIGHT-TO-LEFT ISOLATE;Cf;0;RLI;;;;;N;;;;;
+2068;FIRST STRONG ISOLATE;Cf;0;FSI;;;;;N;;;;;
+2069;POP DIRECTIONAL ISOLATE;Cf;0;PDI;;;;;N;;;;;
 206A;INHIBIT SYMMETRIC SWAPPING;Cf;0;BN;;;;;N;;;;;
 206B;ACTIVATE SYMMETRIC SWAPPING;Cf;0;BN;;;;;N;;;;;
 206C;INHIBIT ARABIC FORM SHAPING;Cf;0;BN;;;;;N;;;;;
 206D;ACTIVATE ARABIC FORM SHAPING;Cf;0;BN;;;;;N;;;;;
 206E;NATIONAL DIGIT SHAPES;Cf;0;BN;;;;;N;;;;;
 206F;NOMINAL DIGIT SHAPES;Cf;0;BN;;;;;N;;;;;
 2070;SUPERSCRIPT ZERO;No;0;EN;<super> 0030;;0;0;N;SUPERSCRIPT DIGIT ZERO;;;;
 2071;SUPERSCRIPT LATIN SMALL LETTER I;Lm;0;L;<super> 0069;;;;N;;;;;
@@ -7186,16 +7330,20 @@ 20B2;GUARANI SIGN;Sc;0;ET;;;;;N;;;;;
 20B3;AUSTRAL SIGN;Sc;0;ET;;;;;N;;;;;
 20B4;HRYVNIA SIGN;Sc;0;ET;;;;;N;;;;;
 20B5;CEDI SIGN;Sc;0;ET;;;;;N;;;;;
 20B6;LIVRE TOURNOIS SIGN;Sc;0;ET;;;;;N;;;;;
 20B7;SPESMILO SIGN;Sc;0;ET;;;;;N;;;;;
 20B8;TENGE SIGN;Sc;0;ET;;;;;N;;;;;
 20B9;INDIAN RUPEE SIGN;Sc;0;ET;;;;;N;;;;;
 20BA;TURKISH LIRA SIGN;Sc;0;ET;;;;;N;;;;;
+20BB;NORDIC MARK SIGN;Sc;0;ET;;;;;N;;;;;
+20BC;MANAT SIGN;Sc;0;ET;;;;;N;;;;;
+20BD;RUBLE SIGN;Sc;0;ET;;;;;N;;;;;
+20BE;LARI SIGN;Sc;0;ET;;;;;N;;;;;
 20D0;COMBINING LEFT HARPOON ABOVE;Mn;230;NSM;;;;;N;NON-SPACING LEFT HARPOON ABOVE;;;;
 20D1;COMBINING RIGHT HARPOON ABOVE;Mn;230;NSM;;;;;N;NON-SPACING RIGHT HARPOON ABOVE;;;;
 20D2;COMBINING LONG VERTICAL LINE OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING LONG VERTICAL BAR OVERLAY;;;;
 20D3;COMBINING SHORT VERTICAL LINE OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING SHORT VERTICAL BAR OVERLAY;;;;
 20D4;COMBINING ANTICLOCKWISE ARROW ABOVE;Mn;230;NSM;;;;;N;NON-SPACING ANTICLOCKWISE ARROW ABOVE;;;;
 20D5;COMBINING CLOCKWISE ARROW ABOVE;Mn;230;NSM;;;;;N;NON-SPACING CLOCKWISE ARROW ABOVE;;;;
 20D6;COMBINING LEFT ARROW ABOVE;Mn;230;NSM;;;;;N;NON-SPACING LEFT ARROW ABOVE;;;;
 20D7;COMBINING RIGHT ARROW ABOVE;Mn;230;NSM;;;;;N;NON-SPACING RIGHT ARROW ABOVE;;;;
@@ -7357,16 +7505,18 @@ 2181;ROMAN NUMERAL FIVE THOUSAND;Nl;0;L;
 2182;ROMAN NUMERAL TEN THOUSAND;Nl;0;L;;;;10000;N;;;;;
 2183;ROMAN NUMERAL REVERSED ONE HUNDRED;Lu;0;L;;;;;N;;;;2184;
 2184;LATIN SMALL LETTER REVERSED C;Ll;0;L;;;;;N;;;2183;;2183
 2185;ROMAN NUMERAL SIX LATE FORM;Nl;0;L;;;;6;N;;;;;
 2186;ROMAN NUMERAL FIFTY EARLY FORM;Nl;0;L;;;;50;N;;;;;
 2187;ROMAN NUMERAL FIFTY THOUSAND;Nl;0;L;;;;50000;N;;;;;
 2188;ROMAN NUMERAL ONE HUNDRED THOUSAND;Nl;0;L;;;;100000;N;;;;;
 2189;VULGAR FRACTION ZERO THIRDS;No;0;ON;<fraction> 0030 2044 0033;;;0;N;;;;;
+218A;TURNED DIGIT TWO;So;0;ON;;;;;N;;;;;
+218B;TURNED DIGIT THREE;So;0;ON;;;;;N;;;;;
 2190;LEFTWARDS ARROW;Sm;0;ON;;;;;N;LEFT ARROW;;;;
 2191;UPWARDS ARROW;Sm;0;ON;;;;;N;UP ARROW;;;;
 2192;RIGHTWARDS ARROW;Sm;0;ON;;;;;N;RIGHT ARROW;;;;
 2193;DOWNWARDS ARROW;Sm;0;ON;;;;;N;DOWN ARROW;;;;
 2194;LEFT RIGHT ARROW;Sm;0;ON;;;;;N;;;;;
 2195;UP DOWN ARROW;So;0;ON;;;;;N;;;;;
 2196;NORTH WEST ARROW;So;0;ON;;;;;N;UPPER LEFT ARROW;;;;
 2197;NORTH EAST ARROW;So;0;ON;;;;;N;UPPER RIGHT ARROW;;;;
@@ -7733,20 +7883,20 @@ 22FF;Z NOTATION BAG MEMBERSHIP;Sm;0;ON;;
 2300;DIAMETER SIGN;So;0;ON;;;;;N;;;;;
 2301;ELECTRIC ARROW;So;0;ON;;;;;N;;;;;
 2302;HOUSE;So;0;ON;;;;;N;;;;;
 2303;UP ARROWHEAD;So;0;ON;;;;;N;;;;;
 2304;DOWN ARROWHEAD;So;0;ON;;;;;N;;;;;
 2305;PROJECTIVE;So;0;ON;;;;;N;;;;;
 2306;PERSPECTIVE;So;0;ON;;;;;N;;;;;
 2307;WAVY LINE;So;0;ON;;;;;N;;;;;
-2308;LEFT CEILING;Sm;0;ON;;;;;Y;;;;;
-2309;RIGHT CEILING;Sm;0;ON;;;;;Y;;;;;
-230A;LEFT FLOOR;Sm;0;ON;;;;;Y;;;;;
-230B;RIGHT FLOOR;Sm;0;ON;;;;;Y;;;;;
+2308;LEFT CEILING;Ps;0;ON;;;;;Y;;;;;
+2309;RIGHT CEILING;Pe;0;ON;;;;;Y;;;;;
+230A;LEFT FLOOR;Ps;0;ON;;;;;Y;;;;;
+230B;RIGHT FLOOR;Pe;0;ON;;;;;Y;;;;;
 230C;BOTTOM RIGHT CROP;So;0;ON;;;;;N;;;;;
 230D;BOTTOM LEFT CROP;So;0;ON;;;;;N;;;;;
 230E;TOP RIGHT CROP;So;0;ON;;;;;N;;;;;
 230F;TOP LEFT CROP;So;0;ON;;;;;N;;;;;
 2310;REVERSED NOT SIGN;So;0;ON;;;;;N;;;;;
 2311;SQUARE LOZENGE;So;0;ON;;;;;N;;;;;
 2312;ARC;So;0;ON;;;;;N;;;;;
 2313;SEGMENT;So;0;ON;;;;;N;;;;;
@@ -7969,16 +8119,27 @@ 23EB;BLACK UP-POINTING DOUBLE TRIANGLE;S
 23EC;BLACK DOWN-POINTING DOUBLE TRIANGLE;So;0;ON;;;;;N;;;;;
 23ED;BLACK RIGHT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR;So;0;ON;;;;;N;;;;;
 23EE;BLACK LEFT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR;So;0;ON;;;;;N;;;;;
 23EF;BLACK RIGHT-POINTING TRIANGLE WITH DOUBLE VERTICAL BAR;So;0;ON;;;;;N;;;;;
 23F0;ALARM CLOCK;So;0;ON;;;;;N;;;;;
 23F1;STOPWATCH;So;0;ON;;;;;N;;;;;
 23F2;TIMER CLOCK;So;0;ON;;;;;N;;;;;
 23F3;HOURGLASS WITH FLOWING SAND;So;0;ON;;;;;N;;;;;
+23F4;BLACK MEDIUM LEFT-POINTING TRIANGLE;So;0;ON;;;;;N;;;;;
+23F5;BLACK MEDIUM RIGHT-POINTING TRIANGLE;So;0;ON;;;;;N;;;;;
+23F6;BLACK MEDIUM UP-POINTING TRIANGLE;So;0;ON;;;;;N;;;;;
+23F7;BLACK MEDIUM DOWN-POINTING TRIANGLE;So;0;ON;;;;;N;;;;;
+23F8;DOUBLE VERTICAL BAR;So;0;ON;;;;;N;;;;;
+23F9;BLACK SQUARE FOR STOP;So;0;ON;;;;;N;;;;;
+23FA;BLACK CIRCLE FOR RECORD;So;0;ON;;;;;N;;;;;
+23FB;POWER SYMBOL;So;0;ON;;;;;N;;;;;
+23FC;POWER ON-OFF SYMBOL;So;0;ON;;;;;N;;;;;
+23FD;POWER ON SYMBOL;So;0;ON;;;;;N;;;;;
+23FE;POWER SLEEP SYMBOL;So;0;ON;;;;;N;;;;;
 2400;SYMBOL FOR NULL;So;0;ON;;;;;N;GRAPHIC FOR NULL;;;;
 2401;SYMBOL FOR START OF HEADING;So;0;ON;;;;;N;GRAPHIC FOR START OF HEADING;;;;
 2402;SYMBOL FOR START OF TEXT;So;0;ON;;;;;N;GRAPHIC FOR START OF TEXT;;;;
 2403;SYMBOL FOR END OF TEXT;So;0;ON;;;;;N;GRAPHIC FOR END OF TEXT;;;;
 2404;SYMBOL FOR END OF TRANSMISSION;So;0;ON;;;;;N;GRAPHIC FOR END OF TRANSMISSION;;;;
 2405;SYMBOL FOR ENQUIRY;So;0;ON;;;;;N;GRAPHIC FOR ENQUIRY;;;;
 2406;SYMBOL FOR ACKNOWLEDGE;So;0;ON;;;;;N;GRAPHIC FOR ACKNOWLEDGE;;;;
 2407;SYMBOL FOR BELL;So;0;ON;;;;;N;GRAPHIC FOR BELL;;;;
@@ -8691,16 +8852,17 @@ 26F7;SKIER;So;0;ON;;;;;N;;;;;
 26F8;ICE SKATE;So;0;ON;;;;;N;;;;;
 26F9;PERSON WITH BALL;So;0;ON;;;;;N;;;;;
 26FA;TENT;So;0;ON;;;;;N;;;;;
 26FB;JAPANESE BANK SYMBOL;So;0;ON;;;;;N;;;;;
 26FC;HEADSTONE GRAVEYARD SYMBOL;So;0;ON;;;;;N;;;;;
 26FD;FUEL PUMP;So;0;ON;;;;;N;;;;;
 26FE;CUP ON BLACK SQUARE;So;0;ON;;;;;N;;;;;
 26FF;WHITE FLAG WITH HORIZONTAL MIDDLE BLACK STRIPE;So;0;ON;;;;;N;;;;;
+2700;BLACK SAFETY SCISSORS;So;0;ON;;;;;N;;;;;
 2701;UPPER BLADE SCISSORS;So;0;ON;;;;;N;;;;;
 2702;BLACK SCISSORS;So;0;ON;;;;;N;;;;;
 2703;LOWER BLADE SCISSORS;So;0;ON;;;;;N;;;;;
 2704;WHITE SCISSORS;So;0;ON;;;;;N;;;;;
 2705;WHITE HEAVY CHECK MARK;So;0;ON;;;;;N;;;;;
 2706;TELEPHONE LOCATION SIGN;So;0;ON;;;;;N;;;;;
 2707;TAPE DRIVE;So;0;ON;;;;;N;;;;;
 2708;AIRPLANE;So;0;ON;;;;;N;;;;;
@@ -9791,26 +9953,145 @@ 2B44;RIGHTWARDS ARROW THROUGH SUPERSET;S
 2B45;LEFTWARDS QUADRUPLE ARROW;So;0;ON;;;;;N;;;;;
 2B46;RIGHTWARDS QUADRUPLE ARROW;So;0;ON;;;;;N;;;;;
 2B47;REVERSE TILDE OPERATOR ABOVE RIGHTWARDS ARROW;Sm;0;ON;;;;;N;;;;;
 2B48;RIGHTWARDS ARROW ABOVE REVERSE ALMOST EQUAL TO;Sm;0;ON;;;;;N;;;;;
 2B49;TILDE OPERATOR ABOVE LEFTWARDS ARROW;Sm;0;ON;;;;;N;;;;;
 2B4A;LEFTWARDS ARROW ABOVE ALMOST EQUAL TO;Sm;0;ON;;;;;N;;;;;
 2B4B;LEFTWARDS ARROW ABOVE REVERSE TILDE OPERATOR;Sm;0;ON;;;;;N;;;;;
 2B4C;RIGHTWARDS ARROW ABOVE REVERSE TILDE OPERATOR;Sm;0;ON;;;;;N;;;;;
+2B4D;DOWNWARDS TRIANGLE-HEADED ZIGZAG ARROW;So;0;ON;;;;;N;;;;;
+2B4E;SHORT SLANTED NORTH ARROW;So;0;ON;;;;;N;;;;;
+2B4F;SHORT BACKSLANTED SOUTH ARROW;So;0;ON;;;;;N;;;;;
 2B50;WHITE MEDIUM STAR;So;0;ON;;;;;N;;;;;
 2B51;BLACK SMALL STAR;So;0;ON;;;;;N;;;;;
 2B52;WHITE SMALL STAR;So;0;ON;;;;;N;;;;;
 2B53;BLACK RIGHT-POINTING PENTAGON;So;0;ON;;;;;N;;;;;
 2B54;WHITE RIGHT-POINTING PENTAGON;So;0;ON;;;;;N;;;;;
 2B55;HEAVY LARGE CIRCLE;So;0;ON;;;;;N;;;;;
 2B56;HEAVY OVAL WITH OVAL INSIDE;So;0;ON;;;;;N;;;;;
 2B57;HEAVY CIRCLE WITH CIRCLE INSIDE;So;0;ON;;;;;N;;;;;
 2B58;HEAVY CIRCLE;So;0;ON;;;;;N;;;;;
 2B59;HEAVY CIRCLED SALTIRE;So;0;ON;;;;;N;;;;;
+2B5A;SLANTED NORTH ARROW WITH HOOKED HEAD;So;0;ON;;;;;N;;;;;
+2B5B;BACKSLANTED SOUTH ARROW WITH HOOKED TAIL;So;0;ON;;;;;N;;;;;
+2B5C;SLANTED NORTH ARROW WITH HORIZONTAL TAIL;So;0;ON;;;;;N;;;;;
+2B5D;BACKSLANTED SOUTH ARROW WITH HORIZONTAL TAIL;So;0;ON;;;;;N;;;;;
+2B5E;BENT ARROW POINTING DOWNWARDS THEN NORTH EAST;So;0;ON;;;;;N;;;;;
+2B5F;SHORT BENT ARROW POINTING DOWNWARDS THEN NORTH EAST;So;0;ON;;;;;N;;;;;
+2B60;LEFTWARDS TRIANGLE-HEADED ARROW;So;0;ON;;;;;N;;;;;
+2B61;UPWARDS TRIANGLE-HEADED ARROW;So;0;ON;;;;;N;;;;;
+2B62;RIGHTWARDS TRIANGLE-HEADED ARROW;So;0;ON;;;;;N;;;;;
+2B63;DOWNWARDS TRIANGLE-HEADED ARROW;So;0;ON;;;;;N;;;;;
+2B64;LEFT RIGHT TRIANGLE-HEADED ARROW;So;0;ON;;;;;N;;;;;
+2B65;UP DOWN TRIANGLE-HEADED ARROW;So;0;ON;;;;;N;;;;;
+2B66;NORTH WEST TRIANGLE-HEADED ARROW;So;0;ON;;;;;N;;;;;
+2B67;NORTH EAST TRIANGLE-HEADED ARROW;So;0;ON;;;;;N;;;;;
+2B68;SOUTH EAST TRIANGLE-HEADED ARROW;So;0;ON;;;;;N;;;;;
+2B69;SOUTH WEST TRIANGLE-HEADED ARROW;So;0;ON;;;;;N;;;;;
+2B6A;LEFTWARDS TRIANGLE-HEADED DASHED ARROW;So;0;ON;;;;;N;;;;;
+2B6B;UPWARDS TRIANGLE-HEADED DASHED ARROW;So;0;ON;;;;;N;;;;;
+2B6C;RIGHTWARDS TRIANGLE-HEADED DASHED ARROW;So;0;ON;;;;;N;;;;;
+2B6D;DOWNWARDS TRIANGLE-HEADED DASHED ARROW;So;0;ON;;;;;N;;;;;
+2B6E;CLOCKWISE TRIANGLE-HEADED OPEN CIRCLE ARROW;So;0;ON;;;;;N;;;;;
+2B6F;ANTICLOCKWISE TRIANGLE-HEADED OPEN CIRCLE ARROW;So;0;ON;;;;;N;;;;;
+2B70;LEFTWARDS TRIANGLE-HEADED ARROW TO BAR;So;0;ON;;;;;N;;;;;
+2B71;UPWARDS TRIANGLE-HEADED ARROW TO BAR;So;0;ON;;;;;N;;;;;
+2B72;RIGHTWARDS TRIANGLE-HEADED ARROW TO BAR;So;0;ON;;;;;N;;;;;
+2B73;DOWNWARDS TRIANGLE-HEADED ARROW TO BAR;So;0;ON;;;;;N;;;;;
+2B76;NORTH WEST TRIANGLE-HEADED ARROW TO BAR;So;0;ON;;;;;N;;;;;
+2B77;NORTH EAST TRIANGLE-HEADED ARROW TO BAR;So;0;ON;;;;;N;;;;;
+2B78;SOUTH EAST TRIANGLE-HEADED ARROW TO BAR;So;0;ON;;;;;N;;;;;
+2B79;SOUTH WEST TRIANGLE-HEADED ARROW TO BAR;So;0;ON;;;;;N;;;;;
+2B7A;LEFTWARDS TRIANGLE-HEADED ARROW WITH DOUBLE HORIZONTAL STROKE;So;0;ON;;;;;N;;;;;
+2B7B;UPWARDS TRIANGLE-HEADED ARROW WITH DOUBLE HORIZONTAL STROKE;So;0;ON;;;;;N;;;;;
+2B7C;RIGHTWARDS TRIANGLE-HEADED ARROW WITH DOUBLE HORIZONTAL STROKE;So;0;ON;;;;;N;;;;;
+2B7D;DOWNWARDS TRIANGLE-HEADED ARROW WITH DOUBLE HORIZONTAL STROKE;So;0;ON;;;;;N;;;;;
+2B7E;HORIZONTAL TAB KEY;So;0;ON;;;;;N;;;;;
+2B7F;VERTICAL TAB KEY;So;0;ON;;;;;N;;;;;
+2B80;LEFTWARDS TRIANGLE-HEADED ARROW OVER RIGHTWARDS TRIANGLE-HEADED ARROW;So;0;ON;;;;;N;;;;;
+2B81;UPWARDS TRIANGLE-HEADED ARROW LEFTWARDS OF DOWNWARDS TRIANGLE-HEADED ARROW;So;0;ON;;;;;N;;;;;
+2B82;RIGHTWARDS TRIANGLE-HEADED ARROW OVER LEFTWARDS TRIANGLE-HEADED ARROW;So;0;ON;;;;;N;;;;;
+2B83;DOWNWARDS TRIANGLE-HEADED ARROW LEFTWARDS OF UPWARDS TRIANGLE-HEADED ARROW;So;0;ON;;;;;N;;;;;
+2B84;LEFTWARDS TRIANGLE-HEADED PAIRED ARROWS;So;0;ON;;;;;N;;;;;
+2B85;UPWARDS TRIANGLE-HEADED PAIRED ARROWS;So;0;ON;;;;;N;;;;;
+2B86;RIGHTWARDS TRIANGLE-HEADED PAIRED ARROWS;So;0;ON;;;;;N;;;;;
+2B87;DOWNWARDS TRIANGLE-HEADED PAIRED ARROWS;So;0;ON;;;;;N;;;;;
+2B88;LEFTWARDS BLACK CIRCLED WHITE ARROW;So;0;ON;;;;;N;;;;;
+2B89;UPWARDS BLACK CIRCLED WHITE ARROW;So;0;ON;;;;;N;;;;;
+2B8A;RIGHTWARDS BLACK CIRCLED WHITE ARROW;So;0;ON;;;;;N;;;;;
+2B8B;DOWNWARDS BLACK CIRCLED WHITE ARROW;So;0;ON;;;;;N;;;;;
+2B8C;ANTICLOCKWISE TRIANGLE-HEADED RIGHT U-SHAPED ARROW;So;0;ON;;;;;N;;;;;
+2B8D;ANTICLOCKWISE TRIANGLE-HEADED BOTTOM U-SHAPED ARROW;So;0;ON;;;;;N;;;;;
+2B8E;ANTICLOCKWISE TRIANGLE-HEADED LEFT U-SHAPED ARROW;So;0;ON;;;;;N;;;;;
+2B8F;ANTICLOCKWISE TRIANGLE-HEADED TOP U-SHAPED ARROW;So;0;ON;;;;;N;;;;;
+2B90;RETURN LEFT;So;0;ON;;;;;N;;;;;
+2B91;RETURN RIGHT;So;0;ON;;;;;N;;;;;
+2B92;NEWLINE LEFT;So;0;ON;;;;;N;;;;;
+2B93;NEWLINE RIGHT;So;0;ON;;;;;N;;;;;
+2B94;FOUR CORNER ARROWS CIRCLING ANTICLOCKWISE;So;0;ON;;;;;N;;;;;
+2B95;RIGHTWARDS BLACK ARROW;So;0;ON;;;;;N;;;;;
+2B98;THREE-D TOP-LIGHTED LEFTWARDS EQUILATERAL ARROWHEAD;So;0;ON;;;;;N;;;;;
+2B99;THREE-D RIGHT-LIGHTED UPWARDS EQUILATERAL ARROWHEAD;So;0;ON;;;;;N;;;;;
+2B9A;THREE-D TOP-LIGHTED RIGHTWARDS EQUILATERAL ARROWHEAD;So;0;ON;;;;;N;;;;;
+2B9B;THREE-D LEFT-LIGHTED DOWNWARDS EQUILATERAL ARROWHEAD;So;0;ON;;;;;N;;;;;
+2B9C;BLACK LEFTWARDS EQUILATERAL ARROWHEAD;So;0;ON;;;;;N;;;;;
+2B9D;BLACK UPWARDS EQUILATERAL ARROWHEAD;So;0;ON;;;;;N;;;;;
+2B9E;BLACK RIGHTWARDS EQUILATERAL ARROWHEAD;So;0;ON;;;;;N;;;;;
+2B9F;BLACK DOWNWARDS EQUILATERAL ARROWHEAD;So;0;ON;;;;;N;;;;;
+2BA0;DOWNWARDS TRIANGLE-HEADED ARROW WITH LONG TIP LEFTWARDS;So;0;ON;;;;;N;;;;;
+2BA1;DOWNWARDS TRIANGLE-HEADED ARROW WITH LONG TIP RIGHTWARDS;So;0;ON;;;;;N;;;;;
+2BA2;UPWARDS TRIANGLE-HEADED ARROW WITH LONG TIP LEFTWARDS;So;0;ON;;;;;N;;;;;
+2BA3;UPWARDS TRIANGLE-HEADED ARROW WITH LONG TIP RIGHTWARDS;So;0;ON;;;;;N;;;;;
+2BA4;LEFTWARDS TRIANGLE-HEADED ARROW WITH LONG TIP UPWARDS;So;0;ON;;;;;N;;;;;
+2BA5;RIGHTWARDS TRIANGLE-HEADED ARROW WITH LONG TIP UPWARDS;So;0;ON;;;;;N;;;;;
+2BA6;LEFTWARDS TRIANGLE-HEADED ARROW WITH LONG TIP DOWNWARDS;So;0;ON;;;;;N;;;;;
+2BA7;RIGHTWARDS TRIANGLE-HEADED ARROW WITH LONG TIP DOWNWARDS;So;0;ON;;;;;N;;;;;
+2BA8;BLACK CURVED DOWNWARDS AND LEFTWARDS ARROW;So;0;ON;;;;;N;;;;;
+2BA9;BLACK CURVED DOWNWARDS AND RIGHTWARDS ARROW;So;0;ON;;;;;N;;;;;
+2BAA;BLACK CURVED UPWARDS AND LEFTWARDS ARROW;So;0;ON;;;;;N;;;;;
+2BAB;BLACK CURVED UPWARDS AND RIGHTWARDS ARROW;So;0;ON;;;;;N;;;;;
+2BAC;BLACK CURVED LEFTWARDS AND UPWARDS ARROW;So;0;ON;;;;;N;;;;;
+2BAD;BLACK CURVED RIGHTWARDS AND UPWARDS ARROW;So;0;ON;;;;;N;;;;;
+2BAE;BLACK CURVED LEFTWARDS AND DOWNWARDS ARROW;So;0;ON;;;;;N;;;;;
+2BAF;BLACK CURVED RIGHTWARDS AND DOWNWARDS ARROW;So;0;ON;;;;;N;;;;;
+2BB0;RIBBON ARROW DOWN LEFT;So;0;ON;;;;;N;;;;;
+2BB1;RIBBON ARROW DOWN RIGHT;So;0;ON;;;;;N;;;;;
+2BB2;RIBBON ARROW UP LEFT;So;0;ON;;;;;N;;;;;
+2BB3;RIBBON ARROW UP RIGHT;So;0;ON;;;;;N;;;;;
+2BB4;RIBBON ARROW LEFT UP;So;0;ON;;;;;N;;;;;
+2BB5;RIBBON ARROW RIGHT UP;So;0;ON;;;;;N;;;;;
+2BB6;RIBBON ARROW LEFT DOWN;So;0;ON;;;;;N;;;;;
+2BB7;RIBBON ARROW RIGHT DOWN;So;0;ON;;;;;N;;;;;
+2BB8;UPWARDS WHITE ARROW FROM BAR WITH HORIZONTAL BAR;So;0;ON;;;;;N;;;;;
+2BB9;UP ARROWHEAD IN A RECTANGLE BOX;So;0;ON;;;;;N;;;;;
+2BBD;BALLOT BOX WITH LIGHT X;So;0;ON;;;;;N;;;;;
+2BBE;CIRCLED X;So;0;ON;;;;;N;;;;;
+2BBF;CIRCLED BOLD X;So;0;ON;;;;;N;;;;;
+2BC0;BLACK SQUARE CENTRED;So;0;ON;;;;;N;;;;;
+2BC1;BLACK DIAMOND CENTRED;So;0;ON;;;;;N;;;;;
+2BC2;TURNED BLACK PENTAGON;So;0;ON;;;;;N;;;;;
+2BC3;HORIZONTAL BLACK OCTAGON;So;0;ON;;;;;N;;;;;
+2BC4;BLACK OCTAGON;So;0;ON;;;;;N;;;;;
+2BC5;BLACK MEDIUM UP-POINTING TRIANGLE CENTRED;So;0;ON;;;;;N;;;;;
+2BC6;BLACK MEDIUM DOWN-POINTING TRIANGLE CENTRED;So;0;ON;;;;;N;;;;;
+2BC7;BLACK MEDIUM LEFT-POINTING TRIANGLE CENTRED;So;0;ON;;;;;N;;;;;
+2BC8;BLACK MEDIUM RIGHT-POINTING TRIANGLE CENTRED;So;0;ON;;;;;N;;;;;
+2BCA;TOP HALF BLACK CIRCLE;So;0;ON;;;;;N;;;;;
+2BCB;BOTTOM HALF BLACK CIRCLE;So;0;ON;;;;;N;;;;;
+2BCC;LIGHT FOUR POINTED BLACK CUSP;So;0;ON;;;;;N;;;;;
+2BCD;ROTATED LIGHT FOUR POINTED BLACK CUSP;So;0;ON;;;;;N;;;;;
+2BCE;WHITE FOUR POINTED CUSP;So;0;ON;;;;;N;;;;;
+2BCF;ROTATED WHITE FOUR POINTED CUSP;So;0;ON;;;;;N;;;;;
+2BD0;SQUARE POSITION INDICATOR;So;0;ON;;;;;N;;;;;
+2BD1;UNCERTAINTY SIGN;So;0;ON;;;;;N;;;;;
+2BEC;LEFTWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS;So;0;ON;;;;;N;;;;;
+2BED;UPWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS;So;0;ON;;;;;N;;;;;
+2BEE;RIGHTWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS;So;0;ON;;;;;N;;;;;
+2BEF;DOWNWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS;So;0;ON;;;;;N;;;;;
 2C00;GLAGOLITIC CAPITAL LETTER AZU;Lu;0;L;;;;;N;;;;2C30;
 2C01;GLAGOLITIC CAPITAL LETTER BUKY;Lu;0;L;;;;;N;;;;2C31;
 2C02;GLAGOLITIC CAPITAL LETTER VEDE;Lu;0;L;;;;;N;;;;2C32;
 2C03;GLAGOLITIC CAPITAL LETTER GLAGOLI;Lu;0;L;;;;;N;;;;2C33;
 2C04;GLAGOLITIC CAPITAL LETTER DOBRO;Lu;0;L;;;;;N;;;;2C34;
 2C05;GLAGOLITIC CAPITAL LETTER YESTU;Lu;0;L;;;;;N;;;;2C35;
 2C06;GLAGOLITIC CAPITAL LETTER ZHIVETE;Lu;0;L;;;;;N;;;;2C36;
 2C07;GLAGOLITIC CAPITAL LETTER DZELO;Lu;0;L;;;;;N;;;;2C37;
@@ -10320,16 +10601,25 @@ 2E33;RAISED DOT;Po;0;ON;;;;;N;;;;;
 2E34;RAISED COMMA;Po;0;ON;;;;;N;;;;;
 2E35;TURNED SEMICOLON;Po;0;ON;;;;;N;;;;;
 2E36;DAGGER WITH LEFT GUARD;Po;0;ON;;;;;N;;;;;
 2E37;DAGGER WITH RIGHT GUARD;Po;0;ON;;;;;N;;;;;
 2E38;TURNED DAGGER;Po;0;ON;;;;;N;;;;;
 2E39;TOP HALF SECTION SIGN;Po;0;ON;;;;;N;;;;;
 2E3A;TWO-EM DASH;Pd;0;ON;;;;;N;;;;;
 2E3B;THREE-EM DASH;Pd;0;ON;;;;;N;;;;;
+2E3C;STENOGRAPHIC FULL STOP;Po;0;ON;;;;;N;;;;;
+2E3D;VERTICAL SIX DOTS;Po;0;ON;;;;;N;;;;;
+2E3E;WIGGLY VERTICAL LINE;Po;0;ON;;;;;N;;;;;
+2E3F;CAPITULUM;Po;0;ON;;;;;N;;;;;
+2E40;DOUBLE HYPHEN;Pd;0;ON;;;;;N;;;;;
+2E41;REVERSED COMMA;Po;0;ON;;;;;N;;;;;
+2E42;DOUBLE LOW-REVERSED-9 QUOTATION MARK;Ps;0;ON;;;;;N;;;;;
+2E43;DASH WITH LEFT UPTURN;Po;0;ON;;;;;N;;;;;
+2E44;DOUBLE SUSPENSION MARK;Po;0;ON;;;;;N;;;;;
 2E80;CJK RADICAL REPEAT;So;0;ON;;;;;N;;;;;
 2E81;CJK RADICAL CLIFF;So;0;ON;;;;;N;;;;;
 2E82;CJK RADICAL SECOND ONE;So;0;ON;;;;;N;;;;;
 2E83;CJK RADICAL SECOND TWO;So;0;ON;;;;;N;;;;;
 2E84;CJK RADICAL SECOND THREE;So;0;ON;;;;;N;;;;;
 2E85;CJK RADICAL PERSON;So;0;ON;;;;;N;;;;;
 2E86;CJK RADICAL BOX;So;0;ON;;;;;N;;;;;
 2E87;CJK RADICAL TABLE;So;0;ON;;;;;N;;;;;
@@ -11721,17 +12011,17 @@ 4DF8;HEXAGRAM FOR THE GENTLE WIND;So;0;O
 4DF9;HEXAGRAM FOR THE JOYOUS LAKE;So;0;ON;;;;;N;;;;;
 4DFA;HEXAGRAM FOR DISPERSION;So;0;ON;;;;;N;;;;;
 4DFB;HEXAGRAM FOR LIMITATION;So;0;ON;;;;;N;;;;;
 4DFC;HEXAGRAM FOR INNER TRUTH;So;0;ON;;;;;N;;;;;
 4DFD;HEXAGRAM FOR SMALL PREPONDERANCE;So;0;ON;;;;;N;;;;;
 4DFE;HEXAGRAM FOR AFTER COMPLETION;So;0;ON;;;;;N;;;;;
 4DFF;HEXAGRAM FOR BEFORE COMPLETION;So;0;ON;;;;;N;;;;;
 4E00;<CJK Ideograph, First>;Lo;0;L;;;;;N;;;;;
-9FCC;<CJK Ideograph, Last>;Lo;0;L;;;;;N;;;;;
+9FD5;<CJK Ideograph, Last>;Lo;0;L;;;;;N;;;;;
 A000;YI SYLLABLE IT;Lo;0;L;;;;;N;;;;;
 A001;YI SYLLABLE IX;Lo;0;L;;;;;N;;;;;
 A002;YI SYLLABLE I;Lo;0;L;;;;;N;;;;;
 A003;YI SYLLABLE IP;Lo;0;L;;;;;N;;;;;
 A004;YI SYLLABLE IET;Lo;0;L;;;;;N;;;;;
 A005;YI SYLLABLE IEX;Lo;0;L;;;;;N;;;;;
 A006;YI SYLLABLE IE;Lo;0;L;;;;;N;;;;;
 A007;YI SYLLABLE IEP;Lo;0;L;;;;;N;;;;;
@@ -13378,16 +13668,23 @@ A68F;CYRILLIC SMALL LETTER TSWE;Ll;0;L;;
 A690;CYRILLIC CAPITAL LETTER TSSE;Lu;0;L;;;;;N;;;;A691;
 A691;CYRILLIC SMALL LETTER TSSE;Ll;0;L;;;;;N;;;A690;;A690
 A692;CYRILLIC CAPITAL LETTER TCHE;Lu;0;L;;;;;N;;;;A693;
 A693;CYRILLIC SMALL LETTER TCHE;Ll;0;L;;;;;N;;;A692;;A692
 A694;CYRILLIC CAPITAL LETTER HWE;Lu;0;L;;;;;N;;;;A695;
 A695;CYRILLIC SMALL LETTER HWE;Ll;0;L;;;;;N;;;A694;;A694
 A696;CYRILLIC CAPITAL LETTER SHWE;Lu;0;L;;;;;N;;;;A697;
 A697;CYRILLIC SMALL LETTER SHWE;Ll;0;L;;;;;N;;;A696;;A696
+A698;CYRILLIC CAPITAL LETTER DOUBLE O;Lu;0;L;;;;;N;;;;A699;
+A699;CYRILLIC SMALL LETTER DOUBLE O;Ll;0;L;;;;;N;;;A698;;A698
+A69A;CYRILLIC CAPITAL LETTER CROSSED O;Lu;0;L;;;;;N;;;;A69B;
+A69B;CYRILLIC SMALL LETTER CROSSED O;Ll;0;L;;;;;N;;;A69A;;A69A
+A69C;MODIFIER LETTER CYRILLIC HARD SIGN;Lm;0;L;<super> 044A;;;;N;;;;;
+A69D;MODIFIER LETTER CYRILLIC SOFT SIGN;Lm;0;L;<super> 044C;;;;N;;;;;
+A69E;COMBINING CYRILLIC LETTER EF;Mn;230;NSM;;;;;N;;;;;
 A69F;COMBINING CYRILLIC LETTER IOTIFIED E;Mn;230;NSM;;;;;N;;;;;
 A6A0;BAMUM LETTER A;Lo;0;L;;;;;N;;;;;
 A6A1;BAMUM LETTER KA;Lo;0;L;;;;;N;;;;;
 A6A2;BAMUM LETTER U;Lo;0;L;;;;;N;;;;;
 A6A3;BAMUM LETTER KU;Lo;0;L;;;;;N;;;;;
 A6A4;BAMUM LETTER EE;Lo;0;L;;;;;N;;;;;
 A6A5;BAMUM LETTER REE;Lo;0;L;;;;;N;;;;;
 A6A6;BAMUM LETTER TAE;Lo;0;L;;;;;N;;;;;
@@ -13610,31 +13907,57 @@ A786;LATIN CAPITAL LETTER INSULAR T;Lu;0
 A787;LATIN SMALL LETTER INSULAR T;Ll;0;L;;;;;N;;;A786;;A786
 A788;MODIFIER LETTER LOW CIRCUMFLEX ACCENT;Lm;0;ON;;;;;N;;;;;
 A789;MODIFIER LETTER COLON;Sk;0;L;;;;;N;;;;;
 A78A;MODIFIER LETTER SHORT EQUALS SIGN;Sk;0;L;;;;;N;;;;;
 A78B;LATIN CAPITAL LETTER SALTILLO;Lu;0;L;;;;;N;;;;A78C;
 A78C;LATIN SMALL LETTER SALTILLO;Ll;0;L;;;;;N;;;A78B;;A78B
 A78D;LATIN CAPITAL LETTER TURNED H;Lu;0;L;;;;;N;;;;0265;
 A78E;LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT;Ll;0;L;;;;;N;;;;;
+A78F;LATIN LETTER SINOLOGICAL DOT;Lo;0;L;;;;;N;;;;;
 A790;LATIN CAPITAL LETTER N WITH DESCENDER;Lu;0;L;;;;;N;;;;A791;
 A791;LATIN SMALL LETTER N WITH DESCENDER;Ll;0;L;;;;;N;;;A790;;A790
 A792;LATIN CAPITAL LETTER C WITH BAR;Lu;0;L;;;;;N;;;;A793;
 A793;LATIN SMALL LETTER C WITH BAR;Ll;0;L;;;;;N;;;A792;;A792
+A794;LATIN SMALL LETTER C WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;;
+A795;LATIN SMALL LETTER H WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;;
+A796;LATIN CAPITAL LETTER B WITH FLOURISH;Lu;0;L;;;;;N;;;;A797;
+A797;LATIN SMALL LETTER B WITH FLOURISH;Ll;0;L;;;;;N;;;A796;;A796
+A798;LATIN CAPITAL LETTER F WITH STROKE;Lu;0;L;;;;;N;;;;A799;
+A799;LATIN SMALL LETTER F WITH STROKE;Ll;0;L;;;;;N;;;A798;;A798
+A79A;LATIN CAPITAL LETTER VOLAPUK AE;Lu;0;L;;;;;N;;;;A79B;
+A79B;LATIN SMALL LETTER VOLAPUK AE;Ll;0;L;;;;;N;;;A79A;;A79A
+A79C;LATIN CAPITAL LETTER VOLAPUK OE;Lu;0;L;;;;;N;;;;A79D;
+A79D;LATIN SMALL LETTER VOLAPUK OE;Ll;0;L;;;;;N;;;A79C;;A79C
+A79E;LATIN CAPITAL LETTER VOLAPUK UE;Lu;0;L;;;;;N;;;;A79F;
+A79F;LATIN SMALL LETTER VOLAPUK UE;Ll;0;L;;;;;N;;;A79E;;A79E
 A7A0;LATIN CAPITAL LETTER G WITH OBLIQUE STROKE;Lu;0;L;;;;;N;;;;A7A1;
 A7A1;LATIN SMALL LETTER G WITH OBLIQUE STROKE;Ll;0;L;;;;;N;;;A7A0;;A7A0
 A7A2;LATIN CAPITAL LETTER K WITH OBLIQUE STROKE;Lu;0;L;;;;;N;;;;A7A3;
 A7A3;LATIN SMALL LETTER K WITH OBLIQUE STROKE;Ll;0;L;;;;;N;;;A7A2;;A7A2
 A7A4;LATIN CAPITAL LETTER N WITH OBLIQUE STROKE;Lu;0;L;;;;;N;;;;A7A5;
 A7A5;LATIN SMALL LETTER N WITH OBLIQUE STROKE;Ll;0;L;;;;;N;;;A7A4;;A7A4
 A7A6;LATIN CAPITAL LETTER R WITH OBLIQUE STROKE;Lu;0;L;;;;;N;;;;A7A7;
 A7A7;LATIN SMALL LETTER R WITH OBLIQUE STROKE;Ll;0;L;;;;;N;;;A7A6;;A7A6
 A7A8;LATIN CAPITAL LETTER S WITH OBLIQUE STROKE;Lu;0;L;;;;;N;;;;A7A9;
 A7A9;LATIN SMALL LETTER S WITH OBLIQUE STROKE;Ll;0;L;;;;;N;;;A7A8;;A7A8
 A7AA;LATIN CAPITAL LETTER H WITH HOOK;Lu;0;L;;;;;N;;;;0266;
+A7AB;LATIN CAPITAL LETTER REVERSED OPEN E;Lu;0;L;;;;;N;;;;025C;
+A7AC;LATIN CAPITAL LETTER SCRIPT G;Lu;0;L;;;;;N;;;;0261;
+A7AD;LATIN CAPITAL LETTER L WITH BELT;Lu;0;L;;;;;N;;;;026C;
+A7AE;LATIN CAPITAL LETTER SMALL CAPITAL I;Lu;0;L;;;;;N;;;;026A;
+A7B0;LATIN CAPITAL LETTER TURNED K;Lu;0;L;;;;;N;;;;029E;
+A7B1;LATIN CAPITAL LETTER TURNED T;Lu;0;L;;;;;N;;;;0287;
+A7B2;LATIN CAPITAL LETTER J WITH CROSSED-TAIL;Lu;0;L;;;;;N;;;;029D;
+A7B3;LATIN CAPITAL LETTER CHI;Lu;0;L;;;;;N;;;;AB53;
+A7B4;LATIN CAPITAL LETTER BETA;Lu;0;L;;;;;N;;;;A7B5;
+A7B5;LATIN SMALL LETTER BETA;Ll;0;L;;;;;N;;;A7B4;;A7B4
+A7B6;LATIN CAPITAL LETTER OMEGA;Lu;0;L;;;;;N;;;;A7B7;
+A7B7;LATIN SMALL LETTER OMEGA;Ll;0;L;;;;;N;;;A7B6;;A7B6
+A7F7;LATIN EPIGRAPHIC LETTER SIDEWAYS I;Lo;0;L;;;;;N;;;;;
 A7F8;MODIFIER LETTER CAPITAL H WITH STROKE;Lm;0;L;<super> 0126;;;;N;;;;;
 A7F9;MODIFIER LETTER SMALL LIGATURE OE;Lm;0;L;<super> 0153;;;;N;;;;;
 A7FA;LATIN LETTER SMALL CAPITAL TURNED M;Ll;0;L;;;;;N;;;;;
 A7FB;LATIN EPIGRAPHIC LETTER REVERSED F;Lo;0;L;;;;;N;;;;;
 A7FC;LATIN EPIGRAPHIC LETTER REVERSED P;Lo;0;L;;;;;N;;;;;
 A7FD;LATIN EPIGRAPHIC LETTER INVERTED M;Lo;0;L;;;;;N;;;;;
 A7FE;LATIN EPIGRAPHIC LETTER I LONGA;Lo;0;L;;;;;N;;;;;
 A7FF;LATIN EPIGRAPHIC LETTER ARCHAIC M;Lo;0;L;;;;;N;;;;;
@@ -13812,16 +14135,17 @@ A8BC;SAURASHTRA VOWEL SIGN VOCALIC L;Mc;
 A8BD;SAURASHTRA VOWEL SIGN VOCALIC LL;Mc;0;L;;;;;N;;;;;
 A8BE;SAURASHTRA VOWEL SIGN E;Mc;0;L;;;;;N;;;;;
 A8BF;SAURASHTRA VOWEL SIGN EE;Mc;0;L;;;;;N;;;;;
 A8C0;SAURASHTRA VOWEL SIGN AI;Mc;0;L;;;;;N;;;;;
 A8C1;SAURASHTRA VOWEL SIGN O;Mc;0;L;;;;;N;;;;;
 A8C2;SAURASHTRA VOWEL SIGN OO;Mc;0;L;;;;;N;;;;;
 A8C3;SAURASHTRA VOWEL SIGN AU;Mc;0;L;;;;;N;;;;;
 A8C4;SAURASHTRA SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;;
+A8C5;SAURASHTRA SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;;
 A8CE;SAURASHTRA DANDA;Po;0;L;;;;;N;;;;;
 A8CF;SAURASHTRA DOUBLE DANDA;Po;0;L;;;;;N;;;;;
 A8D0;SAURASHTRA DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
 A8D1;SAURASHTRA DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
 A8D2;SAURASHTRA DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
 A8D3;SAURASHTRA DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
 A8D4;SAURASHTRA DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
 A8D5;SAURASHTRA DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
@@ -13852,16 +14176,18 @@ A8F3;DEVANAGARI SIGN CANDRABINDU VIRAMA;
 A8F4;DEVANAGARI SIGN DOUBLE CANDRABINDU VIRAMA;Lo;0;L;;;;;N;;;;;
 A8F5;DEVANAGARI SIGN CANDRABINDU TWO;Lo;0;L;;;;;N;;;;;
 A8F6;DEVANAGARI SIGN CANDRABINDU THREE;Lo;0;L;;;;;N;;;;;
 A8F7;DEVANAGARI SIGN CANDRABINDU AVAGRAHA;Lo;0;L;;;;;N;;;;;
 A8F8;DEVANAGARI SIGN PUSHPIKA;Po;0;L;;;;;N;;;;;
 A8F9;DEVANAGARI GAP FILLER;Po;0;L;;;;;N;;;;;
 A8FA;DEVANAGARI CARET;Po;0;L;;;;;N;;;;;
 A8FB;DEVANAGARI HEADSTROKE;Lo;0;L;;;;;N;;;;;
+A8FC;DEVANAGARI SIGN SIDDHAM;Po;0;L;;;;;N;;;;;
+A8FD;DEVANAGARI JAIN OM;Lo;0;L;;;;;N;;;;;
 A900;KAYAH LI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
 A901;KAYAH LI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
 A902;KAYAH LI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
 A903;KAYAH LI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
 A904;KAYAH LI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
 A905;KAYAH LI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
 A906;KAYAH LI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
 A907;KAYAH LI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
@@ -14057,16 +14383,47 @@ A9D3;JAVANESE DIGIT THREE;Nd;0;L;;3;3;3;
 A9D4;JAVANESE DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
 A9D5;JAVANESE DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
 A9D6;JAVANESE DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
 A9D7;JAVANESE DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
 A9D8;JAVANESE DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
 A9D9;JAVANESE DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
 A9DE;JAVANESE PADA TIRTA TUMETES;Po;0;L;;;;;N;;;;;
 A9DF;JAVANESE PADA ISEN-ISEN;Po;0;L;;;;;N;;;;;
+A9E0;MYANMAR LETTER SHAN GHA;Lo;0;L;;;;;N;;;;;
+A9E1;MYANMAR LETTER SHAN CHA;Lo;0;L;;;;;N;;;;;
+A9E2;MYANMAR LETTER SHAN JHA;Lo;0;L;;;;;N;;;;;
+A9E3;MYANMAR LETTER SHAN NNA;Lo;0;L;;;;;N;;;;;
+A9E4;MYANMAR LETTER SHAN BHA;Lo;0;L;;;;;N;;;;;
+A9E5;MYANMAR SIGN SHAN SAW;Mn;0;NSM;;;;;N;;;;;
+A9E6;MYANMAR MODIFIER LETTER SHAN REDUPLICATION;Lm;0;L;;;;;N;;;;;
+A9E7;MYANMAR LETTER TAI LAING NYA;Lo;0;L;;;;;N;;;;;
+A9E8;MYANMAR LETTER TAI LAING FA;Lo;0;L;;;;;N;;;;;
+A9E9;MYANMAR LETTER TAI LAING GA;Lo;0;L;;;;;N;;;;;
+A9EA;MYANMAR LETTER TAI LAING GHA;Lo;0;L;;;;;N;;;;;
+A9EB;MYANMAR LETTER TAI LAING JA;Lo;0;L;;;;;N;;;;;
+A9EC;MYANMAR LETTER TAI LAING JHA;Lo;0;L;;;;;N;;;;;
+A9ED;MYANMAR LETTER TAI LAING DDA;Lo;0;L;;;;;N;;;;;
+A9EE;MYANMAR LETTER TAI LAING DDHA;Lo;0;L;;;;;N;;;;;
+A9EF;MYANMAR LETTER TAI LAING NNA;Lo;0;L;;;;;N;;;;;
+A9F0;MYANMAR TAI LAING DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
+A9F1;MYANMAR TAI LAING DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+A9F2;MYANMAR TAI LAING DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+A9F3;MYANMAR TAI LAING DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+A9F4;MYANMAR TAI LAING DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+A9F5;MYANMAR TAI LAING DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+A9F6;MYANMAR TAI LAING DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+A9F7;MYANMAR TAI LAING DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+A9F8;MYANMAR TAI LAING DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+A9F9;MYANMAR TAI LAING DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+A9FA;MYANMAR LETTER TAI LAING LLA;Lo;0;L;;;;;N;;;;;
+A9FB;MYANMAR LETTER TAI LAING DA;Lo;0;L;;;;;N;;;;;
+A9FC;MYANMAR LETTER TAI LAING DHA;Lo;0;L;;;;;N;;;;;
+A9FD;MYANMAR LETTER TAI LAING BA;Lo;0;L;;;;;N;;;;;
+A9FE;MYANMAR LETTER TAI LAING BHA;Lo;0;L;;;;;N;;;;;
 AA00;CHAM LETTER A;Lo;0;L;;;;;N;;;;;
 AA01;CHAM LETTER I;Lo;0;L;;;;;N;;;;;
 AA02;CHAM LETTER U;Lo;0;L;;;;;N;;;;;
 AA03;CHAM LETTER E;Lo;0;L;;;;;N;;;;;
 AA04;CHAM LETTER AI;Lo;0;L;;;;;N;;;;;
 AA05;CHAM LETTER O;Lo;0;L;;;;;N;;;;;
 AA06;CHAM LETTER KA;Lo;0;L;;;;;N;;;;;
 AA07;CHAM LETTER KHA;Lo;0;L;;;;;N;;;;;
@@ -14168,16 +14525,20 @@ AA73;MYANMAR LETTER KHAMTI RA;Lo;0;L;;;;
 AA74;MYANMAR LOGOGRAM KHAMTI OAY;Lo;0;L;;;;;N;;;;;
 AA75;MYANMAR LOGOGRAM KHAMTI QN;Lo;0;L;;;;;N;;;;;
 AA76;MYANMAR LOGOGRAM KHAMTI HM;Lo;0;L;;;;;N;;;;;
 AA77;MYANMAR SYMBOL AITON EXCLAMATION;So;0;L;;;;;N;;;;;
 AA78;MYANMAR SYMBOL AITON ONE;So;0;L;;;;;N;;;;;
 AA79;MYANMAR SYMBOL AITON TWO;So;0;L;;;;;N;;;;;
 AA7A;MYANMAR LETTER AITON RA;Lo;0;L;;;;;N;;;;;
 AA7B;MYANMAR SIGN PAO KAREN TONE;Mc;0;L;;;;;N;;;;;
+AA7C;MYANMAR SIGN TAI LAING TONE-2;Mn;0;NSM;;;;;N;;;;;
+AA7D;MYANMAR SIGN TAI LAING TONE-5;Mc;0;L;;;;;N;;;;;
+AA7E;MYANMAR LETTER SHWE PALAUNG CHA;Lo;0;L;;;;;N;;;;;
+AA7F;MYANMAR LETTER SHWE PALAUNG SHA;Lo;0;L;;;;;N;;;;;
 AA80;TAI VIET LETTER LOW KO;Lo;0;L;;;;;N;;;;;
 AA81;TAI VIET LETTER HIGH KO;Lo;0;L;;;;;N;;;;;
 AA82;TAI VIET LETTER LOW KHO;Lo;0;L;;;;;N;;;;;
 AA83;TAI VIET LETTER HIGH KHO;Lo;0;L;;;;;N;;;;;
 AA84;TAI VIET LETTER LOW KHHO;Lo;0;L;;;;;N;;;;;
 AA85;TAI VIET LETTER HIGH KHHO;Lo;0;L;;;;;N;;;;;
 AA86;TAI VIET LETTER LOW GO;Lo;0;L;;;;;N;;;;;
 AA87;TAI VIET LETTER HIGH GO;Lo;0;L;;;;;N;;;;;
@@ -14295,16 +14656,150 @@ AB25;ETHIOPIC SYLLABLE CCHHE;Lo;0;L;;;;;
 AB26;ETHIOPIC SYLLABLE CCHHO;Lo;0;L;;;;;N;;;;;
 AB28;ETHIOPIC SYLLABLE BBA;Lo;0;L;;;;;N;;;;;
 AB29;ETHIOPIC SYLLABLE BBU;Lo;0;L;;;;;N;;;;;
 AB2A;ETHIOPIC SYLLABLE BBI;Lo;0;L;;;;;N;;;;;
 AB2B;ETHIOPIC SYLLABLE BBAA;Lo;0;L;;;;;N;;;;;
 AB2C;ETHIOPIC SYLLABLE BBEE;Lo;0;L;;;;;N;;;;;
 AB2D;ETHIOPIC SYLLABLE BBE;Lo;0;L;;;;;N;;;;;
 AB2E;ETHIOPIC SYLLABLE BBO;Lo;0;L;;;;;N;;;;;
+AB30;LATIN SMALL LETTER BARRED ALPHA;Ll;0;L;;;;;N;;;;;
+AB31;LATIN SMALL LETTER A REVERSED-SCHWA;Ll;0;L;;;;;N;;;;;
+AB32;LATIN SMALL LETTER BLACKLETTER E;Ll;0;L;;;;;N;;;;;
+AB33;LATIN SMALL LETTER BARRED E;Ll;0;L;;;;;N;;;;;
+AB34;LATIN SMALL LETTER E WITH FLOURISH;Ll;0;L;;;;;N;;;;;
+AB35;LATIN SMALL LETTER LENIS F;Ll;0;L;;;;;N;;;;;
+AB36;LATIN SMALL LETTER SCRIPT G WITH CROSSED-TAIL;Ll;0;L;;;;;N;;;;;
+AB37;LATIN SMALL LETTER L WITH INVERTED LAZY S;Ll;0;L;;;;;N;;;;;
+AB38;LATIN SMALL LETTER L WITH DOUBLE MIDDLE TILDE;Ll;0;L;;;;;N;;;;;
+AB39;LATIN SMALL LETTER L WITH MIDDLE RING;Ll;0;L;;;;;N;;;;;
+AB3A;LATIN SMALL LETTER M WITH CROSSED-TAIL;Ll;0;L;;;;;N;;;;;
+AB3B;LATIN SMALL LETTER N WITH CROSSED-TAIL;Ll;0;L;;;;;N;;;;;
+AB3C;LATIN SMALL LETTER ENG WITH CROSSED-TAIL;Ll;0;L;;;;;N;;;;;
+AB3D;LATIN SMALL LETTER BLACKLETTER O;Ll;0;L;;;;;N;;;;;
+AB3E;LATIN SMALL LETTER BLACKLETTER O WITH STROKE;Ll;0;L;;;;;N;;;;;
+AB3F;LATIN SMALL LETTER OPEN O WITH STROKE;Ll;0;L;;;;;N;;;;;
+AB40;LATIN SMALL LETTER INVERTED OE;Ll;0;L;;;;;N;;;;;
+AB41;LATIN SMALL LETTER TURNED OE WITH STROKE;Ll;0;L;;;;;N;;;;;
+AB42;LATIN SMALL LETTER TURNED OE WITH HORIZONTAL STROKE;Ll;0;L;;;;;N;;;;;
+AB43;LATIN SMALL LETTER TURNED O OPEN-O;Ll;0;L;;;;;N;;;;;
+AB44;LATIN SMALL LETTER TURNED O OPEN-O WITH STROKE;Ll;0;L;;;;;N;;;;;
+AB45;LATIN SMALL LETTER STIRRUP R;Ll;0;L;;;;;N;;;;;
+AB46;LATIN LETTER SMALL CAPITAL R WITH RIGHT LEG;Ll;0;L;;;;;N;;;;;
+AB47;LATIN SMALL LETTER R WITHOUT HANDLE;Ll;0;L;;;;;N;;;;;
+AB48;LATIN SMALL LETTER DOUBLE R;Ll;0;L;;;;;N;;;;;
+AB49;LATIN SMALL LETTER R WITH CROSSED-TAIL;Ll;0;L;;;;;N;;;;;
+AB4A;LATIN SMALL LETTER DOUBLE R WITH CROSSED-TAIL;Ll;0;L;;;;;N;;;;;
+AB4B;LATIN SMALL LETTER SCRIPT R;Ll;0;L;;;;;N;;;;;
+AB4C;LATIN SMALL LETTER SCRIPT R WITH RING;Ll;0;L;;;;;N;;;;;
+AB4D;LATIN SMALL LETTER BASELINE ESH;Ll;0;L;;;;;N;;;;;
+AB4E;LATIN SMALL LETTER U WITH SHORT RIGHT LEG;Ll;0;L;;;;;N;;;;;
+AB4F;LATIN SMALL LETTER U BAR WITH SHORT RIGHT LEG;Ll;0;L;;;;;N;;;;;
+AB50;LATIN SMALL LETTER UI;Ll;0;L;;;;;N;;;;;
+AB51;LATIN SMALL LETTER TURNED UI;Ll;0;L;;;;;N;;;;;
+AB52;LATIN SMALL LETTER U WITH LEFT HOOK;Ll;0;L;;;;;N;;;;;
+AB53;LATIN SMALL LETTER CHI;Ll;0;L;;;;;N;;;A7B3;;A7B3
+AB54;LATIN SMALL LETTER CHI WITH LOW RIGHT RING;Ll;0;L;;;;;N;;;;;
+AB55;LATIN SMALL LETTER CHI WITH LOW LEFT SERIF;Ll;0;L;;;;;N;;;;;
+AB56;LATIN SMALL LETTER X WITH LOW RIGHT RING;Ll;0;L;;;;;N;;;;;
+AB57;LATIN SMALL LETTER X WITH LONG LEFT LEG;Ll;0;L;;;;;N;;;;;
+AB58;LATIN SMALL LETTER X WITH LONG LEFT LEG AND LOW RIGHT RING;Ll;0;L;;;;;N;;;;;
+AB59;LATIN SMALL LETTER X WITH LONG LEFT LEG WITH SERIF;Ll;0;L;;;;;N;;;;;
+AB5A;LATIN SMALL LETTER Y WITH SHORT RIGHT LEG;Ll;0;L;;;;;N;;;;;
+AB5B;MODIFIER BREVE WITH INVERTED BREVE;Sk;0;L;;;;;N;;;;;
+AB5C;MODIFIER LETTER SMALL HENG;Lm;0;L;<super> A727;;;;N;;;;;
+AB5D;MODIFIER LETTER SMALL L WITH INVERTED LAZY S;Lm;0;L;<super> AB37;;;;N;;;;;
+AB5E;MODIFIER LETTER SMALL L WITH MIDDLE TILDE;Lm;0;L;<super> 026B;;;;N;;;;;
+AB5F;MODIFIER LETTER SMALL U WITH LEFT HOOK;Lm;0;L;<super> AB52;;;;N;;;;;
+AB60;LATIN SMALL LETTER SAKHA YAT;Ll;0;L;;;;;N;;;;;
+AB61;LATIN SMALL LETTER IOTIFIED E;Ll;0;L;;;;;N;;;;;
+AB62;LATIN SMALL LETTER OPEN OE;Ll;0;L;;;;;N;;;;;
+AB63;LATIN SMALL LETTER UO;Ll;0;L;;;;;N;;;;;
+AB64;LATIN SMALL LETTER INVERTED ALPHA;Ll;0;L;;;;;N;;;;;
+AB65;GREEK LETTER SMALL CAPITAL OMEGA;Ll;0;L;;;;;N;;;;;
+AB70;CHEROKEE SMALL LETTER A;Ll;0;L;;;;;N;;;13A0;;13A0
+AB71;CHEROKEE SMALL LETTER E;Ll;0;L;;;;;N;;;13A1;;13A1
+AB72;CHEROKEE SMALL LETTER I;Ll;0;L;;;;;N;;;13A2;;13A2
+AB73;CHEROKEE SMALL LETTER O;Ll;0;L;;;;;N;;;13A3;;13A3
+AB74;CHEROKEE SMALL LETTER U;Ll;0;L;;;;;N;;;13A4;;13A4
+AB75;CHEROKEE SMALL LETTER V;Ll;0;L;;;;;N;;;13A5;;13A5
+AB76;CHEROKEE SMALL LETTER GA;Ll;0;L;;;;;N;;;13A6;;13A6
+AB77;CHEROKEE SMALL LETTER KA;Ll;0;L;;;;;N;;;13A7;;13A7
+AB78;CHEROKEE SMALL LETTER GE;Ll;0;L;;;;;N;;;13A8;;13A8
+AB79;CHEROKEE SMALL LETTER GI;Ll;0;L;;;;;N;;;13A9;;13A9
+AB7A;CHEROKEE SMALL LETTER GO;Ll;0;L;;;;;N;;;13AA;;13AA
+AB7B;CHEROKEE SMALL LETTER GU;Ll;0;L;;;;;N;;;13AB;;13AB
+AB7C;CHEROKEE SMALL LETTER GV;Ll;0;L;;;;;N;;;13AC;;13AC
+AB7D;CHEROKEE SMALL LETTER HA;Ll;0;L;;;;;N;;;13AD;;13AD
+AB7E;CHEROKEE SMALL LETTER HE;Ll;0;L;;;;;N;;;13AE;;13AE
+AB7F;CHEROKEE SMALL LETTER HI;Ll;0;L;;;;;N;;;13AF;;13AF
+AB80;CHEROKEE SMALL LETTER HO;Ll;0;L;;;;;N;;;13B0;;13B0
+AB81;CHEROKEE SMALL LETTER HU;Ll;0;L;;;;;N;;;13B1;;13B1
+AB82;CHEROKEE SMALL LETTER HV;Ll;0;L;;;;;N;;;13B2;;13B2
+AB83;CHEROKEE SMALL LETTER LA;Ll;0;L;;;;;N;;;13B3;;13B3
+AB84;CHEROKEE SMALL LETTER LE;Ll;0;L;;;;;N;;;13B4;;13B4
+AB85;CHEROKEE SMALL LETTER LI;Ll;0;L;;;;;N;;;13B5;;13B5
+AB86;CHEROKEE SMALL LETTER LO;Ll;0;L;;;;;N;;;13B6;;13B6
+AB87;CHEROKEE SMALL LETTER LU;Ll;0;L;;;;;N;;;13B7;;13B7
+AB88;CHEROKEE SMALL LETTER LV;Ll;0;L;;;;;N;;;13B8;;13B8
+AB89;CHEROKEE SMALL LETTER MA;Ll;0;L;;;;;N;;;13B9;;13B9
+AB8A;CHEROKEE SMALL LETTER ME;Ll;0;L;;;;;N;;;13BA;;13BA
+AB8B;CHEROKEE SMALL LETTER MI;Ll;0;L;;;;;N;;;13BB;;13BB
+AB8C;CHEROKEE SMALL LETTER MO;Ll;0;L;;;;;N;;;13BC;;13BC
+AB8D;CHEROKEE SMALL LETTER MU;Ll;0;L;;;;;N;;;13BD;;13BD
+AB8E;CHEROKEE SMALL LETTER NA;Ll;0;L;;;;;N;;;13BE;;13BE
+AB8F;CHEROKEE SMALL LETTER HNA;Ll;0;L;;;;;N;;;13BF;;13BF
+AB90;CHEROKEE SMALL LETTER NAH;Ll;0;L;;;;;N;;;13C0;;13C0
+AB91;CHEROKEE SMALL LETTER NE;Ll;0;L;;;;;N;;;13C1;;13C1
+AB92;CHEROKEE SMALL LETTER NI;Ll;0;L;;;;;N;;;13C2;;13C2
+AB93;CHEROKEE SMALL LETTER NO;Ll;0;L;;;;;N;;;13C3;;13C3
+AB94;CHEROKEE SMALL LETTER NU;Ll;0;L;;;;;N;;;13C4;;13C4
+AB95;CHEROKEE SMALL LETTER NV;Ll;0;L;;;;;N;;;13C5;;13C5
+AB96;CHEROKEE SMALL LETTER QUA;Ll;0;L;;;;;N;;;13C6;;13C6
+AB97;CHEROKEE SMALL LETTER QUE;Ll;0;L;;;;;N;;;13C7;;13C7
+AB98;CHEROKEE SMALL LETTER QUI;Ll;0;L;;;;;N;;;13C8;;13C8
+AB99;CHEROKEE SMALL LETTER QUO;Ll;0;L;;;;;N;;;13C9;;13C9
+AB9A;CHEROKEE SMALL LETTER QUU;Ll;0;L;;;;;N;;;13CA;;13CA
+AB9B;CHEROKEE SMALL LETTER QUV;Ll;0;L;;;;;N;;;13CB;;13CB
+AB9C;CHEROKEE SMALL LETTER SA;Ll;0;L;;;;;N;;;13CC;;13CC
+AB9D;CHEROKEE SMALL LETTER S;Ll;0;L;;;;;N;;;13CD;;13CD
+AB9E;CHEROKEE SMALL LETTER SE;Ll;0;L;;;;;N;;;13CE;;13CE
+AB9F;CHEROKEE SMALL LETTER SI;Ll;0;L;;;;;N;;;13CF;;13CF
+ABA0;CHEROKEE SMALL LETTER SO;Ll;0;L;;;;;N;;;13D0;;13D0
+ABA1;CHEROKEE SMALL LETTER SU;Ll;0;L;;;;;N;;;13D1;;13D1
+ABA2;CHEROKEE SMALL LETTER SV;Ll;0;L;;;;;N;;;13D2;;13D2
+ABA3;CHEROKEE SMALL LETTER DA;Ll;0;L;;;;;N;;;13D3;;13D3
+ABA4;CHEROKEE SMALL LETTER TA;Ll;0;L;;;;;N;;;13D4;;13D4
+ABA5;CHEROKEE SMALL LETTER DE;Ll;0;L;;;;;N;;;13D5;;13D5
+ABA6;CHEROKEE SMALL LETTER TE;Ll;0;L;;;;;N;;;13D6;;13D6
+ABA7;CHEROKEE SMALL LETTER DI;Ll;0;L;;;;;N;;;13D7;;13D7
+ABA8;CHEROKEE SMALL LETTER TI;Ll;0;L;;;;;N;;;13D8;;13D8
+ABA9;CHEROKEE SMALL LETTER DO;Ll;0;L;;;;;N;;;13D9;;13D9
+ABAA;CHEROKEE SMALL LETTER DU;Ll;0;L;;;;;N;;;13DA;;13DA
+ABAB;CHEROKEE SMALL LETTER DV;Ll;0;L;;;;;N;;;13DB;;13DB
+ABAC;CHEROKEE SMALL LETTER DLA;Ll;0;L;;;;;N;;;13DC;;13DC
+ABAD;CHEROKEE SMALL LETTER TLA;Ll;0;L;;;;;N;;;13DD;;13DD
+ABAE;CHEROKEE SMALL LETTER TLE;Ll;0;L;;;;;N;;;13DE;;13DE
+ABAF;CHEROKEE SMALL LETTER TLI;Ll;0;L;;;;;N;;;13DF;;13DF
+ABB0;CHEROKEE SMALL LETTER TLO;Ll;0;L;;;;;N;;;13E0;;13E0
+ABB1;CHEROKEE SMALL LETTER TLU;Ll;0;L;;;;;N;;;13E1;;13E1
+ABB2;CHEROKEE SMALL LETTER TLV;Ll;0;L;;;;;N;;;13E2;;13E2
+ABB3;CHEROKEE SMALL LETTER TSA;Ll;0;L;;;;;N;;;13E3;;13E3
+ABB4;CHEROKEE SMALL LETTER TSE;Ll;0;L;;;;;N;;;13E4;;13E4
+ABB5;CHEROKEE SMALL LETTER TSI;Ll;0;L;;;;;N;;;13E5;;13E5
+ABB6;CHEROKEE SMALL LETTER TSO;Ll;0;L;;;;;N;;;13E6;;13E6
+ABB7;CHEROKEE SMALL LETTER TSU;Ll;0;L;;;;;N;;;13E7;;13E7
+ABB8;CHEROKEE SMALL LETTER TSV;Ll;0;L;;;;;N;;;13E8;;13E8
+ABB9;CHEROKEE SMALL LETTER WA;Ll;0;L;;;;;N;;;13E9;;13E9
+ABBA;CHEROKEE SMALL LETTER WE;Ll;0;L;;;;;N;;;13EA;;13EA
+ABBB;CHEROKEE SMALL LETTER WI;Ll;0;L;;;;;N;;;13EB;;13EB
+ABBC;CHEROKEE SMALL LETTER WO;Ll;0;L;;;;;N;;;13EC;;13EC
+ABBD;CHEROKEE SMALL LETTER WU;Ll;0;L;;;;;N;;;13ED;;13ED
+ABBE;CHEROKEE SMALL LETTER WV;Ll;0;L;;;;;N;;;13EE;;13EE
+ABBF;CHEROKEE SMALL LETTER YA;Ll;0;L;;;;;N;;;13EF;;13EF
 ABC0;MEETEI MAYEK LETTER KOK;Lo;0;L;;;;;N;;;;;
 ABC1;MEETEI MAYEK LETTER SAM;Lo;0;L;;;;;N;;;;;
 ABC2;MEETEI MAYEK LETTER LAI;Lo;0;L;;;;;N;;;;;
 ABC3;MEETEI MAYEK LETTER MIT;Lo;0;L;;;;;N;;;;;
 ABC4;MEETEI MAYEK LETTER PA;Lo;0;L;;;;;N;;;;;
 ABC5;MEETEI MAYEK LETTER NA;Lo;0;L;;;;;N;;;;;
 ABC6;MEETEI MAYEK LETTER CHIL;Lo;0;L;;;;;N;;;;;
 ABC7;MEETEI MAYEK LETTER TIL;Lo;0;L;;;;;N;;;;;
@@ -15440,18 +15935,18 @@ FD35;ARABIC LIGATURE SEEN WITH HAH MEDIA
 FD36;ARABIC LIGATURE SEEN WITH KHAH MEDIAL FORM;Lo;0;AL;<medial> 0633 062E;;;;N;;;;;
 FD37;ARABIC LIGATURE SHEEN WITH JEEM MEDIAL FORM;Lo;0;AL;<medial> 0634 062C;;;;N;;;;;
 FD38;ARABIC LIGATURE SHEEN WITH HAH MEDIAL FORM;Lo;0;AL;<medial> 0634 062D;;;;N;;;;;
 FD39;ARABIC LIGATURE SHEEN WITH KHAH MEDIAL FORM;Lo;0;AL;<medial> 0634 062E;;;;N;;;;;
 FD3A;ARABIC LIGATURE TAH WITH MEEM MEDIAL FORM;Lo;0;AL;<medial> 0637 0645;;;;N;;;;;
 FD3B;ARABIC LIGATURE ZAH WITH MEEM MEDIAL FORM;Lo;0;AL;<medial> 0638 0645;;;;N;;;;;
 FD3C;ARABIC LIGATURE ALEF WITH FATHATAN FINAL FORM;Lo;0;AL;<final> 0627 064B;;;;N;;;;;
 FD3D;ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM;Lo;0;AL;<isolated> 0627 064B;;;;N;;;;;
-FD3E;ORNATE LEFT PARENTHESIS;Ps;0;ON;;;;;N;;;;;
-FD3F;ORNATE RIGHT PARENTHESIS;Pe;0;ON;;;;;N;;;;;
+FD3E;ORNATE LEFT PARENTHESIS;Pe;0;ON;;;;;N;;;;;
+FD3F;ORNATE RIGHT PARENTHESIS;Ps;0;ON;;;;;N;;;;;
 FD50;ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 062A 062C 0645;;;;N;;;;;
 FD51;ARABIC LIGATURE TEH WITH HAH WITH JEEM FINAL FORM;Lo;0;AL;<final> 062A 062D 062C;;;;N;;;;;
 FD52;ARABIC LIGATURE TEH WITH HAH WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 062A 062D 062C;;;;N;;;;;
 FD53;ARABIC LIGATURE TEH WITH HAH WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 062A 062D 0645;;;;N;;;;;
 FD54;ARABIC LIGATURE TEH WITH KHAH WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 062A 062E 0645;;;;N;;;;;
 FD55;ARABIC LIGATURE TEH WITH MEEM WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 062A 0645 062C;;;;N;;;;;
 FD56;ARABIC LIGATURE TEH WITH MEEM WITH HAH INITIAL FORM;Lo;0;AL;<initial> 062A 0645 062D;;;;N;;;;;
 FD57;ARABIC LIGATURE TEH WITH MEEM WITH KHAH INITIAL FORM;Lo;0;AL;<initial> 062A 0645 062E;;;;N;;;;;
@@ -15607,16 +16102,25 @@ FE18;PRESENTATION FORM FOR VERTICAL RIGH
 FE19;PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS;Po;0;ON;<vertical> 2026;;;;N;;;;;
 FE20;COMBINING LIGATURE LEFT HALF;Mn;230;NSM;;;;;N;;;;;
 FE21;COMBINING LIGATURE RIGHT HALF;Mn;230;NSM;;;;;N;;;;;
 FE22;COMBINING DOUBLE TILDE LEFT HALF;Mn;230;NSM;;;;;N;;;;;
 FE23;COMBINING DOUBLE TILDE RIGHT HALF;Mn;230;NSM;;;;;N;;;;;
 FE24;COMBINING MACRON LEFT HALF;Mn;230;NSM;;;;;N;;;;;
 FE25;COMBINING MACRON RIGHT HALF;Mn;230;NSM;;;;;N;;;;;
 FE26;COMBINING CONJOINING MACRON;Mn;230;NSM;;;;;N;;;;;
+FE27;COMBINING LIGATURE LEFT HALF BELOW;Mn;220;NSM;;;;;N;;;;;
+FE28;COMBINING LIGATURE RIGHT HALF BELOW;Mn;220;NSM;;;;;N;;;;;
+FE29;COMBINING TILDE LEFT HALF BELOW;Mn;220;NSM;;;;;N;;;;;
+FE2A;COMBINING TILDE RIGHT HALF BELOW;Mn;220;NSM;;;;;N;;;;;
+FE2B;COMBINING MACRON LEFT HALF BELOW;Mn;220;NSM;;;;;N;;;;;
+FE2C;COMBINING MACRON RIGHT HALF BELOW;Mn;220;NSM;;;;;N;;;;;
+FE2D;COMBINING CONJOINING MACRON BELOW;Mn;220;NSM;;;;;N;;;;;
+FE2E;COMBINING CYRILLIC TITLO LEFT HALF;Mn;230;NSM;;;;;N;;;;;
+FE2F;COMBINING CYRILLIC TITLO RIGHT HALF;Mn;230;NSM;;;;;N;;;;;
 FE30;PRESENTATION FORM FOR VERTICAL TWO DOT LEADER;Po;0;ON;<vertical> 2025;;;;N;GLYPH FOR VERTICAL TWO DOT LEADER;;;;
 FE31;PRESENTATION FORM FOR VERTICAL EM DASH;Pd;0;ON;<vertical> 2014;;;;N;GLYPH FOR VERTICAL EM DASH;;;;
 FE32;PRESENTATION FORM FOR VERTICAL EN DASH;Pd;0;ON;<vertical> 2013;;;;N;GLYPH FOR VERTICAL EN DASH;;;;
 FE33;PRESENTATION FORM FOR VERTICAL LOW LINE;Pc;0;ON;<vertical> 005F;;;;N;GLYPH FOR VERTICAL SPACING UNDERSCORE;;;;
 FE34;PRESENTATION FORM FOR VERTICAL WAVY LOW LINE;Pc;0;ON;<vertical> 005F;;;;N;GLYPH FOR VERTICAL SPACING WAVY UNDERSCORE;;;;
 FE35;PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS;Ps;0;ON;<vertical> 0028;;;;N;GLYPH FOR VERTICAL OPENING PARENTHESIS;;;;
 FE36;PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS;Pe;0;ON;<vertical> 0029;;;;N;GLYPH FOR VERTICAL CLOSING PARENTHESIS;;;;
 FE37;PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET;Ps;0;ON;<vertical> 007B;;;;N;GLYPH FOR VERTICAL OPENING CURLY BRACKET;;;;
@@ -16379,28 +16883,33 @@ 10182;GREEK KYATHOS BASE SIGN;So;0;ON;;;
 10183;GREEK LITRA SIGN;So;0;ON;;;;;N;;;;;
 10184;GREEK OUNKIA SIGN;So;0;ON;;;;;N;;;;;
 10185;GREEK XESTES SIGN;So;0;ON;;;;;N;;;;;
 10186;GREEK ARTABE SIGN;So;0;ON;;;;;N;;;;;
 10187;GREEK AROURA SIGN;So;0;ON;;;;;N;;;;;
 10188;GREEK GRAMMA SIGN;So;0;ON;;;;;N;;;;;
 10189;GREEK TRYBLION BASE SIGN;So;0;ON;;;;;N;;;;;
 1018A;GREEK ZERO SIGN;No;0;ON;;;;0;N;;;;;
+1018B;GREEK ONE QUARTER SIGN;No;0;ON;;;;1/4;N;;;;;
+1018C;GREEK SINUSOID SIGN;So;0;ON;;;;;N;;;;;
+1018D;GREEK INDICTION SIGN;So;0;L;;;;;N;;;;;
+1018E;NOMISMA SIGN;So;0;L;;;;;N;;;;;
 10190;ROMAN SEXTANS SIGN;So;0;ON;;;;;N;;;;;
 10191;ROMAN UNCIA SIGN;So;0;ON;;;;;N;;;;;
 10192;ROMAN SEMUNCIA SIGN;So;0;ON;;;;;N;;;;;
 10193;ROMAN SEXTULA SIGN;So;0;ON;;;;;N;;;;;
 10194;ROMAN DIMIDIA SEXTULA SIGN;So;0;ON;;;;;N;;;;;
 10195;ROMAN SILIQUA SIGN;So;0;ON;;;;;N;;;;;
 10196;ROMAN DENARIUS SIGN;So;0;ON;;;;;N;;;;;
 10197;ROMAN QUINARIUS SIGN;So;0;ON;;;;;N;;;;;
 10198;ROMAN SESTERTIUS SIGN;So;0;ON;;;;;N;;;;;
 10199;ROMAN DUPONDIUS SIGN;So;0;ON;;;;;N;;;;;
 1019A;ROMAN AS SIGN;So;0;ON;;;;;N;;;;;
 1019B;ROMAN CENTURIAL SIGN;So;0;ON;;;;;N;;;;;
+101A0;GREEK SYMBOL TAU RHO;So;0;ON;;;;;N;;;;;
 101D0;PHAISTOS DISC SIGN PEDESTRIAN;So;0;L;;;;;N;;;;;
 101D1;PHAISTOS DISC SIGN PLUMED HEAD;So;0;L;;;;;N;;;;;
 101D2;PHAISTOS DISC SIGN TATTOOED HEAD;So;0;L;;;;;N;;;;;
 101D3;PHAISTOS DISC SIGN CAPTIVE;So;0;L;;;;;N;;;;;
 101D4;PHAISTOS DISC SIGN CHILD;So;0;L;;;;;N;;;;;
 101D5;PHAISTOS DISC SIGN WOMAN;So;0;L;;;;;N;;;;;
 101D6;PHAISTOS DISC SIGN HELMET;So;0;L;;;;;N;;;;;
 101D7;PHAISTOS DISC SIGN GAUNTLET;So;0;L;;;;;N;;;;;
@@ -16515,16 +17024,44 @@ 102C8;CARIAN LETTER UUU2;Lo;0;L;;;;;N;;;
 102C9;CARIAN LETTER RR;Lo;0;L;;;;;N;;;;;
 102CA;CARIAN LETTER MB;Lo;0;L;;;;;N;;;;;
 102CB;CARIAN LETTER MB2;Lo;0;L;;;;;N;;;;;
 102CC;CARIAN LETTER MB3;Lo;0;L;;;;;N;;;;;
 102CD;CARIAN LETTER MB4;Lo;0;L;;;;;N;;;;;
 102CE;CARIAN LETTER LD2;Lo;0;L;;;;;N;;;;;
 102CF;CARIAN LETTER E2;Lo;0;L;;;;;N;;;;;
 102D0;CARIAN LETTER UUU3;Lo;0;L;;;;;N;;;;;
+102E0;COPTIC EPACT THOUSANDS MARK;Mn;220;NSM;;;;;N;;;;;
+102E1;COPTIC EPACT DIGIT ONE;No;0;EN;;;;1;N;;;;;
+102E2;COPTIC EPACT DIGIT TWO;No;0;EN;;;;2;N;;;;;
+102E3;COPTIC EPACT DIGIT THREE;No;0;EN;;;;3;N;;;;;
+102E4;COPTIC EPACT DIGIT FOUR;No;0;EN;;;;4;N;;;;;
+102E5;COPTIC EPACT DIGIT FIVE;No;0;EN;;;;5;N;;;;;
+102E6;COPTIC EPACT DIGIT SIX;No;0;EN;;;;6;N;;;;;
+102E7;COPTIC EPACT DIGIT SEVEN;No;0;EN;;;;7;N;;;;;
+102E8;COPTIC EPACT DIGIT EIGHT;No;0;EN;;;;8;N;;;;;
+102E9;COPTIC EPACT DIGIT NINE;No;0;EN;;;;9;N;;;;;
+102EA;COPTIC EPACT NUMBER TEN;No;0;EN;;;;10;N;;;;;
+102EB;COPTIC EPACT NUMBER TWENTY;No;0;EN;;;;20;N;;;;;
+102EC;COPTIC EPACT NUMBER THIRTY;No;0;EN;;;;30;N;;;;;
+102ED;COPTIC EPACT NUMBER FORTY;No;0;EN;;;;40;N;;;;;
+102EE;COPTIC EPACT NUMBER FIFTY;No;0;EN;;;;50;N;;;;;
+102EF;COPTIC EPACT NUMBER SIXTY;No;0;EN;;;;60;N;;;;;
+102F0;COPTIC EPACT NUMBER SEVENTY;No;0;EN;;;;70;N;;;;;
+102F1;COPTIC EPACT NUMBER EIGHTY;No;0;EN;;;;80;N;;;;;
+102F2;COPTIC EPACT NUMBER NINETY;No;0;EN;;;;90;N;;;;;
+102F3;COPTIC EPACT NUMBER ONE HUNDRED;No;0;EN;;;;100;N;;;;;
+102F4;COPTIC EPACT NUMBER TWO HUNDRED;No;0;EN;;;;200;N;;;;;
+102F5;COPTIC EPACT NUMBER THREE HUNDRED;No;0;EN;;;;300;N;;;;;
+102F6;COPTIC EPACT NUMBER FOUR HUNDRED;No;0;EN;;;;400;N;;;;;
+102F7;COPTIC EPACT NUMBER FIVE HUNDRED;No;0;EN;;;;500;N;;;;;
+102F8;COPTIC EPACT NUMBER SIX HUNDRED;No;0;EN;;;;600;N;;;;;
+102F9;COPTIC EPACT NUMBER SEVEN HUNDRED;No;0;EN;;;;700;N;;;;;
+102FA;COPTIC EPACT NUMBER EIGHT HUNDRED;No;0;EN;;;;800;N;;;;;
+102FB;COPTIC EPACT NUMBER NINE HUNDRED;No;0;EN;;;;900;N;;;;;
 10300;OLD ITALIC LETTER A;Lo;0;L;;;;;N;;;;;
 10301;OLD ITALIC LETTER BE;Lo;0;L;;;;;N;;;;;
 10302;OLD ITALIC LETTER KE;Lo;0;L;;;;;N;;;;;
 10303;OLD ITALIC LETTER DE;Lo;0;L;;;;;N;;;;;
 10304;OLD ITALIC LETTER E;Lo;0;L;;;;;N;;;;;
 10305;OLD ITALIC LETTER VE;Lo;0;L;;;;;N;;;;;
 10306;OLD ITALIC LETTER ZE;Lo;0;L;;;;;N;;;;;
 10307;OLD ITALIC LETTER HE;Lo;0;L;;;;;N;;;;;
@@ -16546,16 +17083,17 @@ 10316;OLD ITALIC LETTER U;Lo;0;L;;;;;N;;
 10317;OLD ITALIC LETTER EKS;Lo;0;L;;;;;N;;;;;
 10318;OLD ITALIC LETTER PHE;Lo;0;L;;;;;N;;;;;
 10319;OLD ITALIC LETTER KHE;Lo;0;L;;;;;N;;;;;
 1031A;OLD ITALIC LETTER EF;Lo;0;L;;;;;N;;;;;
 1031B;OLD ITALIC LETTER ERS;Lo;0;L;;;;;N;;;;;
 1031C;OLD ITALIC LETTER CHE;Lo;0;L;;;;;N;;;;;
 1031D;OLD ITALIC LETTER II;Lo;0;L;;;;;N;;;;;
 1031E;OLD ITALIC LETTER UU;Lo;0;L;;;;;N;;;;;
+1031F;OLD ITALIC LETTER ESS;Lo;0;L;;;;;N;;;;;
 10320;OLD ITALIC NUMERAL ONE;No;0;L;;;;1;N;;;;;
 10321;OLD ITALIC NUMERAL FIVE;No;0;L;;;;5;N;;;;;
 10322;OLD ITALIC NUMERAL TEN;No;0;L;;;;10;N;;;;;
 10323;OLD ITALIC NUMERAL FIFTY;No;0;L;;;;50;N;;;;;
 10330;GOTHIC LETTER AHSA;Lo;0;L;;;;;N;;;;;
 10331;GOTHIC LETTER BAIRKAN;Lo;0;L;;;;;N;;;;;
 10332;GOTHIC LETTER GIBA;Lo;0;L;;;;;N;;;;;
 10333;GOTHIC LETTER DAGS;Lo;0;L;;;;;N;;;;;
@@ -16577,16 +17115,59 @@ 10342;GOTHIC LETTER RAIDA;Lo;0;L;;;;;N;;
 10343;GOTHIC LETTER SAUIL;Lo;0;L;;;;;N;;;;;
 10344;GOTHIC LETTER TEIWS;Lo;0;L;;;;;N;;;;;
 10345;GOTHIC LETTER WINJA;Lo;0;L;;;;;N;;;;;
 10346;GOTHIC LETTER FAIHU;Lo;0;L;;;;;N;;;;;
 10347;GOTHIC LETTER IGGWS;Lo;0;L;;;;;N;;;;;
 10348;GOTHIC LETTER HWAIR;Lo;0;L;;;;;N;;;;;
 10349;GOTHIC LETTER OTHAL;Lo;0;L;;;;;N;;;;;
 1034A;GOTHIC LETTER NINE HUNDRED;Nl;0;L;;;;900;N;;;;;
+10350;OLD PERMIC LETTER AN;Lo;0;L;;;;;N;;;;;
+10351;OLD PERMIC LETTER BUR;Lo;0;L;;;;;N;;;;;
+10352;OLD PERMIC LETTER GAI;Lo;0;L;;;;;N;;;;;
+10353;OLD PERMIC LETTER DOI;Lo;0;L;;;;;N;;;;;
+10354;OLD PERMIC LETTER E;Lo;0;L;;;;;N;;;;;
+10355;OLD PERMIC LETTER ZHOI;Lo;0;L;;;;;N;;;;;
+10356;OLD PERMIC LETTER DZHOI;Lo;0;L;;;;;N;;;;;
+10357;OLD PERMIC LETTER ZATA;Lo;0;L;;;;;N;;;;;
+10358;OLD PERMIC LETTER DZITA;Lo;0;L;;;;;N;;;;;
+10359;OLD PERMIC LETTER I;Lo;0;L;;;;;N;;;;;
+1035A;OLD PERMIC LETTER KOKE;Lo;0;L;;;;;N;;;;;
+1035B;OLD PERMIC LETTER LEI;Lo;0;L;;;;;N;;;;;
+1035C;OLD PERMIC LETTER MENOE;Lo;0;L;;;;;N;;;;;
+1035D;OLD PERMIC LETTER NENOE;Lo;0;L;;;;;N;;;;;
+1035E;OLD PERMIC LETTER VOOI;Lo;0;L;;;;;N;;;;;
+1035F;OLD PERMIC LETTER PEEI;Lo;0;L;;;;;N;;;;;
+10360;OLD PERMIC LETTER REI;Lo;0;L;;;;;N;;;;;
+10361;OLD PERMIC LETTER SII;Lo;0;L;;;;;N;;;;;
+10362;OLD PERMIC LETTER TAI;Lo;0;L;;;;;N;;;;;
+10363;OLD PERMIC LETTER U;Lo;0;L;;;;;N;;;;;
+10364;OLD PERMIC LETTER CHERY;Lo;0;L;;;;;N;;;;;
+10365;OLD PERMIC LETTER SHOOI;Lo;0;L;;;;;N;;;;;
+10366;OLD PERMIC LETTER SHCHOOI;Lo;0;L;;;;;N;;;;;
+10367;OLD PERMIC LETTER YRY;Lo;0;L;;;;;N;;;;;
+10368;OLD PERMIC LETTER YERU;Lo;0;L;;;;;N;;;;;
+10369;OLD PERMIC LETTER O;Lo;0;L;;;;;N;;;;;
+1036A;OLD PERMIC LETTER OO;Lo;0;L;;;;;N;;;;;
+1036B;OLD PERMIC LETTER EF;Lo;0;L;;;;;N;;;;;
+1036C;OLD PERMIC LETTER HA;Lo;0;L;;;;;N;;;;;
+1036D;OLD PERMIC LETTER TSIU;Lo;0;L;;;;;N;;;;;
+1036E;OLD PERMIC LETTER VER;Lo;0;L;;;;;N;;;;;
+1036F;OLD PERMIC LETTER YER;Lo;0;L;;;;;N;;;;;
+10370;OLD PERMIC LETTER YERI;Lo;0;L;;;;;N;;;;;
+10371;OLD PERMIC LETTER YAT;Lo;0;L;;;;;N;;;;;
+10372;OLD PERMIC LETTER IE;Lo;0;L;;;;;N;;;;;
+10373;OLD PERMIC LETTER YU;Lo;0;L;;;;;N;;;;;
+10374;OLD PERMIC LETTER YA;Lo;0;L;;;;;N;;;;;
+10375;OLD PERMIC LETTER IA;Lo;0;L;;;;;N;;;;;
+10376;COMBINING OLD PERMIC LETTER AN;Mn;230;NSM;;;;;N;;;;;
+10377;COMBINING OLD PERMIC LETTER DOI;Mn;230;NSM;;;;;N;;;;;
+10378;COMBINING OLD PERMIC LETTER ZATA;Mn;230;NSM;;;;;N;;;;;
+10379;COMBINING OLD PERMIC LETTER NENOE;Mn;230;NSM;;;;;N;;;;;
+1037A;COMBINING OLD PERMIC LETTER SII;Mn;230;NSM;;;;;N;;;;;
 10380;UGARITIC LETTER ALPA;Lo;0;L;;;;;N;;;;;
 10381;UGARITIC LETTER BETA;Lo;0;L;;;;;N;;;;;
 10382;UGARITIC LETTER GAMLA;Lo;0;L;;;;;N;;;;;
 10383;UGARITIC LETTER KHA;Lo;0;L;;;;;N;;;;;
 10384;UGARITIC LETTER DELTA;Lo;0;L;;;;;N;;;;;
 10385;UGARITIC LETTER HO;Lo;0;L;;;;;N;;;;;
 10386;UGARITIC LETTER WO;Lo;0;L;;;;;N;;;;;
 10387;UGARITIC LETTER ZETA;Lo;0;L;;;;;N;;;;;
@@ -16826,16 +17407,522 @@ 104A1;OSMANYA DIGIT ONE;Nd;0;L;;1;1;1;N;
 104A2;OSMANYA DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
 104A3;OSMANYA DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
 104A4;OSMANYA DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
 104A5;OSMANYA DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
 104A6;OSMANYA DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
 104A7;OSMANYA DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
 104A8;OSMANYA DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
 104A9;OSMANYA DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+104B0;OSAGE CAPITAL LETTER A;Lu;0;L;;;;;N;;;;104D8;
+104B1;OSAGE CAPITAL LETTER AI;Lu;0;L;;;;;N;;;;104D9;
+104B2;OSAGE CAPITAL LETTER AIN;Lu;0;L;;;;;N;;;;104DA;
+104B3;OSAGE CAPITAL LETTER AH;Lu;0;L;;;;;N;;;;104DB;
+104B4;OSAGE CAPITAL LETTER BRA;Lu;0;L;;;;;N;;;;104DC;
+104B5;OSAGE CAPITAL LETTER CHA;Lu;0;L;;;;;N;;;;104DD;
+104B6;OSAGE CAPITAL LETTER EHCHA;Lu;0;L;;;;;N;;;;104DE;
+104B7;OSAGE CAPITAL LETTER E;Lu;0;L;;;;;N;;;;104DF;
+104B8;OSAGE CAPITAL LETTER EIN;Lu;0;L;;;;;N;;;;104E0;
+104B9;OSAGE CAPITAL LETTER HA;Lu;0;L;;;;;N;;;;104E1;
+104BA;OSAGE CAPITAL LETTER HYA;Lu;0;L;;;;;N;;;;104E2;
+104BB;OSAGE CAPITAL LETTER I;Lu;0;L;;;;;N;;;;104E3;
+104BC;OSAGE CAPITAL LETTER KA;Lu;0;L;;;;;N;;;;104E4;
+104BD;OSAGE CAPITAL LETTER EHKA;Lu;0;L;;;;;N;;;;104E5;
+104BE;OSAGE CAPITAL LETTER KYA;Lu;0;L;;;;;N;;;;104E6;
+104BF;OSAGE CAPITAL LETTER LA;Lu;0;L;;;;;N;;;;104E7;
+104C0;OSAGE CAPITAL LETTER MA;Lu;0;L;;;;;N;;;;104E8;
+104C1;OSAGE CAPITAL LETTER NA;Lu;0;L;;;;;N;;;;104E9;
+104C2;OSAGE CAPITAL LETTER O;Lu;0;L;;;;;N;;;;104EA;
+104C3;OSAGE CAPITAL LETTER OIN;Lu;0;L;;;;;N;;;;104EB;
+104C4;OSAGE CAPITAL LETTER PA;Lu;0;L;;;;;N;;;;104EC;
+104C5;OSAGE CAPITAL LETTER EHPA;Lu;0;L;;;;;N;;;;104ED;
+104C6;OSAGE CAPITAL LETTER SA;Lu;0;L;;;;;N;;;;104EE;
+104C7;OSAGE CAPITAL LETTER SHA;Lu;0;L;;;;;N;;;;104EF;
+104C8;OSAGE CAPITAL LETTER TA;Lu;0;L;;;;;N;;;;104F0;
+104C9;OSAGE CAPITAL LETTER EHTA;Lu;0;L;;;;;N;;;;104F1;
+104CA;OSAGE CAPITAL LETTER TSA;Lu;0;L;;;;;N;;;;104F2;
+104CB;OSAGE CAPITAL LETTER EHTSA;Lu;0;L;;;;;N;;;;104F3;
+104CC;OSAGE CAPITAL LETTER TSHA;Lu;0;L;;;;;N;;;;104F4;
+104CD;OSAGE CAPITAL LETTER DHA;Lu;0;L;;;;;N;;;;104F5;
+104CE;OSAGE CAPITAL LETTER U;Lu;0;L;;;;;N;;;;104F6;
+104CF;OSAGE CAPITAL LETTER WA;Lu;0;L;;;;;N;;;;104F7;
+104D0;OSAGE CAPITAL LETTER KHA;Lu;0;L;;;;;N;;;;104F8;
+104D1;OSAGE CAPITAL LETTER GHA;Lu;0;L;;;;;N;;;;104F9;
+104D2;OSAGE CAPITAL LETTER ZA;Lu;0;L;;;;;N;;;;104FA;
+104D3;OSAGE CAPITAL LETTER ZHA;Lu;0;L;;;;;N;;;;104FB;
+104D8;OSAGE SMALL LETTER A;Ll;0;L;;;;;N;;;104B0;;104B0
+104D9;OSAGE SMALL LETTER AI;Ll;0;L;;;;;N;;;104B1;;104B1
+104DA;OSAGE SMALL LETTER AIN;Ll;0;L;;;;;N;;;104B2;;104B2
+104DB;OSAGE SMALL LETTER AH;Ll;0;L;;;;;N;;;104B3;;104B3
+104DC;OSAGE SMALL LETTER BRA;Ll;0;L;;;;;N;;;104B4;;104B4
+104DD;OSAGE SMALL LETTER CHA;Ll;0;L;;;;;N;;;104B5;;104B5
+104DE;OSAGE SMALL LETTER EHCHA;Ll;0;L;;;;;N;;;104B6;;104B6
+104DF;OSAGE SMALL LETTER E;Ll;0;L;;;;;N;;;104B7;;104B7
+104E0;OSAGE SMALL LETTER EIN;Ll;0;L;;;;;N;;;104B8;;104B8
+104E1;OSAGE SMALL LETTER HA;Ll;0;L;;;;;N;;;104B9;;104B9
+104E2;OSAGE SMALL LETTER HYA;Ll;0;L;;;;;N;;;104BA;;104BA
+104E3;OSAGE SMALL LETTER I;Ll;0;L;;;;;N;;;104BB;;104BB
+104E4;OSAGE SMALL LETTER KA;Ll;0;L;;;;;N;;;104BC;;104BC
+104E5;OSAGE SMALL LETTER EHKA;Ll;0;L;;;;;N;;;104BD;;104BD
+104E6;OSAGE SMALL LETTER KYA;Ll;0;L;;;;;N;;;104BE;;104BE
+104E7;OSAGE SMALL LETTER LA;Ll;0;L;;;;;N;;;104BF;;104BF
+104E8;OSAGE SMALL LETTER MA;Ll;0;L;;;;;N;;;104C0;;104C0
+104E9;OSAGE SMALL LETTER NA;Ll;0;L;;;;;N;;;104C1;;104C1
+104EA;OSAGE SMALL LETTER O;Ll;0;L;;;;;N;;;104C2;;104C2
+104EB;OSAGE SMALL LETTER OIN;Ll;0;L;;;;;N;;;104C3;;104C3
+104EC;OSAGE SMALL LETTER PA;Ll;0;L;;;;;N;;;104C4;;104C4
+104ED;OSAGE SMALL LETTER EHPA;Ll;0;L;;;;;N;;;104C5;;104C5
+104EE;OSAGE SMALL LETTER SA;Ll;0;L;;;;;N;;;104C6;;104C6
+104EF;OSAGE SMALL LETTER SHA;Ll;0;L;;;;;N;;;104C7;;104C7
+104F0;OSAGE SMALL LETTER TA;Ll;0;L;;;;;N;;;104C8;;104C8
+104F1;OSAGE SMALL LETTER EHTA;Ll;0;L;;;;;N;;;104C9;;104C9
+104F2;OSAGE SMALL LETTER TSA;Ll;0;L;;;;;N;;;104CA;;104CA
+104F3;OSAGE SMALL LETTER EHTSA;Ll;0;L;;;;;N;;;104CB;;104CB
+104F4;OSAGE SMALL LETTER TSHA;Ll;0;L;;;;;N;;;104CC;;104CC
+104F5;OSAGE SMALL LETTER DHA;Ll;0;L;;;;;N;;;104CD;;104CD
+104F6;OSAGE SMALL LETTER U;Ll;0;L;;;;;N;;;104CE;;104CE
+104F7;OSAGE SMALL LETTER WA;Ll;0;L;;;;;N;;;104CF;;104CF
+104F8;OSAGE SMALL LETTER KHA;Ll;0;L;;;;;N;;;104D0;;104D0
+104F9;OSAGE SMALL LETTER GHA;Ll;0;L;;;;;N;;;104D1;;104D1
+104FA;OSAGE SMALL LETTER ZA;Ll;0;L;;;;;N;;;104D2;;104D2
+104FB;OSAGE SMALL LETTER ZHA;Ll;0;L;;;;;N;;;104D3;;104D3
+10500;ELBASAN LETTER A;Lo;0;L;;;;;N;;;;;
+10501;ELBASAN LETTER BE;Lo;0;L;;;;;N;;;;;
+10502;ELBASAN LETTER CE;Lo;0;L;;;;;N;;;;;
+10503;ELBASAN LETTER CHE;Lo;0;L;;;;;N;;;;;
+10504;ELBASAN LETTER DE;Lo;0;L;;;;;N;;;;;
+10505;ELBASAN LETTER NDE;Lo;0;L;;;;;N;;;;;
+10506;ELBASAN LETTER DHE;Lo;0;L;;;;;N;;;;;
+10507;ELBASAN LETTER EI;Lo;0;L;;;;;N;;;;;
+10508;ELBASAN LETTER E;Lo;0;L;;;;;N;;;;;
+10509;ELBASAN LETTER FE;Lo;0;L;;;;;N;;;;;
+1050A;ELBASAN LETTER GE;Lo;0;L;;;;;N;;;;;
+1050B;ELBASAN LETTER GJE;Lo;0;L;;;;;N;;;;;
+1050C;ELBASAN LETTER HE;Lo;0;L;;;;;N;;;;;
+1050D;ELBASAN LETTER I;Lo;0;L;;;;;N;;;;;
+1050E;ELBASAN LETTER JE;Lo;0;L;;;;;N;;;;;
+1050F;ELBASAN LETTER KE;Lo;0;L;;;;;N;;;;;
+10510;ELBASAN LETTER LE;Lo;0;L;;;;;N;;;;;
+10511;ELBASAN LETTER LLE;Lo;0;L;;;;;N;;;;;
+10512;ELBASAN LETTER ME;Lo;0;L;;;;;N;;;;;
+10513;ELBASAN LETTER NE;Lo;0;L;;;;;N;;;;;
+10514;ELBASAN LETTER NA;Lo;0;L;;;;;N;;;;;
+10515;ELBASAN LETTER NJE;Lo;0;L;;;;;N;;;;;
+10516;ELBASAN LETTER O;Lo;0;L;;;;;N;;;;;
+10517;ELBASAN LETTER PE;Lo;0;L;;;;;N;;;;;
+10518;ELBASAN LETTER QE;Lo;0;L;;;;;N;;;;;
+10519;ELBASAN LETTER RE;Lo;0;L;;;;;N;;;;;
+1051A;ELBASAN LETTER RRE;Lo;0;L;;;;;N;;;;;
+1051B;ELBASAN LETTER SE;Lo;0;L;;;;;N;;;;;
+1051C;ELBASAN LETTER SHE;Lo;0;L;;;;;N;;;;;
+1051D;ELBASAN LETTER TE;Lo;0;L;;;;;N;;;;;
+1051E;ELBASAN LETTER THE;Lo;0;L;;;;;N;;;;;
+1051F;ELBASAN LETTER U;Lo;0;L;;;;;N;;;;;
+10520;ELBASAN LETTER VE;Lo;0;L;;;;;N;;;;;
+10521;ELBASAN LETTER XE;Lo;0;L;;;;;N;;;;;
+10522;ELBASAN LETTER Y;Lo;0;L;;;;;N;;;;;
+10523;ELBASAN LETTER ZE;Lo;0;L;;;;;N;;;;;
+10524;ELBASAN LETTER ZHE;Lo;0;L;;;;;N;;;;;
+10525;ELBASAN LETTER GHE;Lo;0;L;;;;;N;;;;;
+10526;ELBASAN LETTER GHAMMA;Lo;0;L;;;;;N;;;;;
+10527;ELBASAN LETTER KHE;Lo;0;L;;;;;N;;;;;
+10530;CAUCASIAN ALBANIAN LETTER ALT;Lo;0;L;;;;;N;;;;;
+10531;CAUCASIAN ALBANIAN LETTER BET;Lo;0;L;;;;;N;;;;;
+10532;CAUCASIAN ALBANIAN LETTER GIM;Lo;0;L;;;;;N;;;;;
+10533;CAUCASIAN ALBANIAN LETTER DAT;Lo;0;L;;;;;N;;;;;
+10534;CAUCASIAN ALBANIAN LETTER EB;Lo;0;L;;;;;N;;;;;
+10535;CAUCASIAN ALBANIAN LETTER ZARL;Lo;0;L;;;;;N;;;;;
+10536;CAUCASIAN ALBANIAN LETTER EYN;Lo;0;L;;;;;N;;;;;
+10537;CAUCASIAN ALBANIAN LETTER ZHIL;Lo;0;L;;;;;N;;;;;
+10538;CAUCASIAN ALBANIAN LETTER TAS;Lo;0;L;;;;;N;;;;;
+10539;CAUCASIAN ALBANIAN LETTER CHA;Lo;0;L;;;;;N;;;;;
+1053A;CAUCASIAN ALBANIAN LETTER YOWD;Lo;0;L;;;;;N;;;;;
+1053B;CAUCASIAN ALBANIAN LETTER ZHA;Lo;0;L;;;;;N;;;;;
+1053C;CAUCASIAN ALBANIAN LETTER IRB;Lo;0;L;;;;;N;;;;;
+1053D;CAUCASIAN ALBANIAN LETTER SHA;Lo;0;L;;;;;N;;;;;
+1053E;CAUCASIAN ALBANIAN LETTER LAN;Lo;0;L;;;;;N;;;;;
+1053F;CAUCASIAN ALBANIAN LETTER INYA;Lo;0;L;;;;;N;;;;;
+10540;CAUCASIAN ALBANIAN LETTER XEYN;Lo;0;L;;;;;N;;;;;
+10541;CAUCASIAN ALBANIAN LETTER DYAN;Lo;0;L;;;;;N;;;;;
+10542;CAUCASIAN ALBANIAN LETTER CAR;Lo;0;L;;;;;N;;;;;
+10543;CAUCASIAN ALBANIAN LETTER JHOX;Lo;0;L;;;;;N;;;;;
+10544;CAUCASIAN ALBANIAN LETTER KAR;Lo;0;L;;;;;N;;;;;
+10545;CAUCASIAN ALBANIAN LETTER LYIT;Lo;0;L;;;;;N;;;;;
+10546;CAUCASIAN ALBANIAN LETTER HEYT;Lo;0;L;;;;;N;;;;;
+10547;CAUCASIAN ALBANIAN LETTER QAY;Lo;0;L;;;;;N;;;;;
+10548;CAUCASIAN ALBANIAN LETTER AOR;Lo;0;L;;;;;N;;;;;
+10549;CAUCASIAN ALBANIAN LETTER CHOY;Lo;0;L;;;;;N;;;;;
+1054A;CAUCASIAN ALBANIAN LETTER CHI;Lo;0;L;;;;;N;;;;;
+1054B;CAUCASIAN ALBANIAN LETTER CYAY;Lo;0;L;;;;;N;;;;;
+1054C;CAUCASIAN ALBANIAN LETTER MAQ;Lo;0;L;;;;;N;;;;;
+1054D;CAUCASIAN ALBANIAN LETTER QAR;Lo;0;L;;;;;N;;;;;
+1054E;CAUCASIAN ALBANIAN LETTER NOWC;Lo;0;L;;;;;N;;;;;
+1054F;CAUCASIAN ALBANIAN LETTER DZYAY;Lo;0;L;;;;;N;;;;;
+10550;CAUCASIAN ALBANIAN LETTER SHAK;Lo;0;L;;;;;N;;;;;
+10551;CAUCASIAN ALBANIAN LETTER JAYN;Lo;0;L;;;;;N;;;;;
+10552;CAUCASIAN ALBANIAN LETTER ON;Lo;0;L;;;;;N;;;;;
+10553;CAUCASIAN ALBANIAN LETTER TYAY;Lo;0;L;;;;;N;;;;;
+10554;CAUCASIAN ALBANIAN LETTER FAM;Lo;0;L;;;;;N;;;;;
+10555;CAUCASIAN ALBANIAN LETTER DZAY;Lo;0;L;;;;;N;;;;;
+10556;CAUCASIAN ALBANIAN LETTER CHAT;Lo;0;L;;;;;N;;;;;
+10557;CAUCASIAN ALBANIAN LETTER PEN;Lo;0;L;;;;;N;;;;;
+10558;CAUCASIAN ALBANIAN LETTER GHEYS;Lo;0;L;;;;;N;;;;;
+10559;CAUCASIAN ALBANIAN LETTER RAT;Lo;0;L;;;;;N;;;;;
+1055A;CAUCASIAN ALBANIAN LETTER SEYK;Lo;0;L;;;;;N;;;;;
+1055B;CAUCASIAN ALBANIAN LETTER VEYZ;Lo;0;L;;;;;N;;;;;
+1055C;CAUCASIAN ALBANIAN LETTER TIWR;Lo;0;L;;;;;N;;;;;
+1055D;CAUCASIAN ALBANIAN LETTER SHOY;Lo;0;L;;;;;N;;;;;
+1055E;CAUCASIAN ALBANIAN LETTER IWN;Lo;0;L;;;;;N;;;;;
+1055F;CAUCASIAN ALBANIAN LETTER CYAW;Lo;0;L;;;;;N;;;;;
+10560;CAUCASIAN ALBANIAN LETTER CAYN;Lo;0;L;;;;;N;;;;;
+10561;CAUCASIAN ALBANIAN LETTER YAYD;Lo;0;L;;;;;N;;;;;
+10562;CAUCASIAN ALBANIAN LETTER PIWR;Lo;0;L;;;;;N;;;;;
+10563;CAUCASIAN ALBANIAN LETTER KIW;Lo;0;L;;;;;N;;;;;
+1056F;CAUCASIAN ALBANIAN CITATION MARK;Po;0;L;;;;;N;;;;;
+10600;LINEAR A SIGN AB001;Lo;0;L;;;;;N;;;;;
+10601;LINEAR A SIGN AB002;Lo;0;L;;;;;N;;;;;
+10602;LINEAR A SIGN AB003;Lo;0;L;;;;;N;;;;;
+10603;LINEAR A SIGN AB004;Lo;0;L;;;;;N;;;;;
+10604;LINEAR A SIGN AB005;Lo;0;L;;;;;N;;;;;
+10605;LINEAR A SIGN AB006;Lo;0;L;;;;;N;;;;;
+10606;LINEAR A SIGN AB007;Lo;0;L;;;;;N;;;;;
+10607;LINEAR A SIGN AB008;Lo;0;L;;;;;N;;;;;
+10608;LINEAR A SIGN AB009;Lo;0;L;;;;;N;;;;;
+10609;LINEAR A SIGN AB010;Lo;0;L;;;;;N;;;;;
+1060A;LINEAR A SIGN AB011;Lo;0;L;;;;;N;;;;;
+1060B;LINEAR A SIGN AB013;Lo;0;L;;;;;N;;;;;
+1060C;LINEAR A SIGN AB016;Lo;0;L;;;;;N;;;;;
+1060D;LINEAR A SIGN AB017;Lo;0;L;;;;;N;;;;;
+1060E;LINEAR A SIGN AB020;Lo;0;L;;;;;N;;;;;
+1060F;LINEAR A SIGN AB021;Lo;0;L;;;;;N;;;;;
+10610;LINEAR A SIGN AB021F;Lo;0;L;;;;;N;;;;;
+10611;LINEAR A SIGN AB021M;Lo;0;L;;;;;N;;;;;
+10612;LINEAR A SIGN AB022;Lo;0;L;;;;;N;;;;;
+10613;LINEAR A SIGN AB022F;Lo;0;L;;;;;N;;;;;
+10614;LINEAR A SIGN AB022M;Lo;0;L;;;;;N;;;;;
+10615;LINEAR A SIGN AB023;Lo;0;L;;;;;N;;;;;
+10616;LINEAR A SIGN AB023M;Lo;0;L;;;;;N;;;;;
+10617;LINEAR A SIGN AB024;Lo;0;L;;;;;N;;;;;
+10618;LINEAR A SIGN AB026;Lo;0;L;;;;;N;;;;;
+10619;LINEAR A SIGN AB027;Lo;0;L;;;;;N;;;;;
+1061A;LINEAR A SIGN AB028;Lo;0;L;;;;;N;;;;;
+1061B;LINEAR A SIGN A028B;Lo;0;L;;;;;N;;;;;
+1061C;LINEAR A SIGN AB029;Lo;0;L;;;;;N;;;;;
+1061D;LINEAR A SIGN AB030;Lo;0;L;;;;;N;;;;;
+1061E;LINEAR A SIGN AB031;Lo;0;L;;;;;N;;;;;
+1061F;LINEAR A SIGN AB034;Lo;0;L;;;;;N;;;;;
+10620;LINEAR A SIGN AB037;Lo;0;L;;;;;N;;;;;
+10621;LINEAR A SIGN AB038;Lo;0;L;;;;;N;;;;;
+10622;LINEAR A SIGN AB039;Lo;0;L;;;;;N;;;;;
+10623;LINEAR A SIGN AB040;Lo;0;L;;;;;N;;;;;
+10624;LINEAR A SIGN AB041;Lo;0;L;;;;;N;;;;;
+10625;LINEAR A SIGN AB044;Lo;0;L;;;;;N;;;;;
+10626;LINEAR A SIGN AB045;Lo;0;L;;;;;N;;;;;
+10627;LINEAR A SIGN AB046;Lo;0;L;;;;;N;;;;;
+10628;LINEAR A SIGN AB047;Lo;0;L;;;;;N;;;;;
+10629;LINEAR A SIGN AB048;Lo;0;L;;;;;N;;;;;
+1062A;LINEAR A SIGN AB049;Lo;0;L;;;;;N;;;;;
+1062B;LINEAR A SIGN AB050;Lo;0;L;;;;;N;;;;;
+1062C;LINEAR A SIGN AB051;Lo;0;L;;;;;N;;;;;
+1062D;LINEAR A SIGN AB053;Lo;0;L;;;;;N;;;;;
+1062E;LINEAR A SIGN AB054;Lo;0;L;;;;;N;;;;;
+1062F;LINEAR A SIGN AB055;Lo;0;L;;;;;N;;;;;
+10630;LINEAR A SIGN AB056;Lo;0;L;;;;;N;;;;;
+10631;LINEAR A SIGN AB057;Lo;0;L;;;;;N;;;;;
+10632;LINEAR A SIGN AB058;Lo;0;L;;;;;N;;;;;
+10633;LINEAR A SIGN AB059;Lo;0;L;;;;;N;;;;;
+10634;LINEAR A SIGN AB060;Lo;0;L;;;;;N;;;;;
+10635;LINEAR A SIGN AB061;Lo;0;L;;;;;N;;;;;
+10636;LINEAR A SIGN AB065;Lo;0;L;;;;;N;;;;;
+10637;LINEAR A SIGN AB066;Lo;0;L;;;;;N;;;;;
+10638;LINEAR A SIGN AB067;Lo;0;L;;;;;N;;;;;
+10639;LINEAR A SIGN AB069;Lo;0;L;;;;;N;;;;;
+1063A;LINEAR A SIGN AB070;Lo;0;L;;;;;N;;;;;
+1063B;LINEAR A SIGN AB073;Lo;0;L;;;;;N;;;;;
+1063C;LINEAR A SIGN AB074;Lo;0;L;;;;;N;;;;;
+1063D;LINEAR A SIGN AB076;Lo;0;L;;;;;N;;;;;
+1063E;LINEAR A SIGN AB077;Lo;0;L;;;;;N;;;;;
+1063F;LINEAR A SIGN AB078;Lo;0;L;;;;;N;;;;;
+10640;LINEAR A SIGN AB079;Lo;0;L;;;;;N;;;;;
+10641;LINEAR A SIGN AB080;Lo;0;L;;;;;N;;;;;
+10642;LINEAR A SIGN AB081;Lo;0;L;;;;;N;;;;;
+10643;LINEAR A SIGN AB082;Lo;0;L;;;;;N;;;;;
+10644;LINEAR A SIGN AB085;Lo;0;L;;;;;N;;;;;
+10645;LINEAR A SIGN AB086;Lo;0;L;;;;;N;;;;;
+10646;LINEAR A SIGN AB087;Lo;0;L;;;;;N;;;;;
+10647;LINEAR A SIGN A100-102;Lo;0;L;;;;;N;;;;;
+10648;LINEAR A SIGN AB118;Lo;0;L;;;;;N;;;;;
+10649;LINEAR A SIGN AB120;Lo;0;L;;;;;N;;;;;
+1064A;LINEAR A SIGN A120B;Lo;0;L;;;;;N;;;;;
+1064B;LINEAR A SIGN AB122;Lo;0;L;;;;;N;;;;;
+1064C;LINEAR A SIGN AB123;Lo;0;L;;;;;N;;;;;
+1064D;LINEAR A SIGN AB131A;Lo;0;L;;;;;N;;;;;
+1064E;LINEAR A SIGN AB131B;Lo;0;L;;;;;N;;;;;
+1064F;LINEAR A SIGN A131C;Lo;0;L;;;;;N;;;;;
+10650;LINEAR A SIGN AB164;Lo;0;L;;;;;N;;;;;
+10651;LINEAR A SIGN AB171;Lo;0;L;;;;;N;;;;;
+10652;LINEAR A SIGN AB180;Lo;0;L;;;;;N;;;;;
+10653;LINEAR A SIGN AB188;Lo;0;L;;;;;N;;;;;
+10654;LINEAR A SIGN AB191;Lo;0;L;;;;;N;;;;;
+10655;LINEAR A SIGN A301;Lo;0;L;;;;;N;;;;;
+10656;LINEAR A SIGN A302;Lo;0;L;;;;;N;;;;;
+10657;LINEAR A SIGN A303;Lo;0;L;;;;;N;;;;;
+10658;LINEAR A SIGN A304;Lo;0;L;;;;;N;;;;;
+10659;LINEAR A SIGN A305;Lo;0;L;;;;;N;;;;;
+1065A;LINEAR A SIGN A306;Lo;0;L;;;;;N;;;;;
+1065B;LINEAR A SIGN A307;Lo;0;L;;;;;N;;;;;
+1065C;LINEAR A SIGN A308;Lo;0;L;;;;;N;;;;;
+1065D;LINEAR A SIGN A309A;Lo;0;L;;;;;N;;;;;
+1065E;LINEAR A SIGN A309B;Lo;0;L;;;;;N;;;;;
+1065F;LINEAR A SIGN A309C;Lo;0;L;;;;;N;;;;;
+10660;LINEAR A SIGN A310;Lo;0;L;;;;;N;;;;;
+10661;LINEAR A SIGN A311;Lo;0;L;;;;;N;;;;;
+10662;LINEAR A SIGN A312;Lo;0;L;;;;;N;;;;;
+10663;LINEAR A SIGN A313A;Lo;0;L;;;;;N;;;;;
+10664;LINEAR A SIGN A313B;Lo;0;L;;;;;N;;;;;
+10665;LINEAR A SIGN A313C;Lo;0;L;;;;;N;;;;;
+10666;LINEAR A SIGN A314;Lo;0;L;;;;;N;;;;;
+10667;LINEAR A SIGN A315;Lo;0;L;;;;;N;;;;;
+10668;LINEAR A SIGN A316;Lo;0;L;;;;;N;;;;;
+10669;LINEAR A SIGN A317;Lo;0;L;;;;;N;;;;;
+1066A;LINEAR A SIGN A318;Lo;0;L;;;;;N;;;;;
+1066B;LINEAR A SIGN A319;Lo;0;L;;;;;N;;;;;
+1066C;LINEAR A SIGN A320;Lo;0;L;;;;;N;;;;;
+1066D;LINEAR A SIGN A321;Lo;0;L;;;;;N;;;;;
+1066E;LINEAR A SIGN A322;Lo;0;L;;;;;N;;;;;
+1066F;LINEAR A SIGN A323;Lo;0;L;;;;;N;;;;;
+10670;LINEAR A SIGN A324;Lo;0;L;;;;;N;;;;;
+10671;LINEAR A SIGN A325;Lo;0;L;;;;;N;;;;;
+10672;LINEAR A SIGN A326;Lo;0;L;;;;;N;;;;;
+10673;LINEAR A SIGN A327;Lo;0;L;;;;;N;;;;;
+10674;LINEAR A SIGN A328;Lo;0;L;;;;;N;;;;;
+10675;LINEAR A SIGN A329;Lo;0;L;;;;;N;;;;;
+10676;LINEAR A SIGN A330;Lo;0;L;;;;;N;;;;;
+10677;LINEAR A SIGN A331;Lo;0;L;;;;;N;;;;;
+10678;LINEAR A SIGN A332;Lo;0;L;;;;;N;;;;;
+10679;LINEAR A SIGN A333;Lo;0;L;;;;;N;;;;;
+1067A;LINEAR A SIGN A334;Lo;0;L;;;;;N;;;;;
+1067B;LINEAR A SIGN A335;Lo;0;L;;;;;N;;;;;
+1067C;LINEAR A SIGN A336;Lo;0;L;;;;;N;;;;;
+1067D;LINEAR A SIGN A337;Lo;0;L;;;;;N;;;;;
+1067E;LINEAR A SIGN A338;Lo;0;L;;;;;N;;;;;
+1067F;LINEAR A SIGN A339;Lo;0;L;;;;;N;;;;;
+10680;LINEAR A SIGN A340;Lo;0;L;;;;;N;;;;;
+10681;LINEAR A SIGN A341;Lo;0;L;;;;;N;;;;;
+10682;LINEAR A SIGN A342;Lo;0;L;;;;;N;;;;;
+10683;LINEAR A SIGN A343;Lo;0;L;;;;;N;;;;;
+10684;LINEAR A SIGN A344;Lo;0;L;;;;;N;;;;;
+10685;LINEAR A SIGN A345;Lo;0;L;;;;;N;;;;;
+10686;LINEAR A SIGN A346;Lo;0;L;;;;;N;;;;;
+10687;LINEAR A SIGN A347;Lo;0;L;;;;;N;;;;;
+10688;LINEAR A SIGN A348;Lo;0;L;;;;;N;;;;;
+10689;LINEAR A SIGN A349;Lo;0;L;;;;;N;;;;;
+1068A;LINEAR A SIGN A350;Lo;0;L;;;;;N;;;;;
+1068B;LINEAR A SIGN A351;Lo;0;L;;;;;N;;;;;
+1068C;LINEAR A SIGN A352;Lo;0;L;;;;;N;;;;;
+1068D;LINEAR A SIGN A353;Lo;0;L;;;;;N;;;;;
+1068E;LINEAR A SIGN A354;Lo;0;L;;;;;N;;;;;
+1068F;LINEAR A SIGN A355;Lo;0;L;;;;;N;;;;;
+10690;LINEAR A SIGN A356;Lo;0;L;;;;;N;;;;;
+10691;LINEAR A SIGN A357;Lo;0;L;;;;;N;;;;;
+10692;LINEAR A SIGN A358;Lo;0;L;;;;;N;;;;;
+10693;LINEAR A SIGN A359;Lo;0;L;;;;;N;;;;;
+10694;LINEAR A SIGN A360;Lo;0;L;;;;;N;;;;;
+10695;LINEAR A SIGN A361;Lo;0;L;;;;;N;;;;;
+10696;LINEAR A SIGN A362;Lo;0;L;;;;;N;;;;;
+10697;LINEAR A SIGN A363;Lo;0;L;;;;;N;;;;;
+10698;LINEAR A SIGN A364;Lo;0;L;;;;;N;;;;;
+10699;LINEAR A SIGN A365;Lo;0;L;;;;;N;;;;;
+1069A;LINEAR A SIGN A366;Lo;0;L;;;;;N;;;;;
+1069B;LINEAR A SIGN A367;Lo;0;L;;;;;N;;;;;
+1069C;LINEAR A SIGN A368;Lo;0;L;;;;;N;;;;;
+1069D;LINEAR A SIGN A369;Lo;0;L;;;;;N;;;;;
+1069E;LINEAR A SIGN A370;Lo;0;L;;;;;N;;;;;
+1069F;LINEAR A SIGN A371;Lo;0;L;;;;;N;;;;;
+106A0;LINEAR A SIGN A400-VAS;Lo;0;L;;;;;N;;;;;
+106A1;LINEAR A SIGN A401-VAS;Lo;0;L;;;;;N;;;;;
+106A2;LINEAR A SIGN A402-VAS;Lo;0;L;;;;;N;;;;;
+106A3;LINEAR A SIGN A403-VAS;Lo;0;L;;;;;N;;;;;
+106A4;LINEAR A SIGN A404-VAS;Lo;0;L;;;;;N;;;;;
+106A5;LINEAR A SIGN A405-VAS;Lo;0;L;;;;;N;;;;;
+106A6;LINEAR A SIGN A406-VAS;Lo;0;L;;;;;N;;;;;
+106A7;LINEAR A SIGN A407-VAS;Lo;0;L;;;;;N;;;;;
+106A8;LINEAR A SIGN A408-VAS;Lo;0;L;;;;;N;;;;;
+106A9;LINEAR A SIGN A409-VAS;Lo;0;L;;;;;N;;;;;
+106AA;LINEAR A SIGN A410-VAS;Lo;0;L;;;;;N;;;;;
+106AB;LINEAR A SIGN A411-VAS;Lo;0;L;;;;;N;;;;;
+106AC;LINEAR A SIGN A412-VAS;Lo;0;L;;;;;N;;;;;
+106AD;LINEAR A SIGN A413-VAS;Lo;0;L;;;;;N;;;;;
+106AE;LINEAR A SIGN A414-VAS;Lo;0;L;;;;;N;;;;;
+106AF;LINEAR A SIGN A415-VAS;Lo;0;L;;;;;N;;;;;
+106B0;LINEAR A SIGN A416-VAS;Lo;0;L;;;;;N;;;;;
+106B1;LINEAR A SIGN A417-VAS;Lo;0;L;;;;;N;;;;;
+106B2;LINEAR A SIGN A418-VAS;Lo;0;L;;;;;N;;;;;
+106B3;LINEAR A SIGN A501;Lo;0;L;;;;;N;;;;;
+106B4;LINEAR A SIGN A502;Lo;0;L;;;;;N;;;;;
+106B5;LINEAR A SIGN A503;Lo;0;L;;;;;N;;;;;
+106B6;LINEAR A SIGN A504;Lo;0;L;;;;;N;;;;;
+106B7;LINEAR A SIGN A505;Lo;0;L;;;;;N;;;;;
+106B8;LINEAR A SIGN A506;Lo;0;L;;;;;N;;;;;
+106B9;LINEAR A SIGN A508;Lo;0;L;;;;;N;;;;;
+106BA;LINEAR A SIGN A509;Lo;0;L;;;;;N;;;;;
+106BB;LINEAR A SIGN A510;Lo;0;L;;;;;N;;;;;
+106BC;LINEAR A SIGN A511;Lo;0;L;;;;;N;;;;;
+106BD;LINEAR A SIGN A512;Lo;0;L;;;;;N;;;;;
+106BE;LINEAR A SIGN A513;Lo;0;L;;;;;N;;;;;
+106BF;LINEAR A SIGN A515;Lo;0;L;;;;;N;;;;;
+106C0;LINEAR A SIGN A516;Lo;0;L;;;;;N;;;;;
+106C1;LINEAR A SIGN A520;Lo;0;L;;;;;N;;;;;
+106C2;LINEAR A SIGN A521;Lo;0;L;;;;;N;;;;;
+106C3;LINEAR A SIGN A523;Lo;0;L;;;;;N;;;;;
+106C4;LINEAR A SIGN A524;Lo;0;L;;;;;N;;;;;
+106C5;LINEAR A SIGN A525;Lo;0;L;;;;;N;;;;;
+106C6;LINEAR A SIGN A526;Lo;0;L;;;;;N;;;;;
+106C7;LINEAR A SIGN A527;Lo;0;L;;;;;N;;;;;
+106C8;LINEAR A SIGN A528;Lo;0;L;;;;;N;;;;;
+106C9;LINEAR A SIGN A529;Lo;0;L;;;;;N;;;;;
+106CA;LINEAR A SIGN A530;Lo;0;L;;;;;N;;;;;
+106CB;LINEAR A SIGN A531;Lo;0;L;;;;;N;;;;;
+106CC;LINEAR A SIGN A532;Lo;0;L;;;;;N;;;;;
+106CD;LINEAR A SIGN A534;Lo;0;L;;;;;N;;;;;
+106CE;LINEAR A SIGN A535;Lo;0;L;;;;;N;;;;;
+106CF;LINEAR A SIGN A536;Lo;0;L;;;;;N;;;;;
+106D0;LINEAR A SIGN A537;Lo;0;L;;;;;N;;;;;
+106D1;LINEAR A SIGN A538;Lo;0;L;;;;;N;;;;;
+106D2;LINEAR A SIGN A539;Lo;0;L;;;;;N;;;;;
+106D3;LINEAR A SIGN A540;Lo;0;L;;;;;N;;;;;
+106D4;LINEAR A SIGN A541;Lo;0;L;;;;;N;;;;;
+106D5;LINEAR A SIGN A542;Lo;0;L;;;;;N;;;;;
+106D6;LINEAR A SIGN A545;Lo;0;L;;;;;N;;;;;
+106D7;LINEAR A SIGN A547;Lo;0;L;;;;;N;;;;;
+106D8;LINEAR A SIGN A548;Lo;0;L;;;;;N;;;;;
+106D9;LINEAR A SIGN A549;Lo;0;L;;;;;N;;;;;
+106DA;LINEAR A SIGN A550;Lo;0;L;;;;;N;;;;;
+106DB;LINEAR A SIGN A551;Lo;0;L;;;;;N;;;;;
+106DC;LINEAR A SIGN A552;Lo;0;L;;;;;N;;;;;
+106DD;LINEAR A SIGN A553;Lo;0;L;;;;;N;;;;;
+106DE;LINEAR A SIGN A554;Lo;0;L;;;;;N;;;;;
+106DF;LINEAR A SIGN A555;Lo;0;L;;;;;N;;;;;
+106E0;LINEAR A SIGN A556;Lo;0;L;;;;;N;;;;;
+106E1;LINEAR A SIGN A557;Lo;0;L;;;;;N;;;;;
+106E2;LINEAR A SIGN A559;Lo;0;L;;;;;N;;;;;
+106E3;LINEAR A SIGN A563;Lo;0;L;;;;;N;;;;;
+106E4;LINEAR A SIGN A564;Lo;0;L;;;;;N;;;;;
+106E5;LINEAR A SIGN A565;Lo;0;L;;;;;N;;;;;
+106E6;LINEAR A SIGN A566;Lo;0;L;;;;;N;;;;;
+106E7;LINEAR A SIGN A568;Lo;0;L;;;;;N;;;;;
+106E8;LINEAR A SIGN A569;Lo;0;L;;;;;N;;;;;
+106E9;LINEAR A SIGN A570;Lo;0;L;;;;;N;;;;;
+106EA;LINEAR A SIGN A571;Lo;0;L;;;;;N;;;;;
+106EB;LINEAR A SIGN A572;Lo;0;L;;;;;N;;;;;
+106EC;LINEAR A SIGN A573;Lo;0;L;;;;;N;;;;;
+106ED;LINEAR A SIGN A574;Lo;0;L;;;;;N;;;;;
+106EE;LINEAR A SIGN A575;Lo;0;L;;;;;N;;;;;
+106EF;LINEAR A SIGN A576;Lo;0;L;;;;;N;;;;;
+106F0;LINEAR A SIGN A577;Lo;0;L;;;;;N;;;;;
+106F1;LINEAR A SIGN A578;Lo;0;L;;;;;N;;;;;
+106F2;LINEAR A SIGN A579;Lo;0;L;;;;;N;;;;;
+106F3;LINEAR A SIGN A580;Lo;0;L;;;;;N;;;;;
+106F4;LINEAR A SIGN A581;Lo;0;L;;;;;N;;;;;
+106F5;LINEAR A SIGN A582;Lo;0;L;;;;;N;;;;;
+106F6;LINEAR A SIGN A583;Lo;0;L;;;;;N;;;;;
+106F7;LINEAR A SIGN A584;Lo;0;L;;;;;N;;;;;
+106F8;LINEAR A SIGN A585;Lo;0;L;;;;;N;;;;;
+106F9;LINEAR A SIGN A586;Lo;0;L;;;;;N;;;;;
+106FA;LINEAR A SIGN A587;Lo;0;L;;;;;N;;;;;
+106FB;LINEAR A SIGN A588;Lo;0;L;;;;;N;;;;;
+106FC;LINEAR A SIGN A589;Lo;0;L;;;;;N;;;;;
+106FD;LINEAR A SIGN A591;Lo;0;L;;;;;N;;;;;
+106FE;LINEAR A SIGN A592;Lo;0;L;;;;;N;;;;;
+106FF;LINEAR A SIGN A594;Lo;0;L;;;;;N;;;;;
+10700;LINEAR A SIGN A595;Lo;0;L;;;;;N;;;;;
+10701;LINEAR A SIGN A596;Lo;0;L;;;;;N;;;;;
+10702;LINEAR A SIGN A598;Lo;0;L;;;;;N;;;;;
+10703;LINEAR A SIGN A600;Lo;0;L;;;;;N;;;;;
+10704;LINEAR A SIGN A601;Lo;0;L;;;;;N;;;;;
+10705;LINEAR A SIGN A602;Lo;0;L;;;;;N;;;;;
+10706;LINEAR A SIGN A603;Lo;0;L;;;;;N;;;;;
+10707;LINEAR A SIGN A604;Lo;0;L;;;;;N;;;;;
+10708;LINEAR A SIGN A606;Lo;0;L;;;;;N;;;;;
+10709;LINEAR A SIGN A608;Lo;0;L;;;;;N;;;;;
+1070A;LINEAR A SIGN A609;Lo;0;L;;;;;N;;;;;
+1070B;LINEAR A SIGN A610;Lo;0;L;;;;;N;;;;;
+1070C;LINEAR A SIGN A611;Lo;0;L;;;;;N;;;;;
+1070D;LINEAR A SIGN A612;Lo;0;L;;;;;N;;;;;
+1070E;LINEAR A SIGN A613;Lo;0;L;;;;;N;;;;;
+1070F;LINEAR A SIGN A614;Lo;0;L;;;;;N;;;;;
+10710;LINEAR A SIGN A615;Lo;0;L;;;;;N;;;;;
+10711;LINEAR A SIGN A616;Lo;0;L;;;;;N;;;;;
+10712;LINEAR A SIGN A617;Lo;0;L;;;;;N;;;;;
+10713;LINEAR A SIGN A618;Lo;0;L;;;;;N;;;;;
+10714;LINEAR A SIGN A619;Lo;0;L;;;;;N;;;;;
+10715;LINEAR A SIGN A620;Lo;0;L;;;;;N;;;;;
+10716;LINEAR A SIGN A621;Lo;0;L;;;;;N;;;;;
+10717;LINEAR A SIGN A622;Lo;0;L;;;;;N;;;;;
+10718;LINEAR A SIGN A623;Lo;0;L;;;;;N;;;;;
+10719;LINEAR A SIGN A624;Lo;0;L;;;;;N;;;;;
+1071A;LINEAR A SIGN A626;Lo;0;L;;;;;N;;;;;
+1071B;LINEAR A SIGN A627;Lo;0;L;;;;;N;;;;;
+1071C;LINEAR A SIGN A628;Lo;0;L;;;;;N;;;;;
+1071D;LINEAR A SIGN A629;Lo;0;L;;;;;N;;;;;
+1071E;LINEAR A SIGN A634;Lo;0;L;;;;;N;;;;;
+1071F;LINEAR A SIGN A637;Lo;0;L;;;;;N;;;;;
+10720;LINEAR A SIGN A638;Lo;0;L;;;;;N;;;;;
+10721;LINEAR A SIGN A640;Lo;0;L;;;;;N;;;;;
+10722;LINEAR A SIGN A642;Lo;0;L;;;;;N;;;;;
+10723;LINEAR A SIGN A643;Lo;0;L;;;;;N;;;;;
+10724;LINEAR A SIGN A644;Lo;0;L;;;;;N;;;;;
+10725;LINEAR A SIGN A645;Lo;0;L;;;;;N;;;;;
+10726;LINEAR A SIGN A646;Lo;0;L;;;;;N;;;;;
+10727;LINEAR A SIGN A648;Lo;0;L;;;;;N;;;;;
+10728;LINEAR A SIGN A649;Lo;0;L;;;;;N;;;;;
+10729;LINEAR A SIGN A651;Lo;0;L;;;;;N;;;;;
+1072A;LINEAR A SIGN A652;Lo;0;L;;;;;N;;;;;
+1072B;LINEAR A SIGN A653;Lo;0;L;;;;;N;;;;;
+1072C;LINEAR A SIGN A654;Lo;0;L;;;;;N;;;;;
+1072D;LINEAR A SIGN A655;Lo;0;L;;;;;N;;;;;
+1072E;LINEAR A SIGN A656;Lo;0;L;;;;;N;;;;;
+1072F;LINEAR A SIGN A657;Lo;0;L;;;;;N;;;;;
+10730;LINEAR A SIGN A658;Lo;0;L;;;;;N;;;;;
+10731;LINEAR A SIGN A659;Lo;0;L;;;;;N;;;;;
+10732;LINEAR A SIGN A660;Lo;0;L;;;;;N;;;;;
+10733;LINEAR A SIGN A661;Lo;0;L;;;;;N;;;;;
+10734;LINEAR A SIGN A662;Lo;0;L;;;;;N;;;;;
+10735;LINEAR A SIGN A663;Lo;0;L;;;;;N;;;;;
+10736;LINEAR A SIGN A664;Lo;0;L;;;;;N;;;;;
+10740;LINEAR A SIGN A701 A;Lo;0;L;;;;;N;;;;;
+10741;LINEAR A SIGN A702 B;Lo;0;L;;;;;N;;;;;
+10742;LINEAR A SIGN A703 D;Lo;0;L;;;;;N;;;;;
+10743;LINEAR A SIGN A704 E;Lo;0;L;;;;;N;;;;;
+10744;LINEAR A SIGN A705 F;Lo;0;L;;;;;N;;;;;
+10745;LINEAR A SIGN A706 H;Lo;0;L;;;;;N;;;;;
+10746;LINEAR A SIGN A707 J;Lo;0;L;;;;;N;;;;;
+10747;LINEAR A SIGN A708 K;Lo;0;L;;;;;N;;;;;
+10748;LINEAR A SIGN A709 L;Lo;0;L;;;;;N;;;;;
+10749;LINEAR A SIGN A709-2 L2;Lo;0;L;;;;;N;;;;;
+1074A;LINEAR A SIGN A709-3 L3;Lo;0;L;;;;;N;;;;;
+1074B;LINEAR A SIGN A709-4 L4;Lo;0;L;;;;;N;;;;;
+1074C;LINEAR A SIGN A709-6 L6;Lo;0;L;;;;;N;;;;;
+1074D;LINEAR A SIGN A710 W;Lo;0;L;;;;;N;;;;;
+1074E;LINEAR A SIGN A711 X;Lo;0;L;;;;;N;;;;;
+1074F;LINEAR A SIGN A712 Y;Lo;0;L;;;;;N;;;;;
+10750;LINEAR A SIGN A713 OMEGA;Lo;0;L;;;;;N;;;;;
+10751;LINEAR A SIGN A714 ABB;Lo;0;L;;;;;N;;;;;
+10752;LINEAR A SIGN A715 BB;Lo;0;L;;;;;N;;;;;
+10753;LINEAR A SIGN A717 DD;Lo;0;L;;;;;N;;;;;
+10754;LINEAR A SIGN A726 EYYY;Lo;0;L;;;;;N;;;;;
+10755;LINEAR A SIGN A732 JE;Lo;0;L;;;;;N;;;;;
+10760;LINEAR A SIGN A800;Lo;0;L;;;;;N;;;;;
+10761;LINEAR A SIGN A801;Lo;0;L;;;;;N;;;;;
+10762;LINEAR A SIGN A802;Lo;0;L;;;;;N;;;;;
+10763;LINEAR A SIGN A803;Lo;0;L;;;;;N;;;;;
+10764;LINEAR A SIGN A804;Lo;0;L;;;;;N;;;;;
+10765;LINEAR A SIGN A805;Lo;0;L;;;;;N;;;;;
+10766;LINEAR A SIGN A806;Lo;0;L;;;;;N;;;;;
+10767;LINEAR A SIGN A807;Lo;0;L;;;;;N;;;;;
 10800;CYPRIOT SYLLABLE A;Lo;0;R;;;;;N;;;;;
 10801;CYPRIOT SYLLABLE E;Lo;0;R;;;;;N;;;;;
 10802;CYPRIOT SYLLABLE I;Lo;0;R;;;;;N;;;;;
 10803;CYPRIOT SYLLABLE O;Lo;0;R;;;;;N;;;;;
 10804;CYPRIOT SYLLABLE U;Lo;0;R;;;;;N;;;;;
 10805;CYPRIOT SYLLABLE JA;Lo;0;R;;;;;N;;;;;
 10808;CYPRIOT SYLLABLE JO;Lo;0;R;;;;;N;;;;;
 1080A;CYPRIOT SYLLABLE KA;Lo;0;R;;;;;N;;;;;
@@ -16912,16 +17999,114 @@ 10857;IMPERIAL ARAMAIC SECTION SIGN;Po;0
 10858;IMPERIAL ARAMAIC NUMBER ONE;No;0;R;;;;1;N;;;;;
 10859;IMPERIAL ARAMAIC NUMBER TWO;No;0;R;;;;2;N;;;;;
 1085A;IMPERIAL ARAMAIC NUMBER THREE;No;0;R;;;;3;N;;;;;
 1085B;IMPERIAL ARAMAIC NUMBER TEN;No;0;R;;;;10;N;;;;;
 1085C;IMPERIAL ARAMAIC NUMBER TWENTY;No;0;R;;;;20;N;;;;;
 1085D;IMPERIAL ARAMAIC NUMBER ONE HUNDRED;No;0;R;;;;100;N;;;;;
 1085E;IMPERIAL ARAMAIC NUMBER ONE THOUSAND;No;0;R;;;;1000;N;;;;;
 1085F;IMPERIAL ARAMAIC NUMBER TEN THOUSAND;No;0;R;;;;10000;N;;;;;
+10860;PALMYRENE LETTER ALEPH;Lo;0;R;;;;;N;;;;;
+10861;PALMYRENE LETTER BETH;Lo;0;R;;;;;N;;;;;
+10862;PALMYRENE LETTER GIMEL;Lo;0;R;;;;;N;;;;;
+10863;PALMYRENE LETTER DALETH;Lo;0;R;;;;;N;;;;;
+10864;PALMYRENE LETTER HE;Lo;0;R;;;;;N;;;;;
+10865;PALMYRENE LETTER WAW;Lo;0;R;;;;;N;;;;;
+10866;PALMYRENE LETTER ZAYIN;Lo;0;R;;;;;N;;;;;
+10867;PALMYRENE LETTER HETH;Lo;0;R;;;;;N;;;;;
+10868;PALMYRENE LETTER TETH;Lo;0;R;;;;;N;;;;;
+10869;PALMYRENE LETTER YODH;Lo;0;R;;;;;N;;;;;
+1086A;PALMYRENE LETTER KAPH;Lo;0;R;;;;;N;;;;;
+1086B;PALMYRENE LETTER LAMEDH;Lo;0;R;;;;;N;;;;;
+1086C;PALMYRENE LETTER MEM;Lo;0;R;;;;;N;;;;;
+1086D;PALMYRENE LETTER FINAL NUN;Lo;0;R;;;;;N;;;;;
+1086E;PALMYRENE LETTER NUN;Lo;0;R;;;;;N;;;;;
+1086F;PALMYRENE LETTER SAMEKH;Lo;0;R;;;;;N;;;;;
+10870;PALMYRENE LETTER AYIN;Lo;0;R;;;;;N;;;;;
+10871;PALMYRENE LETTER PE;Lo;0;R;;;;;N;;;;;
+10872;PALMYRENE LETTER SADHE;Lo;0;R;;;;;N;;;;;
+10873;PALMYRENE LETTER QOPH;Lo;0;R;;;;;N;;;;;
+10874;PALMYRENE LETTER RESH;Lo;0;R;;;;;N;;;;;
+10875;PALMYRENE LETTER SHIN;Lo;0;R;;;;;N;;;;;
+10876;PALMYRENE LETTER TAW;Lo;0;R;;;;;N;;;;;
+10877;PALMYRENE LEFT-POINTING FLEURON;So;0;R;;;;;N;;;;;
+10878;PALMYRENE RIGHT-POINTING FLEURON;So;0;R;;;;;N;;;;;
+10879;PALMYRENE NUMBER ONE;No;0;R;;;;1;N;;;;;
+1087A;PALMYRENE NUMBER TWO;No;0;R;;;;2;N;;;;;
+1087B;PALMYRENE NUMBER THREE;No;0;R;;;;3;N;;;;;
+1087C;PALMYRENE NUMBER FOUR;No;0;R;;;;4;N;;;;;
+1087D;PALMYRENE NUMBER FIVE;No;0;R;;;;5;N;;;;;
+1087E;PALMYRENE NUMBER TEN;No;0;R;;;;10;N;;;;;
+1087F;PALMYRENE NUMBER TWENTY;No;0;R;;;;20;N;;;;;
+10880;NABATAEAN LETTER FINAL ALEPH;Lo;0;R;;;;;N;;;;;
+10881;NABATAEAN LETTER ALEPH;Lo;0;R;;;;;N;;;;;
+10882;NABATAEAN LETTER FINAL BETH;Lo;0;R;;;;;N;;;;;
+10883;NABATAEAN LETTER BETH;Lo;0;R;;;;;N;;;;;
+10884;NABATAEAN LETTER GIMEL;Lo;0;R;;;;;N;;;;;
+10885;NABATAEAN LETTER DALETH;Lo;0;R;;;;;N;;;;;
+10886;NABATAEAN LETTER FINAL HE;Lo;0;R;;;;;N;;;;;
+10887;NABATAEAN LETTER HE;Lo;0;R;;;;;N;;;;;
+10888;NABATAEAN LETTER WAW;Lo;0;R;;;;;N;;;;;
+10889;NABATAEAN LETTER ZAYIN;Lo;0;R;;;;;N;;;;;
+1088A;NABATAEAN LETTER HETH;Lo;0;R;;;;;N;;;;;
+1088B;NABATAEAN LETTER TETH;Lo;0;R;;;;;N;;;;;
+1088C;NABATAEAN LETTER FINAL YODH;Lo;0;R;;;;;N;;;;;
+1088D;NABATAEAN LETTER YODH;Lo;0;R;;;;;N;;;;;
+1088E;NABATAEAN LETTER FINAL KAPH;Lo;0;R;;;;;N;;;;;
+1088F;NABATAEAN LETTER KAPH;Lo;0;R;;;;;N;;;;;
+10890;NABATAEAN LETTER FINAL LAMEDH;Lo;0;R;;;;;N;;;;;
+10891;NABATAEAN LETTER LAMEDH;Lo;0;R;;;;;N;;;;;
+10892;NABATAEAN LETTER FINAL MEM;Lo;0;R;;;;;N;;;;;
+10893;NABATAEAN LETTER MEM;Lo;0;R;;;;;N;;;;;
+10894;NABATAEAN LETTER FINAL NUN;Lo;0;R;;;;;N;;;;;
+10895;NABATAEAN LETTER NUN;Lo;0;R;;;;;N;;;;;
+10896;NABATAEAN LETTER SAMEKH;Lo;0;R;;;;;N;;;;;
+10897;NABATAEAN LETTER AYIN;Lo;0;R;;;;;N;;;;;
+10898;NABATAEAN LETTER PE;Lo;0;R;;;;;N;;;;;
+10899;NABATAEAN LETTER SADHE;Lo;0;R;;;;;N;;;;;
+1089A;NABATAEAN LETTER QOPH;Lo;0;R;;;;;N;;;;;
+1089B;NABATAEAN LETTER RESH;Lo;0;R;;;;;N;;;;;
+1089C;NABATAEAN LETTER FINAL SHIN;Lo;0;R;;;;;N;;;;;
+1089D;NABATAEAN LETTER SHIN;Lo;0;R;;;;;N;;;;;
+1089E;NABATAEAN LETTER TAW;Lo;0;R;;;;;N;;;;;
+108A7;NABATAEAN NUMBER ONE;No;0;R;;;;1;N;;;;;
+108A8;NABATAEAN NUMBER TWO;No;0;R;;;;2;N;;;;;
+108A9;NABATAEAN NUMBER THREE;No;0;R;;;;3;N;;;;;
+108AA;NABATAEAN NUMBER FOUR;No;0;R;;;;4;N;;;;;
+108AB;NABATAEAN CRUCIFORM NUMBER FOUR;No;0;R;;;;4;N;;;;;
+108AC;NABATAEAN NUMBER FIVE;No;0;R;;;;5;N;;;;;
+108AD;NABATAEAN NUMBER TEN;No;0;R;;;;10;N;;;;;
+108AE;NABATAEAN NUMBER TWENTY;No;0;R;;;;20;N;;;;;
+108AF;NABATAEAN NUMBER ONE HUNDRED;No;0;R;;;;100;N;;;;;
+108E0;HATRAN LETTER ALEPH;Lo;0;R;;;;;N;;;;;
+108E1;HATRAN LETTER BETH;Lo;0;R;;;;;N;;;;;
+108E2;HATRAN LETTER GIMEL;Lo;0;R;;;;;N;;;;;
+108E3;HATRAN LETTER DALETH-RESH;Lo;0;R;;;;;N;;;;;
+108E4;HATRAN LETTER HE;Lo;0;R;;;;;N;;;;;
+108E5;HATRAN LETTER WAW;Lo;0;R;;;;;N;;;;;
+108E6;HATRAN LETTER ZAYN;Lo;0;R;;;;;N;;;;;
+108E7;HATRAN LETTER HETH;Lo;0;R;;;;;N;;;;;
+108E8;HATRAN LETTER TETH;Lo;0;R;;;;;N;;;;;
+108E9;HATRAN LETTER YODH;Lo;0;R;;;;;N;;;;;
+108EA;HATRAN LETTER KAPH;Lo;0;R;;;;;N;;;;;
+108EB;HATRAN LETTER LAMEDH;Lo;0;R;;;;;N;;;;;
+108EC;HATRAN LETTER MEM;Lo;0;R;;;;;N;;;;;
+108ED;HATRAN LETTER NUN;Lo;0;R;;;;;N;;;;;
+108EE;HATRAN LETTER SAMEKH;Lo;0;R;;;;;N;;;;;
+108EF;HATRAN LETTER AYN;Lo;0;R;;;;;N;;;;;
+108F0;HATRAN LETTER PE;Lo;0;R;;;;;N;;;;;
+108F1;HATRAN LETTER SADHE;Lo;0;R;;;;;N;;;;;
+108F2;HATRAN LETTER QOPH;Lo;0;R;;;;;N;;;;;
+108F4;HATRAN LETTER SHIN;Lo;0;R;;;;;N;;;;;
+108F5;HATRAN LETTER TAW;Lo;0;R;;;;;N;;;;;
+108FB;HATRAN NUMBER ONE;No;0;R;;;;1;N;;;;;
+108FC;HATRAN NUMBER FIVE;No;0;R;;;;5;N;;;;;
+108FD;HATRAN NUMBER TEN;No;0;R;;;;10;N;;;;;
+108FE;HATRAN NUMBER TWENTY;No;0;R;;;;20;N;;;;;
+108FF;HATRAN NUMBER ONE HUNDRED;No;0;R;;;;100;N;;;;;
 10900;PHOENICIAN LETTER ALF;Lo;0;R;;;;;N;;;;;
 10901;PHOENICIAN LETTER BET;Lo;0;R;;;;;N;;;;;
 10902;PHOENICIAN LETTER GAML;Lo;0;R;;;;;N;;;;;
 10903;PHOENICIAN LETTER DELT;Lo;0;R;;;;;N;;;;;
 10904;PHOENICIAN LETTER HE;Lo;0;R;;;;;N;;;;;
 10905;PHOENICIAN LETTER WAU;Lo;0;R;;;;;N;;;;;
 10906;PHOENICIAN LETTER ZAI;Lo;0;R;;;;;N;;;;;
 10907;PHOENICIAN LETTER HET;Lo;0;R;;;;;N;;;;;
@@ -17024,18 +18209,82 @@ 109AF;MEROITIC CURSIVE LETTER SA;Lo;0;R;
 109B0;MEROITIC CURSIVE LETTER ARCHAIC SA;Lo;0;R;;;;;N;;;;;
 109B1;MEROITIC CURSIVE LETTER SE;Lo;0;R;;;;;N;;;;;
 109B2;MEROITIC CURSIVE LETTER KA;Lo;0;R;;;;;N;;;;;
 109B3;MEROITIC CURSIVE LETTER QA;Lo;0;R;;;;;N;;;;;
 109B4;MEROITIC CURSIVE LETTER TA;Lo;0;R;;;;;N;;;;;
 109B5;MEROITIC CURSIVE LETTER TE;Lo;0;R;;;;;N;;;;;
 109B6;MEROITIC CURSIVE LETTER TO;Lo;0;R;;;;;N;;;;;
 109B7;MEROITIC CURSIVE LETTER DA;Lo;0;R;;;;;N;;;;;
+109BC;MEROITIC CURSIVE FRACTION ELEVEN TWELFTHS;No;0;R;;;;11/12;N;;;;;
+109BD;MEROITIC CURSIVE FRACTION ONE HALF;No;0;R;;;;1/2;N;;;;;
 109BE;MEROITIC CURSIVE LOGOGRAM RMT;Lo;0;R;;;;;N;;;;;
 109BF;MEROITIC CURSIVE LOGOGRAM IMN;Lo;0;R;;;;;N;;;;;
+109C0;MEROITIC CURSIVE NUMBER ONE;No;0;R;;;;1;N;;;;;
+109C1;MEROITIC CURSIVE NUMBER TWO;No;0;R;;;;2;N;;;;;
+109C2;MEROITIC CURSIVE NUMBER THREE;No;0;R;;;;3;N;;;;;
+109C3;MEROITIC CURSIVE NUMBER FOUR;No;0;R;;;;4;N;;;;;
+109C4;MEROITIC CURSIVE NUMBER FIVE;No;0;R;;;;5;N;;;;;
+109C5;MEROITIC CURSIVE NUMBER SIX;No;0;R;;;;6;N;;;;;
+109C6;MEROITIC CURSIVE NUMBER SEVEN;No;0;R;;;;7;N;;;;;
+109C7;MEROITIC CURSIVE NUMBER EIGHT;No;0;R;;;;8;N;;;;;
+109C8;MEROITIC CURSIVE NUMBER NINE;No;0;R;;;;9;N;;;;;
+109C9;MEROITIC CURSIVE NUMBER TEN;No;0;R;;;;10;N;;;;;
+109CA;MEROITIC CURSIVE NUMBER TWENTY;No;0;R;;;;20;N;;;;;
+109CB;MEROITIC CURSIVE NUMBER THIRTY;No;0;R;;;;30;N;;;;;
+109CC;MEROITIC CURSIVE NUMBER FORTY;No;0;R;;;;40;N;;;;;
+109CD;MEROITIC CURSIVE NUMBER FIFTY;No;0;R;;;;50;N;;;;;
+109CE;MEROITIC CURSIVE NUMBER SIXTY;No;0;R;;;;60;N;;;;;
+109CF;MEROITIC CURSIVE NUMBER SEVENTY;No;0;R;;;;70;N;;;;;
+109D2;MEROITIC CURSIVE NUMBER ONE HUNDRED;No;0;R;;;;100;N;;;;;
+109D3;MEROITIC CURSIVE NUMBER TWO HUNDRED;No;0;R;;;;200;N;;;;;
+109D4;MEROITIC CURSIVE NUMBER THREE HUNDRED;No;0;R;;;;300;N;;;;;
+109D5;MEROITIC CURSIVE NUMBER FOUR HUNDRED;No;0;R;;;;400;N;;;;;
+109D6;MEROITIC CURSIVE NUMBER FIVE HUNDRED;No;0;R;;;;500;N;;;;;
+109D7;MEROITIC CURSIVE NUMBER SIX HUNDRED;No;0;R;;;;600;N;;;;;
+109D8;MEROITIC CURSIVE NUMBER SEVEN HUNDRED;No;0;R;;;;700;N;;;;;
+109D9;MEROITIC CURSIVE NUMBER EIGHT HUNDRED;No;0;R;;;;800;N;;;;;
+109DA;MEROITIC CURSIVE NUMBER NINE HUNDRED;No;0;R;;;;900;N;;;;;
+109DB;MEROITIC CURSIVE NUMBER ONE THOUSAND;No;0;R;;;;1000;N;;;;;
+109DC;MEROITIC CURSIVE NUMBER TWO THOUSAND;No;0;R;;;;2000;N;;;;;
+109DD;MEROITIC CURSIVE NUMBER THREE THOUSAND;No;0;R;;;;3000;N;;;;;
+109DE;MEROITIC CURSIVE NUMBER FOUR THOUSAND;No;0;R;;;;4000;N;;;;;
+109DF;MEROITIC CURSIVE NUMBER FIVE THOUSAND;No;0;R;;;;5000;N;;;;;
+109E0;MEROITIC CURSIVE NUMBER SIX THOUSAND;No;0;R;;;;6000;N;;;;;
+109E1;MEROITIC CURSIVE NUMBER SEVEN THOUSAND;No;0;R;;;;7000;N;;;;;
+109E2;MEROITIC CURSIVE NUMBER EIGHT THOUSAND;No;0;R;;;;8000;N;;;;;
+109E3;MEROITIC CURSIVE NUMBER NINE THOUSAND;No;0;R;;;;9000;N;;;;;
+109E4;MEROITIC CURSIVE NUMBER TEN THOUSAND;No;0;R;;;;10000;N;;;;;
+109E5;MEROITIC CURSIVE NUMBER TWENTY THOUSAND;No;0;R;;;;20000;N;;;;;
+109E6;MEROITIC CURSIVE NUMBER THIRTY THOUSAND;No;0;R;;;;30000;N;;;;;
+109E7;MEROITIC CURSIVE NUMBER FORTY THOUSAND;No;0;R;;;;40000;N;;;;;
+109E8;MEROITIC CURSIVE NUMBER FIFTY THOUSAND;No;0;R;;;;50000;N;;;;;
+109E9;MEROITIC CURSIVE NUMBER SIXTY THOUSAND;No;0;R;;;;60000;N;;;;;
+109EA;MEROITIC CURSIVE NUMBER SEVENTY THOUSAND;No;0;R;;;;70000;N;;;;;
+109EB;MEROITIC CURSIVE NUMBER EIGHTY THOUSAND;No;0;R;;;;80000;N;;;;;
+109EC;MEROITIC CURSIVE NUMBER NINETY THOUSAND;No;0;R;;;;90000;N;;;;;
+109ED;MEROITIC CURSIVE NUMBER ONE HUNDRED THOUSAND;No;0;R;;;;100000;N;;;;;
+109EE;MEROITIC CURSIVE NUMBER TWO HUNDRED THOUSAND;No;0;R;;;;200000;N;;;;;
+109EF;MEROITIC CURSIVE NUMBER THREE HUNDRED THOUSAND;No;0;R;;;;300000;N;;;;;
+109F0;MEROITIC CURSIVE NUMBER FOUR HUNDRED THOUSAND;No;0;R;;;;400000;N;;;;;
+109F1;MEROITIC CURSIVE NUMBER FIVE HUNDRED THOUSAND;No;0;R;;;;500000;N;;;;;
+109F2;MEROITIC CURSIVE NUMBER SIX HUNDRED THOUSAND;No;0;R;;;;600000;N;;;;;
+109F3;MEROITIC CURSIVE NUMBER SEVEN HUNDRED THOUSAND;No;0;R;;;;700000;N;;;;;
+109F4;MEROITIC CURSIVE NUMBER EIGHT HUNDRED THOUSAND;No;0;R;;;;800000;N;;;;;
+109F5;MEROITIC CURSIVE NUMBER NINE HUNDRED THOUSAND;No;0;R;;;;900000;N;;;;;
+109F6;MEROITIC CURSIVE FRACTION ONE TWELFTH;No;0;R;;;;1/12;N;;;;;
+109F7;MEROITIC CURSIVE FRACTION TWO TWELFTHS;No;0;R;;;;2/12;N;;;;;
+109F8;MEROITIC CURSIVE FRACTION THREE TWELFTHS;No;0;R;;;;3/12;N;;;;;
+109F9;MEROITIC CURSIVE FRACTION FOUR TWELFTHS;No;0;R;;;;4/12;N;;;;;
+109FA;MEROITIC CURSIVE FRACTION FIVE TWELFTHS;No;0;R;;;;5/12;N;;;;;
+109FB;MEROITIC CURSIVE FRACTION SIX TWELFTHS;No;0;R;;;;6/12;N;;;;;
+109FC;MEROITIC CURSIVE FRACTION SEVEN TWELFTHS;No;0;R;;;;7/12;N;;;;;
+109FD;MEROITIC CURSIVE FRACTION EIGHT TWELFTHS;No;0;R;;;;8/12;N;;;;;
+109FE;MEROITIC CURSIVE FRACTION NINE TWELFTHS;No;0;R;;;;9/12;N;;;;;
+109FF;MEROITIC CURSIVE FRACTION TEN TWELFTHS;No;0;R;;;;10/12;N;;;;;
 10A00;KHAROSHTHI LETTER A;Lo;0;R;;;;;N;;;;;
 10A01;KHAROSHTHI VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;;
 10A02;KHAROSHTHI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
 10A03;KHAROSHTHI VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;;
 10A05;KHAROSHTHI VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;;
 10A06;KHAROSHTHI VOWEL SIGN O;Mn;0;NSM;;;;;N;;;;;
 10A0C;KHAROSHTHI VOWEL LENGTH MARK;Mn;0;NSM;;;;;N;;;;;
 10A0D;KHAROSHTHI SIGN DOUBLE RING BELOW;Mn;220;NSM;;;;;N;;;;;
@@ -17123,16 +18372,99 @@ 10A77;OLD SOUTH ARABIAN LETTER TETH;Lo;0
 10A78;OLD SOUTH ARABIAN LETTER ZAYN;Lo;0;R;;;;;N;;;;;
 10A79;OLD SOUTH ARABIAN LETTER DHALETH;Lo;0;R;;;;;N;;;;;
 10A7A;OLD SOUTH ARABIAN LETTER YODH;Lo;0;R;;;;;N;;;;;
 10A7B;OLD SOUTH ARABIAN LETTER THAW;Lo;0;R;;;;;N;;;;;
 10A7C;OLD SOUTH ARABIAN LETTER THETH;Lo;0;R;;;;;N;;;;;
 10A7D;OLD SOUTH ARABIAN NUMBER ONE;No;0;R;;;;1;N;;;;;
 10A7E;OLD SOUTH ARABIAN NUMBER FIFTY;No;0;R;;;;50;N;;;;;
 10A7F;OLD SOUTH ARABIAN NUMERIC INDICATOR;Po;0;R;;;;;N;;;;;
+10A80;OLD NORTH ARABIAN LETTER HEH;Lo;0;R;;;;;N;;;;;
+10A81;OLD NORTH ARABIAN LETTER LAM;Lo;0;R;;;;;N;;;;;
+10A82;OLD NORTH ARABIAN LETTER HAH;Lo;0;R;;;;;N;;;;;
+10A83;OLD NORTH ARABIAN LETTER MEEM;Lo;0;R;;;;;N;;;;;
+10A84;OLD NORTH ARABIAN LETTER QAF;Lo;0;R;;;;;N;;;;;
+10A85;OLD NORTH ARABIAN LETTER WAW;Lo;0;R;;;;;N;;;;;
+10A86;OLD NORTH ARABIAN LETTER ES-2;Lo;0;R;;;;;N;;;;;
+10A87;OLD NORTH ARABIAN LETTER REH;Lo;0;R;;;;;N;;;;;
+10A88;OLD NORTH ARABIAN LETTER BEH;Lo;0;R;;;;;N;;;;;
+10A89;OLD NORTH ARABIAN LETTER TEH;Lo;0;R;;;;;N;;;;;
+10A8A;OLD NORTH ARABIAN LETTER ES-1;Lo;0;R;;;;;N;;;;;
+10A8B;OLD NORTH ARABIAN LETTER KAF;Lo;0;R;;;;;N;;;;;
+10A8C;OLD NORTH ARABIAN LETTER NOON;Lo;0;R;;;;;N;;;;;
+10A8D;OLD NORTH ARABIAN LETTER KHAH;Lo;0;R;;;;;N;;;;;
+10A8E;OLD NORTH ARABIAN LETTER SAD;Lo;0;R;;;;;N;;;;;
+10A8F;OLD NORTH ARABIAN LETTER ES-3;Lo;0;R;;;;;N;;;;;
+10A90;OLD NORTH ARABIAN LETTER FEH;Lo;0;R;;;;;N;;;;;
+10A91;OLD NORTH ARABIAN LETTER ALEF;Lo;0;R;;;;;N;;;;;
+10A92;OLD NORTH ARABIAN LETTER AIN;Lo;0;R;;;;;N;;;;;
+10A93;OLD NORTH ARABIAN LETTER DAD;Lo;0;R;;;;;N;;;;;
+10A94;OLD NORTH ARABIAN LETTER GEEM;Lo;0;R;;;;;N;;;;;
+10A95;OLD NORTH ARABIAN LETTER DAL;Lo;0;R;;;;;N;;;;;
+10A96;OLD NORTH ARABIAN LETTER GHAIN;Lo;0;R;;;;;N;;;;;
+10A97;OLD NORTH ARABIAN LETTER TAH;Lo;0;R;;;;;N;;;;;
+10A98;OLD NORTH ARABIAN LETTER ZAIN;Lo;0;R;;;;;N;;;;;
+10A99;OLD NORTH ARABIAN LETTER THAL;Lo;0;R;;;;;N;;;;;
+10A9A;OLD NORTH ARABIAN LETTER YEH;Lo;0;R;;;;;N;;;;;
+10A9B;OLD NORTH ARABIAN LETTER THEH;Lo;0;R;;;;;N;;;;;
+10A9C;OLD NORTH ARABIAN LETTER ZAH;Lo;0;R;;;;;N;;;;;
+10A9D;OLD NORTH ARABIAN NUMBER ONE;No;0;R;;;;1;N;;;;;
+10A9E;OLD NORTH ARABIAN NUMBER TEN;No;0;R;;;;10;N;;;;;
+10A9F;OLD NORTH ARABIAN NUMBER TWENTY;No;0;R;;;;20;N;;;;;
+10AC0;MANICHAEAN LETTER ALEPH;Lo;0;R;;;;;N;;;;;
+10AC1;MANICHAEAN LETTER BETH;Lo;0;R;;;;;N;;;;;
+10AC2;MANICHAEAN LETTER BHETH;Lo;0;R;;;;;N;;;;;
+10AC3;MANICHAEAN LETTER GIMEL;Lo;0;R;;;;;N;;;;;
+10AC4;MANICHAEAN LETTER GHIMEL;Lo;0;R;;;;;N;;;;;
+10AC5;MANICHAEAN LETTER DALETH;Lo;0;R;;;;;N;;;;;
+10AC6;MANICHAEAN LETTER HE;Lo;0;R;;;;;N;;;;;
+10AC7;MANICHAEAN LETTER WAW;Lo;0;R;;;;;N;;;;;
+10AC8;MANICHAEAN SIGN UD;So;0;R;;;;;N;;;;;
+10AC9;MANICHAEAN LETTER ZAYIN;Lo;0;R;;;;;N;;;;;
+10ACA;MANICHAEAN LETTER ZHAYIN;Lo;0;R;;;;;N;;;;;
+10ACB;MANICHAEAN LETTER JAYIN;Lo;0;R;;;;;N;;;;;
+10ACC;MANICHAEAN LETTER JHAYIN;Lo;0;R;;;;;N;;;;;
+10ACD;MANICHAEAN LETTER HETH;Lo;0;R;;;;;N;;;;;
+10ACE;MANICHAEAN LETTER TETH;Lo;0;R;;;;;N;;;;;
+10ACF;MANICHAEAN LETTER YODH;Lo;0;R;;;;;N;;;;;
+10AD0;MANICHAEAN LETTER KAPH;Lo;0;R;;;;;N;;;;;
+10AD1;MANICHAEAN LETTER XAPH;Lo;0;R;;;;;N;;;;;
+10AD2;MANICHAEAN LETTER KHAPH;Lo;0;R;;;;;N;;;;;
+10AD3;MANICHAEAN LETTER LAMEDH;Lo;0;R;;;;;N;;;;;
+10AD4;MANICHAEAN LETTER DHAMEDH;Lo;0;R;;;;;N;;;;;
+10AD5;MANICHAEAN LETTER THAMEDH;Lo;0;R;;;;;N;;;;;
+10AD6;MANICHAEAN LETTER MEM;Lo;0;R;;;;;N;;;;;
+10AD7;MANICHAEAN LETTER NUN;Lo;0;R;;;;;N;;;;;
+10AD8;MANICHAEAN LETTER SAMEKH;Lo;0;R;;;;;N;;;;;
+10AD9;MANICHAEAN LETTER AYIN;Lo;0;R;;;;;N;;;;;
+10ADA;MANICHAEAN LETTER AAYIN;Lo;0;R;;;;;N;;;;;
+10ADB;MANICHAEAN LETTER PE;Lo;0;R;;;;;N;;;;;
+10ADC;MANICHAEAN LETTER FE;Lo;0;R;;;;;N;;;;;
+10ADD;MANICHAEAN LETTER SADHE;Lo;0;R;;;;;N;;;;;
+10ADE;MANICHAEAN LETTER QOPH;Lo;0;R;;;;;N;;;;;
+10ADF;MANICHAEAN LETTER XOPH;Lo;0;R;;;;;N;;;;;
+10AE0;MANICHAEAN LETTER QHOPH;Lo;0;R;;;;;N;;;;;
+10AE1;MANICHAEAN LETTER RESH;Lo;0;R;;;;;N;;;;;
+10AE2;MANICHAEAN LETTER SHIN;Lo;0;R;;;;;N;;;;;
+10AE3;MANICHAEAN LETTER SSHIN;Lo;0;R;;;;;N;;;;;
+10AE4;MANICHAEAN LETTER TAW;Lo;0;R;;;;;N;;;;;
+10AE5;MANICHAEAN ABBREVIATION MARK ABOVE;Mn;230;NSM;;;;;N;;;;;
+10AE6;MANICHAEAN ABBREVIATION MARK BELOW;Mn;220;NSM;;;;;N;;;;;
+10AEB;MANICHAEAN NUMBER ONE;No;0;R;;;;1;N;;;;;
+10AEC;MANICHAEAN NUMBER FIVE;No;0;R;;;;5;N;;;;;
+10AED;MANICHAEAN NUMBER TEN;No;0;R;;;;10;N;;;;;
+10AEE;MANICHAEAN NUMBER TWENTY;No;0;R;;;;20;N;;;;;
+10AEF;MANICHAEAN NUMBER ONE HUNDRED;No;0;R;;;;100;N;;;;;
+10AF0;MANICHAEAN PUNCTUATION STAR;Po;0;R;;;;;N;;;;;
+10AF1;MANICHAEAN PUNCTUATION FLEURON;Po;0;R;;;;;N;;;;;
+10AF2;MANICHAEAN PUNCTUATION DOUBLE DOT WITHIN DOT;Po;0;R;;;;;N;;;;;
+10AF3;MANICHAEAN PUNCTUATION DOT WITHIN DOT;Po;0;R;;;;;N;;;;;
+10AF4;MANICHAEAN PUNCTUATION DOT;Po;0;R;;;;;N;;;;;
+10AF5;MANICHAEAN PUNCTUATION TWO DOTS;Po;0;R;;;;;N;;;;;
+10AF6;MANICHAEAN PUNCTUATION LINE FILLER;Po;0;R;;;;;N;;;;;
 10B00;AVESTAN LETTER A;Lo;0;R;;;;;N;;;;;
 10B01;AVESTAN LETTER AA;Lo;0;R;;;;;N;;;;;
 10B02;AVESTAN LETTER AO;Lo;0;R;;;;;N;;;;;
 10B03;AVESTAN LETTER AAO;Lo;0;R;;;;;N;;;;;
 10B04;AVESTAN LETTER AN;Lo;0;R;;;;;N;;;;;
 10B05;AVESTAN LETTER AAN;Lo;0;R;;;;;N;;;;;
 10B06;AVESTAN LETTER AE;Lo;0;R;;;;;N;;;;;
 10B07;AVESTAN LETTER AEE;Lo;0;R;;;;;N;;;;;
@@ -17241,16 +18573,45 @@ 10B72;INSCRIPTIONAL PAHLAVI LETTER TAW;L
 10B78;INSCRIPTIONAL PAHLAVI NUMBER ONE;No;0;R;;;;1;N;;;;;
 10B79;INSCRIPTIONAL PAHLAVI NUMBER TWO;No;0;R;;;;2;N;;;;;
 10B7A;INSCRIPTIONAL PAHLAVI NUMBER THREE;No;0;R;;;;3;N;;;;;
 10B7B;INSCRIPTIONAL PAHLAVI NUMBER FOUR;No;0;R;;;;4;N;;;;;
 10B7C;INSCRIPTIONAL PAHLAVI NUMBER TEN;No;0;R;;;;10;N;;;;;
 10B7D;INSCRIPTIONAL PAHLAVI NUMBER TWENTY;No;0;R;;;;20;N;;;;;
 10B7E;INSCRIPTIONAL PAHLAVI NUMBER ONE HUNDRED;No;0;R;;;;100;N;;;;;
 10B7F;INSCRIPTIONAL PAHLAVI NUMBER ONE THOUSAND;No;0;R;;;;1000;N;;;;;
+10B80;PSALTER PAHLAVI LETTER ALEPH;Lo;0;R;;;;;N;;;;;
+10B81;PSALTER PAHLAVI LETTER BETH;Lo;0;R;;;;;N;;;;;
+10B82;PSALTER PAHLAVI LETTER GIMEL;Lo;0;R;;;;;N;;;;;
+10B83;PSALTER PAHLAVI LETTER DALETH;Lo;0;R;;;;;N;;;;;
+10B84;PSALTER PAHLAVI LETTER HE;Lo;0;R;;;;;N;;;;;
+10B85;PSALTER PAHLAVI LETTER WAW-AYIN-RESH;Lo;0;R;;;;;N;;;;;
+10B86;PSALTER PAHLAVI LETTER ZAYIN;Lo;0;R;;;;;N;;;;;
+10B87;PSALTER PAHLAVI LETTER HETH;Lo;0;R;;;;;N;;;;;
+10B88;PSALTER PAHLAVI LETTER YODH;Lo;0;R;;;;;N;;;;;
+10B89;PSALTER PAHLAVI LETTER KAPH;Lo;0;R;;;;;N;;;;;
+10B8A;PSALTER PAHLAVI LETTER LAMEDH;Lo;0;R;;;;;N;;;;;
+10B8B;PSALTER PAHLAVI LETTER MEM-QOPH;Lo;0;R;;;;;N;;;;;
+10B8C;PSALTER PAHLAVI LETTER NUN;Lo;0;R;;;;;N;;;;;
+10B8D;PSALTER PAHLAVI LETTER SAMEKH;Lo;0;R;;;;;N;;;;;
+10B8E;PSALTER PAHLAVI LETTER PE;Lo;0;R;;;;;N;;;;;
+10B8F;PSALTER PAHLAVI LETTER SADHE;Lo;0;R;;;;;N;;;;;
+10B90;PSALTER PAHLAVI LETTER SHIN;Lo;0;R;;;;;N;;;;;
+10B91;PSALTER PAHLAVI LETTER TAW;Lo;0;R;;;;;N;;;;;
+10B99;PSALTER PAHLAVI SECTION MARK;Po;0;R;;;;;N;;;;;
+10B9A;PSALTER PAHLAVI TURNED SECTION MARK;Po;0;R;;;;;N;;;;;
+10B9B;PSALTER PAHLAVI FOUR DOTS WITH CROSS;Po;0;R;;;;;N;;;;;
+10B9C;PSALTER PAHLAVI FOUR DOTS WITH DOT;Po;0;R;;;;;N;;;;;
+10BA9;PSALTER PAHLAVI NUMBER ONE;No;0;R;;;;1;N;;;;;
+10BAA;PSALTER PAHLAVI NUMBER TWO;No;0;R;;;;2;N;;;;;
+10BAB;PSALTER PAHLAVI NUMBER THREE;No;0;R;;;;3;N;;;;;
+10BAC;PSALTER PAHLAVI NUMBER FOUR;No;0;R;;;;4;N;;;;;
+10BAD;PSALTER PAHLAVI NUMBER TEN;No;0;R;;;;10;N;;;;;
+10BAE;PSALTER PAHLAVI NUMBER TWENTY;No;0;R;;;;20;N;;;;;
+10BAF;PSALTER PAHLAVI NUMBER ONE HUNDRED;No;0;R;;;;100;N;;;;;
 10C00;OLD TURKIC LETTER ORKHON A;Lo;0;R;;;;;N;;;;;
 10C01;OLD TURKIC LETTER YENISEI A;Lo;0;R;;;;;N;;;;;
 10C02;OLD TURKIC LETTER YENISEI AE;Lo;0;R;;;;;N;;;;;
 10C03;OLD TURKIC LETTER ORKHON I;Lo;0;R;;;;;N;;;;;
 10C04;OLD TURKIC LETTER YENISEI I;Lo;0;R;;;;;N;;;;;
 10C05;OLD TURKIC LETTER YENISEI E;Lo;0;R;;;;;N;;;;;
 10C06;OLD TURKIC LETTER ORKHON O;Lo;0;R;;;;;N;;;;;
 10C07;OLD TURKIC LETTER ORKHON OE;Lo;0;R;;;;;N;;;;;
@@ -17314,16 +18675,124 @@ 10C40;OLD TURKIC LETTER YENISEI ASH;Lo;0
 10C41;OLD TURKIC LETTER ORKHON ESH;Lo;0;R;;;;;N;;;;;
 10C42;OLD TURKIC LETTER YENISEI ESH;Lo;0;R;;;;;N;;;;;
 10C43;OLD TURKIC LETTER ORKHON AT;Lo;0;R;;;;;N;;;;;
 10C44;OLD TURKIC LETTER YENISEI AT;Lo;0;R;;;;;N;;;;;
 10C45;OLD TURKIC LETTER ORKHON AET;Lo;0;R;;;;;N;;;;;
 10C46;OLD TURKIC LETTER YENISEI AET;Lo;0;R;;;;;N;;;;;
 10C47;OLD TURKIC LETTER ORKHON OT;Lo;0;R;;;;;N;;;;;
 10C48;OLD TURKIC LETTER ORKHON BASH;Lo;0;R;;;;;N;;;;;
+10C80;OLD HUNGARIAN CAPITAL LETTER A;Lu;0;R;;;;;N;;;;10CC0;
+10C81;OLD HUNGARIAN CAPITAL LETTER AA;Lu;0;R;;;;;N;;;;10CC1;
+10C82;OLD HUNGARIAN CAPITAL LETTER EB;Lu;0;R;;;;;N;;;;10CC2;
+10C83;OLD HUNGARIAN CAPITAL LETTER AMB;Lu;0;R;;;;;N;;;;10CC3;
+10C84;OLD HUNGARIAN CAPITAL LETTER EC;Lu;0;R;;;;;N;;;;10CC4;
+10C85;OLD HUNGARIAN CAPITAL LETTER ENC;Lu;0;R;;;;;N;;;;10CC5;
+10C86;OLD HUNGARIAN CAPITAL LETTER ECS;Lu;0;R;;;;;N;;;;10CC6;
+10C87;OLD HUNGARIAN CAPITAL LETTER ED;Lu;0;R;;;;;N;;;;10CC7;
+10C88;OLD HUNGARIAN CAPITAL LETTER AND;Lu;0;R;;;;;N;;;;10CC8;
+10C89;OLD HUNGARIAN CAPITAL LETTER E;Lu;0;R;;;;;N;;;;10CC9;
+10C8A;OLD HUNGARIAN CAPITAL LETTER CLOSE E;Lu;0;R;;;;;N;;;;10CCA;
+10C8B;OLD HUNGARIAN CAPITAL LETTER EE;Lu;0;R;;;;;N;;;;10CCB;
+10C8C;OLD HUNGARIAN CAPITAL LETTER EF;Lu;0;R;;;;;N;;;;10CCC;
+10C8D;OLD HUNGARIAN CAPITAL LETTER EG;Lu;0;R;;;;;N;;;;10CCD;
+10C8E;OLD HUNGARIAN CAPITAL LETTER EGY;Lu;0;R;;;;;N;;;;10CCE;
+10C8F;OLD HUNGARIAN CAPITAL LETTER EH;Lu;0;R;;;;;N;;;;10CCF;
+10C90;OLD HUNGARIAN CAPITAL LETTER I;Lu;0;R;;;;;N;;;;10CD0;
+10C91;OLD HUNGARIAN CAPITAL LETTER II;Lu;0;R;;;;;N;;;;10CD1;
+10C92;OLD HUNGARIAN CAPITAL LETTER EJ;Lu;0;R;;;;;N;;;;10CD2;
+10C93;OLD HUNGARIAN CAPITAL LETTER EK;Lu;0;R;;;;;N;;;;10CD3;
+10C94;OLD HUNGARIAN CAPITAL LETTER AK;Lu;0;R;;;;;N;;;;10CD4;
+10C95;OLD HUNGARIAN CAPITAL LETTER UNK;Lu;0;R;;;;;N;;;;10CD5;
+10C96;OLD HUNGARIAN CAPITAL LETTER EL;Lu;0;R;;;;;N;;;;10CD6;
+10C97;OLD HUNGARIAN CAPITAL LETTER ELY;Lu;0;R;;;;;N;;;;10CD7;
+10C98;OLD HUNGARIAN CAPITAL LETTER EM;Lu;0;R;;;;;N;;;;10CD8;
+10C99;OLD HUNGARIAN CAPITAL LETTER EN;Lu;0;R;;;;;N;;;;10CD9;
+10C9A;OLD HUNGARIAN CAPITAL LETTER ENY;Lu;0;R;;;;;N;;;;10CDA;
+10C9B;OLD HUNGARIAN CAPITAL LETTER O;Lu;0;R;;;;;N;;;;10CDB;
+10C9C;OLD HUNGARIAN CAPITAL LETTER OO;Lu;0;R;;;;;N;;;;10CDC;
+10C9D;OLD HUNGARIAN CAPITAL LETTER NIKOLSBURG OE;Lu;0;R;;;;;N;;;;10CDD;
+10C9E;OLD HUNGARIAN CAPITAL LETTER RUDIMENTA OE;Lu;0;R;;;;;N;;;;10CDE;
+10C9F;OLD HUNGARIAN CAPITAL LETTER OEE;Lu;0;R;;;;;N;;;;10CDF;
+10CA0;OLD HUNGARIAN CAPITAL LETTER EP;Lu;0;R;;;;;N;;;;10CE0;
+10CA1;OLD HUNGARIAN CAPITAL LETTER EMP;Lu;0;R;;;;;N;;;;10CE1;
+10CA2;OLD HUNGARIAN CAPITAL LETTER ER;Lu;0;R;;;;;N;;;;10CE2;
+10CA3;OLD HUNGARIAN CAPITAL LETTER SHORT ER;Lu;0;R;;;;;N;;;;10CE3;
+10CA4;OLD HUNGARIAN CAPITAL LETTER ES;Lu;0;R;;;;;N;;;;10CE4;
+10CA5;OLD HUNGARIAN CAPITAL LETTER ESZ;Lu;0;R;;;;;N;;;;10CE5;
+10CA6;OLD HUNGARIAN CAPITAL LETTER ET;Lu;0;R;;;;;N;;;;10CE6;
+10CA7;OLD HUNGARIAN CAPITAL LETTER ENT;Lu;0;R;;;;;N;;;;10CE7;
+10CA8;OLD HUNGARIAN CAPITAL LETTER ETY;Lu;0;R;;;;;N;;;;10CE8;
+10CA9;OLD HUNGARIAN CAPITAL LETTER ECH;Lu;0;R;;;;;N;;;;10CE9;
+10CAA;OLD HUNGARIAN CAPITAL LETTER U;Lu;0;R;;;;;N;;;;10CEA;
+10CAB;OLD HUNGARIAN CAPITAL LETTER UU;Lu;0;R;;;;;N;;;;10CEB;
+10CAC;OLD HUNGARIAN CAPITAL LETTER NIKOLSBURG UE;Lu;0;R;;;;;N;;;;10CEC;
+10CAD;OLD HUNGARIAN CAPITAL LETTER RUDIMENTA UE;Lu;0;R;;;;;N;;;;10CED;
+10CAE;OLD HUNGARIAN CAPITAL LETTER EV;Lu;0;R;;;;;N;;;;10CEE;
+10CAF;OLD HUNGARIAN CAPITAL LETTER EZ;Lu;0;R;;;;;N;;;;10CEF;
+10CB0;OLD HUNGARIAN CAPITAL LETTER EZS;Lu;0;R;;;;;N;;;;10CF0;
+10CB1;OLD HUNGARIAN CAPITAL LETTER ENT-SHAPED SIGN;Lu;0;R;;;;;N;;;;10CF1;
+10CB2;OLD HUNGARIAN CAPITAL LETTER US;Lu;0;R;;;;;N;;;;10CF2;
+10CC0;OLD HUNGARIAN SMALL LETTER A;Ll;0;R;;;;;N;;;10C80;;10C80
+10CC1;OLD HUNGARIAN SMALL LETTER AA;Ll;0;R;;;;;N;;;10C81;;10C81
+10CC2;OLD HUNGARIAN SMALL LETTER EB;Ll;0;R;;;;;N;;;10C82;;10C82
+10CC3;OLD HUNGARIAN SMALL LETTER AMB;Ll;0;R;;;;;N;;;10C83;;10C83
+10CC4;OLD HUNGARIAN SMALL LETTER EC;Ll;0;R;;;;;N;;;10C84;;10C84
+10CC5;OLD HUNGARIAN SMALL LETTER ENC;Ll;0;R;;;;;N;;;10C85;;10C85
+10CC6;OLD HUNGARIAN SMALL LETTER ECS;Ll;0;R;;;;;N;;;10C86;;10C86
+10CC7;OLD HUNGARIAN SMALL LETTER ED;Ll;0;R;;;;;N;;;10C87;;10C87
+10CC8;OLD HUNGARIAN SMALL LETTER AND;Ll;0;R;;;;;N;;;10C88;;10C88
+10CC9;OLD HUNGARIAN SMALL LETTER E;Ll;0;R;;;;;N;;;10C89;;10C89
+10CCA;OLD HUNGARIAN SMALL LETTER CLOSE E;Ll;0;R;;;;;N;;;10C8A;;10C8A
+10CCB;OLD HUNGARIAN SMALL LETTER EE;Ll;0;R;;;;;N;;;10C8B;;10C8B
+10CCC;OLD HUNGARIAN SMALL LETTER EF;Ll;0;R;;;;;N;;;10C8C;;10C8C
+10CCD;OLD HUNGARIAN SMALL LETTER EG;Ll;0;R;;;;;N;;;10C8D;;10C8D
+10CCE;OLD HUNGARIAN SMALL LETTER EGY;Ll;0;R;;;;;N;;;10C8E;;10C8E
+10CCF;OLD HUNGARIAN SMALL LETTER EH;Ll;0;R;;;;;N;;;10C8F;;10C8F
+10CD0;OLD HUNGARIAN SMALL LETTER I;Ll;0;R;;;;;N;;;10C90;;10C90
+10CD1;OLD HUNGARIAN SMALL LETTER II;Ll;0;R;;;;;N;;;10C91;;10C91
+10CD2;OLD HUNGARIAN SMALL LETTER EJ;Ll;0;R;;;;;N;;;10C92;;10C92
+10CD3;OLD HUNGARIAN SMALL LETTER EK;Ll;0;R;;;;;N;;;10C93;;10C93
+10CD4;OLD HUNGARIAN SMALL LETTER AK;Ll;0;R;;;;;N;;;10C94;;10C94
+10CD5;OLD HUNGARIAN SMALL LETTER UNK;Ll;0;R;;;;;N;;;10C95;;10C95
+10CD6;OLD HUNGARIAN SMALL LETTER EL;Ll;0;R;;;;;N;;;10C96;;10C96
+10CD7;OLD HUNGARIAN SMALL LETTER ELY;Ll;0;R;;;;;N;;;10C97;;10C97
+10CD8;OLD HUNGARIAN SMALL LETTER EM;Ll;0;R;;;;;N;;;10C98;;10C98
+10CD9;OLD HUNGARIAN SMALL LETTER EN;Ll;0;R;;;;;N;;;10C99;;10C99
+10CDA;OLD HUNGARIAN SMALL LETTER ENY;Ll;0;R;;;;;N;;;10C9A;;10C9A
+10CDB;OLD HUNGARIAN SMALL LETTER O;Ll;0;R;;;;;N;;;10C9B;;10C9B
+10CDC;OLD HUNGARIAN SMALL LETTER OO;Ll;0;R;;;;;N;;;10C9C;;10C9C
+10CDD;OLD HUNGARIAN SMALL LETTER NIKOLSBURG OE;Ll;0;R;;;;;N;;;10C9D;;10C9D
+10CDE;OLD HUNGARIAN SMALL LETTER RUDIMENTA OE;Ll;0;R;;;;;N;;;10C9E;;10C9E
+10CDF;OLD HUNGARIAN SMALL LETTER OEE;Ll;0;R;;;;;N;;;10C9F;;10C9F
+10CE0;OLD HUNGARIAN SMALL LETTER EP;Ll;0;R;;;;;N;;;10CA0;;10CA0
+10CE1;OLD HUNGARIAN SMALL LETTER EMP;Ll;0;R;;;;;N;;;10CA1;;10CA1
+10CE2;OLD HUNGARIAN SMALL LETTER ER;Ll;0;R;;;;;N;;;10CA2;;10CA2
+10CE3;OLD HUNGARIAN SMALL LETTER SHORT ER;Ll;0;R;;;;;N;;;10CA3;;10CA3
+10CE4;OLD HUNGARIAN SMALL LETTER ES;Ll;0;R;;;;;N;;;10CA4;;10CA4
+10CE5;OLD HUNGARIAN SMALL LETTER ESZ;Ll;0;R;;;;;N;;;10CA5;;10CA5
+10CE6;OLD HUNGARIAN SMALL LETTER ET;Ll;0;R;;;;;N;;;10CA6;;10CA6
+10CE7;OLD HUNGARIAN SMALL LETTER ENT;Ll;0;R;;;;;N;;;10CA7;;10CA7
+10CE8;OLD HUNGARIAN SMALL LETTER ETY;Ll;0;R;;;;;N;;;10CA8;;10CA8
+10CE9;OLD HUNGARIAN SMALL LETTER ECH;Ll;0;R;;;;;N;;;10CA9;;10CA9
+10CEA;OLD HUNGARIAN SMALL LETTER U;Ll;0;R;;;;;N;;;10CAA;;10CAA
+10CEB;OLD HUNGARIAN SMALL LETTER UU;Ll;0;R;;;;;N;;;10CAB;;10CAB
+10CEC;OLD HUNGARIAN SMALL LETTER NIKOLSBURG UE;Ll;0;R;;;;;N;;;10CAC;;10CAC
+10CED;OLD HUNGARIAN SMALL LETTER RUDIMENTA UE;Ll;0;R;;;;;N;;;10CAD;;10CAD
+10CEE;OLD HUNGARIAN SMALL LETTER EV;Ll;0;R;;;;;N;;;10CAE;;10CAE
+10CEF;OLD HUNGARIAN SMALL LETTER EZ;Ll;0;R;;;;;N;;;10CAF;;10CAF
+10CF0;OLD HUNGARIAN SMALL LETTER EZS;Ll;0;R;;;;;N;;;10CB0;;10CB0
+10CF1;OLD HUNGARIAN SMALL LETTER ENT-SHAPED SIGN;Ll;0;R;;;;;N;;;10CB1;;10CB1
+10CF2;OLD HUNGARIAN SMALL LETTER US;Ll;0;R;;;;;N;;;10CB2;;10CB2
+10CFA;OLD HUNGARIAN NUMBER ONE;No;0;R;;;;1;N;;;;;
+10CFB;OLD HUNGARIAN NUMBER FIVE;No;0;R;;;;5;N;;;;;
+10CFC;OLD HUNGARIAN NUMBER TEN;No;0;R;;;;10;N;;;;;
+10CFD;OLD HUNGARIAN NUMBER FIFTY;No;0;R;;;;50;N;;;;;
+10CFE;OLD HUNGARIAN NUMBER ONE HUNDRED;No;0;R;;;;100;N;;;;;
+10CFF;OLD HUNGARIAN NUMBER ONE THOUSAND;No;0;R;;;;1000;N;;;;;
 10E60;RUMI DIGIT ONE;No;0;AN;;;1;1;N;;;;;
 10E61;RUMI DIGIT TWO;No;0;AN;;;2;2;N;;;;;
 10E62;RUMI DIGIT THREE;No;0;AN;;;3;3;N;;;;;
 10E63;RUMI DIGIT FOUR;No;0;AN;;;4;4;N;;;;;
 10E64;RUMI DIGIT FIVE;No;0;AN;;;5;5;N;;;;;
 10E65;RUMI DIGIT SIX;No;0;AN;;;6;6;N;;;;;
 10E66;RUMI DIGIT SEVEN;No;0;AN;;;7;7;N;;;;;
 10E67;RUMI DIGIT EIGHT;No;0;AN;;;8;8;N;;;;;
@@ -17453,16 +18922,17 @@ 11067;BRAHMI DIGIT ONE;Nd;0;L;;1;1;1;N;;
 11068;BRAHMI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
 11069;BRAHMI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
 1106A;BRAHMI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
 1106B;BRAHMI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
 1106C;BRAHMI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
 1106D;BRAHMI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
 1106E;BRAHMI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
 1106F;BRAHMI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+1107F;BRAHMI NUMBER JOINER;Mn;9;NSM;;;;;N;;;;;
 11080;KAITHI SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;;
 11081;KAITHI SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;;
 11082;KAITHI SIGN VISARGA;Mc;0;L;;;;;N;;;;;
 11083;KAITHI LETTER A;Lo;0;L;;;;;N;;;;;
 11084;KAITHI LETTER AA;Lo;0;L;;;;;N;;;;;
 11085;KAITHI LETTER I;Lo;0;L;;;;;N;;;;;
 11086;KAITHI LETTER II;Lo;0;L;;;;;N;;;;;
 11087;KAITHI LETTER U;Lo;0;L;;;;;N;;;;;
@@ -17621,16 +19091,55 @@ 1113B;CHAKMA DIGIT FIVE;Nd;0;L;;5;5;5;N;
 1113C;CHAKMA DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
 1113D;CHAKMA DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
 1113E;CHAKMA DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
 1113F;CHAKMA DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
 11140;CHAKMA SECTION MARK;Po;0;L;;;;;N;;;;;
 11141;CHAKMA DANDA;Po;0;L;;;;;N;;;;;
 11142;CHAKMA DOUBLE DANDA;Po;0;L;;;;;N;;;;;
 11143;CHAKMA QUESTION MARK;Po;0;L;;;;;N;;;;;
+11150;MAHAJANI LETTER A;Lo;0;L;;;;;N;;;;;
+11151;MAHAJANI LETTER I;Lo;0;L;;;;;N;;;;;
+11152;MAHAJANI LETTER U;Lo;0;L;;;;;N;;;;;
+11153;MAHAJANI LETTER E;Lo;0;L;;;;;N;;;;;
+11154;MAHAJANI LETTER O;Lo;0;L;;;;;N;;;;;
+11155;MAHAJANI LETTER KA;Lo;0;L;;;;;N;;;;;
+11156;MAHAJANI LETTER KHA;Lo;0;L;;;;;N;;;;;
+11157;MAHAJANI LETTER GA;Lo;0;L;;;;;N;;;;;
+11158;MAHAJANI LETTER GHA;Lo;0;L;;;;;N;;;;;
+11159;MAHAJANI LETTER CA;Lo;0;L;;;;;N;;;;;
+1115A;MAHAJANI LETTER CHA;Lo;0;L;;;;;N;;;;;
+1115B;MAHAJANI LETTER JA;Lo;0;L;;;;;N;;;;;
+1115C;MAHAJANI LETTER JHA;Lo;0;L;;;;;N;;;;;
+1115D;MAHAJANI LETTER NYA;Lo;0;L;;;;;N;;;;;
+1115E;MAHAJANI LETTER TTA;Lo;0;L;;;;;N;;;;;
+1115F;MAHAJANI LETTER TTHA;Lo;0;L;;;;;N;;;;;
+11160;MAHAJANI LETTER DDA;Lo;0;L;;;;;N;;;;;
+11161;MAHAJANI LETTER DDHA;Lo;0;L;;;;;N;;;;;
+11162;MAHAJANI LETTER NNA;Lo;0;L;;;;;N;;;;;
+11163;MAHAJANI LETTER TA;Lo;0;L;;;;;N;;;;;
+11164;MAHAJANI LETTER THA;Lo;0;L;;;;;N;;;;;
+11165;MAHAJANI LETTER DA;Lo;0;L;;;;;N;;;;;
+11166;MAHAJANI LETTER DHA;Lo;0;L;;;;;N;;;;;
+11167;MAHAJANI LETTER NA;Lo;0;L;;;;;N;;;;;
+11168;MAHAJANI LETTER PA;Lo;0;L;;;;;N;;;;;
+11169;MAHAJANI LETTER PHA;Lo;0;L;;;;;N;;;;;
+1116A;MAHAJANI LETTER BA;Lo;0;L;;;;;N;;;;;
+1116B;MAHAJANI LETTER BHA;Lo;0;L;;;;;N;;;;;
+1116C;MAHAJANI LETTER MA;Lo;0;L;;;;;N;;;;;
+1116D;MAHAJANI LETTER RA;Lo;0;L;;;;;N;;;;;
+1116E;MAHAJANI LETTER LA;Lo;0;L;;;;;N;;;;;
+1116F;MAHAJANI LETTER VA;Lo;0;L;;;;;N;;;;;
+11170;MAHAJANI LETTER SA;Lo;0;L;;;;;N;;;;;
+11171;MAHAJANI LETTER HA;Lo;0;L;;;;;N;;;;;
+11172;MAHAJANI LETTER RRA;Lo;0;L;;;;;N;;;;;
+11173;MAHAJANI SIGN NUKTA;Mn;7;NSM;;;;;N;;;;;
+11174;MAHAJANI ABBREVIATION SIGN;Po;0;L;;;;;N;;;;;
+11175;MAHAJANI SECTION MARK;Po;0;L;;;;;N;;;;;
+11176;MAHAJANI LIGATURE SHRI;Lo;0;L;;;;;N;;;;;
 11180;SHARADA SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;;
 11181;SHARADA SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;;
 11182;SHARADA SIGN VISARGA;Mc;0;L;;;;;N;;;;;
 11183;SHARADA LETTER A;Lo;0;L;;;;;N;;;;;
 11184;SHARADA LETTER AA;Lo;0;L;;;;;N;;;;;
 11185;SHARADA LETTER I;Lo;0;L;;;;;N;;;;;
 11186;SHARADA LETTER II;Lo;0;L;;;;;N;;;;;
 11187;SHARADA LETTER U;Lo;0;L;;;;;N;;;;;
@@ -17694,26 +19203,669 @@ 111C0;SHARADA SIGN VIRAMA;Mc;9;L;;;;;N;;
 111C1;SHARADA SIGN AVAGRAHA;Lo;0;L;;;;;N;;;;;
 111C2;SHARADA SIGN JIHVAMULIYA;Lo;0;L;;;;;N;;;;;
 111C3;SHARADA SIGN UPADHMANIYA;Lo;0;L;;;;;N;;;;;
 111C4;SHARADA OM;Lo;0;L;;;;;N;;;;;
 111C5;SHARADA DANDA;Po;0;L;;;;;N;;;;;
 111C6;SHARADA DOUBLE DANDA;Po;0;L;;;;;N;;;;;
 111C7;SHARADA ABBREVIATION SIGN;Po;0;L;;;;;N;;;;;
 111C8;SHARADA SEPARATOR;Po;0;L;;;;;N;;;;;
+111C9;SHARADA SANDHI MARK;Po;0;L;;;;;N;;;;;
+111CA;SHARADA SIGN NUKTA;Mn;7;NSM;;;;;N;;;;;
+111CB;SHARADA VOWEL MODIFIER MARK;Mn;0;NSM;;;;;N;;;;;
+111CC;SHARADA EXTRA SHORT VOWEL MARK;Mn;0;NSM;;;;;N;;;;;
+111CD;SHARADA SUTRA MARK;Po;0;L;;;;;N;;;;;
 111D0;SHARADA DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
 111D1;SHARADA DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
 111D2;SHARADA DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
 111D3;SHARADA DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
 111D4;SHARADA DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
 111D5;SHARADA DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
 111D6;SHARADA DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
 111D7;SHARADA DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
 111D8;SHARADA DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
 111D9;SHARADA DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+111DA;SHARADA EKAM;Lo;0;L;;;;;N;;;;;
+111DB;SHARADA SIGN SIDDHAM;Po;0;L;;;;;N;;;;;
+111DC;SHARADA HEADSTROKE;Lo;0;L;;;;;N;;;;;
+111DD;SHARADA CONTINUATION SIGN;Po;0;L;;;;;N;;;;;
+111DE;SHARADA SECTION MARK-1;Po;0;L;;;;;N;;;;;
+111DF;SHARADA SECTION MARK-2;Po;0;L;;;;;N;;;;;
+111E1;SINHALA ARCHAIC DIGIT ONE;No;0;L;;;;1;N;;;;;
+111E2;SINHALA ARCHAIC DIGIT TWO;No;0;L;;;;2;N;;;;;
+111E3;SINHALA ARCHAIC DIGIT THREE;No;0;L;;;;3;N;;;;;
+111E4;SINHALA ARCHAIC DIGIT FOUR;No;0;L;;;;4;N;;;;;
+111E5;SINHALA ARCHAIC DIGIT FIVE;No;0;L;;;;5;N;;;;;
+111E6;SINHALA ARCHAIC DIGIT SIX;No;0;L;;;;6;N;;;;;
+111E7;SINHALA ARCHAIC DIGIT SEVEN;No;0;L;;;;7;N;;;;;
+111E8;SINHALA ARCHAIC DIGIT EIGHT;No;0;L;;;;8;N;;;;;
+111E9;SINHALA ARCHAIC DIGIT NINE;No;0;L;;;;9;N;;;;;
+111EA;SINHALA ARCHAIC NUMBER TEN;No;0;L;;;;10;N;;;;;
+111EB;SINHALA ARCHAIC NUMBER TWENTY;No;0;L;;;;20;N;;;;;
+111EC;SINHALA ARCHAIC NUMBER THIRTY;No;0;L;;;;30;N;;;;;
+111ED;SINHALA ARCHAIC NUMBER FORTY;No;0;L;;;;40;N;;;;;
+111EE;SINHALA ARCHAIC NUMBER FIFTY;No;0;L;;;;50;N;;;;;
+111EF;SINHALA ARCHAIC NUMBER SIXTY;No;0;L;;;;60;N;;;;;
+111F0;SINHALA ARCHAIC NUMBER SEVENTY;No;0;L;;;;70;N;;;;;
+111F1;SINHALA ARCHAIC NUMBER EIGHTY;No;0;L;;;;80;N;;;;;
+111F2;SINHALA ARCHAIC NUMBER NINETY;No;0;L;;;;90;N;;;;;
+111F3;SINHALA ARCHAIC NUMBER ONE HUNDRED;No;0;L;;;;100;N;;;;;
+111F4;SINHALA ARCHAIC NUMBER ONE THOUSAND;No;0;L;;;;1000;N;;;;;
+11200;KHOJKI LETTER A;Lo;0;L;;;;;N;;;;;
+11201;KHOJKI LETTER AA;Lo;0;L;;;;;N;;;;;
+11202;KHOJKI LETTER I;Lo;0;L;;;;;N;;;;;
+11203;KHOJKI LETTER U;Lo;0;L;;;;;N;;;;;
+11204;KHOJKI LETTER E;Lo;0;L;;;;;N;;;;;
+11205;KHOJKI LETTER AI;Lo;0;L;;;;;N;;;;;
+11206;KHOJKI LETTER O;Lo;0;L;;;;;N;;;;;
+11207;KHOJKI LETTER AU;Lo;0;L;;;;;N;;;;;
+11208;KHOJKI LETTER KA;Lo;0;L;;;;;N;;;;;
+11209;KHOJKI LETTER KHA;Lo;0;L;;;;;N;;;;;
+1120A;KHOJKI LETTER GA;Lo;0;L;;;;;N;;;;;
+1120B;KHOJKI LETTER GGA;Lo;0;L;;;;;N;;;;;
+1120C;KHOJKI LETTER GHA;Lo;0;L;;;;;N;;;;;
+1120D;KHOJKI LETTER NGA;Lo;0;L;;;;;N;;;;;
+1120E;KHOJKI LETTER CA;Lo;0;L;;;;;N;;;;;
+1120F;KHOJKI LETTER CHA;Lo;0;L;;;;;N;;;;;
+11210;KHOJKI LETTER JA;Lo;0;L;;;;;N;;;;;
+11211;KHOJKI LETTER JJA;Lo;0;L;;;;;N;;;;;
+11213;KHOJKI LETTER NYA;Lo;0;L;;;;;N;;;;;
+11214;KHOJKI LETTER TTA;Lo;0;L;;;;;N;;;;;
+11215;KHOJKI LETTER TTHA;Lo;0;L;;;;;N;;;;;
+11216;KHOJKI LETTER DDA;Lo;0;L;;;;;N;;;;;
+11217;KHOJKI LETTER DDHA;Lo;0;L;;;;;N;;;;;
+11218;KHOJKI LETTER NNA;Lo;0;L;;;;;N;;;;;
+11219;KHOJKI LETTER TA;Lo;0;L;;;;;N;;;;;
+1121A;KHOJKI LETTER THA;Lo;0;L;;;;;N;;;;;
+1121B;KHOJKI LETTER DA;Lo;0;L;;;;;N;;;;;
+1121C;KHOJKI LETTER DDDA;Lo;0;L;;;;;N;;;;;
+1121D;KHOJKI LETTER DHA;Lo;0;L;;;;;N;;;;;
+1121E;KHOJKI LETTER NA;Lo;0;L;;;;;N;;;;;
+1121F;KHOJKI LETTER PA;Lo;0;L;;;;;N;;;;;
+11220;KHOJKI LETTER PHA;Lo;0;L;;;;;N;;;;;
+11221;KHOJKI LETTER BA;Lo;0;L;;;;;N;;;;;
+11222;KHOJKI LETTER BBA;Lo;0;L;;;;;N;;;;;
+11223;KHOJKI LETTER BHA;Lo;0;L;;;;;N;;;;;
+11224;KHOJKI LETTER MA;Lo;0;L;;;;;N;;;;;
+11225;KHOJKI LETTER YA;Lo;0;L;;;;;N;;;;;
+11226;KHOJKI LETTER RA;Lo;0;L;;;;;N;;;;;
+11227;KHOJKI LETTER LA;Lo;0;L;;;;;N;;;;;
+11228;KHOJKI LETTER VA;Lo;0;L;;;;;N;;;;;
+11229;KHOJKI LETTER SA;Lo;0;L;;;;;N;;;;;
+1122A;KHOJKI LETTER HA;Lo;0;L;;;;;N;;;;;
+1122B;KHOJKI LETTER LLA;Lo;0;L;;;;;N;;;;;
+1122C;KHOJKI VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
+1122D;KHOJKI VOWEL SIGN I;Mc;0;L;;;;;N;;;;;
+1122E;KHOJKI VOWEL SIGN II;Mc;0;L;;;;;N;;;;;
+1122F;KHOJKI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
+11230;KHOJKI VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;;
+11231;KHOJKI VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;;
+11232;KHOJKI VOWEL SIGN O;Mc;0;L;;;;;N;;;;;
+11233;KHOJKI VOWEL SIGN AU;Mc;0;L;;;;;N;;;;;
+11234;KHOJKI SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;;
+11235;KHOJKI SIGN VIRAMA;Mc;9;L;;;;;N;;;;;
+11236;KHOJKI SIGN NUKTA;Mn;7;NSM;;;;;N;;;;;
+11237;KHOJKI SIGN SHADDA;Mn;0;NSM;;;;;N;;;;;
+11238;KHOJKI DANDA;Po;0;L;;;;;N;;;;;
+11239;KHOJKI DOUBLE DANDA;Po;0;L;;;;;N;;;;;
+1123A;KHOJKI WORD SEPARATOR;Po;0;L;;;;;N;;;;;
+1123B;KHOJKI SECTION MARK;Po;0;L;;;;;N;;;;;
+1123C;KHOJKI DOUBLE SECTION MARK;Po;0;L;;;;;N;;;;;
+1123D;KHOJKI ABBREVIATION SIGN;Po;0;L;;;;;N;;;;;
+1123E;KHOJKI SIGN SUKUN;Mn;0;NSM;;;;;N;;;;;
+11280;MULTANI LETTER A;Lo;0;L;;;;;N;;;;;
+11281;MULTANI LETTER I;Lo;0;L;;;;;N;;;;;
+11282;MULTANI LETTER U;Lo;0;L;;;;;N;;;;;
+11283;MULTANI LETTER E;Lo;0;L;;;;;N;;;;;
+11284;MULTANI LETTER KA;Lo;0;L;;;;;N;;;;;
+11285;MULTANI LETTER KHA;Lo;0;L;;;;;N;;;;;
+11286;MULTANI LETTER GA;Lo;0;L;;;;;N;;;;;
+11288;MULTANI LETTER GHA;Lo;0;L;;;;;N;;;;;
+1128A;MULTANI LETTER CA;Lo;0;L;;;;;N;;;;;
+1128B;MULTANI LETTER CHA;Lo;0;L;;;;;N;;;;;
+1128C;MULTANI LETTER JA;Lo;0;L;;;;;N;;;;;
+1128D;MULTANI LETTER JJA;Lo;0;L;;;;;N;;;;;
+1128F;MULTANI LETTER NYA;Lo;0;L;;;;;N;;;;;
+11290;MULTANI LETTER TTA;Lo;0;L;;;;;N;;;;;
+11291;MULTANI LETTER TTHA;Lo;0;L;;;;;N;;;;;
+11292;MULTANI LETTER DDA;Lo;0;L;;;;;N;;;;;
+11293;MULTANI LETTER DDDA;Lo;0;L;;;;;N;;;;;
+11294;MULTANI LETTER DDHA;Lo;0;L;;;;;N;;;;;
+11295;MULTANI LETTER NNA;Lo;0;L;;;;;N;;;;;
+11296;MULTANI LETTER TA;Lo;0;L;;;;;N;;;;;
+11297;MULTANI LETTER THA;Lo;0;L;;;;;N;;;;;
+11298;MULTANI LETTER DA;Lo;0;L;;;;;N;;;;;
+11299;MULTANI LETTER DHA;Lo;0;L;;;;;N;;;;;
+1129A;MULTANI LETTER NA;Lo;0;L;;;;;N;;;;;
+1129B;MULTANI LETTER PA;Lo;0;L;;;;;N;;;;;
+1129C;MULTANI LETTER PHA;Lo;0;L;;;;;N;;;;;
+1129D;MULTANI LETTER BA;Lo;0;L;;;;;N;;;;;
+1129F;MULTANI LETTER BHA;Lo;0;L;;;;;N;;;;;
+112A0;MULTANI LETTER MA;Lo;0;L;;;;;N;;;;;
+112A1;MULTANI LETTER YA;Lo;0;L;;;;;N;;;;;
+112A2;MULTANI LETTER RA;Lo;0;L;;;;;N;;;;;
+112A3;MULTANI LETTER LA;Lo;0;L;;;;;N;;;;;
+112A4;MULTANI LETTER VA;Lo;0;L;;;;;N;;;;;
+112A5;MULTANI LETTER SA;Lo;0;L;;;;;N;;;;;
+112A6;MULTANI LETTER HA;Lo;0;L;;;;;N;;;;;
+112A7;MULTANI LETTER RRA;Lo;0;L;;;;;N;;;;;
+112A8;MULTANI LETTER RHA;Lo;0;L;;;;;N;;;;;
+112A9;MULTANI SECTION MARK;Po;0;L;;;;;N;;;;;
+112B0;KHUDAWADI LETTER A;Lo;0;L;;;;;N;;;;;
+112B1;KHUDAWADI LETTER AA;Lo;0;L;;;;;N;;;;;
+112B2;KHUDAWADI LETTER I;Lo;0;L;;;;;N;;;;;
+112B3;KHUDAWADI LETTER II;Lo;0;L;;;;;N;;;;;
+112B4;KHUDAWADI LETTER U;Lo;0;L;;;;;N;;;;;
+112B5;KHUDAWADI LETTER UU;Lo;0;L;;;;;N;;;;;
+112B6;KHUDAWADI LETTER E;Lo;0;L;;;;;N;;;;;
+112B7;KHUDAWADI LETTER AI;Lo;0;L;;;;;N;;;;;
+112B8;KHUDAWADI LETTER O;Lo;0;L;;;;;N;;;;;
+112B9;KHUDAWADI LETTER AU;Lo;0;L;;;;;N;;;;;
+112BA;KHUDAWADI LETTER KA;Lo;0;L;;;;;N;;;;;
+112BB;KHUDAWADI LETTER KHA;Lo;0;L;;;;;N;;;;;
+112BC;KHUDAWADI LETTER GA;Lo;0;L;;;;;N;;;;;
+112BD;KHUDAWADI LETTER GGA;Lo;0;L;;;;;N;;;;;
+112BE;KHUDAWADI LETTER GHA;Lo;0;L;;;;;N;;;;;
+112BF;KHUDAWADI LETTER NGA;Lo;0;L;;;;;N;;;;;
+112C0;KHUDAWADI LETTER CA;Lo;0;L;;;;;N;;;;;
+112C1;KHUDAWADI LETTER CHA;Lo;0;L;;;;;N;;;;;
+112C2;KHUDAWADI LETTER JA;Lo;0;L;;;;;N;;;;;
+112C3;KHUDAWADI LETTER JJA;Lo;0;L;;;;;N;;;;;
+112C4;KHUDAWADI LETTER JHA;Lo;0;L;;;;;N;;;;;
+112C5;KHUDAWADI LETTER NYA;Lo;0;L;;;;;N;;;;;
+112C6;KHUDAWADI LETTER TTA;Lo;0;L;;;;;N;;;;;
+112C7;KHUDAWADI LETTER TTHA;Lo;0;L;;;;;N;;;;;
+112C8;KHUDAWADI LETTER DDA;Lo;0;L;;;;;N;;;;;
+112C9;KHUDAWADI LETTER DDDA;Lo;0;L;;;;;N;;;;;
+112CA;KHUDAWADI LETTER RRA;Lo;0;L;;;;;N;;;;;
+112CB;KHUDAWADI LETTER DDHA;Lo;0;L;;;;;N;;;;;
+112CC;KHUDAWADI LETTER NNA;Lo;0;L;;;;;N;;;;;
+112CD;KHUDAWADI LETTER TA;Lo;0;L;;;;;N;;;;;
+112CE;KHUDAWADI LETTER THA;Lo;0;L;;;;;N;;;;;
+112CF;KHUDAWADI LETTER DA;Lo;0;L;;;;;N;;;;;
+112D0;KHUDAWADI LETTER DHA;Lo;0;L;;;;;N;;;;;
+112D1;KHUDAWADI LETTER NA;Lo;0;L;;;;;N;;;;;
+112D2;KHUDAWADI LETTER PA;Lo;0;L;;;;;N;;;;;
+112D3;KHUDAWADI LETTER PHA;Lo;0;L;;;;;N;;;;;
+112D4;KHUDAWADI LETTER BA;Lo;0;L;;;;;N;;;;;
+112D5;KHUDAWADI LETTER BBA;Lo;0;L;;;;;N;;;;;
+112D6;KHUDAWADI LETTER BHA;Lo;0;L;;;;;N;;;;;
+112D7;KHUDAWADI LETTER MA;Lo;0;L;;;;;N;;;;;
+112D8;KHUDAWADI LETTER YA;Lo;0;L;;;;;N;;;;;
+112D9;KHUDAWADI LETTER RA;Lo;0;L;;;;;N;;;;;
+112DA;KHUDAWADI LETTER LA;Lo;0;L;;;;;N;;;;;
+112DB;KHUDAWADI LETTER VA;Lo;0;L;;;;;N;;;;;
+112DC;KHUDAWADI LETTER SHA;Lo;0;L;;;;;N;;;;;
+112DD;KHUDAWADI LETTER SA;Lo;0;L;;;;;N;;;;;
+112DE;KHUDAWADI LETTER HA;Lo;0;L;;;;;N;;;;;
+112DF;KHUDAWADI SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;;
+112E0;KHUDAWADI VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
+112E1;KHUDAWADI VOWEL SIGN I;Mc;0;L;;;;;N;;;;;
+112E2;KHUDAWADI VOWEL SIGN II;Mc;0;L;;;;;N;;;;;
+112E3;KHUDAWADI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
+112E4;KHUDAWADI VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;;
+112E5;KHUDAWADI VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;;
+112E6;KHUDAWADI VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;;
+112E7;KHUDAWADI VOWEL SIGN O;Mn;0;NSM;;;;;N;;;;;
+112E8;KHUDAWADI VOWEL SIGN AU;Mn;0;NSM;;;;;N;;;;;
+112E9;KHUDAWADI SIGN NUKTA;Mn;7;NSM;;;;;N;;;;;
+112EA;KHUDAWADI SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;;
+112F0;KHUDAWADI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
+112F1;KHUDAWADI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+112F2;KHUDAWADI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+112F3;KHUDAWADI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+112F4;KHUDAWADI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+112F5;KHUDAWADI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+112F6;KHUDAWADI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+112F7;KHUDAWADI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+112F8;KHUDAWADI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+112F9;KHUDAWADI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+11300;GRANTHA SIGN COMBINING ANUSVARA ABOVE;Mn;0;NSM;;;;;N;;;;;
+11301;GRANTHA SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;;
+11302;GRANTHA SIGN ANUSVARA;Mc;0;L;;;;;N;;;;;
+11303;GRANTHA SIGN VISARGA;Mc;0;L;;;;;N;;;;;
+11305;GRANTHA LETTER A;Lo;0;L;;;;;N;;;;;
+11306;GRANTHA LETTER AA;Lo;0;L;;;;;N;;;;;
+11307;GRANTHA LETTER I;Lo;0;L;;;;;N;;;;;
+11308;GRANTHA LETTER II;Lo;0;L;;;;;N;;;;;
+11309;GRANTHA LETTER U;Lo;0;L;;;;;N;;;;;
+1130A;GRANTHA LETTER UU;Lo;0;L;;;;;N;;;;;
+1130B;GRANTHA LETTER VOCALIC R;Lo;0;L;;;;;N;;;;;
+1130C;GRANTHA LETTER VOCALIC L;Lo;0;L;;;;;N;;;;;
+1130F;GRANTHA LETTER EE;Lo;0;L;;;;;N;;;;;
+11310;GRANTHA LETTER AI;Lo;0;L;;;;;N;;;;;
+11313;GRANTHA LETTER OO;Lo;0;L;;;;;N;;;;;
+11314;GRANTHA LETTER AU;Lo;0;L;;;;;N;;;;;
+11315;GRANTHA LETTER KA;Lo;0;L;;;;;N;;;;;
+11316;GRANTHA LETTER KHA;Lo;0;L;;;;;N;;;;;
+11317;GRANTHA LETTER GA;Lo;0;L;;;;;N;;;;;
+11318;GRANTHA LETTER GHA;Lo;0;L;;;;;N;;;;;
+11319;GRANTHA LETTER NGA;Lo;0;L;;;;;N;;;;;
+1131A;GRANTHA LETTER CA;Lo;0;L;;;;;N;;;;;
+1131B;GRANTHA LETTER CHA;Lo;0;L;;;;;N;;;;;
+1131C;GRANTHA LETTER JA;Lo;0;L;;;;;N;;;;;
+1131D;GRANTHA LETTER JHA;Lo;0;L;;;;;N;;;;;
+1131E;GRANTHA LETTER NYA;Lo;0;L;;;;;N;;;;;
+1131F;GRANTHA LETTER TTA;Lo;0;L;;;;;N;;;;;
+11320;GRANTHA LETTER TTHA;Lo;0;L;;;;;N;;;;;
+11321;GRANTHA LETTER DDA;Lo;0;L;;;;;N;;;;;
+11322;GRANTHA LETTER DDHA;Lo;0;L;;;;;N;;;;;
+11323;GRANTHA LETTER NNA;Lo;0;L;;;;;N;;;;;
+11324;GRANTHA LETTER TA;Lo;0;L;;;;;N;;;;;
+11325;GRANTHA LETTER THA;Lo;0;L;;;;;N;;;;;
+11326;GRANTHA LETTER DA;Lo;0;L;;;;;N;;;;;
+11327;GRANTHA LETTER DHA;Lo;0;L;;;;;N;;;;;
+11328;GRANTHA LETTER NA;Lo;0;L;;;;;N;;;;;
+1132A;GRANTHA LETTER PA;Lo;0;L;;;;;N;;;;;
+1132B;GRANTHA LETTER PHA;Lo;0;L;;;;;N;;;;;
+1132C;GRANTHA LETTER BA;Lo;0;L;;;;;N;;;;;
+1132D;GRANTHA LETTER BHA;Lo;0;L;;;;;N;;;;;
+1132E;GRANTHA LETTER MA;Lo;0;L;;;;;N;;;;;
+1132F;GRANTHA LETTER YA;Lo;0;L;;;;;N;;;;;
+11330;GRANTHA LETTER RA;Lo;0;L;;;;;N;;;;;
+11332;GRANTHA LETTER LA;Lo;0;L;;;;;N;;;;;
+11333;GRANTHA LETTER LLA;Lo;0;L;;;;;N;;;;;
+11335;GRANTHA LETTER VA;Lo;0;L;;;;;N;;;;;
+11336;GRANTHA LETTER SHA;Lo;0;L;;;;;N;;;;;
+11337;GRANTHA LETTER SSA;Lo;0;L;;;;;N;;;;;
+11338;GRANTHA LETTER SA;Lo;0;L;;;;;N;;;;;
+11339;GRANTHA LETTER HA;Lo;0;L;;;;;N;;;;;
+1133C;GRANTHA SIGN NUKTA;Mn;7;NSM;;;;;N;;;;;
+1133D;GRANTHA SIGN AVAGRAHA;Lo;0;L;;;;;N;;;;;
+1133E;GRANTHA VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
+1133F;GRANTHA VOWEL SIGN I;Mc;0;L;;;;;N;;;;;
+11340;GRANTHA VOWEL SIGN II;Mn;0;NSM;;;;;N;;;;;
+11341;GRANTHA VOWEL SIGN U;Mc;0;L;;;;;N;;;;;
+11342;GRANTHA VOWEL SIGN UU;Mc;0;L;;;;;N;;;;;
+11343;GRANTHA VOWEL SIGN VOCALIC R;Mc;0;L;;;;;N;;;;;
+11344;GRANTHA VOWEL SIGN VOCALIC RR;Mc;0;L;;;;;N;;;;;
+11347;GRANTHA VOWEL SIGN EE;Mc;0;L;;;;;N;;;;;
+11348;GRANTHA VOWEL SIGN AI;Mc;0;L;;;;;N;;;;;
+1134B;GRANTHA VOWEL SIGN OO;Mc;0;L;11347 1133E;;;;N;;;;;
+1134C;GRANTHA VOWEL SIGN AU;Mc;0;L;11347 11357;;;;N;;;;;
+1134D;GRANTHA SIGN VIRAMA;Mc;9;L;;;;;N;;;;;
+11350;GRANTHA OM;Lo;0;L;;;;;N;;;;;
+11357;GRANTHA AU LENGTH MARK;Mc;0;L;;;;;N;;;;;
+1135D;GRANTHA SIGN PLUTA;Lo;0;L;;;;;N;;;;;
+1135E;GRANTHA LETTER VEDIC ANUSVARA;Lo;0;L;;;;;N;;;;;
+1135F;GRANTHA LETTER VEDIC DOUBLE ANUSVARA;Lo;0;L;;;;;N;;;;;
+11360;GRANTHA LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;;
+11361;GRANTHA LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;;
+11362;GRANTHA VOWEL SIGN VOCALIC L;Mc;0;L;;;;;N;;;;;
+11363;GRANTHA VOWEL SIGN VOCALIC LL;Mc;0;L;;;;;N;;;;;
+11366;COMBINING GRANTHA DIGIT ZERO;Mn;230;NSM;;;;;N;;;;;
+11367;COMBINING GRANTHA DIGIT ONE;Mn;230;NSM;;;;;N;;;;;
+11368;COMBINING GRANTHA DIGIT TWO;Mn;230;NSM;;;;;N;;;;;
+11369;COMBINING GRANTHA DIGIT THREE;Mn;230;NSM;;;;;N;;;;;
+1136A;COMBINING GRANTHA DIGIT FOUR;Mn;230;NSM;;;;;N;;;;;
+1136B;COMBINING GRANTHA DIGIT FIVE;Mn;230;NSM;;;;;N;;;;;
+1136C;COMBINING GRANTHA DIGIT SIX;Mn;230;NSM;;;;;N;;;;;
+11370;COMBINING GRANTHA LETTER A;Mn;230;NSM;;;;;N;;;;;
+11371;COMBINING GRANTHA LETTER KA;Mn;230;NSM;;;;;N;;;;;
+11372;COMBINING GRANTHA LETTER NA;Mn;230;NSM;;;;;N;;;;;
+11373;COMBINING GRANTHA LETTER VI;Mn;230;NSM;;;;;N;;;;;
+11374;COMBINING GRANTHA LETTER PA;Mn;230;NSM;;;;;N;;;;;
+11400;NEWA LETTER A;Lo;0;L;;;;;N;;;;;
+11401;NEWA LETTER AA;Lo;0;L;;;;;N;;;;;
+11402;NEWA LETTER I;Lo;0;L;;;;;N;;;;;
+11403;NEWA LETTER II;Lo;0;L;;;;;N;;;;;
+11404;NEWA LETTER U;Lo;0;L;;;;;N;;;;;
+11405;NEWA LETTER UU;Lo;0;L;;;;;N;;;;;
+11406;NEWA LETTER VOCALIC R;Lo;0;L;;;;;N;;;;;
+11407;NEWA LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;;
+11408;NEWA LETTER VOCALIC L;Lo;0;L;;;;;N;;;;;
+11409;NEWA LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;;
+1140A;NEWA LETTER E;Lo;0;L;;;;;N;;;;;
+1140B;NEWA LETTER AI;Lo;0;L;;;;;N;;;;;
+1140C;NEWA LETTER O;Lo;0;L;;;;;N;;;;;
+1140D;NEWA LETTER AU;Lo;0;L;;;;;N;;;;;
+1140E;NEWA LETTER KA;Lo;0;L;;;;;N;;;;;
+1140F;NEWA LETTER KHA;Lo;0;L;;;;;N;;;;;
+11410;NEWA LETTER GA;Lo;0;L;;;;;N;;;;;
+11411;NEWA LETTER GHA;Lo;0;L;;;;;N;;;;;
+11412;NEWA LETTER NGA;Lo;0;L;;;;;N;;;;;
+11413;NEWA LETTER NGHA;Lo;0;L;;;;;N;;;;;
+11414;NEWA LETTER CA;Lo;0;L;;;;;N;;;;;
+11415;NEWA LETTER CHA;Lo;0;L;;;;;N;;;;;
+11416;NEWA LETTER JA;Lo;0;L;;;;;N;;;;;
+11417;NEWA LETTER JHA;Lo;0;L;;;;;N;;;;;
+11418;NEWA LETTER NYA;Lo;0;L;;;;;N;;;;;
+11419;NEWA LETTER NYHA;Lo;0;L;;;;;N;;;;;
+1141A;NEWA LETTER TTA;Lo;0;L;;;;;N;;;;;
+1141B;NEWA LETTER TTHA;Lo;0;L;;;;;N;;;;;
+1141C;NEWA LETTER DDA;Lo;0;L;;;;;N;;;;;
+1141D;NEWA LETTER DDHA;Lo;0;L;;;;;N;;;;;
+1141E;NEWA LETTER NNA;Lo;0;L;;;;;N;;;;;
+1141F;NEWA LETTER TA;Lo;0;L;;;;;N;;;;;
+11420;NEWA LETTER THA;Lo;0;L;;;;;N;;;;;
+11421;NEWA LETTER DA;Lo;0;L;;;;;N;;;;;
+11422;NEWA LETTER DHA;Lo;0;L;;;;;N;;;;;
+11423;NEWA LETTER NA;Lo;0;L;;;;;N;;;;;
+11424;NEWA LETTER NHA;Lo;0;L;;;;;N;;;;;
+11425;NEWA LETTER PA;Lo;0;L;;;;;N;;;;;
+11426;NEWA LETTER PHA;Lo;0;L;;;;;N;;;;;
+11427;NEWA LETTER BA;Lo;0;L;;;;;N;;;;;
+11428;NEWA LETTER BHA;Lo;0;L;;;;;N;;;;;
+11429;NEWA LETTER MA;Lo;0;L;;;;;N;;;;;
+1142A;NEWA LETTER MHA;Lo;0;L;;;;;N;;;;;
+1142B;NEWA LETTER YA;Lo;0;L;;;;;N;;;;;
+1142C;NEWA LETTER RA;Lo;0;L;;;;;N;;;;;
+1142D;NEWA LETTER RHA;Lo;0;L;;;;;N;;;;;
+1142E;NEWA LETTER LA;Lo;0;L;;;;;N;;;;;
+1142F;NEWA LETTER LHA;Lo;0;L;;;;;N;;;;;
+11430;NEWA LETTER WA;Lo;0;L;;;;;N;;;;;
+11431;NEWA LETTER SHA;Lo;0;L;;;;;N;;;;;
+11432;NEWA LETTER SSA;Lo;0;L;;;;;N;;;;;
+11433;NEWA LETTER SA;Lo;0;L;;;;;N;;;;;
+11434;NEWA LETTER HA;Lo;0;L;;;;;N;;;;;
+11435;NEWA VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
+11436;NEWA VOWEL SIGN I;Mc;0;L;;;;;N;;;;;
+11437;NEWA VOWEL SIGN II;Mc;0;L;;;;;N;;;;;
+11438;NEWA VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
+11439;NEWA VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;;
+1143A;NEWA VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;;
+1143B;NEWA VOWEL SIGN VOCALIC RR;Mn;0;NSM;;;;;N;;;;;
+1143C;NEWA VOWEL SIGN VOCALIC L;Mn;0;NSM;;;;;N;;;;;
+1143D;NEWA VOWEL SIGN VOCALIC LL;Mn;0;NSM;;;;;N;;;;;
+1143E;NEWA VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;;
+1143F;NEWA VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;;
+11440;NEWA VOWEL SIGN O;Mc;0;L;;;;;N;;;;;
+11441;NEWA VOWEL SIGN AU;Mc;0;L;;;;;N;;;;;
+11442;NEWA SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;;
+11443;NEWA SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;;
+11444;NEWA SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;;
+11445;NEWA SIGN VISARGA;Mc;0;L;;;;;N;;;;;
+11446;NEWA SIGN NUKTA;Mn;7;NSM;;;;;N;;;;;
+11447;NEWA SIGN AVAGRAHA;Lo;0;L;;;;;N;;;;;
+11448;NEWA SIGN FINAL ANUSVARA;Lo;0;L;;;;;N;;;;;
+11449;NEWA OM;Lo;0;L;;;;;N;;;;;
+1144A;NEWA SIDDHI;Lo;0;L;;;;;N;;;;;
+1144B;NEWA DANDA;Po;0;L;;;;;N;;;;;
+1144C;NEWA DOUBLE DANDA;Po;0;L;;;;;N;;;;;
+1144D;NEWA COMMA;Po;0;L;;;;;N;;;;;
+1144E;NEWA GAP FILLER;Po;0;L;;;;;N;;;;;
+1144F;NEWA ABBREVIATION SIGN;Po;0;L;;;;;N;;;;;
+11450;NEWA DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
+11451;NEWA DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+11452;NEWA DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+11453;NEWA DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+11454;NEWA DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+11455;NEWA DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+11456;NEWA DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+11457;NEWA DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+11458;NEWA DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+11459;NEWA DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+1145B;NEWA PLACEHOLDER MARK;Po;0;L;;;;;N;;;;;
+1145D;NEWA INSERTION SIGN;Po;0;L;;;;;N;;;;;
+11480;TIRHUTA ANJI;Lo;0;L;;;;;N;;;;;
+11481;TIRHUTA LETTER A;Lo;0;L;;;;;N;;;;;
+11482;TIRHUTA LETTER AA;Lo;0;L;;;;;N;;;;;
+11483;TIRHUTA LETTER I;Lo;0;L;;;;;N;;;;;
+11484;TIRHUTA LETTER II;Lo;0;L;;;;;N;;;;;
+11485;TIRHUTA LETTER U;Lo;0;L;;;;;N;;;;;
+11486;TIRHUTA LETTER UU;Lo;0;L;;;;;N;;;;;
+11487;TIRHUTA LETTER VOCALIC R;Lo;0;L;;;;;N;;;;;
+11488;TIRHUTA LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;;
+11489;TIRHUTA LETTER VOCALIC L;Lo;0;L;;;;;N;;;;;
+1148A;TIRHUTA LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;;
+1148B;TIRHUTA LETTER E;Lo;0;L;;;;;N;;;;;
+1148C;TIRHUTA LETTER AI;Lo;0;L;;;;;N;;;;;
+1148D;TIRHUTA LETTER O;Lo;0;L;;;;;N;;;;;
+1148E;TIRHUTA LETTER AU;Lo;0;L;;;;;N;;;;;
+1148F;TIRHUTA LETTER KA;Lo;0;L;;;;;N;;;;;
+11490;TIRHUTA LETTER KHA;Lo;0;L;;;;;N;;;;;
+11491;TIRHUTA LETTER GA;Lo;0;L;;;;;N;;;;;
+11492;TIRHUTA LETTER GHA;Lo;0;L;;;;;N;;;;;
+11493;TIRHUTA LETTER NGA;Lo;0;L;;;;;N;;;;;
+11494;TIRHUTA LETTER CA;Lo;0;L;;;;;N;;;;;
+11495;TIRHUTA LETTER CHA;Lo;0;L;;;;;N;;;;;
+11496;TIRHUTA LETTER JA;Lo;0;L;;;;;N;;;;;
+11497;TIRHUTA LETTER JHA;Lo;0;L;;;;;N;;;;;
+11498;TIRHUTA LETTER NYA;Lo;0;L;;;;;N;;;;;
+11499;TIRHUTA LETTER TTA;Lo;0;L;;;;;N;;;;;
+1149A;TIRHUTA LETTER TTHA;Lo;0;L;;;;;N;;;;;
+1149B;TIRHUTA LETTER DDA;Lo;0;L;;;;;N;;;;;
+1149C;TIRHUTA LETTER DDHA;Lo;0;L;;;;;N;;;;;
+1149D;TIRHUTA LETTER NNA;Lo;0;L;;;;;N;;;;;
+1149E;TIRHUTA LETTER TA;Lo;0;L;;;;;N;;;;;
+1149F;TIRHUTA LETTER THA;Lo;0;L;;;;;N;;;;;
+114A0;TIRHUTA LETTER DA;Lo;0;L;;;;;N;;;;;
+114A1;TIRHUTA LETTER DHA;Lo;0;L;;;;;N;;;;;
+114A2;TIRHUTA LETTER NA;Lo;0;L;;;;;N;;;;;
+114A3;TIRHUTA LETTER PA;Lo;0;L;;;;;N;;;;;
+114A4;TIRHUTA LETTER PHA;Lo;0;L;;;;;N;;;;;
+114A5;TIRHUTA LETTER BA;Lo;0;L;;;;;N;;;;;
+114A6;TIRHUTA LETTER BHA;Lo;0;L;;;;;N;;;;;
+114A7;TIRHUTA LETTER MA;Lo;0;L;;;;;N;;;;;
+114A8;TIRHUTA LETTER YA;Lo;0;L;;;;;N;;;;;
+114A9;TIRHUTA LETTER RA;Lo;0;L;;;;;N;;;;;
+114AA;TIRHUTA LETTER LA;Lo;0;L;;;;;N;;;;;
+114AB;TIRHUTA LETTER VA;Lo;0;L;;;;;N;;;;;
+114AC;TIRHUTA LETTER SHA;Lo;0;L;;;;;N;;;;;
+114AD;TIRHUTA LETTER SSA;Lo;0;L;;;;;N;;;;;
+114AE;TIRHUTA LETTER SA;Lo;0;L;;;;;N;;;;;
+114AF;TIRHUTA LETTER HA;Lo;0;L;;;;;N;;;;;
+114B0;TIRHUTA VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
+114B1;TIRHUTA VOWEL SIGN I;Mc;0;L;;;;;N;;;;;
+114B2;TIRHUTA VOWEL SIGN II;Mc;0;L;;;;;N;;;;;
+114B3;TIRHUTA VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
+114B4;TIRHUTA VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;;
+114B5;TIRHUTA VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;;
+114B6;TIRHUTA VOWEL SIGN VOCALIC RR;Mn;0;NSM;;;;;N;;;;;
+114B7;TIRHUTA VOWEL SIGN VOCALIC L;Mn;0;NSM;;;;;N;;;;;
+114B8;TIRHUTA VOWEL SIGN VOCALIC LL;Mn;0;NSM;;;;;N;;;;;
+114B9;TIRHUTA VOWEL SIGN E;Mc;0;L;;;;;N;;;;;
+114BA;TIRHUTA VOWEL SIGN SHORT E;Mn;0;NSM;;;;;N;;;;;
+114BB;TIRHUTA VOWEL SIGN AI;Mc;0;L;114B9 114BA;;;;N;;;;;
+114BC;TIRHUTA VOWEL SIGN O;Mc;0;L;114B9 114B0;;;;N;;;;;
+114BD;TIRHUTA VOWEL SIGN SHORT O;Mc;0;L;;;;;N;;;;;
+114BE;TIRHUTA VOWEL SIGN AU;Mc;0;L;114B9 114BD;;;;N;;;;;
+114BF;TIRHUTA SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;;
+114C0;TIRHUTA SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;;
+114C1;TIRHUTA SIGN VISARGA;Mc;0;L;;;;;N;;;;;
+114C2;TIRHUTA SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;;
+114C3;TIRHUTA SIGN NUKTA;Mn;7;NSM;;;;;N;;;;;
+114C4;TIRHUTA SIGN AVAGRAHA;Lo;0;L;;;;;N;;;;;
+114C5;TIRHUTA GVANG;Lo;0;L;;;;;N;;;;;
+114C6;TIRHUTA ABBREVIATION SIGN;Po;0;L;;;;;N;;;;;
+114C7;TIRHUTA OM;Lo;0;L;;;;;N;;;;;
+114D0;TIRHUTA DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
+114D1;TIRHUTA DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+114D2;TIRHUTA DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+114D3;TIRHUTA DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+114D4;TIRHUTA DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+114D5;TIRHUTA DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+114D6;TIRHUTA DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+114D7;TIRHUTA DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+114D8;TIRHUTA DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+114D9;TIRHUTA DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+11580;SIDDHAM LETTER A;Lo;0;L;;;;;N;;;;;
+11581;SIDDHAM LETTER AA;Lo;0;L;;;;;N;;;;;
+11582;SIDDHAM LETTER I;Lo;0;L;;;;;N;;;;;
+11583;SIDDHAM LETTER II;Lo;0;L;;;;;N;;;;;
+11584;SIDDHAM LETTER U;Lo;0;L;;;;;N;;;;;
+11585;SIDDHAM LETTER UU;Lo;0;L;;;;;N;;;;;
+11586;SIDDHAM LETTER VOCALIC R;Lo;0;L;;;;;N;;;;;
+11587;SIDDHAM LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;;
+11588;SIDDHAM LETTER VOCALIC L;Lo;0;L;;;;;N;;;;;
+11589;SIDDHAM LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;;
+1158A;SIDDHAM LETTER E;Lo;0;L;;;;;N;;;;;
+1158B;SIDDHAM LETTER AI;Lo;0;L;;;;;N;;;;;
+1158C;SIDDHAM LETTER O;Lo;0;L;;;;;N;;;;;
+1158D;SIDDHAM LETTER AU;Lo;0;L;;;;;N;;;;;
+1158E;SIDDHAM LETTER KA;Lo;0;L;;;;;N;;;;;
+1158F;SIDDHAM LETTER KHA;Lo;0;L;;;;;N;;;;;
+11590;SIDDHAM LETTER GA;Lo;0;L;;;;;N;;;;;
+11591;SIDDHAM LETTER GHA;Lo;0;L;;;;;N;;;;;
+11592;SIDDHAM LETTER NGA;Lo;0;L;;;;;N;;;;;
+11593;SIDDHAM LETTER CA;Lo;0;L;;;;;N;;;;;
+11594;SIDDHAM LETTER CHA;Lo;0;L;;;;;N;;;;;
+11595;SIDDHAM LETTER JA;Lo;0;L;;;;;N;;;;;
+11596;SIDDHAM LETTER JHA;Lo;0;L;;;;;N;;;;;
+11597;SIDDHAM LETTER NYA;Lo;0;L;;;;;N;;;;;
+11598;SIDDHAM LETTER TTA;Lo;0;L;;;;;N;;;;;
+11599;SIDDHAM LETTER TTHA;Lo;0;L;;;;;N;;;;;
+1159A;SIDDHAM LETTER DDA;Lo;0;L;;;;;N;;;;;
+1159B;SIDDHAM LETTER DDHA;Lo;0;L;;;;;N;;;;;
+1159C;SIDDHAM LETTER NNA;Lo;0;L;;;;;N;;;;;
+1159D;SIDDHAM LETTER TA;Lo;0;L;;;;;N;;;;;
+1159E;SIDDHAM LETTER THA;Lo;0;L;;;;;N;;;;;
+1159F;SIDDHAM LETTER DA;Lo;0;L;;;;;N;;;;;
+115A0;SIDDHAM LETTER DHA;Lo;0;L;;;;;N;;;;;
+115A1;SIDDHAM LETTER NA;Lo;0;L;;;;;N;;;;;
+115A2;SIDDHAM LETTER PA;Lo;0;L;;;;;N;;;;;
+115A3;SIDDHAM LETTER PHA;Lo;0;L;;;;;N;;;;;
+115A4;SIDDHAM LETTER BA;Lo;0;L;;;;;N;;;;;
+115A5;SIDDHAM LETTER BHA;Lo;0;L;;;;;N;;;;;
+115A6;SIDDHAM LETTER MA;Lo;0;L;;;;;N;;;;;
+115A7;SIDDHAM LETTER YA;Lo;0;L;;;;;N;;;;;
+115A8;SIDDHAM LETTER RA;Lo;0;L;;;;;N;;;;;
+115A9;SIDDHAM LETTER LA;Lo;0;L;;;;;N;;;;;
+115AA;SIDDHAM LETTER VA;Lo;0;L;;;;;N;;;;;
+115AB;SIDDHAM LETTER SHA;Lo;0;L;;;;;N;;;;;
+115AC;SIDDHAM LETTER SSA;Lo;0;L;;;;;N;;;;;
+115AD;SIDDHAM LETTER SA;Lo;0;L;;;;;N;;;;;
+115AE;SIDDHAM LETTER HA;Lo;0;L;;;;;N;;;;;
+115AF;SIDDHAM VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
+115B0;SIDDHAM VOWEL SIGN I;Mc;0;L;;;;;N;;;;;
+115B1;SIDDHAM VOWEL SIGN II;Mc;0;L;;;;;N;;;;;
+115B2;SIDDHAM VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
+115B3;SIDDHAM VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;;
+115B4;SIDDHAM VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;;
+115B5;SIDDHAM VOWEL SIGN VOCALIC RR;Mn;0;NSM;;;;;N;;;;;
+115B8;SIDDHAM VOWEL SIGN E;Mc;0;L;;;;;N;;;;;
+115B9;SIDDHAM VOWEL SIGN AI;Mc;0;L;;;;;N;;;;;
+115BA;SIDDHAM VOWEL SIGN O;Mc;0;L;115B8 115AF;;;;N;;;;;
+115BB;SIDDHAM VOWEL SIGN AU;Mc;0;L;115B9 115AF;;;;N;;;;;
+115BC;SIDDHAM SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;;
+115BD;SIDDHAM SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;;
+115BE;SIDDHAM SIGN VISARGA;Mc;0;L;;;;;N;;;;;
+115BF;SIDDHAM SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;;
+115C0;SIDDHAM SIGN NUKTA;Mn;7;NSM;;;;;N;;;;;
+115C1;SIDDHAM SIGN SIDDHAM;Po;0;L;;;;;N;;;;;
+115C2;SIDDHAM DANDA;Po;0;L;;;;;N;;;;;
+115C3;SIDDHAM DOUBLE DANDA;Po;0;L;;;;;N;;;;;
+115C4;SIDDHAM SEPARATOR DOT;Po;0;L;;;;;N;;;;;
+115C5;SIDDHAM SEPARATOR BAR;Po;0;L;;;;;N;;;;;
+115C6;SIDDHAM REPETITION MARK-1;Po;0;L;;;;;N;;;;;
+115C7;SIDDHAM REPETITION MARK-2;Po;0;L;;;;;N;;;;;
+115C8;SIDDHAM REPETITION MARK-3;Po;0;L;;;;;N;;;;;
+115C9;SIDDHAM END OF TEXT MARK;Po;0;L;;;;;N;;;;;
+115CA;SIDDHAM SECTION MARK WITH TRIDENT AND U-SHAPED ORNAMENTS;Po;0;L;;;;;N;;;;;
+115CB;SIDDHAM SECTION MARK WITH TRIDENT AND DOTTED CRESCENTS;Po;0;L;;;;;N;;;;;
+115CC;SIDDHAM SECTION MARK WITH RAYS AND DOTTED CRESCENTS;Po;0;L;;;;;N;;;;;
+115CD;SIDDHAM SECTION MARK WITH RAYS AND DOTTED DOUBLE CRESCENTS;Po;0;L;;;;;N;;;;;
+115CE;SIDDHAM SECTION MARK WITH RAYS AND DOTTED TRIPLE CRESCENTS;Po;0;L;;;;;N;;;;;
+115CF;SIDDHAM SECTION MARK DOUBLE RING;Po;0;L;;;;;N;;;;;
+115D0;SIDDHAM SECTION MARK DOUBLE RING WITH RAYS;Po;0;L;;;;;N;;;;;
+115D1;SIDDHAM SECTION MARK WITH DOUBLE CRESCENTS;Po;0;L;;;;;N;;;;;
+115D2;SIDDHAM SECTION MARK WITH TRIPLE CRESCENTS;Po;0;L;;;;;N;;;;;
+115D3;SIDDHAM SECTION MARK WITH QUADRUPLE CRESCENTS;Po;0;L;;;;;N;;;;;
+115D4;SIDDHAM SECTION MARK WITH SEPTUPLE CRESCENTS;Po;0;L;;;;;N;;;;;
+115D5;SIDDHAM SECTION MARK WITH CIRCLES AND RAYS;Po;0;L;;;;;N;;;;;
+115D6;SIDDHAM SECTION MARK WITH CIRCLES AND TWO ENCLOSURES;Po;0;L;;;;;N;;;;;
+115D7;SIDDHAM SECTION MARK WITH CIRCLES AND FOUR ENCLOSURES;Po;0;L;;;;;N;;;;;
+115D8;SIDDHAM LETTER THREE-CIRCLE ALTERNATE I;Lo;0;L;;;;;N;;;;;
+115D9;SIDDHAM LETTER TWO-CIRCLE ALTERNATE I;Lo;0;L;;;;;N;;;;;
+115DA;SIDDHAM LETTER TWO-CIRCLE ALTERNATE II;Lo;0;L;;;;;N;;;;;
+115DB;SIDDHAM LETTER ALTERNATE U;Lo;0;L;;;;;N;;;;;
+115DC;SIDDHAM VOWEL SIGN ALTERNATE U;Mn;0;NSM;;;;;N;;;;;
+115DD;SIDDHAM VOWEL SIGN ALTERNATE UU;Mn;0;NSM;;;;;N;;;;;
+11600;MODI LETTER A;Lo;0;L;;;;;N;;;;;
+11601;MODI LETTER AA;Lo;0;L;;;;;N;;;;;
+11602;MODI LETTER I;Lo;0;L;;;;;N;;;;;
+11603;MODI LETTER II;Lo;0;L;;;;;N;;;;;
+11604;MODI LETTER U;Lo;0;L;;;;;N;;;;;
+11605;MODI LETTER UU;Lo;0;L;;;;;N;;;;;
+11606;MODI LETTER VOCALIC R;Lo;0;L;;;;;N;;;;;
+11607;MODI LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;;
+11608;MODI LETTER VOCALIC L;Lo;0;L;;;;;N;;;;;
+11609;MODI LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;;
+1160A;MODI LETTER E;Lo;0;L;;;;;N;;;;;
+1160B;MODI LETTER AI;Lo;0;L;;;;;N;;;;;
+1160C;MODI LETTER O;Lo;0;L;;;;;N;;;;;
+1160D;MODI LETTER AU;Lo;0;L;;;;;N;;;;;
+1160E;MODI LETTER KA;Lo;0;L;;;;;N;;;;;
+1160F;MODI LETTER KHA;Lo;0;L;;;;;N;;;;;
+11610;MODI LETTER GA;Lo;0;L;;;;;N;;;;;
+11611;MODI LETTER GHA;Lo;0;L;;;;;N;;;;;
+11612;MODI LETTER NGA;Lo;0;L;;;;;N;;;;;
+11613;MODI LETTER CA;Lo;0;L;;;;;N;;;;;
+11614;MODI LETTER CHA;Lo;0;L;;;;;N;;;;;
+11615;MODI LETTER JA;Lo;0;L;;;;;N;;;;;
+11616;MODI LETTER JHA;Lo;0;L;;;;;N;;;;;
+11617;MODI LETTER NYA;Lo;0;L;;;;;N;;;;;
+11618;MODI LETTER TTA;Lo;0;L;;;;;N;;;;;
+11619;MODI LETTER TTHA;Lo;0;L;;;;;N;;;;;
+1161A;MODI LETTER DDA;Lo;0;L;;;;;N;;;;;
+1161B;MODI LETTER DDHA;Lo;0;L;;;;;N;;;;;
+1161C;MODI LETTER NNA;Lo;0;L;;;;;N;;;;;
+1161D;MODI LETTER TA;Lo;0;L;;;;;N;;;;;
+1161E;MODI LETTER THA;Lo;0;L;;;;;N;;;;;
+1161F;MODI LETTER DA;Lo;0;L;;;;;N;;;;;
+11620;MODI LETTER DHA;Lo;0;L;;;;;N;;;;;
+11621;MODI LETTER NA;Lo;0;L;;;;;N;;;;;
+11622;MODI LETTER PA;Lo;0;L;;;;;N;;;;;
+11623;MODI LETTER PHA;Lo;0;L;;;;;N;;;;;
+11624;MODI LETTER BA;Lo;0;L;;;;;N;;;;;
+11625;MODI LETTER BHA;Lo;0;L;;;;;N;;;;;
+11626;MODI LETTER MA;Lo;0;L;;;;;N;;;;;
+11627;MODI LETTER YA;Lo;0;L;;;;;N;;;;;
+11628;MODI LETTER RA;Lo;0;L;;;;;N;;;;;
+11629;MODI LETTER LA;Lo;0;L;;;;;N;;;;;
+1162A;MODI LETTER VA;Lo;0;L;;;;;N;;;;;
+1162B;MODI LETTER SHA;Lo;0;L;;;;;N;;;;;
+1162C;MODI LETTER SSA;Lo;0;L;;;;;N;;;;;
+1162D;MODI LETTER SA;Lo;0;L;;;;;N;;;;;
+1162E;MODI LETTER HA;Lo;0;L;;;;;N;;;;;
+1162F;MODI LETTER LLA;Lo;0;L;;;;;N;;;;;
+11630;MODI VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
+11631;MODI VOWEL SIGN I;Mc;0;L;;;;;N;;;;;
+11632;MODI VOWEL SIGN II;Mc;0;L;;;;;N;;;;;
+11633;MODI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
+11634;MODI VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;;
+11635;MODI VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;;
+11636;MODI VOWEL SIGN VOCALIC RR;Mn;0;NSM;;;;;N;;;;;
+11637;MODI VOWEL SIGN VOCALIC L;Mn;0;NSM;;;;;N;;;;;
+11638;MODI VOWEL SIGN VOCALIC LL;Mn;0;NSM;;;;;N;;;;;
+11639;MODI VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;;
+1163A;MODI VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;;
+1163B;MODI VOWEL SIGN O;Mc;0;L;;;;;N;;;;;
+1163C;MODI VOWEL SIGN AU;Mc;0;L;;;;;N;;;;;
+1163D;MODI SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;;
+1163E;MODI SIGN VISARGA;Mc;0;L;;;;;N;;;;;
+1163F;MODI SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;;
+11640;MODI SIGN ARDHACANDRA;Mn;0;NSM;;;;;N;;;;;
+11641;MODI DANDA;Po;0;L;;;;;N;;;;;
+11642;MODI DOUBLE DANDA;Po;0;L;;;;;N;;;;;
+11643;MODI ABBREVIATION SIGN;Po;0;L;;;;;N;;;;;
+11644;MODI SIGN HUVA;Lo;0;L;;;;;N;;;;;
+11650;MODI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
+11651;MODI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+11652;MODI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+11653;MODI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+11654;MODI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+11655;MODI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+11656;MODI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+11657;MODI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+11658;MODI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+11659;MODI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+11660;MONGOLIAN BIRGA WITH ORNAMENT;Po;0;ON;;;;;N;;;;;
+11661;MONGOLIAN ROTATED BIRGA;Po;0;ON;;;;;N;;;;;
+11662;MONGOLIAN DOUBLE BIRGA WITH ORNAMENT;Po;0;ON;;;;;N;;;;;
+11663;MONGOLIAN TRIPLE BIRGA WITH ORNAMENT;Po;0;ON;;;;;N;;;;;
+11664;MONGOLIAN BIRGA WITH DOUBLE ORNAMENT;Po;0;ON;;;;;N;;;;;
+11665;MONGOLIAN ROTATED BIRGA WITH ORNAMENT;Po;0;ON;;;;;N;;;;;
+11666;MONGOLIAN ROTATED BIRGA WITH DOUBLE ORNAMENT;Po;0;ON;;;;;N;;;;;
+11667;MONGOLIAN INVERTED BIRGA;Po;0;ON;;;;;N;;;;;
+11668;MONGOLIAN INVERTED BIRGA WITH DOUBLE ORNAMENT;Po;0;ON;;;;;N;;;;;
+11669;MONGOLIAN SWIRL BIRGA;Po;0;ON;;;;;N;;;;;
+1166A;MONGOLIAN SWIRL BIRGA WITH ORNAMENT;Po;0;ON;;;;;N;;;;;
+1166B;MONGOLIAN SWIRL BIRGA WITH DOUBLE ORNAMENT;Po;0;ON;;;;;N;;;;;
+1166C;MONGOLIAN TURNED SWIRL BIRGA WITH DOUBLE ORNAMENT;Po;0;ON;;;;;N;;;;;
 11680;TAKRI LETTER A;Lo;0;L;;;;;N;;;;;
 11681;TAKRI LETTER AA;Lo;0;L;;;;;N;;;;;
 11682;TAKRI LETTER I;Lo;0;L;;;;;N;;;;;
 11683;TAKRI LETTER II;Lo;0;L;;;;;N;;;;;
 11684;TAKRI LETTER U;Lo;0;L;;;;;N;;;;;
 11685;TAKRI LETTER UU;Lo;0;L;;;;;N;;;;;
 11686;TAKRI LETTER E;Lo;0;L;;;;;N;;;;;
 11687;TAKRI LETTER AI;Lo;0;L;;;;;N;;;;;
@@ -17770,16 +19922,379 @@ 116C1;TAKRI DIGIT ONE;Nd;0;L;;1;1;1;N;;;
 116C2;TAKRI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
 116C3;TAKRI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
 116C4;TAKRI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
 116C5;TAKRI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
 116C6;TAKRI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
 116C7;TAKRI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
 116C8;TAKRI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
 116C9;TAKRI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+11700;AHOM LETTER KA;Lo;0;L;;;;;N;;;;;
+11701;AHOM LETTER KHA;Lo;0;L;;;;;N;;;;;
+11702;AHOM LETTER NGA;Lo;0;L;;;;;N;;;;;
+11703;AHOM LETTER NA;Lo;0;L;;;;;N;;;;;
+11704;AHOM LETTER TA;Lo;0;L;;;;;N;;;;;
+11705;AHOM LETTER ALTERNATE TA;Lo;0;L;;;;;N;;;;;
+11706;AHOM LETTER PA;Lo;0;L;;;;;N;;;;;
+11707;AHOM LETTER PHA;Lo;0;L;;;;;N;;;;;
+11708;AHOM LETTER BA;Lo;0;L;;;;;N;;;;;
+11709;AHOM LETTER MA;Lo;0;L;;;;;N;;;;;
+1170A;AHOM LETTER JA;Lo;0;L;;;;;N;;;;;
+1170B;AHOM LETTER CHA;Lo;0;L;;;;;N;;;;;
+1170C;AHOM LETTER THA;Lo;0;L;;;;;N;;;;;
+1170D;AHOM LETTER RA;Lo;0;L;;;;;N;;;;;
+1170E;AHOM LETTER LA;Lo;0;L;;;;;N;;;;;
+1170F;AHOM LETTER SA;Lo;0;L;;;;;N;;;;;
+11710;AHOM LETTER NYA;Lo;0;L;;;;;N;;;;;
+11711;AHOM LETTER HA;Lo;0;L;;;;;N;;;;;
+11712;AHOM LETTER A;Lo;0;L;;;;;N;;;;;
+11713;AHOM LETTER DA;Lo;0;L;;;;;N;;;;;
+11714;AHOM LETTER DHA;Lo;0;L;;;;;N;;;;;
+11715;AHOM LETTER GA;Lo;0;L;;;;;N;;;;;
+11716;AHOM LETTER ALTERNATE GA;Lo;0;L;;;;;N;;;;;
+11717;AHOM LETTER GHA;Lo;0;L;;;;;N;;;;;
+11718;AHOM LETTER BHA;Lo;0;L;;;;;N;;;;;
+11719;AHOM LETTER JHA;Lo;0;L;;;;;N;;;;;
+1171D;AHOM CONSONANT SIGN MEDIAL LA;Mn;0;NSM;;;;;N;;;;;
+1171E;AHOM CONSONANT SIGN MEDIAL RA;Mn;0;NSM;;;;;N;;;;;
+1171F;AHOM CONSONANT SIGN MEDIAL LIGATING RA;Mn;0;NSM;;;;;N;;;;;
+11720;AHOM VOWEL SIGN A;Mc;0;L;;;;;N;;;;;
+11721;AHOM VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
+11722;AHOM VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;;
+11723;AHOM VOWEL SIGN II;Mn;0;NSM;;;;;N;;;;;