// 本文件由 `scripts/gen_escape_family.py` 从参照腿的读数生成,**勿手改、勿手加条目**。
// 来源一:`scripts/EntityTableLeg.java` 反射读 `XmlEscape`/`Html4Escape`/`XmlUnescape`/
//   `Html4Unescape` 四个类自己的 `String[][]` 静态字段——实体码表就是它们本身,
//   不抄 Apache 清单、不抄网页表(hutool 的 HTML4 表是 Apache Commons 派生,条目以 jar 现读为准;
//   反射读常量是 `re` 轮 RegexPool 那批用过的同一条做法)。
// 来源二:`scripts/EscapeLeg3.java` 对整个 BMP 逐位问 `EscapeUtil.escape`,先证
//   "谓词==行为"零分岔(MISMATCH|count|0),再把不转义集压成区间表。
// 谓词本体由 javap -c 现读 `EscapeUtil.lambda$static$0`:
//   isDigit(c) || isLowerCase(c) || isUpperCase(c) || "*@-_+./".contains(c)
// 是**大小写/数字**、不是 isLetterOrDigit——这解释了 ª(U+00AA) 被留、
// ƻ(U+01BB, Lt) 与 あ(U+3041, Lo) 被转、Ⅰ(U+2160, Other_Uppercase) 被留。
// 参照版本 hutool-all 5.8.37;判据与逐条出处见 docs/spec/01-text.md §1.16。

