From 5ac16c4e53a7440db1dc27b270f6519cb4e9e889 Mon Sep 17 00:00:00 2001 From: Ben Adams Date: Mon, 4 Jan 2021 19:28:27 +0000 Subject: [PATCH] Further optimize storage of icu locale data (#45643) --- .../tests/CultureInfo/CultureInfoAll.cs | 229 +- .../tests/CultureInfo/CultureInfoCtor.cs | 381 +- .../src/System/Globalization/IcuLocaleData.cs | 6277 ++++++++++---------- .../Globalization/IcuLocaleData.generator.cs | 1392 +++++ 4 files changed, 5083 insertions(+), 3196 deletions(-) create mode 100644 src/libraries/System.Private.CoreLib/src/System/Globalization/IcuLocaleData.generator.cs diff --git a/src/libraries/System.Globalization/tests/CultureInfo/CultureInfoAll.cs b/src/libraries/System.Globalization/tests/CultureInfo/CultureInfoAll.cs index 5a32192..659126b 100644 --- a/src/libraries/System.Globalization/tests/CultureInfo/CultureInfoAll.cs +++ b/src/libraries/System.Globalization/tests/CultureInfo/CultureInfoAll.cs @@ -525,71 +525,226 @@ namespace System.Globalization.Tests public static IEnumerable 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))] diff --git a/src/libraries/System.Globalization/tests/CultureInfo/CultureInfoCtor.cs b/src/libraries/System.Globalization/tests/CultureInfo/CultureInfoCtor.cs index 37b0b01..9db444b 100644 --- a/src/libraries/System.Globalization/tests/CultureInfo/CultureInfoCtor.cs +++ b/src/libraries/System.Globalization/tests/CultureInfo/CultureInfoCtor.cs @@ -10,16 +10,376 @@ namespace System.Globalization.Tests { public static IEnumerable 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] diff --git a/src/libraries/System.Private.CoreLib/src/System/Globalization/IcuLocaleData.cs b/src/libraries/System.Private.CoreLib/src/System/Globalization/IcuLocaleData.cs index b35cece..1ed01ba 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Globalization/IcuLocaleData.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Globalization/IcuLocaleData.cs @@ -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 prev = null; - for (int i = 0; i < cultures.Length; ++i) { - var raw = cultures[i]; - - List values; - - if (i > 0 && raw.StartsWith (prev)) { - values = list[^1].Item2; - list[^1] = (raw, values); - } else { - values = new List (); - list.Add((raw, values)); - } - - values.Add(raw); - prev = raw; - continue; - } - - Console.WriteLine("private static ReadOnlySpan 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 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 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 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 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 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 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 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 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 GetCultureName(int localeNameIndice) { - ushort index = s_localesNamesIndexes[localeNameIndice]; - return CultureNames.Slice(index >> 4, index & 0xF); + ReadOnlySpan 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 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 index 0000000..b632763 --- /dev/null +++ b/src/libraries/System.Private.CoreLib/src/System/Globalization/IcuLocaleData.generator.cs @@ -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 cultures)>(); + + string prev = null; + for (int i = 0; i < cultures.Length; ++i) + { + var raw = cultures[i]; + + List values; + + if (i > 0 && raw.StartsWith(prev)) + { + values = list[^1].cultures; + list[^1] = (raw, values); + } + else + { + values = new List(); + list.Add((raw, values)); + } + + values.Add(raw); + prev = raw; + continue; + } + + Console.WriteLine("private static ReadOnlySpan 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 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 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 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("};"); + } + */ + } +} -- 2.7.4