From abcb681cee1fb276cd31019393f0aae05aaac608 Mon Sep 17 00:00:00 2001 From: Tarek Mahmoud Sayed Date: Sun, 11 Jul 2021 18:02:22 -0700 Subject: [PATCH 01/10] Support InvariantMode Case Mapping --- .../InvariantCasing/InvariantCasing.csproj | 9 + .../Tools/InvariantCasing/Program.cs | 259 ++++++ .../tests/Invariant/InvariantMode.cs | 52 +- .../System.Private.CoreLib.Shared.projitems | 2 + .../Globalization/CompareInfo.Invariant.cs | 217 +---- .../src/System/Globalization/CompareInfo.cs | 8 +- .../Globalization/InvariantModeCasing.cs | 779 ++++++++++++++++++ .../src/System/Globalization/Ordinal.cs | 93 +-- .../System/Globalization/OrdinalCasing.Icu.cs | 90 +- .../System/Globalization/SurrogateCasing.cs | 183 ++++ .../src/System/Globalization/TextInfo.cs | 38 +- .../System/MemoryExtensions.Globalization.cs | 8 +- 12 files changed, 1364 insertions(+), 374 deletions(-) create mode 100644 src/coreclr/System.Private.CoreLib/Tools/InvariantCasing/InvariantCasing.csproj create mode 100644 src/coreclr/System.Private.CoreLib/Tools/InvariantCasing/Program.cs create mode 100644 src/libraries/System.Private.CoreLib/src/System/Globalization/InvariantModeCasing.cs create mode 100644 src/libraries/System.Private.CoreLib/src/System/Globalization/SurrogateCasing.cs diff --git a/src/coreclr/System.Private.CoreLib/Tools/InvariantCasing/InvariantCasing.csproj b/src/coreclr/System.Private.CoreLib/Tools/InvariantCasing/InvariantCasing.csproj new file mode 100644 index 0000000000000..d75be91610c60 --- /dev/null +++ b/src/coreclr/System.Private.CoreLib/Tools/InvariantCasing/InvariantCasing.csproj @@ -0,0 +1,9 @@ + + + + Exe + net5.0 + enable + + + diff --git a/src/coreclr/System.Private.CoreLib/Tools/InvariantCasing/Program.cs b/src/coreclr/System.Private.CoreLib/Tools/InvariantCasing/Program.cs new file mode 100644 index 0000000000000..b99d27609f17e --- /dev/null +++ b/src/coreclr/System.Private.CoreLib/Tools/InvariantCasing/Program.cs @@ -0,0 +1,259 @@ +using System; +using System.IO; +using System.Globalization; +using System.Collections.Generic; +using System.Runtime.CompilerServices; + +namespace InvariantCasing +{ + public class Program + { + + static void Main(string[] args) + { + if (args.Length != 1) + { + Console.WriteLine("Usage:"); + Console.WriteLine("InvariantCasing [UnicodeData.txt]"); + Console.WriteLine("Unicode Data File can be downloaded from https://www.unicode.org/Public/UCD/latest/ucd/"); + return; + } + Parser p = new(); + p.ParseFile(args[0]); + + p.WriteSurrogateCasing(true); + p.WriteSurrogateCasing(false); + + p.GenerateTables(); + + Console.WriteLine("Done!"); + } + } + + public class Parser + { + private Dictionary upperCasing = new(); + private Dictionary lowerCasing = new(); + + public void ParseFile(string unicodeFileName) + { + try + { + using StreamReader stream = new StreamReader(unicodeFileName); + while (!stream.EndOfStream) + { + string line = stream.ReadLine(); + string[] parts = line.Split(';'); + if (parts.Length < 15) + { + Console.WriteLine($"Error in the line: {line}"); + return; + } + + int from = int.Parse(parts[0], NumberStyles.HexNumber, null); + if (from != 0x0130 && from != 0x0131 && from != 0x017f) + { + if (parts[13].Length > 0) + { + lowerCasing[from] = int.Parse(parts[13], NumberStyles.HexNumber, null); + } + else if (parts[14].Length > 0) + { + upperCasing[from] = int.Parse(parts[14], NumberStyles.HexNumber, null); + } + } + } + } + catch (Exception e) + { + Console.WriteLine($"{e}"); + } + } + + internal void WriteSurrogateCasing(bool upper) + { + // H = (S - 0x10000) / 0x400 + 0xD800 + // L = (S - 0x10000) % 0x400 + 0xDC00 + + var table = upper ? upperCasing : lowerCasing; + + Console.WriteLine("----------------------------------------------------------------"); + Console.WriteLine(upper ? $" ******* Surrogate Upper Casing" : $" ******* Surrogate Lower Casing"); + Console.WriteLine("----------------------------------------------------------------"); + + int last = 0; + + foreach (KeyValuePair kvp in table) + { + if (kvp.Key > 0xFFFF) + { + int hFrom = (kvp.Key - 0x10000) / 0x400 + 0xD800; + int lFrom = (kvp.Key - 0x10000) % 0x400 + 0xDC00; + + int hTo = (kvp.Value - 0x10000) / 0x400 + 0xD800; + int lTo = (kvp.Value - 0x10000) % 0x400 + 0xDC00; + + if (last+1 != lFrom) + { + Console.WriteLine(); + } + + last = lFrom; + + Console.WriteLine($"0x{kvp.Key, -10:x}(0x{hFrom,-4:x}, 0x{lFrom,-4:x}) ..... 0x{kvp.Value,-10:x}(0x{hTo,-4:x}, 0x{lTo,-4:x})"); + } + } + } + + public void WriteTable(ushort [] table, string name) + { + int index = 0; + Console.WriteLine($" private static readonly ushort [] {name} = "); + Console.WriteLine($" {{"); + Console.WriteLine($" // 0 1 2 3 4 5 6 7 8 9 A B C D E F"); + Console.Write($" "); + + while (index < table.Length) + { + if (index > 0 && index % 16 == 0) + { + Console.WriteLine($" // 0x{index - 16:x4} - 0x{index - 1:x4}"); + Console.Write($" "); + } + Console.Write($"0x{table[index]:x4}, "); + index++; + } + + Console.WriteLine($" // 0x{index - 16:x4} - 0x{index - 1:x4}"); + Console.WriteLine($" }};"); + } + + public void GenerateTables() + { + GenerateTable8_4_4(upperCasing, out ushort[] u1, out ushort[] u2, out ushort[] u3); + GenerateTable8_4_4(lowerCasing, out ushort[] l1, out ushort[] l2, out ushort[] l3); + + WriteTable(u1, "UpperCase1"); + WriteTable(u2, "UpperCase2"); + WriteTable(u3, "UpperCase3"); + WriteTable(l1, "LowerCase1"); + WriteTable(l2, "LowerCase2"); + WriteTable(l3, "LowerCase3"); + + Console.WriteLine($"Upper Casing Tables Sizes: u1 = {u1.Length}, u2 = {u2.Length}, u3 = {u3.Length} .... total = {u1.Length + u2.Length + u3.Length}, Total Bytes: {(u1.Length + u2.Length + u3.Length) * sizeof(ushort)} "); + Console.WriteLine($"lower Casing Tables Sizes: l1 = {l1.Length}, l2 = {l2.Length}, l3 = {l3.Length} .... total = {l1.Length + l2.Length + l3.Length}, Total Bytes: {(l1.Length + l2.Length + l3.Length) * sizeof(ushort)} "); + Console.WriteLine($"Total Upper Casing entries: {upperCasing.Keys.Count} ... in bytes {sizeof(ushort) * upperCasing.Keys.Count}"); + Console.WriteLine($"Total Lower Casing entries: {lowerCasing.Keys.Count} ... in bytes {sizeof(ushort) * lowerCasing.Keys.Count}"); + } + + //[MethodImpl(MethodImplOptions.AggressiveInlining)] + //private static char ToLower(char c) + //{ + // ushort v = LowerCase1[c >> 8]; + // v = LowerCase2[v + ((c >> 4) & 0xF)]; + // v = LowerCase3[v + (c & 0xF)]; + + // return v == 0 ? c : (char)v; + //} + + //[MethodImpl(MethodImplOptions.AggressiveInlining)] + //private static char ToUpper(char c) + //{ + // ushort v = UpperCase1[c >> 8]; + // v = UpperCase2[v + ((c >> 4) & 0xF)]; + // v = UpperCase3[v + (c & 0xF)]; + + // return v == 0 ? c : (char)v; + //} + + private static void GenerateTable8_4_4(Dictionary rawData, out ushort[] l1, out ushort[] l2, out ushort[] l3) + { + Dictionary level2Hash = new Dictionary(); + Dictionary level3Hash = new Dictionary(); + + List level1Index = new List(); + List level2Index = new List(); + List level3Data = new List(); + + const ushort planes = 1; // can be 17 + ushort ch = 0; + ushort valueInHash; + + for (ushort i = 0; i < 256 * planes; i++) + { + // Generate level 1 indice + + // This is the row data which contains a row of indice for level 2 table. + string level2RowData = ""; + + for (ushort j = 0; j < 16; j++) + { + // Generate level 2 indice + string level3RowData = ""; + for (ushort k = 0; k < 16; k++) + { + // Generate level 3 values by grouping 16 values together. + // each element of the 16 value group is seperated by ";" + + if (rawData.TryGetValue(ch, out int value)) + { + // There is data defined for this codepoint. Use it. + level3RowData = level3RowData + value + ";"; + } + else + { + // There is no data defined for this codepoint. Use the default value + // specified in the ctor. + level3RowData = level3RowData + 0 + ";"; + } + ch++; + } + + // Check if the pattern of these 16 values happens before. + + if (!level3Hash.TryGetValue(level3RowData, out valueInHash)) + { + // This is a new group in the level 3 values. + // Get the current count of level 3 group count for this plane. + valueInHash = (ushort)level3Data.Count; + // Store this count to the hash table, keyed by the pattern of these 16 values. + level3Hash[level3RowData] = valueInHash; + + // Populate the 16 values into level 3 data table for this plane. + string[] values = level3RowData.Split(';'); + foreach (string s in values) + { + if (s.Length > 0) + level3Data.Add(ushort.Parse(s)); + } + + } + + level2RowData = level2RowData + String.Format("{0:x4}", valueInHash) + ","; + } + + if (!level2Hash.TryGetValue(level2RowData, out valueInHash)) + { + // Get the count of the current level 2 index table. + valueInHash = (ushort)level2Index.Count; + level2Hash[level2RowData] = valueInHash; + + // Populate the 16 values into level 2 data table for this plane. + foreach (string s in level2RowData.Split(',')) + { + if (s.Length > 0) + level2Index.Add(ushort.Parse(s, NumberStyles.HexNumber, CultureInfo.InvariantCulture)); + } + + } + + // Populate the index values into level 1 index table. + level1Index.Add(valueInHash); + } + + l1 = level1Index.ToArray(); + l2 = level2Index.ToArray(); + l3 = level3Data.ToArray(); + } + } +} diff --git a/src/libraries/System.Globalization/tests/Invariant/InvariantMode.cs b/src/libraries/System.Globalization/tests/Invariant/InvariantMode.cs index a2cd0baf70f8e..36adc23deb489 100644 --- a/src/libraries/System.Globalization/tests/Invariant/InvariantMode.cs +++ b/src/libraries/System.Globalization/tests/Invariant/InvariantMode.cs @@ -53,6 +53,12 @@ public static IEnumerable IndexOf_TestData() yield return new object[] { "Hello", "L", 0, 5, CompareOptions.OrdinalIgnoreCase, 2 }; yield return new object[] { "Hello", "h", 0, 5, CompareOptions.OrdinalIgnoreCase, 0 }; + yield return new object[] { "Hello\u00D3\u00D4", "\u00F3\u00F4", 0, 7, CompareOptions.OrdinalIgnoreCase, 5 }; + yield return new object[] { "Hello\u00D3\u00D4", "\u00F3\u00F5", 0, 7, CompareOptions.OrdinalIgnoreCase, -1 }; + + yield return new object[] { "Hello\U00010400", "\U00010428", 0, 7, CompareOptions.OrdinalIgnoreCase, 5 }; + + // Long strings yield return new object[] { new string('b', 100) + new string('a', 5555), "aaaaaaaaaaaaaaa", 0, 5655, CompareOptions.None, 100 }; yield return new object[] { new string('b', 101) + new string('a', 5555), new string('a', 5000), 0, 5656, CompareOptions.None, 101 }; @@ -159,6 +165,12 @@ public static IEnumerable LastIndexOf_TestData() yield return new object[] { "Hello", "L", 4, 5, CompareOptions.OrdinalIgnoreCase, 3 }; yield return new object[] { "Hello", "h", 4, 5, CompareOptions.OrdinalIgnoreCase, 0 }; + + yield return new object[] { "Hello\u00D3\u00D4\u00D3\u00D4", "\u00F3\u00F4", 8, 9, CompareOptions.OrdinalIgnoreCase, 7 }; + yield return new object[] { "Hello\u00D3\u00D4\u00D3\u00D4", "\u00F3\u00F5", 8, 9, CompareOptions.OrdinalIgnoreCase, -1 }; + + yield return new object[] { "Hello\U00010400\U00010400", "\U00010428", 8, 9, CompareOptions.OrdinalIgnoreCase, 7 }; + // Long strings yield return new object[] { new string('a', 5555) + new string('b', 100), "aaaaaaaaaaaaaaa", 5654, 5655, CompareOptions.None, 5540 }; yield return new object[] { new string('b', 101) + new string('a', 5555), new string('a', 5000), 5655, 5656, CompareOptions.None, 656 }; @@ -237,6 +249,10 @@ public static IEnumerable IsPrefix_TestData() yield return new object[] { "FooBar", "Foo\u0400Bar", CompareOptions.Ordinal, false }; yield return new object[] { "FooBA\u0300R", "FooB\u00C0R", CompareOptions.IgnoreNonSpace, false }; + yield return new object[] { "\u00D3\u00D4\u00D3\u00D4Hello", "\u00F3\u00F4", CompareOptions.OrdinalIgnoreCase, true }; + yield return new object[] { "\u00D3\u00D4Hello\u00D3\u00D4", "\u00F3\u00F5", CompareOptions.OrdinalIgnoreCase, false }; + yield return new object[] { "\U00010400\U00010400Hello", "\U00010428", CompareOptions.OrdinalIgnoreCase, true }; + // Ignore symbols yield return new object[] { "Test's can be interesting", "Tests", CompareOptions.IgnoreSymbols, false }; yield return new object[] { "Test's can be interesting", "Tests", CompareOptions.None, false }; @@ -277,6 +293,11 @@ public static IEnumerable IsSuffix_TestData() yield return new object[] { "FooBar", "Foo\u0400Bar", CompareOptions.Ordinal, false }; yield return new object[] { "FooBA\u0300R", "FooB\u00C0R", CompareOptions.IgnoreNonSpace, false }; + yield return new object[] { "\u00D3\u00D4\u00D3\u00D4Hello", "\u00F3\u00F4", CompareOptions.OrdinalIgnoreCase, false }; + yield return new object[] { "\u00D3\u00D4Hello\u00D3\u00D4", "\u00F3\u00F4", CompareOptions.OrdinalIgnoreCase, true }; + yield return new object[] { "\U00010400\U00010400Hello", "\U00010428", CompareOptions.OrdinalIgnoreCase, false }; + yield return new object[] { "Hello\U00010400", "\U00010428", CompareOptions.OrdinalIgnoreCase, true }; + // Weightless characters yield return new object[] { "", "\u200d", CompareOptions.None, false }; yield return new object[] { "", "\u200d", CompareOptions.IgnoreCase, false }; @@ -327,6 +348,21 @@ public static IEnumerable Compare_TestData() yield return new object[] { "", "'", CompareOptions.None, -1 }; + yield return new object[] { "\u00D3\u00D4", "\u00F3\u00F4", CompareOptions.OrdinalIgnoreCase, 0 }; + yield return new object[] { "\U00010400", "\U00010428", CompareOptions.OrdinalIgnoreCase, 0 }; + yield return new object[] { "\u00D3\u00D4", "\u00F3\u00F4", CompareOptions.IgnoreCase, 0 }; + yield return new object[] { "\U00010400", "\U00010428", CompareOptions.IgnoreCase, 0 }; + + yield return new object[] { "\u00D3\u00D4G", "\u00F3\u00F4", CompareOptions.OrdinalIgnoreCase, 1 }; + yield return new object[] { "\U00010400G", "\U00010428", CompareOptions.OrdinalIgnoreCase, 1 }; + yield return new object[] { "\u00D3\u00D4G", "\u00F3\u00F4", CompareOptions.IgnoreCase, 1 }; + yield return new object[] { "\U00010400G", "\U00010428", CompareOptions.IgnoreCase, 1 }; + + yield return new object[] { "\u00D3\u00D4", "\u00F3\u00F4G", CompareOptions.OrdinalIgnoreCase, -1 }; + yield return new object[] { "\U00010400", "\U00010428G", CompareOptions.OrdinalIgnoreCase, -1 }; + yield return new object[] { "\u00D3\u00D4", "\u00F3\u00F4G", CompareOptions.IgnoreCase, -1 }; + yield return new object[] { "\U00010400", "\U00010428G", CompareOptions.IgnoreCase, -1 }; + // Hungarian yield return new object[] { "dzsdzs", "ddzs", CompareOptions.Ordinal, 1 }; yield return new object[] { "dzsdzs", "ddzs", CompareOptions.None, 1 }; @@ -375,7 +411,7 @@ public static IEnumerable ToLower_TestData() yield return new object[] { "EMBEDDED\0NuLL\0Byte\0", "embedded\0null\0byte\0", true }; // LATIN CAPITAL LETTER O WITH ACUTE, which has a lower case variant. - yield return new object[] { "\u00D3", "\u00F3", false }; + yield return new object[] { "\u00D3", "\u00F3", true }; // SNOWMAN, which does not have a lower case variant. yield return new object[] { "\u2603", "\u2603", true }; @@ -383,13 +419,16 @@ public static IEnumerable ToLower_TestData() // RAINBOW (outside the BMP and does not case) yield return new object[] { "\U0001F308", "\U0001F308", true }; + // Surrogate casing + yield return new object[] { "\U00010400", "\U00010428", true }; + // Unicode defines some codepoints which expand into multiple codepoints // when cased (see SpecialCasing.txt from UNIDATA for some examples). We have never done // these sorts of expansions, since it would cause string lengths to change when cased, // which is non-intuitive. In addition, there are some context sensitive mappings which // we also don't preform. // Greek Capital Letter Sigma (does not to case to U+03C2 with "final sigma" rule). - yield return new object[] { "\u03A3", "\u03C3", false }; + yield return new object[] { "\u03A3", "\u03C3", true }; } public static IEnumerable ToUpper_TestData() @@ -416,7 +455,7 @@ public static IEnumerable ToUpper_TestData() yield return new object[] { "embedded\0NuLL\0Byte\0", "EMBEDDED\0NULL\0BYTE\0", true }; // LATIN SMALL LETTER O WITH ACUTE, which has an upper case variant. - yield return new object[] { "\u00F3", "\u00D3", false }; + yield return new object[] { "\u00F3", "\u00D3", true }; // SNOWMAN, which does not have an upper case variant. yield return new object[] { "\u2603", "\u2603", true }; @@ -424,6 +463,9 @@ public static IEnumerable ToUpper_TestData() // RAINBOW (outside the BMP and does not case) yield return new object[] { "\U0001F308", "\U0001F308", true }; + // Surrogate casing + yield return new object[] { "\U00010428", "\U00010400", true }; + // Unicode defines some codepoints which expand into multiple codepoints // when cased (see SpecialCasing.txt from UNIDATA for some examples). We have never done // these sorts of expansions, since it would cause string lengths to change when cased, @@ -439,7 +481,7 @@ public static IEnumerable ToUpper_TestData() // as part of casing. yield return new object[] { "\u0149", "\u0149", true }; - yield return new object[] { "\u03C3", "\u03A3", false }; + yield return new object[] { "\u03C3", "\u03A3", true }; } public static IEnumerable GetAscii_TestData() @@ -722,7 +764,7 @@ public unsafe void TestGetSortKeyLength_OverlongArgument(int inputLength) [InlineData("Hello", CompareOptions.IgnoreCase, "HELLO")] [InlineData("Hello", CompareOptions.IgnoreCase | CompareOptions.IgnoreWidth, "HELLO")] [InlineData("Hell\u00F6", CompareOptions.None, "Hell\u00F6")] // U+00F6 = LATIN SMALL LETTER O WITH DIAERESIS - [InlineData("Hell\u00F6", CompareOptions.IgnoreCase, "HELL\u00F6")] // note the final "o with diaeresis" isn't capitalized + [InlineData("Hell\u00F6", CompareOptions.IgnoreCase, "HELL\u00D6")] // note the final "o with diaeresis" isn't capitalized public unsafe void TestSortKey_FromSpan(string input, CompareOptions options, string expected) { byte[] expectedOutputBytes = GetExpectedInvariantOrdinalSortKey(expected); diff --git a/src/libraries/System.Private.CoreLib/src/System.Private.CoreLib.Shared.projitems b/src/libraries/System.Private.CoreLib/src/System.Private.CoreLib.Shared.projitems index a1e270dbde97d..ab2bc7ff6fd89 100644 --- a/src/libraries/System.Private.CoreLib/src/System.Private.CoreLib.Shared.projitems +++ b/src/libraries/System.Private.CoreLib/src/System.Private.CoreLib.Shared.projitems @@ -342,6 +342,7 @@ + @@ -363,6 +364,7 @@ + diff --git a/src/libraries/System.Private.CoreLib/src/System/Globalization/CompareInfo.Invariant.cs b/src/libraries/System.Private.CoreLib/src/System/Globalization/CompareInfo.Invariant.cs index b1033b5f2b4e5..2b73c9ef8e517 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Globalization/CompareInfo.Invariant.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Globalization/CompareInfo.Invariant.cs @@ -9,210 +9,6 @@ namespace System.Globalization { public partial class CompareInfo { - internal static unsafe int InvariantIndexOf(string source, string value, int startIndex, int count, bool ignoreCase) - { - Debug.Assert(source != null); - Debug.Assert(value != null); - Debug.Assert(startIndex >= 0 && startIndex < source.Length); - - fixed (char* pSource = source) fixed (char* pValue = value) - { - char* pSrc = &pSource[startIndex]; - int index = InvariantFindString(pSrc, count, pValue, value.Length, ignoreCase, fromBeginning: true); - if (index >= 0) - { - return index + startIndex; - } - return -1; - } - } - - internal static unsafe int InvariantIndexOf(ReadOnlySpan source, ReadOnlySpan value, bool ignoreCase, bool fromBeginning = true) - { - Debug.Assert(source.Length != 0); - Debug.Assert(value.Length != 0); - - fixed (char* pSource = &MemoryMarshal.GetReference(source)) - fixed (char* pValue = &MemoryMarshal.GetReference(value)) - { - return InvariantFindString(pSource, source.Length, pValue, value.Length, ignoreCase, fromBeginning); - } - } - - internal static unsafe int InvariantLastIndexOf(string source, string value, int startIndex, int count, bool ignoreCase) - { - Debug.Assert(!string.IsNullOrEmpty(source)); - Debug.Assert(value != null); - Debug.Assert(startIndex >= 0 && startIndex < source.Length); - - fixed (char* pSource = source) fixed (char* pValue = value) - { - char* pSrc = &pSource[startIndex - count + 1]; - int index = InvariantFindString(pSrc, count, pValue, value.Length, ignoreCase, fromBeginning: false); - if (index >= 0) - { - return index + startIndex - count + 1; - } - return -1; - } - } - - private static unsafe int InvariantFindString(char* source, int sourceCount, char* value, int valueCount, bool ignoreCase, bool fromBeginning) - { - int ctrSource = 0; // index value into source - int ctrValue = 0; // index value into value - char sourceChar; // Character for case lookup in source - char valueChar; // Character for case lookup in value - int lastSourceStart; - - Debug.Assert(source != null); - Debug.Assert(value != null); - Debug.Assert(sourceCount >= 0); - Debug.Assert(valueCount >= 0); - - if (valueCount == 0) - { - return fromBeginning ? 0 : sourceCount; - } - - if (sourceCount < valueCount) - { - return -1; - } - - if (fromBeginning) - { - lastSourceStart = sourceCount - valueCount; - if (ignoreCase) - { - char firstValueChar = InvariantCaseFold(value[0]); - for (ctrSource = 0; ctrSource <= lastSourceStart; ctrSource++) - { - sourceChar = InvariantCaseFold(source[ctrSource]); - if (sourceChar != firstValueChar) - { - continue; - } - - for (ctrValue = 1; ctrValue < valueCount; ctrValue++) - { - sourceChar = InvariantCaseFold(source[ctrSource + ctrValue]); - valueChar = InvariantCaseFold(value[ctrValue]); - - if (sourceChar != valueChar) - { - break; - } - } - - if (ctrValue == valueCount) - { - return ctrSource; - } - } - } - else - { - char firstValueChar = value[0]; - for (ctrSource = 0; ctrSource <= lastSourceStart; ctrSource++) - { - sourceChar = source[ctrSource]; - if (sourceChar != firstValueChar) - { - continue; - } - - for (ctrValue = 1; ctrValue < valueCount; ctrValue++) - { - sourceChar = source[ctrSource + ctrValue]; - valueChar = value[ctrValue]; - - if (sourceChar != valueChar) - { - break; - } - } - - if (ctrValue == valueCount) - { - return ctrSource; - } - } - } - } - else - { - lastSourceStart = sourceCount - valueCount; - if (ignoreCase) - { - char firstValueChar = InvariantCaseFold(value[0]); - for (ctrSource = lastSourceStart; ctrSource >= 0; ctrSource--) - { - sourceChar = InvariantCaseFold(source[ctrSource]); - if (sourceChar != firstValueChar) - { - continue; - } - for (ctrValue = 1; ctrValue < valueCount; ctrValue++) - { - sourceChar = InvariantCaseFold(source[ctrSource + ctrValue]); - valueChar = InvariantCaseFold(value[ctrValue]); - - if (sourceChar != valueChar) - { - break; - } - } - - if (ctrValue == valueCount) - { - return ctrSource; - } - } - } - else - { - char firstValueChar = value[0]; - for (ctrSource = lastSourceStart; ctrSource >= 0; ctrSource--) - { - sourceChar = source[ctrSource]; - if (sourceChar != firstValueChar) - { - continue; - } - - for (ctrValue = 1; ctrValue < valueCount; ctrValue++) - { - sourceChar = source[ctrSource + ctrValue]; - valueChar = value[ctrValue]; - - if (sourceChar != valueChar) - { - break; - } - } - - if (ctrValue == valueCount) - { - return ctrSource; - } - } - } - } - - return -1; - } - - private static char InvariantCaseFold(char c) - { - // If we ever make Invariant mode support more than just simple ASCII-range case folding, - // then we should update this method to perform proper case folding instead of an - // uppercase conversion. For now it only understands the ASCII range and reflects all - // non-ASCII values unchanged. - - return (uint)(c - 'a') <= (uint)('z' - 'a') ? (char)(c - 0x20) : c; - } - private SortKey InvariantCreateSortKey(string source, CompareOptions options) { if (source == null) { throw new ArgumentNullException(nameof(source)); } @@ -263,8 +59,19 @@ private static void InvariantCreateSortKeyOrdinalIgnoreCase(ReadOnlySpan s for (int i = 0; i < source.Length; i++) { + char c = source[i]; + if (char.IsHighSurrogate(c) && i < source.Length - 1 && char.IsLowSurrogate(source[i + 1])) + { + SurrogateCasing.ToUpper(c, source[i + 1], out ushort hr, out ushort lr); + BinaryPrimitives.WriteUInt16BigEndian(sortKey, hr); + BinaryPrimitives.WriteUInt16BigEndian(sortKey, lr); + i++; + sortKey = sortKey.Slice(2 * sizeof(ushort)); + continue; + } + // convert machine-endian to big-endian - BinaryPrimitives.WriteUInt16BigEndian(sortKey, (ushort)InvariantCaseFold(source[i])); + BinaryPrimitives.WriteUInt16BigEndian(sortKey, (ushort)InvariantModeCasing.ToUpper(source[i])); sortKey = sortKey.Slice(sizeof(ushort)); } } diff --git a/src/libraries/System.Private.CoreLib/src/System/Globalization/CompareInfo.cs b/src/libraries/System.Private.CoreLib/src/System/Globalization/CompareInfo.cs index 3f35e96a69ea0..b8e7d60a24ed1 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Globalization/CompareInfo.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Globalization/CompareInfo.cs @@ -300,12 +300,10 @@ public int Compare(string? string1, string? string2, CompareOptions options) return retVal; } - internal int CompareOptionIgnoreCase(ReadOnlySpan string1, ReadOnlySpan string2) - { - return GlobalizationMode.Invariant ? - Ordinal.CompareIgnoreCaseInvariantMode(ref MemoryMarshal.GetReference(string1), string1.Length, ref MemoryMarshal.GetReference(string2), string2.Length) : + internal int CompareOptionIgnoreCase(ReadOnlySpan string1, ReadOnlySpan string2) => + GlobalizationMode.Invariant ? + InvariantModeCasing.CompareStringIgnoreCase(ref MemoryMarshal.GetReference(string1), string1.Length, ref MemoryMarshal.GetReference(string2), string2.Length) : CompareStringCore(string1, string2, CompareOptions.IgnoreCase); - } /// /// Compares the specified regions of the two strings with the given diff --git a/src/libraries/System.Private.CoreLib/src/System/Globalization/InvariantModeCasing.cs b/src/libraries/System.Private.CoreLib/src/System/Globalization/InvariantModeCasing.cs new file mode 100644 index 0000000000000..da1980b88e2d2 --- /dev/null +++ b/src/libraries/System.Private.CoreLib/src/System/Globalization/InvariantModeCasing.cs @@ -0,0 +1,779 @@ +// 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; +using System.Runtime.InteropServices; +using System.Runtime.CompilerServices; +using Internal.Runtime.CompilerServices; + +namespace System.Globalization +{ + internal static partial class InvariantModeCasing + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + internal static char ToLower(char c) + { + Debug.Assert(GlobalizationMode.Invariant); + + ushort v = LowerCase1[c >> 8]; + v = LowerCase2[v + ((c >> 4) & 0xF)]; + v = LowerCase3[v + (c & 0xF)]; + + return v == 0 ? c : (char)v; + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + internal static char ToUpper(char c) + { + Debug.Assert(GlobalizationMode.Invariant); + + ushort v = UpperCase1[c >> 8]; + v = UpperCase2[v + ((c >> 4) & 0xF)]; + v = UpperCase3[v + (c & 0xF)]; + + return v == 0 ? c : (char)v; + } + + internal static unsafe string ToLower(string s) + { + if (s.Length == 0) + { + return string.Empty; + } + + fixed (char* pSource = s) + { + int i = 0; + while (i < s.Length) + { + if (char.IsHighSurrogate(pSource[i]) && i < s.Length - 1 && char.IsLowSurrogate(pSource[i + 1])) + { + SurrogateCasing.ToLower(pSource[i], pSource[i + 1], out ushort h, out ushort l); + if (pSource[i] != h || pSource[i + 1] != l) + { + break; + } + + i += 2; + continue; + } + + if (ToLower(pSource[i]) != pSource[i]) + { + break; + } + + i++; + } + + if (i >= s.Length) + { + return s; + } + + string result = string.FastAllocateString(s.Length); + fixed (char* pResult = result) + { + for (int j = 0; j < i; j++) + { + pResult[j] = pSource[j]; + } + + Span resultSpan = new Span(pResult, s.Length).Slice(i); + InvariantModeCasing.ToLower(s.AsSpan().Slice(i), resultSpan); + } + + return result; + } + } + + internal static unsafe string ToUpper(string s) + { + if (s.Length == 0) + { + return string.Empty; + } + + fixed (char* pSource = s) + { + int i = 0; + while (i < s.Length) + { + if (char.IsHighSurrogate(pSource[i]) && i < s.Length - 1 && char.IsLowSurrogate(pSource[i + 1])) + { + SurrogateCasing.ToUpper(pSource[i], pSource[i + 1], out ushort h, out ushort l); + if (pSource[i] != h || pSource[i + 1] != l) + { + break; + } + + i += 2; + continue; + } + + if (ToUpper(pSource[i]) != pSource[i]) + { + break; + } + + i++; + } + + if (i >= s.Length) + { + return s; + } + + string result = string.FastAllocateString(s.Length); + fixed (char* pResult = result) + { + for (int j = 0; j < i; j++) + { + pResult[j] = pSource[j]; + } + + Span resultSpan = new Span(pResult, s.Length).Slice(i); + InvariantModeCasing.ToUpper(s.AsSpan().Slice(i), resultSpan); + } + + return result; + } + } + + internal static void ToUpper(ReadOnlySpan source, Span destination) + { + Debug.Assert(GlobalizationMode.Invariant); + Debug.Assert(source.Length <= destination.Length); + + for (int i = 0; i < source.Length; i++) + { + char c = source[i]; + if (char.IsHighSurrogate(c) && i < source.Length - 1 && char.IsLowSurrogate(source[i + 1])) + { + // well formed surrogates + SurrogateCasing.ToUpper(c, source[i + 1], out ushort h, out ushort l); + destination[i] = (char)h; + destination[i+1] = (char)l; + i++; // skip the low surrogate + continue; + } + + destination[i] = ToUpper(c); + } + } + + internal static void ToLower(ReadOnlySpan source, Span destination) + { + Debug.Assert(GlobalizationMode.Invariant); + Debug.Assert(source.Length <= destination.Length); + + for (int i = 0; i < source.Length; i++) + { + char c = source[i]; + if (char.IsHighSurrogate(c) && i < source.Length - 1 && char.IsLowSurrogate(source[i + 1])) + { + // well formed surrogates + SurrogateCasing.ToLower(c, source[i + 1], out ushort h, out ushort l); + destination[i] = (char)h; + destination[i+1] = (char)l; + i++; // skip the low surrogate + continue; + } + + destination[i] = ToLower(c); + } + } + + internal static int CompareStringIgnoreCase(ref char strA, int lengthA, ref char strB, int lengthB) + { + Debug.Assert(GlobalizationMode.Invariant); + + int length = Math.Min(lengthA, lengthB); + + ref char charA = ref strA; + ref char charB = ref strB; + + while (length != 0) + { + if (!char.IsHighSurrogate(charA) || !char.IsHighSurrogate(charB)) + { + if (charA == charB) + { + length--; + charA = ref Unsafe.Add(ref charA, 1); + charB = ref Unsafe.Add(ref charB, 1); + continue; + } + + char aUpper = ToUpper(charA); + char bUpper = ToUpper(charB); + + if (aUpper == bUpper) + { + length--; + charA = ref Unsafe.Add(ref charA, 1); + charB = ref Unsafe.Add(ref charB, 1); + continue; + } + + return aUpper - bUpper; + } + + if (length == 1) + { + return charA - charB; + } + + // We come here only if we have valid high surrogates and length > 1 + + char a = charA; + char b = charB; + + length--; + charA = ref Unsafe.Add(ref charA, 1); + charB = ref Unsafe.Add(ref charB, 1); + + if (!char.IsLowSurrogate(charA) || !char.IsLowSurrogate(charB)) + { + // malformed Surrogates - should be rare cases + if (a != b) + { + return a - b; + } + + // Should be pointing to the right characters in the string to resume at. + // Just in case we could be pointing at high surrogate now. + continue; + } + + // we come here only if we have valid full surrogates + SurrogateCasing.ToUpper(a, charA, out ushort h1, out ushort l1); + SurrogateCasing.ToUpper(b, charB, out ushort h2, out ushort l2); + + if (h1 != h2) + { + return (int)h1 - (int)h2; + } + + if (l1 != l2) + { + return (int)l1 - (int)l2; + } + + length--; + charA = ref Unsafe.Add(ref charA, 1); + charB = ref Unsafe.Add(ref charB, 1); + } + + return lengthA - lengthB; + } + + internal static unsafe int IndexOfIgnoreCae(ReadOnlySpan source, ReadOnlySpan value) + { + Debug.Assert(value.Length > 0); + Debug.Assert(value.Length <= source.Length); + Debug.Assert(GlobalizationMode.Invariant); + + fixed (char* pSource = &MemoryMarshal.GetReference(source)) + fixed (char* pValue = &MemoryMarshal.GetReference(value)) + { + char* pSourceLimit = pSource + (source.Length - value.Length); + char* pValueLimit = pValue + value.Length - 1; + char* pCurrentSource = pSource; + + while (pCurrentSource <= pSourceLimit) + { + char *pVal = pValue; + char *pSrc = pCurrentSource; + + while (pVal <= pValueLimit) + { + if (!char.IsHighSurrogate(*pVal) || pVal == pValueLimit) + { + if (*pVal != *pSrc && ToUpper(*pVal) != ToUpper(*pSrc)) + break; // no match + + pVal++; + pSrc++; + continue; + } + + if (char.IsHighSurrogate(*pSrc) && char.IsLowSurrogate(*(pSrc + 1)) && char.IsLowSurrogate(*(pVal + 1))) + { + // Well formed surrogates + // both the source and the Value have well-formed surrogates. + if (!SurrogateCasing.Equal(*pSrc, *(pSrc + 1), *pVal, *(pVal + 1))) + break; // no match + + pSrc += 2; + pVal += 2; + continue; + } + + if (*pVal != *pSrc) + break; // no match + + pSrc++; + pVal++; + } + + if (pVal > pValueLimit) + { + // Found match. + return (int) (pCurrentSource - pSource); + } + + pCurrentSource++; + } + + return -1; + } + } + + internal static unsafe int LastIndexOfIgnoreCase(ReadOnlySpan source, ReadOnlySpan value) + { + Debug.Assert(value.Length > 0); + Debug.Assert(value.Length <= source.Length); + Debug.Assert(GlobalizationMode.Invariant); + + fixed (char* pSource = &MemoryMarshal.GetReference(source)) + fixed (char* pValue = &MemoryMarshal.GetReference(value)) + { + char* pValueLimit = pValue + value.Length - 1; + char* pCurrentSource = pSource + (source.Length - value.Length); + + while (pCurrentSource >= pSource) + { + char *pVal = pValue; + char *pSrc = pCurrentSource; + + while (pVal <= pValueLimit) + { + if (!char.IsHighSurrogate(*pVal) || pVal == pValueLimit) + { + if (*pVal != *pSrc && ToUpper(*pVal) != ToUpper(*pSrc)) + break; // no match + + pVal++; + pSrc++; + continue; + } + + if (char.IsHighSurrogate(*pSrc) && char.IsLowSurrogate(*(pSrc + 1)) && char.IsLowSurrogate(*(pVal + 1))) + { + // Well formed surrogates + // both the source and the Value have well-formed surrogates. + if (!SurrogateCasing.Equal(*pSrc, *(pSrc + 1), *pVal, *(pVal + 1))) + break; // no match + + pSrc += 2; + pVal += 2; + continue; + } + + if (*pVal != *pSrc) + break; // no match + + pSrc++; + pVal++; + } + + if (pVal > pValueLimit) + { + // Found match. + return (int) (pCurrentSource - pSource); + } + + pCurrentSource--; + } + + return -1; + } + } + + // The following case mapping data is generated using the tool stored in in the path .\src\coreclr\System.Private.CoreLib\Tools\InvariantCasing. + // We generate the casing tables as 8-4-4 tables to balance between the size of the data and the performance of teh mapping operation. + // The data generated here is matching the Unicode version 14. + + private static readonly ushort [] UpperCase1 = + { + // 0 1 2 3 4 5 6 7 8 9 A B C D E F + 0x0000, 0x0010, 0x0020, 0x0030, 0x0040, 0x0050, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, // 0x0000 - 0x000f + 0x0070, 0x0060, 0x0060, 0x0080, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0090, 0x00a0, 0x00b0, 0x00c0, // 0x0010 - 0x001f + 0x0060, 0x00d0, 0x0060, 0x0060, 0x00e0, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x00f0, 0x0100, 0x0060, 0x0060, // 0x0020 - 0x002f + 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, // 0x0030 - 0x003f + 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, // 0x0040 - 0x004f + 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, // 0x0050 - 0x005f + 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, // 0x0060 - 0x006f + 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, // 0x0070 - 0x007f + 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, // 0x0080 - 0x008f + 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, // 0x0090 - 0x009f + 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0110, 0x0120, 0x0060, 0x0060, 0x0060, 0x0130, 0x0060, 0x0060, 0x0060, 0x0060, // 0x00a0 - 0x00af + 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, // 0x00b0 - 0x00bf + 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, // 0x00c0 - 0x00cf + 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, // 0x00d0 - 0x00df + 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, // 0x00e0 - 0x00ef + 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0140, // 0x00f0 - 0x00ff + }; + + private static readonly ushort [] UpperCase2 = + { + // 0 1 2 3 4 5 6 7 8 9 A B C D E F + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0020, 0x0000, 0x0000, 0x0000, 0x0030, 0x0000, 0x0000, 0x0040, 0x0050, // 0x0000 - 0x000f + 0x0060, 0x0070, 0x0080, 0x0090, 0x00a0, 0x00b0, 0x00c0, 0x00d0, 0x00e0, 0x00f0, 0x0100, 0x0110, 0x0120, 0x0130, 0x0140, 0x0150, // 0x0010 - 0x001f + 0x0160, 0x0170, 0x0180, 0x0190, 0x01a0, 0x01b0, 0x01c0, 0x01d0, 0x01e0, 0x01f0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0020 - 0x002f + 0x0000, 0x0000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0210, 0x0000, 0x0000, 0x0220, 0x0230, 0x0240, 0x0250, 0x0260, 0x0270, // 0x0030 - 0x003f + 0x0000, 0x0000, 0x0000, 0x0280, 0x0290, 0x02a0, 0x02b0, 0x02c0, 0x02d0, 0x02e0, 0x02f0, 0x0300, 0x0310, 0x0320, 0x0330, 0x0340, // 0x0040 - 0x004f + 0x0350, 0x0360, 0x0370, 0x0000, 0x0000, 0x0000, 0x0380, 0x0390, 0x03a0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0050 - 0x005f + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0060 - 0x006f + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x03b0, 0x03c0, 0x03d0, // 0x0070 - 0x007f + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x03e0, // 0x0080 - 0x008f + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x03f0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0090 - 0x009f + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0410, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x00a0 - 0x00af + 0x0420, 0x0430, 0x0440, 0x0450, 0x0460, 0x0470, 0x0480, 0x0490, 0x04a0, 0x04b0, 0x04c0, 0x04d0, 0x04e0, 0x04f0, 0x0500, 0x0510, // 0x00b0 - 0x00bf + 0x0520, 0x0530, 0x0540, 0x0550, 0x0560, 0x0570, 0x0580, 0x0590, 0x05a0, 0x05b0, 0x05c0, 0x05d0, 0x05e0, 0x05f0, 0x0600, 0x0610, // 0x00c0 - 0x00cf + 0x0000, 0x0000, 0x0000, 0x0000, 0x0620, 0x0000, 0x0000, 0x0630, 0x0640, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x00d0 - 0x00df + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0650, 0x0660, 0x0000, // 0x00e0 - 0x00ef + 0x0000, 0x0000, 0x0000, 0x0670, 0x0680, 0x0690, 0x06a0, 0x06b0, 0x06c0, 0x06d0, 0x06e0, 0x06f0, 0x0700, 0x0710, 0x0720, 0x0730, // 0x00f0 - 0x00ff + 0x0740, 0x0750, 0x0760, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0100 - 0x010f + 0x0000, 0x0000, 0x0000, 0x0000, 0x0770, 0x0780, 0x0790, 0x0000, 0x07a0, 0x07b0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0110 - 0x011f + 0x0000, 0x0000, 0x07c0, 0x07d0, 0x07e0, 0x07f0, 0x0800, 0x0810, 0x0820, 0x0830, 0x0840, 0x0850, 0x0860, 0x0870, 0x0000, 0x0880, // 0x0120 - 0x012f + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0890, 0x0000, 0x08a0, 0x08b0, 0x08c0, 0x08d0, 0x08e0, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0130 - 0x013f + 0x0000, 0x0000, 0x0000, 0x0000, 0x08f0, 0x0900, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0140 - 0x014f + }; + + private static readonly ushort [] UpperCase3 = + { + // 0 1 2 3 4 5 6 7 8 9 A B C D E F + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0000 - 0x000f + 0x0000, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, // 0x0010 - 0x001f + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0020 - 0x002f + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x039c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0030 - 0x003f + 0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7, 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf, // 0x0040 - 0x004f + 0x00d0, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x0000, 0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x00dd, 0x00de, 0x0178, // 0x0050 - 0x005f + 0x0000, 0x0100, 0x0000, 0x0102, 0x0000, 0x0104, 0x0000, 0x0106, 0x0000, 0x0108, 0x0000, 0x010a, 0x0000, 0x010c, 0x0000, 0x010e, // 0x0060 - 0x006f + 0x0000, 0x0110, 0x0000, 0x0112, 0x0000, 0x0114, 0x0000, 0x0116, 0x0000, 0x0118, 0x0000, 0x011a, 0x0000, 0x011c, 0x0000, 0x011e, // 0x0070 - 0x007f + 0x0000, 0x0120, 0x0000, 0x0122, 0x0000, 0x0124, 0x0000, 0x0126, 0x0000, 0x0128, 0x0000, 0x012a, 0x0000, 0x012c, 0x0000, 0x012e, // 0x0080 - 0x008f + 0x0000, 0x0000, 0x0000, 0x0132, 0x0000, 0x0134, 0x0000, 0x0136, 0x0000, 0x0000, 0x0139, 0x0000, 0x013b, 0x0000, 0x013d, 0x0000, // 0x0090 - 0x009f + 0x013f, 0x0000, 0x0141, 0x0000, 0x0143, 0x0000, 0x0145, 0x0000, 0x0147, 0x0000, 0x0000, 0x014a, 0x0000, 0x014c, 0x0000, 0x014e, // 0x00a0 - 0x00af + 0x0000, 0x0150, 0x0000, 0x0152, 0x0000, 0x0154, 0x0000, 0x0156, 0x0000, 0x0158, 0x0000, 0x015a, 0x0000, 0x015c, 0x0000, 0x015e, // 0x00b0 - 0x00bf + 0x0000, 0x0160, 0x0000, 0x0162, 0x0000, 0x0164, 0x0000, 0x0166, 0x0000, 0x0168, 0x0000, 0x016a, 0x0000, 0x016c, 0x0000, 0x016e, // 0x00c0 - 0x00cf + 0x0000, 0x0170, 0x0000, 0x0172, 0x0000, 0x0174, 0x0000, 0x0176, 0x0000, 0x0000, 0x0179, 0x0000, 0x017b, 0x0000, 0x017d, 0x0000, // 0x00d0 - 0x00df + 0x0243, 0x0000, 0x0000, 0x0182, 0x0000, 0x0184, 0x0000, 0x0000, 0x0187, 0x0000, 0x0000, 0x0000, 0x018b, 0x0000, 0x0000, 0x0000, // 0x00e0 - 0x00ef + 0x0000, 0x0000, 0x0191, 0x0000, 0x0000, 0x01f6, 0x0000, 0x0000, 0x0000, 0x0198, 0x023d, 0x0000, 0x0000, 0x0000, 0x0220, 0x0000, // 0x00f0 - 0x00ff + 0x0000, 0x01a0, 0x0000, 0x01a2, 0x0000, 0x01a4, 0x0000, 0x0000, 0x01a7, 0x0000, 0x0000, 0x0000, 0x0000, 0x01ac, 0x0000, 0x0000, // 0x0100 - 0x010f + 0x01af, 0x0000, 0x0000, 0x0000, 0x01b3, 0x0000, 0x01b5, 0x0000, 0x0000, 0x01b8, 0x0000, 0x0000, 0x0000, 0x01bc, 0x0000, 0x01f7, // 0x0110 - 0x011f + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x01c5, 0x0000, 0x0000, 0x01c8, 0x0000, 0x0000, 0x01cb, 0x0000, 0x01cd, 0x0000, // 0x0120 - 0x012f + 0x01cf, 0x0000, 0x01d1, 0x0000, 0x01d3, 0x0000, 0x01d5, 0x0000, 0x01d7, 0x0000, 0x01d9, 0x0000, 0x01db, 0x018e, 0x0000, 0x01de, // 0x0130 - 0x013f + 0x0000, 0x01e0, 0x0000, 0x01e2, 0x0000, 0x01e4, 0x0000, 0x01e6, 0x0000, 0x01e8, 0x0000, 0x01ea, 0x0000, 0x01ec, 0x0000, 0x01ee, // 0x0140 - 0x014f + 0x0000, 0x0000, 0x0000, 0x01f2, 0x0000, 0x01f4, 0x0000, 0x0000, 0x0000, 0x01f8, 0x0000, 0x01fa, 0x0000, 0x01fc, 0x0000, 0x01fe, // 0x0150 - 0x015f + 0x0000, 0x0200, 0x0000, 0x0202, 0x0000, 0x0204, 0x0000, 0x0206, 0x0000, 0x0208, 0x0000, 0x020a, 0x0000, 0x020c, 0x0000, 0x020e, // 0x0160 - 0x016f + 0x0000, 0x0210, 0x0000, 0x0212, 0x0000, 0x0214, 0x0000, 0x0216, 0x0000, 0x0218, 0x0000, 0x021a, 0x0000, 0x021c, 0x0000, 0x021e, // 0x0170 - 0x017f + 0x0000, 0x0000, 0x0000, 0x0222, 0x0000, 0x0224, 0x0000, 0x0226, 0x0000, 0x0228, 0x0000, 0x022a, 0x0000, 0x022c, 0x0000, 0x022e, // 0x0180 - 0x018f + 0x0000, 0x0230, 0x0000, 0x0232, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x023b, 0x0000, 0x0000, 0x2c7e, // 0x0190 - 0x019f + 0x2c7f, 0x0000, 0x0241, 0x0000, 0x0000, 0x0000, 0x0000, 0x0246, 0x0000, 0x0248, 0x0000, 0x024a, 0x0000, 0x024c, 0x0000, 0x024e, // 0x01a0 - 0x01af + 0x2c6f, 0x2c6d, 0x2c70, 0x0181, 0x0186, 0x0000, 0x0189, 0x018a, 0x0000, 0x018f, 0x0000, 0x0190, 0xa7ab, 0x0000, 0x0000, 0x0000, // 0x01b0 - 0x01bf + 0x0193, 0xa7ac, 0x0000, 0x0194, 0x0000, 0xa78d, 0xa7aa, 0x0000, 0x0197, 0x0196, 0xa7ae, 0x2c62, 0xa7ad, 0x0000, 0x0000, 0x019c, // 0x01c0 - 0x01cf + 0x0000, 0x2c6e, 0x019d, 0x0000, 0x0000, 0x019f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2c64, 0x0000, 0x0000, // 0x01d0 - 0x01df + 0x01a6, 0x0000, 0xa7c5, 0x01a9, 0x0000, 0x0000, 0x0000, 0xa7b1, 0x01ae, 0x0244, 0x01b1, 0x01b2, 0x0245, 0x0000, 0x0000, 0x0000, // 0x01e0 - 0x01ef + 0x0000, 0x0000, 0x01b7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa7b2, 0xa7b0, 0x0000, // 0x01f0 - 0x01ff + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0399, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0200 - 0x020f + 0x0000, 0x0370, 0x0000, 0x0372, 0x0000, 0x0000, 0x0000, 0x0376, 0x0000, 0x0000, 0x0000, 0x03fd, 0x03fe, 0x03ff, 0x0000, 0x0000, // 0x0210 - 0x021f + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0386, 0x0388, 0x0389, 0x038a, // 0x0220 - 0x022f + 0x0000, 0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397, 0x0398, 0x0399, 0x039a, 0x039b, 0x039c, 0x039d, 0x039e, 0x039f, // 0x0230 - 0x023f + 0x03a0, 0x03a1, 0x03a3, 0x03a3, 0x03a4, 0x03a5, 0x03a6, 0x03a7, 0x03a8, 0x03a9, 0x03aa, 0x03ab, 0x038c, 0x038e, 0x038f, 0x0000, // 0x0240 - 0x024f + 0x0392, 0x0398, 0x0000, 0x0000, 0x0000, 0x03a6, 0x03a0, 0x03cf, 0x0000, 0x03d8, 0x0000, 0x03da, 0x0000, 0x03dc, 0x0000, 0x03de, // 0x0250 - 0x025f + 0x0000, 0x03e0, 0x0000, 0x03e2, 0x0000, 0x03e4, 0x0000, 0x03e6, 0x0000, 0x03e8, 0x0000, 0x03ea, 0x0000, 0x03ec, 0x0000, 0x03ee, // 0x0260 - 0x026f + 0x039a, 0x03a1, 0x03f9, 0x037f, 0x0000, 0x0395, 0x0000, 0x0000, 0x03f7, 0x0000, 0x0000, 0x03fa, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0270 - 0x027f + 0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417, 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e, 0x041f, // 0x0280 - 0x028f + 0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, 0x0428, 0x0429, 0x042a, 0x042b, 0x042c, 0x042d, 0x042e, 0x042f, // 0x0290 - 0x029f + 0x0400, 0x0401, 0x0402, 0x0403, 0x0404, 0x0405, 0x0406, 0x0407, 0x0408, 0x0409, 0x040a, 0x040b, 0x040c, 0x040d, 0x040e, 0x040f, // 0x02a0 - 0x02af + 0x0000, 0x0460, 0x0000, 0x0462, 0x0000, 0x0464, 0x0000, 0x0466, 0x0000, 0x0468, 0x0000, 0x046a, 0x0000, 0x046c, 0x0000, 0x046e, // 0x02b0 - 0x02bf + 0x0000, 0x0470, 0x0000, 0x0472, 0x0000, 0x0474, 0x0000, 0x0476, 0x0000, 0x0478, 0x0000, 0x047a, 0x0000, 0x047c, 0x0000, 0x047e, // 0x02c0 - 0x02cf + 0x0000, 0x0480, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x048a, 0x0000, 0x048c, 0x0000, 0x048e, // 0x02d0 - 0x02df + 0x0000, 0x0490, 0x0000, 0x0492, 0x0000, 0x0494, 0x0000, 0x0496, 0x0000, 0x0498, 0x0000, 0x049a, 0x0000, 0x049c, 0x0000, 0x049e, // 0x02e0 - 0x02ef + 0x0000, 0x04a0, 0x0000, 0x04a2, 0x0000, 0x04a4, 0x0000, 0x04a6, 0x0000, 0x04a8, 0x0000, 0x04aa, 0x0000, 0x04ac, 0x0000, 0x04ae, // 0x02f0 - 0x02ff + 0x0000, 0x04b0, 0x0000, 0x04b2, 0x0000, 0x04b4, 0x0000, 0x04b6, 0x0000, 0x04b8, 0x0000, 0x04ba, 0x0000, 0x04bc, 0x0000, 0x04be, // 0x0300 - 0x030f + 0x0000, 0x0000, 0x04c1, 0x0000, 0x04c3, 0x0000, 0x04c5, 0x0000, 0x04c7, 0x0000, 0x04c9, 0x0000, 0x04cb, 0x0000, 0x04cd, 0x04c0, // 0x0310 - 0x031f + 0x0000, 0x04d0, 0x0000, 0x04d2, 0x0000, 0x04d4, 0x0000, 0x04d6, 0x0000, 0x04d8, 0x0000, 0x04da, 0x0000, 0x04dc, 0x0000, 0x04de, // 0x0320 - 0x032f + 0x0000, 0x04e0, 0x0000, 0x04e2, 0x0000, 0x04e4, 0x0000, 0x04e6, 0x0000, 0x04e8, 0x0000, 0x04ea, 0x0000, 0x04ec, 0x0000, 0x04ee, // 0x0330 - 0x033f + 0x0000, 0x04f0, 0x0000, 0x04f2, 0x0000, 0x04f4, 0x0000, 0x04f6, 0x0000, 0x04f8, 0x0000, 0x04fa, 0x0000, 0x04fc, 0x0000, 0x04fe, // 0x0340 - 0x034f + 0x0000, 0x0500, 0x0000, 0x0502, 0x0000, 0x0504, 0x0000, 0x0506, 0x0000, 0x0508, 0x0000, 0x050a, 0x0000, 0x050c, 0x0000, 0x050e, // 0x0350 - 0x035f + 0x0000, 0x0510, 0x0000, 0x0512, 0x0000, 0x0514, 0x0000, 0x0516, 0x0000, 0x0518, 0x0000, 0x051a, 0x0000, 0x051c, 0x0000, 0x051e, // 0x0360 - 0x036f + 0x0000, 0x0520, 0x0000, 0x0522, 0x0000, 0x0524, 0x0000, 0x0526, 0x0000, 0x0528, 0x0000, 0x052a, 0x0000, 0x052c, 0x0000, 0x052e, // 0x0370 - 0x037f + 0x0000, 0x0531, 0x0532, 0x0533, 0x0534, 0x0535, 0x0536, 0x0537, 0x0538, 0x0539, 0x053a, 0x053b, 0x053c, 0x053d, 0x053e, 0x053f, // 0x0380 - 0x038f + 0x0540, 0x0541, 0x0542, 0x0543, 0x0544, 0x0545, 0x0546, 0x0547, 0x0548, 0x0549, 0x054a, 0x054b, 0x054c, 0x054d, 0x054e, 0x054f, // 0x0390 - 0x039f + 0x0550, 0x0551, 0x0552, 0x0553, 0x0554, 0x0555, 0x0556, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x03a0 - 0x03af + 0x10d0, 0x10d1, 0x10d2, 0x10d3, 0x10d4, 0x10d5, 0x10d6, 0x10d7, 0x10d8, 0x10d9, 0x10da, 0x10db, 0x10dc, 0x10dd, 0x10de, 0x10df, // 0x03b0 - 0x03bf + 0x10e0, 0x10e1, 0x10e2, 0x10e3, 0x10e4, 0x10e5, 0x10e6, 0x10e7, 0x10e8, 0x10e9, 0x10ea, 0x10eb, 0x10ec, 0x10ed, 0x10ee, 0x10ef, // 0x03c0 - 0x03cf + 0x10f0, 0x10f1, 0x10f2, 0x10f3, 0x10f4, 0x10f5, 0x10f6, 0x10f7, 0x10f8, 0x10f9, 0x10fa, 0x0000, 0x0000, 0x10fd, 0x10fe, 0x10ff, // 0x03d0 - 0x03df + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x13f0, 0x13f1, 0x13f2, 0x13f3, 0x13f4, 0x13f5, 0x0000, 0x0000, // 0x03e0 - 0x03ef + 0x0412, 0x0414, 0x041e, 0x0421, 0x0422, 0x0422, 0x042a, 0x0462, 0xa64a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x03f0 - 0x03ff + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa77d, 0x0000, 0x0000, 0x0000, 0x2c63, 0x0000, 0x0000, // 0x0400 - 0x040f + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa7c6, 0x0000, // 0x0410 - 0x041f + 0x0000, 0x1e00, 0x0000, 0x1e02, 0x0000, 0x1e04, 0x0000, 0x1e06, 0x0000, 0x1e08, 0x0000, 0x1e0a, 0x0000, 0x1e0c, 0x0000, 0x1e0e, // 0x0420 - 0x042f + 0x0000, 0x1e10, 0x0000, 0x1e12, 0x0000, 0x1e14, 0x0000, 0x1e16, 0x0000, 0x1e18, 0x0000, 0x1e1a, 0x0000, 0x1e1c, 0x0000, 0x1e1e, // 0x0430 - 0x043f + 0x0000, 0x1e20, 0x0000, 0x1e22, 0x0000, 0x1e24, 0x0000, 0x1e26, 0x0000, 0x1e28, 0x0000, 0x1e2a, 0x0000, 0x1e2c, 0x0000, 0x1e2e, // 0x0440 - 0x044f + 0x0000, 0x1e30, 0x0000, 0x1e32, 0x0000, 0x1e34, 0x0000, 0x1e36, 0x0000, 0x1e38, 0x0000, 0x1e3a, 0x0000, 0x1e3c, 0x0000, 0x1e3e, // 0x0450 - 0x045f + 0x0000, 0x1e40, 0x0000, 0x1e42, 0x0000, 0x1e44, 0x0000, 0x1e46, 0x0000, 0x1e48, 0x0000, 0x1e4a, 0x0000, 0x1e4c, 0x0000, 0x1e4e, // 0x0460 - 0x046f + 0x0000, 0x1e50, 0x0000, 0x1e52, 0x0000, 0x1e54, 0x0000, 0x1e56, 0x0000, 0x1e58, 0x0000, 0x1e5a, 0x0000, 0x1e5c, 0x0000, 0x1e5e, // 0x0470 - 0x047f + 0x0000, 0x1e60, 0x0000, 0x1e62, 0x0000, 0x1e64, 0x0000, 0x1e66, 0x0000, 0x1e68, 0x0000, 0x1e6a, 0x0000, 0x1e6c, 0x0000, 0x1e6e, // 0x0480 - 0x048f + 0x0000, 0x1e70, 0x0000, 0x1e72, 0x0000, 0x1e74, 0x0000, 0x1e76, 0x0000, 0x1e78, 0x0000, 0x1e7a, 0x0000, 0x1e7c, 0x0000, 0x1e7e, // 0x0490 - 0x049f + 0x0000, 0x1e80, 0x0000, 0x1e82, 0x0000, 0x1e84, 0x0000, 0x1e86, 0x0000, 0x1e88, 0x0000, 0x1e8a, 0x0000, 0x1e8c, 0x0000, 0x1e8e, // 0x04a0 - 0x04af + 0x0000, 0x1e90, 0x0000, 0x1e92, 0x0000, 0x1e94, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1e60, 0x0000, 0x0000, 0x0000, 0x0000, // 0x04b0 - 0x04bf + 0x0000, 0x1ea0, 0x0000, 0x1ea2, 0x0000, 0x1ea4, 0x0000, 0x1ea6, 0x0000, 0x1ea8, 0x0000, 0x1eaa, 0x0000, 0x1eac, 0x0000, 0x1eae, // 0x04c0 - 0x04cf + 0x0000, 0x1eb0, 0x0000, 0x1eb2, 0x0000, 0x1eb4, 0x0000, 0x1eb6, 0x0000, 0x1eb8, 0x0000, 0x1eba, 0x0000, 0x1ebc, 0x0000, 0x1ebe, // 0x04d0 - 0x04df + 0x0000, 0x1ec0, 0x0000, 0x1ec2, 0x0000, 0x1ec4, 0x0000, 0x1ec6, 0x0000, 0x1ec8, 0x0000, 0x1eca, 0x0000, 0x1ecc, 0x0000, 0x1ece, // 0x04e0 - 0x04ef + 0x0000, 0x1ed0, 0x0000, 0x1ed2, 0x0000, 0x1ed4, 0x0000, 0x1ed6, 0x0000, 0x1ed8, 0x0000, 0x1eda, 0x0000, 0x1edc, 0x0000, 0x1ede, // 0x04f0 - 0x04ff + 0x0000, 0x1ee0, 0x0000, 0x1ee2, 0x0000, 0x1ee4, 0x0000, 0x1ee6, 0x0000, 0x1ee8, 0x0000, 0x1eea, 0x0000, 0x1eec, 0x0000, 0x1eee, // 0x0500 - 0x050f + 0x0000, 0x1ef0, 0x0000, 0x1ef2, 0x0000, 0x1ef4, 0x0000, 0x1ef6, 0x0000, 0x1ef8, 0x0000, 0x1efa, 0x0000, 0x1efc, 0x0000, 0x1efe, // 0x0510 - 0x051f + 0x1f08, 0x1f09, 0x1f0a, 0x1f0b, 0x1f0c, 0x1f0d, 0x1f0e, 0x1f0f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0520 - 0x052f + 0x1f18, 0x1f19, 0x1f1a, 0x1f1b, 0x1f1c, 0x1f1d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0530 - 0x053f + 0x1f28, 0x1f29, 0x1f2a, 0x1f2b, 0x1f2c, 0x1f2d, 0x1f2e, 0x1f2f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0540 - 0x054f + 0x1f38, 0x1f39, 0x1f3a, 0x1f3b, 0x1f3c, 0x1f3d, 0x1f3e, 0x1f3f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0550 - 0x055f + 0x1f48, 0x1f49, 0x1f4a, 0x1f4b, 0x1f4c, 0x1f4d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0560 - 0x056f + 0x0000, 0x1f59, 0x0000, 0x1f5b, 0x0000, 0x1f5d, 0x0000, 0x1f5f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0570 - 0x057f + 0x1f68, 0x1f69, 0x1f6a, 0x1f6b, 0x1f6c, 0x1f6d, 0x1f6e, 0x1f6f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0580 - 0x058f + 0x1fba, 0x1fbb, 0x1fc8, 0x1fc9, 0x1fca, 0x1fcb, 0x1fda, 0x1fdb, 0x1ff8, 0x1ff9, 0x1fea, 0x1feb, 0x1ffa, 0x1ffb, 0x0000, 0x0000, // 0x0590 - 0x059f + 0x1f88, 0x1f89, 0x1f8a, 0x1f8b, 0x1f8c, 0x1f8d, 0x1f8e, 0x1f8f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x05a0 - 0x05af + 0x1f98, 0x1f99, 0x1f9a, 0x1f9b, 0x1f9c, 0x1f9d, 0x1f9e, 0x1f9f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x05b0 - 0x05bf + 0x1fa8, 0x1fa9, 0x1faa, 0x1fab, 0x1fac, 0x1fad, 0x1fae, 0x1faf, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x05c0 - 0x05cf + 0x1fb8, 0x1fb9, 0x0000, 0x1fbc, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0399, 0x0000, // 0x05d0 - 0x05df + 0x0000, 0x0000, 0x0000, 0x1fcc, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x05e0 - 0x05ef + 0x1fd8, 0x1fd9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x05f0 - 0x05ff + 0x1fe8, 0x1fe9, 0x0000, 0x0000, 0x0000, 0x1fec, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0600 - 0x060f + 0x0000, 0x0000, 0x0000, 0x1ffc, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0610 - 0x061f + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2132, 0x0000, // 0x0620 - 0x062f + 0x2160, 0x2161, 0x2162, 0x2163, 0x2164, 0x2165, 0x2166, 0x2167, 0x2168, 0x2169, 0x216a, 0x216b, 0x216c, 0x216d, 0x216e, 0x216f, // 0x0630 - 0x063f + 0x0000, 0x0000, 0x0000, 0x0000, 0x2183, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0640 - 0x064f + 0x24b6, 0x24b7, 0x24b8, 0x24b9, 0x24ba, 0x24bb, 0x24bc, 0x24bd, 0x24be, 0x24bf, 0x24c0, 0x24c1, 0x24c2, 0x24c3, 0x24c4, 0x24c5, // 0x0650 - 0x065f + 0x24c6, 0x24c7, 0x24c8, 0x24c9, 0x24ca, 0x24cb, 0x24cc, 0x24cd, 0x24ce, 0x24cf, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0660 - 0x066f + 0x2c00, 0x2c01, 0x2c02, 0x2c03, 0x2c04, 0x2c05, 0x2c06, 0x2c07, 0x2c08, 0x2c09, 0x2c0a, 0x2c0b, 0x2c0c, 0x2c0d, 0x2c0e, 0x2c0f, // 0x0670 - 0x067f + 0x2c10, 0x2c11, 0x2c12, 0x2c13, 0x2c14, 0x2c15, 0x2c16, 0x2c17, 0x2c18, 0x2c19, 0x2c1a, 0x2c1b, 0x2c1c, 0x2c1d, 0x2c1e, 0x2c1f, // 0x0680 - 0x068f + 0x2c20, 0x2c21, 0x2c22, 0x2c23, 0x2c24, 0x2c25, 0x2c26, 0x2c27, 0x2c28, 0x2c29, 0x2c2a, 0x2c2b, 0x2c2c, 0x2c2d, 0x2c2e, 0x2c2f, // 0x0690 - 0x069f + 0x0000, 0x2c60, 0x0000, 0x0000, 0x0000, 0x023a, 0x023e, 0x0000, 0x2c67, 0x0000, 0x2c69, 0x0000, 0x2c6b, 0x0000, 0x0000, 0x0000, // 0x06a0 - 0x06af + 0x0000, 0x0000, 0x0000, 0x2c72, 0x0000, 0x0000, 0x2c75, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x06b0 - 0x06bf + 0x0000, 0x2c80, 0x0000, 0x2c82, 0x0000, 0x2c84, 0x0000, 0x2c86, 0x0000, 0x2c88, 0x0000, 0x2c8a, 0x0000, 0x2c8c, 0x0000, 0x2c8e, // 0x06c0 - 0x06cf + 0x0000, 0x2c90, 0x0000, 0x2c92, 0x0000, 0x2c94, 0x0000, 0x2c96, 0x0000, 0x2c98, 0x0000, 0x2c9a, 0x0000, 0x2c9c, 0x0000, 0x2c9e, // 0x06d0 - 0x06df + 0x0000, 0x2ca0, 0x0000, 0x2ca2, 0x0000, 0x2ca4, 0x0000, 0x2ca6, 0x0000, 0x2ca8, 0x0000, 0x2caa, 0x0000, 0x2cac, 0x0000, 0x2cae, // 0x06e0 - 0x06ef + 0x0000, 0x2cb0, 0x0000, 0x2cb2, 0x0000, 0x2cb4, 0x0000, 0x2cb6, 0x0000, 0x2cb8, 0x0000, 0x2cba, 0x0000, 0x2cbc, 0x0000, 0x2cbe, // 0x06f0 - 0x06ff + 0x0000, 0x2cc0, 0x0000, 0x2cc2, 0x0000, 0x2cc4, 0x0000, 0x2cc6, 0x0000, 0x2cc8, 0x0000, 0x2cca, 0x0000, 0x2ccc, 0x0000, 0x2cce, // 0x0700 - 0x070f + 0x0000, 0x2cd0, 0x0000, 0x2cd2, 0x0000, 0x2cd4, 0x0000, 0x2cd6, 0x0000, 0x2cd8, 0x0000, 0x2cda, 0x0000, 0x2cdc, 0x0000, 0x2cde, // 0x0710 - 0x071f + 0x0000, 0x2ce0, 0x0000, 0x2ce2, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2ceb, 0x0000, 0x2ced, 0x0000, // 0x0720 - 0x072f + 0x0000, 0x0000, 0x0000, 0x2cf2, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0730 - 0x073f + 0x10a0, 0x10a1, 0x10a2, 0x10a3, 0x10a4, 0x10a5, 0x10a6, 0x10a7, 0x10a8, 0x10a9, 0x10aa, 0x10ab, 0x10ac, 0x10ad, 0x10ae, 0x10af, // 0x0740 - 0x074f + 0x10b0, 0x10b1, 0x10b2, 0x10b3, 0x10b4, 0x10b5, 0x10b6, 0x10b7, 0x10b8, 0x10b9, 0x10ba, 0x10bb, 0x10bc, 0x10bd, 0x10be, 0x10bf, // 0x0750 - 0x075f + 0x10c0, 0x10c1, 0x10c2, 0x10c3, 0x10c4, 0x10c5, 0x0000, 0x10c7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x10cd, 0x0000, 0x0000, // 0x0760 - 0x076f + 0x0000, 0xa640, 0x0000, 0xa642, 0x0000, 0xa644, 0x0000, 0xa646, 0x0000, 0xa648, 0x0000, 0xa64a, 0x0000, 0xa64c, 0x0000, 0xa64e, // 0x0770 - 0x077f + 0x0000, 0xa650, 0x0000, 0xa652, 0x0000, 0xa654, 0x0000, 0xa656, 0x0000, 0xa658, 0x0000, 0xa65a, 0x0000, 0xa65c, 0x0000, 0xa65e, // 0x0780 - 0x078f + 0x0000, 0xa660, 0x0000, 0xa662, 0x0000, 0xa664, 0x0000, 0xa666, 0x0000, 0xa668, 0x0000, 0xa66a, 0x0000, 0xa66c, 0x0000, 0x0000, // 0x0790 - 0x079f + 0x0000, 0xa680, 0x0000, 0xa682, 0x0000, 0xa684, 0x0000, 0xa686, 0x0000, 0xa688, 0x0000, 0xa68a, 0x0000, 0xa68c, 0x0000, 0xa68e, // 0x07a0 - 0x07af + 0x0000, 0xa690, 0x0000, 0xa692, 0x0000, 0xa694, 0x0000, 0xa696, 0x0000, 0xa698, 0x0000, 0xa69a, 0x0000, 0x0000, 0x0000, 0x0000, // 0x07b0 - 0x07bf + 0x0000, 0x0000, 0x0000, 0xa722, 0x0000, 0xa724, 0x0000, 0xa726, 0x0000, 0xa728, 0x0000, 0xa72a, 0x0000, 0xa72c, 0x0000, 0xa72e, // 0x07c0 - 0x07cf + 0x0000, 0x0000, 0x0000, 0xa732, 0x0000, 0xa734, 0x0000, 0xa736, 0x0000, 0xa738, 0x0000, 0xa73a, 0x0000, 0xa73c, 0x0000, 0xa73e, // 0x07d0 - 0x07df + 0x0000, 0xa740, 0x0000, 0xa742, 0x0000, 0xa744, 0x0000, 0xa746, 0x0000, 0xa748, 0x0000, 0xa74a, 0x0000, 0xa74c, 0x0000, 0xa74e, // 0x07e0 - 0x07ef + 0x0000, 0xa750, 0x0000, 0xa752, 0x0000, 0xa754, 0x0000, 0xa756, 0x0000, 0xa758, 0x0000, 0xa75a, 0x0000, 0xa75c, 0x0000, 0xa75e, // 0x07f0 - 0x07ff + 0x0000, 0xa760, 0x0000, 0xa762, 0x0000, 0xa764, 0x0000, 0xa766, 0x0000, 0xa768, 0x0000, 0xa76a, 0x0000, 0xa76c, 0x0000, 0xa76e, // 0x0800 - 0x080f + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa779, 0x0000, 0xa77b, 0x0000, 0x0000, 0xa77e, // 0x0810 - 0x081f + 0x0000, 0xa780, 0x0000, 0xa782, 0x0000, 0xa784, 0x0000, 0xa786, 0x0000, 0x0000, 0x0000, 0x0000, 0xa78b, 0x0000, 0x0000, 0x0000, // 0x0820 - 0x082f + 0x0000, 0xa790, 0x0000, 0xa792, 0xa7c4, 0x0000, 0x0000, 0xa796, 0x0000, 0xa798, 0x0000, 0xa79a, 0x0000, 0xa79c, 0x0000, 0xa79e, // 0x0830 - 0x083f + 0x0000, 0xa7a0, 0x0000, 0xa7a2, 0x0000, 0xa7a4, 0x0000, 0xa7a6, 0x0000, 0xa7a8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0840 - 0x084f + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa7b4, 0x0000, 0xa7b6, 0x0000, 0xa7b8, 0x0000, 0xa7ba, 0x0000, 0xa7bc, 0x0000, 0xa7be, // 0x0850 - 0x085f + 0x0000, 0xa7c0, 0x0000, 0xa7c2, 0x0000, 0x0000, 0x0000, 0x0000, 0xa7c7, 0x0000, 0xa7c9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0860 - 0x086f + 0x0000, 0xa7d0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa7d6, 0x0000, 0xa7d8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0870 - 0x087f + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa7f5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0880 - 0x088f + 0x0000, 0x0000, 0x0000, 0xa7b3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0890 - 0x089f + 0x13a0, 0x13a1, 0x13a2, 0x13a3, 0x13a4, 0x13a5, 0x13a6, 0x13a7, 0x13a8, 0x13a9, 0x13aa, 0x13ab, 0x13ac, 0x13ad, 0x13ae, 0x13af, // 0x08a0 - 0x08af + 0x13b0, 0x13b1, 0x13b2, 0x13b3, 0x13b4, 0x13b5, 0x13b6, 0x13b7, 0x13b8, 0x13b9, 0x13ba, 0x13bb, 0x13bc, 0x13bd, 0x13be, 0x13bf, // 0x08b0 - 0x08bf + 0x13c0, 0x13c1, 0x13c2, 0x13c3, 0x13c4, 0x13c5, 0x13c6, 0x13c7, 0x13c8, 0x13c9, 0x13ca, 0x13cb, 0x13cc, 0x13cd, 0x13ce, 0x13cf, // 0x08c0 - 0x08cf + 0x13d0, 0x13d1, 0x13d2, 0x13d3, 0x13d4, 0x13d5, 0x13d6, 0x13d7, 0x13d8, 0x13d9, 0x13da, 0x13db, 0x13dc, 0x13dd, 0x13de, 0x13df, // 0x08d0 - 0x08df + 0x13e0, 0x13e1, 0x13e2, 0x13e3, 0x13e4, 0x13e5, 0x13e6, 0x13e7, 0x13e8, 0x13e9, 0x13ea, 0x13eb, 0x13ec, 0x13ed, 0x13ee, 0x13ef, // 0x08e0 - 0x08ef + 0x0000, 0xff21, 0xff22, 0xff23, 0xff24, 0xff25, 0xff26, 0xff27, 0xff28, 0xff29, 0xff2a, 0xff2b, 0xff2c, 0xff2d, 0xff2e, 0xff2f, // 0x08f0 - 0x08ff + 0xff30, 0xff31, 0xff32, 0xff33, 0xff34, 0xff35, 0xff36, 0xff37, 0xff38, 0xff39, 0xff3a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0900 - 0x090f + }; + + private static readonly ushort [] LowerCase1 = + { + // 0 1 2 3 4 5 6 7 8 9 A B C D E F + 0x0000, 0x0010, 0x0020, 0x0030, 0x0040, 0x0050, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, // 0x0000 - 0x000f + 0x0070, 0x0060, 0x0060, 0x0080, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0090, 0x0060, 0x00a0, 0x00b0, // 0x0010 - 0x001f + 0x0060, 0x00c0, 0x0060, 0x0060, 0x00d0, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x00e0, 0x0060, 0x0060, 0x0060, // 0x0020 - 0x002f + 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, // 0x0030 - 0x003f + 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, // 0x0040 - 0x004f + 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, // 0x0050 - 0x005f + 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, // 0x0060 - 0x006f + 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, // 0x0070 - 0x007f + 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, // 0x0080 - 0x008f + 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, // 0x0090 - 0x009f + 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x00f0, 0x0100, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, // 0x00a0 - 0x00af + 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, // 0x00b0 - 0x00bf + 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, // 0x00c0 - 0x00cf + 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, // 0x00d0 - 0x00df + 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, // 0x00e0 - 0x00ef + 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0110, // 0x00f0 - 0x00ff + }; + + private static readonly ushort [] LowerCase2 = + { + // 0 1 2 3 4 5 6 7 8 9 A B C D E F + 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0030, 0x0040, 0x0000, 0x0000, // 0x0000 - 0x000f + 0x0050, 0x0060, 0x0070, 0x0080, 0x0090, 0x00a0, 0x00b0, 0x00c0, 0x00d0, 0x00e0, 0x00f0, 0x0100, 0x0110, 0x0120, 0x0130, 0x0140, // 0x0010 - 0x001f + 0x0150, 0x0160, 0x0170, 0x0180, 0x0190, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0020 - 0x002f + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x01a0, 0x01b0, 0x01c0, 0x01d0, 0x0000, 0x01e0, 0x01f0, 0x0200, 0x0210, // 0x0030 - 0x003f + 0x0220, 0x0230, 0x0240, 0x0000, 0x0000, 0x0000, 0x0250, 0x0260, 0x0270, 0x0280, 0x0290, 0x02a0, 0x02b0, 0x02c0, 0x02d0, 0x02e0, // 0x0040 - 0x004f + 0x02f0, 0x0300, 0x0310, 0x0320, 0x0330, 0x0340, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0050 - 0x005f + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0060 - 0x006f + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0350, 0x0360, 0x0370, 0x0000, 0x0000, 0x0000, // 0x0070 - 0x007f + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0380, 0x0390, 0x03a0, 0x03b0, 0x03c0, 0x03d0, // 0x0080 - 0x008f + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x03e0, 0x03f0, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0090 - 0x009f + 0x0410, 0x0420, 0x0430, 0x0440, 0x0450, 0x0460, 0x0470, 0x0480, 0x0490, 0x04a0, 0x04b0, 0x04c0, 0x04d0, 0x04e0, 0x04f0, 0x0500, // 0x00a0 - 0x00af + 0x0510, 0x0520, 0x0530, 0x0540, 0x0550, 0x0560, 0x0570, 0x0000, 0x0580, 0x0590, 0x05a0, 0x05b0, 0x05c0, 0x05d0, 0x05e0, 0x05f0, // 0x00b0 - 0x00bf + 0x0000, 0x0000, 0x0600, 0x0610, 0x0000, 0x0000, 0x0620, 0x0000, 0x0630, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x00c0 - 0x00cf + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0640, 0x0650, 0x0000, 0x0000, 0x0000, // 0x00d0 - 0x00df + 0x0660, 0x0670, 0x0680, 0x0000, 0x0000, 0x0000, 0x0690, 0x06a0, 0x06b0, 0x06c0, 0x06d0, 0x06e0, 0x06f0, 0x0700, 0x0710, 0x0720, // 0x00e0 - 0x00ef + 0x0000, 0x0000, 0x0000, 0x0000, 0x0730, 0x0740, 0x0750, 0x0000, 0x0760, 0x0770, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x00f0 - 0x00ff + 0x0000, 0x0000, 0x0780, 0x0790, 0x07a0, 0x07b0, 0x07c0, 0x07d0, 0x07e0, 0x07f0, 0x0800, 0x0810, 0x0820, 0x0830, 0x0000, 0x0840, // 0x0100 - 0x010f + 0x0000, 0x0000, 0x0850, 0x0860, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0110 - 0x011f + }; + + private static readonly ushort [] LowerCase3 = + { + // 0 1 2 3 4 5 6 7 8 9 A B C D E F + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0000 - 0x000f + 0x0000, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, // 0x0010 - 0x001f + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0020 - 0x002f + 0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7, 0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef, // 0x0030 - 0x003f + 0x00f0, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x0000, 0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x00fe, 0x0000, // 0x0040 - 0x004f + 0x0101, 0x0000, 0x0103, 0x0000, 0x0105, 0x0000, 0x0107, 0x0000, 0x0109, 0x0000, 0x010b, 0x0000, 0x010d, 0x0000, 0x010f, 0x0000, // 0x0050 - 0x005f + 0x0111, 0x0000, 0x0113, 0x0000, 0x0115, 0x0000, 0x0117, 0x0000, 0x0119, 0x0000, 0x011b, 0x0000, 0x011d, 0x0000, 0x011f, 0x0000, // 0x0060 - 0x006f + 0x0121, 0x0000, 0x0123, 0x0000, 0x0125, 0x0000, 0x0127, 0x0000, 0x0129, 0x0000, 0x012b, 0x0000, 0x012d, 0x0000, 0x012f, 0x0000, // 0x0070 - 0x007f + 0x0000, 0x0000, 0x0133, 0x0000, 0x0135, 0x0000, 0x0137, 0x0000, 0x0000, 0x013a, 0x0000, 0x013c, 0x0000, 0x013e, 0x0000, 0x0140, // 0x0080 - 0x008f + 0x0000, 0x0142, 0x0000, 0x0144, 0x0000, 0x0146, 0x0000, 0x0148, 0x0000, 0x0000, 0x014b, 0x0000, 0x014d, 0x0000, 0x014f, 0x0000, // 0x0090 - 0x009f + 0x0151, 0x0000, 0x0153, 0x0000, 0x0155, 0x0000, 0x0157, 0x0000, 0x0159, 0x0000, 0x015b, 0x0000, 0x015d, 0x0000, 0x015f, 0x0000, // 0x00a0 - 0x00af + 0x0161, 0x0000, 0x0163, 0x0000, 0x0165, 0x0000, 0x0167, 0x0000, 0x0169, 0x0000, 0x016b, 0x0000, 0x016d, 0x0000, 0x016f, 0x0000, // 0x00b0 - 0x00bf + 0x0171, 0x0000, 0x0173, 0x0000, 0x0175, 0x0000, 0x0177, 0x0000, 0x00ff, 0x017a, 0x0000, 0x017c, 0x0000, 0x017e, 0x0000, 0x0000, // 0x00c0 - 0x00cf + 0x0000, 0x0253, 0x0183, 0x0000, 0x0185, 0x0000, 0x0254, 0x0188, 0x0000, 0x0256, 0x0257, 0x018c, 0x0000, 0x0000, 0x01dd, 0x0259, // 0x00d0 - 0x00df + 0x025b, 0x0192, 0x0000, 0x0260, 0x0263, 0x0000, 0x0269, 0x0268, 0x0199, 0x0000, 0x0000, 0x0000, 0x026f, 0x0272, 0x0000, 0x0275, // 0x00e0 - 0x00ef + 0x01a1, 0x0000, 0x01a3, 0x0000, 0x01a5, 0x0000, 0x0280, 0x01a8, 0x0000, 0x0283, 0x0000, 0x0000, 0x01ad, 0x0000, 0x0288, 0x01b0, // 0x00f0 - 0x00ff + 0x0000, 0x028a, 0x028b, 0x01b4, 0x0000, 0x01b6, 0x0000, 0x0292, 0x01b9, 0x0000, 0x0000, 0x0000, 0x01bd, 0x0000, 0x0000, 0x0000, // 0x0100 - 0x010f + 0x0000, 0x0000, 0x0000, 0x0000, 0x01c6, 0x01c6, 0x0000, 0x01c9, 0x01c9, 0x0000, 0x01cc, 0x01cc, 0x0000, 0x01ce, 0x0000, 0x01d0, // 0x0110 - 0x011f + 0x0000, 0x01d2, 0x0000, 0x01d4, 0x0000, 0x01d6, 0x0000, 0x01d8, 0x0000, 0x01da, 0x0000, 0x01dc, 0x0000, 0x0000, 0x01df, 0x0000, // 0x0120 - 0x012f + 0x01e1, 0x0000, 0x01e3, 0x0000, 0x01e5, 0x0000, 0x01e7, 0x0000, 0x01e9, 0x0000, 0x01eb, 0x0000, 0x01ed, 0x0000, 0x01ef, 0x0000, // 0x0130 - 0x013f + 0x0000, 0x01f3, 0x01f3, 0x0000, 0x01f5, 0x0000, 0x0195, 0x01bf, 0x01f9, 0x0000, 0x01fb, 0x0000, 0x01fd, 0x0000, 0x01ff, 0x0000, // 0x0140 - 0x014f + 0x0201, 0x0000, 0x0203, 0x0000, 0x0205, 0x0000, 0x0207, 0x0000, 0x0209, 0x0000, 0x020b, 0x0000, 0x020d, 0x0000, 0x020f, 0x0000, // 0x0150 - 0x015f + 0x0211, 0x0000, 0x0213, 0x0000, 0x0215, 0x0000, 0x0217, 0x0000, 0x0219, 0x0000, 0x021b, 0x0000, 0x021d, 0x0000, 0x021f, 0x0000, // 0x0160 - 0x016f + 0x019e, 0x0000, 0x0223, 0x0000, 0x0225, 0x0000, 0x0227, 0x0000, 0x0229, 0x0000, 0x022b, 0x0000, 0x022d, 0x0000, 0x022f, 0x0000, // 0x0170 - 0x017f + 0x0231, 0x0000, 0x0233, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2c65, 0x023c, 0x0000, 0x019a, 0x2c66, 0x0000, // 0x0180 - 0x018f + 0x0000, 0x0242, 0x0000, 0x0180, 0x0289, 0x028c, 0x0247, 0x0000, 0x0249, 0x0000, 0x024b, 0x0000, 0x024d, 0x0000, 0x024f, 0x0000, // 0x0190 - 0x019f + 0x0371, 0x0000, 0x0373, 0x0000, 0x0000, 0x0000, 0x0377, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x03f3, // 0x01a0 - 0x01af + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x03ac, 0x0000, 0x03ad, 0x03ae, 0x03af, 0x0000, 0x03cc, 0x0000, 0x03cd, 0x03ce, // 0x01b0 - 0x01bf + 0x0000, 0x03b1, 0x03b2, 0x03b3, 0x03b4, 0x03b5, 0x03b6, 0x03b7, 0x03b8, 0x03b9, 0x03ba, 0x03bb, 0x03bc, 0x03bd, 0x03be, 0x03bf, // 0x01c0 - 0x01cf + 0x03c0, 0x03c1, 0x0000, 0x03c3, 0x03c4, 0x03c5, 0x03c6, 0x03c7, 0x03c8, 0x03c9, 0x03ca, 0x03cb, 0x0000, 0x0000, 0x0000, 0x0000, // 0x01d0 - 0x01df + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x03d7, // 0x01e0 - 0x01ef + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x03d9, 0x0000, 0x03db, 0x0000, 0x03dd, 0x0000, 0x03df, 0x0000, // 0x01f0 - 0x01ff + 0x03e1, 0x0000, 0x03e3, 0x0000, 0x03e5, 0x0000, 0x03e7, 0x0000, 0x03e9, 0x0000, 0x03eb, 0x0000, 0x03ed, 0x0000, 0x03ef, 0x0000, // 0x0200 - 0x020f + 0x0000, 0x0000, 0x0000, 0x0000, 0x03b8, 0x0000, 0x0000, 0x03f8, 0x0000, 0x03f2, 0x03fb, 0x0000, 0x0000, 0x037b, 0x037c, 0x037d, // 0x0210 - 0x021f + 0x0450, 0x0451, 0x0452, 0x0453, 0x0454, 0x0455, 0x0456, 0x0457, 0x0458, 0x0459, 0x045a, 0x045b, 0x045c, 0x045d, 0x045e, 0x045f, // 0x0220 - 0x022f + 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437, 0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, 0x043f, // 0x0230 - 0x023f + 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, 0x0448, 0x0449, 0x044a, 0x044b, 0x044c, 0x044d, 0x044e, 0x044f, // 0x0240 - 0x024f + 0x0461, 0x0000, 0x0463, 0x0000, 0x0465, 0x0000, 0x0467, 0x0000, 0x0469, 0x0000, 0x046b, 0x0000, 0x046d, 0x0000, 0x046f, 0x0000, // 0x0250 - 0x025f + 0x0471, 0x0000, 0x0473, 0x0000, 0x0475, 0x0000, 0x0477, 0x0000, 0x0479, 0x0000, 0x047b, 0x0000, 0x047d, 0x0000, 0x047f, 0x0000, // 0x0260 - 0x026f + 0x0481, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x048b, 0x0000, 0x048d, 0x0000, 0x048f, 0x0000, // 0x0270 - 0x027f + 0x0491, 0x0000, 0x0493, 0x0000, 0x0495, 0x0000, 0x0497, 0x0000, 0x0499, 0x0000, 0x049b, 0x0000, 0x049d, 0x0000, 0x049f, 0x0000, // 0x0280 - 0x028f + 0x04a1, 0x0000, 0x04a3, 0x0000, 0x04a5, 0x0000, 0x04a7, 0x0000, 0x04a9, 0x0000, 0x04ab, 0x0000, 0x04ad, 0x0000, 0x04af, 0x0000, // 0x0290 - 0x029f + 0x04b1, 0x0000, 0x04b3, 0x0000, 0x04b5, 0x0000, 0x04b7, 0x0000, 0x04b9, 0x0000, 0x04bb, 0x0000, 0x04bd, 0x0000, 0x04bf, 0x0000, // 0x02a0 - 0x02af + 0x04cf, 0x04c2, 0x0000, 0x04c4, 0x0000, 0x04c6, 0x0000, 0x04c8, 0x0000, 0x04ca, 0x0000, 0x04cc, 0x0000, 0x04ce, 0x0000, 0x0000, // 0x02b0 - 0x02bf + 0x04d1, 0x0000, 0x04d3, 0x0000, 0x04d5, 0x0000, 0x04d7, 0x0000, 0x04d9, 0x0000, 0x04db, 0x0000, 0x04dd, 0x0000, 0x04df, 0x0000, // 0x02c0 - 0x02cf + 0x04e1, 0x0000, 0x04e3, 0x0000, 0x04e5, 0x0000, 0x04e7, 0x0000, 0x04e9, 0x0000, 0x04eb, 0x0000, 0x04ed, 0x0000, 0x04ef, 0x0000, // 0x02d0 - 0x02df + 0x04f1, 0x0000, 0x04f3, 0x0000, 0x04f5, 0x0000, 0x04f7, 0x0000, 0x04f9, 0x0000, 0x04fb, 0x0000, 0x04fd, 0x0000, 0x04ff, 0x0000, // 0x02e0 - 0x02ef + 0x0501, 0x0000, 0x0503, 0x0000, 0x0505, 0x0000, 0x0507, 0x0000, 0x0509, 0x0000, 0x050b, 0x0000, 0x050d, 0x0000, 0x050f, 0x0000, // 0x02f0 - 0x02ff + 0x0511, 0x0000, 0x0513, 0x0000, 0x0515, 0x0000, 0x0517, 0x0000, 0x0519, 0x0000, 0x051b, 0x0000, 0x051d, 0x0000, 0x051f, 0x0000, // 0x0300 - 0x030f + 0x0521, 0x0000, 0x0523, 0x0000, 0x0525, 0x0000, 0x0527, 0x0000, 0x0529, 0x0000, 0x052b, 0x0000, 0x052d, 0x0000, 0x052f, 0x0000, // 0x0310 - 0x031f + 0x0000, 0x0561, 0x0562, 0x0563, 0x0564, 0x0565, 0x0566, 0x0567, 0x0568, 0x0569, 0x056a, 0x056b, 0x056c, 0x056d, 0x056e, 0x056f, // 0x0320 - 0x032f + 0x0570, 0x0571, 0x0572, 0x0573, 0x0574, 0x0575, 0x0576, 0x0577, 0x0578, 0x0579, 0x057a, 0x057b, 0x057c, 0x057d, 0x057e, 0x057f, // 0x0330 - 0x033f + 0x0580, 0x0581, 0x0582, 0x0583, 0x0584, 0x0585, 0x0586, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0340 - 0x034f + 0x2d00, 0x2d01, 0x2d02, 0x2d03, 0x2d04, 0x2d05, 0x2d06, 0x2d07, 0x2d08, 0x2d09, 0x2d0a, 0x2d0b, 0x2d0c, 0x2d0d, 0x2d0e, 0x2d0f, // 0x0350 - 0x035f + 0x2d10, 0x2d11, 0x2d12, 0x2d13, 0x2d14, 0x2d15, 0x2d16, 0x2d17, 0x2d18, 0x2d19, 0x2d1a, 0x2d1b, 0x2d1c, 0x2d1d, 0x2d1e, 0x2d1f, // 0x0360 - 0x036f + 0x2d20, 0x2d21, 0x2d22, 0x2d23, 0x2d24, 0x2d25, 0x0000, 0x2d27, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2d2d, 0x0000, 0x0000, // 0x0370 - 0x037f + 0xab70, 0xab71, 0xab72, 0xab73, 0xab74, 0xab75, 0xab76, 0xab77, 0xab78, 0xab79, 0xab7a, 0xab7b, 0xab7c, 0xab7d, 0xab7e, 0xab7f, // 0x0380 - 0x038f + 0xab80, 0xab81, 0xab82, 0xab83, 0xab84, 0xab85, 0xab86, 0xab87, 0xab88, 0xab89, 0xab8a, 0xab8b, 0xab8c, 0xab8d, 0xab8e, 0xab8f, // 0x0390 - 0x039f + 0xab90, 0xab91, 0xab92, 0xab93, 0xab94, 0xab95, 0xab96, 0xab97, 0xab98, 0xab99, 0xab9a, 0xab9b, 0xab9c, 0xab9d, 0xab9e, 0xab9f, // 0x03a0 - 0x03af + 0xaba0, 0xaba1, 0xaba2, 0xaba3, 0xaba4, 0xaba5, 0xaba6, 0xaba7, 0xaba8, 0xaba9, 0xabaa, 0xabab, 0xabac, 0xabad, 0xabae, 0xabaf, // 0x03b0 - 0x03bf + 0xabb0, 0xabb1, 0xabb2, 0xabb3, 0xabb4, 0xabb5, 0xabb6, 0xabb7, 0xabb8, 0xabb9, 0xabba, 0xabbb, 0xabbc, 0xabbd, 0xabbe, 0xabbf, // 0x03c0 - 0x03cf + 0x13f8, 0x13f9, 0x13fa, 0x13fb, 0x13fc, 0x13fd, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x03d0 - 0x03df + 0x10d0, 0x10d1, 0x10d2, 0x10d3, 0x10d4, 0x10d5, 0x10d6, 0x10d7, 0x10d8, 0x10d9, 0x10da, 0x10db, 0x10dc, 0x10dd, 0x10de, 0x10df, // 0x03e0 - 0x03ef + 0x10e0, 0x10e1, 0x10e2, 0x10e3, 0x10e4, 0x10e5, 0x10e6, 0x10e7, 0x10e8, 0x10e9, 0x10ea, 0x10eb, 0x10ec, 0x10ed, 0x10ee, 0x10ef, // 0x03f0 - 0x03ff + 0x10f0, 0x10f1, 0x10f2, 0x10f3, 0x10f4, 0x10f5, 0x10f6, 0x10f7, 0x10f8, 0x10f9, 0x10fa, 0x0000, 0x0000, 0x10fd, 0x10fe, 0x10ff, // 0x0400 - 0x040f + 0x1e01, 0x0000, 0x1e03, 0x0000, 0x1e05, 0x0000, 0x1e07, 0x0000, 0x1e09, 0x0000, 0x1e0b, 0x0000, 0x1e0d, 0x0000, 0x1e0f, 0x0000, // 0x0410 - 0x041f + 0x1e11, 0x0000, 0x1e13, 0x0000, 0x1e15, 0x0000, 0x1e17, 0x0000, 0x1e19, 0x0000, 0x1e1b, 0x0000, 0x1e1d, 0x0000, 0x1e1f, 0x0000, // 0x0420 - 0x042f + 0x1e21, 0x0000, 0x1e23, 0x0000, 0x1e25, 0x0000, 0x1e27, 0x0000, 0x1e29, 0x0000, 0x1e2b, 0x0000, 0x1e2d, 0x0000, 0x1e2f, 0x0000, // 0x0430 - 0x043f + 0x1e31, 0x0000, 0x1e33, 0x0000, 0x1e35, 0x0000, 0x1e37, 0x0000, 0x1e39, 0x0000, 0x1e3b, 0x0000, 0x1e3d, 0x0000, 0x1e3f, 0x0000, // 0x0440 - 0x044f + 0x1e41, 0x0000, 0x1e43, 0x0000, 0x1e45, 0x0000, 0x1e47, 0x0000, 0x1e49, 0x0000, 0x1e4b, 0x0000, 0x1e4d, 0x0000, 0x1e4f, 0x0000, // 0x0450 - 0x045f + 0x1e51, 0x0000, 0x1e53, 0x0000, 0x1e55, 0x0000, 0x1e57, 0x0000, 0x1e59, 0x0000, 0x1e5b, 0x0000, 0x1e5d, 0x0000, 0x1e5f, 0x0000, // 0x0460 - 0x046f + 0x1e61, 0x0000, 0x1e63, 0x0000, 0x1e65, 0x0000, 0x1e67, 0x0000, 0x1e69, 0x0000, 0x1e6b, 0x0000, 0x1e6d, 0x0000, 0x1e6f, 0x0000, // 0x0470 - 0x047f + 0x1e71, 0x0000, 0x1e73, 0x0000, 0x1e75, 0x0000, 0x1e77, 0x0000, 0x1e79, 0x0000, 0x1e7b, 0x0000, 0x1e7d, 0x0000, 0x1e7f, 0x0000, // 0x0480 - 0x048f + 0x1e81, 0x0000, 0x1e83, 0x0000, 0x1e85, 0x0000, 0x1e87, 0x0000, 0x1e89, 0x0000, 0x1e8b, 0x0000, 0x1e8d, 0x0000, 0x1e8f, 0x0000, // 0x0490 - 0x049f + 0x1e91, 0x0000, 0x1e93, 0x0000, 0x1e95, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00df, 0x0000, // 0x04a0 - 0x04af + 0x1ea1, 0x0000, 0x1ea3, 0x0000, 0x1ea5, 0x0000, 0x1ea7, 0x0000, 0x1ea9, 0x0000, 0x1eab, 0x0000, 0x1ead, 0x0000, 0x1eaf, 0x0000, // 0x04b0 - 0x04bf + 0x1eb1, 0x0000, 0x1eb3, 0x0000, 0x1eb5, 0x0000, 0x1eb7, 0x0000, 0x1eb9, 0x0000, 0x1ebb, 0x0000, 0x1ebd, 0x0000, 0x1ebf, 0x0000, // 0x04c0 - 0x04cf + 0x1ec1, 0x0000, 0x1ec3, 0x0000, 0x1ec5, 0x0000, 0x1ec7, 0x0000, 0x1ec9, 0x0000, 0x1ecb, 0x0000, 0x1ecd, 0x0000, 0x1ecf, 0x0000, // 0x04d0 - 0x04df + 0x1ed1, 0x0000, 0x1ed3, 0x0000, 0x1ed5, 0x0000, 0x1ed7, 0x0000, 0x1ed9, 0x0000, 0x1edb, 0x0000, 0x1edd, 0x0000, 0x1edf, 0x0000, // 0x04e0 - 0x04ef + 0x1ee1, 0x0000, 0x1ee3, 0x0000, 0x1ee5, 0x0000, 0x1ee7, 0x0000, 0x1ee9, 0x0000, 0x1eeb, 0x0000, 0x1eed, 0x0000, 0x1eef, 0x0000, // 0x04f0 - 0x04ff + 0x1ef1, 0x0000, 0x1ef3, 0x0000, 0x1ef5, 0x0000, 0x1ef7, 0x0000, 0x1ef9, 0x0000, 0x1efb, 0x0000, 0x1efd, 0x0000, 0x1eff, 0x0000, // 0x0500 - 0x050f + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1f00, 0x1f01, 0x1f02, 0x1f03, 0x1f04, 0x1f05, 0x1f06, 0x1f07, // 0x0510 - 0x051f + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1f10, 0x1f11, 0x1f12, 0x1f13, 0x1f14, 0x1f15, 0x0000, 0x0000, // 0x0520 - 0x052f + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1f20, 0x1f21, 0x1f22, 0x1f23, 0x1f24, 0x1f25, 0x1f26, 0x1f27, // 0x0530 - 0x053f + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1f30, 0x1f31, 0x1f32, 0x1f33, 0x1f34, 0x1f35, 0x1f36, 0x1f37, // 0x0540 - 0x054f + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1f40, 0x1f41, 0x1f42, 0x1f43, 0x1f44, 0x1f45, 0x0000, 0x0000, // 0x0550 - 0x055f + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1f51, 0x0000, 0x1f53, 0x0000, 0x1f55, 0x0000, 0x1f57, // 0x0560 - 0x056f + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1f60, 0x1f61, 0x1f62, 0x1f63, 0x1f64, 0x1f65, 0x1f66, 0x1f67, // 0x0570 - 0x057f + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1f80, 0x1f81, 0x1f82, 0x1f83, 0x1f84, 0x1f85, 0x1f86, 0x1f87, // 0x0580 - 0x058f + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1f90, 0x1f91, 0x1f92, 0x1f93, 0x1f94, 0x1f95, 0x1f96, 0x1f97, // 0x0590 - 0x059f + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1fa0, 0x1fa1, 0x1fa2, 0x1fa3, 0x1fa4, 0x1fa5, 0x1fa6, 0x1fa7, // 0x05a0 - 0x05af + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1fb0, 0x1fb1, 0x1f70, 0x1f71, 0x1fb3, 0x0000, 0x0000, 0x0000, // 0x05b0 - 0x05bf + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1f72, 0x1f73, 0x1f74, 0x1f75, 0x1fc3, 0x0000, 0x0000, 0x0000, // 0x05c0 - 0x05cf + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1fd0, 0x1fd1, 0x1f76, 0x1f77, 0x0000, 0x0000, 0x0000, 0x0000, // 0x05d0 - 0x05df + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1fe0, 0x1fe1, 0x1f7a, 0x1f7b, 0x1fe5, 0x0000, 0x0000, 0x0000, // 0x05e0 - 0x05ef + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1f78, 0x1f79, 0x1f7c, 0x1f7d, 0x1ff3, 0x0000, 0x0000, 0x0000, // 0x05f0 - 0x05ff + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x03c9, 0x0000, 0x0000, 0x0000, 0x006b, 0x00e5, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0600 - 0x060f + 0x0000, 0x0000, 0x214e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0610 - 0x061f + 0x2170, 0x2171, 0x2172, 0x2173, 0x2174, 0x2175, 0x2176, 0x2177, 0x2178, 0x2179, 0x217a, 0x217b, 0x217c, 0x217d, 0x217e, 0x217f, // 0x0620 - 0x062f + 0x0000, 0x0000, 0x0000, 0x2184, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0630 - 0x063f + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x24d0, 0x24d1, 0x24d2, 0x24d3, 0x24d4, 0x24d5, 0x24d6, 0x24d7, 0x24d8, 0x24d9, // 0x0640 - 0x064f + 0x24da, 0x24db, 0x24dc, 0x24dd, 0x24de, 0x24df, 0x24e0, 0x24e1, 0x24e2, 0x24e3, 0x24e4, 0x24e5, 0x24e6, 0x24e7, 0x24e8, 0x24e9, // 0x0650 - 0x065f + 0x2c30, 0x2c31, 0x2c32, 0x2c33, 0x2c34, 0x2c35, 0x2c36, 0x2c37, 0x2c38, 0x2c39, 0x2c3a, 0x2c3b, 0x2c3c, 0x2c3d, 0x2c3e, 0x2c3f, // 0x0660 - 0x066f + 0x2c40, 0x2c41, 0x2c42, 0x2c43, 0x2c44, 0x2c45, 0x2c46, 0x2c47, 0x2c48, 0x2c49, 0x2c4a, 0x2c4b, 0x2c4c, 0x2c4d, 0x2c4e, 0x2c4f, // 0x0670 - 0x067f + 0x2c50, 0x2c51, 0x2c52, 0x2c53, 0x2c54, 0x2c55, 0x2c56, 0x2c57, 0x2c58, 0x2c59, 0x2c5a, 0x2c5b, 0x2c5c, 0x2c5d, 0x2c5e, 0x2c5f, // 0x0680 - 0x068f + 0x2c61, 0x0000, 0x026b, 0x1d7d, 0x027d, 0x0000, 0x0000, 0x2c68, 0x0000, 0x2c6a, 0x0000, 0x2c6c, 0x0000, 0x0251, 0x0271, 0x0250, // 0x0690 - 0x069f + 0x0252, 0x0000, 0x2c73, 0x0000, 0x0000, 0x2c76, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x023f, 0x0240, // 0x06a0 - 0x06af + 0x2c81, 0x0000, 0x2c83, 0x0000, 0x2c85, 0x0000, 0x2c87, 0x0000, 0x2c89, 0x0000, 0x2c8b, 0x0000, 0x2c8d, 0x0000, 0x2c8f, 0x0000, // 0x06b0 - 0x06bf + 0x2c91, 0x0000, 0x2c93, 0x0000, 0x2c95, 0x0000, 0x2c97, 0x0000, 0x2c99, 0x0000, 0x2c9b, 0x0000, 0x2c9d, 0x0000, 0x2c9f, 0x0000, // 0x06c0 - 0x06cf + 0x2ca1, 0x0000, 0x2ca3, 0x0000, 0x2ca5, 0x0000, 0x2ca7, 0x0000, 0x2ca9, 0x0000, 0x2cab, 0x0000, 0x2cad, 0x0000, 0x2caf, 0x0000, // 0x06d0 - 0x06df + 0x2cb1, 0x0000, 0x2cb3, 0x0000, 0x2cb5, 0x0000, 0x2cb7, 0x0000, 0x2cb9, 0x0000, 0x2cbb, 0x0000, 0x2cbd, 0x0000, 0x2cbf, 0x0000, // 0x06e0 - 0x06ef + 0x2cc1, 0x0000, 0x2cc3, 0x0000, 0x2cc5, 0x0000, 0x2cc7, 0x0000, 0x2cc9, 0x0000, 0x2ccb, 0x0000, 0x2ccd, 0x0000, 0x2ccf, 0x0000, // 0x06f0 - 0x06ff + 0x2cd1, 0x0000, 0x2cd3, 0x0000, 0x2cd5, 0x0000, 0x2cd7, 0x0000, 0x2cd9, 0x0000, 0x2cdb, 0x0000, 0x2cdd, 0x0000, 0x2cdf, 0x0000, // 0x0700 - 0x070f + 0x2ce1, 0x0000, 0x2ce3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2cec, 0x0000, 0x2cee, 0x0000, 0x0000, // 0x0710 - 0x071f + 0x0000, 0x0000, 0x2cf3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0720 - 0x072f + 0xa641, 0x0000, 0xa643, 0x0000, 0xa645, 0x0000, 0xa647, 0x0000, 0xa649, 0x0000, 0xa64b, 0x0000, 0xa64d, 0x0000, 0xa64f, 0x0000, // 0x0730 - 0x073f + 0xa651, 0x0000, 0xa653, 0x0000, 0xa655, 0x0000, 0xa657, 0x0000, 0xa659, 0x0000, 0xa65b, 0x0000, 0xa65d, 0x0000, 0xa65f, 0x0000, // 0x0740 - 0x074f + 0xa661, 0x0000, 0xa663, 0x0000, 0xa665, 0x0000, 0xa667, 0x0000, 0xa669, 0x0000, 0xa66b, 0x0000, 0xa66d, 0x0000, 0x0000, 0x0000, // 0x0750 - 0x075f + 0xa681, 0x0000, 0xa683, 0x0000, 0xa685, 0x0000, 0xa687, 0x0000, 0xa689, 0x0000, 0xa68b, 0x0000, 0xa68d, 0x0000, 0xa68f, 0x0000, // 0x0760 - 0x076f + 0xa691, 0x0000, 0xa693, 0x0000, 0xa695, 0x0000, 0xa697, 0x0000, 0xa699, 0x0000, 0xa69b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0770 - 0x077f + 0x0000, 0x0000, 0xa723, 0x0000, 0xa725, 0x0000, 0xa727, 0x0000, 0xa729, 0x0000, 0xa72b, 0x0000, 0xa72d, 0x0000, 0xa72f, 0x0000, // 0x0780 - 0x078f + 0x0000, 0x0000, 0xa733, 0x0000, 0xa735, 0x0000, 0xa737, 0x0000, 0xa739, 0x0000, 0xa73b, 0x0000, 0xa73d, 0x0000, 0xa73f, 0x0000, // 0x0790 - 0x079f + 0xa741, 0x0000, 0xa743, 0x0000, 0xa745, 0x0000, 0xa747, 0x0000, 0xa749, 0x0000, 0xa74b, 0x0000, 0xa74d, 0x0000, 0xa74f, 0x0000, // 0x07a0 - 0x07af + 0xa751, 0x0000, 0xa753, 0x0000, 0xa755, 0x0000, 0xa757, 0x0000, 0xa759, 0x0000, 0xa75b, 0x0000, 0xa75d, 0x0000, 0xa75f, 0x0000, // 0x07b0 - 0x07bf + 0xa761, 0x0000, 0xa763, 0x0000, 0xa765, 0x0000, 0xa767, 0x0000, 0xa769, 0x0000, 0xa76b, 0x0000, 0xa76d, 0x0000, 0xa76f, 0x0000, // 0x07c0 - 0x07cf + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa77a, 0x0000, 0xa77c, 0x0000, 0x1d79, 0xa77f, 0x0000, // 0x07d0 - 0x07df + 0xa781, 0x0000, 0xa783, 0x0000, 0xa785, 0x0000, 0xa787, 0x0000, 0x0000, 0x0000, 0x0000, 0xa78c, 0x0000, 0x0265, 0x0000, 0x0000, // 0x07e0 - 0x07ef + 0xa791, 0x0000, 0xa793, 0x0000, 0x0000, 0x0000, 0xa797, 0x0000, 0xa799, 0x0000, 0xa79b, 0x0000, 0xa79d, 0x0000, 0xa79f, 0x0000, // 0x07f0 - 0x07ff + 0xa7a1, 0x0000, 0xa7a3, 0x0000, 0xa7a5, 0x0000, 0xa7a7, 0x0000, 0xa7a9, 0x0000, 0x0266, 0x025c, 0x0261, 0x026c, 0x026a, 0x0000, // 0x0800 - 0x080f + 0x029e, 0x0287, 0x029d, 0xab53, 0xa7b5, 0x0000, 0xa7b7, 0x0000, 0xa7b9, 0x0000, 0xa7bb, 0x0000, 0xa7bd, 0x0000, 0xa7bf, 0x0000, // 0x0810 - 0x081f + 0xa7c1, 0x0000, 0xa7c3, 0x0000, 0xa794, 0x0282, 0x1d8e, 0xa7c8, 0x0000, 0xa7ca, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0820 - 0x082f + 0xa7d1, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa7d7, 0x0000, 0xa7d9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0830 - 0x083f + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa7f6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0840 - 0x084f + 0x0000, 0xff41, 0xff42, 0xff43, 0xff44, 0xff45, 0xff46, 0xff47, 0xff48, 0xff49, 0xff4a, 0xff4b, 0xff4c, 0xff4d, 0xff4e, 0xff4f, // 0x0850 - 0x085f + 0xff50, 0xff51, 0xff52, 0xff53, 0xff54, 0xff55, 0xff56, 0xff57, 0xff58, 0xff59, 0xff5a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0860 - 0x086f + }; + } +} diff --git a/src/libraries/System.Private.CoreLib/src/System/Globalization/Ordinal.cs b/src/libraries/System.Private.CoreLib/src/System/Globalization/Ordinal.cs index 50bff4353e188..779b2f5db769c 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Globalization/Ordinal.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Globalization/Ordinal.cs @@ -19,8 +19,7 @@ internal static int CompareStringIgnoreCase(ref char strA, int lengthA, ref char ref char charA = ref strA; ref char charB = ref strB; - // in InvariantMode we support all range and not only the ascii characters. - char maxChar = (GlobalizationMode.Invariant ? (char)0xFFFF : (char)0x7F); + char maxChar = (char)0x7F; while (length != 0 && charA <= maxChar && charB <= maxChar) { @@ -53,7 +52,7 @@ internal static int CompareStringIgnoreCase(ref char strA, int lengthA, ref char } } - if (length == 0 || GlobalizationMode.Invariant) + if (length == 0) { return lengthA - lengthB; } @@ -67,7 +66,7 @@ internal static int CompareStringIgnoreCaseNonAscii(ref char strA, int lengthA, { if (GlobalizationMode.Invariant) { - return CompareIgnoreCaseInvariantMode(ref strA, lengthA, ref strB, lengthB); + return InvariantModeCasing.CompareStringIgnoreCase(ref strA, lengthA, ref strB, lengthB); } if (GlobalizationMode.UseNls) @@ -181,41 +180,6 @@ internal static bool EqualsIgnoreCase(ref char charA, ref char charB, int length return CompareStringIgnoreCase(ref Unsafe.AddByteOffset(ref charA, byteOffset), length, ref Unsafe.AddByteOffset(ref charB, byteOffset), length) == 0; } - internal static int CompareIgnoreCaseInvariantMode(ref char strA, int lengthA, ref char strB, int lengthB) - { - Debug.Assert(GlobalizationMode.Invariant); - int length = Math.Min(lengthA, lengthB); - - ref char charA = ref strA; - ref char charB = ref strB; - - while (length != 0) - { - if (charA == charB) - { - length--; - charA = ref Unsafe.Add(ref charA, 1); - charB = ref Unsafe.Add(ref charB, 1); - continue; - } - - char aUpper = OrdinalCasing.ToUpperInvariantMode(charA); - char bUpper = OrdinalCasing.ToUpperInvariantMode(charB); - - if (aUpper == bUpper) - { - length--; - charA = ref Unsafe.Add(ref charA, 1); - charB = ref Unsafe.Add(ref charB, 1); - continue; - } - - return aUpper - bUpper; - } - - return lengthA - lengthB; - } - internal static unsafe int IndexOf(string source, string value, int startIndex, int count, bool ignoreCase) { if (source == null) @@ -266,7 +230,7 @@ internal static int IndexOfOrdinalIgnoreCase(ReadOnlySpan source, ReadOnly if (GlobalizationMode.Invariant) { - return CompareInfo.InvariantIndexOf(source, value, ignoreCase: true, fromBeginning: true); + return InvariantModeCasing.IndexOfIgnoreCae(source, value); } if (GlobalizationMode.UseNls) @@ -277,6 +241,29 @@ internal static int IndexOfOrdinalIgnoreCase(ReadOnlySpan source, ReadOnly return OrdinalCasing.IndexOf(source, value); } + internal static int LastIndexOfNoIgnoreCase(string source, string value, int startIndex, int count) + { + // startIndex is the index into source where we start search backwards from. + // leftStartIndex is the index into source of the start of the string that is + // count characters away from startIndex. + int leftStartIndex = startIndex - count + 1; + + for (int i = startIndex - value.Length + 1; i >= leftStartIndex; i--) + { + int valueIndex, sourceIndex; + + for (valueIndex = 0, sourceIndex = i; + valueIndex < value.Length && source[sourceIndex] == value[valueIndex]; + valueIndex++, sourceIndex++) ; + + if (valueIndex == value.Length) { + return i; + } + } + + return -1; + } + internal static unsafe int LastIndexOf(string source, string value, int startIndex, int count, bool ignoreCase) { if (source == null) @@ -301,7 +288,7 @@ internal static unsafe int LastIndexOf(string source, string value, int startInd if (GlobalizationMode.Invariant) { - return CompareInfo.InvariantLastIndexOf(source, value, startIndex, count, ignoreCase); + return ignoreCase ? InvariantModeCasing.LastIndexOfIgnoreCase(source.AsSpan().Slice(startIndex, count), value) : LastIndexOfNoIgnoreCase(source, value, startIndex, count); } if (GlobalizationMode.UseNls) @@ -311,25 +298,7 @@ internal static unsafe int LastIndexOf(string source, string value, int startInd if (!ignoreCase) { - // startIndex is the index into source where we start search backwards from. - // leftStartIndex is the index into source of the start of the string that is - // count characters away from startIndex. - int leftStartIndex = startIndex - count + 1; - - for (int i = startIndex - value.Length + 1; i >= leftStartIndex; i--) - { - int valueIndex, sourceIndex; - - for (valueIndex = 0, sourceIndex = i; - valueIndex < value.Length && source[sourceIndex] == value[valueIndex]; - valueIndex++, sourceIndex++) ; - - if (valueIndex == value.Length) { - return i; - } - } - - return -1; + LastIndexOfNoIgnoreCase(source, value, startIndex, count); } if (!source.TryGetSpan(startIndex, count, out ReadOnlySpan sourceSpan)) @@ -374,7 +343,7 @@ internal static int LastIndexOfOrdinalIgnoreCase(ReadOnlySpan source, Read if (GlobalizationMode.Invariant) { - return CompareInfo.InvariantIndexOf(source, value, ignoreCase: true, fromBeginning: false); + return InvariantModeCasing.LastIndexOfIgnoreCase(source, value); } if (GlobalizationMode.UseNls) @@ -396,7 +365,7 @@ internal static int ToUpperOrdinal(ReadOnlySpan source, Span destina if (GlobalizationMode.Invariant) { - OrdinalCasing.ToUpperInvariantMode(source, destination); + InvariantModeCasing.ToUpper(source, destination); return source.Length; } diff --git a/src/libraries/System.Private.CoreLib/src/System/Globalization/OrdinalCasing.Icu.cs b/src/libraries/System.Private.CoreLib/src/System/Globalization/OrdinalCasing.Icu.cs index 71da4dcfeba11..4f687202b6954 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Globalization/OrdinalCasing.Icu.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Globalization/OrdinalCasing.Icu.cs @@ -173,7 +173,7 @@ internal static void ToUpperOrdinal(ReadOnlySpan source, Span destin if (char.IsHighSurrogate(c) && i < source.Length - 1 && char.IsLowSurrogate(source[i + 1])) { // well formed surrogates - ToUpperSurrogate(c, source[i + 1], out ushort h, out ushort l); + SurrogateCasing.ToUpper(c, source[i + 1], out ushort h, out ushort l); destination[i] = (char)h; destination[i+1] = (char)l; i++; // skip the low surrogate @@ -184,86 +184,6 @@ internal static void ToUpperOrdinal(ReadOnlySpan source, Span destin } } - // For simplicity ToUpper doesn't expect the Surrogate be formed with - // S = ((H - 0xD800) * 0x400) + (L - 0xDC00) + 0x10000 - // Instead it expect to have it in the form (H << 16) | L - [MethodImpl(MethodImplOptions.AggressiveInlining)] - internal static void ToUpperSurrogate(ushort h, ushort l, out ushort hr, out ushort lr) - { - switch (h) - { - case 0xD801: - // DESERET SMALL LETTERS 10428 ~ 1044F - if ((uint) (l - 0xdc28) <= (uint) (0xdc4f - 0xdc28)) - { - hr = h; - lr = (ushort) ((l - 0xdc28) + 0xdc00); - return; - } - - // OSAGE SMALL LETTERS 104D8 ~ 104FB - if ((uint) (l - 0xdcd8) <= (uint) (0xdcfb - 0xdcd8)) - { - hr = h; - lr = (ushort) ((l - 0xdcd8) + 0xdcb0); - return; - } - break; - - case 0xd803: - // OLD HUNGARIAN SMALL LETTERS 10CC0 ~ 10CF2 - if ((uint) (l - 0xdcc0) <= (uint) (0xdcf2 - 0xdcc0)) - { - hr = h; - lr = (ushort) ((l - 0xdcc0) + 0xdc80); - return; - } - break; - - case 0xd806: - // WARANG CITI SMALL LETTERS 118C0 ~ 118DF - if ((uint) (l - 0xdcc0) <= (uint) (0xdcdf - 0xdcc0)) - { - hr = h; - lr = (ushort) ((l - 0xdcc0) + 0xdca0); - return; - } - break; - - case 0xd81b: - // MEDEFAIDRIN SMALL LETTERS 16E60 ~ 16E7F - if ((uint) (l - 0xde60) <= (uint) (0xde7f - 0xde60)) - { - hr = h; - lr = (ushort) ((l - 0xde60) + 0xde40); - return; - } - break; - - case 0xd83a: - // ADLAM SMALL LETTERS 1E922 ~ 1E943 - if ((uint) (l - 0xdd22) <= (uint) (0xdd43 - 0xdd22)) - { - hr = h; - lr = (ushort) ((l - 0xdd22) + 0xdd00); - return; - } - break; - } - - hr = h; - lr = l; - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - private static bool EqualSurrogate(char h1, char l1, char h2, char l2) - { - ToUpperSurrogate(h1, l1, out ushort hr1, out ushort lr1); - ToUpperSurrogate(h2, l2, out ushort hr2, out ushort lr2); - - return hr1 == hr2 && lr1 == lr2; - } - internal static int CompareStringIgnoreCase(ref char strA, int lengthA, ref char strB, int lengthB) { Debug.Assert(!GlobalizationMode.Invariant); @@ -324,8 +244,8 @@ internal static int CompareStringIgnoreCase(ref char strA, int lengthA, ref char } // we come here only if we have valid full surrogates - ToUpperSurrogate(a, charA, out ushort h1, out ushort l1); - ToUpperSurrogate(b, charB, out ushort h2, out ushort l2); + SurrogateCasing.ToUpper(a, charA, out ushort h1, out ushort l1); + SurrogateCasing.ToUpper(b, charB, out ushort h2, out ushort l2); if (h1 != h2) { @@ -381,7 +301,7 @@ internal static unsafe int IndexOf(ReadOnlySpan source, ReadOnlySpan { // Well formed surrogates // both the source and the Value have well-formed surrogates. - if (!EqualSurrogate(*pSrc, *(pSrc + 1), *pVal, *(pVal + 1))) + if (!SurrogateCasing.Equal(*pSrc, *(pSrc + 1), *pVal, *(pVal + 1))) break; // no match pSrc += 2; @@ -444,7 +364,7 @@ internal static unsafe int LastIndexOf(ReadOnlySpan source, ReadOnlySpan public char ToLower(char c) { - if (GlobalizationMode.Invariant || (UnicodeUtility.IsAsciiCodePoint(c) && IsAsciiCasingSameAsInvariant)) + if (GlobalizationMode.Invariant) + { + return InvariantModeCasing.ToLower(c); + } + + if (UnicodeUtility.IsAsciiCodePoint(c) && IsAsciiCasingSameAsInvariant) { return ToLowerAsciiInvariant(c); } @@ -154,7 +159,12 @@ public char ToLower(char c) internal static char ToLowerInvariant(char c) { - if (GlobalizationMode.Invariant || UnicodeUtility.IsAsciiCodePoint(c)) + if (GlobalizationMode.Invariant) + { + return InvariantModeCasing.ToLower(c); + } + + if (UnicodeUtility.IsAsciiCodePoint(c)) { return ToLowerAsciiInvariant(c); } @@ -171,7 +181,7 @@ public string ToLower(string str) if (GlobalizationMode.Invariant) { - return ToLowerAsciiInvariant(str); + return InvariantModeCasing.ToLower(str); } return ChangeCaseCommon(str); @@ -548,7 +558,12 @@ private static char ToLowerAsciiInvariant(char c) /// public char ToUpper(char c) { - if (GlobalizationMode.Invariant || (UnicodeUtility.IsAsciiCodePoint(c) && IsAsciiCasingSameAsInvariant)) + if (GlobalizationMode.Invariant) + { + return InvariantModeCasing.ToUpper(c); + } + + if (UnicodeUtility.IsAsciiCodePoint(c) && IsAsciiCasingSameAsInvariant) { return ToUpperAsciiInvariant(c); } @@ -558,7 +573,12 @@ public char ToUpper(char c) internal static char ToUpperInvariant(char c) { - if (GlobalizationMode.Invariant || UnicodeUtility.IsAsciiCodePoint(c)) + if (GlobalizationMode.Invariant) + { + return InvariantModeCasing.ToUpper(c); + } + + if (UnicodeUtility.IsAsciiCodePoint(c)) { return ToUpperAsciiInvariant(c); } @@ -575,7 +595,7 @@ public string ToUpper(string str) if (GlobalizationMode.Invariant) { - return ToUpperAsciiInvariant(str); + return InvariantModeCasing.ToUpper(str); } return ChangeCaseCommon(str); @@ -789,7 +809,9 @@ private int AddTitlecaseLetter(ref StringBuilder result, ref string input, int i ReadOnlySpan src = input.AsSpan(inputIndex, 2); if (GlobalizationMode.Invariant) { - result.Append(src); // surrogate pair in invariant mode, so changing case is a nop + SurrogateCasing.ToUpper(src[0], src[1], out ushort h, out ushort l); + result.Append(h); + result.Append(l); } else { @@ -825,7 +847,7 @@ private int AddTitlecaseLetter(ref StringBuilder result, ref string input, int i result.Append((char)0x01F2); break; default: - result.Append(ToUpper(input[inputIndex])); + result.Append(GlobalizationMode.Invariant ? InvariantModeCasing.ToUpper(input[inputIndex]) : ToUpper(input[inputIndex])); break; } } diff --git a/src/libraries/System.Private.CoreLib/src/System/MemoryExtensions.Globalization.cs b/src/libraries/System.Private.CoreLib/src/System/MemoryExtensions.Globalization.cs index 9fd5bed5d6aea..ccf8f509a99df 100644 --- a/src/libraries/System.Private.CoreLib/src/System/MemoryExtensions.Globalization.cs +++ b/src/libraries/System.Private.CoreLib/src/System/MemoryExtensions.Globalization.cs @@ -206,7 +206,7 @@ public static int ToLower(this ReadOnlySpan source, Span destination return -1; if (GlobalizationMode.Invariant) - TextInfo.ToLowerAsciiInvariant(source, destination); + InvariantModeCasing.ToLower(source, destination); else culture.TextInfo.ChangeCaseToLower(source, destination); return source.Length; @@ -230,7 +230,7 @@ public static int ToLowerInvariant(this ReadOnlySpan source, Span de return -1; if (GlobalizationMode.Invariant) - TextInfo.ToLowerAsciiInvariant(source, destination); + InvariantModeCasing.ToLower(source, destination); else TextInfo.Invariant.ChangeCaseToLower(source, destination); return source.Length; @@ -258,7 +258,7 @@ public static int ToUpper(this ReadOnlySpan source, Span destination return -1; if (GlobalizationMode.Invariant) - TextInfo.ToUpperAsciiInvariant(source, destination); + InvariantModeCasing.ToUpper(source, destination); else culture.TextInfo.ChangeCaseToUpper(source, destination); return source.Length; @@ -282,7 +282,7 @@ public static int ToUpperInvariant(this ReadOnlySpan source, Span de return -1; if (GlobalizationMode.Invariant) - TextInfo.ToUpperAsciiInvariant(source, destination); + InvariantModeCasing.ToUpper(source, destination); else TextInfo.Invariant.ChangeCaseToUpper(source, destination); return source.Length; From 5db42df43e28fc9662e333abed369167dadd2050 Mon Sep 17 00:00:00 2001 From: Tarek Mahmoud Sayed Date: Mon, 12 Jul 2021 10:35:24 -0700 Subject: [PATCH 02/10] Add license header --- .../Tools/InvariantCasing/Program.cs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/coreclr/System.Private.CoreLib/Tools/InvariantCasing/Program.cs b/src/coreclr/System.Private.CoreLib/Tools/InvariantCasing/Program.cs index b99d27609f17e..43066c5db6802 100644 --- a/src/coreclr/System.Private.CoreLib/Tools/InvariantCasing/Program.cs +++ b/src/coreclr/System.Private.CoreLib/Tools/InvariantCasing/Program.cs @@ -1,4 +1,7 @@ -using System; +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System; using System.IO; using System.Globalization; using System.Collections.Generic; @@ -35,7 +38,7 @@ public class Parser private Dictionary upperCasing = new(); private Dictionary lowerCasing = new(); - public void ParseFile(string unicodeFileName) + public void ParseFile(string unicodeFileName) { try { @@ -132,7 +135,7 @@ public void GenerateTables() { GenerateTable8_4_4(upperCasing, out ushort[] u1, out ushort[] u2, out ushort[] u3); GenerateTable8_4_4(lowerCasing, out ushort[] l1, out ushort[] l2, out ushort[] l3); - + WriteTable(u1, "UpperCase1"); WriteTable(u2, "UpperCase2"); WriteTable(u3, "UpperCase3"); From 36dbbc28fbe34c65c278604507bf4101af4417af Mon Sep 17 00:00:00 2001 From: Tarek Mahmoud Sayed Date: Mon, 12 Jul 2021 18:54:03 -0700 Subject: [PATCH 03/10] Address the feedback and optimize data size --- .../GenUnicodeProp/CategoryCasingInfo.cs | 2 +- .../GenUnicodeProp/CharUnicodeInfoData.cs | 2424 +++++++++++++++++ .../Tools/GenUnicodeProp/Program.cs | 4 +- .../InvariantCasing/InvariantCasing.csproj | 9 - .../Tools/InvariantCasing/Program.cs | 262 -- .../System/Text/Unicode/CodePoint.cs | 2 +- .../tests/Invariant/InvariantMode.cs | 2 +- .../System/Globalization/CharUnicodeInfo.cs | 28 + .../Globalization/CharUnicodeInfoData.cs | 2175 ++++++++------- .../Globalization/InvariantModeCasing.cs | 524 +--- .../src/System/Globalization/Ordinal.cs | 2 +- .../System/Globalization/SurrogateCasing.cs | 2 +- 12 files changed, 3654 insertions(+), 1782 deletions(-) create mode 100644 src/coreclr/System.Private.CoreLib/Tools/GenUnicodeProp/CharUnicodeInfoData.cs delete mode 100644 src/coreclr/System.Private.CoreLib/Tools/InvariantCasing/InvariantCasing.csproj delete mode 100644 src/coreclr/System.Private.CoreLib/Tools/InvariantCasing/Program.cs diff --git a/src/coreclr/System.Private.CoreLib/Tools/GenUnicodeProp/CategoryCasingInfo.cs b/src/coreclr/System.Private.CoreLib/Tools/GenUnicodeProp/CategoryCasingInfo.cs index dd76e88d0ebd9..e286188e71b21 100644 --- a/src/coreclr/System.Private.CoreLib/Tools/GenUnicodeProp/CategoryCasingInfo.cs +++ b/src/coreclr/System.Private.CoreLib/Tools/GenUnicodeProp/CategoryCasingInfo.cs @@ -43,7 +43,7 @@ public CategoryCasingInfo(CodePoint codePoint) break; } - if (Program.IncludeCasingData) + if (Program.IncludeCasingData && codePoint.Value != 0x0130 && codePoint.Value != 0x0131 && codePoint.Value != 0x017f) { _data.offsetToSimpleUppercase = (ushort)(codePoint.SimpleUppercaseMapping - codePoint.Value); _data.offsetToSimpleLowercase = (ushort)(codePoint.SimpleLowercaseMapping - codePoint.Value); diff --git a/src/coreclr/System.Private.CoreLib/Tools/GenUnicodeProp/CharUnicodeInfoData.cs b/src/coreclr/System.Private.CoreLib/Tools/GenUnicodeProp/CharUnicodeInfoData.cs new file mode 100644 index 0000000000000..9191ccc491a09 --- /dev/null +++ b/src/coreclr/System.Private.CoreLib/Tools/GenUnicodeProp/CharUnicodeInfoData.cs @@ -0,0 +1,2424 @@ +// 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; + +namespace System.Globalization +{ + public static partial class CharUnicodeInfo + { + // THE FOLLOWING DATA IS AUTO GENERATED BY GenUnicodeProp program UNDER THE TOOLS FOLDER + // PLEASE DON'T MODIFY BY HAND + + [Conditional("DEBUG")] + private static void AssertCategoryCasingTableLevels(int level1BitCount, int level2BitCount, int level3BitCount) + { + // Ensures that the caller expects the same L1:L2:L3 count as the actual backing data. + Debug.Assert(level1BitCount == 11, "Unexpected level 1 bit count."); + Debug.Assert(level2BitCount == 5, "Unexpected level 2 bit count."); + Debug.Assert(level3BitCount == 4, "Unexpected level 3 bit count."); + } + + // 11:5:4 index table of the Unicode category & casing data. + private static ReadOnlySpan CategoryCasingLevel1Index => new byte[2176] + { + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, + 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, + 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1b, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, + 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, + 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1c, + 0x1d, 0x1a, 0x1e, 0x1f, 0x20, 0x21, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, + 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x22, 0x23, 0x23, 0x23, 0x23, + 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x25, 0x26, 0x27, 0x28, + 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, + 0x1a, 0x39, 0x3a, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x1a, 0x1a, 0x3c, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x1a, 0x3d, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x1a, 0x3e, 0x3b, 0x3f, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, + 0x1a, 0x1a, 0x1a, 0x40, 0x1a, 0x1a, 0x41, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x42, 0x43, 0x3b, 0x3b, 0x3b, 0x3b, 0x44, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x3b, 0x3b, + 0x4b, 0x4c, 0x3b, 0x3b, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x3b, 0x57, + 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, + 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, + 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, + 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, + 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, + 0x1a, 0x1a, 0x1a, 0x58, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x59, 0x5a, 0x1a, 0x1a, 0x1a, + 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x5b, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, + 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x5c, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x1a, 0x5d, 0x3b, 0x57, + 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x5e, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x57, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x57, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x57, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x57, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x57, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x57, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x57, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x57, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x57, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x57, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x57, + 0x5f, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, + 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x57, + 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, + 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, + 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, + 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, + 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, + 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, + 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, + 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x61, + 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, + 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, + 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, + 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, + 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, + 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, + 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, + 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x61 + }; + + private static ReadOnlySpan CategoryCasingLevel2Index => new byte[6272] + { + 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00, 0x04, 0x00, 0x05, 0x00, 0x06, 0x00, 0x07, 0x00, + 0x08, 0x00, 0x01, 0x00, 0x09, 0x00, 0x0a, 0x00, 0x0b, 0x00, 0x0c, 0x00, 0x0d, 0x00, 0x0e, 0x00, + 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x10, 0x00, 0x11, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x12, 0x00, + 0x13, 0x00, 0x14, 0x00, 0x15, 0x00, 0x16, 0x00, 0x17, 0x00, 0x18, 0x00, 0x0f, 0x00, 0x19, 0x00, + 0x0f, 0x00, 0x0f, 0x00, 0x1a, 0x00, 0x1b, 0x00, 0x1c, 0x00, 0x1d, 0x00, 0x1e, 0x00, 0x1f, 0x00, + 0x20, 0x00, 0x21, 0x00, 0x22, 0x00, 0x23, 0x00, 0x24, 0x00, 0x25, 0x00, 0x26, 0x00, 0x27, 0x00, + 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x29, 0x00, 0x28, 0x00, 0x28, 0x00, 0x2a, 0x00, + 0x2b, 0x00, 0x2c, 0x00, 0x2d, 0x00, 0x2e, 0x00, 0x2f, 0x00, 0x30, 0x00, 0x0f, 0x00, 0x31, 0x00, + 0x32, 0x00, 0x0b, 0x00, 0x0b, 0x00, 0x0d, 0x00, 0x0d, 0x00, 0x33, 0x00, 0x0f, 0x00, 0x0f, 0x00, + 0x34, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x35, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, + 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x36, 0x00, 0x37, 0x00, 0x38, 0x00, 0x39, 0x00, 0x3a, 0x00, + 0x3b, 0x00, 0x3c, 0x00, 0x28, 0x00, 0x3d, 0x00, 0x3e, 0x00, 0x3f, 0x00, 0x40, 0x00, 0x41, 0x00, + 0x42, 0x00, 0x43, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x44, 0x00, 0x28, 0x00, 0x45, 0x00, 0x46, 0x00, + 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x47, 0x00, 0x48, 0x00, 0x49, 0x00, + 0x4a, 0x00, 0x4b, 0x00, 0x3f, 0x00, 0x28, 0x00, 0x4c, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, + 0x3f, 0x00, 0x3f, 0x00, 0x4d, 0x00, 0x4e, 0x00, 0x4f, 0x00, 0x3f, 0x00, 0x50, 0x00, 0x51, 0x00, + 0x3f, 0x00, 0x52, 0x00, 0x53, 0x00, 0x54, 0x00, 0x3f, 0x00, 0x55, 0x00, 0x56, 0x00, 0x57, 0x00, + 0x57, 0x00, 0x57, 0x00, 0x3f, 0x00, 0x58, 0x00, 0x59, 0x00, 0x5a, 0x00, 0x5b, 0x00, 0x28, 0x00, + 0x5c, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5e, 0x00, 0x5f, 0x00, 0x60, 0x00, 0x61, 0x00, 0x62, 0x00, + 0x63, 0x00, 0x64, 0x00, 0x65, 0x00, 0x66, 0x00, 0x67, 0x00, 0x68, 0x00, 0x69, 0x00, 0x6a, 0x00, + 0x6b, 0x00, 0x64, 0x00, 0x65, 0x00, 0x6c, 0x00, 0x6d, 0x00, 0x6e, 0x00, 0x6f, 0x00, 0x70, 0x00, + 0x71, 0x00, 0x72, 0x00, 0x65, 0x00, 0x73, 0x00, 0x74, 0x00, 0x75, 0x00, 0x69, 0x00, 0x76, 0x00, + 0x77, 0x00, 0x64, 0x00, 0x65, 0x00, 0x78, 0x00, 0x79, 0x00, 0x7a, 0x00, 0x69, 0x00, 0x7b, 0x00, + 0x7c, 0x00, 0x7d, 0x00, 0x7e, 0x00, 0x7f, 0x00, 0x80, 0x00, 0x81, 0x00, 0x6f, 0x00, 0x82, 0x00, + 0x83, 0x00, 0x84, 0x00, 0x65, 0x00, 0x85, 0x00, 0x86, 0x00, 0x87, 0x00, 0x69, 0x00, 0x88, 0x00, + 0x89, 0x00, 0x84, 0x00, 0x65, 0x00, 0x8a, 0x00, 0x8b, 0x00, 0x8c, 0x00, 0x69, 0x00, 0x8d, 0x00, + 0x8e, 0x00, 0x84, 0x00, 0x5d, 0x00, 0x8f, 0x00, 0x90, 0x00, 0x91, 0x00, 0x69, 0x00, 0x92, 0x00, + 0x93, 0x00, 0x94, 0x00, 0x5d, 0x00, 0x95, 0x00, 0x96, 0x00, 0x97, 0x00, 0x6f, 0x00, 0x98, 0x00, + 0x99, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x9a, 0x00, 0x9b, 0x00, 0x9c, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9e, 0x00, 0x5d, 0x00, 0x9f, 0x00, 0xa0, 0x00, 0xa1, 0x00, 0xa2, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0xa3, 0x00, 0xa4, 0x00, 0xa5, 0x00, 0xa6, 0x00, 0xa7, 0x00, 0x5d, 0x00, 0xa8, 0x00, 0xa9, 0x00, + 0xaa, 0x00, 0xab, 0x00, 0x28, 0x00, 0xac, 0x00, 0xad, 0x00, 0xae, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0xaf, 0x00, 0xb0, 0x00, 0xb1, 0x00, 0xb2, 0x00, 0xb3, 0x00, 0xb4, 0x00, + 0xb5, 0x00, 0xb6, 0x00, 0xb7, 0x00, 0xb7, 0x00, 0xb8, 0x00, 0xb9, 0x00, 0xb9, 0x00, 0xba, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xbb, 0x00, 0xbc, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0xbb, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xbd, 0x00, 0xbe, 0x00, 0xbf, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0xbe, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xc0, 0x00, 0xc1, 0x00, 0xc2, 0x00, + 0x5d, 0x00, 0xc3, 0x00, 0xc4, 0x00, 0xc4, 0x00, 0xc4, 0x00, 0xc4, 0x00, 0xc4, 0x00, 0xc5, 0x00, + 0xc6, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xc7, 0x00, 0x5d, 0x00, + 0xc8, 0x00, 0xc9, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xca, 0x00, 0xcb, 0x00, + 0xcc, 0x00, 0xcd, 0x00, 0x5d, 0x00, 0xce, 0x00, 0x5d, 0x00, 0xcf, 0x00, 0xcc, 0x00, 0xd0, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xd1, 0x00, 0xd2, 0x00, 0xd3, 0x00, 0xd4, 0x00, 0xd5, 0x00, + 0xd6, 0x00, 0xd4, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xd7, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xd8, 0x00, + 0xd9, 0x00, 0x5d, 0x00, 0xda, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xdb, 0x00, + 0x5d, 0x00, 0xdc, 0x00, 0xdd, 0x00, 0xde, 0x00, 0xdf, 0x00, 0x5d, 0x00, 0xe0, 0x00, 0xe1, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0xe2, 0x00, 0x5d, 0x00, 0xe3, 0x00, 0xe4, 0x00, 0xe5, 0x00, 0xe5, 0x00, + 0x5d, 0x00, 0xe6, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xe7, 0x00, 0xe8, 0x00, 0xe9, 0x00, + 0xd4, 0x00, 0xd4, 0x00, 0xea, 0x00, 0xeb, 0x00, 0xec, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0xed, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xee, 0x00, 0xef, 0x00, 0xb1, 0x00, 0xf0, 0x00, 0xf1, 0x00, + 0xf2, 0x00, 0x5d, 0x00, 0xf3, 0x00, 0xf4, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xf5, 0x00, 0xf6, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0xf7, 0x00, 0xf8, 0x00, 0xf9, 0x00, 0xf4, 0x00, 0x5d, 0x00, 0xfa, 0x00, + 0xfb, 0x00, 0xfc, 0x00, 0xfc, 0x00, 0xfd, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x00, 0x01, 0x01, 0x01, + 0x22, 0x00, 0x22, 0x00, 0x02, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x04, 0x01, 0x05, 0x01, + 0x06, 0x01, 0x07, 0x01, 0x03, 0x01, 0x03, 0x01, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x08, 0x01, + 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, + 0x0f, 0x00, 0x09, 0x01, 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, + 0x0a, 0x01, 0x0b, 0x01, 0x0a, 0x01, 0x0a, 0x01, 0x0b, 0x01, 0x0c, 0x01, 0x0a, 0x01, 0x0d, 0x01, + 0x0e, 0x01, 0x0e, 0x01, 0x0e, 0x01, 0x0f, 0x01, 0x10, 0x01, 0x11, 0x01, 0x12, 0x01, 0x13, 0x01, + 0x14, 0x01, 0x15, 0x01, 0x16, 0x01, 0x17, 0x01, 0x18, 0x01, 0x19, 0x01, 0x1a, 0x01, 0x1b, 0x01, + 0x1c, 0x01, 0x1d, 0x01, 0x1e, 0x01, 0x1e, 0x01, 0x1f, 0x01, 0x20, 0x01, 0x21, 0x01, 0xec, 0x00, + 0x22, 0x01, 0x23, 0x01, 0x24, 0x01, 0x25, 0x01, 0x26, 0x01, 0x27, 0x01, 0x28, 0x01, 0x29, 0x01, + 0x2a, 0x01, 0x2b, 0x01, 0x2c, 0x01, 0xe5, 0x00, 0x2d, 0x01, 0x2e, 0x01, 0xe5, 0x00, 0x2f, 0x01, + 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, + 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, + 0x31, 0x01, 0xe5, 0x00, 0x32, 0x01, 0x33, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x35, 0x01, + 0xe5, 0x00, 0x36, 0x01, 0x30, 0x01, 0x37, 0x01, 0xe5, 0x00, 0x38, 0x01, 0x39, 0x01, 0xe5, 0x00, + 0xe5, 0x00, 0xe5, 0x00, 0x3a, 0x01, 0x9d, 0x00, 0x3b, 0x01, 0x9d, 0x00, 0x27, 0x01, 0x27, 0x01, + 0x27, 0x01, 0x3c, 0x01, 0x34, 0x01, 0x3d, 0x01, 0x3e, 0x01, 0x3f, 0x01, 0x40, 0x01, 0x27, 0x01, + 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, + 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0x41, 0x01, 0x42, 0x01, 0xe5, 0x00, 0xe5, 0x00, 0x43, 0x01, + 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0x44, 0x01, 0xe5, 0x00, + 0xe5, 0x00, 0xe5, 0x00, 0x45, 0x01, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, + 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0x46, 0x01, 0x47, 0x01, + 0x27, 0x01, 0x48, 0x01, 0xe5, 0x00, 0xe5, 0x00, 0x49, 0x01, 0x30, 0x01, 0x4a, 0x01, 0x30, 0x01, + 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, + 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, + 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, + 0x4b, 0x01, 0x4c, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x4d, 0x01, 0x30, 0x01, 0x4e, 0x01, + 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, + 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, + 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0x30, 0x01, 0x4f, 0x01, 0xe5, 0x00, 0xe5, 0x00, 0x50, 0x01, + 0xe5, 0x00, 0x51, 0x01, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, + 0x37, 0x00, 0x37, 0x00, 0x52, 0x01, 0x3a, 0x00, 0x3a, 0x00, 0x53, 0x01, 0x54, 0x01, 0x55, 0x01, + 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x56, 0x01, 0x57, 0x01, + 0x58, 0x01, 0x58, 0x01, 0x59, 0x01, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5a, 0x01, 0x5b, 0x01, + 0x5d, 0x00, 0x5c, 0x01, 0x5d, 0x01, 0x5d, 0x01, 0x5d, 0x01, 0x5d, 0x01, 0x28, 0x00, 0x28, 0x00, + 0x5e, 0x01, 0x5f, 0x01, 0x60, 0x01, 0x61, 0x01, 0x62, 0x01, 0x63, 0x01, 0x9d, 0x00, 0x9d, 0x00, + 0xe5, 0x00, 0x64, 0x01, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0x65, 0x01, + 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, + 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0x66, 0x01, 0x9d, 0x00, 0x67, 0x01, + 0x68, 0x01, 0x69, 0x01, 0x6a, 0x01, 0x6b, 0x01, 0x99, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x6c, 0x01, 0xc6, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x6d, 0x01, + 0x6e, 0x01, 0x5d, 0x00, 0x5d, 0x00, 0x99, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0xdc, 0x00, 0x6f, 0x01, 0x5d, 0x00, 0x5d, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0x65, 0x01, 0x5d, 0x00, + 0x34, 0x01, 0x70, 0x01, 0x71, 0x01, 0x34, 0x01, 0x72, 0x01, 0x73, 0x01, 0x34, 0x01, 0x74, 0x01, + 0x71, 0x01, 0x34, 0x01, 0x34, 0x01, 0x75, 0x01, 0x76, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, + 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x77, 0x01, + 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x78, 0x01, 0x34, 0x01, 0x79, 0x01, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xa8, 0x00, + 0x5d, 0x00, 0x7a, 0x01, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0xa8, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0x3a, 0x01, 0x5d, 0x00, 0x5d, 0x00, 0xfa, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x7b, 0x01, 0x5d, 0x00, 0x7c, 0x01, 0x9d, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x7d, 0x01, 0x7e, 0x01, + 0x0f, 0x00, 0x7f, 0x01, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x80, 0x01, 0x81, 0x01, + 0x27, 0x00, 0x82, 0x01, 0x83, 0x01, 0x84, 0x01, 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x85, 0x01, + 0x86, 0x01, 0x87, 0x01, 0x88, 0x01, 0x89, 0x01, 0x8a, 0x01, 0x9d, 0x00, 0x9d, 0x00, 0x8b, 0x01, + 0x8c, 0x01, 0x5d, 0x00, 0x8d, 0x01, 0x8e, 0x01, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x8f, 0x01, + 0x90, 0x01, 0x5d, 0x00, 0x5d, 0x00, 0x91, 0x01, 0x92, 0x01, 0xd4, 0x00, 0x28, 0x00, 0x93, 0x01, + 0xf4, 0x00, 0x5d, 0x00, 0x94, 0x01, 0x5d, 0x00, 0x95, 0x01, 0x96, 0x01, 0x5d, 0x00, 0xa8, 0x00, + 0x5c, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x97, 0x01, 0x98, 0x01, 0x99, 0x01, 0x9a, 0x01, 0x9b, 0x01, + 0x5d, 0x00, 0x5d, 0x00, 0x9c, 0x01, 0x9d, 0x01, 0x9e, 0x01, 0x9f, 0x01, 0x5d, 0x00, 0xa0, 0x01, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xa1, 0x01, 0xa2, 0x01, 0xa3, 0x01, 0xa4, 0x01, 0xa5, 0x01, + 0xa6, 0x01, 0xa7, 0x01, 0x5d, 0x01, 0x22, 0x00, 0x22, 0x00, 0xa8, 0x01, 0xa9, 0x01, 0xaa, 0x01, + 0xaa, 0x01, 0xaa, 0x01, 0xaa, 0x01, 0xaa, 0x01, 0x5d, 0x00, 0x5d, 0x00, 0xab, 0x01, 0xd4, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0xac, 0x01, 0x5d, 0x00, 0xad, 0x01, 0x5d, 0x00, 0x5d, 0x00, 0xe2, 0x00, + 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, + 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, + 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, + 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, + 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, + 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, + 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, + 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, + 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, + 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xe0, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xe3, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0xb0, 0x01, 0xb1, 0x01, 0xb2, 0x01, 0xb3, 0x01, 0xb4, 0x01, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, + 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0xb5, 0x01, 0xb6, 0x01, 0xb7, 0x01, 0x3f, 0x00, 0x3f, 0x00, + 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, + 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, + 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0xb8, 0x01, 0x57, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, + 0x3f, 0x00, 0xb9, 0x01, 0x3f, 0x00, 0x3f, 0x00, 0x59, 0x00, 0x1f, 0x01, 0x1f, 0x01, 0xba, 0x01, + 0x28, 0x00, 0xbb, 0x01, 0x28, 0x00, 0xbc, 0x01, 0xbd, 0x01, 0xbe, 0x01, 0xbf, 0x01, 0x58, 0x00, + 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0xc0, 0x01, + 0xc1, 0x01, 0x03, 0x00, 0x04, 0x00, 0x05, 0x00, 0x06, 0x00, 0xc2, 0x01, 0xc3, 0x01, 0xc4, 0x01, + 0x5d, 0x00, 0xc5, 0x01, 0x5d, 0x00, 0xdc, 0x00, 0xc6, 0x01, 0xc7, 0x01, 0xc8, 0x01, 0xc9, 0x01, + 0xca, 0x01, 0x5d, 0x00, 0xbf, 0x00, 0xcb, 0x01, 0xe0, 0x00, 0xe0, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xcc, 0x01, + 0xcd, 0x01, 0xce, 0x01, 0xce, 0x01, 0xcf, 0x01, 0xd0, 0x01, 0xd0, 0x01, 0xd0, 0x01, 0xd1, 0x01, + 0xd2, 0x01, 0xd3, 0x01, 0xd4, 0x01, 0x9d, 0x00, 0x9d, 0x00, 0x34, 0x01, 0x34, 0x01, 0xd5, 0x01, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x5d, 0x00, 0xa8, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x75, 0x00, 0xd6, 0x01, 0xd7, 0x01, + 0x5d, 0x00, 0x5d, 0x00, 0xd8, 0x01, 0x5d, 0x00, 0xd9, 0x01, 0x5d, 0x00, 0x5d, 0x00, 0xda, 0x01, + 0x5d, 0x00, 0xdb, 0x01, 0x5d, 0x00, 0x5d, 0x00, 0xdc, 0x01, 0xdd, 0x01, 0x9d, 0x00, 0x9d, 0x00, + 0xde, 0x01, 0xde, 0x01, 0xdf, 0x01, 0xe0, 0x01, 0xe0, 0x01, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0xe0, 0x00, 0xd4, 0x00, 0xde, 0x01, 0xde, 0x01, 0xe1, 0x01, 0xe0, 0x01, 0xe2, 0x01, + 0x5d, 0x00, 0x5d, 0x00, 0xe3, 0x01, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xe4, 0x01, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5c, 0x01, 0x5d, 0x00, 0xdb, 0x00, 0xe3, 0x01, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0xe5, 0x01, 0x3f, 0x00, 0x3f, 0x00, 0xe6, 0x01, 0x3f, 0x00, 0xe7, 0x01, 0x3f, 0x00, 0xe8, 0x01, + 0x3f, 0x00, 0xe9, 0x01, 0xea, 0x01, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x3f, 0x00, 0xeb, 0x01, + 0x3f, 0x00, 0xec, 0x01, 0x3f, 0x00, 0xed, 0x01, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, + 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0xee, 0x01, 0xef, 0x01, 0xf0, 0x01, 0xef, 0x01, 0xef, 0x01, + 0xf1, 0x01, 0xf2, 0x01, 0x3f, 0x00, 0xf3, 0x01, 0xf4, 0x01, 0xf5, 0x01, 0x3f, 0x00, 0xf6, 0x01, + 0x3f, 0x00, 0xf7, 0x01, 0x57, 0x00, 0x57, 0x00, 0xf8, 0x01, 0x3f, 0x00, 0xf9, 0x01, 0xfa, 0x01, + 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0xfb, 0x01, 0x3f, 0x00, 0xfc, 0x01, 0x3f, 0x00, 0xfd, 0x01, + 0x3f, 0x00, 0xfe, 0x01, 0xff, 0x01, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, + 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x00, 0x02, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, + 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x02, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x04, 0x02, + 0x3f, 0x00, 0x3f, 0x00, 0x05, 0x02, 0x06, 0x02, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, + 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, + 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x27, 0x01, 0x07, 0x02, + 0x3f, 0x00, 0x3f, 0x00, 0x08, 0x02, 0x09, 0x02, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, + 0x3f, 0x00, 0xf7, 0x01, 0x0a, 0x02, 0x3f, 0x00, 0x4d, 0x00, 0x0b, 0x02, 0x57, 0x00, 0x57, 0x00, + 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x3f, 0x00, 0x0c, 0x02, 0x57, 0x00, 0x3f, 0x00, 0x0d, 0x02, + 0x0e, 0x02, 0x5d, 0x00, 0x5d, 0x00, 0x0f, 0x02, 0x10, 0x02, 0x11, 0x02, 0x12, 0x02, 0x13, 0x02, + 0xf2, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x14, 0x02, 0x15, 0x02, 0x5d, 0x00, 0xd8, 0x00, 0xd4, 0x00, + 0x16, 0x02, 0x5d, 0x00, 0x17, 0x02, 0x18, 0x02, 0x19, 0x02, 0x5d, 0x00, 0x5d, 0x00, 0x1a, 0x02, + 0xf2, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x1b, 0x02, 0x1c, 0x02, 0x1d, 0x02, 0x1e, 0x02, 0x1f, 0x02, + 0x5d, 0x00, 0x72, 0x00, 0x20, 0x02, 0x21, 0x02, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x22, 0x02, 0x23, 0x02, 0x24, 0x02, 0x5d, 0x00, 0x5d, 0x00, 0x25, 0x02, 0x26, 0x02, 0xd4, 0x00, + 0x27, 0x02, 0x64, 0x00, 0x65, 0x00, 0x28, 0x02, 0x29, 0x02, 0x2a, 0x02, 0x2b, 0x02, 0x2c, 0x02, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x2d, 0x02, 0x2e, 0x02, 0x2f, 0x02, 0x30, 0x02, 0x9d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x31, 0x02, 0x32, 0x02, 0xd4, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x33, 0x02, 0x34, 0x02, 0x35, 0x02, 0x36, 0x02, 0x9d, 0x00, 0x9d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x37, 0x02, 0x38, 0x02, 0xd4, 0x00, 0x39, 0x02, 0x9d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x3a, 0x02, 0x3b, 0x02, 0xd4, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x5d, 0x00, 0xc0, 0x00, 0x3c, 0x02, 0x3d, 0x02, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x20, 0x02, 0x3e, 0x02, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x0b, 0x00, 0x0b, 0x00, 0x0d, 0x00, 0x0d, 0x00, 0xa5, 0x00, 0x3f, 0x02, + 0x40, 0x02, 0x41, 0x02, 0x5d, 0x00, 0x42, 0x02, 0x43, 0x02, 0xd4, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x44, 0x02, 0x5d, 0x00, 0x5d, 0x00, 0x45, 0x02, 0x46, 0x02, 0x9d, 0x00, + 0x47, 0x02, 0x5d, 0x00, 0x5d, 0x00, 0x48, 0x02, 0x49, 0x02, 0x4a, 0x02, 0x5d, 0x00, 0x5d, 0x00, + 0x4b, 0x02, 0x4c, 0x02, 0x4d, 0x02, 0x9d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xd8, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x65, 0x00, 0x5d, 0x00, 0x33, 0x02, 0x4e, 0x02, 0x4f, 0x02, 0xa5, 0x00, 0xc2, 0x00, 0x50, 0x02, + 0x5d, 0x00, 0x51, 0x02, 0x52, 0x02, 0x53, 0x02, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x54, 0x02, 0x5d, 0x00, 0x5d, 0x00, 0x55, 0x02, 0x56, 0x02, 0xd4, 0x00, 0x57, 0x02, 0x5d, 0x00, + 0x58, 0x02, 0x59, 0x02, 0xd4, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x5d, 0x00, 0x5a, 0x02, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x75, 0x00, 0xce, 0x01, 0x5b, 0x02, 0x5c, 0x02, 0x5d, 0x02, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0xe3, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x5e, 0x02, 0x5e, 0x02, 0x5e, 0x02, 0x5e, 0x02, 0x5e, 0x02, 0x5e, 0x02, 0x5f, 0x02, 0x60, 0x02, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xac, 0x01, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0xdc, 0x00, 0x61, 0x02, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5c, 0x01, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xd8, 0x00, 0x5d, 0x00, 0xdc, 0x00, 0x99, 0x01, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x5d, 0x00, 0xe0, 0x00, 0x62, 0x02, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x63, 0x02, 0x64, 0x02, 0x65, 0x02, 0x66, 0x02, 0x67, 0x02, + 0x5d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x0b, 0x00, 0x0b, 0x00, 0x0d, 0x00, 0x0d, 0x00, + 0xce, 0x01, 0x68, 0x02, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x69, 0x02, 0x6a, 0x02, 0x6b, 0x02, 0x6b, 0x02, + 0x6c, 0x02, 0x6d, 0x02, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x6e, 0x02, 0x6f, 0x02, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xe3, 0x01, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xdb, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0xd8, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0xdc, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x70, 0x02, 0x71, 0x02, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xe2, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xcc, 0x01, 0xa8, 0x00, + 0xd8, 0x00, 0x72, 0x02, 0x73, 0x02, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, + 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x74, 0x02, + 0x34, 0x01, 0x34, 0x01, 0x75, 0x02, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x76, 0x02, 0x77, 0x02, + 0x78, 0x02, 0x34, 0x01, 0x79, 0x02, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x7a, 0x02, 0x9d, 0x00, + 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0x7b, 0x02, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0xce, 0x01, 0x7c, 0x02, + 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0x3a, 0x01, 0xce, 0x01, 0x7d, 0x02, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x7e, 0x02, 0x7f, 0x02, 0x22, 0x00, 0x80, 0x02, 0x81, 0x02, 0x82, 0x02, 0x83, 0x02, 0x7e, 0x02, + 0x84, 0x02, 0x85, 0x02, 0x86, 0x02, 0x87, 0x02, 0x88, 0x02, 0x7e, 0x02, 0x7f, 0x02, 0x22, 0x00, + 0x89, 0x02, 0x8a, 0x02, 0x22, 0x00, 0x8b, 0x02, 0x8c, 0x02, 0x8d, 0x02, 0x8e, 0x02, 0x7e, 0x02, + 0x8f, 0x02, 0x22, 0x00, 0x7e, 0x02, 0x7f, 0x02, 0x22, 0x00, 0x80, 0x02, 0x81, 0x02, 0x22, 0x00, + 0x83, 0x02, 0x7e, 0x02, 0x84, 0x02, 0x8e, 0x02, 0x7e, 0x02, 0x8f, 0x02, 0x22, 0x00, 0x7e, 0x02, + 0x7f, 0x02, 0x22, 0x00, 0x90, 0x02, 0x7e, 0x02, 0x91, 0x02, 0x92, 0x02, 0x93, 0x02, 0x94, 0x02, + 0x22, 0x00, 0x95, 0x02, 0x7e, 0x02, 0x96, 0x02, 0x97, 0x02, 0x98, 0x02, 0x99, 0x02, 0x22, 0x00, + 0x9a, 0x02, 0x7e, 0x02, 0x9b, 0x02, 0x22, 0x00, 0x9c, 0x02, 0x9d, 0x02, 0x9d, 0x02, 0x9d, 0x02, + 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, + 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, + 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, + 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, + 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x9e, 0x02, 0x28, 0x00, 0x28, 0x00, 0x9f, 0x02, 0xa0, 0x02, + 0xa1, 0x02, 0xa2, 0x02, 0xa3, 0x02, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0xa4, 0x02, 0xa5, 0x02, 0xa6, 0x02, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0xa8, 0x00, 0xa7, 0x02, 0xa8, 0x02, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xa9, 0x02, 0xaa, 0x02, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, + 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0xab, 0x02, 0xac, 0x02, 0x57, 0x00, 0x57, 0x00, + 0xad, 0x02, 0xad, 0x02, 0xae, 0x02, 0xaf, 0x02, 0xb0, 0x02, 0xb1, 0x02, 0x57, 0x00, 0x57, 0x00, + 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, + 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, + 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, + 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, + 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, + 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0xb2, 0x02, + 0xef, 0x01, 0xef, 0x01, 0xb3, 0x02, 0xb4, 0x02, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, + 0xb2, 0x02, 0xef, 0x01, 0xb5, 0x02, 0xb6, 0x02, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, + 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, + 0xb7, 0x02, 0x3f, 0x00, 0xb8, 0x02, 0xb9, 0x02, 0xba, 0x02, 0xbb, 0x02, 0xbc, 0x02, 0xbd, 0x02, + 0xbe, 0x02, 0xbf, 0x02, 0xc0, 0x02, 0xbf, 0x02, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0xc1, 0x02, + 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, + 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, + 0xe5, 0x00, 0xe5, 0x00, 0x67, 0x01, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, + 0xe5, 0x00, 0x65, 0x01, 0xc2, 0x02, 0xc3, 0x02, 0xc3, 0x02, 0xc3, 0x02, 0xe5, 0x00, 0x66, 0x01, + 0xc4, 0x02, 0x34, 0x01, 0x79, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0xc5, 0x02, 0x34, 0x01, + 0x34, 0x01, 0x34, 0x01, 0xc6, 0x02, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0xc7, 0x02, 0x34, 0x01, + 0xc8, 0x02, 0x34, 0x01, 0x34, 0x01, 0xc9, 0x02, 0x7a, 0x02, 0xca, 0x02, 0x66, 0x01, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, + 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xcb, 0x02, + 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, + 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, + 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, + 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, + 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, + 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xcc, 0x02, 0xd3, 0x01, 0xd3, 0x01, + 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0x65, 0x01, + 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xcd, 0x02, 0x67, 0x01, 0x9d, 0x00, + 0x67, 0x01, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xcc, 0x02, 0xc3, 0x00, 0xe5, 0x00, 0xe5, 0x00, + 0xcc, 0x02, 0xe5, 0x00, 0xce, 0x02, 0xcf, 0x02, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xd0, 0x02, + 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xd1, 0x02, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, + 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0x65, 0x01, 0xce, 0x02, 0xd2, 0x02, + 0x3a, 0x01, 0xe5, 0x00, 0xcd, 0x02, 0x3a, 0x01, 0xd3, 0x02, 0x3a, 0x01, 0x9d, 0x00, 0x9d, 0x00, + 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, + 0xe5, 0x00, 0xd4, 0x02, 0xe5, 0x00, 0xe5, 0x00, 0x3b, 0x01, 0x9d, 0x00, 0x9d, 0x00, 0xd5, 0x02, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0xd6, 0x02, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xe0, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xe1, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0xe0, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x30, 0x02, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x75, 0x00, 0x9d, 0x00, + 0x5d, 0x00, 0xe0, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xcc, 0x01, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0xd7, 0x02, 0x1f, 0x01, 0xd8, 0x02, 0xd8, 0x02, 0xd8, 0x02, 0xd8, 0x02, 0xd8, 0x02, 0xd8, 0x02, + 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, + 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, + 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x1f, 0x01, + 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, + 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, + 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, + 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, + 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, + 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, + 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, + 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xd9, 0x02 + }; + + private static ReadOnlySpan CategoryCasingLevel3Index => new byte[11680] + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x03, 0x03, 0x03, 0x04, 0x03, 0x03, 0x03, 0x05, 0x06, 0x03, 0x07, 0x03, 0x08, 0x03, 0x03, + 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x03, 0x03, 0x07, 0x07, 0x07, 0x03, + 0x03, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x05, 0x03, 0x06, 0x0b, 0x0c, + 0x0b, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x05, 0x07, 0x06, 0x07, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x03, 0x04, 0x04, 0x04, 0x04, 0x0e, 0x03, 0x0b, 0x0e, 0x0f, 0x10, 0x07, 0x11, 0x0e, 0x0b, + 0x0e, 0x07, 0x12, 0x12, 0x0b, 0x13, 0x03, 0x03, 0x0b, 0x12, 0x0f, 0x14, 0x12, 0x12, 0x12, 0x03, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x07, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x15, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x07, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x16, + 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, + 0x19, 0x15, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x15, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, + 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x15, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, + 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x1a, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x15, + 0x1b, 0x1c, 0x17, 0x18, 0x17, 0x18, 0x1d, 0x17, 0x18, 0x1e, 0x1e, 0x17, 0x18, 0x15, 0x1f, 0x20, + 0x21, 0x17, 0x18, 0x1e, 0x22, 0x23, 0x24, 0x25, 0x17, 0x18, 0x26, 0x15, 0x24, 0x27, 0x28, 0x29, + 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x2a, 0x17, 0x18, 0x2a, 0x15, 0x15, 0x17, 0x18, 0x2a, 0x17, + 0x18, 0x2b, 0x2b, 0x17, 0x18, 0x17, 0x18, 0x2c, 0x17, 0x18, 0x15, 0x0f, 0x17, 0x18, 0x15, 0x2d, + 0x0f, 0x0f, 0x0f, 0x0f, 0x2e, 0x2f, 0x30, 0x2e, 0x2f, 0x30, 0x2e, 0x2f, 0x30, 0x17, 0x18, 0x17, + 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x31, 0x17, 0x18, + 0x15, 0x2e, 0x2f, 0x30, 0x17, 0x18, 0x32, 0x33, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, + 0x34, 0x15, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, + 0x17, 0x18, 0x17, 0x18, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x35, 0x17, 0x18, 0x36, 0x37, 0x38, + 0x38, 0x17, 0x18, 0x39, 0x3a, 0x3b, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, + 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x15, 0x41, 0x41, 0x15, 0x42, 0x15, 0x43, 0x44, 0x15, 0x15, 0x15, + 0x41, 0x45, 0x15, 0x46, 0x15, 0x47, 0x48, 0x15, 0x49, 0x4a, 0x48, 0x4b, 0x4c, 0x15, 0x15, 0x4a, + 0x15, 0x4d, 0x4e, 0x15, 0x15, 0x4f, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x50, 0x15, 0x15, + 0x51, 0x15, 0x52, 0x51, 0x15, 0x15, 0x15, 0x53, 0x51, 0x54, 0x55, 0x55, 0x56, 0x15, 0x15, 0x15, + 0x15, 0x15, 0x57, 0x15, 0x0f, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x58, 0x59, 0x15, + 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, + 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5b, 0x5b, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, + 0x5a, 0x5a, 0x0b, 0x0b, 0x0b, 0x0b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, + 0x5a, 0x5a, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, + 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x5b, 0x0b, 0x5a, 0x0b, + 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5d, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, + 0x17, 0x18, 0x17, 0x18, 0x5b, 0x0b, 0x17, 0x18, 0x5e, 0x5e, 0x5a, 0x28, 0x28, 0x28, 0x03, 0x5f, + 0x5e, 0x5e, 0x5e, 0x5e, 0x0b, 0x0b, 0x60, 0x03, 0x61, 0x61, 0x61, 0x5e, 0x62, 0x5e, 0x63, 0x63, + 0x15, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x5e, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x64, 0x65, 0x65, 0x65, + 0x15, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x66, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x67, 0x68, 0x68, 0x69, + 0x6a, 0x6b, 0x19, 0x19, 0x19, 0x6c, 0x6d, 0x6e, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, + 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, 0x07, 0x17, 0x18, 0x75, 0x17, 0x18, 0x15, 0x34, 0x34, 0x34, + 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, + 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, + 0x17, 0x18, 0x78, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x79, 0x79, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, + 0x7a, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x7b, + 0x5e, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, + 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, + 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x5e, 0x5e, 0x5a, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, + 0x15, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, + 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, + 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x15, 0x15, 0x7d, 0x08, 0x5e, 0x5e, 0x0e, 0x0e, 0x04, + 0x7f, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x80, 0x5c, + 0x81, 0x5c, 0x5c, 0x81, 0x5c, 0x5c, 0x81, 0x5c, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x7f, 0x7f, 0x7f, 0x82, + 0x82, 0x82, 0x82, 0x81, 0x81, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, + 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x07, 0x07, 0x83, 0x03, 0x03, 0x84, 0x03, 0x81, 0x0e, 0x0e, + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x81, 0x85, 0x7f, 0x81, 0x81, + 0x86, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, + 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x03, 0x03, 0x03, 0x81, 0x82, 0x82, + 0x5c, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, + 0x82, 0x82, 0x82, 0x82, 0x81, 0x82, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x11, 0x0e, 0x5c, + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x86, 0x86, 0x5c, 0x5c, 0x0e, 0x5c, 0x5c, 0x5c, 0x5c, 0x82, 0x82, + 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x82, 0x82, 0x82, 0x87, 0x87, 0x82, + 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x7f, 0x85, + 0x82, 0x5c, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x7f, 0x7f, 0x82, 0x82, 0x82, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, + 0x5c, 0x82, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, + 0x5c, 0x5c, 0x5c, 0x5c, 0x86, 0x86, 0x0e, 0x03, 0x03, 0x03, 0x86, 0x7f, 0x7f, 0x5c, 0x84, 0x84, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x5c, 0x5c, 0x5c, 0x5c, 0x86, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, + 0x5c, 0x5c, 0x5c, 0x5c, 0x86, 0x5c, 0x5c, 0x5c, 0x86, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x7f, 0x7f, + 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x7f, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x5c, 0x5c, 0x5c, 0x7f, 0x7f, 0x81, 0x7f, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, + 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, + 0x7f, 0x7f, 0x7f, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, + 0x5c, 0x5c, 0x11, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, + 0x5c, 0x5c, 0x5c, 0x89, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x89, 0x5c, 0x0f, 0x89, 0x89, + 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, 0x89, 0x89, 0x89, 0x5c, 0x89, 0x89, + 0x0f, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x5c, 0x5c, 0x7d, 0x7d, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, + 0x7d, 0x5a, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x5c, 0x89, 0x89, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x0f, + 0x0f, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x5e, 0x0f, 0x5e, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5c, 0x0f, 0x89, 0x89, + 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x5e, 0x89, 0x89, 0x5e, 0x5e, 0x89, 0x89, 0x5c, 0x0f, 0x5e, + 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x89, 0x5e, 0x5e, 0x5e, 0x5e, 0x0f, 0x0f, 0x5e, 0x0f, + 0x0f, 0x0f, 0x5c, 0x5c, 0x5e, 0x5e, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, + 0x0f, 0x0f, 0x04, 0x04, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x78, 0x04, 0x0f, 0x7d, 0x5c, 0x5e, + 0x5e, 0x5c, 0x5c, 0x89, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x0f, + 0x0f, 0x5e, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x5e, 0x5e, 0x5c, 0x5e, 0x89, 0x89, + 0x89, 0x5c, 0x5c, 0x5e, 0x5e, 0x5e, 0x5e, 0x5c, 0x5c, 0x5e, 0x5e, 0x5c, 0x5c, 0x5c, 0x5e, 0x5e, + 0x5e, 0x5c, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, 0x5e, + 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, + 0x5c, 0x5c, 0x0f, 0x0f, 0x0f, 0x5c, 0x7d, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x5e, 0x5c, 0x5c, 0x89, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, + 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x5e, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5c, 0x0f, 0x89, 0x89, + 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x5c, 0x5c, 0x89, 0x5e, 0x89, 0x89, 0x5c, 0x5e, 0x5e, + 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x7d, 0x04, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x0f, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, + 0x5e, 0x5c, 0x89, 0x89, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x0f, + 0x0f, 0x5e, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5c, 0x0f, 0x89, 0x5c, + 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x5e, 0x89, 0x89, 0x5e, 0x5e, 0x89, 0x89, 0x5c, 0x5e, 0x5e, + 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5c, 0x5c, 0x89, 0x5e, 0x5e, 0x5e, 0x5e, 0x0f, 0x0f, 0x5e, 0x0f, + 0x78, 0x0f, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x5e, 0x5e, 0x5c, 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x0f, 0x0f, + 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x0f, 0x0f, 0x5e, 0x0f, 0x5e, 0x0f, 0x0f, + 0x5e, 0x5e, 0x5e, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x89, 0x89, + 0x5c, 0x89, 0x89, 0x5e, 0x5e, 0x5e, 0x89, 0x89, 0x89, 0x5e, 0x89, 0x89, 0x89, 0x5c, 0x5e, 0x5e, + 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x89, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x8b, 0x8b, 0x8b, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x04, 0x0e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x5c, 0x89, 0x89, 0x89, 0x5c, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, + 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x0f, 0x5c, 0x5c, + 0x5c, 0x89, 0x89, 0x89, 0x89, 0x5e, 0x5c, 0x5c, 0x5c, 0x5e, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x5e, + 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5c, 0x5c, 0x5e, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x7d, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x78, + 0x0f, 0x5c, 0x89, 0x89, 0x7d, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5c, 0x0f, 0x89, 0x8c, + 0x89, 0x89, 0x89, 0x89, 0x89, 0x5e, 0x8c, 0x89, 0x89, 0x5e, 0x89, 0x89, 0x5c, 0x5c, 0x5e, 0x5e, + 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x89, 0x89, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x0f, 0x5e, + 0x5e, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x5c, 0x5c, 0x89, 0x89, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x5c, 0x0f, 0x89, 0x89, + 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x89, 0x89, 0x89, 0x5e, 0x89, 0x89, 0x89, 0x5c, 0x0f, 0x78, + 0x5e, 0x5e, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, 0x89, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x0f, + 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x78, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x5e, 0x5c, 0x89, 0x89, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5c, 0x5e, 0x5e, 0x5e, 0x5e, 0x89, + 0x89, 0x89, 0x5c, 0x5c, 0x5c, 0x5e, 0x5c, 0x5e, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, + 0x5e, 0x5e, 0x89, 0x89, 0x7d, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x5c, 0x0f, 0x0f, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x5e, 0x5e, 0x5e, 0x04, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5a, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x7d, + 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x7d, 0x7d, 0x5e, 0x5e, 0x5e, 0x5e, + 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x5e, 0x0f, 0x0f, 0x5e, 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x5c, 0x0f, 0x0f, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x0f, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5a, 0x5e, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x5e, + 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x78, 0x78, 0x78, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, + 0x7d, 0x7d, 0x7d, 0x78, 0x7d, 0x78, 0x78, 0x78, 0x5c, 0x5c, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, + 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, + 0x8b, 0x8b, 0x8b, 0x8b, 0x78, 0x5c, 0x78, 0x5c, 0x78, 0x5c, 0x05, 0x06, 0x05, 0x06, 0x89, 0x89, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, + 0x5e, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x7d, 0x5c, 0x5c, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x5c, 0x5c, + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x78, 0x78, + 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x5c, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x5e, 0x78, 0x78, + 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x78, 0x78, 0x78, 0x78, 0x7d, 0x7d, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x89, 0x89, 0x5c, 0x5c, 0x5c, + 0x5c, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, 0x5c, 0x5c, 0x89, 0x89, 0x5c, 0x5c, 0x0f, + 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x89, 0x89, 0x5c, 0x5c, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x5c, + 0x5c, 0x0f, 0x89, 0x89, 0x89, 0x0f, 0x0f, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x0f, 0x0f, + 0x0f, 0x5c, 0x5c, 0x5c, 0x5c, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x5c, 0x89, 0x89, 0x5c, 0x5c, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x5c, 0x0f, 0x89, + 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x89, 0x89, 0x89, 0x5c, 0x78, 0x78, + 0x8d, 0x8d, 0x8d, 0x8d, 0x8d, 0x8d, 0x8d, 0x8d, 0x8d, 0x8d, 0x8d, 0x8d, 0x8d, 0x8d, 0x8d, 0x8d, + 0x8d, 0x8d, 0x8d, 0x8d, 0x8d, 0x8d, 0x5e, 0x8d, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x8d, 0x5e, 0x5e, + 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, + 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x7d, 0x5a, 0x8e, 0x8e, 0x8e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, + 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, + 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5c, 0x5c, 0x5c, + 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, + 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x5e, 0x5e, 0x5e, + 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x8f, 0x8f, 0x8f, 0x8f, 0x8f, 0x8f, 0x8f, 0x8f, 0x8f, 0x8f, 0x8f, 0x8f, 0x8f, 0x8f, 0x8f, 0x8f, + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x5e, 0x5e, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x5e, 0x5e, + 0x08, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x78, 0x7d, 0x0f, + 0x02, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x05, 0x06, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x7d, 0x7d, 0x7d, 0x92, 0x92, + 0x92, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, + 0x0f, 0x0f, 0x5c, 0x5c, 0x5c, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x5c, 0x5c, 0x5c, 0x7d, 0x7d, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x5c, 0x5c, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x5e, 0x5c, 0x5c, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x5c, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, 0x89, + 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x5c, 0x89, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, + 0x5c, 0x5c, 0x5c, 0x5c, 0x7d, 0x7d, 0x7d, 0x5a, 0x7d, 0x7d, 0x7d, 0x04, 0x0f, 0x5c, 0x5e, 0x5e, + 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x08, 0x03, 0x03, 0x03, 0x03, 0x5c, 0x5c, 0x5c, 0x11, 0x5e, + 0x0f, 0x0f, 0x0f, 0x5a, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x5c, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, + 0x5c, 0x5c, 0x5c, 0x89, 0x89, 0x89, 0x89, 0x5c, 0x5c, 0x89, 0x89, 0x89, 0x5e, 0x5e, 0x5e, 0x5e, + 0x89, 0x89, 0x5c, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x5c, 0x5c, 0x5c, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0e, 0x5e, 0x5e, 0x5e, 0x03, 0x03, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8b, 0x5e, 0x5e, 0x5e, 0x0e, 0x0e, + 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x5c, 0x89, 0x89, 0x5c, 0x5e, 0x5e, 0x7d, 0x7d, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x89, 0x5c, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, + 0x5c, 0x89, 0x5c, 0x89, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, 0x89, 0x89, + 0x89, 0x89, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x5e, 0x5c, + 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x5a, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x5e, 0x5e, + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x79, 0x5c, + 0x5c, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x5c, 0x5c, 0x5c, 0x5c, 0x89, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, 0x5c, 0x89, 0x89, 0x89, + 0x89, 0x89, 0x5c, 0x89, 0x89, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, + 0x7d, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, + 0x5c, 0x5c, 0x5c, 0x5c, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x5e, 0x5e, 0x5e, + 0x5c, 0x5c, 0x89, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, 0x89, 0x5c, 0x5c, 0x89, 0x5c, 0x5c, 0x5c, 0x0f, 0x0f, + 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x89, 0x5c, 0x5c, 0x89, 0x89, 0x89, 0x5c, 0x89, 0x5c, + 0x5c, 0x5c, 0x89, 0x89, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x7d, 0x7d, 0x7d, 0x7d, + 0x0f, 0x0f, 0x0f, 0x0f, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, + 0x5c, 0x5c, 0x5c, 0x5c, 0x89, 0x89, 0x5c, 0x5c, 0x5e, 0x5e, 0x5e, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, + 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x5e, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x7d, 0x7d, + 0x93, 0x94, 0x95, 0x96, 0x96, 0x97, 0x98, 0x99, 0x9a, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, + 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x5e, 0x5e, 0x9b, 0x9b, 0x9b, + 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x5c, 0x5c, 0x5c, 0x7d, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, + 0x5c, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x0f, 0x0f, 0x89, 0x5c, 0x5c, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x5a, 0x5a, 0x5a, 0x5a, + 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, + 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x15, 0x15, 0x15, 0x15, 0x15, + 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x5a, 0x9c, 0x15, 0x15, 0x15, 0x9d, 0x15, 0x15, + 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x9e, 0x15, + 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, + 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x15, 0x15, 0x15, 0x15, 0x15, 0x9f, 0x15, 0x15, 0xa0, 0x15, + 0xa1, 0xa1, 0xa1, 0xa1, 0xa1, 0xa1, 0xa1, 0xa1, 0xa2, 0xa2, 0xa2, 0xa2, 0xa2, 0xa2, 0xa2, 0xa2, + 0xa1, 0xa1, 0xa1, 0xa1, 0xa1, 0xa1, 0x5e, 0x5e, 0xa2, 0xa2, 0xa2, 0xa2, 0xa2, 0xa2, 0x5e, 0x5e, + 0x15, 0xa1, 0x15, 0xa1, 0x15, 0xa1, 0x15, 0xa1, 0x5e, 0xa2, 0x5e, 0xa2, 0x5e, 0xa2, 0x5e, 0xa2, + 0xa3, 0xa3, 0xa4, 0xa4, 0xa4, 0xa4, 0xa5, 0xa5, 0xa6, 0xa6, 0xa7, 0xa7, 0xa8, 0xa8, 0x5e, 0x5e, + 0xa1, 0xa1, 0xa1, 0xa1, 0xa1, 0xa1, 0xa1, 0xa1, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, + 0xa1, 0xa1, 0x15, 0xaa, 0x15, 0x5e, 0x15, 0x15, 0xa2, 0xa2, 0xab, 0xab, 0xac, 0x0b, 0xad, 0x0b, + 0x0b, 0x0b, 0x15, 0xaa, 0x15, 0x5e, 0x15, 0x15, 0xae, 0xae, 0xae, 0xae, 0xac, 0x0b, 0x0b, 0x0b, + 0xa1, 0xa1, 0x15, 0x15, 0x5e, 0x5e, 0x15, 0x15, 0xa2, 0xa2, 0xaf, 0xaf, 0x5e, 0x0b, 0x0b, 0x0b, + 0xa1, 0xa1, 0x15, 0x15, 0x15, 0x71, 0x15, 0x15, 0xa2, 0xa2, 0xb0, 0xb0, 0x75, 0x0b, 0x0b, 0x0b, + 0x5e, 0x5e, 0x15, 0xaa, 0x15, 0x5e, 0x15, 0x15, 0xb1, 0xb1, 0xb2, 0xb2, 0xac, 0x0b, 0x0b, 0x5e, + 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x11, 0x11, 0x11, 0xb3, 0x85, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x03, 0x03, 0x10, 0x14, 0x05, 0x10, 0x10, 0x14, 0x05, 0x10, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0xb4, 0xb5, 0x11, 0x11, 0x11, 0x11, 0x11, 0x02, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x10, 0x14, 0x03, 0x03, 0x03, 0x03, 0x0c, + 0x0c, 0x03, 0x03, 0x03, 0x07, 0x05, 0x06, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x07, 0x03, 0x0c, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x02, + 0x11, 0x11, 0x11, 0x11, 0x11, 0xb6, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, + 0x12, 0x5a, 0x5e, 0x5e, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x07, 0x07, 0x07, 0x05, 0x06, 0x5a, + 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x07, 0x07, 0x07, 0x05, 0x06, 0x5e, + 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5e, 0x5e, 0x5e, + 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, + 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x79, 0x79, 0x79, + 0x79, 0x5c, 0x79, 0x79, 0x79, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, + 0x0e, 0x0e, 0x19, 0x0e, 0x0e, 0x0e, 0x0e, 0x19, 0x0e, 0x0e, 0x15, 0x19, 0x19, 0x19, 0x15, 0x15, + 0x19, 0x19, 0x19, 0x15, 0x0e, 0x19, 0x0e, 0x0e, 0x07, 0x19, 0x19, 0x19, 0x19, 0x19, 0x0e, 0x0e, + 0x0e, 0x0e, 0x0e, 0x0e, 0x19, 0x0e, 0xb7, 0x0e, 0x19, 0x0e, 0xb8, 0xb9, 0x19, 0x19, 0x0e, 0x15, + 0x19, 0x19, 0xba, 0x19, 0x15, 0x0f, 0x0f, 0x0f, 0x0f, 0x15, 0x0e, 0x0e, 0x15, 0x15, 0x19, 0x19, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x19, 0x15, 0x15, 0x15, 0x15, 0x0e, 0x07, 0x0e, 0x0e, 0xbb, 0x78, + 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, + 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, + 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, + 0x92, 0x92, 0x92, 0x17, 0x18, 0x92, 0x92, 0x92, 0x92, 0x12, 0x0e, 0x0e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x07, 0x07, 0x0e, 0x0e, 0x0e, 0x0e, + 0x07, 0x0e, 0x0e, 0x07, 0x0e, 0x0e, 0x07, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x07, 0x0e, + 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x07, 0x07, + 0x0e, 0x0e, 0x07, 0x0e, 0x07, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, + 0x0e, 0x0e, 0x0e, 0x0e, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x05, 0x06, 0x05, 0x06, 0x0e, 0x0e, 0x0e, 0x0e, + 0x07, 0x07, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x05, 0x06, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, + 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, + 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, + 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x0e, 0x07, 0x0e, 0x0e, 0x0e, + 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x78, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, + 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, + 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x78, 0x78, 0x78, 0x78, + 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, + 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, + 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, + 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, + 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x07, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, + 0x0e, 0x07, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, + 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x07, + 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x78, 0x0e, 0x0e, 0x0e, + 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, + 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, + 0x12, 0x12, 0x12, 0x12, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x05, 0x06, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, + 0x07, 0x07, 0x07, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, + 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x05, 0x06, 0x05, 0x06, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x05, 0x06, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x0e, 0x0e, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x0e, 0x0e, 0x0e, + 0x0e, 0x0e, 0x0e, 0x0e, 0x5e, 0x5e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, + 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x5e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, + 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x5e, + 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x5e, + 0x17, 0x18, 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0xc5, 0xc6, 0xc7, + 0xc8, 0x15, 0x17, 0x18, 0x15, 0x17, 0x18, 0x15, 0x15, 0x15, 0x15, 0x15, 0x5a, 0x5a, 0xc9, 0xc9, + 0x17, 0x18, 0x17, 0x18, 0x15, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x17, 0x18, 0x17, 0x18, 0x5c, + 0x5c, 0x5c, 0x17, 0x18, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x03, 0x03, 0x03, 0x03, 0x12, 0x03, 0x03, + 0xca, 0xca, 0xca, 0xca, 0xca, 0xca, 0xca, 0xca, 0xca, 0xca, 0xca, 0xca, 0xca, 0xca, 0xca, 0xca, + 0xca, 0xca, 0xca, 0xca, 0xca, 0xca, 0x5e, 0xca, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0xca, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5a, + 0x7d, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5c, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, + 0x03, 0x03, 0x10, 0x14, 0x10, 0x14, 0x03, 0x03, 0x03, 0x10, 0x14, 0x03, 0x10, 0x14, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x08, 0x03, 0x03, 0x08, 0x03, 0x10, 0x14, 0x03, 0x03, + 0x10, 0x14, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x03, 0x03, 0x03, 0x03, 0x03, 0x5b, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x08, 0x08, 0x03, 0x03, 0x03, 0x03, + 0x08, 0x03, 0x05, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x0e, 0x0e, 0x03, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x5e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, + 0x0e, 0x0e, 0x0e, 0x0e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x02, 0x03, 0x03, 0x03, 0x0e, 0x5a, 0x0f, 0x92, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, + 0x05, 0x06, 0x0e, 0x0e, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x08, 0x05, 0x06, 0x06, + 0x0e, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, 0x89, + 0x08, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x0e, 0x0e, 0x92, 0x92, 0x92, 0x5a, 0x0f, 0x03, 0x0e, 0x0e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5c, 0x5c, 0x0b, 0x0b, 0x5a, 0x5a, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x03, 0x5a, 0x5a, 0x5a, 0x0f, + 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x78, 0x78, 0x8b, 0x8b, 0x8b, 0x8b, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, + 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x0e, 0x0e, 0x5e, + 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, + 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, + 0x0e, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, + 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x0e, 0x0e, 0x0e, 0x78, + 0x78, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, + 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x0e, 0x0e, 0x0e, 0x0e, + 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x0e, 0x0e, 0x0e, 0x0e, 0x78, 0x78, 0x78, 0x78, 0x78, + 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x0e, 0x0e, + 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x0e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5a, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5a, 0x03, 0x03, 0x03, + 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, + 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x0f, 0x5c, + 0x79, 0x79, 0x79, 0x03, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x03, 0x5b, + 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x5a, 0x5a, 0x5c, 0x5c, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, + 0x5c, 0x5c, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, + 0x0b, 0x0b, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, + 0x15, 0x15, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, + 0x5a, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x17, 0x18, 0x17, 0x18, 0xcb, 0x17, 0x18, + 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x5b, 0xcc, 0xcc, 0x17, 0x18, 0xcd, 0x15, 0x0f, + 0x17, 0x18, 0x17, 0x18, 0xce, 0x15, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, + 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0xcf, 0xd0, 0xd1, 0xd2, 0xcf, 0x15, + 0xd3, 0xd4, 0xd5, 0xd6, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, + 0x5e, 0x5e, 0x17, 0x18, 0xd7, 0xd8, 0xd9, 0x17, 0x18, 0x17, 0x18, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x17, 0x18, 0x0f, 0x5a, 0x5a, 0x15, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x5c, 0x0f, 0x0f, 0x0f, 0x5c, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x89, 0x89, 0x5c, 0x5c, 0x89, 0x0e, 0x0e, 0x0e, 0x0e, 0x5c, 0x5e, 0x5e, 0x5e, + 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x78, 0x78, 0x04, 0x0e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x03, 0x03, 0x03, 0x03, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x89, 0x89, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, + 0x89, 0x89, 0x89, 0x89, 0x5c, 0x5c, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x7d, 0x7d, + 0x5c, 0x5c, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x7d, 0x7d, 0x7d, 0x0f, 0x7d, 0x0f, 0x0f, 0x5c, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x7d, 0x7d, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, + 0x5c, 0x5c, 0x89, 0x89, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x7d, + 0x0f, 0x0f, 0x0f, 0x5c, 0x89, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, 0x89, 0x5c, 0x5c, 0x89, 0x89, + 0x89, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x5e, 0x5a, + 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x5e, 0x5e, 0x5e, 0x5e, 0x7d, 0x7d, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x5a, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, + 0x89, 0x5c, 0x5c, 0x89, 0x89, 0x5c, 0x5c, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x5c, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x89, 0x5e, 0x5e, + 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x5e, 0x5e, 0x7d, 0x7d, 0x7d, 0x7d, + 0x5a, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x78, 0x78, 0x78, 0x0f, 0x89, 0x5c, 0x89, 0x0f, 0x0f, + 0x5c, 0x0f, 0x5c, 0x5c, 0x5c, 0x0f, 0x0f, 0x5c, 0x5c, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x5c, + 0x0f, 0x5c, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x0f, 0x0f, 0x5a, 0x7d, 0x7d, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x89, 0x5c, 0x5c, 0x89, 0x89, + 0x7d, 0x7d, 0x0f, 0x5a, 0x5a, 0x89, 0x5c, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, + 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x15, 0x15, 0x15, 0xda, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0xcc, 0x5a, 0x5a, 0x5a, 0x5a, + 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x5a, 0x0b, 0x0b, 0x5e, 0x5e, 0x5e, 0x5e, + 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, + 0x0f, 0x0f, 0x0f, 0x89, 0x89, 0x5c, 0x89, 0x89, 0x5c, 0x89, 0x89, 0x7d, 0x89, 0x5c, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, + 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, + 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x5e, 0x5e, 0x5e, 0x15, 0x15, 0x15, 0x15, 0x15, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x82, 0x5c, 0x82, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x07, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x82, 0x7f, + 0x82, 0x82, 0x7f, 0x82, 0x82, 0x7f, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, + 0x82, 0x82, 0xde, 0xde, 0xde, 0xde, 0xde, 0xde, 0xde, 0xde, 0xde, 0xde, 0xde, 0xde, 0xde, 0xde, + 0xde, 0xde, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, + 0x7f, 0x7f, 0x7f, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x06, 0x05, + 0x7f, 0x7f, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x84, 0x0e, 0x7f, 0x7f, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x05, 0x06, 0x03, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x03, 0x08, 0x08, 0x0c, 0x0c, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, + 0x06, 0x05, 0x06, 0x05, 0x06, 0x03, 0x03, 0x05, 0x06, 0x03, 0x03, 0x03, 0x03, 0x0c, 0x0c, 0x0c, + 0x03, 0x03, 0x03, 0x5e, 0x03, 0x03, 0x03, 0x03, 0x08, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x03, + 0x03, 0x03, 0x07, 0x08, 0x07, 0x07, 0x07, 0x5e, 0x03, 0x04, 0x03, 0x03, 0x5e, 0x5e, 0x5e, 0x5e, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x7f, 0x11, + 0x5e, 0x03, 0x03, 0x03, 0x04, 0x03, 0x03, 0x03, 0x05, 0x06, 0x03, 0x07, 0x03, 0x08, 0x03, 0x03, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x05, 0x07, 0x06, 0x07, 0x05, + 0x06, 0x03, 0x05, 0x06, 0x03, 0x03, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x5a, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5a, 0x5a, + 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, + 0x04, 0x04, 0x07, 0x0b, 0x0e, 0x04, 0x04, 0x5e, 0x0e, 0x07, 0x07, 0x07, 0x07, 0x0e, 0x0e, 0x5e, + 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0x11, 0x11, 0x11, 0x0e, 0x0e, 0xb6, 0xb6, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x5e, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x7d, 0x03, 0x7d, 0x5e, 0x5e, 0x5e, 0x5e, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, + 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, + 0x8b, 0x8b, 0x8b, 0x8b, 0x5e, 0x5e, 0x5e, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, + 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, + 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0x12, 0x12, 0x12, 0x12, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, + 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x12, 0x12, 0x0e, 0x78, 0x78, 0x5e, + 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x5e, 0x5e, 0x5e, + 0x0e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x5c, 0x5e, 0x5e, + 0x5c, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, + 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x5e, 0x5e, 0x5e, 0x5e, + 0x8b, 0x8b, 0x8b, 0x8b, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, + 0x0f, 0x92, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x92, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x7d, + 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x7d, 0x92, 0x92, 0x92, 0x92, 0x92, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, + 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, + 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, + 0xe0, 0xe0, 0xe0, 0xe0, 0x5e, 0x5e, 0x5e, 0x5e, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, + 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x7d, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x7f, 0x82, 0x7f, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x82, 0x82, 0x7f, 0x7f, 0x7f, 0x82, 0x7f, 0x7f, 0x82, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x81, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x87, 0x87, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, + 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, + 0x82, 0x82, 0x82, 0x7f, 0x82, 0x82, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0x7f, 0x7f, 0x7f, 0x03, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x81, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x7f, 0x7f, 0x7f, 0xe2, 0xe2, 0x82, 0x82, + 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, + 0x7f, 0x7f, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, + 0x82, 0x5c, 0x5c, 0x5c, 0x7f, 0x5c, 0x5c, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x5c, 0x5c, 0x5c, 0x5c, + 0x82, 0x82, 0x82, 0x82, 0x7f, 0x82, 0x82, 0x82, 0x7f, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x7f, 0x5c, 0x5c, 0x5c, 0x7f, 0x7f, 0x7f, 0x7f, 0x5c, + 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, + 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0xe2, 0xe2, 0x81, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0xe2, 0xe2, 0xe2, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x87, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x5c, 0x5c, 0x7f, 0x7f, 0x7f, 0x7f, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, + 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x7f, 0x7f, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x7f, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, + 0x82, 0x82, 0x82, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, + 0x82, 0x82, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x81, 0x81, 0x81, 0x81, 0x7f, 0x7f, 0x7f, + 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, + 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, + 0xe3, 0xe3, 0xe3, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, + 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, + 0xe4, 0xe4, 0xe4, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, + 0x82, 0x82, 0x82, 0x82, 0x5c, 0x5c, 0x5c, 0x5c, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, + 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, + 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x7f, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x5c, 0x5c, 0x80, 0x7f, 0x7f, + 0x82, 0x82, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, + 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0x82, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, + 0x5c, 0xe2, 0xe2, 0xe2, 0xe2, 0x81, 0x81, 0x81, 0x81, 0x81, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, + 0x82, 0x82, 0x82, 0x82, 0x82, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0x7f, 0x7f, 0x7f, 0x7f, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, + 0x89, 0x5c, 0x89, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x5e, 0x5e, + 0x5e, 0x5e, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, + 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, + 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5c, + 0x89, 0x89, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, 0x89, 0x5c, 0x5c, 0x7d, 0x7d, 0xb3, 0x7d, 0x7d, + 0x7d, 0x7d, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0xb3, 0x5e, 0x5e, + 0x5c, 0x5c, 0x5c, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, 0x5c, 0x5c, 0x5c, + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, + 0x7d, 0x7d, 0x7d, 0x7d, 0x0f, 0x89, 0x89, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x5c, 0x7d, 0x7d, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x89, 0x89, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, + 0x89, 0x0f, 0x0f, 0x0f, 0x0f, 0x7d, 0x7d, 0x7d, 0x7d, 0x5c, 0x5c, 0x5c, 0x5c, 0x7d, 0x89, 0x5c, + 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x0f, 0x7d, 0x0f, 0x7d, 0x7d, 0x7d, + 0x5e, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, + 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x89, 0x89, 0x89, 0x5c, + 0x5c, 0x5c, 0x89, 0x89, 0x5c, 0x89, 0x5c, 0x5c, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x5c, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x7d, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, + 0x89, 0x89, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x5c, 0x5c, 0x89, 0x89, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x0f, + 0x0f, 0x5e, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5c, 0x5c, 0x0f, 0x89, 0x89, + 0x5c, 0x89, 0x89, 0x89, 0x89, 0x5e, 0x5e, 0x89, 0x89, 0x5e, 0x5e, 0x89, 0x89, 0x89, 0x5e, 0x5e, + 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x89, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x89, 0x89, 0x5e, 0x5e, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x5e, 0x5e, + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x89, 0x89, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, + 0x89, 0x89, 0x5c, 0x5c, 0x5c, 0x89, 0x5c, 0x0f, 0x0f, 0x0f, 0x0f, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, + 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x7d, 0x7d, 0x5e, 0x7d, 0x5c, 0x0f, + 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x89, 0x89, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, 0x5c, 0x89, 0x89, 0x89, 0x89, 0x5c, + 0x5c, 0x89, 0x5c, 0x5c, 0x0f, 0x0f, 0x7d, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x89, + 0x89, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x5e, 0x89, 0x89, 0x89, 0x89, 0x5c, 0x5c, 0x89, 0x5c, + 0x5c, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, + 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x5c, 0x5e, 0x5e, + 0x89, 0x89, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, 0x89, 0x5c, 0x89, 0x5c, + 0x5c, 0x7d, 0x7d, 0x7d, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x89, 0x5c, 0x89, 0x89, + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, 0x5c, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x89, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x5e, 0x5e, 0x5e, + 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8b, 0x8b, 0x7d, 0x7d, 0x7d, 0x78, + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, 0x5c, 0x5c, 0x7d, 0x5e, 0x5e, 0x5e, 0x5e, + 0x8b, 0x8b, 0x8b, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x0f, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x5e, 0x89, 0x89, 0x5e, 0x5e, 0x5c, 0x5c, 0x89, 0x5c, 0x0f, + 0x89, 0x0f, 0x89, 0x5c, 0x7d, 0x7d, 0x7d, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x89, 0x89, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x5e, 0x5c, 0x5c, 0x89, 0x89, 0x89, 0x89, + 0x5c, 0x0f, 0x7d, 0x0f, 0x89, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x8c, 0x8c, 0x5c, 0x5c, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, 0x0f, 0x5c, 0x5c, 0x5c, 0x5c, 0x7d, + 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x5c, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, 0x89, 0x5c, 0x5c, 0x5c, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, 0x5c, 0x5c, 0x7d, 0x7d, 0x7d, 0x0f, 0x7d, 0x7d, + 0x7d, 0x7d, 0x7d, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, 0x8c, + 0x0f, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x7d, 0x7d, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x5e, 0x5e, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, + 0x5c, 0x89, 0x5c, 0x5c, 0x89, 0x5c, 0x5c, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x5e, 0x5e, 0x5c, 0x5e, 0x5c, 0x5c, 0x5e, 0x5c, + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x0f, 0x5c, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x89, 0x89, 0x89, 0x89, 0x89, 0x5e, + 0x5c, 0x5c, 0x5e, 0x89, 0x89, 0x5c, 0x89, 0x5c, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x5c, 0x5c, 0x89, 0x89, 0x7d, 0x7d, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x04, 0x04, 0x04, + 0x04, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, + 0x0e, 0x0e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x7d, + 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, + 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x5e, + 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0xb3, 0xb3, 0xb3, 0xb3, 0xb3, 0xb3, 0xb3, 0xb3, 0xb3, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x7d, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x78, 0x78, 0x78, 0x78, + 0x5a, 0x5a, 0x5a, 0x5a, 0x7d, 0x78, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x5e, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, + 0x8b, 0x8b, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, + 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x7d, 0x7d, 0x7d, 0x7d, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5c, + 0x0f, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, + 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, + 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5c, + 0x5c, 0x5c, 0x5c, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, + 0x5a, 0x5a, 0x03, 0x5a, 0x5c, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x89, 0x89, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x5e, 0x5e, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x78, 0x5c, 0x5c, 0x7d, + 0x11, 0x11, 0x11, 0x11, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x5e, 0x5e, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, + 0x78, 0x78, 0x78, 0x78, 0x78, 0x89, 0x89, 0x5c, 0x5c, 0x5c, 0x78, 0x78, 0x78, 0x89, 0x89, 0x89, + 0x89, 0x89, 0x89, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, + 0x5c, 0x5c, 0x5c, 0x78, 0x78, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x78, 0x78, 0x78, 0x78, + 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x5c, 0x5c, 0x5c, 0x5c, 0x78, 0x78, + 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0e, 0x0e, 0x5c, 0x5c, 0x5c, 0x0e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x8b, 0x8b, 0x8b, 0x8b, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, + 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, + 0x15, 0x15, 0x15, 0x15, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, + 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x15, 0x15, + 0x15, 0x15, 0x15, 0x15, 0x15, 0x5e, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, + 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, + 0x19, 0x19, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, + 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x19, 0x5e, 0x19, 0x19, + 0x5e, 0x5e, 0x19, 0x5e, 0x5e, 0x19, 0x19, 0x5e, 0x5e, 0x19, 0x19, 0x19, 0x19, 0x5e, 0x19, 0x19, + 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x15, 0x15, 0x15, 0x15, 0x5e, 0x15, 0x5e, 0x15, 0x15, 0x15, + 0x15, 0x15, 0x15, 0x15, 0x5e, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, + 0x15, 0x15, 0x15, 0x15, 0x19, 0x19, 0x5e, 0x19, 0x19, 0x19, 0x19, 0x5e, 0x5e, 0x19, 0x19, 0x19, + 0x19, 0x19, 0x19, 0x19, 0x19, 0x5e, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x5e, 0x15, 0x15, + 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x19, 0x19, 0x5e, 0x19, 0x19, 0x19, 0x19, 0x5e, + 0x19, 0x19, 0x19, 0x19, 0x19, 0x5e, 0x19, 0x5e, 0x5e, 0x5e, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, + 0x19, 0x5e, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, + 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x19, 0x19, 0x19, 0x19, + 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, + 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x5e, 0x5e, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, + 0x19, 0xe5, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, + 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x07, 0x15, 0x15, 0x15, 0x15, + 0x15, 0x15, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, + 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0xe5, 0x15, 0x15, 0x15, 0x15, + 0x15, 0x15, 0x15, 0x15, 0x15, 0x07, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x19, 0x19, 0x19, 0x19, + 0x19, 0x19, 0x19, 0x19, 0x19, 0xe5, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, + 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x07, + 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, + 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0xe5, + 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x07, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, + 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0xe5, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, + 0x15, 0x15, 0x15, 0x07, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x19, 0x15, 0x5e, 0x5e, 0x09, 0x09, + 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x78, 0x78, 0x78, 0x78, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x78, 0x78, 0x78, + 0x78, 0x78, 0x78, 0x78, 0x78, 0x5c, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, + 0x78, 0x78, 0x78, 0x78, 0x5c, 0x78, 0x78, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x5e, 0x5e, 0x5e, 0x5e, + 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, + 0x5e, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x5e, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, + 0x5c, 0x5c, 0x5e, 0x5c, 0x5c, 0x5e, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5e, 0x5e, + 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x5e, 0x5e, 0x5e, 0x5e, 0x0f, 0x78, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x5c, 0x5c, 0x5c, + 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x04, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x7f, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, + 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, + 0xe6, 0xe6, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, + 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, + 0xe7, 0xe7, 0xe7, 0xe7, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x86, 0x7f, 0x7f, 0x7f, 0x7f, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7f, 0x7f, 0x7f, 0x7f, 0x81, 0x81, + 0x7f, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, + 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0x87, 0xe2, 0xe2, 0xe2, + 0x84, 0xe2, 0xe2, 0xe2, 0xe2, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, + 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0x87, 0xe2, + 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0x7f, 0x7f, + 0x82, 0x82, 0x82, 0x82, 0x7f, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, + 0x7f, 0x82, 0x82, 0x7f, 0x82, 0x7f, 0x7f, 0x82, 0x7f, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, + 0x82, 0x82, 0x82, 0x7f, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x82, 0x7f, 0x82, 0x7f, 0x7f, 0x7f, 0x7f, + 0x7f, 0x7f, 0x82, 0x7f, 0x7f, 0x7f, 0x7f, 0x82, 0x7f, 0x82, 0x7f, 0x82, 0x7f, 0x82, 0x82, 0x82, + 0x7f, 0x82, 0x82, 0x7f, 0x82, 0x7f, 0x7f, 0x82, 0x7f, 0x82, 0x7f, 0x82, 0x7f, 0x82, 0x7f, 0x82, + 0x7f, 0x82, 0x82, 0x7f, 0x82, 0x7f, 0x7f, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x82, 0x82, 0x82, 0x82, + 0x82, 0x82, 0x82, 0x7f, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x82, 0x7f, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x82, 0x82, 0x82, 0x82, 0x82, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x7f, 0x7f, 0x7f, + 0x7f, 0x82, 0x82, 0x82, 0x7f, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x82, 0x82, 0x82, 0x82, 0x82, + 0x07, 0x07, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, + 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x5e, + 0x5e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, + 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x0e, 0x0e, 0x0e, + 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, + 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x0e, 0x5e, 0x5e, + 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, + 0x78, 0x78, 0x78, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x5e, 0x5e, 0x5e, 0x5e, + 0x78, 0x78, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, + 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x5e, 0x5e, + 0x0e, 0x0e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x5e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, + 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x5e, 0x0e, 0x0e, 0x0e, + 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x5e, 0x5e, 0x5e, 0x0e, 0x0e, 0x0e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0e, 0x0e, 0x0e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0e, 0x0e, 0x0e, 0x5e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, + 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0xb6, 0xb6, + 0xb6, 0x11, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, + 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, + 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xb6, 0xb6 + }; + + // Contains Unicode category & bidi class information + private static ReadOnlySpan CategoriesValues => new byte[232] + { + 0x0e, 0x8e, 0x8b, 0x18, 0x1a, 0x14, 0x15, 0x19, 0x13, 0x08, 0x20, 0x1b, 0x12, 0x21, 0x1c, 0x24, + 0x16, 0x0f, 0x0a, 0x21, 0x17, 0x21, 0x21, 0x20, 0x21, 0x20, 0x20, 0x21, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x21, 0x20, 0x20, 0x21, 0x20, 0x21, 0x20, 0x20, 0x20, 0x20, 0x21, 0x20, 0x22, + 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, + 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, + 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x23, 0x03, 0x05, 0x05, 0x3d, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, + 0x21, 0x21, 0x21, 0x20, 0x21, 0x20, 0x20, 0x21, 0x3c, 0x07, 0x20, 0x21, 0x20, 0x38, 0x21, 0x5d, + 0x53, 0x58, 0x44, 0x59, 0x5a, 0x4f, 0x43, 0x5c, 0x48, 0x26, 0x28, 0x2a, 0x25, 0x20, 0x21, 0x20, + 0x20, 0x21, 0x29, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x21, 0x21, 0x21, 0x21, + 0x20, 0x21, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x22, 0x21, 0x20, 0x22, 0x21, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x2f, 0x8c, 0x8d, 0x1d, 0x20, 0x20, 0x20, 0x20, 0x21, 0x29, 0x29, 0x3c, 0x3c, + 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x20, 0x3b, 0x20, 0x21, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x30, 0x31, 0x5b, 0x09, + 0x20, 0x21, 0x4a, 0x40, 0x41, 0x39, 0x40, 0x41 + }; + + // Contains simple culture-invariant uppercase mappings + private static ReadOnlySpan UppercaseValues => new byte[464] + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe7, 0x02, 0x00, 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xc3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa3, 0x00, 0x00, 0x00, + 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xfe, 0xff, 0xb1, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3f, 0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x2a, 0x1c, 0x2a, 0x1e, 0x2a, 0x2e, 0xff, + 0x32, 0xff, 0x33, 0xff, 0x36, 0xff, 0x35, 0xff, 0x4f, 0xa5, 0x4b, 0xa5, 0x31, 0xff, 0x28, 0xa5, + 0x44, 0xa5, 0x2f, 0xff, 0x2d, 0xff, 0xf7, 0x29, 0x41, 0xa5, 0xfd, 0x29, 0x2b, 0xff, 0x2a, 0xff, + 0xe7, 0x29, 0x26, 0xff, 0x43, 0xa5, 0x2a, 0xa5, 0xbb, 0xff, 0x27, 0xff, 0xb9, 0xff, 0x25, 0xff, + 0x15, 0xa5, 0x12, 0xa5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xda, 0xff, 0xdb, 0xff, 0xe1, 0xff, 0xc0, 0xff, + 0xc1, 0xff, 0x00, 0x00, 0xc2, 0xff, 0xc7, 0xff, 0xd1, 0xff, 0xca, 0xff, 0xf8, 0xff, 0xaa, 0xff, + 0xb0, 0xff, 0x07, 0x00, 0x8c, 0xff, 0x00, 0x00, 0xa0, 0xff, 0x00, 0x00, 0x00, 0x00, 0xb0, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf1, 0xff, 0x00, 0x00, 0x00, 0x00, 0xd0, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x0b, 0x00, 0x00, + 0x00, 0x00, 0xf8, 0xff, 0x00, 0x00, 0x92, 0xe7, 0x93, 0xe7, 0x9c, 0xe7, 0x9e, 0xe7, 0x9d, 0xe7, + 0xa4, 0xe7, 0xdb, 0xe7, 0xc2, 0x89, 0x00, 0x00, 0x04, 0x8a, 0xe6, 0x0e, 0x38, 0x8a, 0xc5, 0xff, + 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x4a, 0x00, 0x56, 0x00, 0x64, 0x00, 0x80, 0x00, 0x70, 0x00, + 0x7e, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0xe3, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe4, 0xff, 0x00, 0x00, 0xf0, 0xff, 0x00, 0x00, 0xe6, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd5, 0xd5, 0xd8, 0xd5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xa0, 0xe3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x60, 0xfc, 0x30, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xd8, 0xff, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x00, 0x00, 0x00, 0x00, 0xde, 0xff + }; + + // Contains simple culture-invariant lowercase mappings + private static ReadOnlySpan LowercaseValues => new byte[464] + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x87, 0xff, 0x00, 0x00, 0xd2, 0x00, 0xce, 0x00, 0xcd, 0x00, 0x4f, 0x00, + 0xca, 0x00, 0xcb, 0x00, 0xcf, 0x00, 0x00, 0x00, 0xd3, 0x00, 0xd1, 0x00, 0x00, 0x00, 0xd5, 0x00, + 0x00, 0x00, 0xd6, 0x00, 0xda, 0x00, 0xd9, 0x00, 0xdb, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xc8, 0xff, 0x7e, 0xff, 0x2b, 0x2a, 0x5d, 0xff, 0x28, 0x2a, + 0x00, 0x00, 0x3d, 0xff, 0x45, 0x00, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0x00, + 0x26, 0x00, 0x25, 0x00, 0x40, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc4, 0xff, 0x00, 0x00, 0xf9, 0xff, 0x50, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x1c, 0x00, 0x00, 0xd0, 0x97, + 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x41, 0xe2, 0x00, 0x00, 0xf8, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xf8, 0xff, 0x00, 0x00, 0xb6, 0xff, 0xf7, 0xff, 0x00, 0x00, 0xaa, 0xff, 0x9c, 0xff, + 0x90, 0xff, 0x80, 0xff, 0x82, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa3, 0xe2, + 0x41, 0xdf, 0xba, 0xdf, 0x1c, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, + 0x09, 0xd6, 0x1a, 0xf1, 0x19, 0xd6, 0x00, 0x00, 0x00, 0x00, 0xe4, 0xd5, 0x03, 0xd6, 0xe1, 0xd5, + 0xe2, 0xd5, 0xc1, 0xd5, 0x00, 0x00, 0xfc, 0x75, 0x00, 0x00, 0xd8, 0x5a, 0x00, 0x00, 0xbc, 0x5a, + 0xb1, 0x5a, 0xb5, 0x5a, 0xbf, 0x5a, 0xee, 0x5a, 0xd6, 0x5a, 0xeb, 0x5a, 0xa0, 0x03, 0xd0, 0xff, + 0xbd, 0x5a, 0xc8, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00 + }; + + // Contains simple culture-invariant titlecase mappings + private static ReadOnlySpan TitlecaseValues => new byte[464] + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe7, 0x02, 0x00, 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xc3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa3, 0x00, 0x00, 0x00, + 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x01, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xb1, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3f, 0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x2a, 0x1c, 0x2a, 0x1e, 0x2a, 0x2e, 0xff, + 0x32, 0xff, 0x33, 0xff, 0x36, 0xff, 0x35, 0xff, 0x4f, 0xa5, 0x4b, 0xa5, 0x31, 0xff, 0x28, 0xa5, + 0x44, 0xa5, 0x2f, 0xff, 0x2d, 0xff, 0xf7, 0x29, 0x41, 0xa5, 0xfd, 0x29, 0x2b, 0xff, 0x2a, 0xff, + 0xe7, 0x29, 0x26, 0xff, 0x43, 0xa5, 0x2a, 0xa5, 0xbb, 0xff, 0x27, 0xff, 0xb9, 0xff, 0x25, 0xff, + 0x15, 0xa5, 0x12, 0xa5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xda, 0xff, 0xdb, 0xff, 0xe1, 0xff, 0xc0, 0xff, + 0xc1, 0xff, 0x00, 0x00, 0xc2, 0xff, 0xc7, 0xff, 0xd1, 0xff, 0xca, 0xff, 0xf8, 0xff, 0xaa, 0xff, + 0xb0, 0xff, 0x07, 0x00, 0x8c, 0xff, 0x00, 0x00, 0xa0, 0xff, 0x00, 0x00, 0x00, 0x00, 0xb0, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf1, 0xff, 0x00, 0x00, 0x00, 0x00, 0xd0, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xf8, 0xff, 0x00, 0x00, 0x92, 0xe7, 0x93, 0xe7, 0x9c, 0xe7, 0x9e, 0xe7, 0x9d, 0xe7, + 0xa4, 0xe7, 0xdb, 0xe7, 0xc2, 0x89, 0x00, 0x00, 0x04, 0x8a, 0xe6, 0x0e, 0x38, 0x8a, 0xc5, 0xff, + 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x4a, 0x00, 0x56, 0x00, 0x64, 0x00, 0x80, 0x00, 0x70, 0x00, + 0x7e, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0xe3, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe4, 0xff, 0x00, 0x00, 0xf0, 0xff, 0x00, 0x00, 0xe6, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd5, 0xd5, 0xd8, 0xd5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xa0, 0xe3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x60, 0xfc, 0x30, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xd8, 0xff, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x00, 0x00, 0x00, 0x00, 0xde, 0xff + }; + + // Contains simple culture-invariant case fold mappings + private static ReadOnlySpan CaseFoldValues => new byte[464] + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x87, 0xff, 0x00, 0x00, 0xd2, 0x00, 0xce, 0x00, 0xcd, 0x00, 0x4f, 0x00, + 0xca, 0x00, 0xcb, 0x00, 0xcf, 0x00, 0x00, 0x00, 0xd3, 0x00, 0xd1, 0x00, 0x00, 0x00, 0xd5, 0x00, + 0x00, 0x00, 0xd6, 0x00, 0xda, 0x00, 0xd9, 0x00, 0xdb, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xc8, 0xff, 0x7e, 0xff, 0x2b, 0x2a, 0x5d, 0xff, 0x28, 0x2a, + 0x00, 0x00, 0x3d, 0xff, 0x45, 0x00, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x74, 0x00, + 0x26, 0x00, 0x25, 0x00, 0x40, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x08, 0x00, 0xe2, 0xff, 0xe7, 0xff, 0xf1, 0xff, 0xea, 0xff, 0x00, 0x00, 0xca, 0xff, + 0xd0, 0xff, 0x00, 0x00, 0x00, 0x00, 0xc4, 0xff, 0xc0, 0xff, 0xf9, 0xff, 0x50, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x1c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xf8, 0xff, 0x00, 0x00, 0xb2, 0xe7, 0xb3, 0xe7, 0xbc, 0xe7, 0xbe, 0xe7, 0xbd, 0xe7, + 0xc4, 0xe7, 0xdc, 0xe7, 0xc3, 0x89, 0x40, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc6, 0xff, + 0x41, 0xe2, 0x00, 0x00, 0xf8, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xf8, 0xff, 0x00, 0x00, 0xb6, 0xff, 0xf7, 0xff, 0xfb, 0xe3, 0xaa, 0xff, 0x9c, 0xff, + 0x90, 0xff, 0x80, 0xff, 0x82, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa3, 0xe2, + 0x41, 0xdf, 0xba, 0xdf, 0x1c, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, + 0x09, 0xd6, 0x1a, 0xf1, 0x19, 0xd6, 0x00, 0x00, 0x00, 0x00, 0xe4, 0xd5, 0x03, 0xd6, 0xe1, 0xd5, + 0xe2, 0xd5, 0xc1, 0xd5, 0x00, 0x00, 0xfc, 0x75, 0x00, 0x00, 0xd8, 0x5a, 0x00, 0x00, 0xbc, 0x5a, + 0xb1, 0x5a, 0xb5, 0x5a, 0xbf, 0x5a, 0xee, 0x5a, 0xd6, 0x5a, 0xeb, 0x5a, 0xa0, 0x03, 0xd0, 0xff, + 0xbd, 0x5a, 0xc8, 0x75, 0x00, 0x00, 0x30, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00 + }; + + [Conditional("DEBUG")] + private static void AssertNumericGraphemeTableLevels(int level1BitCount, int level2BitCount, int level3BitCount) + { + // Ensures that the caller expects the same L1:L2:L3 count as the actual backing data. + Debug.Assert(level1BitCount == 11, "Unexpected level 1 bit count."); + Debug.Assert(level2BitCount == 5, "Unexpected level 2 bit count."); + Debug.Assert(level3BitCount == 4, "Unexpected level 3 bit count."); + } + + // 11:5:4 index table of the Unicode numeric & text segmentation data. + private static ReadOnlySpan NumericGraphemeLevel1Index => new byte[2176] + { + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0a, + 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x0a, 0x16, 0x17, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x1b, 0x1c, 0x1d, + 0x1e, 0x1f, 0x20, 0x21, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x23, 0x24, 0x0a, 0x25, + 0x26, 0x27, 0x28, 0x0a, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, + 0x0a, 0x0a, 0x35, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x36, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x37, 0x0a, 0x38, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x39, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x3a, 0x3b, 0x0a, 0x3c, 0x0a, 0x3d, 0x0a, 0x0a, + 0x3e, 0x3f, 0x0a, 0x0a, 0x40, 0x0a, 0x41, 0x0a, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x4a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x4b, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a + }; + + private static ReadOnlySpan NumericGraphemeLevel2Index => new byte[4928] + { + 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x04, 0x00, + 0x01, 0x00, 0x01, 0x00, 0x05, 0x00, 0x06, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x07, 0x00, 0x07, 0x00, 0x07, 0x00, 0x07, 0x00, 0x07, 0x00, 0x07, 0x00, 0x07, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x08, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x09, 0x00, 0x07, 0x00, 0x0a, 0x00, 0x0b, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x0c, 0x00, 0x0d, 0x00, 0x02, 0x00, 0x02, 0x00, 0x0e, 0x00, 0x07, 0x00, 0x03, 0x00, 0x0f, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x10, 0x00, 0x11, 0x00, 0x03, 0x00, + 0x12, 0x00, 0x13, 0x00, 0x02, 0x00, 0x07, 0x00, 0x14, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x15, 0x00, 0x0f, 0x00, 0x03, 0x00, 0x02, 0x00, 0x0e, 0x00, 0x16, 0x00, + 0x02, 0x00, 0x17, 0x00, 0x18, 0x00, 0x02, 0x00, 0x02, 0x00, 0x19, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x1a, 0x00, 0x1b, 0x00, 0x07, 0x00, + 0x1c, 0x00, 0x02, 0x00, 0x02, 0x00, 0x1d, 0x00, 0x1e, 0x00, 0x1f, 0x00, 0x20, 0x00, 0x02, 0x00, + 0x21, 0x00, 0x02, 0x00, 0x02, 0x00, 0x22, 0x00, 0x23, 0x00, 0x24, 0x00, 0x20, 0x00, 0x25, 0x00, + 0x26, 0x00, 0x02, 0x00, 0x02, 0x00, 0x27, 0x00, 0x28, 0x00, 0x13, 0x00, 0x29, 0x00, 0x2a, 0x00, + 0x26, 0x00, 0x02, 0x00, 0x02, 0x00, 0x27, 0x00, 0x2b, 0x00, 0x02, 0x00, 0x20, 0x00, 0x2c, 0x00, + 0x21, 0x00, 0x02, 0x00, 0x02, 0x00, 0x2d, 0x00, 0x23, 0x00, 0x2e, 0x00, 0x20, 0x00, 0x2f, 0x00, + 0x30, 0x00, 0x02, 0x00, 0x02, 0x00, 0x31, 0x00, 0x32, 0x00, 0x24, 0x00, 0x29, 0x00, 0x33, 0x00, + 0x34, 0x00, 0x02, 0x00, 0x02, 0x00, 0x35, 0x00, 0x36, 0x00, 0x37, 0x00, 0x20, 0x00, 0x38, 0x00, + 0x21, 0x00, 0x02, 0x00, 0x02, 0x00, 0x39, 0x00, 0x3a, 0x00, 0x37, 0x00, 0x20, 0x00, 0x02, 0x00, + 0x3b, 0x00, 0x02, 0x00, 0x02, 0x00, 0x3c, 0x00, 0x3d, 0x00, 0x3e, 0x00, 0x20, 0x00, 0x3f, 0x00, + 0x21, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x40, 0x00, 0x41, 0x00, 0x29, 0x00, 0x42, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x43, 0x00, 0x44, 0x00, 0x03, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x45, 0x00, 0x46, 0x00, 0x03, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x47, 0x00, 0x48, 0x00, 0x49, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x4a, 0x00, + 0x4b, 0x00, 0x4c, 0x00, 0x07, 0x00, 0x4d, 0x00, 0x4e, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x4f, 0x00, 0x50, 0x00, 0x03, 0x00, 0x51, 0x00, 0x0f, 0x00, 0x52, 0x00, + 0x53, 0x00, 0x54, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x55, 0x00, 0x55, 0x00, 0x55, 0x00, 0x55, 0x00, 0x55, 0x00, 0x55, 0x00, 0x56, 0x00, 0x56, 0x00, + 0x56, 0x00, 0x56, 0x00, 0x57, 0x00, 0x58, 0x00, 0x58, 0x00, 0x58, 0x00, 0x58, 0x00, 0x58, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x4f, 0x00, 0x59, 0x00, 0x5a, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x5b, 0x00, 0x5c, 0x00, + 0x02, 0x00, 0x5d, 0x00, 0x02, 0x00, 0x5d, 0x00, 0x02, 0x00, 0x5e, 0x00, 0x02, 0x00, 0x5e, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x5f, 0x00, 0x60, 0x00, 0x16, 0x00, 0x03, 0x00, 0x61, 0x00, + 0x62, 0x00, 0x03, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x37, 0x00, 0x02, 0x00, 0x63, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x64, 0x00, 0x65, 0x00, 0x29, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x66, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x67, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x68, 0x00, 0x69, 0x00, 0x6a, 0x00, + 0x03, 0x00, 0x03, 0x00, 0x02, 0x00, 0x07, 0x00, 0x0f, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x6b, 0x00, 0x02, 0x00, 0x02, 0x00, 0x6c, 0x00, 0x6d, 0x00, 0x03, 0x00, 0x0e, 0x00, 0x6e, 0x00, + 0x6f, 0x00, 0x02, 0x00, 0x70, 0x00, 0x03, 0x00, 0x02, 0x00, 0x02, 0x00, 0x71, 0x00, 0x3b, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x72, 0x00, 0x73, 0x00, 0x03, 0x00, 0x03, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x74, 0x00, 0x75, 0x00, 0x76, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x07, 0x00, 0x07, 0x00, 0x07, 0x00, 0x77, 0x00, + 0x78, 0x00, 0x02, 0x00, 0x79, 0x00, 0x7a, 0x00, 0x7b, 0x00, 0x02, 0x00, 0x01, 0x00, 0x7c, 0x00, + 0x7d, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x07, 0x00, 0x07, 0x00, 0x0f, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x7e, 0x00, 0x7b, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x80, 0x00, 0x80, 0x00, + 0x81, 0x00, 0x82, 0x00, 0x83, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x84, 0x00, 0x85, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x85, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x86, 0x00, 0x02, 0x00, 0x87, 0x00, 0x88, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x89, 0x00, 0x8a, 0x00, + 0x8b, 0x00, 0x8c, 0x00, 0x02, 0x00, 0x02, 0x00, 0x7e, 0x00, 0x02, 0x00, 0x8d, 0x00, 0x8e, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x84, 0x00, 0x8f, 0x00, 0x90, 0x00, 0x02, 0x00, 0x02, 0x00, 0x91, 0x00, + 0x92, 0x00, 0x93, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, + 0x95, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, + 0x96, 0x00, 0x97, 0x00, 0x98, 0x00, 0x99, 0x00, 0x9a, 0x00, 0x9b, 0x00, 0x9c, 0x00, 0x9d, 0x00, + 0x9e, 0x00, 0x9f, 0x00, 0xa0, 0x00, 0xa1, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0xa2, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0xa3, 0x00, 0xa4, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0xa5, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0xa6, 0x00, 0xa7, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0xa6, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x07, 0x00, 0x07, 0x00, + 0xa8, 0x00, 0x02, 0x00, 0xa9, 0x00, 0xaa, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0xab, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0xac, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0xad, 0x00, 0x02, 0x00, 0xae, 0x00, 0xaf, 0x00, 0x02, 0x00, 0x02, 0x00, + 0xad, 0x00, 0xb0, 0x00, 0x02, 0x00, 0xb1, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x03, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0xa6, 0x00, 0xb2, 0x00, + 0x02, 0x00, 0x35, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0xb3, 0x00, 0xb4, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0xb5, 0x00, 0x02, 0x00, 0xb6, 0x00, 0xb7, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0xb8, 0x00, 0x02, 0x00, 0x02, 0x00, 0xb9, 0x00, 0xba, 0x00, 0x03, 0x00, 0x07, 0x00, 0xbb, 0x00, + 0x03, 0x00, 0x02, 0x00, 0xbc, 0x00, 0x02, 0x00, 0xbd, 0x00, 0x3b, 0x00, 0x55, 0x00, 0xbe, 0x00, + 0x1c, 0x00, 0x02, 0x00, 0x02, 0x00, 0xbf, 0x00, 0xc0, 0x00, 0x03, 0x00, 0xc1, 0x00, 0x03, 0x00, + 0x02, 0x00, 0x02, 0x00, 0xc2, 0x00, 0xc3, 0x00, 0xc4, 0x00, 0x03, 0x00, 0x02, 0x00, 0xc5, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0xc6, 0x00, 0x13, 0x00, 0x02, 0x00, 0xc7, 0x00, 0xc8, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0xc9, 0x00, 0x03, 0x00, + 0xca, 0x00, 0xcb, 0x00, 0xcc, 0x00, 0xcd, 0x00, 0xcc, 0x00, 0xce, 0x00, 0xcc, 0x00, 0xca, 0x00, + 0xcb, 0x00, 0xcc, 0x00, 0xcd, 0x00, 0xcc, 0x00, 0xce, 0x00, 0xcc, 0x00, 0xca, 0x00, 0xcb, 0x00, + 0xcc, 0x00, 0xcd, 0x00, 0xcc, 0x00, 0xce, 0x00, 0xcc, 0x00, 0xca, 0x00, 0xcb, 0x00, 0xcc, 0x00, + 0xcd, 0x00, 0xcc, 0x00, 0xce, 0x00, 0xcc, 0x00, 0xca, 0x00, 0xcb, 0x00, 0xcc, 0x00, 0xcd, 0x00, + 0xcc, 0x00, 0xce, 0x00, 0xcc, 0x00, 0xca, 0x00, 0xcb, 0x00, 0xcc, 0x00, 0xcd, 0x00, 0xcc, 0x00, + 0xce, 0x00, 0xcc, 0x00, 0xca, 0x00, 0xcb, 0x00, 0xcc, 0x00, 0xcd, 0x00, 0xcc, 0x00, 0xce, 0x00, + 0xcc, 0x00, 0xca, 0x00, 0xcb, 0x00, 0xcc, 0x00, 0xcd, 0x00, 0xcc, 0x00, 0xce, 0x00, 0xcc, 0x00, + 0xca, 0x00, 0xcb, 0x00, 0xcc, 0x00, 0xcd, 0x00, 0xcc, 0x00, 0xce, 0x00, 0xcc, 0x00, 0xca, 0x00, + 0xcb, 0x00, 0xcc, 0x00, 0xcd, 0x00, 0xcc, 0x00, 0xce, 0x00, 0xcc, 0x00, 0xca, 0x00, 0xcb, 0x00, + 0xcc, 0x00, 0xcd, 0x00, 0xcc, 0x00, 0xce, 0x00, 0xcc, 0x00, 0xca, 0x00, 0xcb, 0x00, 0xcc, 0x00, + 0xcd, 0x00, 0xcc, 0x00, 0xce, 0x00, 0xcc, 0x00, 0xca, 0x00, 0xcb, 0x00, 0xcc, 0x00, 0xcd, 0x00, + 0xcc, 0x00, 0xce, 0x00, 0xcc, 0x00, 0xca, 0x00, 0xcb, 0x00, 0xcc, 0x00, 0xcd, 0x00, 0xcc, 0x00, + 0xce, 0x00, 0xcc, 0x00, 0xca, 0x00, 0xcb, 0x00, 0xcc, 0x00, 0xcd, 0x00, 0xcc, 0x00, 0xce, 0x00, + 0xcc, 0x00, 0xca, 0x00, 0xcb, 0x00, 0xcc, 0x00, 0xcd, 0x00, 0xcc, 0x00, 0xce, 0x00, 0xcc, 0x00, + 0xca, 0x00, 0xcb, 0x00, 0xcc, 0x00, 0xcd, 0x00, 0xcc, 0x00, 0xce, 0x00, 0xcc, 0x00, 0xca, 0x00, + 0xcb, 0x00, 0xcc, 0x00, 0xcd, 0x00, 0xcc, 0x00, 0xce, 0x00, 0xcc, 0x00, 0xca, 0x00, 0xcb, 0x00, + 0xcc, 0x00, 0xcd, 0x00, 0xcc, 0x00, 0xce, 0x00, 0xcc, 0x00, 0xca, 0x00, 0xcb, 0x00, 0xcc, 0x00, + 0xcd, 0x00, 0xcc, 0x00, 0xce, 0x00, 0xcc, 0x00, 0xca, 0x00, 0xcb, 0x00, 0xcc, 0x00, 0xcd, 0x00, + 0xcc, 0x00, 0xce, 0x00, 0xcc, 0x00, 0xca, 0x00, 0xcb, 0x00, 0xcc, 0x00, 0xcd, 0x00, 0xcc, 0x00, + 0xce, 0x00, 0xcc, 0x00, 0xca, 0x00, 0xcb, 0x00, 0xcc, 0x00, 0xcd, 0x00, 0xcc, 0x00, 0xce, 0x00, + 0xcc, 0x00, 0xca, 0x00, 0xcb, 0x00, 0xcc, 0x00, 0xcd, 0x00, 0xcc, 0x00, 0xce, 0x00, 0xcc, 0x00, + 0xca, 0x00, 0xcb, 0x00, 0xcc, 0x00, 0xcd, 0x00, 0xcc, 0x00, 0xce, 0x00, 0xcc, 0x00, 0xca, 0x00, + 0xcb, 0x00, 0xcc, 0x00, 0xcd, 0x00, 0xcc, 0x00, 0xce, 0x00, 0xcc, 0x00, 0xca, 0x00, 0xcb, 0x00, + 0xcc, 0x00, 0xcd, 0x00, 0xcc, 0x00, 0xce, 0x00, 0xcc, 0x00, 0xca, 0x00, 0xcb, 0x00, 0xcc, 0x00, + 0xcd, 0x00, 0xcc, 0x00, 0xce, 0x00, 0xcc, 0x00, 0xca, 0x00, 0xcb, 0x00, 0xcc, 0x00, 0xcd, 0x00, + 0xcc, 0x00, 0xce, 0x00, 0xcc, 0x00, 0xca, 0x00, 0xcb, 0x00, 0xcc, 0x00, 0xcd, 0x00, 0xcc, 0x00, + 0xce, 0x00, 0xcc, 0x00, 0xca, 0x00, 0xcb, 0x00, 0xcc, 0x00, 0xcd, 0x00, 0xcc, 0x00, 0xce, 0x00, + 0xcc, 0x00, 0xca, 0x00, 0xcb, 0x00, 0xcc, 0x00, 0xcd, 0x00, 0xcc, 0x00, 0xce, 0x00, 0xcc, 0x00, + 0xca, 0x00, 0xcb, 0x00, 0xcc, 0x00, 0xcd, 0x00, 0xcc, 0x00, 0xce, 0x00, 0xcc, 0x00, 0xca, 0x00, + 0xcb, 0x00, 0xcc, 0x00, 0xcd, 0x00, 0xcc, 0x00, 0xce, 0x00, 0xcc, 0x00, 0xca, 0x00, 0xcb, 0x00, + 0xcc, 0x00, 0xcd, 0x00, 0xcc, 0x00, 0xce, 0x00, 0xcc, 0x00, 0xca, 0x00, 0xcb, 0x00, 0xcc, 0x00, + 0xcd, 0x00, 0xcc, 0x00, 0xcf, 0x00, 0x56, 0x00, 0xd0, 0x00, 0x58, 0x00, 0x58, 0x00, 0xd1, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0xd2, 0x00, 0xd3, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0xd4, 0x00, 0x02, 0x00, 0xd5, 0x00, 0x02, 0x00, 0xd6, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0xd7, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x07, 0x00, 0x02, 0x00, 0x07, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x04, 0x00, + 0x02, 0x00, 0x03, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x35, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0xd8, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0xd9, 0x00, 0xda, 0x00, 0xdb, 0x00, 0xdc, 0x00, 0xdd, 0x00, 0xde, 0x00, 0xdf, 0x00, 0xe0, 0x00, + 0xe1, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0xe2, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0xe3, 0x00, 0xe4, 0x00, + 0x02, 0x00, 0x02, 0x00, 0xe5, 0x00, 0x02, 0x00, 0xe6, 0x00, 0x02, 0x00, 0x02, 0x00, 0xe7, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0xe8, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x03, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0xe9, 0x00, 0x02, 0x00, 0xea, 0x00, + 0x02, 0x00, 0x02, 0x00, 0xeb, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0xec, 0x00, + 0x02, 0x00, 0xed, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0xee, 0x00, 0xef, 0x00, 0xf0, 0x00, 0xf1, 0x00, 0xf2, 0x00, + 0xf3, 0x00, 0x02, 0x00, 0x02, 0x00, 0xf4, 0x00, 0xf5, 0x00, 0x02, 0x00, 0x02, 0x00, 0xf6, 0x00, + 0x02, 0x00, 0xf7, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0xf8, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0xf9, 0x00, 0x02, 0x00, 0xf9, 0x00, + 0x02, 0x00, 0x02, 0x00, 0xfa, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0xfb, 0x00, + 0x02, 0x00, 0x02, 0x00, 0xfc, 0x00, 0x03, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0xfd, 0x00, 0xfe, 0x00, + 0x02, 0x00, 0x02, 0x00, 0xff, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x00, 0x01, 0x01, 0x01, 0x02, 0x00, 0x15, 0x00, 0x02, 0x01, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x03, 0x01, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x04, 0x01, 0x02, 0x00, 0x02, 0x00, 0x05, 0x01, 0x06, 0x01, 0x07, 0x01, 0x08, 0x01, 0xa6, 0x00, + 0x6f, 0x00, 0x02, 0x00, 0x02, 0x00, 0x09, 0x01, 0x0a, 0x01, 0x02, 0x00, 0x02, 0x00, 0x03, 0x00, + 0x0b, 0x01, 0x02, 0x00, 0x0c, 0x01, 0x0d, 0x01, 0x0e, 0x01, 0x02, 0x00, 0x02, 0x00, 0x0f, 0x01, + 0x6f, 0x00, 0x02, 0x00, 0x02, 0x00, 0x10, 0x01, 0x11, 0x01, 0x03, 0x00, 0x12, 0x01, 0x13, 0x01, + 0x02, 0x00, 0x02, 0x00, 0x14, 0x01, 0x15, 0x01, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0xa6, 0x00, 0x16, 0x01, 0x03, 0x00, + 0x3b, 0x00, 0x02, 0x00, 0x02, 0x00, 0x3c, 0x00, 0x17, 0x01, 0x24, 0x00, 0x18, 0x01, 0x19, 0x01, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x1a, 0x01, 0x1b, 0x01, 0x1c, 0x01, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x1d, 0x01, 0x1e, 0x01, 0x03, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0xa6, 0x00, 0x1f, 0x01, 0x0f, 0x00, 0x20, 0x01, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x21, 0x01, 0x0f, 0x00, 0x03, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x22, 0x01, 0x23, 0x01, 0x03, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x4f, 0x00, 0x24, 0x01, 0x25, 0x01, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x14, 0x01, 0x26, 0x01, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x27, 0x01, 0x28, 0x01, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x29, 0x01, 0x2a, 0x01, 0x03, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x2b, 0x01, 0x2c, 0x01, 0x02, 0x00, + 0x2d, 0x01, 0x02, 0x00, 0x02, 0x00, 0x2e, 0x01, 0x24, 0x00, 0x2f, 0x01, 0x02, 0x00, 0x02, 0x00, + 0x30, 0x01, 0x31, 0x01, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x32, 0x01, 0x33, 0x01, 0x02, 0x00, 0x34, 0x01, 0x35, 0x01, 0x02, 0x00, + 0x02, 0x00, 0x36, 0x01, 0x37, 0x01, 0x38, 0x01, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x39, 0x01, 0x3a, 0x01, 0x03, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x3b, 0x01, 0x3c, 0x01, 0x03, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x3d, 0x01, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x3e, 0x01, 0x3f, 0x01, 0x02, 0x00, 0x02, 0x00, + 0x40, 0x01, 0x41, 0x01, 0x42, 0x01, 0x43, 0x01, 0x44, 0x01, 0x45, 0x01, 0x46, 0x01, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x47, 0x01, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x03, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x19, 0x01, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x06, 0x01, 0x02, 0x00, 0x48, 0x01, 0x49, 0x01, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x4a, 0x01, 0x4b, 0x01, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0xa6, 0x00, 0x4c, 0x01, 0x4d, 0x01, 0x4d, 0x01, + 0x4e, 0x01, 0x0b, 0x01, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x4f, 0x01, 0xb8, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x50, 0x01, 0x51, 0x01, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x52, 0x01, 0x53, 0x01, + 0x54, 0x01, 0x02, 0x00, 0x55, 0x01, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x5d, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x4a, 0x01, 0x56, 0x01, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0xef, 0x00, 0x57, 0x01, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x58, 0x01, 0x59, 0x01, 0x5a, 0x01, 0x5b, 0x01, + 0x07, 0x00, 0x07, 0x00, 0x07, 0x00, 0x5c, 0x01, 0x07, 0x00, 0x07, 0x00, 0x4d, 0x00, 0xc1, 0x00, + 0x4f, 0x01, 0x0e, 0x00, 0x09, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x5d, 0x01, 0x5e, 0x01, 0x5f, 0x01, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x06, 0x01, 0x03, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x60, 0x01, 0x03, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0xd9, 0x00, 0x06, 0x01, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x61, 0x01, 0x03, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x12, 0x01, + 0x62, 0x01, 0x63, 0x01, 0x64, 0x01, 0x65, 0x01, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x12, 0x01, 0x62, 0x01, 0x66, 0x01, 0x67, 0x01, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, + 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, + 0x68, 0x01, 0x02, 0x00, 0x86, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x69, 0x01, 0x6a, 0x01, + 0x6b, 0x01, 0x6c, 0x01, 0x6d, 0x01, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x6e, 0x01, 0x6f, 0x01, + 0x70, 0x01, 0x71, 0x01, 0x86, 0x00, 0x72, 0x01, 0x87, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, + 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, + 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, + 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x73, 0x01, + 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, + 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, + 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x74, 0x01, 0x75, 0x01, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, + 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, + 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x76, 0x01, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x77, 0x01, 0x94, 0x00, 0x94, 0x00, + 0x69, 0x01, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x78, 0x01, 0x79, 0x01, 0x02, 0x00, 0x02, 0x00, + 0x78, 0x01, 0x02, 0x00, 0x7a, 0x01, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, + 0x69, 0x01, 0x94, 0x00, 0x94, 0x00, 0x7b, 0x01, 0x92, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, + 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, + 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, + 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x03, 0x00, + 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, + 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, + 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, + 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, + 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, + 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, + 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, + 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x74, 0x01, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x7c, 0x01, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x01, 0x00, 0x01, 0x00, 0x07, 0x00, 0x07, 0x00, 0x07, 0x00, 0x07, 0x00, 0x07, 0x00, 0x07, 0x00, + 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, + 0x07, 0x00, 0x07, 0x00, 0x07, 0x00, 0x07, 0x00, 0x07, 0x00, 0x07, 0x00, 0x07, 0x00, 0x07, 0x00, + 0x07, 0x00, 0x07, 0x00, 0x07, 0x00, 0x07, 0x00, 0x07, 0x00, 0x07, 0x00, 0x07, 0x00, 0x01, 0x00, + 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, + 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, + 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, + 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00 + }; + + private static ReadOnlySpan NumericGraphemeLevel3Index => new byte[6096] + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x0e, 0x03, 0x03, 0x03, 0x00, 0x0e, 0x03, + 0x03, 0x03, 0x0f, 0x10, 0x03, 0x03, 0x03, 0x03, 0x03, 0x11, 0x03, 0x03, 0x12, 0x13, 0x14, 0x03, + 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, + 0x03, 0x03, 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, + 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x15, + 0x03, 0x15, 0x15, 0x03, 0x15, 0x15, 0x03, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x00, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, + 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x16, 0x03, 0x15, + 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, 0x15, 0x15, 0x03, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x16, + 0x03, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, + 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x15, 0x15, 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, + 0x15, 0x15, 0x15, 0x15, 0x03, 0x15, 0x15, 0x15, 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, + 0x15, 0x15, 0x16, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, + 0x15, 0x15, 0x15, 0x17, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x17, 0x15, 0x03, 0x17, 0x17, + 0x17, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x17, 0x17, 0x17, 0x17, 0x15, 0x17, 0x17, + 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x15, 0x15, 0x03, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, + 0x03, 0x15, 0x17, 0x17, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x03, 0x15, 0x17, + 0x17, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, 0x17, 0x17, 0x03, 0x03, 0x17, 0x17, 0x15, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x18, 0x19, 0x1a, 0x12, 0x14, 0x1b, 0x03, 0x03, 0x03, 0x03, 0x15, 0x03, + 0x03, 0x15, 0x15, 0x17, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x03, 0x17, 0x17, + 0x17, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x03, 0x03, 0x15, 0x15, 0x15, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, + 0x15, 0x15, 0x03, 0x03, 0x03, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x17, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x15, 0x15, 0x17, 0x03, 0x17, 0x17, 0x15, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x03, 0x15, 0x15, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x12, 0x13, 0x14, 0x18, 0x19, 0x1a, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x17, + 0x15, 0x17, 0x17, 0x03, 0x03, 0x03, 0x17, 0x17, 0x17, 0x03, 0x17, 0x17, 0x17, 0x15, 0x03, 0x03, + 0x1c, 0x1d, 0x1e, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x15, 0x17, 0x17, 0x17, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, + 0x15, 0x17, 0x17, 0x17, 0x17, 0x03, 0x15, 0x15, 0x15, 0x03, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x1f, 0x20, 0x21, 0x22, 0x20, 0x21, 0x22, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x03, 0x17, 0x15, + 0x17, 0x17, 0x15, 0x17, 0x17, 0x03, 0x15, 0x17, 0x17, 0x03, 0x17, 0x17, 0x15, 0x15, 0x03, 0x03, + 0x15, 0x15, 0x17, 0x17, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x03, 0x15, 0x17, + 0x17, 0x15, 0x15, 0x15, 0x15, 0x03, 0x17, 0x17, 0x17, 0x03, 0x17, 0x17, 0x17, 0x15, 0x16, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x03, + 0x1c, 0x1d, 0x1e, 0x12, 0x13, 0x14, 0x18, 0x19, 0x1a, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x03, 0x03, 0x03, 0x03, 0x15, + 0x17, 0x17, 0x15, 0x15, 0x15, 0x03, 0x15, 0x03, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x15, + 0x03, 0x03, 0x17, 0x17, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x15, 0x03, 0x17, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, + 0x03, 0x15, 0x03, 0x17, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x13, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, + 0x2f, 0x30, 0x31, 0x32, 0x03, 0x15, 0x03, 0x15, 0x03, 0x15, 0x03, 0x03, 0x03, 0x03, 0x17, 0x17, + 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x17, + 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x15, + 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, + 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x15, + 0x15, 0x17, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x15, 0x15, 0x17, 0x17, 0x15, 0x15, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x17, 0x17, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, + 0x03, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x15, 0x03, 0x17, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x03, 0x03, + 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x03, 0x03, 0x03, 0x15, 0x03, 0x03, + 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, + 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, + 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, + 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x11, 0x0f, 0x10, 0x36, 0x37, 0x38, 0x39, + 0x3a, 0x3b, 0x1c, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x1d, 0x44, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x45, 0x46, + 0x47, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x15, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x17, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x17, 0x17, + 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x15, 0x17, 0x17, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, + 0x1f, 0x20, 0x21, 0x22, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x15, 0x00, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x15, 0x15, 0x15, 0x17, 0x17, 0x17, 0x17, 0x15, 0x15, 0x17, 0x17, 0x17, 0x03, 0x03, 0x03, 0x03, + 0x17, 0x17, 0x15, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x15, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, + 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x11, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x17, 0x17, 0x15, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x17, 0x15, 0x17, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, + 0x15, 0x03, 0x15, 0x03, 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x17, 0x17, 0x17, + 0x17, 0x17, 0x17, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, 0x15, + 0x15, 0x15, 0x15, 0x15, 0x17, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x17, 0x15, 0x17, 0x17, 0x17, + 0x17, 0x17, 0x15, 0x17, 0x17, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x15, 0x15, 0x17, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x17, 0x15, 0x15, 0x15, 0x15, 0x17, 0x17, 0x15, 0x15, 0x17, 0x15, 0x15, 0x15, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x17, 0x15, 0x15, 0x17, 0x17, 0x17, 0x15, 0x17, 0x15, + 0x03, 0x03, 0x03, 0x03, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x15, 0x15, 0x15, 0x15, + 0x15, 0x15, 0x15, 0x15, 0x17, 0x17, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x15, 0x15, 0x15, 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, + 0x15, 0x17, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x15, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x15, 0x03, 0x03, 0x17, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x15, 0x4e, 0x00, 0x00, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x0e, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x0e, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x4f, 0x03, 0x03, 0x03, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x4f, 0x11, 0x0f, 0x10, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x0e, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x50, 0x51, 0x27, 0x52, 0x53, 0x29, 0x54, 0x55, 0x56, 0x57, 0x58, 0x19, 0x59, 0x5a, 0x5b, 0x20, + 0x20, 0x21, 0x22, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x1c, 0x5c, 0x5d, 0x3f, 0x1d, 0x5e, 0x1e, + 0x1e, 0x5f, 0x44, 0x03, 0x03, 0x4a, 0x3f, 0x60, 0x61, 0x1f, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x0e, 0x0e, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x0e, 0x0e, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x0e, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x0e, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, + 0x0e, 0x0e, 0x0e, 0x0e, 0x03, 0x03, 0x03, 0x03, 0x0e, 0x0e, 0x0e, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x11, 0x0f, 0x10, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x1c, 0x5c, 0x5d, 0x62, 0x63, 0x64, 0x1b, + 0x45, 0x46, 0x47, 0x3c, 0x11, 0x0f, 0x10, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x1c, 0x5c, 0x5d, + 0x62, 0x63, 0x64, 0x1b, 0x45, 0x46, 0x47, 0x3c, 0x11, 0x0f, 0x10, 0x36, 0x37, 0x38, 0x39, 0x3a, + 0x3b, 0x1c, 0x5c, 0x5d, 0x62, 0x63, 0x64, 0x1b, 0x45, 0x46, 0x47, 0x3c, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x4f, 0x5c, 0x5d, 0x62, 0x63, 0x64, + 0x1b, 0x45, 0x46, 0x47, 0x3c, 0x11, 0x0f, 0x10, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x1c, 0x4f, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x0e, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x0e, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x0e, 0x0e, 0x0e, 0x0e, 0x03, + 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x03, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, + 0x0e, 0x0e, 0x0e, 0x03, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, + 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, + 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x03, 0x03, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, + 0x0e, 0x0e, 0x0e, 0x03, 0x0e, 0x03, 0x0e, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x0e, 0x03, 0x03, + 0x03, 0x0e, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x0e, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x0e, 0x0e, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x0e, 0x03, 0x03, 0x0e, 0x03, 0x03, 0x03, 0x03, 0x0e, 0x03, 0x0e, 0x03, + 0x03, 0x03, 0x03, 0x0e, 0x0e, 0x0e, 0x03, 0x0e, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x11, 0x0f, 0x10, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x1c, + 0x11, 0x0f, 0x10, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x1c, 0x11, 0x0f, 0x10, 0x36, 0x37, 0x38, + 0x39, 0x3a, 0x3b, 0x1c, 0x03, 0x0e, 0x0e, 0x0e, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x0e, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x0e, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x0e, + 0x03, 0x03, 0x03, 0x03, 0x0e, 0x0e, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x0e, 0x0e, 0x0e, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x0e, 0x0e, 0x03, 0x03, 0x03, + 0x0e, 0x03, 0x03, 0x03, 0x03, 0x0e, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, + 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x13, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x1f, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x20, 0x21, 0x22, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, + 0x0e, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x1c, 0x3c, 0x3d, 0x03, 0x03, 0x0e, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x20, 0x21, 0x22, 0x48, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x20, 0x21, 0x22, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x1c, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x1c, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, + 0x03, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x3d, 0x6e, 0x6f, 0x70, 0x71, 0x72, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x0e, 0x03, 0x0e, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x73, 0x74, 0x75, 0x76, 0x3e, 0x77, 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, 0x3f, + 0x15, 0x15, 0x15, 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x20, 0x21, 0x22, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x1f, + 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x15, 0x03, 0x03, 0x03, 0x15, 0x03, 0x03, 0x03, 0x03, 0x15, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x17, 0x17, 0x15, 0x15, 0x17, 0x03, 0x03, 0x03, 0x03, 0x15, 0x03, 0x03, 0x03, + 0x12, 0x13, 0x14, 0x18, 0x19, 0x1a, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x17, 0x17, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, + 0x17, 0x17, 0x17, 0x17, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, + 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x15, 0x17, 0x17, 0x15, 0x15, 0x15, 0x15, 0x17, 0x17, 0x15, 0x15, 0x17, 0x17, + 0x17, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x17, + 0x17, 0x15, 0x15, 0x17, 0x17, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x17, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x03, 0x03, 0x03, + 0x15, 0x03, 0x15, 0x15, 0x15, 0x03, 0x03, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x17, 0x15, 0x15, 0x17, 0x17, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x17, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x17, 0x17, 0x15, 0x17, 0x17, 0x15, 0x17, 0x17, 0x03, 0x17, 0x15, 0x03, 0x03, + 0x80, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, + 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x80, 0x81, 0x81, 0x81, + 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, + 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x80, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, + 0x81, 0x81, 0x81, 0x81, 0x80, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, + 0x81, 0x81, 0x81, 0x81, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x03, 0x03, 0x03, 0x03, 0x35, 0x35, 0x35, 0x35, 0x35, + 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x22, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x1c, 0x03, 0x03, 0x03, 0x03, 0x21, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x1f, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x4a, 0x03, 0x4a, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x1c, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x20, 0x21, 0x22, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, + 0x1c, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x1d, 0x82, 0x83, 0x84, 0x5e, 0x85, 0x86, + 0x87, 0x88, 0x1e, 0x89, 0x8a, 0x8b, 0x5f, 0x8c, 0x8d, 0x8e, 0x8f, 0x44, 0x90, 0x91, 0x92, 0x60, + 0x93, 0x94, 0x95, 0x96, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x12, 0x13, 0x20, 0x49, 0x3f, 0x5e, 0x5f, 0x60, 0x49, 0x1c, 0x3f, 0x1d, 0x5e, 0x1e, 0x5f, 0x49, + 0x1c, 0x3f, 0x1d, 0x5e, 0x1e, 0x44, 0x60, 0x1c, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x49, + 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f, 0x1d, 0x83, 0x5e, 0x5e, 0x5e, 0x5e, + 0x5e, 0x1e, 0x5f, 0x49, 0x3f, 0x13, 0x13, 0x53, 0x14, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x1f, 0x12, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x03, 0x03, + 0x15, 0x20, 0x21, 0x22, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x1c, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, + 0x41, 0x42, 0x43, 0x1d, 0x82, 0x83, 0x84, 0x5e, 0x85, 0x86, 0x87, 0x88, 0x03, 0x03, 0x03, 0x03, + 0x20, 0x49, 0x1c, 0x3f, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x43, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x88, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x20, 0x21, 0x1c, 0x3c, 0x1d, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x20, 0x21, 0x22, 0x1c, 0x3c, 0x1d, 0x1e, 0x44, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x20, 0x21, 0x22, 0x48, 0x49, 0x1c, 0x3c, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x20, 0x21, 0x22, 0x48, 0x48, 0x49, 0x1c, 0x3c, 0x1d, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x20, 0x49, 0x1c, 0x3c, 0x1d, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x20, 0x1c, 0x3c, 0x1d, 0x21, 0x22, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x97, 0x13, 0x03, 0x03, + 0x20, 0x21, 0x22, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x1c, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, + 0x03, 0x03, 0x1d, 0x82, 0x83, 0x84, 0x5e, 0x85, 0x86, 0x87, 0x88, 0x1e, 0x89, 0x8a, 0x8b, 0x5f, + 0x8c, 0x8d, 0x8e, 0x8f, 0x44, 0x90, 0x91, 0x92, 0x60, 0x93, 0x94, 0x95, 0x96, 0x61, 0x98, 0x99, + 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, 0xa0, 0x57, 0x12, 0x52, 0xa1, 0x13, 0xa2, 0x53, 0x14, 0x58, + 0x03, 0x15, 0x15, 0x15, 0x03, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x15, 0x15, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x15, + 0x11, 0x0f, 0x10, 0x36, 0x1c, 0x3c, 0x1d, 0x1e, 0x13, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x20, 0x3f, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x20, 0x1c, 0x3c, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x20, 0x49, 0x1c, 0x3c, 0x1d, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x20, 0x21, 0x22, 0x48, 0x1c, 0x3c, 0x1d, 0x1e, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x20, 0x21, 0x22, 0x48, 0x1c, 0x3c, 0x1d, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x20, 0x49, 0x1c, 0x3f, 0x1d, 0x1e, + 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x11, 0x0f, 0x10, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x1c, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, + 0x42, 0x43, 0x1d, 0x82, 0x83, 0x84, 0x5e, 0x85, 0x86, 0x87, 0x88, 0x13, 0x12, 0x52, 0x53, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x20, 0x21, 0x22, + 0x48, 0x49, 0x1c, 0x3c, 0x3d, 0x1d, 0x13, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x15, 0x20, 0x1c, 0x3c, 0x1d, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x20, 0x21, 0x22, 0x48, 0x1c, 0x3c, 0x1d, 0x03, 0x03, 0x03, 0x03, + 0x17, 0x15, 0x17, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, + 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x11, 0x0f, 0x10, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x1c, 0x3c, 0x3d, 0x3e, 0x3f, + 0x40, 0x41, 0x42, 0x43, 0x1d, 0x1e, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, + 0x17, 0x17, 0x17, 0x15, 0x15, 0x15, 0x15, 0x17, 0x17, 0x15, 0x15, 0x03, 0x03, 0x16, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x16, 0x03, 0x03, + 0x15, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x17, 0x15, 0x15, 0x15, + 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x17, 0x17, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x17, 0x17, 0x17, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x17, + 0x17, 0x03, 0x16, 0x16, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x15, 0x15, 0x03, 0x17, 0x15, + 0x03, 0x20, 0x21, 0x22, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x1c, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, + 0x41, 0x42, 0x43, 0x1d, 0x1e, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x17, 0x17, 0x17, 0x15, + 0x15, 0x15, 0x17, 0x17, 0x15, 0x17, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x03, + 0x17, 0x17, 0x17, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x15, 0x17, 0x17, 0x17, 0x17, 0x03, 0x03, 0x17, 0x17, 0x03, 0x03, 0x17, 0x17, 0x17, 0x03, 0x03, + 0x03, 0x03, 0x17, 0x17, 0x03, 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, 0x03, + 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x17, 0x17, 0x17, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, + 0x17, 0x17, 0x15, 0x15, 0x15, 0x17, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x03, 0x03, 0x03, 0x03, 0x15, 0x03, + 0x15, 0x17, 0x17, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x17, 0x15, 0x17, 0x17, 0x15, 0x17, 0x15, + 0x15, 0x17, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x17, 0x17, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, 0x17, 0x17, 0x17, 0x17, 0x15, 0x15, 0x17, 0x15, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x03, 0x03, + 0x17, 0x17, 0x17, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x17, 0x17, 0x15, 0x17, 0x15, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x17, 0x15, 0x17, 0x17, + 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x17, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x17, 0x17, 0x15, 0x15, 0x15, 0x15, 0x17, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, + 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x1c, 0x3c, 0x03, 0x03, 0x03, 0x03, + 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x17, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x1c, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, + 0x41, 0x42, 0x43, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x15, 0x17, 0x17, 0x17, 0x17, 0x17, 0x03, 0x17, 0x17, 0x03, 0x03, 0x15, 0x15, 0x17, 0x15, 0x16, + 0x17, 0x16, 0x17, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x17, 0x17, 0x17, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, 0x15, 0x15, 0x17, 0x17, 0x17, 0x17, + 0x15, 0x03, 0x03, 0x03, 0x17, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x17, 0x16, 0x15, 0x15, 0x15, 0x15, 0x03, + 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x17, 0x17, 0x15, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, + 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x17, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x17, + 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x17, 0x15, + 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x20, 0x21, 0x22, 0x48, 0x49, 0x4a, + 0x4b, 0x4c, 0x4d, 0x1c, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x1d, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, + 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x17, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, + 0x15, 0x17, 0x15, 0x15, 0x17, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, 0x03, 0x15, 0x03, 0x15, 0x15, 0x03, 0x15, + 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x16, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x17, 0x17, 0x17, 0x17, 0x17, 0x03, + 0x15, 0x15, 0x03, 0x17, 0x17, 0x15, 0x17, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x15, 0x15, 0x17, 0x17, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0xa3, 0x23, 0xa4, 0xa5, 0x24, 0xa6, 0x25, 0xa7, 0x26, 0x18, 0x18, 0x27, 0x19, 0x28, 0x1a, 0x29, + 0x12, 0x13, 0x13, 0x14, 0xa3, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x21, 0x22, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x22, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x48, + 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x20, 0x21, 0x22, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x20, 0x21, + 0x22, 0x48, 0x49, 0x21, 0x22, 0x22, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x20, 0x21, 0x22, 0x22, + 0x48, 0x49, 0xa8, 0xa9, 0x20, 0x21, 0x22, 0x22, 0x48, 0x49, 0x22, 0x22, 0x48, 0x48, 0x48, 0x48, + 0x4a, 0x4b, 0x4b, 0x4b, 0x4c, 0x4c, 0x4d, 0x4d, 0x4d, 0x4d, 0x21, 0x22, 0x48, 0x49, 0x4a, 0x20, + 0x21, 0x22, 0x48, 0x48, 0x49, 0x49, 0x21, 0x22, 0x20, 0x21, 0x52, 0x53, 0x58, 0x52, 0x53, 0x19, + 0x12, 0x57, 0x12, 0x12, 0x13, 0x52, 0x53, 0x3e, 0x3f, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x03, 0x1c, 0x1d, 0x44, 0xaa, 0xab, + 0xac, 0xad, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x1f, 0x20, 0x21, 0x22, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x1c, 0x5c, 0x5d, 0x62, 0x63, 0x64, + 0x1b, 0x45, 0x46, 0x47, 0x20, 0x21, 0x22, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, + 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, + 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, + 0x03, 0x03, 0x03, 0x03, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x17, 0x15, 0x15, 0x15, 0x03, 0x03, 0x03, 0x17, 0x15, 0x15, + 0x15, 0x15, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x15, 0x15, 0x15, 0x15, + 0x15, 0x15, 0x15, 0x03, 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, + 0x1b, 0x45, 0x46, 0x47, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x42, 0x43, 0x20, 0x21, 0x22, 0x48, 0x49, 0x20, 0x49, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x04, 0x05, + 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, + 0x0c, 0x0d, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x04, 0x05, 0x06, 0x07, + 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, + 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, + 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, + 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, + 0x15, 0x15, 0x03, 0x15, 0x15, 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x15, 0x15, + 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x41, 0x42, 0x43, 0x1d, 0x82, 0x83, 0x84, 0x5e, 0x85, 0x86, 0x87, 0x88, 0x1e, 0x89, 0x8a, 0x8b, + 0x5f, 0x8c, 0x8d, 0x8e, 0x8f, 0x44, 0x90, 0x91, 0x92, 0x60, 0x93, 0x94, 0x95, 0x96, 0x61, 0x98, + 0x61, 0xae, 0xaf, 0x20, 0x21, 0x22, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x03, 0x12, 0x13, 0x14, + 0x03, 0x20, 0x21, 0x44, 0x61, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x5f, 0x8c, 0x8d, 0x8e, 0x8f, 0x44, 0x90, 0x91, 0x92, 0x60, 0x93, 0x94, 0x95, 0x96, 0x03, 0x21, + 0x22, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x1c, 0x84, 0x85, 0x89, 0x44, 0x13, 0x57, 0x03, 0x03, + 0x4f, 0x4f, 0x11, 0x0f, 0x10, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x1f, 0x1f, 0x0e, 0x0e, 0x0e, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x0e, 0x0e, 0x0e, 0x0e, + 0x0e, 0x0e, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x0e, 0x0e, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x0e, 0x03, + 0x03, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x0e, 0x0e, 0x0e, + 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, + 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, + 0x03, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x0e, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x03, 0x0e, 0x0e, 0x0e, 0x0e, + 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x15, 0x15, 0x15, 0x15, 0x15, + 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, + 0x03, 0x03, 0x03, 0x03, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x0e, 0x0e, + 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x03, 0x0e, 0x0e, 0x0e, 0x0e, + 0x4d, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03 + }; + + // Contains decimal digit values in high nibble; digit values in low nibble + private static ReadOnlySpan DigitValues => new byte[177] + { + 0x00, 0x00, 0x00, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0xaa, 0x00, 0x03, + 0x04, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00 + }; + + // Contains numeric values + private static ReadOnlySpan NumericValues => new byte[1416] + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xbf, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xbf, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x3f, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x40, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x40, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x40, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x40, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x3f, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd0, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x3f, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe8, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xbf, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xbf, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x3f, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc8, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x40, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x59, 0x40, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x8f, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x40, 0x9a, 0x99, 0x99, 0x99, 0x99, 0x99, 0x79, 0x3f, + 0x9a, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x3f, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0xa3, 0x3f, + 0x9a, 0x99, 0x99, 0x99, 0x99, 0x99, 0xa9, 0x3f, 0x9a, 0x99, 0x99, 0x99, 0x99, 0x99, 0xb9, 0x3f, + 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0xc3, 0x3f, 0x9a, 0x99, 0x99, 0x99, 0x99, 0x99, 0xc9, 0x3f, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x40, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x40, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x40, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x40, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xbf, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xbf, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x40, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x40, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x40, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x40, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x40, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4e, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x51, 0x40, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x56, 0x40, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0xc3, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x31, 0x40, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x40, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x40, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x40, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x40, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x92, 0x24, 0x49, 0x92, 0x24, 0x49, 0xc2, 0x3f, 0x1c, 0xc7, 0x71, 0x1c, 0xc7, 0x71, 0xbc, 0x3f, + 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xd5, 0x3f, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xe5, 0x3f, + 0x9a, 0x99, 0x99, 0x99, 0x99, 0x99, 0xd9, 0x3f, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0xe3, 0x3f, + 0x9a, 0x99, 0x99, 0x99, 0x99, 0x99, 0xe9, 0x3f, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xc5, 0x3f, + 0xab, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xea, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd8, 0x3f, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe4, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xec, 0x3f, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x26, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x40, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x7f, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0xb3, 0x40, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x6a, 0xe8, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6a, 0xf8, 0x40, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2a, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2c, 0x40, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2e, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35, 0x40, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x37, 0x40, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x39, 0x40, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3a, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3b, 0x40, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3d, 0x40, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x40, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x41, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x40, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x42, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x40, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x43, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x44, 0x40, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x45, 0x40, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x46, 0x40, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x47, 0x40, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x48, 0x40, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xbf, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x69, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x72, 0x40, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x82, 0x40, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x85, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x89, 0x40, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x8c, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x9f, 0x40, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0xa7, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xaf, 0x40, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0xb7, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0xbb, 0x40, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xbf, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x94, 0xc1, 0x40, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0xd3, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4c, 0xdd, 0x40, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0xe3, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4c, 0xed, 0x40, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0xf1, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0xf3, 0x40, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xf9, 0xf5, 0x40, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xed, 0x3f, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x6a, 0x08, 0x41, 0x00, 0x00, 0x00, 0x00, 0x80, 0x4f, 0x12, 0x41, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x6a, 0x18, 0x41, 0x00, 0x00, 0x00, 0x00, 0x80, 0x84, 0x1e, 0x41, + 0x00, 0x00, 0x00, 0x00, 0x80, 0x4f, 0x22, 0x41, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x5c, 0x25, 0x41, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x6a, 0x28, 0x41, 0x00, 0x00, 0x00, 0x00, 0x40, 0x77, 0x2b, 0x41, + 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xb5, 0x3f, 0xab, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xda, 0x3f, + 0xab, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xe2, 0x3f, 0x9a, 0x99, 0x99, 0x99, 0x99, 0x99, 0x69, 0x3f, + 0x9a, 0x99, 0x99, 0x99, 0x99, 0x99, 0x89, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x3f, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa8, 0x3f, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x5e, 0x0a, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5e, 0x1a, 0x41, + 0x00, 0x00, 0x00, 0x00, 0x80, 0x84, 0x2e, 0x41, 0x00, 0x00, 0x00, 0x00, 0x84, 0xd7, 0x97, 0x41, + 0x00, 0x00, 0x00, 0x20, 0x5f, 0xa0, 0x02, 0x42, 0x00, 0x00, 0x00, 0xa2, 0x94, 0x1a, 0x6d, 0x42, + 0x00, 0x00, 0x00, 0x00, 0xd0, 0x12, 0x63, 0x41, 0x00, 0x00, 0x00, 0x00, 0xd0, 0x12, 0x73, 0x41, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xbf + }; + + // Contains grapheme cluster segmentation values + private static ReadOnlySpan GraphemeSegmentationValues => new byte[177] + { + 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x09, 0x0a, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0c, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x06 + }; + + } +} diff --git a/src/coreclr/System.Private.CoreLib/Tools/GenUnicodeProp/Program.cs b/src/coreclr/System.Private.CoreLib/Tools/GenUnicodeProp/Program.cs index 49a455467a51b..3bef2414ec61a 100644 --- a/src/coreclr/System.Private.CoreLib/Tools/GenUnicodeProp/Program.cs +++ b/src/coreclr/System.Private.CoreLib/Tools/GenUnicodeProp/Program.cs @@ -11,8 +11,8 @@ namespace GenUnicodeProp { internal static class Program { - internal static bool Verbose = false; - internal static bool IncludeCasingData = false; + internal static bool Verbose; + internal static bool IncludeCasingData; private const string SOURCE_NAME = "CharUnicodeInfoData.cs"; diff --git a/src/coreclr/System.Private.CoreLib/Tools/InvariantCasing/InvariantCasing.csproj b/src/coreclr/System.Private.CoreLib/Tools/InvariantCasing/InvariantCasing.csproj deleted file mode 100644 index d75be91610c60..0000000000000 --- a/src/coreclr/System.Private.CoreLib/Tools/InvariantCasing/InvariantCasing.csproj +++ /dev/null @@ -1,9 +0,0 @@ - - - - Exe - net5.0 - enable - - - diff --git a/src/coreclr/System.Private.CoreLib/Tools/InvariantCasing/Program.cs b/src/coreclr/System.Private.CoreLib/Tools/InvariantCasing/Program.cs deleted file mode 100644 index 43066c5db6802..0000000000000 --- a/src/coreclr/System.Private.CoreLib/Tools/InvariantCasing/Program.cs +++ /dev/null @@ -1,262 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -using System; -using System.IO; -using System.Globalization; -using System.Collections.Generic; -using System.Runtime.CompilerServices; - -namespace InvariantCasing -{ - public class Program - { - - static void Main(string[] args) - { - if (args.Length != 1) - { - Console.WriteLine("Usage:"); - Console.WriteLine("InvariantCasing [UnicodeData.txt]"); - Console.WriteLine("Unicode Data File can be downloaded from https://www.unicode.org/Public/UCD/latest/ucd/"); - return; - } - Parser p = new(); - p.ParseFile(args[0]); - - p.WriteSurrogateCasing(true); - p.WriteSurrogateCasing(false); - - p.GenerateTables(); - - Console.WriteLine("Done!"); - } - } - - public class Parser - { - private Dictionary upperCasing = new(); - private Dictionary lowerCasing = new(); - - public void ParseFile(string unicodeFileName) - { - try - { - using StreamReader stream = new StreamReader(unicodeFileName); - while (!stream.EndOfStream) - { - string line = stream.ReadLine(); - string[] parts = line.Split(';'); - if (parts.Length < 15) - { - Console.WriteLine($"Error in the line: {line}"); - return; - } - - int from = int.Parse(parts[0], NumberStyles.HexNumber, null); - if (from != 0x0130 && from != 0x0131 && from != 0x017f) - { - if (parts[13].Length > 0) - { - lowerCasing[from] = int.Parse(parts[13], NumberStyles.HexNumber, null); - } - else if (parts[14].Length > 0) - { - upperCasing[from] = int.Parse(parts[14], NumberStyles.HexNumber, null); - } - } - } - } - catch (Exception e) - { - Console.WriteLine($"{e}"); - } - } - - internal void WriteSurrogateCasing(bool upper) - { - // H = (S - 0x10000) / 0x400 + 0xD800 - // L = (S - 0x10000) % 0x400 + 0xDC00 - - var table = upper ? upperCasing : lowerCasing; - - Console.WriteLine("----------------------------------------------------------------"); - Console.WriteLine(upper ? $" ******* Surrogate Upper Casing" : $" ******* Surrogate Lower Casing"); - Console.WriteLine("----------------------------------------------------------------"); - - int last = 0; - - foreach (KeyValuePair kvp in table) - { - if (kvp.Key > 0xFFFF) - { - int hFrom = (kvp.Key - 0x10000) / 0x400 + 0xD800; - int lFrom = (kvp.Key - 0x10000) % 0x400 + 0xDC00; - - int hTo = (kvp.Value - 0x10000) / 0x400 + 0xD800; - int lTo = (kvp.Value - 0x10000) % 0x400 + 0xDC00; - - if (last+1 != lFrom) - { - Console.WriteLine(); - } - - last = lFrom; - - Console.WriteLine($"0x{kvp.Key, -10:x}(0x{hFrom,-4:x}, 0x{lFrom,-4:x}) ..... 0x{kvp.Value,-10:x}(0x{hTo,-4:x}, 0x{lTo,-4:x})"); - } - } - } - - public void WriteTable(ushort [] table, string name) - { - int index = 0; - Console.WriteLine($" private static readonly ushort [] {name} = "); - Console.WriteLine($" {{"); - Console.WriteLine($" // 0 1 2 3 4 5 6 7 8 9 A B C D E F"); - Console.Write($" "); - - while (index < table.Length) - { - if (index > 0 && index % 16 == 0) - { - Console.WriteLine($" // 0x{index - 16:x4} - 0x{index - 1:x4}"); - Console.Write($" "); - } - Console.Write($"0x{table[index]:x4}, "); - index++; - } - - Console.WriteLine($" // 0x{index - 16:x4} - 0x{index - 1:x4}"); - Console.WriteLine($" }};"); - } - - public void GenerateTables() - { - GenerateTable8_4_4(upperCasing, out ushort[] u1, out ushort[] u2, out ushort[] u3); - GenerateTable8_4_4(lowerCasing, out ushort[] l1, out ushort[] l2, out ushort[] l3); - - WriteTable(u1, "UpperCase1"); - WriteTable(u2, "UpperCase2"); - WriteTable(u3, "UpperCase3"); - WriteTable(l1, "LowerCase1"); - WriteTable(l2, "LowerCase2"); - WriteTable(l3, "LowerCase3"); - - Console.WriteLine($"Upper Casing Tables Sizes: u1 = {u1.Length}, u2 = {u2.Length}, u3 = {u3.Length} .... total = {u1.Length + u2.Length + u3.Length}, Total Bytes: {(u1.Length + u2.Length + u3.Length) * sizeof(ushort)} "); - Console.WriteLine($"lower Casing Tables Sizes: l1 = {l1.Length}, l2 = {l2.Length}, l3 = {l3.Length} .... total = {l1.Length + l2.Length + l3.Length}, Total Bytes: {(l1.Length + l2.Length + l3.Length) * sizeof(ushort)} "); - Console.WriteLine($"Total Upper Casing entries: {upperCasing.Keys.Count} ... in bytes {sizeof(ushort) * upperCasing.Keys.Count}"); - Console.WriteLine($"Total Lower Casing entries: {lowerCasing.Keys.Count} ... in bytes {sizeof(ushort) * lowerCasing.Keys.Count}"); - } - - //[MethodImpl(MethodImplOptions.AggressiveInlining)] - //private static char ToLower(char c) - //{ - // ushort v = LowerCase1[c >> 8]; - // v = LowerCase2[v + ((c >> 4) & 0xF)]; - // v = LowerCase3[v + (c & 0xF)]; - - // return v == 0 ? c : (char)v; - //} - - //[MethodImpl(MethodImplOptions.AggressiveInlining)] - //private static char ToUpper(char c) - //{ - // ushort v = UpperCase1[c >> 8]; - // v = UpperCase2[v + ((c >> 4) & 0xF)]; - // v = UpperCase3[v + (c & 0xF)]; - - // return v == 0 ? c : (char)v; - //} - - private static void GenerateTable8_4_4(Dictionary rawData, out ushort[] l1, out ushort[] l2, out ushort[] l3) - { - Dictionary level2Hash = new Dictionary(); - Dictionary level3Hash = new Dictionary(); - - List level1Index = new List(); - List level2Index = new List(); - List level3Data = new List(); - - const ushort planes = 1; // can be 17 - ushort ch = 0; - ushort valueInHash; - - for (ushort i = 0; i < 256 * planes; i++) - { - // Generate level 1 indice - - // This is the row data which contains a row of indice for level 2 table. - string level2RowData = ""; - - for (ushort j = 0; j < 16; j++) - { - // Generate level 2 indice - string level3RowData = ""; - for (ushort k = 0; k < 16; k++) - { - // Generate level 3 values by grouping 16 values together. - // each element of the 16 value group is seperated by ";" - - if (rawData.TryGetValue(ch, out int value)) - { - // There is data defined for this codepoint. Use it. - level3RowData = level3RowData + value + ";"; - } - else - { - // There is no data defined for this codepoint. Use the default value - // specified in the ctor. - level3RowData = level3RowData + 0 + ";"; - } - ch++; - } - - // Check if the pattern of these 16 values happens before. - - if (!level3Hash.TryGetValue(level3RowData, out valueInHash)) - { - // This is a new group in the level 3 values. - // Get the current count of level 3 group count for this plane. - valueInHash = (ushort)level3Data.Count; - // Store this count to the hash table, keyed by the pattern of these 16 values. - level3Hash[level3RowData] = valueInHash; - - // Populate the 16 values into level 3 data table for this plane. - string[] values = level3RowData.Split(';'); - foreach (string s in values) - { - if (s.Length > 0) - level3Data.Add(ushort.Parse(s)); - } - - } - - level2RowData = level2RowData + String.Format("{0:x4}", valueInHash) + ","; - } - - if (!level2Hash.TryGetValue(level2RowData, out valueInHash)) - { - // Get the count of the current level 2 index table. - valueInHash = (ushort)level2Index.Count; - level2Hash[level2RowData] = valueInHash; - - // Populate the 16 values into level 2 data table for this plane. - foreach (string s in level2RowData.Split(',')) - { - if (s.Length > 0) - level2Index.Add(ushort.Parse(s, NumberStyles.HexNumber, CultureInfo.InvariantCulture)); - } - - } - - // Populate the index values into level 1 index table. - level1Index.Add(valueInHash); - } - - l1 = level1Index.ToArray(); - l2 = level2Index.ToArray(); - l3 = level3Data.ToArray(); - } - } -} diff --git a/src/libraries/Common/tests/TestUtilities.Unicode/System/Text/Unicode/CodePoint.cs b/src/libraries/Common/tests/TestUtilities.Unicode/System/Text/Unicode/CodePoint.cs index a77acf6eaaa2a..466cd75f99a54 100644 --- a/src/libraries/Common/tests/TestUtilities.Unicode/System/Text/Unicode/CodePoint.cs +++ b/src/libraries/Common/tests/TestUtilities.Unicode/System/Text/Unicode/CodePoint.cs @@ -109,7 +109,7 @@ internal CodePoint(int value, ParsedUnicodeData parsedData) /// /// See https://www.unicode.org/reports/tr44/#PropList.txt. /// - public CodePointFlags Flags { get; } = default; // default is "no flags" + public CodePointFlags Flags { get; } // default is "no flags" /// /// The general Unicode category of this code point. diff --git a/src/libraries/System.Globalization/tests/Invariant/InvariantMode.cs b/src/libraries/System.Globalization/tests/Invariant/InvariantMode.cs index 36adc23deb489..c3c04bacf2058 100644 --- a/src/libraries/System.Globalization/tests/Invariant/InvariantMode.cs +++ b/src/libraries/System.Globalization/tests/Invariant/InvariantMode.cs @@ -764,7 +764,7 @@ public unsafe void TestGetSortKeyLength_OverlongArgument(int inputLength) [InlineData("Hello", CompareOptions.IgnoreCase, "HELLO")] [InlineData("Hello", CompareOptions.IgnoreCase | CompareOptions.IgnoreWidth, "HELLO")] [InlineData("Hell\u00F6", CompareOptions.None, "Hell\u00F6")] // U+00F6 = LATIN SMALL LETTER O WITH DIAERESIS - [InlineData("Hell\u00F6", CompareOptions.IgnoreCase, "HELL\u00D6")] // note the final "o with diaeresis" isn't capitalized + [InlineData("Hell\u00F6", CompareOptions.IgnoreCase, "HELL\u00D6")] public unsafe void TestSortKey_FromSpan(string input, CompareOptions options, string expected) { byte[] expectedOutputBytes = GetExpectedInvariantOrdinalSortKey(expected); diff --git a/src/libraries/System.Private.CoreLib/src/System/Globalization/CharUnicodeInfo.cs b/src/libraries/System.Private.CoreLib/src/System/Globalization/CharUnicodeInfo.cs index ad0056c4ec3e5..5aad06bbb8b89 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Globalization/CharUnicodeInfo.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Globalization/CharUnicodeInfo.cs @@ -250,6 +250,34 @@ private static double GetNumericValueNoBoundsCheck(uint codePoint) } } + [MethodImpl(MethodImplOptions.AggressiveInlining)] + internal static char ToUpper(uint codePoint) + { + nuint offset = GetCategoryCasingTableOffsetNoBoundsChecks(codePoint); + + // If the offset is specified in shorts: + // Get the 'ref short' corresponding to where the addend is, read it as a signed 16-bit value, then add + + ref short rsStart = ref Unsafe.As(ref MemoryMarshal.GetReference(UppercaseValues)); + ref short rsDelta = ref Unsafe.Add(ref rsStart, (int)offset); + int delta = (BitConverter.IsLittleEndian) ? rsDelta : BinaryPrimitives.ReverseEndianness(rsDelta); + return (char)(delta + (int)codePoint); + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + internal static char ToLower(uint codePoint) + { + nuint offset = GetCategoryCasingTableOffsetNoBoundsChecks(codePoint); + + // If the offset is specified in shorts: + // Get the 'ref short' corresponding to where the addend is, read it as a signed 16-bit value, then add + + ref short rsStart = ref Unsafe.As(ref MemoryMarshal.GetReference(LowercaseValues)); + ref short rsDelta = ref Unsafe.Add(ref rsStart, (int)offset); + int delta = (BitConverter.IsLittleEndian) ? rsDelta : BinaryPrimitives.ReverseEndianness(rsDelta); + return (char)(delta + (int)codePoint); + } + /* * GetUnicodeCategory * ================== diff --git a/src/libraries/System.Private.CoreLib/src/System/Globalization/CharUnicodeInfoData.cs b/src/libraries/System.Private.CoreLib/src/System/Globalization/CharUnicodeInfoData.cs index 66d74733cbc18..32d4f4a877aa0 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Globalization/CharUnicodeInfoData.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Globalization/CharUnicodeInfoData.cs @@ -1,6 +1,5 @@ // 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; namespace System.Globalization @@ -166,397 +165,397 @@ private static void AssertCategoryCasingTableLevels(int level1BitCount, int leve 0x08, 0x00, 0x01, 0x00, 0x09, 0x00, 0x0a, 0x00, 0x0b, 0x00, 0x0c, 0x00, 0x0d, 0x00, 0x0e, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x10, 0x00, 0x11, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x12, 0x00, 0x13, 0x00, 0x14, 0x00, 0x15, 0x00, 0x16, 0x00, 0x17, 0x00, 0x18, 0x00, 0x0f, 0x00, 0x19, 0x00, - 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x1a, 0x00, 0x1b, 0x00, 0x0d, 0x00, 0x0d, 0x00, 0x0d, 0x00, - 0x0d, 0x00, 0x1c, 0x00, 0x0d, 0x00, 0x1d, 0x00, 0x1e, 0x00, 0x1f, 0x00, 0x20, 0x00, 0x21, 0x00, - 0x22, 0x00, 0x22, 0x00, 0x22, 0x00, 0x22, 0x00, 0x22, 0x00, 0x22, 0x00, 0x22, 0x00, 0x23, 0x00, - 0x24, 0x00, 0x25, 0x00, 0x26, 0x00, 0x0d, 0x00, 0x27, 0x00, 0x28, 0x00, 0x0f, 0x00, 0x29, 0x00, - 0x0b, 0x00, 0x0b, 0x00, 0x0b, 0x00, 0x0d, 0x00, 0x0d, 0x00, 0x0d, 0x00, 0x0f, 0x00, 0x0f, 0x00, - 0x2a, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x2b, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, - 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x2c, 0x00, 0x0b, 0x00, 0x2d, 0x00, 0x0d, 0x00, 0x0d, 0x00, - 0x2e, 0x00, 0x2f, 0x00, 0x22, 0x00, 0x30, 0x00, 0x31, 0x00, 0x32, 0x00, 0x33, 0x00, 0x34, 0x00, - 0x35, 0x00, 0x36, 0x00, 0x32, 0x00, 0x32, 0x00, 0x37, 0x00, 0x22, 0x00, 0x38, 0x00, 0x39, 0x00, - 0x32, 0x00, 0x32, 0x00, 0x32, 0x00, 0x32, 0x00, 0x32, 0x00, 0x3a, 0x00, 0x3b, 0x00, 0x3c, 0x00, - 0x3d, 0x00, 0x3e, 0x00, 0x32, 0x00, 0x22, 0x00, 0x3f, 0x00, 0x32, 0x00, 0x32, 0x00, 0x32, 0x00, - 0x32, 0x00, 0x32, 0x00, 0x40, 0x00, 0x41, 0x00, 0x42, 0x00, 0x32, 0x00, 0x43, 0x00, 0x44, 0x00, - 0x32, 0x00, 0x45, 0x00, 0x46, 0x00, 0x47, 0x00, 0x32, 0x00, 0x48, 0x00, 0x49, 0x00, 0x4a, 0x00, - 0x4a, 0x00, 0x4a, 0x00, 0x32, 0x00, 0x4b, 0x00, 0x4c, 0x00, 0x4d, 0x00, 0x4e, 0x00, 0x22, 0x00, - 0x4f, 0x00, 0x50, 0x00, 0x50, 0x00, 0x51, 0x00, 0x52, 0x00, 0x53, 0x00, 0x54, 0x00, 0x55, 0x00, - 0x56, 0x00, 0x57, 0x00, 0x58, 0x00, 0x59, 0x00, 0x5a, 0x00, 0x5b, 0x00, 0x5c, 0x00, 0x5d, 0x00, - 0x5e, 0x00, 0x57, 0x00, 0x58, 0x00, 0x5f, 0x00, 0x60, 0x00, 0x61, 0x00, 0x62, 0x00, 0x63, 0x00, - 0x64, 0x00, 0x65, 0x00, 0x58, 0x00, 0x66, 0x00, 0x67, 0x00, 0x68, 0x00, 0x5c, 0x00, 0x69, 0x00, - 0x6a, 0x00, 0x57, 0x00, 0x58, 0x00, 0x6b, 0x00, 0x6c, 0x00, 0x6d, 0x00, 0x5c, 0x00, 0x6e, 0x00, - 0x6f, 0x00, 0x70, 0x00, 0x71, 0x00, 0x72, 0x00, 0x73, 0x00, 0x74, 0x00, 0x62, 0x00, 0x75, 0x00, - 0x76, 0x00, 0x77, 0x00, 0x58, 0x00, 0x78, 0x00, 0x79, 0x00, 0x7a, 0x00, 0x5c, 0x00, 0x7b, 0x00, - 0x7c, 0x00, 0x77, 0x00, 0x58, 0x00, 0x7d, 0x00, 0x7e, 0x00, 0x7f, 0x00, 0x5c, 0x00, 0x80, 0x00, - 0x81, 0x00, 0x77, 0x00, 0x50, 0x00, 0x82, 0x00, 0x83, 0x00, 0x84, 0x00, 0x5c, 0x00, 0x85, 0x00, - 0x86, 0x00, 0x87, 0x00, 0x50, 0x00, 0x88, 0x00, 0x89, 0x00, 0x8a, 0x00, 0x62, 0x00, 0x8b, 0x00, - 0x8c, 0x00, 0x50, 0x00, 0x50, 0x00, 0x8d, 0x00, 0x8e, 0x00, 0x8f, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x91, 0x00, 0x50, 0x00, 0x92, 0x00, 0x93, 0x00, 0x94, 0x00, 0x95, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x96, 0x00, 0x97, 0x00, 0x98, 0x00, 0x99, 0x00, 0x9a, 0x00, 0x50, 0x00, 0x9b, 0x00, 0x9c, 0x00, - 0x9d, 0x00, 0x9e, 0x00, 0x22, 0x00, 0x9f, 0x00, 0xa0, 0x00, 0xa1, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x50, 0x00, 0x50, 0x00, 0xa2, 0x00, 0xa3, 0x00, 0xa4, 0x00, 0xa5, 0x00, 0xa6, 0x00, 0xa7, 0x00, - 0xa8, 0x00, 0xa9, 0x00, 0x0b, 0x00, 0x0b, 0x00, 0xaa, 0x00, 0x0d, 0x00, 0x0d, 0x00, 0xab, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0xac, 0x00, 0xad, 0x00, 0x50, 0x00, 0x50, 0x00, - 0xac, 0x00, 0x50, 0x00, 0x50, 0x00, 0xae, 0x00, 0xaf, 0x00, 0xb0, 0x00, 0x50, 0x00, 0x50, 0x00, - 0x50, 0x00, 0xaf, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0xb1, 0x00, 0xb2, 0x00, 0xb3, 0x00, - 0x50, 0x00, 0xb4, 0x00, 0x0b, 0x00, 0x0b, 0x00, 0x0b, 0x00, 0x0b, 0x00, 0x0b, 0x00, 0xb5, 0x00, - 0xb6, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0xb7, 0x00, 0x50, 0x00, - 0xb8, 0x00, 0xb9, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0xba, 0x00, 0xbb, 0x00, - 0xbc, 0x00, 0xbd, 0x00, 0x50, 0x00, 0xbe, 0x00, 0x50, 0x00, 0xbf, 0x00, 0xbc, 0x00, 0xc0, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0xc1, 0x00, 0xc2, 0x00, 0xc3, 0x00, 0xc4, 0x00, 0xc5, 0x00, - 0xc6, 0x00, 0xc4, 0x00, 0x50, 0x00, 0x50, 0x00, 0xc7, 0x00, 0x50, 0x00, 0x50, 0x00, 0xc8, 0x00, - 0xc9, 0x00, 0x50, 0x00, 0xca, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0xcb, 0x00, - 0x50, 0x00, 0xcc, 0x00, 0xcd, 0x00, 0xce, 0x00, 0xcf, 0x00, 0x50, 0x00, 0xd0, 0x00, 0xd1, 0x00, - 0x50, 0x00, 0x50, 0x00, 0xd2, 0x00, 0x50, 0x00, 0xd3, 0x00, 0xd4, 0x00, 0xd5, 0x00, 0xd5, 0x00, - 0x50, 0x00, 0xd6, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0xd7, 0x00, 0xd8, 0x00, 0xd9, 0x00, - 0xc4, 0x00, 0xc4, 0x00, 0xda, 0x00, 0xdb, 0x00, 0xdc, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, - 0xdd, 0x00, 0x50, 0x00, 0x50, 0x00, 0xde, 0x00, 0xdf, 0x00, 0xa4, 0x00, 0xe0, 0x00, 0xe1, 0x00, - 0xe2, 0x00, 0x50, 0x00, 0xe3, 0x00, 0xe4, 0x00, 0x50, 0x00, 0x50, 0x00, 0xe5, 0x00, 0xe6, 0x00, - 0x50, 0x00, 0x50, 0x00, 0xe7, 0x00, 0xe8, 0x00, 0xe9, 0x00, 0xe4, 0x00, 0x50, 0x00, 0xea, 0x00, - 0xeb, 0x00, 0x0b, 0x00, 0x0b, 0x00, 0xec, 0x00, 0xed, 0x00, 0xee, 0x00, 0xef, 0x00, 0xf0, 0x00, - 0x0d, 0x00, 0x0d, 0x00, 0xf1, 0x00, 0xf2, 0x00, 0xf2, 0x00, 0xf2, 0x00, 0xf3, 0x00, 0xf4, 0x00, - 0x0d, 0x00, 0xf5, 0x00, 0xf2, 0x00, 0xf2, 0x00, 0x22, 0x00, 0x22, 0x00, 0x22, 0x00, 0xf6, 0x00, + 0x0f, 0x00, 0x0f, 0x00, 0x1a, 0x00, 0x1b, 0x00, 0x1c, 0x00, 0x1d, 0x00, 0x1e, 0x00, 0x1f, 0x00, + 0x20, 0x00, 0x21, 0x00, 0x22, 0x00, 0x23, 0x00, 0x24, 0x00, 0x25, 0x00, 0x26, 0x00, 0x27, 0x00, + 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x29, 0x00, 0x28, 0x00, 0x28, 0x00, 0x2a, 0x00, + 0x2b, 0x00, 0x2c, 0x00, 0x2d, 0x00, 0x2e, 0x00, 0x2f, 0x00, 0x30, 0x00, 0x0f, 0x00, 0x31, 0x00, + 0x32, 0x00, 0x0b, 0x00, 0x0b, 0x00, 0x0d, 0x00, 0x0d, 0x00, 0x33, 0x00, 0x0f, 0x00, 0x0f, 0x00, + 0x34, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x35, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, + 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x36, 0x00, 0x37, 0x00, 0x38, 0x00, 0x39, 0x00, 0x3a, 0x00, + 0x3b, 0x00, 0x3c, 0x00, 0x28, 0x00, 0x3d, 0x00, 0x3e, 0x00, 0x3f, 0x00, 0x40, 0x00, 0x41, 0x00, + 0x42, 0x00, 0x43, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x44, 0x00, 0x28, 0x00, 0x45, 0x00, 0x46, 0x00, + 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x47, 0x00, 0x48, 0x00, 0x49, 0x00, + 0x4a, 0x00, 0x4b, 0x00, 0x3f, 0x00, 0x28, 0x00, 0x4c, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, + 0x3f, 0x00, 0x3f, 0x00, 0x4d, 0x00, 0x4e, 0x00, 0x4f, 0x00, 0x3f, 0x00, 0x50, 0x00, 0x51, 0x00, + 0x3f, 0x00, 0x52, 0x00, 0x53, 0x00, 0x54, 0x00, 0x3f, 0x00, 0x55, 0x00, 0x56, 0x00, 0x57, 0x00, + 0x57, 0x00, 0x57, 0x00, 0x3f, 0x00, 0x58, 0x00, 0x59, 0x00, 0x5a, 0x00, 0x5b, 0x00, 0x28, 0x00, + 0x5c, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5e, 0x00, 0x5f, 0x00, 0x60, 0x00, 0x61, 0x00, 0x62, 0x00, + 0x63, 0x00, 0x64, 0x00, 0x65, 0x00, 0x66, 0x00, 0x67, 0x00, 0x68, 0x00, 0x69, 0x00, 0x6a, 0x00, + 0x6b, 0x00, 0x64, 0x00, 0x65, 0x00, 0x6c, 0x00, 0x6d, 0x00, 0x6e, 0x00, 0x6f, 0x00, 0x70, 0x00, + 0x71, 0x00, 0x72, 0x00, 0x65, 0x00, 0x73, 0x00, 0x74, 0x00, 0x75, 0x00, 0x69, 0x00, 0x76, 0x00, + 0x77, 0x00, 0x64, 0x00, 0x65, 0x00, 0x78, 0x00, 0x79, 0x00, 0x7a, 0x00, 0x69, 0x00, 0x7b, 0x00, + 0x7c, 0x00, 0x7d, 0x00, 0x7e, 0x00, 0x7f, 0x00, 0x80, 0x00, 0x81, 0x00, 0x6f, 0x00, 0x82, 0x00, + 0x83, 0x00, 0x84, 0x00, 0x65, 0x00, 0x85, 0x00, 0x86, 0x00, 0x87, 0x00, 0x69, 0x00, 0x88, 0x00, + 0x89, 0x00, 0x84, 0x00, 0x65, 0x00, 0x8a, 0x00, 0x8b, 0x00, 0x8c, 0x00, 0x69, 0x00, 0x8d, 0x00, + 0x8e, 0x00, 0x84, 0x00, 0x5d, 0x00, 0x8f, 0x00, 0x90, 0x00, 0x91, 0x00, 0x69, 0x00, 0x92, 0x00, + 0x93, 0x00, 0x94, 0x00, 0x5d, 0x00, 0x95, 0x00, 0x96, 0x00, 0x97, 0x00, 0x6f, 0x00, 0x98, 0x00, + 0x99, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x9a, 0x00, 0x9b, 0x00, 0x9c, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9e, 0x00, 0x5d, 0x00, 0x9f, 0x00, 0xa0, 0x00, 0xa1, 0x00, 0xa2, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0xa3, 0x00, 0xa4, 0x00, 0xa5, 0x00, 0xa6, 0x00, 0xa7, 0x00, 0x5d, 0x00, 0xa8, 0x00, 0xa9, 0x00, + 0xaa, 0x00, 0xab, 0x00, 0x28, 0x00, 0xac, 0x00, 0xad, 0x00, 0xae, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0xaf, 0x00, 0xb0, 0x00, 0xb1, 0x00, 0xb2, 0x00, 0xb3, 0x00, 0xb4, 0x00, + 0xb5, 0x00, 0xb6, 0x00, 0xb7, 0x00, 0xb7, 0x00, 0xb8, 0x00, 0xb9, 0x00, 0xb9, 0x00, 0xba, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xbb, 0x00, 0xbc, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0xbb, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xbd, 0x00, 0xbe, 0x00, 0xbf, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0xbe, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xc0, 0x00, 0xc1, 0x00, 0xc2, 0x00, + 0x5d, 0x00, 0xc3, 0x00, 0xc4, 0x00, 0xc4, 0x00, 0xc4, 0x00, 0xc4, 0x00, 0xc4, 0x00, 0xc5, 0x00, + 0xc6, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xc7, 0x00, 0x5d, 0x00, + 0xc8, 0x00, 0xc9, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xca, 0x00, 0xcb, 0x00, + 0xcc, 0x00, 0xcd, 0x00, 0x5d, 0x00, 0xce, 0x00, 0x5d, 0x00, 0xcf, 0x00, 0xcc, 0x00, 0xd0, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xd1, 0x00, 0xd2, 0x00, 0xd3, 0x00, 0xd4, 0x00, 0xd5, 0x00, + 0xd6, 0x00, 0xd4, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xd7, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xd8, 0x00, + 0xd9, 0x00, 0x5d, 0x00, 0xda, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xdb, 0x00, + 0x5d, 0x00, 0xdc, 0x00, 0xdd, 0x00, 0xde, 0x00, 0xdf, 0x00, 0x5d, 0x00, 0xe0, 0x00, 0xe1, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0xe2, 0x00, 0x5d, 0x00, 0xe3, 0x00, 0xe4, 0x00, 0xe5, 0x00, 0xe5, 0x00, + 0x5d, 0x00, 0xe6, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xe7, 0x00, 0xe8, 0x00, 0xe9, 0x00, + 0xd4, 0x00, 0xd4, 0x00, 0xea, 0x00, 0xeb, 0x00, 0xec, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0xed, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xee, 0x00, 0xef, 0x00, 0xb1, 0x00, 0xf0, 0x00, 0xf1, 0x00, + 0xf2, 0x00, 0x5d, 0x00, 0xf3, 0x00, 0xf4, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xf5, 0x00, 0xf6, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0xf7, 0x00, 0xf8, 0x00, 0xf9, 0x00, 0xf4, 0x00, 0x5d, 0x00, 0xfa, 0x00, + 0xfb, 0x00, 0xfc, 0x00, 0xfc, 0x00, 0xfd, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x00, 0x01, 0x01, 0x01, + 0x22, 0x00, 0x22, 0x00, 0x02, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x04, 0x01, 0x05, 0x01, + 0x06, 0x01, 0x07, 0x01, 0x03, 0x01, 0x03, 0x01, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x08, 0x01, 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, - 0x0f, 0x00, 0xf7, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, - 0xf8, 0x00, 0xf9, 0x00, 0xf8, 0x00, 0xf8, 0x00, 0xf9, 0x00, 0xfa, 0x00, 0xf8, 0x00, 0xfb, 0x00, - 0xfc, 0x00, 0xfc, 0x00, 0xfc, 0x00, 0xfd, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x00, 0x01, 0x01, 0x01, - 0x02, 0x01, 0x03, 0x01, 0x04, 0x01, 0x05, 0x01, 0x06, 0x01, 0x07, 0x01, 0x08, 0x01, 0x09, 0x01, - 0x0a, 0x01, 0x0b, 0x01, 0x0c, 0x01, 0x0c, 0x01, 0x0d, 0x01, 0x0e, 0x01, 0x0f, 0x01, 0xdc, 0x00, - 0x10, 0x01, 0x11, 0x01, 0x12, 0x01, 0x13, 0x01, 0x14, 0x01, 0x15, 0x01, 0x16, 0x01, 0x16, 0x01, - 0x17, 0x01, 0x18, 0x01, 0x19, 0x01, 0xd5, 0x00, 0x1a, 0x01, 0x1b, 0x01, 0xd5, 0x00, 0x1c, 0x01, - 0x1d, 0x01, 0x1d, 0x01, 0x1d, 0x01, 0x1d, 0x01, 0x1d, 0x01, 0x1d, 0x01, 0x1d, 0x01, 0x1d, 0x01, - 0x1d, 0x01, 0x1d, 0x01, 0x1d, 0x01, 0x1d, 0x01, 0x1d, 0x01, 0x1d, 0x01, 0x1d, 0x01, 0x1d, 0x01, - 0x1e, 0x01, 0xd5, 0x00, 0x1f, 0x01, 0x20, 0x01, 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, 0x22, 0x01, - 0xd5, 0x00, 0x23, 0x01, 0x1d, 0x01, 0x24, 0x01, 0xd5, 0x00, 0x25, 0x01, 0x26, 0x01, 0xd5, 0x00, - 0xd5, 0x00, 0xd5, 0x00, 0x27, 0x01, 0x90, 0x00, 0x28, 0x01, 0x90, 0x00, 0x15, 0x01, 0x15, 0x01, - 0x15, 0x01, 0x29, 0x01, 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, 0x2a, 0x01, 0x15, 0x01, - 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, - 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0x2b, 0x01, 0x2c, 0x01, 0xd5, 0x00, 0xd5, 0x00, 0x2d, 0x01, - 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0x2e, 0x01, 0xd5, 0x00, - 0xd5, 0x00, 0xd5, 0x00, 0x2f, 0x01, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, - 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0x30, 0x01, 0x31, 0x01, - 0x15, 0x01, 0x32, 0x01, 0xd5, 0x00, 0xd5, 0x00, 0x33, 0x01, 0x1d, 0x01, 0x34, 0x01, 0x1d, 0x01, - 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, - 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, - 0x1d, 0x01, 0x1d, 0x01, 0x1d, 0x01, 0x1d, 0x01, 0x1d, 0x01, 0x1d, 0x01, 0x1d, 0x01, 0x1d, 0x01, - 0x35, 0x01, 0x36, 0x01, 0x1d, 0x01, 0x1d, 0x01, 0x1d, 0x01, 0x37, 0x01, 0x1d, 0x01, 0x38, 0x01, - 0x1d, 0x01, 0x1d, 0x01, 0x1d, 0x01, 0x1d, 0x01, 0x1d, 0x01, 0x1d, 0x01, 0x1d, 0x01, 0x1d, 0x01, - 0x1d, 0x01, 0x1d, 0x01, 0x1d, 0x01, 0x1d, 0x01, 0x1d, 0x01, 0x1d, 0x01, 0x1d, 0x01, 0x1d, 0x01, - 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0x1d, 0x01, 0x39, 0x01, 0xd5, 0x00, 0xd5, 0x00, 0x3a, 0x01, - 0xd5, 0x00, 0x3b, 0x01, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, - 0x0b, 0x00, 0x0b, 0x00, 0x3c, 0x01, 0x0d, 0x00, 0x0d, 0x00, 0x3d, 0x01, 0x3e, 0x01, 0x3f, 0x01, - 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x40, 0x01, 0x41, 0x01, - 0x0d, 0x00, 0x0d, 0x00, 0x42, 0x01, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x43, 0x01, 0x44, 0x01, - 0x50, 0x00, 0x45, 0x01, 0x46, 0x01, 0x46, 0x01, 0x46, 0x01, 0x46, 0x01, 0x22, 0x00, 0x22, 0x00, - 0x47, 0x01, 0x48, 0x01, 0x49, 0x01, 0x4a, 0x01, 0x4b, 0x01, 0x4c, 0x01, 0x90, 0x00, 0x90, 0x00, - 0xd5, 0x00, 0x4d, 0x01, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0x4e, 0x01, - 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, - 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0x4f, 0x01, 0x90, 0x00, 0x50, 0x01, - 0x51, 0x01, 0x52, 0x01, 0x53, 0x01, 0x54, 0x01, 0x8c, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, - 0x50, 0x00, 0x55, 0x01, 0xb6, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x56, 0x01, - 0x57, 0x01, 0x50, 0x00, 0x50, 0x00, 0x8c, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, - 0xcc, 0x00, 0x58, 0x01, 0x50, 0x00, 0x50, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0x4e, 0x01, 0x50, 0x00, - 0x21, 0x01, 0x59, 0x01, 0x5a, 0x01, 0x21, 0x01, 0x5b, 0x01, 0x5c, 0x01, 0x21, 0x01, 0x5d, 0x01, - 0x5a, 0x01, 0x21, 0x01, 0x21, 0x01, 0x5e, 0x01, 0x5f, 0x01, 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, - 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, 0x60, 0x01, - 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, 0x61, 0x01, 0x21, 0x01, 0x62, 0x01, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x9b, 0x00, - 0x50, 0x00, 0x63, 0x01, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, - 0x9b, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0x27, 0x01, 0x50, 0x00, 0x50, 0x00, 0xea, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, - 0x64, 0x01, 0x50, 0x00, 0x65, 0x01, 0x90, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x66, 0x01, 0x67, 0x01, - 0x0f, 0x00, 0x68, 0x01, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x69, 0x01, 0x6a, 0x01, - 0x21, 0x00, 0x6b, 0x01, 0x6c, 0x01, 0x6d, 0x01, 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x6e, 0x01, - 0x6f, 0x01, 0x70, 0x01, 0x71, 0x01, 0x72, 0x01, 0x73, 0x01, 0x90, 0x00, 0x90, 0x00, 0x74, 0x01, - 0x75, 0x01, 0x50, 0x00, 0x76, 0x01, 0x77, 0x01, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x78, 0x01, - 0x79, 0x01, 0x50, 0x00, 0x50, 0x00, 0x7a, 0x01, 0x7b, 0x01, 0xc4, 0x00, 0x22, 0x00, 0x7c, 0x01, - 0xe4, 0x00, 0x50, 0x00, 0x7d, 0x01, 0x50, 0x00, 0x7e, 0x01, 0x7f, 0x01, 0x50, 0x00, 0x9b, 0x00, - 0x4f, 0x00, 0x50, 0x00, 0x50, 0x00, 0x80, 0x01, 0x81, 0x01, 0x82, 0x01, 0x83, 0x01, 0x84, 0x01, - 0x50, 0x00, 0x50, 0x00, 0x85, 0x01, 0x86, 0x01, 0x87, 0x01, 0x88, 0x01, 0x50, 0x00, 0x89, 0x01, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x8a, 0x01, 0x8b, 0x01, 0x8c, 0x01, 0x8d, 0x01, 0x8e, 0x01, - 0x8f, 0x01, 0x90, 0x01, 0x46, 0x01, 0x0d, 0x00, 0x0d, 0x00, 0x91, 0x01, 0x92, 0x01, 0x0d, 0x00, - 0x0d, 0x00, 0x0d, 0x00, 0x0d, 0x00, 0x0d, 0x00, 0x50, 0x00, 0x50, 0x00, 0x93, 0x01, 0xc4, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x94, 0x01, 0x50, 0x00, 0x95, 0x01, 0x50, 0x00, 0x50, 0x00, 0xd2, 0x00, - 0x96, 0x01, 0x96, 0x01, 0x96, 0x01, 0x96, 0x01, 0x96, 0x01, 0x96, 0x01, 0x96, 0x01, 0x96, 0x01, - 0x96, 0x01, 0x96, 0x01, 0x96, 0x01, 0x96, 0x01, 0x96, 0x01, 0x96, 0x01, 0x96, 0x01, 0x96, 0x01, - 0x96, 0x01, 0x96, 0x01, 0x96, 0x01, 0x96, 0x01, 0x96, 0x01, 0x96, 0x01, 0x96, 0x01, 0x96, 0x01, - 0x96, 0x01, 0x96, 0x01, 0x96, 0x01, 0x96, 0x01, 0x96, 0x01, 0x96, 0x01, 0x96, 0x01, 0x96, 0x01, - 0x97, 0x01, 0x97, 0x01, 0x97, 0x01, 0x97, 0x01, 0x97, 0x01, 0x97, 0x01, 0x97, 0x01, 0x97, 0x01, - 0x97, 0x01, 0x97, 0x01, 0x97, 0x01, 0x97, 0x01, 0x97, 0x01, 0x97, 0x01, 0x97, 0x01, 0x97, 0x01, - 0x97, 0x01, 0x97, 0x01, 0x97, 0x01, 0x97, 0x01, 0x97, 0x01, 0x97, 0x01, 0x97, 0x01, 0x97, 0x01, - 0x97, 0x01, 0x97, 0x01, 0x97, 0x01, 0x97, 0x01, 0x97, 0x01, 0x97, 0x01, 0x97, 0x01, 0x97, 0x01, - 0x97, 0x01, 0x97, 0x01, 0x97, 0x01, 0x97, 0x01, 0x97, 0x01, 0x97, 0x01, 0x97, 0x01, 0x97, 0x01, - 0x97, 0x01, 0x97, 0x01, 0x97, 0x01, 0x97, 0x01, 0x97, 0x01, 0x97, 0x01, 0x97, 0x01, 0x97, 0x01, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0xd0, 0x00, 0x50, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0xd3, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x98, 0x01, 0x99, 0x01, 0x9a, 0x01, 0x9b, 0x01, 0x9c, 0x01, 0x32, 0x00, 0x32, 0x00, 0x32, 0x00, - 0x32, 0x00, 0x32, 0x00, 0x32, 0x00, 0x9d, 0x01, 0x9e, 0x01, 0x9f, 0x01, 0x32, 0x00, 0x32, 0x00, - 0x32, 0x00, 0x32, 0x00, 0x32, 0x00, 0x32, 0x00, 0x32, 0x00, 0x32, 0x00, 0x32, 0x00, 0x32, 0x00, - 0x32, 0x00, 0x32, 0x00, 0x32, 0x00, 0x32, 0x00, 0x32, 0x00, 0x32, 0x00, 0x32, 0x00, 0x32, 0x00, - 0x32, 0x00, 0x32, 0x00, 0x32, 0x00, 0xa0, 0x01, 0x4a, 0x00, 0x32, 0x00, 0x32, 0x00, 0x32, 0x00, - 0x32, 0x00, 0xa1, 0x01, 0x32, 0x00, 0x32, 0x00, 0x4c, 0x00, 0x0d, 0x01, 0x0d, 0x01, 0xa2, 0x01, - 0x22, 0x00, 0xa3, 0x01, 0x22, 0x00, 0xa4, 0x01, 0xa5, 0x01, 0xa6, 0x01, 0xa7, 0x01, 0x4b, 0x00, - 0x32, 0x00, 0x32, 0x00, 0x32, 0x00, 0x32, 0x00, 0x32, 0x00, 0x32, 0x00, 0x32, 0x00, 0xa8, 0x01, - 0xa9, 0x01, 0x03, 0x00, 0x04, 0x00, 0x05, 0x00, 0x06, 0x00, 0xaa, 0x01, 0xab, 0x01, 0xac, 0x01, - 0x50, 0x00, 0xad, 0x01, 0x50, 0x00, 0xcc, 0x00, 0xae, 0x01, 0xaf, 0x01, 0xb0, 0x01, 0xb1, 0x01, - 0xb2, 0x01, 0x50, 0x00, 0xb0, 0x00, 0xb3, 0x01, 0xd0, 0x00, 0xd0, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0xb4, 0x01, - 0xb5, 0x01, 0xb6, 0x01, 0xb6, 0x01, 0xb7, 0x01, 0xb8, 0x01, 0xb8, 0x01, 0xb8, 0x01, 0xb9, 0x01, - 0xba, 0x01, 0xbb, 0x01, 0xbc, 0x01, 0x90, 0x00, 0x90, 0x00, 0x21, 0x01, 0x21, 0x01, 0xbd, 0x01, - 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x50, 0x00, 0x9b, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x68, 0x00, 0xbe, 0x01, 0xbf, 0x01, - 0x50, 0x00, 0x50, 0x00, 0xc0, 0x01, 0x50, 0x00, 0xc1, 0x01, 0x50, 0x00, 0x50, 0x00, 0xc2, 0x01, - 0x50, 0x00, 0xc3, 0x01, 0x50, 0x00, 0x50, 0x00, 0xc4, 0x01, 0xc5, 0x01, 0x90, 0x00, 0x90, 0x00, - 0x0b, 0x00, 0x0b, 0x00, 0xc6, 0x01, 0x0d, 0x00, 0x0d, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, - 0x50, 0x00, 0xd0, 0x00, 0xc4, 0x00, 0x0b, 0x00, 0x0b, 0x00, 0xc7, 0x01, 0x0d, 0x00, 0xc8, 0x01, - 0x50, 0x00, 0x50, 0x00, 0xc9, 0x01, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0xca, 0x01, 0x90, 0x00, - 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x45, 0x01, 0x50, 0x00, 0xcb, 0x00, 0xc9, 0x01, 0x90, 0x00, - 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, - 0xcb, 0x01, 0x32, 0x00, 0x32, 0x00, 0xcc, 0x01, 0x32, 0x00, 0xcd, 0x01, 0x32, 0x00, 0xce, 0x01, - 0x32, 0x00, 0xcf, 0x01, 0xd0, 0x01, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x32, 0x00, 0xd1, 0x01, - 0x32, 0x00, 0xd2, 0x01, 0x32, 0x00, 0xd3, 0x01, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, - 0x32, 0x00, 0x32, 0x00, 0x32, 0x00, 0xd4, 0x01, 0xd5, 0x01, 0xd6, 0x01, 0xd5, 0x01, 0xd5, 0x01, - 0xd7, 0x01, 0xd8, 0x01, 0x32, 0x00, 0xd9, 0x01, 0xda, 0x01, 0xdb, 0x01, 0x32, 0x00, 0xdc, 0x01, - 0x32, 0x00, 0xdd, 0x01, 0x4a, 0x00, 0x4a, 0x00, 0xde, 0x01, 0x32, 0x00, 0xdf, 0x01, 0xe0, 0x01, - 0x32, 0x00, 0x32, 0x00, 0x32, 0x00, 0xe1, 0x01, 0x32, 0x00, 0xe2, 0x01, 0x32, 0x00, 0xe3, 0x01, - 0x32, 0x00, 0xe4, 0x01, 0xe5, 0x01, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, - 0x32, 0x00, 0x32, 0x00, 0x32, 0x00, 0x32, 0x00, 0xe6, 0x01, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, - 0xe7, 0x01, 0xe7, 0x01, 0xe7, 0x01, 0xe8, 0x01, 0xe9, 0x01, 0xe9, 0x01, 0xe9, 0x01, 0xea, 0x01, - 0x32, 0x00, 0x32, 0x00, 0xeb, 0x01, 0xec, 0x01, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, - 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, - 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x15, 0x01, 0xed, 0x01, - 0x32, 0x00, 0x32, 0x00, 0xee, 0x01, 0xef, 0x01, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, - 0x32, 0x00, 0xdd, 0x01, 0xf0, 0x01, 0x32, 0x00, 0x40, 0x00, 0xf1, 0x01, 0x4a, 0x00, 0x4a, 0x00, - 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x32, 0x00, 0xf2, 0x01, 0x4a, 0x00, 0x32, 0x00, 0xf3, 0x01, - 0xf4, 0x01, 0x50, 0x00, 0x50, 0x00, 0xf5, 0x01, 0xf6, 0x01, 0xf7, 0x01, 0xf8, 0x01, 0xf9, 0x01, - 0xe2, 0x00, 0x50, 0x00, 0x50, 0x00, 0xfa, 0x01, 0xfb, 0x01, 0x50, 0x00, 0xc8, 0x00, 0xc4, 0x00, - 0xfc, 0x01, 0x50, 0x00, 0xfd, 0x01, 0xfe, 0x01, 0xff, 0x01, 0x50, 0x00, 0x50, 0x00, 0x00, 0x02, - 0xe2, 0x00, 0x50, 0x00, 0x50, 0x00, 0x01, 0x02, 0x02, 0x02, 0x03, 0x02, 0x04, 0x02, 0x05, 0x02, - 0x50, 0x00, 0x65, 0x00, 0x06, 0x02, 0x07, 0x02, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x08, 0x02, 0x09, 0x02, 0x0a, 0x02, 0x50, 0x00, 0x50, 0x00, 0x0b, 0x02, 0x0c, 0x02, 0xc4, 0x00, - 0x0d, 0x02, 0x57, 0x00, 0x58, 0x00, 0x0e, 0x02, 0x0f, 0x02, 0x10, 0x02, 0x11, 0x02, 0x12, 0x02, - 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x13, 0x02, 0x14, 0x02, 0x15, 0x02, 0x16, 0x02, 0x90, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x17, 0x02, 0x18, 0x02, 0xc4, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x19, 0x02, 0x1a, 0x02, 0x1b, 0x02, 0x1c, 0x02, 0x90, 0x00, 0x90, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x1d, 0x02, 0x1e, 0x02, 0xc4, 0x00, 0x1f, 0x02, 0x90, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x20, 0x02, 0x21, 0x02, 0xc4, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x50, 0x00, 0xb1, 0x00, 0x22, 0x02, 0x23, 0x02, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x06, 0x02, 0x24, 0x02, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x90, 0x00, 0x90, 0x00, 0x0b, 0x00, 0x0b, 0x00, 0x0d, 0x00, 0x0d, 0x00, 0x98, 0x00, 0x25, 0x02, - 0x26, 0x02, 0x27, 0x02, 0x50, 0x00, 0x28, 0x02, 0x29, 0x02, 0xc4, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x90, 0x00, 0x90, 0x00, 0x2a, 0x02, 0x50, 0x00, 0x50, 0x00, 0x2b, 0x02, 0x2c, 0x02, 0x90, 0x00, - 0x2d, 0x02, 0x50, 0x00, 0x50, 0x00, 0x2e, 0x02, 0x2f, 0x02, 0x30, 0x02, 0x50, 0x00, 0x50, 0x00, - 0x31, 0x02, 0x32, 0x02, 0x33, 0x02, 0x90, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0xc8, 0x00, - 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x58, 0x00, 0x50, 0x00, 0x19, 0x02, 0x34, 0x02, 0x35, 0x02, 0x98, 0x00, 0xb3, 0x00, 0x36, 0x02, - 0x50, 0x00, 0x37, 0x02, 0x38, 0x02, 0x39, 0x02, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x3a, 0x02, 0x50, 0x00, 0x50, 0x00, 0x3b, 0x02, 0x3c, 0x02, 0xc4, 0x00, 0x3d, 0x02, 0x50, 0x00, - 0x3e, 0x02, 0x3f, 0x02, 0xc4, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x50, 0x00, 0x40, 0x02, - 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x68, 0x00, 0xb6, 0x01, 0x41, 0x02, 0x42, 0x02, 0x43, 0x02, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, - 0x50, 0x00, 0xd3, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x16, 0x01, 0x16, 0x01, 0x16, 0x01, 0x16, 0x01, 0x16, 0x01, 0x16, 0x01, 0x44, 0x02, 0x45, 0x02, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x94, 0x01, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x50, 0x00, 0x50, 0x00, 0xcc, 0x00, 0x46, 0x02, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x45, 0x01, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0xc8, 0x00, 0x50, 0x00, 0xcc, 0x00, 0x82, 0x01, 0x90, 0x00, - 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x50, 0x00, 0xd0, 0x00, 0x47, 0x02, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x48, 0x02, 0x49, 0x02, 0x4a, 0x02, 0x4b, 0x02, 0x4c, 0x02, - 0x50, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x0b, 0x00, 0x0b, 0x00, 0x0d, 0x00, 0x0d, 0x00, - 0xb6, 0x01, 0x4d, 0x02, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x4e, 0x02, 0x4f, 0x02, 0x50, 0x02, 0x50, 0x02, - 0x51, 0x02, 0x52, 0x02, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x53, 0x02, 0x54, 0x02, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0xc9, 0x01, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0xcb, 0x00, 0x90, 0x00, 0x90, 0x00, - 0xc8, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, - 0x50, 0x00, 0xcc, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x55, 0x02, 0x56, 0x02, 0x50, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0xd2, 0x00, - 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0xb4, 0x01, 0x9b, 0x00, - 0xc8, 0x00, 0x57, 0x02, 0x58, 0x02, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, - 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, 0x59, 0x02, - 0x21, 0x01, 0x21, 0x01, 0x5a, 0x02, 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, 0x5b, 0x02, 0x5c, 0x02, - 0x5d, 0x02, 0x21, 0x01, 0x5e, 0x02, 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, 0x5f, 0x02, 0x90, 0x00, - 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0x60, 0x02, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0xb6, 0x01, 0x61, 0x02, - 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0x27, 0x01, 0xb6, 0x01, 0x62, 0x02, - 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x0b, 0x00, 0x63, 0x02, 0x0d, 0x00, 0x64, 0x02, 0x65, 0x02, 0x66, 0x02, 0xf8, 0x00, 0x0b, 0x00, - 0x67, 0x02, 0x68, 0x02, 0x69, 0x02, 0x6a, 0x02, 0x6b, 0x02, 0x0b, 0x00, 0x63, 0x02, 0x0d, 0x00, - 0x6c, 0x02, 0x6d, 0x02, 0x0d, 0x00, 0x6e, 0x02, 0x6f, 0x02, 0x70, 0x02, 0x71, 0x02, 0x0b, 0x00, - 0x72, 0x02, 0x0d, 0x00, 0x0b, 0x00, 0x63, 0x02, 0x0d, 0x00, 0x64, 0x02, 0x65, 0x02, 0x0d, 0x00, - 0xf8, 0x00, 0x0b, 0x00, 0x67, 0x02, 0x71, 0x02, 0x0b, 0x00, 0x72, 0x02, 0x0d, 0x00, 0x0b, 0x00, - 0x63, 0x02, 0x0d, 0x00, 0x73, 0x02, 0x0b, 0x00, 0x74, 0x02, 0x75, 0x02, 0x76, 0x02, 0x77, 0x02, - 0x0d, 0x00, 0x78, 0x02, 0x0b, 0x00, 0x79, 0x02, 0x7a, 0x02, 0x7b, 0x02, 0x7c, 0x02, 0x0d, 0x00, - 0x7d, 0x02, 0x0b, 0x00, 0x7e, 0x02, 0x0d, 0x00, 0x7f, 0x02, 0x80, 0x02, 0x80, 0x02, 0x80, 0x02, - 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, - 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, - 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, - 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, - 0x22, 0x00, 0x22, 0x00, 0x22, 0x00, 0x81, 0x02, 0x22, 0x00, 0x22, 0x00, 0x82, 0x02, 0x83, 0x02, - 0x84, 0x02, 0x85, 0x02, 0x86, 0x02, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x87, 0x02, 0x88, 0x02, 0x89, 0x02, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x9b, 0x00, 0x8a, 0x02, 0x8b, 0x02, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x50, 0x00, 0x50, 0x00, 0x8c, 0x02, 0x8d, 0x02, - 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x32, 0x00, 0x32, 0x00, 0x32, 0x00, 0x32, 0x00, 0x32, 0x00, 0x32, 0x00, 0x32, 0x00, 0x32, 0x00, - 0x32, 0x00, 0x32, 0x00, 0x32, 0x00, 0x32, 0x00, 0x8e, 0x02, 0x8f, 0x02, 0x4a, 0x00, 0x4a, 0x00, - 0xe7, 0x01, 0xe7, 0x01, 0x90, 0x02, 0xe9, 0x01, 0x91, 0x02, 0x92, 0x02, 0x4a, 0x00, 0x4a, 0x00, - 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, - 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, - 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, - 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, - 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, - 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x93, 0x02, - 0xd5, 0x01, 0xd5, 0x01, 0x94, 0x02, 0x95, 0x02, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, - 0x93, 0x02, 0xd5, 0x01, 0x96, 0x02, 0x97, 0x02, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, - 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, - 0x98, 0x02, 0x32, 0x00, 0x99, 0x02, 0x9a, 0x02, 0x9b, 0x02, 0x9c, 0x02, 0x9d, 0x02, 0x9e, 0x02, - 0x9f, 0x02, 0xa0, 0x02, 0xa1, 0x02, 0xa0, 0x02, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0xa2, 0x02, - 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, - 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x4a, 0x00, - 0xd5, 0x00, 0xd5, 0x00, 0x50, 0x01, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, - 0xd5, 0x00, 0x4e, 0x01, 0xa3, 0x02, 0xa4, 0x02, 0xa4, 0x02, 0xa4, 0x02, 0xd5, 0x00, 0x4f, 0x01, - 0xa5, 0x02, 0x21, 0x01, 0x62, 0x01, 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, 0xa6, 0x02, 0x21, 0x01, - 0x21, 0x01, 0x21, 0x01, 0xa7, 0x02, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0xa8, 0x02, 0x21, 0x01, - 0xa9, 0x02, 0x21, 0x01, 0x21, 0x01, 0xaa, 0x02, 0x5f, 0x02, 0xab, 0x02, 0x4f, 0x01, 0x90, 0x00, - 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, - 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, - 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xac, 0x02, - 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, - 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, - 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, - 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, - 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, - 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xad, 0x02, 0xbb, 0x01, 0xbb, 0x01, - 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0x4e, 0x01, - 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xae, 0x02, 0x50, 0x01, 0x90, 0x00, - 0x50, 0x01, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xad, 0x02, 0xb4, 0x00, 0xd5, 0x00, 0xd5, 0x00, - 0xad, 0x02, 0xd5, 0x00, 0xaf, 0x02, 0xb0, 0x02, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, - 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xb1, 0x02, - 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xb2, 0x02, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, - 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0x4e, 0x01, 0xaf, 0x02, 0xb3, 0x02, - 0x27, 0x01, 0xd5, 0x00, 0xae, 0x02, 0x27, 0x01, 0xb4, 0x02, 0x27, 0x01, 0x90, 0x00, 0x90, 0x00, - 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0xd5, 0x00, - 0xd5, 0x00, 0xb5, 0x02, 0xd5, 0x00, 0xd5, 0x00, 0x28, 0x01, 0x90, 0x00, 0x90, 0x00, 0xb6, 0x02, - 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0xb7, 0x02, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0xd0, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0xd1, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, - 0x50, 0x00, 0xd0, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x16, 0x02, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x68, 0x00, 0x90, 0x00, - 0x50, 0x00, 0xd0, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, - 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0x50, 0x00, 0xb4, 0x01, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, - 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, - 0xb8, 0x02, 0x0d, 0x01, 0xb9, 0x02, 0xb9, 0x02, 0xb9, 0x02, 0xb9, 0x02, 0xb9, 0x02, 0xb9, 0x02, - 0x0d, 0x01, 0x0d, 0x01, 0x0d, 0x01, 0x0d, 0x01, 0x0d, 0x01, 0x0d, 0x01, 0x0d, 0x01, 0x0d, 0x01, - 0x22, 0x00, 0x22, 0x00, 0x22, 0x00, 0x22, 0x00, 0x22, 0x00, 0x22, 0x00, 0x22, 0x00, 0x22, 0x00, - 0x22, 0x00, 0x22, 0x00, 0x22, 0x00, 0x22, 0x00, 0x22, 0x00, 0x22, 0x00, 0x22, 0x00, 0x0d, 0x01, - 0x0d, 0x01, 0x0d, 0x01, 0x0d, 0x01, 0x0d, 0x01, 0x0d, 0x01, 0x0d, 0x01, 0x0d, 0x01, 0x0d, 0x01, - 0x0d, 0x01, 0x0d, 0x01, 0x0d, 0x01, 0x0d, 0x01, 0x0d, 0x01, 0x0d, 0x01, 0x0d, 0x01, 0x0d, 0x01, - 0x0d, 0x01, 0x0d, 0x01, 0x0d, 0x01, 0x0d, 0x01, 0x0d, 0x01, 0x0d, 0x01, 0x0d, 0x01, 0x0d, 0x01, - 0x0d, 0x01, 0x0d, 0x01, 0x0d, 0x01, 0x0d, 0x01, 0x0d, 0x01, 0x0d, 0x01, 0x0d, 0x01, 0x0d, 0x01, - 0x97, 0x01, 0x97, 0x01, 0x97, 0x01, 0x97, 0x01, 0x97, 0x01, 0x97, 0x01, 0x97, 0x01, 0x97, 0x01, - 0x97, 0x01, 0x97, 0x01, 0x97, 0x01, 0x97, 0x01, 0x97, 0x01, 0x97, 0x01, 0x97, 0x01, 0x97, 0x01, - 0x97, 0x01, 0x97, 0x01, 0x97, 0x01, 0x97, 0x01, 0x97, 0x01, 0x97, 0x01, 0x97, 0x01, 0x97, 0x01, - 0x97, 0x01, 0x97, 0x01, 0x97, 0x01, 0x97, 0x01, 0x97, 0x01, 0x97, 0x01, 0x97, 0x01, 0xba, 0x02 + 0x0f, 0x00, 0x09, 0x01, 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, + 0x0a, 0x01, 0x0b, 0x01, 0x0a, 0x01, 0x0a, 0x01, 0x0b, 0x01, 0x0c, 0x01, 0x0a, 0x01, 0x0d, 0x01, + 0x0e, 0x01, 0x0e, 0x01, 0x0e, 0x01, 0x0f, 0x01, 0x10, 0x01, 0x11, 0x01, 0x12, 0x01, 0x13, 0x01, + 0x14, 0x01, 0x15, 0x01, 0x16, 0x01, 0x17, 0x01, 0x18, 0x01, 0x19, 0x01, 0x1a, 0x01, 0x1b, 0x01, + 0x1c, 0x01, 0x1d, 0x01, 0x1e, 0x01, 0x1e, 0x01, 0x1f, 0x01, 0x20, 0x01, 0x21, 0x01, 0xec, 0x00, + 0x22, 0x01, 0x23, 0x01, 0x24, 0x01, 0x25, 0x01, 0x26, 0x01, 0x27, 0x01, 0x28, 0x01, 0x29, 0x01, + 0x2a, 0x01, 0x2b, 0x01, 0x2c, 0x01, 0xe5, 0x00, 0x2d, 0x01, 0x2e, 0x01, 0xe5, 0x00, 0x2f, 0x01, + 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, + 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, + 0x31, 0x01, 0xe5, 0x00, 0x32, 0x01, 0x33, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x35, 0x01, + 0xe5, 0x00, 0x36, 0x01, 0x30, 0x01, 0x37, 0x01, 0xe5, 0x00, 0x38, 0x01, 0x39, 0x01, 0xe5, 0x00, + 0xe5, 0x00, 0xe5, 0x00, 0x3a, 0x01, 0x9d, 0x00, 0x3b, 0x01, 0x9d, 0x00, 0x27, 0x01, 0x27, 0x01, + 0x27, 0x01, 0x3c, 0x01, 0x34, 0x01, 0x3d, 0x01, 0x3e, 0x01, 0x3f, 0x01, 0x40, 0x01, 0x27, 0x01, + 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, + 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0x41, 0x01, 0x42, 0x01, 0xe5, 0x00, 0xe5, 0x00, 0x43, 0x01, + 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0x44, 0x01, 0xe5, 0x00, + 0xe5, 0x00, 0xe5, 0x00, 0x45, 0x01, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, + 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0x46, 0x01, 0x47, 0x01, + 0x27, 0x01, 0x48, 0x01, 0xe5, 0x00, 0xe5, 0x00, 0x49, 0x01, 0x30, 0x01, 0x4a, 0x01, 0x30, 0x01, + 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, + 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, + 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, + 0x4b, 0x01, 0x4c, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x4d, 0x01, 0x30, 0x01, 0x4e, 0x01, + 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, + 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, + 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0x30, 0x01, 0x4f, 0x01, 0xe5, 0x00, 0xe5, 0x00, 0x50, 0x01, + 0xe5, 0x00, 0x51, 0x01, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, + 0x37, 0x00, 0x37, 0x00, 0x52, 0x01, 0x3a, 0x00, 0x3a, 0x00, 0x53, 0x01, 0x54, 0x01, 0x55, 0x01, + 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x56, 0x01, 0x57, 0x01, + 0x58, 0x01, 0x58, 0x01, 0x59, 0x01, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5a, 0x01, 0x5b, 0x01, + 0x5d, 0x00, 0x5c, 0x01, 0x5d, 0x01, 0x5d, 0x01, 0x5d, 0x01, 0x5d, 0x01, 0x28, 0x00, 0x28, 0x00, + 0x5e, 0x01, 0x5f, 0x01, 0x60, 0x01, 0x61, 0x01, 0x62, 0x01, 0x63, 0x01, 0x9d, 0x00, 0x9d, 0x00, + 0xe5, 0x00, 0x64, 0x01, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0x65, 0x01, + 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, + 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0x66, 0x01, 0x9d, 0x00, 0x67, 0x01, + 0x68, 0x01, 0x69, 0x01, 0x6a, 0x01, 0x6b, 0x01, 0x99, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x6c, 0x01, 0xc6, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x6d, 0x01, + 0x6e, 0x01, 0x5d, 0x00, 0x5d, 0x00, 0x99, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0xdc, 0x00, 0x6f, 0x01, 0x5d, 0x00, 0x5d, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0x65, 0x01, 0x5d, 0x00, + 0x34, 0x01, 0x70, 0x01, 0x71, 0x01, 0x34, 0x01, 0x72, 0x01, 0x73, 0x01, 0x34, 0x01, 0x74, 0x01, + 0x71, 0x01, 0x34, 0x01, 0x34, 0x01, 0x75, 0x01, 0x76, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, + 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x77, 0x01, + 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x78, 0x01, 0x34, 0x01, 0x79, 0x01, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xa8, 0x00, + 0x5d, 0x00, 0x7a, 0x01, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0xa8, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0x3a, 0x01, 0x5d, 0x00, 0x5d, 0x00, 0xfa, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x7b, 0x01, 0x5d, 0x00, 0x7c, 0x01, 0x9d, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x7d, 0x01, 0x7e, 0x01, + 0x0f, 0x00, 0x7f, 0x01, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x80, 0x01, 0x81, 0x01, + 0x27, 0x00, 0x82, 0x01, 0x83, 0x01, 0x84, 0x01, 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x85, 0x01, + 0x86, 0x01, 0x87, 0x01, 0x88, 0x01, 0x89, 0x01, 0x8a, 0x01, 0x9d, 0x00, 0x9d, 0x00, 0x8b, 0x01, + 0x8c, 0x01, 0x5d, 0x00, 0x8d, 0x01, 0x8e, 0x01, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x8f, 0x01, + 0x90, 0x01, 0x5d, 0x00, 0x5d, 0x00, 0x91, 0x01, 0x92, 0x01, 0xd4, 0x00, 0x28, 0x00, 0x93, 0x01, + 0xf4, 0x00, 0x5d, 0x00, 0x94, 0x01, 0x5d, 0x00, 0x95, 0x01, 0x96, 0x01, 0x5d, 0x00, 0xa8, 0x00, + 0x5c, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x97, 0x01, 0x98, 0x01, 0x99, 0x01, 0x9a, 0x01, 0x9b, 0x01, + 0x5d, 0x00, 0x5d, 0x00, 0x9c, 0x01, 0x9d, 0x01, 0x9e, 0x01, 0x9f, 0x01, 0x5d, 0x00, 0xa0, 0x01, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xa1, 0x01, 0xa2, 0x01, 0xa3, 0x01, 0xa4, 0x01, 0xa5, 0x01, + 0xa6, 0x01, 0xa7, 0x01, 0x5d, 0x01, 0x22, 0x00, 0x22, 0x00, 0xa8, 0x01, 0xa9, 0x01, 0xaa, 0x01, + 0xaa, 0x01, 0xaa, 0x01, 0xaa, 0x01, 0xaa, 0x01, 0x5d, 0x00, 0x5d, 0x00, 0xab, 0x01, 0xd4, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0xac, 0x01, 0x5d, 0x00, 0xad, 0x01, 0x5d, 0x00, 0x5d, 0x00, 0xe2, 0x00, + 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, + 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, + 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, + 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, + 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, + 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, + 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, + 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, + 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, + 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xe0, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xe3, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0xb0, 0x01, 0xb1, 0x01, 0xb2, 0x01, 0xb3, 0x01, 0xb4, 0x01, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, + 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0xb5, 0x01, 0xb6, 0x01, 0xb7, 0x01, 0x3f, 0x00, 0x3f, 0x00, + 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, + 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, + 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0xb8, 0x01, 0x57, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, + 0x3f, 0x00, 0xb9, 0x01, 0x3f, 0x00, 0x3f, 0x00, 0x59, 0x00, 0x1f, 0x01, 0x1f, 0x01, 0xba, 0x01, + 0x28, 0x00, 0xbb, 0x01, 0x28, 0x00, 0xbc, 0x01, 0xbd, 0x01, 0xbe, 0x01, 0xbf, 0x01, 0x58, 0x00, + 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0xc0, 0x01, + 0xc1, 0x01, 0x03, 0x00, 0x04, 0x00, 0x05, 0x00, 0x06, 0x00, 0xc2, 0x01, 0xc3, 0x01, 0xc4, 0x01, + 0x5d, 0x00, 0xc5, 0x01, 0x5d, 0x00, 0xdc, 0x00, 0xc6, 0x01, 0xc7, 0x01, 0xc8, 0x01, 0xc9, 0x01, + 0xca, 0x01, 0x5d, 0x00, 0xbf, 0x00, 0xcb, 0x01, 0xe0, 0x00, 0xe0, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xcc, 0x01, + 0xcd, 0x01, 0xce, 0x01, 0xce, 0x01, 0xcf, 0x01, 0xd0, 0x01, 0xd0, 0x01, 0xd0, 0x01, 0xd1, 0x01, + 0xd2, 0x01, 0xd3, 0x01, 0xd4, 0x01, 0x9d, 0x00, 0x9d, 0x00, 0x34, 0x01, 0x34, 0x01, 0xd5, 0x01, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x5d, 0x00, 0xa8, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x75, 0x00, 0xd6, 0x01, 0xd7, 0x01, + 0x5d, 0x00, 0x5d, 0x00, 0xd8, 0x01, 0x5d, 0x00, 0xd9, 0x01, 0x5d, 0x00, 0x5d, 0x00, 0xda, 0x01, + 0x5d, 0x00, 0xdb, 0x01, 0x5d, 0x00, 0x5d, 0x00, 0xdc, 0x01, 0xdd, 0x01, 0x9d, 0x00, 0x9d, 0x00, + 0xde, 0x01, 0xde, 0x01, 0xdf, 0x01, 0xe0, 0x01, 0xe0, 0x01, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0xe0, 0x00, 0xd4, 0x00, 0xde, 0x01, 0xde, 0x01, 0xe1, 0x01, 0xe0, 0x01, 0xe2, 0x01, + 0x5d, 0x00, 0x5d, 0x00, 0xe3, 0x01, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xe4, 0x01, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5c, 0x01, 0x5d, 0x00, 0xdb, 0x00, 0xe3, 0x01, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0xe5, 0x01, 0x3f, 0x00, 0x3f, 0x00, 0xe6, 0x01, 0x3f, 0x00, 0xe7, 0x01, 0x3f, 0x00, 0xe8, 0x01, + 0x3f, 0x00, 0xe9, 0x01, 0xea, 0x01, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x3f, 0x00, 0xeb, 0x01, + 0x3f, 0x00, 0xec, 0x01, 0x3f, 0x00, 0xed, 0x01, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, + 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0xee, 0x01, 0xef, 0x01, 0xf0, 0x01, 0xef, 0x01, 0xef, 0x01, + 0xf1, 0x01, 0xf2, 0x01, 0x3f, 0x00, 0xf3, 0x01, 0xf4, 0x01, 0xf5, 0x01, 0x3f, 0x00, 0xf6, 0x01, + 0x3f, 0x00, 0xf7, 0x01, 0x57, 0x00, 0x57, 0x00, 0xf8, 0x01, 0x3f, 0x00, 0xf9, 0x01, 0xfa, 0x01, + 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0xfb, 0x01, 0x3f, 0x00, 0xfc, 0x01, 0x3f, 0x00, 0xfd, 0x01, + 0x3f, 0x00, 0xfe, 0x01, 0xff, 0x01, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, + 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x00, 0x02, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, + 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x02, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x04, 0x02, + 0x3f, 0x00, 0x3f, 0x00, 0x05, 0x02, 0x06, 0x02, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, + 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, + 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x27, 0x01, 0x07, 0x02, + 0x3f, 0x00, 0x3f, 0x00, 0x08, 0x02, 0x09, 0x02, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, + 0x3f, 0x00, 0xf7, 0x01, 0x0a, 0x02, 0x3f, 0x00, 0x4d, 0x00, 0x0b, 0x02, 0x57, 0x00, 0x57, 0x00, + 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x3f, 0x00, 0x0c, 0x02, 0x57, 0x00, 0x3f, 0x00, 0x0d, 0x02, + 0x0e, 0x02, 0x5d, 0x00, 0x5d, 0x00, 0x0f, 0x02, 0x10, 0x02, 0x11, 0x02, 0x12, 0x02, 0x13, 0x02, + 0xf2, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x14, 0x02, 0x15, 0x02, 0x5d, 0x00, 0xd8, 0x00, 0xd4, 0x00, + 0x16, 0x02, 0x5d, 0x00, 0x17, 0x02, 0x18, 0x02, 0x19, 0x02, 0x5d, 0x00, 0x5d, 0x00, 0x1a, 0x02, + 0xf2, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x1b, 0x02, 0x1c, 0x02, 0x1d, 0x02, 0x1e, 0x02, 0x1f, 0x02, + 0x5d, 0x00, 0x72, 0x00, 0x20, 0x02, 0x21, 0x02, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x22, 0x02, 0x23, 0x02, 0x24, 0x02, 0x5d, 0x00, 0x5d, 0x00, 0x25, 0x02, 0x26, 0x02, 0xd4, 0x00, + 0x27, 0x02, 0x64, 0x00, 0x65, 0x00, 0x28, 0x02, 0x29, 0x02, 0x2a, 0x02, 0x2b, 0x02, 0x2c, 0x02, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x2d, 0x02, 0x2e, 0x02, 0x2f, 0x02, 0x30, 0x02, 0x9d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x31, 0x02, 0x32, 0x02, 0xd4, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x33, 0x02, 0x34, 0x02, 0x35, 0x02, 0x36, 0x02, 0x9d, 0x00, 0x9d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x37, 0x02, 0x38, 0x02, 0xd4, 0x00, 0x39, 0x02, 0x9d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x3a, 0x02, 0x3b, 0x02, 0xd4, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x5d, 0x00, 0xc0, 0x00, 0x3c, 0x02, 0x3d, 0x02, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x20, 0x02, 0x3e, 0x02, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x0b, 0x00, 0x0b, 0x00, 0x0d, 0x00, 0x0d, 0x00, 0xa5, 0x00, 0x3f, 0x02, + 0x40, 0x02, 0x41, 0x02, 0x5d, 0x00, 0x42, 0x02, 0x43, 0x02, 0xd4, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x44, 0x02, 0x5d, 0x00, 0x5d, 0x00, 0x45, 0x02, 0x46, 0x02, 0x9d, 0x00, + 0x47, 0x02, 0x5d, 0x00, 0x5d, 0x00, 0x48, 0x02, 0x49, 0x02, 0x4a, 0x02, 0x5d, 0x00, 0x5d, 0x00, + 0x4b, 0x02, 0x4c, 0x02, 0x4d, 0x02, 0x9d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xd8, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x65, 0x00, 0x5d, 0x00, 0x33, 0x02, 0x4e, 0x02, 0x4f, 0x02, 0xa5, 0x00, 0xc2, 0x00, 0x50, 0x02, + 0x5d, 0x00, 0x51, 0x02, 0x52, 0x02, 0x53, 0x02, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x54, 0x02, 0x5d, 0x00, 0x5d, 0x00, 0x55, 0x02, 0x56, 0x02, 0xd4, 0x00, 0x57, 0x02, 0x5d, 0x00, + 0x58, 0x02, 0x59, 0x02, 0xd4, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x5d, 0x00, 0x5a, 0x02, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x75, 0x00, 0xce, 0x01, 0x5b, 0x02, 0x5c, 0x02, 0x5d, 0x02, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0xe3, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x5e, 0x02, 0x5e, 0x02, 0x5e, 0x02, 0x5e, 0x02, 0x5e, 0x02, 0x5e, 0x02, 0x5f, 0x02, 0x60, 0x02, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xac, 0x01, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0xdc, 0x00, 0x61, 0x02, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5c, 0x01, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xd8, 0x00, 0x5d, 0x00, 0xdc, 0x00, 0x99, 0x01, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x5d, 0x00, 0xe0, 0x00, 0x62, 0x02, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x63, 0x02, 0x64, 0x02, 0x65, 0x02, 0x66, 0x02, 0x67, 0x02, + 0x5d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x0b, 0x00, 0x0b, 0x00, 0x0d, 0x00, 0x0d, 0x00, + 0xce, 0x01, 0x68, 0x02, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x69, 0x02, 0x6a, 0x02, 0x6b, 0x02, 0x6b, 0x02, + 0x6c, 0x02, 0x6d, 0x02, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x6e, 0x02, 0x6f, 0x02, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xe3, 0x01, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xdb, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0xd8, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0xdc, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x70, 0x02, 0x71, 0x02, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xe2, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xcc, 0x01, 0xa8, 0x00, + 0xd8, 0x00, 0x72, 0x02, 0x73, 0x02, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, + 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x74, 0x02, + 0x34, 0x01, 0x34, 0x01, 0x75, 0x02, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x76, 0x02, 0x77, 0x02, + 0x78, 0x02, 0x34, 0x01, 0x79, 0x02, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x7a, 0x02, 0x9d, 0x00, + 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0x7b, 0x02, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0xce, 0x01, 0x7c, 0x02, + 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0x3a, 0x01, 0xce, 0x01, 0x7d, 0x02, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x7e, 0x02, 0x7f, 0x02, 0x22, 0x00, 0x80, 0x02, 0x81, 0x02, 0x82, 0x02, 0x83, 0x02, 0x7e, 0x02, + 0x84, 0x02, 0x85, 0x02, 0x86, 0x02, 0x87, 0x02, 0x88, 0x02, 0x7e, 0x02, 0x7f, 0x02, 0x22, 0x00, + 0x89, 0x02, 0x8a, 0x02, 0x22, 0x00, 0x8b, 0x02, 0x8c, 0x02, 0x8d, 0x02, 0x8e, 0x02, 0x7e, 0x02, + 0x8f, 0x02, 0x22, 0x00, 0x7e, 0x02, 0x7f, 0x02, 0x22, 0x00, 0x80, 0x02, 0x81, 0x02, 0x22, 0x00, + 0x83, 0x02, 0x7e, 0x02, 0x84, 0x02, 0x8e, 0x02, 0x7e, 0x02, 0x8f, 0x02, 0x22, 0x00, 0x7e, 0x02, + 0x7f, 0x02, 0x22, 0x00, 0x90, 0x02, 0x7e, 0x02, 0x91, 0x02, 0x92, 0x02, 0x93, 0x02, 0x94, 0x02, + 0x22, 0x00, 0x95, 0x02, 0x7e, 0x02, 0x96, 0x02, 0x97, 0x02, 0x98, 0x02, 0x99, 0x02, 0x22, 0x00, + 0x9a, 0x02, 0x7e, 0x02, 0x9b, 0x02, 0x22, 0x00, 0x9c, 0x02, 0x9d, 0x02, 0x9d, 0x02, 0x9d, 0x02, + 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, + 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, + 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, + 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, + 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x9e, 0x02, 0x28, 0x00, 0x28, 0x00, 0x9f, 0x02, 0xa0, 0x02, + 0xa1, 0x02, 0xa2, 0x02, 0xa3, 0x02, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0xa4, 0x02, 0xa5, 0x02, 0xa6, 0x02, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0xa8, 0x00, 0xa7, 0x02, 0xa8, 0x02, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xa9, 0x02, 0xaa, 0x02, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, + 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0xab, 0x02, 0xac, 0x02, 0x57, 0x00, 0x57, 0x00, + 0xad, 0x02, 0xad, 0x02, 0xae, 0x02, 0xaf, 0x02, 0xb0, 0x02, 0xb1, 0x02, 0x57, 0x00, 0x57, 0x00, + 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, + 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, + 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, + 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, + 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, + 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0xb2, 0x02, + 0xef, 0x01, 0xef, 0x01, 0xb3, 0x02, 0xb4, 0x02, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, + 0xb2, 0x02, 0xef, 0x01, 0xb5, 0x02, 0xb6, 0x02, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, + 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, + 0xb7, 0x02, 0x3f, 0x00, 0xb8, 0x02, 0xb9, 0x02, 0xba, 0x02, 0xbb, 0x02, 0xbc, 0x02, 0xbd, 0x02, + 0xbe, 0x02, 0xbf, 0x02, 0xc0, 0x02, 0xbf, 0x02, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0xc1, 0x02, + 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, + 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, + 0xe5, 0x00, 0xe5, 0x00, 0x67, 0x01, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, + 0xe5, 0x00, 0x65, 0x01, 0xc2, 0x02, 0xc3, 0x02, 0xc3, 0x02, 0xc3, 0x02, 0xe5, 0x00, 0x66, 0x01, + 0xc4, 0x02, 0x34, 0x01, 0x79, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0xc5, 0x02, 0x34, 0x01, + 0x34, 0x01, 0x34, 0x01, 0xc6, 0x02, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0xc7, 0x02, 0x34, 0x01, + 0xc8, 0x02, 0x34, 0x01, 0x34, 0x01, 0xc9, 0x02, 0x7a, 0x02, 0xca, 0x02, 0x66, 0x01, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, + 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xcb, 0x02, + 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, + 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, + 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, + 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, + 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, + 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xcc, 0x02, 0xd3, 0x01, 0xd3, 0x01, + 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0x65, 0x01, + 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xcd, 0x02, 0x67, 0x01, 0x9d, 0x00, + 0x67, 0x01, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xcc, 0x02, 0xc3, 0x00, 0xe5, 0x00, 0xe5, 0x00, + 0xcc, 0x02, 0xe5, 0x00, 0xce, 0x02, 0xcf, 0x02, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xd0, 0x02, + 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xd1, 0x02, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, + 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0x65, 0x01, 0xce, 0x02, 0xd2, 0x02, + 0x3a, 0x01, 0xe5, 0x00, 0xcd, 0x02, 0x3a, 0x01, 0xd3, 0x02, 0x3a, 0x01, 0x9d, 0x00, 0x9d, 0x00, + 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, + 0xe5, 0x00, 0xd4, 0x02, 0xe5, 0x00, 0xe5, 0x00, 0x3b, 0x01, 0x9d, 0x00, 0x9d, 0x00, 0xd5, 0x02, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0xd6, 0x02, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xe0, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xe1, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0xe0, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x30, 0x02, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x75, 0x00, 0x9d, 0x00, + 0x5d, 0x00, 0xe0, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, + 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xcc, 0x01, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, + 0xd7, 0x02, 0x1f, 0x01, 0xd8, 0x02, 0xd8, 0x02, 0xd8, 0x02, 0xd8, 0x02, 0xd8, 0x02, 0xd8, 0x02, + 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, + 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, + 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x1f, 0x01, + 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, + 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, + 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, + 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, + 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, + 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, + 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, + 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xd9, 0x02 }; - private static ReadOnlySpan CategoryCasingLevel3Index => new byte[11184] + private static ReadOnlySpan CategoryCasingLevel3Index => new byte[11680] { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -568,276 +567,295 @@ private static void AssertCategoryCasingTableLevels(int level1BitCount, int leve 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x05, 0x07, 0x06, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0x04, 0x04, 0x04, 0x04, 0x0e, 0x03, 0x0b, 0x0e, 0x0f, 0x10, 0x07, 0x11, 0x0e, 0x0b, - 0x0e, 0x07, 0x12, 0x12, 0x0b, 0x0d, 0x03, 0x03, 0x0b, 0x12, 0x0f, 0x13, 0x12, 0x12, 0x12, 0x03, + 0x0e, 0x07, 0x12, 0x12, 0x0b, 0x13, 0x03, 0x03, 0x0b, 0x12, 0x0f, 0x14, 0x12, 0x12, 0x12, 0x03, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x07, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0d, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x07, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x15, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, - 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x07, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, - 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, - 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, - 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, - 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0d, - 0x0d, 0x0a, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0a, 0x0d, 0x0a, 0x0a, 0x0a, 0x0d, 0x0d, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0d, 0x0a, 0x0a, 0x0d, 0x0a, 0x0a, 0x0a, 0x0d, 0x0d, 0x0d, 0x0a, 0x0a, 0x0d, 0x0a, - 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0a, 0x0d, 0x0a, 0x0d, 0x0d, 0x0a, 0x0d, 0x0a, 0x0a, - 0x0d, 0x0a, 0x0a, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0a, 0x0d, 0x0d, 0x0f, 0x0a, 0x0d, 0x0d, 0x0d, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0a, 0x14, 0x0d, 0x0a, 0x14, 0x0d, 0x0a, 0x14, 0x0d, 0x0a, 0x0d, 0x0a, - 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0d, 0x0a, 0x0d, - 0x0d, 0x0a, 0x14, 0x0d, 0x0a, 0x0d, 0x0a, 0x0a, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, - 0x0a, 0x0d, 0x0a, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0a, 0x0a, 0x0d, 0x0a, 0x0a, 0x0d, - 0x0d, 0x0a, 0x0d, 0x0a, 0x0a, 0x0a, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, - 0x0d, 0x0d, 0x0d, 0x0d, 0x0f, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, - 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x16, 0x16, 0x15, 0x15, 0x15, 0x15, 0x15, - 0x15, 0x15, 0x0b, 0x0b, 0x0b, 0x0b, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, - 0x15, 0x15, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, - 0x15, 0x15, 0x15, 0x15, 0x15, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x16, 0x0b, 0x15, 0x0b, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x07, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x16, + 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, + 0x19, 0x15, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x15, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, + 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x15, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, + 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x1a, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x15, + 0x1b, 0x1c, 0x17, 0x18, 0x17, 0x18, 0x1d, 0x17, 0x18, 0x1e, 0x1e, 0x17, 0x18, 0x15, 0x1f, 0x20, + 0x21, 0x17, 0x18, 0x1e, 0x22, 0x23, 0x24, 0x25, 0x17, 0x18, 0x26, 0x15, 0x24, 0x27, 0x28, 0x29, + 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x2a, 0x17, 0x18, 0x2a, 0x15, 0x15, 0x17, 0x18, 0x2a, 0x17, + 0x18, 0x2b, 0x2b, 0x17, 0x18, 0x17, 0x18, 0x2c, 0x17, 0x18, 0x15, 0x0f, 0x17, 0x18, 0x15, 0x2d, + 0x0f, 0x0f, 0x0f, 0x0f, 0x2e, 0x2f, 0x30, 0x2e, 0x2f, 0x30, 0x2e, 0x2f, 0x30, 0x17, 0x18, 0x17, + 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x31, 0x17, 0x18, + 0x15, 0x2e, 0x2f, 0x30, 0x17, 0x18, 0x32, 0x33, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, + 0x34, 0x15, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, + 0x17, 0x18, 0x17, 0x18, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x35, 0x17, 0x18, 0x36, 0x37, 0x38, + 0x38, 0x17, 0x18, 0x39, 0x3a, 0x3b, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, + 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x15, 0x41, 0x41, 0x15, 0x42, 0x15, 0x43, 0x44, 0x15, 0x15, 0x15, + 0x41, 0x45, 0x15, 0x46, 0x15, 0x47, 0x48, 0x15, 0x49, 0x4a, 0x48, 0x4b, 0x4c, 0x15, 0x15, 0x4a, + 0x15, 0x4d, 0x4e, 0x15, 0x15, 0x4f, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x50, 0x15, 0x15, + 0x51, 0x15, 0x52, 0x51, 0x15, 0x15, 0x15, 0x53, 0x51, 0x54, 0x55, 0x55, 0x56, 0x15, 0x15, 0x15, + 0x15, 0x15, 0x57, 0x15, 0x0f, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x58, 0x59, 0x15, + 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, + 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5b, 0x5b, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, + 0x5a, 0x5a, 0x0b, 0x0b, 0x0b, 0x0b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, + 0x5a, 0x5a, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, + 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x5b, 0x0b, 0x5a, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, - 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, - 0x0a, 0x0d, 0x0a, 0x0d, 0x16, 0x0b, 0x0a, 0x0d, 0x18, 0x18, 0x15, 0x0d, 0x0d, 0x0d, 0x03, 0x0a, - 0x18, 0x18, 0x18, 0x18, 0x0b, 0x0b, 0x0a, 0x03, 0x0a, 0x0a, 0x0a, 0x18, 0x0a, 0x18, 0x0a, 0x0a, - 0x0d, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x18, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0d, 0x0d, 0x0d, 0x0d, - 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0a, - 0x0d, 0x0d, 0x0a, 0x0a, 0x0a, 0x0d, 0x0d, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, - 0x0d, 0x0d, 0x0d, 0x0d, 0x0a, 0x0d, 0x07, 0x0a, 0x0d, 0x0a, 0x0a, 0x0d, 0x0d, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0d, 0x19, 0x17, 0x17, 0x17, 0x17, 0x17, 0x1a, 0x1a, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, - 0x0a, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0d, - 0x18, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x18, 0x18, 0x15, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, - 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x1b, 0x08, 0x18, 0x18, 0x0e, 0x0e, 0x04, - 0x1c, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, - 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x1d, 0x17, - 0x1e, 0x17, 0x17, 0x1e, 0x17, 0x17, 0x1e, 0x17, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, - 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, - 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1c, 0x1c, 0x1c, 0x1c, 0x1f, - 0x1f, 0x1f, 0x1f, 0x1e, 0x1e, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, - 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x07, 0x07, 0x20, 0x03, 0x03, 0x21, 0x03, 0x1e, 0x0e, 0x0e, - 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x1e, 0x22, 0x1c, 0x1e, 0x1e, - 0x23, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x17, 0x17, 0x17, 0x17, 0x17, - 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x03, 0x03, 0x03, 0x1e, 0x1f, 0x1f, - 0x17, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, - 0x1f, 0x1f, 0x1f, 0x1f, 0x1e, 0x1f, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x11, 0x0e, 0x17, - 0x17, 0x17, 0x17, 0x17, 0x17, 0x23, 0x23, 0x17, 0x17, 0x0e, 0x17, 0x17, 0x17, 0x17, 0x1f, 0x1f, - 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x1f, 0x1f, 0x1f, 0x24, 0x24, 0x1f, - 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1c, 0x22, - 0x1f, 0x17, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, - 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x1c, 0x1c, 0x1f, 0x1f, 0x1f, - 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, - 0x17, 0x1f, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, - 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, - 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x17, 0x17, 0x17, 0x17, 0x17, - 0x17, 0x17, 0x17, 0x17, 0x23, 0x23, 0x0e, 0x03, 0x03, 0x03, 0x23, 0x1c, 0x1c, 0x17, 0x21, 0x21, - 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x17, 0x17, 0x17, 0x17, 0x23, 0x17, 0x17, 0x17, 0x17, 0x17, - 0x17, 0x17, 0x17, 0x17, 0x23, 0x17, 0x17, 0x17, 0x23, 0x17, 0x17, 0x17, 0x17, 0x17, 0x1c, 0x1c, - 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1c, - 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x17, 0x17, 0x17, 0x1c, 0x1c, 0x1e, 0x1c, - 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, - 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, - 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1c, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, - 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, - 0x1c, 0x1c, 0x1c, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, - 0x17, 0x17, 0x11, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, - 0x17, 0x17, 0x17, 0x26, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5d, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, + 0x17, 0x18, 0x17, 0x18, 0x5b, 0x0b, 0x17, 0x18, 0x5e, 0x5e, 0x5a, 0x28, 0x28, 0x28, 0x03, 0x5f, + 0x5e, 0x5e, 0x5e, 0x5e, 0x0b, 0x0b, 0x60, 0x03, 0x61, 0x61, 0x61, 0x5e, 0x62, 0x5e, 0x63, 0x63, + 0x15, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x5e, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x64, 0x65, 0x65, 0x65, + 0x15, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x66, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x67, 0x68, 0x68, 0x69, + 0x6a, 0x6b, 0x19, 0x19, 0x19, 0x6c, 0x6d, 0x6e, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, + 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, 0x07, 0x17, 0x18, 0x75, 0x17, 0x18, 0x15, 0x34, 0x34, 0x34, + 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, + 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, + 0x17, 0x18, 0x78, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x79, 0x79, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, + 0x7a, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x7b, + 0x5e, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, + 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, + 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x5e, 0x5e, 0x5a, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, + 0x15, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, + 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, + 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x15, 0x15, 0x7d, 0x08, 0x5e, 0x5e, 0x0e, 0x0e, 0x04, + 0x7f, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x80, 0x5c, + 0x81, 0x5c, 0x5c, 0x81, 0x5c, 0x5c, 0x81, 0x5c, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x7f, 0x7f, 0x7f, 0x82, + 0x82, 0x82, 0x82, 0x81, 0x81, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, + 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x07, 0x07, 0x83, 0x03, 0x03, 0x84, 0x03, 0x81, 0x0e, 0x0e, + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x81, 0x85, 0x7f, 0x81, 0x81, + 0x86, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, + 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x03, 0x03, 0x03, 0x81, 0x82, 0x82, + 0x5c, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, + 0x82, 0x82, 0x82, 0x82, 0x81, 0x82, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x11, 0x0e, 0x5c, + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x86, 0x86, 0x5c, 0x5c, 0x0e, 0x5c, 0x5c, 0x5c, 0x5c, 0x82, 0x82, + 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x82, 0x82, 0x82, 0x87, 0x87, 0x82, + 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x7f, 0x85, + 0x82, 0x5c, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x7f, 0x7f, 0x82, 0x82, 0x82, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, + 0x5c, 0x82, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, + 0x5c, 0x5c, 0x5c, 0x5c, 0x86, 0x86, 0x0e, 0x03, 0x03, 0x03, 0x86, 0x7f, 0x7f, 0x5c, 0x84, 0x84, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x5c, 0x5c, 0x5c, 0x5c, 0x86, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, + 0x5c, 0x5c, 0x5c, 0x5c, 0x86, 0x5c, 0x5c, 0x5c, 0x86, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x7f, 0x7f, + 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x7f, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x5c, 0x5c, 0x5c, 0x7f, 0x7f, 0x81, 0x7f, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, + 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, + 0x7f, 0x7f, 0x7f, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, + 0x5c, 0x5c, 0x11, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, + 0x5c, 0x5c, 0x5c, 0x89, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x17, 0x26, 0x17, 0x0f, 0x26, 0x26, - 0x26, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x26, 0x26, 0x26, 0x26, 0x17, 0x26, 0x26, - 0x0f, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x17, 0x17, 0x1b, 0x1b, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, - 0x1b, 0x15, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x17, 0x26, 0x26, 0x18, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x18, 0x0f, - 0x0f, 0x18, 0x18, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x18, 0x0f, 0x18, 0x18, 0x18, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x18, 0x17, 0x0f, 0x26, 0x26, - 0x26, 0x17, 0x17, 0x17, 0x17, 0x18, 0x18, 0x26, 0x26, 0x18, 0x18, 0x26, 0x26, 0x17, 0x0f, 0x18, - 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x26, 0x18, 0x18, 0x18, 0x18, 0x0f, 0x0f, 0x18, 0x0f, - 0x0f, 0x0f, 0x17, 0x17, 0x18, 0x18, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, - 0x0f, 0x0f, 0x04, 0x04, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x19, 0x04, 0x0f, 0x1b, 0x17, 0x18, - 0x18, 0x17, 0x17, 0x26, 0x18, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x18, 0x18, 0x18, 0x0f, - 0x0f, 0x18, 0x0f, 0x0f, 0x18, 0x0f, 0x0f, 0x18, 0x0f, 0x0f, 0x18, 0x18, 0x17, 0x18, 0x26, 0x26, - 0x26, 0x17, 0x17, 0x18, 0x18, 0x18, 0x18, 0x17, 0x17, 0x18, 0x18, 0x17, 0x17, 0x17, 0x18, 0x18, - 0x18, 0x17, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x0f, 0x18, - 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, - 0x17, 0x17, 0x0f, 0x0f, 0x0f, 0x17, 0x1b, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x18, 0x17, 0x17, 0x26, 0x18, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x0f, - 0x0f, 0x0f, 0x18, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x18, 0x0f, 0x0f, 0x18, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x18, 0x17, 0x0f, 0x26, 0x26, - 0x26, 0x17, 0x17, 0x17, 0x17, 0x17, 0x18, 0x17, 0x17, 0x26, 0x18, 0x26, 0x26, 0x17, 0x18, 0x18, - 0x0f, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x1b, 0x04, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x0f, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, - 0x18, 0x17, 0x26, 0x26, 0x18, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x18, 0x0f, - 0x0f, 0x18, 0x0f, 0x0f, 0x18, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x18, 0x17, 0x0f, 0x26, 0x17, - 0x26, 0x17, 0x17, 0x17, 0x17, 0x18, 0x18, 0x26, 0x26, 0x18, 0x18, 0x26, 0x26, 0x17, 0x18, 0x18, - 0x18, 0x18, 0x18, 0x18, 0x18, 0x17, 0x17, 0x26, 0x18, 0x18, 0x18, 0x18, 0x0f, 0x0f, 0x18, 0x0f, - 0x19, 0x0f, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x18, 0x18, 0x17, 0x0f, 0x18, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x18, 0x18, 0x0f, 0x0f, - 0x0f, 0x18, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x18, 0x18, 0x0f, 0x0f, 0x18, 0x0f, 0x18, 0x0f, 0x0f, - 0x18, 0x18, 0x18, 0x0f, 0x0f, 0x18, 0x18, 0x18, 0x0f, 0x0f, 0x0f, 0x18, 0x18, 0x18, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x18, 0x18, 0x18, 0x26, 0x26, - 0x17, 0x26, 0x26, 0x18, 0x18, 0x18, 0x26, 0x26, 0x26, 0x18, 0x26, 0x26, 0x26, 0x17, 0x18, 0x18, - 0x0f, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x26, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x28, 0x28, 0x28, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x04, 0x0e, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x17, 0x26, 0x26, 0x26, 0x17, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x0f, 0x0f, - 0x0f, 0x18, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x18, 0x18, 0x0f, 0x17, 0x17, - 0x17, 0x26, 0x26, 0x26, 0x26, 0x18, 0x17, 0x17, 0x17, 0x18, 0x17, 0x17, 0x17, 0x17, 0x18, 0x18, - 0x18, 0x18, 0x18, 0x18, 0x18, 0x17, 0x17, 0x18, 0x0f, 0x0f, 0x0f, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1b, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x19, - 0x0f, 0x17, 0x26, 0x26, 0x1b, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x18, 0x17, 0x0f, 0x26, 0x29, - 0x26, 0x26, 0x26, 0x26, 0x26, 0x18, 0x29, 0x26, 0x26, 0x18, 0x26, 0x26, 0x17, 0x17, 0x18, 0x18, - 0x18, 0x18, 0x18, 0x18, 0x18, 0x26, 0x26, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x0f, 0x18, - 0x18, 0x0f, 0x0f, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x17, 0x17, 0x26, 0x26, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x17, 0x17, 0x0f, 0x26, 0x26, - 0x26, 0x17, 0x17, 0x17, 0x17, 0x18, 0x26, 0x26, 0x26, 0x18, 0x26, 0x26, 0x26, 0x17, 0x0f, 0x19, - 0x18, 0x18, 0x18, 0x18, 0x0f, 0x0f, 0x0f, 0x26, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x0f, - 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x19, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x18, 0x17, 0x26, 0x26, 0x18, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x18, 0x18, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x18, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x0f, 0x18, 0x18, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x18, 0x18, 0x17, 0x18, 0x18, 0x18, 0x18, 0x26, - 0x26, 0x26, 0x17, 0x17, 0x17, 0x18, 0x17, 0x18, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, - 0x18, 0x18, 0x26, 0x26, 0x1b, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x18, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x17, 0x0f, 0x0f, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x18, 0x18, 0x18, 0x18, 0x04, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x15, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x1b, - 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x1b, 0x1b, 0x18, 0x18, 0x18, 0x18, - 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x18, 0x0f, 0x0f, 0x18, 0x0f, 0x18, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x0f, 0x18, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x17, 0x0f, 0x0f, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x0f, 0x18, 0x18, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x15, 0x18, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x18, 0x18, - 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x18, 0x18, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x19, 0x19, 0x19, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, - 0x1b, 0x1b, 0x1b, 0x19, 0x1b, 0x19, 0x19, 0x19, 0x17, 0x17, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, - 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, - 0x28, 0x28, 0x28, 0x28, 0x19, 0x17, 0x19, 0x17, 0x19, 0x17, 0x05, 0x06, 0x05, 0x06, 0x26, 0x26, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x18, 0x18, - 0x18, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x26, - 0x17, 0x17, 0x17, 0x17, 0x17, 0x1b, 0x17, 0x17, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x17, 0x17, 0x17, - 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x18, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, - 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x18, 0x19, 0x19, - 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x17, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x18, 0x19, 0x19, - 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x19, 0x19, 0x19, 0x19, 0x1b, 0x1b, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x26, 0x26, 0x17, 0x17, 0x17, - 0x17, 0x26, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x26, 0x17, 0x17, 0x26, 0x26, 0x17, 0x17, 0x0f, - 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x26, 0x26, 0x17, 0x17, 0x0f, 0x0f, 0x0f, 0x0f, 0x17, 0x17, - 0x17, 0x0f, 0x26, 0x26, 0x26, 0x0f, 0x0f, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x0f, 0x0f, - 0x0f, 0x17, 0x17, 0x17, 0x17, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x17, 0x26, 0x26, 0x17, 0x17, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x17, 0x0f, 0x26, - 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x26, 0x26, 0x26, 0x17, 0x19, 0x19, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x18, 0x0a, 0x18, 0x18, 0x18, 0x18, 0x18, 0x0a, 0x18, 0x18, - 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x1b, 0x15, 0x0d, 0x0d, 0x0d, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x18, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x0f, 0x18, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x18, - 0x0f, 0x18, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x18, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, - 0x0f, 0x18, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x18, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x18, 0x17, 0x17, 0x17, - 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, - 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x18, 0x18, 0x18, - 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x18, 0x18, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x18, 0x18, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x89, 0x5c, 0x0f, 0x89, 0x89, + 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, 0x89, 0x89, 0x89, 0x5c, 0x89, 0x89, + 0x0f, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x5c, 0x5c, 0x7d, 0x7d, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, + 0x7d, 0x5a, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x5c, 0x89, 0x89, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x0f, + 0x0f, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x5e, 0x0f, 0x5e, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5c, 0x0f, 0x89, 0x89, + 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x5e, 0x89, 0x89, 0x5e, 0x5e, 0x89, 0x89, 0x5c, 0x0f, 0x5e, + 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x89, 0x5e, 0x5e, 0x5e, 0x5e, 0x0f, 0x0f, 0x5e, 0x0f, + 0x0f, 0x0f, 0x5c, 0x5c, 0x5e, 0x5e, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, + 0x0f, 0x0f, 0x04, 0x04, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x78, 0x04, 0x0f, 0x7d, 0x5c, 0x5e, + 0x5e, 0x5c, 0x5c, 0x89, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x0f, + 0x0f, 0x5e, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x5e, 0x5e, 0x5c, 0x5e, 0x89, 0x89, + 0x89, 0x5c, 0x5c, 0x5e, 0x5e, 0x5e, 0x5e, 0x5c, 0x5c, 0x5e, 0x5e, 0x5c, 0x5c, 0x5c, 0x5e, 0x5e, + 0x5e, 0x5c, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, 0x5e, + 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, + 0x5c, 0x5c, 0x0f, 0x0f, 0x0f, 0x5c, 0x7d, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x5e, 0x5c, 0x5c, 0x89, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, + 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x5e, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5c, 0x0f, 0x89, 0x89, + 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x5c, 0x5c, 0x89, 0x5e, 0x89, 0x89, 0x5c, 0x5e, 0x5e, + 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x7d, 0x04, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x0f, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, + 0x5e, 0x5c, 0x89, 0x89, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x0f, + 0x0f, 0x5e, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5c, 0x0f, 0x89, 0x5c, + 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x5e, 0x89, 0x89, 0x5e, 0x5e, 0x89, 0x89, 0x5c, 0x5e, 0x5e, + 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5c, 0x5c, 0x89, 0x5e, 0x5e, 0x5e, 0x5e, 0x0f, 0x0f, 0x5e, 0x0f, + 0x78, 0x0f, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x5e, 0x5e, 0x5c, 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x0f, 0x0f, + 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x0f, 0x0f, 0x5e, 0x0f, 0x5e, 0x0f, 0x0f, + 0x5e, 0x5e, 0x5e, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x89, 0x89, + 0x5c, 0x89, 0x89, 0x5e, 0x5e, 0x5e, 0x89, 0x89, 0x89, 0x5e, 0x89, 0x89, 0x89, 0x5c, 0x5e, 0x5e, + 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x89, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x8b, 0x8b, 0x8b, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x04, 0x0e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x5c, 0x89, 0x89, 0x89, 0x5c, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, + 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x0f, 0x5c, 0x5c, + 0x5c, 0x89, 0x89, 0x89, 0x89, 0x5e, 0x5c, 0x5c, 0x5c, 0x5e, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x5e, + 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5c, 0x5c, 0x5e, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x7d, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x78, + 0x0f, 0x5c, 0x89, 0x89, 0x7d, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5c, 0x0f, 0x89, 0x8c, + 0x89, 0x89, 0x89, 0x89, 0x89, 0x5e, 0x8c, 0x89, 0x89, 0x5e, 0x89, 0x89, 0x5c, 0x5c, 0x5e, 0x5e, + 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x89, 0x89, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x0f, 0x5e, + 0x5e, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x5c, 0x5c, 0x89, 0x89, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x5c, 0x0f, 0x89, 0x89, + 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x89, 0x89, 0x89, 0x5e, 0x89, 0x89, 0x89, 0x5c, 0x0f, 0x78, + 0x5e, 0x5e, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, 0x89, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x0f, + 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x78, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x5e, 0x5c, 0x89, 0x89, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5c, 0x5e, 0x5e, 0x5e, 0x5e, 0x89, + 0x89, 0x89, 0x5c, 0x5c, 0x5c, 0x5e, 0x5c, 0x5e, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, + 0x5e, 0x5e, 0x89, 0x89, 0x7d, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x5c, 0x0f, 0x0f, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x5e, 0x5e, 0x5e, 0x04, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5a, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x7d, + 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x7d, 0x7d, 0x5e, 0x5e, 0x5e, 0x5e, + 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x5e, 0x0f, 0x0f, 0x5e, 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x5c, 0x0f, 0x0f, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x0f, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5a, 0x5e, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x5e, + 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x78, 0x78, 0x78, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, + 0x7d, 0x7d, 0x7d, 0x78, 0x7d, 0x78, 0x78, 0x78, 0x5c, 0x5c, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, + 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, + 0x8b, 0x8b, 0x8b, 0x8b, 0x78, 0x5c, 0x78, 0x5c, 0x78, 0x5c, 0x05, 0x06, 0x05, 0x06, 0x89, 0x89, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, + 0x5e, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x7d, 0x5c, 0x5c, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x5c, 0x5c, + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x78, 0x78, + 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x5c, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x5e, 0x78, 0x78, + 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x78, 0x78, 0x78, 0x78, 0x7d, 0x7d, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x89, 0x89, 0x5c, 0x5c, 0x5c, + 0x5c, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, 0x5c, 0x5c, 0x89, 0x89, 0x5c, 0x5c, 0x0f, + 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x89, 0x89, 0x5c, 0x5c, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x5c, + 0x5c, 0x0f, 0x89, 0x89, 0x89, 0x0f, 0x0f, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x0f, 0x0f, + 0x0f, 0x5c, 0x5c, 0x5c, 0x5c, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x5c, 0x89, 0x89, 0x5c, 0x5c, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x5c, 0x0f, 0x89, + 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x89, 0x89, 0x89, 0x5c, 0x78, 0x78, + 0x8d, 0x8d, 0x8d, 0x8d, 0x8d, 0x8d, 0x8d, 0x8d, 0x8d, 0x8d, 0x8d, 0x8d, 0x8d, 0x8d, 0x8d, 0x8d, + 0x8d, 0x8d, 0x8d, 0x8d, 0x8d, 0x8d, 0x5e, 0x8d, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x8d, 0x5e, 0x5e, + 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, + 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x7d, 0x5a, 0x8e, 0x8e, 0x8e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, + 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, + 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5c, 0x5c, 0x5c, + 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, + 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x5e, 0x5e, 0x5e, + 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x8f, 0x8f, 0x8f, 0x8f, 0x8f, 0x8f, 0x8f, 0x8f, 0x8f, 0x8f, 0x8f, 0x8f, 0x8f, 0x8f, 0x8f, 0x8f, + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x5e, 0x5e, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x5e, 0x5e, 0x08, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x19, 0x1b, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x78, 0x7d, 0x0f, 0x02, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x05, 0x06, 0x18, 0x18, 0x18, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x1b, 0x1b, 0x1b, 0x2a, 0x2a, - 0x2a, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x0f, 0x0f, - 0x0f, 0x0f, 0x17, 0x17, 0x17, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x0f, 0x0f, 0x17, 0x17, 0x17, 0x1b, 0x1b, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x0f, 0x0f, 0x17, 0x17, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x0f, 0x18, 0x17, 0x17, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x0f, 0x0f, 0x0f, 0x0f, 0x17, 0x17, 0x26, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x26, 0x26, - 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x17, 0x26, 0x26, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, - 0x17, 0x17, 0x17, 0x17, 0x1b, 0x1b, 0x1b, 0x15, 0x1b, 0x1b, 0x1b, 0x04, 0x0f, 0x17, 0x18, 0x18, - 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x08, 0x03, 0x03, 0x03, 0x03, 0x17, 0x17, 0x17, 0x11, 0x18, - 0x0f, 0x0f, 0x0f, 0x15, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x17, 0x17, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x17, 0x0f, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, - 0x17, 0x17, 0x17, 0x26, 0x26, 0x26, 0x26, 0x17, 0x17, 0x26, 0x26, 0x26, 0x18, 0x18, 0x18, 0x18, - 0x26, 0x26, 0x17, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x17, 0x17, 0x17, 0x18, 0x18, 0x18, 0x18, - 0x0e, 0x18, 0x18, 0x18, 0x03, 0x03, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x18, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x18, 0x18, 0x18, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x28, 0x18, 0x18, 0x18, 0x0e, 0x0e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x05, 0x06, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x7d, 0x7d, 0x7d, 0x92, 0x92, + 0x92, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, + 0x0f, 0x0f, 0x5c, 0x5c, 0x5c, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x5c, 0x5c, 0x5c, 0x7d, 0x7d, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x5c, 0x5c, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x5e, 0x5c, 0x5c, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x5c, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, 0x89, + 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x5c, 0x89, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, + 0x5c, 0x5c, 0x5c, 0x5c, 0x7d, 0x7d, 0x7d, 0x5a, 0x7d, 0x7d, 0x7d, 0x04, 0x0f, 0x5c, 0x5e, 0x5e, + 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x08, 0x03, 0x03, 0x03, 0x03, 0x5c, 0x5c, 0x5c, 0x11, 0x5e, + 0x0f, 0x0f, 0x0f, 0x5a, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x5c, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, + 0x5c, 0x5c, 0x5c, 0x89, 0x89, 0x89, 0x89, 0x5c, 0x5c, 0x89, 0x89, 0x89, 0x5e, 0x5e, 0x5e, 0x5e, + 0x89, 0x89, 0x5c, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x5c, 0x5c, 0x5c, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0e, 0x5e, 0x5e, 0x5e, 0x03, 0x03, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8b, 0x5e, 0x5e, 0x5e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x17, 0x17, 0x26, 0x26, 0x17, 0x18, 0x18, 0x1b, 0x1b, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x26, 0x17, 0x26, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x18, - 0x17, 0x26, 0x17, 0x26, 0x26, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x26, 0x26, 0x26, - 0x26, 0x26, 0x26, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x18, 0x18, 0x17, - 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x15, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x18, 0x18, - 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x1a, 0x17, - 0x17, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x17, 0x17, 0x17, 0x17, 0x26, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x17, 0x26, 0x17, 0x17, 0x17, 0x17, 0x17, 0x26, 0x17, 0x26, 0x26, 0x26, - 0x26, 0x26, 0x17, 0x26, 0x26, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x18, 0x18, 0x18, - 0x1b, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x17, 0x17, 0x17, 0x17, 0x17, - 0x17, 0x17, 0x17, 0x17, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x18, 0x18, 0x18, - 0x17, 0x17, 0x26, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x26, 0x17, 0x17, 0x17, 0x17, 0x26, 0x26, 0x17, 0x17, 0x26, 0x17, 0x17, 0x17, 0x0f, 0x0f, - 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x17, 0x26, 0x17, 0x17, 0x26, 0x26, 0x26, 0x17, 0x26, 0x17, - 0x17, 0x17, 0x26, 0x26, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1b, 0x1b, 0x1b, 0x1b, - 0x0f, 0x0f, 0x0f, 0x0f, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x17, 0x17, 0x17, 0x17, - 0x17, 0x17, 0x17, 0x17, 0x26, 0x26, 0x17, 0x17, 0x18, 0x18, 0x18, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, - 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x18, 0x18, 0x18, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x1b, 0x1b, - 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x18, 0x18, 0x0a, 0x0a, 0x0a, - 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x17, 0x17, 0x17, 0x1b, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, - 0x17, 0x26, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x0f, 0x0f, 0x0f, 0x0f, 0x17, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x17, 0x0f, 0x0f, 0x26, 0x17, 0x17, 0x0f, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x15, 0x15, 0x15, 0x15, - 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, - 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, - 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x15, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, - 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x15, 0x15, 0x15, 0x15, 0x15, - 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x18, 0x17, 0x17, 0x17, 0x17, 0x17, - 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0a, 0x0d, - 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x18, 0x18, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x18, 0x18, - 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x18, 0x0a, 0x18, 0x0a, 0x18, 0x0a, 0x18, 0x0a, - 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x18, 0x18, - 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, - 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x18, 0x0d, 0x0d, 0x0a, 0x0a, 0x0a, 0x0a, 0x14, 0x0b, 0x0d, 0x0b, - 0x0b, 0x0b, 0x0d, 0x0d, 0x0d, 0x18, 0x0d, 0x0d, 0x0a, 0x0a, 0x0a, 0x0a, 0x14, 0x0b, 0x0b, 0x0b, - 0x0d, 0x0d, 0x0d, 0x0d, 0x18, 0x18, 0x0d, 0x0d, 0x0a, 0x0a, 0x0a, 0x0a, 0x18, 0x0b, 0x0b, 0x0b, - 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0b, 0x0b, 0x0b, - 0x18, 0x18, 0x0d, 0x0d, 0x0d, 0x18, 0x0d, 0x0d, 0x0a, 0x0a, 0x0a, 0x0a, 0x14, 0x0b, 0x0b, 0x18, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x11, 0x11, 0x11, 0x2b, 0x22, - 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x03, 0x03, 0x10, 0x13, 0x05, 0x10, 0x10, 0x13, 0x05, 0x10, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x2c, 0x2d, 0x11, 0x11, 0x11, 0x11, 0x11, 0x02, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x10, 0x13, 0x03, 0x03, 0x03, 0x03, 0x0c, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x5c, 0x89, 0x89, 0x5c, 0x5e, 0x5e, 0x7d, 0x7d, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x89, 0x5c, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, + 0x5c, 0x89, 0x5c, 0x89, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, 0x89, 0x89, + 0x89, 0x89, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x5e, 0x5c, + 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x5a, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x5e, 0x5e, + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x79, 0x5c, + 0x5c, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x5c, 0x5c, 0x5c, 0x5c, 0x89, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, 0x5c, 0x89, 0x89, 0x89, + 0x89, 0x89, 0x5c, 0x89, 0x89, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, + 0x7d, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, + 0x5c, 0x5c, 0x5c, 0x5c, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x5e, 0x5e, 0x5e, + 0x5c, 0x5c, 0x89, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, 0x89, 0x5c, 0x5c, 0x89, 0x5c, 0x5c, 0x5c, 0x0f, 0x0f, + 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x89, 0x5c, 0x5c, 0x89, 0x89, 0x89, 0x5c, 0x89, 0x5c, + 0x5c, 0x5c, 0x89, 0x89, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x7d, 0x7d, 0x7d, 0x7d, + 0x0f, 0x0f, 0x0f, 0x0f, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, + 0x5c, 0x5c, 0x5c, 0x5c, 0x89, 0x89, 0x5c, 0x5c, 0x5e, 0x5e, 0x5e, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, + 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x5e, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x7d, 0x7d, + 0x93, 0x94, 0x95, 0x96, 0x96, 0x97, 0x98, 0x99, 0x9a, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, + 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x5e, 0x5e, 0x9b, 0x9b, 0x9b, + 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x5c, 0x5c, 0x5c, 0x7d, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, + 0x5c, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x0f, 0x0f, 0x89, 0x5c, 0x5c, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x5a, 0x5a, 0x5a, 0x5a, + 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, + 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x15, 0x15, 0x15, 0x15, 0x15, + 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x5a, 0x9c, 0x15, 0x15, 0x15, 0x9d, 0x15, 0x15, + 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x9e, 0x15, + 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, + 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x15, 0x15, 0x15, 0x15, 0x15, 0x9f, 0x15, 0x15, 0xa0, 0x15, + 0xa1, 0xa1, 0xa1, 0xa1, 0xa1, 0xa1, 0xa1, 0xa1, 0xa2, 0xa2, 0xa2, 0xa2, 0xa2, 0xa2, 0xa2, 0xa2, + 0xa1, 0xa1, 0xa1, 0xa1, 0xa1, 0xa1, 0x5e, 0x5e, 0xa2, 0xa2, 0xa2, 0xa2, 0xa2, 0xa2, 0x5e, 0x5e, + 0x15, 0xa1, 0x15, 0xa1, 0x15, 0xa1, 0x15, 0xa1, 0x5e, 0xa2, 0x5e, 0xa2, 0x5e, 0xa2, 0x5e, 0xa2, + 0xa3, 0xa3, 0xa4, 0xa4, 0xa4, 0xa4, 0xa5, 0xa5, 0xa6, 0xa6, 0xa7, 0xa7, 0xa8, 0xa8, 0x5e, 0x5e, + 0xa1, 0xa1, 0xa1, 0xa1, 0xa1, 0xa1, 0xa1, 0xa1, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, + 0xa1, 0xa1, 0x15, 0xaa, 0x15, 0x5e, 0x15, 0x15, 0xa2, 0xa2, 0xab, 0xab, 0xac, 0x0b, 0xad, 0x0b, + 0x0b, 0x0b, 0x15, 0xaa, 0x15, 0x5e, 0x15, 0x15, 0xae, 0xae, 0xae, 0xae, 0xac, 0x0b, 0x0b, 0x0b, + 0xa1, 0xa1, 0x15, 0x15, 0x5e, 0x5e, 0x15, 0x15, 0xa2, 0xa2, 0xaf, 0xaf, 0x5e, 0x0b, 0x0b, 0x0b, + 0xa1, 0xa1, 0x15, 0x15, 0x15, 0x71, 0x15, 0x15, 0xa2, 0xa2, 0xb0, 0xb0, 0x75, 0x0b, 0x0b, 0x0b, + 0x5e, 0x5e, 0x15, 0xaa, 0x15, 0x5e, 0x15, 0x15, 0xb1, 0xb1, 0xb2, 0xb2, 0xac, 0x0b, 0x0b, 0x5e, + 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x11, 0x11, 0x11, 0xb3, 0x85, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x03, 0x03, 0x10, 0x14, 0x05, 0x10, 0x10, 0x14, 0x05, 0x10, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0xb4, 0xb5, 0x11, 0x11, 0x11, 0x11, 0x11, 0x02, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x10, 0x14, 0x03, 0x03, 0x03, 0x03, 0x0c, 0x0c, 0x03, 0x03, 0x03, 0x07, 0x05, 0x06, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x07, 0x03, 0x0c, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x02, - 0x11, 0x11, 0x11, 0x11, 0x11, 0x2e, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, - 0x12, 0x15, 0x18, 0x18, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x07, 0x07, 0x07, 0x05, 0x06, 0x15, - 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x07, 0x07, 0x07, 0x05, 0x06, 0x18, - 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x18, 0x18, 0x18, + 0x11, 0x11, 0x11, 0x11, 0x11, 0xb6, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, + 0x12, 0x5a, 0x5e, 0x5e, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x07, 0x07, 0x07, 0x05, 0x06, 0x5a, + 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x07, 0x07, 0x07, 0x05, 0x06, 0x5e, + 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5e, 0x5e, 0x5e, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, - 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, - 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x1a, 0x1a, 0x1a, - 0x1a, 0x17, 0x1a, 0x1a, 0x1a, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, - 0x0e, 0x0e, 0x0a, 0x0e, 0x0e, 0x0e, 0x0e, 0x0a, 0x0e, 0x0e, 0x0d, 0x0a, 0x0a, 0x0a, 0x0d, 0x0d, - 0x0a, 0x0a, 0x0a, 0x0d, 0x0e, 0x0a, 0x0e, 0x0e, 0x07, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0e, 0x0e, - 0x0e, 0x0e, 0x0e, 0x0e, 0x0a, 0x0e, 0x0a, 0x0e, 0x0a, 0x0e, 0x0a, 0x0a, 0x0a, 0x0a, 0x0e, 0x0d, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0d, 0x0f, 0x0f, 0x0f, 0x0f, 0x0d, 0x0e, 0x0e, 0x0d, 0x0d, 0x0a, 0x0a, - 0x07, 0x07, 0x07, 0x07, 0x07, 0x0a, 0x0d, 0x0d, 0x0d, 0x0d, 0x0e, 0x07, 0x0e, 0x0e, 0x0d, 0x19, + 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x79, 0x79, 0x79, + 0x79, 0x5c, 0x79, 0x79, 0x79, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, + 0x0e, 0x0e, 0x19, 0x0e, 0x0e, 0x0e, 0x0e, 0x19, 0x0e, 0x0e, 0x15, 0x19, 0x19, 0x19, 0x15, 0x15, + 0x19, 0x19, 0x19, 0x15, 0x0e, 0x19, 0x0e, 0x0e, 0x07, 0x19, 0x19, 0x19, 0x19, 0x19, 0x0e, 0x0e, + 0x0e, 0x0e, 0x0e, 0x0e, 0x19, 0x0e, 0xb7, 0x0e, 0x19, 0x0e, 0xb8, 0xb9, 0x19, 0x19, 0x0e, 0x15, + 0x19, 0x19, 0xba, 0x19, 0x15, 0x0f, 0x0f, 0x0f, 0x0f, 0x15, 0x0e, 0x0e, 0x15, 0x15, 0x19, 0x19, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x19, 0x15, 0x15, 0x15, 0x15, 0x0e, 0x07, 0x0e, 0x0e, 0xbb, 0x78, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, - 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, - 0x2a, 0x2a, 0x2a, 0x0a, 0x0d, 0x2a, 0x2a, 0x2a, 0x2a, 0x12, 0x0e, 0x0e, 0x18, 0x18, 0x18, 0x18, + 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, + 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, + 0x92, 0x92, 0x92, 0x17, 0x18, 0x92, 0x92, 0x92, 0x92, 0x12, 0x0e, 0x0e, 0x5e, 0x5e, 0x5e, 0x5e, 0x07, 0x07, 0x07, 0x07, 0x07, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x07, 0x07, 0x0e, 0x0e, 0x0e, 0x0e, 0x07, 0x0e, 0x0e, 0x07, 0x0e, 0x0e, 0x07, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x07, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x07, 0x07, @@ -846,22 +864,25 @@ private static void AssertCategoryCasingTableLevels(int level1BitCount, int leve 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x05, 0x06, 0x05, 0x06, 0x0e, 0x0e, 0x0e, 0x0e, 0x07, 0x07, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x05, 0x06, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, - 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, - 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, - 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x0e, 0x07, 0x0e, 0x0e, 0x0e, - 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x19, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, + 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, + 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x0e, 0x07, 0x0e, 0x0e, 0x0e, + 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x78, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, - 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x19, 0x19, 0x19, 0x19, - 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, + 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x78, 0x78, 0x78, 0x78, + 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, + 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, + 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, + 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x07, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x07, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x07, - 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x19, 0x0e, 0x0e, 0x0e, + 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x78, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, @@ -872,400 +893,488 @@ private static void AssertCategoryCasingTableLevels(int level1BitCount, int leve 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x05, 0x06, 0x05, 0x06, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x05, 0x06, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x0e, 0x0e, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x0e, 0x0e, 0x0e, - 0x0e, 0x0e, 0x0e, 0x0e, 0x18, 0x18, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, - 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x18, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x18, - 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x18, - 0x0a, 0x0d, 0x0a, 0x0a, 0x0a, 0x0d, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0d, 0x0a, 0x0d, 0x0d, 0x0a, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x15, 0x15, 0x0a, 0x0a, - 0x0a, 0x0d, 0x0a, 0x0d, 0x0d, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0a, 0x0d, 0x0a, 0x0d, 0x17, - 0x17, 0x17, 0x0a, 0x0d, 0x18, 0x18, 0x18, 0x18, 0x18, 0x03, 0x03, 0x03, 0x03, 0x12, 0x03, 0x03, - 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x18, 0x0d, 0x18, 0x18, 0x18, 0x18, 0x18, 0x0d, 0x18, 0x18, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x15, - 0x1b, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x17, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, - 0x03, 0x03, 0x10, 0x13, 0x10, 0x13, 0x03, 0x03, 0x03, 0x10, 0x13, 0x03, 0x10, 0x13, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x08, 0x03, 0x03, 0x08, 0x03, 0x10, 0x13, 0x03, 0x03, - 0x10, 0x13, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x03, 0x03, 0x03, 0x03, 0x03, 0x16, + 0x0e, 0x0e, 0x0e, 0x0e, 0x5e, 0x5e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, + 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x5e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, + 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x5e, + 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x5e, + 0x17, 0x18, 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0xc5, 0xc6, 0xc7, + 0xc8, 0x15, 0x17, 0x18, 0x15, 0x17, 0x18, 0x15, 0x15, 0x15, 0x15, 0x15, 0x5a, 0x5a, 0xc9, 0xc9, + 0x17, 0x18, 0x17, 0x18, 0x15, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x17, 0x18, 0x17, 0x18, 0x5c, + 0x5c, 0x5c, 0x17, 0x18, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x03, 0x03, 0x03, 0x03, 0x12, 0x03, 0x03, + 0xca, 0xca, 0xca, 0xca, 0xca, 0xca, 0xca, 0xca, 0xca, 0xca, 0xca, 0xca, 0xca, 0xca, 0xca, 0xca, + 0xca, 0xca, 0xca, 0xca, 0xca, 0xca, 0x5e, 0xca, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0xca, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5a, + 0x7d, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5c, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, + 0x03, 0x03, 0x10, 0x14, 0x10, 0x14, 0x03, 0x03, 0x03, 0x10, 0x14, 0x03, 0x10, 0x14, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x08, 0x03, 0x03, 0x08, 0x03, 0x10, 0x14, 0x03, 0x03, + 0x10, 0x14, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x03, 0x03, 0x03, 0x03, 0x03, 0x5b, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x08, 0x08, 0x03, 0x03, 0x03, 0x03, 0x08, 0x03, 0x05, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x0e, 0x0e, 0x03, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x18, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, - 0x0e, 0x0e, 0x0e, 0x0e, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x18, 0x18, 0x18, 0x18, - 0x02, 0x03, 0x03, 0x03, 0x0e, 0x15, 0x0f, 0x2a, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, + 0x0e, 0x0e, 0x03, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x5e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, + 0x0e, 0x0e, 0x0e, 0x0e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x02, 0x03, 0x03, 0x03, 0x0e, 0x5a, 0x0f, 0x92, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x0e, 0x0e, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x08, 0x05, 0x06, 0x06, - 0x0e, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x17, 0x17, 0x17, 0x17, 0x26, 0x26, - 0x08, 0x15, 0x15, 0x15, 0x15, 0x15, 0x0e, 0x0e, 0x2a, 0x2a, 0x2a, 0x15, 0x0f, 0x03, 0x0e, 0x0e, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x18, 0x17, 0x17, 0x0b, 0x0b, 0x15, 0x15, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x03, 0x15, 0x15, 0x15, 0x0f, - 0x18, 0x18, 0x18, 0x18, 0x18, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x19, 0x19, 0x28, 0x28, 0x28, 0x28, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, - 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x0e, 0x0e, 0x18, - 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, - 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, + 0x0e, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, 0x89, + 0x08, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x0e, 0x0e, 0x92, 0x92, 0x92, 0x5a, 0x0f, 0x03, 0x0e, 0x0e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5c, 0x5c, 0x0b, 0x0b, 0x5a, 0x5a, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x03, 0x5a, 0x5a, 0x5a, 0x0f, + 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x78, 0x78, 0x8b, 0x8b, 0x8b, 0x8b, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, + 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x0e, 0x0e, 0x5e, + 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, + 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x0e, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, - 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x0e, 0x0e, 0x0e, 0x19, - 0x19, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, - 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x0e, 0x0e, 0x0e, 0x0e, - 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x0e, 0x0e, 0x0e, 0x0e, 0x19, 0x19, 0x19, 0x19, 0x19, - 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x0e, 0x0e, - 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x0e, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x15, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x15, 0x03, 0x03, 0x03, - 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x0f, 0x0f, 0x18, 0x18, 0x18, 0x18, - 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0f, 0x17, - 0x1a, 0x1a, 0x1a, 0x03, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x03, 0x16, - 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x15, 0x15, 0x17, 0x17, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, - 0x17, 0x17, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, - 0x0b, 0x0b, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, - 0x0d, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, - 0x15, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0a, 0x0d, - 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x16, 0x2f, 0x2f, 0x0a, 0x0d, 0x0a, 0x0d, 0x0f, - 0x0a, 0x0d, 0x0a, 0x0d, 0x0d, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, - 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0d, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, - 0x18, 0x18, 0x0a, 0x0d, 0x0a, 0x0a, 0x0a, 0x0a, 0x0d, 0x0a, 0x0d, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x18, 0x18, 0x18, 0x18, 0x18, 0x0a, 0x0d, 0x0f, 0x15, 0x15, 0x0d, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x17, 0x0f, 0x0f, 0x0f, 0x17, 0x0f, 0x0f, 0x0f, 0x0f, 0x17, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x26, 0x26, 0x17, 0x17, 0x26, 0x0e, 0x0e, 0x0e, 0x0e, 0x17, 0x18, 0x18, 0x18, - 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x19, 0x19, 0x04, 0x0e, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x0f, 0x0f, 0x0f, 0x0f, 0x03, 0x03, 0x03, 0x03, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x26, 0x26, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, - 0x26, 0x26, 0x26, 0x26, 0x17, 0x17, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1b, 0x1b, - 0x17, 0x17, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x1b, 0x1b, 0x1b, 0x0f, 0x1b, 0x0f, 0x0f, 0x17, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x1b, 0x1b, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, - 0x17, 0x17, 0x26, 0x26, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1b, - 0x0f, 0x0f, 0x0f, 0x17, 0x26, 0x26, 0x17, 0x17, 0x17, 0x17, 0x26, 0x26, 0x17, 0x17, 0x26, 0x26, - 0x26, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x18, 0x15, - 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x18, 0x18, 0x18, 0x18, 0x1b, 0x1b, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x17, 0x15, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x26, - 0x26, 0x17, 0x17, 0x26, 0x26, 0x17, 0x17, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x0f, 0x0f, 0x0f, 0x17, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x17, 0x26, 0x18, 0x18, - 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x18, 0x18, 0x1b, 0x1b, 0x1b, 0x1b, - 0x15, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x19, 0x19, 0x19, 0x0f, 0x26, 0x17, 0x26, 0x0f, 0x0f, - 0x17, 0x0f, 0x17, 0x17, 0x17, 0x0f, 0x0f, 0x17, 0x17, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x17, 0x17, - 0x0f, 0x17, 0x0f, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x0f, 0x0f, 0x15, 0x1b, 0x1b, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x26, 0x17, 0x17, 0x26, 0x26, - 0x1b, 0x1b, 0x0f, 0x15, 0x15, 0x26, 0x17, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x18, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x18, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, - 0x18, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x2f, 0x15, 0x15, 0x15, 0x15, - 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x15, 0x0b, 0x0b, 0x18, 0x18, 0x18, 0x18, - 0x0f, 0x0f, 0x0f, 0x26, 0x26, 0x17, 0x26, 0x26, 0x17, 0x26, 0x26, 0x1b, 0x26, 0x17, 0x18, 0x18, - 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x18, 0x18, 0x18, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, - 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x18, 0x18, 0x18, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1f, 0x17, 0x1f, - 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x07, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, - 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1c, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1c, 0x1f, 0x1c, - 0x1f, 0x1f, 0x1c, 0x1f, 0x1f, 0x1c, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, - 0x1f, 0x1f, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, - 0x32, 0x32, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, - 0x1c, 0x1c, 0x1c, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, - 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x06, 0x05, - 0x1c, 0x1c, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, - 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x21, 0x0e, 0x1c, 0x1c, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x05, 0x06, 0x03, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x0e, 0x0e, 0x0e, 0x78, + 0x78, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, + 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x0e, 0x0e, 0x0e, 0x0e, + 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x0e, 0x0e, 0x0e, 0x0e, 0x78, 0x78, 0x78, 0x78, 0x78, + 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x0e, 0x0e, + 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x0e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5a, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5a, 0x03, 0x03, 0x03, + 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, + 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x0f, 0x5c, + 0x79, 0x79, 0x79, 0x03, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x03, 0x5b, + 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x5a, 0x5a, 0x5c, 0x5c, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, + 0x5c, 0x5c, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, + 0x0b, 0x0b, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, + 0x15, 0x15, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, + 0x5a, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x17, 0x18, 0x17, 0x18, 0xcb, 0x17, 0x18, + 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x5b, 0xcc, 0xcc, 0x17, 0x18, 0xcd, 0x15, 0x0f, + 0x17, 0x18, 0x17, 0x18, 0xce, 0x15, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, + 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0xcf, 0xd0, 0xd1, 0xd2, 0xcf, 0x15, + 0xd3, 0xd4, 0xd5, 0xd6, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, + 0x5e, 0x5e, 0x17, 0x18, 0xd7, 0xd8, 0xd9, 0x17, 0x18, 0x17, 0x18, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x17, 0x18, 0x0f, 0x5a, 0x5a, 0x15, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x5c, 0x0f, 0x0f, 0x0f, 0x5c, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x89, 0x89, 0x5c, 0x5c, 0x89, 0x0e, 0x0e, 0x0e, 0x0e, 0x5c, 0x5e, 0x5e, 0x5e, + 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x78, 0x78, 0x04, 0x0e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x03, 0x03, 0x03, 0x03, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x89, 0x89, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, + 0x89, 0x89, 0x89, 0x89, 0x5c, 0x5c, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x7d, 0x7d, + 0x5c, 0x5c, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x7d, 0x7d, 0x7d, 0x0f, 0x7d, 0x0f, 0x0f, 0x5c, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x7d, 0x7d, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, + 0x5c, 0x5c, 0x89, 0x89, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x7d, + 0x0f, 0x0f, 0x0f, 0x5c, 0x89, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, 0x89, 0x5c, 0x5c, 0x89, 0x89, + 0x89, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x5e, 0x5a, + 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x5e, 0x5e, 0x5e, 0x5e, 0x7d, 0x7d, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x5a, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, + 0x89, 0x5c, 0x5c, 0x89, 0x89, 0x5c, 0x5c, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x5c, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x89, 0x5e, 0x5e, + 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x5e, 0x5e, 0x7d, 0x7d, 0x7d, 0x7d, + 0x5a, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x78, 0x78, 0x78, 0x0f, 0x89, 0x5c, 0x89, 0x0f, 0x0f, + 0x5c, 0x0f, 0x5c, 0x5c, 0x5c, 0x0f, 0x0f, 0x5c, 0x5c, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x5c, + 0x0f, 0x5c, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x0f, 0x0f, 0x5a, 0x7d, 0x7d, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x89, 0x5c, 0x5c, 0x89, 0x89, + 0x7d, 0x7d, 0x0f, 0x5a, 0x5a, 0x89, 0x5c, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, + 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x15, 0x15, 0x15, 0xda, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0xcc, 0x5a, 0x5a, 0x5a, 0x5a, + 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x5a, 0x0b, 0x0b, 0x5e, 0x5e, 0x5e, 0x5e, + 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, + 0x0f, 0x0f, 0x0f, 0x89, 0x89, 0x5c, 0x89, 0x89, 0x5c, 0x89, 0x89, 0x7d, 0x89, 0x5c, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, + 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, + 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x5e, 0x5e, 0x5e, 0x15, 0x15, 0x15, 0x15, 0x15, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x82, 0x5c, 0x82, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x07, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x82, 0x7f, + 0x82, 0x82, 0x7f, 0x82, 0x82, 0x7f, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, + 0x82, 0x82, 0xde, 0xde, 0xde, 0xde, 0xde, 0xde, 0xde, 0xde, 0xde, 0xde, 0xde, 0xde, 0xde, 0xde, + 0xde, 0xde, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, + 0x7f, 0x7f, 0x7f, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x06, 0x05, + 0x7f, 0x7f, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x84, 0x0e, 0x7f, 0x7f, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x05, 0x06, 0x03, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x03, 0x08, 0x08, 0x0c, 0x0c, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x03, 0x03, 0x05, 0x06, 0x03, 0x03, 0x03, 0x03, 0x0c, 0x0c, 0x0c, - 0x03, 0x03, 0x03, 0x18, 0x03, 0x03, 0x03, 0x03, 0x08, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x03, - 0x03, 0x03, 0x07, 0x08, 0x07, 0x07, 0x07, 0x18, 0x03, 0x04, 0x03, 0x03, 0x18, 0x18, 0x18, 0x18, - 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1c, 0x1c, 0x11, - 0x18, 0x03, 0x03, 0x03, 0x04, 0x03, 0x03, 0x03, 0x05, 0x06, 0x03, 0x07, 0x03, 0x08, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x5e, 0x03, 0x03, 0x03, 0x03, 0x08, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x03, + 0x03, 0x03, 0x07, 0x08, 0x07, 0x07, 0x07, 0x5e, 0x03, 0x04, 0x03, 0x03, 0x5e, 0x5e, 0x5e, 0x5e, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x7f, 0x11, + 0x5e, 0x03, 0x03, 0x03, 0x04, 0x03, 0x03, 0x03, 0x05, 0x06, 0x03, 0x07, 0x03, 0x08, 0x03, 0x03, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x05, 0x07, 0x06, 0x07, 0x05, 0x06, 0x03, 0x05, 0x06, 0x03, 0x03, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x15, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x15, 0x15, - 0x18, 0x18, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x18, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x18, 0x18, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x18, 0x0f, 0x0f, 0x0f, 0x18, 0x18, 0x18, - 0x04, 0x04, 0x07, 0x0b, 0x0e, 0x04, 0x04, 0x18, 0x0e, 0x07, 0x07, 0x07, 0x07, 0x0e, 0x0e, 0x18, - 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x11, 0x11, 0x11, 0x0e, 0x0e, 0x2e, 0x2e, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x0f, 0x0f, 0x18, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x1b, 0x03, 0x1b, 0x18, 0x18, 0x18, 0x18, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, - 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, - 0x28, 0x28, 0x28, 0x28, 0x18, 0x18, 0x18, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, - 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, - 0x33, 0x33, 0x33, 0x33, 0x33, 0x12, 0x12, 0x12, 0x12, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, - 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x12, 0x12, 0x0e, 0x19, 0x19, 0x18, - 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x18, 0x18, 0x18, - 0x0e, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x17, 0x18, 0x18, - 0x17, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, - 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x18, 0x18, 0x18, 0x18, - 0x28, 0x28, 0x28, 0x28, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x0f, 0x0f, 0x0f, - 0x0f, 0x2a, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x2a, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x17, 0x17, 0x17, 0x17, 0x17, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x1b, - 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x18, 0x18, 0x18, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x1b, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, - 0x0a, 0x0a, 0x0a, 0x0a, 0x18, 0x18, 0x18, 0x18, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, - 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x18, 0x18, 0x18, 0x18, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1b, - 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1c, 0x1c, 0x1f, 0x1c, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, - 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1c, 0x1f, 0x1f, 0x1c, 0x1c, 0x1c, 0x1f, 0x1c, 0x1c, 0x1f, - 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1c, 0x1e, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, - 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x24, 0x24, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, - 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1c, - 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, - 0x1f, 0x1f, 0x1f, 0x1c, 0x1f, 0x1f, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x34, 0x34, 0x34, 0x34, 0x34, - 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x1c, 0x1c, 0x1c, 0x03, - 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1e, - 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1c, 0x1c, 0x1c, 0x1c, 0x34, 0x34, 0x1f, 0x1f, - 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, - 0x1c, 0x1c, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, - 0x1f, 0x17, 0x17, 0x17, 0x1c, 0x17, 0x17, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x17, 0x17, 0x17, 0x17, - 0x1f, 0x1f, 0x1f, 0x1f, 0x1c, 0x1f, 0x1f, 0x1f, 0x1c, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, - 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1c, 0x1c, 0x17, 0x17, 0x17, 0x1c, 0x1c, 0x1c, 0x1c, 0x17, - 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, - 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, - 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x34, 0x34, 0x1e, - 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x34, 0x34, 0x34, - 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x24, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, - 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x17, 0x17, 0x1c, 0x1c, 0x1c, 0x1c, 0x34, 0x34, 0x34, 0x34, 0x34, - 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, - 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1c, 0x1c, 0x1c, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1c, 0x1c, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, - 0x1f, 0x1f, 0x1f, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, - 0x1f, 0x1f, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1e, 0x1e, 0x1e, 0x1e, 0x1c, 0x1c, 0x1c, - 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, - 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, - 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, - 0x35, 0x35, 0x35, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, - 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, - 0x36, 0x36, 0x36, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, - 0x1f, 0x1f, 0x1f, 0x1f, 0x17, 0x17, 0x17, 0x17, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, - 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, - 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x1c, - 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1c, 0x17, 0x17, 0x1d, 0x1c, 0x1c, - 0x1f, 0x1f, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, - 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x1f, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, - 0x17, 0x34, 0x34, 0x34, 0x34, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, - 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x1c, 0x1c, 0x1c, 0x1c, - 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, - 0x26, 0x17, 0x26, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, - 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x18, 0x18, - 0x18, 0x18, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, - 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, - 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x17, - 0x26, 0x26, 0x26, 0x17, 0x17, 0x17, 0x17, 0x26, 0x26, 0x17, 0x17, 0x1b, 0x1b, 0x2b, 0x1b, 0x1b, - 0x1b, 0x1b, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x2b, 0x18, 0x18, - 0x17, 0x17, 0x17, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x17, 0x17, 0x17, 0x17, 0x17, 0x26, 0x17, 0x17, 0x17, - 0x17, 0x17, 0x17, 0x17, 0x17, 0x18, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, - 0x1b, 0x1b, 0x1b, 0x1b, 0x0f, 0x26, 0x26, 0x0f, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x0f, 0x0f, 0x0f, 0x17, 0x1b, 0x1b, 0x0f, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x0f, 0x0f, 0x0f, 0x26, 0x26, 0x26, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x26, - 0x26, 0x0f, 0x0f, 0x0f, 0x0f, 0x1b, 0x1b, 0x1b, 0x1b, 0x17, 0x17, 0x17, 0x17, 0x1b, 0x26, 0x17, - 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x0f, 0x1b, 0x0f, 0x1b, 0x1b, 0x1b, - 0x18, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, - 0x28, 0x28, 0x28, 0x28, 0x28, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x26, 0x26, 0x26, 0x17, - 0x17, 0x17, 0x26, 0x26, 0x17, 0x26, 0x17, 0x17, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x17, 0x18, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x0f, 0x18, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x1b, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x17, - 0x26, 0x26, 0x26, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x17, 0x17, 0x26, 0x26, 0x18, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x18, 0x0f, - 0x0f, 0x18, 0x0f, 0x0f, 0x18, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x17, 0x17, 0x0f, 0x26, 0x26, - 0x17, 0x26, 0x26, 0x26, 0x26, 0x18, 0x18, 0x26, 0x26, 0x18, 0x18, 0x26, 0x26, 0x26, 0x18, 0x18, - 0x0f, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x26, 0x18, 0x18, 0x18, 0x18, 0x18, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x26, 0x26, 0x18, 0x18, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x18, 0x18, 0x18, - 0x17, 0x17, 0x17, 0x17, 0x17, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x26, 0x26, 0x26, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, - 0x26, 0x26, 0x17, 0x17, 0x17, 0x26, 0x17, 0x0f, 0x0f, 0x0f, 0x0f, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, - 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x1b, 0x1b, 0x18, 0x1b, 0x17, 0x0f, - 0x0f, 0x0f, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x26, 0x26, 0x26, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x26, 0x17, 0x26, 0x26, 0x26, 0x26, 0x17, - 0x17, 0x26, 0x17, 0x17, 0x0f, 0x0f, 0x1b, 0x0f, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x26, - 0x26, 0x26, 0x17, 0x17, 0x17, 0x17, 0x18, 0x18, 0x26, 0x26, 0x26, 0x26, 0x17, 0x17, 0x26, 0x17, - 0x17, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, - 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x0f, 0x0f, 0x0f, 0x0f, 0x17, 0x17, 0x18, 0x18, - 0x26, 0x26, 0x26, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x26, 0x26, 0x17, 0x26, 0x17, - 0x17, 0x1b, 0x1b, 0x1b, 0x0f, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x18, 0x18, 0x18, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x17, 0x26, 0x17, 0x26, 0x26, - 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x26, 0x17, 0x0f, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x26, 0x26, 0x17, 0x17, 0x17, 0x17, 0x26, 0x17, 0x17, 0x17, 0x17, 0x17, 0x18, 0x18, 0x18, 0x18, - 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x28, 0x28, 0x1b, 0x1b, 0x1b, 0x19, - 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x26, 0x17, 0x17, 0x1b, 0x18, 0x18, 0x18, 0x18, - 0x28, 0x28, 0x28, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x18, 0x0f, 0x18, 0x18, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x0f, 0x0f, 0x18, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x18, 0x26, 0x26, 0x18, 0x18, 0x17, 0x17, 0x26, 0x17, 0x0f, - 0x26, 0x0f, 0x26, 0x17, 0x1b, 0x1b, 0x1b, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x18, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x26, 0x26, 0x26, 0x17, 0x17, 0x17, 0x17, 0x18, 0x18, 0x17, 0x17, 0x26, 0x26, 0x26, 0x26, - 0x17, 0x0f, 0x1b, 0x0f, 0x26, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x0f, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x29, 0x29, 0x17, 0x17, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x26, 0x0f, 0x17, 0x17, 0x17, 0x17, 0x1b, - 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x17, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x0f, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x26, 0x26, 0x17, 0x17, 0x17, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, - 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x26, 0x17, 0x17, 0x1b, 0x1b, 0x1b, 0x0f, 0x1b, 0x1b, - 0x1b, 0x1b, 0x1b, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x18, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x26, 0x29, - 0x0f, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x1b, 0x1b, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x18, 0x18, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, - 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x18, 0x26, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, - 0x17, 0x26, 0x17, 0x17, 0x26, 0x17, 0x17, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x0f, 0x0f, 0x18, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x18, 0x18, 0x18, 0x17, 0x18, 0x17, 0x17, 0x18, 0x17, - 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x0f, 0x17, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x0f, 0x0f, 0x18, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x26, 0x26, 0x26, 0x26, 0x26, 0x18, - 0x17, 0x17, 0x18, 0x26, 0x26, 0x17, 0x26, 0x17, 0x0f, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x0f, 0x0f, 0x0f, 0x17, 0x17, 0x26, 0x26, 0x1b, 0x1b, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x28, 0x28, 0x28, 0x28, 0x28, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x04, 0x04, 0x04, + 0x5a, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5a, 0x5a, + 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, + 0x04, 0x04, 0x07, 0x0b, 0x0e, 0x04, 0x04, 0x5e, 0x0e, 0x07, 0x07, 0x07, 0x07, 0x0e, 0x0e, 0x5e, + 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0x11, 0x11, 0x11, 0x0e, 0x0e, 0xb6, 0xb6, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x5e, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x7d, 0x03, 0x7d, 0x5e, 0x5e, 0x5e, 0x5e, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, + 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, + 0x8b, 0x8b, 0x8b, 0x8b, 0x5e, 0x5e, 0x5e, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, + 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, + 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0x12, 0x12, 0x12, 0x12, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, + 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x12, 0x12, 0x0e, 0x78, 0x78, 0x5e, + 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x5e, 0x5e, 0x5e, + 0x0e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x5c, 0x5e, 0x5e, + 0x5c, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, + 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x5e, 0x5e, 0x5e, 0x5e, + 0x8b, 0x8b, 0x8b, 0x8b, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, + 0x0f, 0x92, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x92, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x7d, + 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x7d, 0x92, 0x92, 0x92, 0x92, 0x92, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, + 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, + 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, + 0xe0, 0xe0, 0xe0, 0xe0, 0x5e, 0x5e, 0x5e, 0x5e, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, + 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x7d, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x7f, 0x82, 0x7f, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x82, 0x82, 0x7f, 0x7f, 0x7f, 0x82, 0x7f, 0x7f, 0x82, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x81, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x87, 0x87, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, + 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, + 0x82, 0x82, 0x82, 0x7f, 0x82, 0x82, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0x7f, 0x7f, 0x7f, 0x03, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x81, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x7f, 0x7f, 0x7f, 0xe2, 0xe2, 0x82, 0x82, + 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, + 0x7f, 0x7f, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, + 0x82, 0x5c, 0x5c, 0x5c, 0x7f, 0x5c, 0x5c, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x5c, 0x5c, 0x5c, 0x5c, + 0x82, 0x82, 0x82, 0x82, 0x7f, 0x82, 0x82, 0x82, 0x7f, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x7f, 0x5c, 0x5c, 0x5c, 0x7f, 0x7f, 0x7f, 0x7f, 0x5c, + 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, + 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0xe2, 0xe2, 0x81, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0xe2, 0xe2, 0xe2, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x87, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x5c, 0x5c, 0x7f, 0x7f, 0x7f, 0x7f, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, + 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x7f, 0x7f, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x7f, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, + 0x82, 0x82, 0x82, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, + 0x82, 0x82, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x81, 0x81, 0x81, 0x81, 0x7f, 0x7f, 0x7f, + 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, + 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, + 0xe3, 0xe3, 0xe3, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, + 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, + 0xe4, 0xe4, 0xe4, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, + 0x82, 0x82, 0x82, 0x82, 0x5c, 0x5c, 0x5c, 0x5c, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, + 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, + 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x7f, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x5c, 0x5c, 0x80, 0x7f, 0x7f, + 0x82, 0x82, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, + 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0x82, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, + 0x5c, 0xe2, 0xe2, 0xe2, 0xe2, 0x81, 0x81, 0x81, 0x81, 0x81, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, + 0x82, 0x82, 0x82, 0x82, 0x82, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0x7f, 0x7f, 0x7f, 0x7f, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, + 0x89, 0x5c, 0x89, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x5e, 0x5e, + 0x5e, 0x5e, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, + 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, + 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5c, + 0x89, 0x89, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, 0x89, 0x5c, 0x5c, 0x7d, 0x7d, 0xb3, 0x7d, 0x7d, + 0x7d, 0x7d, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0xb3, 0x5e, 0x5e, + 0x5c, 0x5c, 0x5c, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, 0x5c, 0x5c, 0x5c, + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, + 0x7d, 0x7d, 0x7d, 0x7d, 0x0f, 0x89, 0x89, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x5c, 0x7d, 0x7d, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x89, 0x89, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, + 0x89, 0x0f, 0x0f, 0x0f, 0x0f, 0x7d, 0x7d, 0x7d, 0x7d, 0x5c, 0x5c, 0x5c, 0x5c, 0x7d, 0x89, 0x5c, + 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x0f, 0x7d, 0x0f, 0x7d, 0x7d, 0x7d, + 0x5e, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, + 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x89, 0x89, 0x89, 0x5c, + 0x5c, 0x5c, 0x89, 0x89, 0x5c, 0x89, 0x5c, 0x5c, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x5c, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x7d, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, + 0x89, 0x89, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x5c, 0x5c, 0x89, 0x89, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x0f, + 0x0f, 0x5e, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5c, 0x5c, 0x0f, 0x89, 0x89, + 0x5c, 0x89, 0x89, 0x89, 0x89, 0x5e, 0x5e, 0x89, 0x89, 0x5e, 0x5e, 0x89, 0x89, 0x89, 0x5e, 0x5e, + 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x89, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x89, 0x89, 0x5e, 0x5e, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x5e, 0x5e, + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x89, 0x89, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, + 0x89, 0x89, 0x5c, 0x5c, 0x5c, 0x89, 0x5c, 0x0f, 0x0f, 0x0f, 0x0f, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, + 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x7d, 0x7d, 0x5e, 0x7d, 0x5c, 0x0f, + 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x89, 0x89, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, 0x5c, 0x89, 0x89, 0x89, 0x89, 0x5c, + 0x5c, 0x89, 0x5c, 0x5c, 0x0f, 0x0f, 0x7d, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x89, + 0x89, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x5e, 0x89, 0x89, 0x89, 0x89, 0x5c, 0x5c, 0x89, 0x5c, + 0x5c, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, + 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x5c, 0x5e, 0x5e, + 0x89, 0x89, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, 0x89, 0x5c, 0x89, 0x5c, + 0x5c, 0x7d, 0x7d, 0x7d, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x89, 0x5c, 0x89, 0x89, + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, 0x5c, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x89, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x5e, 0x5e, 0x5e, + 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8b, 0x8b, 0x7d, 0x7d, 0x7d, 0x78, + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, 0x5c, 0x5c, 0x7d, 0x5e, 0x5e, 0x5e, 0x5e, + 0x8b, 0x8b, 0x8b, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x0f, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x5e, 0x89, 0x89, 0x5e, 0x5e, 0x5c, 0x5c, 0x89, 0x5c, 0x0f, + 0x89, 0x0f, 0x89, 0x5c, 0x7d, 0x7d, 0x7d, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x89, 0x89, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x5e, 0x5c, 0x5c, 0x89, 0x89, 0x89, 0x89, + 0x5c, 0x0f, 0x7d, 0x0f, 0x89, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x8c, 0x8c, 0x5c, 0x5c, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, 0x0f, 0x5c, 0x5c, 0x5c, 0x5c, 0x7d, + 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x5c, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, 0x89, 0x5c, 0x5c, 0x5c, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, 0x5c, 0x5c, 0x7d, 0x7d, 0x7d, 0x0f, 0x7d, 0x7d, + 0x7d, 0x7d, 0x7d, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, 0x8c, + 0x0f, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x7d, 0x7d, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x5e, 0x5e, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, + 0x5c, 0x89, 0x5c, 0x5c, 0x89, 0x5c, 0x5c, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x5e, 0x5e, 0x5c, 0x5e, 0x5c, 0x5c, 0x5e, 0x5c, + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x0f, 0x5c, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x89, 0x89, 0x89, 0x89, 0x89, 0x5e, + 0x5c, 0x5c, 0x5e, 0x89, 0x89, 0x5c, 0x89, 0x5c, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x5c, 0x5c, 0x89, 0x89, 0x7d, 0x7d, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x04, 0x04, 0x04, 0x04, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, - 0x0e, 0x0e, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1b, - 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x18, - 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x17, 0x17, 0x17, 0x17, 0x17, 0x1b, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x19, 0x19, 0x19, 0x19, - 0x15, 0x15, 0x15, 0x15, 0x1b, 0x19, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x18, 0x28, 0x28, 0x28, 0x28, 0x28, - 0x28, 0x28, 0x18, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x18, 0x18, 0x18, 0x18, 0x0f, 0x0f, 0x0f, - 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x1b, 0x1b, 0x1b, 0x1b, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x18, 0x18, 0x18, 0x17, - 0x0f, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, - 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, - 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x17, - 0x17, 0x17, 0x17, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, - 0x15, 0x15, 0x03, 0x15, 0x17, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x26, 0x26, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x0f, 0x0f, 0x0f, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x18, 0x18, 0x18, 0x18, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x18, 0x18, 0x19, 0x17, 0x17, 0x1b, - 0x11, 0x11, 0x11, 0x11, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x18, 0x18, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, - 0x19, 0x19, 0x19, 0x19, 0x19, 0x26, 0x26, 0x17, 0x17, 0x17, 0x19, 0x19, 0x19, 0x26, 0x26, 0x26, - 0x26, 0x26, 0x26, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x17, 0x17, 0x17, 0x17, 0x17, - 0x17, 0x17, 0x17, 0x19, 0x19, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x19, 0x19, 0x19, 0x19, - 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x17, 0x17, 0x17, 0x17, 0x19, 0x19, - 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x0e, 0x0e, 0x17, 0x17, 0x17, 0x0e, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x28, 0x28, 0x28, 0x28, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, - 0x0d, 0x0d, 0x0d, 0x0d, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0d, 0x0d, - 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x18, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, - 0x0a, 0x0a, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, - 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0a, 0x18, 0x0a, 0x0a, - 0x18, 0x18, 0x0a, 0x18, 0x18, 0x0a, 0x0a, 0x18, 0x18, 0x0a, 0x0a, 0x0a, 0x0a, 0x18, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0d, 0x0d, 0x0d, 0x0d, 0x18, 0x0d, 0x18, 0x0d, 0x0d, 0x0d, - 0x0d, 0x0d, 0x0d, 0x0d, 0x18, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, - 0x0d, 0x0d, 0x0d, 0x0d, 0x0a, 0x0a, 0x18, 0x0a, 0x0a, 0x0a, 0x0a, 0x18, 0x18, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x18, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x18, 0x0d, 0x0d, - 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0a, 0x0a, 0x18, 0x0a, 0x0a, 0x0a, 0x0a, 0x18, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x18, 0x0a, 0x18, 0x18, 0x18, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x18, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, - 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, - 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x18, 0x18, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x37, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, - 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x07, 0x0d, 0x0d, 0x0d, 0x0d, - 0x0d, 0x0d, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x37, 0x0d, 0x0d, 0x0d, 0x0d, - 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x07, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x37, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, - 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x07, - 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x37, - 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x07, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x37, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, - 0x0d, 0x0d, 0x0d, 0x07, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0a, 0x0d, 0x18, 0x18, 0x09, 0x09, + 0x0e, 0x0e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x7d, + 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, + 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x5e, + 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0xb3, 0xb3, 0xb3, 0xb3, 0xb3, 0xb3, 0xb3, 0xb3, 0xb3, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x7d, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x78, 0x78, 0x78, 0x78, + 0x5a, 0x5a, 0x5a, 0x5a, 0x7d, 0x78, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x5e, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, + 0x8b, 0x8b, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, + 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x7d, 0x7d, 0x7d, 0x7d, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5c, + 0x0f, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, + 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, + 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5c, + 0x5c, 0x5c, 0x5c, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, + 0x5a, 0x5a, 0x03, 0x5a, 0x5c, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x89, 0x89, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x5e, 0x5e, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x78, 0x5c, 0x5c, 0x7d, + 0x11, 0x11, 0x11, 0x11, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x5e, 0x5e, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, + 0x78, 0x78, 0x78, 0x78, 0x78, 0x89, 0x89, 0x5c, 0x5c, 0x5c, 0x78, 0x78, 0x78, 0x89, 0x89, 0x89, + 0x89, 0x89, 0x89, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, + 0x5c, 0x5c, 0x5c, 0x78, 0x78, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x78, 0x78, 0x78, 0x78, + 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x5c, 0x5c, 0x5c, 0x5c, 0x78, 0x78, + 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0e, 0x0e, 0x5c, 0x5c, 0x5c, 0x0e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x8b, 0x8b, 0x8b, 0x8b, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, + 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, + 0x15, 0x15, 0x15, 0x15, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, + 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x15, 0x15, + 0x15, 0x15, 0x15, 0x15, 0x15, 0x5e, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, + 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, + 0x19, 0x19, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, + 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x19, 0x5e, 0x19, 0x19, + 0x5e, 0x5e, 0x19, 0x5e, 0x5e, 0x19, 0x19, 0x5e, 0x5e, 0x19, 0x19, 0x19, 0x19, 0x5e, 0x19, 0x19, + 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x15, 0x15, 0x15, 0x15, 0x5e, 0x15, 0x5e, 0x15, 0x15, 0x15, + 0x15, 0x15, 0x15, 0x15, 0x5e, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, + 0x15, 0x15, 0x15, 0x15, 0x19, 0x19, 0x5e, 0x19, 0x19, 0x19, 0x19, 0x5e, 0x5e, 0x19, 0x19, 0x19, + 0x19, 0x19, 0x19, 0x19, 0x19, 0x5e, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x5e, 0x15, 0x15, + 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x19, 0x19, 0x5e, 0x19, 0x19, 0x19, 0x19, 0x5e, + 0x19, 0x19, 0x19, 0x19, 0x19, 0x5e, 0x19, 0x5e, 0x5e, 0x5e, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, + 0x19, 0x5e, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, + 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x19, 0x19, 0x19, 0x19, + 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, + 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x5e, 0x5e, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, + 0x19, 0xe5, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, + 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x07, 0x15, 0x15, 0x15, 0x15, + 0x15, 0x15, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, + 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0xe5, 0x15, 0x15, 0x15, 0x15, + 0x15, 0x15, 0x15, 0x15, 0x15, 0x07, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x19, 0x19, 0x19, 0x19, + 0x19, 0x19, 0x19, 0x19, 0x19, 0xe5, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, + 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x07, + 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, + 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0xe5, + 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x07, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, + 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0xe5, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, + 0x15, 0x15, 0x15, 0x07, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x19, 0x15, 0x5e, 0x5e, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, - 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x19, 0x19, 0x19, 0x19, 0x17, 0x17, 0x17, 0x17, 0x17, - 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x19, 0x19, 0x19, - 0x19, 0x19, 0x19, 0x19, 0x19, 0x17, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, - 0x19, 0x19, 0x19, 0x19, 0x17, 0x19, 0x19, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x18, 0x18, 0x18, 0x18, - 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x17, 0x17, 0x17, 0x17, 0x17, - 0x18, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, - 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x18, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, - 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x18, 0x18, 0x17, 0x17, 0x17, 0x17, 0x17, - 0x17, 0x17, 0x18, 0x17, 0x17, 0x18, 0x17, 0x17, 0x17, 0x17, 0x17, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x18, 0x18, - 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x18, 0x18, 0x18, 0x18, 0x0f, 0x19, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x17, 0x17, 0x17, 0x17, - 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x18, 0x18, 0x18, 0x18, 0x18, 0x04, - 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1c, 0x1c, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, - 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, - 0x35, 0x35, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, - 0x36, 0x36, 0x36, 0x36, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x23, 0x1c, 0x1c, 0x1c, 0x1c, - 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x1c, 0x1c, 0x1c, 0x1c, 0x1e, 0x1e, - 0x1c, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, - 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x24, 0x34, 0x34, 0x34, - 0x21, 0x34, 0x34, 0x34, 0x34, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, - 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x24, 0x34, - 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x1c, 0x1c, - 0x1f, 0x1f, 0x1f, 0x1f, 0x1c, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, - 0x1c, 0x1f, 0x1f, 0x1c, 0x1f, 0x1c, 0x1c, 0x1f, 0x1c, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, - 0x1f, 0x1f, 0x1f, 0x1c, 0x1f, 0x1f, 0x1f, 0x1f, 0x1c, 0x1f, 0x1c, 0x1f, 0x1c, 0x1c, 0x1c, 0x1c, - 0x1c, 0x1c, 0x1f, 0x1c, 0x1c, 0x1c, 0x1c, 0x1f, 0x1c, 0x1f, 0x1c, 0x1f, 0x1c, 0x1f, 0x1f, 0x1f, - 0x1c, 0x1f, 0x1f, 0x1c, 0x1f, 0x1c, 0x1c, 0x1f, 0x1c, 0x1f, 0x1c, 0x1f, 0x1c, 0x1f, 0x1c, 0x1f, - 0x1c, 0x1f, 0x1f, 0x1c, 0x1f, 0x1c, 0x1c, 0x1f, 0x1f, 0x1f, 0x1f, 0x1c, 0x1f, 0x1f, 0x1f, 0x1f, - 0x1f, 0x1f, 0x1f, 0x1c, 0x1f, 0x1f, 0x1f, 0x1f, 0x1c, 0x1f, 0x1f, 0x1f, 0x1f, 0x1c, 0x1f, 0x1c, - 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1c, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, - 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1c, 0x1c, 0x1c, 0x1c, - 0x1c, 0x1f, 0x1f, 0x1f, 0x1c, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1c, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, - 0x07, 0x07, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, - 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x18, - 0x18, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x78, 0x78, 0x78, 0x78, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x78, 0x78, 0x78, + 0x78, 0x78, 0x78, 0x78, 0x78, 0x5c, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, + 0x78, 0x78, 0x78, 0x78, 0x5c, 0x78, 0x78, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x5e, 0x5e, 0x5e, 0x5e, + 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, + 0x5e, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x5e, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, + 0x5c, 0x5c, 0x5e, 0x5c, 0x5c, 0x5e, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5e, 0x5e, + 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x5e, 0x5e, 0x5e, 0x5e, 0x0f, 0x78, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x5c, 0x5c, 0x5c, + 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x04, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x7f, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, + 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, + 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, + 0xe6, 0xe6, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, + 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, + 0xe7, 0xe7, 0xe7, 0xe7, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x86, 0x7f, 0x7f, 0x7f, 0x7f, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7f, 0x7f, 0x7f, 0x7f, 0x81, 0x81, + 0x7f, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, + 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0x87, 0xe2, 0xe2, 0xe2, + 0x84, 0xe2, 0xe2, 0xe2, 0xe2, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, + 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0x87, 0xe2, + 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0x7f, 0x7f, + 0x82, 0x82, 0x82, 0x82, 0x7f, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, + 0x7f, 0x82, 0x82, 0x7f, 0x82, 0x7f, 0x7f, 0x82, 0x7f, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, + 0x82, 0x82, 0x82, 0x7f, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x82, 0x7f, 0x82, 0x7f, 0x7f, 0x7f, 0x7f, + 0x7f, 0x7f, 0x82, 0x7f, 0x7f, 0x7f, 0x7f, 0x82, 0x7f, 0x82, 0x7f, 0x82, 0x7f, 0x82, 0x82, 0x82, + 0x7f, 0x82, 0x82, 0x7f, 0x82, 0x7f, 0x7f, 0x82, 0x7f, 0x82, 0x7f, 0x82, 0x7f, 0x82, 0x7f, 0x82, + 0x7f, 0x82, 0x82, 0x7f, 0x82, 0x7f, 0x7f, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x82, 0x82, 0x82, 0x82, + 0x82, 0x82, 0x82, 0x7f, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x82, 0x7f, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x82, 0x82, 0x82, 0x82, 0x82, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x7f, 0x7f, 0x7f, + 0x7f, 0x82, 0x82, 0x82, 0x7f, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x82, 0x82, 0x82, 0x82, 0x82, + 0x07, 0x07, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, + 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x5e, + 0x5e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x0e, 0x0e, 0x0e, - 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, - 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x0e, 0x18, 0x18, - 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, - 0x19, 0x19, 0x19, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x18, 0x18, 0x18, 0x18, - 0x19, 0x19, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, + 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x0e, 0x5e, 0x5e, + 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, + 0x78, 0x78, 0x78, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x5e, 0x5e, 0x5e, 0x5e, + 0x78, 0x78, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, - 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x18, 0x18, - 0x0e, 0x0e, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x18, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, - 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x18, 0x0e, 0x0e, 0x0e, - 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x18, 0x18, 0x18, 0x0e, 0x0e, 0x0e, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x0e, 0x0e, 0x0e, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x0e, 0x0e, 0x0e, 0x18, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, - 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x2e, 0x2e, - 0x2e, 0x11, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, + 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x5e, 0x5e, + 0x0e, 0x0e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x5e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, + 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x5e, 0x0e, 0x0e, 0x0e, + 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x5e, 0x5e, 0x5e, 0x0e, 0x0e, 0x0e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0e, 0x0e, 0x0e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x0e, 0x0e, 0x0e, 0x5e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, + 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0xb6, 0xb6, + 0xb6, 0x11, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, - 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x2e, 0x2e + 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xb6, 0xb6 }; // Contains Unicode category & bidi class information - private static ReadOnlySpan CategoriesValues => new byte[56] + private static ReadOnlySpan CategoriesValues => new byte[232] { 0x0e, 0x8e, 0x8b, 0x18, 0x1a, 0x14, 0x15, 0x19, 0x13, 0x08, 0x20, 0x1b, 0x12, 0x21, 0x1c, 0x24, - 0x16, 0x0f, 0x0a, 0x17, 0x22, 0x23, 0x03, 0x05, 0x3d, 0x3c, 0x07, 0x38, 0x5d, 0x53, 0x58, 0x44, - 0x59, 0x5a, 0x4f, 0x43, 0x5c, 0x48, 0x26, 0x28, 0x2a, 0x25, 0x29, 0x2f, 0x8c, 0x8d, 0x1d, 0x3b, - 0x30, 0x31, 0x5b, 0x09, 0x4a, 0x40, 0x41, 0x39 + 0x16, 0x0f, 0x0a, 0x21, 0x17, 0x21, 0x21, 0x20, 0x21, 0x20, 0x20, 0x21, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x21, 0x20, 0x20, 0x21, 0x20, 0x21, 0x20, 0x20, 0x20, 0x20, 0x21, 0x20, 0x22, + 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, + 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, + 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x23, 0x03, 0x05, 0x05, 0x3d, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, + 0x21, 0x21, 0x21, 0x20, 0x21, 0x20, 0x20, 0x21, 0x3c, 0x07, 0x20, 0x21, 0x20, 0x38, 0x21, 0x5d, + 0x53, 0x58, 0x44, 0x59, 0x5a, 0x4f, 0x43, 0x5c, 0x48, 0x26, 0x28, 0x2a, 0x25, 0x20, 0x21, 0x20, + 0x20, 0x21, 0x29, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x21, 0x21, 0x21, 0x21, + 0x20, 0x21, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x22, 0x21, 0x20, 0x22, 0x21, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x2f, 0x8c, 0x8d, 0x1d, 0x20, 0x20, 0x20, 0x20, 0x21, 0x29, 0x29, 0x3c, 0x3c, + 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x20, 0x3b, 0x20, 0x21, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x30, 0x31, 0x5b, 0x09, + 0x20, 0x21, 0x4a, 0x40, 0x41, 0x39, 0x40, 0x41 + }; + + // Contains simple culture-invariant uppercase mappings + private static ReadOnlySpan UppercaseValues => new byte[464] + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe7, 0x02, 0x00, 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xc3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa3, 0x00, 0x00, 0x00, + 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xfe, 0xff, 0xb1, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3f, 0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x2a, 0x1c, 0x2a, 0x1e, 0x2a, 0x2e, 0xff, + 0x32, 0xff, 0x33, 0xff, 0x36, 0xff, 0x35, 0xff, 0x4f, 0xa5, 0x4b, 0xa5, 0x31, 0xff, 0x28, 0xa5, + 0x44, 0xa5, 0x2f, 0xff, 0x2d, 0xff, 0xf7, 0x29, 0x41, 0xa5, 0xfd, 0x29, 0x2b, 0xff, 0x2a, 0xff, + 0xe7, 0x29, 0x26, 0xff, 0x43, 0xa5, 0x2a, 0xa5, 0xbb, 0xff, 0x27, 0xff, 0xb9, 0xff, 0x25, 0xff, + 0x15, 0xa5, 0x12, 0xa5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xda, 0xff, 0xdb, 0xff, 0xe1, 0xff, 0xc0, 0xff, + 0xc1, 0xff, 0x00, 0x00, 0xc2, 0xff, 0xc7, 0xff, 0xd1, 0xff, 0xca, 0xff, 0xf8, 0xff, 0xaa, 0xff, + 0xb0, 0xff, 0x07, 0x00, 0x8c, 0xff, 0x00, 0x00, 0xa0, 0xff, 0x00, 0x00, 0x00, 0x00, 0xb0, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf1, 0xff, 0x00, 0x00, 0x00, 0x00, 0xd0, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x0b, 0x00, 0x00, + 0x00, 0x00, 0xf8, 0xff, 0x00, 0x00, 0x92, 0xe7, 0x93, 0xe7, 0x9c, 0xe7, 0x9e, 0xe7, 0x9d, 0xe7, + 0xa4, 0xe7, 0xdb, 0xe7, 0xc2, 0x89, 0x00, 0x00, 0x04, 0x8a, 0xe6, 0x0e, 0x38, 0x8a, 0xc5, 0xff, + 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x4a, 0x00, 0x56, 0x00, 0x64, 0x00, 0x80, 0x00, 0x70, 0x00, + 0x7e, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0xe3, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe4, 0xff, 0x00, 0x00, 0xf0, 0xff, 0x00, 0x00, 0xe6, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd5, 0xd5, 0xd8, 0xd5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xa0, 0xe3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x60, 0xfc, 0x30, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xd8, 0xff, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x00, 0x00, 0x00, 0x00, 0xde, 0xff + }; + + // Contains simple culture-invariant lowercase mappings + private static ReadOnlySpan LowercaseValues => new byte[464] + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x87, 0xff, 0x00, 0x00, 0xd2, 0x00, 0xce, 0x00, 0xcd, 0x00, 0x4f, 0x00, + 0xca, 0x00, 0xcb, 0x00, 0xcf, 0x00, 0x00, 0x00, 0xd3, 0x00, 0xd1, 0x00, 0x00, 0x00, 0xd5, 0x00, + 0x00, 0x00, 0xd6, 0x00, 0xda, 0x00, 0xd9, 0x00, 0xdb, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xc8, 0xff, 0x7e, 0xff, 0x2b, 0x2a, 0x5d, 0xff, 0x28, 0x2a, + 0x00, 0x00, 0x3d, 0xff, 0x45, 0x00, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0x00, + 0x26, 0x00, 0x25, 0x00, 0x40, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc4, 0xff, 0x00, 0x00, 0xf9, 0xff, 0x50, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x1c, 0x00, 0x00, 0xd0, 0x97, + 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x41, 0xe2, 0x00, 0x00, 0xf8, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xf8, 0xff, 0x00, 0x00, 0xb6, 0xff, 0xf7, 0xff, 0x00, 0x00, 0xaa, 0xff, 0x9c, 0xff, + 0x90, 0xff, 0x80, 0xff, 0x82, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa3, 0xe2, + 0x41, 0xdf, 0xba, 0xdf, 0x1c, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, + 0x09, 0xd6, 0x1a, 0xf1, 0x19, 0xd6, 0x00, 0x00, 0x00, 0x00, 0xe4, 0xd5, 0x03, 0xd6, 0xe1, 0xd5, + 0xe2, 0xd5, 0xc1, 0xd5, 0x00, 0x00, 0xfc, 0x75, 0x00, 0x00, 0xd8, 0x5a, 0x00, 0x00, 0xbc, 0x5a, + 0xb1, 0x5a, 0xb5, 0x5a, 0xbf, 0x5a, 0xee, 0x5a, 0xd6, 0x5a, 0xeb, 0x5a, 0xa0, 0x03, 0xd0, 0xff, + 0xbd, 0x5a, 0xc8, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00 }; [Conditional("DEBUG")] diff --git a/src/libraries/System.Private.CoreLib/src/System/Globalization/InvariantModeCasing.cs b/src/libraries/System.Private.CoreLib/src/System/Globalization/InvariantModeCasing.cs index da1980b88e2d2..e2e2ddb416489 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Globalization/InvariantModeCasing.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Globalization/InvariantModeCasing.cs @@ -8,136 +8,103 @@ namespace System.Globalization { - internal static partial class InvariantModeCasing + internal static class InvariantModeCasing { [MethodImpl(MethodImplOptions.AggressiveInlining)] - internal static char ToLower(char c) - { - Debug.Assert(GlobalizationMode.Invariant); - - ushort v = LowerCase1[c >> 8]; - v = LowerCase2[v + ((c >> 4) & 0xF)]; - v = LowerCase3[v + (c & 0xF)]; - - return v == 0 ? c : (char)v; - } + internal static char ToLower(char c) => CharUnicodeInfo.ToLower(c); [MethodImpl(MethodImplOptions.AggressiveInlining)] - internal static char ToUpper(char c) - { - Debug.Assert(GlobalizationMode.Invariant); - - ushort v = UpperCase1[c >> 8]; - v = UpperCase2[v + ((c >> 4) & 0xF)]; - v = UpperCase3[v + (c & 0xF)]; - - return v == 0 ? c : (char)v; - } + internal static char ToUpper(char c) => CharUnicodeInfo.ToUpper(c); - internal static unsafe string ToLower(string s) + internal static string ToLower(string s) { if (s.Length == 0) { return string.Empty; } - fixed (char* pSource = s) + ReadOnlySpan source = s; + + int i = 0; + while (i < s.Length) { - int i = 0; - while (i < s.Length) + if (char.IsHighSurrogate(source[i]) && i < s.Length - 1 && char.IsLowSurrogate(source[i + 1])) { - if (char.IsHighSurrogate(pSource[i]) && i < s.Length - 1 && char.IsLowSurrogate(pSource[i + 1])) - { - SurrogateCasing.ToLower(pSource[i], pSource[i + 1], out ushort h, out ushort l); - if (pSource[i] != h || pSource[i + 1] != l) - { - break; - } - - i += 2; - continue; - } - - if (ToLower(pSource[i]) != pSource[i]) + SurrogateCasing.ToLower(source[i], source[i + 1], out ushort h, out ushort l); + if (source[i] != h || source[i + 1] != l) { break; } - i++; + i += 2; + continue; } - if (i >= s.Length) + if (ToLower(source[i]) != source[i]) { - return s; + break; } - string result = string.FastAllocateString(s.Length); - fixed (char* pResult = result) - { - for (int j = 0; j < i; j++) - { - pResult[j] = pSource[j]; - } - - Span resultSpan = new Span(pResult, s.Length).Slice(i); - InvariantModeCasing.ToLower(s.AsSpan().Slice(i), resultSpan); - } + i++; + } - return result; + if (i >= s.Length) + { + return s; } + + return string.Create(s.Length, (s, i), static (destination, state) => + { + ReadOnlySpan src = state.s; + src.Slice(0, state.i).CopyTo(destination); + InvariantModeCasing.ToLower(src.Slice(state.i), destination.Slice(state.i)); + }); + } - internal static unsafe string ToUpper(string s) + internal static string ToUpper(string s) { if (s.Length == 0) { return string.Empty; } - fixed (char* pSource = s) + ReadOnlySpan source = s; + + int i = 0; + while (i < s.Length) { - int i = 0; - while (i < s.Length) + if (char.IsHighSurrogate(source[i]) && i < s.Length - 1 && char.IsLowSurrogate(source[i + 1])) { - if (char.IsHighSurrogate(pSource[i]) && i < s.Length - 1 && char.IsLowSurrogate(pSource[i + 1])) - { - SurrogateCasing.ToUpper(pSource[i], pSource[i + 1], out ushort h, out ushort l); - if (pSource[i] != h || pSource[i + 1] != l) - { - break; - } - - i += 2; - continue; - } - - if (ToUpper(pSource[i]) != pSource[i]) + SurrogateCasing.ToUpper(source[i], source[i + 1], out ushort h, out ushort l); + if (source[i] != h || source[i + 1] != l) { break; } - i++; + i += 2; + continue; } - if (i >= s.Length) + if (ToUpper(source[i]) != source[i]) { - return s; + break; } - string result = string.FastAllocateString(s.Length); - fixed (char* pResult = result) - { - for (int j = 0; j < i; j++) - { - pResult[j] = pSource[j]; - } - - Span resultSpan = new Span(pResult, s.Length).Slice(i); - InvariantModeCasing.ToUpper(s.AsSpan().Slice(i), resultSpan); - } + i++; + } - return result; + if (i >= s.Length) + { + return s; } + + return string.Create(s.Length, (s, i), static (destination, state) => + { + ReadOnlySpan src = state.s; + src.Slice(0, state.i).CopyTo(destination); + InvariantModeCasing.ToUpper(src.Slice(state.i), destination.Slice(state.i)); + }); } internal static void ToUpper(ReadOnlySpan source, Span destination) @@ -268,7 +235,7 @@ internal static int CompareStringIgnoreCase(ref char strA, int lengthA, ref char return lengthA - lengthB; } - internal static unsafe int IndexOfIgnoreCae(ReadOnlySpan source, ReadOnlySpan value) + internal static unsafe int IndexOfIgnoreCase(ReadOnlySpan source, ReadOnlySpan value) { Debug.Assert(value.Length > 0); Debug.Assert(value.Length <= source.Length); @@ -390,390 +357,5 @@ internal static unsafe int LastIndexOfIgnoreCase(ReadOnlySpan source, Read return -1; } } - - // The following case mapping data is generated using the tool stored in in the path .\src\coreclr\System.Private.CoreLib\Tools\InvariantCasing. - // We generate the casing tables as 8-4-4 tables to balance between the size of the data and the performance of teh mapping operation. - // The data generated here is matching the Unicode version 14. - - private static readonly ushort [] UpperCase1 = - { - // 0 1 2 3 4 5 6 7 8 9 A B C D E F - 0x0000, 0x0010, 0x0020, 0x0030, 0x0040, 0x0050, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, // 0x0000 - 0x000f - 0x0070, 0x0060, 0x0060, 0x0080, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0090, 0x00a0, 0x00b0, 0x00c0, // 0x0010 - 0x001f - 0x0060, 0x00d0, 0x0060, 0x0060, 0x00e0, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x00f0, 0x0100, 0x0060, 0x0060, // 0x0020 - 0x002f - 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, // 0x0030 - 0x003f - 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, // 0x0040 - 0x004f - 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, // 0x0050 - 0x005f - 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, // 0x0060 - 0x006f - 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, // 0x0070 - 0x007f - 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, // 0x0080 - 0x008f - 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, // 0x0090 - 0x009f - 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0110, 0x0120, 0x0060, 0x0060, 0x0060, 0x0130, 0x0060, 0x0060, 0x0060, 0x0060, // 0x00a0 - 0x00af - 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, // 0x00b0 - 0x00bf - 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, // 0x00c0 - 0x00cf - 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, // 0x00d0 - 0x00df - 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, // 0x00e0 - 0x00ef - 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0140, // 0x00f0 - 0x00ff - }; - - private static readonly ushort [] UpperCase2 = - { - // 0 1 2 3 4 5 6 7 8 9 A B C D E F - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0020, 0x0000, 0x0000, 0x0000, 0x0030, 0x0000, 0x0000, 0x0040, 0x0050, // 0x0000 - 0x000f - 0x0060, 0x0070, 0x0080, 0x0090, 0x00a0, 0x00b0, 0x00c0, 0x00d0, 0x00e0, 0x00f0, 0x0100, 0x0110, 0x0120, 0x0130, 0x0140, 0x0150, // 0x0010 - 0x001f - 0x0160, 0x0170, 0x0180, 0x0190, 0x01a0, 0x01b0, 0x01c0, 0x01d0, 0x01e0, 0x01f0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0020 - 0x002f - 0x0000, 0x0000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0210, 0x0000, 0x0000, 0x0220, 0x0230, 0x0240, 0x0250, 0x0260, 0x0270, // 0x0030 - 0x003f - 0x0000, 0x0000, 0x0000, 0x0280, 0x0290, 0x02a0, 0x02b0, 0x02c0, 0x02d0, 0x02e0, 0x02f0, 0x0300, 0x0310, 0x0320, 0x0330, 0x0340, // 0x0040 - 0x004f - 0x0350, 0x0360, 0x0370, 0x0000, 0x0000, 0x0000, 0x0380, 0x0390, 0x03a0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0050 - 0x005f - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0060 - 0x006f - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x03b0, 0x03c0, 0x03d0, // 0x0070 - 0x007f - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x03e0, // 0x0080 - 0x008f - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x03f0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0090 - 0x009f - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0410, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x00a0 - 0x00af - 0x0420, 0x0430, 0x0440, 0x0450, 0x0460, 0x0470, 0x0480, 0x0490, 0x04a0, 0x04b0, 0x04c0, 0x04d0, 0x04e0, 0x04f0, 0x0500, 0x0510, // 0x00b0 - 0x00bf - 0x0520, 0x0530, 0x0540, 0x0550, 0x0560, 0x0570, 0x0580, 0x0590, 0x05a0, 0x05b0, 0x05c0, 0x05d0, 0x05e0, 0x05f0, 0x0600, 0x0610, // 0x00c0 - 0x00cf - 0x0000, 0x0000, 0x0000, 0x0000, 0x0620, 0x0000, 0x0000, 0x0630, 0x0640, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x00d0 - 0x00df - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0650, 0x0660, 0x0000, // 0x00e0 - 0x00ef - 0x0000, 0x0000, 0x0000, 0x0670, 0x0680, 0x0690, 0x06a0, 0x06b0, 0x06c0, 0x06d0, 0x06e0, 0x06f0, 0x0700, 0x0710, 0x0720, 0x0730, // 0x00f0 - 0x00ff - 0x0740, 0x0750, 0x0760, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0100 - 0x010f - 0x0000, 0x0000, 0x0000, 0x0000, 0x0770, 0x0780, 0x0790, 0x0000, 0x07a0, 0x07b0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0110 - 0x011f - 0x0000, 0x0000, 0x07c0, 0x07d0, 0x07e0, 0x07f0, 0x0800, 0x0810, 0x0820, 0x0830, 0x0840, 0x0850, 0x0860, 0x0870, 0x0000, 0x0880, // 0x0120 - 0x012f - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0890, 0x0000, 0x08a0, 0x08b0, 0x08c0, 0x08d0, 0x08e0, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0130 - 0x013f - 0x0000, 0x0000, 0x0000, 0x0000, 0x08f0, 0x0900, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0140 - 0x014f - }; - - private static readonly ushort [] UpperCase3 = - { - // 0 1 2 3 4 5 6 7 8 9 A B C D E F - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0000 - 0x000f - 0x0000, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, // 0x0010 - 0x001f - 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0020 - 0x002f - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x039c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0030 - 0x003f - 0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7, 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf, // 0x0040 - 0x004f - 0x00d0, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x0000, 0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x00dd, 0x00de, 0x0178, // 0x0050 - 0x005f - 0x0000, 0x0100, 0x0000, 0x0102, 0x0000, 0x0104, 0x0000, 0x0106, 0x0000, 0x0108, 0x0000, 0x010a, 0x0000, 0x010c, 0x0000, 0x010e, // 0x0060 - 0x006f - 0x0000, 0x0110, 0x0000, 0x0112, 0x0000, 0x0114, 0x0000, 0x0116, 0x0000, 0x0118, 0x0000, 0x011a, 0x0000, 0x011c, 0x0000, 0x011e, // 0x0070 - 0x007f - 0x0000, 0x0120, 0x0000, 0x0122, 0x0000, 0x0124, 0x0000, 0x0126, 0x0000, 0x0128, 0x0000, 0x012a, 0x0000, 0x012c, 0x0000, 0x012e, // 0x0080 - 0x008f - 0x0000, 0x0000, 0x0000, 0x0132, 0x0000, 0x0134, 0x0000, 0x0136, 0x0000, 0x0000, 0x0139, 0x0000, 0x013b, 0x0000, 0x013d, 0x0000, // 0x0090 - 0x009f - 0x013f, 0x0000, 0x0141, 0x0000, 0x0143, 0x0000, 0x0145, 0x0000, 0x0147, 0x0000, 0x0000, 0x014a, 0x0000, 0x014c, 0x0000, 0x014e, // 0x00a0 - 0x00af - 0x0000, 0x0150, 0x0000, 0x0152, 0x0000, 0x0154, 0x0000, 0x0156, 0x0000, 0x0158, 0x0000, 0x015a, 0x0000, 0x015c, 0x0000, 0x015e, // 0x00b0 - 0x00bf - 0x0000, 0x0160, 0x0000, 0x0162, 0x0000, 0x0164, 0x0000, 0x0166, 0x0000, 0x0168, 0x0000, 0x016a, 0x0000, 0x016c, 0x0000, 0x016e, // 0x00c0 - 0x00cf - 0x0000, 0x0170, 0x0000, 0x0172, 0x0000, 0x0174, 0x0000, 0x0176, 0x0000, 0x0000, 0x0179, 0x0000, 0x017b, 0x0000, 0x017d, 0x0000, // 0x00d0 - 0x00df - 0x0243, 0x0000, 0x0000, 0x0182, 0x0000, 0x0184, 0x0000, 0x0000, 0x0187, 0x0000, 0x0000, 0x0000, 0x018b, 0x0000, 0x0000, 0x0000, // 0x00e0 - 0x00ef - 0x0000, 0x0000, 0x0191, 0x0000, 0x0000, 0x01f6, 0x0000, 0x0000, 0x0000, 0x0198, 0x023d, 0x0000, 0x0000, 0x0000, 0x0220, 0x0000, // 0x00f0 - 0x00ff - 0x0000, 0x01a0, 0x0000, 0x01a2, 0x0000, 0x01a4, 0x0000, 0x0000, 0x01a7, 0x0000, 0x0000, 0x0000, 0x0000, 0x01ac, 0x0000, 0x0000, // 0x0100 - 0x010f - 0x01af, 0x0000, 0x0000, 0x0000, 0x01b3, 0x0000, 0x01b5, 0x0000, 0x0000, 0x01b8, 0x0000, 0x0000, 0x0000, 0x01bc, 0x0000, 0x01f7, // 0x0110 - 0x011f - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x01c5, 0x0000, 0x0000, 0x01c8, 0x0000, 0x0000, 0x01cb, 0x0000, 0x01cd, 0x0000, // 0x0120 - 0x012f - 0x01cf, 0x0000, 0x01d1, 0x0000, 0x01d3, 0x0000, 0x01d5, 0x0000, 0x01d7, 0x0000, 0x01d9, 0x0000, 0x01db, 0x018e, 0x0000, 0x01de, // 0x0130 - 0x013f - 0x0000, 0x01e0, 0x0000, 0x01e2, 0x0000, 0x01e4, 0x0000, 0x01e6, 0x0000, 0x01e8, 0x0000, 0x01ea, 0x0000, 0x01ec, 0x0000, 0x01ee, // 0x0140 - 0x014f - 0x0000, 0x0000, 0x0000, 0x01f2, 0x0000, 0x01f4, 0x0000, 0x0000, 0x0000, 0x01f8, 0x0000, 0x01fa, 0x0000, 0x01fc, 0x0000, 0x01fe, // 0x0150 - 0x015f - 0x0000, 0x0200, 0x0000, 0x0202, 0x0000, 0x0204, 0x0000, 0x0206, 0x0000, 0x0208, 0x0000, 0x020a, 0x0000, 0x020c, 0x0000, 0x020e, // 0x0160 - 0x016f - 0x0000, 0x0210, 0x0000, 0x0212, 0x0000, 0x0214, 0x0000, 0x0216, 0x0000, 0x0218, 0x0000, 0x021a, 0x0000, 0x021c, 0x0000, 0x021e, // 0x0170 - 0x017f - 0x0000, 0x0000, 0x0000, 0x0222, 0x0000, 0x0224, 0x0000, 0x0226, 0x0000, 0x0228, 0x0000, 0x022a, 0x0000, 0x022c, 0x0000, 0x022e, // 0x0180 - 0x018f - 0x0000, 0x0230, 0x0000, 0x0232, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x023b, 0x0000, 0x0000, 0x2c7e, // 0x0190 - 0x019f - 0x2c7f, 0x0000, 0x0241, 0x0000, 0x0000, 0x0000, 0x0000, 0x0246, 0x0000, 0x0248, 0x0000, 0x024a, 0x0000, 0x024c, 0x0000, 0x024e, // 0x01a0 - 0x01af - 0x2c6f, 0x2c6d, 0x2c70, 0x0181, 0x0186, 0x0000, 0x0189, 0x018a, 0x0000, 0x018f, 0x0000, 0x0190, 0xa7ab, 0x0000, 0x0000, 0x0000, // 0x01b0 - 0x01bf - 0x0193, 0xa7ac, 0x0000, 0x0194, 0x0000, 0xa78d, 0xa7aa, 0x0000, 0x0197, 0x0196, 0xa7ae, 0x2c62, 0xa7ad, 0x0000, 0x0000, 0x019c, // 0x01c0 - 0x01cf - 0x0000, 0x2c6e, 0x019d, 0x0000, 0x0000, 0x019f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2c64, 0x0000, 0x0000, // 0x01d0 - 0x01df - 0x01a6, 0x0000, 0xa7c5, 0x01a9, 0x0000, 0x0000, 0x0000, 0xa7b1, 0x01ae, 0x0244, 0x01b1, 0x01b2, 0x0245, 0x0000, 0x0000, 0x0000, // 0x01e0 - 0x01ef - 0x0000, 0x0000, 0x01b7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa7b2, 0xa7b0, 0x0000, // 0x01f0 - 0x01ff - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0399, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0200 - 0x020f - 0x0000, 0x0370, 0x0000, 0x0372, 0x0000, 0x0000, 0x0000, 0x0376, 0x0000, 0x0000, 0x0000, 0x03fd, 0x03fe, 0x03ff, 0x0000, 0x0000, // 0x0210 - 0x021f - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0386, 0x0388, 0x0389, 0x038a, // 0x0220 - 0x022f - 0x0000, 0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397, 0x0398, 0x0399, 0x039a, 0x039b, 0x039c, 0x039d, 0x039e, 0x039f, // 0x0230 - 0x023f - 0x03a0, 0x03a1, 0x03a3, 0x03a3, 0x03a4, 0x03a5, 0x03a6, 0x03a7, 0x03a8, 0x03a9, 0x03aa, 0x03ab, 0x038c, 0x038e, 0x038f, 0x0000, // 0x0240 - 0x024f - 0x0392, 0x0398, 0x0000, 0x0000, 0x0000, 0x03a6, 0x03a0, 0x03cf, 0x0000, 0x03d8, 0x0000, 0x03da, 0x0000, 0x03dc, 0x0000, 0x03de, // 0x0250 - 0x025f - 0x0000, 0x03e0, 0x0000, 0x03e2, 0x0000, 0x03e4, 0x0000, 0x03e6, 0x0000, 0x03e8, 0x0000, 0x03ea, 0x0000, 0x03ec, 0x0000, 0x03ee, // 0x0260 - 0x026f - 0x039a, 0x03a1, 0x03f9, 0x037f, 0x0000, 0x0395, 0x0000, 0x0000, 0x03f7, 0x0000, 0x0000, 0x03fa, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0270 - 0x027f - 0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417, 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e, 0x041f, // 0x0280 - 0x028f - 0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, 0x0428, 0x0429, 0x042a, 0x042b, 0x042c, 0x042d, 0x042e, 0x042f, // 0x0290 - 0x029f - 0x0400, 0x0401, 0x0402, 0x0403, 0x0404, 0x0405, 0x0406, 0x0407, 0x0408, 0x0409, 0x040a, 0x040b, 0x040c, 0x040d, 0x040e, 0x040f, // 0x02a0 - 0x02af - 0x0000, 0x0460, 0x0000, 0x0462, 0x0000, 0x0464, 0x0000, 0x0466, 0x0000, 0x0468, 0x0000, 0x046a, 0x0000, 0x046c, 0x0000, 0x046e, // 0x02b0 - 0x02bf - 0x0000, 0x0470, 0x0000, 0x0472, 0x0000, 0x0474, 0x0000, 0x0476, 0x0000, 0x0478, 0x0000, 0x047a, 0x0000, 0x047c, 0x0000, 0x047e, // 0x02c0 - 0x02cf - 0x0000, 0x0480, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x048a, 0x0000, 0x048c, 0x0000, 0x048e, // 0x02d0 - 0x02df - 0x0000, 0x0490, 0x0000, 0x0492, 0x0000, 0x0494, 0x0000, 0x0496, 0x0000, 0x0498, 0x0000, 0x049a, 0x0000, 0x049c, 0x0000, 0x049e, // 0x02e0 - 0x02ef - 0x0000, 0x04a0, 0x0000, 0x04a2, 0x0000, 0x04a4, 0x0000, 0x04a6, 0x0000, 0x04a8, 0x0000, 0x04aa, 0x0000, 0x04ac, 0x0000, 0x04ae, // 0x02f0 - 0x02ff - 0x0000, 0x04b0, 0x0000, 0x04b2, 0x0000, 0x04b4, 0x0000, 0x04b6, 0x0000, 0x04b8, 0x0000, 0x04ba, 0x0000, 0x04bc, 0x0000, 0x04be, // 0x0300 - 0x030f - 0x0000, 0x0000, 0x04c1, 0x0000, 0x04c3, 0x0000, 0x04c5, 0x0000, 0x04c7, 0x0000, 0x04c9, 0x0000, 0x04cb, 0x0000, 0x04cd, 0x04c0, // 0x0310 - 0x031f - 0x0000, 0x04d0, 0x0000, 0x04d2, 0x0000, 0x04d4, 0x0000, 0x04d6, 0x0000, 0x04d8, 0x0000, 0x04da, 0x0000, 0x04dc, 0x0000, 0x04de, // 0x0320 - 0x032f - 0x0000, 0x04e0, 0x0000, 0x04e2, 0x0000, 0x04e4, 0x0000, 0x04e6, 0x0000, 0x04e8, 0x0000, 0x04ea, 0x0000, 0x04ec, 0x0000, 0x04ee, // 0x0330 - 0x033f - 0x0000, 0x04f0, 0x0000, 0x04f2, 0x0000, 0x04f4, 0x0000, 0x04f6, 0x0000, 0x04f8, 0x0000, 0x04fa, 0x0000, 0x04fc, 0x0000, 0x04fe, // 0x0340 - 0x034f - 0x0000, 0x0500, 0x0000, 0x0502, 0x0000, 0x0504, 0x0000, 0x0506, 0x0000, 0x0508, 0x0000, 0x050a, 0x0000, 0x050c, 0x0000, 0x050e, // 0x0350 - 0x035f - 0x0000, 0x0510, 0x0000, 0x0512, 0x0000, 0x0514, 0x0000, 0x0516, 0x0000, 0x0518, 0x0000, 0x051a, 0x0000, 0x051c, 0x0000, 0x051e, // 0x0360 - 0x036f - 0x0000, 0x0520, 0x0000, 0x0522, 0x0000, 0x0524, 0x0000, 0x0526, 0x0000, 0x0528, 0x0000, 0x052a, 0x0000, 0x052c, 0x0000, 0x052e, // 0x0370 - 0x037f - 0x0000, 0x0531, 0x0532, 0x0533, 0x0534, 0x0535, 0x0536, 0x0537, 0x0538, 0x0539, 0x053a, 0x053b, 0x053c, 0x053d, 0x053e, 0x053f, // 0x0380 - 0x038f - 0x0540, 0x0541, 0x0542, 0x0543, 0x0544, 0x0545, 0x0546, 0x0547, 0x0548, 0x0549, 0x054a, 0x054b, 0x054c, 0x054d, 0x054e, 0x054f, // 0x0390 - 0x039f - 0x0550, 0x0551, 0x0552, 0x0553, 0x0554, 0x0555, 0x0556, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x03a0 - 0x03af - 0x10d0, 0x10d1, 0x10d2, 0x10d3, 0x10d4, 0x10d5, 0x10d6, 0x10d7, 0x10d8, 0x10d9, 0x10da, 0x10db, 0x10dc, 0x10dd, 0x10de, 0x10df, // 0x03b0 - 0x03bf - 0x10e0, 0x10e1, 0x10e2, 0x10e3, 0x10e4, 0x10e5, 0x10e6, 0x10e7, 0x10e8, 0x10e9, 0x10ea, 0x10eb, 0x10ec, 0x10ed, 0x10ee, 0x10ef, // 0x03c0 - 0x03cf - 0x10f0, 0x10f1, 0x10f2, 0x10f3, 0x10f4, 0x10f5, 0x10f6, 0x10f7, 0x10f8, 0x10f9, 0x10fa, 0x0000, 0x0000, 0x10fd, 0x10fe, 0x10ff, // 0x03d0 - 0x03df - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x13f0, 0x13f1, 0x13f2, 0x13f3, 0x13f4, 0x13f5, 0x0000, 0x0000, // 0x03e0 - 0x03ef - 0x0412, 0x0414, 0x041e, 0x0421, 0x0422, 0x0422, 0x042a, 0x0462, 0xa64a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x03f0 - 0x03ff - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa77d, 0x0000, 0x0000, 0x0000, 0x2c63, 0x0000, 0x0000, // 0x0400 - 0x040f - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa7c6, 0x0000, // 0x0410 - 0x041f - 0x0000, 0x1e00, 0x0000, 0x1e02, 0x0000, 0x1e04, 0x0000, 0x1e06, 0x0000, 0x1e08, 0x0000, 0x1e0a, 0x0000, 0x1e0c, 0x0000, 0x1e0e, // 0x0420 - 0x042f - 0x0000, 0x1e10, 0x0000, 0x1e12, 0x0000, 0x1e14, 0x0000, 0x1e16, 0x0000, 0x1e18, 0x0000, 0x1e1a, 0x0000, 0x1e1c, 0x0000, 0x1e1e, // 0x0430 - 0x043f - 0x0000, 0x1e20, 0x0000, 0x1e22, 0x0000, 0x1e24, 0x0000, 0x1e26, 0x0000, 0x1e28, 0x0000, 0x1e2a, 0x0000, 0x1e2c, 0x0000, 0x1e2e, // 0x0440 - 0x044f - 0x0000, 0x1e30, 0x0000, 0x1e32, 0x0000, 0x1e34, 0x0000, 0x1e36, 0x0000, 0x1e38, 0x0000, 0x1e3a, 0x0000, 0x1e3c, 0x0000, 0x1e3e, // 0x0450 - 0x045f - 0x0000, 0x1e40, 0x0000, 0x1e42, 0x0000, 0x1e44, 0x0000, 0x1e46, 0x0000, 0x1e48, 0x0000, 0x1e4a, 0x0000, 0x1e4c, 0x0000, 0x1e4e, // 0x0460 - 0x046f - 0x0000, 0x1e50, 0x0000, 0x1e52, 0x0000, 0x1e54, 0x0000, 0x1e56, 0x0000, 0x1e58, 0x0000, 0x1e5a, 0x0000, 0x1e5c, 0x0000, 0x1e5e, // 0x0470 - 0x047f - 0x0000, 0x1e60, 0x0000, 0x1e62, 0x0000, 0x1e64, 0x0000, 0x1e66, 0x0000, 0x1e68, 0x0000, 0x1e6a, 0x0000, 0x1e6c, 0x0000, 0x1e6e, // 0x0480 - 0x048f - 0x0000, 0x1e70, 0x0000, 0x1e72, 0x0000, 0x1e74, 0x0000, 0x1e76, 0x0000, 0x1e78, 0x0000, 0x1e7a, 0x0000, 0x1e7c, 0x0000, 0x1e7e, // 0x0490 - 0x049f - 0x0000, 0x1e80, 0x0000, 0x1e82, 0x0000, 0x1e84, 0x0000, 0x1e86, 0x0000, 0x1e88, 0x0000, 0x1e8a, 0x0000, 0x1e8c, 0x0000, 0x1e8e, // 0x04a0 - 0x04af - 0x0000, 0x1e90, 0x0000, 0x1e92, 0x0000, 0x1e94, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1e60, 0x0000, 0x0000, 0x0000, 0x0000, // 0x04b0 - 0x04bf - 0x0000, 0x1ea0, 0x0000, 0x1ea2, 0x0000, 0x1ea4, 0x0000, 0x1ea6, 0x0000, 0x1ea8, 0x0000, 0x1eaa, 0x0000, 0x1eac, 0x0000, 0x1eae, // 0x04c0 - 0x04cf - 0x0000, 0x1eb0, 0x0000, 0x1eb2, 0x0000, 0x1eb4, 0x0000, 0x1eb6, 0x0000, 0x1eb8, 0x0000, 0x1eba, 0x0000, 0x1ebc, 0x0000, 0x1ebe, // 0x04d0 - 0x04df - 0x0000, 0x1ec0, 0x0000, 0x1ec2, 0x0000, 0x1ec4, 0x0000, 0x1ec6, 0x0000, 0x1ec8, 0x0000, 0x1eca, 0x0000, 0x1ecc, 0x0000, 0x1ece, // 0x04e0 - 0x04ef - 0x0000, 0x1ed0, 0x0000, 0x1ed2, 0x0000, 0x1ed4, 0x0000, 0x1ed6, 0x0000, 0x1ed8, 0x0000, 0x1eda, 0x0000, 0x1edc, 0x0000, 0x1ede, // 0x04f0 - 0x04ff - 0x0000, 0x1ee0, 0x0000, 0x1ee2, 0x0000, 0x1ee4, 0x0000, 0x1ee6, 0x0000, 0x1ee8, 0x0000, 0x1eea, 0x0000, 0x1eec, 0x0000, 0x1eee, // 0x0500 - 0x050f - 0x0000, 0x1ef0, 0x0000, 0x1ef2, 0x0000, 0x1ef4, 0x0000, 0x1ef6, 0x0000, 0x1ef8, 0x0000, 0x1efa, 0x0000, 0x1efc, 0x0000, 0x1efe, // 0x0510 - 0x051f - 0x1f08, 0x1f09, 0x1f0a, 0x1f0b, 0x1f0c, 0x1f0d, 0x1f0e, 0x1f0f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0520 - 0x052f - 0x1f18, 0x1f19, 0x1f1a, 0x1f1b, 0x1f1c, 0x1f1d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0530 - 0x053f - 0x1f28, 0x1f29, 0x1f2a, 0x1f2b, 0x1f2c, 0x1f2d, 0x1f2e, 0x1f2f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0540 - 0x054f - 0x1f38, 0x1f39, 0x1f3a, 0x1f3b, 0x1f3c, 0x1f3d, 0x1f3e, 0x1f3f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0550 - 0x055f - 0x1f48, 0x1f49, 0x1f4a, 0x1f4b, 0x1f4c, 0x1f4d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0560 - 0x056f - 0x0000, 0x1f59, 0x0000, 0x1f5b, 0x0000, 0x1f5d, 0x0000, 0x1f5f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0570 - 0x057f - 0x1f68, 0x1f69, 0x1f6a, 0x1f6b, 0x1f6c, 0x1f6d, 0x1f6e, 0x1f6f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0580 - 0x058f - 0x1fba, 0x1fbb, 0x1fc8, 0x1fc9, 0x1fca, 0x1fcb, 0x1fda, 0x1fdb, 0x1ff8, 0x1ff9, 0x1fea, 0x1feb, 0x1ffa, 0x1ffb, 0x0000, 0x0000, // 0x0590 - 0x059f - 0x1f88, 0x1f89, 0x1f8a, 0x1f8b, 0x1f8c, 0x1f8d, 0x1f8e, 0x1f8f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x05a0 - 0x05af - 0x1f98, 0x1f99, 0x1f9a, 0x1f9b, 0x1f9c, 0x1f9d, 0x1f9e, 0x1f9f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x05b0 - 0x05bf - 0x1fa8, 0x1fa9, 0x1faa, 0x1fab, 0x1fac, 0x1fad, 0x1fae, 0x1faf, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x05c0 - 0x05cf - 0x1fb8, 0x1fb9, 0x0000, 0x1fbc, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0399, 0x0000, // 0x05d0 - 0x05df - 0x0000, 0x0000, 0x0000, 0x1fcc, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x05e0 - 0x05ef - 0x1fd8, 0x1fd9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x05f0 - 0x05ff - 0x1fe8, 0x1fe9, 0x0000, 0x0000, 0x0000, 0x1fec, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0600 - 0x060f - 0x0000, 0x0000, 0x0000, 0x1ffc, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0610 - 0x061f - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2132, 0x0000, // 0x0620 - 0x062f - 0x2160, 0x2161, 0x2162, 0x2163, 0x2164, 0x2165, 0x2166, 0x2167, 0x2168, 0x2169, 0x216a, 0x216b, 0x216c, 0x216d, 0x216e, 0x216f, // 0x0630 - 0x063f - 0x0000, 0x0000, 0x0000, 0x0000, 0x2183, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0640 - 0x064f - 0x24b6, 0x24b7, 0x24b8, 0x24b9, 0x24ba, 0x24bb, 0x24bc, 0x24bd, 0x24be, 0x24bf, 0x24c0, 0x24c1, 0x24c2, 0x24c3, 0x24c4, 0x24c5, // 0x0650 - 0x065f - 0x24c6, 0x24c7, 0x24c8, 0x24c9, 0x24ca, 0x24cb, 0x24cc, 0x24cd, 0x24ce, 0x24cf, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0660 - 0x066f - 0x2c00, 0x2c01, 0x2c02, 0x2c03, 0x2c04, 0x2c05, 0x2c06, 0x2c07, 0x2c08, 0x2c09, 0x2c0a, 0x2c0b, 0x2c0c, 0x2c0d, 0x2c0e, 0x2c0f, // 0x0670 - 0x067f - 0x2c10, 0x2c11, 0x2c12, 0x2c13, 0x2c14, 0x2c15, 0x2c16, 0x2c17, 0x2c18, 0x2c19, 0x2c1a, 0x2c1b, 0x2c1c, 0x2c1d, 0x2c1e, 0x2c1f, // 0x0680 - 0x068f - 0x2c20, 0x2c21, 0x2c22, 0x2c23, 0x2c24, 0x2c25, 0x2c26, 0x2c27, 0x2c28, 0x2c29, 0x2c2a, 0x2c2b, 0x2c2c, 0x2c2d, 0x2c2e, 0x2c2f, // 0x0690 - 0x069f - 0x0000, 0x2c60, 0x0000, 0x0000, 0x0000, 0x023a, 0x023e, 0x0000, 0x2c67, 0x0000, 0x2c69, 0x0000, 0x2c6b, 0x0000, 0x0000, 0x0000, // 0x06a0 - 0x06af - 0x0000, 0x0000, 0x0000, 0x2c72, 0x0000, 0x0000, 0x2c75, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x06b0 - 0x06bf - 0x0000, 0x2c80, 0x0000, 0x2c82, 0x0000, 0x2c84, 0x0000, 0x2c86, 0x0000, 0x2c88, 0x0000, 0x2c8a, 0x0000, 0x2c8c, 0x0000, 0x2c8e, // 0x06c0 - 0x06cf - 0x0000, 0x2c90, 0x0000, 0x2c92, 0x0000, 0x2c94, 0x0000, 0x2c96, 0x0000, 0x2c98, 0x0000, 0x2c9a, 0x0000, 0x2c9c, 0x0000, 0x2c9e, // 0x06d0 - 0x06df - 0x0000, 0x2ca0, 0x0000, 0x2ca2, 0x0000, 0x2ca4, 0x0000, 0x2ca6, 0x0000, 0x2ca8, 0x0000, 0x2caa, 0x0000, 0x2cac, 0x0000, 0x2cae, // 0x06e0 - 0x06ef - 0x0000, 0x2cb0, 0x0000, 0x2cb2, 0x0000, 0x2cb4, 0x0000, 0x2cb6, 0x0000, 0x2cb8, 0x0000, 0x2cba, 0x0000, 0x2cbc, 0x0000, 0x2cbe, // 0x06f0 - 0x06ff - 0x0000, 0x2cc0, 0x0000, 0x2cc2, 0x0000, 0x2cc4, 0x0000, 0x2cc6, 0x0000, 0x2cc8, 0x0000, 0x2cca, 0x0000, 0x2ccc, 0x0000, 0x2cce, // 0x0700 - 0x070f - 0x0000, 0x2cd0, 0x0000, 0x2cd2, 0x0000, 0x2cd4, 0x0000, 0x2cd6, 0x0000, 0x2cd8, 0x0000, 0x2cda, 0x0000, 0x2cdc, 0x0000, 0x2cde, // 0x0710 - 0x071f - 0x0000, 0x2ce0, 0x0000, 0x2ce2, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2ceb, 0x0000, 0x2ced, 0x0000, // 0x0720 - 0x072f - 0x0000, 0x0000, 0x0000, 0x2cf2, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0730 - 0x073f - 0x10a0, 0x10a1, 0x10a2, 0x10a3, 0x10a4, 0x10a5, 0x10a6, 0x10a7, 0x10a8, 0x10a9, 0x10aa, 0x10ab, 0x10ac, 0x10ad, 0x10ae, 0x10af, // 0x0740 - 0x074f - 0x10b0, 0x10b1, 0x10b2, 0x10b3, 0x10b4, 0x10b5, 0x10b6, 0x10b7, 0x10b8, 0x10b9, 0x10ba, 0x10bb, 0x10bc, 0x10bd, 0x10be, 0x10bf, // 0x0750 - 0x075f - 0x10c0, 0x10c1, 0x10c2, 0x10c3, 0x10c4, 0x10c5, 0x0000, 0x10c7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x10cd, 0x0000, 0x0000, // 0x0760 - 0x076f - 0x0000, 0xa640, 0x0000, 0xa642, 0x0000, 0xa644, 0x0000, 0xa646, 0x0000, 0xa648, 0x0000, 0xa64a, 0x0000, 0xa64c, 0x0000, 0xa64e, // 0x0770 - 0x077f - 0x0000, 0xa650, 0x0000, 0xa652, 0x0000, 0xa654, 0x0000, 0xa656, 0x0000, 0xa658, 0x0000, 0xa65a, 0x0000, 0xa65c, 0x0000, 0xa65e, // 0x0780 - 0x078f - 0x0000, 0xa660, 0x0000, 0xa662, 0x0000, 0xa664, 0x0000, 0xa666, 0x0000, 0xa668, 0x0000, 0xa66a, 0x0000, 0xa66c, 0x0000, 0x0000, // 0x0790 - 0x079f - 0x0000, 0xa680, 0x0000, 0xa682, 0x0000, 0xa684, 0x0000, 0xa686, 0x0000, 0xa688, 0x0000, 0xa68a, 0x0000, 0xa68c, 0x0000, 0xa68e, // 0x07a0 - 0x07af - 0x0000, 0xa690, 0x0000, 0xa692, 0x0000, 0xa694, 0x0000, 0xa696, 0x0000, 0xa698, 0x0000, 0xa69a, 0x0000, 0x0000, 0x0000, 0x0000, // 0x07b0 - 0x07bf - 0x0000, 0x0000, 0x0000, 0xa722, 0x0000, 0xa724, 0x0000, 0xa726, 0x0000, 0xa728, 0x0000, 0xa72a, 0x0000, 0xa72c, 0x0000, 0xa72e, // 0x07c0 - 0x07cf - 0x0000, 0x0000, 0x0000, 0xa732, 0x0000, 0xa734, 0x0000, 0xa736, 0x0000, 0xa738, 0x0000, 0xa73a, 0x0000, 0xa73c, 0x0000, 0xa73e, // 0x07d0 - 0x07df - 0x0000, 0xa740, 0x0000, 0xa742, 0x0000, 0xa744, 0x0000, 0xa746, 0x0000, 0xa748, 0x0000, 0xa74a, 0x0000, 0xa74c, 0x0000, 0xa74e, // 0x07e0 - 0x07ef - 0x0000, 0xa750, 0x0000, 0xa752, 0x0000, 0xa754, 0x0000, 0xa756, 0x0000, 0xa758, 0x0000, 0xa75a, 0x0000, 0xa75c, 0x0000, 0xa75e, // 0x07f0 - 0x07ff - 0x0000, 0xa760, 0x0000, 0xa762, 0x0000, 0xa764, 0x0000, 0xa766, 0x0000, 0xa768, 0x0000, 0xa76a, 0x0000, 0xa76c, 0x0000, 0xa76e, // 0x0800 - 0x080f - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa779, 0x0000, 0xa77b, 0x0000, 0x0000, 0xa77e, // 0x0810 - 0x081f - 0x0000, 0xa780, 0x0000, 0xa782, 0x0000, 0xa784, 0x0000, 0xa786, 0x0000, 0x0000, 0x0000, 0x0000, 0xa78b, 0x0000, 0x0000, 0x0000, // 0x0820 - 0x082f - 0x0000, 0xa790, 0x0000, 0xa792, 0xa7c4, 0x0000, 0x0000, 0xa796, 0x0000, 0xa798, 0x0000, 0xa79a, 0x0000, 0xa79c, 0x0000, 0xa79e, // 0x0830 - 0x083f - 0x0000, 0xa7a0, 0x0000, 0xa7a2, 0x0000, 0xa7a4, 0x0000, 0xa7a6, 0x0000, 0xa7a8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0840 - 0x084f - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa7b4, 0x0000, 0xa7b6, 0x0000, 0xa7b8, 0x0000, 0xa7ba, 0x0000, 0xa7bc, 0x0000, 0xa7be, // 0x0850 - 0x085f - 0x0000, 0xa7c0, 0x0000, 0xa7c2, 0x0000, 0x0000, 0x0000, 0x0000, 0xa7c7, 0x0000, 0xa7c9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0860 - 0x086f - 0x0000, 0xa7d0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa7d6, 0x0000, 0xa7d8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0870 - 0x087f - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa7f5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0880 - 0x088f - 0x0000, 0x0000, 0x0000, 0xa7b3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0890 - 0x089f - 0x13a0, 0x13a1, 0x13a2, 0x13a3, 0x13a4, 0x13a5, 0x13a6, 0x13a7, 0x13a8, 0x13a9, 0x13aa, 0x13ab, 0x13ac, 0x13ad, 0x13ae, 0x13af, // 0x08a0 - 0x08af - 0x13b0, 0x13b1, 0x13b2, 0x13b3, 0x13b4, 0x13b5, 0x13b6, 0x13b7, 0x13b8, 0x13b9, 0x13ba, 0x13bb, 0x13bc, 0x13bd, 0x13be, 0x13bf, // 0x08b0 - 0x08bf - 0x13c0, 0x13c1, 0x13c2, 0x13c3, 0x13c4, 0x13c5, 0x13c6, 0x13c7, 0x13c8, 0x13c9, 0x13ca, 0x13cb, 0x13cc, 0x13cd, 0x13ce, 0x13cf, // 0x08c0 - 0x08cf - 0x13d0, 0x13d1, 0x13d2, 0x13d3, 0x13d4, 0x13d5, 0x13d6, 0x13d7, 0x13d8, 0x13d9, 0x13da, 0x13db, 0x13dc, 0x13dd, 0x13de, 0x13df, // 0x08d0 - 0x08df - 0x13e0, 0x13e1, 0x13e2, 0x13e3, 0x13e4, 0x13e5, 0x13e6, 0x13e7, 0x13e8, 0x13e9, 0x13ea, 0x13eb, 0x13ec, 0x13ed, 0x13ee, 0x13ef, // 0x08e0 - 0x08ef - 0x0000, 0xff21, 0xff22, 0xff23, 0xff24, 0xff25, 0xff26, 0xff27, 0xff28, 0xff29, 0xff2a, 0xff2b, 0xff2c, 0xff2d, 0xff2e, 0xff2f, // 0x08f0 - 0x08ff - 0xff30, 0xff31, 0xff32, 0xff33, 0xff34, 0xff35, 0xff36, 0xff37, 0xff38, 0xff39, 0xff3a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0900 - 0x090f - }; - - private static readonly ushort [] LowerCase1 = - { - // 0 1 2 3 4 5 6 7 8 9 A B C D E F - 0x0000, 0x0010, 0x0020, 0x0030, 0x0040, 0x0050, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, // 0x0000 - 0x000f - 0x0070, 0x0060, 0x0060, 0x0080, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0090, 0x0060, 0x00a0, 0x00b0, // 0x0010 - 0x001f - 0x0060, 0x00c0, 0x0060, 0x0060, 0x00d0, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x00e0, 0x0060, 0x0060, 0x0060, // 0x0020 - 0x002f - 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, // 0x0030 - 0x003f - 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, // 0x0040 - 0x004f - 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, // 0x0050 - 0x005f - 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, // 0x0060 - 0x006f - 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, // 0x0070 - 0x007f - 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, // 0x0080 - 0x008f - 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, // 0x0090 - 0x009f - 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x00f0, 0x0100, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, // 0x00a0 - 0x00af - 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, // 0x00b0 - 0x00bf - 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, // 0x00c0 - 0x00cf - 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, // 0x00d0 - 0x00df - 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, // 0x00e0 - 0x00ef - 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0110, // 0x00f0 - 0x00ff - }; - - private static readonly ushort [] LowerCase2 = - { - // 0 1 2 3 4 5 6 7 8 9 A B C D E F - 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0030, 0x0040, 0x0000, 0x0000, // 0x0000 - 0x000f - 0x0050, 0x0060, 0x0070, 0x0080, 0x0090, 0x00a0, 0x00b0, 0x00c0, 0x00d0, 0x00e0, 0x00f0, 0x0100, 0x0110, 0x0120, 0x0130, 0x0140, // 0x0010 - 0x001f - 0x0150, 0x0160, 0x0170, 0x0180, 0x0190, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0020 - 0x002f - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x01a0, 0x01b0, 0x01c0, 0x01d0, 0x0000, 0x01e0, 0x01f0, 0x0200, 0x0210, // 0x0030 - 0x003f - 0x0220, 0x0230, 0x0240, 0x0000, 0x0000, 0x0000, 0x0250, 0x0260, 0x0270, 0x0280, 0x0290, 0x02a0, 0x02b0, 0x02c0, 0x02d0, 0x02e0, // 0x0040 - 0x004f - 0x02f0, 0x0300, 0x0310, 0x0320, 0x0330, 0x0340, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0050 - 0x005f - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0060 - 0x006f - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0350, 0x0360, 0x0370, 0x0000, 0x0000, 0x0000, // 0x0070 - 0x007f - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0380, 0x0390, 0x03a0, 0x03b0, 0x03c0, 0x03d0, // 0x0080 - 0x008f - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x03e0, 0x03f0, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0090 - 0x009f - 0x0410, 0x0420, 0x0430, 0x0440, 0x0450, 0x0460, 0x0470, 0x0480, 0x0490, 0x04a0, 0x04b0, 0x04c0, 0x04d0, 0x04e0, 0x04f0, 0x0500, // 0x00a0 - 0x00af - 0x0510, 0x0520, 0x0530, 0x0540, 0x0550, 0x0560, 0x0570, 0x0000, 0x0580, 0x0590, 0x05a0, 0x05b0, 0x05c0, 0x05d0, 0x05e0, 0x05f0, // 0x00b0 - 0x00bf - 0x0000, 0x0000, 0x0600, 0x0610, 0x0000, 0x0000, 0x0620, 0x0000, 0x0630, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x00c0 - 0x00cf - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0640, 0x0650, 0x0000, 0x0000, 0x0000, // 0x00d0 - 0x00df - 0x0660, 0x0670, 0x0680, 0x0000, 0x0000, 0x0000, 0x0690, 0x06a0, 0x06b0, 0x06c0, 0x06d0, 0x06e0, 0x06f0, 0x0700, 0x0710, 0x0720, // 0x00e0 - 0x00ef - 0x0000, 0x0000, 0x0000, 0x0000, 0x0730, 0x0740, 0x0750, 0x0000, 0x0760, 0x0770, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x00f0 - 0x00ff - 0x0000, 0x0000, 0x0780, 0x0790, 0x07a0, 0x07b0, 0x07c0, 0x07d0, 0x07e0, 0x07f0, 0x0800, 0x0810, 0x0820, 0x0830, 0x0000, 0x0840, // 0x0100 - 0x010f - 0x0000, 0x0000, 0x0850, 0x0860, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0110 - 0x011f - }; - - private static readonly ushort [] LowerCase3 = - { - // 0 1 2 3 4 5 6 7 8 9 A B C D E F - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0000 - 0x000f - 0x0000, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, // 0x0010 - 0x001f - 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0020 - 0x002f - 0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7, 0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef, // 0x0030 - 0x003f - 0x00f0, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x0000, 0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x00fe, 0x0000, // 0x0040 - 0x004f - 0x0101, 0x0000, 0x0103, 0x0000, 0x0105, 0x0000, 0x0107, 0x0000, 0x0109, 0x0000, 0x010b, 0x0000, 0x010d, 0x0000, 0x010f, 0x0000, // 0x0050 - 0x005f - 0x0111, 0x0000, 0x0113, 0x0000, 0x0115, 0x0000, 0x0117, 0x0000, 0x0119, 0x0000, 0x011b, 0x0000, 0x011d, 0x0000, 0x011f, 0x0000, // 0x0060 - 0x006f - 0x0121, 0x0000, 0x0123, 0x0000, 0x0125, 0x0000, 0x0127, 0x0000, 0x0129, 0x0000, 0x012b, 0x0000, 0x012d, 0x0000, 0x012f, 0x0000, // 0x0070 - 0x007f - 0x0000, 0x0000, 0x0133, 0x0000, 0x0135, 0x0000, 0x0137, 0x0000, 0x0000, 0x013a, 0x0000, 0x013c, 0x0000, 0x013e, 0x0000, 0x0140, // 0x0080 - 0x008f - 0x0000, 0x0142, 0x0000, 0x0144, 0x0000, 0x0146, 0x0000, 0x0148, 0x0000, 0x0000, 0x014b, 0x0000, 0x014d, 0x0000, 0x014f, 0x0000, // 0x0090 - 0x009f - 0x0151, 0x0000, 0x0153, 0x0000, 0x0155, 0x0000, 0x0157, 0x0000, 0x0159, 0x0000, 0x015b, 0x0000, 0x015d, 0x0000, 0x015f, 0x0000, // 0x00a0 - 0x00af - 0x0161, 0x0000, 0x0163, 0x0000, 0x0165, 0x0000, 0x0167, 0x0000, 0x0169, 0x0000, 0x016b, 0x0000, 0x016d, 0x0000, 0x016f, 0x0000, // 0x00b0 - 0x00bf - 0x0171, 0x0000, 0x0173, 0x0000, 0x0175, 0x0000, 0x0177, 0x0000, 0x00ff, 0x017a, 0x0000, 0x017c, 0x0000, 0x017e, 0x0000, 0x0000, // 0x00c0 - 0x00cf - 0x0000, 0x0253, 0x0183, 0x0000, 0x0185, 0x0000, 0x0254, 0x0188, 0x0000, 0x0256, 0x0257, 0x018c, 0x0000, 0x0000, 0x01dd, 0x0259, // 0x00d0 - 0x00df - 0x025b, 0x0192, 0x0000, 0x0260, 0x0263, 0x0000, 0x0269, 0x0268, 0x0199, 0x0000, 0x0000, 0x0000, 0x026f, 0x0272, 0x0000, 0x0275, // 0x00e0 - 0x00ef - 0x01a1, 0x0000, 0x01a3, 0x0000, 0x01a5, 0x0000, 0x0280, 0x01a8, 0x0000, 0x0283, 0x0000, 0x0000, 0x01ad, 0x0000, 0x0288, 0x01b0, // 0x00f0 - 0x00ff - 0x0000, 0x028a, 0x028b, 0x01b4, 0x0000, 0x01b6, 0x0000, 0x0292, 0x01b9, 0x0000, 0x0000, 0x0000, 0x01bd, 0x0000, 0x0000, 0x0000, // 0x0100 - 0x010f - 0x0000, 0x0000, 0x0000, 0x0000, 0x01c6, 0x01c6, 0x0000, 0x01c9, 0x01c9, 0x0000, 0x01cc, 0x01cc, 0x0000, 0x01ce, 0x0000, 0x01d0, // 0x0110 - 0x011f - 0x0000, 0x01d2, 0x0000, 0x01d4, 0x0000, 0x01d6, 0x0000, 0x01d8, 0x0000, 0x01da, 0x0000, 0x01dc, 0x0000, 0x0000, 0x01df, 0x0000, // 0x0120 - 0x012f - 0x01e1, 0x0000, 0x01e3, 0x0000, 0x01e5, 0x0000, 0x01e7, 0x0000, 0x01e9, 0x0000, 0x01eb, 0x0000, 0x01ed, 0x0000, 0x01ef, 0x0000, // 0x0130 - 0x013f - 0x0000, 0x01f3, 0x01f3, 0x0000, 0x01f5, 0x0000, 0x0195, 0x01bf, 0x01f9, 0x0000, 0x01fb, 0x0000, 0x01fd, 0x0000, 0x01ff, 0x0000, // 0x0140 - 0x014f - 0x0201, 0x0000, 0x0203, 0x0000, 0x0205, 0x0000, 0x0207, 0x0000, 0x0209, 0x0000, 0x020b, 0x0000, 0x020d, 0x0000, 0x020f, 0x0000, // 0x0150 - 0x015f - 0x0211, 0x0000, 0x0213, 0x0000, 0x0215, 0x0000, 0x0217, 0x0000, 0x0219, 0x0000, 0x021b, 0x0000, 0x021d, 0x0000, 0x021f, 0x0000, // 0x0160 - 0x016f - 0x019e, 0x0000, 0x0223, 0x0000, 0x0225, 0x0000, 0x0227, 0x0000, 0x0229, 0x0000, 0x022b, 0x0000, 0x022d, 0x0000, 0x022f, 0x0000, // 0x0170 - 0x017f - 0x0231, 0x0000, 0x0233, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2c65, 0x023c, 0x0000, 0x019a, 0x2c66, 0x0000, // 0x0180 - 0x018f - 0x0000, 0x0242, 0x0000, 0x0180, 0x0289, 0x028c, 0x0247, 0x0000, 0x0249, 0x0000, 0x024b, 0x0000, 0x024d, 0x0000, 0x024f, 0x0000, // 0x0190 - 0x019f - 0x0371, 0x0000, 0x0373, 0x0000, 0x0000, 0x0000, 0x0377, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x03f3, // 0x01a0 - 0x01af - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x03ac, 0x0000, 0x03ad, 0x03ae, 0x03af, 0x0000, 0x03cc, 0x0000, 0x03cd, 0x03ce, // 0x01b0 - 0x01bf - 0x0000, 0x03b1, 0x03b2, 0x03b3, 0x03b4, 0x03b5, 0x03b6, 0x03b7, 0x03b8, 0x03b9, 0x03ba, 0x03bb, 0x03bc, 0x03bd, 0x03be, 0x03bf, // 0x01c0 - 0x01cf - 0x03c0, 0x03c1, 0x0000, 0x03c3, 0x03c4, 0x03c5, 0x03c6, 0x03c7, 0x03c8, 0x03c9, 0x03ca, 0x03cb, 0x0000, 0x0000, 0x0000, 0x0000, // 0x01d0 - 0x01df - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x03d7, // 0x01e0 - 0x01ef - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x03d9, 0x0000, 0x03db, 0x0000, 0x03dd, 0x0000, 0x03df, 0x0000, // 0x01f0 - 0x01ff - 0x03e1, 0x0000, 0x03e3, 0x0000, 0x03e5, 0x0000, 0x03e7, 0x0000, 0x03e9, 0x0000, 0x03eb, 0x0000, 0x03ed, 0x0000, 0x03ef, 0x0000, // 0x0200 - 0x020f - 0x0000, 0x0000, 0x0000, 0x0000, 0x03b8, 0x0000, 0x0000, 0x03f8, 0x0000, 0x03f2, 0x03fb, 0x0000, 0x0000, 0x037b, 0x037c, 0x037d, // 0x0210 - 0x021f - 0x0450, 0x0451, 0x0452, 0x0453, 0x0454, 0x0455, 0x0456, 0x0457, 0x0458, 0x0459, 0x045a, 0x045b, 0x045c, 0x045d, 0x045e, 0x045f, // 0x0220 - 0x022f - 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437, 0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, 0x043f, // 0x0230 - 0x023f - 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, 0x0448, 0x0449, 0x044a, 0x044b, 0x044c, 0x044d, 0x044e, 0x044f, // 0x0240 - 0x024f - 0x0461, 0x0000, 0x0463, 0x0000, 0x0465, 0x0000, 0x0467, 0x0000, 0x0469, 0x0000, 0x046b, 0x0000, 0x046d, 0x0000, 0x046f, 0x0000, // 0x0250 - 0x025f - 0x0471, 0x0000, 0x0473, 0x0000, 0x0475, 0x0000, 0x0477, 0x0000, 0x0479, 0x0000, 0x047b, 0x0000, 0x047d, 0x0000, 0x047f, 0x0000, // 0x0260 - 0x026f - 0x0481, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x048b, 0x0000, 0x048d, 0x0000, 0x048f, 0x0000, // 0x0270 - 0x027f - 0x0491, 0x0000, 0x0493, 0x0000, 0x0495, 0x0000, 0x0497, 0x0000, 0x0499, 0x0000, 0x049b, 0x0000, 0x049d, 0x0000, 0x049f, 0x0000, // 0x0280 - 0x028f - 0x04a1, 0x0000, 0x04a3, 0x0000, 0x04a5, 0x0000, 0x04a7, 0x0000, 0x04a9, 0x0000, 0x04ab, 0x0000, 0x04ad, 0x0000, 0x04af, 0x0000, // 0x0290 - 0x029f - 0x04b1, 0x0000, 0x04b3, 0x0000, 0x04b5, 0x0000, 0x04b7, 0x0000, 0x04b9, 0x0000, 0x04bb, 0x0000, 0x04bd, 0x0000, 0x04bf, 0x0000, // 0x02a0 - 0x02af - 0x04cf, 0x04c2, 0x0000, 0x04c4, 0x0000, 0x04c6, 0x0000, 0x04c8, 0x0000, 0x04ca, 0x0000, 0x04cc, 0x0000, 0x04ce, 0x0000, 0x0000, // 0x02b0 - 0x02bf - 0x04d1, 0x0000, 0x04d3, 0x0000, 0x04d5, 0x0000, 0x04d7, 0x0000, 0x04d9, 0x0000, 0x04db, 0x0000, 0x04dd, 0x0000, 0x04df, 0x0000, // 0x02c0 - 0x02cf - 0x04e1, 0x0000, 0x04e3, 0x0000, 0x04e5, 0x0000, 0x04e7, 0x0000, 0x04e9, 0x0000, 0x04eb, 0x0000, 0x04ed, 0x0000, 0x04ef, 0x0000, // 0x02d0 - 0x02df - 0x04f1, 0x0000, 0x04f3, 0x0000, 0x04f5, 0x0000, 0x04f7, 0x0000, 0x04f9, 0x0000, 0x04fb, 0x0000, 0x04fd, 0x0000, 0x04ff, 0x0000, // 0x02e0 - 0x02ef - 0x0501, 0x0000, 0x0503, 0x0000, 0x0505, 0x0000, 0x0507, 0x0000, 0x0509, 0x0000, 0x050b, 0x0000, 0x050d, 0x0000, 0x050f, 0x0000, // 0x02f0 - 0x02ff - 0x0511, 0x0000, 0x0513, 0x0000, 0x0515, 0x0000, 0x0517, 0x0000, 0x0519, 0x0000, 0x051b, 0x0000, 0x051d, 0x0000, 0x051f, 0x0000, // 0x0300 - 0x030f - 0x0521, 0x0000, 0x0523, 0x0000, 0x0525, 0x0000, 0x0527, 0x0000, 0x0529, 0x0000, 0x052b, 0x0000, 0x052d, 0x0000, 0x052f, 0x0000, // 0x0310 - 0x031f - 0x0000, 0x0561, 0x0562, 0x0563, 0x0564, 0x0565, 0x0566, 0x0567, 0x0568, 0x0569, 0x056a, 0x056b, 0x056c, 0x056d, 0x056e, 0x056f, // 0x0320 - 0x032f - 0x0570, 0x0571, 0x0572, 0x0573, 0x0574, 0x0575, 0x0576, 0x0577, 0x0578, 0x0579, 0x057a, 0x057b, 0x057c, 0x057d, 0x057e, 0x057f, // 0x0330 - 0x033f - 0x0580, 0x0581, 0x0582, 0x0583, 0x0584, 0x0585, 0x0586, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0340 - 0x034f - 0x2d00, 0x2d01, 0x2d02, 0x2d03, 0x2d04, 0x2d05, 0x2d06, 0x2d07, 0x2d08, 0x2d09, 0x2d0a, 0x2d0b, 0x2d0c, 0x2d0d, 0x2d0e, 0x2d0f, // 0x0350 - 0x035f - 0x2d10, 0x2d11, 0x2d12, 0x2d13, 0x2d14, 0x2d15, 0x2d16, 0x2d17, 0x2d18, 0x2d19, 0x2d1a, 0x2d1b, 0x2d1c, 0x2d1d, 0x2d1e, 0x2d1f, // 0x0360 - 0x036f - 0x2d20, 0x2d21, 0x2d22, 0x2d23, 0x2d24, 0x2d25, 0x0000, 0x2d27, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2d2d, 0x0000, 0x0000, // 0x0370 - 0x037f - 0xab70, 0xab71, 0xab72, 0xab73, 0xab74, 0xab75, 0xab76, 0xab77, 0xab78, 0xab79, 0xab7a, 0xab7b, 0xab7c, 0xab7d, 0xab7e, 0xab7f, // 0x0380 - 0x038f - 0xab80, 0xab81, 0xab82, 0xab83, 0xab84, 0xab85, 0xab86, 0xab87, 0xab88, 0xab89, 0xab8a, 0xab8b, 0xab8c, 0xab8d, 0xab8e, 0xab8f, // 0x0390 - 0x039f - 0xab90, 0xab91, 0xab92, 0xab93, 0xab94, 0xab95, 0xab96, 0xab97, 0xab98, 0xab99, 0xab9a, 0xab9b, 0xab9c, 0xab9d, 0xab9e, 0xab9f, // 0x03a0 - 0x03af - 0xaba0, 0xaba1, 0xaba2, 0xaba3, 0xaba4, 0xaba5, 0xaba6, 0xaba7, 0xaba8, 0xaba9, 0xabaa, 0xabab, 0xabac, 0xabad, 0xabae, 0xabaf, // 0x03b0 - 0x03bf - 0xabb0, 0xabb1, 0xabb2, 0xabb3, 0xabb4, 0xabb5, 0xabb6, 0xabb7, 0xabb8, 0xabb9, 0xabba, 0xabbb, 0xabbc, 0xabbd, 0xabbe, 0xabbf, // 0x03c0 - 0x03cf - 0x13f8, 0x13f9, 0x13fa, 0x13fb, 0x13fc, 0x13fd, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x03d0 - 0x03df - 0x10d0, 0x10d1, 0x10d2, 0x10d3, 0x10d4, 0x10d5, 0x10d6, 0x10d7, 0x10d8, 0x10d9, 0x10da, 0x10db, 0x10dc, 0x10dd, 0x10de, 0x10df, // 0x03e0 - 0x03ef - 0x10e0, 0x10e1, 0x10e2, 0x10e3, 0x10e4, 0x10e5, 0x10e6, 0x10e7, 0x10e8, 0x10e9, 0x10ea, 0x10eb, 0x10ec, 0x10ed, 0x10ee, 0x10ef, // 0x03f0 - 0x03ff - 0x10f0, 0x10f1, 0x10f2, 0x10f3, 0x10f4, 0x10f5, 0x10f6, 0x10f7, 0x10f8, 0x10f9, 0x10fa, 0x0000, 0x0000, 0x10fd, 0x10fe, 0x10ff, // 0x0400 - 0x040f - 0x1e01, 0x0000, 0x1e03, 0x0000, 0x1e05, 0x0000, 0x1e07, 0x0000, 0x1e09, 0x0000, 0x1e0b, 0x0000, 0x1e0d, 0x0000, 0x1e0f, 0x0000, // 0x0410 - 0x041f - 0x1e11, 0x0000, 0x1e13, 0x0000, 0x1e15, 0x0000, 0x1e17, 0x0000, 0x1e19, 0x0000, 0x1e1b, 0x0000, 0x1e1d, 0x0000, 0x1e1f, 0x0000, // 0x0420 - 0x042f - 0x1e21, 0x0000, 0x1e23, 0x0000, 0x1e25, 0x0000, 0x1e27, 0x0000, 0x1e29, 0x0000, 0x1e2b, 0x0000, 0x1e2d, 0x0000, 0x1e2f, 0x0000, // 0x0430 - 0x043f - 0x1e31, 0x0000, 0x1e33, 0x0000, 0x1e35, 0x0000, 0x1e37, 0x0000, 0x1e39, 0x0000, 0x1e3b, 0x0000, 0x1e3d, 0x0000, 0x1e3f, 0x0000, // 0x0440 - 0x044f - 0x1e41, 0x0000, 0x1e43, 0x0000, 0x1e45, 0x0000, 0x1e47, 0x0000, 0x1e49, 0x0000, 0x1e4b, 0x0000, 0x1e4d, 0x0000, 0x1e4f, 0x0000, // 0x0450 - 0x045f - 0x1e51, 0x0000, 0x1e53, 0x0000, 0x1e55, 0x0000, 0x1e57, 0x0000, 0x1e59, 0x0000, 0x1e5b, 0x0000, 0x1e5d, 0x0000, 0x1e5f, 0x0000, // 0x0460 - 0x046f - 0x1e61, 0x0000, 0x1e63, 0x0000, 0x1e65, 0x0000, 0x1e67, 0x0000, 0x1e69, 0x0000, 0x1e6b, 0x0000, 0x1e6d, 0x0000, 0x1e6f, 0x0000, // 0x0470 - 0x047f - 0x1e71, 0x0000, 0x1e73, 0x0000, 0x1e75, 0x0000, 0x1e77, 0x0000, 0x1e79, 0x0000, 0x1e7b, 0x0000, 0x1e7d, 0x0000, 0x1e7f, 0x0000, // 0x0480 - 0x048f - 0x1e81, 0x0000, 0x1e83, 0x0000, 0x1e85, 0x0000, 0x1e87, 0x0000, 0x1e89, 0x0000, 0x1e8b, 0x0000, 0x1e8d, 0x0000, 0x1e8f, 0x0000, // 0x0490 - 0x049f - 0x1e91, 0x0000, 0x1e93, 0x0000, 0x1e95, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00df, 0x0000, // 0x04a0 - 0x04af - 0x1ea1, 0x0000, 0x1ea3, 0x0000, 0x1ea5, 0x0000, 0x1ea7, 0x0000, 0x1ea9, 0x0000, 0x1eab, 0x0000, 0x1ead, 0x0000, 0x1eaf, 0x0000, // 0x04b0 - 0x04bf - 0x1eb1, 0x0000, 0x1eb3, 0x0000, 0x1eb5, 0x0000, 0x1eb7, 0x0000, 0x1eb9, 0x0000, 0x1ebb, 0x0000, 0x1ebd, 0x0000, 0x1ebf, 0x0000, // 0x04c0 - 0x04cf - 0x1ec1, 0x0000, 0x1ec3, 0x0000, 0x1ec5, 0x0000, 0x1ec7, 0x0000, 0x1ec9, 0x0000, 0x1ecb, 0x0000, 0x1ecd, 0x0000, 0x1ecf, 0x0000, // 0x04d0 - 0x04df - 0x1ed1, 0x0000, 0x1ed3, 0x0000, 0x1ed5, 0x0000, 0x1ed7, 0x0000, 0x1ed9, 0x0000, 0x1edb, 0x0000, 0x1edd, 0x0000, 0x1edf, 0x0000, // 0x04e0 - 0x04ef - 0x1ee1, 0x0000, 0x1ee3, 0x0000, 0x1ee5, 0x0000, 0x1ee7, 0x0000, 0x1ee9, 0x0000, 0x1eeb, 0x0000, 0x1eed, 0x0000, 0x1eef, 0x0000, // 0x04f0 - 0x04ff - 0x1ef1, 0x0000, 0x1ef3, 0x0000, 0x1ef5, 0x0000, 0x1ef7, 0x0000, 0x1ef9, 0x0000, 0x1efb, 0x0000, 0x1efd, 0x0000, 0x1eff, 0x0000, // 0x0500 - 0x050f - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1f00, 0x1f01, 0x1f02, 0x1f03, 0x1f04, 0x1f05, 0x1f06, 0x1f07, // 0x0510 - 0x051f - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1f10, 0x1f11, 0x1f12, 0x1f13, 0x1f14, 0x1f15, 0x0000, 0x0000, // 0x0520 - 0x052f - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1f20, 0x1f21, 0x1f22, 0x1f23, 0x1f24, 0x1f25, 0x1f26, 0x1f27, // 0x0530 - 0x053f - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1f30, 0x1f31, 0x1f32, 0x1f33, 0x1f34, 0x1f35, 0x1f36, 0x1f37, // 0x0540 - 0x054f - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1f40, 0x1f41, 0x1f42, 0x1f43, 0x1f44, 0x1f45, 0x0000, 0x0000, // 0x0550 - 0x055f - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1f51, 0x0000, 0x1f53, 0x0000, 0x1f55, 0x0000, 0x1f57, // 0x0560 - 0x056f - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1f60, 0x1f61, 0x1f62, 0x1f63, 0x1f64, 0x1f65, 0x1f66, 0x1f67, // 0x0570 - 0x057f - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1f80, 0x1f81, 0x1f82, 0x1f83, 0x1f84, 0x1f85, 0x1f86, 0x1f87, // 0x0580 - 0x058f - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1f90, 0x1f91, 0x1f92, 0x1f93, 0x1f94, 0x1f95, 0x1f96, 0x1f97, // 0x0590 - 0x059f - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1fa0, 0x1fa1, 0x1fa2, 0x1fa3, 0x1fa4, 0x1fa5, 0x1fa6, 0x1fa7, // 0x05a0 - 0x05af - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1fb0, 0x1fb1, 0x1f70, 0x1f71, 0x1fb3, 0x0000, 0x0000, 0x0000, // 0x05b0 - 0x05bf - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1f72, 0x1f73, 0x1f74, 0x1f75, 0x1fc3, 0x0000, 0x0000, 0x0000, // 0x05c0 - 0x05cf - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1fd0, 0x1fd1, 0x1f76, 0x1f77, 0x0000, 0x0000, 0x0000, 0x0000, // 0x05d0 - 0x05df - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1fe0, 0x1fe1, 0x1f7a, 0x1f7b, 0x1fe5, 0x0000, 0x0000, 0x0000, // 0x05e0 - 0x05ef - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1f78, 0x1f79, 0x1f7c, 0x1f7d, 0x1ff3, 0x0000, 0x0000, 0x0000, // 0x05f0 - 0x05ff - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x03c9, 0x0000, 0x0000, 0x0000, 0x006b, 0x00e5, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0600 - 0x060f - 0x0000, 0x0000, 0x214e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0610 - 0x061f - 0x2170, 0x2171, 0x2172, 0x2173, 0x2174, 0x2175, 0x2176, 0x2177, 0x2178, 0x2179, 0x217a, 0x217b, 0x217c, 0x217d, 0x217e, 0x217f, // 0x0620 - 0x062f - 0x0000, 0x0000, 0x0000, 0x2184, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0630 - 0x063f - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x24d0, 0x24d1, 0x24d2, 0x24d3, 0x24d4, 0x24d5, 0x24d6, 0x24d7, 0x24d8, 0x24d9, // 0x0640 - 0x064f - 0x24da, 0x24db, 0x24dc, 0x24dd, 0x24de, 0x24df, 0x24e0, 0x24e1, 0x24e2, 0x24e3, 0x24e4, 0x24e5, 0x24e6, 0x24e7, 0x24e8, 0x24e9, // 0x0650 - 0x065f - 0x2c30, 0x2c31, 0x2c32, 0x2c33, 0x2c34, 0x2c35, 0x2c36, 0x2c37, 0x2c38, 0x2c39, 0x2c3a, 0x2c3b, 0x2c3c, 0x2c3d, 0x2c3e, 0x2c3f, // 0x0660 - 0x066f - 0x2c40, 0x2c41, 0x2c42, 0x2c43, 0x2c44, 0x2c45, 0x2c46, 0x2c47, 0x2c48, 0x2c49, 0x2c4a, 0x2c4b, 0x2c4c, 0x2c4d, 0x2c4e, 0x2c4f, // 0x0670 - 0x067f - 0x2c50, 0x2c51, 0x2c52, 0x2c53, 0x2c54, 0x2c55, 0x2c56, 0x2c57, 0x2c58, 0x2c59, 0x2c5a, 0x2c5b, 0x2c5c, 0x2c5d, 0x2c5e, 0x2c5f, // 0x0680 - 0x068f - 0x2c61, 0x0000, 0x026b, 0x1d7d, 0x027d, 0x0000, 0x0000, 0x2c68, 0x0000, 0x2c6a, 0x0000, 0x2c6c, 0x0000, 0x0251, 0x0271, 0x0250, // 0x0690 - 0x069f - 0x0252, 0x0000, 0x2c73, 0x0000, 0x0000, 0x2c76, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x023f, 0x0240, // 0x06a0 - 0x06af - 0x2c81, 0x0000, 0x2c83, 0x0000, 0x2c85, 0x0000, 0x2c87, 0x0000, 0x2c89, 0x0000, 0x2c8b, 0x0000, 0x2c8d, 0x0000, 0x2c8f, 0x0000, // 0x06b0 - 0x06bf - 0x2c91, 0x0000, 0x2c93, 0x0000, 0x2c95, 0x0000, 0x2c97, 0x0000, 0x2c99, 0x0000, 0x2c9b, 0x0000, 0x2c9d, 0x0000, 0x2c9f, 0x0000, // 0x06c0 - 0x06cf - 0x2ca1, 0x0000, 0x2ca3, 0x0000, 0x2ca5, 0x0000, 0x2ca7, 0x0000, 0x2ca9, 0x0000, 0x2cab, 0x0000, 0x2cad, 0x0000, 0x2caf, 0x0000, // 0x06d0 - 0x06df - 0x2cb1, 0x0000, 0x2cb3, 0x0000, 0x2cb5, 0x0000, 0x2cb7, 0x0000, 0x2cb9, 0x0000, 0x2cbb, 0x0000, 0x2cbd, 0x0000, 0x2cbf, 0x0000, // 0x06e0 - 0x06ef - 0x2cc1, 0x0000, 0x2cc3, 0x0000, 0x2cc5, 0x0000, 0x2cc7, 0x0000, 0x2cc9, 0x0000, 0x2ccb, 0x0000, 0x2ccd, 0x0000, 0x2ccf, 0x0000, // 0x06f0 - 0x06ff - 0x2cd1, 0x0000, 0x2cd3, 0x0000, 0x2cd5, 0x0000, 0x2cd7, 0x0000, 0x2cd9, 0x0000, 0x2cdb, 0x0000, 0x2cdd, 0x0000, 0x2cdf, 0x0000, // 0x0700 - 0x070f - 0x2ce1, 0x0000, 0x2ce3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2cec, 0x0000, 0x2cee, 0x0000, 0x0000, // 0x0710 - 0x071f - 0x0000, 0x0000, 0x2cf3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0720 - 0x072f - 0xa641, 0x0000, 0xa643, 0x0000, 0xa645, 0x0000, 0xa647, 0x0000, 0xa649, 0x0000, 0xa64b, 0x0000, 0xa64d, 0x0000, 0xa64f, 0x0000, // 0x0730 - 0x073f - 0xa651, 0x0000, 0xa653, 0x0000, 0xa655, 0x0000, 0xa657, 0x0000, 0xa659, 0x0000, 0xa65b, 0x0000, 0xa65d, 0x0000, 0xa65f, 0x0000, // 0x0740 - 0x074f - 0xa661, 0x0000, 0xa663, 0x0000, 0xa665, 0x0000, 0xa667, 0x0000, 0xa669, 0x0000, 0xa66b, 0x0000, 0xa66d, 0x0000, 0x0000, 0x0000, // 0x0750 - 0x075f - 0xa681, 0x0000, 0xa683, 0x0000, 0xa685, 0x0000, 0xa687, 0x0000, 0xa689, 0x0000, 0xa68b, 0x0000, 0xa68d, 0x0000, 0xa68f, 0x0000, // 0x0760 - 0x076f - 0xa691, 0x0000, 0xa693, 0x0000, 0xa695, 0x0000, 0xa697, 0x0000, 0xa699, 0x0000, 0xa69b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0770 - 0x077f - 0x0000, 0x0000, 0xa723, 0x0000, 0xa725, 0x0000, 0xa727, 0x0000, 0xa729, 0x0000, 0xa72b, 0x0000, 0xa72d, 0x0000, 0xa72f, 0x0000, // 0x0780 - 0x078f - 0x0000, 0x0000, 0xa733, 0x0000, 0xa735, 0x0000, 0xa737, 0x0000, 0xa739, 0x0000, 0xa73b, 0x0000, 0xa73d, 0x0000, 0xa73f, 0x0000, // 0x0790 - 0x079f - 0xa741, 0x0000, 0xa743, 0x0000, 0xa745, 0x0000, 0xa747, 0x0000, 0xa749, 0x0000, 0xa74b, 0x0000, 0xa74d, 0x0000, 0xa74f, 0x0000, // 0x07a0 - 0x07af - 0xa751, 0x0000, 0xa753, 0x0000, 0xa755, 0x0000, 0xa757, 0x0000, 0xa759, 0x0000, 0xa75b, 0x0000, 0xa75d, 0x0000, 0xa75f, 0x0000, // 0x07b0 - 0x07bf - 0xa761, 0x0000, 0xa763, 0x0000, 0xa765, 0x0000, 0xa767, 0x0000, 0xa769, 0x0000, 0xa76b, 0x0000, 0xa76d, 0x0000, 0xa76f, 0x0000, // 0x07c0 - 0x07cf - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa77a, 0x0000, 0xa77c, 0x0000, 0x1d79, 0xa77f, 0x0000, // 0x07d0 - 0x07df - 0xa781, 0x0000, 0xa783, 0x0000, 0xa785, 0x0000, 0xa787, 0x0000, 0x0000, 0x0000, 0x0000, 0xa78c, 0x0000, 0x0265, 0x0000, 0x0000, // 0x07e0 - 0x07ef - 0xa791, 0x0000, 0xa793, 0x0000, 0x0000, 0x0000, 0xa797, 0x0000, 0xa799, 0x0000, 0xa79b, 0x0000, 0xa79d, 0x0000, 0xa79f, 0x0000, // 0x07f0 - 0x07ff - 0xa7a1, 0x0000, 0xa7a3, 0x0000, 0xa7a5, 0x0000, 0xa7a7, 0x0000, 0xa7a9, 0x0000, 0x0266, 0x025c, 0x0261, 0x026c, 0x026a, 0x0000, // 0x0800 - 0x080f - 0x029e, 0x0287, 0x029d, 0xab53, 0xa7b5, 0x0000, 0xa7b7, 0x0000, 0xa7b9, 0x0000, 0xa7bb, 0x0000, 0xa7bd, 0x0000, 0xa7bf, 0x0000, // 0x0810 - 0x081f - 0xa7c1, 0x0000, 0xa7c3, 0x0000, 0xa794, 0x0282, 0x1d8e, 0xa7c8, 0x0000, 0xa7ca, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0820 - 0x082f - 0xa7d1, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa7d7, 0x0000, 0xa7d9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0830 - 0x083f - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa7f6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0840 - 0x084f - 0x0000, 0xff41, 0xff42, 0xff43, 0xff44, 0xff45, 0xff46, 0xff47, 0xff48, 0xff49, 0xff4a, 0xff4b, 0xff4c, 0xff4d, 0xff4e, 0xff4f, // 0x0850 - 0x085f - 0xff50, 0xff51, 0xff52, 0xff53, 0xff54, 0xff55, 0xff56, 0xff57, 0xff58, 0xff59, 0xff5a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0860 - 0x086f - }; } } diff --git a/src/libraries/System.Private.CoreLib/src/System/Globalization/Ordinal.cs b/src/libraries/System.Private.CoreLib/src/System/Globalization/Ordinal.cs index 779b2f5db769c..b3b4c1a1eac3e 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Globalization/Ordinal.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Globalization/Ordinal.cs @@ -230,7 +230,7 @@ internal static int IndexOfOrdinalIgnoreCase(ReadOnlySpan source, ReadOnly if (GlobalizationMode.Invariant) { - return InvariantModeCasing.IndexOfIgnoreCae(source, value); + return InvariantModeCasing.IndexOfIgnoreCase(source, value); } if (GlobalizationMode.UseNls) diff --git a/src/libraries/System.Private.CoreLib/src/System/Globalization/SurrogateCasing.cs b/src/libraries/System.Private.CoreLib/src/System/Globalization/SurrogateCasing.cs index 5ee7ce943be82..87c3be1996792 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Globalization/SurrogateCasing.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Globalization/SurrogateCasing.cs @@ -5,7 +5,7 @@ namespace System.Globalization { - internal static partial class SurrogateCasing + internal static class SurrogateCasing { // For simplicity ToUpper doesn't expect the Surrogate be formed with // S = ((H - 0xD800) * 0x400) + (L - 0xDC00) + 0x10000 From e44e3f3021ef37cc87dff754c0e4803a1575a0a5 Mon Sep 17 00:00:00 2001 From: Tarek Mahmoud Sayed Date: Tue, 13 Jul 2021 12:22:39 -0700 Subject: [PATCH 04/10] Address the feedback --- .../GenUnicodeProp/CategoryCasingInfo.cs | 1 + .../GenUnicodeProp/CharUnicodeInfoData.cs | 2424 ----------------- .../tests/Invariant/InvariantMode.cs | 7 +- .../System/Globalization/CharUnicodeInfo.cs | 68 +- .../Globalization/CompareInfo.Invariant.cs | 20 +- .../Globalization/InvariantModeCasing.cs | 44 +- .../src/System/Globalization/Ordinal.cs | 28 +- .../System/Globalization/OrdinalCasing.Icu.cs | 22 +- .../System/Globalization/SurrogateCasing.cs | 168 +- .../src/System/Globalization/TextInfo.cs | 2 +- .../src/System/Text/Rune.cs | 8 +- 11 files changed, 136 insertions(+), 2656 deletions(-) delete mode 100644 src/coreclr/System.Private.CoreLib/Tools/GenUnicodeProp/CharUnicodeInfoData.cs diff --git a/src/coreclr/System.Private.CoreLib/Tools/GenUnicodeProp/CategoryCasingInfo.cs b/src/coreclr/System.Private.CoreLib/Tools/GenUnicodeProp/CategoryCasingInfo.cs index e286188e71b21..739c501a5e090 100644 --- a/src/coreclr/System.Private.CoreLib/Tools/GenUnicodeProp/CategoryCasingInfo.cs +++ b/src/coreclr/System.Private.CoreLib/Tools/GenUnicodeProp/CategoryCasingInfo.cs @@ -43,6 +43,7 @@ public CategoryCasingInfo(CodePoint codePoint) break; } + // For the compatability reasons we are not mapping the Turkish I's nor Latin small letter long S with invariant casing. if (Program.IncludeCasingData && codePoint.Value != 0x0130 && codePoint.Value != 0x0131 && codePoint.Value != 0x017f) { _data.offsetToSimpleUppercase = (ushort)(codePoint.SimpleUppercaseMapping - codePoint.Value); diff --git a/src/coreclr/System.Private.CoreLib/Tools/GenUnicodeProp/CharUnicodeInfoData.cs b/src/coreclr/System.Private.CoreLib/Tools/GenUnicodeProp/CharUnicodeInfoData.cs deleted file mode 100644 index 9191ccc491a09..0000000000000 --- a/src/coreclr/System.Private.CoreLib/Tools/GenUnicodeProp/CharUnicodeInfoData.cs +++ /dev/null @@ -1,2424 +0,0 @@ -// 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; - -namespace System.Globalization -{ - public static partial class CharUnicodeInfo - { - // THE FOLLOWING DATA IS AUTO GENERATED BY GenUnicodeProp program UNDER THE TOOLS FOLDER - // PLEASE DON'T MODIFY BY HAND - - [Conditional("DEBUG")] - private static void AssertCategoryCasingTableLevels(int level1BitCount, int level2BitCount, int level3BitCount) - { - // Ensures that the caller expects the same L1:L2:L3 count as the actual backing data. - Debug.Assert(level1BitCount == 11, "Unexpected level 1 bit count."); - Debug.Assert(level2BitCount == 5, "Unexpected level 2 bit count."); - Debug.Assert(level3BitCount == 4, "Unexpected level 3 bit count."); - } - - // 11:5:4 index table of the Unicode category & casing data. - private static ReadOnlySpan CategoryCasingLevel1Index => new byte[2176] - { - 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, - 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, - 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1b, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, - 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, - 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1c, - 0x1d, 0x1a, 0x1e, 0x1f, 0x20, 0x21, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, - 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x22, 0x23, 0x23, 0x23, 0x23, - 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x25, 0x26, 0x27, 0x28, - 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, - 0x1a, 0x39, 0x3a, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x1a, 0x1a, 0x3c, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x1a, 0x3d, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x1a, 0x3e, 0x3b, 0x3f, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, - 0x1a, 0x1a, 0x1a, 0x40, 0x1a, 0x1a, 0x41, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x42, 0x43, 0x3b, 0x3b, 0x3b, 0x3b, 0x44, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x3b, 0x3b, - 0x4b, 0x4c, 0x3b, 0x3b, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x3b, 0x57, - 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, - 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, - 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, - 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, - 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, - 0x1a, 0x1a, 0x1a, 0x58, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x59, 0x5a, 0x1a, 0x1a, 0x1a, - 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x5b, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, - 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x5c, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x1a, 0x5d, 0x3b, 0x57, - 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x5e, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x57, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x57, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x57, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x57, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x57, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x57, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x57, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x57, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x57, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x57, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x57, - 0x5f, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, - 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x57, - 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, - 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, - 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, - 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, - 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, - 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, - 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, - 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x61, - 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, - 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, - 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, - 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, - 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, - 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, - 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, - 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x61 - }; - - private static ReadOnlySpan CategoryCasingLevel2Index => new byte[6272] - { - 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00, 0x04, 0x00, 0x05, 0x00, 0x06, 0x00, 0x07, 0x00, - 0x08, 0x00, 0x01, 0x00, 0x09, 0x00, 0x0a, 0x00, 0x0b, 0x00, 0x0c, 0x00, 0x0d, 0x00, 0x0e, 0x00, - 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x10, 0x00, 0x11, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x12, 0x00, - 0x13, 0x00, 0x14, 0x00, 0x15, 0x00, 0x16, 0x00, 0x17, 0x00, 0x18, 0x00, 0x0f, 0x00, 0x19, 0x00, - 0x0f, 0x00, 0x0f, 0x00, 0x1a, 0x00, 0x1b, 0x00, 0x1c, 0x00, 0x1d, 0x00, 0x1e, 0x00, 0x1f, 0x00, - 0x20, 0x00, 0x21, 0x00, 0x22, 0x00, 0x23, 0x00, 0x24, 0x00, 0x25, 0x00, 0x26, 0x00, 0x27, 0x00, - 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x29, 0x00, 0x28, 0x00, 0x28, 0x00, 0x2a, 0x00, - 0x2b, 0x00, 0x2c, 0x00, 0x2d, 0x00, 0x2e, 0x00, 0x2f, 0x00, 0x30, 0x00, 0x0f, 0x00, 0x31, 0x00, - 0x32, 0x00, 0x0b, 0x00, 0x0b, 0x00, 0x0d, 0x00, 0x0d, 0x00, 0x33, 0x00, 0x0f, 0x00, 0x0f, 0x00, - 0x34, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x35, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, - 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x36, 0x00, 0x37, 0x00, 0x38, 0x00, 0x39, 0x00, 0x3a, 0x00, - 0x3b, 0x00, 0x3c, 0x00, 0x28, 0x00, 0x3d, 0x00, 0x3e, 0x00, 0x3f, 0x00, 0x40, 0x00, 0x41, 0x00, - 0x42, 0x00, 0x43, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x44, 0x00, 0x28, 0x00, 0x45, 0x00, 0x46, 0x00, - 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x47, 0x00, 0x48, 0x00, 0x49, 0x00, - 0x4a, 0x00, 0x4b, 0x00, 0x3f, 0x00, 0x28, 0x00, 0x4c, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, - 0x3f, 0x00, 0x3f, 0x00, 0x4d, 0x00, 0x4e, 0x00, 0x4f, 0x00, 0x3f, 0x00, 0x50, 0x00, 0x51, 0x00, - 0x3f, 0x00, 0x52, 0x00, 0x53, 0x00, 0x54, 0x00, 0x3f, 0x00, 0x55, 0x00, 0x56, 0x00, 0x57, 0x00, - 0x57, 0x00, 0x57, 0x00, 0x3f, 0x00, 0x58, 0x00, 0x59, 0x00, 0x5a, 0x00, 0x5b, 0x00, 0x28, 0x00, - 0x5c, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5e, 0x00, 0x5f, 0x00, 0x60, 0x00, 0x61, 0x00, 0x62, 0x00, - 0x63, 0x00, 0x64, 0x00, 0x65, 0x00, 0x66, 0x00, 0x67, 0x00, 0x68, 0x00, 0x69, 0x00, 0x6a, 0x00, - 0x6b, 0x00, 0x64, 0x00, 0x65, 0x00, 0x6c, 0x00, 0x6d, 0x00, 0x6e, 0x00, 0x6f, 0x00, 0x70, 0x00, - 0x71, 0x00, 0x72, 0x00, 0x65, 0x00, 0x73, 0x00, 0x74, 0x00, 0x75, 0x00, 0x69, 0x00, 0x76, 0x00, - 0x77, 0x00, 0x64, 0x00, 0x65, 0x00, 0x78, 0x00, 0x79, 0x00, 0x7a, 0x00, 0x69, 0x00, 0x7b, 0x00, - 0x7c, 0x00, 0x7d, 0x00, 0x7e, 0x00, 0x7f, 0x00, 0x80, 0x00, 0x81, 0x00, 0x6f, 0x00, 0x82, 0x00, - 0x83, 0x00, 0x84, 0x00, 0x65, 0x00, 0x85, 0x00, 0x86, 0x00, 0x87, 0x00, 0x69, 0x00, 0x88, 0x00, - 0x89, 0x00, 0x84, 0x00, 0x65, 0x00, 0x8a, 0x00, 0x8b, 0x00, 0x8c, 0x00, 0x69, 0x00, 0x8d, 0x00, - 0x8e, 0x00, 0x84, 0x00, 0x5d, 0x00, 0x8f, 0x00, 0x90, 0x00, 0x91, 0x00, 0x69, 0x00, 0x92, 0x00, - 0x93, 0x00, 0x94, 0x00, 0x5d, 0x00, 0x95, 0x00, 0x96, 0x00, 0x97, 0x00, 0x6f, 0x00, 0x98, 0x00, - 0x99, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x9a, 0x00, 0x9b, 0x00, 0x9c, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0x9e, 0x00, 0x5d, 0x00, 0x9f, 0x00, 0xa0, 0x00, 0xa1, 0x00, 0xa2, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0xa3, 0x00, 0xa4, 0x00, 0xa5, 0x00, 0xa6, 0x00, 0xa7, 0x00, 0x5d, 0x00, 0xa8, 0x00, 0xa9, 0x00, - 0xaa, 0x00, 0xab, 0x00, 0x28, 0x00, 0xac, 0x00, 0xad, 0x00, 0xae, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0xaf, 0x00, 0xb0, 0x00, 0xb1, 0x00, 0xb2, 0x00, 0xb3, 0x00, 0xb4, 0x00, - 0xb5, 0x00, 0xb6, 0x00, 0xb7, 0x00, 0xb7, 0x00, 0xb8, 0x00, 0xb9, 0x00, 0xb9, 0x00, 0xba, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xbb, 0x00, 0xbc, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0xbb, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xbd, 0x00, 0xbe, 0x00, 0xbf, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0x5d, 0x00, 0xbe, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xc0, 0x00, 0xc1, 0x00, 0xc2, 0x00, - 0x5d, 0x00, 0xc3, 0x00, 0xc4, 0x00, 0xc4, 0x00, 0xc4, 0x00, 0xc4, 0x00, 0xc4, 0x00, 0xc5, 0x00, - 0xc6, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xc7, 0x00, 0x5d, 0x00, - 0xc8, 0x00, 0xc9, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xca, 0x00, 0xcb, 0x00, - 0xcc, 0x00, 0xcd, 0x00, 0x5d, 0x00, 0xce, 0x00, 0x5d, 0x00, 0xcf, 0x00, 0xcc, 0x00, 0xd0, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xd1, 0x00, 0xd2, 0x00, 0xd3, 0x00, 0xd4, 0x00, 0xd5, 0x00, - 0xd6, 0x00, 0xd4, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xd7, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xd8, 0x00, - 0xd9, 0x00, 0x5d, 0x00, 0xda, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xdb, 0x00, - 0x5d, 0x00, 0xdc, 0x00, 0xdd, 0x00, 0xde, 0x00, 0xdf, 0x00, 0x5d, 0x00, 0xe0, 0x00, 0xe1, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0xe2, 0x00, 0x5d, 0x00, 0xe3, 0x00, 0xe4, 0x00, 0xe5, 0x00, 0xe5, 0x00, - 0x5d, 0x00, 0xe6, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xe7, 0x00, 0xe8, 0x00, 0xe9, 0x00, - 0xd4, 0x00, 0xd4, 0x00, 0xea, 0x00, 0xeb, 0x00, 0xec, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0xed, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xee, 0x00, 0xef, 0x00, 0xb1, 0x00, 0xf0, 0x00, 0xf1, 0x00, - 0xf2, 0x00, 0x5d, 0x00, 0xf3, 0x00, 0xf4, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xf5, 0x00, 0xf6, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0xf7, 0x00, 0xf8, 0x00, 0xf9, 0x00, 0xf4, 0x00, 0x5d, 0x00, 0xfa, 0x00, - 0xfb, 0x00, 0xfc, 0x00, 0xfc, 0x00, 0xfd, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x00, 0x01, 0x01, 0x01, - 0x22, 0x00, 0x22, 0x00, 0x02, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x04, 0x01, 0x05, 0x01, - 0x06, 0x01, 0x07, 0x01, 0x03, 0x01, 0x03, 0x01, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x08, 0x01, - 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, - 0x0f, 0x00, 0x09, 0x01, 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, - 0x0a, 0x01, 0x0b, 0x01, 0x0a, 0x01, 0x0a, 0x01, 0x0b, 0x01, 0x0c, 0x01, 0x0a, 0x01, 0x0d, 0x01, - 0x0e, 0x01, 0x0e, 0x01, 0x0e, 0x01, 0x0f, 0x01, 0x10, 0x01, 0x11, 0x01, 0x12, 0x01, 0x13, 0x01, - 0x14, 0x01, 0x15, 0x01, 0x16, 0x01, 0x17, 0x01, 0x18, 0x01, 0x19, 0x01, 0x1a, 0x01, 0x1b, 0x01, - 0x1c, 0x01, 0x1d, 0x01, 0x1e, 0x01, 0x1e, 0x01, 0x1f, 0x01, 0x20, 0x01, 0x21, 0x01, 0xec, 0x00, - 0x22, 0x01, 0x23, 0x01, 0x24, 0x01, 0x25, 0x01, 0x26, 0x01, 0x27, 0x01, 0x28, 0x01, 0x29, 0x01, - 0x2a, 0x01, 0x2b, 0x01, 0x2c, 0x01, 0xe5, 0x00, 0x2d, 0x01, 0x2e, 0x01, 0xe5, 0x00, 0x2f, 0x01, - 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, - 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, - 0x31, 0x01, 0xe5, 0x00, 0x32, 0x01, 0x33, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x35, 0x01, - 0xe5, 0x00, 0x36, 0x01, 0x30, 0x01, 0x37, 0x01, 0xe5, 0x00, 0x38, 0x01, 0x39, 0x01, 0xe5, 0x00, - 0xe5, 0x00, 0xe5, 0x00, 0x3a, 0x01, 0x9d, 0x00, 0x3b, 0x01, 0x9d, 0x00, 0x27, 0x01, 0x27, 0x01, - 0x27, 0x01, 0x3c, 0x01, 0x34, 0x01, 0x3d, 0x01, 0x3e, 0x01, 0x3f, 0x01, 0x40, 0x01, 0x27, 0x01, - 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, - 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0x41, 0x01, 0x42, 0x01, 0xe5, 0x00, 0xe5, 0x00, 0x43, 0x01, - 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0x44, 0x01, 0xe5, 0x00, - 0xe5, 0x00, 0xe5, 0x00, 0x45, 0x01, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, - 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0x46, 0x01, 0x47, 0x01, - 0x27, 0x01, 0x48, 0x01, 0xe5, 0x00, 0xe5, 0x00, 0x49, 0x01, 0x30, 0x01, 0x4a, 0x01, 0x30, 0x01, - 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, - 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, - 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, - 0x4b, 0x01, 0x4c, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x4d, 0x01, 0x30, 0x01, 0x4e, 0x01, - 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, - 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, - 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0x30, 0x01, 0x4f, 0x01, 0xe5, 0x00, 0xe5, 0x00, 0x50, 0x01, - 0xe5, 0x00, 0x51, 0x01, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, - 0x37, 0x00, 0x37, 0x00, 0x52, 0x01, 0x3a, 0x00, 0x3a, 0x00, 0x53, 0x01, 0x54, 0x01, 0x55, 0x01, - 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x56, 0x01, 0x57, 0x01, - 0x58, 0x01, 0x58, 0x01, 0x59, 0x01, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5a, 0x01, 0x5b, 0x01, - 0x5d, 0x00, 0x5c, 0x01, 0x5d, 0x01, 0x5d, 0x01, 0x5d, 0x01, 0x5d, 0x01, 0x28, 0x00, 0x28, 0x00, - 0x5e, 0x01, 0x5f, 0x01, 0x60, 0x01, 0x61, 0x01, 0x62, 0x01, 0x63, 0x01, 0x9d, 0x00, 0x9d, 0x00, - 0xe5, 0x00, 0x64, 0x01, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0x65, 0x01, - 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, - 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0x66, 0x01, 0x9d, 0x00, 0x67, 0x01, - 0x68, 0x01, 0x69, 0x01, 0x6a, 0x01, 0x6b, 0x01, 0x99, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0x5d, 0x00, 0x6c, 0x01, 0xc6, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x6d, 0x01, - 0x6e, 0x01, 0x5d, 0x00, 0x5d, 0x00, 0x99, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0xdc, 0x00, 0x6f, 0x01, 0x5d, 0x00, 0x5d, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0x65, 0x01, 0x5d, 0x00, - 0x34, 0x01, 0x70, 0x01, 0x71, 0x01, 0x34, 0x01, 0x72, 0x01, 0x73, 0x01, 0x34, 0x01, 0x74, 0x01, - 0x71, 0x01, 0x34, 0x01, 0x34, 0x01, 0x75, 0x01, 0x76, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, - 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x77, 0x01, - 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x78, 0x01, 0x34, 0x01, 0x79, 0x01, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xa8, 0x00, - 0x5d, 0x00, 0x7a, 0x01, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0xa8, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0x3a, 0x01, 0x5d, 0x00, 0x5d, 0x00, 0xfa, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0x7b, 0x01, 0x5d, 0x00, 0x7c, 0x01, 0x9d, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x7d, 0x01, 0x7e, 0x01, - 0x0f, 0x00, 0x7f, 0x01, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x80, 0x01, 0x81, 0x01, - 0x27, 0x00, 0x82, 0x01, 0x83, 0x01, 0x84, 0x01, 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x85, 0x01, - 0x86, 0x01, 0x87, 0x01, 0x88, 0x01, 0x89, 0x01, 0x8a, 0x01, 0x9d, 0x00, 0x9d, 0x00, 0x8b, 0x01, - 0x8c, 0x01, 0x5d, 0x00, 0x8d, 0x01, 0x8e, 0x01, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x8f, 0x01, - 0x90, 0x01, 0x5d, 0x00, 0x5d, 0x00, 0x91, 0x01, 0x92, 0x01, 0xd4, 0x00, 0x28, 0x00, 0x93, 0x01, - 0xf4, 0x00, 0x5d, 0x00, 0x94, 0x01, 0x5d, 0x00, 0x95, 0x01, 0x96, 0x01, 0x5d, 0x00, 0xa8, 0x00, - 0x5c, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x97, 0x01, 0x98, 0x01, 0x99, 0x01, 0x9a, 0x01, 0x9b, 0x01, - 0x5d, 0x00, 0x5d, 0x00, 0x9c, 0x01, 0x9d, 0x01, 0x9e, 0x01, 0x9f, 0x01, 0x5d, 0x00, 0xa0, 0x01, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xa1, 0x01, 0xa2, 0x01, 0xa3, 0x01, 0xa4, 0x01, 0xa5, 0x01, - 0xa6, 0x01, 0xa7, 0x01, 0x5d, 0x01, 0x22, 0x00, 0x22, 0x00, 0xa8, 0x01, 0xa9, 0x01, 0xaa, 0x01, - 0xaa, 0x01, 0xaa, 0x01, 0xaa, 0x01, 0xaa, 0x01, 0x5d, 0x00, 0x5d, 0x00, 0xab, 0x01, 0xd4, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0xac, 0x01, 0x5d, 0x00, 0xad, 0x01, 0x5d, 0x00, 0x5d, 0x00, 0xe2, 0x00, - 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, - 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, - 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, - 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, 0xae, 0x01, - 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, - 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, - 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, - 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, - 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, - 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xe0, 0x00, 0x5d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xe3, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0xb0, 0x01, 0xb1, 0x01, 0xb2, 0x01, 0xb3, 0x01, 0xb4, 0x01, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, - 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0xb5, 0x01, 0xb6, 0x01, 0xb7, 0x01, 0x3f, 0x00, 0x3f, 0x00, - 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, - 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, - 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0xb8, 0x01, 0x57, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, - 0x3f, 0x00, 0xb9, 0x01, 0x3f, 0x00, 0x3f, 0x00, 0x59, 0x00, 0x1f, 0x01, 0x1f, 0x01, 0xba, 0x01, - 0x28, 0x00, 0xbb, 0x01, 0x28, 0x00, 0xbc, 0x01, 0xbd, 0x01, 0xbe, 0x01, 0xbf, 0x01, 0x58, 0x00, - 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0xc0, 0x01, - 0xc1, 0x01, 0x03, 0x00, 0x04, 0x00, 0x05, 0x00, 0x06, 0x00, 0xc2, 0x01, 0xc3, 0x01, 0xc4, 0x01, - 0x5d, 0x00, 0xc5, 0x01, 0x5d, 0x00, 0xdc, 0x00, 0xc6, 0x01, 0xc7, 0x01, 0xc8, 0x01, 0xc9, 0x01, - 0xca, 0x01, 0x5d, 0x00, 0xbf, 0x00, 0xcb, 0x01, 0xe0, 0x00, 0xe0, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xcc, 0x01, - 0xcd, 0x01, 0xce, 0x01, 0xce, 0x01, 0xcf, 0x01, 0xd0, 0x01, 0xd0, 0x01, 0xd0, 0x01, 0xd1, 0x01, - 0xd2, 0x01, 0xd3, 0x01, 0xd4, 0x01, 0x9d, 0x00, 0x9d, 0x00, 0x34, 0x01, 0x34, 0x01, 0xd5, 0x01, - 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0x5d, 0x00, 0xa8, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x75, 0x00, 0xd6, 0x01, 0xd7, 0x01, - 0x5d, 0x00, 0x5d, 0x00, 0xd8, 0x01, 0x5d, 0x00, 0xd9, 0x01, 0x5d, 0x00, 0x5d, 0x00, 0xda, 0x01, - 0x5d, 0x00, 0xdb, 0x01, 0x5d, 0x00, 0x5d, 0x00, 0xdc, 0x01, 0xdd, 0x01, 0x9d, 0x00, 0x9d, 0x00, - 0xde, 0x01, 0xde, 0x01, 0xdf, 0x01, 0xe0, 0x01, 0xe0, 0x01, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0x5d, 0x00, 0xe0, 0x00, 0xd4, 0x00, 0xde, 0x01, 0xde, 0x01, 0xe1, 0x01, 0xe0, 0x01, 0xe2, 0x01, - 0x5d, 0x00, 0x5d, 0x00, 0xe3, 0x01, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xe4, 0x01, 0x9d, 0x00, - 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5c, 0x01, 0x5d, 0x00, 0xdb, 0x00, 0xe3, 0x01, 0x9d, 0x00, - 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0xe5, 0x01, 0x3f, 0x00, 0x3f, 0x00, 0xe6, 0x01, 0x3f, 0x00, 0xe7, 0x01, 0x3f, 0x00, 0xe8, 0x01, - 0x3f, 0x00, 0xe9, 0x01, 0xea, 0x01, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x3f, 0x00, 0xeb, 0x01, - 0x3f, 0x00, 0xec, 0x01, 0x3f, 0x00, 0xed, 0x01, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, - 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0xee, 0x01, 0xef, 0x01, 0xf0, 0x01, 0xef, 0x01, 0xef, 0x01, - 0xf1, 0x01, 0xf2, 0x01, 0x3f, 0x00, 0xf3, 0x01, 0xf4, 0x01, 0xf5, 0x01, 0x3f, 0x00, 0xf6, 0x01, - 0x3f, 0x00, 0xf7, 0x01, 0x57, 0x00, 0x57, 0x00, 0xf8, 0x01, 0x3f, 0x00, 0xf9, 0x01, 0xfa, 0x01, - 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0xfb, 0x01, 0x3f, 0x00, 0xfc, 0x01, 0x3f, 0x00, 0xfd, 0x01, - 0x3f, 0x00, 0xfe, 0x01, 0xff, 0x01, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, - 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x00, 0x02, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, - 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x02, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x04, 0x02, - 0x3f, 0x00, 0x3f, 0x00, 0x05, 0x02, 0x06, 0x02, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, - 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, - 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x27, 0x01, 0x07, 0x02, - 0x3f, 0x00, 0x3f, 0x00, 0x08, 0x02, 0x09, 0x02, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, - 0x3f, 0x00, 0xf7, 0x01, 0x0a, 0x02, 0x3f, 0x00, 0x4d, 0x00, 0x0b, 0x02, 0x57, 0x00, 0x57, 0x00, - 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x3f, 0x00, 0x0c, 0x02, 0x57, 0x00, 0x3f, 0x00, 0x0d, 0x02, - 0x0e, 0x02, 0x5d, 0x00, 0x5d, 0x00, 0x0f, 0x02, 0x10, 0x02, 0x11, 0x02, 0x12, 0x02, 0x13, 0x02, - 0xf2, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x14, 0x02, 0x15, 0x02, 0x5d, 0x00, 0xd8, 0x00, 0xd4, 0x00, - 0x16, 0x02, 0x5d, 0x00, 0x17, 0x02, 0x18, 0x02, 0x19, 0x02, 0x5d, 0x00, 0x5d, 0x00, 0x1a, 0x02, - 0xf2, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x1b, 0x02, 0x1c, 0x02, 0x1d, 0x02, 0x1e, 0x02, 0x1f, 0x02, - 0x5d, 0x00, 0x72, 0x00, 0x20, 0x02, 0x21, 0x02, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0x22, 0x02, 0x23, 0x02, 0x24, 0x02, 0x5d, 0x00, 0x5d, 0x00, 0x25, 0x02, 0x26, 0x02, 0xd4, 0x00, - 0x27, 0x02, 0x64, 0x00, 0x65, 0x00, 0x28, 0x02, 0x29, 0x02, 0x2a, 0x02, 0x2b, 0x02, 0x2c, 0x02, - 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x2d, 0x02, 0x2e, 0x02, 0x2f, 0x02, 0x30, 0x02, 0x9d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x31, 0x02, 0x32, 0x02, 0xd4, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x33, 0x02, 0x34, 0x02, 0x35, 0x02, 0x36, 0x02, 0x9d, 0x00, 0x9d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x37, 0x02, 0x38, 0x02, 0xd4, 0x00, 0x39, 0x02, 0x9d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x3a, 0x02, 0x3b, 0x02, 0xd4, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0x5d, 0x00, 0xc0, 0x00, 0x3c, 0x02, 0x3d, 0x02, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x20, 0x02, 0x3e, 0x02, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0x9d, 0x00, 0x9d, 0x00, 0x0b, 0x00, 0x0b, 0x00, 0x0d, 0x00, 0x0d, 0x00, 0xa5, 0x00, 0x3f, 0x02, - 0x40, 0x02, 0x41, 0x02, 0x5d, 0x00, 0x42, 0x02, 0x43, 0x02, 0xd4, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0x9d, 0x00, 0x9d, 0x00, 0x44, 0x02, 0x5d, 0x00, 0x5d, 0x00, 0x45, 0x02, 0x46, 0x02, 0x9d, 0x00, - 0x47, 0x02, 0x5d, 0x00, 0x5d, 0x00, 0x48, 0x02, 0x49, 0x02, 0x4a, 0x02, 0x5d, 0x00, 0x5d, 0x00, - 0x4b, 0x02, 0x4c, 0x02, 0x4d, 0x02, 0x9d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xd8, 0x00, - 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0x65, 0x00, 0x5d, 0x00, 0x33, 0x02, 0x4e, 0x02, 0x4f, 0x02, 0xa5, 0x00, 0xc2, 0x00, 0x50, 0x02, - 0x5d, 0x00, 0x51, 0x02, 0x52, 0x02, 0x53, 0x02, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0x54, 0x02, 0x5d, 0x00, 0x5d, 0x00, 0x55, 0x02, 0x56, 0x02, 0xd4, 0x00, 0x57, 0x02, 0x5d, 0x00, - 0x58, 0x02, 0x59, 0x02, 0xd4, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x5d, 0x00, 0x5a, 0x02, - 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x75, 0x00, 0xce, 0x01, 0x5b, 0x02, 0x5c, 0x02, 0x5d, 0x02, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0x5d, 0x00, 0xe3, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0x5e, 0x02, 0x5e, 0x02, 0x5e, 0x02, 0x5e, 0x02, 0x5e, 0x02, 0x5e, 0x02, 0x5f, 0x02, 0x60, 0x02, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xac, 0x01, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0xdc, 0x00, 0x61, 0x02, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5c, 0x01, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xd8, 0x00, 0x5d, 0x00, 0xdc, 0x00, 0x99, 0x01, 0x9d, 0x00, - 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x5d, 0x00, 0xe0, 0x00, 0x62, 0x02, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x63, 0x02, 0x64, 0x02, 0x65, 0x02, 0x66, 0x02, 0x67, 0x02, - 0x5d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x0b, 0x00, 0x0b, 0x00, 0x0d, 0x00, 0x0d, 0x00, - 0xce, 0x01, 0x68, 0x02, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x69, 0x02, 0x6a, 0x02, 0x6b, 0x02, 0x6b, 0x02, - 0x6c, 0x02, 0x6d, 0x02, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x6e, 0x02, 0x6f, 0x02, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xe3, 0x01, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xdb, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0xd8, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0x5d, 0x00, 0xdc, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x70, 0x02, 0x71, 0x02, 0x5d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xe2, 0x00, - 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xcc, 0x01, 0xa8, 0x00, - 0xd8, 0x00, 0x72, 0x02, 0x73, 0x02, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, - 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x74, 0x02, - 0x34, 0x01, 0x34, 0x01, 0x75, 0x02, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x76, 0x02, 0x77, 0x02, - 0x78, 0x02, 0x34, 0x01, 0x79, 0x02, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x7a, 0x02, 0x9d, 0x00, - 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0x7b, 0x02, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0xce, 0x01, 0x7c, 0x02, - 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0x3a, 0x01, 0xce, 0x01, 0x7d, 0x02, - 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0x7e, 0x02, 0x7f, 0x02, 0x22, 0x00, 0x80, 0x02, 0x81, 0x02, 0x82, 0x02, 0x83, 0x02, 0x7e, 0x02, - 0x84, 0x02, 0x85, 0x02, 0x86, 0x02, 0x87, 0x02, 0x88, 0x02, 0x7e, 0x02, 0x7f, 0x02, 0x22, 0x00, - 0x89, 0x02, 0x8a, 0x02, 0x22, 0x00, 0x8b, 0x02, 0x8c, 0x02, 0x8d, 0x02, 0x8e, 0x02, 0x7e, 0x02, - 0x8f, 0x02, 0x22, 0x00, 0x7e, 0x02, 0x7f, 0x02, 0x22, 0x00, 0x80, 0x02, 0x81, 0x02, 0x22, 0x00, - 0x83, 0x02, 0x7e, 0x02, 0x84, 0x02, 0x8e, 0x02, 0x7e, 0x02, 0x8f, 0x02, 0x22, 0x00, 0x7e, 0x02, - 0x7f, 0x02, 0x22, 0x00, 0x90, 0x02, 0x7e, 0x02, 0x91, 0x02, 0x92, 0x02, 0x93, 0x02, 0x94, 0x02, - 0x22, 0x00, 0x95, 0x02, 0x7e, 0x02, 0x96, 0x02, 0x97, 0x02, 0x98, 0x02, 0x99, 0x02, 0x22, 0x00, - 0x9a, 0x02, 0x7e, 0x02, 0x9b, 0x02, 0x22, 0x00, 0x9c, 0x02, 0x9d, 0x02, 0x9d, 0x02, 0x9d, 0x02, - 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, - 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, - 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, - 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, - 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x9e, 0x02, 0x28, 0x00, 0x28, 0x00, 0x9f, 0x02, 0xa0, 0x02, - 0xa1, 0x02, 0xa2, 0x02, 0xa3, 0x02, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0xa4, 0x02, 0xa5, 0x02, 0xa6, 0x02, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0xa8, 0x00, 0xa7, 0x02, 0xa8, 0x02, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xa9, 0x02, 0xaa, 0x02, - 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, - 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0xab, 0x02, 0xac, 0x02, 0x57, 0x00, 0x57, 0x00, - 0xad, 0x02, 0xad, 0x02, 0xae, 0x02, 0xaf, 0x02, 0xb0, 0x02, 0xb1, 0x02, 0x57, 0x00, 0x57, 0x00, - 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, - 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, - 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, - 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, - 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, - 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0xb2, 0x02, - 0xef, 0x01, 0xef, 0x01, 0xb3, 0x02, 0xb4, 0x02, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, - 0xb2, 0x02, 0xef, 0x01, 0xb5, 0x02, 0xb6, 0x02, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, - 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, - 0xb7, 0x02, 0x3f, 0x00, 0xb8, 0x02, 0xb9, 0x02, 0xba, 0x02, 0xbb, 0x02, 0xbc, 0x02, 0xbd, 0x02, - 0xbe, 0x02, 0xbf, 0x02, 0xc0, 0x02, 0xbf, 0x02, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0xc1, 0x02, - 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, - 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, 0x57, 0x00, - 0xe5, 0x00, 0xe5, 0x00, 0x67, 0x01, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, - 0xe5, 0x00, 0x65, 0x01, 0xc2, 0x02, 0xc3, 0x02, 0xc3, 0x02, 0xc3, 0x02, 0xe5, 0x00, 0x66, 0x01, - 0xc4, 0x02, 0x34, 0x01, 0x79, 0x01, 0x34, 0x01, 0x34, 0x01, 0x34, 0x01, 0xc5, 0x02, 0x34, 0x01, - 0x34, 0x01, 0x34, 0x01, 0xc6, 0x02, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0xc7, 0x02, 0x34, 0x01, - 0xc8, 0x02, 0x34, 0x01, 0x34, 0x01, 0xc9, 0x02, 0x7a, 0x02, 0xca, 0x02, 0x66, 0x01, 0x9d, 0x00, - 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, - 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xcb, 0x02, - 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, - 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, - 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, - 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, - 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, - 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xcc, 0x02, 0xd3, 0x01, 0xd3, 0x01, - 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0x65, 0x01, - 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xcd, 0x02, 0x67, 0x01, 0x9d, 0x00, - 0x67, 0x01, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xcc, 0x02, 0xc3, 0x00, 0xe5, 0x00, 0xe5, 0x00, - 0xcc, 0x02, 0xe5, 0x00, 0xce, 0x02, 0xcf, 0x02, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xd0, 0x02, - 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xd1, 0x02, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, - 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0x65, 0x01, 0xce, 0x02, 0xd2, 0x02, - 0x3a, 0x01, 0xe5, 0x00, 0xcd, 0x02, 0x3a, 0x01, 0xd3, 0x02, 0x3a, 0x01, 0x9d, 0x00, 0x9d, 0x00, - 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0xe5, 0x00, - 0xe5, 0x00, 0xd4, 0x02, 0xe5, 0x00, 0xe5, 0x00, 0x3b, 0x01, 0x9d, 0x00, 0x9d, 0x00, 0xd5, 0x02, - 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0xd6, 0x02, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xe0, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xe1, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0x5d, 0x00, 0xe0, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x30, 0x02, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x75, 0x00, 0x9d, 0x00, - 0x5d, 0x00, 0xe0, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, - 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0xcc, 0x01, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, 0x9d, 0x00, - 0xd7, 0x02, 0x1f, 0x01, 0xd8, 0x02, 0xd8, 0x02, 0xd8, 0x02, 0xd8, 0x02, 0xd8, 0x02, 0xd8, 0x02, - 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, - 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, - 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x1f, 0x01, - 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, - 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, - 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, - 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, - 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, - 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, - 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, - 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xaf, 0x01, 0xd9, 0x02 - }; - - private static ReadOnlySpan CategoryCasingLevel3Index => new byte[11680] - { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x02, 0x03, 0x03, 0x03, 0x04, 0x03, 0x03, 0x03, 0x05, 0x06, 0x03, 0x07, 0x03, 0x08, 0x03, 0x03, - 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x03, 0x03, 0x07, 0x07, 0x07, 0x03, - 0x03, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x05, 0x03, 0x06, 0x0b, 0x0c, - 0x0b, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, - 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x05, 0x07, 0x06, 0x07, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x02, 0x03, 0x04, 0x04, 0x04, 0x04, 0x0e, 0x03, 0x0b, 0x0e, 0x0f, 0x10, 0x07, 0x11, 0x0e, 0x0b, - 0x0e, 0x07, 0x12, 0x12, 0x0b, 0x13, 0x03, 0x03, 0x0b, 0x12, 0x0f, 0x14, 0x12, 0x12, 0x12, 0x03, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x07, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x15, - 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, - 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x07, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x16, - 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, - 0x19, 0x15, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x15, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, - 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x15, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, - 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x1a, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x15, - 0x1b, 0x1c, 0x17, 0x18, 0x17, 0x18, 0x1d, 0x17, 0x18, 0x1e, 0x1e, 0x17, 0x18, 0x15, 0x1f, 0x20, - 0x21, 0x17, 0x18, 0x1e, 0x22, 0x23, 0x24, 0x25, 0x17, 0x18, 0x26, 0x15, 0x24, 0x27, 0x28, 0x29, - 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x2a, 0x17, 0x18, 0x2a, 0x15, 0x15, 0x17, 0x18, 0x2a, 0x17, - 0x18, 0x2b, 0x2b, 0x17, 0x18, 0x17, 0x18, 0x2c, 0x17, 0x18, 0x15, 0x0f, 0x17, 0x18, 0x15, 0x2d, - 0x0f, 0x0f, 0x0f, 0x0f, 0x2e, 0x2f, 0x30, 0x2e, 0x2f, 0x30, 0x2e, 0x2f, 0x30, 0x17, 0x18, 0x17, - 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x31, 0x17, 0x18, - 0x15, 0x2e, 0x2f, 0x30, 0x17, 0x18, 0x32, 0x33, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, - 0x34, 0x15, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, - 0x17, 0x18, 0x17, 0x18, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x35, 0x17, 0x18, 0x36, 0x37, 0x38, - 0x38, 0x17, 0x18, 0x39, 0x3a, 0x3b, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, - 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x15, 0x41, 0x41, 0x15, 0x42, 0x15, 0x43, 0x44, 0x15, 0x15, 0x15, - 0x41, 0x45, 0x15, 0x46, 0x15, 0x47, 0x48, 0x15, 0x49, 0x4a, 0x48, 0x4b, 0x4c, 0x15, 0x15, 0x4a, - 0x15, 0x4d, 0x4e, 0x15, 0x15, 0x4f, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x50, 0x15, 0x15, - 0x51, 0x15, 0x52, 0x51, 0x15, 0x15, 0x15, 0x53, 0x51, 0x54, 0x55, 0x55, 0x56, 0x15, 0x15, 0x15, - 0x15, 0x15, 0x57, 0x15, 0x0f, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x58, 0x59, 0x15, - 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, - 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5b, 0x5b, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, - 0x5a, 0x5a, 0x0b, 0x0b, 0x0b, 0x0b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, - 0x5a, 0x5a, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, - 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x5b, 0x0b, 0x5a, 0x0b, - 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, - 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, - 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5d, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, - 0x17, 0x18, 0x17, 0x18, 0x5b, 0x0b, 0x17, 0x18, 0x5e, 0x5e, 0x5a, 0x28, 0x28, 0x28, 0x03, 0x5f, - 0x5e, 0x5e, 0x5e, 0x5e, 0x0b, 0x0b, 0x60, 0x03, 0x61, 0x61, 0x61, 0x5e, 0x62, 0x5e, 0x63, 0x63, - 0x15, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x5e, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x64, 0x65, 0x65, 0x65, - 0x15, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, - 0x0d, 0x0d, 0x66, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x67, 0x68, 0x68, 0x69, - 0x6a, 0x6b, 0x19, 0x19, 0x19, 0x6c, 0x6d, 0x6e, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, - 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, 0x07, 0x17, 0x18, 0x75, 0x17, 0x18, 0x15, 0x34, 0x34, 0x34, - 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, - 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, - 0x17, 0x18, 0x78, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x79, 0x79, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, - 0x7a, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x7b, - 0x5e, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, - 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, - 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x5e, 0x5e, 0x5a, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, - 0x15, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, - 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, - 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x15, 0x15, 0x7d, 0x08, 0x5e, 0x5e, 0x0e, 0x0e, 0x04, - 0x7f, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, - 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x80, 0x5c, - 0x81, 0x5c, 0x5c, 0x81, 0x5c, 0x5c, 0x81, 0x5c, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, - 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x7f, 0x7f, 0x7f, 0x82, - 0x82, 0x82, 0x82, 0x81, 0x81, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x07, 0x07, 0x83, 0x03, 0x03, 0x84, 0x03, 0x81, 0x0e, 0x0e, - 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x81, 0x85, 0x7f, 0x81, 0x81, - 0x86, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, - 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x03, 0x03, 0x03, 0x81, 0x82, 0x82, - 0x5c, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, - 0x82, 0x82, 0x82, 0x82, 0x81, 0x82, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x11, 0x0e, 0x5c, - 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x86, 0x86, 0x5c, 0x5c, 0x0e, 0x5c, 0x5c, 0x5c, 0x5c, 0x82, 0x82, - 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x82, 0x82, 0x82, 0x87, 0x87, 0x82, - 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x7f, 0x85, - 0x82, 0x5c, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, - 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x7f, 0x7f, 0x82, 0x82, 0x82, - 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, - 0x5c, 0x82, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, - 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, - 0x5c, 0x5c, 0x5c, 0x5c, 0x86, 0x86, 0x0e, 0x03, 0x03, 0x03, 0x86, 0x7f, 0x7f, 0x5c, 0x84, 0x84, - 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x5c, 0x5c, 0x5c, 0x5c, 0x86, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, - 0x5c, 0x5c, 0x5c, 0x5c, 0x86, 0x5c, 0x5c, 0x5c, 0x86, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x7f, 0x7f, - 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x7f, - 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x5c, 0x5c, 0x5c, 0x7f, 0x7f, 0x81, 0x7f, - 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, - 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, - 0x5c, 0x5c, 0x11, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, - 0x5c, 0x5c, 0x5c, 0x89, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x89, 0x5c, 0x0f, 0x89, 0x89, - 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, 0x89, 0x89, 0x89, 0x5c, 0x89, 0x89, - 0x0f, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x5c, 0x5c, 0x7d, 0x7d, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, - 0x7d, 0x5a, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x5c, 0x89, 0x89, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x0f, - 0x0f, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x5e, 0x0f, 0x5e, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5c, 0x0f, 0x89, 0x89, - 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x5e, 0x89, 0x89, 0x5e, 0x5e, 0x89, 0x89, 0x5c, 0x0f, 0x5e, - 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x89, 0x5e, 0x5e, 0x5e, 0x5e, 0x0f, 0x0f, 0x5e, 0x0f, - 0x0f, 0x0f, 0x5c, 0x5c, 0x5e, 0x5e, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, - 0x0f, 0x0f, 0x04, 0x04, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x78, 0x04, 0x0f, 0x7d, 0x5c, 0x5e, - 0x5e, 0x5c, 0x5c, 0x89, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x0f, - 0x0f, 0x5e, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x5e, 0x5e, 0x5c, 0x5e, 0x89, 0x89, - 0x89, 0x5c, 0x5c, 0x5e, 0x5e, 0x5e, 0x5e, 0x5c, 0x5c, 0x5e, 0x5e, 0x5c, 0x5c, 0x5c, 0x5e, 0x5e, - 0x5e, 0x5c, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, 0x5e, - 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, - 0x5c, 0x5c, 0x0f, 0x0f, 0x0f, 0x5c, 0x7d, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x5e, 0x5c, 0x5c, 0x89, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, - 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x5e, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5c, 0x0f, 0x89, 0x89, - 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x5c, 0x5c, 0x89, 0x5e, 0x89, 0x89, 0x5c, 0x5e, 0x5e, - 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x7d, 0x04, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x0f, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, - 0x5e, 0x5c, 0x89, 0x89, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x0f, - 0x0f, 0x5e, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5c, 0x0f, 0x89, 0x5c, - 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x5e, 0x89, 0x89, 0x5e, 0x5e, 0x89, 0x89, 0x5c, 0x5e, 0x5e, - 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5c, 0x5c, 0x89, 0x5e, 0x5e, 0x5e, 0x5e, 0x0f, 0x0f, 0x5e, 0x0f, - 0x78, 0x0f, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x5e, 0x5e, 0x5c, 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x0f, 0x0f, - 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x0f, 0x0f, 0x5e, 0x0f, 0x5e, 0x0f, 0x0f, - 0x5e, 0x5e, 0x5e, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x89, 0x89, - 0x5c, 0x89, 0x89, 0x5e, 0x5e, 0x5e, 0x89, 0x89, 0x89, 0x5e, 0x89, 0x89, 0x89, 0x5c, 0x5e, 0x5e, - 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x89, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x8b, 0x8b, 0x8b, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x04, 0x0e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x5c, 0x89, 0x89, 0x89, 0x5c, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, - 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x0f, 0x5c, 0x5c, - 0x5c, 0x89, 0x89, 0x89, 0x89, 0x5e, 0x5c, 0x5c, 0x5c, 0x5e, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x5e, - 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5c, 0x5c, 0x5e, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x7d, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x78, - 0x0f, 0x5c, 0x89, 0x89, 0x7d, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5c, 0x0f, 0x89, 0x8c, - 0x89, 0x89, 0x89, 0x89, 0x89, 0x5e, 0x8c, 0x89, 0x89, 0x5e, 0x89, 0x89, 0x5c, 0x5c, 0x5e, 0x5e, - 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x89, 0x89, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x0f, 0x5e, - 0x5e, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x5c, 0x5c, 0x89, 0x89, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x5c, 0x0f, 0x89, 0x89, - 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x89, 0x89, 0x89, 0x5e, 0x89, 0x89, 0x89, 0x5c, 0x0f, 0x78, - 0x5e, 0x5e, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, 0x89, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x0f, - 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x78, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x5e, 0x5c, 0x89, 0x89, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, 0x5e, 0x5e, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5c, 0x5e, 0x5e, 0x5e, 0x5e, 0x89, - 0x89, 0x89, 0x5c, 0x5c, 0x5c, 0x5e, 0x5c, 0x5e, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, - 0x5e, 0x5e, 0x89, 0x89, 0x7d, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x5c, 0x0f, 0x0f, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x5e, 0x5e, 0x5e, 0x04, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5a, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x7d, - 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x7d, 0x7d, 0x5e, 0x5e, 0x5e, 0x5e, - 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x5e, 0x0f, 0x0f, 0x5e, 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x5c, 0x0f, 0x0f, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x0f, 0x5e, 0x5e, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5a, 0x5e, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x5e, - 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x78, 0x78, 0x78, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, - 0x7d, 0x7d, 0x7d, 0x78, 0x7d, 0x78, 0x78, 0x78, 0x5c, 0x5c, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, - 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, - 0x8b, 0x8b, 0x8b, 0x8b, 0x78, 0x5c, 0x78, 0x5c, 0x78, 0x5c, 0x05, 0x06, 0x05, 0x06, 0x89, 0x89, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, - 0x5e, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, - 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x7d, 0x5c, 0x5c, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x5c, 0x5c, - 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, - 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x78, 0x78, - 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x5c, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x5e, 0x78, 0x78, - 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x78, 0x78, 0x78, 0x78, 0x7d, 0x7d, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x89, 0x89, 0x5c, 0x5c, 0x5c, - 0x5c, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, 0x5c, 0x5c, 0x89, 0x89, 0x5c, 0x5c, 0x0f, - 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x89, 0x89, 0x5c, 0x5c, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x5c, - 0x5c, 0x0f, 0x89, 0x89, 0x89, 0x0f, 0x0f, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x0f, 0x0f, - 0x0f, 0x5c, 0x5c, 0x5c, 0x5c, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x5c, 0x89, 0x89, 0x5c, 0x5c, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x5c, 0x0f, 0x89, - 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x89, 0x89, 0x89, 0x5c, 0x78, 0x78, - 0x8d, 0x8d, 0x8d, 0x8d, 0x8d, 0x8d, 0x8d, 0x8d, 0x8d, 0x8d, 0x8d, 0x8d, 0x8d, 0x8d, 0x8d, 0x8d, - 0x8d, 0x8d, 0x8d, 0x8d, 0x8d, 0x8d, 0x5e, 0x8d, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x8d, 0x5e, 0x5e, - 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, - 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x7d, 0x5a, 0x8e, 0x8e, 0x8e, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, - 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, - 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5c, 0x5c, 0x5c, - 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, - 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x5e, 0x5e, 0x5e, - 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x8f, 0x8f, 0x8f, 0x8f, 0x8f, 0x8f, 0x8f, 0x8f, 0x8f, 0x8f, 0x8f, 0x8f, 0x8f, 0x8f, 0x8f, 0x8f, - 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x5e, 0x5e, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x5e, 0x5e, - 0x08, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x78, 0x7d, 0x0f, - 0x02, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x05, 0x06, 0x5e, 0x5e, 0x5e, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x7d, 0x7d, 0x7d, 0x92, 0x92, - 0x92, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, - 0x0f, 0x0f, 0x5c, 0x5c, 0x5c, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x0f, 0x0f, 0x5c, 0x5c, 0x5c, 0x7d, 0x7d, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x0f, 0x0f, 0x5c, 0x5c, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x0f, 0x5e, 0x5c, 0x5c, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x5c, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, 0x89, - 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x5c, 0x89, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, - 0x5c, 0x5c, 0x5c, 0x5c, 0x7d, 0x7d, 0x7d, 0x5a, 0x7d, 0x7d, 0x7d, 0x04, 0x0f, 0x5c, 0x5e, 0x5e, - 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x08, 0x03, 0x03, 0x03, 0x03, 0x5c, 0x5c, 0x5c, 0x11, 0x5e, - 0x0f, 0x0f, 0x0f, 0x5a, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x5c, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, - 0x5c, 0x5c, 0x5c, 0x89, 0x89, 0x89, 0x89, 0x5c, 0x5c, 0x89, 0x89, 0x89, 0x5e, 0x5e, 0x5e, 0x5e, - 0x89, 0x89, 0x5c, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x5c, 0x5c, 0x5c, 0x5e, 0x5e, 0x5e, 0x5e, - 0x0e, 0x5e, 0x5e, 0x5e, 0x03, 0x03, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8b, 0x5e, 0x5e, 0x5e, 0x0e, 0x0e, - 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x5c, 0x89, 0x89, 0x5c, 0x5e, 0x5e, 0x7d, 0x7d, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x89, 0x5c, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, - 0x5c, 0x89, 0x5c, 0x89, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, 0x89, 0x89, - 0x89, 0x89, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x5e, 0x5c, - 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x5a, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x5e, 0x5e, - 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x79, 0x5c, - 0x5c, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x5c, 0x5c, 0x5c, 0x5c, 0x89, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, 0x5c, 0x89, 0x89, 0x89, - 0x89, 0x89, 0x5c, 0x89, 0x89, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, - 0x7d, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, - 0x5c, 0x5c, 0x5c, 0x5c, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x5e, 0x5e, 0x5e, - 0x5c, 0x5c, 0x89, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, 0x89, 0x5c, 0x5c, 0x89, 0x5c, 0x5c, 0x5c, 0x0f, 0x0f, - 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x89, 0x5c, 0x5c, 0x89, 0x89, 0x89, 0x5c, 0x89, 0x5c, - 0x5c, 0x5c, 0x89, 0x89, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x7d, 0x7d, 0x7d, 0x7d, - 0x0f, 0x0f, 0x0f, 0x0f, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, - 0x5c, 0x5c, 0x5c, 0x5c, 0x89, 0x89, 0x5c, 0x5c, 0x5e, 0x5e, 0x5e, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, - 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x5e, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x7d, 0x7d, - 0x93, 0x94, 0x95, 0x96, 0x96, 0x97, 0x98, 0x99, 0x9a, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, - 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x5e, 0x5e, 0x9b, 0x9b, 0x9b, - 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x5c, 0x5c, 0x5c, 0x7d, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, - 0x5c, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x0f, 0x0f, 0x89, 0x5c, 0x5c, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x5a, 0x5a, 0x5a, 0x5a, - 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, - 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x15, 0x15, 0x15, 0x15, 0x15, - 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x5a, 0x9c, 0x15, 0x15, 0x15, 0x9d, 0x15, 0x15, - 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x9e, 0x15, - 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, - 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, - 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x15, 0x15, 0x15, 0x15, 0x15, 0x9f, 0x15, 0x15, 0xa0, 0x15, - 0xa1, 0xa1, 0xa1, 0xa1, 0xa1, 0xa1, 0xa1, 0xa1, 0xa2, 0xa2, 0xa2, 0xa2, 0xa2, 0xa2, 0xa2, 0xa2, - 0xa1, 0xa1, 0xa1, 0xa1, 0xa1, 0xa1, 0x5e, 0x5e, 0xa2, 0xa2, 0xa2, 0xa2, 0xa2, 0xa2, 0x5e, 0x5e, - 0x15, 0xa1, 0x15, 0xa1, 0x15, 0xa1, 0x15, 0xa1, 0x5e, 0xa2, 0x5e, 0xa2, 0x5e, 0xa2, 0x5e, 0xa2, - 0xa3, 0xa3, 0xa4, 0xa4, 0xa4, 0xa4, 0xa5, 0xa5, 0xa6, 0xa6, 0xa7, 0xa7, 0xa8, 0xa8, 0x5e, 0x5e, - 0xa1, 0xa1, 0xa1, 0xa1, 0xa1, 0xa1, 0xa1, 0xa1, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, - 0xa1, 0xa1, 0x15, 0xaa, 0x15, 0x5e, 0x15, 0x15, 0xa2, 0xa2, 0xab, 0xab, 0xac, 0x0b, 0xad, 0x0b, - 0x0b, 0x0b, 0x15, 0xaa, 0x15, 0x5e, 0x15, 0x15, 0xae, 0xae, 0xae, 0xae, 0xac, 0x0b, 0x0b, 0x0b, - 0xa1, 0xa1, 0x15, 0x15, 0x5e, 0x5e, 0x15, 0x15, 0xa2, 0xa2, 0xaf, 0xaf, 0x5e, 0x0b, 0x0b, 0x0b, - 0xa1, 0xa1, 0x15, 0x15, 0x15, 0x71, 0x15, 0x15, 0xa2, 0xa2, 0xb0, 0xb0, 0x75, 0x0b, 0x0b, 0x0b, - 0x5e, 0x5e, 0x15, 0xaa, 0x15, 0x5e, 0x15, 0x15, 0xb1, 0xb1, 0xb2, 0xb2, 0xac, 0x0b, 0x0b, 0x5e, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x11, 0x11, 0x11, 0xb3, 0x85, - 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x03, 0x03, 0x10, 0x14, 0x05, 0x10, 0x10, 0x14, 0x05, 0x10, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0xb4, 0xb5, 0x11, 0x11, 0x11, 0x11, 0x11, 0x02, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x10, 0x14, 0x03, 0x03, 0x03, 0x03, 0x0c, - 0x0c, 0x03, 0x03, 0x03, 0x07, 0x05, 0x06, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x07, 0x03, 0x0c, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x02, - 0x11, 0x11, 0x11, 0x11, 0x11, 0xb6, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, - 0x12, 0x5a, 0x5e, 0x5e, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x07, 0x07, 0x07, 0x05, 0x06, 0x5a, - 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x07, 0x07, 0x07, 0x05, 0x06, 0x5e, - 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5e, 0x5e, 0x5e, - 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, - 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, - 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x79, 0x79, 0x79, - 0x79, 0x5c, 0x79, 0x79, 0x79, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, - 0x0e, 0x0e, 0x19, 0x0e, 0x0e, 0x0e, 0x0e, 0x19, 0x0e, 0x0e, 0x15, 0x19, 0x19, 0x19, 0x15, 0x15, - 0x19, 0x19, 0x19, 0x15, 0x0e, 0x19, 0x0e, 0x0e, 0x07, 0x19, 0x19, 0x19, 0x19, 0x19, 0x0e, 0x0e, - 0x0e, 0x0e, 0x0e, 0x0e, 0x19, 0x0e, 0xb7, 0x0e, 0x19, 0x0e, 0xb8, 0xb9, 0x19, 0x19, 0x0e, 0x15, - 0x19, 0x19, 0xba, 0x19, 0x15, 0x0f, 0x0f, 0x0f, 0x0f, 0x15, 0x0e, 0x0e, 0x15, 0x15, 0x19, 0x19, - 0x07, 0x07, 0x07, 0x07, 0x07, 0x19, 0x15, 0x15, 0x15, 0x15, 0x0e, 0x07, 0x0e, 0x0e, 0xbb, 0x78, - 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, - 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, - 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, - 0x92, 0x92, 0x92, 0x17, 0x18, 0x92, 0x92, 0x92, 0x92, 0x12, 0x0e, 0x0e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x07, 0x07, 0x07, 0x07, 0x07, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x07, 0x07, 0x0e, 0x0e, 0x0e, 0x0e, - 0x07, 0x0e, 0x0e, 0x07, 0x0e, 0x0e, 0x07, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x07, 0x0e, - 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x07, 0x07, - 0x0e, 0x0e, 0x07, 0x0e, 0x07, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, - 0x0e, 0x0e, 0x0e, 0x0e, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, - 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, - 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x05, 0x06, 0x05, 0x06, 0x0e, 0x0e, 0x0e, 0x0e, - 0x07, 0x07, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x05, 0x06, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, - 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, - 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, - 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x0e, 0x07, 0x0e, 0x0e, 0x0e, - 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x78, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x07, 0x07, 0x07, 0x07, 0x07, - 0x07, 0x07, 0x07, 0x07, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, - 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x07, 0x07, 0x07, 0x07, - 0x07, 0x07, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, - 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x78, 0x78, 0x78, 0x78, - 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, - 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, - 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, - 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, - 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x07, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, - 0x0e, 0x07, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, - 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, - 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x07, - 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x78, 0x0e, 0x0e, 0x0e, - 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, - 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, - 0x12, 0x12, 0x12, 0x12, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, - 0x07, 0x07, 0x07, 0x07, 0x07, 0x05, 0x06, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, - 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, - 0x07, 0x07, 0x07, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, - 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, - 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x05, 0x06, 0x05, 0x06, 0x07, 0x07, 0x07, 0x07, - 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x05, 0x06, 0x07, 0x07, - 0x07, 0x07, 0x07, 0x07, 0x07, 0x0e, 0x0e, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x0e, 0x0e, 0x0e, - 0x0e, 0x0e, 0x0e, 0x0e, 0x5e, 0x5e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, - 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x5e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, - 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x5e, - 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x5e, - 0x17, 0x18, 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0xc5, 0xc6, 0xc7, - 0xc8, 0x15, 0x17, 0x18, 0x15, 0x17, 0x18, 0x15, 0x15, 0x15, 0x15, 0x15, 0x5a, 0x5a, 0xc9, 0xc9, - 0x17, 0x18, 0x17, 0x18, 0x15, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x17, 0x18, 0x17, 0x18, 0x5c, - 0x5c, 0x5c, 0x17, 0x18, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x03, 0x03, 0x03, 0x03, 0x12, 0x03, 0x03, - 0xca, 0xca, 0xca, 0xca, 0xca, 0xca, 0xca, 0xca, 0xca, 0xca, 0xca, 0xca, 0xca, 0xca, 0xca, 0xca, - 0xca, 0xca, 0xca, 0xca, 0xca, 0xca, 0x5e, 0xca, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0xca, 0x5e, 0x5e, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5a, - 0x7d, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5c, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, - 0x03, 0x03, 0x10, 0x14, 0x10, 0x14, 0x03, 0x03, 0x03, 0x10, 0x14, 0x03, 0x10, 0x14, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x08, 0x03, 0x03, 0x08, 0x03, 0x10, 0x14, 0x03, 0x03, - 0x10, 0x14, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x03, 0x03, 0x03, 0x03, 0x03, 0x5b, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x08, 0x08, 0x03, 0x03, 0x03, 0x03, - 0x08, 0x03, 0x05, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x0e, 0x0e, 0x03, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x5e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, - 0x0e, 0x0e, 0x0e, 0x0e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x02, 0x03, 0x03, 0x03, 0x0e, 0x5a, 0x0f, 0x92, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, - 0x05, 0x06, 0x0e, 0x0e, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x08, 0x05, 0x06, 0x06, - 0x0e, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, 0x89, - 0x08, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x0e, 0x0e, 0x92, 0x92, 0x92, 0x5a, 0x0f, 0x03, 0x0e, 0x0e, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5c, 0x5c, 0x0b, 0x0b, 0x5a, 0x5a, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x03, 0x5a, 0x5a, 0x5a, 0x0f, - 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x78, 0x78, 0x8b, 0x8b, 0x8b, 0x8b, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, - 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x0e, 0x0e, 0x5e, - 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, - 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, - 0x0e, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, - 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x0e, 0x0e, 0x0e, 0x78, - 0x78, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, - 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x0e, 0x0e, 0x0e, 0x0e, - 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x0e, 0x0e, 0x0e, 0x0e, 0x78, 0x78, 0x78, 0x78, 0x78, - 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x0e, 0x0e, - 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x0e, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5a, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5a, 0x03, 0x03, 0x03, - 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, - 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x0f, 0x5c, - 0x79, 0x79, 0x79, 0x03, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x03, 0x5b, - 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x5a, 0x5a, 0x5c, 0x5c, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, - 0x5c, 0x5c, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, - 0x0b, 0x0b, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, - 0x15, 0x15, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, - 0x5a, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x17, 0x18, 0x17, 0x18, 0xcb, 0x17, 0x18, - 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x5b, 0xcc, 0xcc, 0x17, 0x18, 0xcd, 0x15, 0x0f, - 0x17, 0x18, 0x17, 0x18, 0xce, 0x15, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, - 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0xcf, 0xd0, 0xd1, 0xd2, 0xcf, 0x15, - 0xd3, 0xd4, 0xd5, 0xd6, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, 0x17, 0x18, - 0x5e, 0x5e, 0x17, 0x18, 0xd7, 0xd8, 0xd9, 0x17, 0x18, 0x17, 0x18, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x17, 0x18, 0x0f, 0x5a, 0x5a, 0x15, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x5c, 0x0f, 0x0f, 0x0f, 0x5c, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x89, 0x89, 0x5c, 0x5c, 0x89, 0x0e, 0x0e, 0x0e, 0x0e, 0x5c, 0x5e, 0x5e, 0x5e, - 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x78, 0x78, 0x04, 0x0e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x0f, 0x0f, 0x0f, 0x0f, 0x03, 0x03, 0x03, 0x03, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x89, 0x89, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, - 0x89, 0x89, 0x89, 0x89, 0x5c, 0x5c, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x7d, 0x7d, - 0x5c, 0x5c, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x7d, 0x7d, 0x7d, 0x0f, 0x7d, 0x0f, 0x0f, 0x5c, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x7d, 0x7d, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, - 0x5c, 0x5c, 0x89, 0x89, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x7d, - 0x0f, 0x0f, 0x0f, 0x5c, 0x89, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, 0x89, 0x5c, 0x5c, 0x89, 0x89, - 0x89, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x5e, 0x5a, - 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x5e, 0x5e, 0x5e, 0x5e, 0x7d, 0x7d, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x5a, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, - 0x89, 0x5c, 0x5c, 0x89, 0x89, 0x5c, 0x5c, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x0f, 0x0f, 0x0f, 0x5c, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x89, 0x5e, 0x5e, - 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x5e, 0x5e, 0x7d, 0x7d, 0x7d, 0x7d, - 0x5a, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x78, 0x78, 0x78, 0x0f, 0x89, 0x5c, 0x89, 0x0f, 0x0f, - 0x5c, 0x0f, 0x5c, 0x5c, 0x5c, 0x0f, 0x0f, 0x5c, 0x5c, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x5c, - 0x0f, 0x5c, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x0f, 0x0f, 0x5a, 0x7d, 0x7d, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x89, 0x5c, 0x5c, 0x89, 0x89, - 0x7d, 0x7d, 0x0f, 0x5a, 0x5a, 0x89, 0x5c, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, - 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x15, 0x15, 0x15, 0xda, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0xcc, 0x5a, 0x5a, 0x5a, 0x5a, - 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x5a, 0x0b, 0x0b, 0x5e, 0x5e, 0x5e, 0x5e, - 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, - 0x0f, 0x0f, 0x0f, 0x89, 0x89, 0x5c, 0x89, 0x89, 0x5c, 0x89, 0x89, 0x7d, 0x89, 0x5c, 0x5e, 0x5e, - 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, - 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, - 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x5e, 0x5e, 0x5e, 0x15, 0x15, 0x15, 0x15, 0x15, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x82, 0x5c, 0x82, - 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x07, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, - 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x82, 0x7f, - 0x82, 0x82, 0x7f, 0x82, 0x82, 0x7f, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, - 0x82, 0x82, 0xde, 0xde, 0xde, 0xde, 0xde, 0xde, 0xde, 0xde, 0xde, 0xde, 0xde, 0xde, 0xde, 0xde, - 0xde, 0xde, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, - 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x06, 0x05, - 0x7f, 0x7f, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, - 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x84, 0x0e, 0x7f, 0x7f, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x05, 0x06, 0x03, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x03, 0x08, 0x08, 0x0c, 0x0c, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, - 0x06, 0x05, 0x06, 0x05, 0x06, 0x03, 0x03, 0x05, 0x06, 0x03, 0x03, 0x03, 0x03, 0x0c, 0x0c, 0x0c, - 0x03, 0x03, 0x03, 0x5e, 0x03, 0x03, 0x03, 0x03, 0x08, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x03, - 0x03, 0x03, 0x07, 0x08, 0x07, 0x07, 0x07, 0x5e, 0x03, 0x04, 0x03, 0x03, 0x5e, 0x5e, 0x5e, 0x5e, - 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x7f, 0x11, - 0x5e, 0x03, 0x03, 0x03, 0x04, 0x03, 0x03, 0x03, 0x05, 0x06, 0x03, 0x07, 0x03, 0x08, 0x03, 0x03, - 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x05, 0x07, 0x06, 0x07, 0x05, - 0x06, 0x03, 0x05, 0x06, 0x03, 0x03, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x5a, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5a, 0x5a, - 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, - 0x04, 0x04, 0x07, 0x0b, 0x0e, 0x04, 0x04, 0x5e, 0x0e, 0x07, 0x07, 0x07, 0x07, 0x0e, 0x0e, 0x5e, - 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0x11, 0x11, 0x11, 0x0e, 0x0e, 0xb6, 0xb6, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x5e, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x7d, 0x03, 0x7d, 0x5e, 0x5e, 0x5e, 0x5e, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, - 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, - 0x8b, 0x8b, 0x8b, 0x8b, 0x5e, 0x5e, 0x5e, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, - 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, - 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0x12, 0x12, 0x12, 0x12, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, - 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x12, 0x12, 0x0e, 0x78, 0x78, 0x5e, - 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x5e, 0x5e, 0x5e, - 0x0e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x5c, 0x5e, 0x5e, - 0x5c, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, - 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x5e, 0x5e, 0x5e, 0x5e, - 0x8b, 0x8b, 0x8b, 0x8b, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, - 0x0f, 0x92, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x92, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x7d, - 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x7d, 0x92, 0x92, 0x92, 0x92, 0x92, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, - 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, - 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, - 0xe0, 0xe0, 0xe0, 0xe0, 0x5e, 0x5e, 0x5e, 0x5e, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, - 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0x5e, 0x5e, 0x5e, 0x5e, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x7d, - 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x7f, 0x82, 0x7f, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, - 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x82, 0x82, 0x7f, 0x7f, 0x7f, 0x82, 0x7f, 0x7f, 0x82, - 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x81, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, - 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x87, 0x87, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, - 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, - 0x82, 0x82, 0x82, 0x7f, 0x82, 0x82, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, - 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0x7f, 0x7f, 0x7f, 0x03, - 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x81, - 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x7f, 0x7f, 0x7f, 0xe2, 0xe2, 0x82, 0x82, - 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, - 0x7f, 0x7f, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, - 0x82, 0x5c, 0x5c, 0x5c, 0x7f, 0x5c, 0x5c, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x5c, 0x5c, 0x5c, 0x5c, - 0x82, 0x82, 0x82, 0x82, 0x7f, 0x82, 0x82, 0x82, 0x7f, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, - 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x7f, 0x5c, 0x5c, 0x5c, 0x7f, 0x7f, 0x7f, 0x7f, 0x5c, - 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0xe2, 0xe2, 0x81, - 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0xe2, 0xe2, 0xe2, - 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x87, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, - 0x82, 0x82, 0x82, 0x82, 0x82, 0x5c, 0x5c, 0x7f, 0x7f, 0x7f, 0x7f, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, - 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x7f, 0x7f, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x7f, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, - 0x82, 0x82, 0x82, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, - 0x82, 0x82, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x81, 0x81, 0x81, 0x81, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, - 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, - 0xe3, 0xe3, 0xe3, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, - 0xe4, 0xe4, 0xe4, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, - 0x82, 0x82, 0x82, 0x82, 0x5c, 0x5c, 0x5c, 0x5c, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x7f, - 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x5c, 0x5c, 0x80, 0x7f, 0x7f, - 0x82, 0x82, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0x82, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x5c, 0xe2, 0xe2, 0xe2, 0xe2, 0x81, 0x81, 0x81, 0x81, 0x81, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x82, 0x82, 0x82, 0x82, 0x82, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0x7f, 0x7f, 0x7f, 0x7f, - 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x89, 0x5c, 0x89, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, - 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x5e, 0x5e, - 0x5e, 0x5e, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, - 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, - 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5c, - 0x89, 0x89, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, 0x89, 0x5c, 0x5c, 0x7d, 0x7d, 0xb3, 0x7d, 0x7d, - 0x7d, 0x7d, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0xb3, 0x5e, 0x5e, - 0x5c, 0x5c, 0x5c, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, 0x5c, 0x5c, 0x5c, - 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, - 0x7d, 0x7d, 0x7d, 0x7d, 0x0f, 0x89, 0x89, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x0f, 0x0f, 0x0f, 0x5c, 0x7d, 0x7d, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x0f, 0x0f, 0x0f, 0x89, 0x89, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, - 0x89, 0x0f, 0x0f, 0x0f, 0x0f, 0x7d, 0x7d, 0x7d, 0x7d, 0x5c, 0x5c, 0x5c, 0x5c, 0x7d, 0x89, 0x5c, - 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x0f, 0x7d, 0x0f, 0x7d, 0x7d, 0x7d, - 0x5e, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, - 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x89, 0x89, 0x89, 0x5c, - 0x5c, 0x5c, 0x89, 0x89, 0x5c, 0x89, 0x5c, 0x5c, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x5c, 0x5e, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x7d, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, - 0x89, 0x89, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x5c, 0x5c, 0x89, 0x89, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x0f, - 0x0f, 0x5e, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5c, 0x5c, 0x0f, 0x89, 0x89, - 0x5c, 0x89, 0x89, 0x89, 0x89, 0x5e, 0x5e, 0x89, 0x89, 0x5e, 0x5e, 0x89, 0x89, 0x89, 0x5e, 0x5e, - 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x89, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x89, 0x89, 0x5e, 0x5e, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x5e, 0x5e, - 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x89, 0x89, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, - 0x89, 0x89, 0x5c, 0x5c, 0x5c, 0x89, 0x5c, 0x0f, 0x0f, 0x0f, 0x0f, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, - 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x7d, 0x7d, 0x5e, 0x7d, 0x5c, 0x0f, - 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x89, 0x89, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, 0x5c, 0x89, 0x89, 0x89, 0x89, 0x5c, - 0x5c, 0x89, 0x5c, 0x5c, 0x0f, 0x0f, 0x7d, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x89, - 0x89, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x5e, 0x89, 0x89, 0x89, 0x89, 0x5c, 0x5c, 0x89, 0x5c, - 0x5c, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, - 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x5c, 0x5e, 0x5e, - 0x89, 0x89, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, 0x89, 0x5c, 0x89, 0x5c, - 0x5c, 0x7d, 0x7d, 0x7d, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x5e, 0x5e, 0x5e, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x89, 0x5c, 0x89, 0x89, - 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, 0x5c, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x89, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x5e, 0x5e, 0x5e, - 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8b, 0x8b, 0x7d, 0x7d, 0x7d, 0x78, - 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, 0x5c, 0x5c, 0x7d, 0x5e, 0x5e, 0x5e, 0x5e, - 0x8b, 0x8b, 0x8b, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x0f, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x5e, 0x89, 0x89, 0x5e, 0x5e, 0x5c, 0x5c, 0x89, 0x5c, 0x0f, - 0x89, 0x0f, 0x89, 0x5c, 0x7d, 0x7d, 0x7d, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x89, 0x89, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x5e, 0x5c, 0x5c, 0x89, 0x89, 0x89, 0x89, - 0x5c, 0x0f, 0x7d, 0x0f, 0x89, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x0f, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x8c, 0x8c, 0x5c, 0x5c, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, 0x0f, 0x5c, 0x5c, 0x5c, 0x5c, 0x7d, - 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x5c, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x0f, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, 0x89, 0x5c, 0x5c, 0x5c, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, - 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, 0x5c, 0x5c, 0x7d, 0x7d, 0x7d, 0x0f, 0x7d, 0x7d, - 0x7d, 0x7d, 0x7d, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x89, 0x8c, - 0x0f, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x7d, 0x7d, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x5e, 0x5e, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, - 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x89, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, - 0x5c, 0x89, 0x5c, 0x5c, 0x89, 0x5c, 0x5c, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x5e, 0x5e, 0x5c, 0x5e, 0x5c, 0x5c, 0x5e, 0x5c, - 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x0f, 0x5c, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x89, 0x89, 0x89, 0x89, 0x89, 0x5e, - 0x5c, 0x5c, 0x5e, 0x89, 0x89, 0x5c, 0x89, 0x5c, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x0f, 0x0f, 0x0f, 0x5c, 0x5c, 0x89, 0x89, 0x7d, 0x7d, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x04, 0x04, 0x04, - 0x04, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, - 0x0e, 0x0e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x7d, - 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, - 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x5e, - 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0xb3, 0xb3, 0xb3, 0xb3, 0xb3, 0xb3, 0xb3, 0xb3, 0xb3, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x7d, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x78, 0x78, 0x78, 0x78, - 0x5a, 0x5a, 0x5a, 0x5a, 0x7d, 0x78, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x5e, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, - 0x8b, 0x8b, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, - 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x7d, 0x7d, 0x7d, 0x7d, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5c, - 0x0f, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, - 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, - 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5c, - 0x5c, 0x5c, 0x5c, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, - 0x5a, 0x5a, 0x03, 0x5a, 0x5c, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x89, 0x89, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x5e, 0x5e, 0x5e, 0x5e, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5e, 0x5e, 0x78, 0x5c, 0x5c, 0x7d, - 0x11, 0x11, 0x11, 0x11, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x5e, 0x5e, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, - 0x78, 0x78, 0x78, 0x78, 0x78, 0x89, 0x89, 0x5c, 0x5c, 0x5c, 0x78, 0x78, 0x78, 0x89, 0x89, 0x89, - 0x89, 0x89, 0x89, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, - 0x5c, 0x5c, 0x5c, 0x78, 0x78, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x78, 0x78, 0x78, 0x78, - 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x5c, 0x5c, 0x5c, 0x5c, 0x78, 0x78, - 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x0e, 0x0e, 0x5c, 0x5c, 0x5c, 0x0e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x8b, 0x8b, 0x8b, 0x8b, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, - 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, - 0x15, 0x15, 0x15, 0x15, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, - 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x15, 0x15, - 0x15, 0x15, 0x15, 0x15, 0x15, 0x5e, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, - 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, - 0x19, 0x19, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, - 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x19, 0x5e, 0x19, 0x19, - 0x5e, 0x5e, 0x19, 0x5e, 0x5e, 0x19, 0x19, 0x5e, 0x5e, 0x19, 0x19, 0x19, 0x19, 0x5e, 0x19, 0x19, - 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x15, 0x15, 0x15, 0x15, 0x5e, 0x15, 0x5e, 0x15, 0x15, 0x15, - 0x15, 0x15, 0x15, 0x15, 0x5e, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, - 0x15, 0x15, 0x15, 0x15, 0x19, 0x19, 0x5e, 0x19, 0x19, 0x19, 0x19, 0x5e, 0x5e, 0x19, 0x19, 0x19, - 0x19, 0x19, 0x19, 0x19, 0x19, 0x5e, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x5e, 0x15, 0x15, - 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x19, 0x19, 0x5e, 0x19, 0x19, 0x19, 0x19, 0x5e, - 0x19, 0x19, 0x19, 0x19, 0x19, 0x5e, 0x19, 0x5e, 0x5e, 0x5e, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, - 0x19, 0x5e, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, - 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x19, 0x19, 0x19, 0x19, - 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, - 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x5e, 0x5e, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, - 0x19, 0xe5, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, - 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x07, 0x15, 0x15, 0x15, 0x15, - 0x15, 0x15, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, - 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0xe5, 0x15, 0x15, 0x15, 0x15, - 0x15, 0x15, 0x15, 0x15, 0x15, 0x07, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x19, 0x19, 0x19, 0x19, - 0x19, 0x19, 0x19, 0x19, 0x19, 0xe5, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, - 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x07, - 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, - 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0xe5, - 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x07, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, - 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0xe5, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, - 0x15, 0x15, 0x15, 0x07, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x19, 0x15, 0x5e, 0x5e, 0x09, 0x09, - 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, - 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x78, 0x78, 0x78, 0x78, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, - 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x78, 0x78, 0x78, - 0x78, 0x78, 0x78, 0x78, 0x78, 0x5c, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, - 0x78, 0x78, 0x78, 0x78, 0x5c, 0x78, 0x78, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x5e, 0x5e, 0x5e, 0x5e, - 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, - 0x5e, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, - 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, - 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x5e, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, - 0x5c, 0x5c, 0x5e, 0x5c, 0x5c, 0x5e, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5e, 0x5e, - 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x5e, 0x5e, 0x5e, 0x5e, 0x0f, 0x78, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x5c, 0x5c, 0x5c, 0x5c, - 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x04, - 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x7f, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, - 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, - 0xe6, 0xe6, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, - 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, - 0xe7, 0xe7, 0xe7, 0xe7, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x86, 0x7f, 0x7f, 0x7f, 0x7f, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7f, 0x7f, 0x7f, 0x7f, 0x81, 0x81, - 0x7f, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, - 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0x87, 0xe2, 0xe2, 0xe2, - 0x84, 0xe2, 0xe2, 0xe2, 0xe2, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0x87, 0xe2, - 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0x7f, 0x7f, - 0x82, 0x82, 0x82, 0x82, 0x7f, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, - 0x7f, 0x82, 0x82, 0x7f, 0x82, 0x7f, 0x7f, 0x82, 0x7f, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, - 0x82, 0x82, 0x82, 0x7f, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x82, 0x7f, 0x82, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x82, 0x7f, 0x7f, 0x7f, 0x7f, 0x82, 0x7f, 0x82, 0x7f, 0x82, 0x7f, 0x82, 0x82, 0x82, - 0x7f, 0x82, 0x82, 0x7f, 0x82, 0x7f, 0x7f, 0x82, 0x7f, 0x82, 0x7f, 0x82, 0x7f, 0x82, 0x7f, 0x82, - 0x7f, 0x82, 0x82, 0x7f, 0x82, 0x7f, 0x7f, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x82, 0x82, 0x82, 0x82, - 0x82, 0x82, 0x82, 0x7f, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x82, 0x7f, - 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x82, 0x82, 0x82, 0x82, 0x82, - 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x82, 0x82, 0x82, 0x7f, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7f, 0x82, 0x82, 0x82, 0x82, 0x82, - 0x07, 0x07, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x5e, - 0x5e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, - 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x0e, 0x0e, 0x0e, - 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, - 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x0e, 0x5e, 0x5e, - 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, - 0x78, 0x78, 0x78, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x5e, 0x5e, 0x5e, 0x5e, - 0x78, 0x78, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, - 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x5e, 0x5e, - 0x0e, 0x0e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x5e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, - 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x5e, 0x0e, 0x0e, 0x0e, - 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x5e, 0x5e, 0x5e, 0x0e, 0x0e, 0x0e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x0e, 0x0e, 0x0e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x0e, 0x0e, 0x0e, 0x5e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, - 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, - 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0xb6, 0xb6, - 0xb6, 0x11, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, - 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, - 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xb6, 0xb6 - }; - - // Contains Unicode category & bidi class information - private static ReadOnlySpan CategoriesValues => new byte[232] - { - 0x0e, 0x8e, 0x8b, 0x18, 0x1a, 0x14, 0x15, 0x19, 0x13, 0x08, 0x20, 0x1b, 0x12, 0x21, 0x1c, 0x24, - 0x16, 0x0f, 0x0a, 0x21, 0x17, 0x21, 0x21, 0x20, 0x21, 0x20, 0x20, 0x21, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x21, 0x20, 0x20, 0x21, 0x20, 0x21, 0x20, 0x20, 0x20, 0x20, 0x21, 0x20, 0x22, - 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, - 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, - 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x23, 0x03, 0x05, 0x05, 0x3d, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, - 0x21, 0x21, 0x21, 0x20, 0x21, 0x20, 0x20, 0x21, 0x3c, 0x07, 0x20, 0x21, 0x20, 0x38, 0x21, 0x5d, - 0x53, 0x58, 0x44, 0x59, 0x5a, 0x4f, 0x43, 0x5c, 0x48, 0x26, 0x28, 0x2a, 0x25, 0x20, 0x21, 0x20, - 0x20, 0x21, 0x29, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x21, 0x21, 0x21, 0x21, - 0x20, 0x21, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x22, 0x21, 0x20, 0x22, 0x21, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x2f, 0x8c, 0x8d, 0x1d, 0x20, 0x20, 0x20, 0x20, 0x21, 0x29, 0x29, 0x3c, 0x3c, - 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x20, 0x3b, 0x20, 0x21, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x30, 0x31, 0x5b, 0x09, - 0x20, 0x21, 0x4a, 0x40, 0x41, 0x39, 0x40, 0x41 - }; - - // Contains simple culture-invariant uppercase mappings - private static ReadOnlySpan UppercaseValues => new byte[464] - { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe7, 0x02, 0x00, 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00, - 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xc3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa3, 0x00, 0x00, 0x00, - 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0xff, 0xff, - 0xfe, 0xff, 0xb1, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x3f, 0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x2a, 0x1c, 0x2a, 0x1e, 0x2a, 0x2e, 0xff, - 0x32, 0xff, 0x33, 0xff, 0x36, 0xff, 0x35, 0xff, 0x4f, 0xa5, 0x4b, 0xa5, 0x31, 0xff, 0x28, 0xa5, - 0x44, 0xa5, 0x2f, 0xff, 0x2d, 0xff, 0xf7, 0x29, 0x41, 0xa5, 0xfd, 0x29, 0x2b, 0xff, 0x2a, 0xff, - 0xe7, 0x29, 0x26, 0xff, 0x43, 0xa5, 0x2a, 0xa5, 0xbb, 0xff, 0x27, 0xff, 0xb9, 0xff, 0x25, 0xff, - 0x15, 0xa5, 0x12, 0xa5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xda, 0xff, 0xdb, 0xff, 0xe1, 0xff, 0xc0, 0xff, - 0xc1, 0xff, 0x00, 0x00, 0xc2, 0xff, 0xc7, 0xff, 0xd1, 0xff, 0xca, 0xff, 0xf8, 0xff, 0xaa, 0xff, - 0xb0, 0xff, 0x07, 0x00, 0x8c, 0xff, 0x00, 0x00, 0xa0, 0xff, 0x00, 0x00, 0x00, 0x00, 0xb0, 0xff, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf1, 0xff, 0x00, 0x00, 0x00, 0x00, 0xd0, 0xff, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x0b, 0x00, 0x00, - 0x00, 0x00, 0xf8, 0xff, 0x00, 0x00, 0x92, 0xe7, 0x93, 0xe7, 0x9c, 0xe7, 0x9e, 0xe7, 0x9d, 0xe7, - 0xa4, 0xe7, 0xdb, 0xe7, 0xc2, 0x89, 0x00, 0x00, 0x04, 0x8a, 0xe6, 0x0e, 0x38, 0x8a, 0xc5, 0xff, - 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x4a, 0x00, 0x56, 0x00, 0x64, 0x00, 0x80, 0x00, 0x70, 0x00, - 0x7e, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0xe3, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe4, 0xff, 0x00, 0x00, 0xf0, 0xff, 0x00, 0x00, 0xe6, 0xff, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd5, 0xd5, 0xd8, 0xd5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xa0, 0xe3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x60, 0xfc, 0x30, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xd8, 0xff, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x00, 0x00, 0x00, 0x00, 0xde, 0xff - }; - - // Contains simple culture-invariant lowercase mappings - private static ReadOnlySpan LowercaseValues => new byte[464] - { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x87, 0xff, 0x00, 0x00, 0xd2, 0x00, 0xce, 0x00, 0xcd, 0x00, 0x4f, 0x00, - 0xca, 0x00, 0xcb, 0x00, 0xcf, 0x00, 0x00, 0x00, 0xd3, 0x00, 0xd1, 0x00, 0x00, 0x00, 0xd5, 0x00, - 0x00, 0x00, 0xd6, 0x00, 0xda, 0x00, 0xd9, 0x00, 0xdb, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xc8, 0xff, 0x7e, 0xff, 0x2b, 0x2a, 0x5d, 0xff, 0x28, 0x2a, - 0x00, 0x00, 0x3d, 0xff, 0x45, 0x00, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0x00, - 0x26, 0x00, 0x25, 0x00, 0x40, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc4, 0xff, 0x00, 0x00, 0xf9, 0xff, 0x50, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x1c, 0x00, 0x00, 0xd0, 0x97, - 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x41, 0xe2, 0x00, 0x00, 0xf8, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xf8, 0xff, 0x00, 0x00, 0xb6, 0xff, 0xf7, 0xff, 0x00, 0x00, 0xaa, 0xff, 0x9c, 0xff, - 0x90, 0xff, 0x80, 0xff, 0x82, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa3, 0xe2, - 0x41, 0xdf, 0xba, 0xdf, 0x1c, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, - 0x09, 0xd6, 0x1a, 0xf1, 0x19, 0xd6, 0x00, 0x00, 0x00, 0x00, 0xe4, 0xd5, 0x03, 0xd6, 0xe1, 0xd5, - 0xe2, 0xd5, 0xc1, 0xd5, 0x00, 0x00, 0xfc, 0x75, 0x00, 0x00, 0xd8, 0x5a, 0x00, 0x00, 0xbc, 0x5a, - 0xb1, 0x5a, 0xb5, 0x5a, 0xbf, 0x5a, 0xee, 0x5a, 0xd6, 0x5a, 0xeb, 0x5a, 0xa0, 0x03, 0xd0, 0xff, - 0xbd, 0x5a, 0xc8, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00 - }; - - // Contains simple culture-invariant titlecase mappings - private static ReadOnlySpan TitlecaseValues => new byte[464] - { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe7, 0x02, 0x00, 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00, - 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xc3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa3, 0x00, 0x00, 0x00, - 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x01, 0x00, 0x00, 0x00, - 0xff, 0xff, 0xb1, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x3f, 0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x2a, 0x1c, 0x2a, 0x1e, 0x2a, 0x2e, 0xff, - 0x32, 0xff, 0x33, 0xff, 0x36, 0xff, 0x35, 0xff, 0x4f, 0xa5, 0x4b, 0xa5, 0x31, 0xff, 0x28, 0xa5, - 0x44, 0xa5, 0x2f, 0xff, 0x2d, 0xff, 0xf7, 0x29, 0x41, 0xa5, 0xfd, 0x29, 0x2b, 0xff, 0x2a, 0xff, - 0xe7, 0x29, 0x26, 0xff, 0x43, 0xa5, 0x2a, 0xa5, 0xbb, 0xff, 0x27, 0xff, 0xb9, 0xff, 0x25, 0xff, - 0x15, 0xa5, 0x12, 0xa5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xda, 0xff, 0xdb, 0xff, 0xe1, 0xff, 0xc0, 0xff, - 0xc1, 0xff, 0x00, 0x00, 0xc2, 0xff, 0xc7, 0xff, 0xd1, 0xff, 0xca, 0xff, 0xf8, 0xff, 0xaa, 0xff, - 0xb0, 0xff, 0x07, 0x00, 0x8c, 0xff, 0x00, 0x00, 0xa0, 0xff, 0x00, 0x00, 0x00, 0x00, 0xb0, 0xff, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf1, 0xff, 0x00, 0x00, 0x00, 0x00, 0xd0, 0xff, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xf8, 0xff, 0x00, 0x00, 0x92, 0xe7, 0x93, 0xe7, 0x9c, 0xe7, 0x9e, 0xe7, 0x9d, 0xe7, - 0xa4, 0xe7, 0xdb, 0xe7, 0xc2, 0x89, 0x00, 0x00, 0x04, 0x8a, 0xe6, 0x0e, 0x38, 0x8a, 0xc5, 0xff, - 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x4a, 0x00, 0x56, 0x00, 0x64, 0x00, 0x80, 0x00, 0x70, 0x00, - 0x7e, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0xe3, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe4, 0xff, 0x00, 0x00, 0xf0, 0xff, 0x00, 0x00, 0xe6, 0xff, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd5, 0xd5, 0xd8, 0xd5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xa0, 0xe3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x60, 0xfc, 0x30, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xd8, 0xff, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x00, 0x00, 0x00, 0x00, 0xde, 0xff - }; - - // Contains simple culture-invariant case fold mappings - private static ReadOnlySpan CaseFoldValues => new byte[464] - { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x87, 0xff, 0x00, 0x00, 0xd2, 0x00, 0xce, 0x00, 0xcd, 0x00, 0x4f, 0x00, - 0xca, 0x00, 0xcb, 0x00, 0xcf, 0x00, 0x00, 0x00, 0xd3, 0x00, 0xd1, 0x00, 0x00, 0x00, 0xd5, 0x00, - 0x00, 0x00, 0xd6, 0x00, 0xda, 0x00, 0xd9, 0x00, 0xdb, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xc8, 0xff, 0x7e, 0xff, 0x2b, 0x2a, 0x5d, 0xff, 0x28, 0x2a, - 0x00, 0x00, 0x3d, 0xff, 0x45, 0x00, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x74, 0x00, - 0x26, 0x00, 0x25, 0x00, 0x40, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x08, 0x00, 0xe2, 0xff, 0xe7, 0xff, 0xf1, 0xff, 0xea, 0xff, 0x00, 0x00, 0xca, 0xff, - 0xd0, 0xff, 0x00, 0x00, 0x00, 0x00, 0xc4, 0xff, 0xc0, 0xff, 0xf9, 0xff, 0x50, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x1c, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xf8, 0xff, 0x00, 0x00, 0xb2, 0xe7, 0xb3, 0xe7, 0xbc, 0xe7, 0xbe, 0xe7, 0xbd, 0xe7, - 0xc4, 0xe7, 0xdc, 0xe7, 0xc3, 0x89, 0x40, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc6, 0xff, - 0x41, 0xe2, 0x00, 0x00, 0xf8, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xf8, 0xff, 0x00, 0x00, 0xb6, 0xff, 0xf7, 0xff, 0xfb, 0xe3, 0xaa, 0xff, 0x9c, 0xff, - 0x90, 0xff, 0x80, 0xff, 0x82, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa3, 0xe2, - 0x41, 0xdf, 0xba, 0xdf, 0x1c, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, - 0x09, 0xd6, 0x1a, 0xf1, 0x19, 0xd6, 0x00, 0x00, 0x00, 0x00, 0xe4, 0xd5, 0x03, 0xd6, 0xe1, 0xd5, - 0xe2, 0xd5, 0xc1, 0xd5, 0x00, 0x00, 0xfc, 0x75, 0x00, 0x00, 0xd8, 0x5a, 0x00, 0x00, 0xbc, 0x5a, - 0xb1, 0x5a, 0xb5, 0x5a, 0xbf, 0x5a, 0xee, 0x5a, 0xd6, 0x5a, 0xeb, 0x5a, 0xa0, 0x03, 0xd0, 0xff, - 0xbd, 0x5a, 0xc8, 0x75, 0x00, 0x00, 0x30, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00 - }; - - [Conditional("DEBUG")] - private static void AssertNumericGraphemeTableLevels(int level1BitCount, int level2BitCount, int level3BitCount) - { - // Ensures that the caller expects the same L1:L2:L3 count as the actual backing data. - Debug.Assert(level1BitCount == 11, "Unexpected level 1 bit count."); - Debug.Assert(level2BitCount == 5, "Unexpected level 2 bit count."); - Debug.Assert(level3BitCount == 4, "Unexpected level 3 bit count."); - } - - // 11:5:4 index table of the Unicode numeric & text segmentation data. - private static ReadOnlySpan NumericGraphemeLevel1Index => new byte[2176] - { - 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0a, - 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x0a, 0x16, 0x17, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x1b, 0x1c, 0x1d, - 0x1e, 0x1f, 0x20, 0x21, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x23, 0x24, 0x0a, 0x25, - 0x26, 0x27, 0x28, 0x0a, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, - 0x0a, 0x0a, 0x35, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x36, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x37, 0x0a, 0x38, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x39, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x3a, 0x3b, 0x0a, 0x3c, 0x0a, 0x3d, 0x0a, 0x0a, - 0x3e, 0x3f, 0x0a, 0x0a, 0x40, 0x0a, 0x41, 0x0a, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x4a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x4b, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a - }; - - private static ReadOnlySpan NumericGraphemeLevel2Index => new byte[4928] - { - 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x04, 0x00, - 0x01, 0x00, 0x01, 0x00, 0x05, 0x00, 0x06, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x07, 0x00, 0x07, 0x00, 0x07, 0x00, 0x07, 0x00, 0x07, 0x00, 0x07, 0x00, 0x07, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x08, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x09, 0x00, 0x07, 0x00, 0x0a, 0x00, 0x0b, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x0c, 0x00, 0x0d, 0x00, 0x02, 0x00, 0x02, 0x00, 0x0e, 0x00, 0x07, 0x00, 0x03, 0x00, 0x0f, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x10, 0x00, 0x11, 0x00, 0x03, 0x00, - 0x12, 0x00, 0x13, 0x00, 0x02, 0x00, 0x07, 0x00, 0x14, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x15, 0x00, 0x0f, 0x00, 0x03, 0x00, 0x02, 0x00, 0x0e, 0x00, 0x16, 0x00, - 0x02, 0x00, 0x17, 0x00, 0x18, 0x00, 0x02, 0x00, 0x02, 0x00, 0x19, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x1a, 0x00, 0x1b, 0x00, 0x07, 0x00, - 0x1c, 0x00, 0x02, 0x00, 0x02, 0x00, 0x1d, 0x00, 0x1e, 0x00, 0x1f, 0x00, 0x20, 0x00, 0x02, 0x00, - 0x21, 0x00, 0x02, 0x00, 0x02, 0x00, 0x22, 0x00, 0x23, 0x00, 0x24, 0x00, 0x20, 0x00, 0x25, 0x00, - 0x26, 0x00, 0x02, 0x00, 0x02, 0x00, 0x27, 0x00, 0x28, 0x00, 0x13, 0x00, 0x29, 0x00, 0x2a, 0x00, - 0x26, 0x00, 0x02, 0x00, 0x02, 0x00, 0x27, 0x00, 0x2b, 0x00, 0x02, 0x00, 0x20, 0x00, 0x2c, 0x00, - 0x21, 0x00, 0x02, 0x00, 0x02, 0x00, 0x2d, 0x00, 0x23, 0x00, 0x2e, 0x00, 0x20, 0x00, 0x2f, 0x00, - 0x30, 0x00, 0x02, 0x00, 0x02, 0x00, 0x31, 0x00, 0x32, 0x00, 0x24, 0x00, 0x29, 0x00, 0x33, 0x00, - 0x34, 0x00, 0x02, 0x00, 0x02, 0x00, 0x35, 0x00, 0x36, 0x00, 0x37, 0x00, 0x20, 0x00, 0x38, 0x00, - 0x21, 0x00, 0x02, 0x00, 0x02, 0x00, 0x39, 0x00, 0x3a, 0x00, 0x37, 0x00, 0x20, 0x00, 0x02, 0x00, - 0x3b, 0x00, 0x02, 0x00, 0x02, 0x00, 0x3c, 0x00, 0x3d, 0x00, 0x3e, 0x00, 0x20, 0x00, 0x3f, 0x00, - 0x21, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x40, 0x00, 0x41, 0x00, 0x29, 0x00, 0x42, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x43, 0x00, 0x44, 0x00, 0x03, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x45, 0x00, 0x46, 0x00, 0x03, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x47, 0x00, 0x48, 0x00, 0x49, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x4a, 0x00, - 0x4b, 0x00, 0x4c, 0x00, 0x07, 0x00, 0x4d, 0x00, 0x4e, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x4f, 0x00, 0x50, 0x00, 0x03, 0x00, 0x51, 0x00, 0x0f, 0x00, 0x52, 0x00, - 0x53, 0x00, 0x54, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x55, 0x00, 0x55, 0x00, 0x55, 0x00, 0x55, 0x00, 0x55, 0x00, 0x55, 0x00, 0x56, 0x00, 0x56, 0x00, - 0x56, 0x00, 0x56, 0x00, 0x57, 0x00, 0x58, 0x00, 0x58, 0x00, 0x58, 0x00, 0x58, 0x00, 0x58, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x4f, 0x00, 0x59, 0x00, 0x5a, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x5b, 0x00, 0x5c, 0x00, - 0x02, 0x00, 0x5d, 0x00, 0x02, 0x00, 0x5d, 0x00, 0x02, 0x00, 0x5e, 0x00, 0x02, 0x00, 0x5e, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x5f, 0x00, 0x60, 0x00, 0x16, 0x00, 0x03, 0x00, 0x61, 0x00, - 0x62, 0x00, 0x03, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x37, 0x00, 0x02, 0x00, 0x63, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x64, 0x00, 0x65, 0x00, 0x29, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x66, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x67, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x68, 0x00, 0x69, 0x00, 0x6a, 0x00, - 0x03, 0x00, 0x03, 0x00, 0x02, 0x00, 0x07, 0x00, 0x0f, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x6b, 0x00, 0x02, 0x00, 0x02, 0x00, 0x6c, 0x00, 0x6d, 0x00, 0x03, 0x00, 0x0e, 0x00, 0x6e, 0x00, - 0x6f, 0x00, 0x02, 0x00, 0x70, 0x00, 0x03, 0x00, 0x02, 0x00, 0x02, 0x00, 0x71, 0x00, 0x3b, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x72, 0x00, 0x73, 0x00, 0x03, 0x00, 0x03, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x74, 0x00, 0x75, 0x00, 0x76, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x07, 0x00, 0x07, 0x00, 0x07, 0x00, 0x77, 0x00, - 0x78, 0x00, 0x02, 0x00, 0x79, 0x00, 0x7a, 0x00, 0x7b, 0x00, 0x02, 0x00, 0x01, 0x00, 0x7c, 0x00, - 0x7d, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x07, 0x00, 0x07, 0x00, 0x0f, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x7e, 0x00, 0x7b, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x80, 0x00, 0x80, 0x00, - 0x81, 0x00, 0x82, 0x00, 0x83, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x84, 0x00, 0x85, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x85, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x86, 0x00, 0x02, 0x00, 0x87, 0x00, 0x88, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x89, 0x00, 0x8a, 0x00, - 0x8b, 0x00, 0x8c, 0x00, 0x02, 0x00, 0x02, 0x00, 0x7e, 0x00, 0x02, 0x00, 0x8d, 0x00, 0x8e, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x84, 0x00, 0x8f, 0x00, 0x90, 0x00, 0x02, 0x00, 0x02, 0x00, 0x91, 0x00, - 0x92, 0x00, 0x93, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, - 0x95, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, - 0x96, 0x00, 0x97, 0x00, 0x98, 0x00, 0x99, 0x00, 0x9a, 0x00, 0x9b, 0x00, 0x9c, 0x00, 0x9d, 0x00, - 0x9e, 0x00, 0x9f, 0x00, 0xa0, 0x00, 0xa1, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0xa2, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0xa3, 0x00, 0xa4, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0xa5, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0xa6, 0x00, 0xa7, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0xa6, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x07, 0x00, 0x07, 0x00, - 0xa8, 0x00, 0x02, 0x00, 0xa9, 0x00, 0xaa, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0xab, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0xac, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0xad, 0x00, 0x02, 0x00, 0xae, 0x00, 0xaf, 0x00, 0x02, 0x00, 0x02, 0x00, - 0xad, 0x00, 0xb0, 0x00, 0x02, 0x00, 0xb1, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x03, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0xa6, 0x00, 0xb2, 0x00, - 0x02, 0x00, 0x35, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0xb3, 0x00, 0xb4, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0xb5, 0x00, 0x02, 0x00, 0xb6, 0x00, 0xb7, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0xb8, 0x00, 0x02, 0x00, 0x02, 0x00, 0xb9, 0x00, 0xba, 0x00, 0x03, 0x00, 0x07, 0x00, 0xbb, 0x00, - 0x03, 0x00, 0x02, 0x00, 0xbc, 0x00, 0x02, 0x00, 0xbd, 0x00, 0x3b, 0x00, 0x55, 0x00, 0xbe, 0x00, - 0x1c, 0x00, 0x02, 0x00, 0x02, 0x00, 0xbf, 0x00, 0xc0, 0x00, 0x03, 0x00, 0xc1, 0x00, 0x03, 0x00, - 0x02, 0x00, 0x02, 0x00, 0xc2, 0x00, 0xc3, 0x00, 0xc4, 0x00, 0x03, 0x00, 0x02, 0x00, 0xc5, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0xc6, 0x00, 0x13, 0x00, 0x02, 0x00, 0xc7, 0x00, 0xc8, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0xc9, 0x00, 0x03, 0x00, - 0xca, 0x00, 0xcb, 0x00, 0xcc, 0x00, 0xcd, 0x00, 0xcc, 0x00, 0xce, 0x00, 0xcc, 0x00, 0xca, 0x00, - 0xcb, 0x00, 0xcc, 0x00, 0xcd, 0x00, 0xcc, 0x00, 0xce, 0x00, 0xcc, 0x00, 0xca, 0x00, 0xcb, 0x00, - 0xcc, 0x00, 0xcd, 0x00, 0xcc, 0x00, 0xce, 0x00, 0xcc, 0x00, 0xca, 0x00, 0xcb, 0x00, 0xcc, 0x00, - 0xcd, 0x00, 0xcc, 0x00, 0xce, 0x00, 0xcc, 0x00, 0xca, 0x00, 0xcb, 0x00, 0xcc, 0x00, 0xcd, 0x00, - 0xcc, 0x00, 0xce, 0x00, 0xcc, 0x00, 0xca, 0x00, 0xcb, 0x00, 0xcc, 0x00, 0xcd, 0x00, 0xcc, 0x00, - 0xce, 0x00, 0xcc, 0x00, 0xca, 0x00, 0xcb, 0x00, 0xcc, 0x00, 0xcd, 0x00, 0xcc, 0x00, 0xce, 0x00, - 0xcc, 0x00, 0xca, 0x00, 0xcb, 0x00, 0xcc, 0x00, 0xcd, 0x00, 0xcc, 0x00, 0xce, 0x00, 0xcc, 0x00, - 0xca, 0x00, 0xcb, 0x00, 0xcc, 0x00, 0xcd, 0x00, 0xcc, 0x00, 0xce, 0x00, 0xcc, 0x00, 0xca, 0x00, - 0xcb, 0x00, 0xcc, 0x00, 0xcd, 0x00, 0xcc, 0x00, 0xce, 0x00, 0xcc, 0x00, 0xca, 0x00, 0xcb, 0x00, - 0xcc, 0x00, 0xcd, 0x00, 0xcc, 0x00, 0xce, 0x00, 0xcc, 0x00, 0xca, 0x00, 0xcb, 0x00, 0xcc, 0x00, - 0xcd, 0x00, 0xcc, 0x00, 0xce, 0x00, 0xcc, 0x00, 0xca, 0x00, 0xcb, 0x00, 0xcc, 0x00, 0xcd, 0x00, - 0xcc, 0x00, 0xce, 0x00, 0xcc, 0x00, 0xca, 0x00, 0xcb, 0x00, 0xcc, 0x00, 0xcd, 0x00, 0xcc, 0x00, - 0xce, 0x00, 0xcc, 0x00, 0xca, 0x00, 0xcb, 0x00, 0xcc, 0x00, 0xcd, 0x00, 0xcc, 0x00, 0xce, 0x00, - 0xcc, 0x00, 0xca, 0x00, 0xcb, 0x00, 0xcc, 0x00, 0xcd, 0x00, 0xcc, 0x00, 0xce, 0x00, 0xcc, 0x00, - 0xca, 0x00, 0xcb, 0x00, 0xcc, 0x00, 0xcd, 0x00, 0xcc, 0x00, 0xce, 0x00, 0xcc, 0x00, 0xca, 0x00, - 0xcb, 0x00, 0xcc, 0x00, 0xcd, 0x00, 0xcc, 0x00, 0xce, 0x00, 0xcc, 0x00, 0xca, 0x00, 0xcb, 0x00, - 0xcc, 0x00, 0xcd, 0x00, 0xcc, 0x00, 0xce, 0x00, 0xcc, 0x00, 0xca, 0x00, 0xcb, 0x00, 0xcc, 0x00, - 0xcd, 0x00, 0xcc, 0x00, 0xce, 0x00, 0xcc, 0x00, 0xca, 0x00, 0xcb, 0x00, 0xcc, 0x00, 0xcd, 0x00, - 0xcc, 0x00, 0xce, 0x00, 0xcc, 0x00, 0xca, 0x00, 0xcb, 0x00, 0xcc, 0x00, 0xcd, 0x00, 0xcc, 0x00, - 0xce, 0x00, 0xcc, 0x00, 0xca, 0x00, 0xcb, 0x00, 0xcc, 0x00, 0xcd, 0x00, 0xcc, 0x00, 0xce, 0x00, - 0xcc, 0x00, 0xca, 0x00, 0xcb, 0x00, 0xcc, 0x00, 0xcd, 0x00, 0xcc, 0x00, 0xce, 0x00, 0xcc, 0x00, - 0xca, 0x00, 0xcb, 0x00, 0xcc, 0x00, 0xcd, 0x00, 0xcc, 0x00, 0xce, 0x00, 0xcc, 0x00, 0xca, 0x00, - 0xcb, 0x00, 0xcc, 0x00, 0xcd, 0x00, 0xcc, 0x00, 0xce, 0x00, 0xcc, 0x00, 0xca, 0x00, 0xcb, 0x00, - 0xcc, 0x00, 0xcd, 0x00, 0xcc, 0x00, 0xce, 0x00, 0xcc, 0x00, 0xca, 0x00, 0xcb, 0x00, 0xcc, 0x00, - 0xcd, 0x00, 0xcc, 0x00, 0xce, 0x00, 0xcc, 0x00, 0xca, 0x00, 0xcb, 0x00, 0xcc, 0x00, 0xcd, 0x00, - 0xcc, 0x00, 0xce, 0x00, 0xcc, 0x00, 0xca, 0x00, 0xcb, 0x00, 0xcc, 0x00, 0xcd, 0x00, 0xcc, 0x00, - 0xce, 0x00, 0xcc, 0x00, 0xca, 0x00, 0xcb, 0x00, 0xcc, 0x00, 0xcd, 0x00, 0xcc, 0x00, 0xce, 0x00, - 0xcc, 0x00, 0xca, 0x00, 0xcb, 0x00, 0xcc, 0x00, 0xcd, 0x00, 0xcc, 0x00, 0xce, 0x00, 0xcc, 0x00, - 0xca, 0x00, 0xcb, 0x00, 0xcc, 0x00, 0xcd, 0x00, 0xcc, 0x00, 0xce, 0x00, 0xcc, 0x00, 0xca, 0x00, - 0xcb, 0x00, 0xcc, 0x00, 0xcd, 0x00, 0xcc, 0x00, 0xce, 0x00, 0xcc, 0x00, 0xca, 0x00, 0xcb, 0x00, - 0xcc, 0x00, 0xcd, 0x00, 0xcc, 0x00, 0xce, 0x00, 0xcc, 0x00, 0xca, 0x00, 0xcb, 0x00, 0xcc, 0x00, - 0xcd, 0x00, 0xcc, 0x00, 0xcf, 0x00, 0x56, 0x00, 0xd0, 0x00, 0x58, 0x00, 0x58, 0x00, 0xd1, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0xd2, 0x00, 0xd3, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0xd4, 0x00, 0x02, 0x00, 0xd5, 0x00, 0x02, 0x00, 0xd6, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0xd7, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x07, 0x00, 0x02, 0x00, 0x07, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x04, 0x00, - 0x02, 0x00, 0x03, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x35, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0xd8, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0xd9, 0x00, 0xda, 0x00, 0xdb, 0x00, 0xdc, 0x00, 0xdd, 0x00, 0xde, 0x00, 0xdf, 0x00, 0xe0, 0x00, - 0xe1, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0xe2, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0xe3, 0x00, 0xe4, 0x00, - 0x02, 0x00, 0x02, 0x00, 0xe5, 0x00, 0x02, 0x00, 0xe6, 0x00, 0x02, 0x00, 0x02, 0x00, 0xe7, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0xe8, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x03, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0xe9, 0x00, 0x02, 0x00, 0xea, 0x00, - 0x02, 0x00, 0x02, 0x00, 0xeb, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0xec, 0x00, - 0x02, 0x00, 0xed, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0xee, 0x00, 0xef, 0x00, 0xf0, 0x00, 0xf1, 0x00, 0xf2, 0x00, - 0xf3, 0x00, 0x02, 0x00, 0x02, 0x00, 0xf4, 0x00, 0xf5, 0x00, 0x02, 0x00, 0x02, 0x00, 0xf6, 0x00, - 0x02, 0x00, 0xf7, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0xf8, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0xf9, 0x00, 0x02, 0x00, 0xf9, 0x00, - 0x02, 0x00, 0x02, 0x00, 0xfa, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0xfb, 0x00, - 0x02, 0x00, 0x02, 0x00, 0xfc, 0x00, 0x03, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0xfd, 0x00, 0xfe, 0x00, - 0x02, 0x00, 0x02, 0x00, 0xff, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x00, 0x01, 0x01, 0x01, 0x02, 0x00, 0x15, 0x00, 0x02, 0x01, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x03, 0x01, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x04, 0x01, 0x02, 0x00, 0x02, 0x00, 0x05, 0x01, 0x06, 0x01, 0x07, 0x01, 0x08, 0x01, 0xa6, 0x00, - 0x6f, 0x00, 0x02, 0x00, 0x02, 0x00, 0x09, 0x01, 0x0a, 0x01, 0x02, 0x00, 0x02, 0x00, 0x03, 0x00, - 0x0b, 0x01, 0x02, 0x00, 0x0c, 0x01, 0x0d, 0x01, 0x0e, 0x01, 0x02, 0x00, 0x02, 0x00, 0x0f, 0x01, - 0x6f, 0x00, 0x02, 0x00, 0x02, 0x00, 0x10, 0x01, 0x11, 0x01, 0x03, 0x00, 0x12, 0x01, 0x13, 0x01, - 0x02, 0x00, 0x02, 0x00, 0x14, 0x01, 0x15, 0x01, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0xa6, 0x00, 0x16, 0x01, 0x03, 0x00, - 0x3b, 0x00, 0x02, 0x00, 0x02, 0x00, 0x3c, 0x00, 0x17, 0x01, 0x24, 0x00, 0x18, 0x01, 0x19, 0x01, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x1a, 0x01, 0x1b, 0x01, 0x1c, 0x01, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x1d, 0x01, 0x1e, 0x01, 0x03, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0xa6, 0x00, 0x1f, 0x01, 0x0f, 0x00, 0x20, 0x01, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x21, 0x01, 0x0f, 0x00, 0x03, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x22, 0x01, 0x23, 0x01, 0x03, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x4f, 0x00, 0x24, 0x01, 0x25, 0x01, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x14, 0x01, 0x26, 0x01, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x27, 0x01, 0x28, 0x01, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x29, 0x01, 0x2a, 0x01, 0x03, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x2b, 0x01, 0x2c, 0x01, 0x02, 0x00, - 0x2d, 0x01, 0x02, 0x00, 0x02, 0x00, 0x2e, 0x01, 0x24, 0x00, 0x2f, 0x01, 0x02, 0x00, 0x02, 0x00, - 0x30, 0x01, 0x31, 0x01, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x32, 0x01, 0x33, 0x01, 0x02, 0x00, 0x34, 0x01, 0x35, 0x01, 0x02, 0x00, - 0x02, 0x00, 0x36, 0x01, 0x37, 0x01, 0x38, 0x01, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x39, 0x01, 0x3a, 0x01, 0x03, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x3b, 0x01, 0x3c, 0x01, 0x03, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x3d, 0x01, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x3e, 0x01, 0x3f, 0x01, 0x02, 0x00, 0x02, 0x00, - 0x40, 0x01, 0x41, 0x01, 0x42, 0x01, 0x43, 0x01, 0x44, 0x01, 0x45, 0x01, 0x46, 0x01, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x47, 0x01, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x03, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x19, 0x01, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x06, 0x01, 0x02, 0x00, 0x48, 0x01, 0x49, 0x01, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x4a, 0x01, 0x4b, 0x01, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0xa6, 0x00, 0x4c, 0x01, 0x4d, 0x01, 0x4d, 0x01, - 0x4e, 0x01, 0x0b, 0x01, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x4f, 0x01, 0xb8, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x50, 0x01, 0x51, 0x01, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x52, 0x01, 0x53, 0x01, - 0x54, 0x01, 0x02, 0x00, 0x55, 0x01, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x5d, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x4a, 0x01, 0x56, 0x01, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0xef, 0x00, 0x57, 0x01, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x58, 0x01, 0x59, 0x01, 0x5a, 0x01, 0x5b, 0x01, - 0x07, 0x00, 0x07, 0x00, 0x07, 0x00, 0x5c, 0x01, 0x07, 0x00, 0x07, 0x00, 0x4d, 0x00, 0xc1, 0x00, - 0x4f, 0x01, 0x0e, 0x00, 0x09, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x5d, 0x01, 0x5e, 0x01, 0x5f, 0x01, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x06, 0x01, 0x03, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x60, 0x01, 0x03, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0xd9, 0x00, 0x06, 0x01, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x61, 0x01, 0x03, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x12, 0x01, - 0x62, 0x01, 0x63, 0x01, 0x64, 0x01, 0x65, 0x01, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x12, 0x01, 0x62, 0x01, 0x66, 0x01, 0x67, 0x01, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, - 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, - 0x68, 0x01, 0x02, 0x00, 0x86, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x69, 0x01, 0x6a, 0x01, - 0x6b, 0x01, 0x6c, 0x01, 0x6d, 0x01, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x6e, 0x01, 0x6f, 0x01, - 0x70, 0x01, 0x71, 0x01, 0x86, 0x00, 0x72, 0x01, 0x87, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, - 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, - 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, - 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x73, 0x01, - 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, - 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, - 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x74, 0x01, 0x75, 0x01, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, - 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, - 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x76, 0x01, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x77, 0x01, 0x94, 0x00, 0x94, 0x00, - 0x69, 0x01, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x78, 0x01, 0x79, 0x01, 0x02, 0x00, 0x02, 0x00, - 0x78, 0x01, 0x02, 0x00, 0x7a, 0x01, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, - 0x69, 0x01, 0x94, 0x00, 0x94, 0x00, 0x7b, 0x01, 0x92, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, - 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, - 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, - 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x03, 0x00, - 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, - 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, - 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, - 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, - 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, - 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, - 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, - 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x94, 0x00, 0x74, 0x01, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x7c, 0x01, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, - 0x01, 0x00, 0x01, 0x00, 0x07, 0x00, 0x07, 0x00, 0x07, 0x00, 0x07, 0x00, 0x07, 0x00, 0x07, 0x00, - 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, - 0x07, 0x00, 0x07, 0x00, 0x07, 0x00, 0x07, 0x00, 0x07, 0x00, 0x07, 0x00, 0x07, 0x00, 0x07, 0x00, - 0x07, 0x00, 0x07, 0x00, 0x07, 0x00, 0x07, 0x00, 0x07, 0x00, 0x07, 0x00, 0x07, 0x00, 0x01, 0x00, - 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, - 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, - 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, - 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00 - }; - - private static ReadOnlySpan NumericGraphemeLevel3Index => new byte[6096] - { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x0e, 0x03, 0x03, 0x03, 0x00, 0x0e, 0x03, - 0x03, 0x03, 0x0f, 0x10, 0x03, 0x03, 0x03, 0x03, 0x03, 0x11, 0x03, 0x03, 0x12, 0x13, 0x14, 0x03, - 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, - 0x03, 0x03, 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, - 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x15, - 0x03, 0x15, 0x15, 0x03, 0x15, 0x15, 0x03, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x00, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, - 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x16, 0x03, 0x15, - 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, 0x15, 0x15, 0x03, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x16, - 0x03, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, - 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x15, 0x15, 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, - 0x15, 0x15, 0x15, 0x15, 0x03, 0x15, 0x15, 0x15, 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, - 0x15, 0x15, 0x16, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, - 0x15, 0x15, 0x15, 0x17, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x17, 0x15, 0x03, 0x17, 0x17, - 0x17, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x17, 0x17, 0x17, 0x17, 0x15, 0x17, 0x17, - 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x15, 0x15, 0x03, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, - 0x03, 0x15, 0x17, 0x17, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x03, 0x15, 0x17, - 0x17, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, 0x17, 0x17, 0x03, 0x03, 0x17, 0x17, 0x15, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x18, 0x19, 0x1a, 0x12, 0x14, 0x1b, 0x03, 0x03, 0x03, 0x03, 0x15, 0x03, - 0x03, 0x15, 0x15, 0x17, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x03, 0x17, 0x17, - 0x17, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x03, 0x03, 0x15, 0x15, 0x15, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, - 0x15, 0x15, 0x03, 0x03, 0x03, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x17, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x15, 0x15, 0x17, 0x03, 0x17, 0x17, 0x15, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x03, 0x15, 0x15, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x12, 0x13, 0x14, 0x18, 0x19, 0x1a, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x17, - 0x15, 0x17, 0x17, 0x03, 0x03, 0x03, 0x17, 0x17, 0x17, 0x03, 0x17, 0x17, 0x17, 0x15, 0x03, 0x03, - 0x1c, 0x1d, 0x1e, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x15, 0x17, 0x17, 0x17, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, - 0x15, 0x17, 0x17, 0x17, 0x17, 0x03, 0x15, 0x15, 0x15, 0x03, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x1f, 0x20, 0x21, 0x22, 0x20, 0x21, 0x22, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x03, 0x17, 0x15, - 0x17, 0x17, 0x15, 0x17, 0x17, 0x03, 0x15, 0x17, 0x17, 0x03, 0x17, 0x17, 0x15, 0x15, 0x03, 0x03, - 0x15, 0x15, 0x17, 0x17, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x03, 0x15, 0x17, - 0x17, 0x15, 0x15, 0x15, 0x15, 0x03, 0x17, 0x17, 0x17, 0x03, 0x17, 0x17, 0x17, 0x15, 0x16, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x03, - 0x1c, 0x1d, 0x1e, 0x12, 0x13, 0x14, 0x18, 0x19, 0x1a, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x03, 0x03, 0x03, 0x03, 0x15, - 0x17, 0x17, 0x15, 0x15, 0x15, 0x03, 0x15, 0x03, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x15, - 0x03, 0x03, 0x17, 0x17, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x15, 0x03, 0x17, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, - 0x03, 0x15, 0x03, 0x17, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x13, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, - 0x2f, 0x30, 0x31, 0x32, 0x03, 0x15, 0x03, 0x15, 0x03, 0x15, 0x03, 0x03, 0x03, 0x03, 0x17, 0x17, - 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x17, - 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x15, - 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, - 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x15, - 0x15, 0x17, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x15, 0x15, 0x17, 0x17, 0x15, 0x15, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x17, 0x17, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, - 0x03, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x15, 0x03, 0x17, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x03, 0x03, - 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x03, 0x03, 0x03, 0x15, 0x03, 0x03, - 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, - 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, - 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, - 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x11, 0x0f, 0x10, 0x36, 0x37, 0x38, 0x39, - 0x3a, 0x3b, 0x1c, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x1d, 0x44, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x45, 0x46, - 0x47, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x15, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x17, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x17, 0x17, - 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x15, 0x17, 0x17, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, - 0x1f, 0x20, 0x21, 0x22, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x15, 0x00, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x15, 0x15, 0x15, 0x17, 0x17, 0x17, 0x17, 0x15, 0x15, 0x17, 0x17, 0x17, 0x03, 0x03, 0x03, 0x03, - 0x17, 0x17, 0x15, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x15, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, - 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x11, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x17, 0x17, 0x15, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x17, 0x15, 0x17, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, - 0x15, 0x03, 0x15, 0x03, 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x17, 0x17, 0x17, - 0x17, 0x17, 0x17, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, 0x15, - 0x15, 0x15, 0x15, 0x15, 0x17, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x17, 0x15, 0x17, 0x17, 0x17, - 0x17, 0x17, 0x15, 0x17, 0x17, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x15, 0x15, 0x17, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x17, 0x15, 0x15, 0x15, 0x15, 0x17, 0x17, 0x15, 0x15, 0x17, 0x15, 0x15, 0x15, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x17, 0x15, 0x15, 0x17, 0x17, 0x17, 0x15, 0x17, 0x15, - 0x03, 0x03, 0x03, 0x03, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x15, 0x15, 0x15, 0x15, - 0x15, 0x15, 0x15, 0x15, 0x17, 0x17, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x15, 0x15, 0x15, 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, - 0x15, 0x17, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x15, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x15, 0x03, 0x03, 0x17, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x15, 0x4e, 0x00, 0x00, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x0e, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x0e, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x4f, 0x03, 0x03, 0x03, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x4f, 0x11, 0x0f, 0x10, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x0e, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x50, 0x51, 0x27, 0x52, 0x53, 0x29, 0x54, 0x55, 0x56, 0x57, 0x58, 0x19, 0x59, 0x5a, 0x5b, 0x20, - 0x20, 0x21, 0x22, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x1c, 0x5c, 0x5d, 0x3f, 0x1d, 0x5e, 0x1e, - 0x1e, 0x5f, 0x44, 0x03, 0x03, 0x4a, 0x3f, 0x60, 0x61, 0x1f, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x0e, 0x0e, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x0e, 0x0e, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x0e, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x0e, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, - 0x0e, 0x0e, 0x0e, 0x0e, 0x03, 0x03, 0x03, 0x03, 0x0e, 0x0e, 0x0e, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x11, 0x0f, 0x10, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x1c, 0x5c, 0x5d, 0x62, 0x63, 0x64, 0x1b, - 0x45, 0x46, 0x47, 0x3c, 0x11, 0x0f, 0x10, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x1c, 0x5c, 0x5d, - 0x62, 0x63, 0x64, 0x1b, 0x45, 0x46, 0x47, 0x3c, 0x11, 0x0f, 0x10, 0x36, 0x37, 0x38, 0x39, 0x3a, - 0x3b, 0x1c, 0x5c, 0x5d, 0x62, 0x63, 0x64, 0x1b, 0x45, 0x46, 0x47, 0x3c, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x4f, 0x5c, 0x5d, 0x62, 0x63, 0x64, - 0x1b, 0x45, 0x46, 0x47, 0x3c, 0x11, 0x0f, 0x10, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x1c, 0x4f, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x0e, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x0e, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x0e, 0x0e, 0x0e, 0x0e, 0x03, - 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x03, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, - 0x0e, 0x0e, 0x0e, 0x03, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, - 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, - 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x03, 0x03, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, - 0x0e, 0x0e, 0x0e, 0x03, 0x0e, 0x03, 0x0e, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x0e, 0x03, 0x03, - 0x03, 0x0e, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x0e, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x0e, 0x0e, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x0e, 0x03, 0x03, 0x0e, 0x03, 0x03, 0x03, 0x03, 0x0e, 0x03, 0x0e, 0x03, - 0x03, 0x03, 0x03, 0x0e, 0x0e, 0x0e, 0x03, 0x0e, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x11, 0x0f, 0x10, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x1c, - 0x11, 0x0f, 0x10, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x1c, 0x11, 0x0f, 0x10, 0x36, 0x37, 0x38, - 0x39, 0x3a, 0x3b, 0x1c, 0x03, 0x0e, 0x0e, 0x0e, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x0e, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x0e, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x0e, - 0x03, 0x03, 0x03, 0x03, 0x0e, 0x0e, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x0e, 0x0e, 0x0e, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x0e, 0x0e, 0x03, 0x03, 0x03, - 0x0e, 0x03, 0x03, 0x03, 0x03, 0x0e, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, - 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x13, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x1f, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x20, 0x21, 0x22, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, - 0x0e, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x1c, 0x3c, 0x3d, 0x03, 0x03, 0x0e, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x20, 0x21, 0x22, 0x48, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x20, 0x21, 0x22, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x1c, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x1c, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, - 0x03, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x3d, 0x6e, 0x6f, 0x70, 0x71, 0x72, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x0e, 0x03, 0x0e, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x73, 0x74, 0x75, 0x76, 0x3e, 0x77, 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, 0x3f, - 0x15, 0x15, 0x15, 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x20, 0x21, 0x22, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x1f, - 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x15, 0x03, 0x03, 0x03, 0x15, 0x03, 0x03, 0x03, 0x03, 0x15, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x17, 0x17, 0x15, 0x15, 0x17, 0x03, 0x03, 0x03, 0x03, 0x15, 0x03, 0x03, 0x03, - 0x12, 0x13, 0x14, 0x18, 0x19, 0x1a, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x17, 0x17, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, - 0x17, 0x17, 0x17, 0x17, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, - 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x15, 0x17, 0x17, 0x15, 0x15, 0x15, 0x15, 0x17, 0x17, 0x15, 0x15, 0x17, 0x17, - 0x17, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x17, - 0x17, 0x15, 0x15, 0x17, 0x17, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x17, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x03, 0x03, 0x03, - 0x15, 0x03, 0x15, 0x15, 0x15, 0x03, 0x03, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x17, 0x15, 0x15, 0x17, 0x17, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x17, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x17, 0x17, 0x15, 0x17, 0x17, 0x15, 0x17, 0x17, 0x03, 0x17, 0x15, 0x03, 0x03, - 0x80, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, - 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x80, 0x81, 0x81, 0x81, - 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, - 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x80, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, - 0x81, 0x81, 0x81, 0x81, 0x80, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, - 0x81, 0x81, 0x81, 0x81, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x03, 0x03, 0x03, 0x03, 0x35, 0x35, 0x35, 0x35, 0x35, - 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x22, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x1c, 0x03, 0x03, 0x03, 0x03, 0x21, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x1f, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x4a, 0x03, 0x4a, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x1c, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x03, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x20, 0x21, 0x22, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, - 0x1c, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x1d, 0x82, 0x83, 0x84, 0x5e, 0x85, 0x86, - 0x87, 0x88, 0x1e, 0x89, 0x8a, 0x8b, 0x5f, 0x8c, 0x8d, 0x8e, 0x8f, 0x44, 0x90, 0x91, 0x92, 0x60, - 0x93, 0x94, 0x95, 0x96, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x12, 0x13, 0x20, 0x49, 0x3f, 0x5e, 0x5f, 0x60, 0x49, 0x1c, 0x3f, 0x1d, 0x5e, 0x1e, 0x5f, 0x49, - 0x1c, 0x3f, 0x1d, 0x5e, 0x1e, 0x44, 0x60, 0x1c, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x49, - 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f, 0x1d, 0x83, 0x5e, 0x5e, 0x5e, 0x5e, - 0x5e, 0x1e, 0x5f, 0x49, 0x3f, 0x13, 0x13, 0x53, 0x14, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x1f, 0x12, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x03, 0x03, - 0x15, 0x20, 0x21, 0x22, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x1c, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, - 0x41, 0x42, 0x43, 0x1d, 0x82, 0x83, 0x84, 0x5e, 0x85, 0x86, 0x87, 0x88, 0x03, 0x03, 0x03, 0x03, - 0x20, 0x49, 0x1c, 0x3f, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x43, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x88, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x20, 0x21, 0x1c, 0x3c, 0x1d, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x20, 0x21, 0x22, 0x1c, 0x3c, 0x1d, 0x1e, 0x44, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x20, 0x21, 0x22, 0x48, 0x49, 0x1c, 0x3c, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x20, 0x21, 0x22, 0x48, 0x48, 0x49, 0x1c, 0x3c, 0x1d, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x20, 0x49, 0x1c, 0x3c, 0x1d, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x20, 0x1c, 0x3c, 0x1d, 0x21, 0x22, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x97, 0x13, 0x03, 0x03, - 0x20, 0x21, 0x22, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x1c, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, - 0x03, 0x03, 0x1d, 0x82, 0x83, 0x84, 0x5e, 0x85, 0x86, 0x87, 0x88, 0x1e, 0x89, 0x8a, 0x8b, 0x5f, - 0x8c, 0x8d, 0x8e, 0x8f, 0x44, 0x90, 0x91, 0x92, 0x60, 0x93, 0x94, 0x95, 0x96, 0x61, 0x98, 0x99, - 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, 0xa0, 0x57, 0x12, 0x52, 0xa1, 0x13, 0xa2, 0x53, 0x14, 0x58, - 0x03, 0x15, 0x15, 0x15, 0x03, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x15, 0x15, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x15, - 0x11, 0x0f, 0x10, 0x36, 0x1c, 0x3c, 0x1d, 0x1e, 0x13, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x20, 0x3f, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x20, 0x1c, 0x3c, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x20, 0x49, 0x1c, 0x3c, 0x1d, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x20, 0x21, 0x22, 0x48, 0x1c, 0x3c, 0x1d, 0x1e, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x20, 0x21, 0x22, 0x48, 0x1c, 0x3c, 0x1d, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x20, 0x49, 0x1c, 0x3f, 0x1d, 0x1e, - 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x11, 0x0f, 0x10, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x1c, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, - 0x42, 0x43, 0x1d, 0x82, 0x83, 0x84, 0x5e, 0x85, 0x86, 0x87, 0x88, 0x13, 0x12, 0x52, 0x53, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x20, 0x21, 0x22, - 0x48, 0x49, 0x1c, 0x3c, 0x3d, 0x1d, 0x13, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x15, 0x20, 0x1c, 0x3c, 0x1d, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x20, 0x21, 0x22, 0x48, 0x1c, 0x3c, 0x1d, 0x03, 0x03, 0x03, 0x03, - 0x17, 0x15, 0x17, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, - 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x11, 0x0f, 0x10, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x1c, 0x3c, 0x3d, 0x3e, 0x3f, - 0x40, 0x41, 0x42, 0x43, 0x1d, 0x1e, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, - 0x17, 0x17, 0x17, 0x15, 0x15, 0x15, 0x15, 0x17, 0x17, 0x15, 0x15, 0x03, 0x03, 0x16, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x16, 0x03, 0x03, - 0x15, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x17, 0x15, 0x15, 0x15, - 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x17, 0x17, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x17, 0x17, 0x17, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x17, - 0x17, 0x03, 0x16, 0x16, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x15, 0x15, 0x03, 0x17, 0x15, - 0x03, 0x20, 0x21, 0x22, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x1c, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, - 0x41, 0x42, 0x43, 0x1d, 0x1e, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x17, 0x17, 0x17, 0x15, - 0x15, 0x15, 0x17, 0x17, 0x15, 0x17, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x03, - 0x17, 0x17, 0x17, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x15, 0x17, 0x17, 0x17, 0x17, 0x03, 0x03, 0x17, 0x17, 0x03, 0x03, 0x17, 0x17, 0x17, 0x03, 0x03, - 0x03, 0x03, 0x17, 0x17, 0x03, 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, 0x03, - 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x17, 0x17, 0x17, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, - 0x17, 0x17, 0x15, 0x15, 0x15, 0x17, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x03, 0x03, 0x03, 0x03, 0x15, 0x03, - 0x15, 0x17, 0x17, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x17, 0x15, 0x17, 0x17, 0x15, 0x17, 0x15, - 0x15, 0x17, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x17, 0x17, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, 0x17, 0x17, 0x17, 0x17, 0x15, 0x15, 0x17, 0x15, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x03, 0x03, - 0x17, 0x17, 0x17, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x17, 0x17, 0x15, 0x17, 0x15, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x17, 0x15, 0x17, 0x17, - 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x17, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x17, 0x17, 0x15, 0x15, 0x15, 0x15, 0x17, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, - 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x1c, 0x3c, 0x03, 0x03, 0x03, 0x03, - 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x17, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x1c, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, - 0x41, 0x42, 0x43, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x15, 0x17, 0x17, 0x17, 0x17, 0x17, 0x03, 0x17, 0x17, 0x03, 0x03, 0x15, 0x15, 0x17, 0x15, 0x16, - 0x17, 0x16, 0x17, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x17, 0x17, 0x17, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, 0x15, 0x15, 0x17, 0x17, 0x17, 0x17, - 0x15, 0x03, 0x03, 0x03, 0x17, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x17, 0x16, 0x15, 0x15, 0x15, 0x15, 0x03, - 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x17, 0x17, 0x15, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, - 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x17, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x17, - 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x17, 0x15, - 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x20, 0x21, 0x22, 0x48, 0x49, 0x4a, - 0x4b, 0x4c, 0x4d, 0x1c, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x1d, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, - 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x17, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, - 0x15, 0x17, 0x15, 0x15, 0x17, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, 0x03, 0x15, 0x03, 0x15, 0x15, 0x03, 0x15, - 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x16, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x17, 0x17, 0x17, 0x17, 0x17, 0x03, - 0x15, 0x15, 0x03, 0x17, 0x17, 0x15, 0x17, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x15, 0x15, 0x17, 0x17, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0xa3, 0x23, 0xa4, 0xa5, 0x24, 0xa6, 0x25, 0xa7, 0x26, 0x18, 0x18, 0x27, 0x19, 0x28, 0x1a, 0x29, - 0x12, 0x13, 0x13, 0x14, 0xa3, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x21, 0x22, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x22, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x48, - 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x20, 0x21, 0x22, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x20, 0x21, - 0x22, 0x48, 0x49, 0x21, 0x22, 0x22, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x20, 0x21, 0x22, 0x22, - 0x48, 0x49, 0xa8, 0xa9, 0x20, 0x21, 0x22, 0x22, 0x48, 0x49, 0x22, 0x22, 0x48, 0x48, 0x48, 0x48, - 0x4a, 0x4b, 0x4b, 0x4b, 0x4c, 0x4c, 0x4d, 0x4d, 0x4d, 0x4d, 0x21, 0x22, 0x48, 0x49, 0x4a, 0x20, - 0x21, 0x22, 0x48, 0x48, 0x49, 0x49, 0x21, 0x22, 0x20, 0x21, 0x52, 0x53, 0x58, 0x52, 0x53, 0x19, - 0x12, 0x57, 0x12, 0x12, 0x13, 0x52, 0x53, 0x3e, 0x3f, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x03, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x03, 0x1c, 0x1d, 0x44, 0xaa, 0xab, - 0xac, 0xad, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x1f, 0x20, 0x21, 0x22, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x1c, 0x5c, 0x5d, 0x62, 0x63, 0x64, - 0x1b, 0x45, 0x46, 0x47, 0x20, 0x21, 0x22, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, - 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, - 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, - 0x03, 0x03, 0x03, 0x03, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x03, - 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x17, 0x15, 0x15, 0x15, 0x03, 0x03, 0x03, 0x17, 0x15, 0x15, - 0x15, 0x15, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x15, 0x15, 0x15, 0x15, - 0x15, 0x15, 0x15, 0x03, 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, - 0x1b, 0x45, 0x46, 0x47, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x42, 0x43, 0x20, 0x21, 0x22, 0x48, 0x49, 0x20, 0x49, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x04, 0x05, - 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, - 0x0c, 0x0d, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x04, 0x05, 0x06, 0x07, - 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, - 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, - 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, - 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, - 0x15, 0x15, 0x03, 0x15, 0x15, 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x15, 0x15, - 0x03, 0x03, 0x03, 0x03, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x41, 0x42, 0x43, 0x1d, 0x82, 0x83, 0x84, 0x5e, 0x85, 0x86, 0x87, 0x88, 0x1e, 0x89, 0x8a, 0x8b, - 0x5f, 0x8c, 0x8d, 0x8e, 0x8f, 0x44, 0x90, 0x91, 0x92, 0x60, 0x93, 0x94, 0x95, 0x96, 0x61, 0x98, - 0x61, 0xae, 0xaf, 0x20, 0x21, 0x22, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x03, 0x12, 0x13, 0x14, - 0x03, 0x20, 0x21, 0x44, 0x61, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x5f, 0x8c, 0x8d, 0x8e, 0x8f, 0x44, 0x90, 0x91, 0x92, 0x60, 0x93, 0x94, 0x95, 0x96, 0x03, 0x21, - 0x22, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x1c, 0x84, 0x85, 0x89, 0x44, 0x13, 0x57, 0x03, 0x03, - 0x4f, 0x4f, 0x11, 0x0f, 0x10, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x1f, 0x1f, 0x0e, 0x0e, 0x0e, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x0e, 0x0e, 0x0e, 0x0e, - 0x0e, 0x0e, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x0e, 0x0e, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x0e, 0x03, - 0x03, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x0e, 0x0e, 0x0e, - 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, - 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, - 0x03, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x0e, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x03, 0x0e, 0x0e, 0x0e, 0x0e, - 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x15, 0x15, 0x15, 0x15, 0x15, - 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, - 0x03, 0x03, 0x03, 0x03, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x0e, 0x0e, - 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x03, 0x0e, 0x0e, 0x0e, 0x0e, - 0x4d, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03 - }; - - // Contains decimal digit values in high nibble; digit values in low nibble - private static ReadOnlySpan DigitValues => new byte[177] - { - 0x00, 0x00, 0x00, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0xaa, 0x00, 0x03, - 0x04, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00 - }; - - // Contains numeric values - private static ReadOnlySpan NumericValues => new byte[1416] - { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xbf, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xbf, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x3f, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x40, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x40, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x40, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x40, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x3f, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd0, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x3f, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe8, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xbf, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xbf, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x3f, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc8, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x40, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x59, 0x40, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x8f, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x40, 0x9a, 0x99, 0x99, 0x99, 0x99, 0x99, 0x79, 0x3f, - 0x9a, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x3f, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0xa3, 0x3f, - 0x9a, 0x99, 0x99, 0x99, 0x99, 0x99, 0xa9, 0x3f, 0x9a, 0x99, 0x99, 0x99, 0x99, 0x99, 0xb9, 0x3f, - 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0xc3, 0x3f, 0x9a, 0x99, 0x99, 0x99, 0x99, 0x99, 0xc9, 0x3f, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x40, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x40, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x40, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x40, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xbf, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xbf, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x40, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x40, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x40, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x40, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x40, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4e, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x51, 0x40, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x56, 0x40, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0xc3, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x31, 0x40, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x40, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x40, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x40, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x40, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x92, 0x24, 0x49, 0x92, 0x24, 0x49, 0xc2, 0x3f, 0x1c, 0xc7, 0x71, 0x1c, 0xc7, 0x71, 0xbc, 0x3f, - 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xd5, 0x3f, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xe5, 0x3f, - 0x9a, 0x99, 0x99, 0x99, 0x99, 0x99, 0xd9, 0x3f, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0xe3, 0x3f, - 0x9a, 0x99, 0x99, 0x99, 0x99, 0x99, 0xe9, 0x3f, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xc5, 0x3f, - 0xab, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xea, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd8, 0x3f, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe4, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xec, 0x3f, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x26, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x40, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x7f, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0xb3, 0x40, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x6a, 0xe8, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6a, 0xf8, 0x40, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2a, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2c, 0x40, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2e, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35, 0x40, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x37, 0x40, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x39, 0x40, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3a, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3b, 0x40, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3d, 0x40, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x40, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x41, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x40, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x42, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x40, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x43, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x44, 0x40, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x45, 0x40, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x46, 0x40, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x47, 0x40, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x48, 0x40, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xbf, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x69, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x72, 0x40, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x82, 0x40, - 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x85, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x89, 0x40, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x8c, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x9f, 0x40, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0xa7, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xaf, 0x40, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0xb7, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0xbb, 0x40, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xbf, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x94, 0xc1, 0x40, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0xd3, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4c, 0xdd, 0x40, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0xe3, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4c, 0xed, 0x40, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0xf1, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0xf3, 0x40, - 0x00, 0x00, 0x00, 0x00, 0x00, 0xf9, 0xf5, 0x40, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xed, 0x3f, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x6a, 0x08, 0x41, 0x00, 0x00, 0x00, 0x00, 0x80, 0x4f, 0x12, 0x41, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x6a, 0x18, 0x41, 0x00, 0x00, 0x00, 0x00, 0x80, 0x84, 0x1e, 0x41, - 0x00, 0x00, 0x00, 0x00, 0x80, 0x4f, 0x22, 0x41, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x5c, 0x25, 0x41, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x6a, 0x28, 0x41, 0x00, 0x00, 0x00, 0x00, 0x40, 0x77, 0x2b, 0x41, - 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xb5, 0x3f, 0xab, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xda, 0x3f, - 0xab, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xe2, 0x3f, 0x9a, 0x99, 0x99, 0x99, 0x99, 0x99, 0x69, 0x3f, - 0x9a, 0x99, 0x99, 0x99, 0x99, 0x99, 0x89, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x3f, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa8, 0x3f, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x5e, 0x0a, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5e, 0x1a, 0x41, - 0x00, 0x00, 0x00, 0x00, 0x80, 0x84, 0x2e, 0x41, 0x00, 0x00, 0x00, 0x00, 0x84, 0xd7, 0x97, 0x41, - 0x00, 0x00, 0x00, 0x20, 0x5f, 0xa0, 0x02, 0x42, 0x00, 0x00, 0x00, 0xa2, 0x94, 0x1a, 0x6d, 0x42, - 0x00, 0x00, 0x00, 0x00, 0xd0, 0x12, 0x63, 0x41, 0x00, 0x00, 0x00, 0x00, 0xd0, 0x12, 0x73, 0x41, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xbf - }; - - // Contains grapheme cluster segmentation values - private static ReadOnlySpan GraphemeSegmentationValues => new byte[177] - { - 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x09, 0x0a, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x0c, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x06 - }; - - } -} diff --git a/src/libraries/System.Globalization/tests/Invariant/InvariantMode.cs b/src/libraries/System.Globalization/tests/Invariant/InvariantMode.cs index c3c04bacf2058..bf428fc0a1873 100644 --- a/src/libraries/System.Globalization/tests/Invariant/InvariantMode.cs +++ b/src/libraries/System.Globalization/tests/Invariant/InvariantMode.cs @@ -454,7 +454,7 @@ public static IEnumerable ToUpper_TestData() yield return new object[] { "embedded\0NuLL\0Byte\0", "EMBEDDED\0NULL\0BYTE\0", true }; - // LATIN SMALL LETTER O WITH ACUTE, which has an upper case variant. + // LATIN SMALL LETTER O WITH ACUTE, mapped to LATIN CAPITAL LETTER O WITH ACUTE. yield return new object[] { "\u00F3", "\u00D3", true }; // SNOWMAN, which does not have an upper case variant. @@ -1167,8 +1167,9 @@ public void TestHashing() [InlineData('A', 'A', 'a')] [InlineData('i', 'I', 'i')] // to verify that we don't special-case the Turkish I in the invariant globalization mode [InlineData('I', 'I', 'i')] - [InlineData(0x00C1, 0x00C1, 0x00C1)] // U+00C1 LATIN CAPITAL LETTER A WITH ACUTE - [InlineData(0x00E1, 0x00E1, 0x00E1)] // U+00E1 LATIN SMALL LETTER A WITH ACUTE + [InlineData('\u017f', '\u017f', '\u017f')] // Latin small letter long S shouldn't be case mapped in the invariant mode. + [InlineData(0x00C1, 0x00C1, 0x00E1)] // U+00C1 LATIN CAPITAL LETTER A WITH ACUTE + [InlineData(0x00E1, 0x00C1, 0x00E1)] // U+00E1 LATIN SMALL LETTER A WITH ACUTE [InlineData(0x00D7, 0x00D7, 0x00D7)] // U+00D7 MULTIPLICATION SIGN public void TestRune(int original, int expectedToUpper, int expectedToLower) { diff --git a/src/libraries/System.Private.CoreLib/src/System/Globalization/CharUnicodeInfo.cs b/src/libraries/System.Private.CoreLib/src/System/Globalization/CharUnicodeInfo.cs index 5aad06bbb8b89..ff6ae8871c8bb 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Globalization/CharUnicodeInfo.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Globalization/CharUnicodeInfo.cs @@ -251,31 +251,81 @@ private static double GetNumericValueNoBoundsCheck(uint codePoint) } [MethodImpl(MethodImplOptions.AggressiveInlining)] - internal static char ToUpper(uint codePoint) + internal static char ToUpper(char codePoint) { + nuint offset = GetCategoryCasingTableOffsetNoBoundsChecks((uint)codePoint); + + // The offset is specified in shorts: + // Get the 'ref short' corresponding to where the addend is, read it as a signed 16-bit value, then add + + ref short rsStart = ref Unsafe.As(ref MemoryMarshal.GetReference(UppercaseValues)); + ref short rsDelta = ref Unsafe.Add(ref rsStart, (nint)offset); + nint delta = (BitConverter.IsLittleEndian) ? rsDelta : BinaryPrimitives.ReverseEndianness(rsDelta); + return (char)(delta + (nint)codePoint); + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + internal static uint ToUpper(uint codePoint) + { + if (UnicodeUtility.IsBmpCodePoint(codePoint)) + { + return ToUpper((char) codePoint); + } + + if (!UnicodeUtility.IsValidCodePoint(codePoint)) + { + // We don't throw here even if we are getting invalid codepoint. We just return the same input value at that time. + return codePoint; + } + nuint offset = GetCategoryCasingTableOffsetNoBoundsChecks(codePoint); - // If the offset is specified in shorts: + // The offset is specified in shorts: // Get the 'ref short' corresponding to where the addend is, read it as a signed 16-bit value, then add ref short rsStart = ref Unsafe.As(ref MemoryMarshal.GetReference(UppercaseValues)); - ref short rsDelta = ref Unsafe.Add(ref rsStart, (int)offset); - int delta = (BitConverter.IsLittleEndian) ? rsDelta : BinaryPrimitives.ReverseEndianness(rsDelta); - return (char)(delta + (int)codePoint); + ref short rsDelta = ref Unsafe.Add(ref rsStart, (nint)offset); + nint delta = (BitConverter.IsLittleEndian) ? rsDelta : BinaryPrimitives.ReverseEndianness(rsDelta); + return (uint)(delta + (nint)codePoint); } [MethodImpl(MethodImplOptions.AggressiveInlining)] - internal static char ToLower(uint codePoint) + internal static char ToLower(char codePoint) { + nuint offset = GetCategoryCasingTableOffsetNoBoundsChecks((uint)codePoint); + + // If the offset is specified in shorts: + // Get the 'ref short' corresponding to where the addend is, read it as a signed 16-bit value, then add + + ref short rsStart = ref Unsafe.As(ref MemoryMarshal.GetReference(LowercaseValues)); + ref short rsDelta = ref Unsafe.Add(ref rsStart, (nint)offset); + nint delta = (BitConverter.IsLittleEndian) ? rsDelta : BinaryPrimitives.ReverseEndianness(rsDelta); + return (char)(delta + (nint)codePoint); + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + internal static uint ToLower(uint codePoint) + { + if (UnicodeUtility.IsBmpCodePoint(codePoint)) + { + return ToLower((char) codePoint); + } + + if (!UnicodeUtility.IsValidCodePoint(codePoint)) + { + // We don't throw here even if we are getting invalid codepoint. We just return the same input value at that time. + return codePoint; + } + nuint offset = GetCategoryCasingTableOffsetNoBoundsChecks(codePoint); // If the offset is specified in shorts: // Get the 'ref short' corresponding to where the addend is, read it as a signed 16-bit value, then add ref short rsStart = ref Unsafe.As(ref MemoryMarshal.GetReference(LowercaseValues)); - ref short rsDelta = ref Unsafe.Add(ref rsStart, (int)offset); - int delta = (BitConverter.IsLittleEndian) ? rsDelta : BinaryPrimitives.ReverseEndianness(rsDelta); - return (char)(delta + (int)codePoint); + ref short rsDelta = ref Unsafe.Add(ref rsStart, (nint)offset); + nint delta = (BitConverter.IsLittleEndian) ? rsDelta : BinaryPrimitives.ReverseEndianness(rsDelta); + return (uint)(delta + (int)codePoint); } /* diff --git a/src/libraries/System.Private.CoreLib/src/System/Globalization/CompareInfo.Invariant.cs b/src/libraries/System.Private.CoreLib/src/System/Globalization/CompareInfo.Invariant.cs index 2b73c9ef8e517..c3d568002907b 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Globalization/CompareInfo.Invariant.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Globalization/CompareInfo.Invariant.cs @@ -60,18 +60,22 @@ private static void InvariantCreateSortKeyOrdinalIgnoreCase(ReadOnlySpan s for (int i = 0; i < source.Length; i++) { char c = source[i]; - if (char.IsHighSurrogate(c) && i < source.Length - 1 && char.IsLowSurrogate(source[i + 1])) + if (char.IsHighSurrogate(c) && i < source.Length - 1) { - SurrogateCasing.ToUpper(c, source[i + 1], out ushort hr, out ushort lr); - BinaryPrimitives.WriteUInt16BigEndian(sortKey, hr); - BinaryPrimitives.WriteUInt16BigEndian(sortKey, lr); - i++; - sortKey = sortKey.Slice(2 * sizeof(ushort)); - continue; + char cl = source[i + 1]; + if (char.IsLowSurrogate(cl)) + { + SurrogateCasing.ToUpper(c, cl, out char hr, out char lr); + BinaryPrimitives.WriteUInt16BigEndian(sortKey, hr); + BinaryPrimitives.WriteUInt16BigEndian(sortKey, lr); + i++; + sortKey = sortKey.Slice(2 * sizeof(ushort)); + continue; + } } // convert machine-endian to big-endian - BinaryPrimitives.WriteUInt16BigEndian(sortKey, (ushort)InvariantModeCasing.ToUpper(source[i])); + BinaryPrimitives.WriteUInt16BigEndian(sortKey, (ushort)InvariantModeCasing.ToUpper(c)); sortKey = sortKey.Slice(sizeof(ushort)); } } diff --git a/src/libraries/System.Private.CoreLib/src/System/Globalization/InvariantModeCasing.cs b/src/libraries/System.Private.CoreLib/src/System/Globalization/InvariantModeCasing.cs index e2e2ddb416489..1f871cd91e345 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Globalization/InvariantModeCasing.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Globalization/InvariantModeCasing.cs @@ -30,7 +30,7 @@ internal static string ToLower(string s) { if (char.IsHighSurrogate(source[i]) && i < s.Length - 1 && char.IsLowSurrogate(source[i + 1])) { - SurrogateCasing.ToLower(source[i], source[i + 1], out ushort h, out ushort l); + SurrogateCasing.ToLower(source[i], source[i + 1], out char h, out char l); if (source[i] != h || source[i + 1] != l) { break; @@ -76,7 +76,7 @@ internal static string ToUpper(string s) { if (char.IsHighSurrogate(source[i]) && i < s.Length - 1 && char.IsLowSurrogate(source[i + 1])) { - SurrogateCasing.ToUpper(source[i], source[i + 1], out ushort h, out ushort l); + SurrogateCasing.ToUpper(source[i], source[i + 1], out char h, out char l); if (source[i] != h || source[i + 1] != l) { break; @@ -115,14 +115,18 @@ internal static void ToUpper(ReadOnlySpan source, Span destination) for (int i = 0; i < source.Length; i++) { char c = source[i]; - if (char.IsHighSurrogate(c) && i < source.Length - 1 && char.IsLowSurrogate(source[i + 1])) + if (char.IsHighSurrogate(c) && i < source.Length - 1) { - // well formed surrogates - SurrogateCasing.ToUpper(c, source[i + 1], out ushort h, out ushort l); - destination[i] = (char)h; - destination[i+1] = (char)l; - i++; // skip the low surrogate - continue; + char cl = source[i + 1]; + if (char.IsLowSurrogate(cl)) + { + // well formed surrogates + SurrogateCasing.ToUpper(c, cl, out char h, out char l); + destination[i] = h; + destination[i+1] = l; + i++; // skip the low surrogate + continue; + } } destination[i] = ToUpper(c); @@ -137,14 +141,18 @@ internal static void ToLower(ReadOnlySpan source, Span destination) for (int i = 0; i < source.Length; i++) { char c = source[i]; - if (char.IsHighSurrogate(c) && i < source.Length - 1 && char.IsLowSurrogate(source[i + 1])) + if (char.IsHighSurrogate(c) && i < source.Length - 1 ) { - // well formed surrogates - SurrogateCasing.ToLower(c, source[i + 1], out ushort h, out ushort l); - destination[i] = (char)h; - destination[i+1] = (char)l; - i++; // skip the low surrogate - continue; + char cl = source[i + 1]; + if (char.IsLowSurrogate(cl)) + { + // well formed surrogates + SurrogateCasing.ToLower(c, cl, out char h, out char l); + destination[i] = h; + destination[i+1] = l; + i++; // skip the low surrogate + continue; + } } destination[i] = ToLower(c); @@ -214,8 +222,8 @@ internal static int CompareStringIgnoreCase(ref char strA, int lengthA, ref char } // we come here only if we have valid full surrogates - SurrogateCasing.ToUpper(a, charA, out ushort h1, out ushort l1); - SurrogateCasing.ToUpper(b, charB, out ushort h2, out ushort l2); + SurrogateCasing.ToUpper(a, charA, out char h1, out char l1); + SurrogateCasing.ToUpper(b, charB, out char h2, out char l2); if (h1 != h2) { diff --git a/src/libraries/System.Private.CoreLib/src/System/Globalization/Ordinal.cs b/src/libraries/System.Private.CoreLib/src/System/Globalization/Ordinal.cs index b3b4c1a1eac3e..7c09e69253439 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Globalization/Ordinal.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Globalization/Ordinal.cs @@ -241,27 +241,11 @@ internal static int IndexOfOrdinalIgnoreCase(ReadOnlySpan source, ReadOnly return OrdinalCasing.IndexOf(source, value); } - internal static int LastIndexOfNoIgnoreCase(string source, string value, int startIndex, int count) + internal static int LastIndexOf(string source, string value, int startIndex, int count) { - // startIndex is the index into source where we start search backwards from. - // leftStartIndex is the index into source of the start of the string that is - // count characters away from startIndex. - int leftStartIndex = startIndex - count + 1; - - for (int i = startIndex - value.Length + 1; i >= leftStartIndex; i--) - { - int valueIndex, sourceIndex; - - for (valueIndex = 0, sourceIndex = i; - valueIndex < value.Length && source[sourceIndex] == value[valueIndex]; - valueIndex++, sourceIndex++) ; - - if (valueIndex == value.Length) { - return i; - } - } - - return -1; + int result = source.AsSpan(startIndex, count).LastIndexOf(value); + if (result >= 0) { result += startIndex; } // if match found, adjust 'result' by the actual start position + return result; } internal static unsafe int LastIndexOf(string source, string value, int startIndex, int count, bool ignoreCase) @@ -288,7 +272,7 @@ internal static unsafe int LastIndexOf(string source, string value, int startInd if (GlobalizationMode.Invariant) { - return ignoreCase ? InvariantModeCasing.LastIndexOfIgnoreCase(source.AsSpan().Slice(startIndex, count), value) : LastIndexOfNoIgnoreCase(source, value, startIndex, count); + return ignoreCase ? InvariantModeCasing.LastIndexOfIgnoreCase(source.AsSpan().Slice(startIndex, count), value) : LastIndexOf(source, value, startIndex, count); } if (GlobalizationMode.UseNls) @@ -298,7 +282,7 @@ internal static unsafe int LastIndexOf(string source, string value, int startInd if (!ignoreCase) { - LastIndexOfNoIgnoreCase(source, value, startIndex, count); + LastIndexOf(source, value, startIndex, count); } if (!source.TryGetSpan(startIndex, count, out ReadOnlySpan sourceSpan)) diff --git a/src/libraries/System.Private.CoreLib/src/System/Globalization/OrdinalCasing.Icu.cs b/src/libraries/System.Private.CoreLib/src/System/Globalization/OrdinalCasing.Icu.cs index 4f687202b6954..1f2d0fcbfeb5b 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Globalization/OrdinalCasing.Icu.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Globalization/OrdinalCasing.Icu.cs @@ -170,14 +170,18 @@ internal static void ToUpperOrdinal(ReadOnlySpan source, Span destin continue; } - if (char.IsHighSurrogate(c) && i < source.Length - 1 && char.IsLowSurrogate(source[i + 1])) + if (char.IsHighSurrogate(c) && i < source.Length - 1) { - // well formed surrogates - SurrogateCasing.ToUpper(c, source[i + 1], out ushort h, out ushort l); - destination[i] = (char)h; - destination[i+1] = (char)l; - i++; // skip the low surrogate - continue; + char cl = source[i + 1]; + if (char.IsLowSurrogate(cl)) + { + // well formed surrogates + SurrogateCasing.ToUpper(c, cl, out char h, out char l); + destination[i] = h; + destination[i+1] = l; + i++; // skip the low surrogate + continue; + } } destination[i] = ToUpper(c); @@ -244,8 +248,8 @@ internal static int CompareStringIgnoreCase(ref char strA, int lengthA, ref char } // we come here only if we have valid full surrogates - SurrogateCasing.ToUpper(a, charA, out ushort h1, out ushort l1); - SurrogateCasing.ToUpper(b, charB, out ushort h2, out ushort l2); + SurrogateCasing.ToUpper(a, charA, out char h1, out char l1); + SurrogateCasing.ToUpper(b, charB, out char h2, out char l2); if (h1 != h2) { diff --git a/src/libraries/System.Private.CoreLib/src/System/Globalization/SurrogateCasing.cs b/src/libraries/System.Private.CoreLib/src/System/Globalization/SurrogateCasing.cs index 87c3be1996792..70b5e47be1766 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Globalization/SurrogateCasing.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Globalization/SurrogateCasing.cs @@ -1,181 +1,37 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. +using System.Text; +using System.Diagnostics; using System.Runtime.CompilerServices; namespace System.Globalization { internal static class SurrogateCasing { - // For simplicity ToUpper doesn't expect the Surrogate be formed with - // S = ((H - 0xD800) * 0x400) + (L - 0xDC00) + 0x10000 - // Instead it expect to have it in the form (H << 16) | L [MethodImpl(MethodImplOptions.AggressiveInlining)] - internal static void ToUpper(ushort h, ushort l, out ushort hr, out ushort lr) + internal static void ToUpper(char h, char l, out char hr, out char lr) { - switch (h) - { - case 0xD801: - // DESERET SMALL LETTERS 10428 ~ 1044F - if ((uint) (l - 0xdc28) <= (uint) (0xdc4f - 0xdc28)) - { - hr = h; - lr = (ushort) ((l - 0xdc28) + 0xdc00); - return; - } + Debug.Assert(char.IsHighSurrogate(h)); + Debug.Assert(char.IsLowSurrogate(l)); - // OSAGE SMALL LETTERS 104D8 ~ 104FB - if ((uint) (l - 0xdcd8) <= (uint) (0xdcfb - 0xdcd8)) - { - hr = h; - lr = (ushort) ((l - 0xdcd8) + 0xdcb0); - return; - } - - // VITHKUQI SMALL LETTERS 10597 ~ 0xddbc - if ((uint) (l - 0xdd97) <= (uint) (0xddbc - 0xdd97)) - { - if (l != 0xdda2 && l != 0xddb2 && l != 0xddbA) // Characters in range which not having casing. - { - hr = h; - lr = (ushort) ((l - 0xdd97) + 0xdd70); - return; - } - } - break; - - case 0xd803: - // OLD HUNGARIAN SMALL LETTERS 10CC0 ~ 10CF2 - if ((uint) (l - 0xdcc0) <= (uint) (0xdcf2 - 0xdcc0)) - { - hr = h; - lr = (ushort) ((l - 0xdcc0) + 0xdc80); - return; - } - break; - - case 0xd806: - // WARANG CITI SMALL LETTERS 118C0 ~ 118DF - if ((uint) (l - 0xdcc0) <= (uint) (0xdcdf - 0xdcc0)) - { - hr = h; - lr = (ushort) ((l - 0xdcc0) + 0xdca0); - return; - } - break; - - case 0xd81b: - // MEDEFAIDRIN SMALL LETTERS 16E60 ~ 16E7F - if ((uint) (l - 0xde60) <= (uint) (0xde7f - 0xde60)) - { - hr = h; - lr = (ushort) ((l - 0xde60) + 0xde40); - return; - } - break; - - case 0xd83a: - // ADLAM SMALL LETTERS 1E922 ~ 1E943 - if ((uint) (l - 0xdd22) <= (uint) (0xdd43 - 0xdd22)) - { - hr = h; - lr = (ushort) ((l - 0xdd22) + 0xdd00); - return; - } - break; - } - - hr = h; - lr = l; + UnicodeUtility.GetUtf16SurrogatesFromSupplementaryPlaneScalar(CharUnicodeInfo.ToUpper(UnicodeUtility.GetScalarFromUtf16SurrogatePair(h, l)), out hr, out lr); } - // For simplicity ToUpper doesn't expect the Surrogate be formed with - // S = ((H - 0xD800) * 0x400) + (L - 0xDC00) + 0x10000 - // Instead it expect to have it in the form (H << 16) | L [MethodImpl(MethodImplOptions.AggressiveInlining)] - internal static void ToLower(ushort h, ushort l, out ushort hr, out ushort lr) + internal static void ToLower(char h, char l, out char hr, out char lr) { - switch (h) - { - case 0xD801: - // DESERET CAPITAL LETTERS 0x10400 ~ 0x10427 - if ((uint) (l - 0xdc00) <= (uint) (0xdc27 - 0xdc00)) - { - hr = h; - lr = (ushort) ((l - 0xdc00) + 0xdc28); - return; - } - - // OSAGE CAPITAL LETTERS 0x104b0 ~ 0x104d3 - if ((uint) (l - 0xdcb0) <= (uint) (0xdcd3 - 0xdcb0)) - { - hr = h; - lr = (ushort) ((l - 0xdcb0) + 0xdcd8); - return; - } - - // VITHKUQI CAPITAL LETTERS 0x10570 ~ 0x10595 - if ((uint) (l - 0xdd70) <= (uint) (0xdd95 - 0xdd70)) - { - if (l != 0xdd7B && l != 0xdd8B && l != 0xdd93) // Characters in range which not having casing. - { - hr = h; - lr = (ushort) ((l - 0xdd70) + 0xdd97); - return; - } - } - break; - - case 0xd803: - // OLD HUNGARIAN CAPITAL LETTERS 0x10c80 ~ 0x10cb2 - if ((uint) (l - 0xdc80) <= (uint) (0xdcb2 - 0xdc80)) - { - hr = h; - lr = (ushort) ((l - 0xdc80) + 0xdcc0); - return; - } - break; - - case 0xd806: - // WARANG CITI CAPITAL LETTERS 0x118a0 ~ 0x118bf - if ((uint) (l - 0xdca0) <= (uint) (0xdcbf - 0xdca0)) - { - hr = h; - lr = (ushort) ((l - 0xdca0) + 0xdcc0); - return; - } - break; - - case 0xd81b: - // MEDEFAIDRIN CAPITAL LETTERS 0x16e40 ~ 0x16e5f - if ((uint) (l - 0xde40) <= (uint) (0xde5f - 0xde40)) - { - hr = h; - lr = (ushort) ((l - 0xde40) + 0xde60); - return; - } - break; - - case 0xd83a: - // ADLAM CAPITAL LETTERS 0x1e900 ~ 0x1e921 - if ((uint) (l - 0xdd00) <= (uint) (0xdd21 - 0xdd00)) - { - hr = h; - lr = (ushort) ((l - 0xdd00) + 0xdd22); - return; - } - break; - } + Debug.Assert(char.IsHighSurrogate(h)); + Debug.Assert(char.IsLowSurrogate(l)); - hr = h; - lr = l; + UnicodeUtility.GetUtf16SurrogatesFromSupplementaryPlaneScalar(CharUnicodeInfo.ToLower(UnicodeUtility.GetScalarFromUtf16SurrogatePair(h, l)), out hr, out lr); } [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static bool Equal(char h1, char l1, char h2, char l2) { - ToUpper(h1, l1, out ushort hr1, out ushort lr1); - ToUpper(h2, l2, out ushort hr2, out ushort lr2); + ToUpper(h1, l1, out char hr1, out char lr1); + ToUpper(h2, l2, out char hr2, out char lr2); return hr1 == hr2 && lr1 == lr2; } diff --git a/src/libraries/System.Private.CoreLib/src/System/Globalization/TextInfo.cs b/src/libraries/System.Private.CoreLib/src/System/Globalization/TextInfo.cs index 764d2052e6710..4679beebb4a48 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Globalization/TextInfo.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Globalization/TextInfo.cs @@ -809,7 +809,7 @@ private int AddTitlecaseLetter(ref StringBuilder result, ref string input, int i ReadOnlySpan src = input.AsSpan(inputIndex, 2); if (GlobalizationMode.Invariant) { - SurrogateCasing.ToUpper(src[0], src[1], out ushort h, out ushort l); + SurrogateCasing.ToUpper(src[0], src[1], out char h, out char l); result.Append(h); result.Append(l); } diff --git a/src/libraries/System.Private.CoreLib/src/System/Text/Rune.cs b/src/libraries/System.Private.CoreLib/src/System/Text/Rune.cs index 7678b5e480267..cfd1541e70ee1 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Text/Rune.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Text/Rune.cs @@ -1402,9 +1402,7 @@ public static Rune ToLowerInvariant(Rune value) if (GlobalizationMode.Invariant) { - // If the value isn't ASCII and if the globalization tables aren't available, - // case changing has no effect. - return value; + return UnsafeCreate(CharUnicodeInfo.ToLower(value._value)); } // Non-ASCII data requires going through the case folding tables. @@ -1453,9 +1451,7 @@ public static Rune ToUpperInvariant(Rune value) if (GlobalizationMode.Invariant) { - // If the value isn't ASCII and if the globalization tables aren't available, - // case changing has no effect. - return value; + return UnsafeCreate(value.IsBmp ? CharUnicodeInfo.ToUpper((char) value._value) : CharUnicodeInfo.ToUpper(value._value)); } // Non-ASCII data requires going through the case folding tables. From d20c98dbc2b42cf10e6ff70d01f014dbc8fec2fe Mon Sep 17 00:00:00 2001 From: Tarek Mahmoud Sayed Date: Tue, 13 Jul 2021 12:28:00 -0700 Subject: [PATCH 05/10] Fix comment --- .../src/System/Globalization/CharUnicodeInfo.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libraries/System.Private.CoreLib/src/System/Globalization/CharUnicodeInfo.cs b/src/libraries/System.Private.CoreLib/src/System/Globalization/CharUnicodeInfo.cs index ff6ae8871c8bb..2401f615e4dd9 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Globalization/CharUnicodeInfo.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Globalization/CharUnicodeInfo.cs @@ -294,7 +294,7 @@ internal static char ToLower(char codePoint) { nuint offset = GetCategoryCasingTableOffsetNoBoundsChecks((uint)codePoint); - // If the offset is specified in shorts: + // The offset is specified in shorts: // Get the 'ref short' corresponding to where the addend is, read it as a signed 16-bit value, then add ref short rsStart = ref Unsafe.As(ref MemoryMarshal.GetReference(LowercaseValues)); From 4b230b0918d1136f27a14ea488be9d7448b4d50f Mon Sep 17 00:00:00 2001 From: Tarek Mahmoud Sayed Date: Tue, 13 Jul 2021 13:30:18 -0700 Subject: [PATCH 06/10] Update src/coreclr/System.Private.CoreLib/Tools/GenUnicodeProp/CategoryCasingInfo.cs Co-authored-by: Santiago Fernandez Madero --- .../Tools/GenUnicodeProp/CategoryCasingInfo.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/coreclr/System.Private.CoreLib/Tools/GenUnicodeProp/CategoryCasingInfo.cs b/src/coreclr/System.Private.CoreLib/Tools/GenUnicodeProp/CategoryCasingInfo.cs index 739c501a5e090..e43ee61323d81 100644 --- a/src/coreclr/System.Private.CoreLib/Tools/GenUnicodeProp/CategoryCasingInfo.cs +++ b/src/coreclr/System.Private.CoreLib/Tools/GenUnicodeProp/CategoryCasingInfo.cs @@ -43,7 +43,7 @@ public CategoryCasingInfo(CodePoint codePoint) break; } - // For the compatability reasons we are not mapping the Turkish I's nor Latin small letter long S with invariant casing. + // For compatibility reasons we are not mapping the Turkish I's nor Latin small letter long S with invariant casing. if (Program.IncludeCasingData && codePoint.Value != 0x0130 && codePoint.Value != 0x0131 && codePoint.Value != 0x017f) { _data.offsetToSimpleUppercase = (ushort)(codePoint.SimpleUppercaseMapping - codePoint.Value); From db31551d38f8e483a964b419deea97193daa22b8 Mon Sep 17 00:00:00 2001 From: Tarek Mahmoud Sayed Date: Tue, 13 Jul 2021 13:30:30 -0700 Subject: [PATCH 07/10] Update src/libraries/System.Private.CoreLib/src/System/Globalization/CharUnicodeInfo.cs Co-authored-by: Santiago Fernandez Madero --- .../src/System/Globalization/CharUnicodeInfo.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libraries/System.Private.CoreLib/src/System/Globalization/CharUnicodeInfo.cs b/src/libraries/System.Private.CoreLib/src/System/Globalization/CharUnicodeInfo.cs index 2401f615e4dd9..19556b6c6d72d 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Globalization/CharUnicodeInfo.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Globalization/CharUnicodeInfo.cs @@ -269,7 +269,7 @@ internal static uint ToUpper(uint codePoint) { if (UnicodeUtility.IsBmpCodePoint(codePoint)) { - return ToUpper((char) codePoint); + return ToUpper((char)codePoint); } if (!UnicodeUtility.IsValidCodePoint(codePoint)) From b2cf74d6a06d998067b6b8f121e2aed4498bb005 Mon Sep 17 00:00:00 2001 From: Tarek Mahmoud Sayed Date: Tue, 13 Jul 2021 17:16:43 -0700 Subject: [PATCH 08/10] Throw on invalid codepoints --- .../src/System/Globalization/CharUnicodeInfo.cs | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/libraries/System.Private.CoreLib/src/System/Globalization/CharUnicodeInfo.cs b/src/libraries/System.Private.CoreLib/src/System/Globalization/CharUnicodeInfo.cs index 19556b6c6d72d..375f278e1ffb0 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Globalization/CharUnicodeInfo.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Globalization/CharUnicodeInfo.cs @@ -274,8 +274,7 @@ internal static uint ToUpper(uint codePoint) if (!UnicodeUtility.IsValidCodePoint(codePoint)) { - // We don't throw here even if we are getting invalid codepoint. We just return the same input value at that time. - return codePoint; + ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument.codePoint); } nuint offset = GetCategoryCasingTableOffsetNoBoundsChecks(codePoint); @@ -313,8 +312,7 @@ internal static uint ToLower(uint codePoint) if (!UnicodeUtility.IsValidCodePoint(codePoint)) { - // We don't throw here even if we are getting invalid codepoint. We just return the same input value at that time. - return codePoint; + ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument.codePoint); } nuint offset = GetCategoryCasingTableOffsetNoBoundsChecks(codePoint); From f322e9a7affe44b24a75badfa60247db045d85db Mon Sep 17 00:00:00 2001 From: Tarek Mahmoud Sayed Date: Wed, 14 Jul 2021 09:14:06 -0700 Subject: [PATCH 09/10] Remove unneeded check --- .../src/System/Globalization/CharUnicodeInfo.cs | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/libraries/System.Private.CoreLib/src/System/Globalization/CharUnicodeInfo.cs b/src/libraries/System.Private.CoreLib/src/System/Globalization/CharUnicodeInfo.cs index 375f278e1ffb0..2b29b3c0e60a2 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Globalization/CharUnicodeInfo.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Globalization/CharUnicodeInfo.cs @@ -305,11 +305,6 @@ internal static char ToLower(char codePoint) [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static uint ToLower(uint codePoint) { - if (UnicodeUtility.IsBmpCodePoint(codePoint)) - { - return ToLower((char) codePoint); - } - if (!UnicodeUtility.IsValidCodePoint(codePoint)) { ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument.codePoint); From c9136e8dd3bb743cf33d4e36a7ab889584019f21 Mon Sep 17 00:00:00 2001 From: Tarek Mahmoud Sayed Date: Wed, 14 Jul 2021 18:35:40 -0700 Subject: [PATCH 10/10] More Feedback Addressing --- .../tests/Invariant/InvariantMode.cs | 8 ++ .../System/Globalization/CharUnicodeInfo.cs | 21 ++-- .../Globalization/InvariantModeCasing.cs | 97 +++++++------------ .../System/Globalization/OrdinalCasing.Icu.cs | 4 +- .../src/System/Text/Rune.cs | 2 +- 5 files changed, 55 insertions(+), 77 deletions(-) diff --git a/src/libraries/System.Globalization/tests/Invariant/InvariantMode.cs b/src/libraries/System.Globalization/tests/Invariant/InvariantMode.cs index bf428fc0a1873..0a0300afc5c43 100644 --- a/src/libraries/System.Globalization/tests/Invariant/InvariantMode.cs +++ b/src/libraries/System.Globalization/tests/Invariant/InvariantMode.cs @@ -385,6 +385,14 @@ public static IEnumerable Compare_TestData() yield return new object[] { "llegar", "lugar", CompareOptions.None, -1 }; yield return new object[] { "\u3042", "\u30A1", CompareOptions.IgnoreKanaType | CompareOptions.IgnoreWidth | CompareOptions.IgnoreCase, -1 }; + + // Surrogates + + yield return new object[] { "Hello\uFE6A", "Hello\U0001F601", CompareOptions.IgnoreCase, -1 }; + yield return new object[] { "Hello\U0001F601", "Hello\uFE6A", CompareOptions.IgnoreCase, 1 }; + yield return new object[] { "\uDBFF", "\uD800\uDC00", CompareOptions.IgnoreCase, -1 }; + yield return new object[] { "\uD800\uDC00", "\uDBFF", CompareOptions.IgnoreCase, 1 }; + yield return new object[] { "abcdefg\uDBFF", "abcdefg\uD800\uDC00", CompareOptions.IgnoreCase, -1 }; } public static IEnumerable ToLower_TestData() diff --git a/src/libraries/System.Private.CoreLib/src/System/Globalization/CharUnicodeInfo.cs b/src/libraries/System.Private.CoreLib/src/System/Globalization/CharUnicodeInfo.cs index 2b29b3c0e60a2..8f4e8cb6b19e0 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Globalization/CharUnicodeInfo.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Globalization/CharUnicodeInfo.cs @@ -260,18 +260,13 @@ internal static char ToUpper(char codePoint) ref short rsStart = ref Unsafe.As(ref MemoryMarshal.GetReference(UppercaseValues)); ref short rsDelta = ref Unsafe.Add(ref rsStart, (nint)offset); - nint delta = (BitConverter.IsLittleEndian) ? rsDelta : BinaryPrimitives.ReverseEndianness(rsDelta); - return (char)(delta + (nint)codePoint); + int delta = (BitConverter.IsLittleEndian) ? rsDelta : BinaryPrimitives.ReverseEndianness(rsDelta); + return (char)(delta + codePoint); } [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static uint ToUpper(uint codePoint) { - if (UnicodeUtility.IsBmpCodePoint(codePoint)) - { - return ToUpper((char)codePoint); - } - if (!UnicodeUtility.IsValidCodePoint(codePoint)) { ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument.codePoint); @@ -284,8 +279,8 @@ internal static uint ToUpper(uint codePoint) ref short rsStart = ref Unsafe.As(ref MemoryMarshal.GetReference(UppercaseValues)); ref short rsDelta = ref Unsafe.Add(ref rsStart, (nint)offset); - nint delta = (BitConverter.IsLittleEndian) ? rsDelta : BinaryPrimitives.ReverseEndianness(rsDelta); - return (uint)(delta + (nint)codePoint); + int delta = (BitConverter.IsLittleEndian) ? rsDelta : BinaryPrimitives.ReverseEndianness(rsDelta); + return (uint)delta + codePoint; } [MethodImpl(MethodImplOptions.AggressiveInlining)] @@ -298,8 +293,8 @@ internal static char ToLower(char codePoint) ref short rsStart = ref Unsafe.As(ref MemoryMarshal.GetReference(LowercaseValues)); ref short rsDelta = ref Unsafe.Add(ref rsStart, (nint)offset); - nint delta = (BitConverter.IsLittleEndian) ? rsDelta : BinaryPrimitives.ReverseEndianness(rsDelta); - return (char)(delta + (nint)codePoint); + int delta = (BitConverter.IsLittleEndian) ? rsDelta : BinaryPrimitives.ReverseEndianness(rsDelta); + return (char)(delta + codePoint); } [MethodImpl(MethodImplOptions.AggressiveInlining)] @@ -317,8 +312,8 @@ internal static uint ToLower(uint codePoint) ref short rsStart = ref Unsafe.As(ref MemoryMarshal.GetReference(LowercaseValues)); ref short rsDelta = ref Unsafe.Add(ref rsStart, (nint)offset); - nint delta = (BitConverter.IsLittleEndian) ? rsDelta : BinaryPrimitives.ReverseEndianness(rsDelta); - return (uint)(delta + (int)codePoint); + int delta = (BitConverter.IsLittleEndian) ? rsDelta : BinaryPrimitives.ReverseEndianness(rsDelta); + return (uint)delta + codePoint; } /* diff --git a/src/libraries/System.Private.CoreLib/src/System/Globalization/InvariantModeCasing.cs b/src/libraries/System.Private.CoreLib/src/System/Globalization/InvariantModeCasing.cs index 1f871cd91e345..e4b09e9855da7 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Globalization/InvariantModeCasing.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Globalization/InvariantModeCasing.cs @@ -1,6 +1,7 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. +using System.Text; using System.Diagnostics; using System.Runtime.InteropServices; using System.Runtime.CompilerServices; @@ -159,6 +160,23 @@ internal static void ToLower(ReadOnlySpan source, Span destination) } } + [MethodImpl(MethodImplOptions.AggressiveInlining)] + private static (uint, int) GetScalar(ref char charA, int index, int length) + { + if (!char.IsHighSurrogate(charA) || index >= length - 1) + { + return ((uint)charA, 1); + } + + ref char charB = ref Unsafe.Add(ref charA, 1); + if (!char.IsLowSurrogate(charB)) + { + return ((uint)charA, 1); + } + + return (UnicodeUtility.GetScalarFromUtf16SurrogatePair(charA, charB), 2); + } + internal static int CompareStringIgnoreCase(ref char strA, int lengthA, ref char strB, int lengthB) { Debug.Assert(GlobalizationMode.Invariant); @@ -168,76 +186,35 @@ internal static int CompareStringIgnoreCase(ref char strA, int lengthA, ref char ref char charA = ref strA; ref char charB = ref strB; - while (length != 0) - { - if (!char.IsHighSurrogate(charA) || !char.IsHighSurrogate(charB)) - { - if (charA == charB) - { - length--; - charA = ref Unsafe.Add(ref charA, 1); - charB = ref Unsafe.Add(ref charB, 1); - continue; - } - - char aUpper = ToUpper(charA); - char bUpper = ToUpper(charB); + int index = 0; - if (aUpper == bUpper) - { - length--; - charA = ref Unsafe.Add(ref charA, 1); - charB = ref Unsafe.Add(ref charB, 1); - continue; - } - - return aUpper - bUpper; - } - - if (length == 1) - { - return charA - charB; - } - - // We come here only if we have valid high surrogates and length > 1 - - char a = charA; - char b = charB; - - length--; - charA = ref Unsafe.Add(ref charA, 1); - charB = ref Unsafe.Add(ref charB, 1); + while (index < length) + { + (uint codePointA, int codePointLengthA) = GetScalar(ref charA, index, lengthA); + (uint codePointB, int codePointLengthB) = GetScalar(ref charB, index, lengthB); - if (!char.IsLowSurrogate(charA) || !char.IsLowSurrogate(charB)) + if (codePointA == codePointB) { - // malformed Surrogates - should be rare cases - if (a != b) - { - return a - b; - } - - // Should be pointing to the right characters in the string to resume at. - // Just in case we could be pointing at high surrogate now. + Debug.Assert(codePointLengthA == codePointLengthB); + index += codePointLengthA; + charA = ref Unsafe.Add(ref charA, codePointLengthA); + charB = ref Unsafe.Add(ref charB, codePointLengthB); continue; } - // we come here only if we have valid full surrogates - SurrogateCasing.ToUpper(a, charA, out char h1, out char l1); - SurrogateCasing.ToUpper(b, charB, out char h2, out char l2); + uint aUpper = CharUnicodeInfo.ToUpper(codePointA); + uint bUpper = CharUnicodeInfo.ToUpper(codePointB); - if (h1 != h2) + if (aUpper == bUpper) { - return (int)h1 - (int)h2; - } - - if (l1 != l2) - { - return (int)l1 - (int)l2; + Debug.Assert(codePointLengthA == codePointLengthB); + index += codePointLengthA; + charA = ref Unsafe.Add(ref charA, codePointLengthA); + charB = ref Unsafe.Add(ref charB, codePointLengthB); + continue; } - length--; - charA = ref Unsafe.Add(ref charA, 1); - charB = ref Unsafe.Add(ref charB, 1); + return (int)codePointA - (int)codePointB; } return lengthA - lengthB; diff --git a/src/libraries/System.Private.CoreLib/src/System/Globalization/OrdinalCasing.Icu.cs b/src/libraries/System.Private.CoreLib/src/System/Globalization/OrdinalCasing.Icu.cs index 1f2d0fcbfeb5b..8120c0e349ce5 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Globalization/OrdinalCasing.Icu.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Globalization/OrdinalCasing.Icu.cs @@ -176,9 +176,7 @@ internal static void ToUpperOrdinal(ReadOnlySpan source, Span destin if (char.IsLowSurrogate(cl)) { // well formed surrogates - SurrogateCasing.ToUpper(c, cl, out char h, out char l); - destination[i] = h; - destination[i+1] = l; + SurrogateCasing.ToUpper(c, cl, out destination[i], out destination[i+1]); i++; // skip the low surrogate continue; } diff --git a/src/libraries/System.Private.CoreLib/src/System/Text/Rune.cs b/src/libraries/System.Private.CoreLib/src/System/Text/Rune.cs index cfd1541e70ee1..df7c2bcc0c007 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Text/Rune.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Text/Rune.cs @@ -1451,7 +1451,7 @@ public static Rune ToUpperInvariant(Rune value) if (GlobalizationMode.Invariant) { - return UnsafeCreate(value.IsBmp ? CharUnicodeInfo.ToUpper((char) value._value) : CharUnicodeInfo.ToUpper(value._value)); + return UnsafeCreate(CharUnicodeInfo.ToUpper(value._value)); } // Non-ASCII data requires going through the case folding tables.