///|
// escape_xml 的实体表(`XmlEscape.BASIC_ESCAPE`) —— 5 条,逐条来自腿的反射读数
let xml_escape_pairs : Array[(String, String)] = [
  ("'", "'"),
  ("\"", """),
  ("&", "&"),
  ("<", "<"),
  (">", ">"),
]

///|
// escape_html4 的实体表(`Html4Escape` 三张字段按 BASIC→ISO8859_1→HTML40_EXTENDED 顺序拼接) —— 251 条,逐条来自腿的反射读数
let html4_escape_pairs : Array[(String, String)] = [
  ("\"", """),
  ("&", "&"),
  ("<", "<"),
  (">", ">"),
  ("\u{00a0}", " "),
  ("\u{00a1}", "¡"),
  ("\u{00a2}", "¢"),
  ("\u{00a3}", "£"),
  ("\u{00a4}", "¤"),
  ("\u{00a5}", "¥"),
  ("\u{00a6}", "¦"),
  ("\u{00a7}", "§"),
  ("\u{00a8}", "¨"),
  ("\u{00a9}", "©"),
  ("\u{00aa}", "ª"),
  ("\u{00ab}", "«"),
  ("\u{00ac}", "¬"),
  ("\u{00ad}", "­"),
  ("\u{00ae}", "®"),
  ("\u{00af}", "¯"),
  ("\u{00b0}", "°"),
  ("\u{00b1}", "±"),
  ("\u{00b2}", "²"),
  ("\u{00b3}", "³"),
  ("\u{00b4}", "´"),
  ("\u{00b5}", "µ"),
  ("\u{00b6}", "¶"),
  ("\u{00b7}", "·"),
  ("\u{00b8}", "¸"),
  ("\u{00b9}", "¹"),
  ("\u{00ba}", "º"),
  ("\u{00bb}", "»"),
  ("\u{00bc}", "¼"),
  ("\u{00bd}", "½"),
  ("\u{00be}", "¾"),
  ("\u{00bf}", "¿"),
  ("\u{00c0}", "À"),
  ("\u{00c1}", "Á"),
  ("\u{00c2}", "Â"),
  ("\u{00c3}", "Ã"),
  ("\u{00c4}", "Ä"),
  ("\u{00c5}", "Å"),
  ("\u{00c6}", "Æ"),
  ("\u{00c7}", "Ç"),
  ("\u{00c8}", "È"),
  ("\u{00c9}", "É"),
  ("\u{00ca}", "Ê"),
  ("\u{00cb}", "Ë"),
  ("\u{00cc}", "Ì"),
  ("\u{00cd}", "Í"),
  ("\u{00ce}", "Î"),
  ("\u{00cf}", "Ï"),
  ("\u{00d0}", "Ð"),
  ("\u{00d1}", "Ñ"),
  ("\u{00d2}", "Ò"),
  ("\u{00d3}", "Ó"),
  ("\u{00d4}", "Ô"),
  ("\u{00d5}", "Õ"),
  ("\u{00d6}", "Ö"),
  ("\u{00d7}", "×"),
  ("\u{00d8}", "Ø"),
  ("\u{00d9}", "Ù"),
  ("\u{00da}", "Ú"),
  ("\u{00db}", "Û"),
  ("\u{00dc}", "Ü"),
  ("\u{00dd}", "Ý"),
  ("\u{00de}", "Þ"),
  ("\u{00df}", "ß"),
  ("\u{00e0}", "à"),
  ("\u{00e1}", "á"),
  ("\u{00e2}", "â"),
  ("\u{00e3}", "ã"),
  ("\u{00e4}", "ä"),
  ("\u{00e5}", "å"),
  ("\u{00e6}", "æ"),
  ("\u{00e7}", "ç"),
  ("\u{00e8}", "è"),
  ("\u{00e9}", "é"),
  ("\u{00ea}", "ê"),
  ("\u{00eb}", "ë"),
  ("\u{00ec}", "ì"),
  ("\u{00ed}", "í"),
  ("\u{00ee}", "î"),
  ("\u{00ef}", "ï"),
  ("\u{00f0}", "ð"),
  ("\u{00f1}", "ñ"),
  ("\u{00f2}", "ò"),
  ("\u{00f3}", "ó"),
  ("\u{00f4}", "ô"),
  ("\u{00f5}", "õ"),
  ("\u{00f6}", "ö"),
  ("\u{00f7}", "÷"),
  ("\u{00f8}", "ø"),
  ("\u{00f9}", "ù"),
  ("\u{00fa}", "ú"),
  ("\u{00fb}", "û"),
  ("\u{00fc}", "ü"),
  ("\u{00fd}", "ý"),
  ("\u{00fe}", "þ"),
  ("\u{00ff}", "ÿ"),
  ("\u{0192}", "ƒ"),
  ("\u{0391}", "Α"),
  ("\u{0392}", "Β"),
  ("\u{0393}", "Γ"),
  ("\u{0394}", "Δ"),
  ("\u{0395}", "Ε"),
  ("\u{0396}", "Ζ"),
  ("\u{0397}", "Η"),
  ("\u{0398}", "Θ"),
  ("\u{0399}", "Ι"),
  ("\u{039a}", "Κ"),
  ("\u{039b}", "Λ"),
  ("\u{039c}", "Μ"),
  ("\u{039d}", "Ν"),
  ("\u{039e}", "Ξ"),
  ("\u{039f}", "Ο"),
  ("\u{03a0}", "Π"),
  ("\u{03a1}", "Ρ"),
  ("\u{03a3}", "Σ"),
  ("\u{03a4}", "Τ"),
  ("\u{03a5}", "Υ"),
  ("\u{03a6}", "Φ"),
  ("\u{03a7}", "Χ"),
  ("\u{03a8}", "Ψ"),
  ("\u{03a9}", "Ω"),
  ("\u{03b1}", "α"),
  ("\u{03b2}", "β"),
  ("\u{03b3}", "γ"),
  ("\u{03b4}", "δ"),
  ("\u{03b5}", "ε"),
  ("\u{03b6}", "ζ"),
  ("\u{03b7}", "η"),
  ("\u{03b8}", "θ"),
  ("\u{03b9}", "ι"),
  ("\u{03ba}", "κ"),
  ("\u{03bb}", "λ"),
  ("\u{03bc}", "μ"),
  ("\u{03bd}", "ν"),
  ("\u{03be}", "ξ"),
  ("\u{03bf}", "ο"),
  ("\u{03c0}", "π"),
  ("\u{03c1}", "ρ"),
  ("\u{03c2}", "ς"),
  ("\u{03c3}", "σ"),
  ("\u{03c4}", "τ"),
  ("\u{03c5}", "υ"),
  ("\u{03c6}", "φ"),
  ("\u{03c7}", "χ"),
  ("\u{03c8}", "ψ"),
  ("\u{03c9}", "ω"),
  ("\u{03d1}", "ϑ"),
  ("\u{03d2}", "ϒ"),
  ("\u{03d6}", "ϖ"),
  ("\u{2022}", "•"),
  ("\u{2026}", "…"),
  ("\u{2032}", "′"),
  ("\u{2033}", "″"),
  ("\u{203e}", "‾"),
  ("\u{2044}", "⁄"),
  ("\u{2118}", "℘"),
  ("\u{2111}", "ℑ"),
  ("\u{211c}", "ℜ"),
  ("\u{2122}", "™"),
  ("\u{2135}", "ℵ"),
  ("\u{2190}", "←"),
  ("\u{2191}", "↑"),
  ("\u{2192}", "→"),
  ("\u{2193}", "↓"),
  ("\u{2194}", "↔"),
  ("\u{21b5}", "↵"),
  ("\u{21d0}", "⇐"),
  ("\u{21d1}", "⇑"),
  ("\u{21d2}", "⇒"),
  ("\u{21d3}", "⇓"),
  ("\u{21d4}", "⇔"),
  ("\u{2200}", "∀"),
  ("\u{2202}", "∂"),
  ("\u{2203}", "∃"),
  ("\u{2205}", "∅"),
  ("\u{2207}", "∇"),
  ("\u{2208}", "∈"),
  ("\u{2209}", "∉"),
  ("\u{220b}", "∋"),
  ("\u{220f}", "∏"),
  ("\u{2211}", "∑"),
  ("\u{2212}", "−"),
  ("\u{2217}", "∗"),
  ("\u{221a}", "√"),
  ("\u{221d}", "∝"),
  ("\u{221e}", "∞"),
  ("\u{2220}", "∠"),
  ("\u{2227}", "∧"),
  ("\u{2228}", "∨"),
  ("\u{2229}", "∩"),
  ("\u{222a}", "∪"),
  ("\u{222b}", "∫"),
  ("\u{2234}", "∴"),
  ("\u{223c}", "∼"),
  ("\u{2245}", "≅"),
  ("\u{2248}", "≈"),
  ("\u{2260}", "≠"),
  ("\u{2261}", "≡"),
  ("\u{2264}", "≤"),
  ("\u{2265}", "≥"),
  ("\u{2282}", "⊂"),
  ("\u{2283}", "⊃"),
  ("\u{2286}", "⊆"),
  ("\u{2287}", "⊇"),
  ("\u{2295}", "⊕"),
  ("\u{2297}", "⊗"),
  ("\u{22a5}", "⊥"),
  ("\u{22c5}", "⋅"),
  ("\u{2308}", "⌈"),
  ("\u{2309}", "⌉"),
  ("\u{230a}", "⌊"),
  ("\u{230b}", "⌋"),
  ("\u{2329}", "⟨"),
  ("\u{232a}", "⟩"),
  ("\u{25ca}", "◊"),
  ("\u{2660}", "♠"),
  ("\u{2663}", "♣"),
  ("\u{2665}", "♥"),
  ("\u{2666}", "♦"),
  ("\u{0152}", "Œ"),
  ("\u{0153}", "œ"),
  ("\u{0160}", "Š"),
  ("\u{0161}", "š"),
  ("\u{0178}", "Ÿ"),
  ("\u{02c6}", "ˆ"),
  ("\u{02dc}", "˜"),
  ("\u{2002}", " "),
  ("\u{2003}", " "),
  ("\u{2009}", " "),
  ("\u{200c}", "‌"),
  ("\u{200d}", "‍"),
  ("\u{200e}", "‎"),
  ("\u{200f}", "‏"),
  ("\u{2013}", "–"),
  ("\u{2014}", "—"),
  ("\u{2018}", "‘"),
  ("\u{2019}", "’"),
  ("\u{201a}", "‚"),
  ("\u{201c}", "“"),
  ("\u{201d}", "”"),
  ("\u{201e}", "„"),
  ("\u{2020}", "†"),
  ("\u{2021}", "‡"),
  ("\u{2030}", "‰"),
  ("\u{2039}", "‹"),
  ("\u{203a}", "›"),
  ("\u{20ac}", "€"),
]

