/*!re2c
Basic_Latin = [\x00-\x7f];
Latin_1_Supplement = [\x80-\xff];
Latin_Extended_A = [\u0100-\u017f];
Latin_Extended_B = [\u0180-\u024f];
IPA_Extensions = [\u0250-\u02af];
Spacing_Modifier_Letters = [\u02b0-\u02ff];
Combining_Diacritical_Marks = [\u0300-\u036f];
Greek_and_Coptic = [\u0370-\u03ff];
Cyrillic = [\u0400-\u04ff];
Cyrillic_Supplement = [\u0500-\u052f];
Armenian = [\u0530-\u058f];
Hebrew = [\u0590-\u05ff];
Arabic = [\u0600-\u06ff];
Syriac = [\u0700-\u074f];
Arabic_Supplement = [\u0750-\u077f];
Thaana = [\u0780-\u07bf];
NKo = [\u07c0-\u07ff];
Samaritan = [\u0800-\u083f];
Mandaic = [\u0840-\u085f];
Syriac_Supplement = [\u0860-\u086f];
Arabic_Extended_B = [\u0870-\u089f];
Arabic_Extended_A = [\u08a0-\u08ff];
Devanagari = [\u0900-\u097f];
Bengali = [\u0980-\u09ff];
Gurmukhi = [\u0a00-\u0a7f];
Gujarati = [\u0a80-\u0aff];
Oriya = [\u0b00-\u0b7f];
Tamil = [\u0b80-\u0bff];
Telugu = [\u0c00-\u0c7f];
Kannada = [\u0c80-\u0cff];
Malayalam = [\u0d00-\u0d7f];
Sinhala = [\u0d80-\u0dff];
Thai = [\u0e00-\u0e7f];
Lao = [\u0e80-\u0eff];
Tibetan = [\u0f00-\u0fff];
Myanmar = [\u1000-\u109f];
Georgian = [\u10a0-\u10ff];
Hangul_Jamo = [\u1100-\u11ff];
Ethiopic = [\u1200-\u137f];
Ethiopic_Supplement = [\u1380-\u139f];
Cherokee = [\u13a0-\u13ff];
Unified_Canadian_Aboriginal_Syllabics = [\u1400-\u167f];
Ogham = [\u1680-\u169f];
Runic = [\u16a0-\u16ff];
Tagalog = [\u1700-\u171f];
Hanunoo = [\u1720-\u173f];
Buhid = [\u1740-\u175f];
Tagbanwa = [\u1760-\u177f];
Khmer = [\u1780-\u17ff];
Mongolian = [\u1800-\u18af];
Unified_Canadian_Aboriginal_Syllabics_Extended = [\u18b0-\u18ff];
Limbu = [\u1900-\u194f];
Tai_Le = [\u1950-\u197f];
New_Tai_Lue = [\u1980-\u19df];
Khmer_Symbols = [\u19e0-\u19ff];
Buginese = [\u1a00-\u1a1f];
Tai_Tham = [\u1a20-\u1aaf];
Combining_Diacritical_Marks_Extended = [\u1ab0-\u1aff];
Balinese = [\u1b00-\u1b7f];
Sundanese = [\u1b80-\u1bbf];
Batak = [\u1bc0-\u1bff];
Lepcha = [\u1c00-\u1c4f];
Ol_Chiki = [\u1c50-\u1c7f];
Cyrillic_Extended_C = [\u1c80-\u1c8f];
Georgian_Extended = [\u1c90-\u1cbf];
Sundanese_Supplement = [\u1cc0-\u1ccf];
Vedic_Extensions = [\u1cd0-\u1cff];
Phonetic_Extensions = [\u1d00-\u1d7f];
Phonetic_Extensions_Supplement = [\u1d80-\u1dbf];
Combining_Diacritical_Marks_Supplement = [\u1dc0-\u1dff];
Latin_Extended_Additional = [\u1e00-\u1eff];
Greek_Extended = [\u1f00-\u1fff];
General_Punctuation = [\u2000-\u206f];
Superscripts_and_Subscripts = [\u2070-\u209f];
Currency_Symbols = [\u20a0-\u20cf];
Combining_Diacritical_Marks_for_Symbols = [\u20d0-\u20ff];
Letterlike_Symbols = [\u2100-\u214f];
Number_Forms = [\u2150-\u218f];
Arrows = [\u2190-\u21ff];
Mathematical_Operators = [\u2200-\u22ff];
Miscellaneous_Technical = [\u2300-\u23ff];
Control_Pictures = [\u2400-\u243f];
Optical_Character_Recognition = [\u2440-\u245f];
Enclosed_Alphanumerics = [\u2460-\u24ff];
Box_Drawing = [\u2500-\u257f];
Block_Elements = [\u2580-\u259f];
Geometric_Shapes = [\u25a0-\u25ff];
Miscellaneous_Symbols = [\u2600-\u26ff];
Dingbats = [\u2700-\u27bf];
Miscellaneous_Mathematical_Symbols_A = [\u27c0-\u27ef];
Supplemental_Arrows_A = [\u27f0-\u27ff];
Braille_Patterns = [\u2800-\u28ff];
Supplemental_Arrows_B = [\u2900-\u297f];
Miscellaneous_Mathematical_Symbols_B = [\u2980-\u29ff];
Supplemental_Mathematical_Operators = [\u2a00-\u2aff];
Miscellaneous_Symbols_and_Arrows = [\u2b00-\u2bff];
Glagolitic = [\u2c00-\u2c5f];
Latin_Extended_C = [\u2c60-\u2c7f];
Coptic = [\u2c80-\u2cff];
Georgian_Supplement = [\u2d00-\u2d2f];
Tifinagh = [\u2d30-\u2d7f];
Ethiopic_Extended = [\u2d80-\u2ddf];
Cyrillic_Extended_A = [\u2de0-\u2dff];
Supplemental_Punctuation = [\u2e00-\u2e7f];
CJK_Radicals_Supplement = [\u2e80-\u2eff];
Kangxi_Radicals = [\u2f00-\u2fdf];
Ideographic_Description_Characters = [\u2ff0-\u2fff];
CJK_Symbols_and_Punctuation = [\u3000-\u303f];
Hiragana = [\u3040-\u309f];
Katakana = [\u30a0-\u30ff];
Bopomofo = [\u3100-\u312f];
Hangul_Compatibility_Jamo = [\u3130-\u318f];
Kanbun = [\u3190-\u319f];
Bopomofo_Extended = [\u31a0-\u31bf];
CJK_Strokes = [\u31c0-\u31ef];
Katakana_Phonetic_Extensions = [\u31f0-\u31ff];
Enclosed_CJK_Letters_and_Months = [\u3200-\u32ff];
CJK_Compatibility = [\u3300-\u33ff];
CJK_Unified_Ideographs_Extension_A = [\u3400-\u4dbf];
Yijing_Hexagram_Symbols = [\u4dc0-\u4dff];
CJK_Unified_Ideographs = [\u4e00-\u9fff];
Yi_Syllables = [\ua000-\ua48f];
Yi_Radicals = [\ua490-\ua4cf];
Lisu = [\ua4d0-\ua4ff];
Vai = [\ua500-\ua63f];
Cyrillic_Extended_B = [\ua640-\ua69f];
Bamum = [\ua6a0-\ua6ff];
Modifier_Tone_Letters = [\ua700-\ua71f];
Latin_Extended_D = [\ua720-\ua7ff];
Syloti_Nagri = [\ua800-\ua82f];
Common_Indic_Number_Forms = [\ua830-\ua83f];
Phags_pa = [\ua840-\ua87f];
Saurashtra = [\ua880-\ua8df];
Devanagari_Extended = [\ua8e0-\ua8ff];
Kayah_Li = [\ua900-\ua92f];
Rejang = [\ua930-\ua95f];
Hangul_Jamo_Extended_A = [\ua960-\ua97f];
Javanese = [\ua980-\ua9df];
Myanmar_Extended_B = [\ua9e0-\ua9ff];
Cham = [\uaa00-\uaa5f];
Myanmar_Extended_A = [\uaa60-\uaa7f];
Tai_Viet = [\uaa80-\uaadf];
Meetei_Mayek_Extensions = [\uaae0-\uaaff];
Ethiopic_Extended_A = [\uab00-\uab2f];
Latin_Extended_E = [\uab30-\uab6f];
Cherokee_Supplement = [\uab70-\uabbf];
Meetei_Mayek = [\uabc0-\uabff];
Hangul_Syllables = [\uac00-\ud7af];
Hangul_Jamo_Extended_B = [\ud7b0-\ud7ff];
High_Surrogates = [\ud800-\udb7f];
High_Private_Use_Surrogates = [\udb80-\udbff];
Low_Surrogates = [\udc00-\udfff];
Private_Use_Area = [\ue000-\uf8ff];
CJK_Compatibility_Ideographs = [\uf900-\ufaff];
Alphabetic_Presentation_Forms = [\ufb00-\ufb4f];
Arabic_Presentation_Forms_A = [\ufb50-\ufdff];
Variation_Selectors = [\ufe00-\ufe0f];
Vertical_Forms = [\ufe10-\ufe1f];
Combining_Half_Marks = [\ufe20-\ufe2f];
CJK_Compatibility_Forms = [\ufe30-\ufe4f];
Small_Form_Variants = [\ufe50-\ufe6f];
Arabic_Presentation_Forms_B = [\ufe70-\ufeff];
Halfwidth_and_Fullwidth_Forms = [\uff00-\uffef];
Specials = [\ufff0-\uffff];
Linear_B_Syllabary = [\U00010000-\U0001007f];
Linear_B_Ideograms = [\U00010080-\U000100ff];
Aegean_Numbers = [\U00010100-\U0001013f];
Ancient_Greek_Numbers = [\U00010140-\U0001018f];
Ancient_Symbols = [\U00010190-\U000101cf];
Phaistos_Disc = [\U000101d0-\U000101ff];
Lycian = [\U00010280-\U0001029f];
Carian = [\U000102a0-\U000102df];
Coptic_Epact_Numbers = [\U000102e0-\U000102ff];
Old_Italic = [\U00010300-\U0001032f];
Gothic = [\U00010330-\U0001034f];
Old_Permic = [\U00010350-\U0001037f];
Ugaritic = [\U00010380-\U0001039f];
Old_Persian = [\U000103a0-\U000103df];
Deseret = [\U00010400-\U0001044f];
Shavian = [\U00010450-\U0001047f];
Osmanya = [\U00010480-\U000104af];
Osage = [\U000104b0-\U000104ff];
Elbasan = [\U00010500-\U0001052f];
Caucasian_Albanian = [\U00010530-\U0001056f];
Vithkuqi = [\U00010570-\U000105bf];
Todhri = [\U000105c0-\U000105ff];
Linear_A = [\U00010600-\U0001077f];
Latin_Extended_F = [\U00010780-\U000107bf];
Cypriot_Syllabary = [\U00010800-\U0001083f];
Imperial_Aramaic = [\U00010840-\U0001085f];
Palmyrene = [\U00010860-\U0001087f];
Nabataean = [\U00010880-\U000108af];
Hatran = [\U000108e0-\U000108ff];
Phoenician = [\U00010900-\U0001091f];
Lydian = [\U00010920-\U0001093f];
Sidetic = [\U00010940-\U0001095f];
Meroitic_Hieroglyphs = [\U00010980-\U0001099f];
Meroitic_Cursive = [\U000109a0-\U000109ff];
Kharoshthi = [\U00010a00-\U00010a5f];
Old_South_Arabian = [\U00010a60-\U00010a7f];
Old_North_Arabian = [\U00010a80-\U00010a9f];
Manichaean = [\U00010ac0-\U00010aff];
Avestan = [\U00010b00-\U00010b3f];
Inscriptional_Parthian = [\U00010b40-\U00010b5f];
Inscriptional_Pahlavi = [\U00010b60-\U00010b7f];
Psalter_Pahlavi = [\U00010b80-\U00010baf];
Old_Turkic = [\U00010c00-\U00010c4f];
Old_Hungarian = [\U00010c80-\U00010cff];
Hanifi_Rohingya = [\U00010d00-\U00010d3f];
Garay = [\U00010d40-\U00010d8f];
Rumi_Numeral_Symbols = [\U00010e60-\U00010e7f];
Yezidi = [\U00010e80-\U00010ebf];
Arabic_Extended_C = [\U00010ec0-\U00010eff];
Old_Sogdian = [\U00010f00-\U00010f2f];
Sogdian = [\U00010f30-\U00010f6f];
Old_Uyghur = [\U00010f70-\U00010faf];
Chorasmian = [\U00010fb0-\U00010fdf];
Elymaic = [\U00010fe0-\U00010fff];
Brahmi = [\U00011000-\U0001107f];
Kaithi = [\U00011080-\U000110cf];
Sora_Sompeng = [\U000110d0-\U000110ff];
Chakma = [\U00011100-\U0001114f];
Mahajani = [\U00011150-\U0001117f];
Sharada = [\U00011180-\U000111df];
Sinhala_Archaic_Numbers = [\U000111e0-\U000111ff];
Khojki = [\U00011200-\U0001124f];
Multani = [\U00011280-\U000112af];
Khudawadi = [\U000112b0-\U000112ff];
Grantha = [\U00011300-\U0001137f];
Tulu_Tigalari = [\U00011380-\U000113ff];
Newa = [\U00011400-\U0001147f];
Tirhuta = [\U00011480-\U000114df];
Siddham = [\U00011580-\U000115ff];
Modi = [\U00011600-\U0001165f];
Mongolian_Supplement = [\U00011660-\U0001167f];
Takri = [\U00011680-\U000116cf];
Myanmar_Extended_C = [\U000116d0-\U000116ff];
Ahom = [\U00011700-\U0001174f];
Dogra = [\U00011800-\U0001184f];
Warang_Citi = [\U000118a0-\U000118ff];
Dives_Akuru = [\U00011900-\U0001195f];
Nandinagari = [\U000119a0-\U000119ff];
Zanabazar_Square = [\U00011a00-\U00011a4f];
Soyombo = [\U00011a50-\U00011aaf];
Unified_Canadian_Aboriginal_Syllabics_Extended_A = [\U00011ab0-\U00011abf];
Pau_Cin_Hau = [\U00011ac0-\U00011aff];
Devanagari_Extended_A = [\U00011b00-\U00011b5f];
Sharada_Supplement = [\U00011b60-\U00011b7f];
Sunuwar = [\U00011bc0-\U00011bff];
Bhaiksuki = [\U00011c00-\U00011c6f];
Marchen = [\U00011c70-\U00011cbf];
Masaram_Gondi = [\U00011d00-\U00011d5f];
Gunjala_Gondi = [\U00011d60-\U00011daf];
Tolong_Siki = [\U00011db0-\U00011def];
Makasar = [\U00011ee0-\U00011eff];
Kawi = [\U00011f00-\U00011f5f];
Lisu_Supplement = [\U00011fb0-\U00011fbf];
Tamil_Supplement = [\U00011fc0-\U00011fff];
Cuneiform = [\U00012000-\U000123ff];
Cuneiform_Numbers_and_Punctuation = [\U00012400-\U0001247f];
Early_Dynastic_Cuneiform = [\U00012480-\U0001254f];
Cypro_Minoan = [\U00012f90-\U00012fff];
Egyptian_Hieroglyphs = [\U00013000-\U0001342f];
Egyptian_Hieroglyph_Format_Controls = [\U00013430-\U0001345f];
Egyptian_Hieroglyphs_Extended_A = [\U00013460-\U000143ff];
Anatolian_Hieroglyphs = [\U00014400-\U0001467f];
Gurung_Khema = [\U00016100-\U0001613f];
Bamum_Supplement = [\U00016800-\U00016a3f];
Mro = [\U00016a40-\U00016a6f];
Tangsa = [\U00016a70-\U00016acf];
Bassa_Vah = [\U00016ad0-\U00016aff];
Pahawh_Hmong = [\U00016b00-\U00016b8f];
Kirat_Rai = [\U00016d40-\U00016d7f];
Medefaidrin = [\U00016e40-\U00016e9f];
Beria_Erfe = [\U00016ea0-\U00016edf];
Miao = [\U00016f00-\U00016f9f];
Ideographic_Symbols_and_Punctuation = [\U00016fe0-\U00016fff];
Tangut = [\U00017000-\U000187ff];
Tangut_Components = [\U00018800-\U00018aff];
Khitan_Small_Script = [\U00018b00-\U00018cff];
Tangut_Supplement = [\U00018d00-\U00018d7f];
Tangut_Components_Supplement = [\U00018d80-\U00018dff];
Kana_Extended_B = [\U0001aff0-\U0001afff];
Kana_Supplement = [\U0001b000-\U0001b0ff];
Kana_Extended_A = [\U0001b100-\U0001b12f];
Small_Kana_Extension = [\U0001b130-\U0001b16f];
Nushu = [\U0001b170-\U0001b2ff];
Duployan = [\U0001bc00-\U0001bc9f];
Shorthand_Format_Controls = [\U0001bca0-\U0001bcaf];
Symbols_for_Legacy_Computing_Supplement = [\U0001cc00-\U0001cebf];
Miscellaneous_Symbols_Supplement = [\U0001cec0-\U0001ceff];
Znamenny_Musical_Notation = [\U0001cf00-\U0001cfcf];
Byzantine_Musical_Symbols = [\U0001d000-\U0001d0ff];
Musical_Symbols = [\U0001d100-\U0001d1ff];
Ancient_Greek_Musical_Notation = [\U0001d200-\U0001d24f];
Kaktovik_Numerals = [\U0001d2c0-\U0001d2df];
Mayan_Numerals = [\U0001d2e0-\U0001d2ff];
Tai_Xuan_Jing_Symbols = [\U0001d300-\U0001d35f];
Counting_Rod_Numerals = [\U0001d360-\U0001d37f];
Mathematical_Alphanumeric_Symbols = [\U0001d400-\U0001d7ff];
Sutton_SignWriting = [\U0001d800-\U0001daaf];
Latin_Extended_G = [\U0001df00-\U0001dfff];
Glagolitic_Supplement = [\U0001e000-\U0001e02f];
Cyrillic_Extended_D = [\U0001e030-\U0001e08f];
Nyiakeng_Puachue_Hmong = [\U0001e100-\U0001e14f];
Toto = [\U0001e290-\U0001e2bf];
Wancho = [\U0001e2c0-\U0001e2ff];
Nag_Mundari = [\U0001e4d0-\U0001e4ff];
Ol_Onal = [\U0001e5d0-\U0001e5ff];
Tai_Yo = [\U0001e6c0-\U0001e6ff];
Ethiopic_Extended_B = [\U0001e7e0-\U0001e7ff];
Mende_Kikakui = [\U0001e800-\U0001e8df];
Adlam = [\U0001e900-\U0001e95f];
Indic_Siyaq_Numbers = [\U0001ec70-\U0001ecbf];
Ottoman_Siyaq_Numbers = [\U0001ed00-\U0001ed4f];
Arabic_Mathematical_Alphabetic_Symbols = [\U0001ee00-\U0001eeff];
Mahjong_Tiles = [\U0001f000-\U0001f02f];
Domino_Tiles = [\U0001f030-\U0001f09f];
Playing_Cards = [\U0001f0a0-\U0001f0ff];
Enclosed_Alphanumeric_Supplement = [\U0001f100-\U0001f1ff];
Enclosed_Ideographic_Supplement = [\U0001f200-\U0001f2ff];
Miscellaneous_Symbols_and_Pictographs = [\U0001f300-\U0001f5ff];
Emoticons = [\U0001f600-\U0001f64f];
Ornamental_Dingbats = [\U0001f650-\U0001f67f];
Transport_and_Map_Symbols = [\U0001f680-\U0001f6ff];
Alchemical_Symbols = [\U0001f700-\U0001f77f];
Geometric_Shapes_Extended = [\U0001f780-\U0001f7ff];
Supplemental_Arrows_C = [\U0001f800-\U0001f8ff];
Supplemental_Symbols_and_Pictographs = [\U0001f900-\U0001f9ff];
Chess_Symbols = [\U0001fa00-\U0001fa6f];
Symbols_and_Pictographs_Extended_A = [\U0001fa70-\U0001faff];
Symbols_for_Legacy_Computing = [\U0001fb00-\U0001fbff];
CJK_Unified_Ideographs_Extension_B = [\U00020000-\U0002a6df];
CJK_Unified_Ideographs_Extension_C = [\U0002a700-\U0002b73f];
CJK_Unified_Ideographs_Extension_D = [\U0002b740-\U0002b81f];
CJK_Unified_Ideographs_Extension_E = [\U0002b820-\U0002ceaf];
CJK_Unified_Ideographs_Extension_F = [\U0002ceb0-\U0002ebef];
CJK_Unified_Ideographs_Extension_I = [\U0002ebf0-\U0002ee5f];
CJK_Compatibility_Ideographs_Supplement = [\U0002f800-\U0002fa1f];
CJK_Unified_Ideographs_Extension_G = [\U00030000-\U0003134f];
CJK_Unified_Ideographs_Extension_H = [\U00031350-\U000323af];
CJK_Unified_Ideographs_Extension_J = [\U000323b0-\U0003347f];
Tags = [\U000e0000-\U000e007f];
Variation_Selectors_Supplement = [\U000e0100-\U000e01ef];
Supplementary_Private_Use_Area_A = [\U000f0000-\U000fffff];
Supplementary_Private_Use_Area_B = [\U00100000-\U0010ffff];
*/
