// The node-side mirror of rt.zig's simple case-mapping tables: the same // generator emits both from one UnicodeData.txt read, so the devhost // polyfill (text_polyfill.ts) and the native rt helpers case-map from // byte-identical data by construction. // Unicode 17.0.0 simple case mappings (UnicodeData.txt fields 12/13). // GENERATED by scripts/gen_case_tables.mjs — do not edit by hand; regenerate with: // node scripts/gen_case_tables.mjs [path/to/UnicodeData.txt] // 204 + 186 ranges, 8 bytes each = 3120 bytes of table data. // Flat quadruples [lo, count, stride, delta]: `count` mapped code points // at lo, lo+stride, ...; each maps to itself + delta (stride 2 covers the // alternating upper/lower pairs like U+0100 Ā / U+0101 ā). export const SIMPLE_UPPER_RANGES: readonly number[] = [ 97, 26, 1, -32, 181, 1, 1, 743, 224, 23, 1, -32, 248, 7, 1, -32, 255, 1, 1, 121, 257, 24, 2, -1, 305, 1, 1, -232, 307, 3, 2, -1, 314, 8, 2, -1, 331, 23, 2, -1, 378, 3, 2, -1, 383, 1, 1, -300, 384, 1, 1, 195, 387, 2, 2, -1, 392, 1, 1, -1, 396, 1, 1, -1, 402, 1, 1, -1, 405, 1, 1, 97, 409, 1, 1, -1, 410, 1, 1, 163, 411, 1, 1, 42561, 414, 1, 1, 130, 417, 3, 2, -1, 424, 1, 1, -1, 429, 1, 1, -1, 432, 1, 1, -1, 436, 2, 2, -1, 441, 1, 1, -1, 445, 1, 1, -1, 447, 1, 1, 56, 453, 1, 1, -1, 454, 1, 1, -2, 456, 1, 1, -1, 457, 1, 1, -2, 459, 1, 1, -1, 460, 1, 1, -2, 462, 8, 2, -1, 477, 1, 1, -79, 479, 9, 2, -1, 498, 1, 1, -1, 499, 1, 1, -2, 501, 1, 1, -1, 505, 20, 2, -1, 547, 9, 2, -1, 572, 1, 1, -1, 575, 2, 1, 10815, 578, 1, 1, -1, 583, 5, 2, -1, 592, 1, 1, 10783, 593, 1, 1, 10780, 594, 1, 1, 10782, 595, 1, 1, -210, 596, 1, 1, -206, 598, 2, 1, -205, 601, 1, 1, -202, 603, 1, 1, -203, 604, 1, 1, 42319, 608, 1, 1, -205, 609, 1, 1, 42315, 611, 1, 1, -207, 612, 1, 1, 42343, 613, 1, 1, 42280, 614, 1, 1, 42308, 616, 1, 1, -209, 617, 1, 1, -211, 618, 1, 1, 42308, 619, 1, 1, 10743, 620, 1, 1, 42305, 623, 1, 1, -211, 625, 1, 1, 10749, 626, 1, 1, -213, 629, 1, 1, -214, 637, 1, 1, 10727, 640, 1, 1, -218, 642, 1, 1, 42307, 643, 1, 1, -218, 647, 1, 1, 42282, 648, 1, 1, -218, 649, 1, 1, -69, 650, 2, 1, -217, 652, 1, 1, -71, 658, 1, 1, -219, 669, 1, 1, 42261, 670, 1, 1, 42258, 837, 1, 1, 84, 881, 2, 2, -1, 887, 1, 1, -1, 891, 3, 1, 130, 940, 1, 1, -38, 941, 3, 1, -37, 945, 17, 1, -32, 962, 1, 1, -31, 963, 9, 1, -32, 972, 1, 1, -64, 973, 2, 1, -63, 976, 1, 1, -62, 977, 1, 1, -57, 981, 1, 1, -47, 982, 1, 1, -54, 983, 1, 1, -8, 985, 12, 2, -1, 1008, 1, 1, -86, 1009, 1, 1, -80, 1010, 1, 1, 7, 1011, 1, 1, -116, 1013, 1, 1, -96, 1016, 1, 1, -1, 1019, 1, 1, -1, 1072, 32, 1, -32, 1104, 16, 1, -80, 1121, 17, 2, -1, 1163, 27, 2, -1, 1218, 7, 2, -1, 1231, 1, 1, -15, 1233, 48, 2, -1, 1377, 38, 1, -48, 4304, 43, 1, 3008, 4349, 3, 1, 3008, 5112, 6, 1, -8, 7296, 1, 1, -6254, 7297, 1, 1, -6253, 7298, 1, 1, -6244, 7299, 2, 1, -6242, 7301, 1, 1, -6243, 7302, 1, 1, -6236, 7303, 1, 1, -6181, 7304, 1, 1, 35266, 7306, 1, 1, -1, 7545, 1, 1, 35332, 7549, 1, 1, 3814, 7566, 1, 1, 35384, 7681, 75, 2, -1, 7835, 1, 1, -59, 7841, 48, 2, -1, 7936, 8, 1, 8, 7952, 6, 1, 8, 7968, 8, 1, 8, 7984, 8, 1, 8, 8000, 6, 1, 8, 8017, 4, 2, 8, 8032, 8, 1, 8, 8048, 2, 1, 74, 8050, 4, 1, 86, 8054, 2, 1, 100, 8056, 2, 1, 128, 8058, 2, 1, 112, 8060, 2, 1, 126, 8064, 8, 1, 8, 8080, 8, 1, 8, 8096, 8, 1, 8, 8112, 2, 1, 8, 8115, 1, 1, 9, 8126, 1, 1, -7205, 8131, 1, 1, 9, 8144, 2, 1, 8, 8160, 2, 1, 8, 8165, 1, 1, 7, 8179, 1, 1, 9, 8526, 1, 1, -28, 8560, 16, 1, -16, 8580, 1, 1, -1, 9424, 26, 1, -26, 11312, 48, 1, -48, 11361, 1, 1, -1, 11365, 1, 1, -10795, 11366, 1, 1, -10792, 11368, 3, 2, -1, 11379, 1, 1, -1, 11382, 1, 1, -1, 11393, 50, 2, -1, 11500, 2, 2, -1, 11507, 1, 1, -1, 11520, 38, 1, -7264, 11559, 1, 1, -7264, 11565, 1, 1, -7264, 42561, 23, 2, -1, 42625, 14, 2, -1, 42787, 7, 2, -1, 42803, 31, 2, -1, 42874, 2, 2, -1, 42879, 5, 2, -1, 42892, 1, 1, -1, 42897, 2, 2, -1, 42900, 1, 1, 48, 42903, 10, 2, -1, 42933, 8, 2, -1, 42952, 2, 2, -1, 42957, 8, 2, -1, 42998, 1, 1, -1, 43859, 1, 1, -928, 43888, 80, 1, -38864, 65345, 26, 1, -32, 66600, 40, 1, -40, 66776, 36, 1, -40, 66967, 11, 1, -39, 66979, 15, 1, -39, 66995, 7, 1, -39, 67003, 2, 1, -39, 68800, 51, 1, -64, 68976, 22, 1, -32, 71872, 32, 1, -32, 93792, 32, 1, -32, 93883, 25, 1, -27, 125218, 34, 1, -34, ]; export const SIMPLE_LOWER_RANGES: readonly number[] = [ 65, 26, 1, 32, 192, 23, 1, 32, 216, 7, 1, 32, 256, 24, 2, 1, 304, 1, 1, -199, 306, 3, 2, 1, 313, 8, 2, 1, 330, 23, 2, 1, 376, 1, 1, -121, 377, 3, 2, 1, 385, 1, 1, 210, 386, 2, 2, 1, 390, 1, 1, 206, 391, 1, 1, 1, 393, 2, 1, 205, 395, 1, 1, 1, 398, 1, 1, 79, 399, 1, 1, 202, 400, 1, 1, 203, 401, 1, 1, 1, 403, 1, 1, 205, 404, 1, 1, 207, 406, 1, 1, 211, 407, 1, 1, 209, 408, 1, 1, 1, 412, 1, 1, 211, 413, 1, 1, 213, 415, 1, 1, 214, 416, 3, 2, 1, 422, 1, 1, 218, 423, 1, 1, 1, 425, 1, 1, 218, 428, 1, 1, 1, 430, 1, 1, 218, 431, 1, 1, 1, 433, 2, 1, 217, 435, 2, 2, 1, 439, 1, 1, 219, 440, 1, 1, 1, 444, 1, 1, 1, 452, 1, 1, 2, 453, 1, 1, 1, 455, 1, 1, 2, 456, 1, 1, 1, 458, 1, 1, 2, 459, 9, 2, 1, 478, 9, 2, 1, 497, 1, 1, 2, 498, 2, 2, 1, 502, 1, 1, -97, 503, 1, 1, -56, 504, 20, 2, 1, 544, 1, 1, -130, 546, 9, 2, 1, 570, 1, 1, 10795, 571, 1, 1, 1, 573, 1, 1, -163, 574, 1, 1, 10792, 577, 1, 1, 1, 579, 1, 1, -195, 580, 1, 1, 69, 581, 1, 1, 71, 582, 5, 2, 1, 880, 2, 2, 1, 886, 1, 1, 1, 895, 1, 1, 116, 902, 1, 1, 38, 904, 3, 1, 37, 908, 1, 1, 64, 910, 2, 1, 63, 913, 17, 1, 32, 931, 9, 1, 32, 975, 1, 1, 8, 984, 12, 2, 1, 1012, 1, 1, -60, 1015, 1, 1, 1, 1017, 1, 1, -7, 1018, 1, 1, 1, 1021, 3, 1, -130, 1024, 16, 1, 80, 1040, 32, 1, 32, 1120, 17, 2, 1, 1162, 27, 2, 1, 1216, 1, 1, 15, 1217, 7, 2, 1, 1232, 48, 2, 1, 1329, 38, 1, 48, 4256, 38, 1, 7264, 4295, 1, 1, 7264, 4301, 1, 1, 7264, 5024, 80, 1, 38864, 5104, 6, 1, 8, 7305, 1, 1, 1, 7312, 43, 1, -3008, 7357, 3, 1, -3008, 7680, 75, 2, 1, 7838, 1, 1, -7615, 7840, 48, 2, 1, 7944, 8, 1, -8, 7960, 6, 1, -8, 7976, 8, 1, -8, 7992, 8, 1, -8, 8008, 6, 1, -8, 8025, 4, 2, -8, 8040, 8, 1, -8, 8072, 8, 1, -8, 8088, 8, 1, -8, 8104, 8, 1, -8, 8120, 2, 1, -8, 8122, 2, 1, -74, 8124, 1, 1, -9, 8136, 4, 1, -86, 8140, 1, 1, -9, 8152, 2, 1, -8, 8154, 2, 1, -100, 8168, 2, 1, -8, 8170, 2, 1, -112, 8172, 1, 1, -7, 8184, 2, 1, -128, 8186, 2, 1, -126, 8188, 1, 1, -9, 8486, 1, 1, -7517, 8490, 1, 1, -8383, 8491, 1, 1, -8262, 8498, 1, 1, 28, 8544, 16, 1, 16, 8579, 1, 1, 1, 9398, 26, 1, 26, 11264, 48, 1, 48, 11360, 1, 1, 1, 11362, 1, 1, -10743, 11363, 1, 1, -3814, 11364, 1, 1, -10727, 11367, 3, 2, 1, 11373, 1, 1, -10780, 11374, 1, 1, -10749, 11375, 1, 1, -10783, 11376, 1, 1, -10782, 11378, 1, 1, 1, 11381, 1, 1, 1, 11390, 2, 1, -10815, 11392, 50, 2, 1, 11499, 2, 2, 1, 11506, 1, 1, 1, 42560, 23, 2, 1, 42624, 14, 2, 1, 42786, 7, 2, 1, 42802, 31, 2, 1, 42873, 2, 2, 1, 42877, 1, 1, -35332, 42878, 5, 2, 1, 42891, 1, 1, 1, 42893, 1, 1, -42280, 42896, 2, 2, 1, 42902, 10, 2, 1, 42922, 1, 1, -42308, 42923, 1, 1, -42319, 42924, 1, 1, -42315, 42925, 1, 1, -42305, 42926, 1, 1, -42308, 42928, 1, 1, -42258, 42929, 1, 1, -42282, 42930, 1, 1, -42261, 42931, 1, 1, 928, 42932, 8, 2, 1, 42948, 1, 1, -48, 42949, 1, 1, -42307, 42950, 1, 1, -35384, 42951, 2, 2, 1, 42955, 1, 1, -42343, 42956, 8, 2, 1, 42972, 1, 1, -42561, 42997, 1, 1, 1, 65313, 26, 1, 32, 66560, 40, 1, 40, 66736, 36, 1, 40, 66928, 11, 1, 39, 66940, 15, 1, 39, 66956, 7, 1, 39, 66964, 2, 1, 39, 68736, 51, 1, 64, 68944, 22, 1, 32, 71840, 32, 1, 32, 93760, 32, 1, 32, 93856, 25, 1, 27, 125184, 34, 1, 34, ];