///|
// unescape_xml 认的实体名(`XmlUnescape.BASIC_UNESCAPE`) —— 5 条,逐条来自腿的反射读数
let xml_unescape_pairs : Array[(String, String)] = [
  ("'", "'"),
  (""", "\""),
  ("&", "&"),
  ("<", "<"),
  (">", ">"),
]

///|
// unescape_html4 认的实体名(XML 那 5 条 + ISO8859_1_UNESCAPE 96 + HTML40_EXTENDED_UNESCAPE 151) —— 252 条,逐条来自腿的反射读数
let html4_unescape_pairs : Array[(String, String)] = [
  ("'", "'"),
  (""", "\""),
  ("&", "&"),
  ("<", "<"),
  (">", ">"),
  (" ", "\u{00a0}"),
  ("¡", "\u{00a1}"),
  ("¢", "\u{00a2}"),
  ("£", "\u{00a3}"),
  ("¤", "\u{00a4}"),
  ("¥", "\u{00a5}"),
  ("¦", "\u{00a6}"),
  ("§", "\u{00a7}"),
  ("¨", "\u{00a8}"),
  ("©", "\u{00a9}"),
  ("ª", "\u{00aa}"),
  ("«", "\u{00ab}"),
  ("¬", "\u{00ac}"),
  ("­", "\u{00ad}"),
  ("®", "\u{00ae}"),
  ("¯", "\u{00af}"),
  ("°", "\u{00b0}"),
  ("±", "\u{00b1}"),
  ("²", "\u{00b2}"),
  ("³", "\u{00b3}"),
  ("´", "\u{00b4}"),
  ("µ", "\u{00b5}"),
  ("¶", "\u{00b6}"),
  ("·", "\u{00b7}"),
  ("¸", "\u{00b8}"),
  ("¹", "\u{00b9}"),
  ("º", "\u{00ba}"),
  ("»", "\u{00bb}"),
  ("¼", "\u{00bc}"),
  ("½", "\u{00bd}"),
  ("¾", "\u{00be}"),
  ("¿", "\u{00bf}"),
  ("À", "\u{00c0}"),
  ("Á", "\u{00c1}"),
  ("Â", "\u{00c2}"),
  ("Ã", "\u{00c3}"),
  ("Ä", "\u{00c4}"),
  ("Å", "\u{00c5}"),
  ("Æ", "\u{00c6}"),
  ("Ç", "\u{00c7}"),
  ("È", "\u{00c8}"),
  ("É", "\u{00c9}"),
  ("Ê", "\u{00ca}"),
  ("Ë", "\u{00cb}"),
  ("Ì", "\u{00cc}"),
  ("Í", "\u{00cd}"),
  ("Î", "\u{00ce}"),
  ("Ï", "\u{00cf}"),
  ("Ð", "\u{00d0}"),
  ("Ñ", "\u{00d1}"),
  ("Ò", "\u{00d2}"),
  ("Ó", "\u{00d3}"),
  ("Ô", "\u{00d4}"),
  ("Õ", "\u{00d5}"),
  ("Ö", "\u{00d6}"),
  ("×", "\u{00d7}"),
  ("Ø", "\u{00d8}"),
  ("Ù", "\u{00d9}"),
  ("Ú", "\u{00da}"),
  ("Û", "\u{00db}"),
  ("Ü", "\u{00dc}"),
  ("Ý", "\u{00dd}"),
  ("Þ", "\u{00de}"),
  ("ß", "\u{00df}"),
  ("à", "\u{00e0}"),
  ("á", "\u{00e1}"),
  ("â", "\u{00e2}"),
  ("ã", "\u{00e3}"),
  ("ä", "\u{00e4}"),
  ("å", "\u{00e5}"),
  ("æ", "\u{00e6}"),
  ("ç", "\u{00e7}"),
  ("è", "\u{00e8}"),
  ("é", "\u{00e9}"),
  ("ê", "\u{00ea}"),
  ("ë", "\u{00eb}"),
  ("ì", "\u{00ec}"),
  ("í", "\u{00ed}"),
  ("î", "\u{00ee}"),
  ("ï", "\u{00ef}"),
  ("ð", "\u{00f0}"),
  ("ñ", "\u{00f1}"),
  ("ò", "\u{00f2}"),
  ("ó", "\u{00f3}"),
  ("ô", "\u{00f4}"),
  ("õ", "\u{00f5}"),
  ("ö", "\u{00f6}"),
  ("÷", "\u{00f7}"),
  ("ø", "\u{00f8}"),
  ("ù", "\u{00f9}"),
  ("ú", "\u{00fa}"),
  ("û", "\u{00fb}"),
  ("ü", "\u{00fc}"),
  ("ý", "\u{00fd}"),
  ("þ", "\u{00fe}"),
  ("ÿ", "\u{00ff}"),
  ("ƒ", "\u{0192}"),
  ("Α", "\u{0391}"),
  ("Β", "\u{0392}"),
  ("Γ", "\u{0393}"),
  ("Δ", "\u{0394}"),
  ("Ε", "\u{0395}"),
  ("Ζ", "\u{0396}"),
  ("Η", "\u{0397}"),
  ("Θ", "\u{0398}"),
  ("Ι", "\u{0399}"),
  ("Κ", "\u{039a}"),
  ("Λ", "\u{039b}"),
  ("Μ", "\u{039c}"),
  ("Ν", "\u{039d}"),
  ("Ξ", "\u{039e}"),
  ("Ο", "\u{039f}"),
  ("Π", "\u{03a0}"),
  ("Ρ", "\u{03a1}"),
  ("Σ", "\u{03a3}"),
  ("Τ", "\u{03a4}"),
  ("Υ", "\u{03a5}"),
  ("Φ", "\u{03a6}"),
  ("Χ", "\u{03a7}"),
  ("Ψ", "\u{03a8}"),
  ("Ω", "\u{03a9}"),
  ("α", "\u{03b1}"),
  ("β", "\u{03b2}"),
  ("γ", "\u{03b3}"),
  ("δ", "\u{03b4}"),
  ("ε", "\u{03b5}"),
  ("ζ", "\u{03b6}"),
  ("η", "\u{03b7}"),
  ("θ", "\u{03b8}"),
  ("ι", "\u{03b9}"),
  ("κ", "\u{03ba}"),
  ("λ", "\u{03bb}"),
  ("μ", "\u{03bc}"),
  ("ν", "\u{03bd}"),
  ("ξ", "\u{03be}"),
  ("ο", "\u{03bf}"),
  ("π", "\u{03c0}"),
  ("ρ", "\u{03c1}"),
  ("ς", "\u{03c2}"),
  ("σ", "\u{03c3}"),
  ("τ", "\u{03c4}"),
  ("υ", "\u{03c5}"),
  ("φ", "\u{03c6}"),
  ("χ", "\u{03c7}"),
  ("ψ", "\u{03c8}"),
  ("ω", "\u{03c9}"),
  ("ϑ", "\u{03d1}"),
  ("ϒ", "\u{03d2}"),
  ("ϖ", "\u{03d6}"),
  ("•", "\u{2022}"),
  ("…", "\u{2026}"),
  ("′", "\u{2032}"),
  ("″", "\u{2033}"),
  ("‾", "\u{203e}"),
  ("⁄", "\u{2044}"),
  ("℘", "\u{2118}"),
  ("ℑ", "\u{2111}"),
  ("ℜ", "\u{211c}"),
  ("™", "\u{2122}"),
  ("ℵ", "\u{2135}"),
  ("←", "\u{2190}"),
  ("↑", "\u{2191}"),
  ("→", "\u{2192}"),
  ("↓", "\u{2193}"),
  ("↔", "\u{2194}"),
  ("↵", "\u{21b5}"),
  ("⇐", "\u{21d0}"),
  ("⇑", "\u{21d1}"),
  ("⇒", "\u{21d2}"),
  ("⇓", "\u{21d3}"),
  ("⇔", "\u{21d4}"),
  ("∀", "\u{2200}"),
  ("∂", "\u{2202}"),
  ("∃", "\u{2203}"),
  ("∅", "\u{2205}"),
  ("∇", "\u{2207}"),
  ("∈", "\u{2208}"),
  ("∉", "\u{2209}"),
  ("∋", "\u{220b}"),
  ("∏", "\u{220f}"),
  ("∑", "\u{2211}"),
  ("−", "\u{2212}"),
  ("∗", "\u{2217}"),
  ("√", "\u{221a}"),
  ("∝", "\u{221d}"),
  ("∞", "\u{221e}"),
  ("∠", "\u{2220}"),
  ("∧", "\u{2227}"),
  ("∨", "\u{2228}"),
  ("∩", "\u{2229}"),
  ("∪", "\u{222a}"),
  ("∫", "\u{222b}"),
  ("∴", "\u{2234}"),
  ("∼", "\u{223c}"),
  ("≅", "\u{2245}"),
  ("≈", "\u{2248}"),
  ("≠", "\u{2260}"),
  ("≡", "\u{2261}"),
  ("≤", "\u{2264}"),
  ("≥", "\u{2265}"),
  ("⊂", "\u{2282}"),
  ("⊃", "\u{2283}"),
  ("⊆", "\u{2286}"),
  ("⊇", "\u{2287}"),
  ("⊕", "\u{2295}"),
  ("⊗", "\u{2297}"),
  ("⊥", "\u{22a5}"),
  ("⋅", "\u{22c5}"),
  ("⌈", "\u{2308}"),
  ("⌉", "\u{2309}"),
  ("⌊", "\u{230a}"),
  ("⌋", "\u{230b}"),
  ("⟨", "\u{2329}"),
  ("⟩", "\u{232a}"),
  ("◊", "\u{25ca}"),
  ("♠", "\u{2660}"),
  ("♣", "\u{2663}"),
  ("♥", "\u{2665}"),
  ("♦", "\u{2666}"),
  ("Œ", "\u{0152}"),
  ("œ", "\u{0153}"),
  ("Š", "\u{0160}"),
  ("š", "\u{0161}"),
  ("Ÿ", "\u{0178}"),
  ("ˆ", "\u{02c6}"),
  ("˜", "\u{02dc}"),
  (" ", "\u{2002}"),
  (" ", "\u{2003}"),
  (" ", "\u{2009}"),
  ("‌", "\u{200c}"),
  ("‍", "\u{200d}"),
  ("‎", "\u{200e}"),
  ("‏", "\u{200f}"),
  ("–", "\u{2013}"),
  ("—", "\u{2014}"),
  ("‘", "\u{2018}"),
  ("’", "\u{2019}"),
  ("‚", "\u{201a}"),
  ("“", "\u{201c}"),
  ("”", "\u{201d}"),
  ("„", "\u{201e}"),
  ("†", "\u{2020}"),
  ("‡", "\u{2021}"),
  ("‰", "\u{2030}"),
  ("‹", "\u{2039}"),
  ("›", "\u{203a}"),
  ("€", "\u{20ac}"),
]

