// Generated by scripts/generate-bidi-data.ts from scripts/unicode/DerivedBidiClass-17.0.0.txt.
// Do not edit by hand. Regenerate with `bun run generate:bidi-data`.
// Formatting and isolate controls are projected onto `BN` because the rich
// bidi helper consumes a simplified class set and does not model UBA isolates.

export type GeneratedBidiType =
  | 'L'
  | 'R'
  | 'AL'
  | 'AN'
  | 'EN'
  | 'ES'
  | 'ET'
  | 'CS'
  | 'ON'
  | 'BN'
  | 'B'
  | 'S'
  | 'WS'
  | 'NSM'

export const unicodeBidiDataVersion = '17.0.0'

export const latin1BidiTypes: readonly GeneratedBidiType[] = [
  'BN',
  'BN',
  'BN',
  'BN',
  'BN',
  'BN',
  'BN',
  'BN',
  'BN',
  'S',
  'B',
  'S',
  'WS',
  'B',
  'BN',
  'BN',
  'BN',
  'BN',
  'BN',
  'BN',
  'BN',
  'BN',
  'BN',
  'BN',
  'BN',
  'BN',
  'BN',
  'BN',
  'B',
  'B',
  'B',
  'S',
  'WS',
  'ON',
  'ON',
  'ET',
  'ET',
  'ET',
  'ON',
  'ON',
  'ON',
  'ON',
  'ON',
  'ES',
  'CS',
  'ES',
  'CS',
  'CS',
  'EN',
  'EN',
  'EN',
  'EN',
  'EN',
  'EN',
  'EN',
  'EN',
  'EN',
  'EN',
  'CS',
  'ON',
  'ON',
  'ON',
  'ON',
  'ON',
  'ON',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'ON',
  'ON',
  'ON',
  'ON',
  'ON',
  'ON',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'ON',
  'ON',
  'ON',
  'ON',
  'BN',
  'BN',
  'BN',
  'BN',
  'BN',
  'BN',
  'B',
  'BN',
  'BN',
  'BN',
  'BN',
  'BN',
  'BN',
  'BN',
  'BN',
  'BN',
  'BN',
  'BN',
  'BN',
  'BN',
  'BN',
  'BN',
  'BN',
  'BN',
  'BN',
  'BN',
  'BN',
  'BN',
  'BN',
  'BN',
  'BN',
  'BN',
  'BN',
  'CS',
  'ON',
  'ET',
  'ET',
  'ET',
  'ET',
  'ON',
  'ON',
  'ON',
  'ON',
  'L',
  'ON',
  'ON',
  'BN',
  'ON',
  'ON',
  'ET',
  'ET',
  'EN',
  'EN',
  'ON',
  'L',
  'ON',
  'ON',
  'ON',
  'EN',
  'L',
  'ON',
  'ON',
  'ON',
  'ON',
  'ON',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'ON',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'ON',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
  'L',
]

