meaw
Version:
Utilities for Unicode East Asian Width
1 lines • 38.6 kB
Source Map (JSON)
{"version":3,"sources":["../src/index.ts","../src/defs.ts","../src/get-eaw.ts","../src/compute-width.ts"],"sourcesContent":["export type { EastAsianWidth } from \"./types\";\nexport { version as eawVersion } from \"./defs\";\nexport { getEAW, getEAWOfCodePoint } from \"./get-eaw\";\nexport { computeWidth } from \"./compute-width\";\n","/*\n * Generated by script. DO NOT EDIT!\n *\n * The part between BEGIN and END is derived from Unicode Data Files\n * and provided under Unicode, Inc. License Agreement.\n */\n\nimport type { EAWDef } from \"./types\";\n\n/* BEGIN */\nexport const defs: readonly EAWDef[] = [\n [0, 31, \"N\"],\n [32, 126, \"Na\"],\n [127, 160, \"N\"],\n [161, 161, \"A\"],\n [162, 163, \"Na\"],\n [164, 164, \"A\"],\n [165, 166, \"Na\"],\n [167, 168, \"A\"],\n [169, 169, \"N\"],\n [170, 170, \"A\"],\n [171, 171, \"N\"],\n [172, 172, \"Na\"],\n [173, 174, \"A\"],\n [175, 175, \"Na\"],\n [176, 180, \"A\"],\n [181, 181, \"N\"],\n [182, 186, \"A\"],\n [187, 187, \"N\"],\n [188, 191, \"A\"],\n [192, 197, \"N\"],\n [198, 198, \"A\"],\n [199, 207, \"N\"],\n [208, 208, \"A\"],\n [209, 214, \"N\"],\n [215, 216, \"A\"],\n [217, 221, \"N\"],\n [222, 225, \"A\"],\n [226, 229, \"N\"],\n [230, 230, \"A\"],\n [231, 231, \"N\"],\n [232, 234, \"A\"],\n [235, 235, \"N\"],\n [236, 237, \"A\"],\n [238, 239, \"N\"],\n [240, 240, \"A\"],\n [241, 241, \"N\"],\n [242, 243, \"A\"],\n [244, 246, \"N\"],\n [247, 250, \"A\"],\n [251, 251, \"N\"],\n [252, 252, \"A\"],\n [253, 253, \"N\"],\n [254, 254, \"A\"],\n [255, 256, \"N\"],\n [257, 257, \"A\"],\n [258, 272, \"N\"],\n [273, 273, \"A\"],\n [274, 274, \"N\"],\n [275, 275, \"A\"],\n [276, 282, \"N\"],\n [283, 283, \"A\"],\n [284, 293, \"N\"],\n [294, 295, \"A\"],\n [296, 298, \"N\"],\n [299, 299, \"A\"],\n [300, 304, \"N\"],\n [305, 307, \"A\"],\n [308, 311, \"N\"],\n [312, 312, \"A\"],\n [313, 318, \"N\"],\n [319, 322, \"A\"],\n [323, 323, \"N\"],\n [324, 324, \"A\"],\n [325, 327, \"N\"],\n [328, 331, \"A\"],\n [332, 332, \"N\"],\n [333, 333, \"A\"],\n [334, 337, \"N\"],\n [338, 339, \"A\"],\n [340, 357, \"N\"],\n [358, 359, \"A\"],\n [360, 362, \"N\"],\n [363, 363, \"A\"],\n [364, 461, \"N\"],\n [462, 462, \"A\"],\n [463, 463, \"N\"],\n [464, 464, \"A\"],\n [465, 465, \"N\"],\n [466, 466, \"A\"],\n [467, 467, \"N\"],\n [468, 468, \"A\"],\n [469, 469, \"N\"],\n [470, 470, \"A\"],\n [471, 471, \"N\"],\n [472, 472, \"A\"],\n [473, 473, \"N\"],\n [474, 474, \"A\"],\n [475, 475, \"N\"],\n [476, 476, \"A\"],\n [477, 592, \"N\"],\n [593, 593, \"A\"],\n [594, 608, \"N\"],\n [609, 609, \"A\"],\n [610, 707, \"N\"],\n [708, 708, \"A\"],\n [709, 710, \"N\"],\n [711, 711, \"A\"],\n [712, 712, \"N\"],\n [713, 715, \"A\"],\n [716, 716, \"N\"],\n [717, 717, \"A\"],\n [718, 719, \"N\"],\n [720, 720, \"A\"],\n [721, 727, \"N\"],\n [728, 731, \"A\"],\n [732, 732, \"N\"],\n [733, 733, \"A\"],\n [734, 734, \"N\"],\n [735, 735, \"A\"],\n [736, 767, \"N\"],\n [768, 879, \"A\"],\n [880, 912, \"N\"],\n [913, 929, \"A\"],\n [930, 930, \"N\"],\n [931, 937, \"A\"],\n [938, 944, \"N\"],\n [945, 961, \"A\"],\n [962, 962, \"N\"],\n [963, 969, \"A\"],\n [970, 1024, \"N\"],\n [1025, 1025, \"A\"],\n [1026, 1039, \"N\"],\n [1040, 1103, \"A\"],\n [1104, 1104, \"N\"],\n [1105, 1105, \"A\"],\n [1106, 4351, \"N\"],\n [4352, 4447, \"W\"],\n [4448, 8207, \"N\"],\n [8208, 8208, \"A\"],\n [8209, 8210, \"N\"],\n [8211, 8214, \"A\"],\n [8215, 8215, \"N\"],\n [8216, 8217, \"A\"],\n [8218, 8219, \"N\"],\n [8220, 8221, \"A\"],\n [8222, 8223, \"N\"],\n [8224, 8226, \"A\"],\n [8227, 8227, \"N\"],\n [8228, 8231, \"A\"],\n [8232, 8239, \"N\"],\n [8240, 8240, \"A\"],\n [8241, 8241, \"N\"],\n [8242, 8243, \"A\"],\n [8244, 8244, \"N\"],\n [8245, 8245, \"A\"],\n [8246, 8250, \"N\"],\n [8251, 8251, \"A\"],\n [8252, 8253, \"N\"],\n [8254, 8254, \"A\"],\n [8255, 8307, \"N\"],\n [8308, 8308, \"A\"],\n [8309, 8318, \"N\"],\n [8319, 8319, \"A\"],\n [8320, 8320, \"N\"],\n [8321, 8324, \"A\"],\n [8325, 8360, \"N\"],\n [8361, 8361, \"H\"],\n [8362, 8363, \"N\"],\n [8364, 8364, \"A\"],\n [8365, 8450, \"N\"],\n [8451, 8451, \"A\"],\n [8452, 8452, \"N\"],\n [8453, 8453, \"A\"],\n [8454, 8456, \"N\"],\n [8457, 8457, \"A\"],\n [8458, 8466, \"N\"],\n [8467, 8467, \"A\"],\n [8468, 8469, \"N\"],\n [8470, 8470, \"A\"],\n [8471, 8480, \"N\"],\n [8481, 8482, \"A\"],\n [8483, 8485, \"N\"],\n [8486, 8486, \"A\"],\n [8487, 8490, \"N\"],\n [8491, 8491, \"A\"],\n [8492, 8530, \"N\"],\n [8531, 8532, \"A\"],\n [8533, 8538, \"N\"],\n [8539, 8542, \"A\"],\n [8543, 8543, \"N\"],\n [8544, 8555, \"A\"],\n [8556, 8559, \"N\"],\n [8560, 8569, \"A\"],\n [8570, 8584, \"N\"],\n [8585, 8585, \"A\"],\n [8586, 8591, \"N\"],\n [8592, 8601, \"A\"],\n [8602, 8631, \"N\"],\n [8632, 8633, \"A\"],\n [8634, 8657, \"N\"],\n [8658, 8658, \"A\"],\n [8659, 8659, \"N\"],\n [8660, 8660, \"A\"],\n [8661, 8678, \"N\"],\n [8679, 8679, \"A\"],\n [8680, 8703, \"N\"],\n [8704, 8704, \"A\"],\n [8705, 8705, \"N\"],\n [8706, 8707, \"A\"],\n [8708, 8710, \"N\"],\n [8711, 8712, \"A\"],\n [8713, 8714, \"N\"],\n [8715, 8715, \"A\"],\n [8716, 8718, \"N\"],\n [8719, 8719, \"A\"],\n [8720, 8720, \"N\"],\n [8721, 8721, \"A\"],\n [8722, 8724, \"N\"],\n [8725, 8725, \"A\"],\n [8726, 8729, \"N\"],\n [8730, 8730, \"A\"],\n [8731, 8732, \"N\"],\n [8733, 8736, \"A\"],\n [8737, 8738, \"N\"],\n [8739, 8739, \"A\"],\n [8740, 8740, \"N\"],\n [8741, 8741, \"A\"],\n [8742, 8742, \"N\"],\n [8743, 8748, \"A\"],\n [8749, 8749, \"N\"],\n [8750, 8750, \"A\"],\n [8751, 8755, \"N\"],\n [8756, 8759, \"A\"],\n [8760, 8763, \"N\"],\n [8764, 8765, \"A\"],\n [8766, 8775, \"N\"],\n [8776, 8776, \"A\"],\n [8777, 8779, \"N\"],\n [8780, 8780, \"A\"],\n [8781, 8785, \"N\"],\n [8786, 8786, \"A\"],\n [8787, 8799, \"N\"],\n [8800, 8801, \"A\"],\n [8802, 8803, \"N\"],\n [8804, 8807, \"A\"],\n [8808, 8809, \"N\"],\n [8810, 8811, \"A\"],\n [8812, 8813, \"N\"],\n [8814, 8815, \"A\"],\n [8816, 8833, \"N\"],\n [8834, 8835, \"A\"],\n [8836, 8837, \"N\"],\n [8838, 8839, \"A\"],\n [8840, 8852, \"N\"],\n [8853, 8853, \"A\"],\n [8854, 8856, \"N\"],\n [8857, 8857, \"A\"],\n [8858, 8868, \"N\"],\n [8869, 8869, \"A\"],\n [8870, 8894, \"N\"],\n [8895, 8895, \"A\"],\n [8896, 8977, \"N\"],\n [8978, 8978, \"A\"],\n [8979, 8985, \"N\"],\n [8986, 8987, \"W\"],\n [8988, 9000, \"N\"],\n [9001, 9002, \"W\"],\n [9003, 9192, \"N\"],\n [9193, 9196, \"W\"],\n [9197, 9199, \"N\"],\n [9200, 9200, \"W\"],\n [9201, 9202, \"N\"],\n [9203, 9203, \"W\"],\n [9204, 9311, \"N\"],\n [9312, 9449, \"A\"],\n [9450, 9450, \"N\"],\n [9451, 9547, \"A\"],\n [9548, 9551, \"N\"],\n [9552, 9587, \"A\"],\n [9588, 9599, \"N\"],\n [9600, 9615, \"A\"],\n [9616, 9617, \"N\"],\n [9618, 9621, \"A\"],\n [9622, 9631, \"N\"],\n [9632, 9633, \"A\"],\n [9634, 9634, \"N\"],\n [9635, 9641, \"A\"],\n [9642, 9649, \"N\"],\n [9650, 9651, \"A\"],\n [9652, 9653, \"N\"],\n [9654, 9655, \"A\"],\n [9656, 9659, \"N\"],\n [9660, 9661, \"A\"],\n [9662, 9663, \"N\"],\n [9664, 9665, \"A\"],\n [9666, 9669, \"N\"],\n [9670, 9672, \"A\"],\n [9673, 9674, \"N\"],\n [9675, 9675, \"A\"],\n [9676, 9677, \"N\"],\n [9678, 9681, \"A\"],\n [9682, 9697, \"N\"],\n [9698, 9701, \"A\"],\n [9702, 9710, \"N\"],\n [9711, 9711, \"A\"],\n [9712, 9724, \"N\"],\n [9725, 9726, \"W\"],\n [9727, 9732, \"N\"],\n [9733, 9734, \"A\"],\n [9735, 9736, \"N\"],\n [9737, 9737, \"A\"],\n [9738, 9741, \"N\"],\n [9742, 9743, \"A\"],\n [9744, 9747, \"N\"],\n [9748, 9749, \"W\"],\n [9750, 9755, \"N\"],\n [9756, 9756, \"A\"],\n [9757, 9757, \"N\"],\n [9758, 9758, \"A\"],\n [9759, 9775, \"N\"],\n [9776, 9783, \"W\"],\n [9784, 9791, \"N\"],\n [9792, 9792, \"A\"],\n [9793, 9793, \"N\"],\n [9794, 9794, \"A\"],\n [9795, 9799, \"N\"],\n [9800, 9811, \"W\"],\n [9812, 9823, \"N\"],\n [9824, 9825, \"A\"],\n [9826, 9826, \"N\"],\n [9827, 9829, \"A\"],\n [9830, 9830, \"N\"],\n [9831, 9834, \"A\"],\n [9835, 9835, \"N\"],\n [9836, 9837, \"A\"],\n [9838, 9838, \"N\"],\n [9839, 9839, \"A\"],\n [9840, 9854, \"N\"],\n [9855, 9855, \"W\"],\n [9856, 9865, \"N\"],\n [9866, 9871, \"W\"],\n [9872, 9874, \"N\"],\n [9875, 9875, \"W\"],\n [9876, 9885, \"N\"],\n [9886, 9887, \"A\"],\n [9888, 9888, \"N\"],\n [9889, 9889, \"W\"],\n [9890, 9897, \"N\"],\n [9898, 9899, \"W\"],\n [9900, 9916, \"N\"],\n [9917, 9918, \"W\"],\n [9919, 9919, \"A\"],\n [9920, 9923, \"N\"],\n [9924, 9925, \"W\"],\n [9926, 9933, \"A\"],\n [9934, 9934, \"W\"],\n [9935, 9939, \"A\"],\n [9940, 9940, \"W\"],\n [9941, 9953, \"A\"],\n [9954, 9954, \"N\"],\n [9955, 9955, \"A\"],\n [9956, 9959, \"N\"],\n [9960, 9961, \"A\"],\n [9962, 9962, \"W\"],\n [9963, 9969, \"A\"],\n [9970, 9971, \"W\"],\n [9972, 9972, \"A\"],\n [9973, 9973, \"W\"],\n [9974, 9977, \"A\"],\n [9978, 9978, \"W\"],\n [9979, 9980, \"A\"],\n [9981, 9981, \"W\"],\n [9982, 9983, \"A\"],\n [9984, 9988, \"N\"],\n [9989, 9989, \"W\"],\n [9990, 9993, \"N\"],\n [9994, 9995, \"W\"],\n [9996, 10023, \"N\"],\n [10024, 10024, \"W\"],\n [10025, 10044, \"N\"],\n [10045, 10045, \"A\"],\n [10046, 10059, \"N\"],\n [10060, 10060, \"W\"],\n [10061, 10061, \"N\"],\n [10062, 10062, \"W\"],\n [10063, 10066, \"N\"],\n [10067, 10069, \"W\"],\n [10070, 10070, \"N\"],\n [10071, 10071, \"W\"],\n [10072, 10101, \"N\"],\n [10102, 10111, \"A\"],\n [10112, 10132, \"N\"],\n [10133, 10135, \"W\"],\n [10136, 10159, \"N\"],\n [10160, 10160, \"W\"],\n [10161, 10174, \"N\"],\n [10175, 10175, \"W\"],\n [10176, 10213, \"N\"],\n [10214, 10221, \"Na\"],\n [10222, 10628, \"N\"],\n [10629, 10630, \"Na\"],\n [10631, 11034, \"N\"],\n [11035, 11036, \"W\"],\n [11037, 11087, \"N\"],\n [11088, 11088, \"W\"],\n [11089, 11092, \"N\"],\n [11093, 11093, \"W\"],\n [11094, 11097, \"A\"],\n [11098, 11903, \"N\"],\n [11904, 11929, \"W\"],\n [11930, 11930, \"N\"],\n [11931, 12019, \"W\"],\n [12020, 12031, \"N\"],\n [12032, 12245, \"W\"],\n [12246, 12271, \"N\"],\n [12272, 12287, \"W\"],\n [12288, 12288, \"F\"],\n [12289, 12350, \"W\"],\n [12351, 12352, \"N\"],\n [12353, 12438, \"W\"],\n [12439, 12440, \"N\"],\n [12441, 12543, \"W\"],\n [12544, 12548, \"N\"],\n [12549, 12591, \"W\"],\n [12592, 12592, \"N\"],\n [12593, 12686, \"W\"],\n [12687, 12687, \"N\"],\n [12688, 12773, \"W\"],\n [12774, 12782, \"N\"],\n [12783, 12830, \"W\"],\n [12831, 12831, \"N\"],\n [12832, 12871, \"W\"],\n [12872, 12879, \"A\"],\n [12880, 42124, \"W\"],\n [42125, 42127, \"N\"],\n [42128, 42182, \"W\"],\n [42183, 43359, \"N\"],\n [43360, 43388, \"W\"],\n [43389, 44031, \"N\"],\n [44032, 55203, \"W\"],\n [55204, 57343, \"N\"],\n [57344, 63743, \"A\"],\n [63744, 64255, \"W\"],\n [64256, 65023, \"N\"],\n [65024, 65039, \"A\"],\n [65040, 65049, \"W\"],\n [65050, 65071, \"N\"],\n [65072, 65106, \"W\"],\n [65107, 65107, \"N\"],\n [65108, 65126, \"W\"],\n [65127, 65127, \"N\"],\n [65128, 65131, \"W\"],\n [65132, 65280, \"N\"],\n [65281, 65376, \"F\"],\n [65377, 65470, \"H\"],\n [65471, 65473, \"N\"],\n [65474, 65479, \"H\"],\n [65480, 65481, \"N\"],\n [65482, 65487, \"H\"],\n [65488, 65489, \"N\"],\n [65490, 65495, \"H\"],\n [65496, 65497, \"N\"],\n [65498, 65500, \"H\"],\n [65501, 65503, \"N\"],\n [65504, 65510, \"F\"],\n [65511, 65511, \"N\"],\n [65512, 65518, \"H\"],\n [65519, 65532, \"N\"],\n [65533, 65533, \"A\"],\n [65534, 94175, \"N\"],\n [94176, 94180, \"W\"],\n [94181, 94191, \"N\"],\n [94192, 94193, \"W\"],\n [94194, 94207, \"N\"],\n [94208, 100343, \"W\"],\n [100344, 100351, \"N\"],\n [100352, 101589, \"W\"],\n [101590, 101630, \"N\"],\n [101631, 101640, \"W\"],\n [101641, 110575, \"N\"],\n [110576, 110579, \"W\"],\n [110580, 110580, \"N\"],\n [110581, 110587, \"W\"],\n [110588, 110588, \"N\"],\n [110589, 110590, \"W\"],\n [110591, 110591, \"N\"],\n [110592, 110882, \"W\"],\n [110883, 110897, \"N\"],\n [110898, 110898, \"W\"],\n [110899, 110927, \"N\"],\n [110928, 110930, \"W\"],\n [110931, 110932, \"N\"],\n [110933, 110933, \"W\"],\n [110934, 110947, \"N\"],\n [110948, 110951, \"W\"],\n [110952, 110959, \"N\"],\n [110960, 111355, \"W\"],\n [111356, 119551, \"N\"],\n [119552, 119638, \"W\"],\n [119639, 119647, \"N\"],\n [119648, 119670, \"W\"],\n [119671, 126979, \"N\"],\n [126980, 126980, \"W\"],\n [126981, 127182, \"N\"],\n [127183, 127183, \"W\"],\n [127184, 127231, \"N\"],\n [127232, 127242, \"A\"],\n [127243, 127247, \"N\"],\n [127248, 127277, \"A\"],\n [127278, 127279, \"N\"],\n [127280, 127337, \"A\"],\n [127338, 127343, \"N\"],\n [127344, 127373, \"A\"],\n [127374, 127374, \"W\"],\n [127375, 127376, \"A\"],\n [127377, 127386, \"W\"],\n [127387, 127404, \"A\"],\n [127405, 127487, \"N\"],\n [127488, 127490, \"W\"],\n [127491, 127503, \"N\"],\n [127504, 127547, \"W\"],\n [127548, 127551, \"N\"],\n [127552, 127560, \"W\"],\n [127561, 127567, \"N\"],\n [127568, 127569, \"W\"],\n [127570, 127583, \"N\"],\n [127584, 127589, \"W\"],\n [127590, 127743, \"N\"],\n [127744, 127776, \"W\"],\n [127777, 127788, \"N\"],\n [127789, 127797, \"W\"],\n [127798, 127798, \"N\"],\n [127799, 127868, \"W\"],\n [127869, 127869, \"N\"],\n [127870, 127891, \"W\"],\n [127892, 127903, \"N\"],\n [127904, 127946, \"W\"],\n [127947, 127950, \"N\"],\n [127951, 127955, \"W\"],\n [127956, 127967, \"N\"],\n [127968, 127984, \"W\"],\n [127985, 127987, \"N\"],\n [127988, 127988, \"W\"],\n [127989, 127991, \"N\"],\n [127992, 128062, \"W\"],\n [128063, 128063, \"N\"],\n [128064, 128064, \"W\"],\n [128065, 128065, \"N\"],\n [128066, 128252, \"W\"],\n [128253, 128254, \"N\"],\n [128255, 128317, \"W\"],\n [128318, 128330, \"N\"],\n [128331, 128334, \"W\"],\n [128335, 128335, \"N\"],\n [128336, 128359, \"W\"],\n [128360, 128377, \"N\"],\n [128378, 128378, \"W\"],\n [128379, 128404, \"N\"],\n [128405, 128406, \"W\"],\n [128407, 128419, \"N\"],\n [128420, 128420, \"W\"],\n [128421, 128506, \"N\"],\n [128507, 128591, \"W\"],\n [128592, 128639, \"N\"],\n [128640, 128709, \"W\"],\n [128710, 128715, \"N\"],\n [128716, 128716, \"W\"],\n [128717, 128719, \"N\"],\n [128720, 128722, \"W\"],\n [128723, 128724, \"N\"],\n [128725, 128727, \"W\"],\n [128728, 128731, \"N\"],\n [128732, 128735, \"W\"],\n [128736, 128746, \"N\"],\n [128747, 128748, \"W\"],\n [128749, 128755, \"N\"],\n [128756, 128764, \"W\"],\n [128765, 128991, \"N\"],\n [128992, 129003, \"W\"],\n [129004, 129007, \"N\"],\n [129008, 129008, \"W\"],\n [129009, 129291, \"N\"],\n [129292, 129338, \"W\"],\n [129339, 129339, \"N\"],\n [129340, 129349, \"W\"],\n [129350, 129350, \"N\"],\n [129351, 129535, \"W\"],\n [129536, 129647, \"N\"],\n [129648, 129660, \"W\"],\n [129661, 129663, \"N\"],\n [129664, 129673, \"W\"],\n [129674, 129678, \"N\"],\n [129679, 129734, \"W\"],\n [129735, 129741, \"N\"],\n [129742, 129756, \"W\"],\n [129757, 129758, \"N\"],\n [129759, 129769, \"W\"],\n [129770, 129775, \"N\"],\n [129776, 129784, \"W\"],\n [129785, 131071, \"N\"],\n [131072, 196605, \"W\"],\n [196606, 196607, \"N\"],\n [196608, 262141, \"W\"],\n [262142, 917759, \"N\"],\n [917760, 917999, \"A\"],\n [918000, 983039, \"N\"],\n [983040, 1048573, \"A\"],\n [1048574, 1048575, \"N\"],\n [1048576, 1114109, \"A\"],\n [1114110, 1114111, \"N\"],\n];\n/* END */\n\nexport const version: string = \"16.0.0\";\n","import type { EastAsianWidth } from \"./types\";\nimport { defs } from \"./defs\";\n\n/**\n * Gets the EAW property of a code point.\n * @param codePoint Code point\n * @return The EAW property of the code point\n */\nfunction getEAWOfCodePointInternal(codePoint: number): EastAsianWidth {\n let min = 0;\n let max = defs.length - 1;\n while (min !== max) {\n const i = min + ((max - min) >> 1);\n const [start, end, prop] = defs[i];\n if (codePoint < start) {\n max = i - 1;\n } else if (codePoint > end) {\n min = i + 1;\n } else {\n return prop;\n }\n }\n return defs[min][2];\n}\n\n/**\n * Gets the EAW property of a code point.\n * @param codePoint Code point\n * @return The EAW property of the code point\n * @example\n * import { getEAWOfCodePoint } from \"meaw\";\n *\n * // 0x3042 is the code point of 'あ' (U+3042)\n * assert(getEAWOfCodePoint(0x3042) === \"W\");\n */\nexport function getEAWOfCodePoint(codePoint: number): EastAsianWidth | undefined {\n if (!Number.isInteger(codePoint) || codePoint < 0 || 0x10ffff < codePoint) {\n return undefined;\n }\n return getEAWOfCodePointInternal(codePoint);\n}\n\n/**\n * Gets the EAW property of a character.\n * @param str Character string\n * @param pos Character position (in code unit) (default = 0)\n * @return The EAW property of the character\n * @example\n * import { getEAW } from \"meaw\";\n *\n * // Narrow\n * assert(getEAW(\"A\") === \"Na\");\n * // Wide\n * assert(getEAW(\"あ\") === \"W\");\n * assert(getEAW(\"安\") === \"W\");\n * assert(getEAW(\"🍣\") === \"W\");\n * // Fullwidth\n * assert(getEAW(\"A\") === \"F\");\n * // Halfwidth\n * assert(getEAW(\"ア\") === \"H\");\n * // Ambiguous\n * assert(getEAW(\"∀\") === \"A\");\n * assert(getEAW(\"→\") === \"A\");\n * assert(getEAW(\"Ω\") === \"A\");\n * assert(getEAW(\"Я\") === \"A\");\n * // Neutral\n * assert(getEAW(\"ℵ\") === \"N\");\n *\n * // character position (in code unit) can be specified\n * assert(getEAW(\"ℵAあAア∀\", 2) === \"W\");\n */\nexport function getEAW(str: string, pos: number = 0): EastAsianWidth | undefined {\n const codePoint = str.codePointAt(pos);\n if (codePoint === undefined) {\n return undefined;\n }\n return getEAWOfCodePointInternal(codePoint);\n}\n","import type { EastAsianWidth } from \"./types\";\nimport { getEAW } from \"./get-eaw\";\n\nconst defaultWidths: Readonly<Record<EastAsianWidth, number>> = {\n N: 1,\n Na: 1,\n W: 2,\n F: 2,\n H: 1,\n A: 1,\n};\n\n/**\n * Computes the width of a string based on the EAW properties of the characters.\n * By default, characters with property Wide (W) or Fullwidth (F) are treated as wide (= 2)\n * and others are as narrow (= 1).\n * @deprecated\n * @param str Character string\n * @param widths An object that maps EAW properties to character widths\n * @return The computed width\n * @example\n * import { computeWidth } from \"meaw\";\n *\n * assert(computeWidth(\"Aあ🍣Ω\") === 6);\n * // character width for each EAW property can be customized\n * assert(computeWidth(\"Aあ🍣Ω\", { \"A\": 2 }) === 7);\n */\nexport function computeWidth(\n str: string,\n widths?: Readonly<Partial<Record<EastAsianWidth, number>>>,\n): number {\n let width = 0;\n for (const char of str) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- char cannot be empty\n const eaw = getEAW(char)!;\n width += (widths && widths[eaw]) || defaultWidths[eaw];\n }\n return width;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACUO,IAAM,OAA0B;AAAA,EACrC,CAAC,GAAG,IAAI,GAAG;AAAA,EACX,CAAC,IAAI,KAAK,IAAI;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,IAAI;AAAA,EACf,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,IAAI;AAAA,EACf,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,IAAI;AAAA,EACf,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,IAAI;AAAA,EACf,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,MAAM,GAAG;AAAA,EACf,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,KAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,MAAM,GAAG;AAAA,EAChB,CAAC,MAAM,OAAO,GAAG;AAAA,EACjB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,IAAI;AAAA,EACnB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,IAAI;AAAA,EACnB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,OAAO,GAAG;AAAA,EAClB,CAAC,OAAO,QAAQ,GAAG;AAAA,EACnB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,OAAQ,QAAQ,GAAG;AAAA,EACpB,CAAC,QAAQ,SAAS,GAAG;AAAA,EACrB,CAAC,SAAS,SAAS,GAAG;AAAA,EACtB,CAAC,SAAS,SAAS,GAAG;AAAA,EACtB,CAAC,SAAS,SAAS,GAAG;AACxB;AAGO,IAAM,UAAkB;;;AC9lB/B,SAAS,0BAA0B,WAAmC;AACpE,MAAI,MAAM;AACV,MAAI,MAAM,KAAK,SAAS;AACxB,SAAO,QAAQ,KAAK;AAClB,UAAM,IAAI,OAAQ,MAAM,OAAQ;AAChC,UAAM,CAAC,OAAO,KAAK,IAAI,IAAI,KAAK,CAAC;AACjC,QAAI,YAAY,OAAO;AACrB,YAAM,IAAI;AAAA,IACZ,WAAW,YAAY,KAAK;AAC1B,YAAM,IAAI;AAAA,IACZ,OAAO;AACL,aAAO;AAAA,IACT;AAAA,EACF;AACA,SAAO,KAAK,GAAG,EAAE,CAAC;AACpB;AAYO,SAAS,kBAAkB,WAA+C;AAC/E,MAAI,CAAC,OAAO,UAAU,SAAS,KAAK,YAAY,KAAK,UAAW,WAAW;AACzE,WAAO;AAAA,EACT;AACA,SAAO,0BAA0B,SAAS;AAC5C;AA+BO,SAAS,OAAO,KAAa,MAAc,GAA+B;AAC/E,QAAM,YAAY,IAAI,YAAY,GAAG;AACrC,MAAI,cAAc,QAAW;AAC3B,WAAO;AAAA,EACT;AACA,SAAO,0BAA0B,SAAS;AAC5C;;;AC1EA,IAAM,gBAA0D;AAAA,EAC9D,GAAG;AAAA,EACH,IAAI;AAAA,EACJ,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AACL;AAiBO,SAAS,aACd,KACA,QACQ;AACR,MAAI,QAAQ;AACZ,aAAW,QAAQ,KAAK;AAEtB,UAAM,MAAM,OAAO,IAAI;AACvB,aAAU,UAAU,OAAO,GAAG,KAAM,cAAc,GAAG;AAAA,EACvD;AACA,SAAO;AACT;","names":[]}