///|
// `escape` 默认过滤器的**不转义**码位区间表(146 段;表内原样出,表外全转)。
// 非 BMP 不在表里是刻意的:参照按 UTF-16 码元走,星平面拆成两个代理码元,
// 两个都不属数字/大小写 ⇒ 永远转(腿的 ASTRAL 行五对现读全 false)。
let escape_keep_ranges : Array[(Int, Int)] = [
  (0x002a, 0x002b),
  (0x002d, 0x0039),
  (0x0040, 0x005a),
  (0x005f, 0x005f),
  (0x0061, 0x007a),
  (0x00aa, 0x00aa),
  (0x00b5, 0x00b5),
  (0x00ba, 0x00ba),
  (0x00c0, 0x00d6),
  (0x00d8, 0x00f6),
  (0x00f8, 0x01ba),
  (0x01bc, 0x01bf),
  (0x01c4, 0x01c4),
  (0x01c6, 0x01c7),
  (0x01c9, 0x01ca),
  (0x01cc, 0x01f1),
  (0x01f3, 0x0293),
  (0x0295, 0x02b8),
  (0x02c0, 0x02c1),
  (0x02e0, 0x02e4),
  (0x0345, 0x0345),
  (0x0370, 0x0373),
  (0x0376, 0x0377),
  (0x037a, 0x037d),
  (0x037f, 0x037f),
  (0x0386, 0x0386),
  (0x0388, 0x038a),
  (0x038c, 0x038c),
  (0x038e, 0x03a1),
  (0x03a3, 0x03f5),
  (0x03f7, 0x0481),
  (0x048a, 0x052f),
  (0x0531, 0x0556),
  (0x0560, 0x0588),
  (0x0660, 0x0669),
  (0x06f0, 0x06f9),
  (0x07c0, 0x07c9),
  (0x0966, 0x096f),
  (0x09e6, 0x09ef),
  (0x0a66, 0x0a6f),
  (0x0ae6, 0x0aef),
  (0x0b66, 0x0b6f),
  (0x0be6, 0x0bef),
  (0x0c66, 0x0c6f),
  (0x0ce6, 0x0cef),
  (0x0d66, 0x0d6f),
  (0x0de6, 0x0def),
  (0x0e50, 0x0e59),
  (0x0ed0, 0x0ed9),
  (0x0f20, 0x0f29),
  (0x1040, 0x1049),
  (0x1090, 0x1099),
  (0x10a0, 0x10c5),
  (0x10c7, 0x10c7),
  (0x10cd, 0x10cd),
  (0x10d0, 0x10fa),
  (0x10fd, 0x10ff),
  (0x13a0, 0x13f5),
  (0x13f8, 0x13fd),
  (0x17e0, 0x17e9),
  (0x1810, 0x1819),
  (0x1946, 0x194f),
  (0x19d0, 0x19d9),
  (0x1a80, 0x1a89),
  (0x1a90, 0x1a99),
  (0x1b50, 0x1b59),
  (0x1bb0, 0x1bb9),
  (0x1c40, 0x1c49),
  (0x1c50, 0x1c59),
  (0x1c80, 0x1c88),
  (0x1c90, 0x1cba),
  (0x1cbd, 0x1cbf),
  (0x1d00, 0x1dbf),
  (0x1e00, 0x1f15),
  (0x1f18, 0x1f1d),
  (0x1f20, 0x1f45),
  (0x1f48, 0x1f4d),
  (0x1f50, 0x1f57),
  (0x1f59, 0x1f59),
  (0x1f5b, 0x1f5b),
  (0x1f5d, 0x1f5d),
  (0x1f5f, 0x1f7d),
  (0x1f80, 0x1f87),
  (0x1f90, 0x1f97),
  (0x1fa0, 0x1fa7),
  (0x1fb0, 0x1fb4),
  (0x1fb6, 0x1fbb),
  (0x1fbe, 0x1fbe),
  (0x1fc2, 0x1fc4),
  (0x1fc6, 0x1fcb),
  (0x1fd0, 0x1fd3),
  (0x1fd6, 0x1fdb),
  (0x1fe0, 0x1fec),
  (0x1ff2, 0x1ff4),
  (0x1ff6, 0x1ffb),
  (0x2071, 0x2071),
  (0x207f, 0x207f),
  (0x2090, 0x209c),
  (0x2102, 0x2102),
  (0x2107, 0x2107),
  (0x210a, 0x2113),
  (0x2115, 0x2115),
  (0x2119, 0x211d),
  (0x2124, 0x2124),
  (0x2126, 0x2126),
  (0x2128, 0x2128),
  (0x212a, 0x212d),
  (0x212f, 0x2134),
  (0x2139, 0x2139),
  (0x213c, 0x213f),
  (0x2145, 0x2149),
  (0x214e, 0x214e),
  (0x2160, 0x217f),
  (0x2183, 0x2184),
  (0x24b6, 0x24e9),
  (0x2c00, 0x2c2e),
  (0x2c30, 0x2c5e),
  (0x2c60, 0x2ce4),
  (0x2ceb, 0x2cee),
  (0x2cf2, 0x2cf3),
  (0x2d00, 0x2d25),
  (0x2d27, 0x2d27),
  (0x2d2d, 0x2d2d),
  (0xa620, 0xa629),
  (0xa640, 0xa66d),
  (0xa680, 0xa69d),
  (0xa722, 0xa787),
  (0xa78b, 0xa78e),
  (0xa790, 0xa7bf),
  (0xa7c2, 0xa7ca),
  (0xa7f5, 0xa7f6),
  (0xa7f8, 0xa7fa),
  (0xa8d0, 0xa8d9),
  (0xa900, 0xa909),
  (0xa9d0, 0xa9d9),
  (0xa9f0, 0xa9f9),
  (0xaa50, 0xaa59),
  (0xab30, 0xab5a),
  (0xab5c, 0xab68),
  (0xab70, 0xabbf),
  (0xabf0, 0xabf9),
  (0xfb00, 0xfb06),
  (0xfb13, 0xfb17),
  (0xff10, 0xff19),
  (0xff21, 0xff3a),
  (0xff41, 0xff5a),
]