From d10d41d33b9d9d6e18dbb571c988e2bd93a124e6 Mon Sep 17 00:00:00 2001
From: Patrycja Rosa <mozcontrib@ptrcnull.me>
Date: Sun, 21 Dec 2025 01:11:18 +0100
Subject: [PATCH] Revert commits 03bce8a97e74f through 61441119ead30

see https://bugzilla.mozilla.org/show_bug.cgi?id=2000225
dropping ICU to 76 temporarily, until we can get 78 in aports
---
 gfx/thebes/gfxPlatformMac.cpp                 |   5 -
 gfx/thebes/gfxTextRun.h                       |   1 -
 gfx/thebes/gfxWindowsPlatform.cpp             |   5 -
 intl/components/gtest/TestDateTimeFormat.cpp  |   2 +-
 intl/components/src/DisplayNames.cpp          |   4 -
 intl/components/src/DisplayNames.h            |  24 +-
 intl/components/src/LocaleGenerated.cpp       | 136 ++--
 intl/components/src/UnicodeScriptCodes.h      |   7 +-
 .../components/src/calendar/ICU4XCalendar.cpp |  30 +-
 intl/components/src/calendar/ICU4XCalendar.h  |   9 +-
 .../calendar/ICU4XChineseBasedCalendar.cpp    |  34 +-
 .../src/calendar/ICU4XChineseBasedCalendar.h  |   9 +
 .../src/calendar/ICU4XChineseCalendar.h       |   4 +
 .../src/calendar/ICU4XDangiCalendar.h         |   6 +
 intl/components/src/calendar/ISODate.h        |   6 +
 intl/locale/cldr-quotes.inc                   |  14 +-
 .../tests/gtest/TestAppDateTimeFormat.cpp     |   2 +-
 intl/lwbrk/LineBreaker.cpp                    |   1 -
 .../unicharutil/tools/genSpecialCasingData.pl |  11 +-
 .../tools/genUnicodePropertyData.pl           |   2 +-
 intl/unicharutil/util/nsSpecialCasingData.cpp |   6 +-
 .../util/nsUnicodePropertyData.cpp            | 629 +++---------------
 js/moz.configure                              |   2 +-
 js/src/builtin/intl/NumberingSystems.yaml     |   1 -
 .../builtin/intl/NumberingSystemsGenerated.h  |   1 -
 js/src/util/CaseFolding.txt                   |  40 +-
 js/src/util/DerivedCoreProperties.txt         | 599 +++++------------
 js/src/util/SpecialCasing.txt                 |  14 +-
 js/src/util/Unicode.cpp                       | 118 +---
 js/src/util/UnicodeData.txt                   | 489 +-------------
 js/src/util/UnicodeNonBMP.h                   |   6 +-
 31 files changed, 497 insertions(+), 1720 deletions(-)

diff --git a/gfx/thebes/gfxPlatformMac.cpp b/gfx/thebes/gfxPlatformMac.cpp
index 3967d1881397a..27489095fdc0f 100644
--- a/gfx/thebes/gfxPlatformMac.cpp
+++ b/gfx/thebes/gfxPlatformMac.cpp
@@ -188,7 +188,6 @@ void gfxPlatformMac::GetCommonFallbackFonts(uint32_t aCh, Script aRunScript,
     // in future if we get better at handling things like `lang=zh-Hant`, not
     // just resolving based on the Unicode text.
     case Script::TRADITIONAL_HAN:
-    case Script::TRADITIONAL_HAN_WITH_LATIN:
       aFontList.AppendElement("Songti TC");
       if (aCh > 0x10000) {
         // macOS installations with MS Office may have these -ExtB fonts
@@ -657,10 +656,6 @@ void gfxPlatformMac::GetCommonFallbackFonts(uint32_t aCh, Script aRunScript,
     case Script::SUNUWAR:
     case Script::TODHRI:
     case Script::TULU_TIGALARI:
-    case Script::BERIA_ERFE:
-    case Script::SIDETIC:
-    case Script::TAI_YO:
-    case Script::TOLONG_SIKI:
       break;
   }
 
diff --git a/gfx/thebes/gfxTextRun.h b/gfx/thebes/gfxTextRun.h
index 12214b6e53091..06ccaa6082379 100644
--- a/gfx/thebes/gfxTextRun.h
+++ b/gfx/thebes/gfxTextRun.h
@@ -552,7 +552,6 @@ class gfxTextRun : public gfxShapedText {
       case Script::KATAKANA_OR_HIRAGANA:
       case Script::SIMPLIFIED_HAN:
       case Script::TRADITIONAL_HAN:
-      case Script::TRADITIONAL_HAN_WITH_LATIN:
       case Script::JAPANESE:
       case Script::KOREAN:
       case Script::HAN_WITH_BOPOMOFO:
diff --git a/gfx/thebes/gfxWindowsPlatform.cpp b/gfx/thebes/gfxWindowsPlatform.cpp
index 2f73db97b20fd..2b4b041eab07b 100644
--- a/gfx/thebes/gfxWindowsPlatform.cpp
+++ b/gfx/thebes/gfxWindowsPlatform.cpp
@@ -604,7 +604,6 @@ void gfxWindowsPlatform::GetCommonFallbackFonts(
       // in future if we get better at handling things like `lang=zh-Hant`, not
       // just resolving based on the Unicode text.
     case Script::TRADITIONAL_HAN:
-    case Script::TRADITIONAL_HAN_WITH_LATIN:
       aFontList.AppendElement("MingLiU");
       if (aCh > 0xFFFF) {
         aFontList.AppendElement("MingLiU-ExtB");
@@ -965,7 +964,6 @@ void gfxWindowsPlatform::GetCommonFallbackFonts(
 
     case Script::AFAKA:
     case Script::ANATOLIAN_HIEROGLYPHS:
-    case Script::BERIA_ERFE:
     case Script::BLISSYMBOLS:
     case Script::BOOK_PAHLAVI:
     case Script::CHORASMIAN:
@@ -1005,17 +1003,14 @@ void gfxWindowsPlatform::GetCommonFallbackFonts(
     case Script::OLD_UYGHUR:
     case Script::RONGORONGO:
     case Script::SARATI:
-    case Script::SIDETIC:
     case Script::SIGNWRITING:
     case Script::SOGDIAN:
     case Script::SOYOMBO:
     case Script::SUNUWAR:
-    case Script::TAI_YO:
     case Script::TANGSA:
     case Script::TANGUT:
     case Script::TENGWAR:
     case Script::TODHRI:
-    case Script::TOLONG_SIKI:
     case Script::TOTO:
     case Script::TULU_TIGALARI:
     case Script::UNKNOWN:
diff --git a/intl/components/gtest/TestDateTimeFormat.cpp b/intl/components/gtest/TestDateTimeFormat.cpp
index 61b7ac51274c3..3a7846522a8b1 100644
--- a/intl/components/gtest/TestDateTimeFormat.cpp
+++ b/intl/components/gtest/TestDateTimeFormat.cpp
@@ -234,7 +234,7 @@ TEST(IntlDateTimeFormat, ComponentsAll)
 
   TestBuffer<char16_t> buffer;
   ASSERT_TRUE(FormatComponents(buffer, components));
-  ASSERT_TRUE(buffer.verboseMatches(u"Mon, 9/23/2002 AD, 20:07:30.000 GMT+3"));
+  ASSERT_TRUE(buffer.verboseMatches(u"Mon, 9 23, 2002 AD, 20:07:30.000 GMT+3"));
 }
 
 TEST(IntlDateTimeFormat, ComponentsHour12Default)
diff --git a/intl/components/src/DisplayNames.cpp b/intl/components/src/DisplayNames.cpp
index 310eec0831b0b..252969ccbbb03 100644
--- a/intl/components/src/DisplayNames.cpp
+++ b/intl/components/src/DisplayNames.cpp
@@ -89,10 +89,6 @@ static bool IsStandaloneMonth(UDateFormatSymbolType symbolType) {
     case UDAT_WEEKDAYS:
     case UDAT_SHORT_WEEKDAYS:
     case UDAT_AM_PMS:
-#  ifndef U_HIDE_DRAFT_API
-    case UDAT_AM_PMS_NARROW:
-    case UDAT_AM_PMS_WIDE:
-#  endif
     case UDAT_LOCALIZED_CHARS:
     case UDAT_ERA_NAMES:
     case UDAT_NARROW_MONTHS:
diff --git a/intl/components/src/DisplayNames.h b/intl/components/src/DisplayNames.h
index 03071a57a4cdd..1186ce6a8ca76 100644
--- a/intl/components/src/DisplayNames.h
+++ b/intl/components/src/DisplayNames.h
@@ -847,29 +847,7 @@ class DisplayNames final {
   Result<Ok, DisplayNamesError> GetDayPeriod(
       B& aBuffer, DayPeriod aDayPeriod, Span<const char> aCalendar,
       Fallback aFallback = Fallback::None) {
-    UDateFormatSymbolType symbolType;
-    switch (mOptions.style) {
-      case DisplayNames::Style::Long:
-#ifndef U_HIDE_DRAFT_API
-        symbolType = UDAT_AM_PMS_WIDE;
-#else
-        symbolType = UDAT_AM_PMS;
-#endif
-        break;
-
-      case DisplayNames::Style::Abbreviated:
-      case DisplayNames::Style::Short:
-        symbolType = UDAT_AM_PMS;
-        break;
-
-      case DisplayNames::Style::Narrow:
-#ifndef U_HIDE_DRAFT_API
-        symbolType = UDAT_AM_PMS_NARROW;
-#else
-        symbolType = UDAT_AM_PMS;
-#endif
-        break;
-    }
+    UDateFormatSymbolType symbolType = UDAT_AM_PMS;
 
     static constexpr int32_t indices[] = {UCAL_AM, UCAL_PM};
 
diff --git a/intl/components/src/LocaleGenerated.cpp b/intl/components/src/LocaleGenerated.cpp
index d4b12cc2551fe..53363b00b11f6 100644
--- a/intl/components/src/LocaleGenerated.cpp
+++ b/intl/components/src/LocaleGenerated.cpp
@@ -120,7 +120,7 @@ bool mozilla::intl::Locale::LanguageMapping(LanguageSubtag& language) {
   }
 
   if (language.Length() == 3) {
-    static const char languages[420][4] = {
+    static const char languages[419][4] = {
       "aam", "aar", "abk", "adp", "afr", "agp", "ais", "ajp", "ajt", "aju",
       "aka", "alb", "als", "amh", "ara", "arb", "arg", "arm", "asd", "asm",
       "aue", "ava", "ave", "aym", "ayr", "ayx", "aze", "azj", "bak", "bam",
@@ -128,43 +128,43 @@ bool mozilla::intl::Locale::LanguageMapping(LanguageSubtag& language) {
       "bis", "bjd", "bjq", "bkb", "blg", "bod", "bos", "bre", "btb", "bul",
       "bur", "bxk", "bxr", "cat", "ccq", "ces", "cha", "che", "chi", "chu",
       "chv", "cjr", "cka", "cld", "cls", "cmk", "cmn", "cor", "cos", "coy",
-      "cqu", "cre", "cwd", "cym", "cze", "daf", "dan", "dap", "dek", "deu",
-      "dgo", "dhd", "dik", "diq", "dit", "div", "djl", "dkl", "drh", "drr",
-      "dud", "duj", "dut", "dwl", "dzo", "ekk", "ell", "elp", "emk", "eng",
-      "epo", "esk", "est", "eus", "ewe", "fao", "fas", "fat", "fij", "fin",
-      "fra", "fre", "fry", "fuc", "ful", "gav", "gaz", "gbc", "gbo", "geo",
-      "ger", "gfx", "ggn", "ggo", "ggr", "gio", "gla", "gle", "glg", "gli",
-      "glv", "gno", "gom", "gre", "grn", "gti", "gug", "guj", "guv", "gya",
-      "hat", "hau", "hdn", "hea", "heb", "her", "him", "hin", "hmo", "hrr",
-      "hrv", "hun", "hye", "ibi", "ibo", "ice", "ido", "iii", "ike", "iku",
-      "ile", "ill", "ilw", "ina", "ind", "ipk", "isl", "ita", "izi", "jar",
-      "jav", "jeg", "jpn", "kal", "kan", "kas", "kat", "kau", "kaz", "kdv",
-      "kgc", "kgd", "kgh", "kgm", "khk", "khm", "kik", "kin", "kir", "kmr",
-      "knc", "kng", "koj", "kom", "kon", "kor", "kpp", "kpv", "krm", "ktr",
-      "kua", "kur", "kvs", "kwq", "kxe", "kxl", "kzh", "kzj", "kzt", "lak",
-      "lao", "lat", "lav", "lbk", "leg", "lii", "lim", "lin", "lit", "llo",
-      "lmm", "ltz", "lub", "lug", "lvs", "mac", "mah", "mal", "mao", "mar",
-      "may", "meg", "mgx", "mhr", "mkd", "mlg", "mlt", "mnt", "mof", "mol",
+      "cqu", "cre", "cwd", "cym", "cze", "daf", "dan", "dap", "deu", "dgo",
+      "dhd", "dik", "diq", "dit", "div", "djl", "dkl", "drh", "drr", "dud",
+      "duj", "dut", "dwl", "dzo", "ekk", "ell", "elp", "emk", "eng", "epo",
+      "esk", "est", "eus", "ewe", "fao", "fas", "fat", "fij", "fin", "fra",
+      "fre", "fry", "fuc", "ful", "gav", "gaz", "gbc", "gbo", "geo", "ger",
+      "gfx", "ggn", "ggo", "ggr", "gio", "gla", "gle", "glg", "gli", "glv",
+      "gno", "gom", "gre", "grn", "gti", "gug", "guj", "guv", "gya", "hat",
+      "hau", "hdn", "hea", "heb", "her", "him", "hin", "hmo", "hrr", "hrv",
+      "hun", "hye", "ibi", "ibo", "ice", "ido", "iii", "ike", "iku", "ile",
+      "ill", "ilw", "ina", "ind", "ipk", "isl", "ita", "izi", "jar", "jav",
+      "jeg", "jpn", "kal", "kan", "kas", "kat", "kau", "kaz", "kdv", "kgc",
+      "kgd", "kgh", "kgm", "khk", "khm", "kik", "kin", "kir", "kmr", "knc",
+      "kng", "koj", "kom", "kon", "kor", "kpp", "kpv", "krm", "ktr", "kua",
+      "kur", "kvs", "kwq", "kxe", "kxl", "kzh", "kzj", "kzt", "lak", "lao",
+      "lat", "lav", "lbk", "leg", "lii", "lim", "lin", "lit", "llo", "lmm",
+      "ltz", "lub", "lug", "lvs", "mac", "mah", "mal", "mao", "mar", "may",
+      "meg", "mgx", "mhr", "mkd", "mlg", "mlt", "mnk", "mnt", "mof", "mol",
       "mon", "mri", "msa", "mst", "mup", "mwd", "mwj", "mya", "myd", "myt",
       "nad", "nau", "nav", "nbf", "nbl", "nbx", "ncp", "nde", "ndo", "nep",
       "nld", "nln", "nlr", "nno", "nns", "nnx", "nob", "nom", "noo", "nor",
-      "npi", "nte", "nts", "nxu", "nya", "oci", "ojg", "oji", "ori", "orm",
-      "ory", "oss", "oun", "pan", "pat", "pbu", "pcr", "per", "pes", "pli",
-      "plt", "pmc", "pmk", "pmu", "pnb", "pol", "por", "ppa", "ppr", "prp",
-      "pry", "pus", "puz", "que", "quz", "rmr", "rmy", "roh", "ron", "rum",
-      "run", "rus", "sag", "san", "sap", "sca", "scc", "scr", "sgl", "sin",
-      "skk", "slk", "slo", "slv", "smd", "sme", "smo", "sna", "snb", "snd",
-      "som", "sot", "spa", "spy", "sqi", "src", "srd", "srp", "ssw", "sul",
-      "sum", "sun", "swa", "swe", "swh", "szd", "tah", "tam", "tat", "tdu",
-      "tel", "tgg", "tgk", "tgl", "tha", "thc", "thw", "thx", "tib", "tid",
-      "tie", "tir", "tkk", "tlw", "tmk", "tmp", "tne", "ton", "tpw", "tsf",
-      "tsn", "tso", "ttq", "tuk", "tur", "twi", "uig", "ukr", "umu", "unp",
-      "uok", "urd", "uzb", "uzn", "ven", "vie", "vol", "wel", "wgw", "wit",
-      "wiw", "wln", "wol", "xba", "xho", "xia", "xkh", "xpe", "xrq", "xsj",
-      "xsl", "xss", "ybd", "ydd", "yen", "yid", "yiy", "yma", "ymt", "yor",
-      "yos", "yuu", "zai", "zha", "zho", "zir", "zkb", "zsm", "zul", "zyb",
+      "npi", "nts", "nxu", "nya", "oci", "ojg", "oji", "ori", "orm", "ory",
+      "oss", "oun", "pan", "pat", "pbu", "pcr", "per", "pes", "pli", "plt",
+      "pmc", "pmk", "pmu", "pnb", "pol", "por", "ppa", "ppr", "prp", "pry",
+      "pus", "puz", "que", "quz", "rmr", "rmy", "roh", "ron", "rum", "run",
+      "rus", "sag", "san", "sap", "sca", "scc", "scr", "sgl", "sin", "skk",
+      "slk", "slo", "slv", "smd", "sme", "smo", "sna", "snb", "snd", "som",
+      "sot", "spa", "spy", "sqi", "src", "srd", "srp", "ssw", "sul", "sum",
+      "sun", "swa", "swe", "swh", "szd", "tah", "tam", "tat", "tdu", "tel",
+      "tgg", "tgk", "tgl", "tha", "thc", "thw", "thx", "tib", "tid", "tie",
+      "tir", "tkk", "tlw", "tmk", "tmp", "tne", "ton", "tpw", "tsf", "tsn",
+      "tso", "ttq", "tuk", "tur", "twi", "uig", "ukr", "umu", "unp", "uok",
+      "urd", "uzb", "uzn", "ven", "vie", "vol", "wel", "wgw", "wit", "wiw",
+      "wln", "wol", "xba", "xho", "xia", "xkh", "xpe", "xrq", "xsj", "xsl",
+      "xss", "ybd", "ydd", "yen", "yid", "yiy", "yma", "ymt", "yor", "yos",
+      "yuu", "zai", "zha", "zho", "zir", "zkb", "zsm", "zul", "zyb",
     };
-    static const char* aliases[420] = {
+    static const char* aliases[419] = {
       "aas",  "aa",  "ab",  "dz",  "af", "apf", "ami", "apc", "aeb", "jrb",
        "ak",  "sq",  "sq",  "am",  "ar",  "ar",  "an",  "hy", "snz",  "as",
       "ktz",  "av",  "ae",  "ay",  "ay", "nun",  "az",  "az",  "ba",  "bm",
@@ -172,41 +172,41 @@ bool mozilla::intl::Locale::LanguageMapping(LanguageSubtag& language) {
        "bi", "drl", "bzc", "ebk", "iba",  "bo",  "bs",  "br", "beb",  "bg",
        "my", "luy", "bua",  "ca", "rki",  "cs",  "ch",  "ce",  "zh",  "cu",
        "cv", "mom", "cmr", "syr",  "sa", "xch",  "zh",  "kw",  "co", "pij",
-      "quh",  "cr",  "cr",  "cy",  "cs", "dnj",  "da", "njz", "sqm",  "de",
-      "doi", "mwr", "din", "zza", "dif",  "dv", "dze", "aqd",  "mn", "kzk",
-      "uth", "dwu",  "nl", "dbt",  "dz",  "et",  "el", "amq", "man",  "en",
-       "eo",  "ik",  "et",  "eu",  "ee",  "fo",  "fa",  "ak",  "fj",  "fi",
-       "fr",  "fr",  "fy",  "ff",  "ff", "dev",  "om", "wny", "grb",  "ka",
-       "de", "vaj", "gvr", "esg", "gtu", "aou",  "gd",  "ga",  "gl", "kzk",
-       "gv", "gon", "kok",  "el",  "gn", "nyc",  "gn",  "gu", "duz", "gba",
-       "ht",  "ha", "hai", "hmn",  "he",  "hz", "srx",  "hi",  "ho", "jal",
-       "hr",  "hu",  "hy", "opa",  "ig",  "is",  "io",  "ii",  "iu",  "iu",
-       "ie", "ilm", "gal",  "ia",  "id",  "ik",  "is",  "it", "eza", "jgk",
-       "jv", "oyb",  "ja",  "kl",  "kn",  "ks",  "ka",  "kr",  "kk", "zkd",
-      "tdf", "ncq", "kml", "plu",  "mn",  "km",  "ki",  "rw",  "ky",  "ku",
-       "kr",  "kg", "kwv",  "kv",  "kg",  "ko", "jkm",  "kv", "bmf", "dtp",
-       "kj",  "ku", "gdj", "yam", "tvd", "kru", "dgl", "dtp", "dtp", "ksp",
-       "lo",  "la",  "lv", "bnc", "enl", "raq",  "li",  "ln",  "lt", "ngt",
-      "rmx",  "lb",  "lu",  "lg",  "lv",  "mk",  "mh",  "ml",  "mi",  "mr",
-       "ms", "cir", "jbk", "chm",  "mk",  "mg",  "mt", "wnn", "xnt",  "ro",
+      "quh",  "cr",  "cr",  "cy",  "cs", "dnj",  "da", "njz",  "de", "doi",
+      "mwr", "din", "zza", "dif",  "dv", "dze", "aqd",  "mn", "kzk", "uth",
+      "dwu",  "nl", "dbt",  "dz",  "et",  "el", "amq", "man",  "en",  "eo",
+       "ik",  "et",  "eu",  "ee",  "fo",  "fa",  "ak",  "fj",  "fi",  "fr",
+       "fr",  "fy",  "ff",  "ff", "dev",  "om", "wny", "grb",  "ka",  "de",
+      "vaj", "gvr", "esg", "gtu", "aou",  "gd",  "ga",  "gl", "kzk",  "gv",
+      "gon", "kok",  "el",  "gn", "nyc",  "gn",  "gu", "duz", "gba",  "ht",
+       "ha", "hai", "hmn",  "he",  "hz", "srx",  "hi",  "ho", "jal",  "hr",
+       "hu",  "hy", "opa",  "ig",  "is",  "io",  "ii",  "iu",  "iu",  "ie",
+      "ilm", "gal",  "ia",  "id",  "ik",  "is",  "it", "eza", "jgk",  "jv",
+      "oyb",  "ja",  "kl",  "kn",  "ks",  "ka",  "kr",  "kk", "zkd", "tdf",
+      "ncq", "kml", "plu",  "mn",  "km",  "ki",  "rw",  "ky",  "ku",  "kr",
+       "kg", "kwv",  "kv",  "kg",  "ko", "jkm",  "kv", "bmf", "dtp",  "kj",
+       "ku", "gdj", "yam", "tvd", "kru", "dgl", "dtp", "dtp", "ksp",  "lo",
+       "la",  "lv", "bnc", "enl", "raq",  "li",  "ln",  "lt", "ngt", "rmx",
+       "lb",  "lu",  "lg",  "lv",  "mk",  "mh",  "ml",  "mi",  "mr",  "ms",
+      "cir", "jbk", "chm",  "mk",  "mg",  "mt", "man", "wnn", "xnt",  "ro",
        "mn",  "mi",  "ms", "mry", "raj", "dmw", "vaj",  "my", "aog", "mry",
       "xny",  "na",  "nv", "nru",  "nr", "gll", "kdz",  "nd",  "ng",  "ne",
        "nl", "azd", "nrk",  "nn", "nbr", "ngv",  "nb", "cbr", "dtd",  "no",
-       "ne", "eko", "pij", "bpp",  "ny",  "oc",  "oj",  "oj",  "or",  "om",
-       "or",  "os", "vaj",  "pa", "kxr",  "ps", "adx",  "fa",  "fa",  "pi",
-       "mg", "huw", "crr", "phr", "lah",  "pl",  "pt", "bfy", "lcq",  "gu",
-      "prt",  "ps", "pub",  "qu",  "qu", "emx", "rom",  "rm",  "ro",  "ro",
-       "rn",  "ru",  "sg",  "sa", "aqt", "hle",  "sr",  "hr", "isk",  "si",
-      "oyb",  "sk",  "sk",  "sl", "kmb",  "se",  "sm",  "sn", "iba",  "sd",
-       "so",  "st",  "es", "kln",  "sq",  "sc",  "sc",  "sr",  "ss", "sgd",
-      "ulw",  "su",  "sw",  "sv",  "sw", "umi",  "ty",  "ta",  "tt", "dtp",
-       "te", "bjp",  "tg", "fil",  "th", "tpo", "ola", "oyb",  "bo", "itd",
-      "ras",  "ti", "twm", "weo", "tdg", "tyj", "kak",  "to", "tpn", "taj",
-       "tn",  "ts", "tmh",  "tk",  "tr",  "ak",  "ug",  "uk", "del", "wro",
-      "ema",  "ur",  "uz",  "uz",  "ve",  "vi",  "vo",  "cy", "wgb", "nol",
-      "nwo",  "wa",  "wo", "cax",  "xh", "acn", "waw", "kpe", "dmw", "suj",
-      "den", "zko", "rki",  "yi", "ynq",  "yi", "yrm", "lrr", "mtm",  "yo",
-      "zom", "yug", "zap",  "za",  "zh", "scv", "kjh",  "ms",  "zu",  "za",
+       "ne", "pij", "bpp",  "ny",  "oc",  "oj",  "oj",  "or",  "om",  "or",
+       "os", "vaj",  "pa", "kxr",  "ps", "adx",  "fa",  "fa",  "pi",  "mg",
+      "huw", "crr", "phr", "lah",  "pl",  "pt", "bfy", "lcq",  "gu", "prt",
+       "ps", "pub",  "qu",  "qu", "emx", "rom",  "rm",  "ro",  "ro",  "rn",
+       "ru",  "sg",  "sa", "aqt", "hle",  "sr",  "hr", "isk",  "si", "oyb",
+       "sk",  "sk",  "sl", "kmb",  "se",  "sm",  "sn", "iba",  "sd",  "so",
+       "st",  "es", "kln",  "sq",  "sc",  "sc",  "sr",  "ss", "sgd", "ulw",
+       "su",  "sw",  "sv",  "sw", "umi",  "ty",  "ta",  "tt", "dtp",  "te",
+      "bjp",  "tg", "fil",  "th", "tpo", "ola", "oyb",  "bo", "itd", "ras",
+       "ti", "twm", "weo", "tdg", "tyj", "kak",  "to", "tpn", "taj",  "tn",
+       "ts", "tmh",  "tk",  "tr",  "ak",  "ug",  "uk", "del", "wro", "ema",
+       "ur",  "uz",  "uz",  "ve",  "vi",  "vo",  "cy", "wgb", "nol", "nwo",
+       "wa",  "wo", "cax",  "xh", "acn", "waw", "kpe", "dmw", "suj", "den",
+      "zko", "rki",  "yi", "ynq",  "yi", "yrm", "lrr", "mtm",  "yo", "zom",
+      "yug", "zap",  "za",  "zh", "scv", "kjh",  "ms",  "zu",  "za",
     };
 
     if (const char* replacement = SearchReplacement(languages, aliases, language)) {
@@ -429,7 +429,6 @@ void mozilla::intl::Locale::PerformComplexRegionMappings() {
     if (Language().EqualTo("axm") ||
         Language().EqualTo("hy") ||
         Language().EqualTo("hyw") ||
-        (Language().EqualTo("ku") && Script().EqualTo("Cyrl")) ||
         Language().EqualTo("rmi") ||
         (Language().EqualTo("und") && Script().EqualTo("Armn"))) {
       SetRegion("AM");
@@ -577,7 +576,6 @@ void mozilla::intl::Locale::PerformComplexRegionMappings() {
     if (Language().EqualTo("axm") ||
         Language().EqualTo("hy") ||
         Language().EqualTo("hyw") ||
-        (Language().EqualTo("ku") && Script().EqualTo("Cyrl")) ||
         Language().EqualTo("rmi") ||
         (Language().EqualTo("und") && Script().EqualTo("Armn"))) {
       SetRegion("AM");
@@ -1139,7 +1137,7 @@ const char* mozilla::intl::Locale::ReplaceUnicodeExtensionType(
           "wet"   ,   "zulu"  ,
     };
     static const char* aliases[50] = {
-         "aqmcm"  ,  "auhba"  ,  "cawnp"  ,  "cator"  ,  "cator"  ,  "caiql"  ,
+         "nzakl"  ,  "auhba"  ,  "cawnp"  ,  "cator"  ,  "cator"  ,  "caiql"  ,
          "cator"  ,  "caedm"  ,  "bebru"  ,  "cnsha"  ,  "cnsha"  ,  "cnurc"  ,
          "uschi"  ,  "cuhav"  ,  "grath"  ,  "egcai"  ,  "iedub"  ,  "papty"  ,
          "usnyc"  ,   "unk"   , "gazastrp",   "gmt"   ,  "hkhkg"  ,  "ushnl"  ,
diff --git a/intl/components/src/UnicodeScriptCodes.h b/intl/components/src/UnicodeScriptCodes.h
index c519954455050..e4f6780ee2ca4 100644
--- a/intl/components/src/UnicodeScriptCodes.h
+++ b/intl/components/src/UnicodeScriptCodes.h
@@ -254,13 +254,8 @@ enum class Script : int16_t {
   SUNUWAR = 205,
   TODHRI = 206,
   TULU_TIGALARI = 207,
-  BERIA_ERFE = 208,
-  SIDETIC = 209,
-  TAI_YO = 210,
-  TOLONG_SIKI = 211,
-  TRADITIONAL_HAN_WITH_LATIN = 212,
 
-  NUM_SCRIPT_CODES = 213,
+  NUM_SCRIPT_CODES = 208,
 
   INVALID = -1
 };
diff --git a/intl/components/src/calendar/ICU4XCalendar.cpp b/intl/components/src/calendar/ICU4XCalendar.cpp
index 2678d5fec3e43..33bed98ab459b 100644
--- a/intl/components/src/calendar/ICU4XCalendar.cpp
+++ b/intl/components/src/calendar/ICU4XCalendar.cpp
@@ -211,7 +211,29 @@ UniqueICU4XDate ICU4XCalendar::createICU4XDate(const ISODate& date,
   return dt;
 }
 
-MonthCode ICU4XCalendar::monthCodeFrom(const icu4x::capi::Date* date) {
+UniqueICU4XDate ICU4XCalendar::createICU4XDate(const CalendarDate& date,
+                                               UErrorCode& status) const {
+  MOZ_ASSERT(U_SUCCESS(status));
+
+  auto* calendar = getICU4XCalendar(status);
+  if (U_FAILURE(status)) {
+    return nullptr;
+  }
+
+  auto era = eraName(date.year);
+
+  auto dt =
+      CreateDateFromCodes(calendar, era, date.year, date.monthCode, date.day);
+  if (!dt) {
+    status = U_INTERNAL_PROGRAM_ERROR;
+  }
+  return dt;
+}
+
+MonthCode ICU4XCalendar::monthCodeFrom(const icu4x::capi::Date* date,
+                                       UErrorCode& status) {
+  MOZ_ASSERT(U_SUCCESS(status));
+
   // Storage for the largest valid month code and the terminating NUL-character.
   // DiplomatWrite doesn't have std::span version.
   // https://github.com/rust-diplomat/diplomat/issues/866
@@ -377,7 +399,11 @@ int32_t ICU4XCalendar::internalGetMonth(UErrorCode& status) const {
       return 0;
     }
 
-    MonthCode monthCode = monthCodeFrom(date.get());
+    MonthCode monthCode = monthCodeFrom(date.get(), status);
+    if (U_FAILURE(status)) {
+      return 0;
+    }
+
     month = monthCode.ordinal() - 1;
     isLeapMonth = monthCode.isLeapMonth();
   }
diff --git a/intl/components/src/calendar/ICU4XCalendar.h b/intl/components/src/calendar/ICU4XCalendar.h
index ae665430d5104..23805aa984814 100644
--- a/intl/components/src/calendar/ICU4XCalendar.h
+++ b/intl/components/src/calendar/ICU4XCalendar.h
@@ -79,7 +79,8 @@ class ICU4XCalendar : public icu::Calendar {
   /**
    * Return the month code of |date|.
    */
-  static MonthCode monthCodeFrom(const icu4x::capi::Date* date);
+  static MonthCode monthCodeFrom(const icu4x::capi::Date* date,
+                                 UErrorCode& status);
 
   /**
    * Create a new ICU4X date object from an ISO date.
@@ -87,6 +88,12 @@ class ICU4XCalendar : public icu::Calendar {
   UniqueICU4XDate createICU4XDate(const ISODate& date,
                                   UErrorCode& status) const;
 
+  /**
+   * Create a new ICU4X date object from a calendar date.
+   */
+  UniqueICU4XDate createICU4XDate(const CalendarDate& date,
+                                  UErrorCode& status) const;
+
  public:
   ICU4XCalendar() = delete;
   virtual ~ICU4XCalendar();
diff --git a/intl/components/src/calendar/ICU4XChineseBasedCalendar.cpp b/intl/components/src/calendar/ICU4XChineseBasedCalendar.cpp
index 9f6bb77eb3420..7ab089306a1b9 100644
--- a/intl/components/src/calendar/ICU4XChineseBasedCalendar.cpp
+++ b/intl/components/src/calendar/ICU4XChineseBasedCalendar.cpp
@@ -61,6 +61,18 @@ bool ICU4XChineseBasedCalendar::inTemporalLeapYear(UErrorCode& status) const {
   return days > (monthsInNonLeapYear * maxDaysInMonth);
 }
 
+int32_t ICU4XChineseBasedCalendar::getRelatedYear(UErrorCode& status) const {
+  int32_t year = get(UCAL_EXTENDED_YEAR, status);
+  if (U_FAILURE(status)) {
+    return 0;
+  }
+  return year + relatedYearDifference();
+}
+
+void ICU4XChineseBasedCalendar::setRelatedYear(int32_t year) {
+  set(UCAL_EXTENDED_YEAR, year - relatedYearDifference());
+}
+
 void ICU4XChineseBasedCalendar::handleComputeFields(int32_t julianDay,
                                                     UErrorCode& status) {
   int32_t gyear = getGregorianYear();
@@ -83,9 +95,12 @@ void ICU4XChineseBasedCalendar::handleComputeFields(int32_t julianDay,
   }
   MOZ_ASSERT(date);
 
-  MonthCode monthCode = monthCodeFrom(date.get());
-  int32_t extendedYear =
-      icu4x::capi::icu4x_Date_era_year_or_related_iso_mv1(date.get());
+  MonthCode monthCode = monthCodeFrom(date.get(), status);
+  if (U_FAILURE(status)) {
+    return;
+  }
+
+  int32_t extendedYear = icu4x::capi::icu4x_Date_extended_year_mv1(date.get());
   int32_t month = icu4x::capi::icu4x_Date_ordinal_month_mv1(date.get());
   int32_t dayOfMonth = icu4x::capi::icu4x_Date_day_of_month_mv1(date.get());
   int32_t dayOfYear = icu4x::capi::icu4x_Date_day_of_year_mv1(date.get());
@@ -94,18 +109,11 @@ void ICU4XChineseBasedCalendar::handleComputeFields(int32_t julianDay,
   MOZ_ASSERT(1 <= dayOfMonth && dayOfMonth <= 30);
   MOZ_ASSERT(1 <= dayOfYear && dayOfYear <= (13 * 30));
 
-  // Difference between the Chinese calendar era (the extended year 1) and the
-  // start year used for cycle computations. This is the sixtieth year of reign
-  // of Huáng Dì. Other sources use the first year of reign, which means using
-  // -2697 instead. Both numbers result in the same year of cycle, but the
-  // latter number gives a different cycle number. To align with the ICU4C
-  // Chinese calendar implementation, we use -2637 here.
-  constexpr int32_t chineseCalendarYearDiff = -2637;
-
   // Compute the cycle and year of cycle relative to the Chinese calendar, even
   // when this is the Dangi calendar.
-  int32_t chineseCalendarYear = extendedYear - chineseCalendarYearDiff;
-  int32_t cycle_year = chineseCalendarYear - 1;
+  int32_t chineseExtendedYear =
+      extendedYear + relatedYearDifference() - chineseRelatedYearDiff;
+  int32_t cycle_year = chineseExtendedYear - 1;
   int32_t cycle = FloorDiv(cycle_year, 60);
   int32_t yearOfCycle = cycle_year - (cycle * 60);
 
diff --git a/intl/components/src/calendar/ICU4XChineseBasedCalendar.h b/intl/components/src/calendar/ICU4XChineseBasedCalendar.h
index 0f3eea6dcf6e1..c10eb73ddb00c 100644
--- a/intl/components/src/calendar/ICU4XChineseBasedCalendar.h
+++ b/intl/components/src/calendar/ICU4XChineseBasedCalendar.h
@@ -35,8 +35,17 @@ class ICU4XChineseBasedCalendar : public ICU4XCalendar {
   bool requiresFallbackForExtendedYear(int32_t year) const override;
   bool requiresFallbackForGregorianYear(int32_t year) const override;
 
+  /**
+   * Difference to the related Gregorian year.
+   */
+  virtual int32_t relatedYearDifference() const = 0;
+
+  static constexpr int32_t chineseRelatedYearDiff = -2637;
+
  public:
   bool inTemporalLeapYear(UErrorCode& status) const override;
+  int32_t getRelatedYear(UErrorCode& status) const override;
+  void setRelatedYear(int32_t year) override;
 
  protected:
   void handleComputeFields(int32_t julianDay, UErrorCode& status) override;
diff --git a/intl/components/src/calendar/ICU4XChineseCalendar.h b/intl/components/src/calendar/ICU4XChineseCalendar.h
index a531f0ade94b6..a7c4dfed65f85 100644
--- a/intl/components/src/calendar/ICU4XChineseCalendar.h
+++ b/intl/components/src/calendar/ICU4XChineseCalendar.h
@@ -36,6 +36,10 @@ class ICU4XChineseCalendar : public ICU4XChineseBasedCalendar {
  protected:
   std::string_view eraName(int32_t extendedYear) const override;
 
+  int32_t relatedYearDifference() const override {
+    return chineseRelatedYearDiff;
+  }
+
  public:
   UClassID getDynamicClassID() const override;
   static UClassID U_EXPORT2 getStaticClassID();
diff --git a/intl/components/src/calendar/ICU4XDangiCalendar.h b/intl/components/src/calendar/ICU4XDangiCalendar.h
index 6d463cd2aef06..a930b2b7b949b 100644
--- a/intl/components/src/calendar/ICU4XDangiCalendar.h
+++ b/intl/components/src/calendar/ICU4XDangiCalendar.h
@@ -36,6 +36,12 @@ class ICU4XDangiCalendar : public ICU4XChineseBasedCalendar {
  protected:
   std::string_view eraName(int32_t extendedYear) const override;
 
+  static constexpr int32_t dangiRelatedYearDiff = -2333;
+
+  int32_t relatedYearDifference() const override {
+    return dangiRelatedYearDiff;
+  }
+
  public:
   UClassID getDynamicClassID() const override;
   static UClassID U_EXPORT2 getStaticClassID();
diff --git a/intl/components/src/calendar/ISODate.h b/intl/components/src/calendar/ISODate.h
index 26e0571e0003a..569c3c6e7576c 100644
--- a/intl/components/src/calendar/ISODate.h
+++ b/intl/components/src/calendar/ISODate.h
@@ -16,6 +16,12 @@ struct ISODate final {
   int32_t day = 0;
 };
 
+struct CalendarDate final {
+  int32_t year = 0;
+  MonthCode monthCode = {};
+  int32_t day = 0;
+};
+
 inline int32_t FloorDiv(int32_t dividend, int32_t divisor) {
   int32_t quotient = dividend / divisor;
   int32_t remainder = dividend % divisor;
diff --git a/intl/locale/cldr-quotes.inc b/intl/locale/cldr-quotes.inc
index 9018e65bb5e6d..f708c5bfb848b 100644
--- a/intl/locale/cldr-quotes.inc
+++ b/intl/locale/cldr-quotes.inc
@@ -18,25 +18,23 @@
 
 static const LangQuotesRec sLangQuotes[] = {
   // clang-format off
-  { "aa\0ab\0af\0ak\0an\0ann\0apc\0arn\0as\0asa\0az\0ba\0bal\0bem\0bew\0bez\0bgc\0bgn\0bho\0blt\0bn\0bo\0bqi\0brx\0bss\0byn\0cad\0cch\0ccp\0ce\0ceb\0cgg\0cho\0chr\0cic\0ckb\0co\0cop\0csw\0cu\0cy\0da\0dav\0dje\0doi\0dv\0dz\0ebu\0ee\0en\0es\0fil\0fo\0frr\0fur\0fy\0ga\0gaa\0gd\0gez\0gl\0gn\0gu\0guz\0gv\0ha\0haw\0hi\0hnj\0ht\0id\0ig\0ii\0io\0iu\0jbo\0jmc\0jv\0kaa\0kaj\0kam\0kcg\0kde\0kea\0kek\0ken\0kgp\0khq\0ki\0kl\0kln\0km\0kn\0ko\0kok\0kpe\0ks\0ksb\0ksh\0ku\0kw\0kxv\0la\0lg\0lkt\0lmo\0ln\0lo\0lrc\0ltg\0lu\0luo\0lv\0lzz\0mai\0mas\0mdf\0mer\0mfe\0mgh\0mgo\0mhn\0mi\0mic\0ml\0mn\0mni\0moh\0mr\0ms\0mt\0mus\0mww\0my\0myv\0naq\0nb\0nd\0nds\0ne\0nn\0nqo\0nr\0nso\0nus\0nv\0ny\0nyn\0oc\0oka\0om\0or\0os\0osa\0pa\0pap\0pcm\0pi\0pis\0prg\0ps\0pt\0qu\0quc\0raj\0rhg\0rif\0rof\0rwk\0sa\0saq\0sat\0sbp\0scn\0sd\0se\0seh\0ses\0shn\0si\0sid\0skr\0sma\0smj\0smn\0sms\0so\0sq\0ss\0ssy\0su\0suz\0sw\0szl\0ta\0te\0teo\0tg\0th\0tig\0to\0tok\0tpi\0tr\0trv\0trw\0ts\0tt\0twq\0tzm\0ug\0vai\0ve\0vec\0vi\0vmw\0vo\0vun\0wa\0wae\0wal\0wbp\0wo\0xh\0xnr\0xog\0yi\0yo\0yrl\0za\0zh\0zu\0", { { 0x201c, 0x201d, 0x2018, 0x2019 } } },
+  { "aa\0ab\0af\0ak\0an\0ann\0apc\0arn\0as\0asa\0az\0ba\0bal\0bem\0bew\0bez\0bgc\0bgn\0bho\0blt\0bn\0bo\0brx\0bss\0byn\0cad\0cch\0ccp\0ce\0ceb\0cgg\0cho\0chr\0cic\0ckb\0co\0cop\0csw\0cu\0cy\0da\0dav\0dje\0doi\0dv\0dz\0ebu\0ee\0en\0eo\0es\0fil\0fo\0frr\0fur\0fy\0ga\0gaa\0gd\0gez\0gl\0gn\0gu\0guz\0gv\0ha\0haw\0hi\0hnj\0ht\0id\0ig\0ii\0io\0iu\0jbo\0jmc\0jv\0kaa\0kaj\0kam\0kcg\0kde\0kea\0ken\0kgp\0khq\0ki\0kl\0kln\0km\0kn\0ko\0kok\0kpe\0ks\0ksb\0ksh\0ku\0kw\0kxv\0la\0lg\0lkt\0lmo\0ln\0lo\0lrc\0ltg\0lu\0luo\0lv\0mai\0mas\0mdf\0mer\0mfe\0mgh\0mgo\0mhn\0mi\0mic\0ml\0mn\0mni\0moh\0mr\0ms\0mt\0mus\0my\0myv\0naq\0nb\0nd\0nds\0ne\0nn\0nqo\0nr\0nus\0nv\0ny\0nyn\0oc\0om\0or\0os\0osa\0pa\0pap\0pcm\0pis\0prg\0ps\0pt\0qu\0quc\0raj\0rhg\0rif\0rm\0rof\0rwk\0sa\0saq\0sat\0sbp\0scn\0sd\0se\0seh\0ses\0shn\0si\0sid\0skr\0sma\0smj\0smn\0sms\0so\0ss\0ssy\0su\0sw\0szl\0ta\0te\0teo\0tg\0th\0tig\0to\0tok\0tpi\0tr\0trv\0trw\0ts\0tt\0twq\0tyv\0tzm\0ug\0vai\0ve\0vec\0vi\0vmw\0vo\0vun\0wa\0wae\0wal\0wbp\0wo\0xh\0xnr\0xog\0yi\0yo\0yrl\0za\0zh\0zu\0", { { 0x201c, 0x201d, 0x2018, 0x2019 } } },
   { "agq\0ff\0", { { 0x201e, 0x201d, 0x201a, 0x2019 } } },
-  { "am\0az-Arab\0az-Cyrl\0fa\0fr-CH\0gsw\0jgo\0kkj\0mzn\0rm\0sdh\0", { { 0xab, 0xbb, 0x2039, 0x203a } } },
+  { "am\0az-Arab\0az-Cyrl\0fa\0fr-CH\0gsw\0jgo\0kkj\0mzn\0sdh\0", { { 0xab, 0xbb, 0x2039, 0x203a } } },
   { "ar\0lld\0ms-Arab\0syr\0ur\0", { { 0x201d, 0x201c, 0x2019, 0x2018 } } },
-  { "ast\0blo\0bm\0br\0ca\0cv\0dyo\0el\0es-US\0eu\0ewo\0ie\0it\0kab\0kk\0lij\0mg\0mua\0nnh\0pms\0pt-PT\0sc\0sg\0ti\0", { { 0xab, 0xbb, 0x201c, 0x201d } } },
-  { "bas\0be\0bua\0ky\0ru\0sah\0tyv\0uk\0", { { 0xab, 0xbb, 0x201e, 0x201c } } },
-  { "bg\0lt\0sgs\0", { { 0x201e, 0x201c, 0x201e, 0x201c } } },
+  { "ast\0blo\0bm\0br\0ca\0dyo\0el\0es-US\0eu\0ewo\0ie\0it\0kab\0kk\0lij\0mg\0mua\0nnh\0pt-PT\0sc\0sg\0sq\0ti\0", { { 0xab, 0xbb, 0x201c, 0x201d } } },
+  { "bas\0be\0cv\0ky\0ru\0sah\0uk\0", { { 0xab, 0xbb, 0x201e, 0x201c } } },
+  { "bg\0lt\0", { { 0x201e, 0x201c, 0x201e, 0x201c } } },
   { "bs-Cyrl\0cs\0de\0dsb\0et\0hr\0hsb\0is\0lb\0luy\0mk\0sk\0sl\0", { { 0x201e, 0x201c, 0x201a, 0x2018 } } },
   { "bs\0", { { 0x201e, 0x201d, 0x2018, 0x2019 } } },
   { "dua\0el-POLYTON\0ksf\0no\0rw\0", { { 0xab, 0xbb, 0x2018, 0x2019 } } },
-  { "eo\0", { { 0x201c, 0x201d, 0xab, 0xbb } } },
   { "fi\0he\0lag\0rn\0sn\0sv\0", { { 0x201d, 0x201d, 0x2019, 0x2019 } } },
   { "fr-CA\0", { { 0xab, 0xbb, 0x201d, 0x201c } } },
   { "fr\0hy\0yav\0", { { 0xab, 0xbb, 0xab, 0xbb } } },
   { "hu\0", { { 0x201e, 0x201d, 0xbb, 0xab } } },
-  { "ia\0ti-ER\0tn\0", { { 0x2018, 0x2019, 0x201c, 0x201d } } },
+  { "ia\0nso\0ti-ER\0tn\0", { { 0x2018, 0x2019, 0x201c, 0x201d } } },
   { "ja\0yue\0zh-Hant\0", { { 0x300c, 0x300d, 0x300e, 0x300f } } },
   { "ka\0", { { 0x201e, 0x201c, 0xab, 0xbb } } },
-  { "kk-Arab\0", { { 0xbb, 0xab, 0x203a, 0x2039 } } },
   { "nl\0", { { 0x2018, 0x2019, 0x2018, 0x2019 } } },
   { "nmg\0pl\0ro\0", { { 0x201e, 0x201d, 0xab, 0xbb } } },
   { "shi\0zgh\0", { { 0xab, 0xbb, 0x201e, 0x201d } } },
diff --git a/intl/locale/tests/gtest/TestAppDateTimeFormat.cpp b/intl/locale/tests/gtest/TestAppDateTimeFormat.cpp
index c3e45b9c06416..52eaf48fb10e3 100644
--- a/intl/locale/tests/gtest/TestAppDateTimeFormat.cpp
+++ b/intl/locale/tests/gtest/TestAppDateTimeFormat.cpp
@@ -267,7 +267,7 @@ TEST(AppDateTimeFormat, DateFormatSelectorsForeign)
     nsresult rv =
         AppDateTimeFormat::Format(components, &prExplodedTime, formattedTime);
     ASSERT_NS_SUCCEEDED(rv);
-    ASSERT_STREQ("01/1970", NS_ConvertUTF16toUTF8(formattedTime).get());
+    ASSERT_STREQ("01.1970", NS_ConvertUTF16toUTF8(formattedTime).get());
   }
   {
     ComponentsBag components{};
diff --git a/intl/lwbrk/LineBreaker.cpp b/intl/lwbrk/LineBreaker.cpp
index f7b1bf4c4c6d2..7261df26f8cc4 100644
--- a/intl/lwbrk/LineBreaker.cpp
+++ b/intl/lwbrk/LineBreaker.cpp
@@ -453,7 +453,6 @@ static int8_t GetClass(uint32_t u, LineBreakRule aLevel,
       /* AKSARA_START = 45,                 [AS] */ CLASS_CHARACTER,
       /* VIRAMA_FINAL = 46,                 [VF] */ CLASS_CHARACTER,
       /* VIRAMA = 47,                       [VI] */ CLASS_CHARACTER,
-      /* UNAMBIGUOUS_HYPHEN = 48            [HH] */ CLASS_BREAKABLE,
   };
 
   static_assert(U_LB_COUNT == std::size(sUnicodeLineBreakToClass),
diff --git a/intl/unicharutil/tools/genSpecialCasingData.pl b/intl/unicharutil/tools/genSpecialCasingData.pl
index 0d936767ed1a6..5a65be49203fe 100755
--- a/intl/unicharutil/tools/genSpecialCasingData.pl
+++ b/intl/unicharutil/tools/genSpecialCasingData.pl
@@ -83,8 +83,8 @@ print <<__END__;
    by genSpecialCasingData.pl - do not edit! */
 
 #include "nsSpecialCasingData.h"
+#include "mozilla/ArrayUtils.h" // for ArrayLength
 #include <stdlib.h>       // for bsearch
-#include <array>          // for std::size
 
 __END__
 map { print "/* $_ */\n" } @headerLines;
@@ -211,8 +211,17 @@ __END__
   <p>
 __END__
   foreach my $key (sort { $a <=> $b } keys %$hash) {
+    # Bug 1476304: we exclude Georgian letters U+10D0..10FF because of lack
+    # of widespread font support for the corresponding Mtavruli characters
+    # at this time (July 2018).
+    # This condition is to be removed once the major platforms ship with
+    # fonts that support U+1C90..1CBF.
+    my $skippedGeorgian = $whichMapping eq "upper" && $key >= 0x10D0 && $key <= 0x10FF;
+    print OUT "<!-- " if $skippedGeorgian;
     print OUT join('', map { sprintf("&#x%s;", $_) } split(/ /, $hash->{$key}));
+    print OUT " -->" if $skippedGeorgian;
     print OUT " <!-- $charName{$key} -->" if exists $charName{$key};
+    print OUT " <!-- Temporarily skipped, see bug 1476304. -->" if $skippedGeorgian;
     print OUT "\n";
   }
   print OUT <<__END__;
diff --git a/intl/unicharutil/tools/genUnicodePropertyData.pl b/intl/unicharutil/tools/genUnicodePropertyData.pl
index 97978bc7d823d..474197a34cf7f 100755
--- a/intl/unicharutil/tools/genUnicodePropertyData.pl
+++ b/intl/unicharutil/tools/genUnicodePropertyData.pl
@@ -310,7 +310,7 @@ sub sprintCharProps2_short
   return sprintf("{%d},",
                  $idtype[$usv]);
 }
-&genTables("CharProp2", "", "nsCharProps2", 11, 5, \&sprintCharProps2_short, 16, 1, 1);
+&genTables("CharProp2", "", "nsCharProps2", 9, 7, \&sprintCharProps2_short, 16, 1, 1);
 
 sub sprintHanVariants
 {
diff --git a/intl/unicharutil/util/nsSpecialCasingData.cpp b/intl/unicharutil/util/nsSpecialCasingData.cpp
index 8292125bc2526..73c94b989ef34 100644
--- a/intl/unicharutil/util/nsSpecialCasingData.cpp
+++ b/intl/unicharutil/util/nsSpecialCasingData.cpp
@@ -7,10 +7,10 @@
 
 #include "nsSpecialCasingData.h"
 #include <stdlib.h>       // for bsearch
-#include <array>          // for std::size
+#include <array>
 
-/* SpecialCasing-17.0.0.txt */
-/* Date: 2025-07-31, 22:11:55 GMT */
+/* SpecialCasing-16.0.0.txt */
+/* Date: 2024-05-10, 22:49:00 GMT */
 
 using mozilla::unicode::MultiCharMapping;
 
diff --git a/intl/unicharutil/util/nsUnicodePropertyData.cpp b/intl/unicharutil/util/nsUnicodePropertyData.cpp
index db19c5be809c6..8cfb5103b3a9b 100644
--- a/intl/unicharutil/util/nsUnicodePropertyData.cpp
+++ b/intl/unicharutil/util/nsUnicodePropertyData.cpp
@@ -45,554 +45,93 @@ for the Unicode Character Database, for Version 17.0.0 of the Unicode Standard.
 #include "harfbuzz/hb.h"
 
 #define kCharProp2MaxPlane  16
-#define kCharProp2IndexBits 11
-#define kCharProp2CharBits  5
-static const uint8_t sCharProp2Planes[16] = {1,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3};
+#define kCharProp2IndexBits 9
+#define kCharProp2CharBits  7
+static const uint8_t sCharProp2Planes[16] = {1,2,3,4,4,4,4,4,4,4,4,4,4,4,4,4};
 
-static const uint16_t sCharProp2Pages[4][2048] = {
-  {0,1,2,3,0,4,5,5,6,7,8,9,10,11,12,13,14,0,15,16,17,18,0,0,19,20,0,0,21,22,23,0,24,25,26,0,27,28,29,30,0,31,32,33,34,0,35,36,0,37,38,39,40,41,42,43,0,0,44,45,25,46,0,0,0,0,0,0,47,48,49,0,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,54,66,67,68,69,70,71,0,72,73,74,0,72,73,75,65,72,76,77,78,79,80,81,82,33,83,84,0,85,86,87,0,88,89,90,91,92,93,0,0,25,25,94,95,96,0,97,98,0,0,0,0,0,0,0,0,99,25,100,25,101,102,103,104,102,25,105,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,106,107,108,89,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,109,0,0,0,0,0,0,0,0,0,0,110,111,112,113,114,25,25,115,0,0,0,0,0,116,0,117,118,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,0,33,25,121,25,25,122,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,123,0,0,0,124,0,0,0,4,125,126,127,128,129,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,130,0,0,131,0,0,132,133,130,0,134,135,0,0,0,0,0,136,127,0,0,137,0,0,0,0,0,127,0,0,0,138,0,0,0,0,0,0,0,139,0,0,0,140,0,0,141,0,0,0,0,0,0,0,0,0,0,0,142,143,0,144,145,0,0,4,145,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,146,147,0,0,0,137,0,0,0,142,148,0,0,0,0,0,0,0,0,149,0,117,150,0,0,0,0,0,151,0,152,153,0,0,140,0,0,0,0,154,0,0,0,0,0,119,155,156,157,0,0,82,0,0,0,0,130,0,0,0,0,0,0,0,0,0,0,0,0,0,158,159,160,0,0,161,0,0,0,0,127,0,0,162,163,25,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,25,25,193,194,195,25,196,197,198,199,200,201,33,202,203,204,205,22,206,163,207,208,25,165,209,25,99,205,25,25,25,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,25,226,25,227,228,208,229,230,231,232,233,234,25,25,5,25,99,25,235,236,237,238,239,193,240,201,241,242,243,244,245,246,25,247,248,216,25,249,236,250,208,25,251,252,33,253,254,255,165,162,25,256,25,162,216,33,257,258,259,25,25,260,261,262,263,25,264,165,265,266,249,267,268,269,270,25,271,272,234,273,274,249,275,5,25,276,25,277,207,278,279,185,25,280,25,172,25,25,109,281,277,282,283,284,285,286,224,287,288,289,290,291,292,5,293,294,295,296,297,298,299,300,301,25,99,302,303,304,241,305,306,307,216,275,308,309,310,163,277,311,25,122,22,312,25,166,313,314,315,316,317,318,163,319,320,321,322,25,323,25,324,314,325,249,173,25,33,323,326,327,328,25,172,329,330,25,331,332,207,167,333,334,25,185,264,335,25,336,241,337,5,338,250,339,25,340,341,342,343,208,277,224,344,5,345,346,347,348,349,350,351,352,25,25,353,25,25,354,224,193,25,180,25,355,356,323,357,358,185,359,25,360,239,25,33,361,362,249,363,180,258,25,167,364,193,311,365,366,239,367,368,22,328,165,369,370,371,25,372,373,165,224,25,374,375,376,377,241,378,379,380,381,25,382,383,25,384,385,386,387,388,204,389,390,25,25,391,25,216,185,392,393,165,394,167,395,396,25,397,398,399,400,401,402,403,323,25,185,328,288,25,25,25,25,109,404,25,405,326,406,328,207,407,33,282,408,409,122,25,410,6,25,25,411,25,239,412,193,328,355,249,167,162,25,327,413,177,208,25,25,277,25,414,415,25,323,25,416,5,264,311,417,418,419,122,193,420,167,421,422,5,5,208,423,424,208,425,288,426,249,172,427,25,216,177,428,429,430,216,25,25,25,431,432,328,25,433,434,435,25,436,437,438,239,439,440,441,177,167,25,442,25,443,444,25,25,25,25,323,445,446,447,282,448,363,449,25,25,180,25,282,33,249,450,162,451,452,185,453,454,177,299,429,355,25,288,455,456,99,25,457,424,25,25,239,458,165,207,459,241,185,460,461,328,462,463,22,264,464,465,288,466,22,180,467,25,468,469,470,25,471,472,328,473,474,25,25,25,25,25,25,25,475,476,477,478,25,25,479,480,481,482,483,25,484,485,486,487,416,488,489,490,180,122,491,492,493,25,5,207,494,241,185,495,25,25,122,25,496,497,185,498,264,25,499,500,501,502,503,504,505,506,25,22,165,507,25,508,509,25,25,25,25,510,511,25,311,208,512,33,314,513,25,25,185,514,515,25,516,517,282,518,311,25,519,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,153,148,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,0,0,0,0,0,0,0,0,0,0,0,0,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,160,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
-  {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,520,152,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,521,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
-  {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,68,0,136,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,123,130,142,0,522,0,523,0,0,524,0,0,0,0,525,0,0,4,526,154,4,527,0,528,117,0,0,529,0,148,0,0,152,530,0,0,531,0,0,0,0,0,0,0,136,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,523,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,523,0,0,0,137,0,0,0,148,0,0,0,532,0,0,0,154,0,533,0,117,119,0,0,0,0,0,0,0,0,0,123,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,123,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,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,88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,130,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,534,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,125,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,526,0,0,0,0,0,119,0,0,0,0,0,0,154,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
-  {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
+static const uint8_t sCharProp2Pages[5][512] = {
+  {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,34,35,36,37,38,34,34,34,34,34,34,34,39,34,34,34,34,34,34,34,34,34,40,34,34,41,42,43,44,45,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,46,47,34,34,34,34,48,49,50,51,34,34,34,34,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,52,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,34,34,34,34,34,34,34,34,34,34,34,34,53,34,54,55,34,34,34,56,57,34,58,34,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,59,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,60,34,34,34,34,34,34,34,34,34,34,34},
+  {34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,61,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,62,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,63,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,64,34,34,65,34,34,34,34,34,34,34,34,34,34,34,34,34,66,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34},
+  {41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,8,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,67,41,68,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,69,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,70,41,41,41,41,71,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34},
+  {41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,72,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,73,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34},
+  {34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34}
 };
 
-static const nsCharProps2 sCharProp2Values[536][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},{0},{0},{0},{0}},
-  {{0},{0},{0},{0},{0},{0},{0},{1},{0},{0},{0},{0},{0},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{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},{1}},
-  {{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},{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}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{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},{1},{1},{0},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{0},{1},{1},{1},{1},{0},{0},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{0}},
-  {{0},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{0},{0},{1},{1},{1},{1},{1},{1},{0},{0},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{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},{1},{0}},
-  {{0},{1},{0},{0},{0},{0},{1},{0},{0},{1},{1},{0},{0},{0},{1},{1},{1},{1},{1},{0},{1},{0},{1},{1},{1},{1},{0},{0},{0},{1},{0},{0}},
-  {{1},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{1},{0},{1},{1},{1},{0},{0},{1},{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},{0},{0},{0},{0},{0},{0},{0},{0},{1},{0},{0}},
-  {{0},{0},{0},{0},{0},{0},{1},{1},{1},{1},{0},{0},{0},{0},{1},{1},{0},{0},{0},{0},{0},{0},{0},{0},{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},{1},{1},{1},{1},{0},{0},{0},{0}},
-  {{0},{0},{0},{0},{1},{0},{0},{0},{0},{0},{0},{0},{1},{1},{0},{0},{0},{0},{0},{1},{1},{0},{1},{1},{0},{1},{0},{1},{0},{0},{0},{0}},
-  {{0},{0},{0},{1},{0},{0},{0},{0},{1},{1},{0},{0},{0},{0},{0},{0},{0},{0},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0}},
-  {{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{0},{1},{0},{0},{0},{0},{0},{0},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0}},
-  {{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{1},{0},{0},{0}},
-  {{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{0},{0},{0},{0}},
-  {{0},{0},{0},{1},{0},{0},{1},{1},{1},{0},{0},{0},{0},{0},{0},{0},{0},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0}},
-  {{0},{0},{0},{0},{0},{0},{1},{0},{1},{1},{1},{0},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{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},{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},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{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},{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},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1}},
-  {{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},{0},{0},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{0},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{0},{1},{1},{1},{1},{1},{1}},
-  {{1},{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},{0},{0},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{0},{0},{0},{1},{1},{1},{1},{1},{1},{1},{1},{0},{0},{1},{1},{0},{0},{0},{0},{0},{0}},
-  {{0},{0},{0},{0},{1},{1},{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},{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},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{0},{0},{0},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0}},
-  {{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{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},{1},{1},{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},{1},{0},{0},{1},{0},{0}},
-  {{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{0},{0},{0},{0},{0},{1},{0},{1},{0},{1},{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},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{0},{0},{0},{1}},
-  {{1},{0},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{0},{1},{0},{1},{1},{1},{0},{0},{1},{1},{1},{1},{1},{0}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0}},
-  {{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{0},{0},{1},{1},{1}},
-  {{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{1},{0},{0},{0},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0}},
-  {{1},{0},{1},{1},{0},{0},{1},{1},{1},{0},{1},{0},{0},{0},{1},{1},{1},{1},{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},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0}},
-  {{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0}},
-  {{1},{0},{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},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{0},{0},{0},{0},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0}},
-  {{0},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{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},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1}},
-  {{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{0},{0},{0},{0},{0},{0},{1},{1},{0},{0},{0},{0},{0},{0},{0},{0}},
-  {{0},{0},{0},{0},{0},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{0},{1},{1},{1},{1},{1},{1},{0},{0},{0},{1},{1},{0},{1},{1}},
-  {{0},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{0},{0},{0},{1},{1},{0},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{0},{1},{0},{0},{0},{1},{1},{1},{1},{0},{0},{1},{0},{1},{1}},
-  {{1},{1},{1},{1},{1},{0},{0},{1},{1},{0},{0},{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},{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},{1},{0},{0},{1},{1},{1},{1},{1},{1},{0},{0},{0},{0},{1},{1},{0},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{0},{1},{0},{0},{1},{0},{0},{1},{1},{0},{0},{1},{0},{1},{1}},
-  {{1},{1},{1},{0},{0},{0},{0},{1},{1},{0},{0},{1},{1},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{0},{0},{0}},
-  {{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0}},
-  {{0},{0},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{0},{1},{1},{1},{1},{1},{0},{0},{1},{0},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{0},{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},{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}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{0},{0},{1},{1},{1},{1},{0},{0},{1},{0},{1},{1}},
-  {{1},{1},{1},{1},{0},{0},{0},{1},{1},{0},{0},{1},{1},{1},{0},{0},{0},{0},{0},{0},{0},{0},{1},{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},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0}},
-  {{0},{0},{0},{1},{0},{1},{1},{1},{1},{1},{1},{0},{0},{0},{1},{1},{1},{0},{1},{1},{1},{1},{0},{0},{0},{1},{1},{0},{1},{0},{1},{1}},
-  {{0},{0},{0},{1},{1},{0},{0},{0},{1},{1},{1},{0},{0},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{0},{0},{0},{1},{1}},
-  {{1},{1},{1},{0},{0},{0},{1},{1},{1},{0},{1},{1},{1},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0}},
-  {{0},{0},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{0},{0},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{0},{1},{1},{1},{1},{1},{0},{0},{0},{0},{1},{1}},
-  {{1},{1},{1},{1},{1},{0},{1},{1},{1},{0},{1},{1},{1},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0}},
-  {{1},{1},{1},{1},{0},{0},{1},{1},{1},{0},{1},{1},{1},{1},{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},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{0},{0},{0},{1},{1}},
-  {{1},{1},{1},{1},{0},{0},{1},{1},{1},{0},{1},{1},{0},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{0},{0},{0},{0},{0},{0},{0},{0}},
-  {{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{1},{1},{1},{1},{1}},
-  {{0},{0},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{0},{0},{1},{1},{1},{1},{1},{1},{0},{0},{0},{1},{1},{1},{1},{0},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{0},{0}},
-  {{1},{1},{1},{1},{1},{1},{1},{0},{0},{0},{1},{0},{0},{0},{0},{1},{1},{1},{1},{1},{1},{0},{1},{0},{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},{1},{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},{0},{1},{1},{1},{1},{1},{1},{1},{0},{0},{0},{0},{0}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{0},{0},{0},{0},{0}},
-  {{0},{1},{1},{0},{1},{0},{0},{1},{1},{0},{1},{0},{0},{1},{0},{0},{0},{0},{0},{0},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1}},
-  {{0},{1},{1},{1},{0},{1},{0},{1},{0},{0},{1},{1},{0},{1},{1},{0},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{0},{0}},
-  {{1},{1},{1},{1},{1},{0},{1},{0},{1},{1},{1},{1},{1},{1},{0},{0},{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},{1},{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},{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},{0},{1},{1},{1},{1},{0},{1},{1},{1},{1},{0},{1},{1},{1},{1},{0},{1},{1},{1},{1},{0},{1},{1},{1},{1},{0},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{0},{0},{0},{0},{0},{0},{0},{1},{1},{0},{1},{0},{0},{0},{0},{0},{1},{1},{1},{1},{1},{1}},
-  {{1},{0},{0},{0},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{1},{1},{0},{1},{1},{1},{1},{0},{1},{1},{1},{1},{0},{1},{1}},
-  {{1},{1},{0},{1},{1},{1},{1},{0},{1},{1},{1},{1},{0},{1},{0},{0},{0},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{0},{0},{0}},
-  {{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},{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},{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},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0}},
-  {{0},{0},{0},{0},{0},{0},{0},{1},{0},{0},{0},{0},{0},{1},{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},{1},{1},{1},{1},{1},{1},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0}},
-  {{1},{1},{1},{1},{1},{1},{1},{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},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{0},{0},{1},{1},{1},{1},{1},{1},{1},{0},{1},{0},{1},{1},{1},{1},{0},{0}},
-  {{1},{1},{1},{1},{1},{1},{1},{0},{1},{0},{1},{1},{1},{1},{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},{1},{1},{1},{1},{1},{0},{1},{0},{1},{1},{1},{1},{0},{0},{1},{1},{1},{1},{1},{1},{1},{0}},
-  {{1},{0},{1},{1},{1},{1},{0},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{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},{1},{1},{1},{1},{1},{1},{0},{0},{0},{0},{0},{0},{0},{0}},
-  {{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{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},{1},{1},{1},{0},{0},{1}},
-  {{1},{1},{1},{0},{0},{1},{1},{1},{0},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{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},{0},{0},{1},{0},{1},{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},{1},{0},{0},{1},{1},{1}},
-  {{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{1},{0},{0},{0},{0},{1},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0}},
-  {{1},{1},{0},{0},{1},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{1},{0},{0},{0},{0},{1},{1},{1},{1}},
-  {{0},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{1},{0},{0},{0},{0}},
-  {{0},{0},{1},{1},{0},{0},{0},{0},{0},{0},{0},{0},{1},{1},{0},{0},{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},{1},{1},{0},{0},{0},{0},{1},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{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}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{0},{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},{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},{1},{0},{0},{0},{0},{0},{0},{0},{0},{1},{0},{0},{0},{0},{0},{0}},
-  {{0},{0},{0},{0},{0},{0},{0},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0}},
-  {{0},{0},{0},{0},{0},{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}},
-  {{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},{1},{1},{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},{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},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0}},
-  {{0},{0},{0},{0},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0}},
-  {{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{0}},
-  {{0},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1}},
-  {{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0}},
-  {{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{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},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{0},{0},{0},{0},{0}},
-  {{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{0},{0},{0},{0},{0},{0},{0}},
-  {{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0}},
-  {{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{0},{0},{0},{1}},
-  {{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{0},{0},{0},{0},{0},{1},{0}},
-  {{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{0},{0},{0}},
-  {{0},{0},{0},{0},{0},{0},{0},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0}},
-  {{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{0},{0},{0},{0},{0},{0}},
-  {{0},{0},{0},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0}},
-  {{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},{1},{0},{0},{0},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0}},
-  {{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{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},{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},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0}},
-  {{0},{0},{0},{0},{0},{1},{0},{0},{0},{0},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0}},
-  {{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{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},{1}},
-  {{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{0},{0},{0},{0},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0}},
-  {{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{0},{0}},
-  {{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0}},
-  {{0},{0},{0},{0},{0},{0},{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},{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},{1},{0},{0},{0},{0},{0},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0}},
-  {{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{0},{0},{0}},
-  {{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0}},
-  {{0},{0},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0}},
-  {{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{0},{0},{1},{0},{0}},
-  {{0},{0},{1},{1},{0},{1},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{0},{0},{0},{1}},
-  {{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{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},{1},{0},{0},{0},{0},{0},{1},{0},{0}},
-  {{0},{1},{0},{0},{0},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{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},{1},{1},{1},{1},{1},{1},{1},{0},{0},{0},{0},{0},{0}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{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},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{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},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{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},{0},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{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},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{0},{0},{1},{0},{1},{0},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{0},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{0},{1},{1},{1},{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},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{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},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{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},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{0},{1},{0},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{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},{0},{0},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{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},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{0},{1},{1},{1},{1},{0},{1},{1}},
-  {{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{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},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1}},
-  {{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{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},{0},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{0}},
-  {{1},{0},{0},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{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},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{0},{1},{1},{1},{0},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1}},
-  {{0},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1}},
-  {{1},{1},{1},{0},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{0},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{0},{1},{1},{1},{1},{1}},
-  {{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{0},{1},{1},{1},{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},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{0},{1},{1},{1},{0},{1},{1},{1},{0},{1},{0},{1},{1},{0},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{0},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{0},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{0},{1},{1},{0},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{0},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{0},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{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},{0},{1},{0},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{0},{0},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{0},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{0},{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},{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},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{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},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{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},{1},{1},{1},{1},{1},{0},{1},{1},{0},{0},{1},{1},{1},{1},{1},{1}},
-  {{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{0},{1},{1},{1}},
-  {{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{0}},
-  {{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{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},{1},{0},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{0},{1},{1},{0},{0},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{0},{1},{1},{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},{0},{1},{1}},
-  {{1},{1},{1},{0},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{0},{1},{0},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{0},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{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},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{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},{1},{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},{0},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{0},{1},{1},{1},{1},{1},{0},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{0},{1},{1},{0},{0},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{0},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{0},{1},{1},{1},{0},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{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},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{0},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{0},{1},{0},{1},{1},{1},{1},{1},{0},{1},{1},{1},{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},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{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},{1},{1},{1},{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},{1},{1},{1},{1},{1},{1},{1},{1},{1},{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},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{0},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{0},{1}},
-  {{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{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},{0},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{0},{1},{1},{1},{1},{0},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1}},
-  {{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},{1},{1},{1},{1}},
-  {{1},{1},{1},{0},{1},{1},{0},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{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}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{0},{0},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{0},{1},{0},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{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},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{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},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{0},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{0},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1}},
-  {{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1}},
-  {{1},{1},{1},{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},{1},{1}},
-  {{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{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},{1},{1},{0},{1},{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},{1},{1},{1},{1},{0},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{0},{1}},
-  {{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1}},
-  {{1},{1},{0},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{0},{1},{0},{1},{1},{0},{0},{1},{1},{1},{1},{1},{1}},
-  {{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},{1},{1},{1},{0}},
-  {{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{0},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{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},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{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},{1},{1},{1},{1},{1},{1},{0},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{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},{0},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{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},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{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},{0},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0}},
-  {{0},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{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},{1},{1},{1},{0},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{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},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{0},{0},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{0},{1},{1},{1}},
-  {{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{0},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{0},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{0},{1},{1},{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},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{0},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{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},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{0},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{0}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{0},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{0},{1},{1},{1},{1},{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},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{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},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{0}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{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},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{0},{1},{1},{1},{0},{1}},
-  {{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{0},{1},{1},{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}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{0},{1},{1},{0},{0},{0},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{0},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{0},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1}},
-  {{0},{1},{1},{1},{0},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{0},{1},{1},{1},{1},{0},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{0},{1},{0},{1},{1},{0},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{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},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{0},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{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},{0},{1},{1},{1}},
-  {{1},{1},{1},{1},{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},{1}},
-  {{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{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},{0},{0},{1},{1},{1},{1},{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},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{0}},
-  {{1},{0},{0},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{0},{0},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{0},{1},{1},{1},{1},{1},{0},{1},{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},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{0},{1},{1},{1},{1},{0}},
-  {{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{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},{1},{1},{0},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{0},{1},{1},{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},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{0},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1}},
-  {{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{0},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{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},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{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},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{0},{1},{1},{1},{0},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{0},{1},{1},{1},{0},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{0},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1}},
-  {{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{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},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{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},{1},{1},{1},{0},{1},{1},{1},{1},{0},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{0},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{0},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{0},{1},{0},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1}},
-  {{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{0},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{0},{0},{1},{1},{0},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1}},
-  {{0},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0}},
-  {{1},{1},{1},{1},{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},{0},{1}},
-  {{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1}},
-  {{1},{1},{1},{1},{0},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{0},{1},{1},{1},{0},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{0},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{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},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1}},
-  {{0},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0}},
-  {{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{0},{1},{1},{1},{1},{1},{1},{0},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{0},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1}},
-  {{1},{1},{1},{1},{0},{1},{1},{0},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{0},{1},{1},{1},{1},{1},{0},{1},{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},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{0},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{0},{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},{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},{1},{0},{0},{0},{1},{1}},
-  {{1},{1},{0},{1},{1},{1},{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},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{0},{1},{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},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{0},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{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},{1},{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},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{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},{0},{1},{1},{1},{1},{1},{1},{0},{0},{1},{1},{1},{1}},
-  {{1},{0},{1},{0},{1},{0},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{0}},
-  {{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{0},{1},{1},{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},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{0},{1},{1},{1},{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},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{0},{0}},
-  {{1},{0},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{0},{1},{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},{1},{1},{0},{1},{1},{1},{1},{1},{1},{0},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{0},{0},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{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},{1}},
-  {{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{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},{0},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{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},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{0},{0},{1},{1},{1},{1},{1},{1},{1},{0}},
-  {{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{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},{1},{1},{1},{1},{1},{1},{1},{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},{0},{1},{1},{1},{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},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1}},
-  {{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{0},{1},{0},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{0},{1},{1},{1},{1},{1},{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}},
-  {{0},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{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},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{0},{1},{1},{0}},
-  {{1},{1},{1},{1},{1},{1},{0},{1},{1},{0},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{0},{1},{1},{1},{0},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{0},{0},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{0},{1},{1},{1},{0},{1},{1}},
-  {{1},{1},{1},{1},{1},{0},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1}},
-  {{0},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1}},
-  {{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{0},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{0}},
-  {{1},{0},{0},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1}},
-  {{1},{0},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{0},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1}},
-  {{0},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{0},{0},{1},{1},{1},{1},{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},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0}},
-  {{1},{1},{1},{0},{1},{1},{1},{0},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{0},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{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},{1},{1},{1},{1},{1},{1},{1},{1},{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},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{0},{1},{0},{1},{0},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{0},{0},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{0},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{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},{1},{1},{1},{1},{1},{0},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{0},{1},{1},{1},{1},{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},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{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},{0},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0}},
-  {{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{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},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{0},{1},{1},{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},{0},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{0},{1},{1},{1},{1},{1},{0},{1},{1},{0},{1},{1},{1},{0},{1},{1},{1},{0},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{0}},
-  {{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1}},
-  {{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1}},
-  {{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{0},{1},{0},{0}},
-  {{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{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},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{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},{1},{1},{0},{0},{1},{1},{1},{1},{0},{1}},
-  {{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{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},{1},{0},{0},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{0},{1},{1}},
-  {{1},{1},{1},{1},{1},{0},{0},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{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},{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},{1},{0},{1},{0},{1},{1},{1},{0}},
-  {{1},{0},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{0},{1},{1},{0},{1},{0}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{0},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{0},{1},{0},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{0},{1},{1},{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},{0},{0},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{0},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{0},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{0},{0},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1}},
-  {{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{0},{1}},
-  {{1},{1},{0},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{0},{1},{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},{1},{0},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{0},{1},{1},{0},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{0},{1},{1}},
-  {{0},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{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},{1},{1},{1},{1},{1},{1},{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},{0},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{0},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{0},{1},{1},{1},{0},{1},{1},{1},{0},{0},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{0},{1},{0},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{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},{0},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1}},
-  {{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1}},
-  {{0},{0},{1},{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},{1},{1}},
-  {{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{0},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{0},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{0},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{0},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{0},{1}},
-  {{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{0},{0},{1},{1},{1},{1},{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},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}},
-  {{1},{0},{1},{0},{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},{1},{0},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0}},
-  {{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{0},{1},{1},{0},{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},{1},{0},{0},{0},{0},{0},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0}},
-  {{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{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},{1},{0},{0},{1}},
-  {{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{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},{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},{1},{1},{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},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0}},
-  {{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{0},{0},{0},{0},{0},{0},{0},{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},{1},{1},{0},{0},{0},{0},{1},{0},{0},{0},{0}},
-  {{0},{1},{0},{0},{0},{0},{0},{0},{0},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0}},
-  {{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{0},{0},{0},{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},{0},{0},{0},{0},{0},{0},{0},{0}},
-  {{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{0},{0},{0},{0},{0},{0},{0},{1},{0},{0},{0},{0},{0}},
-  {{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{0},{0},{1},{0},{0},{0},{0},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0}}
+static const nsCharProps2 sCharProp2Values[74][128] = {
+  {{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{0},{0},{0},{0},{0},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{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},{1},{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},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{0},{0},{0},{0},{0},{0},{0},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{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},{1},{1},{1},{1},{1},{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},{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},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{0},{1},{1},{1},{1},{1},{1},{1},{1},{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},{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},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{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},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{0},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{0},{0},{1},{1},{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},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{0},{1},{1},{0},{0},{0},{0},{0},{0},{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},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0}},
+  {{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{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},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0}},
+  {{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{0},{0},{1},{1},{1},{0},{1},{1},{0},{0},{0},{0},{0},{0},{1},{0},{0},{0},{0},{0},{0},{0},{1},{1},{1},{1},{1},{1},{0},{0},{0},{0},{1},{1},{0},{1},{1},{0},{0},{0},{1},{0},{0},{1},{1},{0},{0},{0},{0},{0},{0},{0},{0},{1},{0},{0},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{0},{0},{0},{0},{0},{1},{1},{1},{0},{0}},
+  {{0},{0},{0},{0},{0},{0},{1},{0},{1},{1},{1},{0},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{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},{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},{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},{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},{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},{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},{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},{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},{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},{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},{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},{1},{1},{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},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{0},{1},{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},{1},{1},{1},{1},{1}},
+  {{1},{1},{1},{1},{1},{1},{1},{0},{0},{0},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{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},{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},{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},{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},{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},{0},{0},{0},{0},{0},{0},{1},{1},{1},{0},{1},{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},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{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},{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},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{1},{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}},
+  {{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{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},{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},{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},{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},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0}},
+  {{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{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},{0},{1},{1},{1},{1},{1},{1},{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},{0},{0},{0},{0},{0},{1},{0},{0},{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},{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},{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},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{0},{0},{0},{0},{0},{1},{1},{0},{0},{0},{0},{0},{0},{0},{0},{1},{1},{1},{1},{0},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1}},
+  {{0},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{0},{0},{1},{1},{0},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{0},{1},{0},{0},{0},{1},{1},{1},{1},{0},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{0},{1},{1},{0},{0},{1},{1},{1},{1},{0},{0},{0},{0},{0},{0},{0},{0},{1},{0},{0},{0},{0},{0},{0},{0},{0},{1},{1},{1},{1},{0},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{0}},
+  {{0},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{0},{0},{0},{0},{1},{1},{0},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{0},{1},{0},{0},{1},{0},{0},{1},{1},{0},{0},{1},{0},{1},{1},{1},{1},{1},{0},{0},{0},{0},{1},{1},{0},{0},{1},{1},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{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},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{0},{1},{1},{1},{1},{1},{0},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{0},{1},{1},{1},{0},{0},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{1},{1},{1},{0},{0},{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}},
+  {{0},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{0},{0},{1},{1},{0},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{0},{1},{1},{1},{1},{1},{0},{0},{1},{1},{1},{1},{1},{1},{1},{1},{0},{0},{0},{1},{1},{0},{0},{1},{1},{1},{0},{0},{0},{0},{0},{0},{0},{1},{1},{1},{0},{0},{0},{0},{0},{0},{0},{1},{1},{1},{0},{0},{0},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0}},
+  {{0},{0},{1},{1},{0},{1},{1},{1},{1},{1},{1},{0},{0},{0},{1},{1},{1},{0},{1},{1},{1},{1},{0},{0},{0},{1},{1},{0},{1},{0},{1},{1},{0},{0},{0},{1},{1},{0},{0},{0},{1},{1},{1},{0},{0},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{0},{0},{0},{1},{1},{1},{1},{1},{0},{0},{0},{1},{1},{1},{0},{1},{1},{1},{1},{0},{0},{1},{0},{0},{0},{0},{0},{0},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{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},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{0},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{0},{1},{1},{1},{1},{0},{0},{0},{0},{0},{0},{0},{1},{1},{0},{0},{0},{0},{0},{0},{1},{0},{0},{1},{1},{0},{0},{0},{0},{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}},
+  {{1},{0},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{0},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{0},{1},{1},{1},{1},{0},{0},{0},{0},{0},{0},{0},{1},{1},{0},{0},{0},{0},{0},{0},{1},{0},{0},{1},{1},{1},{1},{0},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0}},
+  {{1},{0},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{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},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{0},{1},{1},{1},{1},{1},{1},{1},{0},{0},{1},{1},{1},{0},{1},{1},{1},{1},{1},{0},{0},{0},{0},{0},{1},{1},{1},{1},{0},{0},{0},{0},{0},{0},{0},{0},{1},{1},{0},{0},{0},{0},{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}},
+  {{0},{0},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{0},{1},{1},{1},{1},{1},{1},{0},{0},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{0},{0},{1},{1},{1},{1},{1},{1},{1},{0},{0},{0},{1},{0},{0},{0},{0},{1},{1},{1},{1},{1},{1},{0},{1},{0},{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},{1},{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},{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},{1},{1},{1},{1},{1},{1},{1},{0},{0},{0},{0},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{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},{1},{1},{0},{1},{0},{1},{1},{1},{1},{1},{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},{0},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{0},{1},{1},{1},{1},{1},{0},{1},{0},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{0},{0},{0},{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}},
+  {{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{0},{1},{0},{0},{0},{0},{0},{0},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{0},{1},{1},{1},{1},{0},{1},{1},{1},{1},{0},{1},{1},{1},{1},{0},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{0},{0},{0},{0},{1},{1},{0},{1},{0},{0},{0},{0},{0},{1},{1},{1},{1},{1},{1}},
+  {{1},{0},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{0},{1},{1},{1},{1},{0},{1},{1},{1},{1},{0},{1},{1},{1},{1},{0},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0}},
+  {{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},{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},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{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},{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},{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},{1},{0},{0},{0},{0},{0},{1},{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},{1},{1},{1},{1},{1},{1},{1},{0},{0},{0},{0},{0},{0},{1},{1},{1},{1},{0},{0},{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},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{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},{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},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{0},{0},{1},{1},{1},{1},{1},{1},{1},{0},{1},{0},{1},{1},{1},{1},{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},{1},{1},{1},{1},{1},{1}},
+  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{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},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{0},{0},{1},{1},{1},{1},{1},{1},{1},{0},{1},{0},{1},{1},{1},{1},{0},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{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},{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},{1},{1},{1},{1},{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},{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},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{0},{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}},
+  {{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},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{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},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{0},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{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},{0},{0},{1},{0},{1},{0},{0},{0},{0},{1},{0},{0},{0},{0},{1},{0},{0},{0},{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},{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},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{0},{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},{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},{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},{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},{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},{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},{1},{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},{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},{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}},
+  {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{0},{1},{1},{1},{1},{1},{1},{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},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{0},{1},{1},{1},{1},{1},{1},{0},{0},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{0},{1},{0},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{0},{1},{0},{1},{0},{1},{0},{1},{0},{1},{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},{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},{1},{1},{1},{1},{1},{0},{1},{0},{0},{0},{0},{0},{1},{1},{1},{0},{1},{1},{1},{0},{1},{0},{1},{0},{0},{0},{1},{1},{1},{0},{0},{0},{1},{1},{1},{1},{1},{0},{0},{0},{0},{0},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{0},{1},{0},{0},{0},{0},{0},{1},{1},{1},{0},{1},{1},{1},{0},{1},{0},{1},{0},{0},{0}},
+  {{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{0},{0},{0},{0},{0},{0},{0},{0},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0}},
+  {{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{0},{0},{0},{0},{0},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{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},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{0},{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},{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},{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},{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},{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},{1},{1},{0},{0},{1},{1},{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},{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},{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},{1},{1},{1},{1},{1},{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},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0}},
+  {{0},{0},{0},{0},{0},{0},{0},{0},{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},{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},{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},{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},{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},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0}},
+  {{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1}},
+  {{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{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},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0}},
+  {{0},{0},{0},{0},{0},{0},{0},{0},{1},{0},{0},{0},{0},{1},{0},{0},{0},{0},{1},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{0},{0},{0},{0},{0},{1},{1},{0},{1},{0},{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},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{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},{0}},
+  {{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{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},{0},{0},{0},{1},{1},{1},{1},{1},{1}},
+  {{0},{1},{1},{1},{1},{1},{1},{0},{0},{1},{1},{1},{1},{1},{1},{0},{0},{1},{1},{1},{1},{1},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{1},{1},{1},{1},{1},{1},{0},{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},{0},{0},{0},{0},{0},{0},{0},{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}},
+  {{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},{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},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{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},{1},{0},{1},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{0},{1},{0},{1},{1},{0},{0},{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},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0}},
+  {{0},{1},{0},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{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},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0}},
+  {{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{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},{0},{0},{0},{0},{0},{0},{0},{0},{0}},
+  {{0},{0},{0},{0},{0},{0},{0},{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},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{1},{1},{0},{0},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{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}},
+  {{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},{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},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0}},
+  {{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{1},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0}},
+  {{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{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},{0},{1},{1},{1},{1},{0},{1},{1},{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{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},{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},{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},{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}},
+  {{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},{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},{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},{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}},
+  {{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},{1},{1},{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},{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},{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},{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},{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},{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},{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},{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},{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},{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}},
+  {{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},{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},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1},{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},{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},{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},{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},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0}}
 };
 #define kFullWidthMaxPlane  0
 #define kFullWidthIndexBits 10
diff --git a/js/moz.configure b/js/moz.configure
index c0b534700261d..5a5f5f7fb67fd 100644
--- a/js/moz.configure
+++ b/js/moz.configure
@@ -1167,7 +1167,7 @@ def enable_system_icu_option(enable_system_icu):
 
 
 system_icu = pkg_check_modules(
-    "MOZ_ICU", "icu-uc icu-i18n >= 78.1", when="--with-system-icu"
+    "MOZ_ICU", "icu-uc icu-i18n >= 76.1", when="--with-system-icu"
 )
 
 
diff --git a/js/src/builtin/intl/NumberingSystems.yaml b/js/src/builtin/intl/NumberingSystems.yaml
index bb2073180d61b..f8fa34b4ce476 100644
--- a/js/src/builtin/intl/NumberingSystems.yaml
+++ b/js/src/builtin/intl/NumberingSystems.yaml
@@ -85,7 +85,6 @@
 - tibt
 - tirh
 - tnsa
-- tols
 - vaii
 - wara
 - wcho
diff --git a/js/src/builtin/intl/NumberingSystemsGenerated.h b/js/src/builtin/intl/NumberingSystemsGenerated.h
index ef23484b61761..e66e4409ad13f 100644
--- a/js/src/builtin/intl/NumberingSystemsGenerated.h
+++ b/js/src/builtin/intl/NumberingSystemsGenerated.h
@@ -83,7 +83,6 @@
   "tibt", \
   "tirh", \
   "tnsa", \
-  "tols", \
   "vaii", \
   "wara", \
   "wcho"
diff --git a/js/src/util/CaseFolding.txt b/js/src/util/CaseFolding.txt
index a0b0f07fd6459..1b7a9c156c7cf 100644
--- a/js/src/util/CaseFolding.txt
+++ b/js/src/util/CaseFolding.txt
@@ -1,6 +1,6 @@
-# CaseFolding-17.0.0.txt
-# Date: 2025-07-30, 23:54:36 GMT
-# © 2025 Unicode®, Inc.
+# CaseFolding-16.0.0.txt
+# Date: 2024-04-30, 21:48:11 GMT
+# © 2024 Unicode®, Inc.
 # Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
 # For terms of use and license, see https://www.unicode.org/terms_of_use.html
 #
@@ -18,15 +18,15 @@
 # The data supports both implementations that require simple case foldings
 # (where string lengths don't change), and implementations that allow full case folding
 # (where string lengths may grow). Note that where they can be supported, the
-# full case foldings are superior: for example, they allow "FUSS" and "Fuß" to match.
+# full case foldings are superior: for example, they allow "MASSE" and "Maße" to match.
 #
 # All code points not listed in this file map to themselves.
 #
 # NOTE: case folding does not preserve normalization formats!
 #
 # For information on case folding, including how to have case folding
-# preserve normalization formats, see the
-# "Conformance" / "Default Case Algorithms" section of the core specification.
+# preserve normalization formats, see Section 3.13 Default Case Algorithms in
+# The Unicode Standard.
 #
 # ================================================================================
 # Format
@@ -1243,10 +1243,7 @@ A7C7; C; A7C8; # LATIN CAPITAL LETTER D WITH SHORT STROKE OVERLAY
 A7C9; C; A7CA; # LATIN CAPITAL LETTER S WITH SHORT STROKE OVERLAY
 A7CB; C; 0264; # LATIN CAPITAL LETTER RAMS HORN
 A7CC; C; A7CD; # LATIN CAPITAL LETTER S WITH DIAGONAL STROKE
-A7CE; C; A7CF; # LATIN CAPITAL LETTER PHARYNGEAL VOICED FRICATIVE
 A7D0; C; A7D1; # LATIN CAPITAL LETTER CLOSED INSULAR G
-A7D2; C; A7D3; # LATIN CAPITAL LETTER DOUBLE THORN
-A7D4; C; A7D5; # LATIN CAPITAL LETTER DOUBLE WYNN
 A7D6; C; A7D7; # LATIN CAPITAL LETTER MIDDLE SCOTS S
 A7D8; C; A7D9; # LATIN CAPITAL LETTER SIGMOID S
 A7DA; C; A7DB; # LATIN CAPITAL LETTER LAMBDA
@@ -1619,31 +1616,6 @@ FF3A; C; FF5A; # FULLWIDTH LATIN CAPITAL LETTER Z
 16E5D; C; 16E7D; # MEDEFAIDRIN CAPITAL LETTER O
 16E5E; C; 16E7E; # MEDEFAIDRIN CAPITAL LETTER AI
 16E5F; C; 16E7F; # MEDEFAIDRIN CAPITAL LETTER Y
-16EA0; C; 16EBB; # BERIA ERFE CAPITAL LETTER ARKAB
-16EA1; C; 16EBC; # BERIA ERFE CAPITAL LETTER BASIGNA
-16EA2; C; 16EBD; # BERIA ERFE CAPITAL LETTER DARBAI
-16EA3; C; 16EBE; # BERIA ERFE CAPITAL LETTER EH
-16EA4; C; 16EBF; # BERIA ERFE CAPITAL LETTER FITKO
-16EA5; C; 16EC0; # BERIA ERFE CAPITAL LETTER GOWAY
-16EA6; C; 16EC1; # BERIA ERFE CAPITAL LETTER HIRDEABO
-16EA7; C; 16EC2; # BERIA ERFE CAPITAL LETTER I
-16EA8; C; 16EC3; # BERIA ERFE CAPITAL LETTER DJAI
-16EA9; C; 16EC4; # BERIA ERFE CAPITAL LETTER KOBO
-16EAA; C; 16EC5; # BERIA ERFE CAPITAL LETTER LAKKO
-16EAB; C; 16EC6; # BERIA ERFE CAPITAL LETTER MERI
-16EAC; C; 16EC7; # BERIA ERFE CAPITAL LETTER NINI
-16EAD; C; 16EC8; # BERIA ERFE CAPITAL LETTER GNA
-16EAE; C; 16EC9; # BERIA ERFE CAPITAL LETTER NGAY
-16EAF; C; 16ECA; # BERIA ERFE CAPITAL LETTER OI
-16EB0; C; 16ECB; # BERIA ERFE CAPITAL LETTER PI
-16EB1; C; 16ECC; # BERIA ERFE CAPITAL LETTER ERIGO
-16EB2; C; 16ECD; # BERIA ERFE CAPITAL LETTER ERIGO TAMURA
-16EB3; C; 16ECE; # BERIA ERFE CAPITAL LETTER SERI
-16EB4; C; 16ECF; # BERIA ERFE CAPITAL LETTER SHEP
-16EB5; C; 16ED0; # BERIA ERFE CAPITAL LETTER TATASOUE
-16EB6; C; 16ED1; # BERIA ERFE CAPITAL LETTER UI
-16EB7; C; 16ED2; # BERIA ERFE CAPITAL LETTER WASSE
-16EB8; C; 16ED3; # BERIA ERFE CAPITAL LETTER AY
 1E900; C; 1E922; # ADLAM CAPITAL LETTER ALIF
 1E901; C; 1E923; # ADLAM CAPITAL LETTER DAALI
 1E902; C; 1E924; # ADLAM CAPITAL LETTER LAAM
diff --git a/js/src/util/DerivedCoreProperties.txt b/js/src/util/DerivedCoreProperties.txt
index f327784bf3956..1075638f1a654 100644
--- a/js/src/util/DerivedCoreProperties.txt
+++ b/js/src/util/DerivedCoreProperties.txt
@@ -1,6 +1,6 @@
-# DerivedCoreProperties-17.0.0.txt
-# Date: 2025-07-30, 23:55:08 GMT
-# © 2025 Unicode®, Inc.
+# DerivedCoreProperties-16.0.0.txt
+# Date: 2024-05-31, 18:09:32 GMT
+# © 2024 Unicode®, Inc.
 # Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
 # For terms of use and license, see https://www.unicode.org/terms_of_use.html
 #
@@ -178,7 +178,6 @@ FF5E          ; Math # Sm       FULLWIDTH TILDE
 FFE2          ; Math # Sm       FULLWIDTH NOT SIGN
 FFE9..FFEC    ; Math # Sm   [4] HALFWIDTH LEFTWARDS ARROW..HALFWIDTH DOWNWARDS ARROW
 10D8E..10D8F  ; Math # Sm   [2] GARAY PLUS SIGN..GARAY MINUS SIGN
-1CEF0         ; Math # Sm       MEDIUM SMALL WHITE CIRCLE WITH HORIZONTAL BAR
 1D400..1D454  ; Math # L&  [85] MATHEMATICAL BOLD CAPITAL A..MATHEMATICAL ITALIC SMALL G
 1D456..1D49C  ; Math # L&  [71] MATHEMATICAL ITALIC SMALL I..MATHEMATICAL SCRIPT CAPITAL A
 1D49E..1D49F  ; Math # L&   [2] MATHEMATICAL SCRIPT CAPITAL C..MATHEMATICAL SCRIPT CAPITAL D
@@ -254,9 +253,8 @@ FFE9..FFEC    ; Math # Sm   [4] HALFWIDTH LEFTWARDS ARROW..HALFWIDTH DOWNWARDS A
 1EEA5..1EEA9  ; Math # Lo   [5] ARABIC MATHEMATICAL DOUBLE-STRUCK WAW..ARABIC MATHEMATICAL DOUBLE-STRUCK YEH
 1EEAB..1EEBB  ; Math # Lo  [17] ARABIC MATHEMATICAL DOUBLE-STRUCK LAM..ARABIC MATHEMATICAL DOUBLE-STRUCK GHAIN
 1EEF0..1EEF1  ; Math # Sm   [2] ARABIC MATHEMATICAL OPERATOR MEEM WITH HAH WITH TATWEEL..ARABIC MATHEMATICAL OPERATOR HAH WITH DAL
-1F8D0..1F8D8  ; Math # Sm   [9] LONG RIGHTWARDS ARROW OVER LONG LEFTWARDS ARROW..LONG LEFT RIGHT ARROW WITH DEPENDENT LOBE
 
-# Total code points: 2322
+# Total code points: 2312
 
 # ================================================
 
@@ -275,8 +273,8 @@ FFE9..FFEC    ; Math # Sm   [4] HALFWIDTH LEFTWARDS ARROW..HALFWIDTH DOWNWARDS A
 01BC..01BF    ; Alphabetic # L&   [4] LATIN CAPITAL LETTER TONE FIVE..LATIN LETTER WYNN
 01C0..01C3    ; Alphabetic # Lo   [4] LATIN LETTER DENTAL CLICK..LATIN LETTER RETROFLEX CLICK
 01C4..0293    ; Alphabetic # L& [208] LATIN CAPITAL LETTER DZ WITH CARON..LATIN SMALL LETTER EZH WITH CURL
-0294..0295    ; Alphabetic # Lo   [2] LATIN LETTER GLOTTAL STOP..LATIN LETTER PHARYNGEAL VOICED FRICATIVE
-0296..02AF    ; Alphabetic # L&  [26] LATIN LETTER INVERTED GLOTTAL STOP..LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL
+0294          ; Alphabetic # Lo       LATIN LETTER GLOTTAL STOP
+0295..02AF    ; Alphabetic # L&  [27] LATIN LETTER PHARYNGEAL VOICED FRICATIVE..LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL
 02B0..02C1    ; Alphabetic # Lm  [18] MODIFIER LETTER SMALL H..MODIFIER LETTER REVERSED GLOTTAL STOP
 02C6..02D1    ; Alphabetic # Lm  [12] MODIFIER LETTER CIRCUMFLEX ACCENT..MODIFIER LETTER HALF TRIANGULAR COLON
 02E0..02E4    ; Alphabetic # Lm   [5] MODIFIER LETTER SMALL GAMMA..MODIFIER LETTER SMALL REVERSED GLOTTAL STOP
@@ -346,7 +344,7 @@ FFE9..FFEC    ; Math # Sm   [4] HALFWIDTH LEFTWARDS ARROW..HALFWIDTH DOWNWARDS A
 0840..0858    ; Alphabetic # Lo  [25] MANDAIC LETTER HALQA..MANDAIC LETTER AIN
 0860..086A    ; Alphabetic # Lo  [11] SYRIAC LETTER MALAYALAM NGA..SYRIAC LETTER MALAYALAM SSA
 0870..0887    ; Alphabetic # Lo  [24] ARABIC LETTER ALEF WITH ATTACHED FATHA..ARABIC BASELINE ROUND DOT
-0889..088F    ; Alphabetic # Lo   [7] ARABIC LETTER NOON WITH INVERTED SMALL V..ARABIC LETTER NOON WITH RING ABOVE
+0889..088E    ; Alphabetic # Lo   [6] ARABIC LETTER NOON WITH INVERTED SMALL V..ARABIC VERTICAL TAIL
 0897          ; Alphabetic # Mn       ARABIC PEPET
 08A0..08C8    ; Alphabetic # Lo  [41] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER GRAF
 08C9          ; Alphabetic # Lm       ARABIC SMALL FARSI YEH
@@ -479,7 +477,7 @@ FFE9..FFEC    ; Math # Sm   [4] HALFWIDTH LEFTWARDS ARROW..HALFWIDTH DOWNWARDS A
 0C4A..0C4C    ; Alphabetic # Mn   [3] TELUGU VOWEL SIGN O..TELUGU VOWEL SIGN AU
 0C55..0C56    ; Alphabetic # Mn   [2] TELUGU LENGTH MARK..TELUGU AI LENGTH MARK
 0C58..0C5A    ; Alphabetic # Lo   [3] TELUGU LETTER TSA..TELUGU LETTER RRRA
-0C5C..0C5D    ; Alphabetic # Lo   [2] TELUGU ARCHAIC SHRII..TELUGU LETTER NAKAARA POLLU
+0C5D          ; Alphabetic # Lo       TELUGU LETTER NAKAARA POLLU
 0C60..0C61    ; Alphabetic # Lo   [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL
 0C62..0C63    ; Alphabetic # Mn   [2] TELUGU VOWEL SIGN VOCALIC L..TELUGU VOWEL SIGN VOCALIC LL
 0C80          ; Alphabetic # Lo       KANNADA SIGN SPACING CANDRABINDU
@@ -499,7 +497,7 @@ FFE9..FFEC    ; Math # Sm   [4] HALFWIDTH LEFTWARDS ARROW..HALFWIDTH DOWNWARDS A
 0CCA..0CCB    ; Alphabetic # Mc   [2] KANNADA VOWEL SIGN O..KANNADA VOWEL SIGN OO
 0CCC          ; Alphabetic # Mn       KANNADA VOWEL SIGN AU
 0CD5..0CD6    ; Alphabetic # Mc   [2] KANNADA LENGTH MARK..KANNADA AI LENGTH MARK
-0CDC..0CDE    ; Alphabetic # Lo   [3] KANNADA ARCHAIC SHRII..KANNADA LETTER FA
+0CDD..0CDE    ; Alphabetic # Lo   [2] KANNADA LETTER NAKAARA POLLU..KANNADA LETTER FA
 0CE0..0CE1    ; Alphabetic # Lo   [2] KANNADA LETTER VOCALIC RR..KANNADA LETTER VOCALIC LL
 0CE2..0CE3    ; Alphabetic # Mn   [2] KANNADA VOWEL SIGN VOCALIC L..KANNADA VOWEL SIGN VOCALIC LL
 0CF1..0CF2    ; Alphabetic # Lo   [2] KANNADA SIGN JIHVAMULIYA..KANNADA SIGN UPADHMANIYA
@@ -835,8 +833,11 @@ A771..A787    ; Alphabetic # L&  [23] LATIN SMALL LETTER DUM..LATIN SMALL LETTER
 A788          ; Alphabetic # Lm       MODIFIER LETTER LOW CIRCUMFLEX ACCENT
 A78B..A78E    ; Alphabetic # L&   [4] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT
 A78F          ; Alphabetic # Lo       LATIN LETTER SINOLOGICAL DOT
-A790..A7DC    ; Alphabetic # L&  [77] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN CAPITAL LETTER LAMBDA WITH STROKE
-A7F1..A7F4    ; Alphabetic # Lm   [4] MODIFIER LETTER CAPITAL S..MODIFIER LETTER CAPITAL Q
+A790..A7CD    ; Alphabetic # L&  [62] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN SMALL LETTER S WITH DIAGONAL STROKE
+A7D0..A7D1    ; Alphabetic # L&   [2] LATIN CAPITAL LETTER CLOSED INSULAR G..LATIN SMALL LETTER CLOSED INSULAR G
+A7D3          ; Alphabetic # L&       LATIN SMALL LETTER DOUBLE THORN
+A7D5..A7DC    ; Alphabetic # L&   [8] LATIN SMALL LETTER DOUBLE WYNN..LATIN CAPITAL LETTER LAMBDA WITH STROKE
+A7F2..A7F4    ; Alphabetic # Lm   [3] MODIFIER LETTER CAPITAL C..MODIFIER LETTER CAPITAL Q
 A7F5..A7F6    ; Alphabetic # L&   [2] LATIN CAPITAL LETTER REVERSED HALF H..LATIN SMALL LETTER REVERSED HALF H
 A7F7          ; Alphabetic # Lo       LATIN EPIGRAPHIC LETTER SIDEWAYS I
 A7F8..A7F9    ; Alphabetic # Lm   [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE
@@ -1019,7 +1020,6 @@ FFDA..FFDC    ; Alphabetic # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANG
 108F4..108F5  ; Alphabetic # Lo   [2] HATRAN LETTER SHIN..HATRAN LETTER TAW
 10900..10915  ; Alphabetic # Lo  [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU
 10920..10939  ; Alphabetic # Lo  [26] LYDIAN LETTER A..LYDIAN LETTER C
-10940..10959  ; Alphabetic # Lo  [26] SIDETIC LETTER N01..SIDETIC LETTER N26
 10980..109B7  ; Alphabetic # Lo  [56] MEROITIC HIEROGLYPHIC LETTER A..MEROITIC CURSIVE LETTER DA
 109BE..109BF  ; Alphabetic # Lo   [2] MEROITIC CURSIVE LOGOGRAM RMT..MEROITIC CURSIVE LOGOGRAM IMN
 10A00         ; Alphabetic # Lo       KHAROSHTHI LETTER A
@@ -1053,9 +1053,7 @@ FFDA..FFDC    ; Alphabetic # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANG
 10EAB..10EAC  ; Alphabetic # Mn   [2] YEZIDI COMBINING HAMZA MARK..YEZIDI COMBINING MADDA MARK
 10EB0..10EB1  ; Alphabetic # Lo   [2] YEZIDI LETTER LAM WITH DOT ABOVE..YEZIDI LETTER YOT WITH CIRCUMFLEX ABOVE
 10EC2..10EC4  ; Alphabetic # Lo   [3] ARABIC LETTER DAL WITH TWO DOTS VERTICALLY BELOW..ARABIC LETTER KAF WITH TWO DOTS VERTICALLY BELOW
-10EC5         ; Alphabetic # Lm       ARABIC SMALL YEH BARREE WITH TWO DOTS BELOW
-10EC6..10EC7  ; Alphabetic # Lo   [2] ARABIC LETTER THIN NOON..ARABIC LETTER YEH WITH FOUR DOTS BELOW
-10EFA..10EFC  ; Alphabetic # Mn   [3] ARABIC DOUBLE VERTICAL BAR BELOW..ARABIC COMBINING ALEF OVERLAY
+10EFC         ; Alphabetic # Mn       ARABIC COMBINING ALEF OVERLAY
 10F00..10F1C  ; Alphabetic # Lo  [29] OLD SOGDIAN LETTER ALEPH..OLD SOGDIAN LETTER FINAL TAW WITH VERTICAL TAIL
 10F27         ; Alphabetic # Lo       OLD SOGDIAN LIGATURE AYIN-DALETH
 10F30..10F45  ; Alphabetic # Lo  [22] SOGDIAN LETTER ALEPH..SOGDIAN INDEPENDENT SHIN
@@ -1241,12 +1239,6 @@ FFDA..FFDC    ; Alphabetic # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANG
 11A97         ; Alphabetic # Mc       SOYOMBO SIGN VISARGA
 11A9D         ; Alphabetic # Lo       SOYOMBO MARK PLUTA
 11AB0..11AF8  ; Alphabetic # Lo  [73] CANADIAN SYLLABICS NATTILIK HI..PAU CIN HAU GLOTTAL STOP FINAL
-11B60         ; Alphabetic # Mn       SHARADA VOWEL SIGN OE
-11B61         ; Alphabetic # Mc       SHARADA VOWEL SIGN OOE
-11B62..11B64  ; Alphabetic # Mn   [3] SHARADA VOWEL SIGN UE..SHARADA VOWEL SIGN SHORT E
-11B65         ; Alphabetic # Mc       SHARADA VOWEL SIGN SHORT O
-11B66         ; Alphabetic # Mn       SHARADA VOWEL SIGN CANDRA E
-11B67         ; Alphabetic # Mc       SHARADA VOWEL SIGN CANDRA O
 11BC0..11BE0  ; Alphabetic # Lo  [33] SUNUWAR LETTER DEVI..SUNUWAR LETTER KLOKO
 11C00..11C08  ; Alphabetic # Lo   [9] BHAIKSUKI LETTER A..BHAIKSUKI LETTER VOCALIC L
 11C0A..11C2E  ; Alphabetic # Lo  [37] BHAIKSUKI LETTER E..BHAIKSUKI LETTER HA
@@ -1282,9 +1274,6 @@ FFDA..FFDC    ; Alphabetic # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANG
 11D95         ; Alphabetic # Mn       GUNJALA GONDI SIGN ANUSVARA
 11D96         ; Alphabetic # Mc       GUNJALA GONDI SIGN VISARGA
 11D98         ; Alphabetic # Lo       GUNJALA GONDI OM
-11DB0..11DD8  ; Alphabetic # Lo  [41] TOLONG SIKI LETTER I..TOLONG SIKI LETTER RRH
-11DD9         ; Alphabetic # Lm       TOLONG SIKI SIGN SELA
-11DDA..11DDB  ; Alphabetic # Lo   [2] TOLONG SIKI SIGN HECAKA..TOLONG SIKI UNGGA
 11EE0..11EF2  ; Alphabetic # Lo  [19] MAKASAR LETTER KA..MAKASAR ANGKA
 11EF3..11EF4  ; Alphabetic # Mn   [2] MAKASAR VOWEL SIGN I..MAKASAR VOWEL SIGN U
 11EF5..11EF6  ; Alphabetic # Mc   [2] MAKASAR VOWEL SIGN E..MAKASAR VOWEL SIGN O
@@ -1322,8 +1311,6 @@ FFDA..FFDC    ; Alphabetic # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANG
 16D43..16D6A  ; Alphabetic # Lo  [40] KIRAT RAI LETTER A..KIRAT RAI VOWEL SIGN AU
 16D6B..16D6C  ; Alphabetic # Lm   [2] KIRAT RAI SIGN VIRAMA..KIRAT RAI SIGN SAAT
 16E40..16E7F  ; Alphabetic # L&  [64] MEDEFAIDRIN CAPITAL LETTER M..MEDEFAIDRIN SMALL LETTER Y
-16EA0..16EB8  ; Alphabetic # L&  [25] BERIA ERFE CAPITAL LETTER ARKAB..BERIA ERFE CAPITAL LETTER AY
-16EBB..16ED3  ; Alphabetic # L&  [25] BERIA ERFE SMALL LETTER ARKAB..BERIA ERFE SMALL LETTER AY
 16F00..16F4A  ; Alphabetic # Lo  [75] MIAO LETTER PA..MIAO LETTER RTE
 16F4F         ; Alphabetic # Mn       MIAO SIGN CONSONANT MODIFIER BAR
 16F50         ; Alphabetic # Lo       MIAO LETTER NASALIZATION
@@ -1333,11 +1320,9 @@ FFDA..FFDC    ; Alphabetic # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANG
 16FE0..16FE1  ; Alphabetic # Lm   [2] TANGUT ITERATION MARK..NUSHU ITERATION MARK
 16FE3         ; Alphabetic # Lm       OLD CHINESE ITERATION MARK
 16FF0..16FF1  ; Alphabetic # Mc   [2] VIETNAMESE ALTERNATE READING MARK CA..VIETNAMESE ALTERNATE READING MARK NHAY
-16FF2..16FF3  ; Alphabetic # Lm   [2] CHINESE SMALL SIMPLIFIED ER..CHINESE SMALL TRADITIONAL ER
-16FF4..16FF6  ; Alphabetic # Nl   [3] YANGQIN SIGN SLOW ONE BEAT..YANGQIN SIGN SLOW TWO BEATS
-17000..18CD5  ; Alphabetic # Lo [7382] TANGUT IDEOGRAPH-17000..KHITAN SMALL SCRIPT CHARACTER-18CD5
-18CFF..18D1E  ; Alphabetic # Lo  [32] KHITAN SMALL SCRIPT CHARACTER-18CFF..TANGUT IDEOGRAPH-18D1E
-18D80..18DF2  ; Alphabetic # Lo [115] TANGUT COMPONENT-769..TANGUT COMPONENT-883
+17000..187F7  ; Alphabetic # Lo [6136] TANGUT IDEOGRAPH-17000..TANGUT IDEOGRAPH-187F7
+18800..18CD5  ; Alphabetic # Lo [1238] TANGUT COMPONENT-001..KHITAN SMALL SCRIPT CHARACTER-18CD5
+18CFF..18D08  ; Alphabetic # Lo  [10] KHITAN SMALL SCRIPT CHARACTER-18CFF..TANGUT IDEOGRAPH-18D08
 1AFF0..1AFF3  ; Alphabetic # Lm   [4] KATAKANA LETTER MINNAN TONE-2..KATAKANA LETTER MINNAN TONE-5
 1AFF5..1AFFB  ; Alphabetic # Lm   [7] KATAKANA LETTER MINNAN TONE-7..KATAKANA LETTER MINNAN NASALIZED TONE-5
 1AFFD..1AFFE  ; Alphabetic # Lm   [2] KATAKANA LETTER MINNAN NASALIZED TONE-7..KATAKANA LETTER MINNAN NASALIZED TONE-8
@@ -1402,17 +1387,6 @@ FFDA..FFDC    ; Alphabetic # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANG
 1E4EB         ; Alphabetic # Lm       NAG MUNDARI SIGN OJOD
 1E5D0..1E5ED  ; Alphabetic # Lo  [30] OL ONAL LETTER O..OL ONAL LETTER EG
 1E5F0         ; Alphabetic # Lo       OL ONAL SIGN HODDOND
-1E6C0..1E6DE  ; Alphabetic # Lo  [31] TAI YO LETTER LOW KO..TAI YO LETTER HIGH KVO
-1E6E0..1E6E2  ; Alphabetic # Lo   [3] TAI YO LETTER AA..TAI YO LETTER UE
-1E6E3         ; Alphabetic # Mn       TAI YO SIGN UE
-1E6E4..1E6E5  ; Alphabetic # Lo   [2] TAI YO LETTER U..TAI YO LETTER AE
-1E6E6         ; Alphabetic # Mn       TAI YO SIGN AU
-1E6E7..1E6ED  ; Alphabetic # Lo   [7] TAI YO LETTER O..TAI YO LETTER AUE
-1E6EE..1E6EF  ; Alphabetic # Mn   [2] TAI YO SIGN AY..TAI YO SIGN ANG
-1E6F0..1E6F4  ; Alphabetic # Lo   [5] TAI YO LETTER AN..TAI YO LETTER AP
-1E6F5         ; Alphabetic # Mn       TAI YO SIGN OM
-1E6FE         ; Alphabetic # Lo       TAI YO SYMBOL MUEANG
-1E6FF         ; Alphabetic # Lm       TAI YO XAM LAI
 1E7E0..1E7E6  ; Alphabetic # Lo   [7] ETHIOPIC SYLLABLE HHYA..ETHIOPIC SYLLABLE HHYO
 1E7E8..1E7EB  ; Alphabetic # Lo   [4] ETHIOPIC SYLLABLE GURAGE HHWA..ETHIOPIC SYLLABLE HHWE
 1E7ED..1E7EE  ; Alphabetic # Lo   [2] ETHIOPIC SYLLABLE GURAGE MWI..ETHIOPIC SYLLABLE GURAGE MWEE
@@ -1458,15 +1432,16 @@ FFDA..FFDC    ; Alphabetic # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANG
 1F150..1F169  ; Alphabetic # So  [26] NEGATIVE CIRCLED LATIN CAPITAL LETTER A..NEGATIVE CIRCLED LATIN CAPITAL LETTER Z
 1F170..1F189  ; Alphabetic # So  [26] NEGATIVE SQUARED LATIN CAPITAL LETTER A..NEGATIVE SQUARED LATIN CAPITAL LETTER Z
 20000..2A6DF  ; Alphabetic # Lo [42720] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6DF
-2A700..2B81D  ; Alphabetic # Lo [4382] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B81D
-2B820..2CEAD  ; Alphabetic # Lo [5774] CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEAD
+2A700..2B739  ; Alphabetic # Lo [4154] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B739
+2B740..2B81D  ; Alphabetic # Lo [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D
+2B820..2CEA1  ; Alphabetic # Lo [5762] CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEA1
 2CEB0..2EBE0  ; Alphabetic # Lo [7473] CJK UNIFIED IDEOGRAPH-2CEB0..CJK UNIFIED IDEOGRAPH-2EBE0
 2EBF0..2EE5D  ; Alphabetic # Lo [622] CJK UNIFIED IDEOGRAPH-2EBF0..CJK UNIFIED IDEOGRAPH-2EE5D
 2F800..2FA1D  ; Alphabetic # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
 30000..3134A  ; Alphabetic # Lo [4939] CJK UNIFIED IDEOGRAPH-30000..CJK UNIFIED IDEOGRAPH-3134A
-31350..33479  ; Alphabetic # Lo [8490] CJK UNIFIED IDEOGRAPH-31350..CJK UNIFIED IDEOGRAPH-33479
+31350..323AF  ; Alphabetic # Lo [4192] CJK UNIFIED IDEOGRAPH-31350..CJK UNIFIED IDEOGRAPH-323AF
 
-# Total code points: 147421
+# Total code points: 142759
 
 # ================================================
 
@@ -1620,7 +1595,7 @@ FFDA..FFDC    ; Alphabetic # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANG
 024B          ; Lowercase # L&       LATIN SMALL LETTER Q WITH HOOK TAIL
 024D          ; Lowercase # L&       LATIN SMALL LETTER R WITH STROKE
 024F..0293    ; Lowercase # L&  [69] LATIN SMALL LETTER Y WITH STROKE..LATIN SMALL LETTER EZH WITH CURL
-0296..02AF    ; Lowercase # L&  [26] LATIN LETTER INVERTED GLOTTAL STOP..LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL
+0295..02AF    ; Lowercase # L&  [27] LATIN LETTER PHARYNGEAL VOICED FRICATIVE..LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL
 02B0..02B8    ; Lowercase # Lm   [9] MODIFIER LETTER SMALL H..MODIFIER LETTER SMALL Y
 02C0..02C1    ; Lowercase # Lm   [2] MODIFIER LETTER GLOTTAL STOP..MODIFIER LETTER REVERSED GLOTTAL STOP
 02E0..02E4    ; Lowercase # Lm   [5] MODIFIER LETTER SMALL GAMMA..MODIFIER LETTER SMALL REVERSED GLOTTAL STOP
@@ -2098,14 +2073,13 @@ A7C3          ; Lowercase # L&       LATIN SMALL LETTER ANGLICANA W
 A7C8          ; Lowercase # L&       LATIN SMALL LETTER D WITH SHORT STROKE OVERLAY
 A7CA          ; Lowercase # L&       LATIN SMALL LETTER S WITH SHORT STROKE OVERLAY
 A7CD          ; Lowercase # L&       LATIN SMALL LETTER S WITH DIAGONAL STROKE
-A7CF          ; Lowercase # L&       LATIN SMALL LETTER PHARYNGEAL VOICED FRICATIVE
 A7D1          ; Lowercase # L&       LATIN SMALL LETTER CLOSED INSULAR G
 A7D3          ; Lowercase # L&       LATIN SMALL LETTER DOUBLE THORN
 A7D5          ; Lowercase # L&       LATIN SMALL LETTER DOUBLE WYNN
 A7D7          ; Lowercase # L&       LATIN SMALL LETTER MIDDLE SCOTS S
 A7D9          ; Lowercase # L&       LATIN SMALL LETTER SIGMOID S
 A7DB          ; Lowercase # L&       LATIN SMALL LETTER LAMBDA
-A7F1..A7F4    ; Lowercase # Lm   [4] MODIFIER LETTER CAPITAL S..MODIFIER LETTER CAPITAL Q
+A7F2..A7F4    ; Lowercase # Lm   [3] MODIFIER LETTER CAPITAL C..MODIFIER LETTER CAPITAL Q
 A7F6          ; Lowercase # L&       LATIN SMALL LETTER REVERSED HALF H
 A7F8..A7F9    ; Lowercase # Lm   [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE
 A7FA          ; Lowercase # L&       LATIN LETTER SMALL CAPITAL TURNED M
@@ -2131,7 +2105,6 @@ FF41..FF5A    ; Lowercase # L&  [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH L
 10D70..10D85  ; Lowercase # L&  [22] GARAY SMALL LETTER A..GARAY SMALL LETTER OLD NA
 118C0..118DF  ; Lowercase # L&  [32] WARANG CITI SMALL LETTER NGAA..WARANG CITI SMALL LETTER VIYO
 16E60..16E7F  ; Lowercase # L&  [32] MEDEFAIDRIN SMALL LETTER M..MEDEFAIDRIN SMALL LETTER Y
-16EBB..16ED3  ; Lowercase # L&  [25] BERIA ERFE SMALL LETTER ARKAB..BERIA ERFE SMALL LETTER AY
 1D41A..1D433  ; Lowercase # L&  [26] MATHEMATICAL BOLD SMALL A..MATHEMATICAL BOLD SMALL Z
 1D44E..1D454  ; Lowercase # L&   [7] MATHEMATICAL ITALIC SMALL A..MATHEMATICAL ITALIC SMALL G
 1D456..1D467  ; Lowercase # L&  [18] MATHEMATICAL ITALIC SMALL I..MATHEMATICAL ITALIC SMALL Z
@@ -2166,7 +2139,7 @@ FF41..FF5A    ; Lowercase # L&  [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH L
 1E030..1E06D  ; Lowercase # Lm  [62] MODIFIER LETTER CYRILLIC SMALL A..MODIFIER LETTER CYRILLIC SMALL STRAIGHT U WITH STROKE
 1E922..1E943  ; Lowercase # L&  [34] ADLAM SMALL LETTER ALIF..ADLAM SMALL LETTER SHA
 
-# Total code points: 2595
+# Total code points: 2569
 
 # ================================================
 
@@ -2777,10 +2750,7 @@ A7C2          ; Uppercase # L&       LATIN CAPITAL LETTER ANGLICANA W
 A7C4..A7C7    ; Uppercase # L&   [4] LATIN CAPITAL LETTER C WITH PALATAL HOOK..LATIN CAPITAL LETTER D WITH SHORT STROKE OVERLAY
 A7C9          ; Uppercase # L&       LATIN CAPITAL LETTER S WITH SHORT STROKE OVERLAY
 A7CB..A7CC    ; Uppercase # L&   [2] LATIN CAPITAL LETTER RAMS HORN..LATIN CAPITAL LETTER S WITH DIAGONAL STROKE
-A7CE          ; Uppercase # L&       LATIN CAPITAL LETTER PHARYNGEAL VOICED FRICATIVE
 A7D0          ; Uppercase # L&       LATIN CAPITAL LETTER CLOSED INSULAR G
-A7D2          ; Uppercase # L&       LATIN CAPITAL LETTER DOUBLE THORN
-A7D4          ; Uppercase # L&       LATIN CAPITAL LETTER DOUBLE WYNN
 A7D6          ; Uppercase # L&       LATIN CAPITAL LETTER MIDDLE SCOTS S
 A7D8          ; Uppercase # L&       LATIN CAPITAL LETTER SIGMOID S
 A7DA          ; Uppercase # L&       LATIN CAPITAL LETTER LAMBDA
@@ -2797,7 +2767,6 @@ FF21..FF3A    ; Uppercase # L&  [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH
 10D50..10D65  ; Uppercase # L&  [22] GARAY CAPITAL LETTER A..GARAY CAPITAL LETTER OLD NA
 118A0..118BF  ; Uppercase # L&  [32] WARANG CITI CAPITAL LETTER NGAA..WARANG CITI CAPITAL LETTER VIYO
 16E40..16E5F  ; Uppercase # L&  [32] MEDEFAIDRIN CAPITAL LETTER M..MEDEFAIDRIN CAPITAL LETTER Y
-16EA0..16EB8  ; Uppercase # L&  [25] BERIA ERFE CAPITAL LETTER ARKAB..BERIA ERFE CAPITAL LETTER AY
 1D400..1D419  ; Uppercase # L&  [26] MATHEMATICAL BOLD CAPITAL A..MATHEMATICAL BOLD CAPITAL Z
 1D434..1D44D  ; Uppercase # L&  [26] MATHEMATICAL ITALIC CAPITAL A..MATHEMATICAL ITALIC CAPITAL Z
 1D468..1D481  ; Uppercase # L&  [26] MATHEMATICAL BOLD ITALIC CAPITAL A..MATHEMATICAL BOLD ITALIC CAPITAL Z
@@ -2834,7 +2803,7 @@ FF21..FF3A    ; Uppercase # L&  [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH
 1F150..1F169  ; Uppercase # So  [26] NEGATIVE CIRCLED LATIN CAPITAL LETTER A..NEGATIVE CIRCLED LATIN CAPITAL LETTER Z
 1F170..1F189  ; Uppercase # So  [26] NEGATIVE SQUARED LATIN CAPITAL LETTER A..NEGATIVE SQUARED LATIN CAPITAL LETTER Z
 
-# Total code points: 2006
+# Total code points: 1978
 
 # ================================================
 
@@ -2852,7 +2821,7 @@ FF21..FF3A    ; Uppercase # L&  [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH
 00F8..01BA    ; Cased # L& [195] LATIN SMALL LETTER O WITH STROKE..LATIN SMALL LETTER EZH WITH TAIL
 01BC..01BF    ; Cased # L&   [4] LATIN CAPITAL LETTER TONE FIVE..LATIN LETTER WYNN
 01C4..0293    ; Cased # L& [208] LATIN CAPITAL LETTER DZ WITH CARON..LATIN SMALL LETTER EZH WITH CURL
-0296..02AF    ; Cased # L&  [26] LATIN LETTER INVERTED GLOTTAL STOP..LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL
+0295..02AF    ; Cased # L&  [27] LATIN LETTER PHARYNGEAL VOICED FRICATIVE..LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL
 02B0..02B8    ; Cased # Lm   [9] MODIFIER LETTER SMALL H..MODIFIER LETTER SMALL Y
 02C0..02C1    ; Cased # Lm   [2] MODIFIER LETTER GLOTTAL STOP..MODIFIER LETTER REVERSED GLOTTAL STOP
 02E0..02E4    ; Cased # Lm   [5] MODIFIER LETTER SMALL GAMMA..MODIFIER LETTER SMALL REVERSED GLOTTAL STOP
@@ -2942,8 +2911,11 @@ A722..A76F    ; Cased # L&  [78] LATIN CAPITAL LETTER EGYPTOLOGICAL ALEF..LATIN
 A770          ; Cased # Lm       MODIFIER LETTER US
 A771..A787    ; Cased # L&  [23] LATIN SMALL LETTER DUM..LATIN SMALL LETTER INSULAR T
 A78B..A78E    ; Cased # L&   [4] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT
-A790..A7DC    ; Cased # L&  [77] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN CAPITAL LETTER LAMBDA WITH STROKE
-A7F1..A7F4    ; Cased # Lm   [4] MODIFIER LETTER CAPITAL S..MODIFIER LETTER CAPITAL Q
+A790..A7CD    ; Cased # L&  [62] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN SMALL LETTER S WITH DIAGONAL STROKE
+A7D0..A7D1    ; Cased # L&   [2] LATIN CAPITAL LETTER CLOSED INSULAR G..LATIN SMALL LETTER CLOSED INSULAR G
+A7D3          ; Cased # L&       LATIN SMALL LETTER DOUBLE THORN
+A7D5..A7DC    ; Cased # L&   [8] LATIN SMALL LETTER DOUBLE WYNN..LATIN CAPITAL LETTER LAMBDA WITH STROKE
+A7F2..A7F4    ; Cased # Lm   [3] MODIFIER LETTER CAPITAL C..MODIFIER LETTER CAPITAL Q
 A7F5..A7F6    ; Cased # L&   [2] LATIN CAPITAL LETTER REVERSED HALF H..LATIN SMALL LETTER REVERSED HALF H
 A7F8..A7F9    ; Cased # Lm   [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE
 A7FA          ; Cased # L&       LATIN LETTER SMALL CAPITAL TURNED M
@@ -2977,8 +2949,6 @@ FF41..FF5A    ; Cased # L&  [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN
 10D70..10D85  ; Cased # L&  [22] GARAY SMALL LETTER A..GARAY SMALL LETTER OLD NA
 118A0..118DF  ; Cased # L&  [64] WARANG CITI CAPITAL LETTER NGAA..WARANG CITI SMALL LETTER VIYO
 16E40..16E7F  ; Cased # L&  [64] MEDEFAIDRIN CAPITAL LETTER M..MEDEFAIDRIN SMALL LETTER Y
-16EA0..16EB8  ; Cased # L&  [25] BERIA ERFE CAPITAL LETTER ARKAB..BERIA ERFE CAPITAL LETTER AY
-16EBB..16ED3  ; Cased # L&  [25] BERIA ERFE SMALL LETTER ARKAB..BERIA ERFE SMALL LETTER AY
 1D400..1D454  ; Cased # L&  [85] MATHEMATICAL BOLD CAPITAL A..MATHEMATICAL ITALIC SMALL G
 1D456..1D49C  ; Cased # L&  [71] MATHEMATICAL ITALIC SMALL I..MATHEMATICAL SCRIPT CAPITAL A
 1D49E..1D49F  ; Cased # L&   [2] MATHEMATICAL SCRIPT CAPITAL C..MATHEMATICAL SCRIPT CAPITAL D
@@ -3018,7 +2988,7 @@ FF41..FF5A    ; Cased # L&  [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN
 1F150..1F169  ; Cased # So  [26] NEGATIVE CIRCLED LATIN CAPITAL LETTER A..NEGATIVE CIRCLED LATIN CAPITAL LETTER Z
 1F170..1F189  ; Cased # So  [26] NEGATIVE SQUARED LATIN CAPITAL LETTER A..NEGATIVE SQUARED LATIN CAPITAL LETTER Z
 
-# Total code points: 4632
+# Total code points: 4578
 
 # ================================================
 
@@ -3224,8 +3194,7 @@ FF41..FF5A    ; Cased # L&  [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN
 1AA7          ; Case_Ignorable # Lm       TAI THAM SIGN MAI YAMOK
 1AB0..1ABD    ; Case_Ignorable # Mn  [14] COMBINING DOUBLED CIRCUMFLEX ACCENT..COMBINING PARENTHESES BELOW
 1ABE          ; Case_Ignorable # Me       COMBINING PARENTHESES OVERLAY
-1ABF..1ADD    ; Case_Ignorable # Mn  [31] COMBINING LATIN SMALL LETTER W BELOW..COMBINING DOT-AND-RING BELOW
-1AE0..1AEB    ; Case_Ignorable # Mn  [12] COMBINING LEFT TACK ABOVE..COMBINING DOUBLE RIGHTWARDS ARROW ABOVE
+1ABF..1ACE    ; Case_Ignorable # Mn  [16] COMBINING LATIN SMALL LETTER W BELOW..COMBINING LATIN SMALL LETTER INSULAR T
 1B00..1B03    ; Case_Ignorable # Mn   [4] BALINESE SIGN ULU RICEM..BALINESE SIGN SURANG
 1B34          ; Case_Ignorable # Mn       BALINESE SIGN REREKAN
 1B36..1B3A    ; Case_Ignorable # Mn   [5] BALINESE VOWEL SIGN ULU..BALINESE VOWEL SIGN RA REPA
@@ -3305,7 +3274,7 @@ A720..A721    ; Case_Ignorable # Sk   [2] MODIFIER LETTER STRESS AND HIGH TONE..
 A770          ; Case_Ignorable # Lm       MODIFIER LETTER US
 A788          ; Case_Ignorable # Lm       MODIFIER LETTER LOW CIRCUMFLEX ACCENT
 A789..A78A    ; Case_Ignorable # Sk   [2] MODIFIER LETTER COLON..MODIFIER LETTER SHORT EQUALS SIGN
-A7F1..A7F4    ; Case_Ignorable # Lm   [4] MODIFIER LETTER CAPITAL S..MODIFIER LETTER CAPITAL Q
+A7F2..A7F4    ; Case_Ignorable # Lm   [3] MODIFIER LETTER CAPITAL C..MODIFIER LETTER CAPITAL Q
 A7F8..A7F9    ; Case_Ignorable # Lm   [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE
 A802          ; Case_Ignorable # Mn       SYLOTI NAGRI SIGN DVISVARA
 A806          ; Case_Ignorable # Mn       SYLOTI NAGRI SIGN HASANTA
@@ -3381,8 +3350,7 @@ FFF9..FFFB    ; Case_Ignorable # Cf   [3] INTERLINEAR ANNOTATION ANCHOR..INTERLI
 10D69..10D6D  ; Case_Ignorable # Mn   [5] GARAY VOWEL SIGN E..GARAY CONSONANT NASALIZATION MARK
 10D6F         ; Case_Ignorable # Lm       GARAY REDUPLICATION MARK
 10EAB..10EAC  ; Case_Ignorable # Mn   [2] YEZIDI COMBINING HAMZA MARK..YEZIDI COMBINING MADDA MARK
-10EC5         ; Case_Ignorable # Lm       ARABIC SMALL YEH BARREE WITH TWO DOTS BELOW
-10EFA..10EFF  ; Case_Ignorable # Mn   [6] ARABIC DOUBLE VERTICAL BAR BELOW..ARABIC SMALL LOW WORD MADDA
+10EFC..10EFF  ; Case_Ignorable # Mn   [4] ARABIC COMBINING ALEF OVERLAY..ARABIC SMALL LOW WORD MADDA
 10F46..10F50  ; Case_Ignorable # Mn  [11] SOGDIAN COMBINING DOT BELOW..SOGDIAN COMBINING STROKE BELOW
 10F82..10F85  ; Case_Ignorable # Mn   [4] OLD UYGHUR COMBINING DOT ABOVE..OLD UYGHUR COMBINING TWO DOTS BELOW
 11001         ; Case_Ignorable # Mn       BRAHMI SIGN ANUSVARA
@@ -3459,9 +3427,6 @@ FFF9..FFFB    ; Case_Ignorable # Cf   [3] INTERLINEAR ANNOTATION ANCHOR..INTERLI
 11A59..11A5B  ; Case_Ignorable # Mn   [3] SOYOMBO VOWEL SIGN VOCALIC R..SOYOMBO VOWEL LENGTH MARK
 11A8A..11A96  ; Case_Ignorable # Mn  [13] SOYOMBO FINAL CONSONANT SIGN G..SOYOMBO SIGN ANUSVARA
 11A98..11A99  ; Case_Ignorable # Mn   [2] SOYOMBO GEMINATION MARK..SOYOMBO SUBJOINER
-11B60         ; Case_Ignorable # Mn       SHARADA VOWEL SIGN OE
-11B62..11B64  ; Case_Ignorable # Mn   [3] SHARADA VOWEL SIGN UE..SHARADA VOWEL SIGN SHORT E
-11B66         ; Case_Ignorable # Mn       SHARADA VOWEL SIGN CANDRA E
 11C30..11C36  ; Case_Ignorable # Mn   [7] BHAIKSUKI VOWEL SIGN I..BHAIKSUKI VOWEL SIGN VOCALIC L
 11C38..11C3D  ; Case_Ignorable # Mn   [6] BHAIKSUKI VOWEL SIGN E..BHAIKSUKI SIGN ANUSVARA
 11C3F         ; Case_Ignorable # Mn       BHAIKSUKI SIGN VIRAMA
@@ -3477,7 +3442,6 @@ FFF9..FFFB    ; Case_Ignorable # Cf   [3] INTERLINEAR ANNOTATION ANCHOR..INTERLI
 11D90..11D91  ; Case_Ignorable # Mn   [2] GUNJALA GONDI VOWEL SIGN EE..GUNJALA GONDI VOWEL SIGN AI
 11D95         ; Case_Ignorable # Mn       GUNJALA GONDI SIGN ANUSVARA
 11D97         ; Case_Ignorable # Mn       GUNJALA GONDI VIRAMA
-11DD9         ; Case_Ignorable # Lm       TOLONG SIKI SIGN SELA
 11EF3..11EF4  ; Case_Ignorable # Mn   [2] MAKASAR VOWEL SIGN I..MAKASAR VOWEL SIGN U
 11F00..11F01  ; Case_Ignorable # Mn   [2] KAWI SIGN CANDRABINDU..KAWI SIGN ANUSVARA
 11F36..11F3A  ; Case_Ignorable # Mn   [5] KAWI VOWEL SIGN I..KAWI VOWEL SIGN VOCALIC R
@@ -3500,7 +3464,6 @@ FFF9..FFFB    ; Case_Ignorable # Cf   [3] INTERLINEAR ANNOTATION ANCHOR..INTERLI
 16FE0..16FE1  ; Case_Ignorable # Lm   [2] TANGUT ITERATION MARK..NUSHU ITERATION MARK
 16FE3         ; Case_Ignorable # Lm       OLD CHINESE ITERATION MARK
 16FE4         ; Case_Ignorable # Mn       KHITAN SMALL SCRIPT FILLER
-16FF2..16FF3  ; Case_Ignorable # Lm   [2] CHINESE SMALL SIMPLIFIED ER..CHINESE SMALL TRADITIONAL ER
 1AFF0..1AFF3  ; Case_Ignorable # Lm   [4] KATAKANA LETTER MINNAN TONE-2..KATAKANA LETTER MINNAN TONE-5
 1AFF5..1AFFB  ; Case_Ignorable # Lm   [7] KATAKANA LETTER MINNAN TONE-7..KATAKANA LETTER MINNAN NASALIZED TONE-5
 1AFFD..1AFFE  ; Case_Ignorable # Lm   [2] KATAKANA LETTER MINNAN NASALIZED TONE-7..KATAKANA LETTER MINNAN NASALIZED TONE-8
@@ -3534,11 +3497,6 @@ FFF9..FFFB    ; Case_Ignorable # Cf   [3] INTERLINEAR ANNOTATION ANCHOR..INTERLI
 1E4EB         ; Case_Ignorable # Lm       NAG MUNDARI SIGN OJOD
 1E4EC..1E4EF  ; Case_Ignorable # Mn   [4] NAG MUNDARI SIGN MUHOR..NAG MUNDARI SIGN SUTUH
 1E5EE..1E5EF  ; Case_Ignorable # Mn   [2] OL ONAL SIGN MU..OL ONAL SIGN IKIR
-1E6E3         ; Case_Ignorable # Mn       TAI YO SIGN UE
-1E6E6         ; Case_Ignorable # Mn       TAI YO SIGN AU
-1E6EE..1E6EF  ; Case_Ignorable # Mn   [2] TAI YO SIGN AY..TAI YO SIGN ANG
-1E6F5         ; Case_Ignorable # Mn       TAI YO SIGN OM
-1E6FF         ; Case_Ignorable # Lm       TAI YO XAM LAI
 1E8D0..1E8D6  ; Case_Ignorable # Mn   [7] MENDE KIKAKUI COMBINING NUMBER TEENS..MENDE KIKAKUI COMBINING NUMBER MILLIONS
 1E944..1E94A  ; Case_Ignorable # Mn   [7] ADLAM ALIF LENGTHENER..ADLAM NUKTA
 1E94B         ; Case_Ignorable # Lm       ADLAM NASALIZATION MARK
@@ -3547,14 +3505,13 @@ E0001         ; Case_Ignorable # Cf       LANGUAGE TAG
 E0020..E007F  ; Case_Ignorable # Cf  [96] TAG SPACE..CANCEL TAG
 E0100..E01EF  ; Case_Ignorable # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
 
-# Total code points: 2794
+# Total code points: 2749
 
 # ================================================
 
 # Derived Property:   Changes_When_Lowercased (CWL)
 #  Characters whose normalized forms are not stable under a toLowercase mapping.
-#  For more information, see the definition of "isLowercase(X)"
-#  in the "Conformance" / "Default Case Algorithms" section of the core specification.
+#  For more information, see D139 in Section 3.13, "Default Case Algorithms".
 #  Changes_When_Lowercased(X) is true when toLowercase(toNFD(X)) != toNFD(X)
 
 0041..005A    ; Changes_When_Lowercased # L&  [26] LATIN CAPITAL LETTER A..LATIN CAPITAL LETTER Z
@@ -4153,10 +4110,7 @@ A7C2          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER ANGLICAN
 A7C4..A7C7    ; Changes_When_Lowercased # L&   [4] LATIN CAPITAL LETTER C WITH PALATAL HOOK..LATIN CAPITAL LETTER D WITH SHORT STROKE OVERLAY
 A7C9          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER S WITH SHORT STROKE OVERLAY
 A7CB..A7CC    ; Changes_When_Lowercased # L&   [2] LATIN CAPITAL LETTER RAMS HORN..LATIN CAPITAL LETTER S WITH DIAGONAL STROKE
-A7CE          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER PHARYNGEAL VOICED FRICATIVE
 A7D0          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER CLOSED INSULAR G
-A7D2          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER DOUBLE THORN
-A7D4          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER DOUBLE WYNN
 A7D6          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER MIDDLE SCOTS S
 A7D8          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER SIGMOID S
 A7DA          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER LAMBDA
@@ -4173,17 +4127,15 @@ FF21..FF3A    ; Changes_When_Lowercased # L&  [26] FULLWIDTH LATIN CAPITAL LETTE
 10D50..10D65  ; Changes_When_Lowercased # L&  [22] GARAY CAPITAL LETTER A..GARAY CAPITAL LETTER OLD NA
 118A0..118BF  ; Changes_When_Lowercased # L&  [32] WARANG CITI CAPITAL LETTER NGAA..WARANG CITI CAPITAL LETTER VIYO
 16E40..16E5F  ; Changes_When_Lowercased # L&  [32] MEDEFAIDRIN CAPITAL LETTER M..MEDEFAIDRIN CAPITAL LETTER Y
-16EA0..16EB8  ; Changes_When_Lowercased # L&  [25] BERIA ERFE CAPITAL LETTER ARKAB..BERIA ERFE CAPITAL LETTER AY
 1E900..1E921  ; Changes_When_Lowercased # L&  [34] ADLAM CAPITAL LETTER ALIF..ADLAM CAPITAL LETTER SHA
 
-# Total code points: 1488
+# Total code points: 1460
 
 # ================================================
 
 # Derived Property:   Changes_When_Uppercased (CWU)
 #  Characters whose normalized forms are not stable under a toUppercase mapping.
-#  For more information, see the definition of "isUppercase(X)"
-#  in the "Conformance" / "Default Case Algorithms" section of the core specification.
+#  For more information, see D140 in Section 3.13, "Default Case Algorithms".
 #  Changes_When_Uppercased(X) is true when toUppercase(toNFD(X)) != toNFD(X)
 
 0061..007A    ; Changes_When_Uppercased # L&  [26] LATIN SMALL LETTER A..LATIN SMALL LETTER Z
@@ -4795,10 +4747,7 @@ A7C3          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER ANGLICANA
 A7C8          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER D WITH SHORT STROKE OVERLAY
 A7CA          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER S WITH SHORT STROKE OVERLAY
 A7CD          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER S WITH DIAGONAL STROKE
-A7CF          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER PHARYNGEAL VOICED FRICATIVE
 A7D1          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER CLOSED INSULAR G
-A7D3          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER DOUBLE THORN
-A7D5          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER DOUBLE WYNN
 A7D7          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER MIDDLE SCOTS S
 A7D9          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER SIGMOID S
 A7DB          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER LAMBDA
@@ -4818,17 +4767,15 @@ FF41..FF5A    ; Changes_When_Uppercased # L&  [26] FULLWIDTH LATIN SMALL LETTER
 10D70..10D85  ; Changes_When_Uppercased # L&  [22] GARAY SMALL LETTER A..GARAY SMALL LETTER OLD NA
 118C0..118DF  ; Changes_When_Uppercased # L&  [32] WARANG CITI SMALL LETTER NGAA..WARANG CITI SMALL LETTER VIYO
 16E60..16E7F  ; Changes_When_Uppercased # L&  [32] MEDEFAIDRIN SMALL LETTER M..MEDEFAIDRIN SMALL LETTER Y
-16EBB..16ED3  ; Changes_When_Uppercased # L&  [25] BERIA ERFE SMALL LETTER ARKAB..BERIA ERFE SMALL LETTER AY
 1E922..1E943  ; Changes_When_Uppercased # L&  [34] ADLAM SMALL LETTER ALIF..ADLAM SMALL LETTER SHA
 
-# Total code points: 1580
+# Total code points: 1552
 
 # ================================================
 
 # Derived Property:   Changes_When_Titlecased (CWT)
 #  Characters whose normalized forms are not stable under a toTitlecase mapping.
-#  For more information, see the definition of "isTitlecase(X)"
-#  in the "Conformance" / "Default Case Algorithms" section of the core specification.
+#  For more information, see D141 in Section 3.13, "Default Case Algorithms".
 #  Changes_When_Titlecased(X) is true when toTitlecase(toNFD(X)) != toNFD(X)
 
 0061..007A    ; Changes_When_Titlecased # L&  [26] LATIN SMALL LETTER A..LATIN SMALL LETTER Z
@@ -5439,10 +5386,7 @@ A7C3          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER ANGLICANA
 A7C8          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER D WITH SHORT STROKE OVERLAY
 A7CA          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER S WITH SHORT STROKE OVERLAY
 A7CD          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER S WITH DIAGONAL STROKE
-A7CF          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER PHARYNGEAL VOICED FRICATIVE
 A7D1          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER CLOSED INSULAR G
-A7D3          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER DOUBLE THORN
-A7D5          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER DOUBLE WYNN
 A7D7          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER MIDDLE SCOTS S
 A7D9          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER SIGMOID S
 A7DB          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER LAMBDA
@@ -5462,17 +5406,15 @@ FF41..FF5A    ; Changes_When_Titlecased # L&  [26] FULLWIDTH LATIN SMALL LETTER
 10D70..10D85  ; Changes_When_Titlecased # L&  [22] GARAY SMALL LETTER A..GARAY SMALL LETTER OLD NA
 118C0..118DF  ; Changes_When_Titlecased # L&  [32] WARANG CITI SMALL LETTER NGAA..WARANG CITI SMALL LETTER VIYO
 16E60..16E7F  ; Changes_When_Titlecased # L&  [32] MEDEFAIDRIN SMALL LETTER M..MEDEFAIDRIN SMALL LETTER Y
-16EBB..16ED3  ; Changes_When_Titlecased # L&  [25] BERIA ERFE SMALL LETTER ARKAB..BERIA ERFE SMALL LETTER AY
 1E922..1E943  ; Changes_When_Titlecased # L&  [34] ADLAM SMALL LETTER ALIF..ADLAM SMALL LETTER SHA
 
-# Total code points: 1507
+# Total code points: 1479
 
 # ================================================
 
 # Derived Property:   Changes_When_Casefolded (CWCF)
 #  Characters whose normalized forms are not stable under case folding.
-#  For more information, see the definition of "isCasefolded(X)"
-#  in the "Conformance" / "Default Case Algorithms" section of the core specification.
+#  For more information, see D142 in Section 3.13, "Default Case Algorithms".
 #  Changes_When_Casefolded(X) is true when toCasefold(toNFD(X)) != toNFD(X)
 
 0041..005A    ; Changes_When_Casefolded # L&  [26] LATIN CAPITAL LETTER A..LATIN CAPITAL LETTER Z
@@ -6080,10 +6022,7 @@ A7C2          ; Changes_When_Casefolded # L&       LATIN CAPITAL LETTER ANGLICAN
 A7C4..A7C7    ; Changes_When_Casefolded # L&   [4] LATIN CAPITAL LETTER C WITH PALATAL HOOK..LATIN CAPITAL LETTER D WITH SHORT STROKE OVERLAY
 A7C9          ; Changes_When_Casefolded # L&       LATIN CAPITAL LETTER S WITH SHORT STROKE OVERLAY
 A7CB..A7CC    ; Changes_When_Casefolded # L&   [2] LATIN CAPITAL LETTER RAMS HORN..LATIN CAPITAL LETTER S WITH DIAGONAL STROKE
-A7CE          ; Changes_When_Casefolded # L&       LATIN CAPITAL LETTER PHARYNGEAL VOICED FRICATIVE
 A7D0          ; Changes_When_Casefolded # L&       LATIN CAPITAL LETTER CLOSED INSULAR G
-A7D2          ; Changes_When_Casefolded # L&       LATIN CAPITAL LETTER DOUBLE THORN
-A7D4          ; Changes_When_Casefolded # L&       LATIN CAPITAL LETTER DOUBLE WYNN
 A7D6          ; Changes_When_Casefolded # L&       LATIN CAPITAL LETTER MIDDLE SCOTS S
 A7D8          ; Changes_When_Casefolded # L&       LATIN CAPITAL LETTER SIGMOID S
 A7DA          ; Changes_When_Casefolded # L&       LATIN CAPITAL LETTER LAMBDA
@@ -6103,17 +6042,15 @@ FF21..FF3A    ; Changes_When_Casefolded # L&  [26] FULLWIDTH LATIN CAPITAL LETTE
 10D50..10D65  ; Changes_When_Casefolded # L&  [22] GARAY CAPITAL LETTER A..GARAY CAPITAL LETTER OLD NA
 118A0..118BF  ; Changes_When_Casefolded # L&  [32] WARANG CITI CAPITAL LETTER NGAA..WARANG CITI CAPITAL LETTER VIYO
 16E40..16E5F  ; Changes_When_Casefolded # L&  [32] MEDEFAIDRIN CAPITAL LETTER M..MEDEFAIDRIN CAPITAL LETTER Y
-16EA0..16EB8  ; Changes_When_Casefolded # L&  [25] BERIA ERFE CAPITAL LETTER ARKAB..BERIA ERFE CAPITAL LETTER AY
 1E900..1E921  ; Changes_When_Casefolded # L&  [34] ADLAM CAPITAL LETTER ALIF..ADLAM CAPITAL LETTER SHA
 
-# Total code points: 1561
+# Total code points: 1533
 
 # ================================================
 
 # Derived Property:   Changes_When_Casemapped (CWCM)
 #  Characters whose normalized forms are not stable under case mapping.
-#  For more information, see the definition of "isCased(X)"
-#  in the "Conformance" / "Default Case Algorithms" section of the core specification.
+#  For more information, see D143 in Section 3.13, "Default Case Algorithms".
 #  Changes_When_Casemapped(X) is true when CWL(X), or CWT(X), or CWU(X)
 
 0041..005A    ; Changes_When_Casemapped # L&  [26] LATIN CAPITAL LETTER A..LATIN CAPITAL LETTER Z
@@ -6219,7 +6156,9 @@ A779..A787    ; Changes_When_Casemapped # L&  [15] LATIN CAPITAL LETTER INSULAR
 A78B..A78D    ; Changes_When_Casemapped # L&   [3] LATIN CAPITAL LETTER SALTILLO..LATIN CAPITAL LETTER TURNED H
 A790..A794    ; Changes_When_Casemapped # L&   [5] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN SMALL LETTER C WITH PALATAL HOOK
 A796..A7AE    ; Changes_When_Casemapped # L&  [25] LATIN CAPITAL LETTER B WITH FLOURISH..LATIN CAPITAL LETTER SMALL CAPITAL I
-A7B0..A7DC    ; Changes_When_Casemapped # L&  [45] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER LAMBDA WITH STROKE
+A7B0..A7CD    ; Changes_When_Casemapped # L&  [30] LATIN CAPITAL LETTER TURNED K..LATIN SMALL LETTER S WITH DIAGONAL STROKE
+A7D0..A7D1    ; Changes_When_Casemapped # L&   [2] LATIN CAPITAL LETTER CLOSED INSULAR G..LATIN SMALL LETTER CLOSED INSULAR G
+A7D6..A7DC    ; Changes_When_Casemapped # L&   [7] LATIN CAPITAL LETTER MIDDLE SCOTS S..LATIN CAPITAL LETTER LAMBDA WITH STROKE
 A7F5..A7F6    ; Changes_When_Casemapped # L&   [2] LATIN CAPITAL LETTER REVERSED HALF H..LATIN SMALL LETTER REVERSED HALF H
 AB53          ; Changes_When_Casemapped # L&       LATIN SMALL LETTER CHI
 AB70..ABBF    ; Changes_When_Casemapped # L&  [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETTER YA
@@ -6244,11 +6183,9 @@ FF41..FF5A    ; Changes_When_Casemapped # L&  [26] FULLWIDTH LATIN SMALL LETTER
 10D70..10D85  ; Changes_When_Casemapped # L&  [22] GARAY SMALL LETTER A..GARAY SMALL LETTER OLD NA
 118A0..118DF  ; Changes_When_Casemapped # L&  [64] WARANG CITI CAPITAL LETTER NGAA..WARANG CITI SMALL LETTER VIYO
 16E40..16E7F  ; Changes_When_Casemapped # L&  [64] MEDEFAIDRIN CAPITAL LETTER M..MEDEFAIDRIN SMALL LETTER Y
-16EA0..16EB8  ; Changes_When_Casemapped # L&  [25] BERIA ERFE CAPITAL LETTER ARKAB..BERIA ERFE CAPITAL LETTER AY
-16EBB..16ED3  ; Changes_When_Casemapped # L&  [25] BERIA ERFE SMALL LETTER ARKAB..BERIA ERFE SMALL LETTER AY
 1E900..1E943  ; Changes_When_Casemapped # L&  [68] ADLAM CAPITAL LETTER ALIF..ADLAM SMALL LETTER SHA
 
-# Total code points: 3037
+# Total code points: 2981
 
 # ================================================
 
@@ -6273,8 +6210,8 @@ FF41..FF5A    ; Changes_When_Casemapped # L&  [26] FULLWIDTH LATIN SMALL LETTER
 01BC..01BF    ; ID_Start # L&   [4] LATIN CAPITAL LETTER TONE FIVE..LATIN LETTER WYNN
 01C0..01C3    ; ID_Start # Lo   [4] LATIN LETTER DENTAL CLICK..LATIN LETTER RETROFLEX CLICK
 01C4..0293    ; ID_Start # L& [208] LATIN CAPITAL LETTER DZ WITH CARON..LATIN SMALL LETTER EZH WITH CURL
-0294..0295    ; ID_Start # Lo   [2] LATIN LETTER GLOTTAL STOP..LATIN LETTER PHARYNGEAL VOICED FRICATIVE
-0296..02AF    ; ID_Start # L&  [26] LATIN LETTER INVERTED GLOTTAL STOP..LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL
+0294          ; ID_Start # Lo       LATIN LETTER GLOTTAL STOP
+0295..02AF    ; ID_Start # L&  [27] LATIN LETTER PHARYNGEAL VOICED FRICATIVE..LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL
 02B0..02C1    ; ID_Start # Lm  [18] MODIFIER LETTER SMALL H..MODIFIER LETTER REVERSED GLOTTAL STOP
 02C6..02D1    ; ID_Start # Lm  [12] MODIFIER LETTER CIRCUMFLEX ACCENT..MODIFIER LETTER HALF TRIANGULAR COLON
 02E0..02E4    ; ID_Start # Lm   [5] MODIFIER LETTER SMALL GAMMA..MODIFIER LETTER SMALL REVERSED GLOTTAL STOP
@@ -6322,7 +6259,7 @@ FF41..FF5A    ; Changes_When_Casemapped # L&  [26] FULLWIDTH LATIN SMALL LETTER
 0840..0858    ; ID_Start # Lo  [25] MANDAIC LETTER HALQA..MANDAIC LETTER AIN
 0860..086A    ; ID_Start # Lo  [11] SYRIAC LETTER MALAYALAM NGA..SYRIAC LETTER MALAYALAM SSA
 0870..0887    ; ID_Start # Lo  [24] ARABIC LETTER ALEF WITH ATTACHED FATHA..ARABIC BASELINE ROUND DOT
-0889..088F    ; ID_Start # Lo   [7] ARABIC LETTER NOON WITH INVERTED SMALL V..ARABIC LETTER NOON WITH RING ABOVE
+0889..088E    ; ID_Start # Lo   [6] ARABIC LETTER NOON WITH INVERTED SMALL V..ARABIC VERTICAL TAIL
 08A0..08C8    ; ID_Start # Lo  [41] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER GRAF
 08C9          ; ID_Start # Lm       ARABIC SMALL FARSI YEH
 0904..0939    ; ID_Start # Lo  [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA
@@ -6390,7 +6327,7 @@ FF41..FF5A    ; Changes_When_Casemapped # L&  [26] FULLWIDTH LATIN SMALL LETTER
 0C2A..0C39    ; ID_Start # Lo  [16] TELUGU LETTER PA..TELUGU LETTER HA
 0C3D          ; ID_Start # Lo       TELUGU SIGN AVAGRAHA
 0C58..0C5A    ; ID_Start # Lo   [3] TELUGU LETTER TSA..TELUGU LETTER RRRA
-0C5C..0C5D    ; ID_Start # Lo   [2] TELUGU ARCHAIC SHRII..TELUGU LETTER NAKAARA POLLU
+0C5D          ; ID_Start # Lo       TELUGU LETTER NAKAARA POLLU
 0C60..0C61    ; ID_Start # Lo   [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL
 0C80          ; ID_Start # Lo       KANNADA SIGN SPACING CANDRABINDU
 0C85..0C8C    ; ID_Start # Lo   [8] KANNADA LETTER A..KANNADA LETTER VOCALIC L
@@ -6399,7 +6336,7 @@ FF41..FF5A    ; Changes_When_Casemapped # L&  [26] FULLWIDTH LATIN SMALL LETTER
 0CAA..0CB3    ; ID_Start # Lo  [10] KANNADA LETTER PA..KANNADA LETTER LLA
 0CB5..0CB9    ; ID_Start # Lo   [5] KANNADA LETTER VA..KANNADA LETTER HA
 0CBD          ; ID_Start # Lo       KANNADA SIGN AVAGRAHA
-0CDC..0CDE    ; ID_Start # Lo   [3] KANNADA ARCHAIC SHRII..KANNADA LETTER FA
+0CDD..0CDE    ; ID_Start # Lo   [2] KANNADA LETTER NAKAARA POLLU..KANNADA LETTER FA
 0CE0..0CE1    ; ID_Start # Lo   [2] KANNADA LETTER VOCALIC RR..KANNADA LETTER VOCALIC LL
 0CF1..0CF2    ; ID_Start # Lo   [2] KANNADA SIGN JIHVAMULIYA..KANNADA SIGN UPADHMANIYA
 0D04..0D0C    ; ID_Start # Lo   [9] MALAYALAM LETTER VEDIC ANUSVARA..MALAYALAM LETTER VOCALIC L
@@ -6624,8 +6561,11 @@ A771..A787    ; ID_Start # L&  [23] LATIN SMALL LETTER DUM..LATIN SMALL LETTER I
 A788          ; ID_Start # Lm       MODIFIER LETTER LOW CIRCUMFLEX ACCENT
 A78B..A78E    ; ID_Start # L&   [4] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT
 A78F          ; ID_Start # Lo       LATIN LETTER SINOLOGICAL DOT
-A790..A7DC    ; ID_Start # L&  [77] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN CAPITAL LETTER LAMBDA WITH STROKE
-A7F1..A7F4    ; ID_Start # Lm   [4] MODIFIER LETTER CAPITAL S..MODIFIER LETTER CAPITAL Q
+A790..A7CD    ; ID_Start # L&  [62] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN SMALL LETTER S WITH DIAGONAL STROKE
+A7D0..A7D1    ; ID_Start # L&   [2] LATIN CAPITAL LETTER CLOSED INSULAR G..LATIN SMALL LETTER CLOSED INSULAR G
+A7D3          ; ID_Start # L&       LATIN SMALL LETTER DOUBLE THORN
+A7D5..A7DC    ; ID_Start # L&   [8] LATIN SMALL LETTER DOUBLE WYNN..LATIN CAPITAL LETTER LAMBDA WITH STROKE
+A7F2..A7F4    ; ID_Start # Lm   [3] MODIFIER LETTER CAPITAL C..MODIFIER LETTER CAPITAL Q
 A7F5..A7F6    ; ID_Start # L&   [2] LATIN CAPITAL LETTER REVERSED HALF H..LATIN SMALL LETTER REVERSED HALF H
 A7F7          ; ID_Start # Lo       LATIN EPIGRAPHIC LETTER SIDEWAYS I
 A7F8..A7F9    ; ID_Start # Lm   [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE
@@ -6762,7 +6702,6 @@ FFDA..FFDC    ; ID_Start # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL
 108F4..108F5  ; ID_Start # Lo   [2] HATRAN LETTER SHIN..HATRAN LETTER TAW
 10900..10915  ; ID_Start # Lo  [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU
 10920..10939  ; ID_Start # Lo  [26] LYDIAN LETTER A..LYDIAN LETTER C
-10940..10959  ; ID_Start # Lo  [26] SIDETIC LETTER N01..SIDETIC LETTER N26
 10980..109B7  ; ID_Start # Lo  [56] MEROITIC HIEROGLYPHIC LETTER A..MEROITIC CURSIVE LETTER DA
 109BE..109BF  ; ID_Start # Lo   [2] MEROITIC CURSIVE LOGOGRAM RMT..MEROITIC CURSIVE LOGOGRAM IMN
 10A00         ; ID_Start # Lo       KHAROSHTHI LETTER A
@@ -6790,8 +6729,6 @@ FFDA..FFDC    ; ID_Start # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL
 10E80..10EA9  ; ID_Start # Lo  [42] YEZIDI LETTER ELIF..YEZIDI LETTER ET
 10EB0..10EB1  ; ID_Start # Lo   [2] YEZIDI LETTER LAM WITH DOT ABOVE..YEZIDI LETTER YOT WITH CIRCUMFLEX ABOVE
 10EC2..10EC4  ; ID_Start # Lo   [3] ARABIC LETTER DAL WITH TWO DOTS VERTICALLY BELOW..ARABIC LETTER KAF WITH TWO DOTS VERTICALLY BELOW
-10EC5         ; ID_Start # Lm       ARABIC SMALL YEH BARREE WITH TWO DOTS BELOW
-10EC6..10EC7  ; ID_Start # Lo   [2] ARABIC LETTER THIN NOON..ARABIC LETTER YEH WITH FOUR DOTS BELOW
 10F00..10F1C  ; ID_Start # Lo  [29] OLD SOGDIAN LETTER ALEPH..OLD SOGDIAN LETTER FINAL TAW WITH VERTICAL TAIL
 10F27         ; ID_Start # Lo       OLD SOGDIAN LIGATURE AYIN-DALETH
 10F30..10F45  ; ID_Start # Lo  [22] SOGDIAN LETTER ALEPH..SOGDIAN INDEPENDENT SHIN
@@ -6884,9 +6821,6 @@ FFDA..FFDC    ; ID_Start # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL
 11D67..11D68  ; ID_Start # Lo   [2] GUNJALA GONDI LETTER EE..GUNJALA GONDI LETTER AI
 11D6A..11D89  ; ID_Start # Lo  [32] GUNJALA GONDI LETTER OO..GUNJALA GONDI LETTER SA
 11D98         ; ID_Start # Lo       GUNJALA GONDI OM
-11DB0..11DD8  ; ID_Start # Lo  [41] TOLONG SIKI LETTER I..TOLONG SIKI LETTER RRH
-11DD9         ; ID_Start # Lm       TOLONG SIKI SIGN SELA
-11DDA..11DDB  ; ID_Start # Lo   [2] TOLONG SIKI SIGN HECAKA..TOLONG SIKI UNGGA
 11EE0..11EF2  ; ID_Start # Lo  [19] MAKASAR LETTER KA..MAKASAR ANGKA
 11F02         ; ID_Start # Lo       KAWI SIGN REPHA
 11F04..11F10  ; ID_Start # Lo  [13] KAWI LETTER A..KAWI LETTER O
@@ -6913,18 +6847,14 @@ FFDA..FFDC    ; ID_Start # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL
 16D43..16D6A  ; ID_Start # Lo  [40] KIRAT RAI LETTER A..KIRAT RAI VOWEL SIGN AU
 16D6B..16D6C  ; ID_Start # Lm   [2] KIRAT RAI SIGN VIRAMA..KIRAT RAI SIGN SAAT
 16E40..16E7F  ; ID_Start # L&  [64] MEDEFAIDRIN CAPITAL LETTER M..MEDEFAIDRIN SMALL LETTER Y
-16EA0..16EB8  ; ID_Start # L&  [25] BERIA ERFE CAPITAL LETTER ARKAB..BERIA ERFE CAPITAL LETTER AY
-16EBB..16ED3  ; ID_Start # L&  [25] BERIA ERFE SMALL LETTER ARKAB..BERIA ERFE SMALL LETTER AY
 16F00..16F4A  ; ID_Start # Lo  [75] MIAO LETTER PA..MIAO LETTER RTE
 16F50         ; ID_Start # Lo       MIAO LETTER NASALIZATION
 16F93..16F9F  ; ID_Start # Lm  [13] MIAO LETTER TONE-2..MIAO LETTER REFORMED TONE-8
 16FE0..16FE1  ; ID_Start # Lm   [2] TANGUT ITERATION MARK..NUSHU ITERATION MARK
 16FE3         ; ID_Start # Lm       OLD CHINESE ITERATION MARK
-16FF2..16FF3  ; ID_Start # Lm   [2] CHINESE SMALL SIMPLIFIED ER..CHINESE SMALL TRADITIONAL ER
-16FF4..16FF6  ; ID_Start # Nl   [3] YANGQIN SIGN SLOW ONE BEAT..YANGQIN SIGN SLOW TWO BEATS
-17000..18CD5  ; ID_Start # Lo [7382] TANGUT IDEOGRAPH-17000..KHITAN SMALL SCRIPT CHARACTER-18CD5
-18CFF..18D1E  ; ID_Start # Lo  [32] KHITAN SMALL SCRIPT CHARACTER-18CFF..TANGUT IDEOGRAPH-18D1E
-18D80..18DF2  ; ID_Start # Lo [115] TANGUT COMPONENT-769..TANGUT COMPONENT-883
+17000..187F7  ; ID_Start # Lo [6136] TANGUT IDEOGRAPH-17000..TANGUT IDEOGRAPH-187F7
+18800..18CD5  ; ID_Start # Lo [1238] TANGUT COMPONENT-001..KHITAN SMALL SCRIPT CHARACTER-18CD5
+18CFF..18D08  ; ID_Start # Lo  [10] KHITAN SMALL SCRIPT CHARACTER-18CFF..TANGUT IDEOGRAPH-18D08
 1AFF0..1AFF3  ; ID_Start # Lm   [4] KATAKANA LETTER MINNAN TONE-2..KATAKANA LETTER MINNAN TONE-5
 1AFF5..1AFFB  ; ID_Start # Lm   [7] KATAKANA LETTER MINNAN TONE-7..KATAKANA LETTER MINNAN NASALIZED TONE-5
 1AFFD..1AFFE  ; ID_Start # Lm   [2] KATAKANA LETTER MINNAN NASALIZED TONE-7..KATAKANA LETTER MINNAN NASALIZED TONE-8
@@ -6982,13 +6912,6 @@ FFDA..FFDC    ; ID_Start # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL
 1E4EB         ; ID_Start # Lm       NAG MUNDARI SIGN OJOD
 1E5D0..1E5ED  ; ID_Start # Lo  [30] OL ONAL LETTER O..OL ONAL LETTER EG
 1E5F0         ; ID_Start # Lo       OL ONAL SIGN HODDOND
-1E6C0..1E6DE  ; ID_Start # Lo  [31] TAI YO LETTER LOW KO..TAI YO LETTER HIGH KVO
-1E6E0..1E6E2  ; ID_Start # Lo   [3] TAI YO LETTER AA..TAI YO LETTER UE
-1E6E4..1E6E5  ; ID_Start # Lo   [2] TAI YO LETTER U..TAI YO LETTER AE
-1E6E7..1E6ED  ; ID_Start # Lo   [7] TAI YO LETTER O..TAI YO LETTER AUE
-1E6F0..1E6F4  ; ID_Start # Lo   [5] TAI YO LETTER AN..TAI YO LETTER AP
-1E6FE         ; ID_Start # Lo       TAI YO SYMBOL MUEANG
-1E6FF         ; ID_Start # Lm       TAI YO XAM LAI
 1E7E0..1E7E6  ; ID_Start # Lo   [7] ETHIOPIC SYLLABLE HHYA..ETHIOPIC SYLLABLE HHYO
 1E7E8..1E7EB  ; ID_Start # Lo   [4] ETHIOPIC SYLLABLE GURAGE HHWA..ETHIOPIC SYLLABLE HHWE
 1E7ED..1E7EE  ; ID_Start # Lo   [2] ETHIOPIC SYLLABLE GURAGE MWI..ETHIOPIC SYLLABLE GURAGE MWEE
@@ -7030,15 +6953,16 @@ FFDA..FFDC    ; ID_Start # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL
 1EEA5..1EEA9  ; ID_Start # Lo   [5] ARABIC MATHEMATICAL DOUBLE-STRUCK WAW..ARABIC MATHEMATICAL DOUBLE-STRUCK YEH
 1EEAB..1EEBB  ; ID_Start # Lo  [17] ARABIC MATHEMATICAL DOUBLE-STRUCK LAM..ARABIC MATHEMATICAL DOUBLE-STRUCK GHAIN
 20000..2A6DF  ; ID_Start # Lo [42720] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6DF
-2A700..2B81D  ; ID_Start # Lo [4382] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B81D
-2B820..2CEAD  ; ID_Start # Lo [5774] CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEAD
+2A700..2B739  ; ID_Start # Lo [4154] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B739
+2B740..2B81D  ; ID_Start # Lo [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D
+2B820..2CEA1  ; ID_Start # Lo [5762] CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEA1
 2CEB0..2EBE0  ; ID_Start # Lo [7473] CJK UNIFIED IDEOGRAPH-2CEB0..CJK UNIFIED IDEOGRAPH-2EBE0
 2EBF0..2EE5D  ; ID_Start # Lo [622] CJK UNIFIED IDEOGRAPH-2EBF0..CJK UNIFIED IDEOGRAPH-2EE5D
 2F800..2FA1D  ; ID_Start # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
 30000..3134A  ; ID_Start # Lo [4939] CJK UNIFIED IDEOGRAPH-30000..CJK UNIFIED IDEOGRAPH-3134A
-31350..33479  ; ID_Start # Lo [8490] CJK UNIFIED IDEOGRAPH-31350..CJK UNIFIED IDEOGRAPH-33479
+31350..323AF  ; ID_Start # Lo [4192] CJK UNIFIED IDEOGRAPH-31350..CJK UNIFIED IDEOGRAPH-323AF
 
-# Total code points: 145916
+# Total code points: 141269
 
 # ================================================
 
@@ -7067,8 +6991,8 @@ FFDA..FFDC    ; ID_Start # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL
 01BC..01BF    ; ID_Continue # L&   [4] LATIN CAPITAL LETTER TONE FIVE..LATIN LETTER WYNN
 01C0..01C3    ; ID_Continue # Lo   [4] LATIN LETTER DENTAL CLICK..LATIN LETTER RETROFLEX CLICK
 01C4..0293    ; ID_Continue # L& [208] LATIN CAPITAL LETTER DZ WITH CARON..LATIN SMALL LETTER EZH WITH CURL
-0294..0295    ; ID_Continue # Lo   [2] LATIN LETTER GLOTTAL STOP..LATIN LETTER PHARYNGEAL VOICED FRICATIVE
-0296..02AF    ; ID_Continue # L&  [26] LATIN LETTER INVERTED GLOTTAL STOP..LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL
+0294          ; ID_Continue # Lo       LATIN LETTER GLOTTAL STOP
+0295..02AF    ; ID_Continue # L&  [27] LATIN LETTER PHARYNGEAL VOICED FRICATIVE..LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL
 02B0..02C1    ; ID_Continue # Lm  [18] MODIFIER LETTER SMALL H..MODIFIER LETTER REVERSED GLOTTAL STOP
 02C6..02D1    ; ID_Continue # Lm  [12] MODIFIER LETTER CIRCUMFLEX ACCENT..MODIFIER LETTER HALF TRIANGULAR COLON
 02E0..02E4    ; ID_Continue # Lm   [5] MODIFIER LETTER SMALL GAMMA..MODIFIER LETTER SMALL REVERSED GLOTTAL STOP
@@ -7144,7 +7068,7 @@ FFDA..FFDC    ; ID_Start # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL
 0859..085B    ; ID_Continue # Mn   [3] MANDAIC AFFRICATION MARK..MANDAIC GEMINATION MARK
 0860..086A    ; ID_Continue # Lo  [11] SYRIAC LETTER MALAYALAM NGA..SYRIAC LETTER MALAYALAM SSA
 0870..0887    ; ID_Continue # Lo  [24] ARABIC LETTER ALEF WITH ATTACHED FATHA..ARABIC BASELINE ROUND DOT
-0889..088F    ; ID_Continue # Lo   [7] ARABIC LETTER NOON WITH INVERTED SMALL V..ARABIC LETTER NOON WITH RING ABOVE
+0889..088E    ; ID_Continue # Lo   [6] ARABIC LETTER NOON WITH INVERTED SMALL V..ARABIC VERTICAL TAIL
 0897..089F    ; ID_Continue # Mn   [9] ARABIC PEPET..ARABIC HALF MADDA OVER MADDA
 08A0..08C8    ; ID_Continue # Lo  [41] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER GRAF
 08C9          ; ID_Continue # Lm       ARABIC SMALL FARSI YEH
@@ -7294,7 +7218,7 @@ FFDA..FFDC    ; ID_Start # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL
 0C4A..0C4D    ; ID_Continue # Mn   [4] TELUGU VOWEL SIGN O..TELUGU SIGN VIRAMA
 0C55..0C56    ; ID_Continue # Mn   [2] TELUGU LENGTH MARK..TELUGU AI LENGTH MARK
 0C58..0C5A    ; ID_Continue # Lo   [3] TELUGU LETTER TSA..TELUGU LETTER RRRA
-0C5C..0C5D    ; ID_Continue # Lo   [2] TELUGU ARCHAIC SHRII..TELUGU LETTER NAKAARA POLLU
+0C5D          ; ID_Continue # Lo       TELUGU LETTER NAKAARA POLLU
 0C60..0C61    ; ID_Continue # Lo   [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL
 0C62..0C63    ; ID_Continue # Mn   [2] TELUGU VOWEL SIGN VOCALIC L..TELUGU VOWEL SIGN VOCALIC LL
 0C66..0C6F    ; ID_Continue # Nd  [10] TELUGU DIGIT ZERO..TELUGU DIGIT NINE
@@ -7316,7 +7240,7 @@ FFDA..FFDC    ; ID_Start # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL
 0CCA..0CCB    ; ID_Continue # Mc   [2] KANNADA VOWEL SIGN O..KANNADA VOWEL SIGN OO
 0CCC..0CCD    ; ID_Continue # Mn   [2] KANNADA VOWEL SIGN AU..KANNADA SIGN VIRAMA
 0CD5..0CD6    ; ID_Continue # Mc   [2] KANNADA LENGTH MARK..KANNADA AI LENGTH MARK
-0CDC..0CDE    ; ID_Continue # Lo   [3] KANNADA ARCHAIC SHRII..KANNADA LETTER FA
+0CDD..0CDE    ; ID_Continue # Lo   [2] KANNADA LETTER NAKAARA POLLU..KANNADA LETTER FA
 0CE0..0CE1    ; ID_Continue # Lo   [2] KANNADA LETTER VOCALIC RR..KANNADA LETTER VOCALIC LL
 0CE2..0CE3    ; ID_Continue # Mn   [2] KANNADA VOWEL SIGN VOCALIC L..KANNADA VOWEL SIGN VOCALIC LL
 0CE6..0CEF    ; ID_Continue # Nd  [10] KANNADA DIGIT ZERO..KANNADA DIGIT NINE
@@ -7533,8 +7457,7 @@ FFDA..FFDC    ; ID_Start # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL
 1A90..1A99    ; ID_Continue # Nd  [10] TAI THAM THAM DIGIT ZERO..TAI THAM THAM DIGIT NINE
 1AA7          ; ID_Continue # Lm       TAI THAM SIGN MAI YAMOK
 1AB0..1ABD    ; ID_Continue # Mn  [14] COMBINING DOUBLED CIRCUMFLEX ACCENT..COMBINING PARENTHESES BELOW
-1ABF..1ADD    ; ID_Continue # Mn  [31] COMBINING LATIN SMALL LETTER W BELOW..COMBINING DOT-AND-RING BELOW
-1AE0..1AEB    ; ID_Continue # Mn  [12] COMBINING LEFT TACK ABOVE..COMBINING DOUBLE RIGHTWARDS ARROW ABOVE
+1ABF..1ACE    ; ID_Continue # Mn  [16] COMBINING LATIN SMALL LETTER W BELOW..COMBINING LATIN SMALL LETTER INSULAR T
 1B00..1B03    ; ID_Continue # Mn   [4] BALINESE SIGN ULU RICEM..BALINESE SIGN SURANG
 1B04          ; ID_Continue # Mc       BALINESE SIGN BISAH
 1B05..1B33    ; ID_Continue # Lo  [47] BALINESE LETTER AKARA..BALINESE LETTER HA
@@ -7723,8 +7646,11 @@ A771..A787    ; ID_Continue # L&  [23] LATIN SMALL LETTER DUM..LATIN SMALL LETTE
 A788          ; ID_Continue # Lm       MODIFIER LETTER LOW CIRCUMFLEX ACCENT
 A78B..A78E    ; ID_Continue # L&   [4] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT
 A78F          ; ID_Continue # Lo       LATIN LETTER SINOLOGICAL DOT
-A790..A7DC    ; ID_Continue # L&  [77] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN CAPITAL LETTER LAMBDA WITH STROKE
-A7F1..A7F4    ; ID_Continue # Lm   [4] MODIFIER LETTER CAPITAL S..MODIFIER LETTER CAPITAL Q
+A790..A7CD    ; ID_Continue # L&  [62] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN SMALL LETTER S WITH DIAGONAL STROKE
+A7D0..A7D1    ; ID_Continue # L&   [2] LATIN CAPITAL LETTER CLOSED INSULAR G..LATIN SMALL LETTER CLOSED INSULAR G
+A7D3          ; ID_Continue # L&       LATIN SMALL LETTER DOUBLE THORN
+A7D5..A7DC    ; ID_Continue # L&   [8] LATIN SMALL LETTER DOUBLE WYNN..LATIN CAPITAL LETTER LAMBDA WITH STROKE
+A7F2..A7F4    ; ID_Continue # Lm   [3] MODIFIER LETTER CAPITAL C..MODIFIER LETTER CAPITAL Q
 A7F5..A7F6    ; ID_Continue # L&   [2] LATIN CAPITAL LETTER REVERSED HALF H..LATIN SMALL LETTER REVERSED HALF H
 A7F7          ; ID_Continue # Lo       LATIN EPIGRAPHIC LETTER SIDEWAYS I
 A7F8..A7F9    ; ID_Continue # Lm   [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE
@@ -7931,7 +7857,6 @@ FFDA..FFDC    ; ID_Continue # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HAN
 108F4..108F5  ; ID_Continue # Lo   [2] HATRAN LETTER SHIN..HATRAN LETTER TAW
 10900..10915  ; ID_Continue # Lo  [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU
 10920..10939  ; ID_Continue # Lo  [26] LYDIAN LETTER A..LYDIAN LETTER C
-10940..10959  ; ID_Continue # Lo  [26] SIDETIC LETTER N01..SIDETIC LETTER N26
 10980..109B7  ; ID_Continue # Lo  [56] MEROITIC HIEROGLYPHIC LETTER A..MEROITIC CURSIVE LETTER DA
 109BE..109BF  ; ID_Continue # Lo   [2] MEROITIC CURSIVE LOGOGRAM RMT..MEROITIC CURSIVE LOGOGRAM IMN
 10A00         ; ID_Continue # Lo       KHAROSHTHI LETTER A
@@ -7970,9 +7895,7 @@ FFDA..FFDC    ; ID_Continue # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HAN
 10EAB..10EAC  ; ID_Continue # Mn   [2] YEZIDI COMBINING HAMZA MARK..YEZIDI COMBINING MADDA MARK
 10EB0..10EB1  ; ID_Continue # Lo   [2] YEZIDI LETTER LAM WITH DOT ABOVE..YEZIDI LETTER YOT WITH CIRCUMFLEX ABOVE
 10EC2..10EC4  ; ID_Continue # Lo   [3] ARABIC LETTER DAL WITH TWO DOTS VERTICALLY BELOW..ARABIC LETTER KAF WITH TWO DOTS VERTICALLY BELOW
-10EC5         ; ID_Continue # Lm       ARABIC SMALL YEH BARREE WITH TWO DOTS BELOW
-10EC6..10EC7  ; ID_Continue # Lo   [2] ARABIC LETTER THIN NOON..ARABIC LETTER YEH WITH FOUR DOTS BELOW
-10EFA..10EFF  ; ID_Continue # Mn   [6] ARABIC DOUBLE VERTICAL BAR BELOW..ARABIC SMALL LOW WORD MADDA
+10EFC..10EFF  ; ID_Continue # Mn   [4] ARABIC COMBINING ALEF OVERLAY..ARABIC SMALL LOW WORD MADDA
 10F00..10F1C  ; ID_Continue # Lo  [29] OLD SOGDIAN LETTER ALEPH..OLD SOGDIAN LETTER FINAL TAW WITH VERTICAL TAIL
 10F27         ; ID_Continue # Lo       OLD SOGDIAN LIGATURE AYIN-DALETH
 10F30..10F45  ; ID_Continue # Lo  [22] SOGDIAN LETTER ALEPH..SOGDIAN INDEPENDENT SHIN
@@ -8199,12 +8122,6 @@ FFDA..FFDC    ; ID_Continue # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HAN
 11A98..11A99  ; ID_Continue # Mn   [2] SOYOMBO GEMINATION MARK..SOYOMBO SUBJOINER
 11A9D         ; ID_Continue # Lo       SOYOMBO MARK PLUTA
 11AB0..11AF8  ; ID_Continue # Lo  [73] CANADIAN SYLLABICS NATTILIK HI..PAU CIN HAU GLOTTAL STOP FINAL
-11B60         ; ID_Continue # Mn       SHARADA VOWEL SIGN OE
-11B61         ; ID_Continue # Mc       SHARADA VOWEL SIGN OOE
-11B62..11B64  ; ID_Continue # Mn   [3] SHARADA VOWEL SIGN UE..SHARADA VOWEL SIGN SHORT E
-11B65         ; ID_Continue # Mc       SHARADA VOWEL SIGN SHORT O
-11B66         ; ID_Continue # Mn       SHARADA VOWEL SIGN CANDRA E
-11B67         ; ID_Continue # Mc       SHARADA VOWEL SIGN CANDRA O
 11BC0..11BE0  ; ID_Continue # Lo  [33] SUNUWAR LETTER DEVI..SUNUWAR LETTER KLOKO
 11BF0..11BF9  ; ID_Continue # Nd  [10] SUNUWAR DIGIT ZERO..SUNUWAR DIGIT NINE
 11C00..11C08  ; ID_Continue # Lo   [9] BHAIKSUKI LETTER A..BHAIKSUKI LETTER VOCALIC L
@@ -8245,10 +8162,6 @@ FFDA..FFDC    ; ID_Continue # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HAN
 11D97         ; ID_Continue # Mn       GUNJALA GONDI VIRAMA
 11D98         ; ID_Continue # Lo       GUNJALA GONDI OM
 11DA0..11DA9  ; ID_Continue # Nd  [10] GUNJALA GONDI DIGIT ZERO..GUNJALA GONDI DIGIT NINE
-11DB0..11DD8  ; ID_Continue # Lo  [41] TOLONG SIKI LETTER I..TOLONG SIKI LETTER RRH
-11DD9         ; ID_Continue # Lm       TOLONG SIKI SIGN SELA
-11DDA..11DDB  ; ID_Continue # Lo   [2] TOLONG SIKI SIGN HECAKA..TOLONG SIKI UNGGA
-11DE0..11DE9  ; ID_Continue # Nd  [10] TOLONG SIKI DIGIT ZERO..TOLONG SIKI DIGIT NINE
 11EE0..11EF2  ; ID_Continue # Lo  [19] MAKASAR LETTER KA..MAKASAR ANGKA
 11EF3..11EF4  ; ID_Continue # Mn   [2] MAKASAR VOWEL SIGN I..MAKASAR VOWEL SIGN U
 11EF5..11EF6  ; ID_Continue # Mc   [2] MAKASAR VOWEL SIGN E..MAKASAR VOWEL SIGN O
@@ -8299,8 +8212,6 @@ FFDA..FFDC    ; ID_Continue # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HAN
 16D6B..16D6C  ; ID_Continue # Lm   [2] KIRAT RAI SIGN VIRAMA..KIRAT RAI SIGN SAAT
 16D70..16D79  ; ID_Continue # Nd  [10] KIRAT RAI DIGIT ZERO..KIRAT RAI DIGIT NINE
 16E40..16E7F  ; ID_Continue # L&  [64] MEDEFAIDRIN CAPITAL LETTER M..MEDEFAIDRIN SMALL LETTER Y
-16EA0..16EB8  ; ID_Continue # L&  [25] BERIA ERFE CAPITAL LETTER ARKAB..BERIA ERFE CAPITAL LETTER AY
-16EBB..16ED3  ; ID_Continue # L&  [25] BERIA ERFE SMALL LETTER ARKAB..BERIA ERFE SMALL LETTER AY
 16F00..16F4A  ; ID_Continue # Lo  [75] MIAO LETTER PA..MIAO LETTER RTE
 16F4F         ; ID_Continue # Mn       MIAO SIGN CONSONANT MODIFIER BAR
 16F50         ; ID_Continue # Lo       MIAO LETTER NASALIZATION
@@ -8311,11 +8222,9 @@ FFDA..FFDC    ; ID_Continue # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HAN
 16FE3         ; ID_Continue # Lm       OLD CHINESE ITERATION MARK
 16FE4         ; ID_Continue # Mn       KHITAN SMALL SCRIPT FILLER
 16FF0..16FF1  ; ID_Continue # Mc   [2] VIETNAMESE ALTERNATE READING MARK CA..VIETNAMESE ALTERNATE READING MARK NHAY
-16FF2..16FF3  ; ID_Continue # Lm   [2] CHINESE SMALL SIMPLIFIED ER..CHINESE SMALL TRADITIONAL ER
-16FF4..16FF6  ; ID_Continue # Nl   [3] YANGQIN SIGN SLOW ONE BEAT..YANGQIN SIGN SLOW TWO BEATS
-17000..18CD5  ; ID_Continue # Lo [7382] TANGUT IDEOGRAPH-17000..KHITAN SMALL SCRIPT CHARACTER-18CD5
-18CFF..18D1E  ; ID_Continue # Lo  [32] KHITAN SMALL SCRIPT CHARACTER-18CFF..TANGUT IDEOGRAPH-18D1E
-18D80..18DF2  ; ID_Continue # Lo [115] TANGUT COMPONENT-769..TANGUT COMPONENT-883
+17000..187F7  ; ID_Continue # Lo [6136] TANGUT IDEOGRAPH-17000..TANGUT IDEOGRAPH-187F7
+18800..18CD5  ; ID_Continue # Lo [1238] TANGUT COMPONENT-001..KHITAN SMALL SCRIPT CHARACTER-18CD5
+18CFF..18D08  ; ID_Continue # Lo  [10] KHITAN SMALL SCRIPT CHARACTER-18CFF..TANGUT IDEOGRAPH-18D08
 1AFF0..1AFF3  ; ID_Continue # Lm   [4] KATAKANA LETTER MINNAN TONE-2..KATAKANA LETTER MINNAN TONE-5
 1AFF5..1AFFB  ; ID_Continue # Lm   [7] KATAKANA LETTER MINNAN TONE-7..KATAKANA LETTER MINNAN NASALIZED TONE-5
 1AFFD..1AFFE  ; ID_Continue # Lm   [2] KATAKANA LETTER MINNAN NASALIZED TONE-7..KATAKANA LETTER MINNAN NASALIZED TONE-8
@@ -8406,17 +8315,6 @@ FFDA..FFDC    ; ID_Continue # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HAN
 1E5EE..1E5EF  ; ID_Continue # Mn   [2] OL ONAL SIGN MU..OL ONAL SIGN IKIR
 1E5F0         ; ID_Continue # Lo       OL ONAL SIGN HODDOND
 1E5F1..1E5FA  ; ID_Continue # Nd  [10] OL ONAL DIGIT ZERO..OL ONAL DIGIT NINE
-1E6C0..1E6DE  ; ID_Continue # Lo  [31] TAI YO LETTER LOW KO..TAI YO LETTER HIGH KVO
-1E6E0..1E6E2  ; ID_Continue # Lo   [3] TAI YO LETTER AA..TAI YO LETTER UE
-1E6E3         ; ID_Continue # Mn       TAI YO SIGN UE
-1E6E4..1E6E5  ; ID_Continue # Lo   [2] TAI YO LETTER U..TAI YO LETTER AE
-1E6E6         ; ID_Continue # Mn       TAI YO SIGN AU
-1E6E7..1E6ED  ; ID_Continue # Lo   [7] TAI YO LETTER O..TAI YO LETTER AUE
-1E6EE..1E6EF  ; ID_Continue # Mn   [2] TAI YO SIGN AY..TAI YO SIGN ANG
-1E6F0..1E6F4  ; ID_Continue # Lo   [5] TAI YO LETTER AN..TAI YO LETTER AP
-1E6F5         ; ID_Continue # Mn       TAI YO SIGN OM
-1E6FE         ; ID_Continue # Lo       TAI YO SYMBOL MUEANG
-1E6FF         ; ID_Continue # Lm       TAI YO XAM LAI
 1E7E0..1E7E6  ; ID_Continue # Lo   [7] ETHIOPIC SYLLABLE HHYA..ETHIOPIC SYLLABLE HHYO
 1E7E8..1E7EB  ; ID_Continue # Lo   [4] ETHIOPIC SYLLABLE GURAGE HHWA..ETHIOPIC SYLLABLE HHWE
 1E7ED..1E7EE  ; ID_Continue # Lo   [2] ETHIOPIC SYLLABLE GURAGE MWI..ETHIOPIC SYLLABLE GURAGE MWEE
@@ -8462,16 +8360,17 @@ FFDA..FFDC    ; ID_Continue # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HAN
 1EEAB..1EEBB  ; ID_Continue # Lo  [17] ARABIC MATHEMATICAL DOUBLE-STRUCK LAM..ARABIC MATHEMATICAL DOUBLE-STRUCK GHAIN
 1FBF0..1FBF9  ; ID_Continue # Nd  [10] SEGMENTED DIGIT ZERO..SEGMENTED DIGIT NINE
 20000..2A6DF  ; ID_Continue # Lo [42720] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6DF
-2A700..2B81D  ; ID_Continue # Lo [4382] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B81D
-2B820..2CEAD  ; ID_Continue # Lo [5774] CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEAD
+2A700..2B739  ; ID_Continue # Lo [4154] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B739
+2B740..2B81D  ; ID_Continue # Lo [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D
+2B820..2CEA1  ; ID_Continue # Lo [5762] CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEA1
 2CEB0..2EBE0  ; ID_Continue # Lo [7473] CJK UNIFIED IDEOGRAPH-2CEB0..CJK UNIFIED IDEOGRAPH-2EBE0
 2EBF0..2EE5D  ; ID_Continue # Lo [622] CJK UNIFIED IDEOGRAPH-2EBF0..CJK UNIFIED IDEOGRAPH-2EE5D
 2F800..2FA1D  ; ID_Continue # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
 30000..3134A  ; ID_Continue # Lo [4939] CJK UNIFIED IDEOGRAPH-30000..CJK UNIFIED IDEOGRAPH-3134A
-31350..33479  ; ID_Continue # Lo [8490] CJK UNIFIED IDEOGRAPH-31350..CJK UNIFIED IDEOGRAPH-33479
+31350..323AF  ; ID_Continue # Lo [4192] CJK UNIFIED IDEOGRAPH-31350..CJK UNIFIED IDEOGRAPH-323AF
 E0100..E01EF  ; ID_Continue # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
 
-# Total code points: 149240
+# Total code points: 144541
 
 # ================================================
 
@@ -8494,8 +8393,8 @@ E0100..E01EF  ; ID_Continue # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR
 01BC..01BF    ; XID_Start # L&   [4] LATIN CAPITAL LETTER TONE FIVE..LATIN LETTER WYNN
 01C0..01C3    ; XID_Start # Lo   [4] LATIN LETTER DENTAL CLICK..LATIN LETTER RETROFLEX CLICK
 01C4..0293    ; XID_Start # L& [208] LATIN CAPITAL LETTER DZ WITH CARON..LATIN SMALL LETTER EZH WITH CURL
-0294..0295    ; XID_Start # Lo   [2] LATIN LETTER GLOTTAL STOP..LATIN LETTER PHARYNGEAL VOICED FRICATIVE
-0296..02AF    ; XID_Start # L&  [26] LATIN LETTER INVERTED GLOTTAL STOP..LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL
+0294          ; XID_Start # Lo       LATIN LETTER GLOTTAL STOP
+0295..02AF    ; XID_Start # L&  [27] LATIN LETTER PHARYNGEAL VOICED FRICATIVE..LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL
 02B0..02C1    ; XID_Start # Lm  [18] MODIFIER LETTER SMALL H..MODIFIER LETTER REVERSED GLOTTAL STOP
 02C6..02D1    ; XID_Start # Lm  [12] MODIFIER LETTER CIRCUMFLEX ACCENT..MODIFIER LETTER HALF TRIANGULAR COLON
 02E0..02E4    ; XID_Start # Lm   [5] MODIFIER LETTER SMALL GAMMA..MODIFIER LETTER SMALL REVERSED GLOTTAL STOP
@@ -8542,7 +8441,7 @@ E0100..E01EF  ; ID_Continue # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR
 0840..0858    ; XID_Start # Lo  [25] MANDAIC LETTER HALQA..MANDAIC LETTER AIN
 0860..086A    ; XID_Start # Lo  [11] SYRIAC LETTER MALAYALAM NGA..SYRIAC LETTER MALAYALAM SSA
 0870..0887    ; XID_Start # Lo  [24] ARABIC LETTER ALEF WITH ATTACHED FATHA..ARABIC BASELINE ROUND DOT
-0889..088F    ; XID_Start # Lo   [7] ARABIC LETTER NOON WITH INVERTED SMALL V..ARABIC LETTER NOON WITH RING ABOVE
+0889..088E    ; XID_Start # Lo   [6] ARABIC LETTER NOON WITH INVERTED SMALL V..ARABIC VERTICAL TAIL
 08A0..08C8    ; XID_Start # Lo  [41] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER GRAF
 08C9          ; XID_Start # Lm       ARABIC SMALL FARSI YEH
 0904..0939    ; XID_Start # Lo  [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA
@@ -8610,7 +8509,7 @@ E0100..E01EF  ; ID_Continue # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR
 0C2A..0C39    ; XID_Start # Lo  [16] TELUGU LETTER PA..TELUGU LETTER HA
 0C3D          ; XID_Start # Lo       TELUGU SIGN AVAGRAHA
 0C58..0C5A    ; XID_Start # Lo   [3] TELUGU LETTER TSA..TELUGU LETTER RRRA
-0C5C..0C5D    ; XID_Start # Lo   [2] TELUGU ARCHAIC SHRII..TELUGU LETTER NAKAARA POLLU
+0C5D          ; XID_Start # Lo       TELUGU LETTER NAKAARA POLLU
 0C60..0C61    ; XID_Start # Lo   [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL
 0C80          ; XID_Start # Lo       KANNADA SIGN SPACING CANDRABINDU
 0C85..0C8C    ; XID_Start # Lo   [8] KANNADA LETTER A..KANNADA LETTER VOCALIC L
@@ -8619,7 +8518,7 @@ E0100..E01EF  ; ID_Continue # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR
 0CAA..0CB3    ; XID_Start # Lo  [10] KANNADA LETTER PA..KANNADA LETTER LLA
 0CB5..0CB9    ; XID_Start # Lo   [5] KANNADA LETTER VA..KANNADA LETTER HA
 0CBD          ; XID_Start # Lo       KANNADA SIGN AVAGRAHA
-0CDC..0CDE    ; XID_Start # Lo   [3] KANNADA ARCHAIC SHRII..KANNADA LETTER FA
+0CDD..0CDE    ; XID_Start # Lo   [2] KANNADA LETTER NAKAARA POLLU..KANNADA LETTER FA
 0CE0..0CE1    ; XID_Start # Lo   [2] KANNADA LETTER VOCALIC RR..KANNADA LETTER VOCALIC LL
 0CF1..0CF2    ; XID_Start # Lo   [2] KANNADA SIGN JIHVAMULIYA..KANNADA SIGN UPADHMANIYA
 0D04..0D0C    ; XID_Start # Lo   [9] MALAYALAM LETTER VEDIC ANUSVARA..MALAYALAM LETTER VOCALIC L
@@ -8843,8 +8742,11 @@ A771..A787    ; XID_Start # L&  [23] LATIN SMALL LETTER DUM..LATIN SMALL LETTER
 A788          ; XID_Start # Lm       MODIFIER LETTER LOW CIRCUMFLEX ACCENT
 A78B..A78E    ; XID_Start # L&   [4] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT
 A78F          ; XID_Start # Lo       LATIN LETTER SINOLOGICAL DOT
-A790..A7DC    ; XID_Start # L&  [77] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN CAPITAL LETTER LAMBDA WITH STROKE
-A7F1..A7F4    ; XID_Start # Lm   [4] MODIFIER LETTER CAPITAL S..MODIFIER LETTER CAPITAL Q
+A790..A7CD    ; XID_Start # L&  [62] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN SMALL LETTER S WITH DIAGONAL STROKE
+A7D0..A7D1    ; XID_Start # L&   [2] LATIN CAPITAL LETTER CLOSED INSULAR G..LATIN SMALL LETTER CLOSED INSULAR G
+A7D3          ; XID_Start # L&       LATIN SMALL LETTER DOUBLE THORN
+A7D5..A7DC    ; XID_Start # L&   [8] LATIN SMALL LETTER DOUBLE WYNN..LATIN CAPITAL LETTER LAMBDA WITH STROKE
+A7F2..A7F4    ; XID_Start # Lm   [3] MODIFIER LETTER CAPITAL C..MODIFIER LETTER CAPITAL Q
 A7F5..A7F6    ; XID_Start # L&   [2] LATIN CAPITAL LETTER REVERSED HALF H..LATIN SMALL LETTER REVERSED HALF H
 A7F7          ; XID_Start # Lo       LATIN EPIGRAPHIC LETTER SIDEWAYS I
 A7F8..A7F9    ; XID_Start # Lm   [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE
@@ -8986,7 +8888,6 @@ FFDA..FFDC    ; XID_Start # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGU
 108F4..108F5  ; XID_Start # Lo   [2] HATRAN LETTER SHIN..HATRAN LETTER TAW
 10900..10915  ; XID_Start # Lo  [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU
 10920..10939  ; XID_Start # Lo  [26] LYDIAN LETTER A..LYDIAN LETTER C
-10940..10959  ; XID_Start # Lo  [26] SIDETIC LETTER N01..SIDETIC LETTER N26
 10980..109B7  ; XID_Start # Lo  [56] MEROITIC HIEROGLYPHIC LETTER A..MEROITIC CURSIVE LETTER DA
 109BE..109BF  ; XID_Start # Lo   [2] MEROITIC CURSIVE LOGOGRAM RMT..MEROITIC CURSIVE LOGOGRAM IMN
 10A00         ; XID_Start # Lo       KHAROSHTHI LETTER A
@@ -9014,8 +8915,6 @@ FFDA..FFDC    ; XID_Start # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGU
 10E80..10EA9  ; XID_Start # Lo  [42] YEZIDI LETTER ELIF..YEZIDI LETTER ET
 10EB0..10EB1  ; XID_Start # Lo   [2] YEZIDI LETTER LAM WITH DOT ABOVE..YEZIDI LETTER YOT WITH CIRCUMFLEX ABOVE
 10EC2..10EC4  ; XID_Start # Lo   [3] ARABIC LETTER DAL WITH TWO DOTS VERTICALLY BELOW..ARABIC LETTER KAF WITH TWO DOTS VERTICALLY BELOW
-10EC5         ; XID_Start # Lm       ARABIC SMALL YEH BARREE WITH TWO DOTS BELOW
-10EC6..10EC7  ; XID_Start # Lo   [2] ARABIC LETTER THIN NOON..ARABIC LETTER YEH WITH FOUR DOTS BELOW
 10F00..10F1C  ; XID_Start # Lo  [29] OLD SOGDIAN LETTER ALEPH..OLD SOGDIAN LETTER FINAL TAW WITH VERTICAL TAIL
 10F27         ; XID_Start # Lo       OLD SOGDIAN LIGATURE AYIN-DALETH
 10F30..10F45  ; XID_Start # Lo  [22] SOGDIAN LETTER ALEPH..SOGDIAN INDEPENDENT SHIN
@@ -9108,9 +9007,6 @@ FFDA..FFDC    ; XID_Start # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGU
 11D67..11D68  ; XID_Start # Lo   [2] GUNJALA GONDI LETTER EE..GUNJALA GONDI LETTER AI
 11D6A..11D89  ; XID_Start # Lo  [32] GUNJALA GONDI LETTER OO..GUNJALA GONDI LETTER SA
 11D98         ; XID_Start # Lo       GUNJALA GONDI OM
-11DB0..11DD8  ; XID_Start # Lo  [41] TOLONG SIKI LETTER I..TOLONG SIKI LETTER RRH
-11DD9         ; XID_Start # Lm       TOLONG SIKI SIGN SELA
-11DDA..11DDB  ; XID_Start # Lo   [2] TOLONG SIKI SIGN HECAKA..TOLONG SIKI UNGGA
 11EE0..11EF2  ; XID_Start # Lo  [19] MAKASAR LETTER KA..MAKASAR ANGKA
 11F02         ; XID_Start # Lo       KAWI SIGN REPHA
 11F04..11F10  ; XID_Start # Lo  [13] KAWI LETTER A..KAWI LETTER O
@@ -9137,18 +9033,14 @@ FFDA..FFDC    ; XID_Start # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGU
 16D43..16D6A  ; XID_Start # Lo  [40] KIRAT RAI LETTER A..KIRAT RAI VOWEL SIGN AU
 16D6B..16D6C  ; XID_Start # Lm   [2] KIRAT RAI SIGN VIRAMA..KIRAT RAI SIGN SAAT
 16E40..16E7F  ; XID_Start # L&  [64] MEDEFAIDRIN CAPITAL LETTER M..MEDEFAIDRIN SMALL LETTER Y
-16EA0..16EB8  ; XID_Start # L&  [25] BERIA ERFE CAPITAL LETTER ARKAB..BERIA ERFE CAPITAL LETTER AY
-16EBB..16ED3  ; XID_Start # L&  [25] BERIA ERFE SMALL LETTER ARKAB..BERIA ERFE SMALL LETTER AY
 16F00..16F4A  ; XID_Start # Lo  [75] MIAO LETTER PA..MIAO LETTER RTE
 16F50         ; XID_Start # Lo       MIAO LETTER NASALIZATION
 16F93..16F9F  ; XID_Start # Lm  [13] MIAO LETTER TONE-2..MIAO LETTER REFORMED TONE-8
 16FE0..16FE1  ; XID_Start # Lm   [2] TANGUT ITERATION MARK..NUSHU ITERATION MARK
 16FE3         ; XID_Start # Lm       OLD CHINESE ITERATION MARK
-16FF2..16FF3  ; XID_Start # Lm   [2] CHINESE SMALL SIMPLIFIED ER..CHINESE SMALL TRADITIONAL ER
-16FF4..16FF6  ; XID_Start # Nl   [3] YANGQIN SIGN SLOW ONE BEAT..YANGQIN SIGN SLOW TWO BEATS
-17000..18CD5  ; XID_Start # Lo [7382] TANGUT IDEOGRAPH-17000..KHITAN SMALL SCRIPT CHARACTER-18CD5
-18CFF..18D1E  ; XID_Start # Lo  [32] KHITAN SMALL SCRIPT CHARACTER-18CFF..TANGUT IDEOGRAPH-18D1E
-18D80..18DF2  ; XID_Start # Lo [115] TANGUT COMPONENT-769..TANGUT COMPONENT-883
+17000..187F7  ; XID_Start # Lo [6136] TANGUT IDEOGRAPH-17000..TANGUT IDEOGRAPH-187F7
+18800..18CD5  ; XID_Start # Lo [1238] TANGUT COMPONENT-001..KHITAN SMALL SCRIPT CHARACTER-18CD5
+18CFF..18D08  ; XID_Start # Lo  [10] KHITAN SMALL SCRIPT CHARACTER-18CFF..TANGUT IDEOGRAPH-18D08
 1AFF0..1AFF3  ; XID_Start # Lm   [4] KATAKANA LETTER MINNAN TONE-2..KATAKANA LETTER MINNAN TONE-5
 1AFF5..1AFFB  ; XID_Start # Lm   [7] KATAKANA LETTER MINNAN TONE-7..KATAKANA LETTER MINNAN NASALIZED TONE-5
 1AFFD..1AFFE  ; XID_Start # Lm   [2] KATAKANA LETTER MINNAN NASALIZED TONE-7..KATAKANA LETTER MINNAN NASALIZED TONE-8
@@ -9206,13 +9098,6 @@ FFDA..FFDC    ; XID_Start # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGU
 1E4EB         ; XID_Start # Lm       NAG MUNDARI SIGN OJOD
 1E5D0..1E5ED  ; XID_Start # Lo  [30] OL ONAL LETTER O..OL ONAL LETTER EG
 1E5F0         ; XID_Start # Lo       OL ONAL SIGN HODDOND
-1E6C0..1E6DE  ; XID_Start # Lo  [31] TAI YO LETTER LOW KO..TAI YO LETTER HIGH KVO
-1E6E0..1E6E2  ; XID_Start # Lo   [3] TAI YO LETTER AA..TAI YO LETTER UE
-1E6E4..1E6E5  ; XID_Start # Lo   [2] TAI YO LETTER U..TAI YO LETTER AE
-1E6E7..1E6ED  ; XID_Start # Lo   [7] TAI YO LETTER O..TAI YO LETTER AUE
-1E6F0..1E6F4  ; XID_Start # Lo   [5] TAI YO LETTER AN..TAI YO LETTER AP
-1E6FE         ; XID_Start # Lo       TAI YO SYMBOL MUEANG
-1E6FF         ; XID_Start # Lm       TAI YO XAM LAI
 1E7E0..1E7E6  ; XID_Start # Lo   [7] ETHIOPIC SYLLABLE HHYA..ETHIOPIC SYLLABLE HHYO
 1E7E8..1E7EB  ; XID_Start # Lo   [4] ETHIOPIC SYLLABLE GURAGE HHWA..ETHIOPIC SYLLABLE HHWE
 1E7ED..1E7EE  ; XID_Start # Lo   [2] ETHIOPIC SYLLABLE GURAGE MWI..ETHIOPIC SYLLABLE GURAGE MWEE
@@ -9254,15 +9139,16 @@ FFDA..FFDC    ; XID_Start # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGU
 1EEA5..1EEA9  ; XID_Start # Lo   [5] ARABIC MATHEMATICAL DOUBLE-STRUCK WAW..ARABIC MATHEMATICAL DOUBLE-STRUCK YEH
 1EEAB..1EEBB  ; XID_Start # Lo  [17] ARABIC MATHEMATICAL DOUBLE-STRUCK LAM..ARABIC MATHEMATICAL DOUBLE-STRUCK GHAIN
 20000..2A6DF  ; XID_Start # Lo [42720] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6DF
-2A700..2B81D  ; XID_Start # Lo [4382] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B81D
-2B820..2CEAD  ; XID_Start # Lo [5774] CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEAD
+2A700..2B739  ; XID_Start # Lo [4154] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B739
+2B740..2B81D  ; XID_Start # Lo [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D
+2B820..2CEA1  ; XID_Start # Lo [5762] CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEA1
 2CEB0..2EBE0  ; XID_Start # Lo [7473] CJK UNIFIED IDEOGRAPH-2CEB0..CJK UNIFIED IDEOGRAPH-2EBE0
 2EBF0..2EE5D  ; XID_Start # Lo [622] CJK UNIFIED IDEOGRAPH-2EBF0..CJK UNIFIED IDEOGRAPH-2EE5D
 2F800..2FA1D  ; XID_Start # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
 30000..3134A  ; XID_Start # Lo [4939] CJK UNIFIED IDEOGRAPH-30000..CJK UNIFIED IDEOGRAPH-3134A
-31350..33479  ; XID_Start # Lo [8490] CJK UNIFIED IDEOGRAPH-31350..CJK UNIFIED IDEOGRAPH-33479
+31350..323AF  ; XID_Start # Lo [4192] CJK UNIFIED IDEOGRAPH-31350..CJK UNIFIED IDEOGRAPH-323AF
 
-# Total code points: 145893
+# Total code points: 141246
 
 # ================================================
 
@@ -9288,8 +9174,8 @@ FFDA..FFDC    ; XID_Start # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGU
 01BC..01BF    ; XID_Continue # L&   [4] LATIN CAPITAL LETTER TONE FIVE..LATIN LETTER WYNN
 01C0..01C3    ; XID_Continue # Lo   [4] LATIN LETTER DENTAL CLICK..LATIN LETTER RETROFLEX CLICK
 01C4..0293    ; XID_Continue # L& [208] LATIN CAPITAL LETTER DZ WITH CARON..LATIN SMALL LETTER EZH WITH CURL
-0294..0295    ; XID_Continue # Lo   [2] LATIN LETTER GLOTTAL STOP..LATIN LETTER PHARYNGEAL VOICED FRICATIVE
-0296..02AF    ; XID_Continue # L&  [26] LATIN LETTER INVERTED GLOTTAL STOP..LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL
+0294          ; XID_Continue # Lo       LATIN LETTER GLOTTAL STOP
+0295..02AF    ; XID_Continue # L&  [27] LATIN LETTER PHARYNGEAL VOICED FRICATIVE..LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL
 02B0..02C1    ; XID_Continue # Lm  [18] MODIFIER LETTER SMALL H..MODIFIER LETTER REVERSED GLOTTAL STOP
 02C6..02D1    ; XID_Continue # Lm  [12] MODIFIER LETTER CIRCUMFLEX ACCENT..MODIFIER LETTER HALF TRIANGULAR COLON
 02E0..02E4    ; XID_Continue # Lm   [5] MODIFIER LETTER SMALL GAMMA..MODIFIER LETTER SMALL REVERSED GLOTTAL STOP
@@ -9364,7 +9250,7 @@ FFDA..FFDC    ; XID_Start # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGU
 0859..085B    ; XID_Continue # Mn   [3] MANDAIC AFFRICATION MARK..MANDAIC GEMINATION MARK
 0860..086A    ; XID_Continue # Lo  [11] SYRIAC LETTER MALAYALAM NGA..SYRIAC LETTER MALAYALAM SSA
 0870..0887    ; XID_Continue # Lo  [24] ARABIC LETTER ALEF WITH ATTACHED FATHA..ARABIC BASELINE ROUND DOT
-0889..088F    ; XID_Continue # Lo   [7] ARABIC LETTER NOON WITH INVERTED SMALL V..ARABIC LETTER NOON WITH RING ABOVE
+0889..088E    ; XID_Continue # Lo   [6] ARABIC LETTER NOON WITH INVERTED SMALL V..ARABIC VERTICAL TAIL
 0897..089F    ; XID_Continue # Mn   [9] ARABIC PEPET..ARABIC HALF MADDA OVER MADDA
 08A0..08C8    ; XID_Continue # Lo  [41] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER GRAF
 08C9          ; XID_Continue # Lm       ARABIC SMALL FARSI YEH
@@ -9514,7 +9400,7 @@ FFDA..FFDC    ; XID_Start # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGU
 0C4A..0C4D    ; XID_Continue # Mn   [4] TELUGU VOWEL SIGN O..TELUGU SIGN VIRAMA
 0C55..0C56    ; XID_Continue # Mn   [2] TELUGU LENGTH MARK..TELUGU AI LENGTH MARK
 0C58..0C5A    ; XID_Continue # Lo   [3] TELUGU LETTER TSA..TELUGU LETTER RRRA
-0C5C..0C5D    ; XID_Continue # Lo   [2] TELUGU ARCHAIC SHRII..TELUGU LETTER NAKAARA POLLU
+0C5D          ; XID_Continue # Lo       TELUGU LETTER NAKAARA POLLU
 0C60..0C61    ; XID_Continue # Lo   [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL
 0C62..0C63    ; XID_Continue # Mn   [2] TELUGU VOWEL SIGN VOCALIC L..TELUGU VOWEL SIGN VOCALIC LL
 0C66..0C6F    ; XID_Continue # Nd  [10] TELUGU DIGIT ZERO..TELUGU DIGIT NINE
@@ -9536,7 +9422,7 @@ FFDA..FFDC    ; XID_Start # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGU
 0CCA..0CCB    ; XID_Continue # Mc   [2] KANNADA VOWEL SIGN O..KANNADA VOWEL SIGN OO
 0CCC..0CCD    ; XID_Continue # Mn   [2] KANNADA VOWEL SIGN AU..KANNADA SIGN VIRAMA
 0CD5..0CD6    ; XID_Continue # Mc   [2] KANNADA LENGTH MARK..KANNADA AI LENGTH MARK
-0CDC..0CDE    ; XID_Continue # Lo   [3] KANNADA ARCHAIC SHRII..KANNADA LETTER FA
+0CDD..0CDE    ; XID_Continue # Lo   [2] KANNADA LETTER NAKAARA POLLU..KANNADA LETTER FA
 0CE0..0CE1    ; XID_Continue # Lo   [2] KANNADA LETTER VOCALIC RR..KANNADA LETTER VOCALIC LL
 0CE2..0CE3    ; XID_Continue # Mn   [2] KANNADA VOWEL SIGN VOCALIC L..KANNADA VOWEL SIGN VOCALIC LL
 0CE6..0CEF    ; XID_Continue # Nd  [10] KANNADA DIGIT ZERO..KANNADA DIGIT NINE
@@ -9753,8 +9639,7 @@ FFDA..FFDC    ; XID_Start # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGU
 1A90..1A99    ; XID_Continue # Nd  [10] TAI THAM THAM DIGIT ZERO..TAI THAM THAM DIGIT NINE
 1AA7          ; XID_Continue # Lm       TAI THAM SIGN MAI YAMOK
 1AB0..1ABD    ; XID_Continue # Mn  [14] COMBINING DOUBLED CIRCUMFLEX ACCENT..COMBINING PARENTHESES BELOW
-1ABF..1ADD    ; XID_Continue # Mn  [31] COMBINING LATIN SMALL LETTER W BELOW..COMBINING DOT-AND-RING BELOW
-1AE0..1AEB    ; XID_Continue # Mn  [12] COMBINING LEFT TACK ABOVE..COMBINING DOUBLE RIGHTWARDS ARROW ABOVE
+1ABF..1ACE    ; XID_Continue # Mn  [16] COMBINING LATIN SMALL LETTER W BELOW..COMBINING LATIN SMALL LETTER INSULAR T
 1B00..1B03    ; XID_Continue # Mn   [4] BALINESE SIGN ULU RICEM..BALINESE SIGN SURANG
 1B04          ; XID_Continue # Mc       BALINESE SIGN BISAH
 1B05..1B33    ; XID_Continue # Lo  [47] BALINESE LETTER AKARA..BALINESE LETTER HA
@@ -9942,8 +9827,11 @@ A771..A787    ; XID_Continue # L&  [23] LATIN SMALL LETTER DUM..LATIN SMALL LETT
 A788          ; XID_Continue # Lm       MODIFIER LETTER LOW CIRCUMFLEX ACCENT
 A78B..A78E    ; XID_Continue # L&   [4] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT
 A78F          ; XID_Continue # Lo       LATIN LETTER SINOLOGICAL DOT
-A790..A7DC    ; XID_Continue # L&  [77] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN CAPITAL LETTER LAMBDA WITH STROKE
-A7F1..A7F4    ; XID_Continue # Lm   [4] MODIFIER LETTER CAPITAL S..MODIFIER LETTER CAPITAL Q
+A790..A7CD    ; XID_Continue # L&  [62] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN SMALL LETTER S WITH DIAGONAL STROKE
+A7D0..A7D1    ; XID_Continue # L&   [2] LATIN CAPITAL LETTER CLOSED INSULAR G..LATIN SMALL LETTER CLOSED INSULAR G
+A7D3          ; XID_Continue # L&       LATIN SMALL LETTER DOUBLE THORN
+A7D5..A7DC    ; XID_Continue # L&   [8] LATIN SMALL LETTER DOUBLE WYNN..LATIN CAPITAL LETTER LAMBDA WITH STROKE
+A7F2..A7F4    ; XID_Continue # Lm   [3] MODIFIER LETTER CAPITAL C..MODIFIER LETTER CAPITAL Q
 A7F5..A7F6    ; XID_Continue # L&   [2] LATIN CAPITAL LETTER REVERSED HALF H..LATIN SMALL LETTER REVERSED HALF H
 A7F7          ; XID_Continue # Lo       LATIN EPIGRAPHIC LETTER SIDEWAYS I
 A7F8..A7F9    ; XID_Continue # Lm   [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE
@@ -10156,7 +10044,6 @@ FFDA..FFDC    ; XID_Continue # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HA
 108F4..108F5  ; XID_Continue # Lo   [2] HATRAN LETTER SHIN..HATRAN LETTER TAW
 10900..10915  ; XID_Continue # Lo  [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU
 10920..10939  ; XID_Continue # Lo  [26] LYDIAN LETTER A..LYDIAN LETTER C
-10940..10959  ; XID_Continue # Lo  [26] SIDETIC LETTER N01..SIDETIC LETTER N26
 10980..109B7  ; XID_Continue # Lo  [56] MEROITIC HIEROGLYPHIC LETTER A..MEROITIC CURSIVE LETTER DA
 109BE..109BF  ; XID_Continue # Lo   [2] MEROITIC CURSIVE LOGOGRAM RMT..MEROITIC CURSIVE LOGOGRAM IMN
 10A00         ; XID_Continue # Lo       KHAROSHTHI LETTER A
@@ -10195,9 +10082,7 @@ FFDA..FFDC    ; XID_Continue # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HA
 10EAB..10EAC  ; XID_Continue # Mn   [2] YEZIDI COMBINING HAMZA MARK..YEZIDI COMBINING MADDA MARK
 10EB0..10EB1  ; XID_Continue # Lo   [2] YEZIDI LETTER LAM WITH DOT ABOVE..YEZIDI LETTER YOT WITH CIRCUMFLEX ABOVE
 10EC2..10EC4  ; XID_Continue # Lo   [3] ARABIC LETTER DAL WITH TWO DOTS VERTICALLY BELOW..ARABIC LETTER KAF WITH TWO DOTS VERTICALLY BELOW
-10EC5         ; XID_Continue # Lm       ARABIC SMALL YEH BARREE WITH TWO DOTS BELOW
-10EC6..10EC7  ; XID_Continue # Lo   [2] ARABIC LETTER THIN NOON..ARABIC LETTER YEH WITH FOUR DOTS BELOW
-10EFA..10EFF  ; XID_Continue # Mn   [6] ARABIC DOUBLE VERTICAL BAR BELOW..ARABIC SMALL LOW WORD MADDA
+10EFC..10EFF  ; XID_Continue # Mn   [4] ARABIC COMBINING ALEF OVERLAY..ARABIC SMALL LOW WORD MADDA
 10F00..10F1C  ; XID_Continue # Lo  [29] OLD SOGDIAN LETTER ALEPH..OLD SOGDIAN LETTER FINAL TAW WITH VERTICAL TAIL
 10F27         ; XID_Continue # Lo       OLD SOGDIAN LIGATURE AYIN-DALETH
 10F30..10F45  ; XID_Continue # Lo  [22] SOGDIAN LETTER ALEPH..SOGDIAN INDEPENDENT SHIN
@@ -10424,12 +10309,6 @@ FFDA..FFDC    ; XID_Continue # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HA
 11A98..11A99  ; XID_Continue # Mn   [2] SOYOMBO GEMINATION MARK..SOYOMBO SUBJOINER
 11A9D         ; XID_Continue # Lo       SOYOMBO MARK PLUTA
 11AB0..11AF8  ; XID_Continue # Lo  [73] CANADIAN SYLLABICS NATTILIK HI..PAU CIN HAU GLOTTAL STOP FINAL
-11B60         ; XID_Continue # Mn       SHARADA VOWEL SIGN OE
-11B61         ; XID_Continue # Mc       SHARADA VOWEL SIGN OOE
-11B62..11B64  ; XID_Continue # Mn   [3] SHARADA VOWEL SIGN UE..SHARADA VOWEL SIGN SHORT E
-11B65         ; XID_Continue # Mc       SHARADA VOWEL SIGN SHORT O
-11B66         ; XID_Continue # Mn       SHARADA VOWEL SIGN CANDRA E
-11B67         ; XID_Continue # Mc       SHARADA VOWEL SIGN CANDRA O
 11BC0..11BE0  ; XID_Continue # Lo  [33] SUNUWAR LETTER DEVI..SUNUWAR LETTER KLOKO
 11BF0..11BF9  ; XID_Continue # Nd  [10] SUNUWAR DIGIT ZERO..SUNUWAR DIGIT NINE
 11C00..11C08  ; XID_Continue # Lo   [9] BHAIKSUKI LETTER A..BHAIKSUKI LETTER VOCALIC L
@@ -10470,10 +10349,6 @@ FFDA..FFDC    ; XID_Continue # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HA
 11D97         ; XID_Continue # Mn       GUNJALA GONDI VIRAMA
 11D98         ; XID_Continue # Lo       GUNJALA GONDI OM
 11DA0..11DA9  ; XID_Continue # Nd  [10] GUNJALA GONDI DIGIT ZERO..GUNJALA GONDI DIGIT NINE
-11DB0..11DD8  ; XID_Continue # Lo  [41] TOLONG SIKI LETTER I..TOLONG SIKI LETTER RRH
-11DD9         ; XID_Continue # Lm       TOLONG SIKI SIGN SELA
-11DDA..11DDB  ; XID_Continue # Lo   [2] TOLONG SIKI SIGN HECAKA..TOLONG SIKI UNGGA
-11DE0..11DE9  ; XID_Continue # Nd  [10] TOLONG SIKI DIGIT ZERO..TOLONG SIKI DIGIT NINE
 11EE0..11EF2  ; XID_Continue # Lo  [19] MAKASAR LETTER KA..MAKASAR ANGKA
 11EF3..11EF4  ; XID_Continue # Mn   [2] MAKASAR VOWEL SIGN I..MAKASAR VOWEL SIGN U
 11EF5..11EF6  ; XID_Continue # Mc   [2] MAKASAR VOWEL SIGN E..MAKASAR VOWEL SIGN O
@@ -10524,8 +10399,6 @@ FFDA..FFDC    ; XID_Continue # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HA
 16D6B..16D6C  ; XID_Continue # Lm   [2] KIRAT RAI SIGN VIRAMA..KIRAT RAI SIGN SAAT
 16D70..16D79  ; XID_Continue # Nd  [10] KIRAT RAI DIGIT ZERO..KIRAT RAI DIGIT NINE
 16E40..16E7F  ; XID_Continue # L&  [64] MEDEFAIDRIN CAPITAL LETTER M..MEDEFAIDRIN SMALL LETTER Y
-16EA0..16EB8  ; XID_Continue # L&  [25] BERIA ERFE CAPITAL LETTER ARKAB..BERIA ERFE CAPITAL LETTER AY
-16EBB..16ED3  ; XID_Continue # L&  [25] BERIA ERFE SMALL LETTER ARKAB..BERIA ERFE SMALL LETTER AY
 16F00..16F4A  ; XID_Continue # Lo  [75] MIAO LETTER PA..MIAO LETTER RTE
 16F4F         ; XID_Continue # Mn       MIAO SIGN CONSONANT MODIFIER BAR
 16F50         ; XID_Continue # Lo       MIAO LETTER NASALIZATION
@@ -10536,11 +10409,9 @@ FFDA..FFDC    ; XID_Continue # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HA
 16FE3         ; XID_Continue # Lm       OLD CHINESE ITERATION MARK
 16FE4         ; XID_Continue # Mn       KHITAN SMALL SCRIPT FILLER
 16FF0..16FF1  ; XID_Continue # Mc   [2] VIETNAMESE ALTERNATE READING MARK CA..VIETNAMESE ALTERNATE READING MARK NHAY
-16FF2..16FF3  ; XID_Continue # Lm   [2] CHINESE SMALL SIMPLIFIED ER..CHINESE SMALL TRADITIONAL ER
-16FF4..16FF6  ; XID_Continue # Nl   [3] YANGQIN SIGN SLOW ONE BEAT..YANGQIN SIGN SLOW TWO BEATS
-17000..18CD5  ; XID_Continue # Lo [7382] TANGUT IDEOGRAPH-17000..KHITAN SMALL SCRIPT CHARACTER-18CD5
-18CFF..18D1E  ; XID_Continue # Lo  [32] KHITAN SMALL SCRIPT CHARACTER-18CFF..TANGUT IDEOGRAPH-18D1E
-18D80..18DF2  ; XID_Continue # Lo [115] TANGUT COMPONENT-769..TANGUT COMPONENT-883
+17000..187F7  ; XID_Continue # Lo [6136] TANGUT IDEOGRAPH-17000..TANGUT IDEOGRAPH-187F7
+18800..18CD5  ; XID_Continue # Lo [1238] TANGUT COMPONENT-001..KHITAN SMALL SCRIPT CHARACTER-18CD5
+18CFF..18D08  ; XID_Continue # Lo  [10] KHITAN SMALL SCRIPT CHARACTER-18CFF..TANGUT IDEOGRAPH-18D08
 1AFF0..1AFF3  ; XID_Continue # Lm   [4] KATAKANA LETTER MINNAN TONE-2..KATAKANA LETTER MINNAN TONE-5
 1AFF5..1AFFB  ; XID_Continue # Lm   [7] KATAKANA LETTER MINNAN TONE-7..KATAKANA LETTER MINNAN NASALIZED TONE-5
 1AFFD..1AFFE  ; XID_Continue # Lm   [2] KATAKANA LETTER MINNAN NASALIZED TONE-7..KATAKANA LETTER MINNAN NASALIZED TONE-8
@@ -10631,17 +10502,6 @@ FFDA..FFDC    ; XID_Continue # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HA
 1E5EE..1E5EF  ; XID_Continue # Mn   [2] OL ONAL SIGN MU..OL ONAL SIGN IKIR
 1E5F0         ; XID_Continue # Lo       OL ONAL SIGN HODDOND
 1E5F1..1E5FA  ; XID_Continue # Nd  [10] OL ONAL DIGIT ZERO..OL ONAL DIGIT NINE
-1E6C0..1E6DE  ; XID_Continue # Lo  [31] TAI YO LETTER LOW KO..TAI YO LETTER HIGH KVO
-1E6E0..1E6E2  ; XID_Continue # Lo   [3] TAI YO LETTER AA..TAI YO LETTER UE
-1E6E3         ; XID_Continue # Mn       TAI YO SIGN UE
-1E6E4..1E6E5  ; XID_Continue # Lo   [2] TAI YO LETTER U..TAI YO LETTER AE
-1E6E6         ; XID_Continue # Mn       TAI YO SIGN AU
-1E6E7..1E6ED  ; XID_Continue # Lo   [7] TAI YO LETTER O..TAI YO LETTER AUE
-1E6EE..1E6EF  ; XID_Continue # Mn   [2] TAI YO SIGN AY..TAI YO SIGN ANG
-1E6F0..1E6F4  ; XID_Continue # Lo   [5] TAI YO LETTER AN..TAI YO LETTER AP
-1E6F5         ; XID_Continue # Mn       TAI YO SIGN OM
-1E6FE         ; XID_Continue # Lo       TAI YO SYMBOL MUEANG
-1E6FF         ; XID_Continue # Lm       TAI YO XAM LAI
 1E7E0..1E7E6  ; XID_Continue # Lo   [7] ETHIOPIC SYLLABLE HHYA..ETHIOPIC SYLLABLE HHYO
 1E7E8..1E7EB  ; XID_Continue # Lo   [4] ETHIOPIC SYLLABLE GURAGE HHWA..ETHIOPIC SYLLABLE HHWE
 1E7ED..1E7EE  ; XID_Continue # Lo   [2] ETHIOPIC SYLLABLE GURAGE MWI..ETHIOPIC SYLLABLE GURAGE MWEE
@@ -10687,16 +10547,17 @@ FFDA..FFDC    ; XID_Continue # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HA
 1EEAB..1EEBB  ; XID_Continue # Lo  [17] ARABIC MATHEMATICAL DOUBLE-STRUCK LAM..ARABIC MATHEMATICAL DOUBLE-STRUCK GHAIN
 1FBF0..1FBF9  ; XID_Continue # Nd  [10] SEGMENTED DIGIT ZERO..SEGMENTED DIGIT NINE
 20000..2A6DF  ; XID_Continue # Lo [42720] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6DF
-2A700..2B81D  ; XID_Continue # Lo [4382] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B81D
-2B820..2CEAD  ; XID_Continue # Lo [5774] CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEAD
+2A700..2B739  ; XID_Continue # Lo [4154] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B739
+2B740..2B81D  ; XID_Continue # Lo [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D
+2B820..2CEA1  ; XID_Continue # Lo [5762] CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEA1
 2CEB0..2EBE0  ; XID_Continue # Lo [7473] CJK UNIFIED IDEOGRAPH-2CEB0..CJK UNIFIED IDEOGRAPH-2EBE0
 2EBF0..2EE5D  ; XID_Continue # Lo [622] CJK UNIFIED IDEOGRAPH-2EBF0..CJK UNIFIED IDEOGRAPH-2EE5D
 2F800..2FA1D  ; XID_Continue # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
 30000..3134A  ; XID_Continue # Lo [4939] CJK UNIFIED IDEOGRAPH-30000..CJK UNIFIED IDEOGRAPH-3134A
-31350..33479  ; XID_Continue # Lo [8490] CJK UNIFIED IDEOGRAPH-31350..CJK UNIFIED IDEOGRAPH-33479
+31350..323AF  ; XID_Continue # Lo [4192] CJK UNIFIED IDEOGRAPH-31350..CJK UNIFIED IDEOGRAPH-323AF
 E0100..E01EF  ; XID_Continue # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
 
-# Total code points: 149221
+# Total code points: 144522
 
 # ================================================
 
@@ -10917,8 +10778,7 @@ E01F0..E0FFF  ; Default_Ignorable_Code_Point # Cn [3600] <reserved-E01F0>..<rese
 1A7F          ; Grapheme_Extend # Mn       TAI THAM COMBINING CRYPTOGRAMMIC DOT
 1AB0..1ABD    ; Grapheme_Extend # Mn  [14] COMBINING DOUBLED CIRCUMFLEX ACCENT..COMBINING PARENTHESES BELOW
 1ABE          ; Grapheme_Extend # Me       COMBINING PARENTHESES OVERLAY
-1ABF..1ADD    ; Grapheme_Extend # Mn  [31] COMBINING LATIN SMALL LETTER W BELOW..COMBINING DOT-AND-RING BELOW
-1AE0..1AEB    ; Grapheme_Extend # Mn  [12] COMBINING LEFT TACK ABOVE..COMBINING DOUBLE RIGHTWARDS ARROW ABOVE
+1ABF..1ACE    ; Grapheme_Extend # Mn  [16] COMBINING LATIN SMALL LETTER W BELOW..COMBINING LATIN SMALL LETTER INSULAR T
 1B00..1B03    ; Grapheme_Extend # Mn   [4] BALINESE SIGN ULU RICEM..BALINESE SIGN SURANG
 1B34          ; Grapheme_Extend # Mn       BALINESE SIGN REREKAN
 1B35          ; Grapheme_Extend # Mc       BALINESE VOWEL SIGN TEDUNG
@@ -11014,7 +10874,7 @@ FF9E..FF9F    ; Grapheme_Extend # Lm   [2] HALFWIDTH KATAKANA VOICED SOUND MARK.
 10D24..10D27  ; Grapheme_Extend # Mn   [4] HANIFI ROHINGYA SIGN HARBAHAY..HANIFI ROHINGYA SIGN TASSI
 10D69..10D6D  ; Grapheme_Extend # Mn   [5] GARAY VOWEL SIGN E..GARAY CONSONANT NASALIZATION MARK
 10EAB..10EAC  ; Grapheme_Extend # Mn   [2] YEZIDI COMBINING HAMZA MARK..YEZIDI COMBINING MADDA MARK
-10EFA..10EFF  ; Grapheme_Extend # Mn   [6] ARABIC DOUBLE VERTICAL BAR BELOW..ARABIC SMALL LOW WORD MADDA
+10EFC..10EFF  ; Grapheme_Extend # Mn   [4] ARABIC COMBINING ALEF OVERLAY..ARABIC SMALL LOW WORD MADDA
 10F46..10F50  ; Grapheme_Extend # Mn  [11] SOGDIAN COMBINING DOT BELOW..SOGDIAN COMBINING STROKE BELOW
 10F82..10F85  ; Grapheme_Extend # Mn   [4] OLD UYGHUR COMBINING DOT ABOVE..OLD UYGHUR COMBINING TWO DOTS BELOW
 11001         ; Grapheme_Extend # Mn       BRAHMI SIGN ANUSVARA
@@ -11105,9 +10965,6 @@ FF9E..FF9F    ; Grapheme_Extend # Lm   [2] HALFWIDTH KATAKANA VOICED SOUND MARK.
 11A59..11A5B  ; Grapheme_Extend # Mn   [3] SOYOMBO VOWEL SIGN VOCALIC R..SOYOMBO VOWEL LENGTH MARK
 11A8A..11A96  ; Grapheme_Extend # Mn  [13] SOYOMBO FINAL CONSONANT SIGN G..SOYOMBO SIGN ANUSVARA
 11A98..11A99  ; Grapheme_Extend # Mn   [2] SOYOMBO GEMINATION MARK..SOYOMBO SUBJOINER
-11B60         ; Grapheme_Extend # Mn       SHARADA VOWEL SIGN OE
-11B62..11B64  ; Grapheme_Extend # Mn   [3] SHARADA VOWEL SIGN UE..SHARADA VOWEL SIGN SHORT E
-11B66         ; Grapheme_Extend # Mn       SHARADA VOWEL SIGN CANDRA E
 11C30..11C36  ; Grapheme_Extend # Mn   [7] BHAIKSUKI VOWEL SIGN I..BHAIKSUKI VOWEL SIGN VOCALIC L
 11C38..11C3D  ; Grapheme_Extend # Mn   [6] BHAIKSUKI VOWEL SIGN E..BHAIKSUKI SIGN ANUSVARA
 11C3F         ; Grapheme_Extend # Mn       BHAIKSUKI SIGN VIRAMA
@@ -11167,16 +11024,12 @@ FF9E..FF9F    ; Grapheme_Extend # Lm   [2] HALFWIDTH KATAKANA VOICED SOUND MARK.
 1E2EC..1E2EF  ; Grapheme_Extend # Mn   [4] WANCHO TONE TUP..WANCHO TONE KOINI
 1E4EC..1E4EF  ; Grapheme_Extend # Mn   [4] NAG MUNDARI SIGN MUHOR..NAG MUNDARI SIGN SUTUH
 1E5EE..1E5EF  ; Grapheme_Extend # Mn   [2] OL ONAL SIGN MU..OL ONAL SIGN IKIR
-1E6E3         ; Grapheme_Extend # Mn       TAI YO SIGN UE
-1E6E6         ; Grapheme_Extend # Mn       TAI YO SIGN AU
-1E6EE..1E6EF  ; Grapheme_Extend # Mn   [2] TAI YO SIGN AY..TAI YO SIGN ANG
-1E6F5         ; Grapheme_Extend # Mn       TAI YO SIGN OM
 1E8D0..1E8D6  ; Grapheme_Extend # Mn   [7] MENDE KIKAKUI COMBINING NUMBER TEENS..MENDE KIKAKUI COMBINING NUMBER MILLIONS
 1E944..1E94A  ; Grapheme_Extend # Mn   [7] ADLAM ALIF LENGTHENER..ADLAM NUKTA
 E0020..E007F  ; Grapheme_Extend # Cf  [96] TAG SPACE..CANCEL TAG
 E0100..E01EF  ; Grapheme_Extend # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
 
-# Total code points: 2232
+# Total code points: 2193
 
 # ================================================
 
@@ -11245,8 +11098,8 @@ E0100..E01EF  ; Grapheme_Extend # Mn [240] VARIATION SELECTOR-17..VARIATION SELE
 01BC..01BF    ; Grapheme_Base # L&   [4] LATIN CAPITAL LETTER TONE FIVE..LATIN LETTER WYNN
 01C0..01C3    ; Grapheme_Base # Lo   [4] LATIN LETTER DENTAL CLICK..LATIN LETTER RETROFLEX CLICK
 01C4..0293    ; Grapheme_Base # L& [208] LATIN CAPITAL LETTER DZ WITH CARON..LATIN SMALL LETTER EZH WITH CURL
-0294..0295    ; Grapheme_Base # Lo   [2] LATIN LETTER GLOTTAL STOP..LATIN LETTER PHARYNGEAL VOICED FRICATIVE
-0296..02AF    ; Grapheme_Base # L&  [26] LATIN LETTER INVERTED GLOTTAL STOP..LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL
+0294          ; Grapheme_Base # Lo       LATIN LETTER GLOTTAL STOP
+0295..02AF    ; Grapheme_Base # L&  [27] LATIN LETTER PHARYNGEAL VOICED FRICATIVE..LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL
 02B0..02C1    ; Grapheme_Base # Lm  [18] MODIFIER LETTER SMALL H..MODIFIER LETTER REVERSED GLOTTAL STOP
 02C2..02C5    ; Grapheme_Base # Sk   [4] MODIFIER LETTER LEFT ARROWHEAD..MODIFIER LETTER DOWN ARROWHEAD
 02C6..02D1    ; Grapheme_Base # Lm  [12] MODIFIER LETTER CIRCUMFLEX ACCENT..MODIFIER LETTER HALF TRIANGULAR COLON
@@ -11337,7 +11190,7 @@ E0100..E01EF  ; Grapheme_Extend # Mn [240] VARIATION SELECTOR-17..VARIATION SELE
 0860..086A    ; Grapheme_Base # Lo  [11] SYRIAC LETTER MALAYALAM NGA..SYRIAC LETTER MALAYALAM SSA
 0870..0887    ; Grapheme_Base # Lo  [24] ARABIC LETTER ALEF WITH ATTACHED FATHA..ARABIC BASELINE ROUND DOT
 0888          ; Grapheme_Base # Sk       ARABIC RAISED ROUND DOT
-0889..088F    ; Grapheme_Base # Lo   [7] ARABIC LETTER NOON WITH INVERTED SMALL V..ARABIC LETTER NOON WITH RING ABOVE
+0889..088E    ; Grapheme_Base # Lo   [6] ARABIC LETTER NOON WITH INVERTED SMALL V..ARABIC VERTICAL TAIL
 08A0..08C8    ; Grapheme_Base # Lo  [41] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER GRAF
 08C9          ; Grapheme_Base # Lm       ARABIC SMALL FARSI YEH
 0903          ; Grapheme_Base # Mc       DEVANAGARI SIGN VISARGA
@@ -11452,7 +11305,7 @@ E0100..E01EF  ; Grapheme_Extend # Mn [240] VARIATION SELECTOR-17..VARIATION SELE
 0C3D          ; Grapheme_Base # Lo       TELUGU SIGN AVAGRAHA
 0C41..0C44    ; Grapheme_Base # Mc   [4] TELUGU VOWEL SIGN U..TELUGU VOWEL SIGN VOCALIC RR
 0C58..0C5A    ; Grapheme_Base # Lo   [3] TELUGU LETTER TSA..TELUGU LETTER RRRA
-0C5C..0C5D    ; Grapheme_Base # Lo   [2] TELUGU ARCHAIC SHRII..TELUGU LETTER NAKAARA POLLU
+0C5D          ; Grapheme_Base # Lo       TELUGU LETTER NAKAARA POLLU
 0C60..0C61    ; Grapheme_Base # Lo   [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL
 0C66..0C6F    ; Grapheme_Base # Nd  [10] TELUGU DIGIT ZERO..TELUGU DIGIT NINE
 0C77          ; Grapheme_Base # Po       TELUGU SIGN SIDDHAM
@@ -11470,7 +11323,7 @@ E0100..E01EF  ; Grapheme_Extend # Mn [240] VARIATION SELECTOR-17..VARIATION SELE
 0CBE          ; Grapheme_Base # Mc       KANNADA VOWEL SIGN AA
 0CC1          ; Grapheme_Base # Mc       KANNADA VOWEL SIGN U
 0CC3..0CC4    ; Grapheme_Base # Mc   [2] KANNADA VOWEL SIGN VOCALIC R..KANNADA VOWEL SIGN VOCALIC RR
-0CDC..0CDE    ; Grapheme_Base # Lo   [3] KANNADA ARCHAIC SHRII..KANNADA LETTER FA
+0CDD..0CDE    ; Grapheme_Base # Lo   [2] KANNADA LETTER NAKAARA POLLU..KANNADA LETTER FA
 0CE0..0CE1    ; Grapheme_Base # Lo   [2] KANNADA LETTER VOCALIC RR..KANNADA LETTER VOCALIC LL
 0CE6..0CEF    ; Grapheme_Base # Nd  [10] KANNADA DIGIT ZERO..KANNADA DIGIT NINE
 0CF1..0CF2    ; Grapheme_Base # Lo   [2] KANNADA SIGN JIHVAMULIYA..KANNADA SIGN UPADHMANIYA
@@ -11786,7 +11639,7 @@ E0100..E01EF  ; Grapheme_Extend # Mn [240] VARIATION SELECTOR-17..VARIATION SELE
 208D          ; Grapheme_Base # Ps       SUBSCRIPT LEFT PARENTHESIS
 208E          ; Grapheme_Base # Pe       SUBSCRIPT RIGHT PARENTHESIS
 2090..209C    ; Grapheme_Base # Lm  [13] LATIN SUBSCRIPT SMALL LETTER A..LATIN SUBSCRIPT SMALL LETTER T
-20A0..20C1    ; Grapheme_Base # Sc  [34] EURO-CURRENCY SIGN..SAUDI RIYAL SIGN
+20A0..20C0    ; Grapheme_Base # Sc  [33] EURO-CURRENCY SIGN..SOM SIGN
 2100..2101    ; Grapheme_Base # So   [2] ACCOUNT OF..ADDRESSED TO THE SUBJECT
 2102          ; Grapheme_Base # L&       DOUBLE-STRUCK CAPITAL C
 2103..2106    ; Grapheme_Base # So   [4] DEGREE CELSIUS..CADA UNA
@@ -11943,7 +11796,8 @@ E0100..E01EF  ; Grapheme_Extend # Mn [240] VARIATION SELECTOR-17..VARIATION SELE
 2B45..2B46    ; Grapheme_Base # So   [2] LEFTWARDS QUADRUPLE ARROW..RIGHTWARDS QUADRUPLE ARROW
 2B47..2B4C    ; Grapheme_Base # Sm   [6] REVERSE TILDE OPERATOR ABOVE RIGHTWARDS ARROW..RIGHTWARDS ARROW ABOVE REVERSE TILDE OPERATOR
 2B4D..2B73    ; Grapheme_Base # So  [39] DOWNWARDS TRIANGLE-HEADED ZIGZAG ARROW..DOWNWARDS TRIANGLE-HEADED ARROW TO BAR
-2B76..2BFF    ; Grapheme_Base # So [138] NORTH WEST TRIANGLE-HEADED ARROW TO BAR..HELLSCHREIBER PAUSE SYMBOL
+2B76..2B95    ; Grapheme_Base # So  [32] NORTH WEST TRIANGLE-HEADED ARROW TO BAR..RIGHTWARDS BLACK ARROW
+2B97..2BFF    ; Grapheme_Base # So [105] SYMBOL FOR TYPE A ELECTRONICS..HELLSCHREIBER PAUSE SYMBOL
 2C00..2C7B    ; Grapheme_Base # L& [124] GLAGOLITIC CAPITAL LETTER AZU..LATIN LETTER SMALL CAPITAL TURNED E
 2C7C..2C7D    ; Grapheme_Base # Lm   [2] LATIN SUBSCRIPT SMALL LETTER J..MODIFIER LETTER CAPITAL V
 2C7E..2CE4    ; Grapheme_Base # L& [103] LATIN CAPITAL LETTER S WITH SWASH TAIL..COPTIC SYMBOL KAI
@@ -12123,8 +11977,11 @@ A788          ; Grapheme_Base # Lm       MODIFIER LETTER LOW CIRCUMFLEX ACCENT
 A789..A78A    ; Grapheme_Base # Sk   [2] MODIFIER LETTER COLON..MODIFIER LETTER SHORT EQUALS SIGN
 A78B..A78E    ; Grapheme_Base # L&   [4] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT
 A78F          ; Grapheme_Base # Lo       LATIN LETTER SINOLOGICAL DOT
-A790..A7DC    ; Grapheme_Base # L&  [77] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN CAPITAL LETTER LAMBDA WITH STROKE
-A7F1..A7F4    ; Grapheme_Base # Lm   [4] MODIFIER LETTER CAPITAL S..MODIFIER LETTER CAPITAL Q
+A790..A7CD    ; Grapheme_Base # L&  [62] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN SMALL LETTER S WITH DIAGONAL STROKE
+A7D0..A7D1    ; Grapheme_Base # L&   [2] LATIN CAPITAL LETTER CLOSED INSULAR G..LATIN SMALL LETTER CLOSED INSULAR G
+A7D3          ; Grapheme_Base # L&       LATIN SMALL LETTER DOUBLE THORN
+A7D5..A7DC    ; Grapheme_Base # L&   [8] LATIN SMALL LETTER DOUBLE WYNN..LATIN CAPITAL LETTER LAMBDA WITH STROKE
+A7F2..A7F4    ; Grapheme_Base # Lm   [3] MODIFIER LETTER CAPITAL C..MODIFIER LETTER CAPITAL Q
 A7F5..A7F6    ; Grapheme_Base # L&   [2] LATIN CAPITAL LETTER REVERSED HALF H..LATIN SMALL LETTER REVERSED HALF H
 A7F7          ; Grapheme_Base # Lo       LATIN EPIGRAPHIC LETTER SIDEWAYS I
 A7F8..A7F9    ; Grapheme_Base # Lm   [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE
@@ -12240,15 +12097,13 @@ FB40..FB41    ; Grapheme_Base # Lo   [2] HEBREW LETTER NUN WITH DAGESH..HEBREW L
 FB43..FB44    ; Grapheme_Base # Lo   [2] HEBREW LETTER FINAL PE WITH DAGESH..HEBREW LETTER PE WITH DAGESH
 FB46..FBB1    ; Grapheme_Base # Lo [108] HEBREW LETTER TSADI WITH DAGESH..ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM
 FBB2..FBC2    ; Grapheme_Base # Sk  [17] ARABIC SYMBOL DOT ABOVE..ARABIC SYMBOL WASLA ABOVE
-FBC3..FBD2    ; Grapheme_Base # So  [16] ARABIC LIGATURE JALLA WA-ALAA..ARABIC LIGATURE ALAYHI AR-RAHMAH
 FBD3..FD3D    ; Grapheme_Base # Lo [363] ARABIC LETTER NG ISOLATED FORM..ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM
 FD3E          ; Grapheme_Base # Pe       ORNATE LEFT PARENTHESIS
 FD3F          ; Grapheme_Base # Ps       ORNATE RIGHT PARENTHESIS
 FD40..FD4F    ; Grapheme_Base # So  [16] ARABIC LIGATURE RAHIMAHU ALLAAH..ARABIC LIGATURE RAHIMAHUM ALLAAH
 FD50..FD8F    ; Grapheme_Base # Lo  [64] ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM..ARABIC LIGATURE MEEM WITH KHAH WITH MEEM INITIAL FORM
-FD90..FD91    ; Grapheme_Base # So   [2] ARABIC LIGATURE RAHMATU ALLAAHI ALAYH..ARABIC LIGATURE RAHMATU ALLAAHI ALAYHAA
 FD92..FDC7    ; Grapheme_Base # Lo  [54] ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM..ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM
-FDC8..FDCF    ; Grapheme_Base # So   [8] ARABIC LIGATURE RAHIMAHU ALLAAH TAAALAA..ARABIC LIGATURE SALAAMUHU ALAYNAA
+FDCF          ; Grapheme_Base # So       ARABIC LIGATURE SALAAMUHU ALAYNAA
 FDF0..FDFB    ; Grapheme_Base # Lo  [12] ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM..ARABIC LIGATURE JALLAJALALOUHOU
 FDFC          ; Grapheme_Base # Sc       RIAL SIGN
 FDFD..FDFF    ; Grapheme_Base # So   [3] ARABIC LIGATURE BISMILLAH AR-RAHMAN AR-RAHEEM..ARABIC LIGATURE AZZA WA JALL
@@ -12425,7 +12280,6 @@ FFFC..FFFD    ; Grapheme_Base # So   [2] OBJECT REPLACEMENT CHARACTER..REPLACEME
 1091F         ; Grapheme_Base # Po       PHOENICIAN WORD SEPARATOR
 10920..10939  ; Grapheme_Base # Lo  [26] LYDIAN LETTER A..LYDIAN LETTER C
 1093F         ; Grapheme_Base # Po       LYDIAN TRIANGULAR MARK
-10940..10959  ; Grapheme_Base # Lo  [26] SIDETIC LETTER N01..SIDETIC LETTER N26
 10980..109B7  ; Grapheme_Base # Lo  [56] MEROITIC HIEROGLYPHIC LETTER A..MEROITIC CURSIVE LETTER DA
 109BC..109BD  ; Grapheme_Base # No   [2] MEROITIC CURSIVE FRACTION ELEVEN TWELFTHS..MEROITIC CURSIVE FRACTION ONE HALF
 109BE..109BF  ; Grapheme_Base # Lo   [2] MEROITIC CURSIVE LOGOGRAM RMT..MEROITIC CURSIVE LOGOGRAM IMN
@@ -12476,10 +12330,6 @@ FFFC..FFFD    ; Grapheme_Base # So   [2] OBJECT REPLACEMENT CHARACTER..REPLACEME
 10EAD         ; Grapheme_Base # Pd       YEZIDI HYPHENATION MARK
 10EB0..10EB1  ; Grapheme_Base # Lo   [2] YEZIDI LETTER LAM WITH DOT ABOVE..YEZIDI LETTER YOT WITH CIRCUMFLEX ABOVE
 10EC2..10EC4  ; Grapheme_Base # Lo   [3] ARABIC LETTER DAL WITH TWO DOTS VERTICALLY BELOW..ARABIC LETTER KAF WITH TWO DOTS VERTICALLY BELOW
-10EC5         ; Grapheme_Base # Lm       ARABIC SMALL YEH BARREE WITH TWO DOTS BELOW
-10EC6..10EC7  ; Grapheme_Base # Lo   [2] ARABIC LETTER THIN NOON..ARABIC LETTER YEH WITH FOUR DOTS BELOW
-10ED0         ; Grapheme_Base # Po       ARABIC BIBLICAL END OF VERSE
-10ED1..10ED8  ; Grapheme_Base # So   [8] ARABIC LIGATURE ALAYHAA AS-SALAATU WAS-SALAAM..ARABIC LIGATURE NAWWARA ALLAAHU MARQADAH
 10F00..10F1C  ; Grapheme_Base # Lo  [29] OLD SOGDIAN LETTER ALEPH..OLD SOGDIAN LETTER FINAL TAW WITH VERTICAL TAIL
 10F1D..10F26  ; Grapheme_Base # No  [10] OLD SOGDIAN NUMBER ONE..OLD SOGDIAN FRACTION ONE HALF
 10F27         ; Grapheme_Base # Lo       OLD SOGDIAN LIGATURE AYIN-DALETH
@@ -12665,9 +12515,6 @@ FFFC..FFFD    ; Grapheme_Base # So   [2] OBJECT REPLACEMENT CHARACTER..REPLACEME
 11A9E..11AA2  ; Grapheme_Base # Po   [5] SOYOMBO HEAD MARK WITH MOON AND SUN AND TRIPLE FLAME..SOYOMBO TERMINAL MARK-2
 11AB0..11AF8  ; Grapheme_Base # Lo  [73] CANADIAN SYLLABICS NATTILIK HI..PAU CIN HAU GLOTTAL STOP FINAL
 11B00..11B09  ; Grapheme_Base # Po  [10] DEVANAGARI HEAD MARK..DEVANAGARI SIGN MINDU
-11B61         ; Grapheme_Base # Mc       SHARADA VOWEL SIGN OOE
-11B65         ; Grapheme_Base # Mc       SHARADA VOWEL SIGN SHORT O
-11B67         ; Grapheme_Base # Mc       SHARADA VOWEL SIGN CANDRA O
 11BC0..11BE0  ; Grapheme_Base # Lo  [33] SUNUWAR LETTER DEVI..SUNUWAR LETTER KLOKO
 11BE1         ; Grapheme_Base # Po       SUNUWAR SIGN PVO
 11BF0..11BF9  ; Grapheme_Base # Nd  [10] SUNUWAR DIGIT ZERO..SUNUWAR DIGIT NINE
@@ -12697,10 +12544,6 @@ FFFC..FFFD    ; Grapheme_Base # So   [2] OBJECT REPLACEMENT CHARACTER..REPLACEME
 11D96         ; Grapheme_Base # Mc       GUNJALA GONDI SIGN VISARGA
 11D98         ; Grapheme_Base # Lo       GUNJALA GONDI OM
 11DA0..11DA9  ; Grapheme_Base # Nd  [10] GUNJALA GONDI DIGIT ZERO..GUNJALA GONDI DIGIT NINE
-11DB0..11DD8  ; Grapheme_Base # Lo  [41] TOLONG SIKI LETTER I..TOLONG SIKI LETTER RRH
-11DD9         ; Grapheme_Base # Lm       TOLONG SIKI SIGN SELA
-11DDA..11DDB  ; Grapheme_Base # Lo   [2] TOLONG SIKI SIGN HECAKA..TOLONG SIKI UNGGA
-11DE0..11DE9  ; Grapheme_Base # Nd  [10] TOLONG SIKI DIGIT ZERO..TOLONG SIKI DIGIT NINE
 11EE0..11EF2  ; Grapheme_Base # Lo  [19] MAKASAR LETTER KA..MAKASAR ANGKA
 11EF5..11EF6  ; Grapheme_Base # Mc   [2] MAKASAR VOWEL SIGN E..MAKASAR VOWEL SIGN O
 11EF7..11EF8  ; Grapheme_Base # Po   [2] MAKASAR PASSIMBANG..MAKASAR END OF SECTION
@@ -12757,8 +12600,6 @@ FFFC..FFFD    ; Grapheme_Base # So   [2] OBJECT REPLACEMENT CHARACTER..REPLACEME
 16E40..16E7F  ; Grapheme_Base # L&  [64] MEDEFAIDRIN CAPITAL LETTER M..MEDEFAIDRIN SMALL LETTER Y
 16E80..16E96  ; Grapheme_Base # No  [23] MEDEFAIDRIN DIGIT ZERO..MEDEFAIDRIN DIGIT THREE ALTERNATE FORM
 16E97..16E9A  ; Grapheme_Base # Po   [4] MEDEFAIDRIN COMMA..MEDEFAIDRIN EXCLAMATION OH
-16EA0..16EB8  ; Grapheme_Base # L&  [25] BERIA ERFE CAPITAL LETTER ARKAB..BERIA ERFE CAPITAL LETTER AY
-16EBB..16ED3  ; Grapheme_Base # L&  [25] BERIA ERFE SMALL LETTER ARKAB..BERIA ERFE SMALL LETTER AY
 16F00..16F4A  ; Grapheme_Base # Lo  [75] MIAO LETTER PA..MIAO LETTER RTE
 16F50         ; Grapheme_Base # Lo       MIAO LETTER NASALIZATION
 16F51..16F87  ; Grapheme_Base # Mc  [55] MIAO SIGN ASPIRATION..MIAO VOWEL SIGN UI
@@ -12766,11 +12607,9 @@ FFFC..FFFD    ; Grapheme_Base # So   [2] OBJECT REPLACEMENT CHARACTER..REPLACEME
 16FE0..16FE1  ; Grapheme_Base # Lm   [2] TANGUT ITERATION MARK..NUSHU ITERATION MARK
 16FE2         ; Grapheme_Base # Po       OLD CHINESE HOOK MARK
 16FE3         ; Grapheme_Base # Lm       OLD CHINESE ITERATION MARK
-16FF2..16FF3  ; Grapheme_Base # Lm   [2] CHINESE SMALL SIMPLIFIED ER..CHINESE SMALL TRADITIONAL ER
-16FF4..16FF6  ; Grapheme_Base # Nl   [3] YANGQIN SIGN SLOW ONE BEAT..YANGQIN SIGN SLOW TWO BEATS
-17000..18CD5  ; Grapheme_Base # Lo [7382] TANGUT IDEOGRAPH-17000..KHITAN SMALL SCRIPT CHARACTER-18CD5
-18CFF..18D1E  ; Grapheme_Base # Lo  [32] KHITAN SMALL SCRIPT CHARACTER-18CFF..TANGUT IDEOGRAPH-18D1E
-18D80..18DF2  ; Grapheme_Base # Lo [115] TANGUT COMPONENT-769..TANGUT COMPONENT-883
+17000..187F7  ; Grapheme_Base # Lo [6136] TANGUT IDEOGRAPH-17000..TANGUT IDEOGRAPH-187F7
+18800..18CD5  ; Grapheme_Base # Lo [1238] TANGUT COMPONENT-001..KHITAN SMALL SCRIPT CHARACTER-18CD5
+18CFF..18D08  ; Grapheme_Base # Lo  [10] KHITAN SMALL SCRIPT CHARACTER-18CFF..TANGUT IDEOGRAPH-18D08
 1AFF0..1AFF3  ; Grapheme_Base # Lm   [4] KATAKANA LETTER MINNAN TONE-2..KATAKANA LETTER MINNAN TONE-5
 1AFF5..1AFFB  ; Grapheme_Base # Lm   [7] KATAKANA LETTER MINNAN TONE-7..KATAKANA LETTER MINNAN NASALIZED TONE-5
 1AFFD..1AFFE  ; Grapheme_Base # Lm   [2] KATAKANA LETTER MINNAN NASALIZED TONE-7..KATAKANA LETTER MINNAN NASALIZED TONE-8
@@ -12788,11 +12627,7 @@ FFFC..FFFD    ; Grapheme_Base # So   [2] OBJECT REPLACEMENT CHARACTER..REPLACEME
 1BC9F         ; Grapheme_Base # Po       DUPLOYAN PUNCTUATION CHINOOK FULL STOP
 1CC00..1CCEF  ; Grapheme_Base # So [240] UP-POINTING GO-KART..OUTLINED LATIN CAPITAL LETTER Z
 1CCF0..1CCF9  ; Grapheme_Base # Nd  [10] OUTLINED DIGIT ZERO..OUTLINED DIGIT NINE
-1CCFA..1CCFC  ; Grapheme_Base # So   [3] SNAKE SYMBOL..NOSE SYMBOL
 1CD00..1CEB3  ; Grapheme_Base # So [436] BLOCK OCTANT-3..BLACK RIGHT TRIANGLE CARET
-1CEBA..1CED0  ; Grapheme_Base # So  [23] FRAGILE SYMBOL..LEUKOTHEA
-1CEE0..1CEEF  ; Grapheme_Base # So  [16] GEOMANTIC FIGURE POPULUS..GEOMANTIC FIGURE VIA
-1CEF0         ; Grapheme_Base # Sm       MEDIUM SMALL WHITE CIRCLE WITH HORIZONTAL BAR
 1CF50..1CFC3  ; Grapheme_Base # So [116] ZNAMENNY NEUME KRYUK..ZNAMENNY NEUME PAUK
 1D000..1D0F5  ; Grapheme_Base # So [246] BYZANTINE MUSICAL SYMBOL PSILI..BYZANTINE MUSICAL SYMBOL GORGON NEO KATO
 1D100..1D126  ; Grapheme_Base # So  [39] MUSICAL SYMBOL SINGLE BARLINE..MUSICAL SYMBOL DRUM CLEF-2
@@ -12875,13 +12710,6 @@ FFFC..FFFD    ; Grapheme_Base # So   [2] OBJECT REPLACEMENT CHARACTER..REPLACEME
 1E5F0         ; Grapheme_Base # Lo       OL ONAL SIGN HODDOND
 1E5F1..1E5FA  ; Grapheme_Base # Nd  [10] OL ONAL DIGIT ZERO..OL ONAL DIGIT NINE
 1E5FF         ; Grapheme_Base # Po       OL ONAL ABBREVIATION SIGN
-1E6C0..1E6DE  ; Grapheme_Base # Lo  [31] TAI YO LETTER LOW KO..TAI YO LETTER HIGH KVO
-1E6E0..1E6E2  ; Grapheme_Base # Lo   [3] TAI YO LETTER AA..TAI YO LETTER UE
-1E6E4..1E6E5  ; Grapheme_Base # Lo   [2] TAI YO LETTER U..TAI YO LETTER AE
-1E6E7..1E6ED  ; Grapheme_Base # Lo   [7] TAI YO LETTER O..TAI YO LETTER AUE
-1E6F0..1E6F4  ; Grapheme_Base # Lo   [5] TAI YO LETTER AN..TAI YO LETTER AP
-1E6FE         ; Grapheme_Base # Lo       TAI YO SYMBOL MUEANG
-1E6FF         ; Grapheme_Base # Lm       TAI YO XAM LAI
 1E7E0..1E7E6  ; Grapheme_Base # Lo   [7] ETHIOPIC SYLLABLE HHYA..ETHIOPIC SYLLABLE HHYO
 1E7E8..1E7EB  ; Grapheme_Base # Lo   [4] ETHIOPIC SYLLABLE GURAGE HHWA..ETHIOPIC SYLLABLE HHWE
 1E7ED..1E7EE  ; Grapheme_Base # Lo   [2] ETHIOPIC SYLLABLE GURAGE MWI..ETHIOPIC SYLLABLE GURAGE MWEE
@@ -12949,10 +12777,11 @@ FFFC..FFFD    ; Grapheme_Base # So   [2] OBJECT REPLACEMENT CHARACTER..REPLACEME
 1F260..1F265  ; Grapheme_Base # So   [6] ROUNDED SYMBOL FOR FU..ROUNDED SYMBOL FOR CAI
 1F300..1F3FA  ; Grapheme_Base # So [251] CYCLONE..AMPHORA
 1F3FB..1F3FF  ; Grapheme_Base # Sk   [5] EMOJI MODIFIER FITZPATRICK TYPE-1-2..EMOJI MODIFIER FITZPATRICK TYPE-6
-1F400..1F6D8  ; Grapheme_Base # So [729] RAT..LANDSLIDE
+1F400..1F6D7  ; Grapheme_Base # So [728] RAT..ELEVATOR
 1F6DC..1F6EC  ; Grapheme_Base # So  [17] WIRELESS..AIRPLANE ARRIVING
 1F6F0..1F6FC  ; Grapheme_Base # So  [13] SATELLITE..ROLLER SKATE
-1F700..1F7D9  ; Grapheme_Base # So [218] ALCHEMICAL SYMBOL FOR QUINTESSENCE..NINE POINTED WHITE STAR
+1F700..1F776  ; Grapheme_Base # So [119] ALCHEMICAL SYMBOL FOR QUINTESSENCE..LUNAR ECLIPSE
+1F77B..1F7D9  ; Grapheme_Base # So  [95] HAUMEA..NINE POINTED WHITE STAR
 1F7E0..1F7EB  ; Grapheme_Base # So  [12] LARGE ORANGE CIRCLE..LARGE BROWN SQUARE
 1F7F0         ; Grapheme_Base # So       HEAVY EQUALS SIGN
 1F800..1F80B  ; Grapheme_Base # So  [12] LEFTWARDS ARROW WITH SMALL TRIANGLE ARROWHEAD..DOWNWARDS ARROW WITH LARGE TRIANGLE ARROWHEAD
@@ -12962,30 +12791,28 @@ FFFC..FFFD    ; Grapheme_Base # So   [2] OBJECT REPLACEMENT CHARACTER..REPLACEME
 1F890..1F8AD  ; Grapheme_Base # So  [30] LEFTWARDS TRIANGLE ARROWHEAD..WHITE ARROW SHAFT WIDTH TWO THIRDS
 1F8B0..1F8BB  ; Grapheme_Base # So  [12] ARROW POINTING UPWARDS THEN NORTH WEST..SOUTH WEST ARROW FROM BAR
 1F8C0..1F8C1  ; Grapheme_Base # So   [2] LEFTWARDS ARROW FROM DOWNWARDS ARROW..RIGHTWARDS ARROW FROM DOWNWARDS ARROW
-1F8D0..1F8D8  ; Grapheme_Base # Sm   [9] LONG RIGHTWARDS ARROW OVER LONG LEFTWARDS ARROW..LONG LEFT RIGHT ARROW WITH DEPENDENT LOBE
-1F900..1FA57  ; Grapheme_Base # So [344] CIRCLED CROSS FORMEE WITH FOUR DOTS..BLACK CHESS ALFIL
+1F900..1FA53  ; Grapheme_Base # So [340] CIRCLED CROSS FORMEE WITH FOUR DOTS..BLACK CHESS KNIGHT-BISHOP
 1FA60..1FA6D  ; Grapheme_Base # So  [14] XIANGQI RED GENERAL..XIANGQI BLACK SOLDIER
 1FA70..1FA7C  ; Grapheme_Base # So  [13] BALLET SHOES..CRUTCH
-1FA80..1FA8A  ; Grapheme_Base # So  [11] YO-YO..TROMBONE
-1FA8E..1FAC6  ; Grapheme_Base # So  [57] TREASURE CHEST..FINGERPRINT
-1FAC8         ; Grapheme_Base # So       HAIRY CREATURE
-1FACD..1FADC  ; Grapheme_Base # So  [16] ORCA..ROOT VEGETABLE
-1FADF..1FAEA  ; Grapheme_Base # So  [12] SPLATTER..DISTORTED FACE
-1FAEF..1FAF8  ; Grapheme_Base # So  [10] FIGHT CLOUD..RIGHTWARDS PUSHING HAND
+1FA80..1FA89  ; Grapheme_Base # So  [10] YO-YO..HARP
+1FA8F..1FAC6  ; Grapheme_Base # So  [56] SHOVEL..FINGERPRINT
+1FACE..1FADC  ; Grapheme_Base # So  [15] MOOSE..ROOT VEGETABLE
+1FADF..1FAE9  ; Grapheme_Base # So  [11] SPLATTER..FACE WITH BAGS UNDER EYES
+1FAF0..1FAF8  ; Grapheme_Base # So   [9] HAND WITH INDEX FINGER AND THUMB CROSSED..RIGHTWARDS PUSHING HAND
 1FB00..1FB92  ; Grapheme_Base # So [147] BLOCK SEXTANT-1..UPPER HALF INVERSE MEDIUM SHADE AND LOWER HALF BLOCK
 1FB94..1FBEF  ; Grapheme_Base # So  [92] LEFT HALF INVERSE MEDIUM SHADE AND RIGHT HALF BLOCK..TOP LEFT JUSTIFIED LOWER RIGHT QUARTER BLACK CIRCLE
 1FBF0..1FBF9  ; Grapheme_Base # Nd  [10] SEGMENTED DIGIT ZERO..SEGMENTED DIGIT NINE
-1FBFA         ; Grapheme_Base # So       ALARM BELL SYMBOL
 20000..2A6DF  ; Grapheme_Base # Lo [42720] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6DF
-2A700..2B81D  ; Grapheme_Base # Lo [4382] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B81D
-2B820..2CEAD  ; Grapheme_Base # Lo [5774] CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEAD
+2A700..2B739  ; Grapheme_Base # Lo [4154] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B739
+2B740..2B81D  ; Grapheme_Base # Lo [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D
+2B820..2CEA1  ; Grapheme_Base # Lo [5762] CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEA1
 2CEB0..2EBE0  ; Grapheme_Base # Lo [7473] CJK UNIFIED IDEOGRAPH-2CEB0..CJK UNIFIED IDEOGRAPH-2EBE0
 2EBF0..2EE5D  ; Grapheme_Base # Lo [622] CJK UNIFIED IDEOGRAPH-2EBF0..CJK UNIFIED IDEOGRAPH-2EE5D
 2F800..2FA1D  ; Grapheme_Base # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
 30000..3134A  ; Grapheme_Base # Lo [4939] CJK UNIFIED IDEOGRAPH-30000..CJK UNIFIED IDEOGRAPH-3134A
-31350..33479  ; Grapheme_Base # Lo [8490] CJK UNIFIED IDEOGRAPH-31350..CJK UNIFIED IDEOGRAPH-33479
+31350..323AF  ; Grapheme_Base # Lo [4192] CJK UNIFIED IDEOGRAPH-31350..CJK UNIFIED IDEOGRAPH-323AF
 
-# Total code points: 157494
+# Total code points: 152730
 
 # ================================================
 
@@ -13082,22 +12909,8 @@ ABED          ; Grapheme_Link # Mn       MEETEI MAYEK APUN IYEK
 0B4D          ; InCB; Linker # Mn       ORIYA SIGN VIRAMA
 0C4D          ; InCB; Linker # Mn       TELUGU SIGN VIRAMA
 0D4D          ; InCB; Linker # Mn       MALAYALAM SIGN VIRAMA
-1039          ; InCB; Linker # Mn       MYANMAR SIGN VIRAMA
-17D2          ; InCB; Linker # Mn       KHMER SIGN COENG
-1A60          ; InCB; Linker # Mn       TAI THAM SIGN SAKOT
-1B44          ; InCB; Linker # Mc       BALINESE ADEG ADEG
-1BAB          ; InCB; Linker # Mn       SUNDANESE SIGN VIRAMA
-A9C0          ; InCB; Linker # Mc       JAVANESE PANGKON
-AAF6          ; InCB; Linker # Mn       MEETEI MAYEK VIRAMA
-10A3F         ; InCB; Linker # Mn       KHAROSHTHI VIRAMA
-11133         ; InCB; Linker # Mn       CHAKMA VIRAMA
-113D0         ; InCB; Linker # Mn       TULU-TIGALARI CONJOINER
-1193E         ; InCB; Linker # Mn       DIVES AKURU VIRAMA
-11A47         ; InCB; Linker # Mn       ZANABAZAR SQUARE SUBJOINER
-11A99         ; InCB; Linker # Mn       SOYOMBO SUBJOINER
-11F42         ; InCB; Linker # Mn       KAWI CONJOINER
 
-# Total code points: 20
+# Total code points: 6
 
 # ================================================
 
@@ -13129,58 +12942,8 @@ AAF6          ; InCB; Linker # Mn       MEETEI MAYEK VIRAMA
 0C2A..0C39    ; InCB; Consonant # Lo  [16] TELUGU LETTER PA..TELUGU LETTER HA
 0C58..0C5A    ; InCB; Consonant # Lo   [3] TELUGU LETTER TSA..TELUGU LETTER RRRA
 0D15..0D3A    ; InCB; Consonant # Lo  [38] MALAYALAM LETTER KA..MALAYALAM LETTER TTTA
-1000..102A    ; InCB; Consonant # Lo  [43] MYANMAR LETTER KA..MYANMAR LETTER AU
-103F          ; InCB; Consonant # Lo       MYANMAR LETTER GREAT SA
-1050..1055    ; InCB; Consonant # Lo   [6] MYANMAR LETTER SHA..MYANMAR LETTER VOCALIC LL
-105A..105D    ; InCB; Consonant # Lo   [4] MYANMAR LETTER MON NGA..MYANMAR LETTER MON BBE
-1061          ; InCB; Consonant # Lo       MYANMAR LETTER SGAW KAREN SHA
-1065..1066    ; InCB; Consonant # Lo   [2] MYANMAR LETTER WESTERN PWO KAREN THA..MYANMAR LETTER WESTERN PWO KAREN PWA
-106E..1070    ; InCB; Consonant # Lo   [3] MYANMAR LETTER EASTERN PWO KAREN NNA..MYANMAR LETTER EASTERN PWO KAREN GHWA
-1075..1081    ; InCB; Consonant # Lo  [13] MYANMAR LETTER SHAN KA..MYANMAR LETTER SHAN HA
-108E          ; InCB; Consonant # Lo       MYANMAR LETTER RUMAI PALAUNG FA
-1780..17B3    ; InCB; Consonant # Lo  [52] KHMER LETTER KA..KHMER INDEPENDENT VOWEL QAU
-1A20..1A54    ; InCB; Consonant # Lo  [53] TAI THAM LETTER HIGH KA..TAI THAM LETTER GREAT SA
-1B0B..1B0C    ; InCB; Consonant # Lo   [2] BALINESE LETTER RA REPA..BALINESE LETTER RA REPA TEDUNG
-1B13..1B33    ; InCB; Consonant # Lo  [33] BALINESE LETTER KA..BALINESE LETTER HA
-1B45..1B4C    ; InCB; Consonant # Lo   [8] BALINESE LETTER KAF SASAK..BALINESE LETTER ARCHAIC JNYA
-1B83..1BA0    ; InCB; Consonant # Lo  [30] SUNDANESE LETTER A..SUNDANESE LETTER HA
-1BAE..1BAF    ; InCB; Consonant # Lo   [2] SUNDANESE LETTER KHA..SUNDANESE LETTER SYA
-1BBB..1BBD    ; InCB; Consonant # Lo   [3] SUNDANESE LETTER REU..SUNDANESE LETTER BHA
-A989..A98B    ; InCB; Consonant # Lo   [3] JAVANESE LETTER PA CEREK..JAVANESE LETTER NGA LELET RASWADI
-A98F..A9B2    ; InCB; Consonant # Lo  [36] JAVANESE LETTER KA..JAVANESE LETTER HA
-A9E0..A9E4    ; InCB; Consonant # Lo   [5] MYANMAR LETTER SHAN GHA..MYANMAR LETTER SHAN BHA
-A9E7..A9EF    ; InCB; Consonant # Lo   [9] MYANMAR LETTER TAI LAING NYA..MYANMAR LETTER TAI LAING NNA
-A9FA..A9FE    ; InCB; Consonant # Lo   [5] MYANMAR LETTER TAI LAING LLA..MYANMAR LETTER TAI LAING BHA
-AA60..AA6F    ; InCB; Consonant # Lo  [16] MYANMAR LETTER KHAMTI GA..MYANMAR LETTER KHAMTI FA
-AA71..AA73    ; InCB; Consonant # Lo   [3] MYANMAR LETTER KHAMTI XA..MYANMAR LETTER KHAMTI RA
-AA7A          ; InCB; Consonant # Lo       MYANMAR LETTER AITON RA
-AA7E..AA7F    ; InCB; Consonant # Lo   [2] MYANMAR LETTER SHWE PALAUNG CHA..MYANMAR LETTER SHWE PALAUNG SHA
-AAE0..AAEA    ; InCB; Consonant # Lo  [11] MEETEI MAYEK LETTER E..MEETEI MAYEK LETTER SSA
-ABC0..ABDA    ; InCB; Consonant # Lo  [27] MEETEI MAYEK LETTER KOK..MEETEI MAYEK LETTER BHAM
-10A00         ; InCB; Consonant # Lo       KHAROSHTHI LETTER A
-10A10..10A13  ; InCB; Consonant # Lo   [4] KHAROSHTHI LETTER KA..KHAROSHTHI LETTER GHA
-10A15..10A17  ; InCB; Consonant # Lo   [3] KHAROSHTHI LETTER CA..KHAROSHTHI LETTER JA
-10A19..10A35  ; InCB; Consonant # Lo  [29] KHAROSHTHI LETTER NYA..KHAROSHTHI LETTER VHA
-11103..11126  ; InCB; Consonant # Lo  [36] CHAKMA LETTER AA..CHAKMA LETTER HAA
-11144         ; InCB; Consonant # Lo       CHAKMA LETTER LHAA
-11147         ; InCB; Consonant # Lo       CHAKMA LETTER VAA
-11380..11389  ; InCB; Consonant # Lo  [10] TULU-TIGALARI LETTER A..TULU-TIGALARI LETTER VOCALIC LL
-1138B         ; InCB; Consonant # Lo       TULU-TIGALARI LETTER EE
-1138E         ; InCB; Consonant # Lo       TULU-TIGALARI LETTER AI
-11390..113B5  ; InCB; Consonant # Lo  [38] TULU-TIGALARI LETTER OO..TULU-TIGALARI LETTER LLLA
-11900..11906  ; InCB; Consonant # Lo   [7] DIVES AKURU LETTER A..DIVES AKURU LETTER E
-11909         ; InCB; Consonant # Lo       DIVES AKURU LETTER O
-1190C..11913  ; InCB; Consonant # Lo   [8] DIVES AKURU LETTER KA..DIVES AKURU LETTER JA
-11915..11916  ; InCB; Consonant # Lo   [2] DIVES AKURU LETTER NYA..DIVES AKURU LETTER TTA
-11918..1192F  ; InCB; Consonant # Lo  [24] DIVES AKURU LETTER DDA..DIVES AKURU LETTER ZA
-11A00         ; InCB; Consonant # Lo       ZANABAZAR SQUARE LETTER A
-11A0B..11A32  ; InCB; Consonant # Lo  [40] ZANABAZAR SQUARE LETTER KA..ZANABAZAR SQUARE LETTER KSSA
-11A50         ; InCB; Consonant # Lo       SOYOMBO LETTER A
-11A5C..11A83  ; InCB; Consonant # Lo  [40] SOYOMBO LETTER KA..SOYOMBO LETTER KSSA
-11F04..11F10  ; InCB; Consonant # Lo  [13] KAWI LETTER A..KAWI LETTER O
-11F12..11F33  ; InCB; Consonant # Lo  [34] KAWI LETTER KA..KAWI LETTER JNYA
 
-# Total code points: 911
+# Total code points: 240
 
 # ================================================
 
@@ -13302,7 +13065,7 @@ ABC0..ABDA    ; InCB; Consonant # Lo  [27] MEETEI MAYEK LETTER KOK..MEETEI MAYEK
 0FC6          ; InCB; Extend # Mn       TIBETAN SYMBOL PADMA GDAN
 102D..1030    ; InCB; Extend # Mn   [4] MYANMAR VOWEL SIGN I..MYANMAR VOWEL SIGN UU
 1032..1037    ; InCB; Extend # Mn   [6] MYANMAR VOWEL SIGN AI..MYANMAR SIGN DOT BELOW
-103A          ; InCB; Extend # Mn       MYANMAR SIGN ASAT
+1039..103A    ; InCB; Extend # Mn   [2] MYANMAR SIGN VIRAMA..MYANMAR SIGN ASAT
 103D..103E    ; InCB; Extend # Mn   [2] MYANMAR CONSONANT SIGN MEDIAL WA..MYANMAR CONSONANT SIGN MEDIAL HA
 1058..1059    ; InCB; Extend # Mn   [2] MYANMAR VOWEL SIGN VOCALIC L..MYANMAR VOWEL SIGN VOCALIC LL
 105E..1060    ; InCB; Extend # Mn   [3] MYANMAR CONSONANT SIGN MON MEDIAL NA..MYANMAR CONSONANT SIGN MON MEDIAL LA
@@ -13321,8 +13084,7 @@ ABC0..ABDA    ; InCB; Consonant # Lo  [27] MEETEI MAYEK LETTER KOK..MEETEI MAYEK
 17B4..17B5    ; InCB; Extend # Mn   [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA
 17B7..17BD    ; InCB; Extend # Mn   [7] KHMER VOWEL SIGN I..KHMER VOWEL SIGN UA
 17C6          ; InCB; Extend # Mn       KHMER SIGN NIKAHIT
-17C9..17D1    ; InCB; Extend # Mn   [9] KHMER SIGN MUUSIKATOAN..KHMER SIGN VIRIAM
-17D3          ; InCB; Extend # Mn       KHMER SIGN BATHAMASAT
+17C9..17D3    ; InCB; Extend # Mn  [11] KHMER SIGN MUUSIKATOAN..KHMER SIGN BATHAMASAT
 17DD          ; InCB; Extend # Mn       KHMER SIGN ATTHACAN
 180B..180D    ; InCB; Extend # Mn   [3] MONGOLIAN FREE VARIATION SELECTOR ONE..MONGOLIAN FREE VARIATION SELECTOR THREE
 180F          ; InCB; Extend # Mn       MONGOLIAN FREE VARIATION SELECTOR FOUR
@@ -13336,14 +13098,14 @@ ABC0..ABDA    ; InCB; Consonant # Lo  [27] MEETEI MAYEK LETTER KOK..MEETEI MAYEK
 1A1B          ; InCB; Extend # Mn       BUGINESE VOWEL SIGN AE
 1A56          ; InCB; Extend # Mn       TAI THAM CONSONANT SIGN MEDIAL LA
 1A58..1A5E    ; InCB; Extend # Mn   [7] TAI THAM SIGN MAI KANG LAI..TAI THAM CONSONANT SIGN SA
+1A60          ; InCB; Extend # Mn       TAI THAM SIGN SAKOT
 1A62          ; InCB; Extend # Mn       TAI THAM VOWEL SIGN MAI SAT
 1A65..1A6C    ; InCB; Extend # Mn   [8] TAI THAM VOWEL SIGN I..TAI THAM VOWEL SIGN OA BELOW
 1A73..1A7C    ; InCB; Extend # Mn  [10] TAI THAM VOWEL SIGN OA ABOVE..TAI THAM SIGN KHUEN-LUE KARAN
 1A7F          ; InCB; Extend # Mn       TAI THAM COMBINING CRYPTOGRAMMIC DOT
 1AB0..1ABD    ; InCB; Extend # Mn  [14] COMBINING DOUBLED CIRCUMFLEX ACCENT..COMBINING PARENTHESES BELOW
 1ABE          ; InCB; Extend # Me       COMBINING PARENTHESES OVERLAY
-1ABF..1ADD    ; InCB; Extend # Mn  [31] COMBINING LATIN SMALL LETTER W BELOW..COMBINING DOT-AND-RING BELOW
-1AE0..1AEB    ; InCB; Extend # Mn  [12] COMBINING LEFT TACK ABOVE..COMBINING DOUBLE RIGHTWARDS ARROW ABOVE
+1ABF..1ACE    ; InCB; Extend # Mn  [16] COMBINING LATIN SMALL LETTER W BELOW..COMBINING LATIN SMALL LETTER INSULAR T
 1B00..1B03    ; InCB; Extend # Mn   [4] BALINESE SIGN ULU RICEM..BALINESE SIGN SURANG
 1B34          ; InCB; Extend # Mn       BALINESE SIGN REREKAN
 1B35          ; InCB; Extend # Mc       BALINESE VOWEL SIGN TEDUNG
@@ -13352,13 +13114,13 @@ ABC0..ABDA    ; InCB; Consonant # Lo  [27] MEETEI MAYEK LETTER KOK..MEETEI MAYEK
 1B3C          ; InCB; Extend # Mn       BALINESE VOWEL SIGN LA LENGA
 1B3D          ; InCB; Extend # Mc       BALINESE VOWEL SIGN LA LENGA TEDUNG
 1B42          ; InCB; Extend # Mn       BALINESE VOWEL SIGN PEPET
-1B43          ; InCB; Extend # Mc       BALINESE VOWEL SIGN PEPET TEDUNG
+1B43..1B44    ; InCB; Extend # Mc   [2] BALINESE VOWEL SIGN PEPET TEDUNG..BALINESE ADEG ADEG
 1B6B..1B73    ; InCB; Extend # Mn   [9] BALINESE MUSICAL SYMBOL COMBINING TEGEH..BALINESE MUSICAL SYMBOL COMBINING GONG
 1B80..1B81    ; InCB; Extend # Mn   [2] SUNDANESE SIGN PANYECEK..SUNDANESE SIGN PANGLAYAR
 1BA2..1BA5    ; InCB; Extend # Mn   [4] SUNDANESE CONSONANT SIGN PANYAKRA..SUNDANESE VOWEL SIGN PANYUKU
 1BA8..1BA9    ; InCB; Extend # Mn   [2] SUNDANESE VOWEL SIGN PAMEPET..SUNDANESE VOWEL SIGN PANEULEUNG
 1BAA          ; InCB; Extend # Mc       SUNDANESE SIGN PAMAAEH
-1BAC..1BAD    ; InCB; Extend # Mn   [2] SUNDANESE CONSONANT SIGN PASANGAN MA..SUNDANESE CONSONANT SIGN PASANGAN WA
+1BAB..1BAD    ; InCB; Extend # Mn   [3] SUNDANESE SIGN VIRAMA..SUNDANESE CONSONANT SIGN PASANGAN WA
 1BE6          ; InCB; Extend # Mn       BATAK SIGN TOMPI
 1BE8..1BE9    ; InCB; Extend # Mn   [2] BATAK VOWEL SIGN PAKPAK E..BATAK VOWEL SIGN EE
 1BED          ; InCB; Extend # Mn       BATAK VOWEL SIGN KARO O
@@ -13405,6 +13167,7 @@ A980..A982    ; InCB; Extend # Mn   [3] JAVANESE SIGN PANYANGGA..JAVANESE SIGN L
 A9B3          ; InCB; Extend # Mn       JAVANESE SIGN CECAK TELU
 A9B6..A9B9    ; InCB; Extend # Mn   [4] JAVANESE VOWEL SIGN WULU..JAVANESE VOWEL SIGN SUKU MENDUT
 A9BC..A9BD    ; InCB; Extend # Mn   [2] JAVANESE VOWEL SIGN PEPET..JAVANESE CONSONANT SIGN KERET
+A9C0          ; InCB; Extend # Mc       JAVANESE PANGKON
 A9E5          ; InCB; Extend # Mn       MYANMAR SIGN SHAN SAW
 AA29..AA2E    ; InCB; Extend # Mn   [6] CHAM VOWEL SIGN AA..CHAM VOWEL SIGN OE
 AA31..AA32    ; InCB; Extend # Mn   [2] CHAM VOWEL SIGN AU..CHAM VOWEL SIGN UE
@@ -13418,6 +13181,7 @@ AAB7..AAB8    ; InCB; Extend # Mn   [2] TAI VIET MAI KHIT..TAI VIET VOWEL IA
 AABE..AABF    ; InCB; Extend # Mn   [2] TAI VIET VOWEL AM..TAI VIET TONE MAI EK
 AAC1          ; InCB; Extend # Mn       TAI VIET TONE MAI THO
 AAEC..AAED    ; InCB; Extend # Mn   [2] MEETEI MAYEK VOWEL SIGN UU..MEETEI MAYEK VOWEL SIGN AAI
+AAF6          ; InCB; Extend # Mn       MEETEI MAYEK VIRAMA
 ABE5          ; InCB; Extend # Mn       MEETEI MAYEK VOWEL SIGN ANAP
 ABE8          ; InCB; Extend # Mn       MEETEI MAYEK VOWEL SIGN UNAP
 ABED          ; InCB; Extend # Mn       MEETEI MAYEK APUN IYEK
@@ -13432,11 +13196,12 @@ FF9E..FF9F    ; InCB; Extend # Lm   [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HA
 10A05..10A06  ; InCB; Extend # Mn   [2] KHAROSHTHI VOWEL SIGN E..KHAROSHTHI VOWEL SIGN O
 10A0C..10A0F  ; InCB; Extend # Mn   [4] KHAROSHTHI VOWEL LENGTH MARK..KHAROSHTHI SIGN VISARGA
 10A38..10A3A  ; InCB; Extend # Mn   [3] KHAROSHTHI SIGN BAR ABOVE..KHAROSHTHI SIGN DOT BELOW
+10A3F         ; InCB; Extend # Mn       KHAROSHTHI VIRAMA
 10AE5..10AE6  ; InCB; Extend # Mn   [2] MANICHAEAN ABBREVIATION MARK ABOVE..MANICHAEAN ABBREVIATION MARK BELOW
 10D24..10D27  ; InCB; Extend # Mn   [4] HANIFI ROHINGYA SIGN HARBAHAY..HANIFI ROHINGYA SIGN TASSI
 10D69..10D6D  ; InCB; Extend # Mn   [5] GARAY VOWEL SIGN E..GARAY CONSONANT NASALIZATION MARK
 10EAB..10EAC  ; InCB; Extend # Mn   [2] YEZIDI COMBINING HAMZA MARK..YEZIDI COMBINING MADDA MARK
-10EFA..10EFF  ; InCB; Extend # Mn   [6] ARABIC DOUBLE VERTICAL BAR BELOW..ARABIC SMALL LOW WORD MADDA
+10EFC..10EFF  ; InCB; Extend # Mn   [4] ARABIC COMBINING ALEF OVERLAY..ARABIC SMALL LOW WORD MADDA
 10F46..10F50  ; InCB; Extend # Mn  [11] SOGDIAN COMBINING DOT BELOW..SOGDIAN COMBINING STROKE BELOW
 10F82..10F85  ; InCB; Extend # Mn   [4] OLD UYGHUR COMBINING DOT ABOVE..OLD UYGHUR COMBINING TWO DOTS BELOW
 11001         ; InCB; Extend # Mn       BRAHMI SIGN ANUSVARA
@@ -13449,8 +13214,7 @@ FF9E..FF9F    ; InCB; Extend # Lm   [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HA
 110C2         ; InCB; Extend # Mn       KAITHI VOWEL SIGN VOCALIC R
 11100..11102  ; InCB; Extend # Mn   [3] CHAKMA SIGN CANDRABINDU..CHAKMA SIGN VISARGA
 11127..1112B  ; InCB; Extend # Mn   [5] CHAKMA VOWEL SIGN A..CHAKMA VOWEL SIGN UU
-1112D..11132  ; InCB; Extend # Mn   [6] CHAKMA VOWEL SIGN AI..CHAKMA AU MARK
-11134         ; InCB; Extend # Mn       CHAKMA MAAYYAA
+1112D..11134  ; InCB; Extend # Mn   [8] CHAKMA VOWEL SIGN AI..CHAKMA MAAYYAA
 11173         ; InCB; Extend # Mn       MAHAJANI SIGN NUKTA
 11180..11181  ; InCB; Extend # Mn   [2] SHARADA SIGN CANDRABINDU..SHARADA SIGN ANUSVARA
 111B6..111BE  ; InCB; Extend # Mn   [9] SHARADA VOWEL SIGN U..SHARADA VOWEL SIGN O
@@ -13480,6 +13244,7 @@ FF9E..FF9F    ; InCB; Extend # Lm   [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HA
 113C7..113C9  ; InCB; Extend # Mc   [3] TULU-TIGALARI VOWEL SIGN OO..TULU-TIGALARI AU LENGTH MARK
 113CE         ; InCB; Extend # Mn       TULU-TIGALARI SIGN VIRAMA
 113CF         ; InCB; Extend # Mc       TULU-TIGALARI SIGN LOOPED VIRAMA
+113D0         ; InCB; Extend # Mn       TULU-TIGALARI CONJOINER
 113D2         ; InCB; Extend # Mn       TULU-TIGALARI GEMINATION MARK
 113E1..113E2  ; InCB; Extend # Mn   [2] TULU-TIGALARI VEDIC TONE SVARITA..TULU-TIGALARI VEDIC TONE ANUDATTA
 11438..1143F  ; InCB; Extend # Mn   [8] NEWA VOWEL SIGN U..NEWA VOWEL SIGN AI
@@ -13514,6 +13279,7 @@ FF9E..FF9F    ; InCB; Extend # Lm   [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HA
 11930         ; InCB; Extend # Mc       DIVES AKURU VOWEL SIGN AA
 1193B..1193C  ; InCB; Extend # Mn   [2] DIVES AKURU SIGN ANUSVARA..DIVES AKURU SIGN CANDRABINDU
 1193D         ; InCB; Extend # Mc       DIVES AKURU SIGN HALANTA
+1193E         ; InCB; Extend # Mn       DIVES AKURU VIRAMA
 11943         ; InCB; Extend # Mn       DIVES AKURU SIGN NUKTA
 119D4..119D7  ; InCB; Extend # Mn   [4] NANDINAGARI VOWEL SIGN U..NANDINAGARI VOWEL SIGN VOCALIC RR
 119DA..119DB  ; InCB; Extend # Mn   [2] NANDINAGARI VOWEL SIGN E..NANDINAGARI VOWEL SIGN AI
@@ -13521,13 +13287,11 @@ FF9E..FF9F    ; InCB; Extend # Lm   [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HA
 11A01..11A0A  ; InCB; Extend # Mn  [10] ZANABAZAR SQUARE VOWEL SIGN I..ZANABAZAR SQUARE VOWEL LENGTH MARK
 11A33..11A38  ; InCB; Extend # Mn   [6] ZANABAZAR SQUARE FINAL CONSONANT MARK..ZANABAZAR SQUARE SIGN ANUSVARA
 11A3B..11A3E  ; InCB; Extend # Mn   [4] ZANABAZAR SQUARE CLUSTER-FINAL LETTER YA..ZANABAZAR SQUARE CLUSTER-FINAL LETTER VA
+11A47         ; InCB; Extend # Mn       ZANABAZAR SQUARE SUBJOINER
 11A51..11A56  ; InCB; Extend # Mn   [6] SOYOMBO VOWEL SIGN I..SOYOMBO VOWEL SIGN OE
 11A59..11A5B  ; InCB; Extend # Mn   [3] SOYOMBO VOWEL SIGN VOCALIC R..SOYOMBO VOWEL LENGTH MARK
 11A8A..11A96  ; InCB; Extend # Mn  [13] SOYOMBO FINAL CONSONANT SIGN G..SOYOMBO SIGN ANUSVARA
-11A98         ; InCB; Extend # Mn       SOYOMBO GEMINATION MARK
-11B60         ; InCB; Extend # Mn       SHARADA VOWEL SIGN OE
-11B62..11B64  ; InCB; Extend # Mn   [3] SHARADA VOWEL SIGN UE..SHARADA VOWEL SIGN SHORT E
-11B66         ; InCB; Extend # Mn       SHARADA VOWEL SIGN CANDRA E
+11A98..11A99  ; InCB; Extend # Mn   [2] SOYOMBO GEMINATION MARK..SOYOMBO SUBJOINER
 11C30..11C36  ; InCB; Extend # Mn   [7] BHAIKSUKI VOWEL SIGN I..BHAIKSUKI VOWEL SIGN VOCALIC L
 11C38..11C3D  ; InCB; Extend # Mn   [6] BHAIKSUKI VOWEL SIGN E..BHAIKSUKI SIGN ANUSVARA
 11C3F         ; InCB; Extend # Mn       BHAIKSUKI SIGN VIRAMA
@@ -13548,6 +13312,7 @@ FF9E..FF9F    ; InCB; Extend # Lm   [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HA
 11F36..11F3A  ; InCB; Extend # Mn   [5] KAWI VOWEL SIGN I..KAWI VOWEL SIGN VOCALIC R
 11F40         ; InCB; Extend # Mn       KAWI VOWEL SIGN EU
 11F41         ; InCB; Extend # Mc       KAWI SIGN KILLER
+11F42         ; InCB; Extend # Mn       KAWI CONJOINER
 11F5A         ; InCB; Extend # Mn       KAWI SIGN NUKTA
 13440         ; InCB; Extend # Mn       EGYPTIAN HIEROGLYPH MIRROR HORIZONTALLY
 13447..13455  ; InCB; Extend # Mn  [15] EGYPTIAN HIEROGLYPH MODIFIER DAMAGED AT TOP START..EGYPTIAN HIEROGLYPH MODIFIER DAMAGED
@@ -13586,16 +13351,12 @@ FF9E..FF9F    ; InCB; Extend # Lm   [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HA
 1E2EC..1E2EF  ; InCB; Extend # Mn   [4] WANCHO TONE TUP..WANCHO TONE KOINI
 1E4EC..1E4EF  ; InCB; Extend # Mn   [4] NAG MUNDARI SIGN MUHOR..NAG MUNDARI SIGN SUTUH
 1E5EE..1E5EF  ; InCB; Extend # Mn   [2] OL ONAL SIGN MU..OL ONAL SIGN IKIR
-1E6E3         ; InCB; Extend # Mn       TAI YO SIGN UE
-1E6E6         ; InCB; Extend # Mn       TAI YO SIGN AU
-1E6EE..1E6EF  ; InCB; Extend # Mn   [2] TAI YO SIGN AY..TAI YO SIGN ANG
-1E6F5         ; InCB; Extend # Mn       TAI YO SIGN OM
 1E8D0..1E8D6  ; InCB; Extend # Mn   [7] MENDE KIKAKUI COMBINING NUMBER TEENS..MENDE KIKAKUI COMBINING NUMBER MILLIONS
 1E944..1E94A  ; InCB; Extend # Mn   [7] ADLAM ALIF LENGTHENER..ADLAM NUKTA
 1F3FB..1F3FF  ; InCB; Extend # Sk   [5] EMOJI MODIFIER FITZPATRICK TYPE-1-2..EMOJI MODIFIER FITZPATRICK TYPE-6
 E0020..E007F  ; InCB; Extend # Cf  [96] TAG SPACE..CANCEL TAG
 E0100..E01EF  ; InCB; Extend # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
 
-# Total code points: 2217
+# Total code points: 2192
 
 # EOF
diff --git a/js/src/util/SpecialCasing.txt b/js/src/util/SpecialCasing.txt
index 1013344a6f203..e83aba432f43c 100644
--- a/js/src/util/SpecialCasing.txt
+++ b/js/src/util/SpecialCasing.txt
@@ -1,6 +1,6 @@
-# SpecialCasing-17.0.0.txt
-# Date: 2025-07-31, 22:11:55 GMT
-# © 2025 Unicode®, Inc.
+# SpecialCasing-16.0.0.txt
+# Date: 2024-05-10, 22:49:00 GMT
+# © 2024 Unicode®, Inc.
 # Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
 # For terms of use and license, see https://www.unicode.org/terms_of_use.html
 #
@@ -47,8 +47,8 @@
 #
 # A language ID is defined by BCP 47, with '-' and '_' treated equivalently.
 #
-# A casing context for a character is defined in the
-# "Conformance" / "Default Case Algorithms" section of the core specification.
+# A casing context for a character is defined by Section 3.13 Default Case Algorithms
+# of The Unicode Standard.
 #
 # Parsers of this file must be prepared to deal with future additions to this format:
 #  * Additional contexts
@@ -57,10 +57,6 @@
 
 # ================================================================================
 # Unconditional mappings
-# The mappings in this section are not language-sensitive nor context-sensitive.
-#
-# Note that comments provide additional information but
-# do not modify the case mapping algorithms in the core specification, chapter 3.
 # ================================================================================
 
 # The German es-zed is special--the normal mapping is to SS.
diff --git a/js/src/util/Unicode.cpp b/js/src/util/Unicode.cpp
index fd3848f39d141..0b3e1a240b558 100644
--- a/js/src/util/Unicode.cpp
+++ b/js/src/util/Unicode.cpp
@@ -1,5 +1,5 @@
 /* Generated by make_unicode.py DO NOT MODIFY */
-/* Unicode version: 17.0.0 */
+/* Unicode version: 16.0.0 */
 
 /*
  * Any copyright is dedicated to the Public Domain.
@@ -419,7 +419,7 @@ const uint8_t unicode::index2[] = {
       5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   5,   2,   2,   2,   0,   0,
       0,   0,   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,   0,   5,   5,   5,   5,   5,   5,   5,   0,   0,   0,   0,
+      5,   5,   5,   5,   5,   5,   0,   5,   5,   5,   5,   5,   5,   0,   0,   0,   0,   0,
       0,   0,   0,   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,
@@ -473,14 +473,14 @@ const uint8_t unicode::index2[] = {
       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,
       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,   5,   5,   5,   0,   5,   5,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   2,   2,   0,   5,   5,   5,   0,   0,   5,   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,   5,   5,
+      2,   2,   0,   0,   0,   0,   0,   0,   0,   2,   2,   0,   0,   0,   0,   0,   0,   5,
       5,   0,   5,   5,   2,   2,   0,   0,   2,   2,   2,   2,   2,   2,   2,   2,   2,   2,
       0,   5,   5,   2,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   2,   2,
       2,   2,   5,   5,   5,   5,   5,   5,   5,   5,   5,   0,   5,   5,   5,   0,   5,   5,
@@ -633,8 +633,8 @@ const uint8_t unicode::index2[] = {
       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,   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,   2,   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,   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,
@@ -807,9 +807,9 @@ const uint8_t unicode::index2[] = {
     164,   5,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,
       8,   9,   8,   9, 165, 166, 167, 168, 165,   5, 169, 170, 171, 172,   8,   9,   8,   9,
       8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9, 173, 174, 175,   8,   9,   8,
-      9, 176,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,   8,   9,
+      9, 176,   8,   9,   0,   0,   8,   9,   0,   5,   0,   5,   8,   9,   8,   9,   8,   9,
     177,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   5,   5,   5,   5,   8,   9,   5,   5,   5,   5,   5,   5,   5,   5,   5,
+      0,   0,   0,   0,   5,   5,   5,   8,   9,   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,   2,   0,   0,   0,   0,   0,   0,   0,   0,   0,
@@ -1254,8 +1254,8 @@ const uint8_t unicode::folding_index2[] = {
       0,   3,   0,  86,   0,   0,   3,   0,   3,   0,   0,   0,   3,   0,   3,   0,   3,   0,
       3,   0,   3,   0,   3,   0,   3,   0,   3,   0,   3,   0,   3,   0,  87,  88,  89,  90,
      87,   0,  91,  92,  93,  94,   3,   0,   3,   0,   3,   0,   3,   0,   3,   0,   3,   0,
-      3,   0,   3,   0,  41,  95,  96,   3,   0,   3,   0,  97,   3,   0,   3,   0,   3,   0,
-      3,   0,   3,   0,   3,   0,   3,   0,   3,   0,  98,   0,   0,   0,   0,   0,   0,   0,
+      3,   0,   3,   0,  41,  95,  96,   3,   0,   3,   0,  97,   3,   0,   0,   0,   3,   0,
+      0,   0,   0,   0,   3,   0,   3,   0,   3,   0,  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,   3,
       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,  99,  99,  99,  99,  99,  99,  99,  99,  99,  99,
@@ -1415,9 +1415,6 @@ js::unicode::IsIdentifierStartNonBMP(char32_t codePoint)
     if (codePoint >= 0x10920 && codePoint <= 0x10939) { // LYDIAN LETTER A .. LYDIAN LETTER C
         return true;
     }
-    if (codePoint >= 0x10940 && codePoint <= 0x10959) { // SIDETIC LETTER N01 .. SIDETIC LETTER N26
-        return true;
-    }
     if (codePoint >= 0x10980 && codePoint <= 0x109B7) { // MEROITIC HIEROGLYPHIC LETTER A .. MEROITIC CURSIVE LETTER DA
         return true;
     }
@@ -1484,7 +1481,7 @@ js::unicode::IsIdentifierStartNonBMP(char32_t codePoint)
     if (codePoint >= 0x10EB0 && codePoint <= 0x10EB1) { // YEZIDI LETTER LAM WITH DOT ABOVE .. YEZIDI LETTER YOT WITH CIRCUMFLEX ABOVE
         return true;
     }
-    if (codePoint >= 0x10EC2 && codePoint <= 0x10EC7) { // ARABIC LETTER DAL WITH TWO DOTS VERTICALLY BELOW .. ARABIC LETTER YEH WITH FOUR DOTS BELOW
+    if (codePoint >= 0x10EC2 && codePoint <= 0x10EC4) { // ARABIC LETTER DAL WITH TWO DOTS VERTICALLY BELOW .. ARABIC LETTER KAF WITH TWO DOTS VERTICALLY BELOW
         return true;
     }
     if (codePoint >= 0x10F00 && codePoint <= 0x10F1C) { // OLD SOGDIAN LETTER ALEPH .. OLD SOGDIAN LETTER FINAL TAW WITH VERTICAL TAIL
@@ -1763,9 +1760,6 @@ js::unicode::IsIdentifierStartNonBMP(char32_t codePoint)
     if (codePoint >= 0x11D98 && codePoint <= 0x11D98) { // GUNJALA GONDI OM .. GUNJALA GONDI OM
         return true;
     }
-    if (codePoint >= 0x11DB0 && codePoint <= 0x11DDB) { // TOLONG SIKI LETTER I .. TOLONG SIKI UNGGA
-        return true;
-    }
     if (codePoint >= 0x11EE0 && codePoint <= 0x11EF2) { // MAKASAR LETTER KA .. MAKASAR ANGKA
         return true;
     }
@@ -1838,12 +1832,6 @@ js::unicode::IsIdentifierStartNonBMP(char32_t codePoint)
     if (codePoint >= 0x16E40 && codePoint <= 0x16E7F) { // MEDEFAIDRIN CAPITAL LETTER M .. MEDEFAIDRIN SMALL LETTER Y
         return true;
     }
-    if (codePoint >= 0x16EA0 && codePoint <= 0x16EB8) { // BERIA ERFE CAPITAL LETTER ARKAB .. BERIA ERFE CAPITAL LETTER AY
-        return true;
-    }
-    if (codePoint >= 0x16EBB && codePoint <= 0x16ED3) { // BERIA ERFE SMALL LETTER ARKAB .. BERIA ERFE SMALL LETTER AY
-        return true;
-    }
     if (codePoint >= 0x16F00 && codePoint <= 0x16F4A) { // MIAO LETTER PA .. MIAO LETTER RTE
         return true;
     }
@@ -1859,16 +1847,13 @@ js::unicode::IsIdentifierStartNonBMP(char32_t codePoint)
     if (codePoint >= 0x16FE3 && codePoint <= 0x16FE3) { // OLD CHINESE ITERATION MARK .. OLD CHINESE ITERATION MARK
         return true;
     }
-    if (codePoint >= 0x16FF2 && codePoint <= 0x16FF6) { // CHINESE SMALL SIMPLIFIED ER .. YANGQIN SIGN SLOW TWO BEATS
+    if (codePoint >= 0x17000 && codePoint <= 0x187F7) { // Tangut Ideograph .. Tangut Ideograph
         return true;
     }
-    if (codePoint >= 0x17000 && codePoint <= 0x18CD5) { // Tangut Ideograph .. KHITAN SMALL SCRIPT CHARACTER-18CD5
+    if (codePoint >= 0x18800 && codePoint <= 0x18CD5) { // TANGUT COMPONENT-001 .. KHITAN SMALL SCRIPT CHARACTER-18CD5
         return true;
     }
-    if (codePoint >= 0x18CFF && codePoint <= 0x18D1E) { // KHITAN SMALL SCRIPT CHARACTER-18CFF .. Tangut Ideograph Supplement
-        return true;
-    }
-    if (codePoint >= 0x18D80 && codePoint <= 0x18DF2) { // TANGUT COMPONENT-769 .. TANGUT COMPONENT-883
+    if (codePoint >= 0x18CFF && codePoint <= 0x18D08) { // KHITAN SMALL SCRIPT CHARACTER-18CFF .. Tangut Ideograph Supplement
         return true;
     }
     if (codePoint >= 0x1AFF0 && codePoint <= 0x1AFF3) { // KATAKANA LETTER MINNAN TONE-2 .. KATAKANA LETTER MINNAN TONE-5
@@ -2033,24 +2018,6 @@ js::unicode::IsIdentifierStartNonBMP(char32_t codePoint)
     if (codePoint >= 0x1E5F0 && codePoint <= 0x1E5F0) { // OL ONAL SIGN HODDOND .. OL ONAL SIGN HODDOND
         return true;
     }
-    if (codePoint >= 0x1E6C0 && codePoint <= 0x1E6DE) { // TAI YO LETTER LOW KO .. TAI YO LETTER HIGH KVO
-        return true;
-    }
-    if (codePoint >= 0x1E6E0 && codePoint <= 0x1E6E2) { // TAI YO LETTER AA .. TAI YO LETTER UE
-        return true;
-    }
-    if (codePoint >= 0x1E6E4 && codePoint <= 0x1E6E5) { // TAI YO LETTER U .. TAI YO LETTER AE
-        return true;
-    }
-    if (codePoint >= 0x1E6E7 && codePoint <= 0x1E6ED) { // TAI YO LETTER O .. TAI YO LETTER AUE
-        return true;
-    }
-    if (codePoint >= 0x1E6F0 && codePoint <= 0x1E6F4) { // TAI YO LETTER AN .. TAI YO LETTER AP
-        return true;
-    }
-    if (codePoint >= 0x1E6FE && codePoint <= 0x1E6FF) { // TAI YO SYMBOL MUEANG .. TAI YO XAM LAI
-        return true;
-    }
     if (codePoint >= 0x1E7E0 && codePoint <= 0x1E7E6) { // ETHIOPIC SYLLABLE HHYA .. ETHIOPIC SYLLABLE HHYO
         return true;
     }
@@ -2174,10 +2141,13 @@ js::unicode::IsIdentifierStartNonBMP(char32_t codePoint)
     if (codePoint >= 0x20000 && codePoint <= 0x2A6DF) { // CJK Ideograph Extension B .. CJK Ideograph Extension B
         return true;
     }
-    if (codePoint >= 0x2A700 && codePoint <= 0x2B81D) { // CJK Ideograph Extension C .. CJK Ideograph Extension D
+    if (codePoint >= 0x2A700 && codePoint <= 0x2B739) { // CJK Ideograph Extension C .. CJK Ideograph Extension C
         return true;
     }
-    if (codePoint >= 0x2B820 && codePoint <= 0x2CEAD) { // CJK Ideograph Extension E .. CJK Ideograph Extension E
+    if (codePoint >= 0x2B740 && codePoint <= 0x2B81D) { // CJK Ideograph Extension D .. CJK Ideograph Extension D
+        return true;
+    }
+    if (codePoint >= 0x2B820 && codePoint <= 0x2CEA1) { // CJK Ideograph Extension E .. CJK Ideograph Extension E
         return true;
     }
     if (codePoint >= 0x2CEB0 && codePoint <= 0x2EBE0) { // CJK Ideograph Extension F .. CJK Ideograph Extension F
@@ -2192,7 +2162,7 @@ js::unicode::IsIdentifierStartNonBMP(char32_t codePoint)
     if (codePoint >= 0x30000 && codePoint <= 0x3134A) { // CJK Ideograph Extension G .. CJK Ideograph Extension G
         return true;
     }
-    if (codePoint >= 0x31350 && codePoint <= 0x33479) { // CJK Ideograph Extension H .. CJK Ideograph Extension J
+    if (codePoint >= 0x31350 && codePoint <= 0x323AF) { // CJK Ideograph Extension H .. CJK Ideograph Extension H
         return true;
     }
     return false;
@@ -2357,9 +2327,6 @@ js::unicode::IsIdentifierPartNonBMP(char32_t codePoint)
     if (codePoint >= 0x10920 && codePoint <= 0x10939) { // LYDIAN LETTER A .. LYDIAN LETTER C
         return true;
     }
-    if (codePoint >= 0x10940 && codePoint <= 0x10959) { // SIDETIC LETTER N01 .. SIDETIC LETTER N26
-        return true;
-    }
     if (codePoint >= 0x10980 && codePoint <= 0x109B7) { // MEROITIC HIEROGLYPHIC LETTER A .. MEROITIC CURSIVE LETTER DA
         return true;
     }
@@ -2444,10 +2411,10 @@ js::unicode::IsIdentifierPartNonBMP(char32_t codePoint)
     if (codePoint >= 0x10EB0 && codePoint <= 0x10EB1) { // YEZIDI LETTER LAM WITH DOT ABOVE .. YEZIDI LETTER YOT WITH CIRCUMFLEX ABOVE
         return true;
     }
-    if (codePoint >= 0x10EC2 && codePoint <= 0x10EC7) { // ARABIC LETTER DAL WITH TWO DOTS VERTICALLY BELOW .. ARABIC LETTER YEH WITH FOUR DOTS BELOW
+    if (codePoint >= 0x10EC2 && codePoint <= 0x10EC4) { // ARABIC LETTER DAL WITH TWO DOTS VERTICALLY BELOW .. ARABIC LETTER KAF WITH TWO DOTS VERTICALLY BELOW
         return true;
     }
-    if (codePoint >= 0x10EFA && codePoint <= 0x10F1C) { // ARABIC DOUBLE VERTICAL BAR BELOW .. OLD SOGDIAN LETTER FINAL TAW WITH VERTICAL TAIL
+    if (codePoint >= 0x10EFC && codePoint <= 0x10F1C) { // ARABIC COMBINING ALEF OVERLAY .. OLD SOGDIAN LETTER FINAL TAW WITH VERTICAL TAIL
         return true;
     }
     if (codePoint >= 0x10F27 && codePoint <= 0x10F27) { // OLD SOGDIAN LIGATURE AYIN-DALETH .. OLD SOGDIAN LIGATURE AYIN-DALETH
@@ -2729,9 +2696,6 @@ js::unicode::IsIdentifierPartNonBMP(char32_t codePoint)
     if (codePoint >= 0x11AB0 && codePoint <= 0x11AF8) { // CANADIAN SYLLABICS NATTILIK HI .. PAU CIN HAU GLOTTAL STOP FINAL
         return true;
     }
-    if (codePoint >= 0x11B60 && codePoint <= 0x11B67) { // SHARADA VOWEL SIGN OE .. SHARADA VOWEL SIGN CANDRA O
-        return true;
-    }
     if (codePoint >= 0x11BC0 && codePoint <= 0x11BE0) { // SUNUWAR LETTER DEVI .. SUNUWAR LETTER KLOKO
         return true;
     }
@@ -2798,12 +2762,6 @@ js::unicode::IsIdentifierPartNonBMP(char32_t codePoint)
     if (codePoint >= 0x11DA0 && codePoint <= 0x11DA9) { // GUNJALA GONDI DIGIT ZERO .. GUNJALA GONDI DIGIT NINE
         return true;
     }
-    if (codePoint >= 0x11DB0 && codePoint <= 0x11DDB) { // TOLONG SIKI LETTER I .. TOLONG SIKI UNGGA
-        return true;
-    }
-    if (codePoint >= 0x11DE0 && codePoint <= 0x11DE9) { // TOLONG SIKI DIGIT ZERO .. TOLONG SIKI DIGIT NINE
-        return true;
-    }
     if (codePoint >= 0x11EE0 && codePoint <= 0x11EF6) { // MAKASAR LETTER KA .. MAKASAR VOWEL SIGN O
         return true;
     }
@@ -2894,12 +2852,6 @@ js::unicode::IsIdentifierPartNonBMP(char32_t codePoint)
     if (codePoint >= 0x16E40 && codePoint <= 0x16E7F) { // MEDEFAIDRIN CAPITAL LETTER M .. MEDEFAIDRIN SMALL LETTER Y
         return true;
     }
-    if (codePoint >= 0x16EA0 && codePoint <= 0x16EB8) { // BERIA ERFE CAPITAL LETTER ARKAB .. BERIA ERFE CAPITAL LETTER AY
-        return true;
-    }
-    if (codePoint >= 0x16EBB && codePoint <= 0x16ED3) { // BERIA ERFE SMALL LETTER ARKAB .. BERIA ERFE SMALL LETTER AY
-        return true;
-    }
     if (codePoint >= 0x16F00 && codePoint <= 0x16F4A) { // MIAO LETTER PA .. MIAO LETTER RTE
         return true;
     }
@@ -2915,16 +2867,16 @@ js::unicode::IsIdentifierPartNonBMP(char32_t codePoint)
     if (codePoint >= 0x16FE3 && codePoint <= 0x16FE4) { // OLD CHINESE ITERATION MARK .. KHITAN SMALL SCRIPT FILLER
         return true;
     }
-    if (codePoint >= 0x16FF0 && codePoint <= 0x16FF6) { // VIETNAMESE ALTERNATE READING MARK CA .. YANGQIN SIGN SLOW TWO BEATS
+    if (codePoint >= 0x16FF0 && codePoint <= 0x16FF1) { // VIETNAMESE ALTERNATE READING MARK CA .. VIETNAMESE ALTERNATE READING MARK NHAY
         return true;
     }
-    if (codePoint >= 0x17000 && codePoint <= 0x18CD5) { // Tangut Ideograph .. KHITAN SMALL SCRIPT CHARACTER-18CD5
+    if (codePoint >= 0x17000 && codePoint <= 0x187F7) { // Tangut Ideograph .. Tangut Ideograph
         return true;
     }
-    if (codePoint >= 0x18CFF && codePoint <= 0x18D1E) { // KHITAN SMALL SCRIPT CHARACTER-18CFF .. Tangut Ideograph Supplement
+    if (codePoint >= 0x18800 && codePoint <= 0x18CD5) { // TANGUT COMPONENT-001 .. KHITAN SMALL SCRIPT CHARACTER-18CD5
         return true;
     }
-    if (codePoint >= 0x18D80 && codePoint <= 0x18DF2) { // TANGUT COMPONENT-769 .. TANGUT COMPONENT-883
+    if (codePoint >= 0x18CFF && codePoint <= 0x18D08) { // KHITAN SMALL SCRIPT CHARACTER-18CFF .. Tangut Ideograph Supplement
         return true;
     }
     if (codePoint >= 0x1AFF0 && codePoint <= 0x1AFF3) { // KATAKANA LETTER MINNAN TONE-2 .. KATAKANA LETTER MINNAN TONE-5
@@ -3158,15 +3110,6 @@ js::unicode::IsIdentifierPartNonBMP(char32_t codePoint)
     if (codePoint >= 0x1E5D0 && codePoint <= 0x1E5FA) { // OL ONAL LETTER O .. OL ONAL DIGIT NINE
         return true;
     }
-    if (codePoint >= 0x1E6C0 && codePoint <= 0x1E6DE) { // TAI YO LETTER LOW KO .. TAI YO LETTER HIGH KVO
-        return true;
-    }
-    if (codePoint >= 0x1E6E0 && codePoint <= 0x1E6F5) { // TAI YO LETTER AA .. TAI YO SIGN OM
-        return true;
-    }
-    if (codePoint >= 0x1E6FE && codePoint <= 0x1E6FF) { // TAI YO SYMBOL MUEANG .. TAI YO XAM LAI
-        return true;
-    }
     if (codePoint >= 0x1E7E0 && codePoint <= 0x1E7E6) { // ETHIOPIC SYLLABLE HHYA .. ETHIOPIC SYLLABLE HHYO
         return true;
     }
@@ -3296,10 +3239,13 @@ js::unicode::IsIdentifierPartNonBMP(char32_t codePoint)
     if (codePoint >= 0x20000 && codePoint <= 0x2A6DF) { // CJK Ideograph Extension B .. CJK Ideograph Extension B
         return true;
     }
-    if (codePoint >= 0x2A700 && codePoint <= 0x2B81D) { // CJK Ideograph Extension C .. CJK Ideograph Extension D
+    if (codePoint >= 0x2A700 && codePoint <= 0x2B739) { // CJK Ideograph Extension C .. CJK Ideograph Extension C
         return true;
     }
-    if (codePoint >= 0x2B820 && codePoint <= 0x2CEAD) { // CJK Ideograph Extension E .. CJK Ideograph Extension E
+    if (codePoint >= 0x2B740 && codePoint <= 0x2B81D) { // CJK Ideograph Extension D .. CJK Ideograph Extension D
+        return true;
+    }
+    if (codePoint >= 0x2B820 && codePoint <= 0x2CEA1) { // CJK Ideograph Extension E .. CJK Ideograph Extension E
         return true;
     }
     if (codePoint >= 0x2CEB0 && codePoint <= 0x2EBE0) { // CJK Ideograph Extension F .. CJK Ideograph Extension F
@@ -3314,7 +3260,7 @@ js::unicode::IsIdentifierPartNonBMP(char32_t codePoint)
     if (codePoint >= 0x30000 && codePoint <= 0x3134A) { // CJK Ideograph Extension G .. CJK Ideograph Extension G
         return true;
     }
-    if (codePoint >= 0x31350 && codePoint <= 0x33479) { // CJK Ideograph Extension H .. CJK Ideograph Extension J
+    if (codePoint >= 0x31350 && codePoint <= 0x323AF) { // CJK Ideograph Extension H .. CJK Ideograph Extension H
         return true;
     }
     if (codePoint >= 0xE0100 && codePoint <= 0xE01EF) { // VARIATION SELECTOR-17 .. VARIATION SELECTOR-256
diff --git a/js/src/util/UnicodeData.txt b/js/src/util/UnicodeData.txt
index fca68e3e154e6..64258a3739535 100644
--- a/js/src/util/UnicodeData.txt
+++ b/js/src/util/UnicodeData.txt
@@ -659,7 +659,7 @@
 0292;LATIN SMALL LETTER EZH;Ll;0;L;;;;;N;LATIN SMALL LETTER YOGH;;01B7;;01B7
 0293;LATIN SMALL LETTER EZH WITH CURL;Ll;0;L;;;;;N;LATIN SMALL LETTER YOGH CURL;;;;
 0294;LATIN LETTER GLOTTAL STOP;Lo;0;L;;;;;N;;;;;
-0295;LATIN LETTER PHARYNGEAL VOICED FRICATIVE;Lo;0;L;;;;;N;LATIN LETTER REVERSED GLOTTAL STOP;;;;
+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;;;;
@@ -2121,7 +2121,6 @@
 088C;ARABIC LETTER TAH WITH THREE DOTS BELOW;Lo;0;AL;;;;;N;;;;;
 088D;ARABIC LETTER KEHEH WITH TWO DOTS VERTICALLY BELOW;Lo;0;AL;;;;;N;;;;;
 088E;ARABIC VERTICAL TAIL;Lo;0;AL;;;;;N;;;;;
-088F;ARABIC LETTER NOON WITH RING ABOVE;Lo;0;AL;;;;;N;;;;;
 0890;ARABIC POUND MARK ABOVE;Cf;0;AN;;;;;N;;;;;
 0891;ARABIC PIASTRE MARK ABOVE;Cf;0;AN;;;;;N;;;;;
 0897;ARABIC PEPET;Mn;230;NSM;;;;;N;;;;;
@@ -2863,7 +2862,6 @@
 0C58;TELUGU LETTER TSA;Lo;0;L;;;;;N;;;;;
 0C59;TELUGU LETTER DZA;Lo;0;L;;;;;N;;;;;
 0C5A;TELUGU LETTER RRRA;Lo;0;L;;;;;N;;;;;
-0C5C;TELUGU ARCHAIC SHRII;Lo;0;L;;;;;N;;;;;
 0C5D;TELUGU LETTER NAKAARA POLLU;Lo;0;L;;;;;N;;;;;
 0C60;TELUGU LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;;
 0C61;TELUGU LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;;
@@ -2960,7 +2958,6 @@
 0CCD;KANNADA SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;;
 0CD5;KANNADA LENGTH MARK;Mc;0;L;;;;;N;;;;;
 0CD6;KANNADA AI LENGTH MARK;Mc;0;L;;;;;N;;;;;
-0CDC;KANNADA ARCHAIC SHRII;Lo;0;L;;;;;N;;;;;
 0CDD;KANNADA LETTER NAKAARA POLLU;Lo;0;L;;;;;N;;;;;
 0CDE;KANNADA LETTER FA;Lo;0;L;;;;;N;;;;;
 0CE0;KANNADA LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;;
@@ -6140,33 +6137,6 @@
 1ACC;COMBINING LATIN SMALL LETTER INSULAR G;Mn;230;NSM;;;;;N;;;;;
 1ACD;COMBINING LATIN SMALL LETTER INSULAR R;Mn;230;NSM;;;;;N;;;;;
 1ACE;COMBINING LATIN SMALL LETTER INSULAR T;Mn;230;NSM;;;;;N;;;;;
-1ACF;COMBINING DOUBLE CARON;Mn;230;NSM;;;;;N;;;;;
-1AD0;COMBINING VERTICAL-LINE-ACUTE;Mn;230;NSM;;;;;N;;;;;
-1AD1;COMBINING GRAVE-VERTICAL-LINE;Mn;230;NSM;;;;;N;;;;;
-1AD2;COMBINING VERTICAL-LINE-GRAVE;Mn;230;NSM;;;;;N;;;;;
-1AD3;COMBINING ACUTE-VERTICAL-LINE;Mn;230;NSM;;;;;N;;;;;
-1AD4;COMBINING VERTICAL-LINE-MACRON;Mn;230;NSM;;;;;N;;;;;
-1AD5;COMBINING MACRON-VERTICAL-LINE;Mn;230;NSM;;;;;N;;;;;
-1AD6;COMBINING VERTICAL-LINE-ACUTE-GRAVE;Mn;230;NSM;;;;;N;;;;;
-1AD7;COMBINING VERTICAL-LINE-GRAVE-ACUTE;Mn;230;NSM;;;;;N;;;;;
-1AD8;COMBINING MACRON-ACUTE-GRAVE;Mn;230;NSM;;;;;N;;;;;
-1AD9;COMBINING SHARP SIGN;Mn;230;NSM;;;;;N;;;;;
-1ADA;COMBINING FLAT SIGN;Mn;230;NSM;;;;;N;;;;;
-1ADB;COMBINING DOWN TACK ABOVE;Mn;230;NSM;;;;;N;;;;;
-1ADC;COMBINING DIAERESIS WITH RAISED LEFT DOT;Mn;230;NSM;;;;;N;;;;;
-1ADD;COMBINING DOT-AND-RING BELOW;Mn;220;NSM;;;;;N;;;;;
-1AE0;COMBINING LEFT TACK ABOVE;Mn;230;NSM;;;;;N;;;;;
-1AE1;COMBINING RIGHT TACK ABOVE;Mn;230;NSM;;;;;N;;;;;
-1AE2;COMBINING MINUS SIGN ABOVE;Mn;230;NSM;;;;;N;;;;;
-1AE3;COMBINING INVERTED BRIDGE ABOVE;Mn;230;NSM;;;;;N;;;;;
-1AE4;COMBINING SQUARE ABOVE;Mn;230;NSM;;;;;N;;;;;
-1AE5;COMBINING SEAGULL ABOVE;Mn;230;NSM;;;;;N;;;;;
-1AE6;COMBINING DOUBLE ARCH BELOW;Mn;220;NSM;;;;;N;;;;;
-1AE7;COMBINING DOUBLE ARCH ABOVE;Mn;230;NSM;;;;;N;;;;;
-1AE8;COMBINING EQUALS SIGN ABOVE;Mn;230;NSM;;;;;N;;;;;
-1AE9;COMBINING LEFT ANGLE CENTRED ABOVE;Mn;230;NSM;;;;;N;;;;;
-1AEA;COMBINING UPWARDS ARROW ABOVE;Mn;230;NSM;;;;;N;;;;;
-1AEB;COMBINING DOUBLE RIGHTWARDS ARROW ABOVE;Mn;234;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;;;;;
@@ -7575,7 +7545,6 @@
 20BE;LARI SIGN;Sc;0;ET;;;;;N;;;;;
 20BF;BITCOIN SIGN;Sc;0;ET;;;;;N;;;;;
 20C0;SOM SIGN;Sc;0;ET;;;;;N;;;;;
-20C1;SAUDI RIYAL 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;;;;
@@ -10270,7 +10239,6 @@
 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;;;;;
-2B96;EQUALS SIGN WITH INFINITY ABOVE;So;0;ON;;;;;N;;;;;
 2B97;SYMBOL FOR TYPE A ELECTRONICS;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;;;;;
@@ -14306,14 +14274,10 @@ A7CA;LATIN SMALL LETTER S WITH SHORT STROKE OVERLAY;Ll;0;L;;;;;N;;;A7C9;;A7C9
 A7CB;LATIN CAPITAL LETTER RAMS HORN;Lu;0;L;;;;;N;;;;0264;
 A7CC;LATIN CAPITAL LETTER S WITH DIAGONAL STROKE;Lu;0;L;;;;;N;;;;A7CD;
 A7CD;LATIN SMALL LETTER S WITH DIAGONAL STROKE;Ll;0;L;;;;;N;;;A7CC;;A7CC
-A7CE;LATIN CAPITAL LETTER PHARYNGEAL VOICED FRICATIVE;Lu;0;L;;;;;N;;;;A7CF;
-A7CF;LATIN SMALL LETTER PHARYNGEAL VOICED FRICATIVE;Ll;0;L;;;;;N;;;A7CE;;A7CE
 A7D0;LATIN CAPITAL LETTER CLOSED INSULAR G;Lu;0;L;;;;;N;;;;A7D1;
 A7D1;LATIN SMALL LETTER CLOSED INSULAR G;Ll;0;L;;;;;N;;;A7D0;;A7D0
-A7D2;LATIN CAPITAL LETTER DOUBLE THORN;Lu;0;L;;;;;N;;;;A7D3;
-A7D3;LATIN SMALL LETTER DOUBLE THORN;Ll;0;L;;;;;N;;;A7D2;;A7D2
-A7D4;LATIN CAPITAL LETTER DOUBLE WYNN;Lu;0;L;;;;;N;;;;A7D5;
-A7D5;LATIN SMALL LETTER DOUBLE WYNN;Ll;0;L;;;;;N;;;A7D4;;A7D4
+A7D3;LATIN SMALL LETTER DOUBLE THORN;Ll;0;L;;;;;N;;;;;
+A7D5;LATIN SMALL LETTER DOUBLE WYNN;Ll;0;L;;;;;N;;;;;
 A7D6;LATIN CAPITAL LETTER MIDDLE SCOTS S;Lu;0;L;;;;;N;;;;A7D7;
 A7D7;LATIN SMALL LETTER MIDDLE SCOTS S;Ll;0;L;;;;;N;;;A7D6;;A7D6
 A7D8;LATIN CAPITAL LETTER SIGMOID S;Lu;0;L;;;;;N;;;;A7D9;
@@ -14321,7 +14285,6 @@ A7D9;LATIN SMALL LETTER SIGMOID S;Ll;0;L;;;;;N;;;A7D8;;A7D8
 A7DA;LATIN CAPITAL LETTER LAMBDA;Lu;0;L;;;;;N;;;;A7DB;
 A7DB;LATIN SMALL LETTER LAMBDA;Ll;0;L;;;;;N;;;A7DA;;A7DA
 A7DC;LATIN CAPITAL LETTER LAMBDA WITH STROKE;Lu;0;L;;;;;N;;;;019B;
-A7F1;MODIFIER LETTER CAPITAL S;Lm;0;L;<super> 0053;;;;N;;;;;
 A7F2;MODIFIER LETTER CAPITAL C;Lm;0;L;<super> 0043;;;;N;;;;;
 A7F3;MODIFIER LETTER CAPITAL F;Lm;0;L;<super> 0046;;;;N;;;;;
 A7F4;MODIFIER LETTER CAPITAL Q;Lm;0;L;<super> 0051;;;;N;;;;;
@@ -15962,22 +15925,6 @@ FBBF;ARABIC SYMBOL RING;Sk;0;AL;;;;;N;;;;;
 FBC0;ARABIC SYMBOL SMALL TAH ABOVE;Sk;0;AL;;;;;N;;;;;
 FBC1;ARABIC SYMBOL SMALL TAH BELOW;Sk;0;AL;;;;;N;;;;;
 FBC2;ARABIC SYMBOL WASLA ABOVE;Sk;0;AL;;;;;N;;;;;
-FBC3;ARABIC LIGATURE JALLA WA-ALAA;So;0;ON;;;;;N;;;;;
-FBC4;ARABIC LIGATURE DAAMAT BARAKAATUHUM;So;0;ON;;;;;N;;;;;
-FBC5;ARABIC LIGATURE RAHMATU ALLAAHI TAAALAA ALAYH;So;0;ON;;;;;N;;;;;
-FBC6;ARABIC LIGATURE RAHMATU ALLAAHI ALAYHIM;So;0;ON;;;;;N;;;;;
-FBC7;ARABIC LIGATURE RAHMATU ALLAAHI ALAYHIMAA;So;0;ON;;;;;N;;;;;
-FBC8;ARABIC LIGATURE RAHIMAHUM ALLAAHU TAAALAA;So;0;ON;;;;;N;;;;;
-FBC9;ARABIC LIGATURE RAHIMAHUMAA ALLAAH;So;0;ON;;;;;N;;;;;
-FBCA;ARABIC LIGATURE RAHIMAHUMAA ALLAAHU TAAALAA;So;0;ON;;;;;N;;;;;
-FBCB;ARABIC LIGATURE RADI ALLAAHU TAAALAA ANHUM;So;0;ON;;;;;N;;;;;
-FBCC;ARABIC LIGATURE HAFIZAHU ALLAAH;So;0;ON;;;;;N;;;;;
-FBCD;ARABIC LIGATURE HAFIZAHU ALLAAHU TAAALAA;So;0;ON;;;;;N;;;;;
-FBCE;ARABIC LIGATURE HAFIZAHUM ALLAAHU TAAALAA;So;0;ON;;;;;N;;;;;
-FBCF;ARABIC LIGATURE HAFIZAHUMAA ALLAAHU TAAALAA;So;0;ON;;;;;N;;;;;
-FBD0;ARABIC LIGATURE SALLALLAAHU TAAALAA ALAYHI WA-SALLAM;So;0;ON;;;;;N;;;;;
-FBD1;ARABIC LIGATURE AJJAL ALLAAHU FARAJAHU ASH-SHAREEF;So;0;ON;;;;;N;;;;;
-FBD2;ARABIC LIGATURE ALAYHI AR-RAHMAH;So;0;ON;;;;;N;;;;;
 FBD3;ARABIC LETTER NG ISOLATED FORM;Lo;0;AL;<isolated> 06AD;;;;N;;;;;
 FBD4;ARABIC LETTER NG FINAL FORM;Lo;0;AL;<final> 06AD;;;;N;;;;;
 FBD5;ARABIC LETTER NG INITIAL FORM;Lo;0;AL;<initial> 06AD;;;;N;;;;;
@@ -16423,8 +16370,6 @@ FD8C;ARABIC LIGATURE MEEM WITH JEEM WITH HAH INITIAL FORM;Lo;0;AL;<initial> 0645
 FD8D;ARABIC LIGATURE MEEM WITH JEEM WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0645 062C 0645;;;;N;;;;;
 FD8E;ARABIC LIGATURE MEEM WITH KHAH WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 0645 062E 062C;;;;N;;;;;
 FD8F;ARABIC LIGATURE MEEM WITH KHAH WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0645 062E 0645;;;;N;;;;;
-FD90;ARABIC LIGATURE RAHMATU ALLAAHI ALAYH;So;0;ON;;;;;N;;;;;
-FD91;ARABIC LIGATURE RAHMATU ALLAAHI ALAYHAA;So;0;ON;;;;;N;;;;;
 FD92;ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM;Lo;0;AL;<initial> 0645 062C 062E;;;;N;;;;;
 FD93;ARABIC LIGATURE HEH WITH MEEM WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 0647 0645 062C;;;;N;;;;;
 FD94;ARABIC LIGATURE HEH WITH MEEM WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0647 0645 0645;;;;N;;;;;
@@ -16479,13 +16424,6 @@ FDC4;ARABIC LIGATURE AIN WITH JEEM WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0639
 FDC5;ARABIC LIGATURE SAD WITH MEEM WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0635 0645 0645;;;;N;;;;;
 FDC6;ARABIC LIGATURE SEEN WITH KHAH WITH YEH FINAL FORM;Lo;0;AL;<final> 0633 062E 064A;;;;N;;;;;
 FDC7;ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM;Lo;0;AL;<final> 0646 062C 064A;;;;N;;;;;
-FDC8;ARABIC LIGATURE RAHIMAHU ALLAAH TAAALAA;So;0;ON;;;;;N;;;;;
-FDC9;ARABIC LIGATURE RADI ALLAAHU TAAALAA ANH;So;0;ON;;;;;N;;;;;
-FDCA;ARABIC LIGATURE RADI ALLAAHU TAAALAA ANHAA;So;0;ON;;;;;N;;;;;
-FDCB;ARABIC LIGATURE RADI ALLAAHU TAAALAA ANHUMAA;So;0;ON;;;;;N;;;;;
-FDCC;ARABIC LIGATURE SALLALLAHU ALAYHI WA-ALAA AALIHEE WA-SALLAM;So;0;ON;;;;;N;;;;;
-FDCD;ARABIC LIGATURE AJJAL ALLAAHU TAAALAA FARAJAHU ASH-SHAREEF;So;0;ON;;;;;N;;;;;
-FDCE;ARABIC LIGATURE KARRAMA ALLAAHU WAJHAH;So;0;ON;;;;;N;;;;;
 FDCF;ARABIC LIGATURE SALAAMUHU ALAYNAA;So;0;ON;;;;;N;;;;;
 FDF0;ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM;Lo;0;AL;<isolated> 0635 0644 06D2;;;;N;;;;;
 FDF1;ARABIC LIGATURE QALA USED AS KORANIC STOP SIGN ISOLATED FORM;Lo;0;AL;<isolated> 0642 0644 06D2;;;;N;;;;;
@@ -18770,32 +18708,6 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 10938;LYDIAN LETTER NN;Lo;0;R;;;;;N;;;;;
 10939;LYDIAN LETTER C;Lo;0;R;;;;;N;;;;;
 1093F;LYDIAN TRIANGULAR MARK;Po;0;R;;;;;N;;;;;
-10940;SIDETIC LETTER N01;Lo;0;R;;;;;N;;;;;
-10941;SIDETIC LETTER N02;Lo;0;R;;;;;N;;;;;
-10942;SIDETIC LETTER N03;Lo;0;R;;;;;N;;;;;
-10943;SIDETIC LETTER N04;Lo;0;R;;;;;N;;;;;
-10944;SIDETIC LETTER N05;Lo;0;R;;;;;N;;;;;
-10945;SIDETIC LETTER N06;Lo;0;R;;;;;N;;;;;
-10946;SIDETIC LETTER N07;Lo;0;R;;;;;N;;;;;
-10947;SIDETIC LETTER N08;Lo;0;R;;;;;N;;;;;
-10948;SIDETIC LETTER N09;Lo;0;R;;;;;N;;;;;
-10949;SIDETIC LETTER N10;Lo;0;R;;;;;N;;;;;
-1094A;SIDETIC LETTER N11;Lo;0;R;;;;;N;;;;;
-1094B;SIDETIC LETTER N12;Lo;0;R;;;;;N;;;;;
-1094C;SIDETIC LETTER N13;Lo;0;R;;;;;N;;;;;
-1094D;SIDETIC LETTER N14;Lo;0;R;;;;;N;;;;;
-1094E;SIDETIC LETTER N15;Lo;0;R;;;;;N;;;;;
-1094F;SIDETIC LETTER N16;Lo;0;R;;;;;N;;;;;
-10950;SIDETIC LETTER N17;Lo;0;R;;;;;N;;;;;
-10951;SIDETIC LETTER N18;Lo;0;R;;;;;N;;;;;
-10952;SIDETIC LETTER N19;Lo;0;R;;;;;N;;;;;
-10953;SIDETIC LETTER N20;Lo;0;R;;;;;N;;;;;
-10954;SIDETIC LETTER N21;Lo;0;R;;;;;N;;;;;
-10955;SIDETIC LETTER N22;Lo;0;R;;;;;N;;;;;
-10956;SIDETIC LETTER N23;Lo;0;R;;;;;N;;;;;
-10957;SIDETIC LETTER N24;Lo;0;R;;;;;N;;;;;
-10958;SIDETIC LETTER N25;Lo;0;R;;;;;N;;;;;
-10959;SIDETIC LETTER N26;Lo;0;R;;;;;N;;;;;
 10980;MEROITIC HIEROGLYPHIC LETTER A;Lo;0;R;;;;;N;;;;;
 10981;MEROITIC HIEROGLYPHIC LETTER E;Lo;0;R;;;;;N;;;;;
 10982;MEROITIC HIEROGLYPHIC LETTER I;Lo;0;R;;;;;N;;;;;
@@ -19629,20 +19541,6 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 10EC2;ARABIC LETTER DAL WITH TWO DOTS VERTICALLY BELOW;Lo;0;AL;;;;;N;;;;;
 10EC3;ARABIC LETTER TAH WITH TWO DOTS VERTICALLY BELOW;Lo;0;AL;;;;;N;;;;;
 10EC4;ARABIC LETTER KAF WITH TWO DOTS VERTICALLY BELOW;Lo;0;AL;;;;;N;;;;;
-10EC5;ARABIC SMALL YEH BARREE WITH TWO DOTS BELOW;Lm;0;AL;;;;;N;;;;;
-10EC6;ARABIC LETTER THIN NOON;Lo;0;AL;;;;;N;;;;;
-10EC7;ARABIC LETTER YEH WITH FOUR DOTS BELOW;Lo;0;AL;;;;;N;;;;;
-10ED0;ARABIC BIBLICAL END OF VERSE;Po;0;ON;;;;;N;;;;;
-10ED1;ARABIC LIGATURE ALAYHAA AS-SALAATU WAS-SALAAM;So;0;ON;;;;;N;;;;;
-10ED2;ARABIC LIGATURE ALAYHIM AS-SALAATU WAS-SALAAM;So;0;ON;;;;;N;;;;;
-10ED3;ARABIC LIGATURE ALAYHIMAA AS-SALAATU WAS-SALAAM;So;0;ON;;;;;N;;;;;
-10ED4;ARABIC LIGATURE QADDASA ALLAAHU SIRRAH;So;0;ON;;;;;N;;;;;
-10ED5;ARABIC LIGATURE QUDDISA SIRRUHUM;So;0;ON;;;;;N;;;;;
-10ED6;ARABIC LIGATURE QUDDISA SIRRUHUMAA;So;0;ON;;;;;N;;;;;
-10ED7;ARABIC LIGATURE QUDDISAT ASRAARUHUM;So;0;ON;;;;;N;;;;;
-10ED8;ARABIC LIGATURE NAWWARA ALLAAHU MARQADAH;So;0;ON;;;;;N;;;;;
-10EFA;ARABIC DOUBLE VERTICAL BAR BELOW;Mn;220;NSM;;;;;N;;;;;
-10EFB;ARABIC SMALL LOW NOON;Mn;220;NSM;;;;;N;;;;;
 10EFC;ARABIC COMBINING ALEF OVERLAY;Mn;0;NSM;;;;;N;;;;;
 10EFD;ARABIC SMALL LOW WORD SAKTA;Mn;220;NSM;;;;;N;;;;;
 10EFE;ARABIC SMALL LOW WORD QASR;Mn;220;NSM;;;;;N;;;;;
@@ -21623,14 +21521,6 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 11B07;DEVANAGARI SIGN WESTERN NINE-LIKE BHALE;Po;0;L;;;;;N;;;;;
 11B08;DEVANAGARI SIGN REVERSED NINE-LIKE BHALE;Po;0;L;;;;;N;;;;;
 11B09;DEVANAGARI SIGN MINDU;Po;0;L;;;;;N;;;;;
-11B60;SHARADA VOWEL SIGN OE;Mn;0;NSM;;;;;N;;;;;
-11B61;SHARADA VOWEL SIGN OOE;Mc;0;L;;;;;N;;;;;
-11B62;SHARADA VOWEL SIGN UE;Mn;0;NSM;;;;;N;;;;;
-11B63;SHARADA VOWEL SIGN UUE;Mn;0;NSM;;;;;N;;;;;
-11B64;SHARADA VOWEL SIGN SHORT E;Mn;0;NSM;;;;;N;;;;;
-11B65;SHARADA VOWEL SIGN SHORT O;Mc;0;L;;;;;N;;;;;
-11B66;SHARADA VOWEL SIGN CANDRA E;Mn;0;NSM;;;;;N;;;;;
-11B67;SHARADA VOWEL SIGN CANDRA O;Mc;0;L;;;;;N;;;;;
 11BC0;SUNUWAR LETTER DEVI;Lo;0;L;;;;;N;;;;;
 11BC1;SUNUWAR LETTER TASLA;Lo;0;L;;;;;N;;;;;
 11BC2;SUNUWAR LETTER EKO;Lo;0;L;;;;;N;;;;;
@@ -21978,60 +21868,6 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 11DA7;GUNJALA GONDI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
 11DA8;GUNJALA GONDI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
 11DA9;GUNJALA GONDI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
-11DB0;TOLONG SIKI LETTER I;Lo;0;L;;;;;N;;;;;
-11DB1;TOLONG SIKI LETTER E;Lo;0;L;;;;;N;;;;;
-11DB2;TOLONG SIKI LETTER U;Lo;0;L;;;;;N;;;;;
-11DB3;TOLONG SIKI LETTER O;Lo;0;L;;;;;N;;;;;
-11DB4;TOLONG SIKI LETTER A;Lo;0;L;;;;;N;;;;;
-11DB5;TOLONG SIKI LETTER AA;Lo;0;L;;;;;N;;;;;
-11DB6;TOLONG SIKI LETTER P;Lo;0;L;;;;;N;;;;;
-11DB7;TOLONG SIKI LETTER PH;Lo;0;L;;;;;N;;;;;
-11DB8;TOLONG SIKI LETTER B;Lo;0;L;;;;;N;;;;;
-11DB9;TOLONG SIKI LETTER BH;Lo;0;L;;;;;N;;;;;
-11DBA;TOLONG SIKI LETTER M;Lo;0;L;;;;;N;;;;;
-11DBB;TOLONG SIKI LETTER T;Lo;0;L;;;;;N;;;;;
-11DBC;TOLONG SIKI LETTER TH;Lo;0;L;;;;;N;;;;;
-11DBD;TOLONG SIKI LETTER D;Lo;0;L;;;;;N;;;;;
-11DBE;TOLONG SIKI LETTER DH;Lo;0;L;;;;;N;;;;;
-11DBF;TOLONG SIKI LETTER N;Lo;0;L;;;;;N;;;;;
-11DC0;TOLONG SIKI LETTER TT;Lo;0;L;;;;;N;;;;;
-11DC1;TOLONG SIKI LETTER TTH;Lo;0;L;;;;;N;;;;;
-11DC2;TOLONG SIKI LETTER DD;Lo;0;L;;;;;N;;;;;
-11DC3;TOLONG SIKI LETTER DDH;Lo;0;L;;;;;N;;;;;
-11DC4;TOLONG SIKI LETTER NN;Lo;0;L;;;;;N;;;;;
-11DC5;TOLONG SIKI LETTER C;Lo;0;L;;;;;N;;;;;
-11DC6;TOLONG SIKI LETTER CH;Lo;0;L;;;;;N;;;;;
-11DC7;TOLONG SIKI LETTER J;Lo;0;L;;;;;N;;;;;
-11DC8;TOLONG SIKI LETTER JH;Lo;0;L;;;;;N;;;;;
-11DC9;TOLONG SIKI LETTER NY;Lo;0;L;;;;;N;;;;;
-11DCA;TOLONG SIKI LETTER K;Lo;0;L;;;;;N;;;;;
-11DCB;TOLONG SIKI LETTER KH;Lo;0;L;;;;;N;;;;;
-11DCC;TOLONG SIKI LETTER G;Lo;0;L;;;;;N;;;;;
-11DCD;TOLONG SIKI LETTER GH;Lo;0;L;;;;;N;;;;;
-11DCE;TOLONG SIKI LETTER NG;Lo;0;L;;;;;N;;;;;
-11DCF;TOLONG SIKI LETTER Y;Lo;0;L;;;;;N;;;;;
-11DD0;TOLONG SIKI LETTER R;Lo;0;L;;;;;N;;;;;
-11DD1;TOLONG SIKI LETTER L;Lo;0;L;;;;;N;;;;;
-11DD2;TOLONG SIKI LETTER V;Lo;0;L;;;;;N;;;;;
-11DD3;TOLONG SIKI LETTER NNY;Lo;0;L;;;;;N;;;;;
-11DD4;TOLONG SIKI LETTER S;Lo;0;L;;;;;N;;;;;
-11DD5;TOLONG SIKI LETTER H;Lo;0;L;;;;;N;;;;;
-11DD6;TOLONG SIKI LETTER X;Lo;0;L;;;;;N;;;;;
-11DD7;TOLONG SIKI LETTER RR;Lo;0;L;;;;;N;;;;;
-11DD8;TOLONG SIKI LETTER RRH;Lo;0;L;;;;;N;;;;;
-11DD9;TOLONG SIKI SIGN SELA;Lm;0;L;;;;;N;;;;;
-11DDA;TOLONG SIKI SIGN HECAKA;Lo;0;L;;;;;N;;;;;
-11DDB;TOLONG SIKI UNGGA;Lo;0;L;;;;;N;;;;;
-11DE0;TOLONG SIKI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
-11DE1;TOLONG SIKI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
-11DE2;TOLONG SIKI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
-11DE3;TOLONG SIKI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
-11DE4;TOLONG SIKI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
-11DE5;TOLONG SIKI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
-11DE6;TOLONG SIKI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
-11DE7;TOLONG SIKI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
-11DE8;TOLONG SIKI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
-11DE9;TOLONG SIKI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
 11EE0;MAKASAR LETTER KA;Lo;0;L;;;;;N;;;;;
 11EE1;MAKASAR LETTER GA;Lo;0;L;;;;;N;;;;;
 11EE2;MAKASAR LETTER NGA;Lo;0;L;;;;;N;;;;;
@@ -22252,8 +22088,8 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 12035;CUNEIFORM SIGN ARAD TIMES KUR;Lo;0;L;;;;;N;;;;;
 12036;CUNEIFORM SIGN ARKAB;Lo;0;L;;;;;N;;;;;
 12037;CUNEIFORM SIGN ASAL2;Lo;0;L;;;;;N;;;;;
-12038;CUNEIFORM SIGN ASH;Lo;0;L;;;;1;N;;;;;
-12039;CUNEIFORM SIGN ASH ZIDA TENU;Lo;0;L;;;;1;N;;;;;
+12038;CUNEIFORM SIGN ASH;Lo;0;L;;;;;N;;;;;
+12039;CUNEIFORM SIGN ASH ZIDA TENU;Lo;0;L;;;;;N;;;;;
 1203A;CUNEIFORM SIGN ASH KABA TENU;Lo;0;L;;;;;N;;;;;
 1203B;CUNEIFORM SIGN ASH OVER ASH TUG2 OVER TUG2 TUG2 OVER TUG2 PAP;Lo;0;L;;;;;N;;;;;
 1203C;CUNEIFORM SIGN ASH OVER ASH OVER ASH;Lo;0;L;;;;;N;;;;;
@@ -22317,7 +22153,7 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 12076;CUNEIFORM SIGN DIM2;Lo;0;L;;;;;N;;;;;
 12077;CUNEIFORM SIGN DIN;Lo;0;L;;;;;N;;;;;
 12078;CUNEIFORM SIGN DIN KASKAL U GUNU DISH;Lo;0;L;;;;;N;;;;;
-12079;CUNEIFORM SIGN DISH;Lo;0;L;;;;1;N;;;;;
+12079;CUNEIFORM SIGN DISH;Lo;0;L;;;;;N;;;;;
 1207A;CUNEIFORM SIGN DU;Lo;0;L;;;;;N;;;;;
 1207B;CUNEIFORM SIGN DU OVER DU;Lo;0;L;;;;;N;;;;;
 1207C;CUNEIFORM SIGN DU GUNU;Lo;0;L;;;;;N;;;;;
@@ -22746,12 +22582,12 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 12223;CUNEIFORM SIGN MA2;Lo;0;L;;;;;N;;;;;
 12224;CUNEIFORM SIGN MAH;Lo;0;L;;;;;N;;;;;
 12225;CUNEIFORM SIGN MAR;Lo;0;L;;;;;N;;;;;
-12226;CUNEIFORM SIGN MASH;Lo;0;L;;;;1/2;N;;;;;
+12226;CUNEIFORM SIGN MASH;Lo;0;L;;;;;N;;;;;
 12227;CUNEIFORM SIGN MASH2;Lo;0;L;;;;;N;;;;;
 12228;CUNEIFORM SIGN ME;Lo;0;L;;;;;N;;;;;
 12229;CUNEIFORM SIGN MES;Lo;0;L;;;;;N;;;;;
 1222A;CUNEIFORM SIGN MI;Lo;0;L;;;;;N;;;;;
-1222B;CUNEIFORM SIGN MIN;Lo;0;L;;;;2;N;;;;;
+1222B;CUNEIFORM SIGN MIN;Lo;0;L;;;;;N;;;;;
 1222C;CUNEIFORM SIGN MU;Lo;0;L;;;;;N;;;;;
 1222D;CUNEIFORM SIGN MU OVER MU;Lo;0;L;;;;;N;;;;;
 1222E;CUNEIFORM SIGN MUG;Lo;0;L;;;;;N;;;;;
@@ -22975,9 +22811,9 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 12308;CUNEIFORM SIGN TUM;Lo;0;L;;;;;N;;;;;
 12309;CUNEIFORM SIGN TUR;Lo;0;L;;;;;N;;;;;
 1230A;CUNEIFORM SIGN TUR OVER TUR ZA OVER ZA;Lo;0;L;;;;;N;;;;;
-1230B;CUNEIFORM SIGN U;Lo;0;L;;;;1;N;;;;;
+1230B;CUNEIFORM SIGN U;Lo;0;L;;;;;N;;;;;
 1230C;CUNEIFORM SIGN U GUD;Lo;0;L;;;;;N;;;;;
-1230D;CUNEIFORM SIGN U U U;Lo;0;L;;;;3;N;;;;;
+1230D;CUNEIFORM SIGN U U U;Lo;0;L;;;;;N;;;;;
 1230E;CUNEIFORM SIGN U OVER U PA OVER PA GAR OVER GAR;Lo;0;L;;;;;N;;;;;
 1230F;CUNEIFORM SIGN U OVER U SUR OVER SUR;Lo;0;L;;;;;N;;;;;
 12310;CUNEIFORM SIGN U OVER U U REVERSED OVER U REVERSED;Lo;0;L;;;;;N;;;;;
@@ -23117,7 +22953,7 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 12396;CUNEIFORM SIGN SAG TIMES IGI GUNU;Lo;0;L;;;;;N;;;;;
 12397;CUNEIFORM SIGN TI2;Lo;0;L;;;;;N;;;;;
 12398;CUNEIFORM SIGN UM TIMES ME;Lo;0;L;;;;;N;;;;;
-12399;CUNEIFORM SIGN U U;Lo;0;L;;;;2;N;;;;;
+12399;CUNEIFORM SIGN U U;Lo;0;L;;;;;N;;;;;
 12400;CUNEIFORM NUMERIC SIGN TWO ASH;Nl;0;L;;;;2;N;;;;;
 12401;CUNEIFORM NUMERIC SIGN THREE ASH;Nl;0;L;;;;3;N;;;;;
 12402;CUNEIFORM NUMERIC SIGN FOUR ASH;Nl;0;L;;;;4;N;;;;;
@@ -30288,56 +30124,6 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 16E98;MEDEFAIDRIN FULL STOP;Po;0;L;;;;;N;;;;;
 16E99;MEDEFAIDRIN SYMBOL AIVA;Po;0;L;;;;;N;;;;;
 16E9A;MEDEFAIDRIN EXCLAMATION OH;Po;0;L;;;;;N;;;;;
-16EA0;BERIA ERFE CAPITAL LETTER ARKAB;Lu;0;L;;;;;N;;;;16EBB;
-16EA1;BERIA ERFE CAPITAL LETTER BASIGNA;Lu;0;L;;;;;N;;;;16EBC;
-16EA2;BERIA ERFE CAPITAL LETTER DARBAI;Lu;0;L;;;;;N;;;;16EBD;
-16EA3;BERIA ERFE CAPITAL LETTER EH;Lu;0;L;;;;;N;;;;16EBE;
-16EA4;BERIA ERFE CAPITAL LETTER FITKO;Lu;0;L;;;;;N;;;;16EBF;
-16EA5;BERIA ERFE CAPITAL LETTER GOWAY;Lu;0;L;;;;;N;;;;16EC0;
-16EA6;BERIA ERFE CAPITAL LETTER HIRDEABO;Lu;0;L;;;;;N;;;;16EC1;
-16EA7;BERIA ERFE CAPITAL LETTER I;Lu;0;L;;;;;N;;;;16EC2;
-16EA8;BERIA ERFE CAPITAL LETTER DJAI;Lu;0;L;;;;;N;;;;16EC3;
-16EA9;BERIA ERFE CAPITAL LETTER KOBO;Lu;0;L;;;;;N;;;;16EC4;
-16EAA;BERIA ERFE CAPITAL LETTER LAKKO;Lu;0;L;;;;;N;;;;16EC5;
-16EAB;BERIA ERFE CAPITAL LETTER MERI;Lu;0;L;;;;;N;;;;16EC6;
-16EAC;BERIA ERFE CAPITAL LETTER NINI;Lu;0;L;;;;;N;;;;16EC7;
-16EAD;BERIA ERFE CAPITAL LETTER GNA;Lu;0;L;;;;;N;;;;16EC8;
-16EAE;BERIA ERFE CAPITAL LETTER NGAY;Lu;0;L;;;;;N;;;;16EC9;
-16EAF;BERIA ERFE CAPITAL LETTER OI;Lu;0;L;;;;;N;;;;16ECA;
-16EB0;BERIA ERFE CAPITAL LETTER PI;Lu;0;L;;;;;N;;;;16ECB;
-16EB1;BERIA ERFE CAPITAL LETTER ERIGO;Lu;0;L;;;;;N;;;;16ECC;
-16EB2;BERIA ERFE CAPITAL LETTER ERIGO TAMURA;Lu;0;L;;;;;N;;;;16ECD;
-16EB3;BERIA ERFE CAPITAL LETTER SERI;Lu;0;L;;;;;N;;;;16ECE;
-16EB4;BERIA ERFE CAPITAL LETTER SHEP;Lu;0;L;;;;;N;;;;16ECF;
-16EB5;BERIA ERFE CAPITAL LETTER TATASOUE;Lu;0;L;;;;;N;;;;16ED0;
-16EB6;BERIA ERFE CAPITAL LETTER UI;Lu;0;L;;;;;N;;;;16ED1;
-16EB7;BERIA ERFE CAPITAL LETTER WASSE;Lu;0;L;;;;;N;;;;16ED2;
-16EB8;BERIA ERFE CAPITAL LETTER AY;Lu;0;L;;;;;N;;;;16ED3;
-16EBB;BERIA ERFE SMALL LETTER ARKAB;Ll;0;L;;;;;N;;;16EA0;;16EA0
-16EBC;BERIA ERFE SMALL LETTER BASIGNA;Ll;0;L;;;;;N;;;16EA1;;16EA1
-16EBD;BERIA ERFE SMALL LETTER DARBAI;Ll;0;L;;;;;N;;;16EA2;;16EA2
-16EBE;BERIA ERFE SMALL LETTER EH;Ll;0;L;;;;;N;;;16EA3;;16EA3
-16EBF;BERIA ERFE SMALL LETTER FITKO;Ll;0;L;;;;;N;;;16EA4;;16EA4
-16EC0;BERIA ERFE SMALL LETTER GOWAY;Ll;0;L;;;;;N;;;16EA5;;16EA5
-16EC1;BERIA ERFE SMALL LETTER HIRDEABO;Ll;0;L;;;;;N;;;16EA6;;16EA6
-16EC2;BERIA ERFE SMALL LETTER I;Ll;0;L;;;;;N;;;16EA7;;16EA7
-16EC3;BERIA ERFE SMALL LETTER DJAI;Ll;0;L;;;;;N;;;16EA8;;16EA8
-16EC4;BERIA ERFE SMALL LETTER KOBO;Ll;0;L;;;;;N;;;16EA9;;16EA9
-16EC5;BERIA ERFE SMALL LETTER LAKKO;Ll;0;L;;;;;N;;;16EAA;;16EAA
-16EC6;BERIA ERFE SMALL LETTER MERI;Ll;0;L;;;;;N;;;16EAB;;16EAB
-16EC7;BERIA ERFE SMALL LETTER NINI;Ll;0;L;;;;;N;;;16EAC;;16EAC
-16EC8;BERIA ERFE SMALL LETTER GNA;Ll;0;L;;;;;N;;;16EAD;;16EAD
-16EC9;BERIA ERFE SMALL LETTER NGAY;Ll;0;L;;;;;N;;;16EAE;;16EAE
-16ECA;BERIA ERFE SMALL LETTER OI;Ll;0;L;;;;;N;;;16EAF;;16EAF
-16ECB;BERIA ERFE SMALL LETTER PI;Ll;0;L;;;;;N;;;16EB0;;16EB0
-16ECC;BERIA ERFE SMALL LETTER ERIGO;Ll;0;L;;;;;N;;;16EB1;;16EB1
-16ECD;BERIA ERFE SMALL LETTER ERIGO TAMURA;Ll;0;L;;;;;N;;;16EB2;;16EB2
-16ECE;BERIA ERFE SMALL LETTER SERI;Ll;0;L;;;;;N;;;16EB3;;16EB3
-16ECF;BERIA ERFE SMALL LETTER SHEP;Ll;0;L;;;;;N;;;16EB4;;16EB4
-16ED0;BERIA ERFE SMALL LETTER TATASOUE;Ll;0;L;;;;;N;;;16EB5;;16EB5
-16ED1;BERIA ERFE SMALL LETTER UI;Ll;0;L;;;;;N;;;16EB6;;16EB6
-16ED2;BERIA ERFE SMALL LETTER WASSE;Ll;0;L;;;;;N;;;16EB7;;16EB7
-16ED3;BERIA ERFE SMALL LETTER AY;Ll;0;L;;;;;N;;;16EB8;;16EB8
 16F00;MIAO LETTER PA;Lo;0;L;;;;;N;;;;;
 16F01;MIAO LETTER BA;Lo;0;L;;;;;N;;;;;
 16F02;MIAO LETTER YI PA;Lo;0;L;;;;;N;;;;;
@@ -30494,13 +30280,8 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 16FE4;KHITAN SMALL SCRIPT FILLER;Mn;0;NSM;;;;;N;;;;;
 16FF0;VIETNAMESE ALTERNATE READING MARK CA;Mc;6;L;;;;;N;;;;;
 16FF1;VIETNAMESE ALTERNATE READING MARK NHAY;Mc;6;L;;;;;N;;;;;
-16FF2;CHINESE SMALL SIMPLIFIED ER;Lm;0;L;;;;;N;;;;;
-16FF3;CHINESE SMALL TRADITIONAL ER;Lm;0;L;;;;;N;;;;;
-16FF4;YANGQIN SIGN SLOW ONE BEAT;Nl;0;L;;;;1;N;;;;;
-16FF5;YANGQIN SIGN SLOW THREE HALF BEATS;Nl;0;L;;;;3/2;N;;;;;
-16FF6;YANGQIN SIGN SLOW TWO BEATS;Nl;0;L;;;;2;N;;;;;
 17000;<Tangut Ideograph, First>;Lo;0;L;;;;;N;;;;;
-187FF;<Tangut Ideograph, Last>;Lo;0;L;;;;;N;;;;;
+187F7;<Tangut Ideograph, Last>;Lo;0;L;;;;;N;;;;;
 18800;TANGUT COMPONENT-001;Lo;0;L;;;;;N;;;;;
 18801;TANGUT COMPONENT-002;Lo;0;L;;;;;N;;;;;
 18802;TANGUT COMPONENT-003;Lo;0;L;;;;;N;;;;;
@@ -31741,122 +31522,7 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 18CD5;KHITAN SMALL SCRIPT CHARACTER-18CD5;Lo;0;L;;;;;N;;;;;
 18CFF;KHITAN SMALL SCRIPT CHARACTER-18CFF;Lo;0;L;;;;;N;;;;;
 18D00;<Tangut Ideograph Supplement, First>;Lo;0;L;;;;;N;;;;;
-18D1E;<Tangut Ideograph Supplement, Last>;Lo;0;L;;;;;N;;;;;
-18D80;TANGUT COMPONENT-769;Lo;0;L;;;;;N;;;;;
-18D81;TANGUT COMPONENT-770;Lo;0;L;;;;;N;;;;;
-18D82;TANGUT COMPONENT-771;Lo;0;L;;;;;N;;;;;
-18D83;TANGUT COMPONENT-772;Lo;0;L;;;;;N;;;;;
-18D84;TANGUT COMPONENT-773;Lo;0;L;;;;;N;;;;;
-18D85;TANGUT COMPONENT-774;Lo;0;L;;;;;N;;;;;
-18D86;TANGUT COMPONENT-775;Lo;0;L;;;;;N;;;;;
-18D87;TANGUT COMPONENT-776;Lo;0;L;;;;;N;;;;;
-18D88;TANGUT COMPONENT-777;Lo;0;L;;;;;N;;;;;
-18D89;TANGUT COMPONENT-778;Lo;0;L;;;;;N;;;;;
-18D8A;TANGUT COMPONENT-779;Lo;0;L;;;;;N;;;;;
-18D8B;TANGUT COMPONENT-780;Lo;0;L;;;;;N;;;;;
-18D8C;TANGUT COMPONENT-781;Lo;0;L;;;;;N;;;;;
-18D8D;TANGUT COMPONENT-782;Lo;0;L;;;;;N;;;;;
-18D8E;TANGUT COMPONENT-783;Lo;0;L;;;;;N;;;;;
-18D8F;TANGUT COMPONENT-784;Lo;0;L;;;;;N;;;;;
-18D90;TANGUT COMPONENT-785;Lo;0;L;;;;;N;;;;;
-18D91;TANGUT COMPONENT-786;Lo;0;L;;;;;N;;;;;
-18D92;TANGUT COMPONENT-787;Lo;0;L;;;;;N;;;;;
-18D93;TANGUT COMPONENT-788;Lo;0;L;;;;;N;;;;;
-18D94;TANGUT COMPONENT-789;Lo;0;L;;;;;N;;;;;
-18D95;TANGUT COMPONENT-790;Lo;0;L;;;;;N;;;;;
-18D96;TANGUT COMPONENT-791;Lo;0;L;;;;;N;;;;;
-18D97;TANGUT COMPONENT-792;Lo;0;L;;;;;N;;;;;
-18D98;TANGUT COMPONENT-793;Lo;0;L;;;;;N;;;;;
-18D99;TANGUT COMPONENT-794;Lo;0;L;;;;;N;;;;;
-18D9A;TANGUT COMPONENT-795;Lo;0;L;;;;;N;;;;;
-18D9B;TANGUT COMPONENT-796;Lo;0;L;;;;;N;;;;;
-18D9C;TANGUT COMPONENT-797;Lo;0;L;;;;;N;;;;;
-18D9D;TANGUT COMPONENT-798;Lo;0;L;;;;;N;;;;;
-18D9E;TANGUT COMPONENT-799;Lo;0;L;;;;;N;;;;;
-18D9F;TANGUT COMPONENT-800;Lo;0;L;;;;;N;;;;;
-18DA0;TANGUT COMPONENT-801;Lo;0;L;;;;;N;;;;;
-18DA1;TANGUT COMPONENT-802;Lo;0;L;;;;;N;;;;;
-18DA2;TANGUT COMPONENT-803;Lo;0;L;;;;;N;;;;;
-18DA3;TANGUT COMPONENT-804;Lo;0;L;;;;;N;;;;;
-18DA4;TANGUT COMPONENT-805;Lo;0;L;;;;;N;;;;;
-18DA5;TANGUT COMPONENT-806;Lo;0;L;;;;;N;;;;;
-18DA6;TANGUT COMPONENT-807;Lo;0;L;;;;;N;;;;;
-18DA7;TANGUT COMPONENT-808;Lo;0;L;;;;;N;;;;;
-18DA8;TANGUT COMPONENT-809;Lo;0;L;;;;;N;;;;;
-18DA9;TANGUT COMPONENT-810;Lo;0;L;;;;;N;;;;;
-18DAA;TANGUT COMPONENT-811;Lo;0;L;;;;;N;;;;;
-18DAB;TANGUT COMPONENT-812;Lo;0;L;;;;;N;;;;;
-18DAC;TANGUT COMPONENT-813;Lo;0;L;;;;;N;;;;;
-18DAD;TANGUT COMPONENT-814;Lo;0;L;;;;;N;;;;;
-18DAE;TANGUT COMPONENT-815;Lo;0;L;;;;;N;;;;;
-18DAF;TANGUT COMPONENT-816;Lo;0;L;;;;;N;;;;;
-18DB0;TANGUT COMPONENT-817;Lo;0;L;;;;;N;;;;;
-18DB1;TANGUT COMPONENT-818;Lo;0;L;;;;;N;;;;;
-18DB2;TANGUT COMPONENT-819;Lo;0;L;;;;;N;;;;;
-18DB3;TANGUT COMPONENT-820;Lo;0;L;;;;;N;;;;;
-18DB4;TANGUT COMPONENT-821;Lo;0;L;;;;;N;;;;;
-18DB5;TANGUT COMPONENT-822;Lo;0;L;;;;;N;;;;;
-18DB6;TANGUT COMPONENT-823;Lo;0;L;;;;;N;;;;;
-18DB7;TANGUT COMPONENT-824;Lo;0;L;;;;;N;;;;;
-18DB8;TANGUT COMPONENT-825;Lo;0;L;;;;;N;;;;;
-18DB9;TANGUT COMPONENT-826;Lo;0;L;;;;;N;;;;;
-18DBA;TANGUT COMPONENT-827;Lo;0;L;;;;;N;;;;;
-18DBB;TANGUT COMPONENT-828;Lo;0;L;;;;;N;;;;;
-18DBC;TANGUT COMPONENT-829;Lo;0;L;;;;;N;;;;;
-18DBD;TANGUT COMPONENT-830;Lo;0;L;;;;;N;;;;;
-18DBE;TANGUT COMPONENT-831;Lo;0;L;;;;;N;;;;;
-18DBF;TANGUT COMPONENT-832;Lo;0;L;;;;;N;;;;;
-18DC0;TANGUT COMPONENT-833;Lo;0;L;;;;;N;;;;;
-18DC1;TANGUT COMPONENT-834;Lo;0;L;;;;;N;;;;;
-18DC2;TANGUT COMPONENT-835;Lo;0;L;;;;;N;;;;;
-18DC3;TANGUT COMPONENT-836;Lo;0;L;;;;;N;;;;;
-18DC4;TANGUT COMPONENT-837;Lo;0;L;;;;;N;;;;;
-18DC5;TANGUT COMPONENT-838;Lo;0;L;;;;;N;;;;;
-18DC6;TANGUT COMPONENT-839;Lo;0;L;;;;;N;;;;;
-18DC7;TANGUT COMPONENT-840;Lo;0;L;;;;;N;;;;;
-18DC8;TANGUT COMPONENT-841;Lo;0;L;;;;;N;;;;;
-18DC9;TANGUT COMPONENT-842;Lo;0;L;;;;;N;;;;;
-18DCA;TANGUT COMPONENT-843;Lo;0;L;;;;;N;;;;;
-18DCB;TANGUT COMPONENT-844;Lo;0;L;;;;;N;;;;;
-18DCC;TANGUT COMPONENT-845;Lo;0;L;;;;;N;;;;;
-18DCD;TANGUT COMPONENT-846;Lo;0;L;;;;;N;;;;;
-18DCE;TANGUT COMPONENT-847;Lo;0;L;;;;;N;;;;;
-18DCF;TANGUT COMPONENT-848;Lo;0;L;;;;;N;;;;;
-18DD0;TANGUT COMPONENT-849;Lo;0;L;;;;;N;;;;;
-18DD1;TANGUT COMPONENT-850;Lo;0;L;;;;;N;;;;;
-18DD2;TANGUT COMPONENT-851;Lo;0;L;;;;;N;;;;;
-18DD3;TANGUT COMPONENT-852;Lo;0;L;;;;;N;;;;;
-18DD4;TANGUT COMPONENT-853;Lo;0;L;;;;;N;;;;;
-18DD5;TANGUT COMPONENT-854;Lo;0;L;;;;;N;;;;;
-18DD6;TANGUT COMPONENT-855;Lo;0;L;;;;;N;;;;;
-18DD7;TANGUT COMPONENT-856;Lo;0;L;;;;;N;;;;;
-18DD8;TANGUT COMPONENT-857;Lo;0;L;;;;;N;;;;;
-18DD9;TANGUT COMPONENT-858;Lo;0;L;;;;;N;;;;;
-18DDA;TANGUT COMPONENT-859;Lo;0;L;;;;;N;;;;;
-18DDB;TANGUT COMPONENT-860;Lo;0;L;;;;;N;;;;;
-18DDC;TANGUT COMPONENT-861;Lo;0;L;;;;;N;;;;;
-18DDD;TANGUT COMPONENT-862;Lo;0;L;;;;;N;;;;;
-18DDE;TANGUT COMPONENT-863;Lo;0;L;;;;;N;;;;;
-18DDF;TANGUT COMPONENT-864;Lo;0;L;;;;;N;;;;;
-18DE0;TANGUT COMPONENT-865;Lo;0;L;;;;;N;;;;;
-18DE1;TANGUT COMPONENT-866;Lo;0;L;;;;;N;;;;;
-18DE2;TANGUT COMPONENT-867;Lo;0;L;;;;;N;;;;;
-18DE3;TANGUT COMPONENT-868;Lo;0;L;;;;;N;;;;;
-18DE4;TANGUT COMPONENT-869;Lo;0;L;;;;;N;;;;;
-18DE5;TANGUT COMPONENT-870;Lo;0;L;;;;;N;;;;;
-18DE6;TANGUT COMPONENT-871;Lo;0;L;;;;;N;;;;;
-18DE7;TANGUT COMPONENT-872;Lo;0;L;;;;;N;;;;;
-18DE8;TANGUT COMPONENT-873;Lo;0;L;;;;;N;;;;;
-18DE9;TANGUT COMPONENT-874;Lo;0;L;;;;;N;;;;;
-18DEA;TANGUT COMPONENT-875;Lo;0;L;;;;;N;;;;;
-18DEB;TANGUT COMPONENT-876;Lo;0;L;;;;;N;;;;;
-18DEC;TANGUT COMPONENT-877;Lo;0;L;;;;;N;;;;;
-18DED;TANGUT COMPONENT-878;Lo;0;L;;;;;N;;;;;
-18DEE;TANGUT COMPONENT-879;Lo;0;L;;;;;N;;;;;
-18DEF;TANGUT COMPONENT-880;Lo;0;L;;;;;N;;;;;
-18DF0;TANGUT COMPONENT-881;Lo;0;L;;;;;N;;;;;
-18DF1;TANGUT COMPONENT-882;Lo;0;L;;;;;N;;;;;
-18DF2;TANGUT COMPONENT-883;Lo;0;L;;;;;N;;;;;
+18D08;<Tangut Ideograph Supplement, Last>;Lo;0;L;;;;;N;;;;;
 1AFF0;KATAKANA LETTER MINNAN TONE-2;Lm;0;L;;;;;N;;;;;
 1AFF1;KATAKANA LETTER MINNAN TONE-3;Lm;0;L;;;;;N;;;;;
 1AFF2;KATAKANA LETTER MINNAN TONE-4;Lm;0;L;;;;;N;;;;;
@@ -32963,9 +32629,6 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 1CCF7;OUTLINED DIGIT SEVEN;Nd;0;EN;<font> 0037;7;7;7;N;;;;;
 1CCF8;OUTLINED DIGIT EIGHT;Nd;0;EN;<font> 0038;8;8;8;N;;;;;
 1CCF9;OUTLINED DIGIT NINE;Nd;0;EN;<font> 0039;9;9;9;N;;;;;
-1CCFA;SNAKE SYMBOL;So;0;ON;;;;;N;;;;;
-1CCFB;FLYING SAUCER SYMBOL;So;0;ON;;;;;N;;;;;
-1CCFC;NOSE SYMBOL;So;0;ON;;;;;N;;;;;
 1CD00;BLOCK OCTANT-3;So;0;ON;;;;;N;;;;;
 1CD01;BLOCK OCTANT-23;So;0;ON;;;;;N;;;;;
 1CD02;BLOCK OCTANT-123;So;0;ON;;;;;N;;;;;
@@ -33402,46 +33065,6 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 1CEB1;KEYHOLE;So;0;ON;;;;;N;;;;;
 1CEB2;OLD PERSONAL COMPUTER WITH MONITOR IN PORTRAIT ORIENTATION;So;0;ON;;;;;N;;;;;
 1CEB3;BLACK RIGHT TRIANGLE CARET;So;0;ON;;;;;N;;;;;
-1CEBA;FRAGILE SYMBOL;So;0;ON;;;;;N;;;;;
-1CEBB;OFFICE BUILDING SYMBOL;So;0;ON;;;;;N;;;;;
-1CEBC;TREE SYMBOL;So;0;ON;;;;;N;;;;;
-1CEBD;APPLE SYMBOL;So;0;ON;;;;;N;;;;;
-1CEBE;CHERRY SYMBOL;So;0;ON;;;;;N;;;;;
-1CEBF;STRAWBERRY SYMBOL;So;0;ON;;;;;N;;;;;
-1CEC0;HEBE;So;0;ON;;;;;N;;;;;
-1CEC1;IRIS;So;0;ON;;;;;N;;;;;
-1CEC2;FLORA;So;0;ON;;;;;N;;;;;
-1CEC3;METIS;So;0;ON;;;;;N;;;;;
-1CEC4;PARTHENOPE;So;0;ON;;;;;N;;;;;
-1CEC5;VICTORIA;So;0;ON;;;;;N;;;;;
-1CEC6;EGERIA;So;0;ON;;;;;N;;;;;
-1CEC7;IRENE;So;0;ON;;;;;N;;;;;
-1CEC8;EUNOMIA;So;0;ON;;;;;N;;;;;
-1CEC9;PSYCHE;So;0;ON;;;;;N;;;;;
-1CECA;THETIS;So;0;ON;;;;;N;;;;;
-1CECB;MELPOMENE;So;0;ON;;;;;N;;;;;
-1CECC;FORTUNA;So;0;ON;;;;;N;;;;;
-1CECD;ASTRONOMICAL SYMBOL FOR ASTEROID PROSERPINA;So;0;ON;;;;;N;;;;;
-1CECE;BELLONA;So;0;ON;;;;;N;;;;;
-1CECF;AMPHITRITE;So;0;ON;;;;;N;;;;;
-1CED0;LEUKOTHEA;So;0;ON;;;;;N;;;;;
-1CEE0;GEOMANTIC FIGURE POPULUS;So;0;ON;;;;;N;;;;;
-1CEE1;GEOMANTIC FIGURE TRISTITIA;So;0;ON;;;;;N;;;;;
-1CEE2;GEOMANTIC FIGURE ALBUS;So;0;ON;;;;;N;;;;;
-1CEE3;GEOMANTIC FIGURE FORTUNA MAJOR;So;0;ON;;;;;N;;;;;
-1CEE4;GEOMANTIC FIGURE RUBEUS;So;0;ON;;;;;N;;;;;
-1CEE5;GEOMANTIC FIGURE ACQUISITIO;So;0;ON;;;;;N;;;;;
-1CEE6;GEOMANTIC FIGURE CONJUNCTIO;So;0;ON;;;;;N;;;;;
-1CEE7;GEOMANTIC FIGURE CAPUT DRACONIS;So;0;ON;;;;;N;;;;;
-1CEE8;GEOMANTIC FIGURE LAETITIA;So;0;ON;;;;;N;;;;;
-1CEE9;GEOMANTIC FIGURE CARCER;So;0;ON;;;;;N;;;;;
-1CEEA;GEOMANTIC FIGURE AMISSIO;So;0;ON;;;;;N;;;;;
-1CEEB;GEOMANTIC FIGURE PUELLA;So;0;ON;;;;;N;;;;;
-1CEEC;GEOMANTIC FIGURE FORTUNA MINOR;So;0;ON;;;;;N;;;;;
-1CEED;GEOMANTIC FIGURE PUER;So;0;ON;;;;;N;;;;;
-1CEEE;GEOMANTIC FIGURE CAUDA DRACONIS;So;0;ON;;;;;N;;;;;
-1CEEF;GEOMANTIC FIGURE VIA;So;0;ON;;;;;N;;;;;
-1CEF0;MEDIUM SMALL WHITE CIRCLE WITH HORIZONTAL BAR;Sm;0;ON;;;;;N;;;;;
 1CF00;ZNAMENNY COMBINING MARK GORAZDO NIZKO S KRYZHEM ON LEFT;Mn;0;NSM;;;;;N;;;;;
 1CF01;ZNAMENNY COMBINING MARK NIZKO S KRYZHEM ON LEFT;Mn;0;NSM;;;;;N;;;;;
 1CF02;ZNAMENNY COMBINING MARK TSATA ON LEFT;Mn;0;NSM;;;;;N;;;;;
@@ -36381,61 +36004,6 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 1E5F9;OL ONAL DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
 1E5FA;OL ONAL DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
 1E5FF;OL ONAL ABBREVIATION SIGN;Po;0;L;;;;;N;;;;;
-1E6C0;TAI YO LETTER LOW KO;Lo;0;L;;;;;N;;;;;
-1E6C1;TAI YO LETTER HIGH KO;Lo;0;L;;;;;N;;;;;
-1E6C2;TAI YO LETTER LOW KHO;Lo;0;L;;;;;N;;;;;
-1E6C3;TAI YO LETTER HIGH KHO;Lo;0;L;;;;;N;;;;;
-1E6C4;TAI YO LETTER GO;Lo;0;L;;;;;N;;;;;
-1E6C5;TAI YO LETTER NGO;Lo;0;L;;;;;N;;;;;
-1E6C6;TAI YO LETTER CO;Lo;0;L;;;;;N;;;;;
-1E6C7;TAI YO LETTER LOW XO;Lo;0;L;;;;;N;;;;;
-1E6C8;TAI YO LETTER HIGH XO;Lo;0;L;;;;;N;;;;;
-1E6C9;TAI YO LETTER LOW NYO;Lo;0;L;;;;;N;;;;;
-1E6CA;TAI YO LETTER HIGH NYO;Lo;0;L;;;;;N;;;;;
-1E6CB;TAI YO LETTER DO;Lo;0;L;;;;;N;;;;;
-1E6CC;TAI YO LETTER LOW TO;Lo;0;L;;;;;N;;;;;
-1E6CD;TAI YO LETTER HIGH TO;Lo;0;L;;;;;N;;;;;
-1E6CE;TAI YO LETTER THO;Lo;0;L;;;;;N;;;;;
-1E6CF;TAI YO LETTER NO;Lo;0;L;;;;;N;;;;;
-1E6D0;TAI YO LETTER BO;Lo;0;L;;;;;N;;;;;
-1E6D1;TAI YO LETTER LOW PO;Lo;0;L;;;;;N;;;;;
-1E6D2;TAI YO LETTER HIGH PO;Lo;0;L;;;;;N;;;;;
-1E6D3;TAI YO LETTER PHO;Lo;0;L;;;;;N;;;;;
-1E6D4;TAI YO LETTER LOW FO;Lo;0;L;;;;;N;;;;;
-1E6D5;TAI YO LETTER HIGH FO;Lo;0;L;;;;;N;;;;;
-1E6D6;TAI YO LETTER MO;Lo;0;L;;;;;N;;;;;
-1E6D7;TAI YO LETTER YO;Lo;0;L;;;;;N;;;;;
-1E6D8;TAI YO LETTER LO;Lo;0;L;;;;;N;;;;;
-1E6D9;TAI YO LETTER VO;Lo;0;L;;;;;N;;;;;
-1E6DA;TAI YO LETTER LOW HO;Lo;0;L;;;;;N;;;;;
-1E6DB;TAI YO LETTER HIGH HO;Lo;0;L;;;;;N;;;;;
-1E6DC;TAI YO LETTER QO;Lo;0;L;;;;;N;;;;;
-1E6DD;TAI YO LETTER LOW KVO;Lo;0;L;;;;;N;;;;;
-1E6DE;TAI YO LETTER HIGH KVO;Lo;0;L;;;;;N;;;;;
-1E6E0;TAI YO LETTER AA;Lo;0;L;;;;;N;;;;;
-1E6E1;TAI YO LETTER I;Lo;0;L;;;;;N;;;;;
-1E6E2;TAI YO LETTER UE;Lo;0;L;;;;;N;;;;;
-1E6E3;TAI YO SIGN UE;Mn;230;NSM;;;;;N;;;;;
-1E6E4;TAI YO LETTER U;Lo;0;L;;;;;N;;;;;
-1E6E5;TAI YO LETTER AE;Lo;0;L;;;;;N;;;;;
-1E6E6;TAI YO SIGN AU;Mn;230;NSM;;;;;N;;;;;
-1E6E7;TAI YO LETTER O;Lo;0;L;;;;;N;;;;;
-1E6E8;TAI YO LETTER E;Lo;0;L;;;;;N;;;;;
-1E6E9;TAI YO LETTER IA;Lo;0;L;;;;;N;;;;;
-1E6EA;TAI YO LETTER UEA;Lo;0;L;;;;;N;;;;;
-1E6EB;TAI YO LETTER UA;Lo;0;L;;;;;N;;;;;
-1E6EC;TAI YO LETTER OO;Lo;0;L;;;;;N;;;;;
-1E6ED;TAI YO LETTER AUE;Lo;0;L;;;;;N;;;;;
-1E6EE;TAI YO SIGN AY;Mn;230;NSM;;;;;N;;;;;
-1E6EF;TAI YO SIGN ANG;Mn;230;NSM;;;;;N;;;;;
-1E6F0;TAI YO LETTER AN;Lo;0;L;;;;;N;;;;;
-1E6F1;TAI YO LETTER AM;Lo;0;L;;;;;N;;;;;
-1E6F2;TAI YO LETTER AK;Lo;0;L;;;;;N;;;;;
-1E6F3;TAI YO LETTER AT;Lo;0;L;;;;;N;;;;;
-1E6F4;TAI YO LETTER AP;Lo;0;L;;;;;N;;;;;
-1E6F5;TAI YO SIGN OM;Mn;230;NSM;;;;;N;;;;;
-1E6FE;TAI YO SYMBOL MUEANG;Lo;0;L;;;;;N;;;;;
-1E6FF;TAI YO XAM LAI;Lm;0;L;;;;;N;;;;;
 1E7E0;ETHIOPIC SYLLABLE HHYA;Lo;0;L;;;;;N;;;;;
 1E7E1;ETHIOPIC SYLLABLE HHYU;Lo;0;L;;;;;N;;;;;
 1E7E2;ETHIOPIC SYLLABLE HHYI;Lo;0;L;;;;;N;;;;;
@@ -38511,7 +38079,6 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 1F6D5;HINDU TEMPLE;So;0;ON;;;;;N;;;;;
 1F6D6;HUT;So;0;ON;;;;;N;;;;;
 1F6D7;ELEVATOR;So;0;ON;;;;;N;;;;;
-1F6D8;LANDSLIDE;So;0;ON;;;;;N;;;;;
 1F6DC;WIRELESS;So;0;ON;;;;;N;;;;;
 1F6DD;PLAYGROUND SLIDE;So;0;ON;;;;;N;;;;;
 1F6DE;WHEEL;So;0;ON;;;;;N;;;;;
@@ -38661,10 +38228,6 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 1F774;LOT OF FORTUNE;So;0;ON;;;;;N;;;;;
 1F775;OCCULTATION;So;0;ON;;;;;N;;;;;
 1F776;LUNAR ECLIPSE;So;0;ON;;;;;N;;;;;
-1F777;VESTA FORM TWO;So;0;ON;;;;;N;;;;;
-1F778;ASTRAEA FORM TWO;So;0;ON;;;;;N;;;;;
-1F779;HYGIEA FORM TWO;So;0;ON;;;;;N;;;;;
-1F77A;PARTHENOPE FORM TWO;So;0;ON;;;;;N;;;;;
 1F77B;HAUMEA;So;0;ON;;;;;N;;;;;
 1F77C;MAKEMAKE;So;0;ON;;;;;N;;;;;
 1F77D;GONGGONG;So;0;ON;;;;;N;;;;;
@@ -38935,15 +38498,6 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 1F8BB;SOUTH WEST ARROW FROM BAR;So;0;ON;;;;;N;;;;;
 1F8C0;LEFTWARDS ARROW FROM DOWNWARDS ARROW;So;0;ON;;;;;N;;;;;
 1F8C1;RIGHTWARDS ARROW FROM DOWNWARDS ARROW;So;0;ON;;;;;N;;;;;
-1F8D0;LONG RIGHTWARDS ARROW OVER LONG LEFTWARDS ARROW;Sm;0;ON;;;;;N;;;;;
-1F8D1;LONG RIGHTWARDS HARPOON OVER LONG LEFTWARDS HARPOON;Sm;0;ON;;;;;N;;;;;
-1F8D2;LONG RIGHTWARDS HARPOON ABOVE SHORT LEFTWARDS HARPOON;Sm;0;ON;;;;;N;;;;;
-1F8D3;SHORT RIGHTWARDS HARPOON ABOVE LONG LEFTWARDS HARPOON;Sm;0;ON;;;;;N;;;;;
-1F8D4;LONG LEFTWARDS HARPOON ABOVE SHORT RIGHTWARDS HARPOON;Sm;0;ON;;;;;N;;;;;
-1F8D5;SHORT LEFTWARDS HARPOON ABOVE LONG RIGHTWARDS HARPOON;Sm;0;ON;;;;;N;;;;;
-1F8D6;LONG RIGHTWARDS ARROW THROUGH X;Sm;0;ON;;;;;N;;;;;
-1F8D7;LONG RIGHTWARDS ARROW WITH DOUBLE SLASH;Sm;0;ON;;;;;N;;;;;
-1F8D8;LONG LEFT RIGHT ARROW WITH DEPENDENT LOBE;Sm;0;ON;;;;;N;;;;;
 1F900;CIRCLED CROSS FORMEE WITH FOUR DOTS;So;0;ON;;;;;N;;;;;
 1F901;CIRCLED CROSS FORMEE WITH TWO DOTS;So;0;ON;;;;;N;;;;;
 1F902;CIRCLED CROSS FORMEE;So;0;ON;;;;;N;;;;;
@@ -39284,10 +38838,6 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 1FA51;BLACK CHESS KNIGHT-QUEEN;So;0;ON;;;;;N;;;;;
 1FA52;BLACK CHESS KNIGHT-ROOK;So;0;ON;;;;;N;;;;;
 1FA53;BLACK CHESS KNIGHT-BISHOP;So;0;ON;;;;;N;;;;;
-1FA54;WHITE CHESS FERZ;So;0;ON;;;;;N;;;;;
-1FA55;WHITE CHESS ALFIL;So;0;ON;;;;;N;;;;;
-1FA56;BLACK CHESS FERZ;So;0;ON;;;;;N;;;;;
-1FA57;BLACK CHESS ALFIL;So;0;ON;;;;;N;;;;;
 1FA60;XIANGQI RED GENERAL;So;0;ON;;;;;N;;;;;
 1FA61;XIANGQI RED MANDARIN;So;0;ON;;;;;N;;;;;
 1FA62;XIANGQI RED ELEPHANT;So;0;ON;;;;;N;;;;;
@@ -39325,8 +38875,6 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 1FA87;MARACAS;So;0;ON;;;;;N;;;;;
 1FA88;FLUTE;So;0;ON;;;;;N;;;;;
 1FA89;HARP;So;0;ON;;;;;N;;;;;
-1FA8A;TROMBONE;So;0;ON;;;;;N;;;;;
-1FA8E;TREASURE CHEST;So;0;ON;;;;;N;;;;;
 1FA8F;SHOVEL;So;0;ON;;;;;N;;;;;
 1FA90;RINGED PLANET;So;0;ON;;;;;N;;;;;
 1FA91;CHAIR;So;0;ON;;;;;N;;;;;
@@ -39383,8 +38931,6 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 1FAC4;PREGNANT PERSON;So;0;ON;;;;;N;;;;;
 1FAC5;PERSON WITH CROWN;So;0;ON;;;;;N;;;;;
 1FAC6;FINGERPRINT;So;0;ON;;;;;N;;;;;
-1FAC8;HAIRY CREATURE;So;0;ON;;;;;N;;;;;
-1FACD;ORCA;So;0;ON;;;;;N;;;;;
 1FACE;MOOSE;So;0;ON;;;;;N;;;;;
 1FACF;DONKEY;So;0;ON;;;;;N;;;;;
 1FAD0;BLUEBERRIES;So;0;ON;;;;;N;;;;;
@@ -39411,8 +38957,6 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 1FAE7;BUBBLES;So;0;ON;;;;;N;;;;;
 1FAE8;SHAKING FACE;So;0;ON;;;;;N;;;;;
 1FAE9;FACE WITH BAGS UNDER EYES;So;0;ON;;;;;N;;;;;
-1FAEA;DISTORTED FACE;So;0;ON;;;;;N;;;;;
-1FAEF;FIGHT CLOUD;So;0;ON;;;;;N;;;;;
 1FAF0;HAND WITH INDEX FINGER AND THUMB CROSSED;So;0;ON;;;;;N;;;;;
 1FAF1;RIGHTWARDS HAND;So;0;ON;;;;;N;;;;;
 1FAF2;LEFTWARDS HAND;So;0;ON;;;;;N;;;;;
@@ -39671,15 +39215,14 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 1FBF7;SEGMENTED DIGIT SEVEN;Nd;0;EN;<font> 0037;7;7;7;N;;;;;
 1FBF8;SEGMENTED DIGIT EIGHT;Nd;0;EN;<font> 0038;8;8;8;N;;;;;
 1FBF9;SEGMENTED DIGIT NINE;Nd;0;EN;<font> 0039;9;9;9;N;;;;;
-1FBFA;ALARM BELL SYMBOL;So;0;ON;;;;;N;;;;;
 20000;<CJK Ideograph Extension B, First>;Lo;0;L;;;;;N;;;;;
 2A6DF;<CJK Ideograph Extension B, Last>;Lo;0;L;;;;;N;;;;;
 2A700;<CJK Ideograph Extension C, First>;Lo;0;L;;;;;N;;;;;
-2B73F;<CJK Ideograph Extension C, Last>;Lo;0;L;;;;;N;;;;;
+2B739;<CJK Ideograph Extension C, Last>;Lo;0;L;;;;;N;;;;;
 2B740;<CJK Ideograph Extension D, First>;Lo;0;L;;;;;N;;;;;
 2B81D;<CJK Ideograph Extension D, Last>;Lo;0;L;;;;;N;;;;;
 2B820;<CJK Ideograph Extension E, First>;Lo;0;L;;;;;N;;;;;
-2CEAD;<CJK Ideograph Extension E, Last>;Lo;0;L;;;;;N;;;;;
+2CEA1;<CJK Ideograph Extension E, Last>;Lo;0;L;;;;;N;;;;;
 2CEB0;<CJK Ideograph Extension F, First>;Lo;0;L;;;;;N;;;;;
 2EBE0;<CJK Ideograph Extension F, Last>;Lo;0;L;;;;;N;;;;;
 2EBF0;<CJK Ideograph Extension I, First>;Lo;0;L;;;;;N;;;;;
@@ -40230,8 +39773,6 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 3134A;<CJK Ideograph Extension G, Last>;Lo;0;L;;;;;N;;;;;
 31350;<CJK Ideograph Extension H, First>;Lo;0;L;;;;;N;;;;;
 323AF;<CJK Ideograph Extension H, Last>;Lo;0;L;;;;;N;;;;;
-323B0;<CJK Ideograph Extension J, First>;Lo;0;L;;;;;N;;;;;
-33479;<CJK Ideograph Extension J, Last>;Lo;0;L;;;;;N;;;;;
 E0001;LANGUAGE TAG;Cf;0;BN;;;;;N;;;;;
 E0020;TAG SPACE;Cf;0;BN;;;;;N;;;;;
 E0021;TAG EXCLAMATION MARK;Cf;0;BN;;;;;N;;;;;
diff --git a/js/src/util/UnicodeNonBMP.h b/js/src/util/UnicodeNonBMP.h
index d77d47ddc6e5f..e355247b5dbc3 100644
--- a/js/src/util/UnicodeNonBMP.h
+++ b/js/src/util/UnicodeNonBMP.h
@@ -5,7 +5,7 @@
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 /* Generated by make_unicode.py DO NOT MODIFY */
-/* Unicode version: 17.0.0 */
+/* Unicode version: 16.0.0 */
 
 #ifndef util_UnicodeNonBMP_h
 #define util_UnicodeNonBMP_h
@@ -30,7 +30,6 @@
 // U+10D50 GARAY CAPITAL LETTER A .. U+10D65 GARAY CAPITAL LETTER OLD NA
 // U+118A0 WARANG CITI CAPITAL LETTER NGAA .. U+118BF WARANG CITI CAPITAL LETTER VIYO
 // U+16E40 MEDEFAIDRIN CAPITAL LETTER M .. U+16E5F MEDEFAIDRIN CAPITAL LETTER Y
-// U+16EA0 BERIA ERFE CAPITAL LETTER ARKAB .. U+16EB8 BERIA ERFE CAPITAL LETTER AY
 // U+1E900 ADLAM CAPITAL LETTER ALIF .. U+1E921 ADLAM CAPITAL LETTER SHA
 #define FOR_EACH_NON_BMP_LOWERCASE(MACRO) \
     MACRO(0x10400, 0x10427, 0xd801, 0xdc00, 0xdc27, 40) \
@@ -43,7 +42,6 @@
     MACRO(0x10d50, 0x10d65, 0xd803, 0xdd50, 0xdd65, 32) \
     MACRO(0x118a0, 0x118bf, 0xd806, 0xdca0, 0xdcbf, 32) \
     MACRO(0x16e40, 0x16e5f, 0xd81b, 0xde40, 0xde5f, 32) \
-    MACRO(0x16ea0, 0x16eb8, 0xd81b, 0xdea0, 0xdeb8, 27) \
     MACRO(0x1e900, 0x1e921, 0xd83a, 0xdd00, 0xdd21, 34)
 
 // U+10428 DESERET SMALL LETTER LONG I .. U+1044F DESERET SMALL LETTER EW
@@ -56,7 +54,6 @@
 // U+10D70 GARAY SMALL LETTER A .. U+10D85 GARAY SMALL LETTER OLD NA
 // U+118C0 WARANG CITI SMALL LETTER NGAA .. U+118DF WARANG CITI SMALL LETTER VIYO
 // U+16E60 MEDEFAIDRIN SMALL LETTER M .. U+16E7F MEDEFAIDRIN SMALL LETTER Y
-// U+16EBB BERIA ERFE SMALL LETTER ARKAB .. U+16ED3 BERIA ERFE SMALL LETTER AY
 // U+1E922 ADLAM SMALL LETTER ALIF .. U+1E943 ADLAM SMALL LETTER SHA
 #define FOR_EACH_NON_BMP_UPPERCASE(MACRO) \
     MACRO(0x10428, 0x1044f, 0xd801, 0xdc28, 0xdc4f, -40) \
@@ -69,7 +66,6 @@
     MACRO(0x10d70, 0x10d85, 0xd803, 0xdd70, 0xdd85, -32) \
     MACRO(0x118c0, 0x118df, 0xd806, 0xdcc0, 0xdcdf, -32) \
     MACRO(0x16e60, 0x16e7f, 0xd81b, 0xde60, 0xde7f, -32) \
-    MACRO(0x16ebb, 0x16ed3, 0xd81b, 0xdebb, 0xded3, -27) \
     MACRO(0x1e922, 0x1e943, 0xd83a, 0xdd22, 0xdd43, -34)
 
 #endif /* util_UnicodeNonBMP_h */
-- 
2.51.2

