Further optimize storage of icu locale data (#45643)
authorBen Adams <thundercat@illyriad.co.uk>
Mon, 4 Jan 2021 19:28:27 +0000 (19:28 +0000)
committerGitHub <noreply@github.com>
Mon, 4 Jan 2021 19:28:27 +0000 (11:28 -0800)
src/libraries/System.Globalization/tests/CultureInfo/CultureInfoAll.cs
src/libraries/System.Globalization/tests/CultureInfo/CultureInfoCtor.cs
src/libraries/System.Private.CoreLib/src/System/Globalization/IcuLocaleData.cs
src/libraries/System.Private.CoreLib/src/System/Globalization/IcuLocaleData.generator.cs [new file with mode: 0644]

index 5a32192..659126b 100644 (file)
@@ -525,71 +525,226 @@ namespace System.Globalization.Tests
 
         public static IEnumerable<object[]> CultureInfo_TestData()
         {
-            yield return new object[] { "en"    , 0x0009, "en-US", "eng", "ENU", "en"         , "en-US" };
-            yield return new object[] { "ar"    , 0x0001, "ar-SA", "ara", "ARA", "ar"         , "en-US" };
-            yield return new object[] { "en-US" , 0x0409, "en-US", "eng", "ENU", "en-US"      , "en-US" };
-            yield return new object[] { "ar-SA" , 0x0401, "ar-SA", "ara", "ARA", "ar-SA"      , "en-US" };
-            yield return new object[] { "ja-JP" , 0x0411, "ja-JP", "jpn", "JPN", "ja-JP"      , "ja-JP" };
-            yield return new object[] { "zh-CN" , 0x0804, "zh-CN", "zho", "CHS", "zh-Hans-CN" , "zh-CN" };
-            yield return new object[] { "en-GB" , 0x0809, "en-GB", "eng", "ENG", "en-GB"      , "en-GB" };
-            yield return new object[] { "tr-TR" , 0x041f, "tr-TR", "tur", "TRK", "tr-TR"      , "tr-TR" };
+            yield return new object[] { 0x0001, new [] { "ar" }, "ar-SA", "ara", "ARA", "ar", "en-US" };
+            yield return new object[] { 0x0002, new [] { "bg" }, "bg-BG", "bul", "BGR", "bg", "bg-BG" };
+            yield return new object[] { 0x0003, new [] { "ca" }, "ca-ES", "cat", "CAT", "ca", "ca-ES" };
+            yield return new object[] { 0x0004, new [] { "zh-chs", "zh-hans" }, "zh-CN", "zho", "CHS", "zh-Hans", "zh-CN" };
+            yield return new object[] { 0x0005, new [] { "cs" }, "cs-CZ", "ces", "CSY", "cs", "cs-CZ" };
+            yield return new object[] { 0x0006, new [] { "da" }, "da-DK", "dan", "DAN", "da", "da-DK" };
+            yield return new object[] { 0x0007, new [] { "de" }, "de-DE", "deu", "DEU", "de", "de-DE" };
+            yield return new object[] { 0x0008, new [] { "el" }, "el-GR", "ell", "ELL", "el", "el-GR" };
+            yield return new object[] { 0x0009, new [] { "en" }, "en-US", "eng", "ENU", "en", "en-US" };
+            yield return new object[] { 0x000a, new [] { "es" }, "es-ES", "spa", "ESP", "es", "es-ES" };
+            yield return new object[] { 0x000b, new [] { "fi" }, "fi-FI", "fin", "FIN", "fi", "fi-FI" };
+            yield return new object[] { 0x000c, new [] { "fr" }, "fr-FR", "fra", "FRA", "fr", "fr-FR" };
+            yield return new object[] { 0x000d, new [] { "he" }, "he-IL", "heb", "HEB", "he", "en-US" };
+            yield return new object[] { 0x000e, new [] { "hu" }, "hu-HU", "hun", "HUN", "hu", "hu-HU" };
+            yield return new object[] { 0x0010, new [] { "it" }, "it-IT", "ita", "ITA", "it", "it-IT" };
+            yield return new object[] { 0x0011, new [] { "ja" }, "ja-JP", "jpn", "JPN", "ja", "ja-JP" };
+            yield return new object[] { 0x0012, new [] { "ko" }, "ko-KR", "kor", "KOR", "ko", "ko-KR" };
+            yield return new object[] { 0x0013, new [] { "nl" }, "nl-NL", "nld", "NLD", "nl", "nl-NL" };
+            yield return new object[] { 0x0015, new [] { "pl" }, "pl-PL", "pol", "PLK", "pl", "pl-PL" };
+            yield return new object[] { 0x0016, new [] { "pt" }, "pt-BR", "por", "PTB", "pt", "pt-BR" };
+            yield return new object[] { 0x0018, new [] { "ro" }, "ro-RO", "ron", "ROM", "ro", "ro-RO" };
+            yield return new object[] { 0x0019, new [] { "ru" }, "ru-RU", "rus", "RUS", "ru", "ru-RU" };
+            yield return new object[] { 0x001a, new [] { "hr" }, "hr-HR", "hrv", "HRV", "hr", "hr-HR" };
+            yield return new object[] { 0x001b, new [] { "sk" }, "sk-SK", "slk", "SKY", "sk", "sk-SK" };
+            yield return new object[] { 0x001d, new [] { "sv" }, "sv-SE", "swe", "SVE", "sv", "sv-SE" };
+            yield return new object[] { 0x001e, new [] { "th" }, "th-TH", "tha", "THA", "th", "en-US" };
+            yield return new object[] { 0x001f, new [] { "tr" }, "tr-TR", "tur", "TRK", "tr", "tr-TR" };
+            yield return new object[] { 0x0021, new [] { "id" }, "id-ID", "ind", "IND", "id", "id-ID" };
+            yield return new object[] { 0x0022, new [] { "uk" }, "uk-UA", "ukr", "UKR", "uk", "uk-UA" };
+            yield return new object[] { 0x0024, new [] { "sl" }, "sl-SI", "slv", "SLV", "sl", "sl-SI" };
+            yield return new object[] { 0x0025, new [] { "et" }, "et-EE", "est", "ETI", "et", "et-EE" };
+            yield return new object[] { 0x0026, new [] { "lv" }, "lv-LV", "lav", "LVI", "lv", "lv-LV" };
+            yield return new object[] { 0x0027, new [] { "lt" }, "lt-LT", "lit", "LTH", "lt", "lt-LT" };
+            yield return new object[] { 0x0029, new [] { "fa" }, "fa-IR", "fas", "FAR", "fa", "en-US" };
+            yield return new object[] { 0x002a, new [] { "vi" }, "vi-VN", "vie", "VIT", "vi", "en-US" };
+            yield return new object[] { 0x0039, new [] { "hi" }, "hi-IN", "hin", "HIN", "hi", "en-US" };
+            yield return new object[] { 0x003e, new [] { "ms" }, "ms-MY", "msa", "MSL", "ms", "ms-MY" };
+            yield return new object[] { 0x0041, new [] { "sw" }, "sw-KE", "swa", "SWK", "sw", "sw-KE" };
+            yield return new object[] { 0x0047, new [] { "gu" }, "gu-IN", "guj", "GUJ", "gu", "en-US" };
+            yield return new object[] { 0x004a, new [] { "te" }, "te-IN", "tel", "TEL", "te", "en-US" };
+            yield return new object[] { 0x004b, new [] { "kn" }, "kn-IN", "kan", "KDI", "kn", "en-US" };
+            yield return new object[] { 0x004e, new [] { "mr" }, "mr-IN", "mar", "MAR", "mr", "en-US" };
+            yield return new object[] { 0x005e, new [] { "am" }, "am-ET", "amh", "AMH", "am", "en-US" };
+            yield return new object[] { 0x0401, new [] { "ar-sa" }, "ar-SA", "ara", "ARA", "ar-SA", "en-US" };
+            yield return new object[] { 0x0402, new [] { "bg-bg" }, "bg-BG", "bul", "BGR", "bg-BG", "bg-BG" };
+            yield return new object[] { 0x0403, new [] { "ca-es" }, "ca-ES", "cat", "CAT", "ca-ES", "ca-ES" };
+            yield return new object[] { 0x0404, new [] { "zh-tw" }, "zh-TW", "zho", "CHT", "zh-Hant-TW", "zh-TW" };
+            yield return new object[] { 0x0405, new [] { "cs-cz" }, "cs-CZ", "ces", "CSY", "cs-CZ", "cs-CZ" };
+            yield return new object[] { 0x0406, new [] { "da-dk" }, "da-DK", "dan", "DAN", "da-DK", "da-DK" };
+            yield return new object[] { 0x0407, new [] { "de-de" }, "de-DE", "deu", "DEU", "de-DE", "de-DE" };
+            yield return new object[] { 0x0408, new [] { "el-gr" }, "el-GR", "ell", "ELL", "el-GR", "el-GR" };
+            yield return new object[] { 0x0409, new [] { "en-us" }, "en-US", "eng", "ENU", "en-US", "en-US" };
+            yield return new object[] { 0x040b, new [] { "fi-fi" }, "fi-FI", "fin", "FIN", "fi-FI", "fi-FI" };
+            yield return new object[] { 0x040c, new [] { "fr-fr" }, "fr-FR", "fra", "FRA", "fr-FR", "fr-FR" };
+            yield return new object[] { 0x040d, new [] { "he-il" }, "he-IL", "heb", "HEB", "he-IL", "en-US" };
+            yield return new object[] { 0x040e, new [] { "hu-hu" }, "hu-HU", "hun", "HUN", "hu-HU", "hu-HU" };
+            yield return new object[] { 0x0410, new [] { "it-it" }, "it-IT", "ita", "ITA", "it-IT", "it-IT" };
+            yield return new object[] { 0x0411, new [] { "ja-jp" }, "ja-JP", "jpn", "JPN", "ja-JP", "ja-JP" };
+            yield return new object[] { 0x0412, new [] { "ko-kr" }, "ko-KR", "kor", "KOR", "ko-KR", "ko-KR" };
+            yield return new object[] { 0x0413, new [] { "nl-nl" }, "nl-NL", "nld", "NLD", "nl-NL", "nl-NL" };
+            yield return new object[] { 0x0415, new [] { "pl-pl" }, "pl-PL", "pol", "PLK", "pl-PL", "pl-PL" };
+            yield return new object[] { 0x0416, new [] { "pt-br" }, "pt-BR", "por", "PTB", "pt-BR", "pt-BR" };
+            yield return new object[] { 0x0418, new [] { "ro-ro" }, "ro-RO", "ron", "ROM", "ro-RO", "ro-RO" };
+            yield return new object[] { 0x0419, new [] { "ru-ru" }, "ru-RU", "rus", "RUS", "ru-RU", "ru-RU" };
+            yield return new object[] { 0x041a, new [] { "hr-hr" }, "hr-HR", "hrv", "HRV", "hr-HR", "hr-HR" };
+            yield return new object[] { 0x041b, new [] { "sk-sk" }, "sk-SK", "slk", "SKY", "sk-SK", "sk-SK" };
+            yield return new object[] { 0x041d, new [] { "sv-se" }, "sv-SE", "swe", "SVE", "sv-SE", "sv-SE" };
+            yield return new object[] { 0x041e, new [] { "th-th" }, "th-TH", "tha", "THA", "th-TH", "en-US" };
+            yield return new object[] { 0x041f, new [] { "tr-tr" }, "tr-TR", "tur", "TRK", "tr-TR", "tr-TR" };
+            yield return new object[] { 0x0421, new [] { "id-id" }, "id-ID", "ind", "IND", "id-ID", "id-ID" };
+            yield return new object[] { 0x0422, new [] { "uk-ua" }, "uk-UA", "ukr", "UKR", "uk-UA", "uk-UA" };
+            yield return new object[] { 0x0424, new [] { "sl-si" }, "sl-SI", "slv", "SLV", "sl-SI", "sl-SI" };
+            yield return new object[] { 0x0425, new [] { "et-ee" }, "et-EE", "est", "ETI", "et-EE", "et-EE" };
+            yield return new object[] { 0x0426, new [] { "lv-lv" }, "lv-LV", "lav", "LVI", "lv-LV", "lv-LV" };
+            yield return new object[] { 0x0427, new [] { "lt-lt" }, "lt-LT", "lit", "LTH", "lt-LT", "lt-LT" };
+            yield return new object[] { 0x0429, new [] { "fa-ir" }, "fa-IR", "fas", "FAR", "fa-IR", "en-US" };
+            yield return new object[] { 0x042a, new [] { "vi-vn" }, "vi-VN", "vie", "VIT", "vi-VN", "en-US" };
+            yield return new object[] { 0x0439, new [] { "hi-in" }, "hi-IN", "hin", "HIN", "hi-IN", "en-US" };
+            yield return new object[] { 0x0441, new [] { "sw-ke" }, "sw-KE", "swa", "SWK", "sw-KE", "sw-KE" };
+            yield return new object[] { 0x0447, new [] { "gu-in" }, "gu-IN", "guj", "GUJ", "gu-IN", "en-US" };
+            yield return new object[] { 0x044a, new [] { "te-in" }, "te-IN", "tel", "TEL", "te-IN", "en-US" };
+            yield return new object[] { 0x044b, new [] { "kn-in" }, "kn-IN", "kan", "KDI", "kn-IN", "en-US" };
+            yield return new object[] { 0x044e, new [] { "mr-in" }, "mr-IN", "mar", "MAR", "mr-IN", "en-US" };
+            yield return new object[] { 0x045e, new [] { "am-et" }, "am-ET", "amh", "AMH", "am-ET", "en-US" };
+            yield return new object[] { 0x0464, new [] { "fil-ph" }, "fil-PH", "fil", "FPO", "fil-PH", "fil-PH" };
+            yield return new object[] { 0x0804, new [] { "zh-cn" }, "zh-CN", "zho", "CHS", "zh-Hans-CN", "zh-CN" };
+            yield return new object[] { 0x0807, new [] { "de-ch" }, "de-CH", "deu", "DES", "de-CH", "de-CH" };
+            yield return new object[] { 0x0809, new [] { "en-gb" }, "en-GB", "eng", "ENG", "en-GB", "en-GB" };
+            yield return new object[] { 0x080a, new [] { "es-mx" }, "es-MX", "spa", "ESM", "es-MX", "es-MX" };
+            yield return new object[] { 0x080c, new [] { "fr-be" }, "fr-BE", "fra", "FRB", "fr-BE", "fr-BE" };
+            yield return new object[] { 0x0810, new [] { "it-ch" }, "it-CH", "ita", "ITS", "it-CH", "it-CH" };
+            yield return new object[] { 0x0813, new [] { "nl-be" }, "nl-BE", "nld", "NLB", "nl-BE", "nl-BE" };
+            yield return new object[] { 0x0816, new [] { "pt-pt" }, "pt-PT", "por", "PTG", "pt-PT", "pt-PT" };
+            yield return new object[] { 0x0c04, new [] { "zh-hk" }, "zh-HK", "zho", "ZHH", "zh-Hant-HK", "zh-HK" };
+            yield return new object[] { 0x0c07, new [] { "de-at" }, "de-AT", "deu", "DEA", "de-AT", "de-AT" };
+            yield return new object[] { 0x0c09, new [] { "en-au" }, "en-AU", "eng", "ENA", "en-AU", "en-AU" };
+            yield return new object[] { 0x0c0a, new [] { "es-es" }, "es-ES", "spa", "ESN", "es-ES", "es-ES" };
+            yield return new object[] { 0x0c0c, new [] { "fr-ca" }, "fr-CA", "fra", "FRC", "fr-CA", "fr-CA" };
+            yield return new object[] { 0x1004, new [] { "zh-sg" }, "zh-SG", "zho", "ZHI", "zh-Hans-SG", "zh-SG" };
+            yield return new object[] { 0x1007, new [] { "de-lu" }, "de-LU", "deu", "DEL", "de-LU", "de-LU" };
+            yield return new object[] { 0x1009, new [] { "en-ca" }, "en-CA", "eng", "ENC", "en-CA", "en-CA" };
+            yield return new object[] { 0x100c, new [] { "fr-ch" }, "fr-CH", "fra", "FRS", "fr-CH", "fr-CH" };
+            yield return new object[] { 0x1407, new [] { "de-li" }, "de-LI", "deu", "DEC", "de-LI", "de-LI" };
+            yield return new object[] { 0x1409, new [] { "en-nz" }, "en-NZ", "eng", "ENZ", "en-NZ", "en-NZ" };
+            yield return new object[] { 0x1809, new [] { "en-ie" }, "en-IE", "eng", "ENI", "en-IE", "en-IE" };
+            yield return new object[] { 0x1c09, new [] { "en-za" }, "en-ZA", "eng", "ENS", "en-ZA", "en-ZA" };
+            yield return new object[] { 0x2009, new [] { "en-jm" }, "en-JM", "eng", "ENJ", "en-JM", "en-JM" };
+            yield return new object[] { 0x241a, new [] { "sr-latn-rs" }, "sr-Latn-RS", "srp", "SRM", "sr-Latn-RS", "sr-Latn-RS" };
+            yield return new object[] { 0x2809, new [] { "en-bz" }, "en-BZ", "eng", "ENL", "en-BZ", "en-BZ" };
+            yield return new object[] { 0x281a, new [] { "sr-cyrl-rs" }, "sr-Cyrl-RS", "srp", "SRO", "sr-Cyrl-RS", "sr-Cyrl-RS" };
+            yield return new object[] { 0x2c09, new [] { "en-tt" }, "en-TT", "eng", "ENT", "en-TT", "en-TT" };
+            yield return new object[] { 0x3009, new [] { "en-zw" }, "en-ZW", "eng", "ENW", "en-ZW", "en-ZW" };
+            yield return new object[] { 0x3409, new [] { "en-ph" }, "en-PH", "eng", "ENP", "en-PH", "en-PH" };
+            yield return new object[] { 0x4009, new [] { "en-in" }, "en-IN", "eng", "ENN", "en-IN", "en-IN" };
+            yield return new object[] { 0x4809, new [] { "en-sg" }, "en-SG", "eng", "ENE", "en-SG", "en-SG" };
+            yield return new object[] { 0x6c1a, new [] { "sr-cyrl" }, "sr-Cyrl-RS", "srp", "SRO", "sr-Cyrl", "sr-Cyrl-RS" };
+            yield return new object[] { 0x701a, new [] { "sr-latn" }, "sr-Latn-RS", "srp", "SRM", "sr-Latn", "sr-Latn-RS" };
+            yield return new object[] { 0x7804, new [] { "zh" }, "zh-CN", "zho", "CHS", "zh", "zh-CN" };
+            yield return new object[] { 0x7c04, new [] { "zh-cht", "zh-hant" }, "zh-HK", "zho", "CHT", "zh-Hant", "zh-HK" };
+            yield return new object[] { 0x7c1a, new [] { "sr" }, "sr-Latn-RS", "srp", "SRB", "sr", "sr-Latn-RS" };
+            yield return new object[] { 0x10407, new [] { "de-de_phoneb", "de-de" }, "de-DE", "deu", "DEU", "de-DE", "de-DE" };
+            yield return new object[] { 0x1040e, new [] { "hu-hu_technl", "hu-hu" }, "hu-HU", "hun", "HUN", "hu-HU", "hu-HU" };
+            yield return new object[] { 0x20804, new [] { "zh-cn_stroke", "zh-cn" }, "zh-CN", "zho", "CHS", "zh-Hans-CN", "zh-CN" };
+            yield return new object[] { 0x21004, new [] { "zh-sg_stroke", "zh-sg" }, "zh-SG", "zho", "ZHI", "zh-Hans-SG", "zh-SG" };
+            yield return new object[] { 0x30404, new [] { "zh-tw_pronun", "zh-tw" }, "zh-TW", "zho", "CHT", "zh-Hant-TW", "zh-TW" };
+            yield return new object[] { 0x40404, new [] { "zh-tw_radstr", "zh-tw" }, "zh-TW", "zho", "CHT", "zh-Hant-TW", "zh-TW" };
+            yield return new object[] { 0x40411, new [] { "ja-jp_radstr", "ja-jp" }, "ja-JP", "jpn", "JPN", "ja-JP", "ja-JP" };
+            yield return new object[] { 0x40c04, new [] { "zh-hk_radstr", "zh-hk" }, "zh-HK", "zho", "ZHH", "zh-Hant-HK", "zh-HK" };
         }
 
         [Theory]
         [MemberData(nameof(CultureInfo_TestData))]
-        public void LcidTest(string cultureName, int lcid, string specificCultureName, string threeLetterISOLanguageName, string threeLetterWindowsLanguageName, string alternativeCultureName, string consoleUICultureName)
+        public void LcidTest(int lcid, string[] cultureNames, string specificCultureName, string threeLetterISOLanguageName, string threeLetterWindowsLanguageName, string alternativeCultureName, string consoleUICultureName)
         {
             _ = alternativeCultureName;
 
             CultureInfo ci = new CultureInfo(lcid);
-            Assert.Equal(cultureName, ci.Name);
-            Assert.Equal(lcid, ci.LCID);
+            Assert.Contains(ci.Name, cultureNames, StringComparer.OrdinalIgnoreCase);
+
+            if (ci.LCID == 0x1000)
+            {
+                // Unsupported culture.
+                return;
+            }
+
+            Assert.True(lcid == ci.LCID || (ushort)lcid == (ushort)ci.LCID);
             Assert.True(ci.UseUserOverride, "UseUserOverride for lcid created culture expected to be true");
             Assert.False(ci.IsReadOnly, "IsReadOnly for lcid created culture expected to be false");
-            Assert.Equal(threeLetterISOLanguageName, ci.ThreeLetterISOLanguageName);
-            Assert.Equal(threeLetterWindowsLanguageName, ci.ThreeLetterWindowsLanguageName);
+            if (ci.ThreeLetterISOLanguageName != "")
+            {
+                Assert.Equal(threeLetterISOLanguageName, ci.ThreeLetterISOLanguageName);
+            }
+            if (ci.ThreeLetterWindowsLanguageName != "ZZZ")
+            {
+                Assert.True((threeLetterWindowsLanguageName == ci.ThreeLetterWindowsLanguageName) || (threeLetterWindowsLanguageName == "CHT" && ci.ThreeLetterWindowsLanguageName == "ZHH"));
+            }
 
-            ci = new CultureInfo(cultureName);
-            Assert.Equal(cultureName, ci.Name);
-            Assert.Equal(lcid, ci.LCID);
+            ci = new CultureInfo(cultureNames[0]);
+            Assert.Contains(ci.Name, cultureNames, StringComparer.OrdinalIgnoreCase);
+            Assert.True(lcid == ci.LCID || (ushort)lcid == (ushort)ci.LCID);
             Assert.True(ci.UseUserOverride, "UseUserOverride for named created culture expected to be true");
             Assert.False(ci.IsReadOnly, "IsReadOnly for named created culture expected to be false");
 
             ci = new CultureInfo(lcid, false);
-            Assert.Equal(cultureName, ci.Name);
-            Assert.Equal(lcid, ci.LCID);
+            Assert.Contains(ci.Name, cultureNames, StringComparer.OrdinalIgnoreCase);
+            Assert.True(lcid == ci.LCID || (ushort)lcid == (ushort)ci.LCID);
             Assert.False(ci.UseUserOverride, "UseUserOverride with false user override culture expected to be false");
             Assert.False(ci.IsReadOnly, "IsReadOnly with false user override culture expected to be false");
 
             ci = CultureInfo.GetCultureInfo(lcid);
-            Assert.Equal(cultureName, ci.Name);
-            Assert.Equal(lcid, ci.LCID);
+            Assert.Contains(ci.Name, cultureNames, StringComparer.OrdinalIgnoreCase);
+            Assert.True(lcid == ci.LCID || (ushort)lcid == (ushort)ci.LCID);
             Assert.False(ci.UseUserOverride, "UseUserOverride with Culture created by GetCultureInfo and lcid expected to be false");
             Assert.True(ci.IsReadOnly, "IsReadOnly with Culture created by GetCultureInfo and lcid expected to be true");
 
-            ci = CultureInfo.GetCultureInfo(cultureName);
-            Assert.Equal(cultureName, ci.Name);
-            Assert.Equal(lcid, ci.LCID);
+            ci = CultureInfo.GetCultureInfo(cultureNames[0]);
+            Assert.Contains(ci.Name, cultureNames, StringComparer.OrdinalIgnoreCase);
+            Assert.True(lcid == ci.LCID || (ushort)lcid == (ushort)ci.LCID);
             Assert.False(ci.UseUserOverride, "UseUserOverride with Culture created by GetCultureInfo and name expected to be false");
             Assert.True(ci.IsReadOnly, "IsReadOnly with Culture created by GetCultureInfo and name expected to be true");
 
-            ci = CultureInfo.GetCultureInfo(cultureName, "");
-            Assert.Equal(cultureName, ci.Name);
-            Assert.Equal(lcid, ci.LCID);
+            ci = CultureInfo.GetCultureInfo(cultureNames[0], "");
+            Assert.Contains(ci.Name, cultureNames, StringComparer.OrdinalIgnoreCase);
+            Assert.True(lcid == ci.LCID || (ushort)lcid == (ushort)ci.LCID);
             Assert.False(ci.UseUserOverride, "UseUserOverride with Culture created by GetCultureInfo and sort name expected to be false");
             Assert.True(ci.IsReadOnly, "IsReadOnly with Culture created by GetCultureInfo and sort name expected to be true");
             Assert.Equal(CultureInfo.InvariantCulture.TextInfo, ci.TextInfo);
             Assert.Equal(CultureInfo.InvariantCulture.CompareInfo, ci.CompareInfo);
 
-            ci = CultureInfo.CreateSpecificCulture(cultureName);
-            Assert.Equal(specificCultureName, ci.Name);
+            ci = CultureInfo.CreateSpecificCulture(cultureNames[0]);
+            TestCultureName(specificCultureName, ci.Name);
+
+            ci = CultureInfo.GetCultureInfoByIetfLanguageTag(cultureNames[0]);
+            Assert.Contains(ci.Name, cultureNames, StringComparer.OrdinalIgnoreCase);
+            TestCultureName(ci.Name, ci.IetfLanguageTag);
+            Assert.True(lcid == ci.KeyboardLayoutId || (ushort)lcid == (ushort)ci.KeyboardLayoutId);
+
+            if (ci.GetConsoleFallbackUICulture().Name != "")
+            {
+                Assert.Equal(consoleUICultureName, ci.GetConsoleFallbackUICulture().Name);
+            }
+        }
 
-            ci = CultureInfo.GetCultureInfoByIetfLanguageTag(cultureName);
-            Assert.Equal(cultureName, ci.Name);
-            Assert.Equal(ci.Name, ci.IetfLanguageTag);
-            Assert.Equal(lcid, ci.KeyboardLayoutId);
+        private static string[] hans = new[] { "zh-CN", "zh-CHS", "zh-Hans" };
+        private static string[] hant = new[] { "zh-HK", "zh-CHT", "zh-Hant" };
 
-            Assert.Equal(consoleUICultureName, ci.GetConsoleFallbackUICulture().Name);
+        private static void TestCultureName(string left, string right)
+        {
+            if (hans.Contains(left, StringComparer.OrdinalIgnoreCase))
+            {
+                Assert.Contains(right, hans, StringComparer.OrdinalIgnoreCase);
+            }
+            else if (hant.Contains(left, StringComparer.OrdinalIgnoreCase))
+            {
+                Assert.Contains(right, hant, StringComparer.OrdinalIgnoreCase);
+            }
+            else
+            {
+                Assert.Equal(left, right, ignoreCase: true);
+            }
         }
 
         [Fact]
@@ -605,7 +760,7 @@ namespace System.Globalization.Tests
 
         [Theory]
         [MemberData(nameof(CultureInfo_TestData))]
-        public void GetCulturesTest(string cultureName, int lcid, string specificCultureName, string threeLetterISOLanguageName, string threeLetterWindowsLanguageName, string alternativeCultureName, string consoleUICultureName)
+        public void GetCulturesTest(int lcid, string[] cultureNames, string specificCultureName, string threeLetterISOLanguageName, string threeLetterWindowsLanguageName, string alternativeCultureName, string consoleUICultureName)
         {
             _ = lcid;
             _ = specificCultureName;
@@ -616,16 +771,16 @@ namespace System.Globalization.Tests
             bool found = false;
             Assert.All(CultureInfo.GetCultures(CultureTypes.NeutralCultures),
                        c => Assert.True( (c.IsNeutralCulture && ((c.CultureTypes & CultureTypes.NeutralCultures) != 0)) || c.Equals(CultureInfo.InvariantCulture)));
-            found = CultureInfo.GetCultures(CultureTypes.NeutralCultures).Any(c => c.Name.Equals(cultureName, StringComparison.OrdinalIgnoreCase) ||
+            found = CultureInfo.GetCultures(CultureTypes.NeutralCultures).Any(c => cultureNames.Contains(c.Name, StringComparer.OrdinalIgnoreCase) ||
                                                                                    c.Name.Equals(alternativeCultureName, StringComparison.OrdinalIgnoreCase));
             Assert.All(CultureInfo.GetCultures(CultureTypes.SpecificCultures), c => Assert.True(!c.IsNeutralCulture && ((c.CultureTypes & CultureTypes.SpecificCultures) != 0)));
             if (!found)
             {
-                found = CultureInfo.GetCultures(CultureTypes.SpecificCultures).Any(c => c.Name.Equals(cultureName, StringComparison.OrdinalIgnoreCase) ||
+                found = CultureInfo.GetCultures(CultureTypes.SpecificCultures).Any(c => cultureNames.Contains(c.Name, StringComparer.OrdinalIgnoreCase) ||
                                                                                        c.Name.Equals(alternativeCultureName, StringComparison.OrdinalIgnoreCase));
             }
 
-            Assert.True(found, $"Expected to find the culture {cultureName} in the enumerated list");
+            Assert.True(found, $"Expected to find the culture {cultureNames[0]} in the enumerated list");
         }
 
         [ConditionalFact(typeof(RemoteExecutor), nameof(RemoteExecutor.IsSupported))]
index 37b0b01..9db444b 100644 (file)
@@ -10,16 +10,376 @@ namespace System.Globalization.Tests
     {
         public static IEnumerable<object[]> Ctor_String_TestData()
         {
-            yield return new object[] { "", new string[] { "" } };
-            yield return new object[] { "en", new string[] { "en" } };
-            yield return new object[] { "de-DE", new string[] { "de-DE" } };
-            yield return new object[] { "de-DE_phoneb", new string[] { "de-DE", "de-DE_phoneb" } };
-            yield return new object[] { CultureInfo.CurrentCulture.Name, new string[] { CultureInfo.CurrentCulture.Name } };
+            yield return new object[] { "", new [] { "" } };
+            yield return new object[] { "af", new [] { "af" } };
+            yield return new object[] { "af-ZA", new [] { "af-ZA" } };
+            yield return new object[] { "am", new [] { "am" } };
+            yield return new object[] { "am-ET", new [] { "am-ET" } };
+            yield return new object[] { "ar", new [] { "ar" } };
+            yield return new object[] { "ar-AE", new [] { "ar-AE" } };
+            yield return new object[] { "ar-BH", new [] { "ar-BH" } };
+            yield return new object[] { "ar-DZ", new [] { "ar-DZ" } };
+            yield return new object[] { "ar-EG", new [] { "ar-EG" } };
+            yield return new object[] { "ar-IQ", new [] { "ar-IQ" } };
+            yield return new object[] { "ar-JO", new [] { "ar-JO" } };
+            yield return new object[] { "ar-KW", new [] { "ar-KW" } };
+            yield return new object[] { "ar-LB", new [] { "ar-LB" } };
+            yield return new object[] { "ar-LY", new [] { "ar-LY" } };
+            yield return new object[] { "ar-MA", new [] { "ar-MA" } };
+            yield return new object[] { "ar-OM", new [] { "ar-OM" } };
+            yield return new object[] { "ar-QA", new [] { "ar-QA" } };
+            yield return new object[] { "ar-SA", new [] { "ar-SA" } };
+            yield return new object[] { "ar-SY", new [] { "ar-SY" } };
+            yield return new object[] { "ar-TN", new [] { "ar-TN" } };
+            yield return new object[] { "ar-YE", new [] { "ar-YE" } };
+            yield return new object[] { "arn", new [] { "arn" } };
+            yield return new object[] { "arn-CL", new [] { "arn-CL" } };
+            yield return new object[] { "as", new [] { "as" } };
+            yield return new object[] { "as-IN", new [] { "as-IN" } };
+            yield return new object[] { "az", new [] { "az" } };
+            yield return new object[] { "az-Cyrl", new [] { "az-Cyrl" } };
+            yield return new object[] { "az-Cyrl-AZ", new [] { "az-Cyrl-AZ" } };
+            yield return new object[] { "az-Latn", new [] { "az-Latn" } };
+            yield return new object[] { "az-Latn-AZ", new [] { "az-Latn-AZ" } };
+            yield return new object[] { "ba", new [] { "ba" } };
+            yield return new object[] { "ba-RU", new [] { "ba-RU" } };
+            yield return new object[] { "be", new [] { "be" } };
+            yield return new object[] { "be-BY", new [] { "be-BY" } };
+            yield return new object[] { "bg", new [] { "bg" } };
+            yield return new object[] { "bg-BG", new [] { "bg-BG" } };
+            yield return new object[] { "bn", new [] { "bn" } };
+            yield return new object[] { "bn-BD", new [] { "bn-BD" } };
+            yield return new object[] { "bn-IN", new [] { "bn-IN" } };
+            yield return new object[] { "bo", new [] { "bo" } };
+            yield return new object[] { "bo-CN", new [] { "bo-CN" } };
+            yield return new object[] { "br", new [] { "br" } };
+            yield return new object[] { "br-FR", new [] { "br-FR" } };
+            yield return new object[] { "bs", new [] { "bs" } };
+            yield return new object[] { "bs-Cyrl", new [] { "bs-Cyrl" } };
+            yield return new object[] { "bs-Cyrl-BA", new [] { "bs-Cyrl-BA" } };
+            yield return new object[] { "bs-Latn", new [] { "bs-Latn" } };
+            yield return new object[] { "bs-Latn-BA", new [] { "bs-Latn-BA" } };
+            yield return new object[] { "ca", new [] { "ca" } };
+            yield return new object[] { "ca-ES", new [] { "ca-ES" } };
+            yield return new object[] { "co", new [] { "co" } };
+            yield return new object[] { "co-FR", new [] { "co-FR" } };
+            yield return new object[] { "cs", new [] { "cs" } };
+            yield return new object[] { "cs-CZ", new [] { "cs-CZ" } };
+            yield return new object[] { "cy", new [] { "cy" } };
+            yield return new object[] { "cy-GB", new [] { "cy-GB" } };
+            yield return new object[] { "da", new [] { "da" } };
+            yield return new object[] { "da-DK", new [] { "da-DK" } };
+            yield return new object[] { "de", new [] { "de" } };
+            yield return new object[] { "de-AT", new [] { "de-AT" } };
+            yield return new object[] { "de-CH", new [] { "de-CH" } };
+            yield return new object[] { "de-DE", new [] { "de-DE" } };
+            yield return new object[] { "de-DE_phoneb", new [] { "de-DE", "de-DE_phoneb" } };
+            yield return new object[] { "de-LI", new [] { "de-LI" } };
+            yield return new object[] { "de-LU", new [] { "de-LU" } };
+            yield return new object[] { "dsb", new [] { "dsb" } };
+            yield return new object[] { "dsb-DE", new [] { "dsb-DE" } };
+            yield return new object[] { "dv", new [] { "dv" } };
+            yield return new object[] { "dv-MV", new [] { "dv-MV" } };
+            yield return new object[] { "el", new [] { "el" } };
+            yield return new object[] { "el-GR", new [] { "el-GR" } };
+            yield return new object[] { "en", new [] { "en" } };
+            yield return new object[] { "en-029", new [] { "en-029" } };
+            yield return new object[] { "en-AU", new [] { "en-AU" } };
+            yield return new object[] { "en-BZ", new [] { "en-BZ" } };
+            yield return new object[] { "en-CA", new [] { "en-CA" } };
+            yield return new object[] { "en-GB", new [] { "en-GB" } };
+            yield return new object[] { "en-IE", new [] { "en-IE" } };
+            yield return new object[] { "en-IN", new [] { "en-IN" } };
+            yield return new object[] { "en-JM", new [] { "en-JM" } };
+            yield return new object[] { "en-MY", new [] { "en-MY" } };
+            yield return new object[] { "en-NZ", new [] { "en-NZ" } };
+            yield return new object[] { "en-PH", new [] { "en-PH" } };
+            yield return new object[] { "en-SG", new [] { "en-SG" } };
+            yield return new object[] { "en-TT", new [] { "en-TT" } };
+            yield return new object[] { "en-US", new [] { "en-US" } };
+            yield return new object[] { "en-ZA", new [] { "en-ZA" } };
+            yield return new object[] { "en-ZW", new [] { "en-ZW" } };
+            yield return new object[] { "es", new [] { "es" } };
+            yield return new object[] { "es-AR", new [] { "es-AR" } };
+            yield return new object[] { "es-BO", new [] { "es-BO" } };
+            yield return new object[] { "es-CL", new [] { "es-CL" } };
+            yield return new object[] { "es-CO", new [] { "es-CO" } };
+            yield return new object[] { "es-CR", new [] { "es-CR" } };
+            yield return new object[] { "es-DO", new [] { "es-DO" } };
+            yield return new object[] { "es-EC", new [] { "es-EC" } };
+            yield return new object[] { "es-ES", new [] { "es-ES" } };
+            yield return new object[] { "es-ES_tradnl", new [] { "es-ES", "es-ES_tradnl" } };
+            yield return new object[] { "es-GT", new [] { "es-GT" } };
+            yield return new object[] { "es-HN", new [] { "es-HN" } };
+            yield return new object[] { "es-MX", new [] { "es-MX" } };
+            yield return new object[] { "es-NI", new [] { "es-NI" } };
+            yield return new object[] { "es-PA", new [] { "es-PA" } };
+            yield return new object[] { "es-PE", new [] { "es-PE" } };
+            yield return new object[] { "es-PR", new [] { "es-PR" } };
+            yield return new object[] { "es-PY", new [] { "es-PY" } };
+            yield return new object[] { "es-SV", new [] { "es-SV" } };
+            yield return new object[] { "es-US", new [] { "es-US" } };
+            yield return new object[] { "es-UY", new [] { "es-UY" } };
+            yield return new object[] { "es-VE", new [] { "es-VE" } };
+            yield return new object[] { "et", new [] { "et" } };
+            yield return new object[] { "et-EE", new [] { "et-EE" } };
+            yield return new object[] { "eu", new [] { "eu" } };
+            yield return new object[] { "eu-ES", new [] { "eu-ES" } };
+            yield return new object[] { "fa", new [] { "fa" } };
+            yield return new object[] { "fa-IR", new [] { "fa-IR" } };
+            yield return new object[] { "fi", new [] { "fi" } };
+            yield return new object[] { "fi-FI", new [] { "fi-FI" } };
+            yield return new object[] { "fil", new [] { "fil" } };
+            yield return new object[] { "fil-PH", new [] { "fil-PH" } };
+            yield return new object[] { "fo", new [] { "fo" } };
+            yield return new object[] { "fo-FO", new [] { "fo-FO" } };
+            yield return new object[] { "fr", new [] { "fr" } };
+            yield return new object[] { "fr-BE", new [] { "fr-BE" } };
+            yield return new object[] { "fr-CA", new [] { "fr-CA" } };
+            yield return new object[] { "fr-CH", new [] { "fr-CH" } };
+            yield return new object[] { "fr-FR", new [] { "fr-FR" } };
+            yield return new object[] { "fr-LU", new [] { "fr-LU" } };
+            yield return new object[] { "fr-MC", new [] { "fr-MC" } };
+            yield return new object[] { "fy", new [] { "fy" } };
+            yield return new object[] { "fy-NL", new [] { "fy-NL" } };
+            yield return new object[] { "ga", new [] { "ga" } };
+            yield return new object[] { "ga-IE", new [] { "ga-IE" } };
+            yield return new object[] { "gd", new [] { "gd" } };
+            yield return new object[] { "gd-GB", new [] { "gd-GB" } };
+            yield return new object[] { "gl", new [] { "gl" } };
+            yield return new object[] { "gl-ES", new [] { "gl-ES" } };
+            yield return new object[] { "gsw", new [] { "gsw" } };
+            yield return new object[] { "gsw-FR", new [] { "gsw-FR" } };
+            yield return new object[] { "gu", new [] { "gu" } };
+            yield return new object[] { "gu-IN", new [] { "gu-IN" } };
+            yield return new object[] { "ha", new [] { "ha" } };
+            yield return new object[] { "ha-Latn", new [] { "ha-Latn" } };
+            yield return new object[] { "ha-Latn-NG", new [] { "ha-Latn-NG" } };
+            yield return new object[] { "he", new [] { "he" } };
+            yield return new object[] { "he-IL", new [] { "he-IL" } };
+            yield return new object[] { "hi", new [] { "hi" } };
+            yield return new object[] { "hi-IN", new [] { "hi-IN" } };
+            yield return new object[] { "hr", new [] { "hr" } };
+            yield return new object[] { "hr-BA", new [] { "hr-BA" } };
+            yield return new object[] { "hr-HR", new [] { "hr-HR" } };
+            yield return new object[] { "hsb", new [] { "hsb" } };
+            yield return new object[] { "hsb-DE", new [] { "hsb-DE" } };
+            yield return new object[] { "hu", new [] { "hu" } };
+            yield return new object[] { "hu-HU", new [] { "hu-HU" } };
+            yield return new object[] { "hu-HU_technl", new [] { "hu-HU", "hu-HU_technl" } };
+            yield return new object[] { "hy", new [] { "hy" } };
+            yield return new object[] { "hy-AM", new [] { "hy-AM" } };
+            yield return new object[] { "id", new [] { "id" } };
+            yield return new object[] { "id-ID", new [] { "id-ID" } };
+            yield return new object[] { "ig", new [] { "ig" } };
+            yield return new object[] { "ig-NG", new [] { "ig-NG" } };
+            yield return new object[] { "ii", new [] { "ii" } };
+            yield return new object[] { "ii-CN", new [] { "ii-CN" } };
+            yield return new object[] { "is", new [] { "is" } };
+            yield return new object[] { "is-IS", new [] { "is-IS" } };
+            yield return new object[] { "it", new [] { "it" } };
+            yield return new object[] { "it-CH", new [] { "it-CH" } };
+            yield return new object[] { "it-IT", new [] { "it-IT" } };
+            yield return new object[] { "iu", new [] { "iu" } };
+            yield return new object[] { "iu-Cans", new [] { "iu-Cans" } };
+            yield return new object[] { "iu-Cans-CA", new [] { "iu-Cans-CA" } };
+            yield return new object[] { "iu-Latn", new [] { "iu-Latn" } };
+            yield return new object[] { "iu-Latn-CA", new [] { "iu-Latn-CA" } };
+            yield return new object[] { "ja", new [] { "ja" } };
+            yield return new object[] { "ja-JP", new [] { "ja-JP" } };
+            yield return new object[] { "ja-JP_radstr", new [] { "ja-JP", "ja-JP_radstr" } };
+            yield return new object[] { "ka", new [] { "ka" } };
+            yield return new object[] { "ka-GE", new [] { "ka-GE" } };
+            yield return new object[] { "ka-GE_modern", new [] { "ka-GE", "ka-GE_modern" } };
+            yield return new object[] { "kk", new [] { "kk" } };
+            yield return new object[] { "kk-KZ", new [] { "kk-KZ" } };
+            yield return new object[] { "kl", new [] { "kl" } };
+            yield return new object[] { "kl-GL", new [] { "kl-GL" } };
+            yield return new object[] { "km", new [] { "km" } };
+            yield return new object[] { "km-KH", new [] { "km-KH" } };
+            yield return new object[] { "kn", new [] { "kn" } };
+            yield return new object[] { "kn-IN", new [] { "kn-IN" } };
+            yield return new object[] { "ko", new [] { "ko" } };
+            yield return new object[] { "ko-KR", new [] { "ko-KR" } };
+            yield return new object[] { "kok", new [] { "kok" } };
+            yield return new object[] { "kok-IN", new [] { "kok-IN" } };
+            yield return new object[] { "ky", new [] { "ky" } };
+            yield return new object[] { "ky-KG", new [] { "ky-KG" } };
+            yield return new object[] { "lb", new [] { "lb" } };
+            yield return new object[] { "lb-LU", new [] { "lb-LU" } };
+            yield return new object[] { "lo", new [] { "lo" } };
+            yield return new object[] { "lo-LA", new [] { "lo-LA" } };
+            yield return new object[] { "lt", new [] { "lt" } };
+            yield return new object[] { "lt-LT", new [] { "lt-LT" } };
+            yield return new object[] { "lv", new [] { "lv" } };
+            yield return new object[] { "lv-LV", new [] { "lv-LV" } };
+            yield return new object[] { "mi", new [] { "mi" } };
+            yield return new object[] { "mi-NZ", new [] { "mi-NZ" } };
+            yield return new object[] { "mk", new [] { "mk" } };
+            yield return new object[] { "mk-MK", new [] { "mk-MK" } };
+            yield return new object[] { "ml", new [] { "ml" } };
+            yield return new object[] { "ml-IN", new [] { "ml-IN" } };
+            yield return new object[] { "mn", new [] { "mn" } };
+            yield return new object[] { "mn-Cyrl", new [] { "mn-Cyrl" } };
+            yield return new object[] { "mn-MN", new [] { "mn-MN" } };
+            yield return new object[] { "mn-Mong", new [] { "mn-Mong" } };
+            yield return new object[] { "mn-Mong-CN", new [] { "mn-Mong-CN" } };
+            yield return new object[] { "moh", new [] { "moh" } };
+            yield return new object[] { "moh-CA", new [] { "moh-CA" } };
+            yield return new object[] { "mr", new [] { "mr" } };
+            yield return new object[] { "mr-IN", new [] { "mr-IN" } };
+            yield return new object[] { "ms", new [] { "ms" } };
+            yield return new object[] { "ms-BN", new [] { "ms-BN" } };
+            yield return new object[] { "ms-MY", new [] { "ms-MY" } };
+            yield return new object[] { "mt", new [] { "mt" } };
+            yield return new object[] { "mt-MT", new [] { "mt-MT" } };
+            yield return new object[] { "nb", new [] { "nb" } };
+            yield return new object[] { "nb-NO", new [] { "nb-NO" } };
+            yield return new object[] { "ne", new [] { "ne" } };
+            yield return new object[] { "ne-NP", new [] { "ne-NP" } };
+            yield return new object[] { "nl", new [] { "nl" } };
+            yield return new object[] { "nl-BE", new [] { "nl-BE" } };
+            yield return new object[] { "nl-NL", new [] { "nl-NL" } };
+            yield return new object[] { "nn", new [] { "nn" } };
+            yield return new object[] { "nn-NO", new [] { "nn-NO" } };
+            yield return new object[] { "no", new [] { "no" } };
+            yield return new object[] { "nso", new [] { "nso" } };
+            yield return new object[] { "nso-ZA", new [] { "nso-ZA" } };
+            yield return new object[] { "oc", new [] { "oc" } };
+            yield return new object[] { "oc-FR", new [] { "oc-FR" } };
+            yield return new object[] { "or", new [] { "or" } };
+            yield return new object[] { "or-IN", new [] { "or-IN" } };
+            yield return new object[] { "pa", new [] { "pa" } };
+            yield return new object[] { "pa-IN", new [] { "pa-IN" } };
+            yield return new object[] { "pl", new [] { "pl" } };
+            yield return new object[] { "pl-PL", new [] { "pl-PL" } };
+            yield return new object[] { "prs", new [] { "prs" } };
+            yield return new object[] { "prs-AF", new [] { "prs-AF" } };
+            yield return new object[] { "ps", new [] { "ps" } };
+            yield return new object[] { "ps-AF", new [] { "ps-AF" } };
+            yield return new object[] { "pt", new [] { "pt" } };
+            yield return new object[] { "pt-BR", new [] { "pt-BR" } };
+            yield return new object[] { "pt-PT", new [] { "pt-PT" } };
+            yield return new object[] { "quz", new [] { "quz" } };
+            yield return new object[] { "quz-BO", new [] { "quz-BO" } };
+            yield return new object[] { "quz-EC", new [] { "quz-EC" } };
+            yield return new object[] { "quz-PE", new [] { "quz-PE" } };
+            yield return new object[] { "rm", new [] { "rm" } };
+            yield return new object[] { "rm-CH", new [] { "rm-CH" } };
+            yield return new object[] { "ro", new [] { "ro" } };
+            yield return new object[] { "ro-RO", new [] { "ro-RO" } };
+            yield return new object[] { "ru", new [] { "ru" } };
+            yield return new object[] { "ru-RU", new [] { "ru-RU" } };
+            yield return new object[] { "rw", new [] { "rw" } };
+            yield return new object[] { "rw-RW", new [] { "rw-RW" } };
+            yield return new object[] { "sa", new [] { "sa" } };
+            yield return new object[] { "sa-IN", new [] { "sa-IN" } };
+            yield return new object[] { "sah", new [] { "sah" } };
+            yield return new object[] { "sah-RU", new [] { "sah-RU" } };
+            yield return new object[] { "se", new [] { "se" } };
+            yield return new object[] { "se-FI", new [] { "se-FI" } };
+            yield return new object[] { "se-NO", new [] { "se-NO" } };
+            yield return new object[] { "se-SE", new [] { "se-SE" } };
+            yield return new object[] { "si", new [] { "si" } };
+            yield return new object[] { "si-LK", new [] { "si-LK" } };
+            yield return new object[] { "sk", new [] { "sk" } };
+            yield return new object[] { "sk-SK", new [] { "sk-SK" } };
+            yield return new object[] { "sl", new [] { "sl" } };
+            yield return new object[] { "sl-SI", new [] { "sl-SI" } };
+            yield return new object[] { "sma", new [] { "sma" } };
+            yield return new object[] { "sma-NO", new [] { "sma-NO" } };
+            yield return new object[] { "sma-SE", new [] { "sma-SE" } };
+            yield return new object[] { "smj", new [] { "smj" } };
+            yield return new object[] { "smj-NO", new [] { "smj-NO" } };
+            yield return new object[] { "smj-SE", new [] { "smj-SE" } };
+            yield return new object[] { "smn", new [] { "smn" } };
+            yield return new object[] { "smn-FI", new [] { "smn-FI" } };
+            yield return new object[] { "sms", new [] { "sms" } };
+            yield return new object[] { "sms-FI", new [] { "sms-FI" } };
+            yield return new object[] { "sq", new [] { "sq" } };
+            yield return new object[] { "sq-AL", new [] { "sq-AL" } };
+            yield return new object[] { "sr", new [] { "sr" } };
+            yield return new object[] { "sr-Cyrl", new [] { "sr-Cyrl" } };
+            yield return new object[] { "sr-Cyrl-BA", new [] { "sr-Cyrl-BA" } };
+            yield return new object[] { "sr-Cyrl-CS", new [] { "sr-Cyrl-CS" } };
+            yield return new object[] { "sr-Cyrl-ME", new [] { "sr-Cyrl-ME" } };
+            yield return new object[] { "sr-Cyrl-RS", new [] { "sr-Cyrl-RS" } };
+            yield return new object[] { "sr-Latn", new [] { "sr-Latn" } };
+            yield return new object[] { "sr-Latn-BA", new [] { "sr-Latn-BA" } };
+            yield return new object[] { "sr-Latn-CS", new [] { "sr-Latn-CS" } };
+            yield return new object[] { "sr-Latn-ME", new [] { "sr-Latn-ME" } };
+            yield return new object[] { "sr-Latn-RS", new [] { "sr-Latn-RS" } };
+            yield return new object[] { "sv", new [] { "sv" } };
+            yield return new object[] { "sv-FI", new [] { "sv-FI" } };
+            yield return new object[] { "sv-SE", new [] { "sv-SE" } };
+            yield return new object[] { "sw", new [] { "sw" } };
+            yield return new object[] { "sw-KE", new [] { "sw-KE" } };
+            yield return new object[] { "syr", new [] { "syr" } };
+            yield return new object[] { "syr-SY", new [] { "syr-SY" } };
+            yield return new object[] { "ta", new [] { "ta" } };
+            yield return new object[] { "ta-IN", new [] { "ta-IN" } };
+            yield return new object[] { "te", new [] { "te" } };
+            yield return new object[] { "te-IN", new [] { "te-IN" } };
+            yield return new object[] { "tg", new [] { "tg" } };
+            yield return new object[] { "tg-Cyrl", new [] { "tg-Cyrl" } };
+            yield return new object[] { "tg-Cyrl-TJ", new [] { "tg-Cyrl-TJ" } };
+            yield return new object[] { "th", new [] { "th" } };
+            yield return new object[] { "th-TH", new [] { "th-TH" } };
+            yield return new object[] { "tk", new [] { "tk" } };
+            yield return new object[] { "tk-TM", new [] { "tk-TM" } };
+            yield return new object[] { "tn", new [] { "tn" } };
+            yield return new object[] { "tn-ZA", new [] { "tn-ZA" } };
+            yield return new object[] { "tr", new [] { "tr" } };
+            yield return new object[] { "tr-TR", new [] { "tr-TR" } };
+            yield return new object[] { "tt", new [] { "tt" } };
+            yield return new object[] { "tt-RU", new [] { "tt-RU" } };
+            yield return new object[] { "tzm", new [] { "tzm" } };
+            yield return new object[] { "tzm-Latn", new [] { "tzm-Latn" } };
+            yield return new object[] { "tzm-Latn-DZ", new [] { "tzm-Latn-DZ" } };
+            yield return new object[] { "ug", new [] { "ug" } };
+            yield return new object[] { "ug-CN", new [] { "ug-CN" } };
+            yield return new object[] { "uk", new [] { "uk" } };
+            yield return new object[] { "uk-UA", new [] { "uk-UA" } };
+            yield return new object[] { "ur", new [] { "ur" } };
+            yield return new object[] { "ur-PK", new [] { "ur-PK" } };
+            yield return new object[] { "uz", new [] { "uz" } };
+            yield return new object[] { "uz-Cyrl", new [] { "uz-Cyrl" } };
+            yield return new object[] { "uz-Cyrl-UZ", new [] { "uz-Cyrl-UZ" } };
+            yield return new object[] { "uz-Latn", new [] { "uz-Latn" } };
+            yield return new object[] { "uz-Latn-UZ", new [] { "uz-Latn-UZ" } };
+            yield return new object[] { "vi", new [] { "vi" } };
+            yield return new object[] { "vi-VN", new [] { "vi-VN" } };
+            yield return new object[] { "wo", new [] { "wo" } };
+            yield return new object[] { "wo-SN", new [] { "wo-SN" } };
+            yield return new object[] { "xh", new [] { "xh" } };
+            yield return new object[] { "xh-ZA", new [] { "xh-ZA" } };
+            yield return new object[] { "yo", new [] { "yo" } };
+            yield return new object[] { "yo-NG", new [] { "yo-NG" } };
+            yield return new object[] { "zh", new [] { "zh" } };
+            yield return new object[] { "zh-CHS", new [] { "zh-CHS", "zh-Hans" } };
+            yield return new object[] { "zh-CHT", new [] { "zh-CHT", "zh-Hant" } };
+            yield return new object[] { "zh-CN", new [] { "zh-CN" } };
+            yield return new object[] { "zh-CN_stroke", new [] { "zh-CN", "zh-CN_stroke" } };
+            yield return new object[] { "zh-Hans", new [] { "zh-Hans" } };
+            yield return new object[] { "zh-Hant", new [] { "zh-Hant" } };
+            yield return new object[] { "zh-HK", new [] { "zh-HK" } };
+            yield return new object[] { "zh-HK_radstr", new [] { "zh-HK", "zh-HK_radstr" } };
+            yield return new object[] { "zh-MO", new [] { "zh-MO" } };
+            yield return new object[] { "zh-MO_radstr", new [] { "zh-MO", "zh-MO_radstr" } };
+            yield return new object[] { "zh-MO_stroke", new [] { "zh-MO", "zh-MO_stroke" } };
+            yield return new object[] { "zh-SG", new [] { "zh-SG" } };
+            yield return new object[] { "zh-SG_stroke", new [] { "zh-SG", "zh-SG_stroke" } };
+            yield return new object[] { "zh-TW", new [] { "zh-TW" } };
+            yield return new object[] { "zh-TW_pronun", new [] { "zh-TW", "zh-TW_pronun" } };
+            yield return new object[] { "zh-TW_radstr", new [] { "zh-TW", "zh-TW_radstr" } };
+            yield return new object[] { "zu", new [] { "zu" } };
+            yield return new object[] { "zu-ZA", new [] { "zu-ZA" } };
+            yield return new object[] { CultureInfo.CurrentCulture.Name, new [] { CultureInfo.CurrentCulture.Name } };
 
             if (!PlatformDetection.IsWindows || PlatformDetection.WindowsVersion >= 10)
             {
-                yield return new object[] { "en-US-CUSTOM", new string[] { "en-US-CUSTOM", "en-US-custom" } };
-                yield return new object[] { "xx-XX", new string[] { "xx-XX" } };
+                yield return new object[] { "en-US-CUSTOM", new [] { "en-US-CUSTOM", "en-US-custom" } };
+                yield return new object[] { "xx-XX", new [] { "xx-XX" } };
             }
         }
 
@@ -28,8 +388,11 @@ namespace System.Globalization.Tests
         public void Ctor_String(string name, string[] expectedNames)
         {
             CultureInfo culture = new CultureInfo(name);
-            Assert.Contains(culture.Name, expectedNames);
-            Assert.Equal(name, culture.ToString(), ignoreCase: true);
+            string cultureName = culture.Name;
+            Assert.Contains(cultureName, expectedNames, StringComparer.OrdinalIgnoreCase);
+
+            culture = new CultureInfo(cultureName);
+            Assert.Equal(cultureName, culture.ToString(), ignoreCase: true);
         }
 
         [Fact]
index b35cece..1ed01ba 100644 (file)
@@ -22,89 +22,8 @@ namespace System.Globalization
         ConsoleLocaleIndex = 8
     }
 
-    internal static class IcuLocaleData
+    internal static partial class IcuLocaleData
     {
-        /*
-        // Program used to generate and validate the culture data
-        // input data needs to come sorted
-        static void GenerateData (string[] cultures, (string, string)[] lcids)
-        {
-            var list = new List<(string, List<string>)> ();
-
-            string prev = null;
-            for (int i = 0; i < cultures.Length; ++i) {
-                var raw = cultures[i];
-
-                List<string> values;
-
-                if (i > 0 && raw.StartsWith (prev)) {
-                    values = list[^1].Item2;
-                    list[^1] = (raw, values);
-                } else {
-                    values = new List<string> ();
-                    list.Add((raw, values));
-                }
-
-                values.Add(raw);
-                prev = raw;
-                continue;
-            }
-
-            Console.WriteLine("private static ReadOnlySpan<byte> CultureNames => new byte[]");
-            Console.WriteLine("{");
-
-            var indexes = new List<(int, int, string)> ();
-            int pos = 0;
-            for (int i = 0; i < list.Count; ++i) {
-                var row = list[i];
-
-                for (int ii = 0; ii < row.Item2.Count; ++ii)  {
-                    string value = row.Item2[ii];
-                    indexes.Add ((pos, value.Length, value));
-                }
-
-                foreach (var ch in row.Item1) {
-                    Console.Write($"(byte)'{ch}', ");
-                }
-                Console.WriteLine($"\t// {string.Join(' ', row.Item2)}");
-
-                pos += row.Item1.Length;
-            }
-
-            Console.WriteLine("};");
-
-            Console.WriteLine("private static readonly ushort[] s_localesNamesIndexes = new ushort [] {");
-            int max_length = 0;
-            foreach (var entry in indexes) {
-                Debug.Assert(entry.Item1 < Math.Pow (2,12));
-                Debug.Assert(entry.Item2 < Math.Pow (2, 4));
-                Console.WriteLine($"{entry.Item1} << 4 | {entry.Item2},\t// {entry.Item3}");
-
-                max_length = Math.Max(max_length, entry.Item2);
-            }
-            Console.WriteLine("};");
-
-            Console.WriteLine($"const int LocaleLongestName = {max_length};");
-
-            Console.WriteLine("private static readonly int[] s_lcids = new int[]");
-            foreach (var entry in lcids) {
-                string name = entry.Item2.ToLowerInvariant();
-                int entryIndex = indexes.FindIndex(l => l.Item3 == name);
-                if (entryIndex < 0) {
-                    Console.WriteLine($"{entry.Item2} // {name}");
-                    continue;
-                }
-
-                var str = indexes[entryIndex];
-                Debug.Assert(str.Item1 < Math.Pow (2, 12));
-                Debug.Assert(str.Item2 < Math.Pow (2, 4));
-
-                Console.WriteLine($"{entry.Item1} << 16 | {str.Item1} << 4 | {str.Item2},\t // {name}");
-            }
-            Console.WriteLine("};");
-        }
-        */
-
         private static ReadOnlySpan<byte> CultureNames => new byte[]
         {
             (byte)'a', (byte)'a', (byte)'-', (byte)'d', (byte)'j',  // aa, aa-dj
@@ -664,7 +583,7 @@ namespace System.Globalization
             (byte)'x', (byte)'h', (byte)'-', (byte)'z', (byte)'a',  // xh, xh-za
             (byte)'x', (byte)'o', (byte)'g', (byte)'-', (byte)'u', (byte)'g',  // xog, xog-ug
             (byte)'y', (byte)'a', (byte)'v', (byte)'-', (byte)'c', (byte)'m',  // yav, yav-cm
-            (byte)'y', (byte)'i', (byte)'-', (byte)'0', (byte)'0', (byte)'1',
+            (byte)'y', (byte)'i', (byte)'-', (byte)'0', (byte)'0', (byte)'1',  // yi, yi-001
             (byte)'y', (byte)'o', (byte)'-', (byte)'b', (byte)'j',  // yo, yo-bj
             (byte)'y', (byte)'o', (byte)'-', (byte)'n', (byte)'g',  // yo-ng
             (byte)'y', (byte)'u', (byte)'e', (byte)'-', (byte)'h', (byte)'k',  // yue, yue-hk
@@ -686,1751 +605,2218 @@ namespace System.Globalization
             (byte)'z', (byte)'u', (byte)'-', (byte)'z', (byte)'a',  // zu, zu-za
         };
 
-        private const int LocaleLongestName = 14;
         private const int CulturesCount = 864;
 
-        //
         // Table which holds index into LocalesNames data and length of the string for each locale
         // Values are binary searched and need to be sorted alphabetically
         //
-        private static readonly ushort[] s_localesNamesIndexes = new ushort[CulturesCount]
+        // value = index << 4 | length
+        // byte0 = value >> 8; byte1 = value & 0xff
+        private static ReadOnlySpan<byte> LocalesNamesIndexes => new byte[CulturesCount * 2]
         {
-            0 << 4 | 2,     // aa
-            0 << 4 | 5,     // aa-dj
-            5 << 4 | 5,     // aa-er
-            10 << 4 | 5,    // aa-et
-            15 << 4 | 2,    // af
-            15 << 4 | 5,    // af-na
-            20 << 4 | 5,    // af-za
-            25 << 4 | 3,    // agq
-            25 << 4 | 6,    // agq-cm
-            31 << 4 | 2,    // ak
-            31 << 4 | 5,    // ak-gh
-            36 << 4 | 2,    // am
-            36 << 4 | 5,    // am-et
-            41 << 4 | 2,    // ar
-            41 << 4 | 6,    // ar-001
-            47 << 4 | 5,    // ar-ae
-            52 << 4 | 5,    // ar-bh
-            57 << 4 | 5,    // ar-dj
-            62 << 4 | 5,    // ar-dz
-            67 << 4 | 5,    // ar-eg
-            72 << 4 | 5,    // ar-er
-            77 << 4 | 5,    // ar-il
-            82 << 4 | 5,    // ar-iq
-            87 << 4 | 5,    // ar-jo
-            92 << 4 | 5,    // ar-km
-            97 << 4 | 5,    // ar-kw
-            102 << 4 | 5,   // ar-lb
-            107 << 4 | 5,   // ar-ly
-            112 << 4 | 5,   // ar-ma
-            117 << 4 | 5,   // ar-mr
-            122 << 4 | 5,   // ar-om
-            127 << 4 | 5,   // ar-ps
-            132 << 4 | 5,   // ar-qa
-            137 << 4 | 5,   // ar-sa
-            142 << 4 | 5,   // ar-sd
-            147 << 4 | 5,   // ar-so
-            152 << 4 | 5,   // ar-ss
-            157 << 4 | 5,   // ar-sy
-            162 << 4 | 5,   // ar-td
-            167 << 4 | 5,   // ar-tn
-            172 << 4 | 5,   // ar-ye
-            177 << 4 | 3,   // arn
-            177 << 4 | 6,   // arn-cl
-            183 << 4 | 2,   // as
-            183 << 4 | 5,   // as-in
-            188 << 4 | 3,   // asa
-            188 << 4 | 6,   // asa-tz
-            194 << 4 | 3,   // ast
-            194 << 4 | 6,   // ast-es
-            200 << 4 | 2,   // az
-            200 << 4 | 7,   // az-cyrl
-            200 << 4 | 10,  // az-cyrl-az
-            210 << 4 | 7,   // az-latn
-            210 << 4 | 10,  // az-latn-az
-            220 << 4 | 2,   // ba
-            220 << 4 | 5,   // ba-ru
-            225 << 4 | 3,   // bas
-            225 << 4 | 6,   // bas-cm
-            231 << 4 | 2,   // be
-            231 << 4 | 5,   // be-by
-            236 << 4 | 3,   // bem
-            236 << 4 | 6,   // bem-zm
-            242 << 4 | 3,   // bez
-            242 << 4 | 6,   // bez-tz
-            248 << 4 | 2,   // bg
-            248 << 4 | 5,   // bg-bg
-            253 << 4 | 3,   // bin
-            253 << 4 | 6,   // bin-ng
-            259 << 4 | 2,   // bm
-            259 << 4 | 7,   // bm-latn
-            259 << 4 | 10,  // bm-latn-ml
-            269 << 4 | 2,   // bn
-            269 << 4 | 5,   // bn-bd
-            274 << 4 | 5,   // bn-in
-            279 << 4 | 2,   // bo
-            279 << 4 | 5,   // bo-cn
-            284 << 4 | 5,   // bo-in
-            289 << 4 | 2,   // br
-            289 << 4 | 5,   // br-fr
-            294 << 4 | 3,   // brx
-            294 << 4 | 6,   // brx-in
-            300 << 4 | 2,   // bs
-            300 << 4 | 7,   // bs-cyrl
-            300 << 4 | 10,  // bs-cyrl-ba
-            310 << 4 | 7,   // bs-latn
-            310 << 4 | 10,  // bs-latn-ba
-            320 << 4 | 3,   // byn
-            320 << 4 | 6,   // byn-er
-            326 << 4 | 2,   // ca
-            326 << 4 | 5,   // ca-ad
-            331 << 4 | 5,   // ca-es
-            331 << 4 | 14,  // ca-es-valencia
-            345 << 4 | 5,   // ca-fr
-            350 << 4 | 5,   // ca-it
-            355 << 4 | 2,   // ce
-            355 << 4 | 5,   // ce-ru
-            360 << 4 | 3,   // cgg
-            360 << 4 | 6,   // cgg-ug
-            366 << 4 | 3,   // chr
-            366 << 4 | 8,   // chr-cher
-            366 << 4 | 11,  // chr-cher-us
-            377 << 4 | 2,   // co
-            377 << 4 | 5,   // co-fr
-            382 << 4 | 2,   // cs
-            382 << 4 | 5,   // cs-cz
-            387 << 4 | 2,   // cu
-            387 << 4 | 5,   // cu-ru
-            392 << 4 | 2,   // cy
-            392 << 4 | 5,   // cy-gb
-            397 << 4 | 2,   // da
-            397 << 4 | 5,   // da-dk
-            402 << 4 | 5,   // da-gl
-            407 << 4 | 3,   // dav
-            407 << 4 | 6,   // dav-ke
-            413 << 4 | 2,   // de
-            413 << 4 | 5,   // de-at
-            418 << 4 | 5,   // de-be
-            423 << 4 | 5,   // de-ch
-            428 << 4 | 5,   // de-de
-            428 << 4 | 12,  // de-de_phoneb
-            440 << 4 | 5,   // de-it
-            445 << 4 | 5,   // de-li
-            450 << 4 | 5,   // de-lu
-            455 << 4 | 3,   // dje
-            455 << 4 | 6,   // dje-ne
-            461 << 4 | 3,   // dsb
-            461 << 4 | 6,   // dsb-de
-            467 << 4 | 3,   // dua
-            467 << 4 | 6,   // dua-cm
-            473 << 4 | 2,   // dv
-            473 << 4 | 5,   // dv-mv
-            478 << 4 | 3,   // dyo
-            478 << 4 | 6,   // dyo-sn
-            484 << 4 | 2,   // dz
-            484 << 4 | 5,   // dz-bt
-            489 << 4 | 3,   // ebu
-            489 << 4 | 6,   // ebu-ke
-            495 << 4 | 2,   // ee
-            495 << 4 | 5,   // ee-gh
-            500 << 4 | 5,   // ee-tg
-            505 << 4 | 2,   // el
-            505 << 4 | 5,   // el-cy
-            510 << 4 | 5,   // el-gr
-            515 << 4 | 2,   // en
-            515 << 4 | 6,   // en-001
-            521 << 4 | 6,   // en-029
-            527 << 4 | 6,   // en-150
-            533 << 4 | 5,   // en-ag
-            538 << 4 | 5,   // en-ai
-            543 << 4 | 5,   // en-as
-            548 << 4 | 5,   // en-at
-            553 << 4 | 5,   // en-au
-            558 << 4 | 5,   // en-bb
-            563 << 4 | 5,   // en-be
-            568 << 4 | 5,   // en-bi
-            573 << 4 | 5,   // en-bm
-            578 << 4 | 5,   // en-bs
-            583 << 4 | 5,   // en-bw
-            588 << 4 | 5,   // en-bz
-            593 << 4 | 5,   // en-ca
-            598 << 4 | 5,   // en-cc
-            603 << 4 | 5,   // en-ch
-            608 << 4 | 5,   // en-ck
-            613 << 4 | 5,   // en-cm
-            618 << 4 | 5,   // en-cx
-            623 << 4 | 5,   // en-cy
-            628 << 4 | 5,   // en-de
-            633 << 4 | 5,   // en-dk
-            638 << 4 | 5,   // en-dm
-            643 << 4 | 5,   // en-er
-            648 << 4 | 5,   // en-fi
-            653 << 4 | 5,   // en-fj
-            658 << 4 | 5,   // en-fk
-            663 << 4 | 5,   // en-fm
-            668 << 4 | 5,   // en-gb
-            673 << 4 | 5,   // en-gd
-            678 << 4 | 5,   // en-gg
-            683 << 4 | 5,   // en-gh
-            688 << 4 | 5,   // en-gi
-            693 << 4 | 5,   // en-gm
-            698 << 4 | 5,   // en-gu
-            703 << 4 | 5,   // en-gy
-            708 << 4 | 5,   // en-hk
-            713 << 4 | 5,   // en-id
-            718 << 4 | 5,   // en-ie
-            723 << 4 | 5,   // en-il
-            728 << 4 | 5,   // en-im
-            733 << 4 | 5,   // en-in
-            738 << 4 | 5,   // en-io
-            743 << 4 | 5,   // en-je
-            748 << 4 | 5,   // en-jm
-            753 << 4 | 5,   // en-ke
-            758 << 4 | 5,   // en-ki
-            763 << 4 | 5,   // en-kn
-            768 << 4 | 5,   // en-ky
-            773 << 4 | 5,   // en-lc
-            778 << 4 | 5,   // en-lr
-            783 << 4 | 5,   // en-ls
-            788 << 4 | 5,   // en-mg
-            793 << 4 | 5,   // en-mh
-            798 << 4 | 5,   // en-mo
-            803 << 4 | 5,   // en-mp
-            808 << 4 | 5,   // en-ms
-            813 << 4 | 5,   // en-mt
-            818 << 4 | 5,   // en-mu
-            823 << 4 | 5,   // en-mw
-            828 << 4 | 5,   // en-my
-            833 << 4 | 5,   // en-na
-            838 << 4 | 5,   // en-nf
-            843 << 4 | 5,   // en-ng
-            848 << 4 | 5,   // en-nl
-            853 << 4 | 5,   // en-nr
-            858 << 4 | 5,   // en-nu
-            863 << 4 | 5,   // en-nz
-            868 << 4 | 5,   // en-pg
-            873 << 4 | 5,   // en-ph
-            878 << 4 | 5,   // en-pk
-            883 << 4 | 5,   // en-pn
-            888 << 4 | 5,   // en-pr
-            893 << 4 | 5,   // en-pw
-            898 << 4 | 5,   // en-rw
-            903 << 4 | 5,   // en-sb
-            908 << 4 | 5,   // en-sc
-            913 << 4 | 5,   // en-sd
-            918 << 4 | 5,   // en-se
-            923 << 4 | 5,   // en-sg
-            928 << 4 | 5,   // en-sh
-            933 << 4 | 5,   // en-si
-            938 << 4 | 5,   // en-sl
-            943 << 4 | 5,   // en-ss
-            948 << 4 | 5,   // en-sx
-            953 << 4 | 5,   // en-sz
-            958 << 4 | 5,   // en-tc
-            963 << 4 | 5,   // en-tk
-            968 << 4 | 5,   // en-to
-            973 << 4 | 5,   // en-tt
-            978 << 4 | 5,   // en-tv
-            983 << 4 | 5,   // en-tz
-            988 << 4 | 5,   // en-ug
-            993 << 4 | 5,   // en-um
-            998 << 4 | 5,   // en-us
-            1003 << 4 | 5,  // en-vc
-            1008 << 4 | 5,  // en-vg
-            1013 << 4 | 5,  // en-vi
-            1018 << 4 | 5,  // en-vu
-            1023 << 4 | 5,  // en-ws
-            1028 << 4 | 5,  // en-za
-            1033 << 4 | 5,  // en-zm
-            1038 << 4 | 5,  // en-zw
-            1043 << 4 | 2,  // eo
-            1043 << 4 | 6,  // eo-001
-            1049 << 4 | 2,  // es
-            1049 << 4 | 6,  // es-419
-            1055 << 4 | 5,  // es-ar
-            1060 << 4 | 5,  // es-bo
-            1065 << 4 | 5,  // es-br
-            1070 << 4 | 5,  // es-cl
-            1075 << 4 | 5,  // es-co
-            1080 << 4 | 5,  // es-cr
-            1085 << 4 | 5,  // es-cu
-            1090 << 4 | 5,  // es-do
-            1095 << 4 | 5,  // es-ec
-            1100 << 4 | 5,  // es-es
-            1100 << 4 | 12, // es-es_tradnl
-            1112 << 4 | 5,  // es-gq
-            1117 << 4 | 5,  // es-gt
-            1122 << 4 | 5,  // es-hn
-            1127 << 4 | 5,  // es-mx
-            1132 << 4 | 5,  // es-ni
-            1137 << 4 | 5,  // es-pa
-            1142 << 4 | 5,  // es-pe
-            1147 << 4 | 5,  // es-ph
-            1152 << 4 | 5,  // es-pr
-            1157 << 4 | 5,  // es-py
-            1162 << 4 | 5,  // es-sv
-            1167 << 4 | 5,  // es-us
-            1172 << 4 | 5,  // es-uy
-            1177 << 4 | 5,  // es-ve
-            1182 << 4 | 2,  // et
-            1182 << 4 | 5,  // et-ee
-            1187 << 4 | 2,  // eu
-            1187 << 4 | 5,  // eu-es
-            1192 << 4 | 3,  // ewo
-            1192 << 4 | 6,  // ewo-cm
-            1198 << 4 | 2,  // fa
-            1198 << 4 | 5,  // fa-ir
-            1203 << 4 | 2,  // ff
-            1203 << 4 | 5,  // ff-cm
-            1208 << 4 | 5,  // ff-gn
-            1213 << 4 | 7,  // ff-latn
-            1213 << 4 | 10, // ff-latn-sn
-            1223 << 4 | 5,  // ff-mr
-            1228 << 4 | 5,  // ff-ng
-            1233 << 4 | 2,  // fi
-            1233 << 4 | 5,  // fi-fi
-            1238 << 4 | 3,  // fil
-            1238 << 4 | 6,  // fil-ph
-            1244 << 4 | 2,  // fo
-            1244 << 4 | 5,  // fo-dk
-            1249 << 4 | 5,  // fo-fo
-            1254 << 4 | 2,  // fr
-            1254 << 4 | 6,  // fr-029
-            1260 << 4 | 5,  // fr-be
-            1265 << 4 | 5,  // fr-bf
-            1270 << 4 | 5,  // fr-bi
-            1275 << 4 | 5,  // fr-bj
-            1280 << 4 | 5,  // fr-bl
-            1285 << 4 | 5,  // fr-ca
-            1290 << 4 | 5,  // fr-cd
-            1295 << 4 | 5,  // fr-cf
-            1300 << 4 | 5,  // fr-cg
-            1305 << 4 | 5,  // fr-ch
-            1310 << 4 | 5,  // fr-ci
-            1315 << 4 | 5,  // fr-cm
-            1320 << 4 | 5,  // fr-dj
-            1325 << 4 | 5,  // fr-dz
-            1330 << 4 | 5,  // fr-fr
-            1335 << 4 | 5,  // fr-ga
-            1340 << 4 | 5,  // fr-gf
-            1345 << 4 | 5,  // fr-gn
-            1350 << 4 | 5,  // fr-gp
-            1355 << 4 | 5,  // fr-gq
-            1360 << 4 | 5,  // fr-ht
-            1365 << 4 | 5,  // fr-km
-            1370 << 4 | 5,  // fr-lu
-            1375 << 4 | 5,  // fr-ma
-            1380 << 4 | 5,  // fr-mc
-            1385 << 4 | 5,  // fr-mf
-            1390 << 4 | 5,  // fr-mg
-            1395 << 4 | 5,  // fr-ml
-            1400 << 4 | 5,  // fr-mq
-            1405 << 4 | 5,  // fr-mr
-            1410 << 4 | 5,  // fr-mu
-            1415 << 4 | 5,  // fr-nc
-            1420 << 4 | 5,  // fr-ne
-            1425 << 4 | 5,  // fr-pf
-            1430 << 4 | 5,  // fr-pm
-            1435 << 4 | 5,  // fr-re
-            1440 << 4 | 5,  // fr-rw
-            1445 << 4 | 5,  // fr-sc
-            1450 << 4 | 5,  // fr-sn
-            1455 << 4 | 5,  // fr-sy
-            1460 << 4 | 5,  // fr-td
-            1465 << 4 | 5,  // fr-tg
-            1470 << 4 | 5,  // fr-tn
-            1475 << 4 | 5,  // fr-vu
-            1480 << 4 | 5,  // fr-wf
-            1485 << 4 | 5,  // fr-yt
-            1490 << 4 | 3,  // fur
-            1490 << 4 | 6,  // fur-it
-            1496 << 4 | 2,  // fy
-            1496 << 4 | 5,  // fy-nl
-            1501 << 4 | 2,  // ga
-            1501 << 4 | 5,  // ga-ie
-            1506 << 4 | 2,  // gd
-            1506 << 4 | 5,  // gd-gb
-            1511 << 4 | 2,  // gl
-            1511 << 4 | 5,  // gl-es
-            1516 << 4 | 2,  // gn
-            1516 << 4 | 5,  // gn-py
-            1521 << 4 | 3,  // gsw
-            1521 << 4 | 6,  // gsw-ch
-            1527 << 4 | 6,  // gsw-fr
-            1533 << 4 | 6,  // gsw-li
-            1539 << 4 | 2,  // gu
-            1539 << 4 | 5,  // gu-in
-            1544 << 4 | 3,  // guz
-            1544 << 4 | 6,  // guz-ke
-            1550 << 4 | 2,  // gv
-            1550 << 4 | 5,  // gv-im
-            1555 << 4 | 2,  // ha
-            1555 << 4 | 7,  // ha-latn
-            1555 << 4 | 10, // ha-latn-gh
-            1565 << 4 | 10, // ha-latn-ne
-            1575 << 4 | 10, // ha-latn-ng
-            1585 << 4 | 3,  // haw
-            1585 << 4 | 6,  // haw-us
-            1591 << 4 | 2,  // he
-            1591 << 4 | 5,  // he-il
-            1596 << 4 | 2,  // hi
-            1596 << 4 | 5,  // hi-in
-            1601 << 4 | 2,  // hr
-            1601 << 4 | 5,  // hr-ba
-            1606 << 4 | 5,  // hr-hr
-            1611 << 4 | 3,  // hsb
-            1611 << 4 | 6,  // hsb-de
-            1617 << 4 | 2,  // hu
-            1617 << 4 | 5,  // hu-hu
-            1617 << 4 | 12, // hu-hu_technl
-            1629 << 4 | 2,  // hy
-            1629 << 4 | 5,  // hy-am
-            1634 << 4 | 2,  // ia
-            1634 << 4 | 6,  // ia-001
-            1640 << 4 | 5,  // ia-fr
-            1645 << 4 | 3,  // ibb
-            1645 << 4 | 6,  // ibb-ng
-            1651 << 4 | 2,  // id
-            1651 << 4 | 5,  // id-id
-            1656 << 4 | 2,  // ig
-            1656 << 4 | 5,  // ig-ng
-            1661 << 4 | 2,  // ii
-            1661 << 4 | 5,  // ii-cn
-            1666 << 4 | 2,  // is
-            1666 << 4 | 5,  // is-is
-            1671 << 4 | 2,  // it
-            1671 << 4 | 5,  // it-ch
-            1676 << 4 | 5,  // it-it
-            1681 << 4 | 5,  // it-sm
-            1686 << 4 | 2,  // iu
-            1686 << 4 | 7,  // iu-cans
-            1686 << 4 | 10, // iu-cans-ca
-            1696 << 4 | 7,  // iu-latn
-            1696 << 4 | 10, // iu-latn-ca
-            1706 << 4 | 2,  // ja
-            1706 << 4 | 5,  // ja-jp
-            1706 << 4 | 12, // ja-jp_radstr
-            1718 << 4 | 3,  // jgo
-            1718 << 4 | 6,  // jgo-cm
-            1724 << 4 | 3,  // jmc
-            1724 << 4 | 6,  // jmc-tz
-            1730 << 4 | 2,  // jv
-            1730 << 4 | 7,  // jv-java
-            1730 << 4 | 10, // jv-java-id
-            1740 << 4 | 7,  // jv-latn
-            1740 << 4 | 10, // jv-latn-id
-            1750 << 4 | 2,  // ka
-            1750 << 4 | 5,  // ka-ge
-            1750 << 4 | 12, // ka-ge_modern
-            1762 << 4 | 3,  // kab
-            1762 << 4 | 6,  // kab-dz
-            1768 << 4 | 3,  // kam
-            1768 << 4 | 6,  // kam-ke
-            1774 << 4 | 3,  // kde
-            1774 << 4 | 6,  // kde-tz
-            1780 << 4 | 3,  // kea
-            1780 << 4 | 6,  // kea-cv
-            1786 << 4 | 3,  // khq
-            1786 << 4 | 6,  // khq-ml
-            1792 << 4 | 2,  // ki
-            1792 << 4 | 5,  // ki-ke
-            1797 << 4 | 2,  // kk
-            1797 << 4 | 5,  // kk-kz
-            1802 << 4 | 3,  // kkj
-            1802 << 4 | 6,  // kkj-cm
-            1808 << 4 | 2,  // kl
-            1808 << 4 | 5,  // kl-gl
-            1813 << 4 | 3,  // kln
-            1813 << 4 | 6,  // kln-ke
-            1819 << 4 | 2,  // km
-            1819 << 4 | 5,  // km-kh
-            1824 << 4 | 2,  // kn
-            1824 << 4 | 5,  // kn-in
-            1829 << 4 | 2,  // ko
-            1829 << 4 | 5,  // ko-kp
-            1834 << 4 | 5,  // ko-kr
-            1839 << 4 | 3,  // kok
-            1839 << 4 | 6,  // kok-in
-            1845 << 4 | 2,  // kr
-            1845 << 4 | 5,  // kr-ng
-            1850 << 4 | 2,  // ks
-            1850 << 4 | 7,  // ks-arab
-            1850 << 4 | 10, // ks-arab-in
-            1860 << 4 | 7,  // ks-deva
-            1860 << 4 | 10, // ks-deva-in
-            1870 << 4 | 3,  // ksb
-            1870 << 4 | 6,  // ksb-tz
-            1876 << 4 | 3,  // ksf
-            1876 << 4 | 6,  // ksf-cm
-            1882 << 4 | 3,  // ksh
-            1882 << 4 | 6,  // ksh-de
-            1888 << 4 | 2,  // ku
-            1888 << 4 | 7,  // ku-arab
-            1888 << 4 | 10, // ku-arab-iq
-            1898 << 4 | 10, // ku-arab-ir
-            1908 << 4 | 2,  // kw
-            1908 << 4 | 5,  // kw-gb
-            1913 << 4 | 2,  // ky
-            1913 << 4 | 5,  // ky-kg
-            1918 << 4 | 2,  // la
-            1918 << 4 | 6,  // la-001
-            1924 << 4 | 3,  // lag
-            1924 << 4 | 6,  // lag-tz
-            1930 << 4 | 2,  // lb
-            1930 << 4 | 5,  // lb-lu
-            1935 << 4 | 2,  // lg
-            1935 << 4 | 5,  // lg-ug
-            1940 << 4 | 3,  // lkt
-            1940 << 4 | 6,  // lkt-us
-            1946 << 4 | 2,  // ln
-            1946 << 4 | 5,  // ln-ao
-            1951 << 4 | 5,  // ln-cd
-            1956 << 4 | 5,  // ln-cf
-            1961 << 4 | 5,  // ln-cg
-            1966 << 4 | 2,  // lo
-            1966 << 4 | 5,  // lo-la
-            1971 << 4 | 3,  // lrc
-            1971 << 4 | 6,  // lrc-iq
-            1977 << 4 | 6,  // lrc-ir
-            1983 << 4 | 2,  // lt
-            1983 << 4 | 5,  // lt-lt
-            1988 << 4 | 2,  // lu
-            1988 << 4 | 5,  // lu-cd
-            1993 << 4 | 3,  // luo
-            1993 << 4 | 6,  // luo-ke
-            1999 << 4 | 3,  // luy
-            1999 << 4 | 6,  // luy-ke
-            2005 << 4 | 2,  // lv
-            2005 << 4 | 5,  // lv-lv
-            2010 << 4 | 3,  // mas
-            2010 << 4 | 6,  // mas-ke
-            2016 << 4 | 6,  // mas-tz
-            2022 << 4 | 3,  // mer
-            2022 << 4 | 6,  // mer-ke
-            2028 << 4 | 3,  // mfe
-            2028 << 4 | 6,  // mfe-mu
-            2034 << 4 | 2,  // mg
-            2034 << 4 | 5,  // mg-mg
-            2039 << 4 | 3,  // mgh
-            2039 << 4 | 6,  // mgh-mz
-            2045 << 4 | 3,  // mgo
-            2045 << 4 | 6,  // mgo-cm
-            2051 << 4 | 2,  // mi
-            2051 << 4 | 5,  // mi-nz
-            2056 << 4 | 2,  // mk
-            2056 << 4 | 5,  // mk-mk
-            2061 << 4 | 2,  // ml
-            2061 << 4 | 5,  // ml-in
-            2066 << 4 | 2,  // mn
-            2066 << 4 | 7,  // mn-cyrl
-            2073 << 4 | 5,  // mn-mn
-            2078 << 4 | 7,  // mn-mong
-            2078 << 4 | 10, // mn-mong-cn
-            2088 << 4 | 10, // mn-mong-mn
-            2098 << 4 | 3,  // mni
-            2098 << 4 | 6,  // mni-in
-            2104 << 4 | 3,  // moh
-            2104 << 4 | 6,  // moh-ca
-            2110 << 4 | 2,  // mr
-            2110 << 4 | 5,  // mr-in
-            2115 << 4 | 2,  // ms
-            2115 << 4 | 5,  // ms-bn
-            2120 << 4 | 5,  // ms-my
-            2125 << 4 | 5,  // ms-sg
-            2130 << 4 | 2,  // mt
-            2130 << 4 | 5,  // mt-mt
-            2135 << 4 | 3,  // mua
-            2135 << 4 | 6,  // mua-cm
-            2141 << 4 | 2,  // my
-            2141 << 4 | 5,  // my-mm
-            2146 << 4 | 3,  // mzn
-            2146 << 4 | 6,  // mzn-ir
-            2152 << 4 | 3,  // naq
-            2152 << 4 | 6,  // naq-na
-            2158 << 4 | 2,  // nb
-            2158 << 4 | 5,  // nb-no
-            2163 << 4 | 5,  // nb-sj
-            2168 << 4 | 2,  // nd
-            2168 << 4 | 5,  // nd-zw
-            2173 << 4 | 3,  // nds
-            2173 << 4 | 6,  // nds-de
-            2179 << 4 | 6,  // nds-nl
-            2185 << 4 | 2,  // ne
-            2185 << 4 | 5,  // ne-in
-            2190 << 4 | 5,  // ne-np
-            2195 << 4 | 2,  // nl
-            2195 << 4 | 5,  // nl-aw
-            2200 << 4 | 5,  // nl-be
-            2205 << 4 | 5,  // nl-bq
-            2210 << 4 | 5,  // nl-cw
-            2215 << 4 | 5,  // nl-nl
-            2220 << 4 | 5,  // nl-sr
-            2225 << 4 | 5,  // nl-sx
-            2230 << 4 | 3,  // nmg
-            2230 << 4 | 6,  // nmg-cm
-            2236 << 4 | 2,  // nn
-            2236 << 4 | 5,  // nn-no
-            2241 << 4 | 3,  // nnh
-            2241 << 4 | 6,  // nnh-cm
-            2247 << 4 | 2,  // no
-            2249 << 4 | 3,  // nqo
-            2249 << 4 | 6,  // nqo-gn
-            2255 << 4 | 2,  // nr
-            2255 << 4 | 5,  // nr-za
-            2260 << 4 | 3,  // nso
-            2260 << 4 | 6,  // nso-za
-            2266 << 4 | 3,  // nus
-            2266 << 4 | 6,  // nus-ss
-            2272 << 4 | 3,  // nyn
-            2272 << 4 | 6,  // nyn-ug
-            2278 << 4 | 2,  // oc
-            2278 << 4 | 5,  // oc-fr
-            2283 << 4 | 2,  // om
-            2283 << 4 | 5,  // om-et
-            2288 << 4 | 5,  // om-ke
-            2293 << 4 | 2,  // or
-            2293 << 4 | 5,  // or-in
-            2298 << 4 | 2,  // os
-            2298 << 4 | 5,  // os-ge
-            2303 << 4 | 5,  // os-ru
-            2308 << 4 | 2,  // pa
-            2308 << 4 | 7,  // pa-arab
-            2308 << 4 | 10, // pa-arab-pk
-            2318 << 4 | 5,  // pa-in
-            2323 << 4 | 3,  // pap
-            2323 << 4 | 7,  // pap-029
-            2330 << 4 | 2,  // pl
-            2330 << 4 | 5,  // pl-pl
-            2335 << 4 | 3,  // prg
-            2335 << 4 | 7,  // prg-001
-            2342 << 4 | 3,  // prs
-            2342 << 4 | 6,  // prs-af
-            2348 << 4 | 2,  // ps
-            2348 << 4 | 5,  // ps-af
-            2353 << 4 | 2,  // pt
-            2353 << 4 | 5,  // pt-ao
-            2358 << 4 | 5,  // pt-br
-            2363 << 4 | 5,  // pt-ch
-            2368 << 4 | 5,  // pt-cv
-            2373 << 4 | 5,  // pt-gq
-            2378 << 4 | 5,  // pt-gw
-            2383 << 4 | 5,  // pt-lu
-            2388 << 4 | 5,  // pt-mo
-            2393 << 4 | 5,  // pt-mz
-            2398 << 4 | 5,  // pt-pt
-            2403 << 4 | 5,  // pt-st
-            2408 << 4 | 5,  // pt-tl
-            2413 << 4 | 13, // qps-latn-x-sh
-            2426 << 4 | 8,  // qps-ploc
-            2426 << 4 | 9,  // qps-ploca
-            2435 << 4 | 9,  // qps-plocm
-            2444 << 4 | 3,  // quc
-            2444 << 4 | 8,  // quc-latn
-            2444 << 4 | 11, // quc-latn-gt
-            2455 << 4 | 3,  // quz
-            2455 << 4 | 6,  // quz-bo
-            2461 << 4 | 6,  // quz-ec
-            2467 << 4 | 6,  // quz-pe
-            2473 << 4 | 2,  // rm
-            2473 << 4 | 5,  // rm-ch
-            2478 << 4 | 2,  // rn
-            2478 << 4 | 5,  // rn-bi
-            2483 << 4 | 2,  // ro
-            2483 << 4 | 5,  // ro-md
-            2488 << 4 | 5,  // ro-ro
-            2493 << 4 | 3,  // rof
-            2493 << 4 | 6,  // rof-tz
-            2499 << 4 | 2,  // ru
-            2499 << 4 | 5,  // ru-by
-            2504 << 4 | 5,  // ru-kg
-            2509 << 4 | 5,  // ru-kz
-            2514 << 4 | 5,  // ru-md
-            2519 << 4 | 5,  // ru-ru
-            2524 << 4 | 5,  // ru-ua
-            2529 << 4 | 2,  // rw
-            2529 << 4 | 5,  // rw-rw
-            2534 << 4 | 3,  // rwk
-            2534 << 4 | 6,  // rwk-tz
-            2540 << 4 | 2,  // sa
-            2540 << 4 | 5,  // sa-in
-            2545 << 4 | 3,  // sah
-            2545 << 4 | 6,  // sah-ru
-            2551 << 4 | 3,  // saq
-            2551 << 4 | 6,  // saq-ke
-            2557 << 4 | 3,  // sbp
-            2557 << 4 | 6,  // sbp-tz
-            2563 << 4 | 2,  // sd
-            2563 << 4 | 7,  // sd-arab
-            2563 << 4 | 10, // sd-arab-pk
-            2573 << 4 | 7,  // sd-deva
-            2573 << 4 | 10, // sd-deva-in
-            2583 << 4 | 2,  // se
-            2583 << 4 | 5,  // se-fi
-            2588 << 4 | 5,  // se-no
-            2593 << 4 | 5,  // se-se
-            2598 << 4 | 3,  // seh
-            2598 << 4 | 6,  // seh-mz
-            2604 << 4 | 3,  // ses
-            2604 << 4 | 6,  // ses-ml
-            2610 << 4 | 2,  // sg
-            2610 << 4 | 5,  // sg-cf
-            2615 << 4 | 3,  // shi
-            2615 << 4 | 8,  // shi-latn
-            2615 << 4 | 11, // shi-latn-ma
-            2626 << 4 | 8,  // shi-tfng
-            2626 << 4 | 11, // shi-tfng-ma
-            2637 << 4 | 2,  // si
-            2637 << 4 | 5,  // si-lk
-            2642 << 4 | 2,  // sk
-            2642 << 4 | 5,  // sk-sk
-            2647 << 4 | 2,  // sl
-            2647 << 4 | 5,  // sl-si
-            2652 << 4 | 3,  // sma
-            2652 << 4 | 6,  // sma-no
-            2658 << 4 | 6,  // sma-se
-            2664 << 4 | 3,  // smj
-            2664 << 4 | 6,  // smj-no
-            2670 << 4 | 6,  // smj-se
-            2676 << 4 | 3,  // smn
-            2676 << 4 | 6,  // smn-fi
-            2682 << 4 | 3,  // sms
-            2682 << 4 | 6,  // sms-fi
-            2688 << 4 | 2,  // sn
-            2688 << 4 | 7,  // sn-latn
-            2688 << 4 | 10, // sn-latn-zw
-            2698 << 4 | 2,  // so
-            2698 << 4 | 5,  // so-dj
-            2703 << 4 | 5,  // so-et
-            2708 << 4 | 5,  // so-ke
-            2713 << 4 | 5,  // so-so
-            2718 << 4 | 2,  // sq
-            2718 << 4 | 5,  // sq-al
-            2723 << 4 | 5,  // sq-mk
-            2728 << 4 | 5,  // sq-xk
-            2733 << 4 | 2,  // sr
-            2733 << 4 | 7,  // sr-cyrl
-            2733 << 4 | 10, // sr-cyrl-ba
-            2743 << 4 | 10, // sr-cyrl-cs
-            2753 << 4 | 10, // sr-cyrl-me
-            2763 << 4 | 10, // sr-cyrl-rs
-            2773 << 4 | 10, // sr-cyrl-xk
-            2783 << 4 | 7,  // sr-latn
-            2783 << 4 | 10, // sr-latn-ba
-            2793 << 4 | 10, // sr-latn-cs
-            2803 << 4 | 10, // sr-latn-me
-            2813 << 4 | 10, // sr-latn-rs
-            2823 << 4 | 10, // sr-latn-xk
-            2833 << 4 | 2,  // ss
-            2833 << 4 | 5,  // ss-sz
-            2838 << 4 | 5,  // ss-za
-            2843 << 4 | 3,  // ssy
-            2843 << 4 | 6,  // ssy-er
-            2849 << 4 | 2,  // st
-            2849 << 4 | 5,  // st-ls
-            2854 << 4 | 5,  // st-za
-            2859 << 4 | 2,  // sv
-            2859 << 4 | 5,  // sv-ax
-            2864 << 4 | 5,  // sv-fi
-            2869 << 4 | 5,  // sv-se
-            2874 << 4 | 2,  // sw
-            2874 << 4 | 5,  // sw-cd
-            2879 << 4 | 5,  // sw-ke
-            2884 << 4 | 5,  // sw-tz
-            2889 << 4 | 5,  // sw-ug
-            2894 << 4 | 3,  // swc
-            2894 << 4 | 6,  // swc-cd
-            2900 << 4 | 3,  // syr
-            2900 << 4 | 6,  // syr-sy
-            2906 << 4 | 2,  // ta
-            2906 << 4 | 5,  // ta-in
-            2911 << 4 | 5,  // ta-lk
-            2916 << 4 | 5,  // ta-my
-            2921 << 4 | 5,  // ta-sg
-            2926 << 4 | 2,  // te
-            2926 << 4 | 5,  // te-in
-            2931 << 4 | 3,  // teo
-            2931 << 4 | 6,  // teo-ke
-            2937 << 4 | 6,  // teo-ug
-            2943 << 4 | 2,  // tg
-            2943 << 4 | 7,  // tg-cyrl
-            2943 << 4 | 10, // tg-cyrl-tj
-            2953 << 4 | 2,  // th
-            2953 << 4 | 5,  // th-th
-            2958 << 4 | 2,  // ti
-            2958 << 4 | 5,  // ti-er
-            2963 << 4 | 5,  // ti-et
-            2968 << 4 | 3,  // tig
-            2968 << 4 | 6,  // tig-er
-            2974 << 4 | 2,  // tk
-            2974 << 4 | 5,  // tk-tm
-            2979 << 4 | 2,  // tn
-            2979 << 4 | 5,  // tn-bw
-            2984 << 4 | 5,  // tn-za
-            2989 << 4 | 2,  // to
-            2989 << 4 | 5,  // to-to
-            2994 << 4 | 2,  // tr
-            2994 << 4 | 5,  // tr-cy
-            2999 << 4 | 5,  // tr-tr
-            3004 << 4 | 2,  // ts
-            3004 << 4 | 5,  // ts-za
-            3009 << 4 | 2,  // tt
-            3009 << 4 | 5,  // tt-ru
-            3014 << 4 | 3,  // twq
-            3014 << 4 | 6,  // twq-ne
-            3020 << 4 | 3,  // tzm
-            3020 << 4 | 8,  // tzm-arab
-            3020 << 4 | 11, // tzm-arab-ma
-            3031 << 4 | 8,  // tzm-latn
-            3031 << 4 | 11, // tzm-latn-dz
-            3042 << 4 | 11, // tzm-latn-ma
-            3053 << 4 | 8,  // tzm-tfng
-            3053 << 4 | 11, // tzm-tfng-ma
-            3064 << 4 | 2,  // ug
-            3064 << 4 | 5,  // ug-cn
-            3069 << 4 | 2,  // uk
-            3069 << 4 | 5,  // uk-ua
-            3074 << 4 | 2,  // ur
-            3074 << 4 | 5,  // ur-in
-            3079 << 4 | 5,  // ur-pk
-            3084 << 4 | 2,  // uz
-            3084 << 4 | 7,  // uz-arab
-            3084 << 4 | 10, // uz-arab-af
-            3094 << 4 | 7,  // uz-cyrl
-            3094 << 4 | 10, // uz-cyrl-uz
-            3104 << 4 | 7,  // uz-latn
-            3104 << 4 | 10, // uz-latn-uz
-            3114 << 4 | 3,  // vai
-            3114 << 4 | 8,  // vai-latn
-            3114 << 4 | 11, // vai-latn-lr
-            3125 << 4 | 8,  // vai-vaii
-            3125 << 4 | 11, // vai-vaii-lr
-            3136 << 4 | 2,  // ve
-            3136 << 4 | 5,  // ve-za
-            3141 << 4 | 2,  // vi
-            3141 << 4 | 5,  // vi-vn
-            3146 << 4 | 2,  // vo
-            3146 << 4 | 6,  // vo-001
-            3152 << 4 | 3,  // vun
-            3152 << 4 | 6,  // vun-tz
-            3158 << 4 | 3,  // wae
-            3158 << 4 | 6,  // wae-ch
-            3164 << 4 | 3,  // wal
-            3164 << 4 | 6,  // wal-et
-            3170 << 4 | 2,  // wo
-            3170 << 4 | 5,  // wo-sn
-            3175 << 4 | 11, // x-iv_mathan
-            3186 << 4 | 2,  // xh
-            3186 << 4 | 5,  // xh-za
-            3191 << 4 | 3,  // xog
-            3191 << 4 | 6,  // xog-ug
-            3197 << 4 | 3,  // yav
-            3197 << 4 | 6,  // yav-cm
-            3203 << 4 | 2,  // yi
-            3203 << 4 | 6,  // yi-001
-            3209 << 4 | 2,  // yo
-            3209 << 4 | 5,  // yo-bj
-            3214 << 4 | 5,  // yo-ng
-            3219 << 4 | 3,  // yue
-            3219 << 4 | 6,  // yue-hk
-            3225 << 4 | 3,  // zgh
-            3225 << 4 | 8,  // zgh-tfng
-            3225 << 4 | 11, // zgh-tfng-ma
-            3236 << 4 | 2,  // zh
-            3236 << 4 | 6,  // zh-chs
-            3242 << 4 | 6,  // zh-cht
-            3248 << 4 | 5,  // zh-cn
-            3248 << 4 | 12, // zh-cn_phoneb
-            3260 << 4 | 12, // zh-cn_stroke
-            3272 << 4 | 7,  // zh-hans
-            3272 << 4 | 10, // zh-hans-hk
-            3282 << 4 | 10, // zh-hans-mo
-            3292 << 4 | 7,  // zh-hant
-            3299 << 4 | 5,  // zh-hk
-            3299 << 4 | 12, // zh-hk_radstr
-            3311 << 4 | 5,  // zh-mo
-            3311 << 4 | 12, // zh-mo_radstr
-            3323 << 4 | 12, // zh-mo_stroke
-            3335 << 4 | 5,  // zh-sg
-            3335 << 4 | 12, // zh-sg_phoneb
-            3347 << 4 | 12, // zh-sg_stroke
-            3359 << 4 | 5,  // zh-tw
-            3359 << 4 | 12, // zh-tw_pronun
-            3371 << 4 | 12, // zh-tw_radstr
-            3383 << 4 | 2,  // zu
-            3383 << 4 | 5,  // zu-za
+            0, 2,     // aa
+            0, 5,     // aa-dj
+            0, 85,    // aa-er
+            0, 165,   // aa-et
+            0, 242,   // af
+            0, 245,   // af-na
+            1, 69,    // af-za
+            1, 147,   // agq
+            1, 150,   // agq-cm
+            1, 242,   // ak
+            1, 245,   // ak-gh
+            2, 66,    // am
+            2, 69,    // am-et
+            2, 146,   // ar
+            2, 150,   // ar-001
+            2, 245,   // ar-ae
+            3, 69,    // ar-bh
+            3, 149,   // ar-dj
+            3, 229,   // ar-dz
+            4, 53,    // ar-eg
+            4, 133,   // ar-er
+            4, 213,   // ar-il
+            5, 37,    // ar-iq
+            5, 117,   // ar-jo
+            5, 197,   // ar-km
+            6, 21,    // ar-kw
+            6, 101,   // ar-lb
+            6, 181,   // ar-ly
+            7, 5,     // ar-ma
+            7, 85,    // ar-mr
+            7, 165,   // ar-om
+            7, 245,   // ar-ps
+            8, 69,    // ar-qa
+            8, 149,   // ar-sa
+            8, 229,   // ar-sd
+            9, 53,    // ar-so
+            9, 133,   // ar-ss
+            9, 213,   // ar-sy
+            10, 37,   // ar-td
+            10, 117,  // ar-tn
+            10, 197,  // ar-ye
+            11, 19,   // arn
+            11, 22,   // arn-cl
+            11, 114,  // as
+            11, 117,  // as-in
+            11, 195,  // asa
+            11, 198,  // asa-tz
+            12, 35,   // ast
+            12, 38,   // ast-es
+            12, 130,  // az
+            12, 135,  // az-cyrl
+            12, 138,  // az-cyrl-az
+            13, 39,   // az-latn
+            13, 42,   // az-latn-az
+            13, 194,  // ba
+            13, 197,  // ba-ru
+            14, 19,   // bas
+            14, 22,   // bas-cm
+            14, 114,  // be
+            14, 117,  // be-by
+            14, 195,  // bem
+            14, 198,  // bem-zm
+            15, 35,   // bez
+            15, 38,   // bez-tz
+            15, 130,  // bg
+            15, 133,  // bg-bg
+            15, 211,  // bin
+            15, 214,  // bin-ng
+            16, 50,   // bm
+            16, 55,   // bm-latn
+            16, 58,   // bm-latn-ml
+            16, 210,  // bn
+            16, 213,  // bn-bd
+            17, 37,   // bn-in
+            17, 114,  // bo
+            17, 117,  // bo-cn
+            17, 197,  // bo-in
+            18, 18,   // br
+            18, 21,   // br-fr
+            18, 99,   // brx
+            18, 102,  // brx-in
+            18, 194,  // bs
+            18, 199,  // bs-cyrl
+            18, 202,  // bs-cyrl-ba
+            19, 103,  // bs-latn
+            19, 106,  // bs-latn-ba
+            20, 3,    // byn
+            20, 6,    // byn-er
+            20, 98,   // ca
+            20, 101,  // ca-ad
+            20, 181,  // ca-es
+            20, 190,  // ca-es-valencia
+            21, 149,  // ca-fr
+            21, 229,  // ca-it
+            22, 50,   // ce
+            22, 53,   // ce-ru
+            22, 131,  // cgg
+            22, 134,  // cgg-ug
+            22, 227,  // chr
+            22, 232,  // chr-cher
+            22, 235,  // chr-cher-us
+            23, 146,  // co
+            23, 149,  // co-fr
+            23, 226,  // cs
+            23, 229,  // cs-cz
+            24, 50,   // cu
+            24, 53,   // cu-ru
+            24, 130,  // cy
+            24, 133,  // cy-gb
+            24, 210,  // da
+            24, 213,  // da-dk
+            25, 37,   // da-gl
+            25, 115,  // dav
+            25, 118,  // dav-ke
+            25, 210,  // de
+            25, 213,  // de-at
+            26, 37,   // de-be
+            26, 117,  // de-ch
+            26, 197,  // de-de
+            26, 204,  // de-de_phoneb
+            27, 133,  // de-it
+            27, 213,  // de-li
+            28, 37,   // de-lu
+            28, 115,  // dje
+            28, 118,  // dje-ne
+            28, 211,  // dsb
+            28, 214,  // dsb-de
+            29, 51,   // dua
+            29, 54,   // dua-cm
+            29, 146,  // dv
+            29, 149,  // dv-mv
+            29, 227,  // dyo
+            29, 230,  // dyo-sn
+            30, 66,   // dz
+            30, 69,   // dz-bt
+            30, 147,  // ebu
+            30, 150,  // ebu-ke
+            30, 242,  // ee
+            30, 245,  // ee-gh
+            31, 69,   // ee-tg
+            31, 146,  // el
+            31, 149,  // el-cy
+            31, 229,  // el-gr
+            32, 50,   // en
+            32, 54,   // en-001
+            32, 150,  // en-029
+            32, 246,  // en-150
+            33, 85,   // en-ag
+            33, 165,  // en-ai
+            33, 245,  // en-as
+            34, 69,   // en-at
+            34, 149,  // en-au
+            34, 229,  // en-bb
+            35, 53,   // en-be
+            35, 133,  // en-bi
+            35, 213,  // en-bm
+            36, 37,   // en-bs
+            36, 117,  // en-bw
+            36, 197,  // en-bz
+            37, 21,   // en-ca
+            37, 101,  // en-cc
+            37, 181,  // en-ch
+            38, 5,    // en-ck
+            38, 85,   // en-cm
+            38, 165,  // en-cx
+            38, 245,  // en-cy
+            39, 69,   // en-de
+            39, 149,  // en-dk
+            39, 229,  // en-dm
+            40, 53,   // en-er
+            40, 133,  // en-fi
+            40, 213,  // en-fj
+            41, 37,   // en-fk
+            41, 117,  // en-fm
+            41, 197,  // en-gb
+            42, 21,   // en-gd
+            42, 101,  // en-gg
+            42, 181,  // en-gh
+            43, 5,    // en-gi
+            43, 85,   // en-gm
+            43, 165,  // en-gu
+            43, 245,  // en-gy
+            44, 69,   // en-hk
+            44, 149,  // en-id
+            44, 229,  // en-ie
+            45, 53,   // en-il
+            45, 133,  // en-im
+            45, 213,  // en-in
+            46, 37,   // en-io
+            46, 117,  // en-je
+            46, 197,  // en-jm
+            47, 21,   // en-ke
+            47, 101,  // en-ki
+            47, 181,  // en-kn
+            48, 5,    // en-ky
+            48, 85,   // en-lc
+            48, 165,  // en-lr
+            48, 245,  // en-ls
+            49, 69,   // en-mg
+            49, 149,  // en-mh
+            49, 229,  // en-mo
+            50, 53,   // en-mp
+            50, 133,  // en-ms
+            50, 213,  // en-mt
+            51, 37,   // en-mu
+            51, 117,  // en-mw
+            51, 197,  // en-my
+            52, 21,   // en-na
+            52, 101,  // en-nf
+            52, 181,  // en-ng
+            53, 5,    // en-nl
+            53, 85,   // en-nr
+            53, 165,  // en-nu
+            53, 245,  // en-nz
+            54, 69,   // en-pg
+            54, 149,  // en-ph
+            54, 229,  // en-pk
+            55, 53,   // en-pn
+            55, 133,  // en-pr
+            55, 213,  // en-pw
+            56, 37,   // en-rw
+            56, 117,  // en-sb
+            56, 197,  // en-sc
+            57, 21,   // en-sd
+            57, 101,  // en-se
+            57, 181,  // en-sg
+            58, 5,    // en-sh
+            58, 85,   // en-si
+            58, 165,  // en-sl
+            58, 245,  // en-ss
+            59, 69,   // en-sx
+            59, 149,  // en-sz
+            59, 229,  // en-tc
+            60, 53,   // en-tk
+            60, 133,  // en-to
+            60, 213,  // en-tt
+            61, 37,   // en-tv
+            61, 117,  // en-tz
+            61, 197,  // en-ug
+            62, 21,   // en-um
+            62, 101,  // en-us
+            62, 181,  // en-vc
+            63, 5,    // en-vg
+            63, 85,   // en-vi
+            63, 165,  // en-vu
+            63, 245,  // en-ws
+            64, 69,   // en-za
+            64, 149,  // en-zm
+            64, 229,  // en-zw
+            65, 50,   // eo
+            65, 54,   // eo-001
+            65, 146,  // es
+            65, 150,  // es-419
+            65, 245,  // es-ar
+            66, 69,   // es-bo
+            66, 149,  // es-br
+            66, 229,  // es-cl
+            67, 53,   // es-co
+            67, 133,  // es-cr
+            67, 213,  // es-cu
+            68, 37,   // es-do
+            68, 117,  // es-ec
+            68, 197,  // es-es
+            68, 204,  // es-es_tradnl
+            69, 133,  // es-gq
+            69, 213,  // es-gt
+            70, 37,   // es-hn
+            70, 117,  // es-mx
+            70, 197,  // es-ni
+            71, 21,   // es-pa
+            71, 101,  // es-pe
+            71, 181,  // es-ph
+            72, 5,    // es-pr
+            72, 85,   // es-py
+            72, 165,  // es-sv
+            72, 245,  // es-us
+            73, 69,   // es-uy
+            73, 149,  // es-ve
+            73, 226,  // et
+            73, 229,  // et-ee
+            74, 50,   // eu
+            74, 53,   // eu-es
+            74, 131,  // ewo
+            74, 134,  // ewo-cm
+            74, 226,  // fa
+            74, 229,  // fa-ir
+            75, 50,   // ff
+            75, 53,   // ff-cm
+            75, 133,  // ff-gn
+            75, 215,  // ff-latn
+            75, 218,  // ff-latn-sn
+            76, 117,  // ff-mr
+            76, 197,  // ff-ng
+            77, 18,   // fi
+            77, 21,   // fi-fi
+            77, 99,   // fil
+            77, 102,  // fil-ph
+            77, 194,  // fo
+            77, 197,  // fo-dk
+            78, 21,   // fo-fo
+            78, 98,   // fr
+            78, 102,  // fr-029
+            78, 197,  // fr-be
+            79, 21,   // fr-bf
+            79, 101,  // fr-bi
+            79, 181,  // fr-bj
+            80, 5,    // fr-bl
+            80, 85,   // fr-ca
+            80, 165,  // fr-cd
+            80, 245,  // fr-cf
+            81, 69,   // fr-cg
+            81, 149,  // fr-ch
+            81, 229,  // fr-ci
+            82, 53,   // fr-cm
+            82, 133,  // fr-dj
+            82, 213,  // fr-dz
+            83, 37,   // fr-fr
+            83, 117,  // fr-ga
+            83, 197,  // fr-gf
+            84, 21,   // fr-gn
+            84, 101,  // fr-gp
+            84, 181,  // fr-gq
+            85, 5,    // fr-ht
+            85, 85,   // fr-km
+            85, 165,  // fr-lu
+            85, 245,  // fr-ma
+            86, 69,   // fr-mc
+            86, 149,  // fr-mf
+            86, 229,  // fr-mg
+            87, 53,   // fr-ml
+            87, 133,  // fr-mq
+            87, 213,  // fr-mr
+            88, 37,   // fr-mu
+            88, 117,  // fr-nc
+            88, 197,  // fr-ne
+            89, 21,   // fr-pf
+            89, 101,  // fr-pm
+            89, 181,  // fr-re
+            90, 5,    // fr-rw
+            90, 85,   // fr-sc
+            90, 165,  // fr-sn
+            90, 245,  // fr-sy
+            91, 69,   // fr-td
+            91, 149,  // fr-tg
+            91, 229,  // fr-tn
+            92, 53,   // fr-vu
+            92, 133,  // fr-wf
+            92, 213,  // fr-yt
+            93, 35,   // fur
+            93, 38,   // fur-it
+            93, 130,  // fy
+            93, 133,  // fy-nl
+            93, 210,  // ga
+            93, 213,  // ga-ie
+            94, 34,   // gd
+            94, 37,   // gd-gb
+            94, 114,  // gl
+            94, 117,  // gl-es
+            94, 194,  // gn
+            94, 197,  // gn-py
+            95, 19,   // gsw
+            95, 22,   // gsw-ch
+            95, 118,  // gsw-fr
+            95, 214,  // gsw-li
+            96, 50,   // gu
+            96, 53,   // gu-in
+            96, 131,  // guz
+            96, 134,  // guz-ke
+            96, 226,  // gv
+            96, 229,  // gv-im
+            97, 50,   // ha
+            97, 55,   // ha-latn
+            97, 58,   // ha-latn-gh
+            97, 218,  // ha-latn-ne
+            98, 122,  // ha-latn-ng
+            99, 19,   // haw
+            99, 22,   // haw-us
+            99, 114,  // he
+            99, 117,  // he-il
+            99, 194,  // hi
+            99, 197,  // hi-in
+            100, 18,  // hr
+            100, 21,  // hr-ba
+            100, 101, // hr-hr
+            100, 179, // hsb
+            100, 182, // hsb-de
+            101, 18,  // hu
+            101, 21,  // hu-hu
+            101, 28,  // hu-hu_technl
+            101, 210, // hy
+            101, 213, // hy-am
+            102, 34,  // ia
+            102, 38,  // ia-001
+            102, 133, // ia-fr
+            102, 211, // ibb
+            102, 214, // ibb-ng
+            103, 50,  // id
+            103, 53,  // id-id
+            103, 130, // ig
+            103, 133, // ig-ng
+            103, 210, // ii
+            103, 213, // ii-cn
+            104, 34,  // is
+            104, 37,  // is-is
+            104, 114, // it
+            104, 117, // it-ch
+            104, 197, // it-it
+            105, 21,  // it-sm
+            105, 98,  // iu
+            105, 103, // iu-cans
+            105, 106, // iu-cans-ca
+            106, 7,   // iu-latn
+            106, 10,  // iu-latn-ca
+            106, 162, // ja
+            106, 165, // ja-jp
+            106, 172, // ja-jp_radstr
+            107, 99,  // jgo
+            107, 102, // jgo-cm
+            107, 195, // jmc
+            107, 198, // jmc-tz
+            108, 34,  // jv
+            108, 39,  // jv-java
+            108, 42,  // jv-java-id
+            108, 199, // jv-latn
+            108, 202, // jv-latn-id
+            109, 98,  // ka
+            109, 101, // ka-ge
+            109, 108, // ka-ge_modern
+            110, 35,  // kab
+            110, 38,  // kab-dz
+            110, 131, // kam
+            110, 134, // kam-ke
+            110, 227, // kde
+            110, 230, // kde-tz
+            111, 67,  // kea
+            111, 70,  // kea-cv
+            111, 163, // khq
+            111, 166, // khq-ml
+            112, 2,   // ki
+            112, 5,   // ki-ke
+            112, 82,  // kk
+            112, 85,  // kk-kz
+            112, 163, // kkj
+            112, 166, // kkj-cm
+            113, 2,   // kl
+            113, 5,   // kl-gl
+            113, 83,  // kln
+            113, 86,  // kln-ke
+            113, 178, // km
+            113, 181, // km-kh
+            114, 2,   // kn
+            114, 5,   // kn-in
+            114, 82,  // ko
+            114, 85,  // ko-kp
+            114, 165, // ko-kr
+            114, 243, // kok
+            114, 246, // kok-in
+            115, 82,  // kr
+            115, 85,  // kr-ng
+            115, 162, // ks
+            115, 167, // ks-arab
+            115, 170, // ks-arab-in
+            116, 71,  // ks-deva
+            116, 74,  // ks-deva-in
+            116, 227, // ksb
+            116, 230, // ksb-tz
+            117, 67,  // ksf
+            117, 70,  // ksf-cm
+            117, 163, // ksh
+            117, 166, // ksh-de
+            118, 2,   // ku
+            118, 7,   // ku-arab
+            118, 10,  // ku-arab-iq
+            118, 170, // ku-arab-ir
+            119, 66,  // kw
+            119, 69,  // kw-gb
+            119, 146, // ky
+            119, 149, // ky-kg
+            119, 226, // la
+            119, 230, // la-001
+            120, 67,  // lag
+            120, 70,  // lag-tz
+            120, 162, // lb
+            120, 165, // lb-lu
+            120, 242, // lg
+            120, 245, // lg-ug
+            121, 67,  // lkt
+            121, 70,  // lkt-us
+            121, 162, // ln
+            121, 165, // ln-ao
+            121, 245, // ln-cd
+            122, 69,  // ln-cf
+            122, 149, // ln-cg
+            122, 226, // lo
+            122, 229, // lo-la
+            123, 51,  // lrc
+            123, 54,  // lrc-iq
+            123, 150, // lrc-ir
+            123, 242, // lt
+            123, 245, // lt-lt
+            124, 66,  // lu
+            124, 69,  // lu-cd
+            124, 147, // luo
+            124, 150, // luo-ke
+            124, 243, // luy
+            124, 246, // luy-ke
+            125, 82,  // lv
+            125, 85,  // lv-lv
+            125, 163, // mas
+            125, 166, // mas-ke
+            126, 6,   // mas-tz
+            126, 99,  // mer
+            126, 102, // mer-ke
+            126, 195, // mfe
+            126, 198, // mfe-mu
+            127, 34,  // mg
+            127, 37,  // mg-mg
+            127, 115, // mgh
+            127, 118, // mgh-mz
+            127, 211, // mgo
+            127, 214, // mgo-cm
+            128, 50,  // mi
+            128, 53,  // mi-nz
+            128, 130, // mk
+            128, 133, // mk-mk
+            128, 210, // ml
+            128, 213, // ml-in
+            129, 34,  // mn
+            129, 39,  // mn-cyrl
+            129, 149, // mn-mn
+            129, 231, // mn-mong
+            129, 234, // mn-mong-cn
+            130, 138, // mn-mong-mn
+            131, 35,  // mni
+            131, 38,  // mni-in
+            131, 131, // moh
+            131, 134, // moh-ca
+            131, 226, // mr
+            131, 229, // mr-in
+            132, 50,  // ms
+            132, 53,  // ms-bn
+            132, 133, // ms-my
+            132, 213, // ms-sg
+            133, 34,  // mt
+            133, 37,  // mt-mt
+            133, 115, // mua
+            133, 118, // mua-cm
+            133, 210, // my
+            133, 213, // my-mm
+            134, 35,  // mzn
+            134, 38,  // mzn-ir
+            134, 131, // naq
+            134, 134, // naq-na
+            134, 226, // nb
+            134, 229, // nb-no
+            135, 53,  // nb-sj
+            135, 130, // nd
+            135, 133, // nd-zw
+            135, 211, // nds
+            135, 214, // nds-de
+            136, 54,  // nds-nl
+            136, 146, // ne
+            136, 149, // ne-in
+            136, 229, // ne-np
+            137, 50,  // nl
+            137, 53,  // nl-aw
+            137, 133, // nl-be
+            137, 213, // nl-bq
+            138, 37,  // nl-cw
+            138, 117, // nl-nl
+            138, 197, // nl-sr
+            139, 21,  // nl-sx
+            139, 99,  // nmg
+            139, 102, // nmg-cm
+            139, 194, // nn
+            139, 197, // nn-no
+            140, 19,  // nnh
+            140, 22,  // nnh-cm
+            140, 114, // no
+            140, 147, // nqo
+            140, 150, // nqo-gn
+            140, 242, // nr
+            140, 245, // nr-za
+            141, 67,  // nso
+            141, 70,  // nso-za
+            141, 163, // nus
+            141, 166, // nus-ss
+            142, 3,   // nyn
+            142, 6,   // nyn-ug
+            142, 98,  // oc
+            142, 101, // oc-fr
+            142, 178, // om
+            142, 181, // om-et
+            143, 5,   // om-ke
+            143, 82,  // or
+            143, 85,  // or-in
+            143, 162, // os
+            143, 165, // os-ge
+            143, 245, // os-ru
+            144, 66,  // pa
+            144, 71,  // pa-arab
+            144, 74,  // pa-arab-pk
+            144, 229, // pa-in
+            145, 51,  // pap
+            145, 55,  // pap-029
+            145, 162, // pl
+            145, 165, // pl-pl
+            145, 243, // prg
+            145, 247, // prg-001
+            146, 99,  // prs
+            146, 102, // prs-af
+            146, 194, // ps
+            146, 197, // ps-af
+            147, 18,  // pt
+            147, 21,  // pt-ao
+            147, 101, // pt-br
+            147, 181, // pt-ch
+            148, 5,   // pt-cv
+            148, 85,  // pt-gq
+            148, 165, // pt-gw
+            148, 245, // pt-lu
+            149, 69,  // pt-mo
+            149, 149, // pt-mz
+            149, 229, // pt-pt
+            150, 53,  // pt-st
+            150, 133, // pt-tl
+            150, 221, // qps-latn-x-sh
+            151, 168, // qps-ploc
+            151, 169, // qps-ploca
+            152, 57,  // qps-plocm
+            152, 195, // quc
+            152, 200, // quc-latn
+            152, 203, // quc-latn-gt
+            153, 115, // quz
+            153, 118, // quz-bo
+            153, 214, // quz-ec
+            154, 54,  // quz-pe
+            154, 146, // rm
+            154, 149, // rm-ch
+            154, 226, // rn
+            154, 229, // rn-bi
+            155, 50,  // ro
+            155, 53,  // ro-md
+            155, 133, // ro-ro
+            155, 211, // rof
+            155, 214, // rof-tz
+            156, 50,  // ru
+            156, 53,  // ru-by
+            156, 133, // ru-kg
+            156, 213, // ru-kz
+            157, 37,  // ru-md
+            157, 117, // ru-ru
+            157, 197, // ru-ua
+            158, 18,  // rw
+            158, 21,  // rw-rw
+            158, 99,  // rwk
+            158, 102, // rwk-tz
+            158, 194, // sa
+            158, 197, // sa-in
+            159, 19,  // sah
+            159, 22,  // sah-ru
+            159, 115, // saq
+            159, 118, // saq-ke
+            159, 211, // sbp
+            159, 214, // sbp-tz
+            160, 50,  // sd
+            160, 55,  // sd-arab
+            160, 58,  // sd-arab-pk
+            160, 215, // sd-deva
+            160, 218, // sd-deva-in
+            161, 114, // se
+            161, 117, // se-fi
+            161, 197, // se-no
+            162, 21,  // se-se
+            162, 99,  // seh
+            162, 102, // seh-mz
+            162, 195, // ses
+            162, 198, // ses-ml
+            163, 34,  // sg
+            163, 37,  // sg-cf
+            163, 115, // shi
+            163, 120, // shi-latn
+            163, 123, // shi-latn-ma
+            164, 40,  // shi-tfng
+            164, 43,  // shi-tfng-ma
+            164, 210, // si
+            164, 213, // si-lk
+            165, 34,  // sk
+            165, 37,  // sk-sk
+            165, 114, // sl
+            165, 117, // sl-si
+            165, 195, // sma
+            165, 198, // sma-no
+            166, 38,  // sma-se
+            166, 131, // smj
+            166, 134, // smj-no
+            166, 230, // smj-se
+            167, 67,  // smn
+            167, 70,  // smn-fi
+            167, 163, // sms
+            167, 166, // sms-fi
+            168, 2,   // sn
+            168, 7,   // sn-latn
+            168, 10,  // sn-latn-zw
+            168, 162, // so
+            168, 165, // so-dj
+            168, 245, // so-et
+            169, 69,  // so-ke
+            169, 149, // so-so
+            169, 226, // sq
+            169, 229, // sq-al
+            170, 53,  // sq-mk
+            170, 133, // sq-xk
+            170, 210, // sr
+            170, 215, // sr-cyrl
+            170, 218, // sr-cyrl-ba
+            171, 122, // sr-cyrl-cs
+            172, 26,  // sr-cyrl-me
+            172, 186, // sr-cyrl-rs
+            173, 90,  // sr-cyrl-xk
+            173, 247, // sr-latn
+            173, 250, // sr-latn-ba
+            174, 154, // sr-latn-cs
+            175, 58,  // sr-latn-me
+            175, 218, // sr-latn-rs
+            176, 122, // sr-latn-xk
+            177, 18,  // ss
+            177, 21,  // ss-sz
+            177, 101, // ss-za
+            177, 179, // ssy
+            177, 182, // ssy-er
+            178, 18,  // st
+            178, 21,  // st-ls
+            178, 101, // st-za
+            178, 178, // sv
+            178, 181, // sv-ax
+            179, 5,   // sv-fi
+            179, 85,  // sv-se
+            179, 162, // sw
+            179, 165, // sw-cd
+            179, 245, // sw-ke
+            180, 69,  // sw-tz
+            180, 149, // sw-ug
+            180, 227, // swc
+            180, 230, // swc-cd
+            181, 67,  // syr
+            181, 70,  // syr-sy
+            181, 162, // ta
+            181, 165, // ta-in
+            181, 245, // ta-lk
+            182, 69,  // ta-my
+            182, 149, // ta-sg
+            182, 226, // te
+            182, 229, // te-in
+            183, 51,  // teo
+            183, 54,  // teo-ke
+            183, 150, // teo-ug
+            183, 242, // tg
+            183, 247, // tg-cyrl
+            183, 250, // tg-cyrl-tj
+            184, 146, // th
+            184, 149, // th-th
+            184, 226, // ti
+            184, 229, // ti-er
+            185, 53,  // ti-et
+            185, 131, // tig
+            185, 134, // tig-er
+            185, 226, // tk
+            185, 229, // tk-tm
+            186, 50,  // tn
+            186, 53,  // tn-bw
+            186, 133, // tn-za
+            186, 210, // to
+            186, 213, // to-to
+            187, 34,  // tr
+            187, 37,  // tr-cy
+            187, 117, // tr-tr
+            187, 194, // ts
+            187, 197, // ts-za
+            188, 18,  // tt
+            188, 21,  // tt-ru
+            188, 99,  // twq
+            188, 102, // twq-ne
+            188, 195, // tzm
+            188, 200, // tzm-arab
+            188, 203, // tzm-arab-ma
+            189, 120, // tzm-latn
+            189, 123, // tzm-latn-dz
+            190, 43,  // tzm-latn-ma
+            190, 216, // tzm-tfng
+            190, 219, // tzm-tfng-ma
+            191, 130, // ug
+            191, 133, // ug-cn
+            191, 210, // uk
+            191, 213, // uk-ua
+            192, 34,  // ur
+            192, 37,  // ur-in
+            192, 117, // ur-pk
+            192, 194, // uz
+            192, 199, // uz-arab
+            192, 202, // uz-arab-af
+            193, 103, // uz-cyrl
+            193, 106, // uz-cyrl-uz
+            194, 7,   // uz-latn
+            194, 10,  // uz-latn-uz
+            194, 163, // vai
+            194, 168, // vai-latn
+            194, 171, // vai-latn-lr
+            195, 88,  // vai-vaii
+            195, 91,  // vai-vaii-lr
+            196, 2,   // ve
+            196, 5,   // ve-za
+            196, 82,  // vi
+            196, 85,  // vi-vn
+            196, 162, // vo
+            196, 166, // vo-001
+            197, 3,   // vun
+            197, 6,   // vun-tz
+            197, 99,  // wae
+            197, 102, // wae-ch
+            197, 195, // wal
+            197, 198, // wal-et
+            198, 34,  // wo
+            198, 37,  // wo-sn
+            198, 123, // x-iv_mathan
+            199, 34,  // xh
+            199, 37,  // xh-za
+            199, 115, // xog
+            199, 118, // xog-ug
+            199, 211, // yav
+            199, 214, // yav-cm
+            200, 50,  // yi
+            200, 54,  // yi-001
+            200, 146, // yo
+            200, 149, // yo-bj
+            200, 229, // yo-ng
+            201, 51,  // yue
+            201, 54,  // yue-hk
+            201, 147, // zgh
+            201, 152, // zgh-tfng
+            201, 155, // zgh-tfng-ma
+            202, 66,  // zh
+            202, 70,  // zh-chs
+            202, 166, // zh-cht
+            203, 5,   // zh-cn
+            203, 12,  // zh-cn_phoneb
+            203, 204, // zh-cn_stroke
+            204, 135, // zh-hans
+            204, 138, // zh-hans-hk
+            205, 42,  // zh-hans-mo
+            205, 199, // zh-hant
+            206, 53,  // zh-hk
+            206, 60,  // zh-hk_radstr
+            206, 245, // zh-mo
+            206, 252, // zh-mo_radstr
+            207, 188, // zh-mo_stroke
+            208, 117, // zh-sg
+            208, 124, // zh-sg_phoneb
+            209, 60,  // zh-sg_stroke
+            209, 245, // zh-tw
+            209, 252, // zh-tw_pronun
+            210, 188, // zh-tw_radstr
+            211, 114, // zu
+            211, 117, // zu-za
         };
 
-        // c_threeLetterWindowsLanguageName is string containing 3-letter Windows language names
-        // every 3-characters entry is matching locale name entry in c_localeNames
+        private const int LocaleLongestName = 14;
+        private const int LcidCount = 448;
+
+        private static ReadOnlySpan<byte> LcidToCultureNameIndices => new byte[LcidCount * 4]
+        {
+            0x00, 0x01, 0x02, 0x92,  // ar
+            0x00, 0x02, 0x0f, 0x82,  // bg
+            0x00, 0x03, 0x14, 0x62,  // ca
+            0x00, 0x04, 0xca, 0x46,  // zh-chs
+            0x00, 0x05, 0x17, 0xe2,  // cs
+            0x00, 0x06, 0x18, 0xd2,  // da
+            0x00, 0x07, 0x19, 0xd2,  // de
+            0x00, 0x08, 0x1f, 0x92,  // el
+            0x00, 0x09, 0x20, 0x32,  // en
+            0x00, 0x0a, 0x41, 0x92,  // es
+            0x00, 0x0b, 0x4d, 0x12,  // fi
+            0x00, 0x0c, 0x4e, 0x62,  // fr
+            0x00, 0x0d, 0x63, 0x72,  // he
+            0x00, 0x0e, 0x65, 0x12,  // hu
+            0x00, 0x0f, 0x68, 0x22,  // is
+            0x00, 0x10, 0x68, 0x72,  // it
+            0x00, 0x11, 0x6a, 0xa2,  // ja
+            0x00, 0x12, 0x72, 0x52,  // ko
+            0x00, 0x13, 0x89, 0x32,  // nl
+            0x00, 0x14, 0x8c, 0x72,  // no
+            0x00, 0x15, 0x91, 0xa2,  // pl
+            0x00, 0x16, 0x93, 0x12,  // pt
+            0x00, 0x17, 0x9a, 0x92,  // rm
+            0x00, 0x18, 0x9b, 0x32,  // ro
+            0x00, 0x19, 0x9c, 0x32,  // ru
+            0x00, 0x1a, 0x64, 0x12,  // hr
+            0x00, 0x1b, 0xa5, 0x22,  // sk
+            0x00, 0x1c, 0xa9, 0xe2,  // sq
+            0x00, 0x1d, 0xb2, 0xb2,  // sv
+            0x00, 0x1e, 0xb8, 0x92,  // th
+            0x00, 0x1f, 0xbb, 0x22,  // tr
+            0x00, 0x20, 0xc0, 0x22,  // ur
+            0x00, 0x21, 0x67, 0x32,  // id
+            0x00, 0x22, 0xbf, 0xd2,  // uk
+            0x00, 0x23, 0x0e, 0x72,  // be
+            0x00, 0x24, 0xa5, 0x72,  // sl
+            0x00, 0x25, 0x49, 0xe2,  // et
+            0x00, 0x26, 0x7d, 0x52,  // lv
+            0x00, 0x27, 0x7b, 0xf2,  // lt
+            0x00, 0x28, 0xb7, 0xf2,  // tg
+            0x00, 0x29, 0x4a, 0xe2,  // fa
+            0x00, 0x2a, 0xc4, 0x52,  // vi
+            0x00, 0x2b, 0x65, 0xd2,  // hy
+            0x00, 0x2c, 0x0c, 0x82,  // az
+            0x00, 0x2d, 0x4a, 0x32,  // eu
+            0x00, 0x2e, 0x64, 0xb3,  // hsb
+            0x00, 0x2f, 0x80, 0x82,  // mk
+            0x00, 0x30, 0xb2, 0x12,  // st
+            0x00, 0x31, 0xbb, 0xc2,  // ts
+            0x00, 0x32, 0xba, 0x32,  // tn
+            0x00, 0x33, 0xc4, 0x02,  // ve
+            0x00, 0x34, 0xc7, 0x22,  // xh
+            0x00, 0x35, 0xd3, 0x72,  // zu
+            0x00, 0x36, 0x00, 0xf2,  // af
+            0x00, 0x37, 0x6d, 0x62,  // ka
+            0x00, 0x38, 0x4d, 0xc2,  // fo
+            0x00, 0x39, 0x63, 0xc2,  // hi
+            0x00, 0x3a, 0x85, 0x22,  // mt
+            0x00, 0x3b, 0xa1, 0x72,  // se
+            0x00, 0x3c, 0x5d, 0xd2,  // ga
+            0x00, 0x3d, 0xc8, 0x32,  // yi
+            0x00, 0x3e, 0x84, 0x32,  // ms
+            0x00, 0x3f, 0x70, 0x52,  // kk
+            0x00, 0x40, 0x77, 0x92,  // ky
+            0x00, 0x41, 0xb3, 0xa2,  // sw
+            0x00, 0x42, 0xb9, 0xe2,  // tk
+            0x00, 0x43, 0xc0, 0xc2,  // uz
+            0x00, 0x44, 0xbc, 0x12,  // tt
+            0x00, 0x45, 0x10, 0xd2,  // bn
+            0x00, 0x46, 0x90, 0x42,  // pa
+            0x00, 0x47, 0x60, 0x32,  // gu
+            0x00, 0x48, 0x8f, 0x52,  // or
+            0x00, 0x49, 0xb5, 0xa2,  // ta
+            0x00, 0x4a, 0xb6, 0xe2,  // te
+            0x00, 0x4b, 0x72, 0x02,  // kn
+            0x00, 0x4c, 0x80, 0xd2,  // ml
+            0x00, 0x4d, 0x0b, 0x72,  // as
+            0x00, 0x4e, 0x83, 0xe2,  // mr
+            0x00, 0x4f, 0x9e, 0xc2,  // sa
+            0x00, 0x50, 0x81, 0x22,  // mn
+            0x00, 0x51, 0x11, 0x72,  // bo
+            0x00, 0x52, 0x18, 0x82,  // cy
+            0x00, 0x53, 0x71, 0xb2,  // km
+            0x00, 0x54, 0x7a, 0xe2,  // lo
+            0x00, 0x55, 0x85, 0xd2,  // my
+            0x00, 0x56, 0x5e, 0x72,  // gl
+            0x00, 0x57, 0x72, 0xf3,  // kok
+            0x00, 0x58, 0x83, 0x23,  // mni
+            0x00, 0x59, 0xa0, 0x32,  // sd
+            0x00, 0x5a, 0xb5, 0x43,  // syr
+            0x00, 0x5b, 0xa4, 0xd2,  // si
+            0x00, 0x5c, 0x16, 0xe3,  // chr
+            0x00, 0x5d, 0x69, 0x62,  // iu
+            0x00, 0x5e, 0x02, 0x42,  // am
+            0x00, 0x5f, 0xbc, 0xc3,  // tzm
+            0x00, 0x60, 0x73, 0xa2,  // ks
+            0x00, 0x61, 0x88, 0x92,  // ne
+            0x00, 0x62, 0x5d, 0x82,  // fy
+            0x00, 0x63, 0x92, 0xc2,  // ps
+            0x00, 0x64, 0x4d, 0x63,  // fil
+            0x00, 0x65, 0x1d, 0x92,  // dv
+            0x00, 0x66, 0x0f, 0xd3,  // bin
+            0x00, 0x67, 0x4b, 0x32,  // ff
+            0x00, 0x68, 0x61, 0x32,  // ha
+            0x00, 0x69, 0x66, 0xd3,  // ibb
+            0x00, 0x6a, 0xc8, 0x92,  // yo
+            0x00, 0x6b, 0x99, 0x73,  // quz
+            0x00, 0x6c, 0x8d, 0x43,  // nso
+            0x00, 0x6d, 0x0d, 0xc2,  // ba
+            0x00, 0x6e, 0x78, 0xa2,  // lb
+            0x00, 0x6f, 0x71, 0x02,  // kl
+            0x00, 0x70, 0x67, 0x82,  // ig
+            0x00, 0x71, 0x73, 0x52,  // kr
+            0x00, 0x72, 0x8e, 0xb2,  // om
+            0x00, 0x73, 0xb8, 0xe2,  // ti
+            0x00, 0x74, 0x5e, 0xc2,  // gn
+            0x00, 0x75, 0x63, 0x13,  // haw
+            0x00, 0x76, 0x77, 0xe2,  // la
+            0x00, 0x77, 0xa8, 0xa2,  // so
+            0x00, 0x78, 0x67, 0xd2,  // ii
+            0x00, 0x79, 0x91, 0x33,  // pap
+            0x00, 0x7a, 0x0b, 0x13,  // arn
+            0x00, 0x7c, 0x83, 0x83,  // moh
+            0x00, 0x7e, 0x12, 0x12,  // br
+            0x00, 0x80, 0xbf, 0x82,  // ug
+            0x00, 0x81, 0x80, 0x32,  // mi
+            0x00, 0x82, 0x8e, 0x62,  // oc
+            0x00, 0x83, 0x17, 0x92,  // co
+            0x00, 0x84, 0x5f, 0x13,  // gsw
+            0x00, 0x85, 0x9f, 0x13,  // sah
+            0x00, 0x86, 0x98, 0xc3,  // quc
+            0x00, 0x87, 0x9e, 0x12,  // rw
+            0x00, 0x88, 0xc6, 0x22,  // wo
+            0x00, 0x8c, 0x92, 0x63,  // prs
+            0x00, 0x91, 0x5e, 0x22,  // gd
+            0x00, 0x92, 0x76, 0x02,  // ku
+            0x04, 0x01, 0x08, 0x95,  // ar-sa
+            0x04, 0x02, 0x0f, 0x85,  // bg-bg
+            0x04, 0x03, 0x14, 0xb5,  // ca-es
+            0x04, 0x04, 0xd1, 0xf5,  // zh-tw
+            0x04, 0x05, 0x17, 0xe5,  // cs-cz
+            0x04, 0x06, 0x18, 0xd5,  // da-dk
+            0x04, 0x07, 0x1a, 0xc5,  // de-de
+            0x04, 0x08, 0x1f, 0xe5,  // el-gr
+            0x04, 0x09, 0x3e, 0x65,  // en-us
+            0x04, 0x0a, 0x44, 0xcc,  // es-es_tradnl
+            0x04, 0x0b, 0x4d, 0x15,  // fi-fi
+            0x04, 0x0c, 0x53, 0x25,  // fr-fr
+            0x04, 0x0d, 0x63, 0x75,  // he-il
+            0x04, 0x0e, 0x65, 0x15,  // hu-hu
+            0x04, 0x0f, 0x68, 0x25,  // is-is
+            0x04, 0x10, 0x68, 0xc5,  // it-it
+            0x04, 0x11, 0x6a, 0xa5,  // ja-jp
+            0x04, 0x12, 0x72, 0xa5,  // ko-kr
+            0x04, 0x13, 0x8a, 0x75,  // nl-nl
+            0x04, 0x14, 0x86, 0xe5,  // nb-no
+            0x04, 0x15, 0x91, 0xa5,  // pl-pl
+            0x04, 0x16, 0x93, 0x65,  // pt-br
+            0x04, 0x17, 0x9a, 0x95,  // rm-ch
+            0x04, 0x18, 0x9b, 0x85,  // ro-ro
+            0x04, 0x19, 0x9d, 0x75,  // ru-ru
+            0x04, 0x1a, 0x64, 0x65,  // hr-hr
+            0x04, 0x1b, 0xa5, 0x25,  // sk-sk
+            0x04, 0x1c, 0xa9, 0xe5,  // sq-al
+            0x04, 0x1d, 0xb3, 0x55,  // sv-se
+            0x04, 0x1e, 0xb8, 0x95,  // th-th
+            0x04, 0x1f, 0xbb, 0x75,  // tr-tr
+            0x04, 0x20, 0xc0, 0x75,  // ur-pk
+            0x04, 0x21, 0x67, 0x35,  // id-id
+            0x04, 0x22, 0xbf, 0xd5,  // uk-ua
+            0x04, 0x23, 0x0e, 0x75,  // be-by
+            0x04, 0x24, 0xa5, 0x75,  // sl-si
+            0x04, 0x25, 0x49, 0xe5,  // et-ee
+            0x04, 0x26, 0x7d, 0x55,  // lv-lv
+            0x04, 0x27, 0x7b, 0xf5,  // lt-lt
+            0x04, 0x28, 0xb7, 0xfa,  // tg-cyrl-tj
+            0x04, 0x29, 0x4a, 0xe5,  // fa-ir
+            0x04, 0x2a, 0xc4, 0x55,  // vi-vn
+            0x04, 0x2b, 0x65, 0xd5,  // hy-am
+            0x04, 0x2c, 0x0d, 0x2a,  // az-latn-az
+            0x04, 0x2d, 0x4a, 0x35,  // eu-es
+            0x04, 0x2e, 0x64, 0xb6,  // hsb-de
+            0x04, 0x2f, 0x80, 0x85,  // mk-mk
+            0x04, 0x30, 0xb2, 0x65,  // st-za
+            0x04, 0x31, 0xbb, 0xc5,  // ts-za
+            0x04, 0x32, 0xba, 0x85,  // tn-za
+            0x04, 0x33, 0xc4, 0x05,  // ve-za
+            0x04, 0x34, 0xc7, 0x25,  // xh-za
+            0x04, 0x35, 0xd3, 0x75,  // zu-za
+            0x04, 0x36, 0x01, 0x45,  // af-za
+            0x04, 0x37, 0x6d, 0x65,  // ka-ge
+            0x04, 0x38, 0x4e, 0x15,  // fo-fo
+            0x04, 0x39, 0x63, 0xc5,  // hi-in
+            0x04, 0x3a, 0x85, 0x25,  // mt-mt
+            0x04, 0x3b, 0xa1, 0xc5,  // se-no
+            0x04, 0x3d, 0xc8, 0x36,  // yi-001
+            0x04, 0x3e, 0x84, 0x85,  // ms-my
+            0x04, 0x3f, 0x70, 0x55,  // kk-kz
+            0x04, 0x40, 0x77, 0x95,  // ky-kg
+            0x04, 0x41, 0xb3, 0xf5,  // sw-ke
+            0x04, 0x42, 0xb9, 0xe5,  // tk-tm
+            0x04, 0x43, 0xc2, 0x0a,  // uz-latn-uz
+            0x04, 0x44, 0xbc, 0x15,  // tt-ru
+            0x04, 0x45, 0x11, 0x25,  // bn-in
+            0x04, 0x46, 0x90, 0xe5,  // pa-in
+            0x04, 0x47, 0x60, 0x35,  // gu-in
+            0x04, 0x48, 0x8f, 0x55,  // or-in
+            0x04, 0x49, 0xb5, 0xa5,  // ta-in
+            0x04, 0x4a, 0xb6, 0xe5,  // te-in
+            0x04, 0x4b, 0x72, 0x05,  // kn-in
+            0x04, 0x4c, 0x80, 0xd5,  // ml-in
+            0x04, 0x4d, 0x0b, 0x75,  // as-in
+            0x04, 0x4e, 0x83, 0xe5,  // mr-in
+            0x04, 0x4f, 0x9e, 0xc5,  // sa-in
+            0x04, 0x50, 0x81, 0x95,  // mn-mn
+            0x04, 0x51, 0x11, 0x75,  // bo-cn
+            0x04, 0x52, 0x18, 0x85,  // cy-gb
+            0x04, 0x53, 0x71, 0xb5,  // km-kh
+            0x04, 0x54, 0x7a, 0xe5,  // lo-la
+            0x04, 0x55, 0x85, 0xd5,  // my-mm
+            0x04, 0x56, 0x5e, 0x75,  // gl-es
+            0x04, 0x57, 0x72, 0xf6,  // kok-in
+            0x04, 0x58, 0x83, 0x26,  // mni-in
+            0x04, 0x59, 0xa0, 0xda,  // sd-deva-in
+            0x04, 0x5a, 0xb5, 0x46,  // syr-sy
+            0x04, 0x5b, 0xa4, 0xd5,  // si-lk
+            0x04, 0x5c, 0x16, 0xeb,  // chr-cher-us
+            0x04, 0x5d, 0x69, 0x6a,  // iu-cans-ca
+            0x04, 0x5e, 0x02, 0x45,  // am-et
+            0x04, 0x5f, 0xbc, 0xcb,  // tzm-arab-ma
+            0x04, 0x60, 0x73, 0xa7,  // ks-arab
+            0x04, 0x61, 0x88, 0xe5,  // ne-np
+            0x04, 0x62, 0x5d, 0x85,  // fy-nl
+            0x04, 0x63, 0x92, 0xc5,  // ps-af
+            0x04, 0x64, 0x4d, 0x66,  // fil-ph
+            0x04, 0x65, 0x1d, 0x95,  // dv-mv
+            0x04, 0x66, 0x0f, 0xd6,  // bin-ng
+            0x04, 0x67, 0x4c, 0xc5,  // ff-ng
+            0x04, 0x68, 0x62, 0x7a,  // ha-latn-ng
+            0x04, 0x69, 0x66, 0xd6,  // ibb-ng
+            0x04, 0x6a, 0xc8, 0xe5,  // yo-ng
+            0x04, 0x6b, 0x99, 0x76,  // quz-bo
+            0x04, 0x6c, 0x8d, 0x46,  // nso-za
+            0x04, 0x6d, 0x0d, 0xc5,  // ba-ru
+            0x04, 0x6e, 0x78, 0xa5,  // lb-lu
+            0x04, 0x6f, 0x71, 0x05,  // kl-gl
+            0x04, 0x70, 0x67, 0x85,  // ig-ng
+            0x04, 0x71, 0x73, 0x55,  // kr-ng
+            0x04, 0x72, 0x8e, 0xb5,  // om-et
+            0x04, 0x73, 0xb9, 0x35,  // ti-et
+            0x04, 0x74, 0x5e, 0xc5,  // gn-py
+            0x04, 0x75, 0x63, 0x16,  // haw-us
+            0x04, 0x76, 0x77, 0xe6,  // la-001
+            0x04, 0x77, 0xa9, 0x95,  // so-so
+            0x04, 0x78, 0x67, 0xd5,  // ii-cn
+            0x04, 0x79, 0x91, 0x37,  // pap-029
+            0x04, 0x7a, 0x0b, 0x16,  // arn-cl
+            0x04, 0x7c, 0x83, 0x86,  // moh-ca
+            0x04, 0x7e, 0x12, 0x15,  // br-fr
+            0x04, 0x80, 0xbf, 0x85,  // ug-cn
+            0x04, 0x81, 0x80, 0x35,  // mi-nz
+            0x04, 0x82, 0x8e, 0x65,  // oc-fr
+            0x04, 0x83, 0x17, 0x95,  // co-fr
+            0x04, 0x84, 0x5f, 0x76,  // gsw-fr
+            0x04, 0x85, 0x9f, 0x16,  // sah-ru
+            0x04, 0x86, 0x98, 0xcb,  // quc-latn-gt
+            0x04, 0x87, 0x9e, 0x15,  // rw-rw
+            0x04, 0x88, 0xc6, 0x25,  // wo-sn
+            0x04, 0x8c, 0x92, 0x66,  // prs-af
+            0x04, 0x91, 0x5e, 0x25,  // gd-gb
+            0x04, 0x92, 0x76, 0x0a,  // ku-arab-iq
+            0x05, 0x01, 0x97, 0xa8,  // qps-ploc
+            0x05, 0xfe, 0x97, 0xa9,  // qps-ploca
+            0x08, 0x01, 0x05, 0x25,  // ar-iq
+            0x08, 0x03, 0x14, 0xbe,  // ca-es-valencia
+            0x08, 0x04, 0xcb, 0x05,  // zh-cn
+            0x08, 0x07, 0x1a, 0x75,  // de-ch
+            0x08, 0x09, 0x29, 0xc5,  // en-gb
+            0x08, 0x0a, 0x46, 0x75,  // es-mx
+            0x08, 0x0c, 0x4e, 0xc5,  // fr-be
+            0x08, 0x10, 0x68, 0x75,  // it-ch
+            0x08, 0x13, 0x89, 0x85,  // nl-be
+            0x08, 0x14, 0x8b, 0xc5,  // nn-no
+            0x08, 0x16, 0x95, 0xe5,  // pt-pt
+            0x08, 0x18, 0x9b, 0x35,  // ro-md
+            0x08, 0x19, 0x9d, 0x25,  // ru-md
+            0x08, 0x1a, 0xae, 0x9a,  // sr-latn-cs
+            0x08, 0x1d, 0xb3, 0x05,  // sv-fi
+            0x08, 0x20, 0xc0, 0x25,  // ur-in
+            0x08, 0x2c, 0x0c, 0x8a,  // az-cyrl-az
+            0x08, 0x2e, 0x1c, 0xd6,  // dsb-de
+            0x08, 0x32, 0xba, 0x35,  // tn-bw
+            0x08, 0x3b, 0xa2, 0x15,  // se-se
+            0x08, 0x3c, 0x5d, 0xd5,  // ga-ie
+            0x08, 0x3e, 0x84, 0x35,  // ms-bn
+            0x08, 0x43, 0xc1, 0x6a,  // uz-cyrl-uz
+            0x08, 0x45, 0x10, 0xd5,  // bn-bd
+            0x08, 0x46, 0x90, 0x4a,  // pa-arab-pk
+            0x08, 0x49, 0xb5, 0xf5,  // ta-lk
+            0x08, 0x50, 0x81, 0xea,  // mn-mong-cn
+            0x08, 0x59, 0xa0, 0x3a,  // sd-arab-pk
+            0x08, 0x5d, 0x6a, 0x0a,  // iu-latn-ca
+            0x08, 0x5f, 0xbd, 0x7b,  // tzm-latn-dz
+            0x08, 0x60, 0x74, 0x4a,  // ks-deva-in
+            0x08, 0x61, 0x88, 0x95,  // ne-in
+            0x08, 0x67, 0x4b, 0xda,  // ff-latn-sn
+            0x08, 0x6b, 0x99, 0xd6,  // quz-ec
+            0x08, 0x73, 0xb8, 0xe5,  // ti-er
+            0x09, 0x01, 0x96, 0xdd,  // qps-latn-x-sh
+            0x09, 0xff, 0x98, 0x39,  // qps-plocm
+            0x0c, 0x01, 0x04, 0x35,  // ar-eg
+            0x0c, 0x04, 0xce, 0x35,  // zh-hk
+            0x0c, 0x07, 0x19, 0xd5,  // de-at
+            0x0c, 0x09, 0x22, 0x95,  // en-au
+            0x0c, 0x0a, 0x44, 0xc5,  // es-es
+            0x0c, 0x0c, 0x50, 0x55,  // fr-ca
+            0x0c, 0x1a, 0xab, 0x7a,  // sr-cyrl-cs
+            0x0c, 0x3b, 0xa1, 0x75,  // se-fi
+            0x0c, 0x50, 0x82, 0x8a,  // mn-mong-mn
+            0x0c, 0x51, 0x1e, 0x45,  // dz-bt
+            0x0c, 0x6b, 0x9a, 0x36,  // quz-pe
+            0x10, 0x01, 0x06, 0xb5,  // ar-ly
+            0x10, 0x04, 0xd0, 0x75,  // zh-sg
+            0x10, 0x07, 0x1c, 0x25,  // de-lu
+            0x10, 0x09, 0x25, 0x15,  // en-ca
+            0x10, 0x0a, 0x45, 0xd5,  // es-gt
+            0x10, 0x0c, 0x51, 0x95,  // fr-ch
+            0x10, 0x1a, 0x64, 0x15,  // hr-ba
+            0x10, 0x3b, 0xa6, 0x86,  // smj-no
+            0x10, 0x5f, 0xbe, 0xdb,  // tzm-tfng-ma
+            0x14, 0x01, 0x03, 0xe5,  // ar-dz
+            0x14, 0x04, 0xce, 0xf5,  // zh-mo
+            0x14, 0x07, 0x1b, 0xd5,  // de-li
+            0x14, 0x09, 0x35, 0xf5,  // en-nz
+            0x14, 0x0a, 0x43, 0x85,  // es-cr
+            0x14, 0x0c, 0x55, 0xa5,  // fr-lu
+            0x14, 0x1a, 0x13, 0x6a,  // bs-latn-ba
+            0x14, 0x3b, 0xa6, 0xe6,  // smj-se
+            0x18, 0x01, 0x07, 0x05,  // ar-ma
+            0x18, 0x09, 0x2c, 0xe5,  // en-ie
+            0x18, 0x0a, 0x47, 0x15,  // es-pa
+            0x18, 0x0c, 0x56, 0x45,  // fr-mc
+            0x18, 0x1a, 0xad, 0xfa,  // sr-latn-ba
+            0x18, 0x3b, 0xa5, 0xc6,  // sma-no
+            0x1c, 0x01, 0x0a, 0x75,  // ar-tn
+            0x1c, 0x09, 0x40, 0x45,  // en-za
+            0x1c, 0x0a, 0x44, 0x25,  // es-do
+            0x1c, 0x0c, 0x4e, 0x66,  // fr-029
+            0x1c, 0x1a, 0xaa, 0xda,  // sr-cyrl-ba
+            0x1c, 0x3b, 0xa6, 0x26,  // sma-se
+            0x20, 0x01, 0x07, 0xa5,  // ar-om
+            0x20, 0x09, 0x2e, 0xc5,  // en-jm
+            0x20, 0x0a, 0x49, 0x95,  // es-ve
+            0x20, 0x0c, 0x59, 0xb5,  // fr-re
+            0x20, 0x1a, 0x12, 0xca,  // bs-cyrl-ba
+            0x20, 0x3b, 0xa7, 0xa6,  // sms-fi
+            0x24, 0x01, 0x0a, 0xc5,  // ar-ye
+            0x24, 0x09, 0x20, 0x96,  // en-029
+            0x24, 0x0a, 0x43, 0x35,  // es-co
+            0x24, 0x0c, 0x50, 0xa5,  // fr-cd
+            0x24, 0x1a, 0xaf, 0xda,  // sr-latn-rs
+            0x24, 0x3b, 0xa7, 0x46,  // smn-fi
+            0x28, 0x01, 0x09, 0xd5,  // ar-sy
+            0x28, 0x09, 0x24, 0xc5,  // en-bz
+            0x28, 0x0a, 0x47, 0x65,  // es-pe
+            0x28, 0x0c, 0x5a, 0xa5,  // fr-sn
+            0x28, 0x1a, 0xac, 0xba,  // sr-cyrl-rs
+            0x2c, 0x01, 0x05, 0x75,  // ar-jo
+            0x2c, 0x09, 0x3c, 0xd5,  // en-tt
+            0x2c, 0x0a, 0x41, 0xf5,  // es-ar
+            0x2c, 0x0c, 0x52, 0x35,  // fr-cm
+            0x2c, 0x1a, 0xaf, 0x3a,  // sr-latn-me
+            0x30, 0x01, 0x06, 0x65,  // ar-lb
+            0x30, 0x09, 0x40, 0xe5,  // en-zw
+            0x30, 0x0a, 0x44, 0x75,  // es-ec
+            0x30, 0x0c, 0x51, 0xe5,  // fr-ci
+            0x30, 0x1a, 0xac, 0x1a,  // sr-cyrl-me
+            0x34, 0x01, 0x06, 0x15,  // ar-kw
+            0x34, 0x09, 0x36, 0x95,  // en-ph
+            0x34, 0x0a, 0x42, 0xe5,  // es-cl
+            0x34, 0x0c, 0x57, 0x35,  // fr-ml
+            0x38, 0x01, 0x02, 0xf5,  // ar-ae
+            0x38, 0x09, 0x2c, 0x95,  // en-id
+            0x38, 0x0a, 0x49, 0x45,  // es-uy
+            0x38, 0x0c, 0x55, 0xf5,  // fr-ma
+            0x3c, 0x01, 0x03, 0x45,  // ar-bh
+            0x3c, 0x09, 0x2c, 0x45,  // en-hk
+            0x3c, 0x0a, 0x48, 0x55,  // es-py
+            0x3c, 0x0c, 0x55, 0x05,  // fr-ht
+            0x40, 0x01, 0x08, 0x45,  // ar-qa
+            0x40, 0x09, 0x2d, 0xd5,  // en-in
+            0x40, 0x0a, 0x42, 0x45,  // es-bo
+            0x44, 0x09, 0x33, 0xc5,  // en-my
+            0x44, 0x0a, 0x48, 0xa5,  // es-sv
+            0x48, 0x09, 0x39, 0xb5,  // en-sg
+            0x48, 0x0a, 0x46, 0x25,  // es-hn
+            0x4c, 0x0a, 0x46, 0xc5,  // es-ni
+            0x50, 0x0a, 0x48, 0x05,  // es-pr
+            0x54, 0x0a, 0x48, 0xf5,  // es-us
+            0x58, 0x0a, 0x41, 0x96,  // es-419
+            0x5c, 0x0a, 0x43, 0xd5,  // es-cu
+            0x64, 0x1a, 0x12, 0xc7,  // bs-cyrl
+            0x68, 0x1a, 0x13, 0x67,  // bs-latn
+            0x6c, 0x1a, 0xaa, 0xd7,  // sr-cyrl
+            0x70, 0x1a, 0xad, 0xf7,  // sr-latn
+            0x70, 0x3b, 0xa7, 0x43,  // smn
+            0x74, 0x2c, 0x0c, 0x87,  // az-cyrl
+            0x74, 0x3b, 0xa7, 0xa3,  // sms
+            0x78, 0x04, 0xca, 0x42,  // zh
+            0x78, 0x14, 0x8b, 0xc2,  // nn
+            0x78, 0x1a, 0x12, 0xc2,  // bs
+            0x78, 0x2c, 0x0d, 0x27,  // az-latn
+            0x78, 0x3b, 0xa5, 0xc3,  // sma
+            0x78, 0x43, 0xc1, 0x67,  // uz-cyrl
+            0x78, 0x50, 0x81, 0x27,  // mn-cyrl
+            0x78, 0x5d, 0x69, 0x67,  // iu-cans
+            0x78, 0x5f, 0xbe, 0xd8,  // tzm-tfng
+            0x7c, 0x04, 0xca, 0xa6,  // zh-cht
+            0x7c, 0x14, 0x86, 0xe2,  // nb
+            0x7c, 0x1a, 0xaa, 0xd2,  // sr
+            0x7c, 0x28, 0xb7, 0xf7,  // tg-cyrl
+            0x7c, 0x2e, 0x1c, 0xd3,  // dsb
+            0x7c, 0x3b, 0xa6, 0x83,  // smj
+            0x7c, 0x43, 0xc2, 0x07,  // uz-latn
+            0x7c, 0x46, 0x90, 0x47,  // pa-arab
+            0x7c, 0x50, 0x81, 0xe7,  // mn-mong
+            0x7c, 0x59, 0xa0, 0x37,  // sd-arab
+            0x7c, 0x5c, 0x16, 0xe8,  // chr-cher
+            0x7c, 0x5d, 0x6a, 0x07,  // iu-latn
+            0x7c, 0x5f, 0xbd, 0x78,  // tzm-latn
+            0x7c, 0x67, 0x4b, 0xd7,  // ff-latn
+            0x7c, 0x68, 0x61, 0x37,  // ha-latn
+            0x7c, 0x86, 0x98, 0xc8,  // quc-latn
+            0x7c, 0x92, 0x76, 0x07,  // ku-arab
+            // Sort 0x1
+            0x00, 0x7f, 0xc6, 0x7b,  // x-iv_mathan
+            0x04, 0x07, 0x1a, 0xcc,  // de-de_phoneb
+            0x04, 0x0e, 0x65, 0x1c,  // hu-hu_technl
+            0x04, 0x37, 0x6d, 0x6c,  // ka-ge_modern
+            // Sort 0x2
+            0x08, 0x04, 0xcb, 0xcc,  // zh-cn_stroke
+            0x10, 0x04, 0xd1, 0x3c,  // zh-sg_stroke
+            0x14, 0x04, 0xcf, 0xbc,  // zh-mo_stroke
+            // Sort 0x3
+            0x04, 0x04, 0xd1, 0xfc,  // zh-tw_pronun
+            // Sort 0x4
+            0x04, 0x04, 0xd2, 0xbc,  // zh-tw_radstr
+            0x04, 0x11, 0x6a, 0xac,  // ja-jp_radstr
+            0x0c, 0x04, 0xce, 0x3c,  // zh-hk_radstr
+            0x14, 0x04, 0xce, 0xfc,  // zh-mo_radstr
+            // Sort 0x5
+            0x08, 0x04, 0xcb, 0x0c,  // zh-cn_phoneb
+            0x10, 0x04, 0xd0, 0x7c,  // zh-sg_phoneb
+        };
 
-        private const string c_threeLetterWindowsLanguageName =
-            "ZZZ" + // aa
-            "ZZZ" + // aa-dj
-            "ZZZ" + // aa-er
-            "ZZZ" + // aa-et
-            "AFK" + // af
-            "ZZZ" + // af-na
-            "AFK" + // af-za
-            "ZZZ" + // agq
-            "ZZZ" + // agq-cm
-            "ZZZ" + // ak
-            "ZZZ" + // ak-gh
-            "AMH" + // am
-            "AMH" + // am-et
-            "ARA" + // ar
-            "ZZZ" + // ar-001
-            "ARU" + // ar-ae
-            "ARH" + // ar-bh
-            "ZZZ" + // ar-dj
-            "ARG" + // ar-dz
-            "ARE" + // ar-eg
-            "ZZZ" + // ar-er
-            "ZZZ" + // ar-il
-            "ARI" + // ar-iq
-            "ARJ" + // ar-jo
-            "ZZZ" + // ar-km
-            "ARK" + // ar-kw
-            "ARB" + // ar-lb
-            "ARL" + // ar-ly
-            "ARM" + // ar-ma
-            "ZZZ" + // ar-mr
-            "ARO" + // ar-om
-            "ZZZ" + // ar-ps
-            "ARQ" + // ar-qa
-            "ARA" + // ar-sa
-            "ZZZ" + // ar-sd
-            "ZZZ" + // ar-so
-            "ZZZ" + // ar-ss
-            "ARS" + // ar-sy
-            "ZZZ" + // ar-td
-            "ART" + // ar-tn
-            "ARY" + // ar-ye
-            "MPD" + // arn
-            "MPD" + // arn-cl
-            "ASM" + // as
-            "ASM" + // as-in
-            "ZZZ" + // asa
-            "ZZZ" + // asa-tz
-            "ZZZ" + // ast
-            "ZZZ" + // ast-es
-            "AZE" + // az
-            "AZC" + // az-cyrl
-            "AZC" + // az-cyrl-az
-            "AZE" + // az-latn
-            "AZE" + // az-latn-az
-            "BAS" + // ba
-            "BAS" + // ba-ru
-            "ZZZ" + // bas
-            "ZZZ" + // bas-cm
-            "BEL" + // be
-            "BEL" + // be-by
-            "ZZZ" + // bem
-            "ZZZ" + // bem-zm
-            "ZZZ" + // bez
-            "ZZZ" + // bez-tz
-            "BGR" + // bg
-            "BGR" + // bg-bg
-            "ZZZ" + // bin
-            "ZZZ" + // bin-ng
-            "ZZZ" + // bm
-            "ZZZ" + // bm-latn
-            "ZZZ" + // bm-latn-ml
-            "BNB" + // bn
-            "BNB" + // bn-bd
-            "BNG" + // bn-in
-            "BOB" + // bo
-            "BOB" + // bo-cn
-            "ZZZ" + // bo-in
-            "BRE" + // br
-            "BRE" + // br-fr
-            "ZZZ" + // brx
-            "ZZZ" + // brx-in
-            "BSB" + // bs
-            "BSC" + // bs-cyrl
-            "BSC" + // bs-cyrl-ba
-            "BSB" + // bs-latn
-            "BSB" + // bs-latn-ba
-            "ZZZ" + // byn
-            "ZZZ" + // byn-er
-            "CAT" + // ca
-            "ZZZ" + // ca-ad
-            "CAT" + // ca-es
-            "VAL" + // ca-es-valencia
-            "ZZZ" + // ca-fr
-            "ZZZ" + // ca-it
-            "ZZZ" + // ce
-            "ZZZ" + // ce-ru
-            "ZZZ" + // cgg
-            "ZZZ" + // cgg-ug
-            "CRE" + // chr
-            "CRE" + // chr-cher
-            "CRE" + // chr-cher-us
-            "COS" + // co
-            "COS" + // co-fr
-            "CSY" + // cs
-            "CSY" + // cs-cz
-            "ZZZ" + // cu
-            "ZZZ" + // cu-ru
-            "CYM" + // cy
-            "CYM" + // cy-gb
-            "DAN" + // da
-            "DAN" + // da-dk
-            "ZZZ" + // da-gl
-            "ZZZ" + // dav
-            "ZZZ" + // dav-ke
-            "DEU" + // de
-            "DEA" + // de-at
-            "ZZZ" + // de-be
-            "DES" + // de-ch
-            "DEU" + // de-de
-            "DEU" + // de-de_phoneb
-            "ZZZ" + // de-it
-            "DEC" + // de-li
-            "DEL" + // de-lu
-            "ZZZ" + // dje
-            "ZZZ" + // dje-ne
-            "DSB" + // dsb
-            "DSB" + // dsb-de
-            "ZZZ" + // dua
-            "ZZZ" + // dua-cm
-            "DIV" + // dv
-            "DIV" + // dv-mv
-            "ZZZ" + // dyo
-            "ZZZ" + // dyo-sn
-            "ZZZ" + // dz
-            "ZZZ" + // dz-bt
-            "ZZZ" + // ebu
-            "ZZZ" + // ebu-ke
-            "ZZZ" + // ee
-            "ZZZ" + // ee-gh
-            "ZZZ" + // ee-tg
-            "ELL" + // el
-            "ZZZ" + // el-cy
-            "ELL" + // el-gr
-            "ENU" + // en
-            "ZZZ" + // en-001
-            "ENB" + // en-029
-            "ZZZ" + // en-150
-            "ZZZ" + // en-ag
-            "ZZZ" + // en-ai
-            "ZZZ" + // en-as
-            "ZZZ" + // en-at
-            "ENA" + // en-au
-            "ZZZ" + // en-bb
-            "ZZZ" + // en-be
-            "ZZZ" + // en-bi
-            "ZZZ" + // en-bm
-            "ZZZ" + // en-bs
-            "ZZZ" + // en-bw
-            "ENL" + // en-bz
-            "ENC" + // en-ca
-            "ZZZ" + // en-cc
-            "ZZZ" + // en-ch
-            "ZZZ" + // en-ck
-            "ZZZ" + // en-cm
-            "ZZZ" + // en-cx
-            "ZZZ" + // en-cy
-            "ZZZ" + // en-de
-            "ZZZ" + // en-dk
-            "ZZZ" + // en-dm
-            "ZZZ" + // en-er
-            "ZZZ" + // en-fi
-            "ZZZ" + // en-fj
-            "ZZZ" + // en-fk
-            "ZZZ" + // en-fm
-            "ENG" + // en-gb
-            "ZZZ" + // en-gd
-            "ZZZ" + // en-gg
-            "ZZZ" + // en-gh
-            "ZZZ" + // en-gi
-            "ZZZ" + // en-gm
-            "ZZZ" + // en-gu
-            "ZZZ" + // en-gy
-            "ENH" + // en-hk
-            "ZZZ" + // en-id
-            "ENI" + // en-ie
-            "ZZZ" + // en-il
-            "ZZZ" + // en-im
-            "ENN" + // en-in
-            "ZZZ" + // en-io
-            "ZZZ" + // en-je
-            "ENJ" + // en-jm
-            "ZZZ" + // en-ke
-            "ZZZ" + // en-ki
-            "ZZZ" + // en-kn
-            "ZZZ" + // en-ky
-            "ZZZ" + // en-lc
-            "ZZZ" + // en-lr
-            "ZZZ" + // en-ls
-            "ZZZ" + // en-mg
-            "ZZZ" + // en-mh
-            "ZZZ" + // en-mo
-            "ZZZ" + // en-mp
-            "ZZZ" + // en-ms
-            "ZZZ" + // en-mt
-            "ZZZ" + // en-mu
-            "ZZZ" + // en-mw
-            "ENM" + // en-my
-            "ZZZ" + // en-na
-            "ZZZ" + // en-nf
-            "ZZZ" + // en-ng
-            "ZZZ" + // en-nl
-            "ZZZ" + // en-nr
-            "ZZZ" + // en-nu
-            "ENZ" + // en-nz
-            "ZZZ" + // en-pg
-            "ENP" + // en-ph
-            "ZZZ" + // en-pk
-            "ZZZ" + // en-pn
-            "ZZZ" + // en-pr
-            "ZZZ" + // en-pw
-            "ZZZ" + // en-rw
-            "ZZZ" + // en-sb
-            "ZZZ" + // en-sc
-            "ZZZ" + // en-sd
-            "ZZZ" + // en-se
-            "ENE" + // en-sg
-            "ZZZ" + // en-sh
-            "ZZZ" + // en-si
-            "ZZZ" + // en-sl
-            "ZZZ" + // en-ss
-            "ZZZ" + // en-sx
-            "ZZZ" + // en-sz
-            "ZZZ" + // en-tc
-            "ZZZ" + // en-tk
-            "ZZZ" + // en-to
-            "ENT" + // en-tt
-            "ZZZ" + // en-tv
-            "ZZZ" + // en-tz
-            "ZZZ" + // en-ug
-            "ZZZ" + // en-um
-            "ENU" + // en-us
-            "ZZZ" + // en-vc
-            "ZZZ" + // en-vg
-            "ZZZ" + // en-vi
-            "ZZZ" + // en-vu
-            "ZZZ" + // en-ws
-            "ENS" + // en-za
-            "ZZZ" + // en-zm
-            "ENW" + // en-zw
-            "ZZZ" + // eo
-            "ZZZ" + // eo-001
-            "ESN" + // es
-            "ESJ" + // es-419
-            "ESS" + // es-ar
-            "ESB" + // es-bo
-            "ZZZ" + // es-br
-            "ESL" + // es-cl
-            "ESO" + // es-co
-            "ESC" + // es-cr
-            "ESK" + // es-cu
-            "ESD" + // es-do
-            "ESF" + // es-ec
-            "ESN" + // es-es
-            "ESP" + // es-es_tradnl
-            "ZZZ" + // es-gq
-            "ESG" + // es-gt
-            "ESH" + // es-hn
-            "ESM" + // es-mx
-            "ESI" + // es-ni
-            "ESA" + // es-pa
-            "ESR" + // es-pe
-            "ZZZ" + // es-ph
-            "ESU" + // es-pr
-            "ESZ" + // es-py
-            "ESE" + // es-sv
-            "EST" + // es-us
-            "ESY" + // es-uy
-            "ESV" + // es-ve
-            "ETI" + // et
-            "ETI" + // et-ee
-            "EUQ" + // eu
-            "EUQ" + // eu-es
-            "ZZZ" + // ewo
-            "ZZZ" + // ewo-cm
-            "FAR" + // fa
-            "FAR" + // fa-ir
-            "FUL" + // ff
-            "ZZZ" + // ff-cm
-            "ZZZ" + // ff-gn
-            "FUL" + // ff-latn
-            "FUL" + // ff-latn-sn
-            "ZZZ" + // ff-mr
-            "ZZZ" + // ff-ng
-            "FIN" + // fi
-            "FIN" + // fi-fi
-            "FPO" + // fil
-            "FPO" + // fil-ph
-            "FOS" + // fo
-            "ZZZ" + // fo-dk
-            "FOS" + // fo-fo
-            "FRA" + // fr
-            "ZZZ" + // fr-029
-            "FRB" + // fr-be
-            "ZZZ" + // fr-bf
-            "ZZZ" + // fr-bi
-            "ZZZ" + // fr-bj
-            "ZZZ" + // fr-bl
-            "FRC" + // fr-ca
-            "FRD" + // fr-cd
-            "ZZZ" + // fr-cf
-            "ZZZ" + // fr-cg
-            "FRS" + // fr-ch
-            "FRI" + // fr-ci
-            "FRE" + // fr-cm
-            "ZZZ" + // fr-dj
-            "ZZZ" + // fr-dz
-            "FRA" + // fr-fr
-            "ZZZ" + // fr-ga
-            "ZZZ" + // fr-gf
-            "ZZZ" + // fr-gn
-            "ZZZ" + // fr-gp
-            "ZZZ" + // fr-gq
-            "FRH" + // fr-ht
-            "ZZZ" + // fr-km
-            "FRL" + // fr-lu
-            "FRO" + // fr-ma
-            "FRM" + // fr-mc
-            "ZZZ" + // fr-mf
-            "ZZZ" + // fr-mg
-            "FRF" + // fr-ml
-            "ZZZ" + // fr-mq
-            "ZZZ" + // fr-mr
-            "ZZZ" + // fr-mu
-            "ZZZ" + // fr-nc
-            "ZZZ" + // fr-ne
-            "ZZZ" + // fr-pf
-            "ZZZ" + // fr-pm
-            "FRR" + // fr-re
-            "ZZZ" + // fr-rw
-            "ZZZ" + // fr-sc
-            "FRN" + // fr-sn
-            "ZZZ" + // fr-sy
-            "ZZZ" + // fr-td
-            "ZZZ" + // fr-tg
-            "ZZZ" + // fr-tn
-            "ZZZ" + // fr-vu
-            "ZZZ" + // fr-wf
-            "ZZZ" + // fr-yt
-            "ZZZ" + // fur
-            "ZZZ" + // fur-it
-            "FYN" + // fy
-            "FYN" + // fy-nl
-            "IRE" + // ga
-            "IRE" + // ga-ie
-            "GLA" + // gd
-            "GLA" + // gd-gb
-            "GLC" + // gl
-            "GLC" + // gl-es
-            "GRN" + // gn
-            "GRN" + // gn-py
-            "ZZZ" + // gsw
-            "ZZZ" + // gsw-ch
-            "GSW" + // gsw-fr
-            "ZZZ" + // gsw-li
-            "GUJ" + // gu
-            "GUJ" + // gu-in
-            "ZZZ" + // guz
-            "ZZZ" + // guz-ke
-            "ZZZ" + // gv
-            "ZZZ" + // gv-im
-            "HAU" + // ha
-            "HAU" + // ha-latn
-            "ZZZ" + // ha-latn-gh
-            "ZZZ" + // ha-latn-ne
-            "HAU" + // ha-latn-ng
-            "HAW" + // haw
-            "HAW" + // haw-us
-            "HEB" + // he
-            "HEB" + // he-il
-            "HIN" + // hi
-            "HIN" + // hi-in
-            "HRV" + // hr
-            "HRB" + // hr-ba
-            "HRV" + // hr-hr
-            "HSB" + // hsb
-            "HSB" + // hsb-de
-            "HUN" + // hu
-            "HUN" + // hu-hu
-            "HUN" + // hu-hu_technl
-            "HYE" + // hy
-            "HYE" + // hy-am
-            "ZZZ" + // ia
-            "ZZZ" + // ia-001
-            "ZZZ" + // ia-fr
-            "ZZZ" + // ibb
-            "ZZZ" + // ibb-ng
-            "IND" + // id
-            "IND" + // id-id
-            "IBO" + // ig
-            "IBO" + // ig-ng
-            "III" + // ii
-            "III" + // ii-cn
-            "ISL" + // is
-            "ISL" + // is-is
-            "ITA" + // it
-            "ITS" + // it-ch
-            "ITA" + // it-it
-            "ZZZ" + // it-sm
-            "IUK" + // iu
-            "IUS" + // iu-cans
-            "IUS" + // iu-cans-ca
-            "IUK" + // iu-latn
-            "IUK" + // iu-latn-ca
-            "JPN" + // ja
-            "JPN" + // ja-jp
-            "JPN" + // ja-jp_radstr
-            "ZZZ" + // jgo
-            "ZZZ" + // jgo-cm
-            "ZZZ" + // jmc
-            "ZZZ" + // jmc-tz
-            "JAV" + // jv
-            "ZZZ" + // jv-java
-            "ZZZ" + // jv-java-id
-            "JAV" + // jv-latn
-            "JAV" + // jv-latn-id
-            "KAT" + // ka
-            "KAT" + // ka-ge
-            "KAT" + // ka-ge_modern
-            "ZZZ" + // kab
-            "ZZZ" + // kab-dz
-            "ZZZ" + // kam
-            "ZZZ" + // kam-ke
-            "ZZZ" + // kde
-            "ZZZ" + // kde-tz
-            "ZZZ" + // kea
-            "ZZZ" + // kea-cv
-            "ZZZ" + // khq
-            "ZZZ" + // khq-ml
-            "ZZZ" + // ki
-            "ZZZ" + // ki-ke
-            "KKZ" + // kk
-            "KKZ" + // kk-kz
-            "ZZZ" + // kkj
-            "ZZZ" + // kkj-cm
-            "KAL" + // kl
-            "KAL" + // kl-gl
-            "ZZZ" + // kln
-            "ZZZ" + // kln-ke
-            "KHM" + // km
-            "KHM" + // km-kh
-            "KDI" + // kn
-            "KDI" + // kn-in
-            "KOR" + // ko
-            "ZZZ" + // ko-kp
-            "KOR" + // ko-kr
-            "KNK" + // kok
-            "KNK" + // kok-in
-            "ZZZ" + // kr
-            "ZZZ" + // kr-ng
-            "ZZZ" + // ks
-            "ZZZ" + // ks-arab
-            "ZZZ" + // ks-arab-in
-            "ZZZ" + // ks-deva
-            "ZZZ" + // ks-deva-in
-            "ZZZ" + // ksb
-            "ZZZ" + // ksb-tz
-            "ZZZ" + // ksf
-            "ZZZ" + // ksf-cm
-            "ZZZ" + // ksh
-            "ZZZ" + // ksh-de
-            "KUR" + // ku
-            "KUR" + // ku-arab
-            "KUR" + // ku-arab-iq
-            "ZZZ" + // ku-arab-ir
-            "ZZZ" + // kw
-            "ZZZ" + // kw-gb
-            "KYR" + // ky
-            "KYR" + // ky-kg
-            "ZZZ" + // la
-            "ZZZ" + // la-001
-            "ZZZ" + // lag
-            "ZZZ" + // lag-tz
-            "LBX" + // lb
-            "LBX" + // lb-lu
-            "ZZZ" + // lg
-            "ZZZ" + // lg-ug
-            "ZZZ" + // lkt
-            "ZZZ" + // lkt-us
-            "ZZZ" + // ln
-            "ZZZ" + // ln-ao
-            "ZZZ" + // ln-cd
-            "ZZZ" + // ln-cf
-            "ZZZ" + // ln-cg
-            "LAO" + // lo
-            "LAO" + // lo-la
-            "ZZZ" + // lrc
-            "ZZZ" + // lrc-iq
-            "ZZZ" + // lrc-ir
-            "LTH" + // lt
-            "LTH" + // lt-lt
-            "ZZZ" + // lu
-            "ZZZ" + // lu-cd
-            "ZZZ" + // luo
-            "ZZZ" + // luo-ke
-            "ZZZ" + // luy
-            "ZZZ" + // luy-ke
-            "LVI" + // lv
-            "LVI" + // lv-lv
-            "ZZZ" + // mas
-            "ZZZ" + // mas-ke
-            "ZZZ" + // mas-tz
-            "ZZZ" + // mer
-            "ZZZ" + // mer-ke
-            "ZZZ" + // mfe
-            "ZZZ" + // mfe-mu
-            "MLG" + // mg
-            "MLG" + // mg-mg
-            "ZZZ" + // mgh
-            "ZZZ" + // mgh-mz
-            "ZZZ" + // mgo
-            "ZZZ" + // mgo-cm
-            "MRI" + // mi
-            "MRI" + // mi-nz
-            "MKI" + // mk
-            "MKI" + // mk-mk
-            "MYM" + // ml
-            "MYM" + // ml-in
-            "MNN" + // mn
-            "MNN" + // mn-cyrl
-            "MNN" + // mn-mn
-            "MNG" + // mn-mong
-            "MNG" + // mn-mong-cn
-            "MNM" + // mn-mong-mn
-            "ZZZ" + // mni
-            "ZZZ" + // mni-in
-            "MWK" + // moh
-            "MWK" + // moh-ca
-            "MAR" + // mr
-            "MAR" + // mr-in
-            "MSL" + // ms
-            "MSB" + // ms-bn
-            "MSL" + // ms-my
-            "ZZZ" + // ms-sg
-            "MLT" + // mt
-            "MLT" + // mt-mt
-            "ZZZ" + // mua
-            "ZZZ" + // mua-cm
-            "MYA" + // my
-            "MYA" + // my-mm
-            "ZZZ" + // mzn
-            "ZZZ" + // mzn-ir
-            "ZZZ" + // naq
-            "ZZZ" + // naq-na
-            "NOR" + // nb
-            "NOR" + // nb-no
-            "ZZZ" + // nb-sj
-            "ZZZ" + // nd
-            "ZZZ" + // nd-zw
-            "ZZZ" + // nds
-            "ZZZ" + // nds-de
-            "ZZZ" + // nds-nl
-            "NEP" + // ne
-            "NEI" + // ne-in
-            "NEP" + // ne-np
-            "NLD" + // nl
-            "ZZZ" + // nl-aw
-            "NLB" + // nl-be
-            "ZZZ" + // nl-bq
-            "ZZZ" + // nl-cw
-            "NLD" + // nl-nl
-            "ZZZ" + // nl-sr
-            "ZZZ" + // nl-sx
-            "ZZZ" + // nmg
-            "ZZZ" + // nmg-cm
-            "NON" + // nn
-            "NON" + // nn-no
-            "ZZZ" + // nnh
-            "ZZZ" + // nnh-cm
-            "NOR" + // no
-            "NQO" + // nqo
-            "NQO" + // nqo-gn
-            "ZZZ" + // nr
-            "ZZZ" + // nr-za
-            "NSO" + // nso
-            "NSO" + // nso-za
-            "ZZZ" + // nus
-            "ZZZ" + // nus-ss
-            "ZZZ" + // nyn
-            "ZZZ" + // nyn-ug
-            "OCI" + // oc
-            "OCI" + // oc-fr
-            "ORM" + // om
-            "ORM" + // om-et
-            "ZZZ" + // om-ke
-            "ORI" + // or
-            "ORI" + // or-in
-            "ZZZ" + // os
-            "ZZZ" + // os-ge
-            "ZZZ" + // os-ru
-            "PAN" + // pa
-            "PAP" + // pa-arab
-            "PAP" + // pa-arab-pk
-            "PAN" + // pa-in
-            "ZZZ" + // pap
-            "ZZZ" + // pap-029
-            "PLK" + // pl
-            "PLK" + // pl-pl
-            "ZZZ" + // prg
-            "ZZZ" + // prg-001
-            "PRS" + // prs
-            "PRS" + // prs-af
-            "PAS" + // ps
-            "PAS" + // ps-af
-            "PTB" + // pt
-            "PTA" + // pt-ao
-            "PTB" + // pt-br
-            "ZZZ" + // pt-ch
-            "ZZZ" + // pt-cv
-            "ZZZ" + // pt-gq
-            "ZZZ" + // pt-gw
-            "ZZZ" + // pt-lu
-            "ZZZ" + // pt-mo
-            "ZZZ" + // pt-mz
-            "PTG" + // pt-pt
-            "ZZZ" + // pt-st
-            "ZZZ" + // pt-tl
-            "ENJ" + // qps-latn-x-sh
-            "ENU" + // qps-ploc
-            "JPN" + // qps-ploca
-            "ARA" + // qps-plocm
-            "QUT" + // quc
-            "QUT" + // quc-latn
-            "QUT" + // quc-latn-gt
-            "QUB" + // quz
-            "QUB" + // quz-bo
-            "QUE" + // quz-ec
-            "QUP" + // quz-pe
-            "RMC" + // rm
-            "RMC" + // rm-ch
-            "ZZZ" + // rn
-            "ZZZ" + // rn-bi
-            "ROM" + // ro
-            "ROD" + // ro-md
-            "ROM" + // ro-ro
-            "ZZZ" + // rof
-            "ZZZ" + // rof-tz
-            "RUS" + // ru
-            "ZZZ" + // ru-by
-            "ZZZ" + // ru-kg
-            "ZZZ" + // ru-kz
-            "RUM" + // ru-md
-            "RUS" + // ru-ru
-            "ZZZ" + // ru-ua
-            "KIN" + // rw
-            "KIN" + // rw-rw
-            "ZZZ" + // rwk
-            "ZZZ" + // rwk-tz
-            "SAN" + // sa
-            "SAN" + // sa-in
-            "SAH" + // sah
-            "SAH" + // sah-ru
-            "ZZZ" + // saq
-            "ZZZ" + // saq-ke
-            "ZZZ" + // sbp
-            "ZZZ" + // sbp-tz
-            "SIP" + // sd
-            "SIP" + // sd-arab
-            "SIP" + // sd-arab-pk
-            "ZZZ" + // sd-deva
-            "ZZZ" + // sd-deva-in
-            "SME" + // se
-            "SMG" + // se-fi
-            "SME" + // se-no
-            "SMF" + // se-se
-            "ZZZ" + // seh
-            "ZZZ" + // seh-mz
-            "ZZZ" + // ses
-            "ZZZ" + // ses-ml
-            "ZZZ" + // sg
-            "ZZZ" + // sg-cf
-            "ZZZ" + // shi
-            "ZZZ" + // shi-latn
-            "ZZZ" + // shi-latn-ma
-            "ZZZ" + // shi-tfng
-            "ZZZ" + // shi-tfng-ma
-            "SIN" + // si
-            "SIN" + // si-lk
-            "SKY" + // sk
-            "SKY" + // sk-sk
-            "SLV" + // sl
-            "SLV" + // sl-si
-            "SMB" + // sma
-            "SMA" + // sma-no
-            "SMB" + // sma-se
-            "SMK" + // smj
-            "SMJ" + // smj-no
-            "SMK" + // smj-se
-            "SMN" + // smn
-            "SMN" + // smn-fi
-            "SMS" + // sms
-            "SMS" + // sms-fi
-            "SNA" + // sn
-            "SNA" + // sn-latn
-            "SNA" + // sn-latn-zw
-            "SOM" + // so
-            "ZZZ" + // so-dj
-            "ZZZ" + // so-et
-            "ZZZ" + // so-ke
-            "SOM" + // so-so
-            "SQI" + // sq
-            "SQI" + // sq-al
-            "ZZZ" + // sq-mk
-            "ZZZ" + // sq-xk
-            "SRM" + // sr
-            "SRO" + // sr-cyrl
-            "SRN" + // sr-cyrl-ba
-            "SRB" + // sr-cyrl-cs
-            "SRQ" + // sr-cyrl-me
-            "SRO" + // sr-cyrl-rs
-            "ZZZ" + // sr-cyrl-xk
-            "SRM" + // sr-latn
-            "SRS" + // sr-latn-ba
-            "SRL" + // sr-latn-cs
-            "SRP" + // sr-latn-me
-            "SRM" + // sr-latn-rs
-            "ZZZ" + // sr-latn-xk
-            "ZZZ" + // ss
-            "ZZZ" + // ss-sz
-            "ZZZ" + // ss-za
-            "ZZZ" + // ssy
-            "ZZZ" + // ssy-er
-            "SOT" + // st
-            "ZZZ" + // st-ls
-            "SOT" + // st-za
-            "SVE" + // sv
-            "ZZZ" + // sv-ax
-            "SVF" + // sv-fi
-            "SVE" + // sv-se
-            "SWK" + // sw
-            "ZZZ" + // sw-cd
-            "SWK" + // sw-ke
-            "ZZZ" + // sw-tz
-            "ZZZ" + // sw-ug
-            "ZZZ" + // swc
-            "ZZZ" + // swc-cd
-            "SYR" + // syr
-            "SYR" + // syr-sy
-            "TAI" + // ta
-            "TAI" + // ta-in
-            "TAM" + // ta-lk
-            "ZZZ" + // ta-my
-            "ZZZ" + // ta-sg
-            "TEL" + // te
-            "TEL" + // te-in
-            "ZZZ" + // teo
-            "ZZZ" + // teo-ke
-            "ZZZ" + // teo-ug
-            "TAJ" + // tg
-            "TAJ" + // tg-cyrl
-            "TAJ" + // tg-cyrl-tj
-            "THA" + // th
-            "THA" + // th-th
-            "TIR" + // ti
-            "TIR" + // ti-er
-            "TIE" + // ti-et
-            "ZZZ" + // tig
-            "ZZZ" + // tig-er
-            "TUK" + // tk
-            "TUK" + // tk-tm
-            "TSN" + // tn
-            "TSB" + // tn-bw
-            "TSN" + // tn-za
-            "ZZZ" + // to
-            "ZZZ" + // to-to
-            "TRK" + // tr
-            "ZZZ" + // tr-cy
-            "TRK" + // tr-tr
-            "TSO" + // ts
-            "TSO" + // ts-za
-            "TTT" + // tt
-            "TTT" + // tt-ru
-            "ZZZ" + // twq
-            "ZZZ" + // twq-ne
-            "TZA" + // tzm
-            "ZZZ" + // tzm-arab
-            "ZZZ" + // tzm-arab-ma
-            "TZA" + // tzm-latn
-            "TZA" + // tzm-latn-dz
-            "ZZZ" + // tzm-latn-ma
-            "TZM" + // tzm-tfng
-            "TZM" + // tzm-tfng-ma
-            "UIG" + // ug
-            "UIG" + // ug-cn
-            "UKR" + // uk
-            "UKR" + // uk-ua
-            "URD" + // ur
-            "URI" + // ur-in
-            "URD" + // ur-pk
-            "UZB" + // uz
-            "ZZZ" + // uz-arab
-            "ZZZ" + // uz-arab-af
-            "UZC" + // uz-cyrl
-            "UZC" + // uz-cyrl-uz
-            "UZB" + // uz-latn
-            "UZB" + // uz-latn-uz
-            "ZZZ" + // vai
-            "ZZZ" + // vai-latn
-            "ZZZ" + // vai-latn-lr
-            "ZZZ" + // vai-vaii
-            "ZZZ" + // vai-vaii-lr
-            "ZZZ" + // ve
-            "ZZZ" + // ve-za
-            "VIT" + // vi
-            "VIT" + // vi-vn
-            "ZZZ" + // vo
-            "ZZZ" + // vo-001
-            "ZZZ" + // vun
-            "ZZZ" + // vun-tz
-            "ZZZ" + // wae
-            "ZZZ" + // wae-ch
-            "ZZZ" + // wal
-            "ZZZ" + // wal-et
-            "WOL" + // wo
-            "WOL" + // wo-sn
-            "IVL" + // x-iv_mathan
-            "XHO" + // xh
-            "XHO" + // xh-za
-            "ZZZ" + // xog
-            "ZZZ" + // xog-ug
-            "ZZZ" + // yav
-            "ZZZ" + // yav-cm
-            "ZZZ" + // yi
-            "ZZZ" + // yi-001
-            "YOR" + // yo
-            "ZZZ" + // yo-bj
-            "YOR" + // yo-ng
-            "ZZZ" + // yue
-            "ZZZ" + // yue-hk
-            "ZHG" + // zgh
-            "ZHG" + // zgh-tfng
-            "ZHG" + // zgh-tfng-ma
-            "CHS" + // zh
-            "CHS" + // zh-chs
-            "CHT" + // zh-cht
-            "CHS" + // zh-cn
-            "CHS" + // zh-cn_phoneb
-            "CHS" + // zh-cn_stroke
-            "CHS" + // zh-hans
-            "ZZZ" + // zh-hans-hk
-            "ZZZ" + // zh-hans-mo
-            "ZHH" + // zh-hant
-            "ZHH" + // zh-hk
-            "ZHH" + // zh-hk_radstr
-            "ZHM" + // zh-mo
-            "ZHM" + // zh-mo_radstr
-            "ZHM" + // zh-mo_stroke
-            "ZHI" + // zh-sg
-            "ZHI" + // zh-sg_phoneb
-            "ZHI" + // zh-sg_stroke
-            "CHT" + // zh-tw
-            "CHT" + // zh-tw_pronun
-            "CHT" + // zh-tw_radstr
-            "ZUL" + // zu
-            "ZUL";  // zu-za
+        private const int LcidSortPrefix1Index = 1736;
+        private const int LcidSortPrefix2Index = 1752;
+        private const int LcidSortPrefix3Index = 1764;
+        private const int LcidSortPrefix4Index = 1768;
+        private const int LcidSortPrefix5Index = 1784;
 
-        private const int NUMERIC_LOCALE_DATA_COUNT_PER_ROW = 9;
+        private const int NumericLocaleDataBytesPerRow = 18;
+
+        // ThreeLetterWindowsLanguageName is string containing 3-letter Windows language names
+        // every 3-characters entry is matching locale name entry in CultureNames
+        private static ReadOnlySpan<byte> ThreeLetterWindowsLanguageName => new byte[CulturesCount * 3]
+        {
+            (byte)'Z', (byte)'Z', (byte)'Z',  // aa
+            (byte)'Z', (byte)'Z', (byte)'Z',  // aa-dj
+            (byte)'Z', (byte)'Z', (byte)'Z',  // aa-er
+            (byte)'Z', (byte)'Z', (byte)'Z',  // aa-et
+            (byte)'A', (byte)'F', (byte)'K',  // af
+            (byte)'Z', (byte)'Z', (byte)'Z',  // af-na
+            (byte)'A', (byte)'F', (byte)'K',  // af-za
+            (byte)'Z', (byte)'Z', (byte)'Z',  // agq
+            (byte)'Z', (byte)'Z', (byte)'Z',  // agq-cm
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ak
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ak-gh
+            (byte)'A', (byte)'M', (byte)'H',  // am
+            (byte)'A', (byte)'M', (byte)'H',  // am-et
+            (byte)'A', (byte)'R', (byte)'A',  // ar
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ar-001
+            (byte)'A', (byte)'R', (byte)'U',  // ar-ae
+            (byte)'A', (byte)'R', (byte)'H',  // ar-bh
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ar-dj
+            (byte)'A', (byte)'R', (byte)'G',  // ar-dz
+            (byte)'A', (byte)'R', (byte)'E',  // ar-eg
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ar-er
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ar-il
+            (byte)'A', (byte)'R', (byte)'I',  // ar-iq
+            (byte)'A', (byte)'R', (byte)'J',  // ar-jo
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ar-km
+            (byte)'A', (byte)'R', (byte)'K',  // ar-kw
+            (byte)'A', (byte)'R', (byte)'B',  // ar-lb
+            (byte)'A', (byte)'R', (byte)'L',  // ar-ly
+            (byte)'A', (byte)'R', (byte)'M',  // ar-ma
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ar-mr
+            (byte)'A', (byte)'R', (byte)'O',  // ar-om
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ar-ps
+            (byte)'A', (byte)'R', (byte)'Q',  // ar-qa
+            (byte)'A', (byte)'R', (byte)'A',  // ar-sa
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ar-sd
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ar-so
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ar-ss
+            (byte)'A', (byte)'R', (byte)'S',  // ar-sy
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ar-td
+            (byte)'A', (byte)'R', (byte)'T',  // ar-tn
+            (byte)'A', (byte)'R', (byte)'Y',  // ar-ye
+            (byte)'M', (byte)'P', (byte)'D',  // arn
+            (byte)'M', (byte)'P', (byte)'D',  // arn-cl
+            (byte)'A', (byte)'S', (byte)'M',  // as
+            (byte)'A', (byte)'S', (byte)'M',  // as-in
+            (byte)'Z', (byte)'Z', (byte)'Z',  // asa
+            (byte)'Z', (byte)'Z', (byte)'Z',  // asa-tz
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ast
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ast-es
+            (byte)'A', (byte)'Z', (byte)'E',  // az
+            (byte)'A', (byte)'Z', (byte)'C',  // az-cyrl
+            (byte)'A', (byte)'Z', (byte)'C',  // az-cyrl-az
+            (byte)'A', (byte)'Z', (byte)'E',  // az-latn
+            (byte)'A', (byte)'Z', (byte)'E',  // az-latn-az
+            (byte)'B', (byte)'A', (byte)'S',  // ba
+            (byte)'B', (byte)'A', (byte)'S',  // ba-ru
+            (byte)'Z', (byte)'Z', (byte)'Z',  // bas
+            (byte)'Z', (byte)'Z', (byte)'Z',  // bas-cm
+            (byte)'B', (byte)'E', (byte)'L',  // be
+            (byte)'B', (byte)'E', (byte)'L',  // be-by
+            (byte)'Z', (byte)'Z', (byte)'Z',  // bem
+            (byte)'Z', (byte)'Z', (byte)'Z',  // bem-zm
+            (byte)'Z', (byte)'Z', (byte)'Z',  // bez
+            (byte)'Z', (byte)'Z', (byte)'Z',  // bez-tz
+            (byte)'B', (byte)'G', (byte)'R',  // bg
+            (byte)'B', (byte)'G', (byte)'R',  // bg-bg
+            (byte)'Z', (byte)'Z', (byte)'Z',  // bin
+            (byte)'Z', (byte)'Z', (byte)'Z',  // bin-ng
+            (byte)'Z', (byte)'Z', (byte)'Z',  // bm
+            (byte)'Z', (byte)'Z', (byte)'Z',  // bm-latn
+            (byte)'Z', (byte)'Z', (byte)'Z',  // bm-latn-ml
+            (byte)'B', (byte)'N', (byte)'B',  // bn
+            (byte)'B', (byte)'N', (byte)'B',  // bn-bd
+            (byte)'B', (byte)'N', (byte)'G',  // bn-in
+            (byte)'B', (byte)'O', (byte)'B',  // bo
+            (byte)'B', (byte)'O', (byte)'B',  // bo-cn
+            (byte)'Z', (byte)'Z', (byte)'Z',  // bo-in
+            (byte)'B', (byte)'R', (byte)'E',  // br
+            (byte)'B', (byte)'R', (byte)'E',  // br-fr
+            (byte)'Z', (byte)'Z', (byte)'Z',  // brx
+            (byte)'Z', (byte)'Z', (byte)'Z',  // brx-in
+            (byte)'B', (byte)'S', (byte)'B',  // bs
+            (byte)'B', (byte)'S', (byte)'C',  // bs-cyrl
+            (byte)'B', (byte)'S', (byte)'C',  // bs-cyrl-ba
+            (byte)'B', (byte)'S', (byte)'B',  // bs-latn
+            (byte)'B', (byte)'S', (byte)'B',  // bs-latn-ba
+            (byte)'Z', (byte)'Z', (byte)'Z',  // byn
+            (byte)'Z', (byte)'Z', (byte)'Z',  // byn-er
+            (byte)'C', (byte)'A', (byte)'T',  // ca
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ca-ad
+            (byte)'C', (byte)'A', (byte)'T',  // ca-es
+            (byte)'V', (byte)'A', (byte)'L',  // ca-es-valencia
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ca-fr
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ca-it
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ce
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ce-ru
+            (byte)'Z', (byte)'Z', (byte)'Z',  // cgg
+            (byte)'Z', (byte)'Z', (byte)'Z',  // cgg-ug
+            (byte)'C', (byte)'R', (byte)'E',  // chr
+            (byte)'C', (byte)'R', (byte)'E',  // chr-cher
+            (byte)'C', (byte)'R', (byte)'E',  // chr-cher-us
+            (byte)'C', (byte)'O', (byte)'S',  // co
+            (byte)'C', (byte)'O', (byte)'S',  // co-fr
+            (byte)'C', (byte)'S', (byte)'Y',  // cs
+            (byte)'C', (byte)'S', (byte)'Y',  // cs-cz
+            (byte)'Z', (byte)'Z', (byte)'Z',  // cu
+            (byte)'Z', (byte)'Z', (byte)'Z',  // cu-ru
+            (byte)'C', (byte)'Y', (byte)'M',  // cy
+            (byte)'C', (byte)'Y', (byte)'M',  // cy-gb
+            (byte)'D', (byte)'A', (byte)'N',  // da
+            (byte)'D', (byte)'A', (byte)'N',  // da-dk
+            (byte)'Z', (byte)'Z', (byte)'Z',  // da-gl
+            (byte)'Z', (byte)'Z', (byte)'Z',  // dav
+            (byte)'Z', (byte)'Z', (byte)'Z',  // dav-ke
+            (byte)'D', (byte)'E', (byte)'U',  // de
+            (byte)'D', (byte)'E', (byte)'A',  // de-at
+            (byte)'Z', (byte)'Z', (byte)'Z',  // de-be
+            (byte)'D', (byte)'E', (byte)'S',  // de-ch
+            (byte)'D', (byte)'E', (byte)'U',  // de-de
+            (byte)'D', (byte)'E', (byte)'U',  // de-de_phoneb
+            (byte)'Z', (byte)'Z', (byte)'Z',  // de-it
+            (byte)'D', (byte)'E', (byte)'C',  // de-li
+            (byte)'D', (byte)'E', (byte)'L',  // de-lu
+            (byte)'Z', (byte)'Z', (byte)'Z',  // dje
+            (byte)'Z', (byte)'Z', (byte)'Z',  // dje-ne
+            (byte)'D', (byte)'S', (byte)'B',  // dsb
+            (byte)'D', (byte)'S', (byte)'B',  // dsb-de
+            (byte)'Z', (byte)'Z', (byte)'Z',  // dua
+            (byte)'Z', (byte)'Z', (byte)'Z',  // dua-cm
+            (byte)'D', (byte)'I', (byte)'V',  // dv
+            (byte)'D', (byte)'I', (byte)'V',  // dv-mv
+            (byte)'Z', (byte)'Z', (byte)'Z',  // dyo
+            (byte)'Z', (byte)'Z', (byte)'Z',  // dyo-sn
+            (byte)'Z', (byte)'Z', (byte)'Z',  // dz
+            (byte)'Z', (byte)'Z', (byte)'Z',  // dz-bt
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ebu
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ebu-ke
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ee
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ee-gh
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ee-tg
+            (byte)'E', (byte)'L', (byte)'L',  // el
+            (byte)'Z', (byte)'Z', (byte)'Z',  // el-cy
+            (byte)'E', (byte)'L', (byte)'L',  // el-gr
+            (byte)'E', (byte)'N', (byte)'U',  // en
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-001
+            (byte)'E', (byte)'N', (byte)'B',  // en-029
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-150
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-ag
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-ai
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-as
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-at
+            (byte)'E', (byte)'N', (byte)'A',  // en-au
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-bb
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-be
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-bi
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-bm
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-bs
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-bw
+            (byte)'E', (byte)'N', (byte)'L',  // en-bz
+            (byte)'E', (byte)'N', (byte)'C',  // en-ca
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-cc
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-ch
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-ck
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-cm
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-cx
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-cy
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-de
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-dk
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-dm
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-er
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-fi
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-fj
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-fk
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-fm
+            (byte)'E', (byte)'N', (byte)'G',  // en-gb
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-gd
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-gg
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-gh
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-gi
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-gm
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-gu
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-gy
+            (byte)'E', (byte)'N', (byte)'H',  // en-hk
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-id
+            (byte)'E', (byte)'N', (byte)'I',  // en-ie
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-il
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-im
+            (byte)'E', (byte)'N', (byte)'N',  // en-in
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-io
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-je
+            (byte)'E', (byte)'N', (byte)'J',  // en-jm
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-ke
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-ki
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-kn
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-ky
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-lc
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-lr
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-ls
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-mg
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-mh
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-mo
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-mp
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-ms
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-mt
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-mu
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-mw
+            (byte)'E', (byte)'N', (byte)'M',  // en-my
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-na
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-nf
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-ng
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-nl
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-nr
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-nu
+            (byte)'E', (byte)'N', (byte)'Z',  // en-nz
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-pg
+            (byte)'E', (byte)'N', (byte)'P',  // en-ph
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-pk
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-pn
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-pr
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-pw
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-rw
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-sb
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-sc
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-sd
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-se
+            (byte)'E', (byte)'N', (byte)'E',  // en-sg
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-sh
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-si
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-sl
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-ss
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-sx
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-sz
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-tc
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-tk
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-to
+            (byte)'E', (byte)'N', (byte)'T',  // en-tt
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-tv
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-tz
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-ug
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-um
+            (byte)'E', (byte)'N', (byte)'U',  // en-us
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-vc
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-vg
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-vi
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-vu
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-ws
+            (byte)'E', (byte)'N', (byte)'S',  // en-za
+            (byte)'Z', (byte)'Z', (byte)'Z',  // en-zm
+            (byte)'E', (byte)'N', (byte)'W',  // en-zw
+            (byte)'Z', (byte)'Z', (byte)'Z',  // eo
+            (byte)'Z', (byte)'Z', (byte)'Z',  // eo-001
+            (byte)'E', (byte)'S', (byte)'P',  // es
+            (byte)'E', (byte)'S', (byte)'J',  // es-419
+            (byte)'E', (byte)'S', (byte)'S',  // es-ar
+            (byte)'E', (byte)'S', (byte)'B',  // es-bo
+            (byte)'Z', (byte)'Z', (byte)'Z',  // es-br
+            (byte)'E', (byte)'S', (byte)'L',  // es-cl
+            (byte)'E', (byte)'S', (byte)'O',  // es-co
+            (byte)'E', (byte)'S', (byte)'C',  // es-cr
+            (byte)'E', (byte)'S', (byte)'K',  // es-cu
+            (byte)'E', (byte)'S', (byte)'D',  // es-do
+            (byte)'E', (byte)'S', (byte)'F',  // es-ec
+            (byte)'E', (byte)'S', (byte)'N',  // es-es
+            (byte)'E', (byte)'S', (byte)'P',  // es-es_tradnl
+            (byte)'Z', (byte)'Z', (byte)'Z',  // es-gq
+            (byte)'E', (byte)'S', (byte)'G',  // es-gt
+            (byte)'E', (byte)'S', (byte)'H',  // es-hn
+            (byte)'E', (byte)'S', (byte)'M',  // es-mx
+            (byte)'E', (byte)'S', (byte)'I',  // es-ni
+            (byte)'E', (byte)'S', (byte)'A',  // es-pa
+            (byte)'E', (byte)'S', (byte)'R',  // es-pe
+            (byte)'Z', (byte)'Z', (byte)'Z',  // es-ph
+            (byte)'E', (byte)'S', (byte)'U',  // es-pr
+            (byte)'E', (byte)'S', (byte)'Z',  // es-py
+            (byte)'E', (byte)'S', (byte)'E',  // es-sv
+            (byte)'E', (byte)'S', (byte)'T',  // es-us
+            (byte)'E', (byte)'S', (byte)'Y',  // es-uy
+            (byte)'E', (byte)'S', (byte)'V',  // es-ve
+            (byte)'E', (byte)'T', (byte)'I',  // et
+            (byte)'E', (byte)'T', (byte)'I',  // et-ee
+            (byte)'E', (byte)'U', (byte)'Q',  // eu
+            (byte)'E', (byte)'U', (byte)'Q',  // eu-es
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ewo
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ewo-cm
+            (byte)'F', (byte)'A', (byte)'R',  // fa
+            (byte)'F', (byte)'A', (byte)'R',  // fa-ir
+            (byte)'F', (byte)'U', (byte)'L',  // ff
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ff-cm
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ff-gn
+            (byte)'F', (byte)'U', (byte)'L',  // ff-latn
+            (byte)'F', (byte)'U', (byte)'L',  // ff-latn-sn
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ff-mr
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ff-ng
+            (byte)'F', (byte)'I', (byte)'N',  // fi
+            (byte)'F', (byte)'I', (byte)'N',  // fi-fi
+            (byte)'F', (byte)'P', (byte)'O',  // fil
+            (byte)'F', (byte)'P', (byte)'O',  // fil-ph
+            (byte)'F', (byte)'O', (byte)'S',  // fo
+            (byte)'Z', (byte)'Z', (byte)'Z',  // fo-dk
+            (byte)'F', (byte)'O', (byte)'S',  // fo-fo
+            (byte)'F', (byte)'R', (byte)'A',  // fr
+            (byte)'Z', (byte)'Z', (byte)'Z',  // fr-029
+            (byte)'F', (byte)'R', (byte)'B',  // fr-be
+            (byte)'Z', (byte)'Z', (byte)'Z',  // fr-bf
+            (byte)'Z', (byte)'Z', (byte)'Z',  // fr-bi
+            (byte)'Z', (byte)'Z', (byte)'Z',  // fr-bj
+            (byte)'Z', (byte)'Z', (byte)'Z',  // fr-bl
+            (byte)'F', (byte)'R', (byte)'C',  // fr-ca
+            (byte)'F', (byte)'R', (byte)'D',  // fr-cd
+            (byte)'Z', (byte)'Z', (byte)'Z',  // fr-cf
+            (byte)'Z', (byte)'Z', (byte)'Z',  // fr-cg
+            (byte)'F', (byte)'R', (byte)'S',  // fr-ch
+            (byte)'F', (byte)'R', (byte)'I',  // fr-ci
+            (byte)'F', (byte)'R', (byte)'E',  // fr-cm
+            (byte)'Z', (byte)'Z', (byte)'Z',  // fr-dj
+            (byte)'Z', (byte)'Z', (byte)'Z',  // fr-dz
+            (byte)'F', (byte)'R', (byte)'A',  // fr-fr
+            (byte)'Z', (byte)'Z', (byte)'Z',  // fr-ga
+            (byte)'Z', (byte)'Z', (byte)'Z',  // fr-gf
+            (byte)'Z', (byte)'Z', (byte)'Z',  // fr-gn
+            (byte)'Z', (byte)'Z', (byte)'Z',  // fr-gp
+            (byte)'Z', (byte)'Z', (byte)'Z',  // fr-gq
+            (byte)'F', (byte)'R', (byte)'H',  // fr-ht
+            (byte)'Z', (byte)'Z', (byte)'Z',  // fr-km
+            (byte)'F', (byte)'R', (byte)'L',  // fr-lu
+            (byte)'F', (byte)'R', (byte)'O',  // fr-ma
+            (byte)'F', (byte)'R', (byte)'M',  // fr-mc
+            (byte)'Z', (byte)'Z', (byte)'Z',  // fr-mf
+            (byte)'Z', (byte)'Z', (byte)'Z',  // fr-mg
+            (byte)'F', (byte)'R', (byte)'F',  // fr-ml
+            (byte)'Z', (byte)'Z', (byte)'Z',  // fr-mq
+            (byte)'Z', (byte)'Z', (byte)'Z',  // fr-mr
+            (byte)'Z', (byte)'Z', (byte)'Z',  // fr-mu
+            (byte)'Z', (byte)'Z', (byte)'Z',  // fr-nc
+            (byte)'Z', (byte)'Z', (byte)'Z',  // fr-ne
+            (byte)'Z', (byte)'Z', (byte)'Z',  // fr-pf
+            (byte)'Z', (byte)'Z', (byte)'Z',  // fr-pm
+            (byte)'F', (byte)'R', (byte)'R',  // fr-re
+            (byte)'Z', (byte)'Z', (byte)'Z',  // fr-rw
+            (byte)'Z', (byte)'Z', (byte)'Z',  // fr-sc
+            (byte)'F', (byte)'R', (byte)'N',  // fr-sn
+            (byte)'Z', (byte)'Z', (byte)'Z',  // fr-sy
+            (byte)'Z', (byte)'Z', (byte)'Z',  // fr-td
+            (byte)'Z', (byte)'Z', (byte)'Z',  // fr-tg
+            (byte)'Z', (byte)'Z', (byte)'Z',  // fr-tn
+            (byte)'Z', (byte)'Z', (byte)'Z',  // fr-vu
+            (byte)'Z', (byte)'Z', (byte)'Z',  // fr-wf
+            (byte)'Z', (byte)'Z', (byte)'Z',  // fr-yt
+            (byte)'Z', (byte)'Z', (byte)'Z',  // fur
+            (byte)'Z', (byte)'Z', (byte)'Z',  // fur-it
+            (byte)'F', (byte)'Y', (byte)'N',  // fy
+            (byte)'F', (byte)'Y', (byte)'N',  // fy-nl
+            (byte)'I', (byte)'R', (byte)'E',  // ga
+            (byte)'I', (byte)'R', (byte)'E',  // ga-ie
+            (byte)'G', (byte)'L', (byte)'A',  // gd
+            (byte)'G', (byte)'L', (byte)'A',  // gd-gb
+            (byte)'G', (byte)'L', (byte)'C',  // gl
+            (byte)'G', (byte)'L', (byte)'C',  // gl-es
+            (byte)'G', (byte)'R', (byte)'N',  // gn
+            (byte)'G', (byte)'R', (byte)'N',  // gn-py
+            (byte)'Z', (byte)'Z', (byte)'Z',  // gsw
+            (byte)'Z', (byte)'Z', (byte)'Z',  // gsw-ch
+            (byte)'G', (byte)'S', (byte)'W',  // gsw-fr
+            (byte)'Z', (byte)'Z', (byte)'Z',  // gsw-li
+            (byte)'G', (byte)'U', (byte)'J',  // gu
+            (byte)'G', (byte)'U', (byte)'J',  // gu-in
+            (byte)'Z', (byte)'Z', (byte)'Z',  // guz
+            (byte)'Z', (byte)'Z', (byte)'Z',  // guz-ke
+            (byte)'Z', (byte)'Z', (byte)'Z',  // gv
+            (byte)'Z', (byte)'Z', (byte)'Z',  // gv-im
+            (byte)'H', (byte)'A', (byte)'U',  // ha
+            (byte)'H', (byte)'A', (byte)'U',  // ha-latn
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ha-latn-gh
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ha-latn-ne
+            (byte)'H', (byte)'A', (byte)'U',  // ha-latn-ng
+            (byte)'H', (byte)'A', (byte)'W',  // haw
+            (byte)'H', (byte)'A', (byte)'W',  // haw-us
+            (byte)'H', (byte)'E', (byte)'B',  // he
+            (byte)'H', (byte)'E', (byte)'B',  // he-il
+            (byte)'H', (byte)'I', (byte)'N',  // hi
+            (byte)'H', (byte)'I', (byte)'N',  // hi-in
+            (byte)'H', (byte)'R', (byte)'V',  // hr
+            (byte)'H', (byte)'R', (byte)'B',  // hr-ba
+            (byte)'H', (byte)'R', (byte)'V',  // hr-hr
+            (byte)'H', (byte)'S', (byte)'B',  // hsb
+            (byte)'H', (byte)'S', (byte)'B',  // hsb-de
+            (byte)'H', (byte)'U', (byte)'N',  // hu
+            (byte)'H', (byte)'U', (byte)'N',  // hu-hu
+            (byte)'H', (byte)'U', (byte)'N',  // hu-hu_technl
+            (byte)'H', (byte)'Y', (byte)'E',  // hy
+            (byte)'H', (byte)'Y', (byte)'E',  // hy-am
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ia
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ia-001
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ia-fr
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ibb
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ibb-ng
+            (byte)'I', (byte)'N', (byte)'D',  // id
+            (byte)'I', (byte)'N', (byte)'D',  // id-id
+            (byte)'I', (byte)'B', (byte)'O',  // ig
+            (byte)'I', (byte)'B', (byte)'O',  // ig-ng
+            (byte)'I', (byte)'I', (byte)'I',  // ii
+            (byte)'I', (byte)'I', (byte)'I',  // ii-cn
+            (byte)'I', (byte)'S', (byte)'L',  // is
+            (byte)'I', (byte)'S', (byte)'L',  // is-is
+            (byte)'I', (byte)'T', (byte)'A',  // it
+            (byte)'I', (byte)'T', (byte)'S',  // it-ch
+            (byte)'I', (byte)'T', (byte)'A',  // it-it
+            (byte)'Z', (byte)'Z', (byte)'Z',  // it-sm
+            (byte)'I', (byte)'U', (byte)'K',  // iu
+            (byte)'I', (byte)'U', (byte)'S',  // iu-cans
+            (byte)'I', (byte)'U', (byte)'S',  // iu-cans-ca
+            (byte)'I', (byte)'U', (byte)'K',  // iu-latn
+            (byte)'I', (byte)'U', (byte)'K',  // iu-latn-ca
+            (byte)'J', (byte)'P', (byte)'N',  // ja
+            (byte)'J', (byte)'P', (byte)'N',  // ja-jp
+            (byte)'J', (byte)'P', (byte)'N',  // ja-jp_radstr
+            (byte)'Z', (byte)'Z', (byte)'Z',  // jgo
+            (byte)'Z', (byte)'Z', (byte)'Z',  // jgo-cm
+            (byte)'Z', (byte)'Z', (byte)'Z',  // jmc
+            (byte)'Z', (byte)'Z', (byte)'Z',  // jmc-tz
+            (byte)'J', (byte)'A', (byte)'V',  // jv
+            (byte)'Z', (byte)'Z', (byte)'Z',  // jv-java
+            (byte)'Z', (byte)'Z', (byte)'Z',  // jv-java-id
+            (byte)'J', (byte)'A', (byte)'V',  // jv-latn
+            (byte)'J', (byte)'A', (byte)'V',  // jv-latn-id
+            (byte)'K', (byte)'A', (byte)'T',  // ka
+            (byte)'K', (byte)'A', (byte)'T',  // ka-ge
+            (byte)'K', (byte)'A', (byte)'T',  // ka-ge_modern
+            (byte)'Z', (byte)'Z', (byte)'Z',  // kab
+            (byte)'Z', (byte)'Z', (byte)'Z',  // kab-dz
+            (byte)'Z', (byte)'Z', (byte)'Z',  // kam
+            (byte)'Z', (byte)'Z', (byte)'Z',  // kam-ke
+            (byte)'Z', (byte)'Z', (byte)'Z',  // kde
+            (byte)'Z', (byte)'Z', (byte)'Z',  // kde-tz
+            (byte)'Z', (byte)'Z', (byte)'Z',  // kea
+            (byte)'Z', (byte)'Z', (byte)'Z',  // kea-cv
+            (byte)'Z', (byte)'Z', (byte)'Z',  // khq
+            (byte)'Z', (byte)'Z', (byte)'Z',  // khq-ml
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ki
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ki-ke
+            (byte)'K', (byte)'K', (byte)'Z',  // kk
+            (byte)'K', (byte)'K', (byte)'Z',  // kk-kz
+            (byte)'Z', (byte)'Z', (byte)'Z',  // kkj
+            (byte)'Z', (byte)'Z', (byte)'Z',  // kkj-cm
+            (byte)'K', (byte)'A', (byte)'L',  // kl
+            (byte)'K', (byte)'A', (byte)'L',  // kl-gl
+            (byte)'Z', (byte)'Z', (byte)'Z',  // kln
+            (byte)'Z', (byte)'Z', (byte)'Z',  // kln-ke
+            (byte)'K', (byte)'H', (byte)'M',  // km
+            (byte)'K', (byte)'H', (byte)'M',  // km-kh
+            (byte)'K', (byte)'D', (byte)'I',  // kn
+            (byte)'K', (byte)'D', (byte)'I',  // kn-in
+            (byte)'K', (byte)'O', (byte)'R',  // ko
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ko-kp
+            (byte)'K', (byte)'O', (byte)'R',  // ko-kr
+            (byte)'K', (byte)'N', (byte)'K',  // kok
+            (byte)'K', (byte)'N', (byte)'K',  // kok-in
+            (byte)'Z', (byte)'Z', (byte)'Z',  // kr
+            (byte)'Z', (byte)'Z', (byte)'Z',  // kr-ng
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ks
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ks-arab
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ks-arab-in
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ks-deva
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ks-deva-in
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ksb
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ksb-tz
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ksf
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ksf-cm
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ksh
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ksh-de
+            (byte)'K', (byte)'U', (byte)'R',  // ku
+            (byte)'K', (byte)'U', (byte)'R',  // ku-arab
+            (byte)'K', (byte)'U', (byte)'R',  // ku-arab-iq
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ku-arab-ir
+            (byte)'Z', (byte)'Z', (byte)'Z',  // kw
+            (byte)'Z', (byte)'Z', (byte)'Z',  // kw-gb
+            (byte)'K', (byte)'Y', (byte)'R',  // ky
+            (byte)'K', (byte)'Y', (byte)'R',  // ky-kg
+            (byte)'Z', (byte)'Z', (byte)'Z',  // la
+            (byte)'Z', (byte)'Z', (byte)'Z',  // la-001
+            (byte)'Z', (byte)'Z', (byte)'Z',  // lag
+            (byte)'Z', (byte)'Z', (byte)'Z',  // lag-tz
+            (byte)'L', (byte)'B', (byte)'X',  // lb
+            (byte)'L', (byte)'B', (byte)'X',  // lb-lu
+            (byte)'Z', (byte)'Z', (byte)'Z',  // lg
+            (byte)'Z', (byte)'Z', (byte)'Z',  // lg-ug
+            (byte)'Z', (byte)'Z', (byte)'Z',  // lkt
+            (byte)'Z', (byte)'Z', (byte)'Z',  // lkt-us
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ln
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ln-ao
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ln-cd
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ln-cf
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ln-cg
+            (byte)'L', (byte)'A', (byte)'O',  // lo
+            (byte)'L', (byte)'A', (byte)'O',  // lo-la
+            (byte)'Z', (byte)'Z', (byte)'Z',  // lrc
+            (byte)'Z', (byte)'Z', (byte)'Z',  // lrc-iq
+            (byte)'Z', (byte)'Z', (byte)'Z',  // lrc-ir
+            (byte)'L', (byte)'T', (byte)'H',  // lt
+            (byte)'L', (byte)'T', (byte)'H',  // lt-lt
+            (byte)'Z', (byte)'Z', (byte)'Z',  // lu
+            (byte)'Z', (byte)'Z', (byte)'Z',  // lu-cd
+            (byte)'Z', (byte)'Z', (byte)'Z',  // luo
+            (byte)'Z', (byte)'Z', (byte)'Z',  // luo-ke
+            (byte)'Z', (byte)'Z', (byte)'Z',  // luy
+            (byte)'Z', (byte)'Z', (byte)'Z',  // luy-ke
+            (byte)'L', (byte)'V', (byte)'I',  // lv
+            (byte)'L', (byte)'V', (byte)'I',  // lv-lv
+            (byte)'Z', (byte)'Z', (byte)'Z',  // mas
+            (byte)'Z', (byte)'Z', (byte)'Z',  // mas-ke
+            (byte)'Z', (byte)'Z', (byte)'Z',  // mas-tz
+            (byte)'Z', (byte)'Z', (byte)'Z',  // mer
+            (byte)'Z', (byte)'Z', (byte)'Z',  // mer-ke
+            (byte)'Z', (byte)'Z', (byte)'Z',  // mfe
+            (byte)'Z', (byte)'Z', (byte)'Z',  // mfe-mu
+            (byte)'M', (byte)'L', (byte)'G',  // mg
+            (byte)'M', (byte)'L', (byte)'G',  // mg-mg
+            (byte)'Z', (byte)'Z', (byte)'Z',  // mgh
+            (byte)'Z', (byte)'Z', (byte)'Z',  // mgh-mz
+            (byte)'Z', (byte)'Z', (byte)'Z',  // mgo
+            (byte)'Z', (byte)'Z', (byte)'Z',  // mgo-cm
+            (byte)'M', (byte)'R', (byte)'I',  // mi
+            (byte)'M', (byte)'R', (byte)'I',  // mi-nz
+            (byte)'M', (byte)'K', (byte)'I',  // mk
+            (byte)'M', (byte)'K', (byte)'I',  // mk-mk
+            (byte)'M', (byte)'Y', (byte)'M',  // ml
+            (byte)'M', (byte)'Y', (byte)'M',  // ml-in
+            (byte)'M', (byte)'O', (byte)'N',  // mn
+            (byte)'M', (byte)'N', (byte)'N',  // mn-cyrl
+            (byte)'M', (byte)'N', (byte)'N',  // mn-mn
+            (byte)'M', (byte)'N', (byte)'G',  // mn-mong
+            (byte)'M', (byte)'N', (byte)'G',  // mn-mong-cn
+            (byte)'M', (byte)'N', (byte)'M',  // mn-mong-mn
+            (byte)'Z', (byte)'Z', (byte)'Z',  // mni
+            (byte)'Z', (byte)'Z', (byte)'Z',  // mni-in
+            (byte)'M', (byte)'W', (byte)'K',  // moh
+            (byte)'M', (byte)'W', (byte)'K',  // moh-ca
+            (byte)'M', (byte)'A', (byte)'R',  // mr
+            (byte)'M', (byte)'A', (byte)'R',  // mr-in
+            (byte)'M', (byte)'S', (byte)'L',  // ms
+            (byte)'M', (byte)'S', (byte)'B',  // ms-bn
+            (byte)'M', (byte)'S', (byte)'L',  // ms-my
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ms-sg
+            (byte)'M', (byte)'L', (byte)'T',  // mt
+            (byte)'M', (byte)'L', (byte)'T',  // mt-mt
+            (byte)'Z', (byte)'Z', (byte)'Z',  // mua
+            (byte)'Z', (byte)'Z', (byte)'Z',  // mua-cm
+            (byte)'M', (byte)'Y', (byte)'A',  // my
+            (byte)'M', (byte)'Y', (byte)'A',  // my-mm
+            (byte)'Z', (byte)'Z', (byte)'Z',  // mzn
+            (byte)'Z', (byte)'Z', (byte)'Z',  // mzn-ir
+            (byte)'Z', (byte)'Z', (byte)'Z',  // naq
+            (byte)'Z', (byte)'Z', (byte)'Z',  // naq-na
+            (byte)'N', (byte)'O', (byte)'R',  // nb
+            (byte)'N', (byte)'O', (byte)'R',  // nb-no
+            (byte)'Z', (byte)'Z', (byte)'Z',  // nb-sj
+            (byte)'Z', (byte)'Z', (byte)'Z',  // nd
+            (byte)'Z', (byte)'Z', (byte)'Z',  // nd-zw
+            (byte)'Z', (byte)'Z', (byte)'Z',  // nds
+            (byte)'Z', (byte)'Z', (byte)'Z',  // nds-de
+            (byte)'Z', (byte)'Z', (byte)'Z',  // nds-nl
+            (byte)'N', (byte)'E', (byte)'P',  // ne
+            (byte)'N', (byte)'E', (byte)'I',  // ne-in
+            (byte)'N', (byte)'E', (byte)'P',  // ne-np
+            (byte)'N', (byte)'L', (byte)'D',  // nl
+            (byte)'Z', (byte)'Z', (byte)'Z',  // nl-aw
+            (byte)'N', (byte)'L', (byte)'B',  // nl-be
+            (byte)'Z', (byte)'Z', (byte)'Z',  // nl-bq
+            (byte)'Z', (byte)'Z', (byte)'Z',  // nl-cw
+            (byte)'N', (byte)'L', (byte)'D',  // nl-nl
+            (byte)'Z', (byte)'Z', (byte)'Z',  // nl-sr
+            (byte)'Z', (byte)'Z', (byte)'Z',  // nl-sx
+            (byte)'Z', (byte)'Z', (byte)'Z',  // nmg
+            (byte)'Z', (byte)'Z', (byte)'Z',  // nmg-cm
+            (byte)'N', (byte)'O', (byte)'N',  // nn
+            (byte)'N', (byte)'O', (byte)'N',  // nn-no
+            (byte)'Z', (byte)'Z', (byte)'Z',  // nnh
+            (byte)'Z', (byte)'Z', (byte)'Z',  // nnh-cm
+            (byte)'N', (byte)'O', (byte)'R',  // no
+            (byte)'N', (byte)'Q', (byte)'O',  // nqo
+            (byte)'N', (byte)'Q', (byte)'O',  // nqo-gn
+            (byte)'Z', (byte)'Z', (byte)'Z',  // nr
+            (byte)'Z', (byte)'Z', (byte)'Z',  // nr-za
+            (byte)'N', (byte)'S', (byte)'O',  // nso
+            (byte)'N', (byte)'S', (byte)'O',  // nso-za
+            (byte)'Z', (byte)'Z', (byte)'Z',  // nus
+            (byte)'Z', (byte)'Z', (byte)'Z',  // nus-ss
+            (byte)'Z', (byte)'Z', (byte)'Z',  // nyn
+            (byte)'Z', (byte)'Z', (byte)'Z',  // nyn-ug
+            (byte)'O', (byte)'C', (byte)'I',  // oc
+            (byte)'O', (byte)'C', (byte)'I',  // oc-fr
+            (byte)'O', (byte)'R', (byte)'M',  // om
+            (byte)'O', (byte)'R', (byte)'M',  // om-et
+            (byte)'Z', (byte)'Z', (byte)'Z',  // om-ke
+            (byte)'O', (byte)'R', (byte)'I',  // or
+            (byte)'O', (byte)'R', (byte)'I',  // or-in
+            (byte)'Z', (byte)'Z', (byte)'Z',  // os
+            (byte)'Z', (byte)'Z', (byte)'Z',  // os-ge
+            (byte)'Z', (byte)'Z', (byte)'Z',  // os-ru
+            (byte)'P', (byte)'A', (byte)'N',  // pa
+            (byte)'P', (byte)'A', (byte)'P',  // pa-arab
+            (byte)'P', (byte)'A', (byte)'P',  // pa-arab-pk
+            (byte)'P', (byte)'A', (byte)'N',  // pa-in
+            (byte)'Z', (byte)'Z', (byte)'Z',  // pap
+            (byte)'Z', (byte)'Z', (byte)'Z',  // pap-029
+            (byte)'P', (byte)'L', (byte)'K',  // pl
+            (byte)'P', (byte)'L', (byte)'K',  // pl-pl
+            (byte)'Z', (byte)'Z', (byte)'Z',  // prg
+            (byte)'Z', (byte)'Z', (byte)'Z',  // prg-001
+            (byte)'P', (byte)'R', (byte)'S',  // prs
+            (byte)'P', (byte)'R', (byte)'S',  // prs-af
+            (byte)'P', (byte)'A', (byte)'S',  // ps
+            (byte)'P', (byte)'A', (byte)'S',  // ps-af
+            (byte)'P', (byte)'T', (byte)'B',  // pt
+            (byte)'P', (byte)'T', (byte)'A',  // pt-ao
+            (byte)'P', (byte)'T', (byte)'B',  // pt-br
+            (byte)'Z', (byte)'Z', (byte)'Z',  // pt-ch
+            (byte)'Z', (byte)'Z', (byte)'Z',  // pt-cv
+            (byte)'Z', (byte)'Z', (byte)'Z',  // pt-gq
+            (byte)'Z', (byte)'Z', (byte)'Z',  // pt-gw
+            (byte)'Z', (byte)'Z', (byte)'Z',  // pt-lu
+            (byte)'Z', (byte)'Z', (byte)'Z',  // pt-mo
+            (byte)'Z', (byte)'Z', (byte)'Z',  // pt-mz
+            (byte)'P', (byte)'T', (byte)'G',  // pt-pt
+            (byte)'Z', (byte)'Z', (byte)'Z',  // pt-st
+            (byte)'Z', (byte)'Z', (byte)'Z',  // pt-tl
+            (byte)'E', (byte)'N', (byte)'J',  // qps-latn-x-sh
+            (byte)'E', (byte)'N', (byte)'U',  // qps-ploc
+            (byte)'J', (byte)'P', (byte)'N',  // qps-ploca
+            (byte)'A', (byte)'R', (byte)'A',  // qps-plocm
+            (byte)'Q', (byte)'U', (byte)'C',  // quc
+            (byte)'Q', (byte)'U', (byte)'T',  // quc-latn
+            (byte)'Q', (byte)'U', (byte)'T',  // quc-latn-gt
+            (byte)'Q', (byte)'U', (byte)'B',  // quz
+            (byte)'Q', (byte)'U', (byte)'B',  // quz-bo
+            (byte)'Q', (byte)'U', (byte)'E',  // quz-ec
+            (byte)'Q', (byte)'U', (byte)'P',  // quz-pe
+            (byte)'R', (byte)'M', (byte)'C',  // rm
+            (byte)'R', (byte)'M', (byte)'C',  // rm-ch
+            (byte)'Z', (byte)'Z', (byte)'Z',  // rn
+            (byte)'Z', (byte)'Z', (byte)'Z',  // rn-bi
+            (byte)'R', (byte)'O', (byte)'M',  // ro
+            (byte)'R', (byte)'O', (byte)'D',  // ro-md
+            (byte)'R', (byte)'O', (byte)'M',  // ro-ro
+            (byte)'Z', (byte)'Z', (byte)'Z',  // rof
+            (byte)'Z', (byte)'Z', (byte)'Z',  // rof-tz
+            (byte)'R', (byte)'U', (byte)'S',  // ru
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ru-by
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ru-kg
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ru-kz
+            (byte)'R', (byte)'U', (byte)'M',  // ru-md
+            (byte)'R', (byte)'U', (byte)'S',  // ru-ru
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ru-ua
+            (byte)'K', (byte)'I', (byte)'N',  // rw
+            (byte)'K', (byte)'I', (byte)'N',  // rw-rw
+            (byte)'Z', (byte)'Z', (byte)'Z',  // rwk
+            (byte)'Z', (byte)'Z', (byte)'Z',  // rwk-tz
+            (byte)'S', (byte)'A', (byte)'N',  // sa
+            (byte)'S', (byte)'A', (byte)'N',  // sa-in
+            (byte)'S', (byte)'A', (byte)'H',  // sah
+            (byte)'S', (byte)'A', (byte)'H',  // sah-ru
+            (byte)'Z', (byte)'Z', (byte)'Z',  // saq
+            (byte)'Z', (byte)'Z', (byte)'Z',  // saq-ke
+            (byte)'Z', (byte)'Z', (byte)'Z',  // sbp
+            (byte)'Z', (byte)'Z', (byte)'Z',  // sbp-tz
+            (byte)'S', (byte)'I', (byte)'P',  // sd
+            (byte)'S', (byte)'I', (byte)'P',  // sd-arab
+            (byte)'S', (byte)'I', (byte)'P',  // sd-arab-pk
+            (byte)'Z', (byte)'Z', (byte)'Z',  // sd-deva
+            (byte)'Z', (byte)'Z', (byte)'Z',  // sd-deva-in
+            (byte)'S', (byte)'M', (byte)'E',  // se
+            (byte)'S', (byte)'M', (byte)'G',  // se-fi
+            (byte)'S', (byte)'M', (byte)'E',  // se-no
+            (byte)'S', (byte)'M', (byte)'F',  // se-se
+            (byte)'Z', (byte)'Z', (byte)'Z',  // seh
+            (byte)'Z', (byte)'Z', (byte)'Z',  // seh-mz
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ses
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ses-ml
+            (byte)'Z', (byte)'Z', (byte)'Z',  // sg
+            (byte)'Z', (byte)'Z', (byte)'Z',  // sg-cf
+            (byte)'Z', (byte)'Z', (byte)'Z',  // shi
+            (byte)'Z', (byte)'Z', (byte)'Z',  // shi-latn
+            (byte)'Z', (byte)'Z', (byte)'Z',  // shi-latn-ma
+            (byte)'Z', (byte)'Z', (byte)'Z',  // shi-tfng
+            (byte)'Z', (byte)'Z', (byte)'Z',  // shi-tfng-ma
+            (byte)'S', (byte)'I', (byte)'N',  // si
+            (byte)'S', (byte)'I', (byte)'N',  // si-lk
+            (byte)'S', (byte)'K', (byte)'Y',  // sk
+            (byte)'S', (byte)'K', (byte)'Y',  // sk-sk
+            (byte)'S', (byte)'L', (byte)'V',  // sl
+            (byte)'S', (byte)'L', (byte)'V',  // sl-si
+            (byte)'S', (byte)'M', (byte)'B',  // sma
+            (byte)'S', (byte)'M', (byte)'A',  // sma-no
+            (byte)'S', (byte)'M', (byte)'B',  // sma-se
+            (byte)'S', (byte)'M', (byte)'K',  // smj
+            (byte)'S', (byte)'M', (byte)'J',  // smj-no
+            (byte)'S', (byte)'M', (byte)'K',  // smj-se
+            (byte)'S', (byte)'M', (byte)'N',  // smn
+            (byte)'S', (byte)'M', (byte)'N',  // smn-fi
+            (byte)'S', (byte)'M', (byte)'S',  // sms
+            (byte)'S', (byte)'M', (byte)'S',  // sms-fi
+            (byte)'S', (byte)'N', (byte)'A',  // sn
+            (byte)'S', (byte)'N', (byte)'A',  // sn-latn
+            (byte)'S', (byte)'N', (byte)'A',  // sn-latn-zw
+            (byte)'S', (byte)'O', (byte)'M',  // so
+            (byte)'Z', (byte)'Z', (byte)'Z',  // so-dj
+            (byte)'Z', (byte)'Z', (byte)'Z',  // so-et
+            (byte)'Z', (byte)'Z', (byte)'Z',  // so-ke
+            (byte)'S', (byte)'O', (byte)'M',  // so-so
+            (byte)'S', (byte)'Q', (byte)'I',  // sq
+            (byte)'S', (byte)'Q', (byte)'I',  // sq-al
+            (byte)'Z', (byte)'Z', (byte)'Z',  // sq-mk
+            (byte)'Z', (byte)'Z', (byte)'Z',  // sq-xk
+            (byte)'S', (byte)'R', (byte)'B',  // sr
+            (byte)'S', (byte)'R', (byte)'O',  // sr-cyrl
+            (byte)'S', (byte)'R', (byte)'N',  // sr-cyrl-ba
+            (byte)'S', (byte)'R', (byte)'B',  // sr-cyrl-cs
+            (byte)'S', (byte)'R', (byte)'Q',  // sr-cyrl-me
+            (byte)'S', (byte)'R', (byte)'O',  // sr-cyrl-rs
+            (byte)'Z', (byte)'Z', (byte)'Z',  // sr-cyrl-xk
+            (byte)'S', (byte)'R', (byte)'M',  // sr-latn
+            (byte)'S', (byte)'R', (byte)'S',  // sr-latn-ba
+            (byte)'S', (byte)'R', (byte)'L',  // sr-latn-cs
+            (byte)'S', (byte)'R', (byte)'P',  // sr-latn-me
+            (byte)'S', (byte)'R', (byte)'M',  // sr-latn-rs
+            (byte)'Z', (byte)'Z', (byte)'Z',  // sr-latn-xk
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ss
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ss-sz
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ss-za
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ssy
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ssy-er
+            (byte)'S', (byte)'O', (byte)'T',  // st
+            (byte)'Z', (byte)'Z', (byte)'Z',  // st-ls
+            (byte)'S', (byte)'O', (byte)'T',  // st-za
+            (byte)'S', (byte)'V', (byte)'E',  // sv
+            (byte)'Z', (byte)'Z', (byte)'Z',  // sv-ax
+            (byte)'S', (byte)'V', (byte)'F',  // sv-fi
+            (byte)'S', (byte)'V', (byte)'E',  // sv-se
+            (byte)'S', (byte)'W', (byte)'K',  // sw
+            (byte)'Z', (byte)'Z', (byte)'Z',  // sw-cd
+            (byte)'S', (byte)'W', (byte)'K',  // sw-ke
+            (byte)'Z', (byte)'Z', (byte)'Z',  // sw-tz
+            (byte)'Z', (byte)'Z', (byte)'Z',  // sw-ug
+            (byte)'Z', (byte)'Z', (byte)'Z',  // swc
+            (byte)'Z', (byte)'Z', (byte)'Z',  // swc-cd
+            (byte)'S', (byte)'Y', (byte)'R',  // syr
+            (byte)'S', (byte)'Y', (byte)'R',  // syr-sy
+            (byte)'T', (byte)'A', (byte)'I',  // ta
+            (byte)'T', (byte)'A', (byte)'I',  // ta-in
+            (byte)'T', (byte)'A', (byte)'M',  // ta-lk
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ta-my
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ta-sg
+            (byte)'T', (byte)'E', (byte)'L',  // te
+            (byte)'T', (byte)'E', (byte)'L',  // te-in
+            (byte)'Z', (byte)'Z', (byte)'Z',  // teo
+            (byte)'Z', (byte)'Z', (byte)'Z',  // teo-ke
+            (byte)'Z', (byte)'Z', (byte)'Z',  // teo-ug
+            (byte)'T', (byte)'A', (byte)'J',  // tg
+            (byte)'T', (byte)'A', (byte)'J',  // tg-cyrl
+            (byte)'T', (byte)'A', (byte)'J',  // tg-cyrl-tj
+            (byte)'T', (byte)'H', (byte)'A',  // th
+            (byte)'T', (byte)'H', (byte)'A',  // th-th
+            (byte)'T', (byte)'I', (byte)'R',  // ti
+            (byte)'T', (byte)'I', (byte)'R',  // ti-er
+            (byte)'T', (byte)'I', (byte)'E',  // ti-et
+            (byte)'Z', (byte)'Z', (byte)'Z',  // tig
+            (byte)'Z', (byte)'Z', (byte)'Z',  // tig-er
+            (byte)'T', (byte)'U', (byte)'K',  // tk
+            (byte)'T', (byte)'U', (byte)'K',  // tk-tm
+            (byte)'T', (byte)'S', (byte)'N',  // tn
+            (byte)'T', (byte)'S', (byte)'B',  // tn-bw
+            (byte)'T', (byte)'S', (byte)'N',  // tn-za
+            (byte)'Z', (byte)'Z', (byte)'Z',  // to
+            (byte)'Z', (byte)'Z', (byte)'Z',  // to-to
+            (byte)'T', (byte)'R', (byte)'K',  // tr
+            (byte)'Z', (byte)'Z', (byte)'Z',  // tr-cy
+            (byte)'T', (byte)'R', (byte)'K',  // tr-tr
+            (byte)'T', (byte)'S', (byte)'O',  // ts
+            (byte)'T', (byte)'S', (byte)'O',  // ts-za
+            (byte)'T', (byte)'T', (byte)'T',  // tt
+            (byte)'T', (byte)'T', (byte)'T',  // tt-ru
+            (byte)'Z', (byte)'Z', (byte)'Z',  // twq
+            (byte)'Z', (byte)'Z', (byte)'Z',  // twq-ne
+            (byte)'T', (byte)'Z', (byte)'A',  // tzm
+            (byte)'Z', (byte)'Z', (byte)'Z',  // tzm-arab
+            (byte)'Z', (byte)'Z', (byte)'Z',  // tzm-arab-ma
+            (byte)'T', (byte)'Z', (byte)'A',  // tzm-latn
+            (byte)'T', (byte)'Z', (byte)'A',  // tzm-latn-dz
+            (byte)'Z', (byte)'Z', (byte)'Z',  // tzm-latn-ma
+            (byte)'T', (byte)'Z', (byte)'M',  // tzm-tfng
+            (byte)'T', (byte)'Z', (byte)'M',  // tzm-tfng-ma
+            (byte)'U', (byte)'I', (byte)'G',  // ug
+            (byte)'U', (byte)'I', (byte)'G',  // ug-cn
+            (byte)'U', (byte)'K', (byte)'R',  // uk
+            (byte)'U', (byte)'K', (byte)'R',  // uk-ua
+            (byte)'U', (byte)'R', (byte)'D',  // ur
+            (byte)'U', (byte)'R', (byte)'I',  // ur-in
+            (byte)'U', (byte)'R', (byte)'D',  // ur-pk
+            (byte)'U', (byte)'Z', (byte)'B',  // uz
+            (byte)'Z', (byte)'Z', (byte)'Z',  // uz-arab
+            (byte)'Z', (byte)'Z', (byte)'Z',  // uz-arab-af
+            (byte)'U', (byte)'Z', (byte)'C',  // uz-cyrl
+            (byte)'U', (byte)'Z', (byte)'C',  // uz-cyrl-uz
+            (byte)'U', (byte)'Z', (byte)'B',  // uz-latn
+            (byte)'U', (byte)'Z', (byte)'B',  // uz-latn-uz
+            (byte)'Z', (byte)'Z', (byte)'Z',  // vai
+            (byte)'Z', (byte)'Z', (byte)'Z',  // vai-latn
+            (byte)'Z', (byte)'Z', (byte)'Z',  // vai-latn-lr
+            (byte)'Z', (byte)'Z', (byte)'Z',  // vai-vaii
+            (byte)'Z', (byte)'Z', (byte)'Z',  // vai-vaii-lr
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ve
+            (byte)'Z', (byte)'Z', (byte)'Z',  // ve-za
+            (byte)'V', (byte)'I', (byte)'T',  // vi
+            (byte)'V', (byte)'I', (byte)'T',  // vi-vn
+            (byte)'Z', (byte)'Z', (byte)'Z',  // vo
+            (byte)'Z', (byte)'Z', (byte)'Z',  // vo-001
+            (byte)'Z', (byte)'Z', (byte)'Z',  // vun
+            (byte)'Z', (byte)'Z', (byte)'Z',  // vun-tz
+            (byte)'Z', (byte)'Z', (byte)'Z',  // wae
+            (byte)'Z', (byte)'Z', (byte)'Z',  // wae-ch
+            (byte)'Z', (byte)'Z', (byte)'Z',  // wal
+            (byte)'Z', (byte)'Z', (byte)'Z',  // wal-et
+            (byte)'W', (byte)'O', (byte)'L',  // wo
+            (byte)'W', (byte)'O', (byte)'L',  // wo-sn
+            (byte)'I', (byte)'V', (byte)'L',  // x-iv_mathan
+            (byte)'X', (byte)'H', (byte)'O',  // xh
+            (byte)'X', (byte)'H', (byte)'O',  // xh-za
+            (byte)'Z', (byte)'Z', (byte)'Z',  // xog
+            (byte)'Z', (byte)'Z', (byte)'Z',  // xog-ug
+            (byte)'Z', (byte)'Z', (byte)'Z',  // yav
+            (byte)'Z', (byte)'Z', (byte)'Z',  // yav-cm
+            (byte)'Z', (byte)'Z', (byte)'Z',  // yi
+            (byte)'Z', (byte)'Z', (byte)'Z',  // yi-001
+            (byte)'Y', (byte)'O', (byte)'R',  // yo
+            (byte)'Z', (byte)'Z', (byte)'Z',  // yo-bj
+            (byte)'Y', (byte)'O', (byte)'R',  // yo-ng
+            (byte)'Z', (byte)'Z', (byte)'Z',  // yue
+            (byte)'Z', (byte)'Z', (byte)'Z',  // yue-hk
+            (byte)'Z', (byte)'H', (byte)'G',  // zgh
+            (byte)'Z', (byte)'H', (byte)'G',  // zgh-tfng
+            (byte)'Z', (byte)'H', (byte)'G',  // zgh-tfng-ma
+            (byte)'C', (byte)'H', (byte)'S',  // zh
+            (byte)'C', (byte)'H', (byte)'S',  // zh-chs
+            (byte)'C', (byte)'H', (byte)'T',  // zh-cht
+            (byte)'C', (byte)'H', (byte)'S',  // zh-cn
+            (byte)'C', (byte)'H', (byte)'S',  // zh-cn_phoneb
+            (byte)'C', (byte)'H', (byte)'S',  // zh-cn_stroke
+            (byte)'C', (byte)'H', (byte)'S',  // zh-hans
+            (byte)'Z', (byte)'Z', (byte)'Z',  // zh-hans-hk
+            (byte)'Z', (byte)'Z', (byte)'Z',  // zh-hans-mo
+            (byte)'Z', (byte)'H', (byte)'H',  // zh-hant
+            (byte)'Z', (byte)'H', (byte)'H',  // zh-hk
+            (byte)'Z', (byte)'H', (byte)'H',  // zh-hk_radstr
+            (byte)'Z', (byte)'H', (byte)'M',  // zh-mo
+            (byte)'Z', (byte)'H', (byte)'M',  // zh-mo_radstr
+            (byte)'Z', (byte)'H', (byte)'M',  // zh-mo_stroke
+            (byte)'Z', (byte)'H', (byte)'I',  // zh-sg
+            (byte)'Z', (byte)'H', (byte)'I',  // zh-sg_phoneb
+            (byte)'Z', (byte)'H', (byte)'I',  // zh-sg_stroke
+            (byte)'C', (byte)'H', (byte)'T',  // zh-tw
+            (byte)'C', (byte)'H', (byte)'T',  // zh-tw_pronun
+            (byte)'C', (byte)'H', (byte)'T',  // zh-tw_radstr
+            (byte)'Z', (byte)'U', (byte)'L',  // zu
+            (byte)'Z', (byte)'U', (byte)'L',  // zu-za
+        };
 
         internal const int CommaSep              = 0 << 16;
         internal const int SemicolonSep          = 1 << 16;
@@ -2438,1348 +2824,912 @@ namespace System.Globalization
         internal const int ArabicSemicolonSep    = 3 << 16;
         internal const int DoubleCommaSep        = 4 << 16;
 
-        // s_nameIndexToNumericData is mapping from index in s_localeNamesIndices to locale data.
-        // each row in the table will have the following data:
-        //      Lcid, Ansi codepage, Oem codepage, MAC codepage, EBCDIC codepage, Geo Id, Digit Substitution | ListSeparator, specific locale index, Console locale index
-        private static readonly int[] s_nameIndexToNumericData = new int[CulturesCount * NUMERIC_LOCALE_DATA_COUNT_PER_ROW]
-        {
-         // Lcid,  Ansi CP, Oem CP, MAC CP, EBCDIC CP, Geo Id, digit substitution | ListSeparator, Specific culture index, Console locale index  // index - locale name
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x49  , 1 | SemicolonSep      , 3   , 240 , // 0    - aa
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x3e  , 1 | SemicolonSep      , 1   , 240 , // 1    - aa-dj
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x47  , 1 | SemicolonSep      , 2   , 240 , // 2    - aa-er
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x49  , 1 | SemicolonSep      , 3   , 240 , // 3    - aa-et
-            0x36   , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd1  , 1 | SemicolonSep      , 6   , 6   , // 4    - af
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xfe  , 1 | SemicolonSep      , 5   , 240 , // 5    - af-na
-            0x436  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd1  , 1 | SemicolonSep      , 6   , 6   , // 6    - af-za
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 | SemicolonSep      , 8   , 240 , // 7    - agq
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 | SemicolonSep      , 8   , 240 , // 8    - agq-cm
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x59  , 1 | SemicolonSep      , 10  , 240 , // 9    - ak
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x59  , 1 | SemicolonSep      , 10  , 240 , // 10   - ak-gh
-            0x5e   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x49  , 1 | SemicolonSep      , 12  , 143 , // 11   - am
-            0x45e  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x49  , 1 | SemicolonSep      , 12  , 143 , // 12   - am-et
-            0x1    , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xcd  , 0 | SemicolonSep      , 33  , 143 , // 13   - ar
-            0x1000 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x989e, 0 | SemicolonSep      , 14  , 240 , // 14   - ar-001
-            0x3801 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xe0  , 0 | SemicolonSep      , 15  , 143 , // 15   - ar-ae
-            0x3c01 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x11  , 0 | SemicolonSep      , 16  , 143 , // 16   - ar-bh
-            0x1000 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x3e  , 0 | SemicolonSep      , 17  , 240 , // 17   - ar-dj
-            0x1401 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x4   , 1 | SemicolonSep      , 18  , 300 , // 18   - ar-dz
-            0xc01  , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x43  , 0 | SemicolonSep      , 19  , 143 , // 19   - ar-eg
-            0x1000 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x47  , 0 | SemicolonSep      , 20  , 240 , // 20   - ar-er
-            0x1000 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x75  , 0 | SemicolonSep      , 21  , 240 , // 21   - ar-il
-            0x801  , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x79  , 0 | SemicolonSep      , 22  , 143 , // 22   - ar-iq
-            0x2c01 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x7e  , 0 | SemicolonSep      , 23  , 143 , // 23   - ar-jo
-            0x1000 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x32  , 0 | SemicolonSep      , 24  , 240 , // 24   - ar-km
-            0x3401 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x88  , 0 | SemicolonSep      , 25  , 143 , // 25   - ar-kw
-            0x3001 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x8b  , 0 | SemicolonSep      , 26  , 143 , // 26   - ar-lb
-            0x1001 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x94  , 1 | SemicolonSep      , 27  , 143 , // 27   - ar-ly
-            0x1801 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x9f  , 1 | SemicolonSep      , 28  , 300 , // 28   - ar-ma
-            0x1000 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xa2  , 0 | SemicolonSep      , 29  , 240 , // 29   - ar-mr
-            0x2001 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xa4  , 0 | SemicolonSep      , 30  , 143 , // 30   - ar-om
-            0x1000 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xb8  , 0 | SemicolonSep      , 31  , 240 , // 31   - ar-ps
-            0x4001 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xc5  , 0 | SemicolonSep      , 32  , 143 , // 32   - ar-qa
-            0x401  , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xcd  , 0 | SemicolonSep      , 33  , 143 , // 33   - ar-sa
-            0x1000 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xdb  , 0 | SemicolonSep      , 34  , 240 , // 34   - ar-sd
-            0x1000 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xd8  , 0 | SemicolonSep      , 35  , 240 , // 35   - ar-so
-            0x1000 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x114 , 0 | SemicolonSep      , 36  , 240 , // 36   - ar-ss
-            0x2801 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xde  , 0 | SemicolonSep      , 37  , 143 , // 37   - ar-sy
-            0x1000 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x29  , 0 | SemicolonSep      , 38  , 240 , // 38   - ar-td
-            0x1c01 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xea  , 1 | SemicolonSep      , 39  , 300 , // 39   - ar-tn
-            0x2401 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x105 , 0 | SemicolonSep      , 40  , 143 , // 40   - ar-ye
-            0x7a   , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x2e  , 1 | CommaSep          , 42  , 42  , // 41   - arn
-            0x47a  , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x2e  , 1 | CommaSep          , 42  , 42  , // 42   - arn-cl
-            0x4d   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | CommaSep          , 44  , 143 , // 43   - as
-            0x44d  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | CommaSep          , 44  , 143 , // 44   - as-in
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 | SemicolonSep      , 46  , 240 , // 45   - asa
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 | SemicolonSep      , 46  , 240 , // 46   - asa-tz
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd9  , 1 | SemicolonSep      , 48  , 240 , // 47   - ast
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd9  , 1 | SemicolonSep      , 48  , 240 , // 48   - ast-es
-            0x2c   , 0x4e6 , 0x359 , 0x2761, 0x51a9, 0x5   , 1 | SemicolonSep      , 53  , 53  , // 49   - az
-            0x742c , 0x4e3 , 0x362 , 0x2717, 0x5190, 0x5   , 1 | SemicolonSep      , 51  , 51  , // 50   - az-cyrl
-            0x82c  , 0x4e3 , 0x362 , 0x2717, 0x5190, 0x5   , 1 | SemicolonSep      , 51  , 51  , // 51   - az-cyrl-az
-            0x782c , 0x4e6 , 0x359 , 0x2761, 0x51a9, 0x5   , 1 | SemicolonSep      , 53  , 53  , // 52   - az-latn
-            0x42c  , 0x4e6 , 0x359 , 0x2761, 0x51a9, 0x5   , 1 | SemicolonSep      , 53  , 53  , // 53   - az-latn-az
-            0x6d   , 0x4e3 , 0x362 , 0x2717, 0x5190, 0xcb  , 1 | SemicolonSep      , 55  , 55  , // 54   - ba
-            0x46d  , 0x4e3 , 0x362 , 0x2717, 0x5190, 0xcb  , 1 | SemicolonSep      , 55  , 55  , // 55   - ba-ru
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 | SemicolonSep      , 57  , 240 , // 56   - bas
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 | SemicolonSep      , 57  , 240 , // 57   - bas-cm
-            0x23   , 0x4e3 , 0x362 , 0x2717, 0x1f4 , 0x1d  , 1 | SemicolonSep      , 59  , 59  , // 58   - be
-            0x423  , 0x4e3 , 0x362 , 0x2717, 0x1f4 , 0x1d  , 1 | SemicolonSep      , 59  , 59  , // 59   - be-by
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x107 , 1 | SemicolonSep      , 61  , 240 , // 60   - bem
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x107 , 1 | SemicolonSep      , 61  , 240 , // 61   - bem-zm
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 | SemicolonSep      , 63  , 240 , // 62   - bez
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 | SemicolonSep      , 63  , 240 , // 63   - bez-tz
-            0x2    , 0x4e3 , 0x362 , 0x2717, 0x5221, 0x23  , 1 | SemicolonSep      , 65  , 65  , // 64   - bg
-            0x402  , 0x4e3 , 0x362 , 0x2717, 0x5221, 0x23  , 1 | SemicolonSep      , 65  , 65  , // 65   - bg-bg
-            0x66   , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xaf  , 1 | SemicolonSep      , 67  , 240 , // 66   - bin
-            0x466  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xaf  , 1 | SemicolonSep      , 67  , 240 , // 67   - bin-ng
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9d  , 1 | SemicolonSep      , 70  , 240 , // 68   - bm
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9d  , 1 | SemicolonSep      , 70  , 240 , // 69   - bm-latn
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9d  , 1 | SemicolonSep      , 70  , 240 , // 70   - bm-latn-ml
-            0x45   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x17  , 1 | CommaSep          , 72  , 143 , // 71   - bn
-            0x845  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x17  , 1 | CommaSep          , 72  , 143 , // 72   - bn-bd
-            0x445  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | CommaSep          , 73  , 143 , // 73   - bn-in
-            0x51   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x2d  , 1 | CommaSep          , 75  , 143 , // 74   - bo
-            0x451  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x2d  , 1 | CommaSep          , 75  , 143 , // 75   - bo-cn
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | SemicolonSep      , 76  , 240 , // 76   - bo-in
-            0x7e   , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x54  , 1 | SemicolonSep      , 78  , 78  , // 77   - br
-            0x47e  , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x54  , 1 | SemicolonSep      , 78  , 78  , // 78   - br-fr
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | SemicolonSep      , 80  , 240 , // 79   - brx
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | SemicolonSep      , 80  , 240 , // 80   - brx-in
-            0x781a , 0x4e2 , 0x354 , 0x2762, 0x366 , 0x19  , 1 | SemicolonSep      , 85  , 85  , // 81   - bs
-            0x641a , 0x4e3 , 0x357 , 0x2762, 0x366 , 0x19  , 1 | SemicolonSep      , 83  , 83  , // 82   - bs-cyrl
-            0x201a , 0x4e3 , 0x357 , 0x2762, 0x366 , 0x19  , 1 | SemicolonSep      , 83  , 83  , // 83   - bs-cyrl-ba
-            0x681a , 0x4e2 , 0x354 , 0x2762, 0x366 , 0x19  , 1 | SemicolonSep      , 85  , 85  , // 84   - bs-latn
-            0x141a , 0x4e2 , 0x354 , 0x2762, 0x366 , 0x19  , 1 | SemicolonSep      , 85  , 85  , // 85   - bs-latn-ba
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x47  , 1 | SemicolonSep      , 87  , 240 , // 86   - byn
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x47  , 1 | SemicolonSep      , 87  , 240 , // 87   - byn-er
-            0x3    , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd9  , 1 | SemicolonSep      , 90  , 90  , // 88   - ca
-            0x1000 , 0x4e4 , 0x352 , 0x2   , 0x1f4 , 0x8   , 1 | SemicolonSep      , 89  , 240 , // 89   - ca-ad
-            0x403  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd9  , 1 | SemicolonSep      , 90  , 90  , // 90   - ca-es
-            0x803  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd9  , 1 | SemicolonSep      , 91  , 90  , // 91   - ca-es-valencia
-            0x1000 , 0x4e4 , 0x352 , 0x2   , 0x1f4 , 0x54  , 1 | SemicolonSep      , 92  , 240 , // 92   - ca-fr
-            0x1000 , 0x4e4 , 0x352 , 0x2   , 0x1f4 , 0x76  , 1 | SemicolonSep      , 93  , 240 , // 93   - ca-it
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xcb  , 1 | SemicolonSep      , 95  , 240 , // 94   - ce
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xcb  , 1 | SemicolonSep      , 95  , 240 , // 95   - ce-ru
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf0  , 1 | SemicolonSep      , 97  , 240 , // 96   - cgg
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf0  , 1 | SemicolonSep      , 97  , 240 , // 97   - cgg-ug
-            0x5c   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf4  , 1 | CommaSep          , 100 , 240 , // 98   - chr
-            0x7c5c , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf4  , 1 | CommaSep          , 100 , 240 , // 99   - chr-cher
-            0x45c  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf4  , 1 | CommaSep          , 100 , 240 , // 100  - chr-cher-us
-            0x83   , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x54  , 1 | SemicolonSep      , 102 , 102 , // 101  - co
-            0x483  , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x54  , 1 | SemicolonSep      , 102 , 102 , // 102  - co-fr
-            0x5    , 0x4e2 , 0x354 , 0x272d, 0x1f4 , 0x4b  , 1 | SemicolonSep      , 104 , 104 , // 103  - cs
-            0x405  , 0x4e2 , 0x354 , 0x272d, 0x1f4 , 0x4b  , 1 | SemicolonSep      , 104 , 104 , // 104  - cs-cz
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xcb  , 1 | SemicolonSep      , 106 , 240 , // 105  - cu
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xcb  , 1 | SemicolonSep      , 106 , 240 , // 106  - cu-ru
-            0x52   , 0x4e4 , 0x352 , 0x2710, 0x4f3d, 0xf2  , 1 | SemicolonSep      , 108 , 108 , // 107  - cy
-            0x452  , 0x4e4 , 0x352 , 0x2710, 0x4f3d, 0xf2  , 1 | SemicolonSep      , 108 , 108 , // 108  - cy-gb
-            0x6    , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0x3d  , 1 | SemicolonSep      , 110 , 110 , // 109  - da
-            0x406  , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0x3d  , 1 | SemicolonSep      , 110 , 110 , // 110  - da-dk
-            0x1000 , 0x4e4 , 0x352 , 0x2   , 0x1f4 , 0x5d  , 1 | SemicolonSep      , 111 , 240 , // 111  - da-gl
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 | SemicolonSep      , 113 , 240 , // 112  - dav
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 | SemicolonSep      , 113 , 240 , // 113  - dav-ke
-            0x7    , 0x4e4 , 0x352 , 0x2710, 0x4f31, 0x5e  , 1 | SemicolonSep      , 118 , 118 , // 114  - de
-            0xc07  , 0x4e4 , 0x352 , 0x2710, 0x4f31, 0xe   , 1 | SemicolonSep      , 115 , 115 , // 115  - de-at
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f31, 0x15  , 1 | SemicolonSep      , 116 , 240 , // 116  - de-be
-            0x807  , 0x4e4 , 0x352 , 0x2710, 0x4f31, 0xdf  , 1 | SemicolonSep      , 117 , 117 , // 117  - de-ch
-            0x407  , 0x4e4 , 0x352 , 0x2710, 0x4f31, 0x5e  , 1 | SemicolonSep      , 118 , 118 , // 118  - de-de
-            0x10407, 0x4e4 , 0x352 , 0x2710, 0x4f31, 0x5e  , 1 | SemicolonSep      , 118 , 118 , // 119  - de-de_phoneb
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x76  , 1 | SemicolonSep      , 120 , 240 , // 120  - de-it
-            0x1407 , 0x4e4 , 0x352 , 0x2710, 0x4f31, 0x91  , 1 | SemicolonSep      , 121 , 121 , // 121  - de-li
-            0x1007 , 0x4e4 , 0x352 , 0x2710, 0x4f31, 0x93  , 1 | SemicolonSep      , 122 , 122 , // 122  - de-lu
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xad  , 1 | SemicolonSep      , 124 , 240 , // 123  - dje
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xad  , 1 | SemicolonSep      , 124 , 240 , // 124  - dje-ne
-            0x7c2e , 0x4e4 , 0x352 , 0x2710, 0x366 , 0x5e  , 1 | SemicolonSep      , 126 , 126 , // 125  - dsb
-            0x82e  , 0x4e4 , 0x352 , 0x2710, 0x366 , 0x5e  , 1 | SemicolonSep      , 126 , 126 , // 126  - dsb-de
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 | SemicolonSep      , 128 , 240 , // 127  - dua
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 | SemicolonSep      , 128 , 240 , // 128  - dua-cm
-            0x65   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xa5  , 1 | ArabicCommaSep    , 130 , 143 , // 129  - dv
-            0x465  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xa5  , 1 | ArabicCommaSep    , 130 , 143 , // 130  - dv-mv
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd2  , 1 | SemicolonSep      , 132 , 240 , // 131  - dyo
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd2  , 1 | SemicolonSep      , 132 , 240 , // 132  - dyo-sn
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x22  , 2 | SemicolonSep      , 134 , 240 , // 133  - dz
-            0xc51  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x22  , 2 | SemicolonSep      , 134 , 240 , // 134  - dz-bt
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 | SemicolonSep      , 136 , 240 , // 135  - ebu
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 | SemicolonSep      , 136 , 240 , // 136  - ebu-ke
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x59  , 1 | SemicolonSep      , 138 , 240 , // 137  - ee
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x59  , 1 | SemicolonSep      , 138 , 240 , // 138  - ee-gh
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xe8  , 1 | SemicolonSep      , 139 , 240 , // 139  - ee-tg
-            0x8    , 0x4e5 , 0x2e1 , 0x2716, 0x4f31, 0x62  , 1 | SemicolonSep      , 142 , 142 , // 140  - el
-            0x1000 , 0x4e5 , 0x2e1 , 0x2716, 0x4f31, 0x3b  , 1 | SemicolonSep      , 141 , 240 , // 141  - el-cy
-            0x408  , 0x4e5 , 0x2e1 , 0x2716, 0x4f31, 0x62  , 1 | SemicolonSep      , 142 , 142 , // 142  - el-gr
-            0x9    , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0xf4  , 1 | CommaSep          , 240 , 240 , // 143  - en
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x989e, 1 | CommaSep          , 144 , 240 , // 144  - en-001
-            0x2409 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x993248, 1 | CommaSep        , 145 , 145 , // 145  - en-029
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x292d, 1 | CommaSep          , 146 , 240 , // 146  - en-150
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x2   , 1 | CommaSep          , 147 , 240 , // 147  - en-ag
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x12c , 1 | CommaSep          , 148 , 240 , // 148  - en-ai
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xa   , 1 | CommaSep          , 149 , 240 , // 149  - en-as
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xe   , 1 | CommaSep          , 150 , 240 , // 150  - en-at
-            0xc09  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xc   , 1 | CommaSep          , 151 , 151 , // 151  - en-au
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x12  , 1 | CommaSep          , 152 , 240 , // 152  - en-bb
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x15  , 1 | CommaSep          , 153 , 240 , // 153  - en-be
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x26  , 1 | CommaSep          , 154 , 240 , // 154  - en-bi
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x14  , 1 | CommaSep          , 155 , 240 , // 155  - en-bm
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x16  , 1 | CommaSep          , 156 , 240 , // 156  - en-bs
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x13  , 1 | CommaSep          , 157 , 240 , // 157  - en-bw
-            0x2809 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x18  , 1 | CommaSep          , 158 , 158 , // 158  - en-bz
-            0x1009 , 0x4e4 , 0x352 , 0x2710, 0x25  , 0x27  , 1 | CommaSep          , 159 , 159 , // 159  - en-ca
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x137 , 1 | CommaSep          , 160 , 240 , // 160  - en-cc
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xdf  , 1 | CommaSep          , 161 , 240 , // 161  - en-ch
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x138 , 1 | CommaSep          , 162 , 240 , // 162  - en-ck
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x31  , 1 | CommaSep          , 163 , 240 , // 163  - en-cm
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x135 , 1 | CommaSep          , 164 , 240 , // 164  - en-cx
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x3b  , 1 | CommaSep          , 165 , 240 , // 165  - en-cy
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x5e  , 1 | CommaSep          , 166 , 240 , // 166  - en-de
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x3d  , 1 | CommaSep          , 167 , 240 , // 167  - en-dk
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x3f  , 1 | CommaSep          , 168 , 240 , // 168  - en-dm
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x47  , 1 | CommaSep          , 169 , 240 , // 169  - en-er
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x4d  , 1 | CommaSep          , 170 , 240 , // 170  - en-fi
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x4e  , 1 | CommaSep          , 171 , 240 , // 171  - en-fj
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x13b , 1 | CommaSep          , 172 , 240 , // 172  - en-fk
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x50  , 1 | CommaSep          , 173 , 240 , // 173  - en-fm
-            0x809  , 0x4e4 , 0x352 , 0x2710, 0x4f3d, 0xf2  , 1 | CommaSep          , 174 , 174 , // 174  - en-gb
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x5b  , 1 | CommaSep          , 175 , 240 , // 175  - en-gd
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x144 , 1 | CommaSep          , 176 , 240 , // 176  - en-gg
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x59  , 1 | CommaSep          , 177 , 240 , // 177  - en-gh
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x5a  , 1 | CommaSep          , 178 , 240 , // 178  - en-gi
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x56  , 1 | CommaSep          , 179 , 240 , // 179  - en-gm
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x142 , 1 | CommaSep          , 180 , 240 , // 180  - en-gu
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x65  , 1 | CommaSep          , 181 , 240 , // 181  - en-gy
-            0x3c09 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x68  , 1 | CommaSep          , 182 , 240 , // 182  - en-hk
-            0x3809 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x6f  , 1 | SemicolonSep      , 183 , 240 , // 183  - en-id
-            0x1809 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x44  , 1 | CommaSep          , 184 , 184 , // 184  - en-ie
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x75  , 1 | CommaSep          , 185 , 240 , // 185  - en-il
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x3b16, 1 | CommaSep          , 186 , 240 , // 186  - en-im
-            0x4009 , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0x71  , 1 | CommaSep          , 187 , 187 , // 187  - en-in
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x72  , 1 | CommaSep          , 188 , 240 , // 188  - en-io
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x148 , 1 | CommaSep          , 189 , 240 , // 189  - en-je
-            0x2009 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x7c  , 1 | CommaSep          , 190 , 190 , // 190  - en-jm
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x81  , 1 | CommaSep          , 191 , 240 , // 191  - en-ke
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x85  , 1 | CommaSep          , 192 , 240 , // 192  - en-ki
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xcf  , 1 | CommaSep          , 193 , 240 , // 193  - en-kn
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x133 , 1 | CommaSep          , 194 , 240 , // 194  - en-ky
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xda  , 1 | CommaSep          , 195 , 240 , // 195  - en-lc
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x8e  , 1 | CommaSep          , 196 , 240 , // 196  - en-lr
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x92  , 1 | CommaSep          , 197 , 240 , // 197  - en-ls
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x95  , 1 | CommaSep          , 198 , 240 , // 198  - en-mg
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xc7  , 1 | CommaSep          , 199 , 240 , // 199  - en-mh
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x97  , 1 | CommaSep          , 200 , 240 , // 200  - en-mo
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x151 , 1 | CommaSep          , 201 , 240 , // 201  - en-mp
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x14c , 1 | CommaSep          , 202 , 240 , // 202  - en-ms
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xa3  , 1 | CommaSep          , 203 , 240 , // 203  - en-mt
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xa0  , 1 | CommaSep          , 204 , 240 , // 204  - en-mu
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x9c  , 1 | CommaSep          , 205 , 240 , // 205  - en-mw
-            0x4409 , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0xa7  , 1 | CommaSep          , 206 , 206 , // 206  - en-my
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xfe  , 1 | CommaSep          , 207 , 240 , // 207  - en-na
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x150 , 1 | CommaSep          , 208 , 240 , // 208  - en-nf
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xaf  , 1 | CommaSep          , 209 , 240 , // 209  - en-ng
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xb0  , 1 | CommaSep          , 210 , 240 , // 210  - en-nl
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xb4  , 1 | CommaSep          , 211 , 240 , // 211  - en-nr
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x14f , 1 | CommaSep          , 212 , 240 , // 212  - en-nu
-            0x1409 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xb7  , 1 | CommaSep          , 213 , 213 , // 213  - en-nz
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xc2  , 1 | CommaSep          , 214 , 240 , // 214  - en-pg
-            0x3409 , 0x4e4 , 0x1b5 , 0x2710, 0x1f4 , 0xc9  , 1 | CommaSep          , 215 , 215 , // 215  - en-ph
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xbe  , 1 | CommaSep          , 216 , 240 , // 216  - en-pk
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x153 , 1 | CommaSep          , 217 , 240 , // 217  - en-pn
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xca  , 1 | CommaSep          , 218 , 240 , // 218  - en-pr
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xc3  , 1 | CommaSep          , 219 , 240 , // 219  - en-pw
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xcc  , 1 | CommaSep          , 220 , 240 , // 220  - en-rw
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x1e  , 1 | CommaSep          , 221 , 240 , // 221  - en-sb
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd0  , 1 | CommaSep          , 222 , 240 , // 222  - en-sc
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xdb  , 1 | CommaSep          , 223 , 240 , // 223  - en-sd
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xdd  , 1 | CommaSep          , 224 , 240 , // 224  - en-se
-            0x4809 , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0xd7  , 1 | CommaSep          , 225 , 225 , // 225  - en-sg
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x157 , 1 | CommaSep          , 226 , 240 , // 226  - en-sh
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd4  , 1 | CommaSep          , 227 , 240 , // 227  - en-si
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd5  , 1 | CommaSep          , 228 , 240 , // 228  - en-sl
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x114 , 1 | CommaSep          , 229 , 240 , // 229  - en-ss
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x78f7, 1 | CommaSep          , 230 , 240 , // 230  - en-sx
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x104 , 1 | CommaSep          , 231 , 240 , // 231  - en-sz
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x15d , 1 | CommaSep          , 232 , 240 , // 232  - en-tc
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x15b , 1 | CommaSep          , 233 , 240 , // 233  - en-tk
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xe7  , 1 | CommaSep          , 234 , 240 , // 234  - en-to
-            0x2c09 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xe1  , 1 | CommaSep          , 235 , 235 , // 235  - en-tt
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xec  , 1 | CommaSep          , 236 , 240 , // 236  - en-tv
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xef  , 1 | CommaSep          , 237 , 240 , // 237  - en-tz
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xf0  , 1 | CommaSep          , 238 , 240 , // 238  - en-ug
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x9a55d40,1 | CommaSep        , 239 , 240 , // 239  - en-um
-            0x409  , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0xf4  , 1 | CommaSep          , 240 , 240 , // 240  - en-us
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xf8  , 1 | CommaSep          , 241 , 240 , // 241  - en-vc
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x15f , 1 | CommaSep          , 242 , 240 , // 242  - en-vg
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xfc  , 1 | CommaSep          , 243 , 240 , // 243  - en-vi
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xae  , 1 | CommaSep          , 244 , 240 , // 244  - en-vu
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x103 , 1 | CommaSep          , 245 , 240 , // 245  - en-ws
-            0x1c09 , 0x4e4 , 0x1b5 , 0x2710, 0x1f4 , 0xd1  , 1 | CommaSep          , 246 , 246 , // 246  - en-za
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x107 , 1 | CommaSep          , 247 , 240 , // 247  - en-zm
-            0x3009 , 0x4e4 , 0x1b5 , 0x2710, 0x1f4 , 0x108 , 1 | CommaSep          , 248 , 248 , // 248  - en-zw
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x989e, 1 | SemicolonSep      , 250 , 240 , // 249  - eo
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x989e, 1 | SemicolonSep      , 250 , 240 , // 250  - eo-001
-            0xa    , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xd9  , 1 | SemicolonSep      , 262 , 262 , // 251  - es
-            0x580a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x9a55d41, 1 | SemicolonSep   , 252 , 240 , // 252  - es-419
-            0x2c0a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xb   , 1 | SemicolonSep      , 253 , 253 , // 253  - es-ar
-            0x400a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x1a  , 1 | SemicolonSep      , 254 , 254 , // 254  - es-bo
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x20  , 1 | SemicolonSep      , 255 , 240 , // 255  - es-br
-            0x340a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x2e  , 1 | SemicolonSep      , 256 , 256 , // 256  - es-cl
-            0x240a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x33  , 1 | SemicolonSep      , 257 , 257 , // 257  - es-co
-            0x140a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x36  , 1 | SemicolonSep      , 258 , 258 , // 258  - es-cr
-            0x5c0a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x38  , 1 | SemicolonSep      , 259 , 240 , // 259  - es-cu
-            0x1c0a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x41  , 1 | SemicolonSep      , 260 , 260 , // 260  - es-do
-            0x300a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x42  , 1 | SemicolonSep      , 261 , 261 , // 261  - es-ec
-            0xc0a  , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xd9  , 1 | SemicolonSep      , 262 , 262 , // 262  - es-es
-            0x40a  , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xd9  , 1 | SemicolonSep      , 263 , 263 , // 263  - es-es_tradnl
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x45  , 1 | SemicolonSep      , 264 , 240 , // 264  - es-gq
-            0x100a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x63  , 1 | SemicolonSep      , 265 , 265 , // 265  - es-gt
-            0x480a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x6a  , 1 | SemicolonSep      , 266 , 266 , // 266  - es-hn
-            0x80a  , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xa6  , 1 | CommaSep          , 267 , 267 , // 267  - es-mx
-            0x4c0a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xb6  , 1 | SemicolonSep      , 268 , 268 , // 268  - es-ni
-            0x180a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xc0  , 1 | SemicolonSep      , 269 , 269 , // 269  - es-pa
-            0x280a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xbb  , 1 | SemicolonSep      , 270 , 270 , // 270  - es-pe
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xc9  , 1 | SemicolonSep      , 271 , 240 , // 271  - es-ph
-            0x500a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xca  , 1 | SemicolonSep      , 272 , 272 , // 272  - es-pr
-            0x3c0a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xb9  , 1 | SemicolonSep      , 273 , 273 , // 273  - es-py
-            0x440a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x48  , 1 | SemicolonSep      , 274 , 274 , // 274  - es-sv
-            0x540a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xf4  , 1 | CommaSep          , 275 , 275 , // 275  - es-us
-            0x380a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xf6  , 1 | SemicolonSep      , 276 , 276 , // 276  - es-uy
-            0x200a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xf9  , 1 | SemicolonSep      , 277 , 277 , // 277  - es-ve
-            0x25   , 0x4e9 , 0x307 , 0x272d, 0x1f4 , 0x46  , 1 | SemicolonSep      , 279 , 279 , // 278  - et
-            0x425  , 0x4e9 , 0x307 , 0x272d, 0x1f4 , 0x46  , 1 | SemicolonSep      , 279 , 279 , // 279  - et-ee
-            0x2d   , 0x4e4 , 0x352 , 0x2   , 0x1f4 , 0xd9  , 1 | SemicolonSep      , 281 , 240 , // 280  - eu
-            0x42d  , 0x4e4 , 0x352 , 0x2   , 0x1f4 , 0xd9  , 1 | SemicolonSep      , 281 , 240 , // 281  - eu-es
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 | SemicolonSep      , 283 , 240 , // 282  - ewo
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 | SemicolonSep      , 283 , 240 , // 283  - ewo-cm
-            0x29   , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x74  , 0 | ArabicSemicolonSep, 285 , 143 , // 284  - fa
-            0x429  , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x74  , 0 | ArabicSemicolonSep, 285 , 143 , // 285  - fa-ir
-            0x67   , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xd2  , 1 | SemicolonSep      , 290 , 290 , // 286  - ff
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x31  , 1 | SemicolonSep      , 287 , 240 , // 287  - ff-cm
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x64  , 1 | SemicolonSep      , 288 , 240 , // 288  - ff-gn
-            0x7c67 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xd2  , 1 | SemicolonSep      , 290 , 290 , // 289  - ff-latn
-            0x867  , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xd2  , 1 | SemicolonSep      , 290 , 290 , // 290  - ff-latn-sn
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xa2  , 1 | SemicolonSep      , 291 , 240 , // 291  - ff-mr
-            0x467  , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xaf  , 1 | SemicolonSep      , 292 , 240 , // 292  - ff-ng
-            0xb    , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0x4d  , 1 | SemicolonSep      , 294 , 294 , // 293  - fi
-            0x40b  , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0x4d  , 1 | SemicolonSep      , 294 , 294 , // 294  - fi-fi
-            0x64   , 0x4e4 , 0x1b5 , 0x2710, 0x1f4 , 0xc9  , 1 | SemicolonSep      , 296 , 296 , // 295  - fil
-            0x464  , 0x4e4 , 0x1b5 , 0x2710, 0x1f4 , 0xc9  , 1 | SemicolonSep      , 296 , 296 , // 296  - fil-ph
-            0x38   , 0x4e4 , 0x352 , 0x275f, 0x4f35, 0x51  , 1 | SemicolonSep      , 299 , 299 , // 297  - fo
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x3d  , 1 | SemicolonSep      , 298 , 240 , // 298  - fo-dk
-            0x438  , 0x4e4 , 0x352 , 0x275f, 0x4f35, 0x51  , 1 | SemicolonSep      , 299 , 299 , // 299  - fo-fo
-            0xc    , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x54  , 1 | SemicolonSep      , 316 , 316 , // 300  - fr
-            0x1c0c , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x993248, 1 | SemicolonSep    , 301 , 316 , // 301  - fr-029
-            0x80c  , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x15  , 1 | SemicolonSep      , 302 , 302 , // 302  - fr-be
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xf5  , 1 | SemicolonSep      , 303 , 240 , // 303  - fr-bf
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x26  , 1 | SemicolonSep      , 304 , 240 , // 304  - fr-bi
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x1c  , 1 | SemicolonSep      , 305 , 240 , // 305  - fr-bj
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x9a55c4f, 1 | SemicolonSep   , 306 , 240 , // 306  - fr-bl
-            0xc0c  , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x27  , 1 | SemicolonSep      , 307 , 307 , // 307  - fr-ca
-            0x240c , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x2c  , 1 | SemicolonSep      , 308 , 240 , // 308  - fr-cd
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x37  , 1 | SemicolonSep      , 309 , 240 , // 309  - fr-cf
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x2b  , 1 | SemicolonSep      , 310 , 240 , // 310  - fr-cg
-            0x100c , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xdf  , 1 | SemicolonSep      , 311 , 311 , // 311  - fr-ch
-            0x300c , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x77  , 1 | SemicolonSep      , 312 , 240 , // 312  - fr-ci
-            0x2c0c , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x31  , 1 | SemicolonSep      , 313 , 240 , // 313  - fr-cm
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x3e  , 1 | SemicolonSep      , 314 , 240 , // 314  - fr-dj
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x4   , 1 | SemicolonSep      , 315 , 240 , // 315  - fr-dz
-            0x40c  , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x54  , 1 | SemicolonSep      , 316 , 316 , // 316  - fr-fr
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x57  , 1 | SemicolonSep      , 317 , 240 , // 317  - fr-ga
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x13d , 1 | SemicolonSep      , 318 , 240 , // 318  - fr-gf
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x64  , 1 | SemicolonSep      , 319 , 240 , // 319  - fr-gn
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x141 , 1 | SemicolonSep      , 320 , 240 , // 320  - fr-gp
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x45  , 1 | SemicolonSep      , 321 , 240 , // 321  - fr-gq
-            0x3c0c , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x67  , 1 | SemicolonSep      , 322 , 240 , // 322  - fr-ht
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x32  , 1 | SemicolonSep      , 323 , 240 , // 323  - fr-km
-            0x140c , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x93  , 1 | SemicolonSep      , 324 , 324 , // 324  - fr-lu
-            0x380c , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x9f  , 1 | SemicolonSep      , 325 , 240 , // 325  - fr-ma
-            0x180c , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x9e  , 1 | SemicolonSep      , 326 , 326 , // 326  - fr-mc
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x7bda, 1 | SemicolonSep      , 327 , 240 , // 327  - fr-mf
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x95  , 1 | SemicolonSep      , 328 , 240 , // 328  - fr-mg
-            0x340c , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x9d  , 1 | SemicolonSep      , 329 , 240 , // 329  - fr-ml
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x14a , 1 | SemicolonSep      , 330 , 240 , // 330  - fr-mq
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xa2  , 1 | SemicolonSep      , 331 , 240 , // 331  - fr-mr
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xa0  , 1 | SemicolonSep      , 332 , 240 , // 332  - fr-mu
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x14e , 1 | SemicolonSep      , 333 , 240 , // 333  - fr-nc
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xad  , 1 | SemicolonSep      , 334 , 240 , // 334  - fr-ne
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x13e , 1 | SemicolonSep      , 335 , 240 , // 335  - fr-pf
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xce  , 1 | SemicolonSep      , 336 , 240 , // 336  - fr-pm
-            0x200c , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xc6  , 1 | SemicolonSep      , 337 , 240 , // 337  - fr-re
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xcc  , 1 | SemicolonSep      , 338 , 240 , // 338  - fr-rw
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xd0  , 1 | SemicolonSep      , 339 , 240 , // 339  - fr-sc
-            0x280c , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xd2  , 1 | SemicolonSep      , 340 , 240 , // 340  - fr-sn
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xde  , 1 | SemicolonSep      , 341 , 240 , // 341  - fr-sy
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x29  , 1 | SemicolonSep      , 342 , 240 , // 342  - fr-td
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xe8  , 1 | SemicolonSep      , 343 , 240 , // 343  - fr-tg
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xea  , 1 | SemicolonSep      , 344 , 240 , // 344  - fr-tn
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xae  , 1 | SemicolonSep      , 345 , 240 , // 345  - fr-vu
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x160 , 1 | SemicolonSep      , 346 , 240 , // 346  - fr-wf
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x14b , 1 | SemicolonSep      , 347 , 240 , // 347  - fr-yt
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x76  , 1 | SemicolonSep      , 349 , 240 , // 348  - fur
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x76  , 1 | SemicolonSep      , 349 , 240 , // 349  - fur-it
-            0x62   , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xb0  , 1 | SemicolonSep      , 351 , 351 , // 350  - fy
-            0x462  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xb0  , 1 | SemicolonSep      , 351 , 351 , // 351  - fy-nl
-            0x3c   , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x44  , 1 | SemicolonSep      , 353 , 353 , // 352  - ga
-            0x83c  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x44  , 1 | SemicolonSep      , 353 , 353 , // 353  - ga-ie
-            0x91   , 0x4e4 , 0x352 , 0x2710, 0x4f3d, 0xf2  , 1 | SemicolonSep      , 355 , 355 , // 354  - gd
-            0x491  , 0x4e4 , 0x352 , 0x2710, 0x4f3d, 0xf2  , 1 | SemicolonSep      , 355 , 355 , // 355  - gd-gb
-            0x56   , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd9  , 1 | SemicolonSep      , 357 , 357 , // 356  - gl
-            0x456  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd9  , 1 | SemicolonSep      , 357 , 357 , // 357  - gl-es
-            0x74   , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xb9  , 1 | CommaSep          , 359 , 359 , // 358  - gn
-            0x474  , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xb9  , 1 | CommaSep          , 359 , 359 , // 359  - gn-py
-            0x84   , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xdf  , 1 | SemicolonSep      , 361 , 240 , // 360  - gsw
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xdf  , 1 | SemicolonSep      , 361 , 240 , // 361  - gsw-ch
-            0x484  , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x54  , 1 | SemicolonSep      , 362 , 362 , // 362  - gsw-fr
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x91  , 1 | SemicolonSep      , 363 , 240 , // 363  - gsw-li
-            0x47   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | CommaSep          , 365 , 143 , // 364  - gu
-            0x447  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | CommaSep          , 365 , 143 , // 365  - gu-in
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 | SemicolonSep      , 367 , 240 , // 366  - guz
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 | SemicolonSep      , 367 , 240 , // 367  - guz-ke
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x3b16, 1 | SemicolonSep      , 369 , 240 , // 368  - gv
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x3b16, 1 | SemicolonSep      , 369 , 240 , // 369  - gv-im
-            0x68   , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0xaf  , 1 | SemicolonSep      , 374 , 374 , // 370  - ha
-            0x7c68 , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0xaf  , 1 | SemicolonSep      , 374 , 374 , // 371  - ha-latn
-            0x1000 , 0x4e4 , 0x1b5 , 0x2710, 0x1f4 , 0x59  , 1 | SemicolonSep      , 372 , 240 , // 372  - ha-latn-gh
-            0x1000 , 0x4e4 , 0x1b5 , 0x2710, 0x1f4 , 0xad  , 1 | SemicolonSep      , 373 , 240 , // 373  - ha-latn-ne
-            0x468  , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0xaf  , 1 | SemicolonSep      , 374 , 374 , // 374  - ha-latn-ng
-            0x75   , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0xf4  , 1 | SemicolonSep      , 376 , 376 , // 375  - haw
-            0x475  , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0xf4  , 1 | SemicolonSep      , 376 , 376 , // 376  - haw-us
-            0xd    , 0x4e7 , 0x35e , 0x2715, 0x1f4 , 0x75  , 1 | CommaSep          , 378 , 143 , // 377  - he
-            0x40d  , 0x4e7 , 0x35e , 0x2715, 0x1f4 , 0x75  , 1 | CommaSep          , 378 , 143 , // 378  - he-il
-            0x39   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | CommaSep          , 380 , 143 , // 379  - hi
-            0x439  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | CommaSep          , 380 , 143 , // 380  - hi-in
-            0x1a   , 0x4e2 , 0x354 , 0x2762, 0x1f4 , 0x6c  , 1 | SemicolonSep      , 383 , 383 , // 381  - hr
-            0x101a , 0x4e2 , 0x354 , 0x2762, 0x366 , 0x19  , 1 | SemicolonSep      , 382 , 382 , // 382  - hr-ba
-            0x41a  , 0x4e2 , 0x354 , 0x2762, 0x1f4 , 0x6c  , 1 | SemicolonSep      , 383 , 383 , // 383  - hr-hr
-            0x2e   , 0x4e4 , 0x352 , 0x2710, 0x366 , 0x5e  , 1 | SemicolonSep      , 385 , 385 , // 384  - hsb
-            0x42e  , 0x4e4 , 0x352 , 0x2710, 0x366 , 0x5e  , 1 | SemicolonSep      , 385 , 385 , // 385  - hsb-de
-            0xe    , 0x4e2 , 0x354 , 0x272d, 0x1f4 , 0x6d  , 1 | SemicolonSep      , 387 , 387 , // 386  - hu
-            0x40e  , 0x4e2 , 0x354 , 0x272d, 0x1f4 , 0x6d  , 1 | SemicolonSep      , 387 , 387 , // 387  - hu-hu
-            0x1040e, 0x4e2 , 0x354 , 0x272d, 0x1f4 , 0x6d  , 1 | SemicolonSep      , 387 , 387 , // 388  - hu-hu_technl
-            0x2b   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x7   , 1 | CommaSep          , 390 , 390 , // 389  - hy
-            0x42b  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x7   , 1 | CommaSep          , 390 , 390 , // 390  - hy-am
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x54  , 1 | SemicolonSep      , 393 , 240 , // 391  - ia
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x989e, 1 | SemicolonSep      , 392 , 240 , // 392  - ia-001
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x54  , 1 | SemicolonSep      , 393 , 240 , // 393  - ia-fr
-            0x69   , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xaf  , 1 | SemicolonSep      , 395 , 240 , // 394  - ibb
-            0x469  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xaf  , 1 | SemicolonSep      , 395 , 240 , // 395  - ibb-ng
-            0x21   , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x6f  , 1 | SemicolonSep      , 397 , 397 , // 396  - id
-            0x421  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x6f  , 1 | SemicolonSep      , 397 , 397 , // 397  - id-id
-            0x70   , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0xaf  , 1 | SemicolonSep      , 399 , 399 , // 398  - ig
-            0x470  , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0xaf  , 1 | SemicolonSep      , 399 , 399 , // 399  - ig-ng
-            0x78   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x2d  , 1 | SemicolonSep      , 401 , 143 , // 400  - ii
-            0x478  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x2d  , 1 | SemicolonSep      , 401 , 143 , // 401  - ii-cn
-            0xf    , 0x4e4 , 0x352 , 0x275f, 0x5187, 0x6e  , 1 | SemicolonSep      , 403 , 403 , // 402  - is
-            0x40f  , 0x4e4 , 0x352 , 0x275f, 0x5187, 0x6e  , 1 | SemicolonSep      , 403 , 403 , // 403  - is-is
-            0x10   , 0x4e4 , 0x352 , 0x2710, 0x4f38, 0x76  , 1 | SemicolonSep      , 406 , 406 , // 404  - it
-            0x810  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xdf  , 1 | SemicolonSep      , 405 , 405 , // 405  - it-ch
-            0x410  , 0x4e4 , 0x352 , 0x2710, 0x4f38, 0x76  , 1 | SemicolonSep      , 406 , 406 , // 406  - it-it
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f38, 0xd6  , 1 | SemicolonSep      , 407 , 240 , // 407  - it-sm
-            0x5d   , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0x27  , 1 | CommaSep          , 412 , 412 , // 408  - iu
-            0x785d , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x27  , 1 | CommaSep          , 410 , 143 , // 409  - iu-cans
-            0x45d  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x27  , 1 | CommaSep          , 410 , 143 , // 410  - iu-cans-ca
-            0x7c5d , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0x27  , 1 | CommaSep          , 412 , 412 , // 411  - iu-latn
-            0x85d  , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0x27  , 1 | CommaSep          , 412 , 412 , // 412  - iu-latn-ca
-            0x11   , 0x3a4 , 0x3a4 , 0x2711, 0x4f42, 0x7a  , 1 | CommaSep          , 414 , 414 , // 413  - ja
-            0x411  , 0x3a4 , 0x3a4 , 0x2711, 0x4f42, 0x7a  , 1 | CommaSep          , 414 , 414 , // 414  - ja-jp
-            0x40411, 0x3a4 , 0x3a4 , 0x2711, 0x4f42, 0x7a  , 1 | CommaSep          , 414 , 414 , // 415  - ja-jp_radstr
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 | SemicolonSep      , 417 , 240 , // 416  - jgo
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 | SemicolonSep      , 417 , 240 , // 417  - jgo-cm
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 | SemicolonSep      , 419 , 240 , // 418  - jmc
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 | SemicolonSep      , 419 , 240 , // 419  - jmc-tz
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x6f  , 1 | SemicolonSep      , 424 , 424 , // 420  - jv
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x6f  , 1 | SemicolonSep      , 422 , 424 , // 421  - jv-java
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x6f  , 1 | SemicolonSep      , 422 , 424 , // 422  - jv-java-id
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x6f  , 1 | SemicolonSep      , 424 , 424 , // 423  - jv-latn
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x6f  , 1 | SemicolonSep      , 424 , 424 , // 424  - jv-latn-id
-            0x37   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x58  , 1 | SemicolonSep      , 426 , 426 , // 425  - ka
-            0x437  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x58  , 1 | SemicolonSep      , 426 , 426 , // 426  - ka-ge
-            0x10437, 0x0   , 0x1   , 0x2   , 0x1f4 , 0x58  , 1 | SemicolonSep      , 426 , 426 , // 427  - ka-ge_modern
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x4   , 1 | SemicolonSep      , 429 , 240 , // 428  - kab
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x4   , 1 | SemicolonSep      , 429 , 240 , // 429  - kab-dz
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 | SemicolonSep      , 431 , 240 , // 430  - kam
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 | SemicolonSep      , 431 , 240 , // 431  - kam-ke
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 | SemicolonSep      , 433 , 240 , // 432  - kde
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 | SemicolonSep      , 433 , 240 , // 433  - kde-tz
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x39  , 1 | SemicolonSep      , 435 , 240 , // 434  - kea
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x39  , 1 | SemicolonSep      , 435 , 240 , // 435  - kea-cv
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9d  , 1 | SemicolonSep      , 437 , 240 , // 436  - khq
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9d  , 1 | SemicolonSep      , 437 , 240 , // 437  - khq-ml
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 | SemicolonSep      , 439 , 240 , // 438  - ki
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 | SemicolonSep      , 439 , 240 , // 439  - ki-ke
-            0x3f   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x89  , 1 | SemicolonSep      , 441 , 441 , // 440  - kk
-            0x43f  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x89  , 1 | SemicolonSep      , 441 , 441 , // 441  - kk-kz
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 | SemicolonSep      , 443 , 240 , // 442  - kkj
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 | SemicolonSep      , 443 , 240 , // 443  - kkj-cm
-            0x6f   , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0x5d  , 1 | SemicolonSep      , 445 , 445 , // 444  - kl
-            0x46f  , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0x5d  , 1 | SemicolonSep      , 445 , 445 , // 445  - kl-gl
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 | SemicolonSep      , 447 , 240 , // 446  - kln
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 | SemicolonSep      , 447 , 240 , // 447  - kln-ke
-            0x53   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x28  , 2 | CommaSep          , 449 , 143 , // 448  - km
-            0x453  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x28  , 2 | CommaSep          , 449 , 143 , // 449  - km-kh
-            0x4b   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | CommaSep          , 451 , 143 , // 450  - kn
-            0x44b  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | CommaSep          , 451 , 143 , // 451  - kn-in
-            0x12   , 0x3b5 , 0x3b5 , 0x2713, 0x5161, 0x86  , 1 | CommaSep          , 454 , 454 , // 452  - ko
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x83  , 1 | SemicolonSep      , 453 , 240 , // 453  - ko-kp
-            0x412  , 0x3b5 , 0x3b5 , 0x2713, 0x5161, 0x86  , 1 | CommaSep          , 454 , 454 , // 454  - ko-kr
-            0x57   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | CommaSep          , 456 , 143 , // 455  - kok
-            0x457  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | CommaSep          , 456 , 143 , // 456  - kok-in
-            0x71   , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xaf  , 1 | SemicolonSep      , 458 , 240 , // 457  - kr
-            0x471  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xaf  , 1 | SemicolonSep      , 458 , 240 , // 458  - kr-ng
-            0x60   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 2 | SemicolonSep      , 461 , 240 , // 459  - ks
-            0x460  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 2 | SemicolonSep      , 461 , 240 , // 460  - ks-arab
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 2 | SemicolonSep      , 461 , 240 , // 461  - ks-arab-in
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | CommaSep          , 463 , 187 , // 462  - ks-deva
-            0x860  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | CommaSep          , 463 , 187 , // 463  - ks-deva-in
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 | SemicolonSep      , 465 , 240 , // 464  - ksb
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 | SemicolonSep      , 465 , 240 , // 465  - ksb-tz
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 | SemicolonSep      , 467 , 240 , // 466  - ksf
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 | SemicolonSep      , 467 , 240 , // 467  - ksf-cm
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x5e  , 1 | SemicolonSep      , 469 , 240 , // 468  - ksh
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x5e  , 1 | SemicolonSep      , 469 , 240 , // 469  - ksh-de
-            0x92   , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x79  , 0 | ArabicSemicolonSep, 472 , 143 , // 470  - ku
-            0x7c92 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x79  , 0 | ArabicSemicolonSep, 472 , 143 , // 471  - ku-arab
-            0x492  , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x79  , 0 | ArabicSemicolonSep, 472 , 143 , // 472  - ku-arab-iq
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x74  , 0 | SemicolonSep      , 473 , 240 , // 473  - ku-arab-ir
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf2  , 1 | SemicolonSep      , 475 , 240 , // 474  - kw
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf2  , 1 | SemicolonSep      , 475 , 240 , // 475  - kw-gb
-            0x40   , 0x4e3 , 0x362 , 0x2717, 0x5190, 0x82  , 1 | SemicolonSep      , 477 , 477 , // 476  - ky
-            0x440  , 0x4e3 , 0x362 , 0x2717, 0x5190, 0x82  , 1 | SemicolonSep      , 477 , 477 , // 477  - ky-kg
-            0x76   , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0x989e, 1 | CommaSep          , 479 , 143 , // 478  - la
-            0x476  , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0x989e, 1 | CommaSep          , 479 , 143 , // 479  - la-001
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 | SemicolonSep      , 481 , 240 , // 480  - lag
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 | SemicolonSep      , 481 , 240 , // 481  - lag-tz
-            0x6e   , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x93  , 1 | SemicolonSep      , 483 , 483 , // 482  - lb
-            0x46e  , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x93  , 1 | SemicolonSep      , 483 , 483 , // 483  - lb-lu
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf0  , 1 | SemicolonSep      , 485 , 240 , // 484  - lg
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf0  , 1 | SemicolonSep      , 485 , 240 , // 485  - lg-ug
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf4  , 1 | SemicolonSep      , 487 , 240 , // 486  - lkt
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf4  , 1 | SemicolonSep      , 487 , 240 , // 487  - lkt-us
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x2c  , 1 | SemicolonSep      , 490 , 240 , // 488  - ln
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9   , 1 | SemicolonSep      , 489 , 240 , // 489  - ln-ao
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x2c  , 1 | SemicolonSep      , 490 , 240 , // 490  - ln-cd
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x37  , 1 | SemicolonSep      , 491 , 240 , // 491  - ln-cf
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x2b  , 1 | SemicolonSep      , 492 , 240 , // 492  - ln-cg
-            0x54   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x8a  , 1 | SemicolonSep      , 494 , 143 , // 493  - lo
-            0x454  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x8a  , 1 | SemicolonSep      , 494 , 143 , // 494  - lo-la
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x74  , 2 | SemicolonSep      , 497 , 240 , // 495  - lrc
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x79  , 2 | SemicolonSep      , 496 , 240 , // 496  - lrc-iq
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x74  , 2 | SemicolonSep      , 497 , 240 , // 497  - lrc-ir
-            0x27   , 0x4e9 , 0x307 , 0x272d, 0x1f4 , 0x8d  , 1 | SemicolonSep      , 499 , 499 , // 498  - lt
-            0x427  , 0x4e9 , 0x307 , 0x272d, 0x1f4 , 0x8d  , 1 | SemicolonSep      , 499 , 499 , // 499  - lt-lt
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x2c  , 1 | SemicolonSep      , 501 , 240 , // 500  - lu
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x2c  , 1 | SemicolonSep      , 501 , 240 , // 501  - lu-cd
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 | SemicolonSep      , 503 , 240 , // 502  - luo
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 | SemicolonSep      , 503 , 240 , // 503  - luo-ke
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 | SemicolonSep      , 505 , 240 , // 504  - luy
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 | SemicolonSep      , 505 , 240 , // 505  - luy-ke
-            0x26   , 0x4e9 , 0x307 , 0x272d, 0x1f4 , 0x8c  , 1 | SemicolonSep      , 507 , 507 , // 506  - lv
-            0x426  , 0x4e9 , 0x307 , 0x272d, 0x1f4 , 0x8c  , 1 | SemicolonSep      , 507 , 507 , // 507  - lv-lv
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 | SemicolonSep      , 509 , 240 , // 508  - mas
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 | SemicolonSep      , 509 , 240 , // 509  - mas-ke
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 | SemicolonSep      , 510 , 240 , // 510  - mas-tz
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 | SemicolonSep      , 512 , 240 , // 511  - mer
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 | SemicolonSep      , 512 , 240 , // 512  - mer-ke
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xa0  , 1 | SemicolonSep      , 514 , 240 , // 513  - mfe
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xa0  , 1 | SemicolonSep      , 514 , 240 , // 514  - mfe-mu
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x95  , 1 | SemicolonSep      , 516 , 240 , // 515  - mg
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x95  , 1 | SemicolonSep      , 516 , 240 , // 516  - mg-mg
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xa8  , 1 | SemicolonSep      , 518 , 240 , // 517  - mgh
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xa8  , 1 | SemicolonSep      , 518 , 240 , // 518  - mgh-mz
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 | SemicolonSep      , 520 , 240 , // 519  - mgo
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 | SemicolonSep      , 520 , 240 , // 520  - mgo-cm
-            0x81   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xb7  , 1 | CommaSep          , 522 , 522 , // 521  - mi
-            0x481  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xb7  , 1 | CommaSep          , 522 , 522 , // 522  - mi-nz
-            0x2f   , 0x4e3 , 0x362 , 0x2717, 0x1f4 , 0x4ca2, 1 | SemicolonSep      , 524 , 524 , // 523  - mk
-            0x42f  , 0x4e3 , 0x362 , 0x2717, 0x1f4 , 0x4ca2, 1 | SemicolonSep      , 524 , 524 , // 524  - mk-mk
-            0x4c   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | SemicolonSep      , 526 , 143 , // 525  - ml
-            0x44c  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | SemicolonSep      , 526 , 143 , // 526  - ml-in
-            0x50   , 0x4e3 , 0x362 , 0x2717, 0x5190, 0x9a  , 1 | SemicolonSep      , 529 , 529 , // 527  - mn
-            0x7850 , 0x4e3 , 0x362 , 0x2717, 0x5190, 0x9a  , 1 | SemicolonSep      , 529 , 529 , // 528  - mn-cyrl
-            0x450  , 0x4e3 , 0x362 , 0x2717, 0x5190, 0x9a  , 1 | SemicolonSep      , 529 , 529 , // 529  - mn-mn
-            0x7c50 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x2d  , 1 | CommaSep          , 531 , 531 , // 530  - mn-mong
-            0x850  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x2d  , 1 | CommaSep          , 531 , 531 , // 531  - mn-mong-cn
-            0xc50  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9a  , 1 | CommaSep          , 532 , 532 , // 532  - mn-mong-mn
-            0x58   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | CommaSep          , 534 , 187 , // 533  - mni
-            0x458  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | CommaSep          , 534 , 187 , // 534  - mni-in
-            0x7c   , 0x4e4 , 0x352 , 0x2710, 0x25  , 0x27  , 1 | CommaSep          , 536 , 240 , // 535  - moh
-            0x47c  , 0x4e4 , 0x352 , 0x2710, 0x25  , 0x27  , 1 | CommaSep          , 536 , 240 , // 536  - moh-ca
-            0x4e   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | CommaSep          , 538 , 143 , // 537  - mr
-            0x44e  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | CommaSep          , 538 , 143 , // 538  - mr-in
-            0x3e   , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xa7  , 1 | SemicolonSep      , 541 , 541 , // 539  - ms
-            0x83e  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x25  , 1 | SemicolonSep      , 540 , 540 , // 540  - ms-bn
-            0x43e  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xa7  , 1 | SemicolonSep      , 541 , 541 , // 541  - ms-my
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd7  , 1 | SemicolonSep      , 542 , 240 , // 542  - ms-sg
-            0x3a   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xa3  , 1 | SemicolonSep      , 544 , 544 , // 543  - mt
-            0x43a  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xa3  , 1 | SemicolonSep      , 544 , 544 , // 544  - mt-mt
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 | SemicolonSep      , 546 , 240 , // 545  - mua
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 | SemicolonSep      , 546 , 240 , // 546  - mua-cm
-            0x55   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x1b  , 2 | SemicolonSep      , 548 , 240 , // 547  - my
-            0x455  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x1b  , 2 | SemicolonSep      , 548 , 240 , // 548  - my-mm
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x74  , 2 | SemicolonSep      , 550 , 240 , // 549  - mzn
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x74  , 2 | SemicolonSep      , 550 , 240 , // 550  - mzn-ir
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xfe  , 1 | SemicolonSep      , 552 , 240 , // 551  - naq
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xfe  , 1 | SemicolonSep      , 552 , 240 , // 552  - naq-na
-            0x7c14 , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0xb1  , 1 | SemicolonSep      , 554 , 554 , // 553  - nb
-            0x414  , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0xb1  , 1 | SemicolonSep      , 554 , 554 , // 554  - nb-no
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0xdc  , 1 | SemicolonSep      , 555 , 240 , // 555  - nb-sj
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x108 , 1 | SemicolonSep      , 557 , 240 , // 556  - nd
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x108 , 1 | SemicolonSep      , 557 , 240 , // 557  - nd-zw
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x5e  , 1 | SemicolonSep      , 559 , 240 , // 558  - nds
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x5e  , 1 | SemicolonSep      , 559 , 240 , // 559  - nds-de
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xb0  , 1 | SemicolonSep      , 560 , 240 , // 560  - nds-nl
-            0x61   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xb2  , 1 | CommaSep          , 563 , 143 , // 561  - ne
-            0x861  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 2 | SemicolonSep      , 562 , 240 , // 562  - ne-in
-            0x461  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xb2  , 1 | CommaSep          , 563 , 143 , // 563  - ne-np
-            0x13   , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xb0  , 1 | SemicolonSep      , 569 , 569 , // 564  - nl
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x12e , 1 | SemicolonSep      , 565 , 240 , // 565  - nl-aw
-            0x813  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x15  , 1 | SemicolonSep      , 566 , 566 , // 566  - nl-be
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x9a55d42, 1 | SemicolonSep   , 567 , 240 , // 567  - nl-bq
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x111 , 1 | SemicolonSep      , 568 , 240 , // 568  - nl-cw
-            0x413  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xb0  , 1 | SemicolonSep      , 569 , 569 , // 569  - nl-nl
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xb5  , 1 | SemicolonSep      , 570 , 240 , // 570  - nl-sr
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x78f7, 1 | SemicolonSep      , 571 , 240 , // 571  - nl-sx
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 | SemicolonSep      , 573 , 240 , // 572  - nmg
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 | SemicolonSep      , 573 , 240 , // 573  - nmg-cm
-            0x7814 , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0xb1  , 1 | SemicolonSep      , 575 , 575 , // 574  - nn
-            0x814  , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0xb1  , 1 | SemicolonSep      , 575 , 575 , // 575  - nn-no
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 | SemicolonSep      , 577 , 240 , // 576  - nnh
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 | SemicolonSep      , 577 , 240 , // 577  - nnh-cm
-            0x14   , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0xb1  , 1 | SemicolonSep      , 554 , 554 , // 578  - no
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x64  , 2 | ArabicCommaSep    , 580 , 143 , // 579  - nqo
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x64  , 2 | ArabicCommaSep    , 580 , 143 , // 580  - nqo-gn
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd1  , 1 | SemicolonSep      , 582 , 240 , // 581  - nr
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd1  , 1 | SemicolonSep      , 582 , 240 , // 582  - nr-za
-            0x6c   , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd1  , 1 | SemicolonSep      , 584 , 584 , // 583  - nso
-            0x46c  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd1  , 1 | SemicolonSep      , 584 , 584 , // 584  - nso-za
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x114 , 1 | SemicolonSep      , 586 , 240 , // 585  - nus
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x114 , 1 | SemicolonSep      , 586 , 240 , // 586  - nus-ss
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf0  , 1 | SemicolonSep      , 588 , 240 , // 587  - nyn
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf0  , 1 | SemicolonSep      , 588 , 240 , // 588  - nyn-ug
-            0x82   , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x54  , 1 | SemicolonSep      , 590 , 590 , // 589  - oc
-            0x482  , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x54  , 1 | SemicolonSep      , 590 , 590 , // 590  - oc-fr
-            0x72   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x49  , 1 | SemicolonSep      , 592 , 240 , // 591  - om
-            0x472  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x49  , 1 | SemicolonSep      , 592 , 240 , // 592  - om-et
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 | SemicolonSep      , 593 , 240 , // 593  - om-ke
-            0x48   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | CommaSep          , 595 , 143 , // 594  - or
-            0x448  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | CommaSep          , 595 , 143 , // 595  - or-in
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x58  , 1 | SemicolonSep      , 597 , 240 , // 596  - os
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x58  , 1 | SemicolonSep      , 597 , 240 , // 597  - os-ge
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xcb  , 1 | SemicolonSep      , 598 , 240 , // 598  - os-ru
-            0x46   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | CommaSep          , 602 , 143 , // 599  - pa
-            0x7c46 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xbe  , 2 | SemicolonSep      , 601 , 143 , // 600  - pa-arab
-            0x846  , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xbe  , 2 | SemicolonSep      , 601 , 143 , // 601  - pa-arab-pk
-            0x446  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | CommaSep          , 602 , 143 , // 602  - pa-in
-            0x79   , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x993248, 1 | CommaSep        , 604 , 145 , // 603  - pap
-            0x479  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x993248, 1 | CommaSep        , 604 , 145 , // 604  - pap-029
-            0x15   , 0x4e2 , 0x354 , 0x272d, 0x5190, 0xbf  , 1 | SemicolonSep      , 606 , 606 , // 605  - pl
-            0x415  , 0x4e2 , 0x354 , 0x272d, 0x5190, 0xbf  , 1 | SemicolonSep      , 606 , 606 , // 606  - pl-pl
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x989e, 1 | SemicolonSep      , 608 , 240 , // 607  - prg
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x989e, 1 | SemicolonSep      , 608 , 240 , // 608  - prg-001
-            0x8c   , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x3   , 2 | SemicolonSep      , 610 , 143 , // 609  - prs
-            0x48c  , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x3   , 2 | SemicolonSep      , 610 , 143 , // 610  - prs-af
-            0x63   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x3   , 2 | SemicolonSep      , 612 , 143 , // 611  - ps
-            0x463  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x3   , 2 | SemicolonSep      , 612 , 143 , // 612  - ps-af
-            0x16   , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x20  , 1 | SemicolonSep      , 615 , 615 , // 613  - pt
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x9   , 1 | SemicolonSep      , 614 , 240 , // 614  - pt-ao
-            0x416  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x20  , 1 | SemicolonSep      , 615 , 615 , // 615  - pt-br
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xdf  , 1 | SemicolonSep      , 616 , 240 , // 616  - pt-ch
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x39  , 1 | SemicolonSep      , 617 , 240 , // 617  - pt-cv
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x45  , 1 | SemicolonSep      , 618 , 240 , // 618  - pt-gq
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xc4  , 1 | SemicolonSep      , 619 , 240 , // 619  - pt-gw
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x93  , 1 | SemicolonSep      , 620 , 240 , // 620  - pt-lu
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x97  , 1 | SemicolonSep      , 621 , 240 , // 621  - pt-mo
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xa8  , 1 | SemicolonSep      , 622 , 240 , // 622  - pt-mz
-            0x816  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xc1  , 1 | SemicolonSep      , 623 , 623 , // 623  - pt-pt
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xe9  , 1 | SemicolonSep      , 624 , 240 , // 624  - pt-st
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x6f60e7,1| SemicolonSep      , 625 , 240 , // 625  - pt-tl
-            0x901  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x7c  , 1 | CommaSep          , 626 , 190 , // 626  - qps-latn-x-sh
-            0x501  , 0x4e2 , 0x354 , 0x272d, 0x5190, 0xf4  , 1 | DoubleCommaSep    , 627 , 627 , // 627  - qps-ploc
-            0x5fe  , 0x3a4 , 0x3a4 , 0x2711, 0x4f42, 0x7a  , 1 | CommaSep          , 628 , 628 , // 628  - qps-ploca
-            0x9ff  , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xcd  , 0 | SemicolonSep      , 629 , 143 , // 629  - qps-plocm
-            0x86   , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x63  , 1 | CommaSep          , 632 , 632 , // 630  - quc
-            0x7c86 , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x63  , 1 | CommaSep          , 632 , 632 , // 631  - quc-latn
-            0x486  , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x63  , 1 | CommaSep          , 632 , 632 , // 632  - quc-latn-gt
-            0x6b   , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x1a  , 1 | CommaSep          , 634 , 634 , // 633  - quz
-            0x46b  , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x1a  , 1 | CommaSep          , 634 , 634 , // 634  - quz-bo
-            0x86b  , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x42  , 1 | CommaSep          , 635 , 635 , // 635  - quz-ec
-            0xc6b  , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xbb  , 1 | CommaSep          , 636 , 636 , // 636  - quz-pe
-            0x17   , 0x4e4 , 0x352 , 0x2710, 0x4f31, 0xdf  , 1 | SemicolonSep      , 638 , 638 , // 637  - rm
-            0x417  , 0x4e4 , 0x352 , 0x2710, 0x4f31, 0xdf  , 1 | SemicolonSep      , 638 , 638 , // 638  - rm-ch
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x26  , 1 | SemicolonSep      , 640 , 240 , // 639  - rn
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x26  , 1 | SemicolonSep      , 640 , 240 , // 640  - rn-bi
-            0x18   , 0x4e2 , 0x354 , 0x272d, 0x5190, 0xc8  , 1 | SemicolonSep      , 643 , 643 , // 641  - ro
-            0x818  , 0x4e2 , 0x354 , 0x2   , 0x1f4 , 0x98  , 1 | SemicolonSep      , 642 , 240 , // 642  - ro-md
-            0x418  , 0x4e2 , 0x354 , 0x272d, 0x5190, 0xc8  , 1 | SemicolonSep      , 643 , 643 , // 643  - ro-ro
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 | SemicolonSep      , 645 , 240 , // 644  - rof
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 | SemicolonSep      , 645 , 240 , // 645  - rof-tz
-            0x19   , 0x4e3 , 0x362 , 0x2717, 0x5190, 0xcb  , 1 | SemicolonSep      , 651 , 651 , // 646  - ru
-            0x1000 , 0x4e3 , 0x362 , 0x2   , 0x1f4 , 0x1d  , 1 | SemicolonSep      , 647 , 240 , // 647  - ru-by
-            0x1000 , 0x4e3 , 0x362 , 0x2   , 0x1f4 , 0x82  , 1 | SemicolonSep      , 648 , 240 , // 648  - ru-kg
-            0x1000 , 0x4e3 , 0x362 , 0x2   , 0x1f4 , 0x89  , 1 | SemicolonSep      , 649 , 240 , // 649  - ru-kz
-            0x819  , 0x4e3 , 0x362 , 0x2   , 0x1f4 , 0x98  , 1 | SemicolonSep      , 650 , 240 , // 650  - ru-md
-            0x419  , 0x4e3 , 0x362 , 0x2717, 0x5190, 0xcb  , 1 | SemicolonSep      , 651 , 651 , // 651  - ru-ru
-            0x1000 , 0x4e3 , 0x362 , 0x2   , 0x1f4 , 0xf1  , 1 | SemicolonSep      , 652 , 240 , // 652  - ru-ua
-            0x87   , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0xcc  , 1 | SemicolonSep      , 654 , 654 , // 653  - rw
-            0x487  , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0xcc  , 1 | SemicolonSep      , 654 , 654 , // 654  - rw-rw
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 | SemicolonSep      , 656 , 240 , // 655  - rwk
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 | SemicolonSep      , 656 , 240 , // 656  - rwk-tz
-            0x4f   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | CommaSep          , 658 , 143 , // 657  - sa
-            0x44f  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | CommaSep          , 658 , 143 , // 658  - sa-in
-            0x85   , 0x4e3 , 0x362 , 0x2717, 0x5190, 0xcb  , 1 | SemicolonSep      , 660 , 660 , // 659  - sah
-            0x485  , 0x4e3 , 0x362 , 0x2717, 0x5190, 0xcb  , 1 | SemicolonSep      , 660 , 660 , // 660  - sah-ru
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 | SemicolonSep      , 662 , 240 , // 661  - saq
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 | SemicolonSep      , 662 , 240 , // 662  - saq-ke
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 | SemicolonSep      , 664 , 240 , // 663  - sbp
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 | SemicolonSep      , 664 , 240 , // 664  - sbp-tz
-            0x59   , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xbe  , 2 | SemicolonSep      , 667 , 143 , // 665  - sd
-            0x7c59 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xbe  , 2 | SemicolonSep      , 667 , 143 , // 666  - sd-arab
-            0x859  , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xbe  , 2 | SemicolonSep      , 667 , 143 , // 667  - sd-arab-pk
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | CommaSep          , 669 , 187 , // 668  - sd-deva
-            0x459  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | CommaSep          , 669 , 187 , // 669  - sd-deva-in
-            0x3b   , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0xb1  , 1 | SemicolonSep      , 672 , 672 , // 670  - se
-            0xc3b  , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0x4d  , 1 | SemicolonSep      , 671 , 671 , // 671  - se-fi
-            0x43b  , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0xb1  , 1 | SemicolonSep      , 672 , 672 , // 672  - se-no
-            0x83b  , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0xdd  , 1 | SemicolonSep      , 673 , 673 , // 673  - se-se
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xa8  , 1 | SemicolonSep      , 675 , 240 , // 674  - seh
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xa8  , 1 | SemicolonSep      , 675 , 240 , // 675  - seh-mz
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9d  , 1 | SemicolonSep      , 677 , 240 , // 676  - ses
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9d  , 1 | SemicolonSep      , 677 , 240 , // 677  - ses-ml
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x37  , 1 | SemicolonSep      , 679 , 240 , // 678  - sg
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x37  , 1 | SemicolonSep      , 679 , 240 , // 679  - sg-cf
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9f  , 1 | SemicolonSep      , 684 , 240 , // 680  - shi
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9f  , 1 | SemicolonSep      , 682 , 240 , // 681  - shi-latn
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9f  , 1 | SemicolonSep      , 682 , 240 , // 682  - shi-latn-ma
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9f  , 1 | SemicolonSep      , 684 , 240 , // 683  - shi-tfng
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9f  , 1 | SemicolonSep      , 684 , 240 , // 684  - shi-tfng-ma
-            0x5b   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x2a  , 1 | SemicolonSep      , 686 , 143 , // 685  - si
-            0x45b  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x2a  , 1 | SemicolonSep      , 686 , 143 , // 686  - si-lk
-            0x1b   , 0x4e2 , 0x354 , 0x272d, 0x5190, 0x8f  , 1 | SemicolonSep      , 688 , 688 , // 687  - sk
-            0x41b  , 0x4e2 , 0x354 , 0x272d, 0x5190, 0x8f  , 1 | SemicolonSep      , 688 , 688 , // 688  - sk-sk
-            0x24   , 0x4e2 , 0x354 , 0x272d, 0x5190, 0xd4  , 1 | SemicolonSep      , 690 , 690 , // 689  - sl
-            0x424  , 0x4e2 , 0x354 , 0x272d, 0x5190, 0xd4  , 1 | SemicolonSep      , 690 , 690 , // 690  - sl-si
-            0x783b , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0xdd  , 1 | SemicolonSep      , 693 , 693 , // 691  - sma
-            0x183b , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0xb1  , 1 | SemicolonSep      , 692 , 692 , // 692  - sma-no
-            0x1c3b , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0xdd  , 1 | SemicolonSep      , 693 , 693 , // 693  - sma-se
-            0x7c3b , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0xdd  , 1 | SemicolonSep      , 696 , 696 , // 694  - smj
-            0x103b , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0xb1  , 1 | SemicolonSep      , 695 , 695 , // 695  - smj-no
-            0x143b , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0xdd  , 1 | SemicolonSep      , 696 , 696 , // 696  - smj-se
-            0x703b , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0x4d  , 1 | SemicolonSep      , 698 , 698 , // 697  - smn
-            0x243b , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0x4d  , 1 | SemicolonSep      , 698 , 698 , // 698  - smn-fi
-            0x743b , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0x4d  , 1 | SemicolonSep      , 700 , 700 , // 699  - sms
-            0x203b , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0x4d  , 1 | SemicolonSep      , 700 , 700 , // 700  - sms-fi
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x108 , 1 | SemicolonSep      , 703 , 240 , // 701  - sn
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x108 , 1 | SemicolonSep      , 703 , 240 , // 702  - sn-latn
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x108 , 1 | SemicolonSep      , 703 , 240 , // 703  - sn-latn-zw
-            0x77   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd8  , 1 | SemicolonSep      , 708 , 240 , // 704  - so
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x3e  , 1 | SemicolonSep      , 705 , 240 , // 705  - so-dj
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x49  , 1 | SemicolonSep      , 706 , 240 , // 706  - so-et
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 | SemicolonSep      , 707 , 240 , // 707  - so-ke
-            0x477  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd8  , 1 | SemicolonSep      , 708 , 240 , // 708  - so-so
-            0x1c   , 0x4e2 , 0x354 , 0x272d, 0x5190, 0x6   , 1 | SemicolonSep      , 710 , 710 , // 709  - sq
-            0x41c  , 0x4e2 , 0x354 , 0x272d, 0x5190, 0x6   , 1 | SemicolonSep      , 710 , 710 , // 710  - sq-al
-            0x1000 , 0x4e2 , 0x354 , 0x272d, 0x5190, 0x4ca2, 1 | SemicolonSep      , 711 , 240 , // 711  - sq-mk
-            0x1000 , 0x4e2 , 0x354 , 0x272d, 0x5190, 0x974941, 1 | SemicolonSep    , 712 , 240 , // 712  - sq-xk
-            0x7c1a , 0x4e2 , 0x354 , 0x272d, 0x1f4 , 0x10f , 1 | SemicolonSep      , 724 , 724 , // 713  - sr
-            0x6c1a , 0x4e3 , 0x357 , 0x2717, 0x5221, 0x10f , 1 | SemicolonSep      , 718 , 718 , // 714  - sr-cyrl
-            0x1c1a , 0x4e3 , 0x357 , 0x2717, 0x5221, 0x19  , 1 | SemicolonSep      , 715 , 715 , // 715  - sr-cyrl-ba
-            0xc1a  , 0x4e3 , 0x357 , 0x2717, 0x5221, 0x10d , 1 | SemicolonSep      , 716 , 716 , // 716  - sr-cyrl-cs
-            0x301a , 0x4e3 , 0x357 , 0x2717, 0x5221, 0x10e , 1 | SemicolonSep      , 717 , 717 , // 717  - sr-cyrl-me
-            0x281a , 0x4e3 , 0x357 , 0x2717, 0x5221, 0x10f , 1 | SemicolonSep      , 718 , 718 , // 718  - sr-cyrl-rs
-            0x1000 , 0x4e3 , 0x357 , 0x2717, 0x5221, 0x974941, 1 | SemicolonSep    , 719 , 240 , // 719  - sr-cyrl-xk
-            0x701a , 0x4e2 , 0x354 , 0x272d, 0x1f4 , 0x10f , 1 | SemicolonSep      , 724 , 724 , // 720  - sr-latn
-            0x181a , 0x4e2 , 0x354 , 0x2762, 0x366 , 0x19  , 1 | SemicolonSep      , 721 , 721 , // 721  - sr-latn-ba
-            0x81a  , 0x4e2 , 0x354 , 0x272d, 0x1f4 , 0x10d , 1 | SemicolonSep      , 722 , 722 , // 722  - sr-latn-cs
-            0x2c1a , 0x4e2 , 0x354 , 0x272d, 0x1f4 , 0x10e , 1 | SemicolonSep      , 723 , 723 , // 723  - sr-latn-me
-            0x241a , 0x4e2 , 0x354 , 0x272d, 0x1f4 , 0x10f , 1 | SemicolonSep      , 724 , 724 , // 724  - sr-latn-rs
-            0x1000 , 0x4e2 , 0x354 , 0x272d, 0x1f4 , 0x974941, 1 | SemicolonSep    , 725 , 240 , // 725  - sr-latn-xk
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd1  , 1 | SemicolonSep      , 728 , 240 , // 726  - ss
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x104 , 1 | SemicolonSep      , 727 , 240 , // 727  - ss-sz
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd1  , 1 | SemicolonSep      , 728 , 240 , // 728  - ss-za
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x47  , 1 | SemicolonSep      , 730 , 240 , // 729  - ssy
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x47  , 1 | SemicolonSep      , 730 , 240 , // 730  - ssy-er
-            0x30   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd1  , 1 | SemicolonSep      , 733 , 240 , // 731  - st
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x92  , 1 | SemicolonSep      , 732 , 240 , // 732  - st-ls
-            0x430  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd1  , 1 | SemicolonSep      , 733 , 240 , // 733  - st-za
-            0x1d   , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0xdd  , 1 | SemicolonSep      , 737 , 737 , // 734  - sv
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0x9906f5, 1 | SemicolonSep    , 735 , 240 , // 735  - sv-ax
-            0x81d  , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0x4d  , 1 | SemicolonSep      , 736 , 736 , // 736  - sv-fi
-            0x41d  , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0xdd  , 1 | SemicolonSep      , 737 , 737 , // 737  - sv-se
-            0x41   , 0x4e4 , 0x1b5 , 0x2710, 0x1f4 , 0x81  , 1 | SemicolonSep      , 740 , 740 , // 738  - sw
-            0x1000 , 0x4e4 , 0x1b5 , 0x2710, 0x1f4 , 0x2c  , 1 | SemicolonSep      , 739 , 740 , // 739  - sw-cd
-            0x441  , 0x4e4 , 0x1b5 , 0x2710, 0x1f4 , 0x81  , 1 | SemicolonSep      , 740 , 740 , // 740  - sw-ke
-            0x1000 , 0x4e4 , 0x1b5 , 0x2710, 0x1f4 , 0xef  , 1 | SemicolonSep      , 741 , 240 , // 741  - sw-tz
-            0x1000 , 0x4e4 , 0x1b5 , 0x2710, 0x1f4 , 0xf0  , 1 | SemicolonSep      , 742 , 240 , // 742  - sw-ug
-            0x1000 , 0x0   , 0x1   , 0x0   , 0x1f4 , 0x2c  , 1 | CommaSep          , 744 , 240 , // 743  - swc
-            0x1000 , 0x0   , 0x1   , 0x0   , 0x1f4 , 0x2c  , 1 | SemicolonSep      , 744 , 240 , // 744  - swc-cd
-            0x5a   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xde  , 1 | CommaSep          , 746 , 143 , // 745  - syr
-            0x45a  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xde  , 1 | CommaSep          , 746 , 143 , // 746  - syr-sy
-            0x49   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | CommaSep          , 748 , 143 , // 747  - ta
-            0x449  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | CommaSep          , 748 , 143 , // 748  - ta-in
-            0x849  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x2a  , 1 | SemicolonSep      , 749 , 143 , // 749  - ta-lk
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xa7  , 1 | SemicolonSep      , 750 , 240 , // 750  - ta-my
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd7  , 1 | SemicolonSep      , 751 , 240 , // 751  - ta-sg
-            0x4a   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | SemicolonSep      , 753 , 143 , // 752  - te
-            0x44a  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | SemicolonSep      , 753 , 143 , // 753  - te-in
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf0  , 1 | SemicolonSep      , 756 , 240 , // 754  - teo
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 | SemicolonSep      , 755 , 240 , // 755  - teo-ke
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf0  , 1 | SemicolonSep      , 756 , 240 , // 756  - teo-ug
-            0x28   , 0x4e3 , 0x362 , 0x2717, 0x5190, 0xe4  , 1 | SemicolonSep      , 759 , 759 , // 757  - tg
-            0x7c28 , 0x4e3 , 0x362 , 0x2717, 0x5190, 0xe4  , 1 | SemicolonSep      , 759 , 759 , // 758  - tg-cyrl
-            0x428  , 0x4e3 , 0x362 , 0x2717, 0x5190, 0xe4  , 1 | SemicolonSep      , 759 , 759 , // 759  - tg-cyrl-tj
-            0x1e   , 0x36a , 0x36a , 0x2725, 0x5166, 0xe3  , 1 | CommaSep          , 761 , 143 , // 760  - th
-            0x41e  , 0x36a , 0x36a , 0x2725, 0x5166, 0xe3  , 1 | CommaSep          , 761 , 143 , // 761  - th-th
-            0x73   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x47  , 1 | SemicolonSep      , 763 , 143 , // 762  - ti
-            0x873  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x47  , 1 | SemicolonSep      , 763 , 143 , // 763  - ti-er
-            0x473  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x49  , 1 | SemicolonSep      , 764 , 143 , // 764  - ti-et
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x47  , 1 | SemicolonSep      , 766 , 240 , // 765  - tig
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x47  , 1 | SemicolonSep      , 766 , 240 , // 766  - tig-er
-            0x42   , 0x4e2 , 0x354 , 0x272d, 0x5190, 0xee  , 1 | SemicolonSep      , 768 , 768 , // 767  - tk
-            0x442  , 0x4e2 , 0x354 , 0x272d, 0x5190, 0xee  , 1 | SemicolonSep      , 768 , 768 , // 768  - tk-tm
-            0x32   , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd1  , 1 | SemicolonSep      , 771 , 771 , // 769  - tn
-            0x832  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x13  , 1 | SemicolonSep      , 770 , 770 , // 770  - tn-bw
-            0x432  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd1  , 1 | SemicolonSep      , 771 , 771 , // 771  - tn-za
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xe7  , 1 | SemicolonSep      , 773 , 240 , // 772  - to
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xe7  , 1 | SemicolonSep      , 773 , 240 , // 773  - to-to
-            0x1f   , 0x4e6 , 0x359 , 0x2761, 0x51a9, 0xeb  , 1 | SemicolonSep      , 776 , 776 , // 774  - tr
-            0x1000 , 0x4e6 , 0x359 , 0x2761, 0x51a9, 0x3b  , 1 | SemicolonSep      , 775 , 240 , // 775  - tr-cy
-            0x41f  , 0x4e6 , 0x359 , 0x2761, 0x51a9, 0xeb  , 1 | SemicolonSep      , 776 , 776 , // 776  - tr-tr
-            0x31   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd1  , 1 | SemicolonSep      , 778 , 240 , // 777  - ts
-            0x431  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd1  , 1 | SemicolonSep      , 778 , 240 , // 778  - ts-za
-            0x44   , 0x4e3 , 0x362 , 0x2717, 0x5190, 0xcb  , 1 | SemicolonSep      , 780 , 780 , // 779  - tt
-            0x444  , 0x4e3 , 0x362 , 0x2717, 0x5190, 0xcb  , 1 | SemicolonSep      , 780 , 780 , // 780  - tt-ru
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xad  , 1 | SemicolonSep      , 782 , 240 , // 781  - twq
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xad  , 1 | SemicolonSep      , 782 , 240 , // 782  - twq-ne
-            0x5f   , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x4   , 1 | SemicolonSep      , 787 , 787 , // 783  - tzm
-            0x1000 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x9f  , 1 | SemicolonSep      , 785 , 240 , // 784  - tzm-arab
-            0x45f  , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x9f  , 1 | SemicolonSep      , 785 , 240 , // 785  - tzm-arab-ma
-            0x7c5f , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x4   , 1 | SemicolonSep      , 787 , 787 , // 786  - tzm-latn
-            0x85f  , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x4   , 1 | SemicolonSep      , 787 , 787 , // 787  - tzm-latn-dz
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9f  , 1 | SemicolonSep      , 788 , 240 , // 788  - tzm-latn-ma
-            0x785f , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9f  , 1 | SemicolonSep      , 790 , 316 , // 789  - tzm-tfng
-            0x105f , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9f  , 1 | SemicolonSep      , 790 , 316 , // 790  - tzm-tfng-ma
-            0x80   , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x2d  , 1 | CommaSep          , 792 , 143 , // 791  - ug
-            0x480  , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x2d  , 1 | CommaSep          , 792 , 143 , // 792  - ug-cn
-            0x22   , 0x4e3 , 0x362 , 0x2721, 0x1f4 , 0xf1  , 1 | SemicolonSep      , 794 , 794 , // 793  - uk
-            0x422  , 0x4e3 , 0x362 , 0x2721, 0x1f4 , 0xf1  , 1 | SemicolonSep      , 794 , 794 , // 794  - uk-ua
-            0x20   , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xbe  , 1 | SemicolonSep      , 797 , 143 , // 795  - ur
-            0x820  , 0x4e8 , 0x2d0 , 0x2   , 0x1f4 , 0x71  , 2 | SemicolonSep      , 796 , 240 , // 796  - ur-in
-            0x420  , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xbe  , 1 | SemicolonSep      , 797 , 143 , // 797  - ur-pk
-            0x43   , 0x4e6 , 0x359 , 0x272d, 0x1f4 , 0xf7  , 1 | SemicolonSep      , 804 , 804 , // 798  - uz
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x3   , 2 | SemicolonSep      , 800 , 240 , // 799  - uz-arab
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x3   , 2 | SemicolonSep      , 800 , 240 , // 800  - uz-arab-af
-            0x7843 , 0x4e3 , 0x362 , 0x2717, 0x5190, 0xf7  , 1 | SemicolonSep      , 802 , 802 , // 801  - uz-cyrl
-            0x843  , 0x4e3 , 0x362 , 0x2717, 0x5190, 0xf7  , 1 | SemicolonSep      , 802 , 802 , // 802  - uz-cyrl-uz
-            0x7c43 , 0x4e6 , 0x359 , 0x272d, 0x1f4 , 0xf7  , 1 | SemicolonSep      , 804 , 804 , // 803  - uz-latn
-            0x443  , 0x4e6 , 0x359 , 0x272d, 0x1f4 , 0xf7  , 1 | SemicolonSep      , 804 , 804 , // 804  - uz-latn-uz
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x8e  , 1 | SemicolonSep      , 809 , 240 , // 805  - vai
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x8e  , 1 | SemicolonSep      , 807 , 240 , // 806  - vai-latn
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x8e  , 1 | SemicolonSep      , 807 , 240 , // 807  - vai-latn-lr
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x8e  , 1 | SemicolonSep      , 809 , 240 , // 808  - vai-vaii
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x8e  , 1 | SemicolonSep      , 809 , 240 , // 809  - vai-vaii-lr
-            0x33   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd1  , 1 | SemicolonSep      , 811 , 240 , // 810  - ve
-            0x433  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd1  , 1 | SemicolonSep      , 811 , 240 , // 811  - ve-za
-            0x2a   , 0x4ea , 0x4ea , 0x2710, 0x1f4 , 0xfb  , 1 | CommaSep          , 813 , 143 , // 812  - vi
-            0x42a  , 0x4ea , 0x4ea , 0x2710, 0x1f4 , 0xfb  , 1 | CommaSep          , 813 , 143 , // 813  - vi-vn
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x989e, 1 | SemicolonSep      , 815 , 240 , // 814  - vo
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x989e, 1 | SemicolonSep      , 815 , 240 , // 815  - vo-001
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 | SemicolonSep      , 817 , 240 , // 816  - vun
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 | SemicolonSep      , 817 , 240 , // 817  - vun-tz
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xdf  , 1 | SemicolonSep      , 819 , 240 , // 818  - wae
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xdf  , 1 | SemicolonSep      , 819 , 240 , // 819  - wae-ch
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x49  , 1 | SemicolonSep      , 821 , 240 , // 820  - wal
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x49  , 1 | SemicolonSep      , 821 , 240 , // 821  - wal-et
-            0x88   , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xd2  , 1 | SemicolonSep      , 823 , 823 , // 822  - wo
-            0x488  , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xd2  , 1 | SemicolonSep      , 823 , 823 , // 823  - wo-sn
-            0x1007f, 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0xf4  , 1 | CommaSep          , -1  , -1  , // 824  - x-iv_mathan
-            0x34   , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd1  , 1 | SemicolonSep      , 826 , 826 , // 825  - xh
-            0x434  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd1  , 1 | SemicolonSep      , 826 , 826 , // 826  - xh-za
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf0  , 1 | SemicolonSep      , 828 , 240 , // 827  - xog
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf0  , 1 | SemicolonSep      , 828 , 240 , // 828  - xog-ug
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 | SemicolonSep      , 830 , 240 , // 829  - yav
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 | SemicolonSep      , 830 , 240 , // 830  - yav-cm
-            0x3d   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x989e, 1 | SemicolonSep      , 832 , 240 , // 831  - yi
-            0x43d  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x989e, 1 | SemicolonSep      , 832 , 240 , // 832  - yi-001
-            0x6a   , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0xaf  , 1 | SemicolonSep      , 835 , 835 , // 833  - yo
-            0x1000 , 0x4e4 , 0x1b5 , 0x2710, 0x1f4 , 0x1c  , 1 | SemicolonSep      , 834 , 240 , // 834  - yo-bj
-            0x46a  , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0xaf  , 1 | SemicolonSep      , 835 , 835 , // 835  - yo-ng
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x68  , 1 | CommaSep          , 837 , 240 , // 836  - yue
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x68  , 1 | CommaSep          , 837 , 240 , // 837  - yue-hk
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9f  , 1 | SemicolonSep      , 840 , 316 , // 838  - zgh
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9f  , 1 | SemicolonSep      , 840 , 316 , // 839  - zgh-tfng
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9f  , 1 | SemicolonSep      , 840 , 316 , // 840  - zgh-tfng-ma
-            0x7804 , 0x3a8 , 0x3a8 , 0x2718, 0x1f4 , 0x2d  , 1 | CommaSep          , 844 , 844 , // 841  - zh
-            0x4    , 0x3a8 , 0x3a8 , 0x0   , 0x1f4 , 0x2d  , 1 | CommaSep          , 844 , 844 , // 842  - zh-chs
-            0x7c04 , 0x3b6 , 0x3b6 , 0x0   , 0x1f4 , 0x68  , 1 | CommaSep          , 851 , 851 , // 843  - zh-cht
-            0x804  , 0x3a8 , 0x3a8 , 0x2718, 0x1f4 , 0x2d  , 1 | CommaSep          , 844 , 844 , // 844  - zh-cn
-            0x50804, 0x3a8 , 0x3a8 , 0x2718, 0x1f4 , 0x2d  , 1 | CommaSep          , 844 , 844 , // 845  - zh-cn_phoneb
-            0x20804, 0x3a8 , 0x3a8 , 0x2718, 0x1f4 , 0x2d  , 1 | CommaSep          , 844 , 844 , // 846  - zh-cn_stroke
-            0x4    , 0x3a8 , 0x3a8 , 0x2718, 0x1f4 , 0x2d  , 1 | CommaSep          , 844 , 844 , // 847  - zh-hans
-            0x1000 , 0x3a8 , 0x3a8 , 0x2718, 0x1f4 , 0x68  , 1 | SemicolonSep      , 848 , 240 , // 848  - zh-hans-hk
-            0x1000 , 0x3a8 , 0x3a8 , 0x2718, 0x1f4 , 0x97  , 1 | SemicolonSep      , 849 , 240 , // 849  - zh-hans-mo
-            0x7c04 , 0x3b6 , 0x3b6 , 0x2712, 0x1f4 , 0x68  , 1 | CommaSep          , 851 , 851 , // 850  - zh-hant
-            0xc04  , 0x3b6 , 0x3b6 , 0x2712, 0x1f4 , 0x68  , 1 | CommaSep          , 851 , 851 , // 851  - zh-hk
-            0x40c04, 0x3b6 , 0x3b6 , 0x2712, 0x1f4 , 0x68  , 1 | CommaSep          , 851 , 851 , // 852  - zh-hk_radstr
-            0x1404 , 0x3b6 , 0x3b6 , 0x2712, 0x1f4 , 0x97  , 1 | CommaSep          , 853 , 853 , // 853  - zh-mo
-            0x41404, 0x3b6 , 0x3b6 , 0x2712, 0x1f4 , 0x97  , 1 | CommaSep          , 853 , 853 , // 854  - zh-mo_radstr
-            0x21404, 0x3b6 , 0x3b6 , 0x2712, 0x1f4 , 0x97  , 1 | CommaSep          , 853 , 853 , // 855  - zh-mo_stroke
-            0x1004 , 0x3a8 , 0x3a8 , 0x2718, 0x1f4 , 0xd7  , 1 | CommaSep          , 856 , 856 , // 856  - zh-sg
-            0x51004, 0x3a8 , 0x3a8 , 0x2718, 0x1f4 , 0xd7  , 1 | CommaSep          , 856 , 856 , // 857  - zh-sg_phoneb
-            0x21004, 0x3a8 , 0x3a8 , 0x2718, 0x1f4 , 0xd7  , 1 | CommaSep          , 856 , 856 , // 858  - zh-sg_stroke
-            0x404  , 0x3b6 , 0x3b6 , 0x2712, 0x1f4 , 0xed  , 1 | CommaSep          , 859 , 859 , // 859  - zh-tw
-            0x30404, 0x3b6 , 0x3b6 , 0x2712, 0x1f4 , 0xed  , 1 | CommaSep          , 859 , 859 , // 860  - zh-tw_pronun
-            0x40404, 0x3b6 , 0x3b6 , 0x2712, 0x1f4 , 0xed  , 1 | CommaSep          , 859 , 859 , // 861  - zh-tw_radstr
-            0x35   , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd1  , 1 | SemicolonSep      , 863 , 863 , // 862  - zu
-            0x435  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd1  , 1 | SemicolonSep      , 863 , 863 , // 863  - zu-za
-        };
-
-        // Format of the data is LCDI | index to CultureNames | culture name length
-        private static readonly int[] s_lcidToCultureNameIndices = new int[]
+        private static ReadOnlySpan<byte> NameIndexToNumericData => new byte[CulturesCount * NumericLocaleDataBytesPerRow]
         {
-            0x1 << 16 | 41 << 4 | 2,         // ar
-            0x2 << 16 | 248 << 4 | 2,        // bg
-            0x3 << 16 | 326 << 4 | 2,        // ca
-            0x4 << 16 | 3272 << 4 | 7,       // zh-hans
-            0x5 << 16 | 382 << 4 | 2,        // cs
-            0x6 << 16 | 397 << 4 | 2,        // da
-            0x7 << 16 | 413 << 4 | 2,        // de
-            0x8 << 16 | 505 << 4 | 2,        // el
-            0x9 << 16 | 515 << 4 | 2,        // en
-            0xa << 16 | 1049 << 4 | 2,       // es
-            0xb << 16 | 1233 << 4 | 2,       // fi
-            0xc << 16 | 1254 << 4 | 2,       // fr
-            0xd << 16 | 1591 << 4 | 2,       // he
-            0xe << 16 | 1617 << 4 | 2,       // hu
-            0xf << 16 | 1666 << 4 | 2,       // is
-            0x10 << 16 | 1671 << 4 | 2,      // it
-            0x11 << 16 | 1706 << 4 | 2,      // ja
-            0x12 << 16 | 1829 << 4 | 2,      // ko
-            0x13 << 16 | 2195 << 4 | 2,      // nl
-            0x14 << 16 | 2247 << 4 | 2,      // no
-            0x15 << 16 | 2330 << 4 | 2,      // pl
-            0x16 << 16 | 2353 << 4 | 2,      // pt
-            0x17 << 16 | 2473 << 4 | 2,      // rm
-            0x18 << 16 | 2483 << 4 | 2,      // ro
-            0x19 << 16 | 2499 << 4 | 2,      // ru
-            0x1a << 16 | 1601 << 4 | 2,      // hr
-            0x1b << 16 | 2642 << 4 | 2,      // sk
-            0x1c << 16 | 2718 << 4 | 2,      // sq
-            0x1d << 16 | 2859 << 4 | 2,      // sv
-            0x1e << 16 | 2953 << 4 | 2,      // th
-            0x1f << 16 | 2994 << 4 | 2,      // tr
-            0x20 << 16 | 3074 << 4 | 2,      // ur
-            0x21 << 16 | 1651 << 4 | 2,      // id
-            0x22 << 16 | 3069 << 4 | 2,      // uk
-            0x23 << 16 | 231 << 4 | 2,       // be
-            0x24 << 16 | 2647 << 4 | 2,      // sl
-            0x25 << 16 | 1182 << 4 | 2,      // et
-            0x26 << 16 | 2005 << 4 | 2,      // lv
-            0x27 << 16 | 1983 << 4 | 2,      // lt
-            0x28 << 16 | 2943 << 4 | 2,      // tg
-            0x29 << 16 | 1198 << 4 | 2,      // fa
-            0x2a << 16 | 3141 << 4 | 2,      // vi
-            0x2b << 16 | 1629 << 4 | 2,      // hy
-            0x2c << 16 | 200 << 4 | 2,       // az
-            0x2d << 16 | 1187 << 4 | 2,      // eu
-            0x2e << 16 | 1611 << 4 | 3,      // hsb
-            0x2f << 16 | 2056 << 4 | 2,      // mk
-            0x30 << 16 | 2849 << 4 | 2,      // st
-            0x31 << 16 | 3004 << 4 | 2,      // ts
-            0x32 << 16 | 2979 << 4 | 2,      // tn
-            0x33 << 16 | 3136 << 4 | 2,      // ve
-            0x34 << 16 | 3186 << 4 | 2,      // xh
-            0x35 << 16 | 3383 << 4 | 2,      // zu
-            0x36 << 16 | 15 << 4 | 2,        // af
-            0x37 << 16 | 1750 << 4 | 2,      // ka
-            0x38 << 16 | 1244 << 4 | 2,      // fo
-            0x39 << 16 | 1596 << 4 | 2,      // hi
-            0x3a << 16 | 2130 << 4 | 2,      // mt
-            0x3b << 16 | 2583 << 4 | 2,      // se
-            0x3c << 16 | 1501 << 4 | 2,      // ga
-            0x3d << 16 | 3203 << 4 | 2,      // yi
-            0x3e << 16 | 2115 << 4 | 2,      // ms
-            0x3f << 16 | 1797 << 4 | 2,      // kk
-            0x40 << 16 | 1913 << 4 | 2,      // ky
-            0x41 << 16 | 2874 << 4 | 2,      // sw
-            0x42 << 16 | 2974 << 4 | 2,      // tk
-            0x43 << 16 | 3084 << 4 | 2,      // uz
-            0x44 << 16 | 3009 << 4 | 2,      // tt
-            0x45 << 16 | 269 << 4 | 2,       // bn
-            0x46 << 16 | 2308 << 4 | 2,      // pa
-            0x47 << 16 | 1539 << 4 | 2,      // gu
-            0x48 << 16 | 2293 << 4 | 2,      // or
-            0x49 << 16 | 2906 << 4 | 2,      // ta
-            0x4a << 16 | 2926 << 4 | 2,      // te
-            0x4b << 16 | 1824 << 4 | 2,      // kn
-            0x4c << 16 | 2061 << 4 | 2,      // ml
-            0x4d << 16 | 183 << 4 | 2,       // as
-            0x4e << 16 | 2110 << 4 | 2,      // mr
-            0x4f << 16 | 2540 << 4 | 2,      // sa
-            0x50 << 16 | 2066 << 4 | 2,      // mn
-            0x51 << 16 | 279 << 4 | 2,       // bo
-            0x52 << 16 | 392 << 4 | 2,       // cy
-            0x53 << 16 | 1819 << 4 | 2,      // km
-            0x54 << 16 | 1966 << 4 | 2,      // lo
-            0x55 << 16 | 2141 << 4 | 2,      // my
-            0x56 << 16 | 1511 << 4 | 2,      // gl
-            0x57 << 16 | 1839 << 4 | 3,      // kok
-            0x58 << 16 | 2098 << 4 | 3,      // mni
-            0x59 << 16 | 2563 << 4 | 2,      // sd
-            0x5a << 16 | 2900 << 4 | 3,      // syr
-            0x5b << 16 | 2637 << 4 | 2,      // si
-            0x5c << 16 | 366 << 4 | 3,       // chr
-            0x5d << 16 | 1686 << 4 | 2,      // iu
-            0x5e << 16 | 36 << 4 | 2,        // am
-            0x5f << 16 | 3020 << 4 | 3,      // tzm
-            0x60 << 16 | 1850 << 4 | 2,      // ks
-            0x61 << 16 | 2185 << 4 | 2,      // ne
-            0x62 << 16 | 1496 << 4 | 2,      // fy
-            0x63 << 16 | 2348 << 4 | 2,      // ps
-            0x64 << 16 | 1238 << 4 | 3,      // fil
-            0x65 << 16 | 473 << 4 | 2,       // dv
-            0x66 << 16 | 253 << 4 | 3,       // bin
-            0x67 << 16 | 1203 << 4 | 2,      // ff
-            0x68 << 16 | 1555 << 4 | 2,      // ha
-            0x69 << 16 | 1645 << 4 | 3,      // ibb
-            0x6a << 16 | 3209 << 4 | 2,      // yo
-            0x6b << 16 | 2455 << 4 | 3,      // quz
-            0x6c << 16 | 2260 << 4 | 3,      // nso
-            0x6d << 16 | 220 << 4 | 2,       // ba
-            0x6e << 16 | 1930 << 4 | 2,      // lb
-            0x6f << 16 | 1808 << 4 | 2,      // kl
-            0x70 << 16 | 1656 << 4 | 2,      // ig
-            0x71 << 16 | 1845 << 4 | 2,      // kr
-            0x72 << 16 | 2283 << 4 | 2,      // om
-            0x73 << 16 | 2958 << 4 | 2,      // ti
-            0x74 << 16 | 1516 << 4 | 2,      // gn
-            0x75 << 16 | 1585 << 4 | 3,      // haw
-            0x76 << 16 | 1918 << 4 | 2,      // la
-            0x77 << 16 | 2698 << 4 | 2,      // so
-            0x78 << 16 | 1661 << 4 | 2,      // ii
-            0x79 << 16 | 2323 << 4 | 3,      // pap
-            0x7a << 16 | 177 << 4 | 3,       // arn
-            0x7c << 16 | 2104 << 4 | 3,      // moh
-            0x7e << 16 | 289 << 4 | 2,       // br
-            0x80 << 16 | 3064 << 4 | 2,      // ug
-            0x81 << 16 | 2051 << 4 | 2,      // mi
-            0x82 << 16 | 2278 << 4 | 2,      // oc
-            0x83 << 16 | 377 << 4 | 2,       // co
-            0x84 << 16 | 1521 << 4 | 3,      // gsw
-            0x85 << 16 | 2545 << 4 | 3,      // sah
-            0x86 << 16 | 2444 << 4 | 3,      // quc
-            0x87 << 16 | 2529 << 4 | 2,      // rw
-            0x88 << 16 | 3170 << 4 | 2,      // wo
-            0x8c << 16 | 2342 << 4 | 3,      // prs
-            0x91 << 16 | 1506 << 4 | 2,      // gd
-            0x92 << 16 | 1888 << 4 | 2,      // ku
-            0x401 << 16 | 137 << 4 | 5,      // ar-sa
-            0x402 << 16 | 248 << 4 | 5,      // bg-bg
-            0x403 << 16 | 331 << 4 | 5,      // ca-es
-            0x404 << 16 | 3359 << 4 | 5,     // zh-tw
-            0x405 << 16 | 382 << 4 | 5,      // cs-cz
-            0x406 << 16 | 397 << 4 | 5,      // da-dk
-            0x407 << 16 | 428 << 4 | 5,      // de-de
-            0x408 << 16 | 510 << 4 | 5,      // el-gr
-            0x409 << 16 | 998 << 4 | 5,      // en-us
-            0x40a << 16 | 1100 << 4 | 5,     // es-es
-            0x40b << 16 | 1233 << 4 | 5,     // fi-fi
-            0x40c << 16 | 1330 << 4 | 5,     // fr-fr
-            0x40d << 16 | 1591 << 4 | 5,     // he-il
-            0x40e << 16 | 1617 << 4 | 5,     // hu-hu
-            0x40f << 16 | 1666 << 4 | 5,     // is-is
-            0x410 << 16 | 1676 << 4 | 5,     // it-it
-            0x411 << 16 | 1706 << 4 | 5,     // ja-jp
-            0x412 << 16 | 1834 << 4 | 5,     // ko-kr
-            0x413 << 16 | 2215 << 4 | 5,     // nl-nl
-            0x414 << 16 | 2158 << 4 | 5,     // nb-no
-            0x415 << 16 | 2330 << 4 | 5,     // pl-pl
-            0x416 << 16 | 2358 << 4 | 5,     // pt-br
-            0x417 << 16 | 2473 << 4 | 5,     // rm-ch
-            0x418 << 16 | 2488 << 4 | 5,     // ro-ro
-            0x419 << 16 | 2519 << 4 | 5,     // ru-ru
-            0x41a << 16 | 1606 << 4 | 5,     // hr-hr
-            0x41b << 16 | 2642 << 4 | 5,     // sk-sk
-            0x41c << 16 | 2718 << 4 | 5,     // sq-al
-            0x41d << 16 | 2869 << 4 | 5,     // sv-se
-            0x41e << 16 | 2953 << 4 | 5,     // th-th
-            0x41f << 16 | 2999 << 4 | 5,     // tr-tr
-            0x420 << 16 | 3079 << 4 | 5,     // ur-pk
-            0x421 << 16 | 1651 << 4 | 5,     // id-id
-            0x422 << 16 | 3069 << 4 | 5,     // uk-ua
-            0x423 << 16 | 231 << 4 | 5,      // be-by
-            0x424 << 16 | 2647 << 4 | 5,     // sl-si
-            0x425 << 16 | 1182 << 4 | 5,     // et-ee
-            0x426 << 16 | 2005 << 4 | 5,     // lv-lv
-            0x427 << 16 | 1983 << 4 | 5,     // lt-lt
-            0x428 << 16 | 2943 << 4 | 10,    // tg-cyrl-tj
-            0x429 << 16 | 1198 << 4 | 5,     // fa-ir
-            0x42a << 16 | 3141 << 4 | 5,     // vi-vn
-            0x42b << 16 | 1629 << 4 | 5,     // hy-am
-            0x42c << 16 | 210 << 4 | 10,     // az-latn-az
-            0x42d << 16 | 1187 << 4 | 5,     // eu-es
-            0x42e << 16 | 1611 << 4 | 6,     // hsb-de
-            0x42f << 16 | 2056 << 4 | 5,     // mk-mk
-            0x430 << 16 | 2854 << 4 | 5,     // st-za
-            0x431 << 16 | 3004 << 4 | 5,     // ts-za
-            0x432 << 16 | 2984 << 4 | 5,     // tn-za
-            0x433 << 16 | 3136 << 4 | 5,     // ve-za
-            0x434 << 16 | 3186 << 4 | 5,     // xh-za
-            0x435 << 16 | 3383 << 4 | 5,     // zu-za
-            0x436 << 16 | 20 << 4 | 5,       // af-za
-            0x437 << 16 | 1750 << 4 | 5,     // ka-ge
-            0x438 << 16 | 1249 << 4 | 5,     // fo-fo
-            0x439 << 16 | 1596 << 4 | 5,     // hi-in
-            0x43a << 16 | 2130 << 4 | 5,     // mt-mt
-            0x43b << 16 | 2588 << 4 | 5,     // se-no
-            0x43d << 16 | 3203 << 4 | 6,     // yi-001
-            0x43e << 16 | 2120 << 4 | 5,     // ms-my
-            0x43f << 16 | 1797 << 4 | 5,     // kk-kz
-            0x440 << 16 | 1913 << 4 | 5,     // ky-kg
-            0x441 << 16 | 2879 << 4 | 5,     // sw-ke
-            0x442 << 16 | 2974 << 4 | 5,     // tk-tm
-            0x443 << 16 | 3104 << 4 | 10,    // uz-latn-uz
-            0x444 << 16 | 3009 << 4 | 5,     // tt-ru
-            0x445 << 16 | 274 << 4 | 5,      // bn-in
-            0x446 << 16 | 2318 << 4 | 5,     // pa-in
-            0x447 << 16 | 1539 << 4 | 5,     // gu-in
-            0x448 << 16 | 2293 << 4 | 5,     // or-in
-            0x449 << 16 | 2906 << 4 | 5,     // ta-in
-            0x44a << 16 | 2926 << 4 | 5,     // te-in
-            0x44b << 16 | 1824 << 4 | 5,     // kn-in
-            0x44c << 16 | 2061 << 4 | 5,     // ml-in
-            0x44d << 16 | 183 << 4 | 5,      // as-in
-            0x44e << 16 | 2110 << 4 | 5,     // mr-in
-            0x44f << 16 | 2540 << 4 | 5,     // sa-in
-            0x450 << 16 | 2073 << 4 | 5,     // mn-mn
-            0x451 << 16 | 279 << 4 | 5,      // bo-cn
-            0x452 << 16 | 392 << 4 | 5,      // cy-gb
-            0x453 << 16 | 1819 << 4 | 5,     // km-kh
-            0x454 << 16 | 1966 << 4 | 5,     // lo-la
-            0x455 << 16 | 2141 << 4 | 5,     // my-mm
-            0x456 << 16 | 1511 << 4 | 5,     // gl-es
-            0x457 << 16 | 1839 << 4 | 6,     // kok-in
-            0x458 << 16 | 2098 << 4 | 6,     // mni-in
-            0x459 << 16 | 2573 << 4 | 10,    // sd-deva-in
-            0x45a << 16 | 2900 << 4 | 6,     // syr-sy
-            0x45b << 16 | 2637 << 4 | 5,     // si-lk
-            0x45c << 16 | 366 << 4 | 11,     // chr-cher-us
-            0x45d << 16 | 1686 << 4 | 10,    // iu-cans-ca
-            0x45e << 16 | 36 << 4 | 5,       // am-et
-            0x45f << 16 | 3020 << 4 | 11,    // tzm-arab-ma
-            0x460 << 16 | 1850 << 4 | 7,     // ks-arab
-            0x461 << 16 | 2190 << 4 | 5,     // ne-np
-            0x462 << 16 | 1496 << 4 | 5,     // fy-nl
-            0x463 << 16 | 2348 << 4 | 5,     // ps-af
-            0x464 << 16 | 1238 << 4 | 6,     // fil-ph
-            0x465 << 16 | 473 << 4 | 5,      // dv-mv
-            0x466 << 16 | 253 << 4 | 6,      // bin-ng
-            0x467 << 16 | 1228 << 4 | 5,     // ff-ng
-            0x468 << 16 | 1575 << 4 | 10,    // ha-latn-ng
-            0x469 << 16 | 1645 << 4 | 6,     // ibb-ng
-            0x46a << 16 | 3214 << 4 | 5,     // yo-ng
-            0x46b << 16 | 2455 << 4 | 6,     // quz-bo
-            0x46c << 16 | 2260 << 4 | 6,     // nso-za
-            0x46d << 16 | 220 << 4 | 5,      // ba-ru
-            0x46e << 16 | 1930 << 4 | 5,     // lb-lu
-            0x46f << 16 | 1808 << 4 | 5,     // kl-gl
-            0x470 << 16 | 1656 << 4 | 5,     // ig-ng
-            0x471 << 16 | 1845 << 4 | 5,     // kr-ng
-            0x472 << 16 | 2283 << 4 | 5,     // om-et
-            0x473 << 16 | 2963 << 4 | 5,     // ti-et
-            0x474 << 16 | 1516 << 4 | 5,     // gn-py
-            0x475 << 16 | 1585 << 4 | 6,     // haw-us
-            0x476 << 16 | 1918 << 4 | 6,     // la-001
-            0x477 << 16 | 2713 << 4 | 5,     // so-so
-            0x478 << 16 | 1661 << 4 | 5,     // ii-cn
-            0x479 << 16 | 2323 << 4 | 7,     // pap-029
-            0x47a << 16 | 177 << 4 | 6,      // arn-cl
-            0x47c << 16 | 2104 << 4 | 6,     // moh-ca
-            0x47e << 16 | 289 << 4 | 5,      // br-fr
-            0x480 << 16 | 3064 << 4 | 5,     // ug-cn
-            0x481 << 16 | 2051 << 4 | 5,     // mi-nz
-            0x482 << 16 | 2278 << 4 | 5,     // oc-fr
-            0x483 << 16 | 377 << 4 | 5,      // co-fr
-            0x484 << 16 | 1527 << 4 | 6,     // gsw-fr
-            0x485 << 16 | 2545 << 4 | 6,     // sah-ru
-            0x486 << 16 | 2444 << 4 | 11,    // quc-latn-gt
-            0x487 << 16 | 2529 << 4 | 5,     // rw-rw
-            0x488 << 16 | 3170 << 4 | 5,     // wo-sn
-            0x48c << 16 | 2342 << 4 | 6,     // prs-af
-            0x491 << 16 | 1506 << 4 | 5,     // gd-gb
-            0x492 << 16 | 1888 << 4 | 10,    // ku-arab-iq
-            0x501 << 16 | 2426 << 4 | 8,     // qps-ploc
-            0x5fe << 16 | 2426 << 4 | 8,     // qps-ploca
-            0x801 << 16 | 82 << 4 | 5,       // ar-iq
-            0x803 << 16 | 331 << 4 | 14,     // ca-es-valencia
-            0x804 << 16 | 3248 << 4 | 5,     // zh-cn
-            0x807 << 16 | 423 << 4 | 5,      // de-ch
-            0x809 << 16 | 668 << 4 | 5,      // en-gb
-            0x80a << 16 | 1127 << 4 | 5,     // es-mx
-            0x80c << 16 | 1260 << 4 | 5,     // fr-be
-            0x810 << 16 | 1671 << 4 | 5,     // it-ch
-            0x813 << 16 | 2200 << 4 | 5,     // nl-be
-            0x814 << 16 | 2236 << 4 | 5,     // nn-no
-            0x816 << 16 | 2398 << 4 | 5,     // pt-pt
-            0x818 << 16 | 2483 << 4 | 5,     // ro-md
-            0x819 << 16 | 2514 << 4 | 5,     // ru-md
-            0x81a << 16 | 2793 << 4 | 10,    // sr-latn-cs
-            0x81d << 16 | 2864 << 4 | 5,     // sv-fi
-            0x820 << 16 | 3074 << 4 | 5,     // ur-in
-            0x82c << 16 | 200 << 4 | 10,     // az-cyrl-az
-            0x82e << 16 | 461 << 4 | 6,      // dsb-de
-            0x832 << 16 | 2979 << 4 | 5,     // tn-bw
-            0x83b << 16 | 2593 << 4 | 5,     // se-se
-            0x83c << 16 | 1501 << 4 | 5,     // ga-ie
-            0x83e << 16 | 2115 << 4 | 5,     // ms-bn
-            0x843 << 16 | 3094 << 4 | 10,    // uz-cyrl-uz
-            0x845 << 16 | 269 << 4 | 5,      // bn-bd
-            0x846 << 16 | 2308 << 4 | 10,    // pa-arab-pk
-            0x849 << 16 | 2911 << 4 | 5,     // ta-lk
-            0x850 << 16 | 2078 << 4 | 10,    // mn-mong-cn
-            0x859 << 16 | 2563 << 4 | 10,    // sd-arab-pk
-            0x85d << 16 | 1696 << 4 | 10,    // iu-latn-ca
-            0x85f << 16 | 3031 << 4 | 11,    // tzm-latn-dz
-            0x860 << 16 | 1860 << 4 | 10,    // ks-deva-in
-            0x861 << 16 | 2185 << 4 | 5,     // ne-in
-            0x867 << 16 | 1213 << 4 | 10,    // ff-latn-sn
-            0x86b << 16 | 2461 << 4 | 6,     // quz-ec
-            0x873 << 16 | 2958 << 4 | 5,     // ti-er
-            0x901 << 16 | 2413 << 4 | 13,    // qps-latn-x-sh
-            0x9ff << 16 | 2435 << 4 | 9,     // qps-plocm
-            0xc01 << 16 | 67 << 4 | 5,       // ar-eg
-            0xc04 << 16 | 3299 << 4 | 5,     // zh-hk
-            0xc07 << 16 | 413 << 4 | 5,      // de-at
-            0xc09 << 16 | 553 << 4 | 5,      // en-au
-            0xc0a << 16 | 1100 << 4 | 5,     // es-es
-            0xc0c << 16 | 1285 << 4 | 5,     // fr-ca
-            0xc1a << 16 | 2743 << 4 | 10,    // sr-cyrl-cs
-            0xc3b << 16 | 2583 << 4 | 5,     // se-fi
-            0xc50 << 16 | 2088 << 4 | 10,    // mn-mong-mn
-            0xc51 << 16 | 484 << 4 | 5,      // dz-bt
-            0xc6b << 16 | 2467 << 4 | 6,     // quz-pe
-            0x1001 << 16 | 107 << 4 | 5,     // ar-ly
-            0x1004 << 16 | 3335 << 4 | 5,    // zh-sg
-            0x1007 << 16 | 450 << 4 | 5,     // de-lu
-            0x1009 << 16 | 593 << 4 | 5,     // en-ca
-            0x100a << 16 | 1117 << 4 | 5,    // es-gt
-            0x100c << 16 | 1305 << 4 | 5,    // fr-ch
-            0x101a << 16 | 1601 << 4 | 5,    // hr-ba
-            0x103b << 16 | 2664 << 4 | 6,    // smj-no
-            0x105f << 16 | 3053 << 4 | 11,   // tzm-tfng-ma
-            0x1401 << 16 | 62 << 4 | 5,      // ar-dz
-            0x1404 << 16 | 3311 << 4 | 5,    // zh-mo
-            0x1407 << 16 | 445 << 4 | 5,     // de-li
-            0x1409 << 16 | 863 << 4 | 5,     // en-nz
-            0x140a << 16 | 1080 << 4 | 5,    // es-cr
-            0x140c << 16 | 1370 << 4 | 5,    // fr-lu
-            0x141a << 16 | 310 << 4 | 10,    // bs-latn-ba
-            0x143b << 16 | 2670 << 4 | 6,    // smj-se
-            0x1801 << 16 | 112 << 4 | 5,     // ar-ma
-            0x1809 << 16 | 718 << 4 | 5,     // en-ie
-            0x180a << 16 | 1137 << 4 | 5,    // es-pa
-            0x180c << 16 | 1380 << 4 | 5,    // fr-mc
-            0x181a << 16 | 2783 << 4 | 10,   // sr-latn-ba
-            0x183b << 16 | 2652 << 4 | 6,    // sma-no
-            0x1c01 << 16 | 167 << 4 | 5,     // ar-tn
-            0x1c09 << 16 | 1028 << 4 | 5,    // en-za
-            0x1c0a << 16 | 1090 << 4 | 5,    // es-do
-            0x1c0c << 16 | 1254 << 4 | 6,    // fr-029
-            0x1c1a << 16 | 2733 << 4 | 10,   // sr-cyrl-ba
-            0x1c3b << 16 | 2658 << 4 | 6,    // sma-se
-            0x2001 << 16 | 122 << 4 | 5,     // ar-om
-            0x2009 << 16 | 748 << 4 | 5,     // en-jm
-            0x200a << 16 | 1177 << 4 | 5,    // es-ve
-            0x200c << 16 | 1435 << 4 | 5,    // fr-re
-            0x201a << 16 | 300 << 4 | 10,    // bs-cyrl-ba
-            0x203b << 16 | 2682 << 4 | 6,    // sms-fi
-            0x2401 << 16 | 172 << 4 | 5,     // ar-ye
-            0x2409 << 16 | 521 << 4 | 6,     // en-029
-            0x240a << 16 | 1075 << 4 | 5,    // es-co
-            0x240c << 16 | 1290 << 4 | 5,    // fr-cd
-            0x241a << 16 | 2813 << 4 | 10,   // sr-latn-rs
-            0x243b << 16 | 2676 << 4 | 6,    // smn-fi
-            0x2801 << 16 | 157 << 4 | 5,     // ar-sy
-            0x2809 << 16 | 588 << 4 | 5,     // en-bz
-            0x280a << 16 | 1142 << 4 | 5,    // es-pe
-            0x280c << 16 | 1450 << 4 | 5,    // fr-sn
-            0x281a << 16 | 2763 << 4 | 10,   // sr-cyrl-rs
-            0x2c01 << 16 | 87 << 4 | 5,      // ar-jo
-            0x2c09 << 16 | 973 << 4 | 5,     // en-tt
-            0x2c0a << 16 | 1055 << 4 | 5,    // es-ar
-            0x2c0c << 16 | 1315 << 4 | 5,    // fr-cm
-            0x2c1a << 16 | 2803 << 4 | 10,   // sr-latn-me
-            0x3001 << 16 | 102 << 4 | 5,     // ar-lb
-            0x3009 << 16 | 1038 << 4 | 5,    // en-zw
-            0x300a << 16 | 1095 << 4 | 5,    // es-ec
-            0x300c << 16 | 1310 << 4 | 5,    // fr-ci
-            0x301a << 16 | 2753 << 4 | 10,   // sr-cyrl-me
-            0x3401 << 16 | 97 << 4 | 5,      // ar-kw
-            0x3409 << 16 | 873 << 4 | 5,     // en-ph
-            0x340a << 16 | 1070 << 4 | 5,    // es-cl
-            0x340c << 16 | 1395 << 4 | 5,    // fr-ml
-            0x3801 << 16 | 47 << 4 | 5,      // ar-ae
-            0x3809 << 16 | 713 << 4 | 5,     // en-id
-            0x380a << 16 | 1172 << 4 | 5,    // es-uy
-            0x380c << 16 | 1375 << 4 | 5,    // fr-ma
-            0x3c01 << 16 | 52 << 4 | 5,      // ar-bh
-            0x3c09 << 16 | 708 << 4 | 5,     // en-hk
-            0x3c0a << 16 | 1157 << 4 | 5,    // es-py
-            0x3c0c << 16 | 1360 << 4 | 5,    // fr-ht
-            0x4001 << 16 | 132 << 4 | 5,     // ar-qa
-            0x4009 << 16 | 733 << 4 | 5,     // en-in
-            0x400a << 16 | 1060 << 4 | 5,    // es-bo
-            0x4409 << 16 | 828 << 4 | 5,     // en-my
-            0x440a << 16 | 1162 << 4 | 5,    // es-sv
-            0x4809 << 16 | 923 << 4 | 5,     // en-sg
-            0x480a << 16 | 1122 << 4 | 5,    // es-hn
-            0x4c0a << 16 | 1132 << 4 | 5,    // es-ni
-            0x500a << 16 | 1152 << 4 | 5,    // es-pr
-            0x540a << 16 | 1167 << 4 | 5,    // es-us
-            0x580a << 16 | 1049 << 4 | 6,    // es-419
-            0x5c0a << 16 | 1085 << 4 | 5,    // es-cu
-            0x641a << 16 | 300 << 4 | 7,     // bs-cyrl
-            0x681a << 16 | 310 << 4 | 7,     // bs-latn
-            0x6c1a << 16 | 2733 << 4 | 7,    // sr-cyrl
-            0x701a << 16 | 2783 << 4 | 7,    // sr-latn
-            0x703b << 16 | 2676 << 4 | 3,    // smn
-            0x742c << 16 | 200 << 4 | 7,     // az-cyrl
-            0x743b << 16 | 2682 << 4 | 3,    // sms
-            0x7804 << 16 | 3236 << 4 | 2,    // zh
-            0x7814 << 16 | 2236 << 4 | 2,    // nn
-            0x781a << 16 | 300 << 4 | 2,     // bs
-            0x782c << 16 | 210 << 4 | 7,     // az-latn
-            0x783b << 16 | 2652 << 4 | 3,    // sma
-            0x7843 << 16 | 3094 << 4 | 7,    // uz-cyrl
-            0x7850 << 16 | 2066 << 4 | 7,    // mn-cyrl
-            0x785d << 16 | 1686 << 4 | 7,    // iu-cans
-            0x785f << 16 | 3053 << 4 | 8,    // tzm-tfng
-            0x7c04 << 16 | 3292 << 4 | 7,    // zh-hant
-            0x7c14 << 16 | 2158 << 4 | 2,    // nb
-            0x7c1a << 16 | 2733 << 4 | 2,    // sr
-            0x7c28 << 16 | 2943 << 4 | 7,    // tg-cyrl
-            0x7c2e << 16 | 461 << 4 | 3,     // dsb
-            0x7c3b << 16 | 2664 << 4 | 3,    // smj
-            0x7c43 << 16 | 3104 << 4 | 7,    // uz-latn
-            0x7c46 << 16 | 2308 << 4 | 7,    // pa-arab
-            0x7c50 << 16 | 2078 << 4 | 7,    // mn-mong
-            0x7c59 << 16 | 2563 << 4 | 7,    // sd-arab
-            0x7c5c << 16 | 366 << 4 | 8,     // chr-cher
-            0x7c5d << 16 | 1696 << 4 | 7,    // iu-latn
-            0x7c5f << 16 | 3031 << 4 | 8,    // tzm-latn
-            0x7c67 << 16 | 1213 << 4 | 7,    // ff-latn
-            0x7c68 << 16 | 1555 << 4 | 7,    // ha-latn
-            0x7c86 << 16 | 2444 << 4 | 8,    // quc-latn
-            0x7c92 << 16 | 1888 << 4 | 7,    // ku-arab
-            0x1007f << 16 | 3175 << 4 | 11,  // x-iv_mathan
-            0x10407 << 16 | 428 << 4 | 5,    // de-de
-            0x1040e << 16 | 1617 << 4 | 5,   // hu-hu
-            0x10437 << 16 | 1750 << 4 | 5,   // ka-ge
-            0x20804 << 16 | 3248 << 4 | 5,   // zh-cn
-            0x21004 << 16 | 3335 << 4 | 5,   // zh-sg
-            0x21404 << 16 | 3311 << 4 | 5,   // zh-mo
-            0x30404 << 16 | 3359 << 4 | 5,   // zh-tw
-            0x40404 << 16 | 3359 << 4 | 5,   // zh-tw
-            0x40411 << 16 | 1706 << 4 | 5,   // ja-jp
-            0x40c04 << 16 | 3299 << 4 | 5,   // zh-hk
-            0x41404 << 16 | 3311 << 4 | 5,   // zh-mo
-            0x50804 << 16 | 3248 << 4 | 5,   // zh-cn
-            0x51004 << 16 | 3335 << 4 | 5,   // zh-sg
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x49, 0x11, 0x00,  0x30, 0xf0,  // 0    - aa
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x3e, 0x11, 0x00,  0x10, 0xf0,  // 1    - aa-dj
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x47, 0x11, 0x00,  0x20, 0xf0,  // 2    - aa-er
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x49, 0x11, 0x00,  0x30, 0xf0,  // 3    - aa-et
+            0x00, 0x00, 0x36, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xd1, 0x11, 0x00,  0x60, 0x06,  // 4    - af
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xfe, 0x11, 0x00,  0x50, 0xf0,  // 5    - af-na
+            0x00, 0x04, 0x36, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xd1, 0x11, 0x00,  0x60, 0x06,  // 6    - af-za
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x31, 0x11, 0x00,  0x80, 0xf0,  // 7    - agq
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x31, 0x11, 0x00,  0x80, 0xf0,  // 8    - agq-cm
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x59, 0x11, 0x00,  0xa0, 0xf0,  // 9    - ak
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x59, 0x11, 0x00,  0xa0, 0xf0,  // 10   - ak-gh
+            0x00, 0x00, 0x5e, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x49, 0x11, 0x00,  0xc0, 0x8f,  // 11   - am
+            0x00, 0x04, 0x5e, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x49, 0x11, 0x00,  0xc0, 0x8f,  // 12   - am-et
+            0x00, 0x00, 0x01, 0x4e,  0x82, 0xd0, 0x27, 0x14,  0x4f, 0xc4, 0x00, 0x00,  0x00, 0xcd, 0x10, 0x02,  0x10, 0x8f,  // 13   - ar
+            0x00, 0x10, 0x00, 0x4e,  0x82, 0xd0, 0x27, 0x14,  0x4f, 0xc4, 0x00, 0x00,  0x98, 0x9e, 0x10, 0x00,  0xe0, 0xf0,  // 14   - ar-001
+            0x00, 0x38, 0x01, 0x4e,  0x82, 0xd0, 0x27, 0x14,  0x4f, 0xc4, 0x00, 0x00,  0x00, 0xe0, 0x10, 0x00,  0xf0, 0x8f,  // 15   - ar-ae
+            0x00, 0x3c, 0x01, 0x4e,  0x82, 0xd0, 0x27, 0x14,  0x4f, 0xc4, 0x00, 0x00,  0x00, 0x11, 0x10, 0x01,  0x00, 0x8f,  // 16   - ar-bh
+            0x00, 0x10, 0x00, 0x4e,  0x82, 0xd0, 0x27, 0x14,  0x4f, 0xc4, 0x00, 0x00,  0x00, 0x3e, 0x10, 0x01,  0x10, 0xf0,  // 17   - ar-dj
+            0x00, 0x14, 0x01, 0x4e,  0x82, 0xd0, 0x27, 0x14,  0x4f, 0xc4, 0x00, 0x00,  0x00, 0x04, 0x11, 0x01,  0x21, 0x2c,  // 18   - ar-dz
+            0x00, 0x0c, 0x01, 0x4e,  0x82, 0xd0, 0x27, 0x14,  0x4f, 0xc4, 0x00, 0x00,  0x00, 0x43, 0x10, 0x01,  0x30, 0x8f,  // 19   - ar-eg
+            0x00, 0x10, 0x00, 0x4e,  0x82, 0xd0, 0x27, 0x14,  0x4f, 0xc4, 0x00, 0x00,  0x00, 0x47, 0x10, 0x01,  0x40, 0xf0,  // 20   - ar-er
+            0x00, 0x10, 0x00, 0x4e,  0x82, 0xd0, 0x27, 0x14,  0x4f, 0xc4, 0x00, 0x00,  0x00, 0x75, 0x10, 0x01,  0x50, 0xf0,  // 21   - ar-il
+            0x00, 0x08, 0x01, 0x4e,  0x82, 0xd0, 0x27, 0x14,  0x4f, 0xc4, 0x00, 0x00,  0x00, 0x79, 0x10, 0x01,  0x60, 0x8f,  // 22   - ar-iq
+            0x00, 0x2c, 0x01, 0x4e,  0x82, 0xd0, 0x27, 0x14,  0x4f, 0xc4, 0x00, 0x00,  0x00, 0x7e, 0x10, 0x01,  0x70, 0x8f,  // 23   - ar-jo
+            0x00, 0x10, 0x00, 0x4e,  0x82, 0xd0, 0x27, 0x14,  0x4f, 0xc4, 0x00, 0x00,  0x00, 0x32, 0x10, 0x01,  0x80, 0xf0,  // 24   - ar-km
+            0x00, 0x34, 0x01, 0x4e,  0x82, 0xd0, 0x27, 0x14,  0x4f, 0xc4, 0x00, 0x00,  0x00, 0x88, 0x10, 0x01,  0x90, 0x8f,  // 25   - ar-kw
+            0x00, 0x30, 0x01, 0x4e,  0x82, 0xd0, 0x27, 0x14,  0x4f, 0xc4, 0x00, 0x00,  0x00, 0x8b, 0x10, 0x01,  0xa0, 0x8f,  // 26   - ar-lb
+            0x00, 0x10, 0x01, 0x4e,  0x82, 0xd0, 0x27, 0x14,  0x4f, 0xc4, 0x00, 0x00,  0x00, 0x94, 0x11, 0x01,  0xb0, 0x8f,  // 27   - ar-ly
+            0x00, 0x18, 0x01, 0x4e,  0x82, 0xd0, 0x27, 0x14,  0x4f, 0xc4, 0x00, 0x00,  0x00, 0x9f, 0x11, 0x01,  0xc1, 0x2c,  // 28   - ar-ma
+            0x00, 0x10, 0x00, 0x4e,  0x82, 0xd0, 0x27, 0x14,  0x4f, 0xc4, 0x00, 0x00,  0x00, 0xa2, 0x10, 0x01,  0xd0, 0xf0,  // 29   - ar-mr
+            0x00, 0x20, 0x01, 0x4e,  0x82, 0xd0, 0x27, 0x14,  0x4f, 0xc4, 0x00, 0x00,  0x00, 0xa4, 0x10, 0x01,  0xe0, 0x8f,  // 30   - ar-om
+            0x00, 0x10, 0x00, 0x4e,  0x82, 0xd0, 0x27, 0x14,  0x4f, 0xc4, 0x00, 0x00,  0x00, 0xb8, 0x10, 0x01,  0xf0, 0xf0,  // 31   - ar-ps
+            0x00, 0x40, 0x01, 0x4e,  0x82, 0xd0, 0x27, 0x14,  0x4f, 0xc4, 0x00, 0x00,  0x00, 0xc5, 0x10, 0x02,  0x00, 0x8f,  // 32   - ar-qa
+            0x00, 0x04, 0x01, 0x4e,  0x82, 0xd0, 0x27, 0x14,  0x4f, 0xc4, 0x00, 0x00,  0x00, 0xcd, 0x10, 0x02,  0x10, 0x8f,  // 33   - ar-sa
+            0x00, 0x10, 0x00, 0x4e,  0x82, 0xd0, 0x27, 0x14,  0x4f, 0xc4, 0x00, 0x00,  0x00, 0xdb, 0x10, 0x02,  0x20, 0xf0,  // 34   - ar-sd
+            0x00, 0x10, 0x00, 0x4e,  0x82, 0xd0, 0x27, 0x14,  0x4f, 0xc4, 0x00, 0x00,  0x00, 0xd8, 0x10, 0x02,  0x30, 0xf0,  // 35   - ar-so
+            0x00, 0x10, 0x00, 0x4e,  0x82, 0xd0, 0x27, 0x14,  0x4f, 0xc4, 0x00, 0x00,  0x01, 0x14, 0x10, 0x02,  0x40, 0xf0,  // 36   - ar-ss
+            0x00, 0x28, 0x01, 0x4e,  0x82, 0xd0, 0x27, 0x14,  0x4f, 0xc4, 0x00, 0x00,  0x00, 0xde, 0x10, 0x02,  0x50, 0x8f,  // 37   - ar-sy
+            0x00, 0x10, 0x00, 0x4e,  0x82, 0xd0, 0x27, 0x14,  0x4f, 0xc4, 0x00, 0x00,  0x00, 0x29, 0x10, 0x02,  0x60, 0xf0,  // 38   - ar-td
+            0x00, 0x1c, 0x01, 0x4e,  0x82, 0xd0, 0x27, 0x14,  0x4f, 0xc4, 0x00, 0x00,  0x00, 0xea, 0x11, 0x02,  0x71, 0x2c,  // 39   - ar-tn
+            0x00, 0x24, 0x01, 0x4e,  0x82, 0xd0, 0x27, 0x14,  0x4f, 0xc4, 0x00, 0x00,  0x01, 0x05, 0x10, 0x02,  0x80, 0x8f,  // 40   - ar-ye
+            0x00, 0x00, 0x7a, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x3c, 0x00, 0x00,  0x00, 0x2e, 0x01, 0x02,  0xa0, 0x2a,  // 41   - arn
+            0x00, 0x04, 0x7a, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x3c, 0x00, 0x00,  0x00, 0x2e, 0x01, 0x02,  0xa0, 0x2a,  // 42   - arn-cl
+            0x00, 0x00, 0x4d, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x71, 0x01, 0x02,  0xc0, 0x8f,  // 43   - as
+            0x00, 0x04, 0x4d, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x71, 0x01, 0x02,  0xc0, 0x8f,  // 44   - as-in
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xef, 0x11, 0x02,  0xe0, 0xf0,  // 45   - asa
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xef, 0x11, 0x02,  0xe0, 0xf0,  // 46   - asa-tz
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xd9, 0x11, 0x03,  0x00, 0xf0,  // 47   - ast
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xd9, 0x11, 0x03,  0x00, 0xf0,  // 48   - ast-es
+            0x00, 0x00, 0x2c, 0x4e,  0x63, 0x59, 0x27, 0x61,  0x51, 0xa9, 0x00, 0x00,  0x00, 0x05, 0x11, 0x03,  0x50, 0x35,  // 49   - az
+            0x00, 0x74, 0x2c, 0x4e,  0x33, 0x62, 0x27, 0x17,  0x51, 0x90, 0x00, 0x00,  0x00, 0x05, 0x11, 0x03,  0x30, 0x33,  // 50   - az-cyrl
+            0x00, 0x08, 0x2c, 0x4e,  0x33, 0x62, 0x27, 0x17,  0x51, 0x90, 0x00, 0x00,  0x00, 0x05, 0x11, 0x03,  0x30, 0x33,  // 51   - az-cyrl-az
+            0x00, 0x78, 0x2c, 0x4e,  0x63, 0x59, 0x27, 0x61,  0x51, 0xa9, 0x00, 0x00,  0x00, 0x05, 0x11, 0x03,  0x50, 0x35,  // 52   - az-latn
+            0x00, 0x04, 0x2c, 0x4e,  0x63, 0x59, 0x27, 0x61,  0x51, 0xa9, 0x00, 0x00,  0x00, 0x05, 0x11, 0x03,  0x50, 0x35,  // 53   - az-latn-az
+            0x00, 0x00, 0x6d, 0x4e,  0x33, 0x62, 0x27, 0x17,  0x51, 0x90, 0x00, 0x00,  0x00, 0xcb, 0x11, 0x03,  0x70, 0x37,  // 54   - ba
+            0x00, 0x04, 0x6d, 0x4e,  0x33, 0x62, 0x27, 0x17,  0x51, 0x90, 0x00, 0x00,  0x00, 0xcb, 0x11, 0x03,  0x70, 0x37,  // 55   - ba-ru
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x31, 0x11, 0x03,  0x90, 0xf0,  // 56   - bas
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x31, 0x11, 0x03,  0x90, 0xf0,  // 57   - bas-cm
+            0x00, 0x00, 0x23, 0x4e,  0x33, 0x62, 0x27, 0x17,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x1d, 0x11, 0x03,  0xb0, 0x3b,  // 58   - be
+            0x00, 0x04, 0x23, 0x4e,  0x33, 0x62, 0x27, 0x17,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x1d, 0x11, 0x03,  0xb0, 0x3b,  // 59   - be-by
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x01, 0x07, 0x11, 0x03,  0xd0, 0xf0,  // 60   - bem
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x01, 0x07, 0x11, 0x03,  0xd0, 0xf0,  // 61   - bem-zm
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xef, 0x11, 0x03,  0xf0, 0xf0,  // 62   - bez
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xef, 0x11, 0x03,  0xf0, 0xf0,  // 63   - bez-tz
+            0x00, 0x00, 0x02, 0x4e,  0x33, 0x62, 0x27, 0x17,  0x52, 0x21, 0x00, 0x00,  0x00, 0x23, 0x11, 0x04,  0x10, 0x41,  // 64   - bg
+            0x00, 0x04, 0x02, 0x4e,  0x33, 0x62, 0x27, 0x17,  0x52, 0x21, 0x00, 0x00,  0x00, 0x23, 0x11, 0x04,  0x10, 0x41,  // 65   - bg-bg
+            0x00, 0x00, 0x66, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xaf, 0x11, 0x04,  0x30, 0xf0,  // 66   - bin
+            0x00, 0x04, 0x66, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xaf, 0x11, 0x04,  0x30, 0xf0,  // 67   - bin-ng
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x9d, 0x11, 0x04,  0x60, 0xf0,  // 68   - bm
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x9d, 0x11, 0x04,  0x60, 0xf0,  // 69   - bm-latn
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x9d, 0x11, 0x04,  0x60, 0xf0,  // 70   - bm-latn-ml
+            0x00, 0x00, 0x45, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x17, 0x01, 0x04,  0x80, 0x8f,  // 71   - bn
+            0x00, 0x08, 0x45, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x17, 0x01, 0x04,  0x80, 0x8f,  // 72   - bn-bd
+            0x00, 0x04, 0x45, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x71, 0x01, 0x04,  0x90, 0x8f,  // 73   - bn-in
+            0x00, 0x00, 0x51, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x2d, 0x01, 0x04,  0xb0, 0x8f,  // 74   - bo
+            0x00, 0x04, 0x51, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x2d, 0x01, 0x04,  0xb0, 0x8f,  // 75   - bo-cn
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x71, 0x11, 0x04,  0xc0, 0xf0,  // 76   - bo-in
+            0x00, 0x00, 0x7e, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x00, 0x54, 0x11, 0x04,  0xe0, 0x4e,  // 77   - br
+            0x00, 0x04, 0x7e, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x00, 0x54, 0x11, 0x04,  0xe0, 0x4e,  // 78   - br-fr
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x71, 0x11, 0x05,  0x00, 0xf0,  // 79   - brx
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x71, 0x11, 0x05,  0x00, 0xf0,  // 80   - brx-in
+            0x00, 0x78, 0x1a, 0x4e,  0x23, 0x54, 0x27, 0x62,  0x03, 0x66, 0x00, 0x00,  0x00, 0x19, 0x11, 0x05,  0x50, 0x55,  // 81   - bs
+            0x00, 0x64, 0x1a, 0x4e,  0x33, 0x57, 0x27, 0x62,  0x03, 0x66, 0x00, 0x00,  0x00, 0x19, 0x11, 0x05,  0x30, 0x53,  // 82   - bs-cyrl
+            0x00, 0x20, 0x1a, 0x4e,  0x33, 0x57, 0x27, 0x62,  0x03, 0x66, 0x00, 0x00,  0x00, 0x19, 0x11, 0x05,  0x30, 0x53,  // 83   - bs-cyrl-ba
+            0x00, 0x68, 0x1a, 0x4e,  0x23, 0x54, 0x27, 0x62,  0x03, 0x66, 0x00, 0x00,  0x00, 0x19, 0x11, 0x05,  0x50, 0x55,  // 84   - bs-latn
+            0x00, 0x14, 0x1a, 0x4e,  0x23, 0x54, 0x27, 0x62,  0x03, 0x66, 0x00, 0x00,  0x00, 0x19, 0x11, 0x05,  0x50, 0x55,  // 85   - bs-latn-ba
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x47, 0x11, 0x05,  0x70, 0xf0,  // 86   - byn
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x47, 0x11, 0x05,  0x70, 0xf0,  // 87   - byn-er
+            0x00, 0x00, 0x03, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xd9, 0x11, 0x05,  0xa0, 0x5a,  // 88   - ca
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x08, 0x11, 0x05,  0x90, 0xf0,  // 89   - ca-ad
+            0x00, 0x04, 0x03, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xd9, 0x11, 0x05,  0xa0, 0x5a,  // 90   - ca-es
+            0x00, 0x08, 0x03, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xd9, 0x11, 0x05,  0xb0, 0x5a,  // 91   - ca-es-valencia
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x54, 0x11, 0x05,  0xc0, 0xf0,  // 92   - ca-fr
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x76, 0x11, 0x05,  0xd0, 0xf0,  // 93   - ca-it
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xcb, 0x11, 0x05,  0xf0, 0xf0,  // 94   - ce
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xcb, 0x11, 0x05,  0xf0, 0xf0,  // 95   - ce-ru
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xf0, 0x11, 0x06,  0x10, 0xf0,  // 96   - cgg
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xf0, 0x11, 0x06,  0x10, 0xf0,  // 97   - cgg-ug
+            0x00, 0x00, 0x5c, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xf4, 0x01, 0x06,  0x40, 0xf0,  // 98   - chr
+            0x00, 0x7c, 0x5c, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xf4, 0x01, 0x06,  0x40, 0xf0,  // 99   - chr-cher
+            0x00, 0x04, 0x5c, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xf4, 0x01, 0x06,  0x40, 0xf0,  // 100  - chr-cher-us
+            0x00, 0x00, 0x83, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x00, 0x54, 0x11, 0x06,  0x60, 0x66,  // 101  - co
+            0x00, 0x04, 0x83, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x00, 0x54, 0x11, 0x06,  0x60, 0x66,  // 102  - co-fr
+            0x00, 0x00, 0x05, 0x4e,  0x23, 0x54, 0x27, 0x2d,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x4b, 0x11, 0x06,  0x80, 0x68,  // 103  - cs
+            0x00, 0x04, 0x05, 0x4e,  0x23, 0x54, 0x27, 0x2d,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x4b, 0x11, 0x06,  0x80, 0x68,  // 104  - cs-cz
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xcb, 0x11, 0x06,  0xa0, 0xf0,  // 105  - cu
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xcb, 0x11, 0x06,  0xa0, 0xf0,  // 106  - cu-ru
+            0x00, 0x00, 0x52, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x3d, 0x00, 0x00,  0x00, 0xf2, 0x11, 0x06,  0xc0, 0x6c,  // 107  - cy
+            0x00, 0x04, 0x52, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x3d, 0x00, 0x00,  0x00, 0xf2, 0x11, 0x06,  0xc0, 0x6c,  // 108  - cy-gb
+            0x00, 0x00, 0x06, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x35, 0x00, 0x00,  0x00, 0x3d, 0x11, 0x06,  0xe0, 0x6e,  // 109  - da
+            0x00, 0x04, 0x06, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x35, 0x00, 0x00,  0x00, 0x3d, 0x11, 0x06,  0xe0, 0x6e,  // 110  - da-dk
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x5d, 0x11, 0x06,  0xf0, 0xf0,  // 111  - da-gl
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x81, 0x11, 0x07,  0x10, 0xf0,  // 112  - dav
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x81, 0x11, 0x07,  0x10, 0xf0,  // 113  - dav-ke
+            0x00, 0x00, 0x07, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x31, 0x00, 0x00,  0x00, 0x5e, 0x11, 0x07,  0x60, 0x76,  // 114  - de
+            0x00, 0x0c, 0x07, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x31, 0x00, 0x00,  0x00, 0x0e, 0x11, 0x07,  0x30, 0x73,  // 115  - de-at
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x31, 0x00, 0x00,  0x00, 0x15, 0x11, 0x07,  0x40, 0xf0,  // 116  - de-be
+            0x00, 0x08, 0x07, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x31, 0x00, 0x00,  0x00, 0xdf, 0x11, 0x07,  0x50, 0x75,  // 117  - de-ch
+            0x00, 0x04, 0x07, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x31, 0x00, 0x00,  0x00, 0x5e, 0x11, 0x07,  0x60, 0x76,  // 118  - de-de
+            0x01, 0x04, 0x07, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x31, 0x00, 0x00,  0x00, 0x5e, 0x11, 0x07,  0x60, 0x76,  // 119  - de-de_phoneb
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x76, 0x11, 0x07,  0x80, 0xf0,  // 120  - de-it
+            0x00, 0x14, 0x07, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x31, 0x00, 0x00,  0x00, 0x91, 0x11, 0x07,  0x90, 0x79,  // 121  - de-li
+            0x00, 0x10, 0x07, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x31, 0x00, 0x00,  0x00, 0x93, 0x11, 0x07,  0xa0, 0x7a,  // 122  - de-lu
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xad, 0x11, 0x07,  0xc0, 0xf0,  // 123  - dje
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xad, 0x11, 0x07,  0xc0, 0xf0,  // 124  - dje-ne
+            0x00, 0x7c, 0x2e, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x03, 0x66, 0x00, 0x00,  0x00, 0x5e, 0x11, 0x07,  0xe0, 0x7e,  // 125  - dsb
+            0x00, 0x08, 0x2e, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x03, 0x66, 0x00, 0x00,  0x00, 0x5e, 0x11, 0x07,  0xe0, 0x7e,  // 126  - dsb-de
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x31, 0x11, 0x08,  0x00, 0xf0,  // 127  - dua
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x31, 0x11, 0x08,  0x00, 0xf0,  // 128  - dua-cm
+            0x00, 0x00, 0x65, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xa5, 0x21, 0x08,  0x20, 0x8f,  // 129  - dv
+            0x00, 0x04, 0x65, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xa5, 0x21, 0x08,  0x20, 0x8f,  // 130  - dv-mv
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xd2, 0x11, 0x08,  0x40, 0xf0,  // 131  - dyo
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xd2, 0x11, 0x08,  0x40, 0xf0,  // 132  - dyo-sn
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x22, 0x12, 0x08,  0x60, 0xf0,  // 133  - dz
+            0x00, 0x0c, 0x51, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x22, 0x12, 0x08,  0x60, 0xf0,  // 134  - dz-bt
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x81, 0x11, 0x08,  0x80, 0xf0,  // 135  - ebu
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x81, 0x11, 0x08,  0x80, 0xf0,  // 136  - ebu-ke
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x59, 0x11, 0x08,  0xa0, 0xf0,  // 137  - ee
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x59, 0x11, 0x08,  0xa0, 0xf0,  // 138  - ee-gh
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xe8, 0x11, 0x08,  0xb0, 0xf0,  // 139  - ee-tg
+            0x00, 0x00, 0x08, 0x4e,  0x52, 0xe1, 0x27, 0x16,  0x4f, 0x31, 0x00, 0x00,  0x00, 0x62, 0x11, 0x08,  0xe0, 0x8e,  // 140  - el
+            0x00, 0x10, 0x00, 0x4e,  0x52, 0xe1, 0x27, 0x16,  0x4f, 0x31, 0x00, 0x00,  0x00, 0x3b, 0x11, 0x08,  0xd0, 0xf0,  // 141  - el-cy
+            0x00, 0x04, 0x08, 0x4e,  0x52, 0xe1, 0x27, 0x16,  0x4f, 0x31, 0x00, 0x00,  0x00, 0x62, 0x11, 0x08,  0xe0, 0x8e,  // 142  - el-gr
+            0x00, 0x00, 0x09, 0x4e,  0x41, 0xb5, 0x27, 0x10,  0x00, 0x25, 0x00, 0x00,  0x00, 0xf4, 0x01, 0x0f,  0x00, 0xf0,  // 143  - en
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x98, 0x9e, 0x01, 0x09,  0x00, 0xf0,  // 144  - en-001
+            0x00, 0x24, 0x09, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x99,  0x32, 0x48, 0x01, 0x09,  0x10, 0x91,  // 145  - en-029
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x29, 0x2d, 0x01, 0x09,  0x20, 0xf0,  // 146  - en-150
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x02, 0x01, 0x09,  0x30, 0xf0,  // 147  - en-ag
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x01, 0x2c, 0x01, 0x09,  0x40, 0xf0,  // 148  - en-ai
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x0a, 0x01, 0x09,  0x50, 0xf0,  // 149  - en-as
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x0e, 0x01, 0x09,  0x60, 0xf0,  // 150  - en-at
+            0x00, 0x0c, 0x09, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x0c, 0x01, 0x09,  0x70, 0x97,  // 151  - en-au
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x12, 0x01, 0x09,  0x80, 0xf0,  // 152  - en-bb
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x15, 0x01, 0x09,  0x90, 0xf0,  // 153  - en-be
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x26, 0x01, 0x09,  0xa0, 0xf0,  // 154  - en-bi
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x14, 0x01, 0x09,  0xb0, 0xf0,  // 155  - en-bm
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x16, 0x01, 0x09,  0xc0, 0xf0,  // 156  - en-bs
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x13, 0x01, 0x09,  0xd0, 0xf0,  // 157  - en-bw
+            0x00, 0x28, 0x09, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x18, 0x01, 0x09,  0xe0, 0x9e,  // 158  - en-bz
+            0x00, 0x10, 0x09, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x00, 0x25, 0x00, 0x00,  0x00, 0x27, 0x01, 0x09,  0xf0, 0x9f,  // 159  - en-ca
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x01, 0x37, 0x01, 0x0a,  0x00, 0xf0,  // 160  - en-cc
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xdf, 0x01, 0x0a,  0x10, 0xf0,  // 161  - en-ch
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x01, 0x38, 0x01, 0x0a,  0x20, 0xf0,  // 162  - en-ck
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x31, 0x01, 0x0a,  0x30, 0xf0,  // 163  - en-cm
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x01, 0x35, 0x01, 0x0a,  0x40, 0xf0,  // 164  - en-cx
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x3b, 0x01, 0x0a,  0x50, 0xf0,  // 165  - en-cy
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x5e, 0x01, 0x0a,  0x60, 0xf0,  // 166  - en-de
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x3d, 0x01, 0x0a,  0x70, 0xf0,  // 167  - en-dk
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x3f, 0x01, 0x0a,  0x80, 0xf0,  // 168  - en-dm
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x47, 0x01, 0x0a,  0x90, 0xf0,  // 169  - en-er
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x4d, 0x01, 0x0a,  0xa0, 0xf0,  // 170  - en-fi
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x4e, 0x01, 0x0a,  0xb0, 0xf0,  // 171  - en-fj
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x01, 0x3b, 0x01, 0x0a,  0xc0, 0xf0,  // 172  - en-fk
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x50, 0x01, 0x0a,  0xd0, 0xf0,  // 173  - en-fm
+            0x00, 0x08, 0x09, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x3d, 0x00, 0x00,  0x00, 0xf2, 0x01, 0x0a,  0xe0, 0xae,  // 174  - en-gb
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x5b, 0x01, 0x0a,  0xf0, 0xf0,  // 175  - en-gd
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x01, 0x44, 0x01, 0x0b,  0x00, 0xf0,  // 176  - en-gg
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x59, 0x01, 0x0b,  0x10, 0xf0,  // 177  - en-gh
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x5a, 0x01, 0x0b,  0x20, 0xf0,  // 178  - en-gi
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x56, 0x01, 0x0b,  0x30, 0xf0,  // 179  - en-gm
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x01, 0x42, 0x01, 0x0b,  0x40, 0xf0,  // 180  - en-gu
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x65, 0x01, 0x0b,  0x50, 0xf0,  // 181  - en-gy
+            0x00, 0x3c, 0x09, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x68, 0x01, 0x0b,  0x60, 0xf0,  // 182  - en-hk
+            0x00, 0x38, 0x09, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x6f, 0x11, 0x0b,  0x70, 0xf0,  // 183  - en-id
+            0x00, 0x18, 0x09, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x44, 0x01, 0x0b,  0x80, 0xb8,  // 184  - en-ie
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x75, 0x01, 0x0b,  0x90, 0xf0,  // 185  - en-il
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x3b, 0x16, 0x01, 0x0b,  0xa0, 0xf0,  // 186  - en-im
+            0x00, 0x40, 0x09, 0x4e,  0x41, 0xb5, 0x27, 0x10,  0x00, 0x25, 0x00, 0x00,  0x00, 0x71, 0x01, 0x0b,  0xb0, 0xbb,  // 187  - en-in
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x72, 0x01, 0x0b,  0xc0, 0xf0,  // 188  - en-io
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x01, 0x48, 0x01, 0x0b,  0xd0, 0xf0,  // 189  - en-je
+            0x00, 0x20, 0x09, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x7c, 0x01, 0x0b,  0xe0, 0xbe,  // 190  - en-jm
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x81, 0x01, 0x0b,  0xf0, 0xf0,  // 191  - en-ke
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x85, 0x01, 0x0c,  0x00, 0xf0,  // 192  - en-ki
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xcf, 0x01, 0x0c,  0x10, 0xf0,  // 193  - en-kn
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x01, 0x33, 0x01, 0x0c,  0x20, 0xf0,  // 194  - en-ky
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xda, 0x01, 0x0c,  0x30, 0xf0,  // 195  - en-lc
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x8e, 0x01, 0x0c,  0x40, 0xf0,  // 196  - en-lr
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x92, 0x01, 0x0c,  0x50, 0xf0,  // 197  - en-ls
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x95, 0x01, 0x0c,  0x60, 0xf0,  // 198  - en-mg
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xc7, 0x01, 0x0c,  0x70, 0xf0,  // 199  - en-mh
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x97, 0x01, 0x0c,  0x80, 0xf0,  // 200  - en-mo
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x01, 0x51, 0x01, 0x0c,  0x90, 0xf0,  // 201  - en-mp
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x01, 0x4c, 0x01, 0x0c,  0xa0, 0xf0,  // 202  - en-ms
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xa3, 0x01, 0x0c,  0xb0, 0xf0,  // 203  - en-mt
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xa0, 0x01, 0x0c,  0xc0, 0xf0,  // 204  - en-mu
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x9c, 0x01, 0x0c,  0xd0, 0xf0,  // 205  - en-mw
+            0x00, 0x44, 0x09, 0x4e,  0x41, 0xb5, 0x27, 0x10,  0x00, 0x25, 0x00, 0x00,  0x00, 0xa7, 0x01, 0x0c,  0xe0, 0xce,  // 206  - en-my
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xfe, 0x01, 0x0c,  0xf0, 0xf0,  // 207  - en-na
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x01, 0x50, 0x01, 0x0d,  0x00, 0xf0,  // 208  - en-nf
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xaf, 0x01, 0x0d,  0x10, 0xf0,  // 209  - en-ng
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xb0, 0x01, 0x0d,  0x20, 0xf0,  // 210  - en-nl
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xb4, 0x01, 0x0d,  0x30, 0xf0,  // 211  - en-nr
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x01, 0x4f, 0x01, 0x0d,  0x40, 0xf0,  // 212  - en-nu
+            0x00, 0x14, 0x09, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xb7, 0x01, 0x0d,  0x50, 0xd5,  // 213  - en-nz
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xc2, 0x01, 0x0d,  0x60, 0xf0,  // 214  - en-pg
+            0x00, 0x34, 0x09, 0x4e,  0x41, 0xb5, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xc9, 0x01, 0x0d,  0x70, 0xd7,  // 215  - en-ph
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xbe, 0x01, 0x0d,  0x80, 0xf0,  // 216  - en-pk
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x01, 0x53, 0x01, 0x0d,  0x90, 0xf0,  // 217  - en-pn
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xca, 0x01, 0x0d,  0xa0, 0xf0,  // 218  - en-pr
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xc3, 0x01, 0x0d,  0xb0, 0xf0,  // 219  - en-pw
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xcc, 0x01, 0x0d,  0xc0, 0xf0,  // 220  - en-rw
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x1e, 0x01, 0x0d,  0xd0, 0xf0,  // 221  - en-sb
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xd0, 0x01, 0x0d,  0xe0, 0xf0,  // 222  - en-sc
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xdb, 0x01, 0x0d,  0xf0, 0xf0,  // 223  - en-sd
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xdd, 0x01, 0x0e,  0x00, 0xf0,  // 224  - en-se
+            0x00, 0x48, 0x09, 0x4e,  0x41, 0xb5, 0x27, 0x10,  0x00, 0x25, 0x00, 0x00,  0x00, 0xd7, 0x01, 0x0e,  0x10, 0xe1,  // 225  - en-sg
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x01, 0x57, 0x01, 0x0e,  0x20, 0xf0,  // 226  - en-sh
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xd4, 0x01, 0x0e,  0x30, 0xf0,  // 227  - en-si
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xd5, 0x01, 0x0e,  0x40, 0xf0,  // 228  - en-sl
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x01, 0x14, 0x01, 0x0e,  0x50, 0xf0,  // 229  - en-ss
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x78, 0xf7, 0x01, 0x0e,  0x60, 0xf0,  // 230  - en-sx
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x01, 0x04, 0x01, 0x0e,  0x70, 0xf0,  // 231  - en-sz
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x01, 0x5d, 0x01, 0x0e,  0x80, 0xf0,  // 232  - en-tc
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x01, 0x5b, 0x01, 0x0e,  0x90, 0xf0,  // 233  - en-tk
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xe7, 0x01, 0x0e,  0xa0, 0xf0,  // 234  - en-to
+            0x00, 0x2c, 0x09, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xe1, 0x01, 0x0e,  0xb0, 0xeb,  // 235  - en-tt
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xec, 0x01, 0x0e,  0xc0, 0xf0,  // 236  - en-tv
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xef, 0x01, 0x0e,  0xd0, 0xf0,  // 237  - en-tz
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xf0, 0x01, 0x0e,  0xe0, 0xf0,  // 238  - en-ug
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x09, 0xa5,  0x5d, 0x40, 0x01, 0x0e,  0xf0, 0xf0,  // 239  - en-um
+            0x00, 0x04, 0x09, 0x4e,  0x41, 0xb5, 0x27, 0x10,  0x00, 0x25, 0x00, 0x00,  0x00, 0xf4, 0x01, 0x0f,  0x00, 0xf0,  // 240  - en-us
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xf8, 0x01, 0x0f,  0x10, 0xf0,  // 241  - en-vc
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x01, 0x5f, 0x01, 0x0f,  0x20, 0xf0,  // 242  - en-vg
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xfc, 0x01, 0x0f,  0x30, 0xf0,  // 243  - en-vi
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xae, 0x01, 0x0f,  0x40, 0xf0,  // 244  - en-vu
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x01, 0x03, 0x01, 0x0f,  0x50, 0xf0,  // 245  - en-ws
+            0x00, 0x1c, 0x09, 0x4e,  0x41, 0xb5, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xd1, 0x01, 0x0f,  0x60, 0xf6,  // 246  - en-za
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x01, 0x07, 0x01, 0x0f,  0x70, 0xf0,  // 247  - en-zm
+            0x00, 0x30, 0x09, 0x4e,  0x41, 0xb5, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x01, 0x08, 0x01, 0x0f,  0x80, 0xf8,  // 248  - en-zw
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x98, 0x9e, 0x11, 0x0f,  0xa0, 0xf0,  // 249  - eo
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x98, 0x9e, 0x11, 0x0f,  0xa0, 0xf0,  // 250  - eo-001
+            0x00, 0x00, 0x0a, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x3c, 0x00, 0x00,  0x00, 0xd9, 0x11, 0x10,  0x61, 0x06,  // 251  - es
+            0x00, 0x58, 0x0a, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x3c, 0x09, 0xa5,  0x5d, 0x41, 0x11, 0x0f,  0xc0, 0xf0,  // 252  - es-419
+            0x00, 0x2c, 0x0a, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x3c, 0x00, 0x00,  0x00, 0x0b, 0x11, 0x0f,  0xd0, 0xfd,  // 253  - es-ar
+            0x00, 0x40, 0x0a, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x3c, 0x00, 0x00,  0x00, 0x1a, 0x11, 0x0f,  0xe0, 0xfe,  // 254  - es-bo
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x20, 0x11, 0x0f,  0xf0, 0xf0,  // 255  - es-br
+            0x00, 0x34, 0x0a, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x3c, 0x00, 0x00,  0x00, 0x2e, 0x11, 0x10,  0x01, 0x00,  // 256  - es-cl
+            0x00, 0x24, 0x0a, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x3c, 0x00, 0x00,  0x00, 0x33, 0x11, 0x10,  0x11, 0x01,  // 257  - es-co
+            0x00, 0x14, 0x0a, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x3c, 0x00, 0x00,  0x00, 0x36, 0x11, 0x10,  0x21, 0x02,  // 258  - es-cr
+            0x00, 0x5c, 0x0a, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x3c, 0x00, 0x00,  0x00, 0x38, 0x11, 0x10,  0x30, 0xf0,  // 259  - es-cu
+            0x00, 0x1c, 0x0a, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x3c, 0x00, 0x00,  0x00, 0x41, 0x11, 0x10,  0x41, 0x04,  // 260  - es-do
+            0x00, 0x30, 0x0a, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x3c, 0x00, 0x00,  0x00, 0x42, 0x11, 0x10,  0x51, 0x05,  // 261  - es-ec
+            0x00, 0x0c, 0x0a, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x3c, 0x00, 0x00,  0x00, 0xd9, 0x11, 0x10,  0x61, 0x06,  // 262  - es-es
+            0x00, 0x04, 0x0a, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x3c, 0x00, 0x00,  0x00, 0xd9, 0x11, 0x10,  0x71, 0x07,  // 263  - es-es_tradnl
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x3c, 0x00, 0x00,  0x00, 0x45, 0x11, 0x10,  0x80, 0xf0,  // 264  - es-gq
+            0x00, 0x10, 0x0a, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x3c, 0x00, 0x00,  0x00, 0x63, 0x11, 0x10,  0x91, 0x09,  // 265  - es-gt
+            0x00, 0x48, 0x0a, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x3c, 0x00, 0x00,  0x00, 0x6a, 0x11, 0x10,  0xa1, 0x0a,  // 266  - es-hn
+            0x00, 0x08, 0x0a, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x3c, 0x00, 0x00,  0x00, 0xa6, 0x01, 0x10,  0xb1, 0x0b,  // 267  - es-mx
+            0x00, 0x4c, 0x0a, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x3c, 0x00, 0x00,  0x00, 0xb6, 0x11, 0x10,  0xc1, 0x0c,  // 268  - es-ni
+            0x00, 0x18, 0x0a, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x3c, 0x00, 0x00,  0x00, 0xc0, 0x11, 0x10,  0xd1, 0x0d,  // 269  - es-pa
+            0x00, 0x28, 0x0a, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x3c, 0x00, 0x00,  0x00, 0xbb, 0x11, 0x10,  0xe1, 0x0e,  // 270  - es-pe
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x3c, 0x00, 0x00,  0x00, 0xc9, 0x11, 0x10,  0xf0, 0xf0,  // 271  - es-ph
+            0x00, 0x50, 0x0a, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x3c, 0x00, 0x00,  0x00, 0xca, 0x11, 0x11,  0x01, 0x10,  // 272  - es-pr
+            0x00, 0x3c, 0x0a, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x3c, 0x00, 0x00,  0x00, 0xb9, 0x11, 0x11,  0x11, 0x11,  // 273  - es-py
+            0x00, 0x44, 0x0a, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x3c, 0x00, 0x00,  0x00, 0x48, 0x11, 0x11,  0x21, 0x12,  // 274  - es-sv
+            0x00, 0x54, 0x0a, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x3c, 0x00, 0x00,  0x00, 0xf4, 0x01, 0x11,  0x31, 0x13,  // 275  - es-us
+            0x00, 0x38, 0x0a, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x3c, 0x00, 0x00,  0x00, 0xf6, 0x11, 0x11,  0x41, 0x14,  // 276  - es-uy
+            0x00, 0x20, 0x0a, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x3c, 0x00, 0x00,  0x00, 0xf9, 0x11, 0x11,  0x51, 0x15,  // 277  - es-ve
+            0x00, 0x00, 0x25, 0x4e,  0x93, 0x07, 0x27, 0x2d,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x46, 0x11, 0x11,  0x71, 0x17,  // 278  - et
+            0x00, 0x04, 0x25, 0x4e,  0x93, 0x07, 0x27, 0x2d,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x46, 0x11, 0x11,  0x71, 0x17,  // 279  - et-ee
+            0x00, 0x00, 0x2d, 0x4e,  0x43, 0x52, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xd9, 0x11, 0x11,  0x90, 0xf0,  // 280  - eu
+            0x00, 0x04, 0x2d, 0x4e,  0x43, 0x52, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xd9, 0x11, 0x11,  0x90, 0xf0,  // 281  - eu-es
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x31, 0x11, 0x11,  0xb0, 0xf0,  // 282  - ewo
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x31, 0x11, 0x11,  0xb0, 0xf0,  // 283  - ewo-cm
+            0x00, 0x00, 0x29, 0x4e,  0x82, 0xd0, 0x27, 0x14,  0x4f, 0xc4, 0x00, 0x00,  0x00, 0x74, 0x30, 0x11,  0xd0, 0x8f,  // 284  - fa
+            0x00, 0x04, 0x29, 0x4e,  0x82, 0xd0, 0x27, 0x14,  0x4f, 0xc4, 0x00, 0x00,  0x00, 0x74, 0x30, 0x11,  0xd0, 0x8f,  // 285  - fa-ir
+            0x00, 0x00, 0x67, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x00, 0xd2, 0x11, 0x12,  0x21, 0x22,  // 286  - ff
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x00, 0x31, 0x11, 0x11,  0xf0, 0xf0,  // 287  - ff-cm
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x00, 0x64, 0x11, 0x12,  0x00, 0xf0,  // 288  - ff-gn
+            0x00, 0x7c, 0x67, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x00, 0xd2, 0x11, 0x12,  0x21, 0x22,  // 289  - ff-latn
+            0x00, 0x08, 0x67, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x00, 0xd2, 0x11, 0x12,  0x21, 0x22,  // 290  - ff-latn-sn
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x00, 0xa2, 0x11, 0x12,  0x30, 0xf0,  // 291  - ff-mr
+            0x00, 0x04, 0x67, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x00, 0xaf, 0x11, 0x12,  0x40, 0xf0,  // 292  - ff-ng
+            0x00, 0x00, 0x0b, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x36, 0x00, 0x00,  0x00, 0x4d, 0x11, 0x12,  0x61, 0x26,  // 293  - fi
+            0x00, 0x04, 0x0b, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x36, 0x00, 0x00,  0x00, 0x4d, 0x11, 0x12,  0x61, 0x26,  // 294  - fi-fi
+            0x00, 0x00, 0x64, 0x4e,  0x41, 0xb5, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xc9, 0x11, 0x12,  0x81, 0x28,  // 295  - fil
+            0x00, 0x04, 0x64, 0x4e,  0x41, 0xb5, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xc9, 0x11, 0x12,  0x81, 0x28,  // 296  - fil-ph
+            0x00, 0x00, 0x38, 0x4e,  0x43, 0x52, 0x27, 0x5f,  0x4f, 0x35, 0x00, 0x00,  0x00, 0x51, 0x11, 0x12,  0xb1, 0x2b,  // 297  - fo
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x3d, 0x11, 0x12,  0xa0, 0xf0,  // 298  - fo-dk
+            0x00, 0x04, 0x38, 0x4e,  0x43, 0x52, 0x27, 0x5f,  0x4f, 0x35, 0x00, 0x00,  0x00, 0x51, 0x11, 0x12,  0xb1, 0x2b,  // 299  - fo-fo
+            0x00, 0x00, 0x0c, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x00, 0x54, 0x11, 0x13,  0xc1, 0x3c,  // 300  - fr
+            0x00, 0x1c, 0x0c, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x99,  0x32, 0x48, 0x11, 0x12,  0xd1, 0x3c,  // 301  - fr-029
+            0x00, 0x08, 0x0c, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x00, 0x15, 0x11, 0x12,  0xe1, 0x2e,  // 302  - fr-be
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x00, 0xf5, 0x11, 0x12,  0xf0, 0xf0,  // 303  - fr-bf
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x00, 0x26, 0x11, 0x13,  0x00, 0xf0,  // 304  - fr-bi
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x00, 0x1c, 0x11, 0x13,  0x10, 0xf0,  // 305  - fr-bj
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x09, 0xa5,  0x5c, 0x4f, 0x11, 0x13,  0x20, 0xf0,  // 306  - fr-bl
+            0x00, 0x0c, 0x0c, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x00, 0x27, 0x11, 0x13,  0x31, 0x33,  // 307  - fr-ca
+            0x00, 0x24, 0x0c, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x00, 0x2c, 0x11, 0x13,  0x40, 0xf0,  // 308  - fr-cd
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x00, 0x37, 0x11, 0x13,  0x50, 0xf0,  // 309  - fr-cf
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x00, 0x2b, 0x11, 0x13,  0x60, 0xf0,  // 310  - fr-cg
+            0x00, 0x10, 0x0c, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x00, 0xdf, 0x11, 0x13,  0x71, 0x37,  // 311  - fr-ch
+            0x00, 0x30, 0x0c, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x00, 0x77, 0x11, 0x13,  0x80, 0xf0,  // 312  - fr-ci
+            0x00, 0x2c, 0x0c, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x00, 0x31, 0x11, 0x13,  0x90, 0xf0,  // 313  - fr-cm
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x00, 0x3e, 0x11, 0x13,  0xa0, 0xf0,  // 314  - fr-dj
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x00, 0x04, 0x11, 0x13,  0xb0, 0xf0,  // 315  - fr-dz
+            0x00, 0x04, 0x0c, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x00, 0x54, 0x11, 0x13,  0xc1, 0x3c,  // 316  - fr-fr
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x00, 0x57, 0x11, 0x13,  0xd0, 0xf0,  // 317  - fr-ga
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x01, 0x3d, 0x11, 0x13,  0xe0, 0xf0,  // 318  - fr-gf
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x00, 0x64, 0x11, 0x13,  0xf0, 0xf0,  // 319  - fr-gn
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x01, 0x41, 0x11, 0x14,  0x00, 0xf0,  // 320  - fr-gp
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x00, 0x45, 0x11, 0x14,  0x10, 0xf0,  // 321  - fr-gq
+            0x00, 0x3c, 0x0c, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x00, 0x67, 0x11, 0x14,  0x20, 0xf0,  // 322  - fr-ht
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x00, 0x32, 0x11, 0x14,  0x30, 0xf0,  // 323  - fr-km
+            0x00, 0x14, 0x0c, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x00, 0x93, 0x11, 0x14,  0x41, 0x44,  // 324  - fr-lu
+            0x00, 0x38, 0x0c, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x00, 0x9f, 0x11, 0x14,  0x50, 0xf0,  // 325  - fr-ma
+            0x00, 0x18, 0x0c, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x00, 0x9e, 0x11, 0x14,  0x61, 0x46,  // 326  - fr-mc
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x7b, 0xda, 0x11, 0x14,  0x70, 0xf0,  // 327  - fr-mf
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x00, 0x95, 0x11, 0x14,  0x80, 0xf0,  // 328  - fr-mg
+            0x00, 0x34, 0x0c, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x00, 0x9d, 0x11, 0x14,  0x90, 0xf0,  // 329  - fr-ml
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x01, 0x4a, 0x11, 0x14,  0xa0, 0xf0,  // 330  - fr-mq
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x00, 0xa2, 0x11, 0x14,  0xb0, 0xf0,  // 331  - fr-mr
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x00, 0xa0, 0x11, 0x14,  0xc0, 0xf0,  // 332  - fr-mu
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x01, 0x4e, 0x11, 0x14,  0xd0, 0xf0,  // 333  - fr-nc
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x00, 0xad, 0x11, 0x14,  0xe0, 0xf0,  // 334  - fr-ne
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x01, 0x3e, 0x11, 0x14,  0xf0, 0xf0,  // 335  - fr-pf
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x00, 0xce, 0x11, 0x15,  0x00, 0xf0,  // 336  - fr-pm
+            0x00, 0x20, 0x0c, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x00, 0xc6, 0x11, 0x15,  0x10, 0xf0,  // 337  - fr-re
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x00, 0xcc, 0x11, 0x15,  0x20, 0xf0,  // 338  - fr-rw
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x00, 0xd0, 0x11, 0x15,  0x30, 0xf0,  // 339  - fr-sc
+            0x00, 0x28, 0x0c, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x00, 0xd2, 0x11, 0x15,  0x40, 0xf0,  // 340  - fr-sn
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x00, 0xde, 0x11, 0x15,  0x50, 0xf0,  // 341  - fr-sy
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x00, 0x29, 0x11, 0x15,  0x60, 0xf0,  // 342  - fr-td
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x00, 0xe8, 0x11, 0x15,  0x70, 0xf0,  // 343  - fr-tg
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x00, 0xea, 0x11, 0x15,  0x80, 0xf0,  // 344  - fr-tn
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x00, 0xae, 0x11, 0x15,  0x90, 0xf0,  // 345  - fr-vu
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x01, 0x60, 0x11, 0x15,  0xa0, 0xf0,  // 346  - fr-wf
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x01, 0x4b, 0x11, 0x15,  0xb0, 0xf0,  // 347  - fr-yt
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x76, 0x11, 0x15,  0xd0, 0xf0,  // 348  - fur
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x76, 0x11, 0x15,  0xd0, 0xf0,  // 349  - fur-it
+            0x00, 0x00, 0x62, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xb0, 0x11, 0x15,  0xf1, 0x5f,  // 350  - fy
+            0x00, 0x04, 0x62, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xb0, 0x11, 0x15,  0xf1, 0x5f,  // 351  - fy-nl
+            0x00, 0x00, 0x3c, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x44, 0x11, 0x16,  0x11, 0x61,  // 352  - ga
+            0x00, 0x08, 0x3c, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x44, 0x11, 0x16,  0x11, 0x61,  // 353  - ga-ie
+            0x00, 0x00, 0x91, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x3d, 0x00, 0x00,  0x00, 0xf2, 0x11, 0x16,  0x31, 0x63,  // 354  - gd
+            0x00, 0x04, 0x91, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x3d, 0x00, 0x00,  0x00, 0xf2, 0x11, 0x16,  0x31, 0x63,  // 355  - gd-gb
+            0x00, 0x00, 0x56, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xd9, 0x11, 0x16,  0x51, 0x65,  // 356  - gl
+            0x00, 0x04, 0x56, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xd9, 0x11, 0x16,  0x51, 0x65,  // 357  - gl-es
+            0x00, 0x00, 0x74, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x3c, 0x00, 0x00,  0x00, 0xb9, 0x01, 0x16,  0x71, 0x67,  // 358  - gn
+            0x00, 0x04, 0x74, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x3c, 0x00, 0x00,  0x00, 0xb9, 0x01, 0x16,  0x71, 0x67,  // 359  - gn-py
+            0x00, 0x00, 0x84, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x00, 0xdf, 0x11, 0x16,  0x90, 0xf0,  // 360  - gsw
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x00, 0xdf, 0x11, 0x16,  0x90, 0xf0,  // 361  - gsw-ch
+            0x00, 0x04, 0x84, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x00, 0x54, 0x11, 0x16,  0xa1, 0x6a,  // 362  - gsw-fr
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x00, 0x91, 0x11, 0x16,  0xb0, 0xf0,  // 363  - gsw-li
+            0x00, 0x00, 0x47, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x71, 0x01, 0x16,  0xd0, 0x8f,  // 364  - gu
+            0x00, 0x04, 0x47, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x71, 0x01, 0x16,  0xd0, 0x8f,  // 365  - gu-in
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x81, 0x11, 0x16,  0xf0, 0xf0,  // 366  - guz
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x81, 0x11, 0x16,  0xf0, 0xf0,  // 367  - guz-ke
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x3b, 0x16, 0x11, 0x17,  0x10, 0xf0,  // 368  - gv
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x3b, 0x16, 0x11, 0x17,  0x10, 0xf0,  // 369  - gv-im
+            0x00, 0x00, 0x68, 0x4e,  0x41, 0xb5, 0x27, 0x10,  0x00, 0x25, 0x00, 0x00,  0x00, 0xaf, 0x11, 0x17,  0x61, 0x76,  // 370  - ha
+            0x00, 0x7c, 0x68, 0x4e,  0x41, 0xb5, 0x27, 0x10,  0x00, 0x25, 0x00, 0x00,  0x00, 0xaf, 0x11, 0x17,  0x61, 0x76,  // 371  - ha-latn
+            0x00, 0x10, 0x00, 0x4e,  0x41, 0xb5, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x59, 0x11, 0x17,  0x40, 0xf0,  // 372  - ha-latn-gh
+            0x00, 0x10, 0x00, 0x4e,  0x41, 0xb5, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xad, 0x11, 0x17,  0x50, 0xf0,  // 373  - ha-latn-ne
+            0x00, 0x04, 0x68, 0x4e,  0x41, 0xb5, 0x27, 0x10,  0x00, 0x25, 0x00, 0x00,  0x00, 0xaf, 0x11, 0x17,  0x61, 0x76,  // 374  - ha-latn-ng
+            0x00, 0x00, 0x75, 0x4e,  0x41, 0xb5, 0x27, 0x10,  0x00, 0x25, 0x00, 0x00,  0x00, 0xf4, 0x11, 0x17,  0x81, 0x78,  // 375  - haw
+            0x00, 0x04, 0x75, 0x4e,  0x41, 0xb5, 0x27, 0x10,  0x00, 0x25, 0x00, 0x00,  0x00, 0xf4, 0x11, 0x17,  0x81, 0x78,  // 376  - haw-us
+            0x00, 0x00, 0x0d, 0x4e,  0x73, 0x5e, 0x27, 0x15,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x75, 0x01, 0x17,  0xa0, 0x8f,  // 377  - he
+            0x00, 0x04, 0x0d, 0x4e,  0x73, 0x5e, 0x27, 0x15,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x75, 0x01, 0x17,  0xa0, 0x8f,  // 378  - he-il
+            0x00, 0x00, 0x39, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x71, 0x01, 0x17,  0xc0, 0x8f,  // 379  - hi
+            0x00, 0x04, 0x39, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x71, 0x01, 0x17,  0xc0, 0x8f,  // 380  - hi-in
+            0x00, 0x00, 0x1a, 0x4e,  0x23, 0x54, 0x27, 0x62,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x6c, 0x11, 0x17,  0xf1, 0x7f,  // 381  - hr
+            0x00, 0x10, 0x1a, 0x4e,  0x23, 0x54, 0x27, 0x62,  0x03, 0x66, 0x00, 0x00,  0x00, 0x19, 0x11, 0x17,  0xe1, 0x7e,  // 382  - hr-ba
+            0x00, 0x04, 0x1a, 0x4e,  0x23, 0x54, 0x27, 0x62,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x6c, 0x11, 0x17,  0xf1, 0x7f,  // 383  - hr-hr
+            0x00, 0x00, 0x2e, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x03, 0x66, 0x00, 0x00,  0x00, 0x5e, 0x11, 0x18,  0x11, 0x81,  // 384  - hsb
+            0x00, 0x04, 0x2e, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x03, 0x66, 0x00, 0x00,  0x00, 0x5e, 0x11, 0x18,  0x11, 0x81,  // 385  - hsb-de
+            0x00, 0x00, 0x0e, 0x4e,  0x23, 0x54, 0x27, 0x2d,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x6d, 0x11, 0x18,  0x31, 0x83,  // 386  - hu
+            0x00, 0x04, 0x0e, 0x4e,  0x23, 0x54, 0x27, 0x2d,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x6d, 0x11, 0x18,  0x31, 0x83,  // 387  - hu-hu
+            0x01, 0x04, 0x0e, 0x4e,  0x23, 0x54, 0x27, 0x2d,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x6d, 0x11, 0x18,  0x31, 0x83,  // 388  - hu-hu_technl
+            0x00, 0x00, 0x2b, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x07, 0x01, 0x18,  0x61, 0x86,  // 389  - hy
+            0x00, 0x04, 0x2b, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x07, 0x01, 0x18,  0x61, 0x86,  // 390  - hy-am
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x54, 0x11, 0x18,  0x90, 0xf0,  // 391  - ia
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x98, 0x9e, 0x11, 0x18,  0x80, 0xf0,  // 392  - ia-001
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x54, 0x11, 0x18,  0x90, 0xf0,  // 393  - ia-fr
+            0x00, 0x00, 0x69, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xaf, 0x11, 0x18,  0xb0, 0xf0,  // 394  - ibb
+            0x00, 0x04, 0x69, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xaf, 0x11, 0x18,  0xb0, 0xf0,  // 395  - ibb-ng
+            0x00, 0x00, 0x21, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x6f, 0x11, 0x18,  0xd1, 0x8d,  // 396  - id
+            0x00, 0x04, 0x21, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x6f, 0x11, 0x18,  0xd1, 0x8d,  // 397  - id-id
+            0x00, 0x00, 0x70, 0x4e,  0x41, 0xb5, 0x27, 0x10,  0x00, 0x25, 0x00, 0x00,  0x00, 0xaf, 0x11, 0x18,  0xf1, 0x8f,  // 398  - ig
+            0x00, 0x04, 0x70, 0x4e,  0x41, 0xb5, 0x27, 0x10,  0x00, 0x25, 0x00, 0x00,  0x00, 0xaf, 0x11, 0x18,  0xf1, 0x8f,  // 399  - ig-ng
+            0x00, 0x00, 0x78, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x2d, 0x11, 0x19,  0x10, 0x8f,  // 400  - ii
+            0x00, 0x04, 0x78, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x2d, 0x11, 0x19,  0x10, 0x8f,  // 401  - ii-cn
+            0x00, 0x00, 0x0f, 0x4e,  0x43, 0x52, 0x27, 0x5f,  0x51, 0x87, 0x00, 0x00,  0x00, 0x6e, 0x11, 0x19,  0x31, 0x93,  // 402  - is
+            0x00, 0x04, 0x0f, 0x4e,  0x43, 0x52, 0x27, 0x5f,  0x51, 0x87, 0x00, 0x00,  0x00, 0x6e, 0x11, 0x19,  0x31, 0x93,  // 403  - is-is
+            0x00, 0x00, 0x10, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x38, 0x00, 0x00,  0x00, 0x76, 0x11, 0x19,  0x61, 0x96,  // 404  - it
+            0x00, 0x08, 0x10, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xdf, 0x11, 0x19,  0x51, 0x95,  // 405  - it-ch
+            0x00, 0x04, 0x10, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x38, 0x00, 0x00,  0x00, 0x76, 0x11, 0x19,  0x61, 0x96,  // 406  - it-it
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x38, 0x00, 0x00,  0x00, 0xd6, 0x11, 0x19,  0x70, 0xf0,  // 407  - it-sm
+            0x00, 0x00, 0x5d, 0x4e,  0x41, 0xb5, 0x27, 0x10,  0x00, 0x25, 0x00, 0x00,  0x00, 0x27, 0x01, 0x19,  0xc1, 0x9c,  // 408  - iu
+            0x00, 0x78, 0x5d, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x27, 0x01, 0x19,  0xa0, 0x8f,  // 409  - iu-cans
+            0x00, 0x04, 0x5d, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x27, 0x01, 0x19,  0xa0, 0x8f,  // 410  - iu-cans-ca
+            0x00, 0x7c, 0x5d, 0x4e,  0x41, 0xb5, 0x27, 0x10,  0x00, 0x25, 0x00, 0x00,  0x00, 0x27, 0x01, 0x19,  0xc1, 0x9c,  // 411  - iu-latn
+            0x00, 0x08, 0x5d, 0x4e,  0x41, 0xb5, 0x27, 0x10,  0x00, 0x25, 0x00, 0x00,  0x00, 0x27, 0x01, 0x19,  0xc1, 0x9c,  // 412  - iu-latn-ca
+            0x00, 0x00, 0x11, 0x3a,  0x43, 0xa4, 0x27, 0x11,  0x4f, 0x42, 0x00, 0x00,  0x00, 0x7a, 0x01, 0x19,  0xe1, 0x9e,  // 413  - ja
+            0x00, 0x04, 0x11, 0x3a,  0x43, 0xa4, 0x27, 0x11,  0x4f, 0x42, 0x00, 0x00,  0x00, 0x7a, 0x01, 0x19,  0xe1, 0x9e,  // 414  - ja-jp
+            0x04, 0x04, 0x11, 0x3a,  0x43, 0xa4, 0x27, 0x11,  0x4f, 0x42, 0x00, 0x00,  0x00, 0x7a, 0x01, 0x19,  0xe1, 0x9e,  // 415  - ja-jp_radstr
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x31, 0x11, 0x1a,  0x10, 0xf0,  // 416  - jgo
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x31, 0x11, 0x1a,  0x10, 0xf0,  // 417  - jgo-cm
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xef, 0x11, 0x1a,  0x30, 0xf0,  // 418  - jmc
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xef, 0x11, 0x1a,  0x30, 0xf0,  // 419  - jmc-tz
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x6f, 0x11, 0x1a,  0x81, 0xa8,  // 420  - jv
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x6f, 0x11, 0x1a,  0x61, 0xa8,  // 421  - jv-java
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x6f, 0x11, 0x1a,  0x61, 0xa8,  // 422  - jv-java-id
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x6f, 0x11, 0x1a,  0x81, 0xa8,  // 423  - jv-latn
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x6f, 0x11, 0x1a,  0x81, 0xa8,  // 424  - jv-latn-id
+            0x00, 0x00, 0x37, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x58, 0x11, 0x1a,  0xa1, 0xaa,  // 425  - ka
+            0x00, 0x04, 0x37, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x58, 0x11, 0x1a,  0xa1, 0xaa,  // 426  - ka-ge
+            0x01, 0x04, 0x37, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x58, 0x11, 0x1a,  0xa1, 0xaa,  // 427  - ka-ge_modern
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x04, 0x11, 0x1a,  0xd0, 0xf0,  // 428  - kab
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x04, 0x11, 0x1a,  0xd0, 0xf0,  // 429  - kab-dz
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x81, 0x11, 0x1a,  0xf0, 0xf0,  // 430  - kam
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x81, 0x11, 0x1a,  0xf0, 0xf0,  // 431  - kam-ke
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xef, 0x11, 0x1b,  0x10, 0xf0,  // 432  - kde
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xef, 0x11, 0x1b,  0x10, 0xf0,  // 433  - kde-tz
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x39, 0x11, 0x1b,  0x30, 0xf0,  // 434  - kea
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x39, 0x11, 0x1b,  0x30, 0xf0,  // 435  - kea-cv
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x9d, 0x11, 0x1b,  0x50, 0xf0,  // 436  - khq
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x9d, 0x11, 0x1b,  0x50, 0xf0,  // 437  - khq-ml
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x81, 0x11, 0x1b,  0x70, 0xf0,  // 438  - ki
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x81, 0x11, 0x1b,  0x70, 0xf0,  // 439  - ki-ke
+            0x00, 0x00, 0x3f, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x89, 0x11, 0x1b,  0x91, 0xb9,  // 440  - kk
+            0x00, 0x04, 0x3f, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x89, 0x11, 0x1b,  0x91, 0xb9,  // 441  - kk-kz
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x31, 0x11, 0x1b,  0xb0, 0xf0,  // 442  - kkj
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x31, 0x11, 0x1b,  0xb0, 0xf0,  // 443  - kkj-cm
+            0x00, 0x00, 0x6f, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x35, 0x00, 0x00,  0x00, 0x5d, 0x11, 0x1b,  0xd1, 0xbd,  // 444  - kl
+            0x00, 0x04, 0x6f, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x35, 0x00, 0x00,  0x00, 0x5d, 0x11, 0x1b,  0xd1, 0xbd,  // 445  - kl-gl
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x81, 0x11, 0x1b,  0xf0, 0xf0,  // 446  - kln
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x81, 0x11, 0x1b,  0xf0, 0xf0,  // 447  - kln-ke
+            0x00, 0x00, 0x53, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x28, 0x02, 0x1c,  0x10, 0x8f,  // 448  - km
+            0x00, 0x04, 0x53, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x28, 0x02, 0x1c,  0x10, 0x8f,  // 449  - km-kh
+            0x00, 0x00, 0x4b, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x71, 0x01, 0x1c,  0x30, 0x8f,  // 450  - kn
+            0x00, 0x04, 0x4b, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x71, 0x01, 0x1c,  0x30, 0x8f,  // 451  - kn-in
+            0x00, 0x00, 0x12, 0x3b,  0x53, 0xb5, 0x27, 0x13,  0x51, 0x61, 0x00, 0x00,  0x00, 0x86, 0x01, 0x1c,  0x61, 0xc6,  // 452  - ko
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x83, 0x11, 0x1c,  0x50, 0xf0,  // 453  - ko-kp
+            0x00, 0x04, 0x12, 0x3b,  0x53, 0xb5, 0x27, 0x13,  0x51, 0x61, 0x00, 0x00,  0x00, 0x86, 0x01, 0x1c,  0x61, 0xc6,  // 454  - ko-kr
+            0x00, 0x00, 0x57, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x71, 0x01, 0x1c,  0x80, 0x8f,  // 455  - kok
+            0x00, 0x04, 0x57, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x71, 0x01, 0x1c,  0x80, 0x8f,  // 456  - kok-in
+            0x00, 0x00, 0x71, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xaf, 0x11, 0x1c,  0xa0, 0xf0,  // 457  - kr
+            0x00, 0x04, 0x71, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xaf, 0x11, 0x1c,  0xa0, 0xf0,  // 458  - kr-ng
+            0x00, 0x00, 0x60, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x71, 0x12, 0x1c,  0xd0, 0xf0,  // 459  - ks
+            0x00, 0x04, 0x60, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x71, 0x12, 0x1c,  0xd0, 0xf0,  // 460  - ks-arab
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x71, 0x12, 0x1c,  0xd0, 0xf0,  // 461  - ks-arab-in
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x71, 0x01, 0x1c,  0xf0, 0xbb,  // 462  - ks-deva
+            0x00, 0x08, 0x60, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x71, 0x01, 0x1c,  0xf0, 0xbb,  // 463  - ks-deva-in
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xef, 0x11, 0x1d,  0x10, 0xf0,  // 464  - ksb
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xef, 0x11, 0x1d,  0x10, 0xf0,  // 465  - ksb-tz
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x31, 0x11, 0x1d,  0x30, 0xf0,  // 466  - ksf
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x31, 0x11, 0x1d,  0x30, 0xf0,  // 467  - ksf-cm
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x5e, 0x11, 0x1d,  0x50, 0xf0,  // 468  - ksh
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x5e, 0x11, 0x1d,  0x50, 0xf0,  // 469  - ksh-de
+            0x00, 0x00, 0x92, 0x4e,  0x82, 0xd0, 0x27, 0x14,  0x4f, 0xc4, 0x00, 0x00,  0x00, 0x79, 0x30, 0x1d,  0x80, 0x8f,  // 470  - ku
+            0x00, 0x7c, 0x92, 0x4e,  0x82, 0xd0, 0x27, 0x14,  0x4f, 0xc4, 0x00, 0x00,  0x00, 0x79, 0x30, 0x1d,  0x80, 0x8f,  // 471  - ku-arab
+            0x00, 0x04, 0x92, 0x4e,  0x82, 0xd0, 0x27, 0x14,  0x4f, 0xc4, 0x00, 0x00,  0x00, 0x79, 0x30, 0x1d,  0x80, 0x8f,  // 472  - ku-arab-iq
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x74, 0x10, 0x1d,  0x90, 0xf0,  // 473  - ku-arab-ir
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xf2, 0x11, 0x1d,  0xb0, 0xf0,  // 474  - kw
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xf2, 0x11, 0x1d,  0xb0, 0xf0,  // 475  - kw-gb
+            0x00, 0x00, 0x40, 0x4e,  0x33, 0x62, 0x27, 0x17,  0x51, 0x90, 0x00, 0x00,  0x00, 0x82, 0x11, 0x1d,  0xd1, 0xdd,  // 476  - ky
+            0x00, 0x04, 0x40, 0x4e,  0x33, 0x62, 0x27, 0x17,  0x51, 0x90, 0x00, 0x00,  0x00, 0x82, 0x11, 0x1d,  0xd1, 0xdd,  // 477  - ky-kg
+            0x00, 0x00, 0x76, 0x4e,  0x41, 0xb5, 0x27, 0x10,  0x00, 0x25, 0x00, 0x00,  0x98, 0x9e, 0x01, 0x1d,  0xf0, 0x8f,  // 478  - la
+            0x00, 0x04, 0x76, 0x4e,  0x41, 0xb5, 0x27, 0x10,  0x00, 0x25, 0x00, 0x00,  0x98, 0x9e, 0x01, 0x1d,  0xf0, 0x8f,  // 479  - la-001
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xef, 0x11, 0x1e,  0x10, 0xf0,  // 480  - lag
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xef, 0x11, 0x1e,  0x10, 0xf0,  // 481  - lag-tz
+            0x00, 0x00, 0x6e, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x00, 0x93, 0x11, 0x1e,  0x31, 0xe3,  // 482  - lb
+            0x00, 0x04, 0x6e, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x00, 0x93, 0x11, 0x1e,  0x31, 0xe3,  // 483  - lb-lu
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xf0, 0x11, 0x1e,  0x50, 0xf0,  // 484  - lg
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xf0, 0x11, 0x1e,  0x50, 0xf0,  // 485  - lg-ug
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xf4, 0x11, 0x1e,  0x70, 0xf0,  // 486  - lkt
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xf4, 0x11, 0x1e,  0x70, 0xf0,  // 487  - lkt-us
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x2c, 0x11, 0x1e,  0xa0, 0xf0,  // 488  - ln
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x09, 0x11, 0x1e,  0x90, 0xf0,  // 489  - ln-ao
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x2c, 0x11, 0x1e,  0xa0, 0xf0,  // 490  - ln-cd
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x37, 0x11, 0x1e,  0xb0, 0xf0,  // 491  - ln-cf
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x2b, 0x11, 0x1e,  0xc0, 0xf0,  // 492  - ln-cg
+            0x00, 0x00, 0x54, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x8a, 0x11, 0x1e,  0xe0, 0x8f,  // 493  - lo
+            0x00, 0x04, 0x54, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x8a, 0x11, 0x1e,  0xe0, 0x8f,  // 494  - lo-la
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x74, 0x12, 0x1f,  0x10, 0xf0,  // 495  - lrc
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x79, 0x12, 0x1f,  0x00, 0xf0,  // 496  - lrc-iq
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x74, 0x12, 0x1f,  0x10, 0xf0,  // 497  - lrc-ir
+            0x00, 0x00, 0x27, 0x4e,  0x93, 0x07, 0x27, 0x2d,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x8d, 0x11, 0x1f,  0x31, 0xf3,  // 498  - lt
+            0x00, 0x04, 0x27, 0x4e,  0x93, 0x07, 0x27, 0x2d,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x8d, 0x11, 0x1f,  0x31, 0xf3,  // 499  - lt-lt
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x2c, 0x11, 0x1f,  0x50, 0xf0,  // 500  - lu
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x2c, 0x11, 0x1f,  0x50, 0xf0,  // 501  - lu-cd
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x81, 0x11, 0x1f,  0x70, 0xf0,  // 502  - luo
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x81, 0x11, 0x1f,  0x70, 0xf0,  // 503  - luo-ke
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x81, 0x11, 0x1f,  0x90, 0xf0,  // 504  - luy
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x81, 0x11, 0x1f,  0x90, 0xf0,  // 505  - luy-ke
+            0x00, 0x00, 0x26, 0x4e,  0x93, 0x07, 0x27, 0x2d,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x8c, 0x11, 0x1f,  0xb1, 0xfb,  // 506  - lv
+            0x00, 0x04, 0x26, 0x4e,  0x93, 0x07, 0x27, 0x2d,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x8c, 0x11, 0x1f,  0xb1, 0xfb,  // 507  - lv-lv
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x81, 0x11, 0x1f,  0xd0, 0xf0,  // 508  - mas
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x81, 0x11, 0x1f,  0xd0, 0xf0,  // 509  - mas-ke
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xef, 0x11, 0x1f,  0xe0, 0xf0,  // 510  - mas-tz
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x81, 0x11, 0x20,  0x00, 0xf0,  // 511  - mer
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x81, 0x11, 0x20,  0x00, 0xf0,  // 512  - mer-ke
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xa0, 0x11, 0x20,  0x20, 0xf0,  // 513  - mfe
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xa0, 0x11, 0x20,  0x20, 0xf0,  // 514  - mfe-mu
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x95, 0x11, 0x20,  0x40, 0xf0,  // 515  - mg
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x95, 0x11, 0x20,  0x40, 0xf0,  // 516  - mg-mg
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xa8, 0x11, 0x20,  0x60, 0xf0,  // 517  - mgh
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xa8, 0x11, 0x20,  0x60, 0xf0,  // 518  - mgh-mz
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x31, 0x11, 0x20,  0x80, 0xf0,  // 519  - mgo
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x31, 0x11, 0x20,  0x80, 0xf0,  // 520  - mgo-cm
+            0x00, 0x00, 0x81, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xb7, 0x01, 0x20,  0xa2, 0x0a,  // 521  - mi
+            0x00, 0x04, 0x81, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xb7, 0x01, 0x20,  0xa2, 0x0a,  // 522  - mi-nz
+            0x00, 0x00, 0x2f, 0x4e,  0x33, 0x62, 0x27, 0x17,  0x01, 0xf4, 0x00, 0x00,  0x4c, 0xa2, 0x11, 0x20,  0xc2, 0x0c,  // 523  - mk
+            0x00, 0x04, 0x2f, 0x4e,  0x33, 0x62, 0x27, 0x17,  0x01, 0xf4, 0x00, 0x00,  0x4c, 0xa2, 0x11, 0x20,  0xc2, 0x0c,  // 524  - mk-mk
+            0x00, 0x00, 0x4c, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x71, 0x11, 0x20,  0xe0, 0x8f,  // 525  - ml
+            0x00, 0x04, 0x4c, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x71, 0x11, 0x20,  0xe0, 0x8f,  // 526  - ml-in
+            0x00, 0x00, 0x50, 0x4e,  0x33, 0x62, 0x27, 0x17,  0x51, 0x90, 0x00, 0x00,  0x00, 0x9a, 0x11, 0x21,  0x12, 0x11,  // 527  - mn
+            0x00, 0x78, 0x50, 0x4e,  0x33, 0x62, 0x27, 0x17,  0x51, 0x90, 0x00, 0x00,  0x00, 0x9a, 0x11, 0x21,  0x12, 0x11,  // 528  - mn-cyrl
+            0x00, 0x04, 0x50, 0x4e,  0x33, 0x62, 0x27, 0x17,  0x51, 0x90, 0x00, 0x00,  0x00, 0x9a, 0x11, 0x21,  0x12, 0x11,  // 529  - mn-mn
+            0x00, 0x7c, 0x50, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x2d, 0x01, 0x21,  0x32, 0x13,  // 530  - mn-mong
+            0x00, 0x08, 0x50, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x2d, 0x01, 0x21,  0x32, 0x13,  // 531  - mn-mong-cn
+            0x00, 0x0c, 0x50, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x9a, 0x01, 0x21,  0x42, 0x14,  // 532  - mn-mong-mn
+            0x00, 0x00, 0x58, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x71, 0x01, 0x21,  0x60, 0xbb,  // 533  - mni
+            0x00, 0x04, 0x58, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x71, 0x01, 0x21,  0x60, 0xbb,  // 534  - mni-in
+            0x00, 0x00, 0x7c, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x00, 0x25, 0x00, 0x00,  0x00, 0x27, 0x01, 0x21,  0x80, 0xf0,  // 535  - moh
+            0x00, 0x04, 0x7c, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x00, 0x25, 0x00, 0x00,  0x00, 0x27, 0x01, 0x21,  0x80, 0xf0,  // 536  - moh-ca
+            0x00, 0x00, 0x4e, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x71, 0x01, 0x21,  0xa0, 0x8f,  // 537  - mr
+            0x00, 0x04, 0x4e, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x71, 0x01, 0x21,  0xa0, 0x8f,  // 538  - mr-in
+            0x00, 0x00, 0x3e, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xa7, 0x11, 0x21,  0xd2, 0x1d,  // 539  - ms
+            0x00, 0x08, 0x3e, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x25, 0x11, 0x21,  0xc2, 0x1c,  // 540  - ms-bn
+            0x00, 0x04, 0x3e, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xa7, 0x11, 0x21,  0xd2, 0x1d,  // 541  - ms-my
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xd7, 0x11, 0x21,  0xe0, 0xf0,  // 542  - ms-sg
+            0x00, 0x00, 0x3a, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xa3, 0x11, 0x22,  0x02, 0x20,  // 543  - mt
+            0x00, 0x04, 0x3a, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xa3, 0x11, 0x22,  0x02, 0x20,  // 544  - mt-mt
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x31, 0x11, 0x22,  0x20, 0xf0,  // 545  - mua
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x31, 0x11, 0x22,  0x20, 0xf0,  // 546  - mua-cm
+            0x00, 0x00, 0x55, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x1b, 0x12, 0x22,  0x40, 0xf0,  // 547  - my
+            0x00, 0x04, 0x55, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x1b, 0x12, 0x22,  0x40, 0xf0,  // 548  - my-mm
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x74, 0x12, 0x22,  0x60, 0xf0,  // 549  - mzn
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x74, 0x12, 0x22,  0x60, 0xf0,  // 550  - mzn-ir
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xfe, 0x11, 0x22,  0x80, 0xf0,  // 551  - naq
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xfe, 0x11, 0x22,  0x80, 0xf0,  // 552  - naq-na
+            0x00, 0x7c, 0x14, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x35, 0x00, 0x00,  0x00, 0xb1, 0x11, 0x22,  0xa2, 0x2a,  // 553  - nb
+            0x00, 0x04, 0x14, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x35, 0x00, 0x00,  0x00, 0xb1, 0x11, 0x22,  0xa2, 0x2a,  // 554  - nb-no
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x35, 0x00, 0x00,  0x00, 0xdc, 0x11, 0x22,  0xb0, 0xf0,  // 555  - nb-sj
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x01, 0x08, 0x11, 0x22,  0xd0, 0xf0,  // 556  - nd
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x01, 0x08, 0x11, 0x22,  0xd0, 0xf0,  // 557  - nd-zw
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x5e, 0x11, 0x22,  0xf0, 0xf0,  // 558  - nds
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x5e, 0x11, 0x22,  0xf0, 0xf0,  // 559  - nds-de
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xb0, 0x11, 0x23,  0x00, 0xf0,  // 560  - nds-nl
+            0x00, 0x00, 0x61, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xb2, 0x01, 0x23,  0x30, 0x8f,  // 561  - ne
+            0x00, 0x08, 0x61, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x71, 0x12, 0x23,  0x20, 0xf0,  // 562  - ne-in
+            0x00, 0x04, 0x61, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xb2, 0x01, 0x23,  0x30, 0x8f,  // 563  - ne-np
+            0x00, 0x00, 0x13, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xb0, 0x11, 0x23,  0x92, 0x39,  // 564  - nl
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x01, 0x2e, 0x11, 0x23,  0x50, 0xf0,  // 565  - nl-aw
+            0x00, 0x08, 0x13, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x15, 0x11, 0x23,  0x62, 0x36,  // 566  - nl-be
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x09, 0xa5,  0x5d, 0x42, 0x11, 0x23,  0x70, 0xf0,  // 567  - nl-bq
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x01, 0x11, 0x11, 0x23,  0x80, 0xf0,  // 568  - nl-cw
+            0x00, 0x04, 0x13, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xb0, 0x11, 0x23,  0x92, 0x39,  // 569  - nl-nl
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xb5, 0x11, 0x23,  0xa0, 0xf0,  // 570  - nl-sr
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x78, 0xf7, 0x11, 0x23,  0xb0, 0xf0,  // 571  - nl-sx
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x31, 0x11, 0x23,  0xd0, 0xf0,  // 572  - nmg
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x31, 0x11, 0x23,  0xd0, 0xf0,  // 573  - nmg-cm
+            0x00, 0x78, 0x14, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x35, 0x00, 0x00,  0x00, 0xb1, 0x11, 0x23,  0xf2, 0x3f,  // 574  - nn
+            0x00, 0x08, 0x14, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x35, 0x00, 0x00,  0x00, 0xb1, 0x11, 0x23,  0xf2, 0x3f,  // 575  - nn-no
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x31, 0x11, 0x24,  0x10, 0xf0,  // 576  - nnh
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x31, 0x11, 0x24,  0x10, 0xf0,  // 577  - nnh-cm
+            0x00, 0x00, 0x14, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x35, 0x00, 0x00,  0x00, 0xb1, 0x11, 0x22,  0xa2, 0x2a,  // 578  - no
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x64, 0x22, 0x24,  0x40, 0x8f,  // 579  - nqo
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x64, 0x22, 0x24,  0x40, 0x8f,  // 580  - nqo-gn
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xd1, 0x11, 0x24,  0x60, 0xf0,  // 581  - nr
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xd1, 0x11, 0x24,  0x60, 0xf0,  // 582  - nr-za
+            0x00, 0x00, 0x6c, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xd1, 0x11, 0x24,  0x82, 0x48,  // 583  - nso
+            0x00, 0x04, 0x6c, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xd1, 0x11, 0x24,  0x82, 0x48,  // 584  - nso-za
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x01, 0x14, 0x11, 0x24,  0xa0, 0xf0,  // 585  - nus
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x01, 0x14, 0x11, 0x24,  0xa0, 0xf0,  // 586  - nus-ss
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xf0, 0x11, 0x24,  0xc0, 0xf0,  // 587  - nyn
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xf0, 0x11, 0x24,  0xc0, 0xf0,  // 588  - nyn-ug
+            0x00, 0x00, 0x82, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x00, 0x54, 0x11, 0x24,  0xe2, 0x4e,  // 589  - oc
+            0x00, 0x04, 0x82, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x00, 0x54, 0x11, 0x24,  0xe2, 0x4e,  // 590  - oc-fr
+            0x00, 0x00, 0x72, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x49, 0x11, 0x25,  0x00, 0xf0,  // 591  - om
+            0x00, 0x04, 0x72, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x49, 0x11, 0x25,  0x00, 0xf0,  // 592  - om-et
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x81, 0x11, 0x25,  0x10, 0xf0,  // 593  - om-ke
+            0x00, 0x00, 0x48, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x71, 0x01, 0x25,  0x30, 0x8f,  // 594  - or
+            0x00, 0x04, 0x48, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x71, 0x01, 0x25,  0x30, 0x8f,  // 595  - or-in
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x58, 0x11, 0x25,  0x50, 0xf0,  // 596  - os
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x58, 0x11, 0x25,  0x50, 0xf0,  // 597  - os-ge
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xcb, 0x11, 0x25,  0x60, 0xf0,  // 598  - os-ru
+            0x00, 0x00, 0x46, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x71, 0x01, 0x25,  0xa0, 0x8f,  // 599  - pa
+            0x00, 0x7c, 0x46, 0x4e,  0x82, 0xd0, 0x27, 0x14,  0x4f, 0xc4, 0x00, 0x00,  0x00, 0xbe, 0x12, 0x25,  0x90, 0x8f,  // 600  - pa-arab
+            0x00, 0x08, 0x46, 0x4e,  0x82, 0xd0, 0x27, 0x14,  0x4f, 0xc4, 0x00, 0x00,  0x00, 0xbe, 0x12, 0x25,  0x90, 0x8f,  // 601  - pa-arab-pk
+            0x00, 0x04, 0x46, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x71, 0x01, 0x25,  0xa0, 0x8f,  // 602  - pa-in
+            0x00, 0x00, 0x79, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x99,  0x32, 0x48, 0x01, 0x25,  0xc0, 0x91,  // 603  - pap
+            0x00, 0x04, 0x79, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x99,  0x32, 0x48, 0x01, 0x25,  0xc0, 0x91,  // 604  - pap-029
+            0x00, 0x00, 0x15, 0x4e,  0x23, 0x54, 0x27, 0x2d,  0x51, 0x90, 0x00, 0x00,  0x00, 0xbf, 0x11, 0x25,  0xe2, 0x5e,  // 605  - pl
+            0x00, 0x04, 0x15, 0x4e,  0x23, 0x54, 0x27, 0x2d,  0x51, 0x90, 0x00, 0x00,  0x00, 0xbf, 0x11, 0x25,  0xe2, 0x5e,  // 606  - pl-pl
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x98, 0x9e, 0x11, 0x26,  0x00, 0xf0,  // 607  - prg
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x98, 0x9e, 0x11, 0x26,  0x00, 0xf0,  // 608  - prg-001
+            0x00, 0x00, 0x8c, 0x4e,  0x82, 0xd0, 0x27, 0x14,  0x4f, 0xc4, 0x00, 0x00,  0x00, 0x03, 0x12, 0x26,  0x20, 0x8f,  // 609  - prs
+            0x00, 0x04, 0x8c, 0x4e,  0x82, 0xd0, 0x27, 0x14,  0x4f, 0xc4, 0x00, 0x00,  0x00, 0x03, 0x12, 0x26,  0x20, 0x8f,  // 610  - prs-af
+            0x00, 0x00, 0x63, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x03, 0x12, 0x26,  0x40, 0x8f,  // 611  - ps
+            0x00, 0x04, 0x63, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x03, 0x12, 0x26,  0x40, 0x8f,  // 612  - ps-af
+            0x00, 0x00, 0x16, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x20, 0x11, 0x26,  0x72, 0x67,  // 613  - pt
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x09, 0x11, 0x26,  0x60, 0xf0,  // 614  - pt-ao
+            0x00, 0x04, 0x16, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x20, 0x11, 0x26,  0x72, 0x67,  // 615  - pt-br
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xdf, 0x11, 0x26,  0x80, 0xf0,  // 616  - pt-ch
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x39, 0x11, 0x26,  0x90, 0xf0,  // 617  - pt-cv
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x45, 0x11, 0x26,  0xa0, 0xf0,  // 618  - pt-gq
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xc4, 0x11, 0x26,  0xb0, 0xf0,  // 619  - pt-gw
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x93, 0x11, 0x26,  0xc0, 0xf0,  // 620  - pt-lu
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x97, 0x11, 0x26,  0xd0, 0xf0,  // 621  - pt-mo
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xa8, 0x11, 0x26,  0xe0, 0xf0,  // 622  - pt-mz
+            0x00, 0x08, 0x16, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xc1, 0x11, 0x26,  0xf2, 0x6f,  // 623  - pt-pt
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xe9, 0x11, 0x27,  0x00, 0xf0,  // 624  - pt-st
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x6f,  0x60, 0xe7, 0x11, 0x27,  0x10, 0xf0,  // 625  - pt-tl
+            0x00, 0x09, 0x01, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x7c, 0x01, 0x27,  0x20, 0xbe,  // 626  - qps-latn-x-sh
+            0x00, 0x05, 0x01, 0x4e,  0x23, 0x54, 0x27, 0x2d,  0x51, 0x90, 0x00, 0x00,  0x00, 0xf4, 0x41, 0x27,  0x32, 0x73,  // 627  - qps-ploc
+            0x00, 0x05, 0xfe, 0x3a,  0x43, 0xa4, 0x27, 0x11,  0x4f, 0x42, 0x00, 0x00,  0x00, 0x7a, 0x01, 0x27,  0x42, 0x74,  // 628  - qps-ploca
+            0x00, 0x09, 0xff, 0x4e,  0x82, 0xd0, 0x27, 0x14,  0x4f, 0xc4, 0x00, 0x00,  0x00, 0xcd, 0x10, 0x27,  0x50, 0x8f,  // 629  - qps-plocm
+            0x00, 0x00, 0x86, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x3c, 0x00, 0x00,  0x00, 0x63, 0x01, 0x27,  0x82, 0x78,  // 630  - quc
+            0x00, 0x7c, 0x86, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x3c, 0x00, 0x00,  0x00, 0x63, 0x01, 0x27,  0x82, 0x78,  // 631  - quc-latn
+            0x00, 0x04, 0x86, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x3c, 0x00, 0x00,  0x00, 0x63, 0x01, 0x27,  0x82, 0x78,  // 632  - quc-latn-gt
+            0x00, 0x00, 0x6b, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x3c, 0x00, 0x00,  0x00, 0x1a, 0x01, 0x27,  0xa2, 0x7a,  // 633  - quz
+            0x00, 0x04, 0x6b, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x3c, 0x00, 0x00,  0x00, 0x1a, 0x01, 0x27,  0xa2, 0x7a,  // 634  - quz-bo
+            0x00, 0x08, 0x6b, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x3c, 0x00, 0x00,  0x00, 0x42, 0x01, 0x27,  0xb2, 0x7b,  // 635  - quz-ec
+            0x00, 0x0c, 0x6b, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x3c, 0x00, 0x00,  0x00, 0xbb, 0x01, 0x27,  0xc2, 0x7c,  // 636  - quz-pe
+            0x00, 0x00, 0x17, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x31, 0x00, 0x00,  0x00, 0xdf, 0x11, 0x27,  0xe2, 0x7e,  // 637  - rm
+            0x00, 0x04, 0x17, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x31, 0x00, 0x00,  0x00, 0xdf, 0x11, 0x27,  0xe2, 0x7e,  // 638  - rm-ch
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x26, 0x11, 0x28,  0x00, 0xf0,  // 639  - rn
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x26, 0x11, 0x28,  0x00, 0xf0,  // 640  - rn-bi
+            0x00, 0x00, 0x18, 0x4e,  0x23, 0x54, 0x27, 0x2d,  0x51, 0x90, 0x00, 0x00,  0x00, 0xc8, 0x11, 0x28,  0x32, 0x83,  // 641  - ro
+            0x00, 0x08, 0x18, 0x4e,  0x23, 0x54, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x98, 0x11, 0x28,  0x20, 0xf0,  // 642  - ro-md
+            0x00, 0x04, 0x18, 0x4e,  0x23, 0x54, 0x27, 0x2d,  0x51, 0x90, 0x00, 0x00,  0x00, 0xc8, 0x11, 0x28,  0x32, 0x83,  // 643  - ro-ro
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xef, 0x11, 0x28,  0x50, 0xf0,  // 644  - rof
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xef, 0x11, 0x28,  0x50, 0xf0,  // 645  - rof-tz
+            0x00, 0x00, 0x19, 0x4e,  0x33, 0x62, 0x27, 0x17,  0x51, 0x90, 0x00, 0x00,  0x00, 0xcb, 0x11, 0x28,  0xb2, 0x8b,  // 646  - ru
+            0x00, 0x10, 0x00, 0x4e,  0x33, 0x62, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x1d, 0x11, 0x28,  0x70, 0xf0,  // 647  - ru-by
+            0x00, 0x10, 0x00, 0x4e,  0x33, 0x62, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x82, 0x11, 0x28,  0x80, 0xf0,  // 648  - ru-kg
+            0x00, 0x10, 0x00, 0x4e,  0x33, 0x62, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x89, 0x11, 0x28,  0x90, 0xf0,  // 649  - ru-kz
+            0x00, 0x08, 0x19, 0x4e,  0x33, 0x62, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x98, 0x11, 0x28,  0xa0, 0xf0,  // 650  - ru-md
+            0x00, 0x04, 0x19, 0x4e,  0x33, 0x62, 0x27, 0x17,  0x51, 0x90, 0x00, 0x00,  0x00, 0xcb, 0x11, 0x28,  0xb2, 0x8b,  // 651  - ru-ru
+            0x00, 0x10, 0x00, 0x4e,  0x33, 0x62, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xf1, 0x11, 0x28,  0xc0, 0xf0,  // 652  - ru-ua
+            0x00, 0x00, 0x87, 0x4e,  0x41, 0xb5, 0x27, 0x10,  0x00, 0x25, 0x00, 0x00,  0x00, 0xcc, 0x11, 0x28,  0xe2, 0x8e,  // 653  - rw
+            0x00, 0x04, 0x87, 0x4e,  0x41, 0xb5, 0x27, 0x10,  0x00, 0x25, 0x00, 0x00,  0x00, 0xcc, 0x11, 0x28,  0xe2, 0x8e,  // 654  - rw-rw
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xef, 0x11, 0x29,  0x00, 0xf0,  // 655  - rwk
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xef, 0x11, 0x29,  0x00, 0xf0,  // 656  - rwk-tz
+            0x00, 0x00, 0x4f, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x71, 0x01, 0x29,  0x20, 0x8f,  // 657  - sa
+            0x00, 0x04, 0x4f, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x71, 0x01, 0x29,  0x20, 0x8f,  // 658  - sa-in
+            0x00, 0x00, 0x85, 0x4e,  0x33, 0x62, 0x27, 0x17,  0x51, 0x90, 0x00, 0x00,  0x00, 0xcb, 0x11, 0x29,  0x42, 0x94,  // 659  - sah
+            0x00, 0x04, 0x85, 0x4e,  0x33, 0x62, 0x27, 0x17,  0x51, 0x90, 0x00, 0x00,  0x00, 0xcb, 0x11, 0x29,  0x42, 0x94,  // 660  - sah-ru
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x81, 0x11, 0x29,  0x60, 0xf0,  // 661  - saq
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x81, 0x11, 0x29,  0x60, 0xf0,  // 662  - saq-ke
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xef, 0x11, 0x29,  0x80, 0xf0,  // 663  - sbp
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xef, 0x11, 0x29,  0x80, 0xf0,  // 664  - sbp-tz
+            0x00, 0x00, 0x59, 0x4e,  0x82, 0xd0, 0x27, 0x14,  0x4f, 0xc4, 0x00, 0x00,  0x00, 0xbe, 0x12, 0x29,  0xb0, 0x8f,  // 665  - sd
+            0x00, 0x7c, 0x59, 0x4e,  0x82, 0xd0, 0x27, 0x14,  0x4f, 0xc4, 0x00, 0x00,  0x00, 0xbe, 0x12, 0x29,  0xb0, 0x8f,  // 666  - sd-arab
+            0x00, 0x08, 0x59, 0x4e,  0x82, 0xd0, 0x27, 0x14,  0x4f, 0xc4, 0x00, 0x00,  0x00, 0xbe, 0x12, 0x29,  0xb0, 0x8f,  // 667  - sd-arab-pk
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x71, 0x01, 0x29,  0xd0, 0xbb,  // 668  - sd-deva
+            0x00, 0x04, 0x59, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x71, 0x01, 0x29,  0xd0, 0xbb,  // 669  - sd-deva-in
+            0x00, 0x00, 0x3b, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x35, 0x00, 0x00,  0x00, 0xb1, 0x11, 0x2a,  0x02, 0xa0,  // 670  - se
+            0x00, 0x0c, 0x3b, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x36, 0x00, 0x00,  0x00, 0x4d, 0x11, 0x29,  0xf2, 0x9f,  // 671  - se-fi
+            0x00, 0x04, 0x3b, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x35, 0x00, 0x00,  0x00, 0xb1, 0x11, 0x2a,  0x02, 0xa0,  // 672  - se-no
+            0x00, 0x08, 0x3b, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x36, 0x00, 0x00,  0x00, 0xdd, 0x11, 0x2a,  0x12, 0xa1,  // 673  - se-se
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xa8, 0x11, 0x2a,  0x30, 0xf0,  // 674  - seh
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xa8, 0x11, 0x2a,  0x30, 0xf0,  // 675  - seh-mz
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x9d, 0x11, 0x2a,  0x50, 0xf0,  // 676  - ses
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x9d, 0x11, 0x2a,  0x50, 0xf0,  // 677  - ses-ml
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x37, 0x11, 0x2a,  0x70, 0xf0,  // 678  - sg
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x37, 0x11, 0x2a,  0x70, 0xf0,  // 679  - sg-cf
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x9f, 0x11, 0x2a,  0xc0, 0xf0,  // 680  - shi
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x9f, 0x11, 0x2a,  0xa0, 0xf0,  // 681  - shi-latn
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x9f, 0x11, 0x2a,  0xa0, 0xf0,  // 682  - shi-latn-ma
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x9f, 0x11, 0x2a,  0xc0, 0xf0,  // 683  - shi-tfng
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x9f, 0x11, 0x2a,  0xc0, 0xf0,  // 684  - shi-tfng-ma
+            0x00, 0x00, 0x5b, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x2a, 0x11, 0x2a,  0xe0, 0x8f,  // 685  - si
+            0x00, 0x04, 0x5b, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x2a, 0x11, 0x2a,  0xe0, 0x8f,  // 686  - si-lk
+            0x00, 0x00, 0x1b, 0x4e,  0x23, 0x54, 0x27, 0x2d,  0x51, 0x90, 0x00, 0x00,  0x00, 0x8f, 0x11, 0x2b,  0x02, 0xb0,  // 687  - sk
+            0x00, 0x04, 0x1b, 0x4e,  0x23, 0x54, 0x27, 0x2d,  0x51, 0x90, 0x00, 0x00,  0x00, 0x8f, 0x11, 0x2b,  0x02, 0xb0,  // 688  - sk-sk
+            0x00, 0x00, 0x24, 0x4e,  0x23, 0x54, 0x27, 0x2d,  0x51, 0x90, 0x00, 0x00,  0x00, 0xd4, 0x11, 0x2b,  0x22, 0xb2,  // 689  - sl
+            0x00, 0x04, 0x24, 0x4e,  0x23, 0x54, 0x27, 0x2d,  0x51, 0x90, 0x00, 0x00,  0x00, 0xd4, 0x11, 0x2b,  0x22, 0xb2,  // 690  - sl-si
+            0x00, 0x78, 0x3b, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x36, 0x00, 0x00,  0x00, 0xdd, 0x11, 0x2b,  0x52, 0xb5,  // 691  - sma
+            0x00, 0x18, 0x3b, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x35, 0x00, 0x00,  0x00, 0xb1, 0x11, 0x2b,  0x42, 0xb4,  // 692  - sma-no
+            0x00, 0x1c, 0x3b, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x36, 0x00, 0x00,  0x00, 0xdd, 0x11, 0x2b,  0x52, 0xb5,  // 693  - sma-se
+            0x00, 0x7c, 0x3b, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x36, 0x00, 0x00,  0x00, 0xdd, 0x11, 0x2b,  0x82, 0xb8,  // 694  - smj
+            0x00, 0x10, 0x3b, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x35, 0x00, 0x00,  0x00, 0xb1, 0x11, 0x2b,  0x72, 0xb7,  // 695  - smj-no
+            0x00, 0x14, 0x3b, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x36, 0x00, 0x00,  0x00, 0xdd, 0x11, 0x2b,  0x82, 0xb8,  // 696  - smj-se
+            0x00, 0x70, 0x3b, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x36, 0x00, 0x00,  0x00, 0x4d, 0x11, 0x2b,  0xa2, 0xba,  // 697  - smn
+            0x00, 0x24, 0x3b, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x36, 0x00, 0x00,  0x00, 0x4d, 0x11, 0x2b,  0xa2, 0xba,  // 698  - smn-fi
+            0x00, 0x74, 0x3b, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x36, 0x00, 0x00,  0x00, 0x4d, 0x11, 0x2b,  0xc2, 0xbc,  // 699  - sms
+            0x00, 0x20, 0x3b, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x36, 0x00, 0x00,  0x00, 0x4d, 0x11, 0x2b,  0xc2, 0xbc,  // 700  - sms-fi
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x01, 0x08, 0x11, 0x2b,  0xf0, 0xf0,  // 701  - sn
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x01, 0x08, 0x11, 0x2b,  0xf0, 0xf0,  // 702  - sn-latn
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x01, 0x08, 0x11, 0x2b,  0xf0, 0xf0,  // 703  - sn-latn-zw
+            0x00, 0x00, 0x77, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xd8, 0x11, 0x2c,  0x40, 0xf0,  // 704  - so
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x3e, 0x11, 0x2c,  0x10, 0xf0,  // 705  - so-dj
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x49, 0x11, 0x2c,  0x20, 0xf0,  // 706  - so-et
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x81, 0x11, 0x2c,  0x30, 0xf0,  // 707  - so-ke
+            0x00, 0x04, 0x77, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xd8, 0x11, 0x2c,  0x40, 0xf0,  // 708  - so-so
+            0x00, 0x00, 0x1c, 0x4e,  0x23, 0x54, 0x27, 0x2d,  0x51, 0x90, 0x00, 0x00,  0x00, 0x06, 0x11, 0x2c,  0x62, 0xc6,  // 709  - sq
+            0x00, 0x04, 0x1c, 0x4e,  0x23, 0x54, 0x27, 0x2d,  0x51, 0x90, 0x00, 0x00,  0x00, 0x06, 0x11, 0x2c,  0x62, 0xc6,  // 710  - sq-al
+            0x00, 0x10, 0x00, 0x4e,  0x23, 0x54, 0x27, 0x2d,  0x51, 0x90, 0x00, 0x00,  0x4c, 0xa2, 0x11, 0x2c,  0x70, 0xf0,  // 711  - sq-mk
+            0x00, 0x10, 0x00, 0x4e,  0x23, 0x54, 0x27, 0x2d,  0x51, 0x90, 0x00, 0x97,  0x49, 0x41, 0x11, 0x2c,  0x80, 0xf0,  // 712  - sq-xk
+            0x00, 0x7c, 0x1a, 0x4e,  0x23, 0x54, 0x27, 0x2d,  0x01, 0xf4, 0x00, 0x00,  0x01, 0x0f, 0x11, 0x2d,  0x42, 0xd4,  // 713  - sr
+            0x00, 0x6c, 0x1a, 0x4e,  0x33, 0x57, 0x27, 0x17,  0x52, 0x21, 0x00, 0x00,  0x01, 0x0f, 0x11, 0x2c,  0xe2, 0xce,  // 714  - sr-cyrl
+            0x00, 0x1c, 0x1a, 0x4e,  0x33, 0x57, 0x27, 0x17,  0x52, 0x21, 0x00, 0x00,  0x00, 0x19, 0x11, 0x2c,  0xb2, 0xcb,  // 715  - sr-cyrl-ba
+            0x00, 0x0c, 0x1a, 0x4e,  0x33, 0x57, 0x27, 0x17,  0x52, 0x21, 0x00, 0x00,  0x01, 0x0d, 0x11, 0x2c,  0xc2, 0xcc,  // 716  - sr-cyrl-cs
+            0x00, 0x30, 0x1a, 0x4e,  0x33, 0x57, 0x27, 0x17,  0x52, 0x21, 0x00, 0x00,  0x01, 0x0e, 0x11, 0x2c,  0xd2, 0xcd,  // 717  - sr-cyrl-me
+            0x00, 0x28, 0x1a, 0x4e,  0x33, 0x57, 0x27, 0x17,  0x52, 0x21, 0x00, 0x00,  0x01, 0x0f, 0x11, 0x2c,  0xe2, 0xce,  // 718  - sr-cyrl-rs
+            0x00, 0x10, 0x00, 0x4e,  0x33, 0x57, 0x27, 0x17,  0x52, 0x21, 0x00, 0x97,  0x49, 0x41, 0x11, 0x2c,  0xf0, 0xf0,  // 719  - sr-cyrl-xk
+            0x00, 0x70, 0x1a, 0x4e,  0x23, 0x54, 0x27, 0x2d,  0x01, 0xf4, 0x00, 0x00,  0x01, 0x0f, 0x11, 0x2d,  0x42, 0xd4,  // 720  - sr-latn
+            0x00, 0x18, 0x1a, 0x4e,  0x23, 0x54, 0x27, 0x62,  0x03, 0x66, 0x00, 0x00,  0x00, 0x19, 0x11, 0x2d,  0x12, 0xd1,  // 721  - sr-latn-ba
+            0x00, 0x08, 0x1a, 0x4e,  0x23, 0x54, 0x27, 0x2d,  0x01, 0xf4, 0x00, 0x00,  0x01, 0x0d, 0x11, 0x2d,  0x22, 0xd2,  // 722  - sr-latn-cs
+            0x00, 0x2c, 0x1a, 0x4e,  0x23, 0x54, 0x27, 0x2d,  0x01, 0xf4, 0x00, 0x00,  0x01, 0x0e, 0x11, 0x2d,  0x32, 0xd3,  // 723  - sr-latn-me
+            0x00, 0x24, 0x1a, 0x4e,  0x23, 0x54, 0x27, 0x2d,  0x01, 0xf4, 0x00, 0x00,  0x01, 0x0f, 0x11, 0x2d,  0x42, 0xd4,  // 724  - sr-latn-rs
+            0x00, 0x10, 0x00, 0x4e,  0x23, 0x54, 0x27, 0x2d,  0x01, 0xf4, 0x00, 0x97,  0x49, 0x41, 0x11, 0x2d,  0x50, 0xf0,  // 725  - sr-latn-xk
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xd1, 0x11, 0x2d,  0x80, 0xf0,  // 726  - ss
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x01, 0x04, 0x11, 0x2d,  0x70, 0xf0,  // 727  - ss-sz
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xd1, 0x11, 0x2d,  0x80, 0xf0,  // 728  - ss-za
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x47, 0x11, 0x2d,  0xa0, 0xf0,  // 729  - ssy
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x47, 0x11, 0x2d,  0xa0, 0xf0,  // 730  - ssy-er
+            0x00, 0x00, 0x30, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xd1, 0x11, 0x2d,  0xd0, 0xf0,  // 731  - st
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x92, 0x11, 0x2d,  0xc0, 0xf0,  // 732  - st-ls
+            0x00, 0x04, 0x30, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xd1, 0x11, 0x2d,  0xd0, 0xf0,  // 733  - st-za
+            0x00, 0x00, 0x1d, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x36, 0x00, 0x00,  0x00, 0xdd, 0x11, 0x2e,  0x12, 0xe1,  // 734  - sv
+            0x00, 0x10, 0x00, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x36, 0x00, 0x99,  0x06, 0xf5, 0x11, 0x2d,  0xf0, 0xf0,  // 735  - sv-ax
+            0x00, 0x08, 0x1d, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x36, 0x00, 0x00,  0x00, 0x4d, 0x11, 0x2e,  0x02, 0xe0,  // 736  - sv-fi
+            0x00, 0x04, 0x1d, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x36, 0x00, 0x00,  0x00, 0xdd, 0x11, 0x2e,  0x12, 0xe1,  // 737  - sv-se
+            0x00, 0x00, 0x41, 0x4e,  0x41, 0xb5, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x81, 0x11, 0x2e,  0x42, 0xe4,  // 738  - sw
+            0x00, 0x10, 0x00, 0x4e,  0x41, 0xb5, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x2c, 0x11, 0x2e,  0x32, 0xe4,  // 739  - sw-cd
+            0x00, 0x04, 0x41, 0x4e,  0x41, 0xb5, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x81, 0x11, 0x2e,  0x42, 0xe4,  // 740  - sw-ke
+            0x00, 0x10, 0x00, 0x4e,  0x41, 0xb5, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xef, 0x11, 0x2e,  0x50, 0xf0,  // 741  - sw-tz
+            0x00, 0x10, 0x00, 0x4e,  0x41, 0xb5, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xf0, 0x11, 0x2e,  0x60, 0xf0,  // 742  - sw-ug
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x00,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x2c, 0x01, 0x2e,  0x80, 0xf0,  // 743  - swc
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x00,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x2c, 0x11, 0x2e,  0x80, 0xf0,  // 744  - swc-cd
+            0x00, 0x00, 0x5a, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xde, 0x01, 0x2e,  0xa0, 0x8f,  // 745  - syr
+            0x00, 0x04, 0x5a, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xde, 0x01, 0x2e,  0xa0, 0x8f,  // 746  - syr-sy
+            0x00, 0x00, 0x49, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x71, 0x01, 0x2e,  0xc0, 0x8f,  // 747  - ta
+            0x00, 0x04, 0x49, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x71, 0x01, 0x2e,  0xc0, 0x8f,  // 748  - ta-in
+            0x00, 0x08, 0x49, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x2a, 0x11, 0x2e,  0xd0, 0x8f,  // 749  - ta-lk
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xa7, 0x11, 0x2e,  0xe0, 0xf0,  // 750  - ta-my
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xd7, 0x11, 0x2e,  0xf0, 0xf0,  // 751  - ta-sg
+            0x00, 0x00, 0x4a, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x71, 0x11, 0x2f,  0x10, 0x8f,  // 752  - te
+            0x00, 0x04, 0x4a, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x71, 0x11, 0x2f,  0x10, 0x8f,  // 753  - te-in
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xf0, 0x11, 0x2f,  0x40, 0xf0,  // 754  - teo
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x81, 0x11, 0x2f,  0x30, 0xf0,  // 755  - teo-ke
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xf0, 0x11, 0x2f,  0x40, 0xf0,  // 756  - teo-ug
+            0x00, 0x00, 0x28, 0x4e,  0x33, 0x62, 0x27, 0x17,  0x51, 0x90, 0x00, 0x00,  0x00, 0xe4, 0x11, 0x2f,  0x72, 0xf7,  // 757  - tg
+            0x00, 0x7c, 0x28, 0x4e,  0x33, 0x62, 0x27, 0x17,  0x51, 0x90, 0x00, 0x00,  0x00, 0xe4, 0x11, 0x2f,  0x72, 0xf7,  // 758  - tg-cyrl
+            0x00, 0x04, 0x28, 0x4e,  0x33, 0x62, 0x27, 0x17,  0x51, 0x90, 0x00, 0x00,  0x00, 0xe4, 0x11, 0x2f,  0x72, 0xf7,  // 759  - tg-cyrl-tj
+            0x00, 0x00, 0x1e, 0x36,  0xa3, 0x6a, 0x27, 0x25,  0x51, 0x66, 0x00, 0x00,  0x00, 0xe3, 0x01, 0x2f,  0x90, 0x8f,  // 760  - th
+            0x00, 0x04, 0x1e, 0x36,  0xa3, 0x6a, 0x27, 0x25,  0x51, 0x66, 0x00, 0x00,  0x00, 0xe3, 0x01, 0x2f,  0x90, 0x8f,  // 761  - th-th
+            0x00, 0x00, 0x73, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x47, 0x11, 0x2f,  0xb0, 0x8f,  // 762  - ti
+            0x00, 0x08, 0x73, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x47, 0x11, 0x2f,  0xb0, 0x8f,  // 763  - ti-er
+            0x00, 0x04, 0x73, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x49, 0x11, 0x2f,  0xc0, 0x8f,  // 764  - ti-et
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x47, 0x11, 0x2f,  0xe0, 0xf0,  // 765  - tig
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x47, 0x11, 0x2f,  0xe0, 0xf0,  // 766  - tig-er
+            0x00, 0x00, 0x42, 0x4e,  0x23, 0x54, 0x27, 0x2d,  0x51, 0x90, 0x00, 0x00,  0x00, 0xee, 0x11, 0x30,  0x03, 0x00,  // 767  - tk
+            0x00, 0x04, 0x42, 0x4e,  0x23, 0x54, 0x27, 0x2d,  0x51, 0x90, 0x00, 0x00,  0x00, 0xee, 0x11, 0x30,  0x03, 0x00,  // 768  - tk-tm
+            0x00, 0x00, 0x32, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xd1, 0x11, 0x30,  0x33, 0x03,  // 769  - tn
+            0x00, 0x08, 0x32, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x13, 0x11, 0x30,  0x23, 0x02,  // 770  - tn-bw
+            0x00, 0x04, 0x32, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xd1, 0x11, 0x30,  0x33, 0x03,  // 771  - tn-za
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xe7, 0x11, 0x30,  0x50, 0xf0,  // 772  - to
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xe7, 0x11, 0x30,  0x50, 0xf0,  // 773  - to-to
+            0x00, 0x00, 0x1f, 0x4e,  0x63, 0x59, 0x27, 0x61,  0x51, 0xa9, 0x00, 0x00,  0x00, 0xeb, 0x11, 0x30,  0x83, 0x08,  // 774  - tr
+            0x00, 0x10, 0x00, 0x4e,  0x63, 0x59, 0x27, 0x61,  0x51, 0xa9, 0x00, 0x00,  0x00, 0x3b, 0x11, 0x30,  0x70, 0xf0,  // 775  - tr-cy
+            0x00, 0x04, 0x1f, 0x4e,  0x63, 0x59, 0x27, 0x61,  0x51, 0xa9, 0x00, 0x00,  0x00, 0xeb, 0x11, 0x30,  0x83, 0x08,  // 776  - tr-tr
+            0x00, 0x00, 0x31, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xd1, 0x11, 0x30,  0xa0, 0xf0,  // 777  - ts
+            0x00, 0x04, 0x31, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xd1, 0x11, 0x30,  0xa0, 0xf0,  // 778  - ts-za
+            0x00, 0x00, 0x44, 0x4e,  0x33, 0x62, 0x27, 0x17,  0x51, 0x90, 0x00, 0x00,  0x00, 0xcb, 0x11, 0x30,  0xc3, 0x0c,  // 779  - tt
+            0x00, 0x04, 0x44, 0x4e,  0x33, 0x62, 0x27, 0x17,  0x51, 0x90, 0x00, 0x00,  0x00, 0xcb, 0x11, 0x30,  0xc3, 0x0c,  // 780  - tt-ru
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xad, 0x11, 0x30,  0xe0, 0xf0,  // 781  - twq
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xad, 0x11, 0x30,  0xe0, 0xf0,  // 782  - twq-ne
+            0x00, 0x00, 0x5f, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x00, 0x04, 0x11, 0x31,  0x33, 0x13,  // 783  - tzm
+            0x00, 0x10, 0x00, 0x4e,  0x82, 0xd0, 0x27, 0x14,  0x4f, 0xc4, 0x00, 0x00,  0x00, 0x9f, 0x11, 0x31,  0x10, 0xf0,  // 784  - tzm-arab
+            0x00, 0x04, 0x5f, 0x4e,  0x82, 0xd0, 0x27, 0x14,  0x4f, 0xc4, 0x00, 0x00,  0x00, 0x9f, 0x11, 0x31,  0x10, 0xf0,  // 785  - tzm-arab-ma
+            0x00, 0x7c, 0x5f, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x00, 0x04, 0x11, 0x31,  0x33, 0x13,  // 786  - tzm-latn
+            0x00, 0x08, 0x5f, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x00, 0x04, 0x11, 0x31,  0x33, 0x13,  // 787  - tzm-latn-dz
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x9f, 0x11, 0x31,  0x40, 0xf0,  // 788  - tzm-latn-ma
+            0x00, 0x78, 0x5f, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x9f, 0x11, 0x31,  0x61, 0x3c,  // 789  - tzm-tfng
+            0x00, 0x10, 0x5f, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x9f, 0x11, 0x31,  0x61, 0x3c,  // 790  - tzm-tfng-ma
+            0x00, 0x00, 0x80, 0x4e,  0x82, 0xd0, 0x27, 0x14,  0x4f, 0xc4, 0x00, 0x00,  0x00, 0x2d, 0x01, 0x31,  0x80, 0x8f,  // 791  - ug
+            0x00, 0x04, 0x80, 0x4e,  0x82, 0xd0, 0x27, 0x14,  0x4f, 0xc4, 0x00, 0x00,  0x00, 0x2d, 0x01, 0x31,  0x80, 0x8f,  // 792  - ug-cn
+            0x00, 0x00, 0x22, 0x4e,  0x33, 0x62, 0x27, 0x21,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xf1, 0x11, 0x31,  0xa3, 0x1a,  // 793  - uk
+            0x00, 0x04, 0x22, 0x4e,  0x33, 0x62, 0x27, 0x21,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xf1, 0x11, 0x31,  0xa3, 0x1a,  // 794  - uk-ua
+            0x00, 0x00, 0x20, 0x4e,  0x82, 0xd0, 0x27, 0x14,  0x4f, 0xc4, 0x00, 0x00,  0x00, 0xbe, 0x11, 0x31,  0xd0, 0x8f,  // 795  - ur
+            0x00, 0x08, 0x20, 0x4e,  0x82, 0xd0, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x71, 0x12, 0x31,  0xc0, 0xf0,  // 796  - ur-in
+            0x00, 0x04, 0x20, 0x4e,  0x82, 0xd0, 0x27, 0x14,  0x4f, 0xc4, 0x00, 0x00,  0x00, 0xbe, 0x11, 0x31,  0xd0, 0x8f,  // 797  - ur-pk
+            0x00, 0x00, 0x43, 0x4e,  0x63, 0x59, 0x27, 0x2d,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xf7, 0x11, 0x32,  0x43, 0x24,  // 798  - uz
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x03, 0x12, 0x32,  0x00, 0xf0,  // 799  - uz-arab
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x03, 0x12, 0x32,  0x00, 0xf0,  // 800  - uz-arab-af
+            0x00, 0x78, 0x43, 0x4e,  0x33, 0x62, 0x27, 0x17,  0x51, 0x90, 0x00, 0x00,  0x00, 0xf7, 0x11, 0x32,  0x23, 0x22,  // 801  - uz-cyrl
+            0x00, 0x08, 0x43, 0x4e,  0x33, 0x62, 0x27, 0x17,  0x51, 0x90, 0x00, 0x00,  0x00, 0xf7, 0x11, 0x32,  0x23, 0x22,  // 802  - uz-cyrl-uz
+            0x00, 0x7c, 0x43, 0x4e,  0x63, 0x59, 0x27, 0x2d,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xf7, 0x11, 0x32,  0x43, 0x24,  // 803  - uz-latn
+            0x00, 0x04, 0x43, 0x4e,  0x63, 0x59, 0x27, 0x2d,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xf7, 0x11, 0x32,  0x43, 0x24,  // 804  - uz-latn-uz
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x8e, 0x11, 0x32,  0x90, 0xf0,  // 805  - vai
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x8e, 0x11, 0x32,  0x70, 0xf0,  // 806  - vai-latn
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x8e, 0x11, 0x32,  0x70, 0xf0,  // 807  - vai-latn-lr
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x8e, 0x11, 0x32,  0x90, 0xf0,  // 808  - vai-vaii
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x8e, 0x11, 0x32,  0x90, 0xf0,  // 809  - vai-vaii-lr
+            0x00, 0x00, 0x33, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xd1, 0x11, 0x32,  0xb0, 0xf0,  // 810  - ve
+            0x00, 0x04, 0x33, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xd1, 0x11, 0x32,  0xb0, 0xf0,  // 811  - ve-za
+            0x00, 0x00, 0x2a, 0x4e,  0xa4, 0xea, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xfb, 0x01, 0x32,  0xd0, 0x8f,  // 812  - vi
+            0x00, 0x04, 0x2a, 0x4e,  0xa4, 0xea, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xfb, 0x01, 0x32,  0xd0, 0x8f,  // 813  - vi-vn
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x98, 0x9e, 0x11, 0x32,  0xf0, 0xf0,  // 814  - vo
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x98, 0x9e, 0x11, 0x32,  0xf0, 0xf0,  // 815  - vo-001
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xef, 0x11, 0x33,  0x10, 0xf0,  // 816  - vun
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xef, 0x11, 0x33,  0x10, 0xf0,  // 817  - vun-tz
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xdf, 0x11, 0x33,  0x30, 0xf0,  // 818  - wae
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xdf, 0x11, 0x33,  0x30, 0xf0,  // 819  - wae-ch
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x49, 0x11, 0x33,  0x50, 0xf0,  // 820  - wal
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x49, 0x11, 0x33,  0x50, 0xf0,  // 821  - wal-et
+            0x00, 0x00, 0x88, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x00, 0xd2, 0x11, 0x33,  0x73, 0x37,  // 822  - wo
+            0x00, 0x04, 0x88, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x4f, 0x49, 0x00, 0x00,  0x00, 0xd2, 0x11, 0x33,  0x73, 0x37,  // 823  - wo-sn
+            0x01, 0x00, 0x7f, 0x4e,  0x41, 0xb5, 0x27, 0x10,  0x00, 0x25, 0x00, 0x00,  0x00, 0xf4, 0x01, 0xff,  0xff, 0xff,  // 824  - x-iv_mathan
+            0x00, 0x00, 0x34, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xd1, 0x11, 0x33,  0xa3, 0x3a,  // 825  - xh
+            0x00, 0x04, 0x34, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xd1, 0x11, 0x33,  0xa3, 0x3a,  // 826  - xh-za
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xf0, 0x11, 0x33,  0xc0, 0xf0,  // 827  - xog
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xf0, 0x11, 0x33,  0xc0, 0xf0,  // 828  - xog-ug
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x31, 0x11, 0x33,  0xe0, 0xf0,  // 829  - yav
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x31, 0x11, 0x33,  0xe0, 0xf0,  // 830  - yav-cm
+            0x00, 0x00, 0x3d, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x98, 0x9e, 0x11, 0x34,  0x00, 0xf0,  // 831  - yi
+            0x00, 0x04, 0x3d, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x98, 0x9e, 0x11, 0x34,  0x00, 0xf0,  // 832  - yi-001
+            0x00, 0x00, 0x6a, 0x4e,  0x41, 0xb5, 0x27, 0x10,  0x00, 0x25, 0x00, 0x00,  0x00, 0xaf, 0x11, 0x34,  0x33, 0x43,  // 833  - yo
+            0x00, 0x10, 0x00, 0x4e,  0x41, 0xb5, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x1c, 0x11, 0x34,  0x20, 0xf0,  // 834  - yo-bj
+            0x00, 0x04, 0x6a, 0x4e,  0x41, 0xb5, 0x27, 0x10,  0x00, 0x25, 0x00, 0x00,  0x00, 0xaf, 0x11, 0x34,  0x33, 0x43,  // 835  - yo-ng
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x68, 0x01, 0x34,  0x50, 0xf0,  // 836  - yue
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x68, 0x01, 0x34,  0x50, 0xf0,  // 837  - yue-hk
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x9f, 0x11, 0x34,  0x81, 0x3c,  // 838  - zgh
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x9f, 0x11, 0x34,  0x81, 0x3c,  // 839  - zgh-tfng
+            0x00, 0x10, 0x00, 0x00,  0x00, 0x01, 0x00, 0x02,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x9f, 0x11, 0x34,  0x81, 0x3c,  // 840  - zgh-tfng-ma
+            0x00, 0x78, 0x04, 0x3a,  0x83, 0xa8, 0x27, 0x18,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x2d, 0x01, 0x34,  0xc3, 0x4c,  // 841  - zh
+            0x00, 0x00, 0x04, 0x3a,  0x83, 0xa8, 0x00, 0x00,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x2d, 0x01, 0x34,  0xc3, 0x4c,  // 842  - zh-chs
+            0x00, 0x7c, 0x04, 0x3b,  0x63, 0xb6, 0x00, 0x00,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x68, 0x01, 0x35,  0x33, 0x53,  // 843  - zh-cht
+            0x00, 0x08, 0x04, 0x3a,  0x83, 0xa8, 0x27, 0x18,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x2d, 0x01, 0x34,  0xc3, 0x4c,  // 844  - zh-cn
+            0x05, 0x08, 0x04, 0x3a,  0x83, 0xa8, 0x27, 0x18,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x2d, 0x01, 0x34,  0xc3, 0x4c,  // 845  - zh-cn_phoneb
+            0x02, 0x08, 0x04, 0x3a,  0x83, 0xa8, 0x27, 0x18,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x2d, 0x01, 0x34,  0xc3, 0x4c,  // 846  - zh-cn_stroke
+            0x00, 0x00, 0x04, 0x3a,  0x83, 0xa8, 0x27, 0x18,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x2d, 0x01, 0x34,  0xc3, 0x4c,  // 847  - zh-hans
+            0x00, 0x10, 0x00, 0x3a,  0x83, 0xa8, 0x27, 0x18,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x68, 0x11, 0x35,  0x00, 0xf0,  // 848  - zh-hans-hk
+            0x00, 0x10, 0x00, 0x3a,  0x83, 0xa8, 0x27, 0x18,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x97, 0x11, 0x35,  0x10, 0xf0,  // 849  - zh-hans-mo
+            0x00, 0x7c, 0x04, 0x3b,  0x63, 0xb6, 0x27, 0x12,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x68, 0x01, 0x35,  0x33, 0x53,  // 850  - zh-hant
+            0x00, 0x0c, 0x04, 0x3b,  0x63, 0xb6, 0x27, 0x12,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x68, 0x01, 0x35,  0x33, 0x53,  // 851  - zh-hk
+            0x04, 0x0c, 0x04, 0x3b,  0x63, 0xb6, 0x27, 0x12,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x68, 0x01, 0x35,  0x33, 0x53,  // 852  - zh-hk_radstr
+            0x00, 0x14, 0x04, 0x3b,  0x63, 0xb6, 0x27, 0x12,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x97, 0x01, 0x35,  0x53, 0x55,  // 853  - zh-mo
+            0x04, 0x14, 0x04, 0x3b,  0x63, 0xb6, 0x27, 0x12,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x97, 0x01, 0x35,  0x53, 0x55,  // 854  - zh-mo_radstr
+            0x02, 0x14, 0x04, 0x3b,  0x63, 0xb6, 0x27, 0x12,  0x01, 0xf4, 0x00, 0x00,  0x00, 0x97, 0x01, 0x35,  0x53, 0x55,  // 855  - zh-mo_stroke
+            0x00, 0x10, 0x04, 0x3a,  0x83, 0xa8, 0x27, 0x18,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xd7, 0x01, 0x35,  0x83, 0x58,  // 856  - zh-sg
+            0x05, 0x10, 0x04, 0x3a,  0x83, 0xa8, 0x27, 0x18,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xd7, 0x01, 0x35,  0x83, 0x58,  // 857  - zh-sg_phoneb
+            0x02, 0x10, 0x04, 0x3a,  0x83, 0xa8, 0x27, 0x18,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xd7, 0x01, 0x35,  0x83, 0x58,  // 858  - zh-sg_stroke
+            0x00, 0x04, 0x04, 0x3b,  0x63, 0xb6, 0x27, 0x12,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xed, 0x01, 0x35,  0xb3, 0x5b,  // 859  - zh-tw
+            0x03, 0x04, 0x04, 0x3b,  0x63, 0xb6, 0x27, 0x12,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xed, 0x01, 0x35,  0xb3, 0x5b,  // 860  - zh-tw_pronun
+            0x04, 0x04, 0x04, 0x3b,  0x63, 0xb6, 0x27, 0x12,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xed, 0x01, 0x35,  0xb3, 0x5b,  // 861  - zh-tw_radstr
+            0x00, 0x00, 0x35, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xd1, 0x11, 0x35,  0xf3, 0x5f,  // 862  - zu
+            0x00, 0x04, 0x35, 0x4e,  0x43, 0x52, 0x27, 0x10,  0x01, 0xf4, 0x00, 0x00,  0x00, 0xd1, 0x11, 0x35,  0xf3, 0x5f,  // 863  - zu-za
         };
 
         internal static string? LCIDToLocaleName(int culture)
         {
+            uint sort = (uint)culture >> 16;
+            culture = (ushort)culture;
+
+            ReadOnlySpan<byte> indices = LcidToCultureNameIndices;
+
+            (int start, int end) = sort switch
+            {
+                0 => (0, LcidSortPrefix1Index),
+                1 => (LcidSortPrefix1Index, LcidSortPrefix2Index),
+                2 => (LcidSortPrefix2Index, LcidSortPrefix3Index),
+                3 => (LcidSortPrefix3Index, LcidSortPrefix4Index),
+                4 => (LcidSortPrefix4Index, LcidSortPrefix5Index),
+                5 => (LcidSortPrefix5Index, indices.Length),
+                _ => default
+            };
+
+            indices = indices[start..end];
+
             int lo = 0;
-            int hi = s_lcidToCultureNameIndices.Length - 1;
+            int hi = indices.Length / 4 - 1;
 
             // Binary search the array
             while (lo <= hi)
             {
                 int i = lo + ((hi - lo) >> 1);
+                int index = i * 4;
+
+                int array_value = indices[index] << 8 | indices[index + 1];
 
-                int index = s_lcidToCultureNameIndices[i];
-                int array_value = index >> 16;
                 int order = array_value.CompareTo(culture);
 
                 if (order == 0)
                 {
-                    return GetString(CultureNames.Slice((index >> 4) & 0xFFF, index & 0xF));
+                    start = (indices[index + 2] << 4) | indices[index + 3] >> 4;
+                    int length = indices[index + 3] & 0xF;
+                    return GetString(CultureNames.Slice(start, length));
                 }
 
                 if (order < 0)
@@ -3803,7 +3753,24 @@ namespace System.Globalization
                 return -1;
             }
 
-            return s_nameIndexToNumericData[index * NUMERIC_LOCALE_DATA_COUNT_PER_ROW + (int) part];
+            ReadOnlySpan<byte> numericData = NameIndexToNumericData.Slice(index * NumericLocaleDataBytesPerRow, NumericLocaleDataBytesPerRow);
+
+            return part switch
+            {
+                IcuLocaleDataParts.Lcid => numericData[2] | (numericData[1] << 8) | (numericData[0] << 16),
+                IcuLocaleDataParts.AnsiCodePage => (numericData[4] & 0xf0) >> 4 | (numericData[3] & 0xff) << 4,
+                IcuLocaleDataParts.OemCodePage => numericData[5] | (numericData[4] & 0xf) << 8,
+                IcuLocaleDataParts.MacCodePage => numericData[7] | (numericData[6] << 8),
+                IcuLocaleDataParts.EbcdicCodePage => numericData[9] | (numericData[8] << 8),
+                IcuLocaleDataParts.GeoId => numericData[13] | (numericData[12] << 8) | (numericData[11] << 16) | (numericData[10] << 24),
+                IcuLocaleDataParts.DigitSubstitutionOrListSeparator => ResolveDigitListSeparator(numericData[14]),
+                IcuLocaleDataParts.SpecificLocaleIndex => ResolveIndex((numericData[16] & 0xf0) >> 4 | ((numericData[15] & 0xff) << 4)),
+                IcuLocaleDataParts.ConsoleLocaleIndex => ResolveIndex(numericData[17] | (numericData[16] & 0xf) << 8),
+                _ => -1
+            };
+
+            static int ResolveIndex(int value) => value == 0xfff ? -1 : value;
+            static int ResolveDigitListSeparator(int value) => ((value & 0xf0) << 12) | (value & 0xf);
         }
 
         internal static string? GetThreeLetterWindowsLanguageName(string cultureName)
@@ -3814,8 +3781,8 @@ namespace System.Globalization
                 return null;
             }
 
-            Debug.Assert(CulturesCount == (c_threeLetterWindowsLanguageName.Length / 3));
-            return c_threeLetterWindowsLanguageName.Substring(index * 3, 3);
+            Debug.Assert(CulturesCount == (ThreeLetterWindowsLanguageName.Length / 3));
+            return GetString(ThreeLetterWindowsLanguageName.Slice(index * 3, 3));
         }
 
         private static string GetLocaleDataMappedCulture(string cultureName, IcuLocaleDataParts part)
@@ -3857,8 +3824,10 @@ namespace System.Globalization
 
             ReadOnlySpan<byte> lname = lower_case;
 
+            Debug.Assert(CulturesCount * 2 == LocalesNamesIndexes.Length);
+
             int lo = 0;
-            int hi = s_localesNamesIndexes.Length - 1;
+            int hi = CulturesCount - 1;
 
             // Binary search the array
             while (lo <= hi)
@@ -3883,8 +3852,16 @@ namespace System.Globalization
 
         private static ReadOnlySpan<byte> GetCultureName(int localeNameIndice)
         {
-            ushort index = s_localesNamesIndexes[localeNameIndice];
-            return CultureNames.Slice(index >> 4, index & 0xF);
+            ReadOnlySpan<byte> localesNamesIndexes = LocalesNamesIndexes;
+            int index = localeNameIndice * 2;
+
+            int high = localesNamesIndexes[index];
+            int low = localesNamesIndexes[index + 1];
+
+            int start = (high << 4) | (low >> 4);
+            int length = low & 0xF;
+
+            return CultureNames.Slice(start, length);
         }
 
         private static string GetString(ReadOnlySpan<byte> buffer)
diff --git a/src/libraries/System.Private.CoreLib/src/System/Globalization/IcuLocaleData.generator.cs b/src/libraries/System.Private.CoreLib/src/System/Globalization/IcuLocaleData.generator.cs
new file mode 100644 (file)
index 0000000..b632763
--- /dev/null
@@ -0,0 +1,1392 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+
+using System.Diagnostics;
+
+#pragma warning disable SA1001
+
+// This file contains the handling of Windows OS specific culture features.
+
+namespace System.Globalization
+{
+    internal static partial class IcuLocaleData
+    {
+        /*
+        // Program used to generate and validate the culture data
+        // input data needs to come sorted
+
+        private const int NUMERIC_LOCALE_DATA_COUNT_PER_ROW = 9;
+
+        internal const int CommaSep = 0 << 4;
+        internal const int SemicolonSep = 1 << 4;
+        internal const int ArabicCommaSep = 2 << 4;
+        internal const int ArabicSemicolonSep = 3 << 4;
+        internal const int DoubleCommaSep = 4 << 4;
+
+        private const int CulturesCount = 864;
+        // s_nameIndexToNumericData is mapping from index in s_localeNamesIndices to locale data.
+        // each row in the table will have the following data:
+        //      Lcid, Ansi codepage, Oem codepage, MAC codepage, EBCDIC codepage, Geo Id, Digit Substitution | ListSeparator, specific locale index, Console locale index
+        private static readonly int[] s_nameIndexToNumericData = new int[CulturesCount * NUMERIC_LOCALE_DATA_COUNT_PER_ROW]
+        {
+            // Lcid,  Ansi CP, Oem CP, MAC CP, EBCDIC CP, Geo Id, digit substitution | ListSeparator, Specific culture index, Console locale index  // index - locale name
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x49  , 1 | SemicolonSep      , 3   , 240 , // 0    - aa
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x3e  , 1 | SemicolonSep      , 1   , 240 , // 1    - aa-dj
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x47  , 1 | SemicolonSep      , 2   , 240 , // 2    - aa-er
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x49  , 1 | SemicolonSep      , 3   , 240 , // 3    - aa-et
+            0x36   , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd1  , 1 | SemicolonSep      , 6   , 6   , // 4    - af
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xfe  , 1 | SemicolonSep      , 5   , 240 , // 5    - af-na
+            0x436  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd1  , 1 | SemicolonSep      , 6   , 6   , // 6    - af-za
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 | SemicolonSep      , 8   , 240 , // 7    - agq
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 | SemicolonSep      , 8   , 240 , // 8    - agq-cm
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x59  , 1 | SemicolonSep      , 10  , 240 , // 9    - ak
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x59  , 1 | SemicolonSep      , 10  , 240 , // 10   - ak-gh
+            0x5e   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x49  , 1 | SemicolonSep      , 12  , 143 , // 11   - am
+            0x45e  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x49  , 1 | SemicolonSep      , 12  , 143 , // 12   - am-et
+            0x1    , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xcd  , 0 | SemicolonSep      , 33  , 143 , // 13   - ar
+            0x1000 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x989e, 0 | SemicolonSep      , 14  , 240 , // 14   - ar-001
+            0x3801 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xe0  , 0 | SemicolonSep      , 15  , 143 , // 15   - ar-ae
+            0x3c01 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x11  , 0 | SemicolonSep      , 16  , 143 , // 16   - ar-bh
+            0x1000 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x3e  , 0 | SemicolonSep      , 17  , 240 , // 17   - ar-dj
+            0x1401 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x4   , 1 | SemicolonSep      , 18  , 300 , // 18   - ar-dz
+            0xc01  , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x43  , 0 | SemicolonSep      , 19  , 143 , // 19   - ar-eg
+            0x1000 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x47  , 0 | SemicolonSep      , 20  , 240 , // 20   - ar-er
+            0x1000 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x75  , 0 | SemicolonSep      , 21  , 240 , // 21   - ar-il
+            0x801  , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x79  , 0 | SemicolonSep      , 22  , 143 , // 22   - ar-iq
+            0x2c01 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x7e  , 0 | SemicolonSep      , 23  , 143 , // 23   - ar-jo
+            0x1000 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x32  , 0 | SemicolonSep      , 24  , 240 , // 24   - ar-km
+            0x3401 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x88  , 0 | SemicolonSep      , 25  , 143 , // 25   - ar-kw
+            0x3001 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x8b  , 0 | SemicolonSep      , 26  , 143 , // 26   - ar-lb
+            0x1001 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x94  , 1 | SemicolonSep      , 27  , 143 , // 27   - ar-ly
+            0x1801 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x9f  , 1 | SemicolonSep      , 28  , 300 , // 28   - ar-ma
+            0x1000 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xa2  , 0 | SemicolonSep      , 29  , 240 , // 29   - ar-mr
+            0x2001 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xa4  , 0 | SemicolonSep      , 30  , 143 , // 30   - ar-om
+            0x1000 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xb8  , 0 | SemicolonSep      , 31  , 240 , // 31   - ar-ps
+            0x4001 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xc5  , 0 | SemicolonSep      , 32  , 143 , // 32   - ar-qa
+            0x401  , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xcd  , 0 | SemicolonSep      , 33  , 143 , // 33   - ar-sa
+            0x1000 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xdb  , 0 | SemicolonSep      , 34  , 240 , // 34   - ar-sd
+            0x1000 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xd8  , 0 | SemicolonSep      , 35  , 240 , // 35   - ar-so
+            0x1000 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x114 , 0 | SemicolonSep      , 36  , 240 , // 36   - ar-ss
+            0x2801 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xde  , 0 | SemicolonSep      , 37  , 143 , // 37   - ar-sy
+            0x1000 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x29  , 0 | SemicolonSep      , 38  , 240 , // 38   - ar-td
+            0x1c01 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xea  , 1 | SemicolonSep      , 39  , 300 , // 39   - ar-tn
+            0x2401 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x105 , 0 | SemicolonSep      , 40  , 143 , // 40   - ar-ye
+            0x7a   , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x2e  , 1 | CommaSep          , 42  , 42  , // 41   - arn
+            0x47a  , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x2e  , 1 | CommaSep          , 42  , 42  , // 42   - arn-cl
+            0x4d   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | CommaSep          , 44  , 143 , // 43   - as
+            0x44d  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | CommaSep          , 44  , 143 , // 44   - as-in
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 | SemicolonSep      , 46  , 240 , // 45   - asa
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 | SemicolonSep      , 46  , 240 , // 46   - asa-tz
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd9  , 1 | SemicolonSep      , 48  , 240 , // 47   - ast
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd9  , 1 | SemicolonSep      , 48  , 240 , // 48   - ast-es
+            0x2c   , 0x4e6 , 0x359 , 0x2761, 0x51a9, 0x5   , 1 | SemicolonSep      , 53  , 53  , // 49   - az
+            0x742c , 0x4e3 , 0x362 , 0x2717, 0x5190, 0x5   , 1 | SemicolonSep      , 51  , 51  , // 50   - az-cyrl
+            0x82c  , 0x4e3 , 0x362 , 0x2717, 0x5190, 0x5   , 1 | SemicolonSep      , 51  , 51  , // 51   - az-cyrl-az
+            0x782c , 0x4e6 , 0x359 , 0x2761, 0x51a9, 0x5   , 1 | SemicolonSep      , 53  , 53  , // 52   - az-latn
+            0x42c  , 0x4e6 , 0x359 , 0x2761, 0x51a9, 0x5   , 1 | SemicolonSep      , 53  , 53  , // 53   - az-latn-az
+            0x6d   , 0x4e3 , 0x362 , 0x2717, 0x5190, 0xcb  , 1 | SemicolonSep      , 55  , 55  , // 54   - ba
+            0x46d  , 0x4e3 , 0x362 , 0x2717, 0x5190, 0xcb  , 1 | SemicolonSep      , 55  , 55  , // 55   - ba-ru
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 | SemicolonSep      , 57  , 240 , // 56   - bas
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 | SemicolonSep      , 57  , 240 , // 57   - bas-cm
+            0x23   , 0x4e3 , 0x362 , 0x2717, 0x1f4 , 0x1d  , 1 | SemicolonSep      , 59  , 59  , // 58   - be
+            0x423  , 0x4e3 , 0x362 , 0x2717, 0x1f4 , 0x1d  , 1 | SemicolonSep      , 59  , 59  , // 59   - be-by
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x107 , 1 | SemicolonSep      , 61  , 240 , // 60   - bem
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x107 , 1 | SemicolonSep      , 61  , 240 , // 61   - bem-zm
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 | SemicolonSep      , 63  , 240 , // 62   - bez
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 | SemicolonSep      , 63  , 240 , // 63   - bez-tz
+            0x2    , 0x4e3 , 0x362 , 0x2717, 0x5221, 0x23  , 1 | SemicolonSep      , 65  , 65  , // 64   - bg
+            0x402  , 0x4e3 , 0x362 , 0x2717, 0x5221, 0x23  , 1 | SemicolonSep      , 65  , 65  , // 65   - bg-bg
+            0x66   , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xaf  , 1 | SemicolonSep      , 67  , 240 , // 66   - bin
+            0x466  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xaf  , 1 | SemicolonSep      , 67  , 240 , // 67   - bin-ng
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9d  , 1 | SemicolonSep      , 70  , 240 , // 68   - bm
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9d  , 1 | SemicolonSep      , 70  , 240 , // 69   - bm-latn
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9d  , 1 | SemicolonSep      , 70  , 240 , // 70   - bm-latn-ml
+            0x45   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x17  , 1 | CommaSep          , 72  , 143 , // 71   - bn
+            0x845  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x17  , 1 | CommaSep          , 72  , 143 , // 72   - bn-bd
+            0x445  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | CommaSep          , 73  , 143 , // 73   - bn-in
+            0x51   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x2d  , 1 | CommaSep          , 75  , 143 , // 74   - bo
+            0x451  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x2d  , 1 | CommaSep          , 75  , 143 , // 75   - bo-cn
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | SemicolonSep      , 76  , 240 , // 76   - bo-in
+            0x7e   , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x54  , 1 | SemicolonSep      , 78  , 78  , // 77   - br
+            0x47e  , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x54  , 1 | SemicolonSep      , 78  , 78  , // 78   - br-fr
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | SemicolonSep      , 80  , 240 , // 79   - brx
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | SemicolonSep      , 80  , 240 , // 80   - brx-in
+            0x781a , 0x4e2 , 0x354 , 0x2762, 0x366 , 0x19  , 1 | SemicolonSep      , 85  , 85  , // 81   - bs
+            0x641a , 0x4e3 , 0x357 , 0x2762, 0x366 , 0x19  , 1 | SemicolonSep      , 83  , 83  , // 82   - bs-cyrl
+            0x201a , 0x4e3 , 0x357 , 0x2762, 0x366 , 0x19  , 1 | SemicolonSep      , 83  , 83  , // 83   - bs-cyrl-ba
+            0x681a , 0x4e2 , 0x354 , 0x2762, 0x366 , 0x19  , 1 | SemicolonSep      , 85  , 85  , // 84   - bs-latn
+            0x141a , 0x4e2 , 0x354 , 0x2762, 0x366 , 0x19  , 1 | SemicolonSep      , 85  , 85  , // 85   - bs-latn-ba
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x47  , 1 | SemicolonSep      , 87  , 240 , // 86   - byn
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x47  , 1 | SemicolonSep      , 87  , 240 , // 87   - byn-er
+            0x3    , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd9  , 1 | SemicolonSep      , 90  , 90  , // 88   - ca
+            0x1000 , 0x4e4 , 0x352 , 0x2   , 0x1f4 , 0x8   , 1 | SemicolonSep      , 89  , 240 , // 89   - ca-ad
+            0x403  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd9  , 1 | SemicolonSep      , 90  , 90  , // 90   - ca-es
+            0x803  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd9  , 1 | SemicolonSep      , 91  , 90  , // 91   - ca-es-valencia
+            0x1000 , 0x4e4 , 0x352 , 0x2   , 0x1f4 , 0x54  , 1 | SemicolonSep      , 92  , 240 , // 92   - ca-fr
+            0x1000 , 0x4e4 , 0x352 , 0x2   , 0x1f4 , 0x76  , 1 | SemicolonSep      , 93  , 240 , // 93   - ca-it
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xcb  , 1 | SemicolonSep      , 95  , 240 , // 94   - ce
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xcb  , 1 | SemicolonSep      , 95  , 240 , // 95   - ce-ru
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf0  , 1 | SemicolonSep      , 97  , 240 , // 96   - cgg
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf0  , 1 | SemicolonSep      , 97  , 240 , // 97   - cgg-ug
+            0x5c   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf4  , 1 | CommaSep          , 100 , 240 , // 98   - chr
+            0x7c5c , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf4  , 1 | CommaSep          , 100 , 240 , // 99   - chr-cher
+            0x45c  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf4  , 1 | CommaSep          , 100 , 240 , // 100  - chr-cher-us
+            0x83   , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x54  , 1 | SemicolonSep      , 102 , 102 , // 101  - co
+            0x483  , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x54  , 1 | SemicolonSep      , 102 , 102 , // 102  - co-fr
+            0x5    , 0x4e2 , 0x354 , 0x272d, 0x1f4 , 0x4b  , 1 | SemicolonSep      , 104 , 104 , // 103  - cs
+            0x405  , 0x4e2 , 0x354 , 0x272d, 0x1f4 , 0x4b  , 1 | SemicolonSep      , 104 , 104 , // 104  - cs-cz
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xcb  , 1 | SemicolonSep      , 106 , 240 , // 105  - cu
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xcb  , 1 | SemicolonSep      , 106 , 240 , // 106  - cu-ru
+            0x52   , 0x4e4 , 0x352 , 0x2710, 0x4f3d, 0xf2  , 1 | SemicolonSep      , 108 , 108 , // 107  - cy
+            0x452  , 0x4e4 , 0x352 , 0x2710, 0x4f3d, 0xf2  , 1 | SemicolonSep      , 108 , 108 , // 108  - cy-gb
+            0x6    , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0x3d  , 1 | SemicolonSep      , 110 , 110 , // 109  - da
+            0x406  , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0x3d  , 1 | SemicolonSep      , 110 , 110 , // 110  - da-dk
+            0x1000 , 0x4e4 , 0x352 , 0x2   , 0x1f4 , 0x5d  , 1 | SemicolonSep      , 111 , 240 , // 111  - da-gl
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 | SemicolonSep      , 113 , 240 , // 112  - dav
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 | SemicolonSep      , 113 , 240 , // 113  - dav-ke
+            0x7    , 0x4e4 , 0x352 , 0x2710, 0x4f31, 0x5e  , 1 | SemicolonSep      , 118 , 118 , // 114  - de
+            0xc07  , 0x4e4 , 0x352 , 0x2710, 0x4f31, 0xe   , 1 | SemicolonSep      , 115 , 115 , // 115  - de-at
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f31, 0x15  , 1 | SemicolonSep      , 116 , 240 , // 116  - de-be
+            0x807  , 0x4e4 , 0x352 , 0x2710, 0x4f31, 0xdf  , 1 | SemicolonSep      , 117 , 117 , // 117  - de-ch
+            0x407  , 0x4e4 , 0x352 , 0x2710, 0x4f31, 0x5e  , 1 | SemicolonSep      , 118 , 118 , // 118  - de-de
+            0x10407, 0x4e4 , 0x352 , 0x2710, 0x4f31, 0x5e  , 1 | SemicolonSep      , 118 , 118 , // 119  - de-de_phoneb
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x76  , 1 | SemicolonSep      , 120 , 240 , // 120  - de-it
+            0x1407 , 0x4e4 , 0x352 , 0x2710, 0x4f31, 0x91  , 1 | SemicolonSep      , 121 , 121 , // 121  - de-li
+            0x1007 , 0x4e4 , 0x352 , 0x2710, 0x4f31, 0x93  , 1 | SemicolonSep      , 122 , 122 , // 122  - de-lu
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xad  , 1 | SemicolonSep      , 124 , 240 , // 123  - dje
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xad  , 1 | SemicolonSep      , 124 , 240 , // 124  - dje-ne
+            0x7c2e , 0x4e4 , 0x352 , 0x2710, 0x366 , 0x5e  , 1 | SemicolonSep      , 126 , 126 , // 125  - dsb
+            0x82e  , 0x4e4 , 0x352 , 0x2710, 0x366 , 0x5e  , 1 | SemicolonSep      , 126 , 126 , // 126  - dsb-de
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 | SemicolonSep      , 128 , 240 , // 127  - dua
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 | SemicolonSep      , 128 , 240 , // 128  - dua-cm
+            0x65   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xa5  , 1 | ArabicCommaSep    , 130 , 143 , // 129  - dv
+            0x465  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xa5  , 1 | ArabicCommaSep    , 130 , 143 , // 130  - dv-mv
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd2  , 1 | SemicolonSep      , 132 , 240 , // 131  - dyo
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd2  , 1 | SemicolonSep      , 132 , 240 , // 132  - dyo-sn
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x22  , 2 | SemicolonSep      , 134 , 240 , // 133  - dz
+            0xc51  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x22  , 2 | SemicolonSep      , 134 , 240 , // 134  - dz-bt
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 | SemicolonSep      , 136 , 240 , // 135  - ebu
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 | SemicolonSep      , 136 , 240 , // 136  - ebu-ke
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x59  , 1 | SemicolonSep      , 138 , 240 , // 137  - ee
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x59  , 1 | SemicolonSep      , 138 , 240 , // 138  - ee-gh
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xe8  , 1 | SemicolonSep      , 139 , 240 , // 139  - ee-tg
+            0x8    , 0x4e5 , 0x2e1 , 0x2716, 0x4f31, 0x62  , 1 | SemicolonSep      , 142 , 142 , // 140  - el
+            0x1000 , 0x4e5 , 0x2e1 , 0x2716, 0x4f31, 0x3b  , 1 | SemicolonSep      , 141 , 240 , // 141  - el-cy
+            0x408  , 0x4e5 , 0x2e1 , 0x2716, 0x4f31, 0x62  , 1 | SemicolonSep      , 142 , 142 , // 142  - el-gr
+            0x9    , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0xf4  , 1 | CommaSep          , 240 , 240 , // 143  - en
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x989e, 1 | CommaSep          , 144 , 240 , // 144  - en-001
+            0x2409 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x993248, 1 | CommaSep        , 145 , 145 , // 145  - en-029
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x292d, 1 | CommaSep          , 146 , 240 , // 146  - en-150
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x2   , 1 | CommaSep          , 147 , 240 , // 147  - en-ag
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x12c , 1 | CommaSep          , 148 , 240 , // 148  - en-ai
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xa   , 1 | CommaSep          , 149 , 240 , // 149  - en-as
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xe   , 1 | CommaSep          , 150 , 240 , // 150  - en-at
+            0xc09  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xc   , 1 | CommaSep          , 151 , 151 , // 151  - en-au
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x12  , 1 | CommaSep          , 152 , 240 , // 152  - en-bb
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x15  , 1 | CommaSep          , 153 , 240 , // 153  - en-be
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x26  , 1 | CommaSep          , 154 , 240 , // 154  - en-bi
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x14  , 1 | CommaSep          , 155 , 240 , // 155  - en-bm
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x16  , 1 | CommaSep          , 156 , 240 , // 156  - en-bs
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x13  , 1 | CommaSep          , 157 , 240 , // 157  - en-bw
+            0x2809 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x18  , 1 | CommaSep          , 158 , 158 , // 158  - en-bz
+            0x1009 , 0x4e4 , 0x352 , 0x2710, 0x25  , 0x27  , 1 | CommaSep          , 159 , 159 , // 159  - en-ca
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x137 , 1 | CommaSep          , 160 , 240 , // 160  - en-cc
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xdf  , 1 | CommaSep          , 161 , 240 , // 161  - en-ch
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x138 , 1 | CommaSep          , 162 , 240 , // 162  - en-ck
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x31  , 1 | CommaSep          , 163 , 240 , // 163  - en-cm
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x135 , 1 | CommaSep          , 164 , 240 , // 164  - en-cx
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x3b  , 1 | CommaSep          , 165 , 240 , // 165  - en-cy
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x5e  , 1 | CommaSep          , 166 , 240 , // 166  - en-de
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x3d  , 1 | CommaSep          , 167 , 240 , // 167  - en-dk
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x3f  , 1 | CommaSep          , 168 , 240 , // 168  - en-dm
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x47  , 1 | CommaSep          , 169 , 240 , // 169  - en-er
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x4d  , 1 | CommaSep          , 170 , 240 , // 170  - en-fi
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x4e  , 1 | CommaSep          , 171 , 240 , // 171  - en-fj
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x13b , 1 | CommaSep          , 172 , 240 , // 172  - en-fk
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x50  , 1 | CommaSep          , 173 , 240 , // 173  - en-fm
+            0x809  , 0x4e4 , 0x352 , 0x2710, 0x4f3d, 0xf2  , 1 | CommaSep          , 174 , 174 , // 174  - en-gb
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x5b  , 1 | CommaSep          , 175 , 240 , // 175  - en-gd
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x144 , 1 | CommaSep          , 176 , 240 , // 176  - en-gg
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x59  , 1 | CommaSep          , 177 , 240 , // 177  - en-gh
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x5a  , 1 | CommaSep          , 178 , 240 , // 178  - en-gi
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x56  , 1 | CommaSep          , 179 , 240 , // 179  - en-gm
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x142 , 1 | CommaSep          , 180 , 240 , // 180  - en-gu
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x65  , 1 | CommaSep          , 181 , 240 , // 181  - en-gy
+            0x3c09 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x68  , 1 | CommaSep          , 182 , 240 , // 182  - en-hk
+            0x3809 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x6f  , 1 | SemicolonSep      , 183 , 240 , // 183  - en-id
+            0x1809 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x44  , 1 | CommaSep          , 184 , 184 , // 184  - en-ie
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x75  , 1 | CommaSep          , 185 , 240 , // 185  - en-il
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x3b16, 1 | CommaSep          , 186 , 240 , // 186  - en-im
+            0x4009 , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0x71  , 1 | CommaSep          , 187 , 187 , // 187  - en-in
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x72  , 1 | CommaSep          , 188 , 240 , // 188  - en-io
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x148 , 1 | CommaSep          , 189 , 240 , // 189  - en-je
+            0x2009 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x7c  , 1 | CommaSep          , 190 , 190 , // 190  - en-jm
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x81  , 1 | CommaSep          , 191 , 240 , // 191  - en-ke
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x85  , 1 | CommaSep          , 192 , 240 , // 192  - en-ki
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xcf  , 1 | CommaSep          , 193 , 240 , // 193  - en-kn
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x133 , 1 | CommaSep          , 194 , 240 , // 194  - en-ky
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xda  , 1 | CommaSep          , 195 , 240 , // 195  - en-lc
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x8e  , 1 | CommaSep          , 196 , 240 , // 196  - en-lr
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x92  , 1 | CommaSep          , 197 , 240 , // 197  - en-ls
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x95  , 1 | CommaSep          , 198 , 240 , // 198  - en-mg
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xc7  , 1 | CommaSep          , 199 , 240 , // 199  - en-mh
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x97  , 1 | CommaSep          , 200 , 240 , // 200  - en-mo
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x151 , 1 | CommaSep          , 201 , 240 , // 201  - en-mp
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x14c , 1 | CommaSep          , 202 , 240 , // 202  - en-ms
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xa3  , 1 | CommaSep          , 203 , 240 , // 203  - en-mt
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xa0  , 1 | CommaSep          , 204 , 240 , // 204  - en-mu
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x9c  , 1 | CommaSep          , 205 , 240 , // 205  - en-mw
+            0x4409 , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0xa7  , 1 | CommaSep          , 206 , 206 , // 206  - en-my
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xfe  , 1 | CommaSep          , 207 , 240 , // 207  - en-na
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x150 , 1 | CommaSep          , 208 , 240 , // 208  - en-nf
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xaf  , 1 | CommaSep          , 209 , 240 , // 209  - en-ng
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xb0  , 1 | CommaSep          , 210 , 240 , // 210  - en-nl
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xb4  , 1 | CommaSep          , 211 , 240 , // 211  - en-nr
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x14f , 1 | CommaSep          , 212 , 240 , // 212  - en-nu
+            0x1409 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xb7  , 1 | CommaSep          , 213 , 213 , // 213  - en-nz
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xc2  , 1 | CommaSep          , 214 , 240 , // 214  - en-pg
+            0x3409 , 0x4e4 , 0x1b5 , 0x2710, 0x1f4 , 0xc9  , 1 | CommaSep          , 215 , 215 , // 215  - en-ph
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xbe  , 1 | CommaSep          , 216 , 240 , // 216  - en-pk
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x153 , 1 | CommaSep          , 217 , 240 , // 217  - en-pn
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xca  , 1 | CommaSep          , 218 , 240 , // 218  - en-pr
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xc3  , 1 | CommaSep          , 219 , 240 , // 219  - en-pw
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xcc  , 1 | CommaSep          , 220 , 240 , // 220  - en-rw
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x1e  , 1 | CommaSep          , 221 , 240 , // 221  - en-sb
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd0  , 1 | CommaSep          , 222 , 240 , // 222  - en-sc
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xdb  , 1 | CommaSep          , 223 , 240 , // 223  - en-sd
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xdd  , 1 | CommaSep          , 224 , 240 , // 224  - en-se
+            0x4809 , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0xd7  , 1 | CommaSep          , 225 , 225 , // 225  - en-sg
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x157 , 1 | CommaSep          , 226 , 240 , // 226  - en-sh
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd4  , 1 | CommaSep          , 227 , 240 , // 227  - en-si
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd5  , 1 | CommaSep          , 228 , 240 , // 228  - en-sl
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x114 , 1 | CommaSep          , 229 , 240 , // 229  - en-ss
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x78f7, 1 | CommaSep          , 230 , 240 , // 230  - en-sx
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x104 , 1 | CommaSep          , 231 , 240 , // 231  - en-sz
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x15d , 1 | CommaSep          , 232 , 240 , // 232  - en-tc
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x15b , 1 | CommaSep          , 233 , 240 , // 233  - en-tk
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xe7  , 1 | CommaSep          , 234 , 240 , // 234  - en-to
+            0x2c09 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xe1  , 1 | CommaSep          , 235 , 235 , // 235  - en-tt
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xec  , 1 | CommaSep          , 236 , 240 , // 236  - en-tv
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xef  , 1 | CommaSep          , 237 , 240 , // 237  - en-tz
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xf0  , 1 | CommaSep          , 238 , 240 , // 238  - en-ug
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x9a55d40,1 | CommaSep        , 239 , 240 , // 239  - en-um
+            0x409  , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0xf4  , 1 | CommaSep          , 240 , 240 , // 240  - en-us
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xf8  , 1 | CommaSep          , 241 , 240 , // 241  - en-vc
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x15f , 1 | CommaSep          , 242 , 240 , // 242  - en-vg
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xfc  , 1 | CommaSep          , 243 , 240 , // 243  - en-vi
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xae  , 1 | CommaSep          , 244 , 240 , // 244  - en-vu
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x103 , 1 | CommaSep          , 245 , 240 , // 245  - en-ws
+            0x1c09 , 0x4e4 , 0x1b5 , 0x2710, 0x1f4 , 0xd1  , 1 | CommaSep          , 246 , 246 , // 246  - en-za
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x107 , 1 | CommaSep          , 247 , 240 , // 247  - en-zm
+            0x3009 , 0x4e4 , 0x1b5 , 0x2710, 0x1f4 , 0x108 , 1 | CommaSep          , 248 , 248 , // 248  - en-zw
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x989e, 1 | SemicolonSep      , 250 , 240 , // 249  - eo
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x989e, 1 | SemicolonSep      , 250 , 240 , // 250  - eo-001
+            0xa    , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xd9  , 1 | SemicolonSep      , 262 , 262 , // 251  - es
+            0x580a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x9a55d41, 1 | SemicolonSep   , 252 , 240 , // 252  - es-419
+            0x2c0a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xb   , 1 | SemicolonSep      , 253 , 253 , // 253  - es-ar
+            0x400a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x1a  , 1 | SemicolonSep      , 254 , 254 , // 254  - es-bo
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x20  , 1 | SemicolonSep      , 255 , 240 , // 255  - es-br
+            0x340a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x2e  , 1 | SemicolonSep      , 256 , 256 , // 256  - es-cl
+            0x240a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x33  , 1 | SemicolonSep      , 257 , 257 , // 257  - es-co
+            0x140a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x36  , 1 | SemicolonSep      , 258 , 258 , // 258  - es-cr
+            0x5c0a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x38  , 1 | SemicolonSep      , 259 , 240 , // 259  - es-cu
+            0x1c0a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x41  , 1 | SemicolonSep      , 260 , 260 , // 260  - es-do
+            0x300a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x42  , 1 | SemicolonSep      , 261 , 261 , // 261  - es-ec
+            0xc0a  , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xd9  , 1 | SemicolonSep      , 262 , 262 , // 262  - es-es
+            0x40a  , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xd9  , 1 | SemicolonSep      , 263 , 263 , // 263  - es-es_tradnl
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x45  , 1 | SemicolonSep      , 264 , 240 , // 264  - es-gq
+            0x100a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x63  , 1 | SemicolonSep      , 265 , 265 , // 265  - es-gt
+            0x480a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x6a  , 1 | SemicolonSep      , 266 , 266 , // 266  - es-hn
+            0x80a  , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xa6  , 1 | CommaSep          , 267 , 267 , // 267  - es-mx
+            0x4c0a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xb6  , 1 | SemicolonSep      , 268 , 268 , // 268  - es-ni
+            0x180a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xc0  , 1 | SemicolonSep      , 269 , 269 , // 269  - es-pa
+            0x280a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xbb  , 1 | SemicolonSep      , 270 , 270 , // 270  - es-pe
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xc9  , 1 | SemicolonSep      , 271 , 240 , // 271  - es-ph
+            0x500a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xca  , 1 | SemicolonSep      , 272 , 272 , // 272  - es-pr
+            0x3c0a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xb9  , 1 | SemicolonSep      , 273 , 273 , // 273  - es-py
+            0x440a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x48  , 1 | SemicolonSep      , 274 , 274 , // 274  - es-sv
+            0x540a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xf4  , 1 | CommaSep          , 275 , 275 , // 275  - es-us
+            0x380a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xf6  , 1 | SemicolonSep      , 276 , 276 , // 276  - es-uy
+            0x200a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xf9  , 1 | SemicolonSep      , 277 , 277 , // 277  - es-ve
+            0x25   , 0x4e9 , 0x307 , 0x272d, 0x1f4 , 0x46  , 1 | SemicolonSep      , 279 , 279 , // 278  - et
+            0x425  , 0x4e9 , 0x307 , 0x272d, 0x1f4 , 0x46  , 1 | SemicolonSep      , 279 , 279 , // 279  - et-ee
+            0x2d   , 0x4e4 , 0x352 , 0x2   , 0x1f4 , 0xd9  , 1 | SemicolonSep      , 281 , 240 , // 280  - eu
+            0x42d  , 0x4e4 , 0x352 , 0x2   , 0x1f4 , 0xd9  , 1 | SemicolonSep      , 281 , 240 , // 281  - eu-es
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 | SemicolonSep      , 283 , 240 , // 282  - ewo
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 | SemicolonSep      , 283 , 240 , // 283  - ewo-cm
+            0x29   , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x74  , 0 | ArabicSemicolonSep, 285 , 143 , // 284  - fa
+            0x429  , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x74  , 0 | ArabicSemicolonSep, 285 , 143 , // 285  - fa-ir
+            0x67   , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xd2  , 1 | SemicolonSep      , 290 , 290 , // 286  - ff
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x31  , 1 | SemicolonSep      , 287 , 240 , // 287  - ff-cm
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x64  , 1 | SemicolonSep      , 288 , 240 , // 288  - ff-gn
+            0x7c67 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xd2  , 1 | SemicolonSep      , 290 , 290 , // 289  - ff-latn
+            0x867  , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xd2  , 1 | SemicolonSep      , 290 , 290 , // 290  - ff-latn-sn
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xa2  , 1 | SemicolonSep      , 291 , 240 , // 291  - ff-mr
+            0x467  , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xaf  , 1 | SemicolonSep      , 292 , 240 , // 292  - ff-ng
+            0xb    , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0x4d  , 1 | SemicolonSep      , 294 , 294 , // 293  - fi
+            0x40b  , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0x4d  , 1 | SemicolonSep      , 294 , 294 , // 294  - fi-fi
+            0x64   , 0x4e4 , 0x1b5 , 0x2710, 0x1f4 , 0xc9  , 1 | SemicolonSep      , 296 , 296 , // 295  - fil
+            0x464  , 0x4e4 , 0x1b5 , 0x2710, 0x1f4 , 0xc9  , 1 | SemicolonSep      , 296 , 296 , // 296  - fil-ph
+            0x38   , 0x4e4 , 0x352 , 0x275f, 0x4f35, 0x51  , 1 | SemicolonSep      , 299 , 299 , // 297  - fo
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x3d  , 1 | SemicolonSep      , 298 , 240 , // 298  - fo-dk
+            0x438  , 0x4e4 , 0x352 , 0x275f, 0x4f35, 0x51  , 1 | SemicolonSep      , 299 , 299 , // 299  - fo-fo
+            0xc    , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x54  , 1 | SemicolonSep      , 316 , 316 , // 300  - fr
+            0x1c0c , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x993248, 1 | SemicolonSep    , 301 , 316 , // 301  - fr-029
+            0x80c  , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x15  , 1 | SemicolonSep      , 302 , 302 , // 302  - fr-be
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xf5  , 1 | SemicolonSep      , 303 , 240 , // 303  - fr-bf
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x26  , 1 | SemicolonSep      , 304 , 240 , // 304  - fr-bi
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x1c  , 1 | SemicolonSep      , 305 , 240 , // 305  - fr-bj
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x9a55c4f, 1 | SemicolonSep   , 306 , 240 , // 306  - fr-bl
+            0xc0c  , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x27  , 1 | SemicolonSep      , 307 , 307 , // 307  - fr-ca
+            0x240c , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x2c  , 1 | SemicolonSep      , 308 , 240 , // 308  - fr-cd
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x37  , 1 | SemicolonSep      , 309 , 240 , // 309  - fr-cf
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x2b  , 1 | SemicolonSep      , 310 , 240 , // 310  - fr-cg
+            0x100c , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xdf  , 1 | SemicolonSep      , 311 , 311 , // 311  - fr-ch
+            0x300c , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x77  , 1 | SemicolonSep      , 312 , 240 , // 312  - fr-ci
+            0x2c0c , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x31  , 1 | SemicolonSep      , 313 , 240 , // 313  - fr-cm
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x3e  , 1 | SemicolonSep      , 314 , 240 , // 314  - fr-dj
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x4   , 1 | SemicolonSep      , 315 , 240 , // 315  - fr-dz
+            0x40c  , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x54  , 1 | SemicolonSep      , 316 , 316 , // 316  - fr-fr
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x57  , 1 | SemicolonSep      , 317 , 240 , // 317  - fr-ga
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x13d , 1 | SemicolonSep      , 318 , 240 , // 318  - fr-gf
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x64  , 1 | SemicolonSep      , 319 , 240 , // 319  - fr-gn
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x141 , 1 | SemicolonSep      , 320 , 240 , // 320  - fr-gp
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x45  , 1 | SemicolonSep      , 321 , 240 , // 321  - fr-gq
+            0x3c0c , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x67  , 1 | SemicolonSep      , 322 , 240 , // 322  - fr-ht
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x32  , 1 | SemicolonSep      , 323 , 240 , // 323  - fr-km
+            0x140c , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x93  , 1 | SemicolonSep      , 324 , 324 , // 324  - fr-lu
+            0x380c , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x9f  , 1 | SemicolonSep      , 325 , 240 , // 325  - fr-ma
+            0x180c , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x9e  , 1 | SemicolonSep      , 326 , 326 , // 326  - fr-mc
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x7bda, 1 | SemicolonSep      , 327 , 240 , // 327  - fr-mf
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x95  , 1 | SemicolonSep      , 328 , 240 , // 328  - fr-mg
+            0x340c , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x9d  , 1 | SemicolonSep      , 329 , 240 , // 329  - fr-ml
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x14a , 1 | SemicolonSep      , 330 , 240 , // 330  - fr-mq
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xa2  , 1 | SemicolonSep      , 331 , 240 , // 331  - fr-mr
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xa0  , 1 | SemicolonSep      , 332 , 240 , // 332  - fr-mu
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x14e , 1 | SemicolonSep      , 333 , 240 , // 333  - fr-nc
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xad  , 1 | SemicolonSep      , 334 , 240 , // 334  - fr-ne
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x13e , 1 | SemicolonSep      , 335 , 240 , // 335  - fr-pf
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xce  , 1 | SemicolonSep      , 336 , 240 , // 336  - fr-pm
+            0x200c , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xc6  , 1 | SemicolonSep      , 337 , 240 , // 337  - fr-re
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xcc  , 1 | SemicolonSep      , 338 , 240 , // 338  - fr-rw
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xd0  , 1 | SemicolonSep      , 339 , 240 , // 339  - fr-sc
+            0x280c , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xd2  , 1 | SemicolonSep      , 340 , 240 , // 340  - fr-sn
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xde  , 1 | SemicolonSep      , 341 , 240 , // 341  - fr-sy
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x29  , 1 | SemicolonSep      , 342 , 240 , // 342  - fr-td
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xe8  , 1 | SemicolonSep      , 343 , 240 , // 343  - fr-tg
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xea  , 1 | SemicolonSep      , 344 , 240 , // 344  - fr-tn
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xae  , 1 | SemicolonSep      , 345 , 240 , // 345  - fr-vu
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x160 , 1 | SemicolonSep      , 346 , 240 , // 346  - fr-wf
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x14b , 1 | SemicolonSep      , 347 , 240 , // 347  - fr-yt
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x76  , 1 | SemicolonSep      , 349 , 240 , // 348  - fur
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x76  , 1 | SemicolonSep      , 349 , 240 , // 349  - fur-it
+            0x62   , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xb0  , 1 | SemicolonSep      , 351 , 351 , // 350  - fy
+            0x462  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xb0  , 1 | SemicolonSep      , 351 , 351 , // 351  - fy-nl
+            0x3c   , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x44  , 1 | SemicolonSep      , 353 , 353 , // 352  - ga
+            0x83c  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x44  , 1 | SemicolonSep      , 353 , 353 , // 353  - ga-ie
+            0x91   , 0x4e4 , 0x352 , 0x2710, 0x4f3d, 0xf2  , 1 | SemicolonSep      , 355 , 355 , // 354  - gd
+            0x491  , 0x4e4 , 0x352 , 0x2710, 0x4f3d, 0xf2  , 1 | SemicolonSep      , 355 , 355 , // 355  - gd-gb
+            0x56   , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd9  , 1 | SemicolonSep      , 357 , 357 , // 356  - gl
+            0x456  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd9  , 1 | SemicolonSep      , 357 , 357 , // 357  - gl-es
+            0x74   , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xb9  , 1 | CommaSep          , 359 , 359 , // 358  - gn
+            0x474  , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xb9  , 1 | CommaSep          , 359 , 359 , // 359  - gn-py
+            0x84   , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xdf  , 1 | SemicolonSep      , 361 , 240 , // 360  - gsw
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xdf  , 1 | SemicolonSep      , 361 , 240 , // 361  - gsw-ch
+            0x484  , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x54  , 1 | SemicolonSep      , 362 , 362 , // 362  - gsw-fr
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x91  , 1 | SemicolonSep      , 363 , 240 , // 363  - gsw-li
+            0x47   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | CommaSep          , 365 , 143 , // 364  - gu
+            0x447  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | CommaSep          , 365 , 143 , // 365  - gu-in
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 | SemicolonSep      , 367 , 240 , // 366  - guz
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 | SemicolonSep      , 367 , 240 , // 367  - guz-ke
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x3b16, 1 | SemicolonSep      , 369 , 240 , // 368  - gv
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x3b16, 1 | SemicolonSep      , 369 , 240 , // 369  - gv-im
+            0x68   , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0xaf  , 1 | SemicolonSep      , 374 , 374 , // 370  - ha
+            0x7c68 , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0xaf  , 1 | SemicolonSep      , 374 , 374 , // 371  - ha-latn
+            0x1000 , 0x4e4 , 0x1b5 , 0x2710, 0x1f4 , 0x59  , 1 | SemicolonSep      , 372 , 240 , // 372  - ha-latn-gh
+            0x1000 , 0x4e4 , 0x1b5 , 0x2710, 0x1f4 , 0xad  , 1 | SemicolonSep      , 373 , 240 , // 373  - ha-latn-ne
+            0x468  , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0xaf  , 1 | SemicolonSep      , 374 , 374 , // 374  - ha-latn-ng
+            0x75   , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0xf4  , 1 | SemicolonSep      , 376 , 376 , // 375  - haw
+            0x475  , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0xf4  , 1 | SemicolonSep      , 376 , 376 , // 376  - haw-us
+            0xd    , 0x4e7 , 0x35e , 0x2715, 0x1f4 , 0x75  , 1 | CommaSep          , 378 , 143 , // 377  - he
+            0x40d  , 0x4e7 , 0x35e , 0x2715, 0x1f4 , 0x75  , 1 | CommaSep          , 378 , 143 , // 378  - he-il
+            0x39   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | CommaSep          , 380 , 143 , // 379  - hi
+            0x439  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | CommaSep          , 380 , 143 , // 380  - hi-in
+            0x1a   , 0x4e2 , 0x354 , 0x2762, 0x1f4 , 0x6c  , 1 | SemicolonSep      , 383 , 383 , // 381  - hr
+            0x101a , 0x4e2 , 0x354 , 0x2762, 0x366 , 0x19  , 1 | SemicolonSep      , 382 , 382 , // 382  - hr-ba
+            0x41a  , 0x4e2 , 0x354 , 0x2762, 0x1f4 , 0x6c  , 1 | SemicolonSep      , 383 , 383 , // 383  - hr-hr
+            0x2e   , 0x4e4 , 0x352 , 0x2710, 0x366 , 0x5e  , 1 | SemicolonSep      , 385 , 385 , // 384  - hsb
+            0x42e  , 0x4e4 , 0x352 , 0x2710, 0x366 , 0x5e  , 1 | SemicolonSep      , 385 , 385 , // 385  - hsb-de
+            0xe    , 0x4e2 , 0x354 , 0x272d, 0x1f4 , 0x6d  , 1 | SemicolonSep      , 387 , 387 , // 386  - hu
+            0x40e  , 0x4e2 , 0x354 , 0x272d, 0x1f4 , 0x6d  , 1 | SemicolonSep      , 387 , 387 , // 387  - hu-hu
+            0x1040e, 0x4e2 , 0x354 , 0x272d, 0x1f4 , 0x6d  , 1 | SemicolonSep      , 387 , 387 , // 388  - hu-hu_technl
+            0x2b   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x7   , 1 | CommaSep          , 390 , 390 , // 389  - hy
+            0x42b  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x7   , 1 | CommaSep          , 390 , 390 , // 390  - hy-am
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x54  , 1 | SemicolonSep      , 393 , 240 , // 391  - ia
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x989e, 1 | SemicolonSep      , 392 , 240 , // 392  - ia-001
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x54  , 1 | SemicolonSep      , 393 , 240 , // 393  - ia-fr
+            0x69   , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xaf  , 1 | SemicolonSep      , 395 , 240 , // 394  - ibb
+            0x469  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xaf  , 1 | SemicolonSep      , 395 , 240 , // 395  - ibb-ng
+            0x21   , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x6f  , 1 | SemicolonSep      , 397 , 397 , // 396  - id
+            0x421  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x6f  , 1 | SemicolonSep      , 397 , 397 , // 397  - id-id
+            0x70   , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0xaf  , 1 | SemicolonSep      , 399 , 399 , // 398  - ig
+            0x470  , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0xaf  , 1 | SemicolonSep      , 399 , 399 , // 399  - ig-ng
+            0x78   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x2d  , 1 | SemicolonSep      , 401 , 143 , // 400  - ii
+            0x478  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x2d  , 1 | SemicolonSep      , 401 , 143 , // 401  - ii-cn
+            0xf    , 0x4e4 , 0x352 , 0x275f, 0x5187, 0x6e  , 1 | SemicolonSep      , 403 , 403 , // 402  - is
+            0x40f  , 0x4e4 , 0x352 , 0x275f, 0x5187, 0x6e  , 1 | SemicolonSep      , 403 , 403 , // 403  - is-is
+            0x10   , 0x4e4 , 0x352 , 0x2710, 0x4f38, 0x76  , 1 | SemicolonSep      , 406 , 406 , // 404  - it
+            0x810  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xdf  , 1 | SemicolonSep      , 405 , 405 , // 405  - it-ch
+            0x410  , 0x4e4 , 0x352 , 0x2710, 0x4f38, 0x76  , 1 | SemicolonSep      , 406 , 406 , // 406  - it-it
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f38, 0xd6  , 1 | SemicolonSep      , 407 , 240 , // 407  - it-sm
+            0x5d   , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0x27  , 1 | CommaSep          , 412 , 412 , // 408  - iu
+            0x785d , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x27  , 1 | CommaSep          , 410 , 143 , // 409  - iu-cans
+            0x45d  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x27  , 1 | CommaSep          , 410 , 143 , // 410  - iu-cans-ca
+            0x7c5d , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0x27  , 1 | CommaSep          , 412 , 412 , // 411  - iu-latn
+            0x85d  , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0x27  , 1 | CommaSep          , 412 , 412 , // 412  - iu-latn-ca
+            0x11   , 0x3a4 , 0x3a4 , 0x2711, 0x4f42, 0x7a  , 1 | CommaSep          , 414 , 414 , // 413  - ja
+            0x411  , 0x3a4 , 0x3a4 , 0x2711, 0x4f42, 0x7a  , 1 | CommaSep          , 414 , 414 , // 414  - ja-jp
+            0x40411, 0x3a4 , 0x3a4 , 0x2711, 0x4f42, 0x7a  , 1 | CommaSep          , 414 , 414 , // 415  - ja-jp_radstr
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 | SemicolonSep      , 417 , 240 , // 416  - jgo
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 | SemicolonSep      , 417 , 240 , // 417  - jgo-cm
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 | SemicolonSep      , 419 , 240 , // 418  - jmc
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 | SemicolonSep      , 419 , 240 , // 419  - jmc-tz
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x6f  , 1 | SemicolonSep      , 424 , 424 , // 420  - jv
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x6f  , 1 | SemicolonSep      , 422 , 424 , // 421  - jv-java
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x6f  , 1 | SemicolonSep      , 422 , 424 , // 422  - jv-java-id
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x6f  , 1 | SemicolonSep      , 424 , 424 , // 423  - jv-latn
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x6f  , 1 | SemicolonSep      , 424 , 424 , // 424  - jv-latn-id
+            0x37   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x58  , 1 | SemicolonSep      , 426 , 426 , // 425  - ka
+            0x437  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x58  , 1 | SemicolonSep      , 426 , 426 , // 426  - ka-ge
+            0x10437, 0x0   , 0x1   , 0x2   , 0x1f4 , 0x58  , 1 | SemicolonSep      , 426 , 426 , // 427  - ka-ge_modern
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x4   , 1 | SemicolonSep      , 429 , 240 , // 428  - kab
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x4   , 1 | SemicolonSep      , 429 , 240 , // 429  - kab-dz
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 | SemicolonSep      , 431 , 240 , // 430  - kam
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 | SemicolonSep      , 431 , 240 , // 431  - kam-ke
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 | SemicolonSep      , 433 , 240 , // 432  - kde
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 | SemicolonSep      , 433 , 240 , // 433  - kde-tz
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x39  , 1 | SemicolonSep      , 435 , 240 , // 434  - kea
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x39  , 1 | SemicolonSep      , 435 , 240 , // 435  - kea-cv
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9d  , 1 | SemicolonSep      , 437 , 240 , // 436  - khq
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9d  , 1 | SemicolonSep      , 437 , 240 , // 437  - khq-ml
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 | SemicolonSep      , 439 , 240 , // 438  - ki
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 | SemicolonSep      , 439 , 240 , // 439  - ki-ke
+            0x3f   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x89  , 1 | SemicolonSep      , 441 , 441 , // 440  - kk
+            0x43f  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x89  , 1 | SemicolonSep      , 441 , 441 , // 441  - kk-kz
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 | SemicolonSep      , 443 , 240 , // 442  - kkj
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 | SemicolonSep      , 443 , 240 , // 443  - kkj-cm
+            0x6f   , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0x5d  , 1 | SemicolonSep      , 445 , 445 , // 444  - kl
+            0x46f  , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0x5d  , 1 | SemicolonSep      , 445 , 445 , // 445  - kl-gl
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 | SemicolonSep      , 447 , 240 , // 446  - kln
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 | SemicolonSep      , 447 , 240 , // 447  - kln-ke
+            0x53   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x28  , 2 | CommaSep          , 449 , 143 , // 448  - km
+            0x453  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x28  , 2 | CommaSep          , 449 , 143 , // 449  - km-kh
+            0x4b   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | CommaSep          , 451 , 143 , // 450  - kn
+            0x44b  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | CommaSep          , 451 , 143 , // 451  - kn-in
+            0x12   , 0x3b5 , 0x3b5 , 0x2713, 0x5161, 0x86  , 1 | CommaSep          , 454 , 454 , // 452  - ko
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x83  , 1 | SemicolonSep      , 453 , 240 , // 453  - ko-kp
+            0x412  , 0x3b5 , 0x3b5 , 0x2713, 0x5161, 0x86  , 1 | CommaSep          , 454 , 454 , // 454  - ko-kr
+            0x57   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | CommaSep          , 456 , 143 , // 455  - kok
+            0x457  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | CommaSep          , 456 , 143 , // 456  - kok-in
+            0x71   , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xaf  , 1 | SemicolonSep      , 458 , 240 , // 457  - kr
+            0x471  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xaf  , 1 | SemicolonSep      , 458 , 240 , // 458  - kr-ng
+            0x60   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 2 | SemicolonSep      , 461 , 240 , // 459  - ks
+            0x460  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 2 | SemicolonSep      , 461 , 240 , // 460  - ks-arab
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 2 | SemicolonSep      , 461 , 240 , // 461  - ks-arab-in
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | CommaSep          , 463 , 187 , // 462  - ks-deva
+            0x860  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | CommaSep          , 463 , 187 , // 463  - ks-deva-in
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 | SemicolonSep      , 465 , 240 , // 464  - ksb
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 | SemicolonSep      , 465 , 240 , // 465  - ksb-tz
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 | SemicolonSep      , 467 , 240 , // 466  - ksf
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 | SemicolonSep      , 467 , 240 , // 467  - ksf-cm
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x5e  , 1 | SemicolonSep      , 469 , 240 , // 468  - ksh
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x5e  , 1 | SemicolonSep      , 469 , 240 , // 469  - ksh-de
+            0x92   , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x79  , 0 | ArabicSemicolonSep, 472 , 143 , // 470  - ku
+            0x7c92 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x79  , 0 | ArabicSemicolonSep, 472 , 143 , // 471  - ku-arab
+            0x492  , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x79  , 0 | ArabicSemicolonSep, 472 , 143 , // 472  - ku-arab-iq
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x74  , 0 | SemicolonSep      , 473 , 240 , // 473  - ku-arab-ir
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf2  , 1 | SemicolonSep      , 475 , 240 , // 474  - kw
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf2  , 1 | SemicolonSep      , 475 , 240 , // 475  - kw-gb
+            0x40   , 0x4e3 , 0x362 , 0x2717, 0x5190, 0x82  , 1 | SemicolonSep      , 477 , 477 , // 476  - ky
+            0x440  , 0x4e3 , 0x362 , 0x2717, 0x5190, 0x82  , 1 | SemicolonSep      , 477 , 477 , // 477  - ky-kg
+            0x76   , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0x989e, 1 | CommaSep          , 479 , 143 , // 478  - la
+            0x476  , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0x989e, 1 | CommaSep          , 479 , 143 , // 479  - la-001
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 | SemicolonSep      , 481 , 240 , // 480  - lag
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 | SemicolonSep      , 481 , 240 , // 481  - lag-tz
+            0x6e   , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x93  , 1 | SemicolonSep      , 483 , 483 , // 482  - lb
+            0x46e  , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x93  , 1 | SemicolonSep      , 483 , 483 , // 483  - lb-lu
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf0  , 1 | SemicolonSep      , 485 , 240 , // 484  - lg
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf0  , 1 | SemicolonSep      , 485 , 240 , // 485  - lg-ug
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf4  , 1 | SemicolonSep      , 487 , 240 , // 486  - lkt
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf4  , 1 | SemicolonSep      , 487 , 240 , // 487  - lkt-us
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x2c  , 1 | SemicolonSep      , 490 , 240 , // 488  - ln
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9   , 1 | SemicolonSep      , 489 , 240 , // 489  - ln-ao
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x2c  , 1 | SemicolonSep      , 490 , 240 , // 490  - ln-cd
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x37  , 1 | SemicolonSep      , 491 , 240 , // 491  - ln-cf
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x2b  , 1 | SemicolonSep      , 492 , 240 , // 492  - ln-cg
+            0x54   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x8a  , 1 | SemicolonSep      , 494 , 143 , // 493  - lo
+            0x454  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x8a  , 1 | SemicolonSep      , 494 , 143 , // 494  - lo-la
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x74  , 2 | SemicolonSep      , 497 , 240 , // 495  - lrc
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x79  , 2 | SemicolonSep      , 496 , 240 , // 496  - lrc-iq
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x74  , 2 | SemicolonSep      , 497 , 240 , // 497  - lrc-ir
+            0x27   , 0x4e9 , 0x307 , 0x272d, 0x1f4 , 0x8d  , 1 | SemicolonSep      , 499 , 499 , // 498  - lt
+            0x427  , 0x4e9 , 0x307 , 0x272d, 0x1f4 , 0x8d  , 1 | SemicolonSep      , 499 , 499 , // 499  - lt-lt
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x2c  , 1 | SemicolonSep      , 501 , 240 , // 500  - lu
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x2c  , 1 | SemicolonSep      , 501 , 240 , // 501  - lu-cd
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 | SemicolonSep      , 503 , 240 , // 502  - luo
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 | SemicolonSep      , 503 , 240 , // 503  - luo-ke
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 | SemicolonSep      , 505 , 240 , // 504  - luy
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 | SemicolonSep      , 505 , 240 , // 505  - luy-ke
+            0x26   , 0x4e9 , 0x307 , 0x272d, 0x1f4 , 0x8c  , 1 | SemicolonSep      , 507 , 507 , // 506  - lv
+            0x426  , 0x4e9 , 0x307 , 0x272d, 0x1f4 , 0x8c  , 1 | SemicolonSep      , 507 , 507 , // 507  - lv-lv
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 | SemicolonSep      , 509 , 240 , // 508  - mas
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 | SemicolonSep      , 509 , 240 , // 509  - mas-ke
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 | SemicolonSep      , 510 , 240 , // 510  - mas-tz
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 | SemicolonSep      , 512 , 240 , // 511  - mer
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 | SemicolonSep      , 512 , 240 , // 512  - mer-ke
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xa0  , 1 | SemicolonSep      , 514 , 240 , // 513  - mfe
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xa0  , 1 | SemicolonSep      , 514 , 240 , // 514  - mfe-mu
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x95  , 1 | SemicolonSep      , 516 , 240 , // 515  - mg
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x95  , 1 | SemicolonSep      , 516 , 240 , // 516  - mg-mg
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xa8  , 1 | SemicolonSep      , 518 , 240 , // 517  - mgh
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xa8  , 1 | SemicolonSep      , 518 , 240 , // 518  - mgh-mz
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 | SemicolonSep      , 520 , 240 , // 519  - mgo
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 | SemicolonSep      , 520 , 240 , // 520  - mgo-cm
+            0x81   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xb7  , 1 | CommaSep          , 522 , 522 , // 521  - mi
+            0x481  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xb7  , 1 | CommaSep          , 522 , 522 , // 522  - mi-nz
+            0x2f   , 0x4e3 , 0x362 , 0x2717, 0x1f4 , 0x4ca2, 1 | SemicolonSep      , 524 , 524 , // 523  - mk
+            0x42f  , 0x4e3 , 0x362 , 0x2717, 0x1f4 , 0x4ca2, 1 | SemicolonSep      , 524 , 524 , // 524  - mk-mk
+            0x4c   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | SemicolonSep      , 526 , 143 , // 525  - ml
+            0x44c  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | SemicolonSep      , 526 , 143 , // 526  - ml-in
+            0x50   , 0x4e3 , 0x362 , 0x2717, 0x5190, 0x9a  , 1 | SemicolonSep      , 529 , 529 , // 527  - mn
+            0x7850 , 0x4e3 , 0x362 , 0x2717, 0x5190, 0x9a  , 1 | SemicolonSep      , 529 , 529 , // 528  - mn-cyrl
+            0x450  , 0x4e3 , 0x362 , 0x2717, 0x5190, 0x9a  , 1 | SemicolonSep      , 529 , 529 , // 529  - mn-mn
+            0x7c50 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x2d  , 1 | CommaSep          , 531 , 531 , // 530  - mn-mong
+            0x850  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x2d  , 1 | CommaSep          , 531 , 531 , // 531  - mn-mong-cn
+            0xc50  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9a  , 1 | CommaSep          , 532 , 532 , // 532  - mn-mong-mn
+            0x58   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | CommaSep          , 534 , 187 , // 533  - mni
+            0x458  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | CommaSep          , 534 , 187 , // 534  - mni-in
+            0x7c   , 0x4e4 , 0x352 , 0x2710, 0x25  , 0x27  , 1 | CommaSep          , 536 , 240 , // 535  - moh
+            0x47c  , 0x4e4 , 0x352 , 0x2710, 0x25  , 0x27  , 1 | CommaSep          , 536 , 240 , // 536  - moh-ca
+            0x4e   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | CommaSep          , 538 , 143 , // 537  - mr
+            0x44e  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | CommaSep          , 538 , 143 , // 538  - mr-in
+            0x3e   , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xa7  , 1 | SemicolonSep      , 541 , 541 , // 539  - ms
+            0x83e  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x25  , 1 | SemicolonSep      , 540 , 540 , // 540  - ms-bn
+            0x43e  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xa7  , 1 | SemicolonSep      , 541 , 541 , // 541  - ms-my
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd7  , 1 | SemicolonSep      , 542 , 240 , // 542  - ms-sg
+            0x3a   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xa3  , 1 | SemicolonSep      , 544 , 544 , // 543  - mt
+            0x43a  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xa3  , 1 | SemicolonSep      , 544 , 544 , // 544  - mt-mt
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 | SemicolonSep      , 546 , 240 , // 545  - mua
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 | SemicolonSep      , 546 , 240 , // 546  - mua-cm
+            0x55   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x1b  , 2 | SemicolonSep      , 548 , 240 , // 547  - my
+            0x455  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x1b  , 2 | SemicolonSep      , 548 , 240 , // 548  - my-mm
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x74  , 2 | SemicolonSep      , 550 , 240 , // 549  - mzn
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x74  , 2 | SemicolonSep      , 550 , 240 , // 550  - mzn-ir
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xfe  , 1 | SemicolonSep      , 552 , 240 , // 551  - naq
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xfe  , 1 | SemicolonSep      , 552 , 240 , // 552  - naq-na
+            0x7c14 , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0xb1  , 1 | SemicolonSep      , 554 , 554 , // 553  - nb
+            0x414  , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0xb1  , 1 | SemicolonSep      , 554 , 554 , // 554  - nb-no
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0xdc  , 1 | SemicolonSep      , 555 , 240 , // 555  - nb-sj
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x108 , 1 | SemicolonSep      , 557 , 240 , // 556  - nd
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x108 , 1 | SemicolonSep      , 557 , 240 , // 557  - nd-zw
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x5e  , 1 | SemicolonSep      , 559 , 240 , // 558  - nds
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x5e  , 1 | SemicolonSep      , 559 , 240 , // 559  - nds-de
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xb0  , 1 | SemicolonSep      , 560 , 240 , // 560  - nds-nl
+            0x61   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xb2  , 1 | CommaSep          , 563 , 143 , // 561  - ne
+            0x861  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 2 | SemicolonSep      , 562 , 240 , // 562  - ne-in
+            0x461  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xb2  , 1 | CommaSep          , 563 , 143 , // 563  - ne-np
+            0x13   , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xb0  , 1 | SemicolonSep      , 569 , 569 , // 564  - nl
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x12e , 1 | SemicolonSep      , 565 , 240 , // 565  - nl-aw
+            0x813  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x15  , 1 | SemicolonSep      , 566 , 566 , // 566  - nl-be
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x9a55d42, 1 | SemicolonSep   , 567 , 240 , // 567  - nl-bq
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x111 , 1 | SemicolonSep      , 568 , 240 , // 568  - nl-cw
+            0x413  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xb0  , 1 | SemicolonSep      , 569 , 569 , // 569  - nl-nl
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xb5  , 1 | SemicolonSep      , 570 , 240 , // 570  - nl-sr
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x78f7, 1 | SemicolonSep      , 571 , 240 , // 571  - nl-sx
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 | SemicolonSep      , 573 , 240 , // 572  - nmg
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 | SemicolonSep      , 573 , 240 , // 573  - nmg-cm
+            0x7814 , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0xb1  , 1 | SemicolonSep      , 575 , 575 , // 574  - nn
+            0x814  , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0xb1  , 1 | SemicolonSep      , 575 , 575 , // 575  - nn-no
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 | SemicolonSep      , 577 , 240 , // 576  - nnh
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 | SemicolonSep      , 577 , 240 , // 577  - nnh-cm
+            0x14   , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0xb1  , 1 | SemicolonSep      , 554 , 554 , // 578  - no
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x64  , 2 | ArabicCommaSep    , 580 , 143 , // 579  - nqo
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x64  , 2 | ArabicCommaSep    , 580 , 143 , // 580  - nqo-gn
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd1  , 1 | SemicolonSep      , 582 , 240 , // 581  - nr
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd1  , 1 | SemicolonSep      , 582 , 240 , // 582  - nr-za
+            0x6c   , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd1  , 1 | SemicolonSep      , 584 , 584 , // 583  - nso
+            0x46c  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd1  , 1 | SemicolonSep      , 584 , 584 , // 584  - nso-za
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x114 , 1 | SemicolonSep      , 586 , 240 , // 585  - nus
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x114 , 1 | SemicolonSep      , 586 , 240 , // 586  - nus-ss
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf0  , 1 | SemicolonSep      , 588 , 240 , // 587  - nyn
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf0  , 1 | SemicolonSep      , 588 , 240 , // 588  - nyn-ug
+            0x82   , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x54  , 1 | SemicolonSep      , 590 , 590 , // 589  - oc
+            0x482  , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x54  , 1 | SemicolonSep      , 590 , 590 , // 590  - oc-fr
+            0x72   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x49  , 1 | SemicolonSep      , 592 , 240 , // 591  - om
+            0x472  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x49  , 1 | SemicolonSep      , 592 , 240 , // 592  - om-et
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 | SemicolonSep      , 593 , 240 , // 593  - om-ke
+            0x48   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | CommaSep          , 595 , 143 , // 594  - or
+            0x448  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | CommaSep          , 595 , 143 , // 595  - or-in
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x58  , 1 | SemicolonSep      , 597 , 240 , // 596  - os
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x58  , 1 | SemicolonSep      , 597 , 240 , // 597  - os-ge
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xcb  , 1 | SemicolonSep      , 598 , 240 , // 598  - os-ru
+            0x46   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | CommaSep          , 602 , 143 , // 599  - pa
+            0x7c46 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xbe  , 2 | SemicolonSep      , 601 , 143 , // 600  - pa-arab
+            0x846  , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xbe  , 2 | SemicolonSep      , 601 , 143 , // 601  - pa-arab-pk
+            0x446  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | CommaSep          , 602 , 143 , // 602  - pa-in
+            0x79   , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x993248, 1 | CommaSep        , 604 , 145 , // 603  - pap
+            0x479  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x993248, 1 | CommaSep        , 604 , 145 , // 604  - pap-029
+            0x15   , 0x4e2 , 0x354 , 0x272d, 0x5190, 0xbf  , 1 | SemicolonSep      , 606 , 606 , // 605  - pl
+            0x415  , 0x4e2 , 0x354 , 0x272d, 0x5190, 0xbf  , 1 | SemicolonSep      , 606 , 606 , // 606  - pl-pl
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x989e, 1 | SemicolonSep      , 608 , 240 , // 607  - prg
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x989e, 1 | SemicolonSep      , 608 , 240 , // 608  - prg-001
+            0x8c   , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x3   , 2 | SemicolonSep      , 610 , 143 , // 609  - prs
+            0x48c  , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x3   , 2 | SemicolonSep      , 610 , 143 , // 610  - prs-af
+            0x63   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x3   , 2 | SemicolonSep      , 612 , 143 , // 611  - ps
+            0x463  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x3   , 2 | SemicolonSep      , 612 , 143 , // 612  - ps-af
+            0x16   , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x20  , 1 | SemicolonSep      , 615 , 615 , // 613  - pt
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x9   , 1 | SemicolonSep      , 614 , 240 , // 614  - pt-ao
+            0x416  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x20  , 1 | SemicolonSep      , 615 , 615 , // 615  - pt-br
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xdf  , 1 | SemicolonSep      , 616 , 240 , // 616  - pt-ch
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x39  , 1 | SemicolonSep      , 617 , 240 , // 617  - pt-cv
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x45  , 1 | SemicolonSep      , 618 , 240 , // 618  - pt-gq
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xc4  , 1 | SemicolonSep      , 619 , 240 , // 619  - pt-gw
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x93  , 1 | SemicolonSep      , 620 , 240 , // 620  - pt-lu
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x97  , 1 | SemicolonSep      , 621 , 240 , // 621  - pt-mo
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xa8  , 1 | SemicolonSep      , 622 , 240 , // 622  - pt-mz
+            0x816  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xc1  , 1 | SemicolonSep      , 623 , 623 , // 623  - pt-pt
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xe9  , 1 | SemicolonSep      , 624 , 240 , // 624  - pt-st
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x6f60e7,1| SemicolonSep      , 625 , 240 , // 625  - pt-tl
+            0x901  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x7c  , 1 | CommaSep          , 626 , 190 , // 626  - qps-latn-x-sh
+            0x501  , 0x4e2 , 0x354 , 0x272d, 0x5190, 0xf4  , 1 | DoubleCommaSep    , 627 , 627 , // 627  - qps-ploc
+            0x5fe  , 0x3a4 , 0x3a4 , 0x2711, 0x4f42, 0x7a  , 1 | CommaSep          , 628 , 628 , // 628  - qps-ploca
+            0x9ff  , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xcd  , 0 | SemicolonSep      , 629 , 143 , // 629  - qps-plocm
+            0x86   , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x63  , 1 | CommaSep          , 632 , 632 , // 630  - quc
+            0x7c86 , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x63  , 1 | CommaSep          , 632 , 632 , // 631  - quc-latn
+            0x486  , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x63  , 1 | CommaSep          , 632 , 632 , // 632  - quc-latn-gt
+            0x6b   , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x1a  , 1 | CommaSep          , 634 , 634 , // 633  - quz
+            0x46b  , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x1a  , 1 | CommaSep          , 634 , 634 , // 634  - quz-bo
+            0x86b  , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x42  , 1 | CommaSep          , 635 , 635 , // 635  - quz-ec
+            0xc6b  , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xbb  , 1 | CommaSep          , 636 , 636 , // 636  - quz-pe
+            0x17   , 0x4e4 , 0x352 , 0x2710, 0x4f31, 0xdf  , 1 | SemicolonSep      , 638 , 638 , // 637  - rm
+            0x417  , 0x4e4 , 0x352 , 0x2710, 0x4f31, 0xdf  , 1 | SemicolonSep      , 638 , 638 , // 638  - rm-ch
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x26  , 1 | SemicolonSep      , 640 , 240 , // 639  - rn
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x26  , 1 | SemicolonSep      , 640 , 240 , // 640  - rn-bi
+            0x18   , 0x4e2 , 0x354 , 0x272d, 0x5190, 0xc8  , 1 | SemicolonSep      , 643 , 643 , // 641  - ro
+            0x818  , 0x4e2 , 0x354 , 0x2   , 0x1f4 , 0x98  , 1 | SemicolonSep      , 642 , 240 , // 642  - ro-md
+            0x418  , 0x4e2 , 0x354 , 0x272d, 0x5190, 0xc8  , 1 | SemicolonSep      , 643 , 643 , // 643  - ro-ro
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 | SemicolonSep      , 645 , 240 , // 644  - rof
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 | SemicolonSep      , 645 , 240 , // 645  - rof-tz
+            0x19   , 0x4e3 , 0x362 , 0x2717, 0x5190, 0xcb  , 1 | SemicolonSep      , 651 , 651 , // 646  - ru
+            0x1000 , 0x4e3 , 0x362 , 0x2   , 0x1f4 , 0x1d  , 1 | SemicolonSep      , 647 , 240 , // 647  - ru-by
+            0x1000 , 0x4e3 , 0x362 , 0x2   , 0x1f4 , 0x82  , 1 | SemicolonSep      , 648 , 240 , // 648  - ru-kg
+            0x1000 , 0x4e3 , 0x362 , 0x2   , 0x1f4 , 0x89  , 1 | SemicolonSep      , 649 , 240 , // 649  - ru-kz
+            0x819  , 0x4e3 , 0x362 , 0x2   , 0x1f4 , 0x98  , 1 | SemicolonSep      , 650 , 240 , // 650  - ru-md
+            0x419  , 0x4e3 , 0x362 , 0x2717, 0x5190, 0xcb  , 1 | SemicolonSep      , 651 , 651 , // 651  - ru-ru
+            0x1000 , 0x4e3 , 0x362 , 0x2   , 0x1f4 , 0xf1  , 1 | SemicolonSep      , 652 , 240 , // 652  - ru-ua
+            0x87   , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0xcc  , 1 | SemicolonSep      , 654 , 654 , // 653  - rw
+            0x487  , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0xcc  , 1 | SemicolonSep      , 654 , 654 , // 654  - rw-rw
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 | SemicolonSep      , 656 , 240 , // 655  - rwk
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 | SemicolonSep      , 656 , 240 , // 656  - rwk-tz
+            0x4f   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | CommaSep          , 658 , 143 , // 657  - sa
+            0x44f  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | CommaSep          , 658 , 143 , // 658  - sa-in
+            0x85   , 0x4e3 , 0x362 , 0x2717, 0x5190, 0xcb  , 1 | SemicolonSep      , 660 , 660 , // 659  - sah
+            0x485  , 0x4e3 , 0x362 , 0x2717, 0x5190, 0xcb  , 1 | SemicolonSep      , 660 , 660 , // 660  - sah-ru
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 | SemicolonSep      , 662 , 240 , // 661  - saq
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 | SemicolonSep      , 662 , 240 , // 662  - saq-ke
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 | SemicolonSep      , 664 , 240 , // 663  - sbp
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 | SemicolonSep      , 664 , 240 , // 664  - sbp-tz
+            0x59   , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xbe  , 2 | SemicolonSep      , 667 , 143 , // 665  - sd
+            0x7c59 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xbe  , 2 | SemicolonSep      , 667 , 143 , // 666  - sd-arab
+            0x859  , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xbe  , 2 | SemicolonSep      , 667 , 143 , // 667  - sd-arab-pk
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | CommaSep          , 669 , 187 , // 668  - sd-deva
+            0x459  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | CommaSep          , 669 , 187 , // 669  - sd-deva-in
+            0x3b   , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0xb1  , 1 | SemicolonSep      , 672 , 672 , // 670  - se
+            0xc3b  , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0x4d  , 1 | SemicolonSep      , 671 , 671 , // 671  - se-fi
+            0x43b  , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0xb1  , 1 | SemicolonSep      , 672 , 672 , // 672  - se-no
+            0x83b  , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0xdd  , 1 | SemicolonSep      , 673 , 673 , // 673  - se-se
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xa8  , 1 | SemicolonSep      , 675 , 240 , // 674  - seh
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xa8  , 1 | SemicolonSep      , 675 , 240 , // 675  - seh-mz
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9d  , 1 | SemicolonSep      , 677 , 240 , // 676  - ses
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9d  , 1 | SemicolonSep      , 677 , 240 , // 677  - ses-ml
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x37  , 1 | SemicolonSep      , 679 , 240 , // 678  - sg
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x37  , 1 | SemicolonSep      , 679 , 240 , // 679  - sg-cf
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9f  , 1 | SemicolonSep      , 684 , 240 , // 680  - shi
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9f  , 1 | SemicolonSep      , 682 , 240 , // 681  - shi-latn
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9f  , 1 | SemicolonSep      , 682 , 240 , // 682  - shi-latn-ma
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9f  , 1 | SemicolonSep      , 684 , 240 , // 683  - shi-tfng
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9f  , 1 | SemicolonSep      , 684 , 240 , // 684  - shi-tfng-ma
+            0x5b   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x2a  , 1 | SemicolonSep      , 686 , 143 , // 685  - si
+            0x45b  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x2a  , 1 | SemicolonSep      , 686 , 143 , // 686  - si-lk
+            0x1b   , 0x4e2 , 0x354 , 0x272d, 0x5190, 0x8f  , 1 | SemicolonSep      , 688 , 688 , // 687  - sk
+            0x41b  , 0x4e2 , 0x354 , 0x272d, 0x5190, 0x8f  , 1 | SemicolonSep      , 688 , 688 , // 688  - sk-sk
+            0x24   , 0x4e2 , 0x354 , 0x272d, 0x5190, 0xd4  , 1 | SemicolonSep      , 690 , 690 , // 689  - sl
+            0x424  , 0x4e2 , 0x354 , 0x272d, 0x5190, 0xd4  , 1 | SemicolonSep      , 690 , 690 , // 690  - sl-si
+            0x783b , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0xdd  , 1 | SemicolonSep      , 693 , 693 , // 691  - sma
+            0x183b , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0xb1  , 1 | SemicolonSep      , 692 , 692 , // 692  - sma-no
+            0x1c3b , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0xdd  , 1 | SemicolonSep      , 693 , 693 , // 693  - sma-se
+            0x7c3b , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0xdd  , 1 | SemicolonSep      , 696 , 696 , // 694  - smj
+            0x103b , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0xb1  , 1 | SemicolonSep      , 695 , 695 , // 695  - smj-no
+            0x143b , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0xdd  , 1 | SemicolonSep      , 696 , 696 , // 696  - smj-se
+            0x703b , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0x4d  , 1 | SemicolonSep      , 698 , 698 , // 697  - smn
+            0x243b , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0x4d  , 1 | SemicolonSep      , 698 , 698 , // 698  - smn-fi
+            0x743b , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0x4d  , 1 | SemicolonSep      , 700 , 700 , // 699  - sms
+            0x203b , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0x4d  , 1 | SemicolonSep      , 700 , 700 , // 700  - sms-fi
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x108 , 1 | SemicolonSep      , 703 , 240 , // 701  - sn
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x108 , 1 | SemicolonSep      , 703 , 240 , // 702  - sn-latn
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x108 , 1 | SemicolonSep      , 703 , 240 , // 703  - sn-latn-zw
+            0x77   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd8  , 1 | SemicolonSep      , 708 , 240 , // 704  - so
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x3e  , 1 | SemicolonSep      , 705 , 240 , // 705  - so-dj
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x49  , 1 | SemicolonSep      , 706 , 240 , // 706  - so-et
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 | SemicolonSep      , 707 , 240 , // 707  - so-ke
+            0x477  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd8  , 1 | SemicolonSep      , 708 , 240 , // 708  - so-so
+            0x1c   , 0x4e2 , 0x354 , 0x272d, 0x5190, 0x6   , 1 | SemicolonSep      , 710 , 710 , // 709  - sq
+            0x41c  , 0x4e2 , 0x354 , 0x272d, 0x5190, 0x6   , 1 | SemicolonSep      , 710 , 710 , // 710  - sq-al
+            0x1000 , 0x4e2 , 0x354 , 0x272d, 0x5190, 0x4ca2, 1 | SemicolonSep      , 711 , 240 , // 711  - sq-mk
+            0x1000 , 0x4e2 , 0x354 , 0x272d, 0x5190, 0x974941, 1 | SemicolonSep    , 712 , 240 , // 712  - sq-xk
+            0x7c1a , 0x4e2 , 0x354 , 0x272d, 0x1f4 , 0x10f , 1 | SemicolonSep      , 724 , 724 , // 713  - sr
+            0x6c1a , 0x4e3 , 0x357 , 0x2717, 0x5221, 0x10f , 1 | SemicolonSep      , 718 , 718 , // 714  - sr-cyrl
+            0x1c1a , 0x4e3 , 0x357 , 0x2717, 0x5221, 0x19  , 1 | SemicolonSep      , 715 , 715 , // 715  - sr-cyrl-ba
+            0xc1a  , 0x4e3 , 0x357 , 0x2717, 0x5221, 0x10d , 1 | SemicolonSep      , 716 , 716 , // 716  - sr-cyrl-cs
+            0x301a , 0x4e3 , 0x357 , 0x2717, 0x5221, 0x10e , 1 | SemicolonSep      , 717 , 717 , // 717  - sr-cyrl-me
+            0x281a , 0x4e3 , 0x357 , 0x2717, 0x5221, 0x10f , 1 | SemicolonSep      , 718 , 718 , // 718  - sr-cyrl-rs
+            0x1000 , 0x4e3 , 0x357 , 0x2717, 0x5221, 0x974941, 1 | SemicolonSep    , 719 , 240 , // 719  - sr-cyrl-xk
+            0x701a , 0x4e2 , 0x354 , 0x272d, 0x1f4 , 0x10f , 1 | SemicolonSep      , 724 , 724 , // 720  - sr-latn
+            0x181a , 0x4e2 , 0x354 , 0x2762, 0x366 , 0x19  , 1 | SemicolonSep      , 721 , 721 , // 721  - sr-latn-ba
+            0x81a  , 0x4e2 , 0x354 , 0x272d, 0x1f4 , 0x10d , 1 | SemicolonSep      , 722 , 722 , // 722  - sr-latn-cs
+            0x2c1a , 0x4e2 , 0x354 , 0x272d, 0x1f4 , 0x10e , 1 | SemicolonSep      , 723 , 723 , // 723  - sr-latn-me
+            0x241a , 0x4e2 , 0x354 , 0x272d, 0x1f4 , 0x10f , 1 | SemicolonSep      , 724 , 724 , // 724  - sr-latn-rs
+            0x1000 , 0x4e2 , 0x354 , 0x272d, 0x1f4 , 0x974941, 1 | SemicolonSep    , 725 , 240 , // 725  - sr-latn-xk
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd1  , 1 | SemicolonSep      , 728 , 240 , // 726  - ss
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x104 , 1 | SemicolonSep      , 727 , 240 , // 727  - ss-sz
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd1  , 1 | SemicolonSep      , 728 , 240 , // 728  - ss-za
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x47  , 1 | SemicolonSep      , 730 , 240 , // 729  - ssy
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x47  , 1 | SemicolonSep      , 730 , 240 , // 730  - ssy-er
+            0x30   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd1  , 1 | SemicolonSep      , 733 , 240 , // 731  - st
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x92  , 1 | SemicolonSep      , 732 , 240 , // 732  - st-ls
+            0x430  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd1  , 1 | SemicolonSep      , 733 , 240 , // 733  - st-za
+            0x1d   , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0xdd  , 1 | SemicolonSep      , 737 , 737 , // 734  - sv
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0x9906f5, 1 | SemicolonSep    , 735 , 240 , // 735  - sv-ax
+            0x81d  , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0x4d  , 1 | SemicolonSep      , 736 , 736 , // 736  - sv-fi
+            0x41d  , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0xdd  , 1 | SemicolonSep      , 737 , 737 , // 737  - sv-se
+            0x41   , 0x4e4 , 0x1b5 , 0x2710, 0x1f4 , 0x81  , 1 | SemicolonSep      , 740 , 740 , // 738  - sw
+            0x1000 , 0x4e4 , 0x1b5 , 0x2710, 0x1f4 , 0x2c  , 1 | SemicolonSep      , 739 , 740 , // 739  - sw-cd
+            0x441  , 0x4e4 , 0x1b5 , 0x2710, 0x1f4 , 0x81  , 1 | SemicolonSep      , 740 , 740 , // 740  - sw-ke
+            0x1000 , 0x4e4 , 0x1b5 , 0x2710, 0x1f4 , 0xef  , 1 | SemicolonSep      , 741 , 240 , // 741  - sw-tz
+            0x1000 , 0x4e4 , 0x1b5 , 0x2710, 0x1f4 , 0xf0  , 1 | SemicolonSep      , 742 , 240 , // 742  - sw-ug
+            0x1000 , 0x0   , 0x1   , 0x0   , 0x1f4 , 0x2c  , 1 | CommaSep          , 744 , 240 , // 743  - swc
+            0x1000 , 0x0   , 0x1   , 0x0   , 0x1f4 , 0x2c  , 1 | SemicolonSep      , 744 , 240 , // 744  - swc-cd
+            0x5a   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xde  , 1 | CommaSep          , 746 , 143 , // 745  - syr
+            0x45a  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xde  , 1 | CommaSep          , 746 , 143 , // 746  - syr-sy
+            0x49   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | CommaSep          , 748 , 143 , // 747  - ta
+            0x449  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | CommaSep          , 748 , 143 , // 748  - ta-in
+            0x849  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x2a  , 1 | SemicolonSep      , 749 , 143 , // 749  - ta-lk
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xa7  , 1 | SemicolonSep      , 750 , 240 , // 750  - ta-my
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd7  , 1 | SemicolonSep      , 751 , 240 , // 751  - ta-sg
+            0x4a   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | SemicolonSep      , 753 , 143 , // 752  - te
+            0x44a  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 | SemicolonSep      , 753 , 143 , // 753  - te-in
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf0  , 1 | SemicolonSep      , 756 , 240 , // 754  - teo
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 | SemicolonSep      , 755 , 240 , // 755  - teo-ke
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf0  , 1 | SemicolonSep      , 756 , 240 , // 756  - teo-ug
+            0x28   , 0x4e3 , 0x362 , 0x2717, 0x5190, 0xe4  , 1 | SemicolonSep      , 759 , 759 , // 757  - tg
+            0x7c28 , 0x4e3 , 0x362 , 0x2717, 0x5190, 0xe4  , 1 | SemicolonSep      , 759 , 759 , // 758  - tg-cyrl
+            0x428  , 0x4e3 , 0x362 , 0x2717, 0x5190, 0xe4  , 1 | SemicolonSep      , 759 , 759 , // 759  - tg-cyrl-tj
+            0x1e   , 0x36a , 0x36a , 0x2725, 0x5166, 0xe3  , 1 | CommaSep          , 761 , 143 , // 760  - th
+            0x41e  , 0x36a , 0x36a , 0x2725, 0x5166, 0xe3  , 1 | CommaSep          , 761 , 143 , // 761  - th-th
+            0x73   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x47  , 1 | SemicolonSep      , 763 , 143 , // 762  - ti
+            0x873  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x47  , 1 | SemicolonSep      , 763 , 143 , // 763  - ti-er
+            0x473  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x49  , 1 | SemicolonSep      , 764 , 143 , // 764  - ti-et
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x47  , 1 | SemicolonSep      , 766 , 240 , // 765  - tig
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x47  , 1 | SemicolonSep      , 766 , 240 , // 766  - tig-er
+            0x42   , 0x4e2 , 0x354 , 0x272d, 0x5190, 0xee  , 1 | SemicolonSep      , 768 , 768 , // 767  - tk
+            0x442  , 0x4e2 , 0x354 , 0x272d, 0x5190, 0xee  , 1 | SemicolonSep      , 768 , 768 , // 768  - tk-tm
+            0x32   , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd1  , 1 | SemicolonSep      , 771 , 771 , // 769  - tn
+            0x832  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x13  , 1 | SemicolonSep      , 770 , 770 , // 770  - tn-bw
+            0x432  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd1  , 1 | SemicolonSep      , 771 , 771 , // 771  - tn-za
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xe7  , 1 | SemicolonSep      , 773 , 240 , // 772  - to
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xe7  , 1 | SemicolonSep      , 773 , 240 , // 773  - to-to
+            0x1f   , 0x4e6 , 0x359 , 0x2761, 0x51a9, 0xeb  , 1 | SemicolonSep      , 776 , 776 , // 774  - tr
+            0x1000 , 0x4e6 , 0x359 , 0x2761, 0x51a9, 0x3b  , 1 | SemicolonSep      , 775 , 240 , // 775  - tr-cy
+            0x41f  , 0x4e6 , 0x359 , 0x2761, 0x51a9, 0xeb  , 1 | SemicolonSep      , 776 , 776 , // 776  - tr-tr
+            0x31   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd1  , 1 | SemicolonSep      , 778 , 240 , // 777  - ts
+            0x431  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd1  , 1 | SemicolonSep      , 778 , 240 , // 778  - ts-za
+            0x44   , 0x4e3 , 0x362 , 0x2717, 0x5190, 0xcb  , 1 | SemicolonSep      , 780 , 780 , // 779  - tt
+            0x444  , 0x4e3 , 0x362 , 0x2717, 0x5190, 0xcb  , 1 | SemicolonSep      , 780 , 780 , // 780  - tt-ru
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xad  , 1 | SemicolonSep      , 782 , 240 , // 781  - twq
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xad  , 1 | SemicolonSep      , 782 , 240 , // 782  - twq-ne
+            0x5f   , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x4   , 1 | SemicolonSep      , 787 , 787 , // 783  - tzm
+            0x1000 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x9f  , 1 | SemicolonSep      , 785 , 240 , // 784  - tzm-arab
+            0x45f  , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x9f  , 1 | SemicolonSep      , 785 , 240 , // 785  - tzm-arab-ma
+            0x7c5f , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x4   , 1 | SemicolonSep      , 787 , 787 , // 786  - tzm-latn
+            0x85f  , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x4   , 1 | SemicolonSep      , 787 , 787 , // 787  - tzm-latn-dz
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9f  , 1 | SemicolonSep      , 788 , 240 , // 788  - tzm-latn-ma
+            0x785f , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9f  , 1 | SemicolonSep      , 790 , 316 , // 789  - tzm-tfng
+            0x105f , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9f  , 1 | SemicolonSep      , 790 , 316 , // 790  - tzm-tfng-ma
+            0x80   , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x2d  , 1 | CommaSep          , 792 , 143 , // 791  - ug
+            0x480  , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x2d  , 1 | CommaSep          , 792 , 143 , // 792  - ug-cn
+            0x22   , 0x4e3 , 0x362 , 0x2721, 0x1f4 , 0xf1  , 1 | SemicolonSep      , 794 , 794 , // 793  - uk
+            0x422  , 0x4e3 , 0x362 , 0x2721, 0x1f4 , 0xf1  , 1 | SemicolonSep      , 794 , 794 , // 794  - uk-ua
+            0x20   , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xbe  , 1 | SemicolonSep      , 797 , 143 , // 795  - ur
+            0x820  , 0x4e8 , 0x2d0 , 0x2   , 0x1f4 , 0x71  , 2 | SemicolonSep      , 796 , 240 , // 796  - ur-in
+            0x420  , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xbe  , 1 | SemicolonSep      , 797 , 143 , // 797  - ur-pk
+            0x43   , 0x4e6 , 0x359 , 0x272d, 0x1f4 , 0xf7  , 1 | SemicolonSep      , 804 , 804 , // 798  - uz
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x3   , 2 | SemicolonSep      , 800 , 240 , // 799  - uz-arab
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x3   , 2 | SemicolonSep      , 800 , 240 , // 800  - uz-arab-af
+            0x7843 , 0x4e3 , 0x362 , 0x2717, 0x5190, 0xf7  , 1 | SemicolonSep      , 802 , 802 , // 801  - uz-cyrl
+            0x843  , 0x4e3 , 0x362 , 0x2717, 0x5190, 0xf7  , 1 | SemicolonSep      , 802 , 802 , // 802  - uz-cyrl-uz
+            0x7c43 , 0x4e6 , 0x359 , 0x272d, 0x1f4 , 0xf7  , 1 | SemicolonSep      , 804 , 804 , // 803  - uz-latn
+            0x443  , 0x4e6 , 0x359 , 0x272d, 0x1f4 , 0xf7  , 1 | SemicolonSep      , 804 , 804 , // 804  - uz-latn-uz
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x8e  , 1 | SemicolonSep      , 809 , 240 , // 805  - vai
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x8e  , 1 | SemicolonSep      , 807 , 240 , // 806  - vai-latn
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x8e  , 1 | SemicolonSep      , 807 , 240 , // 807  - vai-latn-lr
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x8e  , 1 | SemicolonSep      , 809 , 240 , // 808  - vai-vaii
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x8e  , 1 | SemicolonSep      , 809 , 240 , // 809  - vai-vaii-lr
+            0x33   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd1  , 1 | SemicolonSep      , 811 , 240 , // 810  - ve
+            0x433  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd1  , 1 | SemicolonSep      , 811 , 240 , // 811  - ve-za
+            0x2a   , 0x4ea , 0x4ea , 0x2710, 0x1f4 , 0xfb  , 1 | CommaSep          , 813 , 143 , // 812  - vi
+            0x42a  , 0x4ea , 0x4ea , 0x2710, 0x1f4 , 0xfb  , 1 | CommaSep          , 813 , 143 , // 813  - vi-vn
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x989e, 1 | SemicolonSep      , 815 , 240 , // 814  - vo
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x989e, 1 | SemicolonSep      , 815 , 240 , // 815  - vo-001
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 | SemicolonSep      , 817 , 240 , // 816  - vun
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 | SemicolonSep      , 817 , 240 , // 817  - vun-tz
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xdf  , 1 | SemicolonSep      , 819 , 240 , // 818  - wae
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xdf  , 1 | SemicolonSep      , 819 , 240 , // 819  - wae-ch
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x49  , 1 | SemicolonSep      , 821 , 240 , // 820  - wal
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x49  , 1 | SemicolonSep      , 821 , 240 , // 821  - wal-et
+            0x88   , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xd2  , 1 | SemicolonSep      , 823 , 823 , // 822  - wo
+            0x488  , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xd2  , 1 | SemicolonSep      , 823 , 823 , // 823  - wo-sn
+            0x1007f, 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0xf4  , 1 | CommaSep          , -1  , -1  , // 824  - x-iv_mathan
+            0x34   , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd1  , 1 | SemicolonSep      , 826 , 826 , // 825  - xh
+            0x434  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd1  , 1 | SemicolonSep      , 826 , 826 , // 826  - xh-za
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf0  , 1 | SemicolonSep      , 828 , 240 , // 827  - xog
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf0  , 1 | SemicolonSep      , 828 , 240 , // 828  - xog-ug
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 | SemicolonSep      , 830 , 240 , // 829  - yav
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 | SemicolonSep      , 830 , 240 , // 830  - yav-cm
+            0x3d   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x989e, 1 | SemicolonSep      , 832 , 240 , // 831  - yi
+            0x43d  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x989e, 1 | SemicolonSep      , 832 , 240 , // 832  - yi-001
+            0x6a   , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0xaf  , 1 | SemicolonSep      , 835 , 835 , // 833  - yo
+            0x1000 , 0x4e4 , 0x1b5 , 0x2710, 0x1f4 , 0x1c  , 1 | SemicolonSep      , 834 , 240 , // 834  - yo-bj
+            0x46a  , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0xaf  , 1 | SemicolonSep      , 835 , 835 , // 835  - yo-ng
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x68  , 1 | CommaSep          , 837 , 240 , // 836  - yue
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x68  , 1 | CommaSep          , 837 , 240 , // 837  - yue-hk
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9f  , 1 | SemicolonSep      , 840 , 316 , // 838  - zgh
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9f  , 1 | SemicolonSep      , 840 , 316 , // 839  - zgh-tfng
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9f  , 1 | SemicolonSep      , 840 , 316 , // 840  - zgh-tfng-ma
+            0x7804 , 0x3a8 , 0x3a8 , 0x2718, 0x1f4 , 0x2d  , 1 | CommaSep          , 844 , 844 , // 841  - zh
+            0x4    , 0x3a8 , 0x3a8 , 0x0   , 0x1f4 , 0x2d  , 1 | CommaSep          , 844 , 844 , // 842  - zh-chs
+            0x7c04 , 0x3b6 , 0x3b6 , 0x0   , 0x1f4 , 0x68  , 1 | CommaSep          , 851 , 851 , // 843  - zh-cht
+            0x804  , 0x3a8 , 0x3a8 , 0x2718, 0x1f4 , 0x2d  , 1 | CommaSep          , 844 , 844 , // 844  - zh-cn
+            0x50804, 0x3a8 , 0x3a8 , 0x2718, 0x1f4 , 0x2d  , 1 | CommaSep          , 844 , 844 , // 845  - zh-cn_phoneb
+            0x20804, 0x3a8 , 0x3a8 , 0x2718, 0x1f4 , 0x2d  , 1 | CommaSep          , 844 , 844 , // 846  - zh-cn_stroke
+            0x4    , 0x3a8 , 0x3a8 , 0x2718, 0x1f4 , 0x2d  , 1 | CommaSep          , 844 , 844 , // 847  - zh-hans
+            0x1000 , 0x3a8 , 0x3a8 , 0x2718, 0x1f4 , 0x68  , 1 | SemicolonSep      , 848 , 240 , // 848  - zh-hans-hk
+            0x1000 , 0x3a8 , 0x3a8 , 0x2718, 0x1f4 , 0x97  , 1 | SemicolonSep      , 849 , 240 , // 849  - zh-hans-mo
+            0x7c04 , 0x3b6 , 0x3b6 , 0x2712, 0x1f4 , 0x68  , 1 | CommaSep          , 851 , 851 , // 850  - zh-hant
+            0xc04  , 0x3b6 , 0x3b6 , 0x2712, 0x1f4 , 0x68  , 1 | CommaSep          , 851 , 851 , // 851  - zh-hk
+            0x40c04, 0x3b6 , 0x3b6 , 0x2712, 0x1f4 , 0x68  , 1 | CommaSep          , 851 , 851 , // 852  - zh-hk_radstr
+            0x1404 , 0x3b6 , 0x3b6 , 0x2712, 0x1f4 , 0x97  , 1 | CommaSep          , 853 , 853 , // 853  - zh-mo
+            0x41404, 0x3b6 , 0x3b6 , 0x2712, 0x1f4 , 0x97  , 1 | CommaSep          , 853 , 853 , // 854  - zh-mo_radstr
+            0x21404, 0x3b6 , 0x3b6 , 0x2712, 0x1f4 , 0x97  , 1 | CommaSep          , 853 , 853 , // 855  - zh-mo_stroke
+            0x1004 , 0x3a8 , 0x3a8 , 0x2718, 0x1f4 , 0xd7  , 1 | CommaSep          , 856 , 856 , // 856  - zh-sg
+            0x51004, 0x3a8 , 0x3a8 , 0x2718, 0x1f4 , 0xd7  , 1 | CommaSep          , 856 , 856 , // 857  - zh-sg_phoneb
+            0x21004, 0x3a8 , 0x3a8 , 0x2718, 0x1f4 , 0xd7  , 1 | CommaSep          , 856 , 856 , // 858  - zh-sg_stroke
+            0x404  , 0x3b6 , 0x3b6 , 0x2712, 0x1f4 , 0xed  , 1 | CommaSep          , 859 , 859 , // 859  - zh-tw
+            0x30404, 0x3b6 , 0x3b6 , 0x2712, 0x1f4 , 0xed  , 1 | CommaSep          , 859 , 859 , // 860  - zh-tw_pronun
+            0x40404, 0x3b6 , 0x3b6 , 0x2712, 0x1f4 , 0xed  , 1 | CommaSep          , 859 , 859 , // 861  - zh-tw_radstr
+            0x35   , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd1  , 1 | SemicolonSep      , 863 , 863 , // 862  - zu
+            0x435  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd1  , 1 | SemicolonSep      , 863 , 863 , // 863  - zu-za
+        };
+
+        static (string, string)[] s_lcids = new (string, string)[]
+        {
+            ("0x1","ar"), ("0x2","bg"), ("0x3","ca"), ("0x4","zh-chs"), ("0x5","cs"),
+            ("0x6","da"), ("0x7","de"), ("0x8","el"), ("0x9","en"), ("0xa","es"),
+            ("0xb","fi"), ("0xc","fr"), ("0xd","he"), ("0xe","hu"), ("0xf","is"),
+            ("0x10","it"), ("0x11","ja"), ("0x12","ko"), ("0x13","nl"), ("0x14","no"),
+            ("0x15","pl"), ("0x16","pt"), ("0x17","rm"), ("0x18","ro"), ("0x19","ru"),
+            ("0x1a","hr"), ("0x1b","sk"), ("0x1c","sq"), ("0x1d","sv"), ("0x1e","th"),
+            ("0x1f","tr"), ("0x20","ur"), ("0x21","id"), ("0x22","uk"), ("0x23","be"),
+            ("0x24","sl"), ("0x25","et"), ("0x26","lv"), ("0x27","lt"), ("0x28","tg"),
+            ("0x29","fa"), ("0x2a","vi"), ("0x2b","hy"), ("0x2c","az"), ("0x2d","eu"),
+            ("0x2e","hsb"), ("0x2f","mk"), ("0x30","st"), ("0x31","ts"), ("0x32","tn"),
+            ("0x33","ve"), ("0x34","xh"), ("0x35","zu"), ("0x36","af"), ("0x37","ka"),
+            ("0x38","fo"), ("0x39","hi"), ("0x3a","mt"), ("0x3b","se"), ("0x3c","ga"),
+            ("0x3d","yi"), ("0x3e","ms"), ("0x3f","kk"), ("0x40","ky"), ("0x41","sw"),
+            ("0x42","tk"), ("0x43","uz"), ("0x44","tt"), ("0x45","bn"), ("0x46","pa"),
+            ("0x47","gu"), ("0x48","or"), ("0x49","ta"), ("0x4a","te"), ("0x4b","kn"),
+            ("0x4c","ml"), ("0x4d","as"), ("0x4e","mr"), ("0x4f","sa"), ("0x50","mn"),
+            ("0x51","bo"), ("0x52","cy"), ("0x53","km"), ("0x54","lo"), ("0x55","my"),
+            ("0x56","gl"), ("0x57","kok"), ("0x58","mni"), ("0x59","sd"), ("0x5a","syr"),
+            ("0x5b","si"), ("0x5c","chr"), ("0x5d","iu"), ("0x5e","am"), ("0x5f","tzm"),
+            ("0x60","ks"), ("0x61","ne"), ("0x62","fy"), ("0x63","ps"), ("0x64","fil"),
+            ("0x65","dv"), ("0x66","bin"), ("0x67","ff"), ("0x68","ha"), ("0x69","ibb"),
+            ("0x6a","yo"), ("0x6b","quz"), ("0x6c","nso"), ("0x6d","ba"), ("0x6e","lb"),
+            ("0x6f","kl"), ("0x70","ig"), ("0x71","kr"), ("0x72","om"), ("0x73","ti"),
+            ("0x74","gn"), ("0x75","haw"), ("0x76","la"), ("0x77","so"), ("0x78","ii"),
+            ("0x79","pap"), ("0x7a","arn"), ("0x7c","moh"), ("0x7e","br"), ("0x80","ug"),
+            ("0x81","mi"), ("0x82","oc"), ("0x83","co"), ("0x84","gsw"), ("0x85","sah"),
+            ("0x86","quc"), ("0x87","rw"), ("0x88","wo"), ("0x8c","prs"), ("0x91","gd"),
+            ("0x92","ku"), ("0x401","ar-sa"), ("0x402","bg-bg"), ("0x403","ca-es"), ("0x404","zh-tw"),
+            ("0x405","cs-cz"), ("0x406","da-dk"), ("0x407","de-de"), ("0x408","el-gr"), ("0x409","en-us"),
+            ("0x40a","es-es_tradnl"), ("0x40b","fi-fi"), ("0x40c","fr-fr"), ("0x40d","he-il"), ("0x40e","hu-hu"),
+            ("0x40f","is-is"), ("0x410","it-it"), ("0x411","ja-jp"), ("0x412","ko-kr"), ("0x413","nl-nl"),
+            ("0x414","nb-no"), ("0x415","pl-pl"), ("0x416","pt-br"), ("0x417","rm-ch"), ("0x418","ro-ro"),
+            ("0x419","ru-ru"), ("0x41a","hr-hr"), ("0x41b","sk-sk"), ("0x41c","sq-al"), ("0x41d","sv-se"),
+            ("0x41e","th-th"), ("0x41f","tr-tr"), ("0x420","ur-pk"), ("0x421","id-id"), ("0x422","uk-ua"),
+            ("0x423","be-by"), ("0x424","sl-si"), ("0x425","et-ee"), ("0x426","lv-lv"), ("0x427","lt-lt"),
+            ("0x428","tg-cyrl-tj"), ("0x429","fa-ir"), ("0x42a","vi-vn"), ("0x42b","hy-am"), ("0x42c","az-latn-az"),
+            ("0x42d","eu-es"), ("0x42e","hsb-de"), ("0x42f","mk-mk"), ("0x430","st-za"), ("0x431","ts-za"),
+            ("0x432","tn-za"), ("0x433","ve-za"), ("0x434","xh-za"), ("0x435","zu-za"), ("0x436","af-za"),
+            ("0x437","ka-ge"), ("0x438","fo-fo"), ("0x439","hi-in"), ("0x43a","mt-mt"), ("0x43b","se-no"),
+            ("0x43d","yi-001"), ("0x43e","ms-my"), ("0x43f","kk-kz"), ("0x440","ky-kg"), ("0x441","sw-ke"),
+            ("0x442","tk-tm"), ("0x443","uz-latn-uz"), ("0x444","tt-ru"), ("0x445","bn-in"), ("0x446","pa-in"),
+            ("0x447","gu-in"), ("0x448","or-in"), ("0x449","ta-in"), ("0x44a","te-in"), ("0x44b","kn-in"),
+            ("0x44c","ml-in"), ("0x44d","as-in"), ("0x44e","mr-in"), ("0x44f","sa-in"), ("0x450","mn-mn"),
+            ("0x451","bo-cn"), ("0x452","cy-gb"), ("0x453","km-kh"), ("0x454","lo-la"), ("0x455","my-mm"),
+            ("0x456","gl-es"), ("0x457","kok-in"), ("0x458","mni-in"), ("0x459","sd-deva-in"), ("0x45a","syr-sy"),
+            ("0x45b","si-lk"), ("0x45c","chr-cher-us"), ("0x45d","iu-cans-ca"), ("0x45e","am-et"), ("0x45f","tzm-arab-ma"),
+            ("0x460","ks-arab"), ("0x461","ne-np"), ("0x462","fy-nl"), ("0x463","ps-af"), ("0x464","fil-ph"),
+            ("0x465","dv-mv"), ("0x466","bin-ng"), ("0x467","ff-ng"), ("0x468","ha-latn-ng"), ("0x469","ibb-ng"),
+            ("0x46a","yo-ng"), ("0x46b","quz-bo"), ("0x46c","nso-za"), ("0x46d","ba-ru"), ("0x46e","lb-lu"),
+            ("0x46f","kl-gl"), ("0x470","ig-ng"), ("0x471","kr-ng"), ("0x472","om-et"), ("0x473","ti-et"),
+            ("0x474","gn-py"), ("0x475","haw-us"), ("0x476","la-001"), ("0x477","so-so"), ("0x478","ii-cn"),
+            ("0x479","pap-029"), ("0x47a","arn-cl"), ("0x47c","moh-ca"), ("0x47e","br-fr"), ("0x480","ug-cn"),
+            ("0x481","mi-nz"), ("0x482","oc-fr"), ("0x483","co-fr"), ("0x484","gsw-fr"), ("0x485","sah-ru"),
+            ("0x486","quc-latn-gt"), ("0x487","rw-rw"), ("0x488","wo-sn"), ("0x48c","prs-af"), ("0x491","gd-gb"),
+            ("0x492","ku-arab-iq"), ("0x501","qps-ploc"), ("0x5fe","qps-ploca"), ("0x801","ar-iq"), ("0x803","ca-es-valencia"),
+            ("0x804","zh-cn"), ("0x807","de-ch"), ("0x809","en-gb"), ("0x80a","es-mx"), ("0x80c","fr-be"),
+            ("0x810","it-ch"), ("0x813","nl-be"), ("0x814","nn-no"), ("0x816","pt-pt"), ("0x818","ro-md"),
+            ("0x819","ru-md"), ("0x81a","sr-latn-cs"), ("0x81d","sv-fi"), ("0x820","ur-in"), ("0x82c","az-cyrl-az"),
+            ("0x82e","dsb-de"), ("0x832","tn-bw"), ("0x83b","se-se"), ("0x83c","ga-ie"), ("0x83e","ms-bn"),
+            ("0x843","uz-cyrl-uz"), ("0x845","bn-bd"), ("0x846","pa-arab-pk"), ("0x849","ta-lk"), ("0x850","mn-mong-cn"),
+            ("0x859","sd-arab-pk"), ("0x85d","iu-latn-ca"), ("0x85f","tzm-latn-dz"), ("0x860","ks-deva-in"), ("0x861","ne-in"),
+            ("0x867","ff-latn-sn"), ("0x86b","quz-ec"), ("0x873","ti-er"), ("0x901","qps-latn-x-sh"), ("0x9ff","qps-plocm"),
+            ("0xc01","ar-eg"), ("0xc04","zh-hk"), ("0xc07","de-at"), ("0xc09","en-au"), ("0xc0a","es-es"),
+            ("0xc0c","fr-ca"), ("0xc1a","sr-cyrl-cs"), ("0xc3b","se-fi"), ("0xc50","mn-mong-mn"), ("0xc51","dz-bt"),
+            ("0xc6b","quz-pe"), ("0x1001","ar-ly"), ("0x1004","zh-sg"), ("0x1007","de-lu"), ("0x1009","en-ca"),
+            ("0x100a","es-gt"), ("0x100c","fr-ch"), ("0x101a","hr-ba"), ("0x103b","smj-no"), ("0x105f","tzm-tfng-ma"),
+            ("0x1401","ar-dz"), ("0x1404","zh-mo"), ("0x1407","de-li"), ("0x1409","en-nz"), ("0x140a","es-cr"),
+            ("0x140c","fr-lu"), ("0x141a","bs-latn-ba"), ("0x143b","smj-se"), ("0x1801","ar-ma"), ("0x1809","en-ie"),
+            ("0x180a","es-pa"), ("0x180c","fr-mc"), ("0x181a","sr-latn-ba"), ("0x183b","sma-no"), ("0x1c01","ar-tn"),
+            ("0x1c09","en-za"), ("0x1c0a","es-do"), ("0x1c0c","fr-029"), ("0x1c1a","sr-cyrl-ba"), ("0x1c3b","sma-se"),
+            ("0x2001","ar-om"), ("0x2009","en-jm"), ("0x200a","es-ve"), ("0x200c","fr-re"), ("0x201a","bs-cyrl-ba"),
+            ("0x203b","sms-fi"), ("0x2401","ar-ye"), ("0x2409","en-029"), ("0x240a","es-co"), ("0x240c","fr-cd"),
+            ("0x241a","sr-latn-rs"), ("0x243b","smn-fi"), ("0x2801","ar-sy"), ("0x2809","en-bz"), ("0x280a","es-pe"),
+            ("0x280c","fr-sn"), ("0x281a","sr-cyrl-rs"), ("0x2c01","ar-jo"), ("0x2c09","en-tt"), ("0x2c0a","es-ar"),
+            ("0x2c0c","fr-cm"), ("0x2c1a","sr-latn-me"), ("0x3001","ar-lb"), ("0x3009","en-zw"), ("0x300a","es-ec"),
+            ("0x300c","fr-ci"), ("0x301a","sr-cyrl-me"), ("0x3401","ar-kw"), ("0x3409","en-ph"), ("0x340a","es-cl"),
+            ("0x340c","fr-ml"), ("0x3801","ar-ae"), ("0x3809","en-id"), ("0x380a","es-uy"), ("0x380c","fr-ma"),
+            ("0x3c01","ar-bh"), ("0x3c09","en-hk"), ("0x3c0a","es-py"), ("0x3c0c","fr-ht"), ("0x4001","ar-qa"),
+            ("0x4009","en-in"), ("0x400a","es-bo"), ("0x4409","en-my"), ("0x440a","es-sv"), ("0x4809","en-sg"),
+            ("0x480a","es-hn"), ("0x4c0a","es-ni"), ("0x500a","es-pr"), ("0x540a","es-us"), ("0x580a","es-419"),
+            ("0x5c0a","es-cu"), ("0x641a","bs-cyrl"), ("0x681a","bs-latn"), ("0x6c1a","sr-cyrl"), ("0x701a","sr-latn"),
+            ("0x703b","smn"), ("0x742c","az-cyrl"), ("0x743b","sms"), ("0x7804","zh"), ("0x7814","nn"),
+            ("0x781a","bs"), ("0x782c","az-latn"), ("0x783b","sma"), ("0x7843","uz-cyrl"), ("0x7850","mn-cyrl"),
+            ("0x785d","iu-cans"), ("0x785f","tzm-tfng"), ("0x7c04","zh-cht"), ("0x7c14","nb"), ("0x7c1a","sr"),
+            ("0x7c28","tg-cyrl"), ("0x7c2e","dsb"), ("0x7c3b","smj"), ("0x7c43","uz-latn"), ("0x7c46","pa-arab"),
+            ("0x7c50","mn-mong"), ("0x7c59","sd-arab"), ("0x7c5c","chr-cher"), ("0x7c5d","iu-latn"), ("0x7c5f","tzm-latn"),
+            ("0x7c67","ff-latn"), ("0x7c68","ha-latn"), ("0x7c86","quc-latn"), ("0x7c92","ku-arab"),
+            // Sort 0x1
+            ("0x1007f","x-iv_mathan"), ("0x10407","de-de_phoneb"), ("0x1040e","hu-hu_technl"), ("0x10437","ka-ge_modern"),
+            // Sort 0x2
+            ("0x20804","zh-cn_stroke"), ("0x21004","zh-sg_stroke"), ("0x21404","zh-mo_stroke"),
+            // Sort 0x3
+            ("0x30404","zh-tw_pronun"),
+            // Sort 0x4
+            ("0x40404","zh-tw_radstr"), ("0x40411","ja-jp_radstr"), ("0x40c04","zh-hk_radstr"), ("0x41404","zh-mo_radstr"),
+            // Sort 0x5
+            ("0x50804","zh-cn_phoneb"), ("0x51004","zh-sg_phoneb")
+        };
+
+        static string[] s_cultures = new string[]
+        {
+            "aa", "aa-dj", "aa-er", "aa-et",
+            "af", "af-na", "af-za",
+            "agq", "agq-cm",
+            "ak", "ak-gh",
+            "am", "am-et",
+            "ar", "ar-001", "ar-ae", "ar-bh", "ar-dj", "ar-dz", "ar-eg", "ar-er", "ar-il", "ar-iq", "ar-jo", "ar-km", "ar-kw", "ar-lb", "ar-ly", "ar-ma", "ar-mr", "ar-om", "ar-ps", "ar-qa", "ar-sa", "ar-sd", "ar-so", "ar-ss", "ar-sy", "ar-td", "ar-tn", "ar-ye", "arn", "arn-cl",
+            "as", "as-in", "asa", "asa-tz", "ast", "ast-es",
+            "az", "az-cyrl", "az-cyrl-az", "az-latn", "az-latn-az",
+            "ba", "ba-ru", "bas", "bas-cm",
+            "be", "be-by", "bem", "bem-zm", "bez", "bez-tz",
+            "bg", "bg-bg",
+            "bin", "bin-ng",
+            "bm", "bm-latn", "bm-latn-ml",
+            "bn", "bn-bd", "bn-in",
+            "bo", "bo-cn", "bo-in",
+            "br", "br-fr", "brx", "brx-in",
+            "bs", "bs-cyrl", "bs-cyrl-ba", "bs-latn", "bs-latn-ba",
+            "byn", "byn-er",
+            "ca", "ca-ad", "ca-es", "ca-es-valencia", "ca-fr", "ca-it",
+            "ce", "ce-ru",
+            "cgg", "cgg-ug",
+            "chr", "chr-cher", "chr-cher-us",
+            "co", "co-fr",
+            "cs", "cs-cz",
+            "cu", "cu-ru",
+            "cy", "cy-gb",
+            "da", "da-dk", "da-gl", "dav", "dav-ke",
+            "de", "de-at", "de-be", "de-ch", "de-de", "de-de_phoneb", "de-it", "de-li", "de-lu",
+            "dje", "dje-ne",
+            "dsb", "dsb-de",
+            "dua", "dua-cm",
+            "dv", "dv-mv",
+            "dyo", "dyo-sn",
+            "dz", "dz-bt",
+            "ebu", "ebu-ke",
+            "ee", "ee-gh", "ee-tg",
+            "el", "el-cy", "el-gr",
+            "en", "en-001", "en-029", "en-150", "en-ag", "en-ai", "en-as", "en-at", "en-au", "en-bb", "en-be", "en-bi", "en-bm", "en-bs", "en-bw", "en-bz", "en-ca", "en-cc", "en-ch", "en-ck", "en-cm", "en-cx", "en-cy", "en-de", "en-dk", "en-dm", "en-er", "en-fi", "en-fj", "en-fk", "en-fm", "en-gb", "en-gd", "en-gg", "en-gh", "en-gi", "en-gm", "en-gu", "en-gy", "en-hk", "en-id", "en-ie", "en-il", "en-im", "en-in", "en-io", "en-je", "en-jm", "en-ke", "en-ki", "en-kn", "en-ky", "en-lc", "en-lr", "en-ls", "en-mg", "en-mh", "en-mo", "en-mp", "en-ms", "en-mt", "en-mu", "en-mw", "en-my", "en-na", "en-nf", "en-ng", "en-nl", "en-nr", "en-nu", "en-nz", "en-pg", "en-ph", "en-pk", "en-pn", "en-pr", "en-pw", "en-rw", "en-sb", "en-sc", "en-sd", "en-se", "en-sg", "en-sh", "en-si", "en-sl", "en-ss", "en-sx", "en-sz", "en-tc", "en-tk", "en-to", "en-tt", "en-tv", "en-tz", "en-ug", "en-um", "en-us", "en-vc", "en-vg", "en-vi", "en-vu", "en-ws", "en-za", "en-zm", "en-zw",
+            "eo", "eo-001",
+            "es", "es-419", "es-ar", "es-bo", "es-br", "es-cl", "es-co", "es-cr", "es-cu", "es-do", "es-ec", "es-es", "es-es_tradnl", "es-gq", "es-gt", "es-hn", "es-mx", "es-ni", "es-pa", "es-pe", "es-ph", "es-pr", "es-py", "es-sv", "es-us", "es-uy", "es-ve",
+            "et", "et-ee",
+            "eu", "eu-es",
+            "ewo", "ewo-cm",
+            "fa", "fa-ir",
+            "ff", "ff-cm", "ff-gn", "ff-latn", "ff-latn-sn", "ff-mr", "ff-ng",
+            "fi", "fi-fi", "fil", "fil-ph",
+            "fo", "fo-dk", "fo-fo",
+            "fr", "fr-029", "fr-be", "fr-bf", "fr-bi", "fr-bj", "fr-bl", "fr-ca", "fr-cd", "fr-cf", "fr-cg", "fr-ch", "fr-ci", "fr-cm", "fr-dj", "fr-dz", "fr-fr", "fr-ga", "fr-gf", "fr-gn", "fr-gp", "fr-gq", "fr-ht", "fr-km", "fr-lu", "fr-ma", "fr-mc", "fr-mf", "fr-mg", "fr-ml", "fr-mq", "fr-mr", "fr-mu", "fr-nc", "fr-ne", "fr-pf", "fr-pm", "fr-re", "fr-rw", "fr-sc", "fr-sn", "fr-sy", "fr-td", "fr-tg", "fr-tn", "fr-vu", "fr-wf", "fr-yt",
+            "fur", "fur-it",
+            "fy", "fy-nl",
+            "ga", "ga-ie",
+            "gd", "gd-gb",
+            "gl", "gl-es",
+            "gn", "gn-py",
+            "gsw", "gsw-ch", "gsw-fr", "gsw-li",
+            "gu", "gu-in", "guz", "guz-ke",
+            "gv", "gv-im",
+            "ha", "ha-latn", "ha-latn-gh", "ha-latn-ne", "ha-latn-ng", "haw", "haw-us",
+            "he", "he-il",
+            "hi", "hi-in",
+            "hr", "hr-ba", "hr-hr",
+            "hsb", "hsb-de",
+            "hu", "hu-hu", "hu-hu_technl",
+            "hy", "hy-am",
+            "ia", "ia-001", "ia-fr",
+            "ibb", "ibb-ng",
+            "id", "id-id",
+            "ig", "ig-ng",
+            "ii", "ii-cn",
+            "is", "is-is",
+            "it", "it-ch", "it-it", "it-sm",
+            "iu", "iu-cans", "iu-cans-ca", "iu-latn", "iu-latn-ca",
+            "ja", "ja-jp", "ja-jp_radstr",
+            "jgo", "jgo-cm",
+            "jmc", "jmc-tz",
+            "jv", "jv-java", "jv-java-id", "jv-latn", "jv-latn-id",
+            "ka", "ka-ge", "ka-ge_modern", "kab", "kab-dz", "kam", "kam-ke",
+            "kde", "kde-tz",
+            "kea", "kea-cv",
+            "khq", "khq-ml",
+            "ki", "ki-ke",
+            "kk", "kk-kz", "kkj", "kkj-cm",
+            "kl", "kl-gl", "kln", "kln-ke",
+            "km", "km-kh",
+            "kn", "kn-in",
+            "ko", "ko-kp", "ko-kr", "kok", "kok-in",
+            "kr", "kr-ng",
+            "ks", "ks-arab", "ks-arab-in", "ks-deva", "ks-deva-in", "ksb", "ksb-tz", "ksf", "ksf-cm", "ksh", "ksh-de",
+            "ku", "ku-arab", "ku-arab-iq", "ku-arab-ir",
+            "kw", "kw-gb",
+            "ky", "ky-kg",
+            "la", "la-001", "lag", "lag-tz",
+            "lb", "lb-lu",
+            "lg", "lg-ug",
+            "lkt", "lkt-us",
+            "ln", "ln-ao", "ln-cd", "ln-cf", "ln-cg",
+            "lo", "lo-la",
+            "lrc", "lrc-iq", "lrc-ir",
+            "lt", "lt-lt",
+            "lu", "lu-cd", "luo", "luo-ke", "luy", "luy-ke",
+            "lv", "lv-lv",
+            "mas", "mas-ke", "mas-tz",
+            "mer", "mer-ke",
+            "mfe", "mfe-mu",
+            "mg", "mg-mg", "mgh", "mgh-mz", "mgo", "mgo-cm",
+            "mi", "mi-nz",
+            "mk", "mk-mk",
+            "ml", "ml-in",
+            "mn", "mn-cyrl", "mn-mn", "mn-mong", "mn-mong-cn", "mn-mong-mn", "mni", "mni-in",
+            "moh", "moh-ca",
+            "mr", "mr-in",
+            "ms", "ms-bn", "ms-my", "ms-sg",
+            "mt", "mt-mt",
+            "mua", "mua-cm",
+            "my", "my-mm",
+            "mzn", "mzn-ir",
+            "naq", "naq-na",
+            "nb", "nb-no", "nb-sj",
+            "nd", "nd-zw", "nds", "nds-de", "nds-nl",
+            "ne", "ne-in", "ne-np",
+            "nl", "nl-aw", "nl-be", "nl-bq", "nl-cw", "nl-nl", "nl-sr", "nl-sx",
+            "nmg", "nmg-cm",
+            "nn", "nn-no", "nnh", "nnh-cm",
+            "no",
+            "nqo", "nqo-gn",
+            "nr", "nr-za",
+            "nso", "nso-za",
+            "nus", "nus-ss",
+            "nyn", "nyn-ug",
+            "oc", "oc-fr",
+            "om", "om-et", "om-ke",
+            "or", "or-in",
+            "os", "os-ge", "os-ru",
+            "pa", "pa-arab", "pa-arab-pk", "pa-in", "pap", "pap-029",
+            "pl", "pl-pl",
+            "prg", "prg-001", "prs", "prs-af",
+            "ps", "ps-af",
+            "pt", "pt-ao", "pt-br", "pt-ch", "pt-cv", "pt-gq", "pt-gw", "pt-lu", "pt-mo", "pt-mz", "pt-pt", "pt-st", "pt-tl",
+            "qps-latn-x-sh", "qps-ploc", "qps-ploca", "qps-plocm",
+            "quc", "quc-latn", "quc-latn-gt", "quz", "quz-bo", "quz-ec", "quz-pe",
+            "rm", "rm-ch",
+            "rn", "rn-bi",
+            "ro", "ro-md", "ro-ro", "rof", "rof-tz",
+            "ru", "ru-by", "ru-kg", "ru-kz", "ru-md", "ru-ru", "ru-ua",
+            "rw", "rw-rw", "rwk", "rwk-tz",
+            "sa", "sa-in", "sah", "sah-ru", "saq", "saq-ke",
+            "sbp", "sbp-tz",
+            "sd", "sd-arab", "sd-arab-pk", "sd-deva", "sd-deva-in",
+            "se", "se-fi", "se-no", "se-se", "seh", "seh-mz", "ses", "ses-ml",
+            "sg", "sg-cf",
+            "shi", "shi-latn", "shi-latn-ma", "shi-tfng", "shi-tfng-ma",
+            "si", "si-lk",
+            "sk", "sk-sk",
+            "sl", "sl-si",
+            "sma", "sma-no", "sma-se", "smj", "smj-no", "smj-se", "smn", "smn-fi", "sms", "sms-fi",
+            "sn", "sn-latn", "sn-latn-zw",
+            "so", "so-dj", "so-et", "so-ke", "so-so",
+            "sq", "sq-al", "sq-mk", "sq-xk",
+            "sr", "sr-cyrl", "sr-cyrl-ba", "sr-cyrl-cs", "sr-cyrl-me", "sr-cyrl-rs", "sr-cyrl-xk", "sr-latn", "sr-latn-ba", "sr-latn-cs", "sr-latn-me", "sr-latn-rs", "sr-latn-xk",
+            "ss", "ss-sz", "ss-za", "ssy", "ssy-er",
+            "st", "st-ls", "st-za",
+            "sv", "sv-ax", "sv-fi", "sv-se",
+            "sw", "sw-cd", "sw-ke", "sw-tz", "sw-ug", "swc", "swc-cd",
+            "syr", "syr-sy",
+            "ta", "ta-in", "ta-lk", "ta-my", "ta-sg",
+            "te", "te-in", "teo", "teo-ke", "teo-ug",
+            "tg", "tg-cyrl", "tg-cyrl-tj",
+            "th", "th-th",
+            "ti", "ti-er", "ti-et", "tig", "tig-er",
+            "tk", "tk-tm",
+            "tn", "tn-bw", "tn-za",
+            "to", "to-to",
+            "tr", "tr-cy", "tr-tr",
+            "ts", "ts-za",
+            "tt", "tt-ru",
+            "twq", "twq-ne",
+            "tzm", "tzm-arab", "tzm-arab-ma", "tzm-latn", "tzm-latn-dz", "tzm-latn-ma", "tzm-tfng", "tzm-tfng-ma",
+            "ug", "ug-cn",
+            "uk", "uk-ua",
+            "ur", "ur-in", "ur-pk",
+            "uz", "uz-arab", "uz-arab-af", "uz-cyrl", "uz-cyrl-uz", "uz-latn", "uz-latn-uz",
+            "vai", "vai-latn", "vai-latn-lr", "vai-vaii", "vai-vaii-lr",
+            "ve", "ve-za",
+            "vi", "vi-vn",
+            "vo", "vo-001",
+            "vun", "vun-tz",
+            "wae", "wae-ch", "wal", "wal-et",
+            "wo", "wo-sn",
+            "x-iv_mathan",
+            "xh", "xh-za",
+            "xog", "xog-ug",
+            "yav", "yav-cm",
+            "yi", "yi-001",
+            "yo", "yo-bj", "yo-ng",
+            "yue", "yue-hk",
+            "zgh", "zgh-tfng", "zgh-tfng-ma",
+            "zh", "zh-chs", "zh-cht", "zh-cn", "zh-cn_phoneb", "zh-cn_stroke", "zh-hans", "zh-hans-hk", "zh-hans-mo", "zh-hant", "zh-hk", "zh-hk_radstr", "zh-mo", "zh-mo_radstr", "zh-mo_stroke", "zh-sg", "zh-sg_phoneb", "zh-sg_stroke", "zh-tw", "zh-tw_pronun", "zh-tw_radstr",
+            "zu", "zu-za",
+        };
+
+        static void GenerateData(string[] cultures, (string lcid, string culture)[] lcids)
+        {
+            var list = new List<(string culture, List<string> cultures)>();
+
+            string prev = null;
+            for (int i = 0; i < cultures.Length; ++i)
+            {
+                var raw = cultures[i];
+
+                List<string> values;
+
+                if (i > 0 && raw.StartsWith(prev))
+                {
+                    values = list[^1].cultures;
+                    list[^1] = (raw, values);
+                }
+                else
+                {
+                    values = new List<string>();
+                    list.Add((raw, values));
+                }
+
+                values.Add(raw);
+                prev = raw;
+                continue;
+            }
+
+            Console.WriteLine("private static ReadOnlySpan<byte> CultureNames => new byte[]");
+            Console.WriteLine("{");
+
+            var indexes = new List<(int position, int length, string cultureName)>();
+            int pos = 0;
+            var isFirst = true;
+            for (int i = 0; i < list.Count; ++i)
+            {
+                var row = list[i];
+
+                for (int ii = 0; ii < row.cultures.Count; ++ii)
+                {
+                    string value = row.cultures[ii];
+                    indexes.Add((pos, value.Length, value));
+                }
+
+                foreach (var ch in row.culture)
+                {
+                    if (isFirst)
+                    {
+                        isFirst = false;
+                        Console.Write("    ");
+                    }
+                    Console.Write($"(byte)'{ch}', ");
+                }
+                Console.WriteLine($" // {string.Join(", ", row.cultures)}");
+                isFirst = true;
+
+                pos += row.culture.Length;
+            }
+
+            Console.WriteLine("};");
+
+            Console.WriteLine();
+            Console.WriteLine($"private const int CulturesCount = {indexes.Count};");
+            Console.WriteLine();
+
+            Console.WriteLine("private static ReadOnlySpan<byte> LocalesNamesIndexes => new byte[CulturesCount * 2]");
+            Console.WriteLine("{");
+
+            int max_length = 0;
+            foreach (var entry in indexes)
+            {
+                Debug.Assert(entry.position < Math.Pow(2, 12));
+                Debug.Assert(entry.length < Math.Pow(2, 4));
+
+                int index = entry.position << 4 | entry.length;
+                int high = index >> 8;
+                int low = (byte)index;
+
+                Debug.Assert(((high << 4) | (low >> 4)) == entry.position);
+                Debug.Assert((low & 0xF) == entry.length);
+
+
+                string lookup = $"{high}, {low},";
+                Console.WriteLine($"    {lookup}{new string(' ', 10 - lookup.Length)}// {entry.cultureName}");
+
+                max_length = Math.Max(max_length, entry.length);
+            }
+
+            Console.WriteLine("};");
+
+            Console.WriteLine();
+            Console.WriteLine($"private const int LocaleLongestName = {max_length};");
+            Console.WriteLine($"private const int LcidCount = {lcids.Length};");
+            Console.WriteLine();
+
+            int lastSort = 0;
+            List<(int sort, int index)> sortList = new List<(int sort, int index)>();
+
+            Console.WriteLine("private static ReadOnlySpan<byte> LcidToCultureNameIndices => new byte[LcidCount * 4]");
+            Console.WriteLine("{");
+            int sortIndex = 0;
+            foreach (var entry in lcids)
+            {
+                int lcid = Convert.ToInt32(entry.lcid, 16);
+                int sort = lcid >> 16;
+                if (sort != lastSort)
+                {
+                    Console.WriteLine($"    // Sort 0x{sort:x}");
+                    lastSort = sort;
+                    sortList.Add((sort, sortIndex * 4));
+                }
+
+                string cultureName = entry.culture.ToLowerInvariant();
+                int entryIndex = indexes.FindIndex(l => l.cultureName == cultureName);
+                if (entryIndex < 0)
+                {
+                    Console.WriteLine($"{entry.culture} // {cultureName}");
+                    continue;
+                }
+
+                var str = indexes[entryIndex];
+                Debug.Assert(str.position < Math.Pow(2, 12));
+                Debug.Assert(str.length < Math.Pow(2, 4));
+
+                // Trim off sort
+                lcid = (ushort)lcid;
+                int positionLength = str.position << 4 | str.length;
+
+                Console.WriteLine($"    0x{((lcid >> 8) & 0xff):x2}, 0x{(lcid & 0xff):x2}, 0x{((positionLength >> 8) & 0xff):x2}, 0x{(positionLength & 0xff):x2},  // {cultureName}");
+                sortIndex++;
+            }
+            Console.WriteLine("};");
+
+            foreach (var item in sortList)
+            {
+                Console.WriteLine($"private const int LcidSortPrefix{item.sort}Index = {item.index};");
+            }
+
+            Console.WriteLine();
+            Console.WriteLine("private const int NumericLocaleDataBytesPerRow = 18;");
+            Console.WriteLine();
+            Console.WriteLine("private static ReadOnlySpan<byte> LcidToCultureNameIndices => new byte[CulturesCount * NumericLocaleDataBytesPerRow]");
+            Console.WriteLine("{");
+
+            for (int i = 0; i < s_nameIndexToNumericData.Length; i += NUMERIC_LOCALE_DATA_COUNT_PER_ROW)
+            {
+                uint Lcid = (uint)s_nameIndexToNumericData[i];
+                uint AnsiCP = (uint)s_nameIndexToNumericData[i + 1];
+                uint OemCP = (uint)s_nameIndexToNumericData[i + 2];
+                uint MacCP = (uint)s_nameIndexToNumericData[i + 3];
+                uint EBCDIC = (uint)s_nameIndexToNumericData[i + 4];
+                uint GeoId = (uint)s_nameIndexToNumericData[i + 5];
+                uint DigitList = (uint)s_nameIndexToNumericData[i + 6];
+
+                int index = s_nameIndexToNumericData[i + 7];
+                Debug.Assert(index == -1 || index < 0xfff);
+                uint SpecificCultureIndex = index == -1 ? 0xfff: (uint)index;
+                index = s_nameIndexToNumericData[i + 8];
+                Debug.Assert(index == -1 || index < 0xfff);
+                uint ConsoleLocaleIndex = index == -1 ? 0xfff : (uint)index;
+
+                Debug.Assert(Lcid <=              0xf_ffff);
+                Debug.Assert(AnsiCP <=               0xfff);
+                Debug.Assert(OemCP <=                0xfff);
+                Debug.Assert(MacCP <=               0xffff);
+                Debug.Assert(EBCDIC <=              0xffff);
+                Debug.Assert(GeoId <=           0xfff_ffff);
+                Debug.Assert(DigitList <=             0xff);
+
+                Console.Write("    ");
+                Console.Write($"0x{(Lcid >> 16) & 0xf:x2}, 0x{(Lcid >> 8) & 0xff:x2}, 0x{Lcid & 0xff:x2}, ");
+
+                var AnsiOemCP = AnsiCP << 12 | OemCP;
+                Console.Write($"0x{(AnsiOemCP >> 16) & 0xff:x2},  0x{(AnsiOemCP >> 8) & 0xff:x2}, 0x{AnsiOemCP & 0xff:x2}, ");
+
+                Console.Write($"0x{(MacCP >> 8) & 0xff:x2}, 0x{MacCP & 0xff:x2},  ");
+                Console.Write($"0x{(EBCDIC >> 8) & 0xff:x2}, 0x{EBCDIC & 0xff:x2}, ");
+
+                Console.Write($"0x{(GeoId >> 24) & 0xff:x2}, 0x{(GeoId >> 16) & 0xff:x2},  0x{(GeoId >> 8) & 0xff:x2}, 0x{GeoId & 0xff:x2}, ");
+                Console.Write($"0x{DigitList & 0xff:x2}, ");
+
+                var Indicies = SpecificCultureIndex << 12 | ConsoleLocaleIndex;
+
+                Console.Write($"0x{(Indicies >> 16) & 0xff:x2},  0x{(Indicies >> 8) & 0xff:x2}, 0x{Indicies & 0xff:x2}, ");
+                Console.Write($" // {i / NUMERIC_LOCALE_DATA_COUNT_PER_ROW,-4} - {cultures[i / NUMERIC_LOCALE_DATA_COUNT_PER_ROW]}");
+                Console.WriteLine();
+            }
+            Console.WriteLine("};");
+        }
+        */
+    }
+}