export const nonLatin1BidiRanges: readonly (readonly [number, number, GeneratedBidiType])[] = [
  [0x2B9, 0x2BA, 'ON'],
  [0x2C2, 0x2CF, 'ON'],
  [0x2D2, 0x2DF, 'ON'],
  [0x2E5, 0x2ED, 'ON'],
  [0x2EF, 0x2FF, 'ON'],
  [0x300, 0x36F, 'NSM'],
  [0x374, 0x375, 'ON'],
  [0x37E, 0x37E, 'ON'],
  [0x384, 0x385, 'ON'],
  [0x387, 0x387, 'ON'],
  [0x3F6, 0x3F6, 'ON'],
  [0x483, 0x489, 'NSM'],
  [0x58A, 0x58A, 'ON'],
  [0x58D, 0x58E, 'ON'],
  [0x58F, 0x58F, 'ET'],
  [0x590, 0x590, 'R'],
  [0x591, 0x5BD, 'NSM'],
  [0x5BE, 0x5BE, 'R'],
  [0x5BF, 0x5BF, 'NSM'],
  [0x5C0, 0x5C0, 'R'],
  [0x5C1, 0x5C2, 'NSM'],
  [0x5C3, 0x5C3, 'R'],
  [0x5C4, 0x5C5, 'NSM'],
  [0x5C6, 0x5C6, 'R'],
  [0x5C7, 0x5C7, 'NSM'],
  [0x5C8, 0x5FF, 'R'],
  [0x600, 0x605, 'AN'],
  [0x606, 0x607, 'ON'],
  [0x608, 0x608, 'AL'],
  [0x609, 0x60A, 'ET'],
  [0x60B, 0x60B, 'AL'],
  [0x60C, 0x60C, 'CS'],
  [0x60D, 0x60D, 'AL'],
  [0x60E, 0x60F, 'ON'],
  [0x610, 0x61A, 'NSM'],
  [0x61B, 0x64A, 'AL'],
  [0x64B, 0x65F, 'NSM'],
  [0x660, 0x669, 'AN'],
  [0x66A, 0x66A, 'ET'],
  [0x66B, 0x66C, 'AN'],
  [0x66D, 0x66F, 'AL'],
  [0x670, 0x670, 'NSM'],
  [0x671, 0x6D5, 'AL'],
  [0x6D6, 0x6DC, 'NSM'],
  [0x6DD, 0x6DD, 'AN'],
  [0x6DE, 0x6DE, 'ON'],
  [0x6DF, 0x6E4, 'NSM'],
  [0x6E5, 0x6E6, 'AL'],
  [0x6E7, 0x6E8, 'NSM'],
  [0x6E9, 0x6E9, 'ON'],
  [0x6EA, 0x6ED, 'NSM'],
  [0x6EE, 0x6EF, 'AL'],
  [0x6F0, 0x6F9, 'EN'],
  [0x6FA, 0x710, 'AL'],
  [0x711, 0x711, 'NSM'],
  [0x712, 0x72F, 'AL'],
  [0x730, 0x74A, 'NSM'],
  [0x74B, 0x7A5, 'AL'],
  [0x7A6, 0x7B0, 'NSM'],
  [0x7B1, 0x7BF, 'AL'],
  [0x7C0, 0x7EA, 'R'],
  [0x7EB, 0x7F3, 'NSM'],
  [0x7F4, 0x7F5, 'R'],
  [0x7F6, 0x7F9, 'ON'],
  [0x7FA, 0x7FC, 'R'],
  [0x7FD, 0x7FD, 'NSM'],
  [0x7FE, 0x815, 'R'],
  [0x816, 0x819, 'NSM'],
  [0x81A, 0x81A, 'R'],
  [0x81B, 0x823, 'NSM'],
  [0x824, 0x824, 'R'],
  [0x825, 0x827, 'NSM'],
  [0x828, 0x828, 'R'],
  [0x829, 0x82D, 'NSM'],
  [0x82E, 0x858, 'R'],
  [0x859, 0x85B, 'NSM'],
  [0x85C, 0x85F, 'R'],
  [0x860, 0x88F, 'AL'],
  [0x890, 0x891, 'AN'],
  [0x892, 0x896, 'AL'],
  [0x897, 0x89F, 'NSM'],
  [0x8A0, 0x8C9, 'AL'],
  [0x8CA, 0x8E1, 'NSM'],
  [0x8E2, 0x8E2, 'AN'],
  [0x8E3, 0x902, 'NSM'],
  [0x93A, 0x93A, 'NSM'],
  [0x93C, 0x93C, 'NSM'],
  [0x941, 0x948, 'NSM'],
  [0x94D, 0x94D, 'NSM'],
  [0x951, 0x957, 'NSM'],
  [0x962, 0x963, 'NSM'],
  [0x981, 0x981, 'NSM'],
  [0x9BC, 0x9BC, 'NSM'],
  [0x9C1, 0x9C4, 'NSM'],
  [0x9CD, 0x9CD, 'NSM'],
  [0x9E2, 0x9E3, 'NSM'],
  [0x9F2, 0x9F3, 'ET'],
  [0x9FB, 0x9FB, 'ET'],
  [0x9FE, 0x9FE, 'NSM'],
  [0xA01, 0xA02, 'NSM'],
  [0xA3C, 0xA3C, 'NSM'],
  [0xA41, 0xA42, 'NSM'],
  [0xA47, 0xA48, 'NSM'],
  [0xA4B, 0xA4D, 'NSM'],
  [0xA51, 0xA51, 'NSM'],
  [0xA70, 0xA71, 'NSM'],
  [0xA75, 0xA75, 'NSM'],
  [0xA81, 0xA82, 'NSM'],
  [0xABC, 0xABC, 'NSM'],
  [0xAC1, 0xAC5, 'NSM'],
  [0xAC7, 0xAC8, 'NSM'],
  [0xACD, 0xACD, 'NSM'],
  [0xAE2, 0xAE3, 'NSM'],
  [0xAF1, 0xAF1, 'ET'],
  [0xAFA, 0xAFF, 'NSM'],
  [0xB01, 0xB01, 'NSM'],
  [0xB3C, 0xB3C, 'NSM'],
  [0xB3F, 0xB3F, 'NSM'],
  [0xB41, 0xB44, 'NSM'],
  [0xB4D, 0xB4D, 'NSM'],
  [0xB55, 0xB56, 'NSM'],
  [0xB62, 0xB63, 'NSM'],
  [0xB82, 0xB82, 'NSM'],
  [0xBC0, 0xBC0, 'NSM'],
  [0xBCD, 0xBCD, 'NSM'],
  [0xBF3, 0xBF8, 'ON'],
  [0xBF9, 0xBF9, 'ET'],
  [0xBFA, 0xBFA, 'ON'],
  [0xC00, 0xC00, 'NSM'],
  [0xC04, 0xC04, 'NSM'],
  [0xC3C, 0xC3C, 'NSM'],
  [0xC3E, 0xC40, 'NSM'],
  [0xC46, 0xC48, 'NSM'],
  [0xC4A, 0xC4D, 'NSM'],
  [0xC55, 0xC56, 'NSM'],
  [0xC62, 0xC63, 'NSM'],
  [0xC78, 0xC7E, 'ON'],
  [0xC81, 0xC81, 'NSM'],
  [0xCBC, 0xCBC, 'NSM'],
  [0xCCC, 0xCCD, 'NSM'],
  [0xCE2, 0xCE3, 'NSM'],
  [0xD00, 0xD01, 'NSM'],
  [0xD3B, 0xD3C, 'NSM'],
  [0xD41, 0xD44, 'NSM'],
  [0xD4D, 0xD4D, 'NSM'],
  [0xD62, 0xD63, 'NSM'],
  [0xD81, 0xD81, 'NSM'],
  [0xDCA, 0xDCA, 'NSM'],
  [0xDD2, 0xDD4, 'NSM'],
  [0xDD6, 0xDD6, 'NSM'],
  [0xE31, 0xE31, 'NSM'],
  [0xE34, 0xE3A, 'NSM'],
  [0xE3F, 0xE3F, 'ET'],
  [0xE47, 0xE4E, 'NSM'],
  [0xEB1, 0xEB1, 'NSM'],
  [0xEB4, 0xEBC, 'NSM'],
  [0xEC8, 0xECE, 'NSM'],
  [0xF18, 0xF19, 'NSM'],
  [0xF35, 0xF35, 'NSM'],
  [0xF37, 0xF37, 'NSM'],
  [0xF39, 0xF39, 'NSM'],
  [0xF3A, 0xF3D, 'ON'],
  [0xF71, 0xF7E, 'NSM'],
  [0xF80, 0xF84, 'NSM'],
  [0xF86, 0xF87, 'NSM'],
  [0xF8D, 0xF97, 'NSM'],
  [0xF99, 0xFBC, 'NSM'],
  [0xFC6, 0xFC6, 'NSM'],
  [0x102D, 0x1030, 'NSM'],
  [0x1032, 0x1037, 'NSM'],
  [0x1039, 0x103A, 'NSM'],
  [0x103D, 0x103E, 'NSM'],
  [0x1058, 0x1059, 'NSM'],
  [0x105E, 0x1060, 'NSM'],
  [0x1071, 0x1074, 'NSM'],
  [0x1082, 0x1082, 'NSM'],
  [0x1085, 0x1086, 'NSM'],
  [0x108D, 0x108D, 'NSM'],
  [0x109D, 0x109D, 'NSM'],
  [0x135D, 0x135F, 'NSM'],
  [0x1390, 0x1399, 'ON'],
  [0x1400, 0x1400, 'ON'],
  [0x1680, 0x1680, 'WS'],
  [0x169B, 0x169C, 'ON'],
  [0x1712, 0x1714, 'NSM'],
  [0x1732, 0x1733, 'NSM'],
  [0x1752, 0x1753, 'NSM'],
  [0x1772, 0x1773, 'NSM'],
  [0x17B4, 0x17B5, 'NSM'],
  [0x17B7, 0x17BD, 'NSM'],
  [0x17C6, 0x17C6, 'NSM'],
  [0x17C9, 0x17D3, 'NSM'],
  [0x17DB, 0x17DB, 'ET'],
  [0x17DD, 0x17DD, 'NSM'],
  [0x17F0, 0x17F9, 'ON'],
  [0x1800, 0x180A, 'ON'],
  [0x180B, 0x180D, 'NSM'],
  [0x180E, 0x180E, 'BN'],
  [0x180F, 0x180F, 'NSM'],
  [0x1885, 0x1886, 'NSM'],
  [0x18A9, 0x18A9, 'NSM'],
  [0x1920, 0x1922, 'NSM'],
  [0x1927, 0x1928, 'NSM'],
  [0x1932, 0x1932, 'NSM'],
  [0x1939, 0x193B, 'NSM'],
  [0x1940, 0x1940, 'ON'],
  [0x1944, 0x1945, 'ON'],
  [0x19DE, 0x19FF, 'ON'],
  [0x1A17, 0x1A18, 'NSM'],
  [0x1A1B, 0x1A1B, 'NSM'],
  [0x1A56, 0x1A56, 'NSM'],
  [0x1A58, 0x1A5E, 'NSM'],
  [0x1A60, 0x1A60, 'NSM'],
  [0x1A62, 0x1A62, 'NSM'],
  [0x1A65, 0x1A6C, 'NSM'],
  [0x1A73, 0x1A7C, 'NSM'],
  [0x1A7F, 0x1A7F, 'NSM'],
  [0x1AB0, 0x1ADD, 'NSM'],
  [0x1AE0, 0x1AEB, 'NSM'],
  [0x1B00, 0x1B03, 'NSM'],
  [0x1B34, 0x1B34, 'NSM'],
  [0x1B36, 0x1B3A, 'NSM'],
  [0x1B3C, 0x1B3C, 'NSM'],
  [0x1B42, 0x1B42, 'NSM'],
  [0x1B6B, 0x1B73, 'NSM'],
  [0x1B80, 0x1B81, 'NSM'],
  [0x1BA2, 0x1BA5, 'NSM'],
  [0x1BA8, 0x1BA9, 'NSM'],
  [0x1BAB, 0x1BAD, 'NSM'],
  [0x1BE6, 0x1BE6, 'NSM'],
  [0x1BE8, 0x1BE9, 'NSM'],
  [0x1BED, 0x1BED, 'NSM'],
  [0x1BEF, 0x1BF1, 'NSM'],
  [0x1C2C, 0x1C33, 'NSM'],
  [0x1C36, 0x1C37, 'NSM'],
  [0x1CD0, 0x1CD2, 'NSM'],
  [0x1CD4, 0x1CE0, 'NSM'],
  [0x1CE2, 0x1CE8, 'NSM'],
  [0x1CED, 0x1CED, 'NSM'],
  [0x1CF4, 0x1CF4, 'NSM'],
  [0x1CF8, 0x1CF9, 'NSM'],
  [0x1DC0, 0x1DFF, 'NSM'],
  [0x1FBD, 0x1FBD, 'ON'],
  [0x1FBF, 0x1FC1, 'ON'],
  [0x1FCD, 0x1FCF, 'ON'],
  [0x1FDD, 0x1FDF, 'ON'],
  [0x1FED, 0x1FEF, 'ON'],
  [0x1FFD, 0x1FFE, 'ON'],
  [0x2000, 0x200A, 'WS'],
  [0x200B, 0x200D, 'BN'],
  [0x200F, 0x200F, 'R'],
  [0x2010, 0x2027, 'ON'],
  [0x2028, 0x2028, 'WS'],
  [0x2029, 0x2029, 'B'],
  [0x202A, 0x202E, 'BN'],
  [0x202F, 0x202F, 'CS'],
  [0x2030, 0x2034, 'ET'],
  [0x2035, 0x2043, 'ON'],
  [0x2044, 0x2044, 'CS'],
  [0x2045, 0x205E, 'ON'],
  [0x205F, 0x205F, 'WS'],
  [0x2060, 0x206F, 'BN'],
  [0x2070, 0x2070, 'EN'],
  [0x2074, 0x2079, 'EN'],
  [0x207A, 0x207B, 'ES'],
  [0x207C, 0x207E, 'ON'],
  [0x2080, 0x2089, 'EN'],
  [0x208A, 0x208B, 'ES'],
  [0x208C, 0x208E, 'ON'],
  [0x20A0, 0x20CF, 'ET'],
  [0x20D0, 0x20F0, 'NSM'],
  [0x2100, 0x2101, 'ON'],
  [0x2103, 0x2106, 'ON'],
  [0x2108, 0x2109, 'ON'],
  [0x2114, 0x2114, 'ON'],
  [0x2116, 0x2118, 'ON'],
  [0x211E, 0x2123, 'ON'],
  [0x2125, 0x2125, 'ON'],
  [0x2127, 0x2127, 'ON'],
  [0x2129, 0x2129, 'ON'],
  [0x212E, 0x212E, 'ET'],
  [0x213A, 0x213B, 'ON'],
  [0x2140, 0x2144, 'ON'],
  [0x214A, 0x214D, 'ON'],
  [0x2150, 0x215F, 'ON'],
  [0x2189, 0x218B, 'ON'],
  [0x2190, 0x2211, 'ON'],
  [0x2212, 0x2212, 'ES'],
  [0x2213, 0x2213, 'ET'],
  [0x2214, 0x2335, 'ON'],
  [0x237B, 0x2394, 'ON'],
  [0x2396, 0x2429, 'ON'],
  [0x2440, 0x244A, 'ON'],
  [0x2460, 0x2487, 'ON'],
  [0x2488, 0x249B, 'EN'],
  [0x24EA, 0x26AB, 'ON'],
  [0x26AD, 0x27FF, 'ON'],
  [0x2900, 0x2B73, 'ON'],
  [0x2B76, 0x2BFF, 'ON'],
  [0x2CE5, 0x2CEA, 'ON'],
  [0x2CEF, 0x2CF1, 'NSM'],
  [0x2CF9, 0x2CFF, 'ON'],
  [0x2D7F, 0x2D7F, 'NSM'],
  [0x2DE0, 0x2DFF, 'NSM'],
  [0x2E00, 0x2E5D, 'ON'],
  [0x2E80, 0x2E99, 'ON'],
  [0x2E9B, 0x2EF3, 'ON'],
  [0x2F00, 0x2FD5, 'ON'],
  [0x2FF0, 0x2FFF, 'ON'],
  [0x3000, 0x3000, 'WS'],
  [0x3001, 0x3004, 'ON'],
  [0x3008, 0x3020, 'ON'],
  [0x302A, 0x302D, 'NSM'],
  [0x3030, 0x3030, 'ON'],
  [0x3036, 0x3037, 'ON'],
  [0x303D, 0x303F, 'ON'],
  [0x3099, 0x309A, 'NSM'],
  [0x309B, 0x309C, 'ON'],
  [0x30A0, 0x30A0, 'ON'],
  [0x30FB, 0x30FB, 'ON'],
  [0x31C0, 0x31E5, 'ON'],
  [0x31EF, 0x31EF, 'ON'],
  [0x321D, 0x321E, 'ON'],
  [0x3250, 0x325F, 'ON'],
  [0x327C, 0x327E, 'ON'],
  [0x32B1, 0x32BF, 'ON'],
  [0x32CC, 0x32CF, 'ON'],
  [0x3377, 0x337A, 'ON'],
  [0x33DE, 0x33DF, 'ON'],
  [0x33FF, 0x33FF, 'ON'],
  [0x4DC0, 0x4DFF, 'ON'],
  [0xA490, 0xA4C6, 'ON'],
  [0xA60D, 0xA60F, 'ON'],
  [0xA66F, 0xA672, 'NSM'],
  [0xA673, 0xA673, 'ON'],
  [0xA674, 0xA67D, 'NSM'],
  [0xA67E, 0xA67F, 'ON'],
  [0xA69E, 0xA69F, 'NSM'],
  [0xA6F0, 0xA6F1, 'NSM'],
  [0xA700, 0xA721, 'ON'],
  [0xA788, 0xA788, 'ON'],
  [0xA802, 0xA802, 'NSM'],
  [0xA806, 0xA806, 'NSM'],
  [0xA80B, 0xA80B, 'NSM'],
  [0xA825, 0xA826, 'NSM'],
  [0xA828, 0xA82B, 'ON'],
  [0xA82C, 0xA82C, 'NSM'],
  [0xA838, 0xA839, 'ET'],
  [0xA874, 0xA877, 'ON'],
  [0xA8C4, 0xA8C5, 'NSM'],
  [0xA8E0, 0xA8F1, 'NSM'],
  [0xA8FF, 0xA8FF, 'NSM'],
  [0xA926, 0xA92D, 'NSM'],
  [0xA947, 0xA951, 'NSM'],
  [0xA980, 0xA982, 'NSM'],
  [0xA9B3, 0xA9B3, 'NSM'],
  [0xA9B6, 0xA9B9, 'NSM'],
  [0xA9BC, 0xA9BD, 'NSM'],
  [0xA9E5, 0xA9E5, 'NSM'],
  [0xAA29, 0xAA2E, 'NSM'],
  [0xAA31, 0xAA32, 'NSM'],
  [0xAA35, 0xAA36, 'NSM'],
  [0xAA43, 0xAA43, 'NSM'],
  [0xAA4C, 0xAA4C, 'NSM'],
  [0xAA7C, 0xAA7C, 'NSM'],
  [0xAAB0, 0xAAB0, 'NSM'],
  [0xAAB2, 0xAAB4, 'NSM'],
  [0xAAB7, 0xAAB8, 'NSM'],
  [0xAABE, 0xAABF, 'NSM'],
  [0xAAC1, 0xAAC1, 'NSM'],
  [0xAAEC, 0xAAED, 'NSM'],
  [0xAAF6, 0xAAF6, 'NSM'],
  [0xAB6A, 0xAB6B, 'ON'],
  [0xABE5, 0xABE5, 'NSM'],
  [0xABE8, 0xABE8, 'NSM'],
  [0xABED, 0xABED, 'NSM'],
  [0xFB1D, 0xFB1D, 'R'],
  [0xFB1E, 0xFB1E, 'NSM'],
  [0xFB1F, 0xFB28, 'R'],
  [0xFB29, 0xFB29, 'ES'],
  [0xFB2A, 0xFB4F, 'R'],
  [0xFB50, 0xFBC2, 'AL'],
  [0xFBC3, 0xFBD2, 'ON'],
  [0xFBD3, 0xFD3D, 'AL'],
  [0xFD3E, 0xFD4F, 'ON'],
  [0xFD50, 0xFD8F, 'AL'],
  [0xFD90, 0xFD91, 'ON'],
  [0xFD92, 0xFDC7, 'AL'],
  [0xFDC8, 0xFDCF, 'ON'],
  [0xFDD0, 0xFDEF, 'BN'],
  [0xFDF0, 0xFDFC, 'AL'],
  [0xFDFD, 0xFDFF, 'ON'],
  [0xFE00, 0xFE0F, 'NSM'],
  [0xFE10, 0xFE19, 'ON'],
  [0xFE20, 0xFE2F, 'NSM'],
  [0xFE30, 0xFE4F, 'ON'],
  [0xFE50, 0xFE50, 'CS'],
  [0xFE51, 0xFE51, 'ON'],
  [0xFE52, 0xFE52, 'CS'],
  [0xFE54, 0xFE54, 'ON'],
  [0xFE55, 0xFE55, 'CS'],
  [0xFE56, 0xFE5E, 'ON'],
  [0xFE5F, 0xFE5F, 'ET'],
  [0xFE60, 0xFE61, 'ON'],
  [0xFE62, 0xFE63, 'ES'],
  [0xFE64, 0xFE66, 'ON'],
  [0xFE68, 0xFE68, 'ON'],
  [0xFE69, 0xFE6A, 'ET'],
  [0xFE6B, 0xFE6B, 'ON'],
  [0xFE70, 0xFEFE, 'AL'],
  [0xFEFF, 0xFEFF, 'BN'],
  [0xFF01, 0xFF02, 'ON'],
  [0xFF03, 0xFF05, 'ET'],
  [0xFF06, 0xFF0A, 'ON'],
  [0xFF0B, 0xFF0B, 'ES'],
  [0xFF0C, 0xFF0C, 'CS'],
  [0xFF0D, 0xFF0D, 'ES'],
  [0xFF0E, 0xFF0F, 'CS'],
  [0xFF10, 0xFF19, 'EN'],
  [0xFF1A, 0xFF1A, 'CS'],
  [0xFF1B, 0xFF20, 'ON'],
  [0xFF3B, 0xFF40, 'ON'],
  [0xFF5B, 0xFF65, 'ON'],
  [0xFFE0, 0xFFE1, 'ET'],
  [0xFFE2, 0xFFE4, 'ON'],
  [0xFFE5, 0xFFE6, 'ET'],
  [0xFFE8, 0xFFEE, 'ON'],
  [0xFFF0, 0xFFF8, 'BN'],
  [0xFFF9, 0xFFFD, 'ON'],
  [0xFFFE, 0xFFFF, 'BN'],
  [0x10101, 0x10101, 'ON'],
  [0x10140, 0x1018C, 'ON'],
  [0x10190, 0x1019C, 'ON'],
  [0x101A0, 0x101A0, 'ON'],
  [0x101FD, 0x101FD, 'NSM'],
  [0x102E0, 0x102E0, 'NSM'],
  [0x102E1, 0x102FB, 'EN'],
  [0x10376, 0x1037A, 'NSM'],
  [0x10800, 0x1091E, 'R'],
  [0x1091F, 0x1091F, 'ON'],
  [0x10920, 0x10A00, 'R'],
  [0x10A01, 0x10A03, 'NSM'],
  [0x10A04, 0x10A04, 'R'],
  [0x10A05, 0x10A06, 'NSM'],
  [0x10A07, 0x10A0B, 'R'],
  [0x10A0C, 0x10A0F, 'NSM'],
  [0x10A10, 0x10A37, 'R'],
  [0x10A38, 0x10A3A, 'NSM'],
  [0x10A3B, 0x10A3E, 'R'],
  [0x10A3F, 0x10A3F, 'NSM'],
  [0x10A40, 0x10AE4, 'R'],
  [0x10AE5, 0x10AE6, 'NSM'],
  [0x10AE7, 0x10B38, 'R'],
  [0x10B39, 0x10B3F, 'ON'],
  [0x10B40, 0x10CFF, 'R'],
  [0x10D00, 0x10D23, 'AL'],
  [0x10D24, 0x10D27, 'NSM'],
  [0x10D28, 0x10D2F, 'AL'],
  [0x10D30, 0x10D39, 'AN'],
  [0x10D3A, 0x10D3F, 'AL'],
  [0x10D40, 0x10D49, 'AN'],
  [0x10D4A, 0x10D68, 'R'],
  [0x10D69, 0x10D6D, 'NSM'],
  [0x10D6E, 0x10D6E, 'ON'],
  [0x10D6F, 0x10E5F, 'R'],
  [0x10E60, 0x10E7E, 'AN'],
  [0x10E7F, 0x10EAA, 'R'],
  [0x10EAB, 0x10EAC, 'NSM'],
  [0x10EAD, 0x10EBF, 'R'],
  [0x10EC0, 0x10ECF, 'AL'],
  [0x10ED0, 0x10ED8, 'ON'],
  [0x10ED9, 0x10EF9, 'AL'],
  [0x10EFA, 0x10EFF, 'NSM'],
  [0x10F00, 0x10F2F, 'R'],
  [0x10F30, 0x10F45, 'AL'],
  [0x10F46, 0x10F50, 'NSM'],
  [0x10F51, 0x10F6F, 'AL'],
  [0x10F70, 0x10F81, 'R'],
  [0x10F82, 0x10F85, 'NSM'],
  [0x10F86, 0x10FFF, 'R'],
  [0x11001, 0x11001, 'NSM'],
  [0x11038, 0x11046, 'NSM'],
  [0x11052, 0x11065, 'ON'],
  [0x11070, 0x11070, 'NSM'],
  [0x11073, 0x11074, 'NSM'],
  [0x1107F, 0x11081, 'NSM'],
  [0x110B3, 0x110B6, 'NSM'],
  [0x110B9, 0x110BA, 'NSM'],
  [0x110C2, 0x110C2, 'NSM'],
  [0x11100, 0x11102, 'NSM'],
  [0x11127, 0x1112B, 'NSM'],
  [0x1112D, 0x11134, 'NSM'],
  [0x11173, 0x11173, 'NSM'],
  [0x11180, 0x11181, 'NSM'],
  [0x111B6, 0x111BE, 'NSM'],
  [0x111C9, 0x111CC, 'NSM'],
  [0x111CF, 0x111CF, 'NSM'],
  [0x1122F, 0x11231, 'NSM'],
  [0x11234, 0x11234, 'NSM'],
  [0x11236, 0x11237, 'NSM'],
  [0x1123E, 0x1123E, 'NSM'],
  [0x11241, 0x11241, 'NSM'],
  [0x112DF, 0x112DF, 'NSM'],
  [0x112E3, 0x112EA, 'NSM'],
  [0x11300, 0x11301, 'NSM'],
  [0x1133B, 0x1133C, 'NSM'],
  [0x11340, 0x11340, 'NSM'],
  [0x11366, 0x1136C, 'NSM'],
  [0x11370, 0x11374, 'NSM'],
  [0x113BB, 0x113C0, 'NSM'],
  [0x113CE, 0x113CE, 'NSM'],
  [0x113D0, 0x113D0, 'NSM'],
  [0x113D2, 0x113D2, 'NSM'],
  [0x113E1, 0x113E2, 'NSM'],
  [0x11438, 0x1143F, 'NSM'],
  [0x11442, 0x11444, 'NSM'],
  [0x11446, 0x11446, 'NSM'],
  [0x1145E, 0x1145E, 'NSM'],
  [0x114B3, 0x114B8, 'NSM'],
  [0x114BA, 0x114BA, 'NSM'],
  [0x114BF, 0x114C0, 'NSM'],
  [0x114C2, 0x114C3, 'NSM'],
  [0x115B2, 0x115B5, 'NSM'],
  [0x115BC, 0x115BD, 'NSM'],
  [0x115BF, 0x115C0, 'NSM'],
  [0x115DC, 0x115DD, 'NSM'],
  [0x11633, 0x1163A, 'NSM'],
  [0x1163D, 0x1163D, 'NSM'],
  [0x1163F, 0x11640, 'NSM'],
  [0x11660, 0x1166C, 'ON'],
  [0x116AB, 0x116AB, 'NSM'],
  [0x116AD, 0x116AD, 'NSM'],
  [0x116B0, 0x116B5, 'NSM'],
  [0x116B7, 0x116B7, 'NSM'],
  [0x1171D, 0x1171D, 'NSM'],
  [0x1171F, 0x1171F, 'NSM'],
  [0x11722, 0x11725, 'NSM'],
  [0x11727, 0x1172B, 'NSM'],
  [0x1182F, 0x11837, 'NSM'],
  [0x11839, 0x1183A, 'NSM'],
  [0x1193B, 0x1193C, 'NSM'],
  [0x1193E, 0x1193E, 'NSM'],
  [0x11943, 0x11943, 'NSM'],
  [0x119D4, 0x119D7, 'NSM'],
  [0x119DA, 0x119DB, 'NSM'],
  [0x119E0, 0x119E0, 'NSM'],
  [0x11A01, 0x11A06, 'NSM'],
  [0x11A09, 0x11A0A, 'NSM'],
  [0x11A33, 0x11A38, 'NSM'],
  [0x11A3B, 0x11A3E, 'NSM'],
  [0x11A47, 0x11A47, 'NSM'],
  [0x11A51, 0x11A56, 'NSM'],
  [0x11A59, 0x11A5B, 'NSM'],
  [0x11A8A, 0x11A96, 'NSM'],
  [0x11A98, 0x11A99, 'NSM'],
  [0x11B60, 0x11B60, 'NSM'],
  [0x11B62, 0x11B64, 'NSM'],
  [0x11B66, 0x11B66, 'NSM'],
  [0x11C30, 0x11C36, 'NSM'],
  [0x11C38, 0x11C3D, 'NSM'],
  [0x11C92, 0x11CA7, 'NSM'],
  [0x11CAA, 0x11CB0, 'NSM'],
  [0x11CB2, 0x11CB3, 'NSM'],
  [0x11CB5, 0x11CB6, 'NSM'],
  [0x11D31, 0x11D36, 'NSM'],
  [0x11D3A, 0x11D3A, 'NSM'],
  [0x11D3C, 0x11D3D, 'NSM'],
  [0x11D3F, 0x11D45, 'NSM'],
  [0x11D47, 0x11D47, 'NSM'],
  [0x11D90, 0x11D91, 'NSM'],
  [0x11D95, 0x11D95, 'NSM'],
  [0x11D97, 0x11D97, 'NSM'],
  [0x11EF3, 0x11EF4, 'NSM'],
  [0x11F00, 0x11F01, 'NSM'],
  [0x11F36, 0x11F3A, 'NSM'],
  [0x11F40, 0x11F40, 'NSM'],
  [0x11F42, 0x11F42, 'NSM'],
  [0x11F5A, 0x11F5A, 'NSM'],
  [0x11FD5, 0x11FDC, 'ON'],
  [0x11FDD, 0x11FE0, 'ET'],
  [0x11FE1, 0x11FF1, 'ON'],
  [0x13440, 0x13440, 'NSM'],
  [0x13447, 0x13455, 'NSM'],
  [0x1611E, 0x16129, 'NSM'],
  [0x1612D, 0x1612F, 'NSM'],
  [0x16AF0, 0x16AF4, 'NSM'],
  [0x16B30, 0x16B36, 'NSM'],
  [0x16F4F, 0x16F4F, 'NSM'],
  [0x16F8F, 0x16F92, 'NSM'],
  [0x16FE2, 0x16FE2, 'ON'],
  [0x16FE4, 0x16FE4, 'NSM'],
  [0x1BC9D, 0x1BC9E, 'NSM'],
  [0x1BCA0, 0x1BCA3, 'BN'],
  [0x1CC00, 0x1CCD5, 'ON'],
  [0x1CCF0, 0x1CCF9, 'EN'],
  [0x1CCFA, 0x1CCFC, 'ON'],
  [0x1CD00, 0x1CEB3, 'ON'],
  [0x1CEBA, 0x1CED0, 'ON'],
  [0x1CEE0, 0x1CEF0, 'ON'],
  [0x1CF00, 0x1CF2D, 'NSM'],
  [0x1CF30, 0x1CF46, 'NSM'],
  [0x1D167, 0x1D169, 'NSM'],
  [0x1D173, 0x1D17A, 'BN'],
  [0x1D17B, 0x1D182, 'NSM'],
  [0x1D185, 0x1D18B, 'NSM'],
  [0x1D1AA, 0x1D1AD, 'NSM'],
  [0x1D1E9, 0x1D1EA, 'ON'],
  [0x1D200, 0x1D241, 'ON'],
  [0x1D242, 0x1D244, 'NSM'],
  [0x1D245, 0x1D245, 'ON'],
  [0x1D300, 0x1D356, 'ON'],
  [0x1D6C1, 0x1D6C1, 'ON'],
  [0x1D6DB, 0x1D6DB, 'ON'],
  [0x1D6FB, 0x1D6FB, 'ON'],
  [0x1D715, 0x1D715, 'ON'],
  [0x1D735, 0x1D735, 'ON'],
  [0x1D74F, 0x1D74F, 'ON'],
  [0x1D76F, 0x1D76F, 'ON'],
  [0x1D789, 0x1D789, 'ON'],
  [0x1D7A9, 0x1D7A9, 'ON'],
  [0x1D7C3, 0x1D7C3, 'ON'],
  [0x1D7CE, 0x1D7FF, 'EN'],
  [0x1DA00, 0x1DA36, 'NSM'],
  [0x1DA3B, 0x1DA6C, 'NSM'],
  [0x1DA75, 0x1DA75, 'NSM'],
  [0x1DA84, 0x1DA84, 'NSM'],
  [0x1DA9B, 0x1DA9F, 'NSM'],
  [0x1DAA1, 0x1DAAF, 'NSM'],
  [0x1E000, 0x1E006, 'NSM'],
  [0x1E008, 0x1E018, 'NSM'],
  [0x1E01B, 0x1E021, 'NSM'],
  [0x1E023, 0x1E024, 'NSM'],
  [0x1E026, 0x1E02A, 'NSM'],
  [0x1E08F, 0x1E08F, 'NSM'],
  [0x1E130, 0x1E136, 'NSM'],
  [0x1E2AE, 0x1E2AE, 'NSM'],
  [0x1E2EC, 0x1E2EF, 'NSM'],
  [0x1E2FF, 0x1E2FF, 'ET'],
  [0x1E4EC, 0x1E4EF, 'NSM'],
  [0x1E5EE, 0x1E5EF, 'NSM'],
  [0x1E6E3, 0x1E6E3, 'NSM'],
  [0x1E6E6, 0x1E6E6, 'NSM'],
  [0x1E6EE, 0x1E6EF, 'NSM'],
  [0x1E6F5, 0x1E6F5, 'NSM'],
  [0x1E800, 0x1E8CF, 'R'],
  [0x1E8D0, 0x1E8D6, 'NSM'],
  [0x1E8D7, 0x1E943, 'R'],
  [0x1E944, 0x1E94A, 'NSM'],
  [0x1E94B, 0x1EC6F, 'R'],
  [0x1EC70, 0x1ECBF, 'AL'],
  [0x1ECC0, 0x1ECFF, 'R'],
  [0x1ED00, 0x1ED4F, 'AL'],
  [0x1ED50, 0x1EDFF, 'R'],
  [0x1EE00, 0x1EEEF, 'AL'],
  [0x1EEF0, 0x1EEF1, 'ON'],
  [0x1EEF2, 0x1EEFF, 'AL'],
  [0x1EF00, 0x1EFFF, 'R'],
  [0x1F000, 0x1F02B, 'ON'],
  [0x1F030, 0x1F093, 'ON'],
  [0x1F0A0, 0x1F0AE, 'ON'],
  [0x1F0B1, 0x1F0BF, 'ON'],
  [0x1F0C1, 0x1F0CF, 'ON'],
  [0x1F0D1, 0x1F0F5, 'ON'],
  [0x1F100, 0x1F10A, 'EN'],
  [0x1F10B, 0x1F10F, 'ON'],
  [0x1F12F, 0x1F12F, 'ON'],
  [0x1F16A, 0x1F16F, 'ON'],
  [0x1F1AD, 0x1F1AD, 'ON'],
  [0x1F260, 0x1F265, 'ON'],
  [0x1F300, 0x1F6D8, 'ON'],
  [0x1F6DC, 0x1F6EC, 'ON'],
  [0x1F6F0, 0x1F6FC, 'ON'],
  [0x1F700, 0x1F7D9, 'ON'],
  [0x1F7E0, 0x1F7EB, 'ON'],
  [0x1F7F0, 0x1F7F0, 'ON'],
  [0x1F800, 0x1F80B, 'ON'],
  [0x1F810, 0x1F847, 'ON'],
  [0x1F850, 0x1F859, 'ON'],
  [0x1F860, 0x1F887, 'ON'],
  [0x1F890, 0x1F8AD, 'ON'],
  [0x1F8B0, 0x1F8BB, 'ON'],
  [0x1F8C0, 0x1F8C1, 'ON'],
  [0x1F8D0, 0x1F8D8, 'ON'],
  [0x1F900, 0x1FA57, 'ON'],
  [0x1FA60, 0x1FA6D, 'ON'],
  [0x1FA70, 0x1FA7C, 'ON'],
  [0x1FA80, 0x1FA8A, 'ON'],
  [0x1FA8E, 0x1FAC6, 'ON'],
  [0x1FAC8, 0x1FAC8, 'ON'],
  [0x1FACD, 0x1FADC, 'ON'],
  [0x1FADF, 0x1FAEA, 'ON'],
  [0x1FAEF, 0x1FAF8, 'ON'],
  [0x1FB00, 0x1FB92, 'ON'],
  [0x1FB94, 0x1FBEF, 'ON'],
  [0x1FBF0, 0x1FBF9, 'EN'],
  [0x1FBFA, 0x1FBFA, 'ON'],
  [0x1FFFE, 0x1FFFF, 'BN'],
  [0x2FFFE, 0x2FFFF, 'BN'],
  [0x3FFFE, 0x3FFFF, 'BN'],
  [0x4FFFE, 0x4FFFF, 'BN'],
  [0x5FFFE, 0x5FFFF, 'BN'],
  [0x6FFFE, 0x6FFFF, 'BN'],
  [0x7FFFE, 0x7FFFF, 'BN'],
  [0x8FFFE, 0x8FFFF, 'BN'],
  [0x9FFFE, 0x9FFFF, 'BN'],
  [0xAFFFE, 0xAFFFF, 'BN'],
  [0xBFFFE, 0xBFFFF, 'BN'],
  [0xCFFFE, 0xCFFFF, 'BN'],
  [0xDFFFE, 0xE00FF, 'BN'],
  [0xE0100, 0xE01EF, 'NSM'],
  [0xE01F0, 0xE0FFF, 'BN'],
  [0xEFFFE, 0xEFFFF, 'BN'],
  [0xFFFFE, 0xFFFFF, 'BN'],
  [0x10FFFE, 0x10FFFF, 'BN'],
]
